From 7c03a39060ddc193a70a4eb7bd47e8e8ba21a801 Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Mon, 24 Aug 2026 01:32:07 +0000 Subject: [PATCH 1/8] Bump github.com/sirupsen/logrus from 1.8.1 to 1.8.3 Bumps [github.com/sirupsen/logrus](https://github.com/sirupsen/logrus) from 1.8.1 to 1.8.3. - [Release notes](https://github.com/sirupsen/logrus/releases) - [Changelog](https://github.com/sirupsen/logrus/blob/master/CHANGELOG.md) - [Commits](https://github.com/sirupsen/logrus/compare/v1.8.1...v1.8.3) --- updated-dependencies: - dependency-name: github.com/sirupsen/logrus dependency-version: 1.8.3 dependency-type: direct:production ... Signed-off-by: dependabot[bot] --- go.mod | 2 +- go.sum | 5 +++-- 2 files changed, 4 insertions(+), 3 deletions(-) diff --git a/go.mod b/go.mod index 6024d1dd..6e53aaea 100644 --- a/go.mod +++ b/go.mod @@ -3,7 +3,7 @@ module github.com/stackql/stackql-provider-registry go 1.17 require ( - github.com/sirupsen/logrus v1.8.1 + github.com/sirupsen/logrus v1.8.3 github.com/spf13/cobra v1.4.0 github.com/spf13/viper v1.10.1 gotest.tools v2.2.0+incompatible diff --git a/go.sum b/go.sum index 4c150275..121bd874 100644 --- a/go.sum +++ b/go.sum @@ -306,8 +306,8 @@ github.com/sagikazarmark/crypt v0.4.0/go.mod h1:ALv2SRj7GxYV4HO9elxH9nS6M9gW+xDN github.com/sean-/seed v0.0.0-20170313163322-e2103e2c3529/go.mod h1:DxrIzT+xaE7yg65j358z/aeFdxmN0P9QXhEzd20vsDc= github.com/sirupsen/logrus v1.2.0/go.mod h1:LxeOpSwHxABJmUn/MG1IvRgCAasNZTLOkJPxbbu5VWo= github.com/sirupsen/logrus v1.4.2/go.mod h1:tLMulIdttU9McNUspp0xgXVQah82FyeX6MwdIuYE2rE= -github.com/sirupsen/logrus v1.8.1 h1:dJKuHgqk1NNQlqoA6BTlM1Wf9DOH3NBjQyu0h9+AZZE= -github.com/sirupsen/logrus v1.8.1/go.mod h1:yWOB1SBYBC5VeMP7gHvWumXLIWorT60ONWic61uBYv0= +github.com/sirupsen/logrus v1.8.3 h1:DBBfY8eMYazKEJHb3JKpSPfpgd2mBCoNFlQx6C5fftU= +github.com/sirupsen/logrus v1.8.3/go.mod h1:naHLuLoDiP4jHNo9R0sCBMtWGeIprob74mVsIT4qYEQ= github.com/spaolacci/murmur3 v0.0.0-20180118202830-f09979ecbc72/go.mod h1:JwIasOWyU6f++ZhiEuf87xNszmSA2myDM2Kzu9HwQUA= github.com/spf13/afero v1.3.3/go.mod h1:5KUK8ByomD5Ti5Artl0RtHeI5pTF7MIDuXL3yY520V4= github.com/spf13/afero v1.6.0 h1:xoax2sJ2DT8S8xA2paPFjDCScCNeWsg75VG0DLRreiY= @@ -536,6 +536,7 @@ golang.org/x/sys v0.0.0-20211007075335-d3039528d8ac/go.mod h1:oPkhp1MJrh7nUepCBc golang.org/x/sys v0.0.0-20211124211545-fe61309f8881/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= golang.org/x/sys v0.0.0-20211210111614-af8b64212486/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= golang.org/x/sys v0.0.0-20220520151302-bc2c85ada10a/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= +golang.org/x/sys v0.0.0-20220715151400-c0bba94af5f8/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= golang.org/x/sys v0.0.0-20220722155257-8c9f86f7a55f h1:v4INt8xihDGvnrfjMDVXGxw9wrfxYyCjk0KbXjhR55s= golang.org/x/sys v0.0.0-20220722155257-8c9f86f7a55f/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= golang.org/x/term v0.0.0-20201126162022-7de9c90e9dd1/go.mod h1:bj7SfCRtBDWHUb9snDiAeCFNEtKQo2Wmx5Cou7ajbmo= From ada16f1bf4287038d0400235a59abdf5b10f2098 Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Mon, 24 Aug 2026 01:32:18 +0000 Subject: [PATCH 2/8] Bump gopkg.in/yaml.v3 from 3.0.0 to 3.0.1 Bumps gopkg.in/yaml.v3 from 3.0.0 to 3.0.1. --- updated-dependencies: - dependency-name: gopkg.in/yaml.v3 dependency-version: 3.0.1 dependency-type: indirect ... Signed-off-by: dependabot[bot] --- go.mod | 2 +- go.sum | 4 ++-- 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/go.mod b/go.mod index 6024d1dd..0758dce4 100644 --- a/go.mod +++ b/go.mod @@ -29,5 +29,5 @@ require ( gopkg.in/check.v1 v1.0.0-20190902080502-41f04d3bba15 // indirect gopkg.in/ini.v1 v1.66.2 // indirect gopkg.in/yaml.v2 v2.4.0 // indirect - gopkg.in/yaml.v3 v3.0.0 // indirect + gopkg.in/yaml.v3 v3.0.1 // indirect ) diff --git a/go.sum b/go.sum index 4c150275..1113cf48 100644 --- a/go.sum +++ b/go.sum @@ -772,8 +772,8 @@ gopkg.in/yaml.v2 v2.4.0 h1:D8xgwECY7CYvx+Y2n4sBz93Jn9JRvxdiyyo8CTfuKaY= gopkg.in/yaml.v2 v2.4.0/go.mod h1:RDklbk79AGWmwhnvt/jBztapEOGDOx6ZbXqjP6csGnQ= gopkg.in/yaml.v3 v3.0.0-20200313102051-9f266ea9e77c/go.mod h1:K4uyk7z7BCEPqu6E+C64Yfv1cQ7kz7rIZviUmN+EgEM= gopkg.in/yaml.v3 v3.0.0-20210107192922-496545a6307b/go.mod h1:K4uyk7z7BCEPqu6E+C64Yfv1cQ7kz7rIZviUmN+EgEM= -gopkg.in/yaml.v3 v3.0.0 h1:hjy8E9ON/egN1tAYqKb61G10WtihqetD4sz2H+8nIeA= -gopkg.in/yaml.v3 v3.0.0/go.mod h1:K4uyk7z7BCEPqu6E+C64Yfv1cQ7kz7rIZviUmN+EgEM= +gopkg.in/yaml.v3 v3.0.1 h1:fxVm/GzAzEWqLHuvctI91KS9hhNmmWOoWu0XTYJS7CA= +gopkg.in/yaml.v3 v3.0.1/go.mod h1:K4uyk7z7BCEPqu6E+C64Yfv1cQ7kz7rIZviUmN+EgEM= gotest.tools v2.2.0+incompatible h1:VsBPFP1AI068pPrMxtb/S8Zkgf9xEmTLJjfM+P5UIEo= gotest.tools v2.2.0+incompatible/go.mod h1:DsYFclhRJ6vuDpmuTbkuFWG+y2sxOXAzmJt81HFBacw= honnef.co/go/tools v0.0.0-20190102054323-c2f93a96b099/go.mod h1:rf3lG4BRIbNafJWhAfAdb/ePZxsR/4RtNHQocxwk9r4= From b0efbf0e837a3aafa92dd7153ff8849193ab1de9 Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Mon, 24 Aug 2026 01:32:26 +0000 Subject: [PATCH 3/8] Bump requests from 2.32.3 to 2.33.0 Bumps [requests](https://github.com/psf/requests) from 2.32.3 to 2.33.0. - [Release notes](https://github.com/psf/requests/releases) - [Changelog](https://github.com/psf/requests/blob/main/HISTORY.md) - [Commits](https://github.com/psf/requests/compare/v2.32.3...v2.33.0) --- updated-dependencies: - dependency-name: requests dependency-version: 2.33.0 dependency-type: direct:production ... Signed-off-by: dependabot[bot] --- requirements.txt | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/requirements.txt b/requirements.txt index 07b66f1d..25e7f9eb 100644 --- a/requirements.txt +++ b/requirements.txt @@ -1,4 +1,4 @@ boto3>=1.37.24 PyYaml>=6.0.1 -requests==2.32.3 +requests==2.33.0 robotframework==6.1.1 \ No newline at end of file From bfa1bec67ed55d4594e3e410529c958aec4cc4d3 Mon Sep 17 00:00:00 2001 From: Jeffrey Aven Date: Tue, 25 Aug 2026 07:52:50 +1000 Subject: [PATCH 4/8] ci: drop CI_STACKQL_PACKAGE_DOWNLOAD_TOKEN from upstream checkouts stackql/stackql and stackql/any-sdk are public, so actions/checkout can clone them with the default GITHUB_TOKEN. The explicit PAT input broke Dependabot-triggered runs, which only see the Dependabot secret store ("Input required and not supplied: token"). Co-Authored-By: Claude Fable 5 --- .github/workflows/aot.yml | 2 -- .github/workflows/regression.yml | 3 --- 2 files changed, 5 deletions(-) diff --git a/.github/workflows/aot.yml b/.github/workflows/aot.yml index 32e7dfe4..a0c961ba 100644 --- a/.github/workflows/aot.yml +++ b/.github/workflows/aot.yml @@ -56,7 +56,6 @@ jobs: with: repository: ${{ env.STACKQL_CORE_REPOSITORY }} ref: ${{ env.STACKQL_CORE_REF }} - token: ${{ secrets.CI_STACKQL_PACKAGE_DOWNLOAD_TOKEN }} path: stackql-core - name: Download any-sdk @@ -64,7 +63,6 @@ jobs: with: repository: ${{ env.STACKQL_ANY_SDK_REPOSITORY }} ref: ${{ env.STACKQL_ANY_SDK_REF }} - token: ${{ secrets.CI_STACKQL_PACKAGE_DOWNLOAD_TOKEN }} path: stackql-any-sdk - name: Setup Python diff --git a/.github/workflows/regression.yml b/.github/workflows/regression.yml index 09b3e7ab..c7a043e3 100644 --- a/.github/workflows/regression.yml +++ b/.github/workflows/regression.yml @@ -35,7 +35,6 @@ jobs: with: repository: ${{ env.STACKQL_CORE_REPOSITORY }} ref: ${{ env.STACKQL_CORE_REF }} - token: ${{ secrets.CI_STACKQL_PACKAGE_DOWNLOAD_TOKEN }} path: stackql-core-pkg - name: Setup Python @@ -100,7 +99,6 @@ jobs: with: repository: ${{ env.STACKQL_CORE_REPOSITORY }} ref: ${{ env.STACKQL_CORE_REF }} - token: ${{ secrets.CI_STACKQL_PACKAGE_DOWNLOAD_TOKEN }} path: stackql-core - name: Download any-sdk @@ -108,7 +106,6 @@ jobs: with: repository: ${{ env.STACKQL_ANY_SDK_REPOSITORY }} ref: ${{ env.STACKQL_ANY_SDK_REF }} - token: ${{ secrets.CI_STACKQL_PACKAGE_DOWNLOAD_TOKEN }} path: stackql-any-sdk - name: Setup Python From 259967403179662b819ede3e4896d9f007723768 Mon Sep 17 00:00:00 2001 From: Jeffrey Aven Date: Tue, 25 Aug 2026 07:52:51 +1000 Subject: [PATCH 5/8] ci: drop CI_STACKQL_PACKAGE_DOWNLOAD_TOKEN from upstream checkouts stackql/stackql and stackql/any-sdk are public, so actions/checkout can clone them with the default GITHUB_TOKEN. The explicit PAT input broke Dependabot-triggered runs, which only see the Dependabot secret store ("Input required and not supplied: token"). Co-Authored-By: Claude Fable 5 --- .github/workflows/aot.yml | 2 -- .github/workflows/regression.yml | 3 --- 2 files changed, 5 deletions(-) diff --git a/.github/workflows/aot.yml b/.github/workflows/aot.yml index 32e7dfe4..a0c961ba 100644 --- a/.github/workflows/aot.yml +++ b/.github/workflows/aot.yml @@ -56,7 +56,6 @@ jobs: with: repository: ${{ env.STACKQL_CORE_REPOSITORY }} ref: ${{ env.STACKQL_CORE_REF }} - token: ${{ secrets.CI_STACKQL_PACKAGE_DOWNLOAD_TOKEN }} path: stackql-core - name: Download any-sdk @@ -64,7 +63,6 @@ jobs: with: repository: ${{ env.STACKQL_ANY_SDK_REPOSITORY }} ref: ${{ env.STACKQL_ANY_SDK_REF }} - token: ${{ secrets.CI_STACKQL_PACKAGE_DOWNLOAD_TOKEN }} path: stackql-any-sdk - name: Setup Python diff --git a/.github/workflows/regression.yml b/.github/workflows/regression.yml index 09b3e7ab..c7a043e3 100644 --- a/.github/workflows/regression.yml +++ b/.github/workflows/regression.yml @@ -35,7 +35,6 @@ jobs: with: repository: ${{ env.STACKQL_CORE_REPOSITORY }} ref: ${{ env.STACKQL_CORE_REF }} - token: ${{ secrets.CI_STACKQL_PACKAGE_DOWNLOAD_TOKEN }} path: stackql-core-pkg - name: Setup Python @@ -100,7 +99,6 @@ jobs: with: repository: ${{ env.STACKQL_CORE_REPOSITORY }} ref: ${{ env.STACKQL_CORE_REF }} - token: ${{ secrets.CI_STACKQL_PACKAGE_DOWNLOAD_TOKEN }} path: stackql-core - name: Download any-sdk @@ -108,7 +106,6 @@ jobs: with: repository: ${{ env.STACKQL_ANY_SDK_REPOSITORY }} ref: ${{ env.STACKQL_ANY_SDK_REF }} - token: ${{ secrets.CI_STACKQL_PACKAGE_DOWNLOAD_TOKEN }} path: stackql-any-sdk - name: Setup Python From 2792d7a39a1b24efe3d2346d8b00ad80e9d24172 Mon Sep 17 00:00:00 2001 From: Jeffrey Aven Date: Tue, 25 Aug 2026 07:52:54 +1000 Subject: [PATCH 6/8] ci: drop CI_STACKQL_PACKAGE_DOWNLOAD_TOKEN from upstream checkouts stackql/stackql and stackql/any-sdk are public, so actions/checkout can clone them with the default GITHUB_TOKEN. The explicit PAT input broke Dependabot-triggered runs, which only see the Dependabot secret store ("Input required and not supplied: token"). Co-Authored-By: Claude Fable 5 --- .github/workflows/aot.yml | 2 -- .github/workflows/regression.yml | 3 --- 2 files changed, 5 deletions(-) diff --git a/.github/workflows/aot.yml b/.github/workflows/aot.yml index 32e7dfe4..a0c961ba 100644 --- a/.github/workflows/aot.yml +++ b/.github/workflows/aot.yml @@ -56,7 +56,6 @@ jobs: with: repository: ${{ env.STACKQL_CORE_REPOSITORY }} ref: ${{ env.STACKQL_CORE_REF }} - token: ${{ secrets.CI_STACKQL_PACKAGE_DOWNLOAD_TOKEN }} path: stackql-core - name: Download any-sdk @@ -64,7 +63,6 @@ jobs: with: repository: ${{ env.STACKQL_ANY_SDK_REPOSITORY }} ref: ${{ env.STACKQL_ANY_SDK_REF }} - token: ${{ secrets.CI_STACKQL_PACKAGE_DOWNLOAD_TOKEN }} path: stackql-any-sdk - name: Setup Python diff --git a/.github/workflows/regression.yml b/.github/workflows/regression.yml index 09b3e7ab..c7a043e3 100644 --- a/.github/workflows/regression.yml +++ b/.github/workflows/regression.yml @@ -35,7 +35,6 @@ jobs: with: repository: ${{ env.STACKQL_CORE_REPOSITORY }} ref: ${{ env.STACKQL_CORE_REF }} - token: ${{ secrets.CI_STACKQL_PACKAGE_DOWNLOAD_TOKEN }} path: stackql-core-pkg - name: Setup Python @@ -100,7 +99,6 @@ jobs: with: repository: ${{ env.STACKQL_CORE_REPOSITORY }} ref: ${{ env.STACKQL_CORE_REF }} - token: ${{ secrets.CI_STACKQL_PACKAGE_DOWNLOAD_TOKEN }} path: stackql-core - name: Download any-sdk @@ -108,7 +106,6 @@ jobs: with: repository: ${{ env.STACKQL_ANY_SDK_REPOSITORY }} ref: ${{ env.STACKQL_ANY_SDK_REF }} - token: ${{ secrets.CI_STACKQL_PACKAGE_DOWNLOAD_TOKEN }} path: stackql-any-sdk - name: Setup Python From f2202acaaa8578c8f12e0d8000fbcbd730b89f34 Mon Sep 17 00:00:00 2001 From: Jeffrey Aven Date: Tue, 25 Aug 2026 07:58:03 +1000 Subject: [PATCH 7/8] ci: only publish/deploy registry artefacts when providers/src changed Gate every [PUBLISH] and [DEPLOY*] step in main.yml on NUM_PROVIDERS > 0 (derived from providers/src/ paths in diff.txt) in addition to the existing push/branch conditions. A merge to dev or main that touches nothing under providers/src/ now runs the [SETUP] steps only: no S3 publish, no R2 sync, no worker deploy. Co-Authored-By: Claude Fable 5 --- .github/workflows/main.yml | 17 ++++++++++------- 1 file changed, 10 insertions(+), 7 deletions(-) diff --git a/.github/workflows/main.yml b/.github/workflows/main.yml index 34a9a16d..6157dff2 100644 --- a/.github/workflows/main.yml +++ b/.github/workflows/main.yml @@ -126,11 +126,14 @@ jobs: # # run the following steps only on pushes to protected branches (merge commits) + # AND only when provider artefacts under providers/src/ changed (NUM_PROVIDERS > 0). + # A push that touches nothing under providers/src/ must never publish to S3, + # sync R2 or redeploy the worker. # - name: "[PUBLISH] configure aws credentials" uses: aws-actions/configure-aws-credentials@v6 - if: env.REG_EVENT == 'push' + if: env.NUM_PROVIDERS > 0 && env.REG_EVENT == 'push' with: aws-access-key-id: ${{ secrets.AWS_ACCESS_KEY_ID }} aws-secret-access-key: ${{ secrets.AWS_SECRET_ACCESS_KEY }} @@ -142,7 +145,7 @@ jobs: python scripts/publish/publish-provider-docs-to-artifact-repo.py - name: "[DEPLOY] pull additional docs from artifact repo" - if: env.REG_EVENT == 'push' + if: env.NUM_PROVIDERS > 0 && env.REG_EVENT == 'push' run: | python scripts/deploy/pull-additional-docs-from-artifact-repo.py @@ -156,12 +159,12 @@ jobs: # - name: "[DEPLOY-CF] install worker deps" - if: env.REG_EVENT == 'push' + if: env.NUM_PROVIDERS > 0 && env.REG_EVENT == 'push' run: | cd origin && npm install - name: "[DEPLOY-CF] sync docs to R2 (dev)" - if: env.REG_TARGET_BRANCH == 'dev' && env.REG_EVENT == 'push' + if: env.NUM_PROVIDERS > 0 && env.REG_TARGET_BRANCH == 'dev' && env.REG_EVENT == 'push' env: AWS_ACCESS_KEY_ID: ${{ secrets.R2_ACCESS_KEY_ID }} AWS_SECRET_ACCESS_KEY: ${{ secrets.R2_SECRET_ACCESS_KEY }} @@ -180,7 +183,7 @@ jobs: --region auto --no-progress - name: "[DEPLOY-CF] sync docs to R2 (prod)" - if: env.REG_TARGET_BRANCH == 'main' && env.REG_EVENT == 'push' + if: env.NUM_PROVIDERS > 0 && env.REG_TARGET_BRANCH == 'main' && env.REG_EVENT == 'push' env: AWS_ACCESS_KEY_ID: ${{ secrets.R2_ACCESS_KEY_ID }} AWS_SECRET_ACCESS_KEY: ${{ secrets.R2_SECRET_ACCESS_KEY }} @@ -197,7 +200,7 @@ jobs: --no-progress - name: "[DEPLOY-CF] deploy worker (dev)" - if: env.REG_TARGET_BRANCH == 'dev' && env.REG_EVENT == 'push' + if: env.NUM_PROVIDERS > 0 && env.REG_TARGET_BRANCH == 'dev' && env.REG_EVENT == 'push' env: CLOUDFLARE_API_TOKEN: ${{ secrets.CLOUDFLARE_API_TOKEN }} CLOUDFLARE_ACCOUNT_ID: ${{ secrets.CLOUDFLARE_ACCOUNT_ID }} @@ -205,7 +208,7 @@ jobs: cd origin && npx wrangler deploy --env dev - name: "[DEPLOY-CF] deploy worker (prod)" - if: env.REG_TARGET_BRANCH == 'main' && env.REG_EVENT == 'push' + if: env.NUM_PROVIDERS > 0 && env.REG_TARGET_BRANCH == 'main' && env.REG_EVENT == 'push' env: CLOUDFLARE_API_TOKEN: ${{ secrets.CLOUDFLARE_API_TOKEN }} CLOUDFLARE_ACCOUNT_ID: ${{ secrets.CLOUDFLARE_ACCOUNT_ID }} From 8a86bcce21ba083248cca71b8172429de69d3e60 Mon Sep 17 00:00:00 2001 From: Jeffrey Aven Date: Wed, 26 Aug 2026 12:09:08 +1000 Subject: [PATCH 8/8] datadog update --- .../src/datadog/v00.00.00000/provider.yaml | 72 +- .../v00.00.00000/services/actions.yaml | 2449 +- .../datadog/v00.00.00000/services/apm.yaml | 2793 +- .../v00.00.00000/services/catalog.yaml | 787 +- .../v00.00.00000/services/cloud_costs.yaml | 12152 +++- .../v00.00.00000/services/dashboards.yaml | 20801 +++++- .../services/digital_experience.yaml | 17814 +++++- .../datadog/v00.00.00000/services/fleet.yaml | 3477 + .../v00.00.00000/services/infrastructure.yaml | 5258 +- .../v00.00.00000/services/integrations.yaml | 23157 ++++++- .../services/llm_observability.yaml | 15844 +++++ .../datadog/v00.00.00000/services/logs.yaml | 17204 ++++- .../v00.00.00000/services/metrics.yaml | 6556 +- .../v00.00.00000/services/monitoring.yaml | 20475 +++++- .../v00.00.00000/services/organization.yaml | 39313 ++++++++++-- .../v00.00.00000/services/remote_config.yaml | 6669 +- .../v00.00.00000/services/security.yaml | 43958 ++++++++++--- .../services/service_management.yaml | 53043 +++++++++++++--- .../services/software_delivery.yaml | 13721 +++- 19 files changed, 261659 insertions(+), 43884 deletions(-) create mode 100644 providers/src/datadog/v00.00.00000/services/fleet.yaml create mode 100644 providers/src/datadog/v00.00.00000/services/llm_observability.yaml diff --git a/providers/src/datadog/v00.00.00000/provider.yaml b/providers/src/datadog/v00.00.00000/provider.yaml index c5b28cca..7a597c0b 100644 --- a/providers/src/datadog/v00.00.00000/provider.yaml +++ b/providers/src/datadog/v00.00.00000/provider.yaml @@ -19,7 +19,9 @@ providerServices: $ref: datadog/v00.00.00000/services/apm.yaml title: apm API version: v00.00.00000 - description: datadog apm API + description: >- + Observe, troubleshoot, and improve cloud-scale applications with all + telemetry in context catalog: id: catalog:v00.00.00000 name: catalog @@ -46,7 +48,16 @@ providerServices: $ref: datadog/v00.00.00000/services/dashboards.yaml title: dashboards API version: v00.00.00000 - description: datadog dashboards API + description: >- + Get usage statistics for the dashboards in your organization, including + view + + counts, last-edit times, widget counts, and quality scores. See the + + [Dashboards documentation](https://docs.datadoghq.com/dashboards/) for + more + + information. digital_experience: id: digital_experience:v00.00.00000 name: digital_experience @@ -56,6 +67,15 @@ providerServices: title: digital_experience API version: v00.00.00000 description: datadog digital_experience API + fleet: + id: fleet:v00.00.00000 + name: fleet + preferred: true + service: + $ref: datadog/v00.00.00000/services/fleet.yaml + title: fleet API + version: v00.00.00000 + description: datadog fleet API infrastructure: id: infrastructure:v00.00.00000 name: infrastructure @@ -73,7 +93,18 @@ providerServices: $ref: datadog/v00.00.00000/services/integrations.yaml title: integrations API version: v00.00.00000 - description: datadog integrations API + description: |- + The Integrations API is used to list available integrations + and retrieve information about their installation status. + llm_observability: + id: llm_observability:v00.00.00000 + name: llm_observability + preferred: true + service: + $ref: datadog/v00.00.00000/services/llm_observability.yaml + title: llm_observability API + version: v00.00.00000 + description: datadog llm_observability API logs: id: logs:v00.00.00000 name: logs @@ -82,7 +113,10 @@ providerServices: $ref: datadog/v00.00.00000/services/logs.yaml title: logs API version: v00.00.00000 - description: datadog logs API + description: >- + Search your logs and send them to your Datadog platform over HTTP. See the + [Log Management page](https://docs.datadoghq.com/logs/) for more + information. metrics: id: metrics:v00.00.00000 name: metrics @@ -91,7 +125,34 @@ providerServices: $ref: datadog/v00.00.00000/services/metrics.yaml title: metrics API version: v00.00.00000 - description: datadog metrics API + description: >- + The metrics endpoint allows you to: + + + - Post metrics data so it can be graphed on Datadog’s dashboards + + - Query metrics from any time period (timeseries and scalar) + + - Modify tag configurations for metrics + + - View tags and volumes for metrics + + + **Note**: A graph can only contain a set number of points + + and as the timeframe over which a metric is viewed increases, + + aggregation between points occurs to stay below that set number. + + + The Post, Patch, and Delete `manage_tags` API methods can only be + performed by + + a user who has the `Manage Tags for Metrics` permission. + + + See the [Metrics page](https://docs.datadoghq.com/metrics/) for more + information. monitoring: id: monitoring:v00.00.00000 name: monitoring @@ -157,3 +218,4 @@ config: location: header name: DD-APPLICATION-KEY credentialsenvvar: DD_APP_KEY + snake_case_aliases: true diff --git a/providers/src/datadog/v00.00.00000/services/actions.yaml b/providers/src/datadog/v00.00.00000/services/actions.yaml index 4bb642de..85dfcf85 100644 --- a/providers/src/datadog/v00.00.00000/services/actions.yaml +++ b/providers/src/datadog/v00.00.00000/services/actions.yaml @@ -12,6 +12,20 @@ paths: '200': content: application/json: + examples: + default: + value: + data: + - attributes: + created_at: '2024-01-01T00:00:00+00:00' + description: A sample datastore + modified_at: '2024-01-01T00:00:00+00:00' + name: Example Datastore + org_id: 123 + primary_column_name: id + primary_key_generation_strategy: none + id: 00000000-0000-0000-0000-000000000001 + type: datastores schema: $ref: '#/components/schemas/DatastoreArray' description: OK @@ -30,6 +44,16 @@ paths: requestBody: content: application/json: + examples: + default: + value: + data: + attributes: + name: datastore-name + org_access: contributor + primary_column_name: primaryKey + primary_key_generation_strategy: none + type: datastores schema: $ref: '#/components/schemas/CreateAppsDatastoreRequest' required: true @@ -37,6 +61,12 @@ paths: '200': content: application/json: + examples: + default: + value: + data: + id: 00000000-0000-0000-0000-000000000002 + type: datastores schema: $ref: '#/components/schemas/CreateAppsDatastoreResponse' description: OK @@ -98,6 +128,20 @@ paths: '200': content: application/json: + examples: + default: + value: + data: + attributes: + created_at: '2024-01-01T00:00:00+00:00' + description: A sample datastore + modified_at: '2024-01-01T00:00:00+00:00' + name: Example Datastore + org_id: 123 + primary_column_name: id + primary_key_generation_strategy: none + id: 00000000-0000-0000-0000-000000000003 + type: datastores schema: $ref: '#/components/schemas/Datastore' description: OK @@ -135,6 +179,11 @@ paths: requestBody: content: application/json: + examples: + default: + value: + data: + type: datastores schema: $ref: '#/components/schemas/UpdateAppsDatastoreRequest' required: true @@ -142,6 +191,20 @@ paths: '200': content: application/json: + examples: + default: + value: + data: + attributes: + created_at: '2024-01-01T00:00:00+00:00' + description: An updated datastore + modified_at: '2024-01-01T00:00:00+00:00' + name: Updated Datastore + org_id: 123 + primary_column_name: id + primary_key_generation_strategy: none + id: 00000000-0000-0000-0000-000000000004 + type: datastores schema: $ref: '#/components/schemas/Datastore' description: OK @@ -180,6 +243,14 @@ paths: requestBody: content: application/json: + examples: + default: + value: + data: + attributes: + id: a7656bcc-51d4-4884-adf7-4d0d9a3e0633 + item_key: primaryKey + type: items schema: $ref: '#/components/schemas/DeleteAppsDatastoreItemRequest' required: true @@ -187,6 +258,12 @@ paths: '200': content: application/json: + examples: + default: + value: + data: + id: 00000000-0000-0000-0000-000000000007 + type: items schema: $ref: '#/components/schemas/DeleteAppsDatastoreItemResponse' description: OK @@ -212,10 +289,7 @@ paths: permissions: - apps_datastore_write get: - description: >- - Lists items from a datastore. You can filter the results by specifying - either an item key or a filter query parameter, but not both at the same - time. Supports server-side pagination for large datasets. + description: Lists items from a datastore. You can filter the results by specifying either an item key or a filter query parameter, but not both at the same time. Supports server-side pagination for large datasets. operationId: ListDatastoreItems parameters: - description: The unique identifier of the datastore to retrieve. @@ -224,24 +298,18 @@ paths: required: true schema: type: string - - description: >- - Optional query filter to search items using the [logs search - syntax](https://docs.datadoghq.com/logs/explorer/search_syntax/). + - description: Optional query filter to search items using the [logs search syntax](https://docs.datadoghq.com/logs/explorer/search_syntax/). in: query name: filter schema: type: string - - description: >- - Optional primary key value to retrieve a specific item. Cannot be - used together with the filter parameter. + - description: Optional primary key value to retrieve a specific item. Cannot be used together with the filter parameter. in: query name: item_key schema: maxLength: 256 type: string - - description: >- - Optional field to limit the number of items to return per page for - pagination. Up to 100 items can be returned per page. + - description: Optional field to limit the number of items to return per page for pagination. Up to 100 items can be returned per page. in: query name: page[limit] schema: @@ -249,17 +317,13 @@ paths: maximum: 100 minimum: 1 type: integer - - description: >- - Optional field to offset the number of items to skip from the - beginning of the result set for pagination. + - description: Optional field to offset the number of items to skip from the beginning of the result set for pagination. in: query name: page[offset] schema: format: int64 type: integer - - description: >- - Optional field to sort results by. Prefix with '-' for descending - order (e.g., '-created_at'). + - description: Optional field to sort results by. Prefix with '-' for descending order (e.g., '-created_at'). in: query name: sort schema: @@ -268,6 +332,20 @@ paths: '200': content: application/json: + examples: + default: + value: + data: + - attributes: + created_at: '2024-01-01T00:00:00+00:00' + modified_at: '2024-01-01T00:00:00+00:00' + org_id: 123 + primary_column_name: id + store_id: 00000000-0000-0000-0000-000000000006 + value: + key: example-value + id: 00000000-0000-0000-0000-000000000005 + type: items schema: $ref: '#/components/schemas/ItemApiPayloadArray' description: OK @@ -305,6 +383,17 @@ paths: requestBody: content: application/json: + examples: + default: + value: + data: + attributes: + item_changes: + ops_set: + count: 42 + status: active + item_key: my-item-key + type: items schema: $ref: '#/components/schemas/UpdateAppsDatastoreItemRequest' required: true @@ -312,6 +401,21 @@ paths: '200': content: application/json: + examples: + default: + value: + data: + attributes: + created_at: '2024-01-01T00:00:00+00:00' + modified_at: '2024-01-01T00:00:00+00:00' + org_id: 123 + primary_column_name: id + store_id: 00000000-0000-0000-0000-000000000009 + value: + count: 42 + status: active + id: 00000000-0000-0000-0000-000000000008 + type: items schema: $ref: '#/components/schemas/ItemApiPayload' description: OK @@ -337,10 +441,69 @@ paths: permissions: - apps_datastore_write /api/v2/actions-datastores/{datastore_id}/items/bulk: + delete: + description: Deletes multiple items from a datastore by their keys in a single operation. + operationId: BulkDeleteDatastoreItems + parameters: + - description: The ID of the datastore. + in: path + name: datastore_id + required: true + schema: + type: string + requestBody: + content: + application/json: + examples: + default: + value: + data: + type: items + schema: + $ref: '#/components/schemas/BulkDeleteAppsDatastoreItemsRequest' + required: true + responses: + '200': + content: + application/json: + examples: + default: + value: + data: + - id: 00000000-0000-0000-0000-000000000010 + type: items + schema: + $ref: '#/components/schemas/DeleteAppsDatastoreItemResponseArray' + description: OK + '400': + content: + application/json: + schema: + $ref: '#/components/schemas/JSONAPIErrorResponse' + description: Bad Request + '404': + content: + application/json: + schema: + $ref: '#/components/schemas/JSONAPIErrorResponse' + description: Not Found + '429': + $ref: '#/components/responses/TooManyRequestsResponse' + '500': + content: + application/json: + schema: + $ref: '#/components/schemas/JSONAPIErrorResponse' + description: Internal Server Error + summary: Bulk delete datastore items + tags: + - Actions Datastores + x-permission: + operator: OR + permissions: + - apps_datastore_write post: - description: >- - Creates or replaces multiple items in a datastore by their keys in a - single operation. + description: Creates or replaces multiple items in a datastore by their keys in a single operation. operationId: BulkWriteDatastoreItems parameters: - description: The unique identifier of the datastore to retrieve. @@ -352,6 +515,18 @@ paths: requestBody: content: application/json: + examples: + default: + value: + data: + attributes: + conflict_mode: overwrite_on_conflict + values: + - data: example data + key: value + - data: example data2 + key: value2 + type: items schema: $ref: '#/components/schemas/BulkPutAppsDatastoreItemsRequest' required: true @@ -359,6 +534,12 @@ paths: '200': content: application/json: + examples: + default: + value: + data: + - id: 00000000-0000-0000-0000-000000000011 + type: items schema: $ref: '#/components/schemas/PutAppsDatastoreItemResponseArray' description: OK @@ -406,6 +587,15 @@ paths: '200': content: application/json: + examples: + default: + value: + data: + - id: 00000000-0000-0000-0000-000000000001 + type: app_key_registration + meta: + total: 1 + total_filtered: 1 schema: $ref: '#/components/schemas/ListAppKeyRegistrationsResponse' description: OK @@ -485,6 +675,12 @@ paths: '200': content: application/json: + examples: + default: + value: + data: + id: 00000000-0000-0000-0000-000000000001 + type: app_key_registration schema: $ref: '#/components/schemas/GetAppKeyRegistrationResponse' description: OK @@ -528,6 +724,12 @@ paths: '201': content: application/json: + examples: + default: + value: + data: + id: 00000000-0000-0000-0000-000000000001 + type: app_key_registration schema: $ref: '#/components/schemas/RegisterAppKeyResponse' description: Created @@ -560,14 +762,27 @@ paths: - service_account_write /api/v2/actions/connections: post: - description: >- - Create a new Action Connection. This API requires a [registered - application - key](https://docs.datadoghq.com/api/latest/action-connection/#register-a-new-app-key). + description: Create a new Action Connection. This API requires a [registered application key](https://docs.datadoghq.com/api/latest/action-connection/#register-a-new-app-key). operationId: CreateActionConnection requestBody: content: application/json: + examples: + default: + value: + data: + attributes: + integration: + credentials: + account_id: '123456789123' + role: MyRoleUpdated + type: AWSAssumeRole + type: AWS + name: My AWS Connection + tags: + - env:prod + - team:action-platform + type: action_connection schema: $ref: '#/components/schemas/CreateActionConnectionRequest' required: true @@ -575,6 +790,19 @@ paths: '201': content: application/json: + examples: + default: + value: + data: + attributes: + integration: + type: AWS + name: My AWS Connection + tags: + - env:prod + - team:action-platform + id: 00000000-0000-0000-0000-000000000001 + type: action_connection schema: $ref: '#/components/schemas/CreateActionConnectionResponse' description: Successfully created Action Connection @@ -601,12 +829,7 @@ paths: - Action Connection /api/v2/actions/connections/{connection_id}: delete: - description: >- - Delete an existing Action Connection. This API requires a [registered - application - key](https://docs.datadoghq.com/api/latest/action-connection/#register-a-new-app-key). - Alternatively, you can configure these permissions [in the - UI](https://docs.datadoghq.com/account_management/api-app-keys/#actions-api-access). + description: Delete an existing Action Connection. This API requires a [registered application key](https://docs.datadoghq.com/api/latest/action-connection/#register-a-new-app-key). Alternatively, you can configure these permissions [in the UI](https://docs.datadoghq.com/account_management/api-app-keys/#actions-api-access). operationId: DeleteActionConnection parameters: - $ref: '#/components/parameters/ConnectionId' @@ -639,10 +862,7 @@ paths: permissions: - connection_write get: - description: >- - Get an existing Action Connection. This API requires a [registered - application - key](https://docs.datadoghq.com/api/latest/action-connection/#register-a-new-app-key). + description: Get an existing Action Connection. This API requires a [registered application key](https://docs.datadoghq.com/api/latest/action-connection/#register-a-new-app-key). operationId: GetActionConnection parameters: - $ref: '#/components/parameters/ConnectionId' @@ -650,6 +870,19 @@ paths: '200': content: application/json: + examples: + default: + value: + data: + attributes: + integration: + type: AWS + name: My AWS Connection + tags: + - env:prod + - team:action-platform + id: 00000000-0000-0000-0000-000000000002 + type: action_connection schema: $ref: '#/components/schemas/GetActionConnectionResponse' description: Successfully get Action Connection @@ -681,16 +914,25 @@ paths: tags: - Action Connection patch: - description: >- - Update an existing Action Connection. This API requires a [registered - application - key](https://docs.datadoghq.com/api/latest/action-connection/#register-a-new-app-key). + description: Update an existing Action Connection. This API requires a [registered application key](https://docs.datadoghq.com/api/latest/action-connection/#register-a-new-app-key). operationId: UpdateActionConnection parameters: - $ref: '#/components/parameters/ConnectionId' requestBody: content: application/json: + examples: + default: + value: + data: + attributes: + integration: + type: AWS + name: My AWS Connection + tags: + - env:prod + - team:action-platform + type: action_connection schema: $ref: '#/components/schemas/UpdateActionConnectionRequest' description: Update an existing Action Connection request body @@ -699,6 +941,19 @@ paths: '200': content: application/json: + examples: + default: + value: + data: + attributes: + integration: + type: AWS + name: My AWS Connection + tags: + - env:prod + - team:action-platform + id: 00000000-0000-0000-0000-000000000003 + type: action_connection schema: $ref: '#/components/schemas/UpdateActionConnectionResponse' description: Successfully updated Action Connection @@ -729,15 +984,407 @@ paths: summary: Update an existing Action Connection tags: - Action Connection + /api/v2/actions/execution-policies: + get: + description: Retrieve a list of execution policies for the current organization. + operationId: ListExecutionPolicies + parameters: + - description: The number of execution policies to return per page. + example: 100 + in: query + name: page[size] + required: false + schema: + default: 100 + format: int32 + maximum: 100 + type: integer + - description: The page number to return. + example: 0 + in: query + name: page[number] + required: false + schema: + default: 0 + format: int32 + maximum: 1000 + minimum: 0 + type: integer + - description: Filter execution policies by name. + example: Block prod restarts + in: query + name: filter[name] + required: false + schema: + type: string + - description: Filter execution policies by a list of IDs. + example: + - 3fa85f64-5717-4562-b3fc-2c963f66afa6 + explode: true + in: query + name: filter[ids] + required: false + schema: + items: + type: string + type: array + style: form + - description: Filter execution policies by a list of integrations. + example: + - INTEGRATION_SCRIPT + explode: true + in: query + name: filter[integration] + required: false + schema: + items: + $ref: '#/components/schemas/ExecutionPolicyIntegration' + type: array + style: form + - description: Filter execution policies by a list of effects. + example: + - allow + explode: true + in: query + name: filter[effects] + required: false + schema: + items: + $ref: '#/components/schemas/ExecutionPolicyEffect' + type: array + style: form + - description: Filter execution policies by a list of creator IDs. + example: + - 3fa85f64-5717-4562-b3fc-2c963f66afa6 + explode: true + in: query + name: filter[creator_ids] + required: false + schema: + items: + type: string + type: array + style: form + - description: |- + The sort order for the results. Prefix a field with `-` to sort in + descending order. Valid fields are `name`, `effect`, `integration`, + `created_at`, and `updated_at`. + example: + - '-created_at' + explode: true + in: query + name: sort + required: false + schema: + items: + type: string + type: array + style: form + responses: + '200': + content: + application/json: + examples: + default: + value: + data: + - attributes: + action_pattern: + action_fqns: + - com.datadoghq.script.* + integration: INTEGRATION_SCRIPT + created_at: '2026-01-15T10:00:00.000Z' + created_by: 3fa85f64-5717-4562-b3fc-2c963f66afa6 + effect: allow + name: Block prod restarts + targets: [] + updated_at: '2026-01-15T10:00:00.000Z' + updated_by: 3fa85f64-5717-4562-b3fc-2c963f66afa6 + version: 1 + id: 3fa85f64-5717-4562-b3fc-2c963f66afa6 + type: execution_policy + meta: + page: + total: 1 + schema: + $ref: '#/components/schemas/ExecutionPolicyListResponse' + description: OK + '400': + content: + application/json: + schema: + $ref: '#/components/schemas/JSONAPIErrorResponse' + description: Bad Request + '403': + content: + application/json: + schema: + $ref: '#/components/schemas/JSONAPIErrorResponse' + description: Forbidden + '429': + $ref: '#/components/responses/TooManyRequestsResponse' + summary: List execution policies + tags: + - Execution Policy + x-permission: + operator: OR + permissions: + - execution_groups_read + x-unstable: |- + **Note**: This endpoint is in preview and is subject to change. + If you have any feedback, contact [Datadog support](https://docs.datadoghq.com/help/). + post: + description: Create a new execution policy. + operationId: CreateExecutionPolicy + requestBody: + content: + application/json: + examples: + default: + value: + data: + attributes: + action_pattern: + action_fqns: + - com.datadoghq.script.* + integration: INTEGRATION_SCRIPT + effect: allow + name: Block prod restarts + type: execution_policy + schema: + $ref: '#/components/schemas/ExecutionPolicyCreateRequest' + description: The execution policy to create. + required: true + responses: + '201': + content: + application/json: + examples: + default: + value: + data: + attributes: + action_pattern: + action_fqns: + - com.datadoghq.script.* + integration: INTEGRATION_SCRIPT + created_at: '2026-01-15T10:00:00.000Z' + created_by: 3fa85f64-5717-4562-b3fc-2c963f66afa6 + effect: allow + name: Block prod restarts + targets: [] + updated_at: '2026-01-15T10:00:00.000Z' + updated_by: 3fa85f64-5717-4562-b3fc-2c963f66afa6 + version: 1 + id: 3fa85f64-5717-4562-b3fc-2c963f66afa6 + type: execution_policy + schema: + $ref: '#/components/schemas/ExecutionPolicyResponse' + description: Created + '400': + content: + application/json: + schema: + $ref: '#/components/schemas/JSONAPIErrorResponse' + description: Bad Request + '403': + content: + application/json: + schema: + $ref: '#/components/schemas/JSONAPIErrorResponse' + description: Forbidden + '429': + $ref: '#/components/responses/TooManyRequestsResponse' + summary: Create an execution policy + tags: + - Execution Policy + x-codegen-request-body-name: body + x-permission: + operator: OR + permissions: + - execution_groups_write + x-unstable: |- + **Note**: This endpoint is in preview and is subject to change. + If you have any feedback, contact [Datadog support](https://docs.datadoghq.com/help/). + /api/v2/actions/execution-policies/{policy_id}: + delete: + description: Delete a specific execution policy. + operationId: DeleteExecutionPolicy + parameters: + - $ref: '#/components/parameters/ExecutionPolicyId' + responses: + '204': + description: No Content + '403': + content: + application/json: + schema: + $ref: '#/components/schemas/JSONAPIErrorResponse' + description: Forbidden + '404': + content: + application/json: + schema: + $ref: '#/components/schemas/JSONAPIErrorResponse' + description: Not Found + '429': + $ref: '#/components/responses/TooManyRequestsResponse' + summary: Delete an execution policy + tags: + - Execution Policy + x-permission: + operator: OR + permissions: + - execution_groups_write + x-unstable: |- + **Note**: This endpoint is in preview and is subject to change. + If you have any feedback, contact [Datadog support](https://docs.datadoghq.com/help/). + get: + description: Retrieve an existing execution policy by ID. + operationId: GetExecutionPolicy + parameters: + - $ref: '#/components/parameters/ExecutionPolicyId' + responses: + '200': + content: + application/json: + examples: + default: + value: + data: + attributes: + action_pattern: + action_fqns: + - com.datadoghq.script.* + integration: INTEGRATION_SCRIPT + created_at: '2026-01-15T10:00:00.000Z' + created_by: 3fa85f64-5717-4562-b3fc-2c963f66afa6 + effect: allow + name: Block prod restarts + targets: [] + updated_at: '2026-01-15T10:00:00.000Z' + updated_by: 3fa85f64-5717-4562-b3fc-2c963f66afa6 + version: 1 + id: 3fa85f64-5717-4562-b3fc-2c963f66afa6 + type: execution_policy + schema: + $ref: '#/components/schemas/ExecutionPolicyResponse' + description: OK + '403': + content: + application/json: + schema: + $ref: '#/components/schemas/JSONAPIErrorResponse' + description: Forbidden + '404': + content: + application/json: + schema: + $ref: '#/components/schemas/JSONAPIErrorResponse' + description: Not Found + '429': + $ref: '#/components/responses/TooManyRequestsResponse' + summary: Get an execution policy + tags: + - Execution Policy + x-permission: + operator: OR + permissions: + - execution_groups_read + x-unstable: |- + **Note**: This endpoint is in preview and is subject to change. + If you have any feedback, contact [Datadog support](https://docs.datadoghq.com/help/). + put: + description: |- + Update an existing execution policy. + Returns the execution policy object when the request is successful. + operationId: UpdateExecutionPolicy + parameters: + - $ref: '#/components/parameters/ExecutionPolicyId' + requestBody: + content: + application/json: + examples: + default: + value: + data: + attributes: + action_pattern: + action_fqns: + - com.datadoghq.script.* + integration: INTEGRATION_SCRIPT + effect: allow + name: Block prod restarts + id: 3fa85f64-5717-4562-b3fc-2c963f66afa6 + type: execution_policy + schema: + $ref: '#/components/schemas/ExecutionPolicyUpdateRequest' + description: The new execution policy. + required: true + responses: + '200': + content: + application/json: + examples: + default: + value: + data: + attributes: + action_pattern: + action_fqns: + - com.datadoghq.script.* + integration: INTEGRATION_SCRIPT + created_at: '2026-01-15T10:00:00.000Z' + created_by: 3fa85f64-5717-4562-b3fc-2c963f66afa6 + effect: allow + name: Block prod restarts + targets: [] + updated_at: '2026-01-15T10:00:00.000Z' + updated_by: 3fa85f64-5717-4562-b3fc-2c963f66afa6 + version: 2 + id: 3fa85f64-5717-4562-b3fc-2c963f66afa6 + type: execution_policy + schema: + $ref: '#/components/schemas/ExecutionPolicyResponse' + description: OK + '400': + content: + application/json: + schema: + $ref: '#/components/schemas/JSONAPIErrorResponse' + description: Bad Request + '403': + content: + application/json: + schema: + $ref: '#/components/schemas/JSONAPIErrorResponse' + description: Forbidden + '404': + content: + application/json: + schema: + $ref: '#/components/schemas/JSONAPIErrorResponse' + description: Not Found + '429': + $ref: '#/components/responses/TooManyRequestsResponse' + summary: Update an execution policy + tags: + - Execution Policy + x-codegen-request-body-name: body + x-permission: + operator: OR + permissions: + - execution_groups_write + x-unstable: |- + **Note**: This endpoint is in preview and is subject to change. + If you have any feedback, contact [Datadog support](https://docs.datadoghq.com/help/). components: schemas: DatastoreArray: description: A collection of datastores returned by list operations. properties: data: - description: >- - An array of datastore objects containing their configurations and - metadata. + description: An array of datastore objects containing their configurations and metadata. items: $ref: '#/components/schemas/DatastoreData' type: array @@ -745,17 +1392,13 @@ components: - data type: object CreateAppsDatastoreRequest: - description: >- - Request to create a new datastore with specified configuration and - metadata. + description: Request to create a new datastore with specified configuration and metadata. properties: data: $ref: '#/components/schemas/CreateAppsDatastoreRequestData' type: object CreateAppsDatastoreResponse: - description: >- - Response after successfully creating a new datastore, containing the - datastore's assigned ID. + description: Response after successfully creating a new datastore, containing the datastore's assigned ID. properties: data: $ref: '#/components/schemas/CreateAppsDatastoreResponseData' @@ -778,9 +1421,7 @@ components: $ref: '#/components/schemas/DatastoreData' type: object UpdateAppsDatastoreRequest: - description: >- - Request to update a datastore's configuration such as its name or - description. + description: Request to update a datastore's configuration such as its name or description. properties: data: $ref: '#/components/schemas/UpdateAppsDatastoreRequestData' @@ -808,9 +1449,7 @@ components: type: array meta: $ref: '#/components/schemas/ItemApiPayloadMeta' - description: >- - Metadata about the included items, including pagination info and - datastore schema. + description: Metadata about the included items, including pagination info and datastore schema. required: - data type: object @@ -826,6 +1465,23 @@ components: data: $ref: '#/components/schemas/ItemApiPayloadData' type: object + BulkDeleteAppsDatastoreItemsRequest: + description: Request to delete items from a datastore. + properties: + data: + $ref: '#/components/schemas/BulkDeleteAppsDatastoreItemsRequestData' + type: object + DeleteAppsDatastoreItemResponseArray: + description: The definition of `DeleteAppsDatastoreItemResponseArray` object. + properties: + data: + description: The `DeleteAppsDatastoreItemResponseArray` `data`. + items: + $ref: '#/components/schemas/DeleteAppsDatastoreItemResponseData' + type: array + required: + - data + type: object BulkPutAppsDatastoreItemsRequest: description: Request to insert multiple items into a datastore in a single operation. properties: @@ -833,14 +1489,10 @@ components: $ref: '#/components/schemas/BulkPutAppsDatastoreItemsRequestData' type: object PutAppsDatastoreItemResponseArray: - description: >- - Response after successfully inserting multiple items into a datastore, - containing the identifiers of the created items. + description: Response after successfully inserting multiple items into a datastore, containing the identifiers of the created items. properties: data: - description: >- - An array of data objects containing the identifiers of the - successfully inserted items. + description: An array of data objects containing the identifiers of the successfully inserted items. items: $ref: '#/components/schemas/PutAppsDatastoreItemResponseData' maxItems: 100 @@ -905,27 +1557,85 @@ components: data: $ref: '#/components/schemas/ActionConnectionData' type: object - DatastoreData: - description: >- - Core information about a datastore, including its unique identifier and - attributes. + ExecutionPolicyIntegration: + description: The integration the action pattern applies to. + enum: + - INTEGRATION_KUBERNETES + - INTEGRATION_SCRIPT + - INTEGRATION_REMOTE_ACTION + example: INTEGRATION_SCRIPT + type: string + x-enum-varnames: + - INTEGRATION_KUBERNETES + - INTEGRATION_SCRIPT + - INTEGRATION_REMOTE_ACTION + ExecutionPolicyEffect: + description: Whether the policy allows or denies matching actions. + enum: + - allow + - deny + example: allow + type: string + x-enum-varnames: + - ALLOW + - DENY + ExecutionPolicyListResponse: + description: Response object that includes a list of execution policies. properties: - attributes: - $ref: '#/components/schemas/DatastoreDataAttributes' - id: - description: The unique identifier of the datastore. - type: string - type: - $ref: '#/components/schemas/DatastoreDataType' + data: + description: The execution policies. + items: + $ref: '#/components/schemas/ExecutionPolicyResponseData' + type: array + meta: + $ref: '#/components/schemas/ExecutionPolicyListResponseMeta' required: - - type + - data + - meta type: object - APIErrorResponse: - description: API error response. + ExecutionPolicyCreateRequest: + description: Request object that includes the execution policy to create. properties: - errors: - description: A list of errors. - example: + data: + $ref: '#/components/schemas/ExecutionPolicyCreateRequestData' + required: + - data + type: object + ExecutionPolicyResponse: + description: Response object that includes a single execution policy. + properties: + data: + $ref: '#/components/schemas/ExecutionPolicyResponseData' + required: + - data + type: object + ExecutionPolicyUpdateRequest: + description: Request object that includes the execution policy to update. + properties: + data: + $ref: '#/components/schemas/ExecutionPolicyUpdateRequestData' + required: + - data + type: object + DatastoreData: + description: Core information about a datastore, including its unique identifier and attributes. + properties: + attributes: + $ref: '#/components/schemas/DatastoreDataAttributes' + id: + description: The unique identifier of the datastore. + type: string + type: + $ref: '#/components/schemas/DatastoreDataType' + required: + - type + type: object + APIErrorResponse: + description: API error response. + properties: + errors: + description: A list of errors. + example: - Bad Request items: description: A list of items. @@ -936,16 +1646,12 @@ components: - errors type: object CreateAppsDatastoreRequestData: - description: >- - Data wrapper containing the configuration needed to create a new - datastore. + description: Data wrapper containing the configuration needed to create a new datastore. properties: attributes: $ref: '#/components/schemas/CreateAppsDatastoreRequestDataAttributes' id: - description: >- - Optional ID for the new datastore. If not provided, one will be - generated automatically. + description: Optional ID for the new datastore. If not provided, one will be generated automatically. type: string type: $ref: '#/components/schemas/DatastoreDataType' @@ -967,9 +1673,7 @@ components: description: API error response body properties: detail: - description: >- - A human-readable explanation specific to this occurrence of the - error. + description: A human-readable explanation specific to this occurrence of the error. example: Missing required attribute in body type: string meta: @@ -988,9 +1692,7 @@ components: type: string type: object UpdateAppsDatastoreRequestData: - description: >- - Data wrapper containing the datastore identifier and the attributes to - update. + description: Data wrapper containing the datastore identifier and the attributes to update. properties: attributes: $ref: '#/components/schemas/UpdateAppsDatastoreRequestDataAttributes' @@ -1003,9 +1705,7 @@ components: - type type: object DeleteAppsDatastoreItemRequestData: - description: >- - Data wrapper containing the information needed to identify and delete a - specific datastore item. + description: Data wrapper containing the information needed to identify and delete a specific datastore item. properties: attributes: $ref: '#/components/schemas/DeleteAppsDatastoreItemRequestDataAttributes' @@ -1015,9 +1715,7 @@ components: - type type: object DeleteAppsDatastoreItemResponseData: - description: >- - Data containing the identifier of the datastore item that was - successfully deleted. + description: Data containing the identifier of the datastore item that was successfully deleted. properties: id: description: The unique identifier of the item that was deleted. @@ -1041,9 +1739,7 @@ components: - type type: object ItemApiPayloadMeta: - description: >- - Additional metadata about a collection of datastore items, including - pagination and schema information. + description: Additional metadata about a collection of datastore items, including pagination and schema information. properties: page: $ref: '#/components/schemas/ItemApiPayloadMetaPage' @@ -1051,9 +1747,7 @@ components: $ref: '#/components/schemas/ItemApiPayloadMetaSchema' type: object UpdateAppsDatastoreItemRequestData: - description: >- - Data wrapper containing the item identifier and the changes to apply - during the update operation. + description: Data wrapper containing the item identifier and the changes to apply during the update operation. properties: attributes: $ref: '#/components/schemas/UpdateAppsDatastoreItemRequestDataAttributes' @@ -1065,10 +1759,21 @@ components: required: - type type: object + BulkDeleteAppsDatastoreItemsRequestData: + description: Data wrapper containing the data needed to delete items from a datastore. + properties: + attributes: + $ref: '#/components/schemas/BulkDeleteAppsDatastoreItemsRequestDataAttributes' + id: + description: ID for the datastore of the items to delete. + type: string + type: + $ref: '#/components/schemas/BulkDeleteAppsDatastoreItemsRequestDataType' + required: + - type + type: object BulkPutAppsDatastoreItemsRequestData: - description: >- - Data wrapper containing the items to insert and their configuration for - the bulk insert operation. + description: Data wrapper containing the items to insert and their configuration for the bulk insert operation. properties: attributes: $ref: '#/components/schemas/BulkPutAppsDatastoreItemsRequestDataAttributes' @@ -1078,9 +1783,7 @@ components: - type type: object PutAppsDatastoreItemResponseData: - description: >- - Data containing the identifier of a single item that was successfully - inserted into the datastore. + description: Data containing the identifier of a single item that was successfully inserted into the datastore. properties: id: description: The unique identifier assigned to the inserted item. @@ -1112,9 +1815,7 @@ components: format: int64 type: integer total_filtered: - description: >- - The total number of app key registrations that match the specified - filters. + description: The total number of app key registrations that match the specified filters. example: 1 format: int64 type: integer @@ -1145,6 +1846,58 @@ components: - type - attributes type: object + ExecutionPolicyResponseData: + description: Object for a single execution policy. + properties: + attributes: + $ref: '#/components/schemas/ExecutionPolicyAttributes' + id: + description: The ID of the execution policy. + example: 3fa85f64-5717-4562-b3fc-2c963f66afa6 + readOnly: true + type: string + type: + $ref: '#/components/schemas/ExecutionPolicyType' + required: + - id + - type + - attributes + type: object + ExecutionPolicyListResponseMeta: + description: Pagination metadata for the list of execution policies. + properties: + page: + $ref: '#/components/schemas/ExecutionPolicyListResponsePage' + required: + - page + type: object + ExecutionPolicyCreateRequestData: + description: Object for a single execution policy. + properties: + attributes: + $ref: '#/components/schemas/ExecutionPolicyWriteAttributes' + type: + $ref: '#/components/schemas/ExecutionPolicyType' + required: + - type + - attributes + type: object + ExecutionPolicyUpdateRequestData: + description: Object for a single execution policy. + properties: + attributes: + $ref: '#/components/schemas/ExecutionPolicyWriteAttributes' + id: + description: The ID of the execution policy. + example: 3fa85f64-5717-4562-b3fc-2c963f66afa6 + type: string + type: + $ref: '#/components/schemas/ExecutionPolicyType' + required: + - id + - type + - attributes + type: object DatastoreDataAttributes: description: Detailed information about a datastore. properties: @@ -1198,8 +1951,7 @@ components: example: datastore-name type: string org_access: - $ref: >- - #/components/schemas/CreateAppsDatastoreRequestDataAttributesOrgAccess + $ref: '#/components/schemas/CreateAppsDatastoreRequestDataAttributesOrgAccess' primary_column_name: $ref: '#/components/schemas/DatastoreAttributesPrimaryColumnName' primary_key_generation_strategy: @@ -1212,9 +1964,7 @@ components: description: References to the source of the error. properties: header: - description: >- - A string indicating the name of a single request header which caused - the error. + description: A string indicating the name of a single request header which caused the error. example: Authorization type: string parameter: @@ -1222,9 +1972,7 @@ components: example: limit type: string pointer: - description: >- - A JSON pointer to the value in the request document that caused the - error. + description: A JSON pointer to the value in the request document that caused the error. example: /data/attributes/title type: string type: object @@ -1246,9 +1994,7 @@ components: example: a7656bcc-51d4-4884-adf7-4d0d9a3e0633 type: string item_key: - description: >- - The primary key value that identifies the item to delete. Cannot - exceed 256 characters. + description: The primary key value that identifies the item to delete. Cannot exceed 256 characters. example: primaryKey maxLength: 256 type: string @@ -1306,9 +2052,7 @@ components: type: integer type: object ItemApiPayloadMetaSchema: - description: >- - Schema information about the datastore, including its primary key and - field definitions. + description: Schema information about the datastore, including its primary key and field definitions. properties: fields: description: An array describing the columns available in this datastore. @@ -1320,20 +2064,15 @@ components: type: string type: object UpdateAppsDatastoreItemRequestDataAttributes: - description: >- - Attributes for updating a datastore item, including the item key and - changes to apply. + description: Attributes for updating a datastore item, including the item key and changes to apply. properties: id: description: The unique identifier of the item being updated. type: string item_changes: - $ref: >- - #/components/schemas/UpdateAppsDatastoreItemRequestDataAttributesItemChanges + $ref: '#/components/schemas/UpdateAppsDatastoreItemRequestDataAttributesItemChanges' item_key: - description: >- - The primary key that identifies the item to update. Cannot exceed - 256 characters. + description: The primary key that identifies the item to update. Cannot exceed 256 characters. example: '' maxLength: 256 type: string @@ -1350,6 +2089,26 @@ components: type: string x-enum-varnames: - ITEMS + BulkDeleteAppsDatastoreItemsRequestDataAttributes: + description: Attributes of request data to delete items from a datastore. + properties: + item_keys: + description: List of primary keys identifying items to delete from datastore. Up to 100 items can be deleted in a single request. + items: + description: A primary key identifying a datastore item to delete. + type: string + maxItems: 100 + type: array + type: object + BulkDeleteAppsDatastoreItemsRequestDataType: + default: items + description: Items resource type. + enum: + - items + example: items + type: string + x-enum-varnames: + - ITEMS BulkPutAppsDatastoreItemsRequestDataAttributes: description: Configuration for bulk inserting multiple items into a datastore. properties: @@ -1377,6 +2136,18 @@ components: description: Name of the connection example: My AWS Connection type: string + tags: + description: |- + Tags associated with the connection. Each tag must follow the `key:value` format. + The `default` tag key is reserved. + example: + - env:prod + - team:action-platform + items: + description: A non-reserved tag in `key:value` format. + pattern: ^[A-Za-z0-9._/-]+:[A-Za-z0-9._/-]+$ + type: string + type: array required: - name - integration @@ -1398,21 +2169,126 @@ components: description: Name of the connection example: My AWS Connection type: string + tags: + description: |- + Tags associated with the connection. Each tag must follow the `key:value` format. + The `default` tag key is reserved. + example: + - env:prod + - team:action-platform + items: + description: A non-reserved tag in `key:value` format. + pattern: ^[A-Za-z0-9._/-]+:[A-Za-z0-9._/-]+$ + type: string + type: array + type: object + ExecutionPolicyAttributes: + description: An execution policy. + properties: + action_pattern: + $ref: '#/components/schemas/ExecutionPolicyActionPattern' + created_at: + description: The date and time the execution policy was created. + example: '2026-01-15T10:00:00.000Z' + format: date-time + type: string + created_by: + description: The ID of the user who created the execution policy. + example: 3fa85f64-5717-4562-b3fc-2c963f66afa6 + type: string + effect: + $ref: '#/components/schemas/ExecutionPolicyEffect' + name: + description: The name of the execution policy. + example: Block prod restarts + type: string + scope: + $ref: '#/components/schemas/ExecutionPolicyScope' + targets: + description: The targets this policy applies to. + items: + $ref: '#/components/schemas/ExecutionPolicyTarget' + type: array + updated_at: + description: The date and time the execution policy was last updated. + example: '2026-01-15T10:00:00.000Z' + format: date-time + type: string + updated_by: + description: The ID of the user who last updated the execution policy. + example: 3fa85f64-5717-4562-b3fc-2c963f66afa6 + type: string + version: + description: The version of the execution policy. Incremented on every update. + example: 1 + format: int32 + maximum: 2147483647 + type: integer + required: + - name + - effect + - action_pattern + - targets + - version + - created_at + - updated_at + - created_by + - updated_by + type: object + ExecutionPolicyType: + default: execution_policy + description: The type of the resource. The value should always be `execution_policy`. + enum: + - execution_policy + example: execution_policy + type: string + x-enum-varnames: + - EXECUTION_POLICY + ExecutionPolicyListResponsePage: + description: Pagination details. + properties: + total: + description: The total number of execution policies matching the query. + example: 1 + format: int32 + maximum: 2147483647 + type: integer + required: + - total + type: object + ExecutionPolicyWriteAttributes: + description: Attributes used to create or update an execution policy. + properties: + action_pattern: + $ref: '#/components/schemas/ExecutionPolicyActionPattern' + effect: + $ref: '#/components/schemas/ExecutionPolicyEffect' + name: + description: The name of the execution policy. + example: Block prod restarts + type: string + scope: + $ref: '#/components/schemas/ExecutionPolicyScope' + targets: + description: The targets this policy applies to. + items: + $ref: '#/components/schemas/ExecutionPolicyTarget' + type: array + required: + - name + - effect + - action_pattern type: object DatastoreAttributesPrimaryColumnName: - description: >- - The name of the primary key column for this datastore. Primary column - names: + description: |- + The name of the primary key column for this datastore. Primary column names: - Must abide by both [PostgreSQL naming conventions](https://www.postgresql.org/docs/7.0/syntax525.htm) - Cannot exceed 63 characters example: '' maxLength: 63 type: string DatastorePrimaryKeyGenerationStrategy: - description: >- - Can be set to `uuid` to automatically generate primary keys when new - items are added. Default value is `none`, which requires you to supply a - primary key for each new item. + description: Can be set to `uuid` to automatically generate primary keys when new items are added. Default value is `none`, which requires you to supply a primary key for each new item. enum: - none - uuid @@ -1421,9 +2297,7 @@ components: - NONE - UUID CreateAppsDatastoreRequestDataAttributesOrgAccess: - description: >- - The organization access level for the datastore. For example, - 'contributor'. + description: The organization access level for the datastore. For example, 'contributor'. enum: - contributor - viewer @@ -1445,9 +2319,7 @@ components: example: '' type: string type: - description: >- - The data type of this column. For example, 'string', 'number', or - 'boolean'. + description: The data type of this column. For example, 'string', 'number', or 'boolean'. example: '' type: string required: @@ -1459,15 +2331,11 @@ components: properties: ops_set: additionalProperties: {} - description: >- - Set operation that contains key-value pairs to set on the datastore - item. + description: Set operation that contains key-value pairs to set on the datastore item. type: object type: object DatastoreItemConflictMode: - description: >- - How to handle conflicts when inserting items that already exist in the - datastore. + description: How to handle conflicts when inserting items that already exist in the datastore. enum: - fail_on_conflict - overwrite_on_conflict @@ -1477,10 +2345,7 @@ components: - FAIL_ON_CONFLICT - OVERWRITE_ON_CONFLICT DatastoreItemValues: - description: >- - An array of items to add to the datastore, where each item is a set of - key-value pairs representing the item's data. Up to 100 items can be - updated in a single request. + description: An array of items to add to the datastore, where each item is a set of key-value pairs representing the item's data. Up to 100 items can be updated in a single request. example: - data: example data key: value @@ -1488,66 +2353,90 @@ components: key: value2 items: additionalProperties: {} - description: >- - A single item's data as key-value pairs. Key names cannot exceed 63 - characters. + description: A single item's data as key-value pairs. Key names cannot exceed 63 characters. type: object maxItems: 100 type: array ActionConnectionIntegration: description: The definition of `ActionConnectionIntegration` object. - oneOf: - - $ref: '#/components/schemas/AWSIntegration' - - $ref: '#/components/schemas/AnthropicIntegration' - - $ref: '#/components/schemas/AsanaIntegration' - - $ref: '#/components/schemas/AzureIntegration' - - $ref: '#/components/schemas/CircleCIIntegration' - - $ref: '#/components/schemas/ClickupIntegration' - - $ref: '#/components/schemas/CloudflareIntegration' - - $ref: '#/components/schemas/ConfigCatIntegration' - - $ref: '#/components/schemas/DatadogIntegration' - - $ref: '#/components/schemas/FastlyIntegration' - - $ref: '#/components/schemas/FreshserviceIntegration' - - $ref: '#/components/schemas/GCPIntegration' - - $ref: '#/components/schemas/GeminiIntegration' - - $ref: '#/components/schemas/GitlabIntegration' - - $ref: '#/components/schemas/GreyNoiseIntegration' - - $ref: '#/components/schemas/HTTPIntegration' - - $ref: '#/components/schemas/LaunchDarklyIntegration' - - $ref: '#/components/schemas/NotionIntegration' - - $ref: '#/components/schemas/OktaIntegration' - - $ref: '#/components/schemas/OpenAIIntegration' - - $ref: '#/components/schemas/ServiceNowIntegration' - - $ref: '#/components/schemas/SplitIntegration' - - $ref: '#/components/schemas/StatsigIntegration' - - $ref: '#/components/schemas/VirusTotalIntegration' + properties: + credentials: + $ref: '#/components/schemas/AWSCredentials' + type: + $ref: '#/components/schemas/AWSIntegrationType' + base_url: + description: Base HTTP url for the integration + example: http://datadoghq.com + type: string + required: + - type + - credentials + - base_url + type: object ActionConnectionIntegrationUpdate: description: The definition of `ActionConnectionIntegrationUpdate` object. - oneOf: - - $ref: '#/components/schemas/AWSIntegrationUpdate' - - $ref: '#/components/schemas/AnthropicIntegrationUpdate' - - $ref: '#/components/schemas/AsanaIntegrationUpdate' - - $ref: '#/components/schemas/AzureIntegrationUpdate' - - $ref: '#/components/schemas/CircleCIIntegrationUpdate' - - $ref: '#/components/schemas/ClickupIntegrationUpdate' - - $ref: '#/components/schemas/CloudflareIntegrationUpdate' - - $ref: '#/components/schemas/ConfigCatIntegrationUpdate' - - $ref: '#/components/schemas/DatadogIntegrationUpdate' - - $ref: '#/components/schemas/FastlyIntegrationUpdate' - - $ref: '#/components/schemas/FreshserviceIntegrationUpdate' - - $ref: '#/components/schemas/GCPIntegrationUpdate' - - $ref: '#/components/schemas/GeminiIntegrationUpdate' - - $ref: '#/components/schemas/GitlabIntegrationUpdate' - - $ref: '#/components/schemas/GreyNoiseIntegrationUpdate' - - $ref: '#/components/schemas/HTTPIntegrationUpdate' - - $ref: '#/components/schemas/LaunchDarklyIntegrationUpdate' - - $ref: '#/components/schemas/NotionIntegrationUpdate' - - $ref: '#/components/schemas/OktaIntegrationUpdate' - - $ref: '#/components/schemas/OpenAIIntegrationUpdate' - - $ref: '#/components/schemas/ServiceNowIntegrationUpdate' - - $ref: '#/components/schemas/SplitIntegrationUpdate' - - $ref: '#/components/schemas/StatsigIntegrationUpdate' - - $ref: '#/components/schemas/VirusTotalIntegrationUpdate' + properties: + credentials: + $ref: '#/components/schemas/AWSCredentialsUpdate' + type: + $ref: '#/components/schemas/AWSIntegrationType' + base_url: + description: Base HTTP url for the integration + example: http://datadoghq.com + type: string + required: + - type + type: object + ExecutionPolicyActionPattern: + description: The set of actions this policy applies to. + properties: + action_fqns: + description: |- + The fully qualified action names this policy matches. Use `*` to match all actions + of the integration, or a fully qualified name prefixed with the integration's action + namespace (for example `com.datadoghq.script.*` for the Script integration). + example: + - com.datadoghq.script.* + items: + type: string + type: array + integration: + $ref: '#/components/schemas/ExecutionPolicyIntegration' + required: + - integration + - action_fqns + type: object + ExecutionPolicyScope: + description: |- + Restricts where the policy applies. At most one of `kubernetes`, `scripts`, + or `remote_action_rshell` can be set. An empty object means the policy has + no scope restriction. + properties: + kubernetes: + $ref: '#/components/schemas/ExecutionPolicyKubernetesScope' + remote_action_rshell: + $ref: '#/components/schemas/ExecutionPolicyRemoteActionRshellScope' + scripts: + $ref: '#/components/schemas/ExecutionPolicyScriptScope' + type: object + ExecutionPolicyTarget: + description: A target this policy is scoped to, expressed as a set of Agent tags. + properties: + agent_tags: + description: The Agent tags identifying the target. + example: + - env:prod + items: + type: string + type: array + name: + description: A human-readable name for the target. + example: Production hosts + nullable: true + type: string + required: + - agent_tags + type: object AWSIntegration: description: The definition of `AWSIntegration` object. properties: @@ -2061,10 +2950,68 @@ components: required: - type type: object + ExecutionPolicyKubernetesScope: + description: Restricts the policy to specific Kubernetes namespaces. + properties: + rules: + description: The Kubernetes scope rules. + items: + $ref: '#/components/schemas/ExecutionPolicyKubernetesScopeRule' + type: array + required: + - rules + type: object + ExecutionPolicyRemoteActionRshellScope: + description: Restricts the policy to specific remote shell paths. + properties: + rules: + description: The remote shell scope rules. + items: + $ref: '#/components/schemas/ExecutionPolicyRemoteActionRshellScopeRule' + type: array + required: + - rules + type: object + ExecutionPolicyScriptScope: + description: Restricts the policy to specific scripts. + properties: + rules: + description: The script scope rules. + items: + $ref: '#/components/schemas/ExecutionPolicyScriptScopeRule' + type: array + required: + - rules + type: object AWSCredentials: description: The definition of `AWSCredentials` object. - oneOf: - - $ref: '#/components/schemas/AWSAssumeRole' + properties: + account_id: + description: AWS account the connection is created for + example: '111222333444' + pattern: ^\d{12}$ + type: string + external_id: + description: External ID used to scope which connection can be used to assume the role + example: 33a1011635c44b38a064cf14e82e1d8f + readOnly: true + type: string + principal_id: + description: AWS account that will assume the role + example: '123456789012' + readOnly: true + type: string + role: + description: Role to assume + example: my-role + type: string + type: + $ref: '#/components/schemas/AWSAssumeRoleType' + required: + - type + - account_id + - role + type: object AWSIntegrationType: description: The definition of `AWSIntegrationType` object. enum: @@ -2075,8 +3022,17 @@ components: - AWS AnthropicCredentials: description: The definition of the `AnthropicCredentials` object. - oneOf: - - $ref: '#/components/schemas/AnthropicAPIKey' + properties: + api_token: + description: The `AnthropicAPIKey` `api_token`. + example: '' + type: string + type: + $ref: '#/components/schemas/AnthropicAPIKeyType' + required: + - type + - api_token + type: object AnthropicIntegrationType: description: The definition of the `AnthropicIntegrationType` object. enum: @@ -2087,8 +3043,17 @@ components: - ANTHROPIC AsanaCredentials: description: The definition of the `AsanaCredentials` object. - oneOf: - - $ref: '#/components/schemas/AsanaAccessToken' + properties: + access_token: + description: The `AsanaAccessToken` `access_token`. + example: '' + type: string + type: + $ref: '#/components/schemas/AsanaAccessTokenType' + required: + - type + - access_token + type: object AsanaIntegrationType: description: The definition of the `AsanaIntegrationType` object. enum: @@ -2099,8 +3064,30 @@ components: - ASANA AzureCredentials: description: The definition of the `AzureCredentials` object. - oneOf: - - $ref: '#/components/schemas/AzureTenant' + properties: + app_client_id: + description: The Client ID, also known as the Application ID in Azure, is a unique identifier for an application. It's used to identify the application during the authentication process. Your Application (client) ID is listed in the application's overview page. You can navigate to your application via the Azure Directory. + example: '' + type: string + client_secret: + description: The Client Secret is a confidential piece of information known only to the application and Azure AD. It's used to prove the application's identity. Your Client Secret is available from the application’s secrets page. You can navigate to your application via the Azure Directory. + example: '' + type: string + custom_scopes: + description: If provided, the custom scope to be requested from Microsoft when acquiring an OAuth 2 access token. This custom scope is used only in conjunction with the HTTP action. A resource's scope is constructed by using the identifier URI for the resource and .default, separated by a forward slash (/) as follows:{identifierURI}/.default. + type: string + tenant_id: + description: The Tenant ID, also known as the Directory ID in Azure, is a unique identifier that represents an Azure AD instance. Your Tenant ID (Directory ID) is listed in your Active Directory overview page under the 'Tenant information' section. + example: '' + type: string + type: + $ref: '#/components/schemas/AzureTenantType' + required: + - type + - tenant_id + - app_client_id + - client_secret + type: object AzureIntegrationType: description: The definition of the `AzureIntegrationType` object. enum: @@ -2111,20 +3098,38 @@ components: - AZURE CircleCICredentials: description: The definition of the `CircleCICredentials` object. - oneOf: - - $ref: '#/components/schemas/CircleCIAPIKey' - CircleCIIntegrationType: - description: The definition of the `CircleCIIntegrationType` object. - enum: - - CircleCI - example: CircleCI - type: string - x-enum-varnames: + properties: + api_token: + description: The `CircleCIAPIKey` `api_token`. + example: '' + type: string + type: + $ref: '#/components/schemas/CircleCIAPIKeyType' + required: + - type + - api_token + type: object + CircleCIIntegrationType: + description: The definition of the `CircleCIIntegrationType` object. + enum: + - CircleCI + example: CircleCI + type: string + x-enum-varnames: - CIRCLECI ClickupCredentials: description: The definition of the `ClickupCredentials` object. - oneOf: - - $ref: '#/components/schemas/ClickupAPIKey' + properties: + api_token: + description: The `ClickupAPIKey` `api_token`. + example: '' + type: string + type: + $ref: '#/components/schemas/ClickupAPIKeyType' + required: + - type + - api_token + type: object ClickupIntegrationType: description: The definition of the `ClickupIntegrationType` object. enum: @@ -2135,9 +3140,27 @@ components: - CLICKUP CloudflareCredentials: description: The definition of the `CloudflareCredentials` object. - oneOf: - - $ref: '#/components/schemas/CloudflareAPIToken' - - $ref: '#/components/schemas/CloudflareGlobalAPIToken' + properties: + api_token: + description: The `CloudflareAPIToken` `api_token`. + example: '' + type: string + type: + $ref: '#/components/schemas/CloudflareAPITokenType' + auth_email: + description: The `CloudflareGlobalAPIToken` `auth_email`. + example: '' + type: string + global_api_key: + description: The `CloudflareGlobalAPIToken` `global_api_key`. + example: '' + type: string + required: + - type + - api_token + - auth_email + - global_api_key + type: object CloudflareIntegrationType: description: The definition of the `CloudflareIntegrationType` object. enum: @@ -2148,8 +3171,27 @@ components: - CLOUDFLARE ConfigCatCredentials: description: The definition of the `ConfigCatCredentials` object. - oneOf: - - $ref: '#/components/schemas/ConfigCatSDKKey' + properties: + api_password: + description: The `ConfigCatSDKKey` `api_password`. + example: '' + type: string + api_username: + description: The `ConfigCatSDKKey` `api_username`. + example: '' + type: string + sdk_key: + description: The `ConfigCatSDKKey` `sdk_key`. + example: '' + type: string + type: + $ref: '#/components/schemas/ConfigCatSDKKeyType' + required: + - type + - sdk_key + - api_username + - api_password + type: object ConfigCatIntegrationType: description: The definition of the `ConfigCatIntegrationType` object. enum: @@ -2160,8 +3202,30 @@ components: - CONFIGCAT DatadogCredentials: description: The definition of the `DatadogCredentials` object. - oneOf: - - $ref: '#/components/schemas/DatadogAPIKey' + properties: + api_key: + description: The `DatadogAPIKey` `api_key`. + example: '' + type: string + app_key: + description: The `DatadogAPIKey` `app_key`. + example: '' + type: string + datacenter: + description: The `DatadogAPIKey` `datacenter`. + example: '' + type: string + subdomain: + description: Custom subdomain used for Datadog URLs generated with this Connection. For example, if this org uses `https://acme.datadoghq.com` to access Datadog, set this field to `acme`. If this field is omitted, generated URLs will use the default site URL for its datacenter (see [https://docs.datadoghq.com/getting_started/site](https://docs.datadoghq.com/getting_started/site)). + type: string + type: + $ref: '#/components/schemas/DatadogAPIKeyType' + required: + - type + - datacenter + - api_key + - app_key + type: object DatadogIntegrationType: description: The definition of the `DatadogIntegrationType` object. enum: @@ -2172,8 +3236,17 @@ components: - DATADOG FastlyCredentials: description: The definition of the `FastlyCredentials` object. - oneOf: - - $ref: '#/components/schemas/FastlyAPIKey' + properties: + api_key: + description: The `FastlyAPIKey` `api_key`. + example: '' + type: string + type: + $ref: '#/components/schemas/FastlyAPIKeyType' + required: + - type + - api_key + type: object FastlyIntegrationType: description: The definition of the `FastlyIntegrationType` object. enum: @@ -2184,8 +3257,22 @@ components: - FASTLY FreshserviceCredentials: description: The definition of the `FreshserviceCredentials` object. - oneOf: - - $ref: '#/components/schemas/FreshserviceAPIKey' + properties: + api_key: + description: The `FreshserviceAPIKey` `api_key`. + example: '' + type: string + domain: + description: The `FreshserviceAPIKey` `domain`. + example: '' + type: string + type: + $ref: '#/components/schemas/FreshserviceAPIKeyType' + required: + - type + - domain + - api_key + type: object FreshserviceIntegrationType: description: The definition of the `FreshserviceIntegrationType` object. enum: @@ -2196,8 +3283,22 @@ components: - FRESHSERVICE GCPCredentials: description: The definition of the `GCPCredentials` object. - oneOf: - - $ref: '#/components/schemas/GCPServiceAccount' + properties: + private_key: + description: The `GCPServiceAccount` `private_key`. + example: '' + type: string + service_account_email: + description: The `GCPServiceAccount` `service_account_email`. + example: '' + type: string + type: + $ref: '#/components/schemas/GCPServiceAccountCredentialType' + required: + - type + - service_account_email + - private_key + type: object GCPIntegrationType: description: The definition of the `GCPIntegrationType` object. enum: @@ -2208,8 +3309,17 @@ components: - GCP GeminiCredentials: description: The definition of the `GeminiCredentials` object. - oneOf: - - $ref: '#/components/schemas/GeminiAPIKey' + properties: + api_key: + description: The `GeminiAPIKey` `api_key`. + example: '' + type: string + type: + $ref: '#/components/schemas/GeminiAPIKeyType' + required: + - type + - api_key + type: object GeminiIntegrationType: description: The definition of the `GeminiIntegrationType` object. enum: @@ -2220,8 +3330,17 @@ components: - GEMINI GitlabCredentials: description: The definition of the `GitlabCredentials` object. - oneOf: - - $ref: '#/components/schemas/GitlabAPIKey' + properties: + api_token: + description: The `GitlabAPIKey` `api_token`. + example: '' + type: string + type: + $ref: '#/components/schemas/GitlabAPIKeyType' + required: + - type + - api_token + type: object GitlabIntegrationType: description: The definition of the `GitlabIntegrationType` object. enum: @@ -2232,8 +3351,17 @@ components: - GITLAB GreyNoiseCredentials: description: The definition of the `GreyNoiseCredentials` object. - oneOf: - - $ref: '#/components/schemas/GreyNoiseAPIKey' + properties: + api_key: + description: The `GreyNoiseAPIKey` `api_key`. + example: '' + type: string + type: + $ref: '#/components/schemas/GreyNoiseAPIKeyType' + required: + - type + - api_key + type: object GreyNoiseIntegrationType: description: The definition of the `GreyNoiseIntegrationType` object. enum: @@ -2244,8 +3372,29 @@ components: - GREYNOISE HTTPCredentials: description: The definition of `HTTPCredentials` object. - oneOf: - - $ref: '#/components/schemas/HTTPTokenAuth' + properties: + body: + $ref: '#/components/schemas/HTTPBody' + headers: + description: The `HTTPTokenAuth` `headers`. + items: + $ref: '#/components/schemas/HTTPHeader' + type: array + tokens: + description: The `HTTPTokenAuth` `tokens`. + items: + $ref: '#/components/schemas/HTTPToken' + type: array + type: + $ref: '#/components/schemas/HTTPTokenAuthType' + url_parameters: + description: The `HTTPTokenAuth` `url_parameters`. + items: + $ref: '#/components/schemas/UrlParam' + type: array + required: + - type + type: object HTTPIntegrationType: description: The definition of `HTTPIntegrationType` object. enum: @@ -2256,8 +3405,17 @@ components: - HTTP LaunchDarklyCredentials: description: The definition of the `LaunchDarklyCredentials` object. - oneOf: - - $ref: '#/components/schemas/LaunchDarklyAPIKey' + properties: + api_token: + description: The `LaunchDarklyAPIKey` `api_token`. + example: '' + type: string + type: + $ref: '#/components/schemas/LaunchDarklyAPIKeyType' + required: + - type + - api_token + type: object LaunchDarklyIntegrationType: description: The definition of the `LaunchDarklyIntegrationType` object. enum: @@ -2268,8 +3426,17 @@ components: - LAUNCHDARKLY NotionCredentials: description: The definition of the `NotionCredentials` object. - oneOf: - - $ref: '#/components/schemas/NotionAPIKey' + properties: + api_token: + description: The `NotionAPIKey` `api_token`. + example: '' + type: string + type: + $ref: '#/components/schemas/NotionAPIKeyType' + required: + - type + - api_token + type: object NotionIntegrationType: description: The definition of the `NotionIntegrationType` object. enum: @@ -2280,8 +3447,22 @@ components: - NOTION OktaCredentials: description: The definition of the `OktaCredentials` object. - oneOf: - - $ref: '#/components/schemas/OktaAPIToken' + properties: + api_token: + description: The `OktaAPIToken` `api_token`. + example: '' + type: string + domain: + description: The `OktaAPIToken` `domain`. + example: '' + type: string + type: + $ref: '#/components/schemas/OktaAPITokenType' + required: + - type + - domain + - api_token + type: object OktaIntegrationType: description: The definition of the `OktaIntegrationType` object. enum: @@ -2292,8 +3473,17 @@ components: - OKTA OpenAICredentials: description: The definition of the `OpenAICredentials` object. - oneOf: - - $ref: '#/components/schemas/OpenAIAPIKey' + properties: + api_token: + description: The `OpenAIAPIKey` `api_token`. + example: '' + type: string + type: + $ref: '#/components/schemas/OpenAIAPIKeyType' + required: + - type + - api_token + type: object OpenAIIntegrationType: description: The definition of the `OpenAIIntegrationType` object. enum: @@ -2304,8 +3494,27 @@ components: - OPENAI ServiceNowCredentials: description: The definition of the `ServiceNowCredentials` object. - oneOf: - - $ref: '#/components/schemas/ServiceNowBasicAuth' + properties: + instance: + description: The `ServiceNowBasicAuth` `instance`. + example: '' + type: string + password: + description: The `ServiceNowBasicAuth` `password`. + example: '' + type: string + type: + $ref: '#/components/schemas/ServiceNowBasicAuthType' + username: + description: The `ServiceNowBasicAuth` `username`. + example: '' + type: string + required: + - type + - instance + - username + - password + type: object ServiceNowIntegrationType: description: The definition of the `ServiceNowIntegrationType` object. enum: @@ -2316,8 +3525,17 @@ components: - SERVICENOW SplitCredentials: description: The definition of the `SplitCredentials` object. - oneOf: - - $ref: '#/components/schemas/SplitAPIKey' + properties: + api_key: + description: The `SplitAPIKey` `api_key`. + example: '' + type: string + type: + $ref: '#/components/schemas/SplitAPIKeyType' + required: + - type + - api_key + type: object SplitIntegrationType: description: The definition of the `SplitIntegrationType` object. enum: @@ -2328,8 +3546,17 @@ components: - SPLIT StatsigCredentials: description: The definition of the `StatsigCredentials` object. - oneOf: - - $ref: '#/components/schemas/StatsigAPIKey' + properties: + api_key: + description: The `StatsigAPIKey` `api_key`. + example: '' + type: string + type: + $ref: '#/components/schemas/StatsigAPIKeyType' + required: + - type + - api_key + type: object StatsigIntegrationType: description: The definition of the `StatsigIntegrationType` object. enum: @@ -2340,8 +3567,17 @@ components: - STATSIG VirusTotalCredentials: description: The definition of the `VirusTotalCredentials` object. - oneOf: - - $ref: '#/components/schemas/VirusTotalAPIKey' + properties: + api_key: + description: The `VirusTotalAPIKey` `api_key`. + example: '' + type: string + type: + $ref: '#/components/schemas/VirusTotalAPIKeyType' + required: + - type + - api_key + type: object VirusTotalIntegrationType: description: The definition of the `VirusTotalIntegrationType` object. enum: @@ -2352,101 +3588,378 @@ components: - VIRUSTOTAL AWSCredentialsUpdate: description: The definition of `AWSCredentialsUpdate` object. - oneOf: - - $ref: '#/components/schemas/AWSAssumeRoleUpdate' + properties: + account_id: + description: AWS account the connection is created for + example: '111222333444' + pattern: ^\d{12}$ + type: string + generate_new_external_id: + description: The `AWSAssumeRoleUpdate` `generate_new_external_id`. + type: boolean + role: + description: Role to assume + example: my-role + type: string + type: + $ref: '#/components/schemas/AWSAssumeRoleType' + required: + - type + type: object AnthropicCredentialsUpdate: description: The definition of the `AnthropicCredentialsUpdate` object. - oneOf: - - $ref: '#/components/schemas/AnthropicAPIKeyUpdate' + properties: + api_token: + description: The `AnthropicAPIKeyUpdate` `api_token`. + type: string + type: + $ref: '#/components/schemas/AnthropicAPIKeyType' + required: + - type + type: object AsanaCredentialsUpdate: description: The definition of the `AsanaCredentialsUpdate` object. - oneOf: - - $ref: '#/components/schemas/AsanaAccessTokenUpdate' + properties: + access_token: + description: The `AsanaAccessTokenUpdate` `access_token`. + type: string + type: + $ref: '#/components/schemas/AsanaAccessTokenType' + required: + - type + type: object AzureCredentialsUpdate: description: The definition of the `AzureCredentialsUpdate` object. - oneOf: - - $ref: '#/components/schemas/AzureTenantUpdate' + properties: + app_client_id: + description: The Client ID, also known as the Application ID in Azure, is a unique identifier for an application. It's used to identify the application during the authentication process. Your Application (client) ID is listed in the application's overview page. You can navigate to your application via the Azure Directory. + type: string + client_secret: + description: The Client Secret is a confidential piece of information known only to the application and Azure AD. It's used to prove the application's identity. Your Client Secret is available from the application’s secrets page. You can navigate to your application via the Azure Directory. + type: string + custom_scopes: + description: If provided, the custom scope to be requested from Microsoft when acquiring an OAuth 2 access token. This custom scope is used only in conjunction with the HTTP action. A resource's scope is constructed by using the identifier URI for the resource and .default, separated by a forward slash (/) as follows:{identifierURI}/.default. + type: string + tenant_id: + description: The Tenant ID, also known as the Directory ID in Azure, is a unique identifier that represents an Azure AD instance. Your Tenant ID (Directory ID) is listed in your Active Directory overview page under the 'Tenant information' section. + type: string + type: + $ref: '#/components/schemas/AzureTenantType' + required: + - type + type: object CircleCICredentialsUpdate: description: The definition of the `CircleCICredentialsUpdate` object. - oneOf: - - $ref: '#/components/schemas/CircleCIAPIKeyUpdate' + properties: + api_token: + description: The `CircleCIAPIKeyUpdate` `api_token`. + type: string + type: + $ref: '#/components/schemas/CircleCIAPIKeyType' + required: + - type + type: object ClickupCredentialsUpdate: description: The definition of the `ClickupCredentialsUpdate` object. - oneOf: - - $ref: '#/components/schemas/ClickupAPIKeyUpdate' + properties: + api_token: + description: The `ClickupAPIKeyUpdate` `api_token`. + type: string + type: + $ref: '#/components/schemas/ClickupAPIKeyType' + required: + - type + type: object CloudflareCredentialsUpdate: description: The definition of the `CloudflareCredentialsUpdate` object. - oneOf: - - $ref: '#/components/schemas/CloudflareAPITokenUpdate' - - $ref: '#/components/schemas/CloudflareGlobalAPITokenUpdate' + properties: + api_token: + description: The `CloudflareAPITokenUpdate` `api_token`. + type: string + type: + $ref: '#/components/schemas/CloudflareAPITokenType' + auth_email: + description: The `CloudflareGlobalAPITokenUpdate` `auth_email`. + type: string + global_api_key: + description: The `CloudflareGlobalAPITokenUpdate` `global_api_key`. + type: string + required: + - type + type: object ConfigCatCredentialsUpdate: description: The definition of the `ConfigCatCredentialsUpdate` object. - oneOf: - - $ref: '#/components/schemas/ConfigCatSDKKeyUpdate' + properties: + api_password: + description: The `ConfigCatSDKKeyUpdate` `api_password`. + type: string + api_username: + description: The `ConfigCatSDKKeyUpdate` `api_username`. + type: string + sdk_key: + description: The `ConfigCatSDKKeyUpdate` `sdk_key`. + type: string + type: + $ref: '#/components/schemas/ConfigCatSDKKeyType' + required: + - type + type: object DatadogCredentialsUpdate: description: The definition of the `DatadogCredentialsUpdate` object. - oneOf: - - $ref: '#/components/schemas/DatadogAPIKeyUpdate' + properties: + api_key: + description: The `DatadogAPIKeyUpdate` `api_key`. + type: string + app_key: + description: The `DatadogAPIKeyUpdate` `app_key`. + type: string + datacenter: + description: The `DatadogAPIKeyUpdate` `datacenter`. + type: string + subdomain: + description: Custom subdomain used for Datadog URLs generated with this Connection. For example, if this org uses `https://acme.datadoghq.com` to access Datadog, set this field to `acme`. If this field is omitted, generated URLs will use the default site URL for its datacenter (see [https://docs.datadoghq.com/getting_started/site](https://docs.datadoghq.com/getting_started/site)). + type: string + type: + $ref: '#/components/schemas/DatadogAPIKeyType' + required: + - type + type: object FastlyCredentialsUpdate: description: The definition of the `FastlyCredentialsUpdate` object. - oneOf: - - $ref: '#/components/schemas/FastlyAPIKeyUpdate' + properties: + api_key: + description: The `FastlyAPIKeyUpdate` `api_key`. + type: string + type: + $ref: '#/components/schemas/FastlyAPIKeyType' + required: + - type + type: object FreshserviceCredentialsUpdate: description: The definition of the `FreshserviceCredentialsUpdate` object. - oneOf: - - $ref: '#/components/schemas/FreshserviceAPIKeyUpdate' + properties: + api_key: + description: The `FreshserviceAPIKeyUpdate` `api_key`. + type: string + domain: + description: The `FreshserviceAPIKeyUpdate` `domain`. + type: string + type: + $ref: '#/components/schemas/FreshserviceAPIKeyType' + required: + - type + type: object GCPCredentialsUpdate: description: The definition of the `GCPCredentialsUpdate` object. - oneOf: - - $ref: '#/components/schemas/GCPServiceAccountUpdate' + properties: + private_key: + description: The `GCPServiceAccountUpdate` `private_key`. + type: string + service_account_email: + description: The `GCPServiceAccountUpdate` `service_account_email`. + type: string + type: + $ref: '#/components/schemas/GCPServiceAccountCredentialType' + required: + - type + type: object GeminiCredentialsUpdate: description: The definition of the `GeminiCredentialsUpdate` object. - oneOf: - - $ref: '#/components/schemas/GeminiAPIKeyUpdate' + properties: + api_key: + description: The `GeminiAPIKeyUpdate` `api_key`. + type: string + type: + $ref: '#/components/schemas/GeminiAPIKeyType' + required: + - type + type: object GitlabCredentialsUpdate: description: The definition of the `GitlabCredentialsUpdate` object. - oneOf: - - $ref: '#/components/schemas/GitlabAPIKeyUpdate' + properties: + api_token: + description: The `GitlabAPIKeyUpdate` `api_token`. + type: string + type: + $ref: '#/components/schemas/GitlabAPIKeyType' + required: + - type + type: object GreyNoiseCredentialsUpdate: description: The definition of the `GreyNoiseCredentialsUpdate` object. - oneOf: - - $ref: '#/components/schemas/GreyNoiseAPIKeyUpdate' + properties: + api_key: + description: The `GreyNoiseAPIKeyUpdate` `api_key`. + type: string + type: + $ref: '#/components/schemas/GreyNoiseAPIKeyType' + required: + - type + type: object HTTPCredentialsUpdate: description: The definition of `HTTPCredentialsUpdate` object. - oneOf: - - $ref: '#/components/schemas/HTTPTokenAuthUpdate' + properties: + body: + $ref: '#/components/schemas/HTTPBody' + headers: + description: The `HTTPTokenAuthUpdate` `headers`. + items: + $ref: '#/components/schemas/HTTPHeaderUpdate' + type: array + tokens: + description: The `HTTPTokenAuthUpdate` `tokens`. + items: + $ref: '#/components/schemas/HTTPTokenUpdate' + type: array + type: + $ref: '#/components/schemas/HTTPTokenAuthType' + url_parameters: + description: The `HTTPTokenAuthUpdate` `url_parameters`. + items: + $ref: '#/components/schemas/UrlParamUpdate' + type: array + required: + - type + type: object LaunchDarklyCredentialsUpdate: description: The definition of the `LaunchDarklyCredentialsUpdate` object. - oneOf: - - $ref: '#/components/schemas/LaunchDarklyAPIKeyUpdate' + properties: + api_token: + description: The `LaunchDarklyAPIKeyUpdate` `api_token`. + type: string + type: + $ref: '#/components/schemas/LaunchDarklyAPIKeyType' + required: + - type + type: object NotionCredentialsUpdate: description: The definition of the `NotionCredentialsUpdate` object. - oneOf: - - $ref: '#/components/schemas/NotionAPIKeyUpdate' + properties: + api_token: + description: The `NotionAPIKeyUpdate` `api_token`. + type: string + type: + $ref: '#/components/schemas/NotionAPIKeyType' + required: + - type + type: object OktaCredentialsUpdate: description: The definition of the `OktaCredentialsUpdate` object. - oneOf: - - $ref: '#/components/schemas/OktaAPITokenUpdate' + properties: + api_token: + description: The `OktaAPITokenUpdate` `api_token`. + type: string + domain: + description: The `OktaAPITokenUpdate` `domain`. + type: string + type: + $ref: '#/components/schemas/OktaAPITokenType' + required: + - type + type: object OpenAICredentialsUpdate: description: The definition of the `OpenAICredentialsUpdate` object. - oneOf: - - $ref: '#/components/schemas/OpenAIAPIKeyUpdate' + properties: + api_token: + description: The `OpenAIAPIKeyUpdate` `api_token`. + type: string + type: + $ref: '#/components/schemas/OpenAIAPIKeyType' + required: + - type + type: object ServiceNowCredentialsUpdate: description: The definition of the `ServiceNowCredentialsUpdate` object. - oneOf: - - $ref: '#/components/schemas/ServiceNowBasicAuthUpdate' + properties: + instance: + description: The `ServiceNowBasicAuthUpdate` `instance`. + type: string + password: + description: The `ServiceNowBasicAuthUpdate` `password`. + type: string + type: + $ref: '#/components/schemas/ServiceNowBasicAuthType' + username: + description: The `ServiceNowBasicAuthUpdate` `username`. + type: string + required: + - type + type: object SplitCredentialsUpdate: description: The definition of the `SplitCredentialsUpdate` object. - oneOf: - - $ref: '#/components/schemas/SplitAPIKeyUpdate' + properties: + api_key: + description: The `SplitAPIKeyUpdate` `api_key`. + type: string + type: + $ref: '#/components/schemas/SplitAPIKeyType' + required: + - type + type: object StatsigCredentialsUpdate: description: The definition of the `StatsigCredentialsUpdate` object. - oneOf: - - $ref: '#/components/schemas/StatsigAPIKeyUpdate' + properties: + api_key: + description: The `StatsigAPIKeyUpdate` `api_key`. + type: string + type: + $ref: '#/components/schemas/StatsigAPIKeyType' + required: + - type + type: object VirusTotalCredentialsUpdate: description: The definition of the `VirusTotalCredentialsUpdate` object. - oneOf: - - $ref: '#/components/schemas/VirusTotalAPIKeyUpdate' + properties: + api_key: + description: The `VirusTotalAPIKeyUpdate` `api_key`. + type: string + type: + $ref: '#/components/schemas/VirusTotalAPIKeyType' + required: + - type + type: object + ExecutionPolicyKubernetesScopeRule: + description: A rule restricting a Kubernetes scope to specific namespaces. + properties: + target_namespaces: + description: The Kubernetes namespaces this rule applies to. + example: + - default + items: + type: string + type: array + required: + - target_namespaces + type: object + ExecutionPolicyRemoteActionRshellScopeRule: + description: A rule restricting remote shell access to specific paths. + properties: + access: + $ref: '#/components/schemas/ExecutionPolicyRemoteActionRshellAccess' + target_paths: + description: The file system paths this rule applies to. + example: + - /var/log + items: + type: string + type: array + required: + - target_paths + - access + type: object + ExecutionPolicyScriptScopeRule: + description: A rule restricting a script scope to specific script names. + properties: + target_script_names: + description: The script names this rule applies to. + example: + - restart_service.sh + items: + type: string + type: array + required: + - target_script_names + type: object AWSAssumeRole: description: The definition of `AWSAssumeRole` object. properties: @@ -2456,9 +3969,7 @@ components: pattern: ^\d{12}$ type: string external_id: - description: >- - External ID used to scope which connection can be used to assume the - role + description: External ID used to scope which connection can be used to assume the role example: 33a1011635c44b38a064cf14e82e1d8f readOnly: true type: string @@ -2508,37 +4019,18 @@ components: description: The definition of the `AzureTenant` object. properties: app_client_id: - description: >- - The Client ID, also known as the Application ID in Azure, is a - unique identifier for an application. It's used to identify the - application during the authentication process. Your Application - (client) ID is listed in the application's overview page. You can - navigate to your application via the Azure Directory. + description: The Client ID, also known as the Application ID in Azure, is a unique identifier for an application. It's used to identify the application during the authentication process. Your Application (client) ID is listed in the application's overview page. You can navigate to your application via the Azure Directory. example: '' type: string client_secret: - description: >- - The Client Secret is a confidential piece of information known only - to the application and Azure AD. It's used to prove the - application's identity. Your Client Secret is available from the - application’s secrets page. You can navigate to your application via - the Azure Directory. + description: The Client Secret is a confidential piece of information known only to the application and Azure AD. It's used to prove the application's identity. Your Client Secret is available from the application’s secrets page. You can navigate to your application via the Azure Directory. example: '' type: string custom_scopes: - description: >- - If provided, the custom scope to be requested from Microsoft when - acquiring an OAuth 2 access token. This custom scope is used only in - conjunction with the HTTP action. A resource's scope is constructed - by using the identifier URI for the resource and .default, separated - by a forward slash (/) as follows:{identifierURI}/.default. + description: If provided, the custom scope to be requested from Microsoft when acquiring an OAuth 2 access token. This custom scope is used only in conjunction with the HTTP action. A resource's scope is constructed by using the identifier URI for the resource and .default, separated by a forward slash (/) as follows:{identifierURI}/.default. type: string tenant_id: - description: >- - The Tenant ID, also known as the Directory ID in Azure, is a unique - identifier that represents an Azure AD instance. Your Tenant ID - (Directory ID) is listed in your Active Directory overview page - under the 'Tenant information' section. + description: The Tenant ID, also known as the Directory ID in Azure, is a unique identifier that represents an Azure AD instance. Your Tenant ID (Directory ID) is listed in your Active Directory overview page under the 'Tenant information' section. example: '' type: string type: @@ -2645,13 +4137,7 @@ components: example: '' type: string subdomain: - description: >- - Custom subdomain used for Datadog URLs generated with this - Connection. For example, if this org uses - `https://acme.datadoghq.com` to access Datadog, set this field to - `acme`. If this field is omitted, generated URLs will use the - default site URL for its datacenter (see - [https://docs.datadoghq.com/getting_started/site](https://docs.datadoghq.com/getting_started/site)). + description: Custom subdomain used for Datadog URLs generated with this Connection. For example, if this org uses `https://acme.datadoghq.com` to access Datadog, set this field to `acme`. If this field is omitted, generated URLs will use the default site URL for its datacenter (see [https://docs.datadoghq.com/getting_started/site](https://docs.datadoghq.com/getting_started/site)). type: string type: $ref: '#/components/schemas/DatadogAPIKeyType' @@ -2939,35 +4425,16 @@ components: description: The definition of the `AzureTenant` object. properties: app_client_id: - description: >- - The Client ID, also known as the Application ID in Azure, is a - unique identifier for an application. It's used to identify the - application during the authentication process. Your Application - (client) ID is listed in the application's overview page. You can - navigate to your application via the Azure Directory. + description: The Client ID, also known as the Application ID in Azure, is a unique identifier for an application. It's used to identify the application during the authentication process. Your Application (client) ID is listed in the application's overview page. You can navigate to your application via the Azure Directory. type: string client_secret: - description: >- - The Client Secret is a confidential piece of information known only - to the application and Azure AD. It's used to prove the - application's identity. Your Client Secret is available from the - application’s secrets page. You can navigate to your application via - the Azure Directory. + description: The Client Secret is a confidential piece of information known only to the application and Azure AD. It's used to prove the application's identity. Your Client Secret is available from the application’s secrets page. You can navigate to your application via the Azure Directory. type: string custom_scopes: - description: >- - If provided, the custom scope to be requested from Microsoft when - acquiring an OAuth 2 access token. This custom scope is used only in - conjunction with the HTTP action. A resource's scope is constructed - by using the identifier URI for the resource and .default, separated - by a forward slash (/) as follows:{identifierURI}/.default. + description: If provided, the custom scope to be requested from Microsoft when acquiring an OAuth 2 access token. This custom scope is used only in conjunction with the HTTP action. A resource's scope is constructed by using the identifier URI for the resource and .default, separated by a forward slash (/) as follows:{identifierURI}/.default. type: string tenant_id: - description: >- - The Tenant ID, also known as the Directory ID in Azure, is a unique - identifier that represents an Azure AD instance. Your Tenant ID - (Directory ID) is listed in your Active Directory overview page - under the 'Tenant information' section. + description: The Tenant ID, also known as the Directory ID in Azure, is a unique identifier that represents an Azure AD instance. Your Tenant ID (Directory ID) is listed in your Active Directory overview page under the 'Tenant information' section. type: string type: $ref: '#/components/schemas/AzureTenantType' @@ -3051,13 +4518,7 @@ components: description: The `DatadogAPIKeyUpdate` `datacenter`. type: string subdomain: - description: >- - Custom subdomain used for Datadog URLs generated with this - Connection. For example, if this org uses - `https://acme.datadoghq.com` to access Datadog, set this field to - `acme`. If this field is omitted, generated URLs will use the - default site URL for its datacenter (see - [https://docs.datadoghq.com/getting_started/site](https://docs.datadoghq.com/getting_started/site)). + description: Custom subdomain used for Datadog URLs generated with this Connection. For example, if this org uses `https://acme.datadoghq.com` to access Datadog, set this field to `acme`. If this field is omitted, generated URLs will use the default site URL for its datacenter (see [https://docs.datadoghq.com/getting_started/site](https://docs.datadoghq.com/getting_started/site)). type: string type: $ref: '#/components/schemas/DatadogAPIKeyType' @@ -3258,6 +4719,16 @@ components: required: - type type: object + ExecutionPolicyRemoteActionRshellAccess: + description: The level of remote shell access granted for the target paths. + enum: + - read_only + - read_write + example: read_only + type: string + x-enum-varnames: + - READ_ONLY + - READ_WRITE AWSAssumeRoleType: description: The definition of `AWSAssumeRoleType` object. enum: @@ -3610,6 +5081,14 @@ components: required: true schema: type: string + ExecutionPolicyId: + description: The ID of the execution policy. + example: 3fa85f64-5717-4562-b3fc-2c963f66afa6 + in: path + name: policy_id + required: true + schema: + type: string x-stackQL-resources: datastores: id: datadog.actions.datastores @@ -3623,18 +5102,27 @@ components: mediaType: application/json openAPIDocKey: '200' objectKey: $.data + request: + nativeCasing: camel create_datastore: + config: + requestBodyTranslate: + algorithm: naive operation: $ref: '#/paths/~1api~1v2~1actions-datastores/post' response: mediaType: application/json openAPIDocKey: '200' + request: + nativeCasing: camel delete_datastore: operation: $ref: '#/paths/~1api~1v2~1actions-datastores~1{datastore_id}/delete' response: mediaType: application/json openAPIDocKey: '200' + request: + nativeCasing: camel get_datastore: operation: $ref: '#/paths/~1api~1v2~1actions-datastores~1{datastore_id}/get' @@ -3642,26 +5130,29 @@ components: mediaType: application/json openAPIDocKey: '200' objectKey: $.data + request: + nativeCasing: camel update_datastore: + config: + requestBodyTranslate: + algorithm: naive operation: $ref: '#/paths/~1api~1v2~1actions-datastores~1{datastore_id}/patch' response: mediaType: application/json openAPIDocKey: '200' + request: + nativeCasing: camel sqlVerbs: select: - $ref: '#/components/x-stackQL-resources/datastores/methods/get_datastore' - - $ref: >- - #/components/x-stackQL-resources/datastores/methods/list_datastores + - $ref: '#/components/x-stackQL-resources/datastores/methods/list_datastores' insert: - - $ref: >- - #/components/x-stackQL-resources/datastores/methods/create_datastore + - $ref: '#/components/x-stackQL-resources/datastores/methods/create_datastore' update: - - $ref: >- - #/components/x-stackQL-resources/datastores/methods/update_datastore + - $ref: '#/components/x-stackQL-resources/datastores/methods/update_datastore' delete: - - $ref: >- - #/components/x-stackQL-resources/datastores/methods/delete_datastore + - $ref: '#/components/x-stackQL-resources/datastores/methods/delete_datastore' replace: [] datastore_items: id: datadog.actions.datastore_items @@ -3670,11 +5161,12 @@ components: methods: delete_datastore_item: operation: - $ref: >- - #/paths/~1api~1v2~1actions-datastores~1{datastore_id}~1items/delete + $ref: '#/paths/~1api~1v2~1actions-datastores~1{datastore_id}~1items/delete' response: mediaType: application/json openAPIDocKey: '200' + request: + nativeCasing: camel list_datastore_items: operation: $ref: '#/paths/~1api~1v2~1actions-datastores~1{datastore_id}~1items/get' @@ -3682,32 +5174,66 @@ components: mediaType: application/json openAPIDocKey: '200' objectKey: $.data + request: + nativeCasing: camel + config: + queryParamPushdown: + top: + paramName: page[limit] + maxValue: 100 + skip: + paramName: page[offset] update_datastore_item: + config: + requestBodyTranslate: + algorithm: naive operation: $ref: '#/paths/~1api~1v2~1actions-datastores~1{datastore_id}~1items/patch' response: mediaType: application/json openAPIDocKey: '200' + request: + nativeCasing: camel bulk_write_datastore_items: + config: + requestBodyTranslate: + algorithm: naive operation: - $ref: >- - #/paths/~1api~1v2~1actions-datastores~1{datastore_id}~1items~1bulk/post + $ref: '#/paths/~1api~1v2~1actions-datastores~1{datastore_id}~1items~1bulk/post' response: mediaType: application/json openAPIDocKey: '200' + request: + nativeCasing: camel sqlVerbs: select: - - $ref: >- - #/components/x-stackQL-resources/datastore_items/methods/list_datastore_items + - $ref: '#/components/x-stackQL-resources/datastore_items/methods/list_datastore_items' insert: - - $ref: >- - #/components/x-stackQL-resources/datastore_items/methods/bulk_write_datastore_items + - $ref: '#/components/x-stackQL-resources/datastore_items/methods/bulk_write_datastore_items' update: - - $ref: >- - #/components/x-stackQL-resources/datastore_items/methods/update_datastore_item + - $ref: '#/components/x-stackQL-resources/datastore_items/methods/update_datastore_item' + delete: + - $ref: '#/components/x-stackQL-resources/datastore_items/methods/delete_datastore_item' + replace: [] + actions_datastore_items: + id: datadog.actions.actions_datastore_items + name: actions_datastore_items + title: Actions Datastore Items + methods: + bulk_delete_datastore_items: + operation: + $ref: '#/paths/~1api~1v2~1actions-datastores~1{datastore_id}~1items~1bulk/delete' + response: + mediaType: application/json + openAPIDocKey: '200' + request: + nativeCasing: camel + sqlVerbs: + select: [] + insert: [] + update: [] delete: - - $ref: >- - #/components/x-stackQL-resources/datastore_items/methods/delete_datastore_item + - $ref: '#/components/x-stackQL-resources/actions_datastore_items/methods/bulk_delete_datastore_items' replace: [] app_key_registrations: id: datadog.actions.app_key_registrations @@ -3721,34 +5247,41 @@ components: mediaType: application/json openAPIDocKey: '200' objectKey: $.data + request: + nativeCasing: camel + config: + queryParamPushdown: + top: + paramName: page[size] unregister_app_key: operation: - $ref: >- - #/paths/~1api~1v2~1actions~1app_key_registrations~1{app_key_id}/delete + $ref: '#/paths/~1api~1v2~1actions~1app_key_registrations~1{app_key_id}/delete' response: mediaType: application/json openAPIDocKey: '204' + request: + nativeCasing: camel get_app_key_registration: operation: - $ref: >- - #/paths/~1api~1v2~1actions~1app_key_registrations~1{app_key_id}/get + $ref: '#/paths/~1api~1v2~1actions~1app_key_registrations~1{app_key_id}/get' response: mediaType: application/json openAPIDocKey: '200' objectKey: $.data + request: + nativeCasing: camel register_app_key: operation: - $ref: >- - #/paths/~1api~1v2~1actions~1app_key_registrations~1{app_key_id}/put + $ref: '#/paths/~1api~1v2~1actions~1app_key_registrations~1{app_key_id}/put' response: mediaType: application/json openAPIDocKey: '201' + request: + nativeCasing: camel sqlVerbs: select: - - $ref: >- - #/components/x-stackQL-resources/app_key_registrations/methods/get_app_key_registration - - $ref: >- - #/components/x-stackQL-resources/app_key_registrations/methods/list_app_key_registrations + - $ref: '#/components/x-stackQL-resources/app_key_registrations/methods/get_app_key_registration' + - $ref: '#/components/x-stackQL-resources/app_key_registrations/methods/list_app_key_registrations' insert: [] update: [] delete: [] @@ -3759,17 +5292,24 @@ components: title: Connections methods: create_action_connection: + config: + requestBodyTranslate: + algorithm: naive operation: $ref: '#/paths/~1api~1v2~1actions~1connections/post' response: mediaType: application/json openAPIDocKey: '201' + request: + nativeCasing: camel delete_action_connection: operation: $ref: '#/paths/~1api~1v2~1actions~1connections~1{connection_id}/delete' response: mediaType: application/json openAPIDocKey: '204' + request: + nativeCasing: camel get_action_connection: operation: $ref: '#/paths/~1api~1v2~1actions~1connections~1{connection_id}/get' @@ -3777,29 +5317,102 @@ components: mediaType: application/json openAPIDocKey: '200' objectKey: $.data + request: + nativeCasing: camel update_action_connection: + config: + requestBodyTranslate: + algorithm: naive operation: $ref: '#/paths/~1api~1v2~1actions~1connections~1{connection_id}/patch' response: mediaType: application/json openAPIDocKey: '200' + request: + nativeCasing: camel sqlVerbs: select: - - $ref: >- - #/components/x-stackQL-resources/connections/methods/get_action_connection + - $ref: '#/components/x-stackQL-resources/connections/methods/get_action_connection' insert: - - $ref: >- - #/components/x-stackQL-resources/connections/methods/create_action_connection + - $ref: '#/components/x-stackQL-resources/connections/methods/create_action_connection' update: - - $ref: >- - #/components/x-stackQL-resources/connections/methods/update_action_connection + - $ref: '#/components/x-stackQL-resources/connections/methods/update_action_connection' delete: - - $ref: >- - #/components/x-stackQL-resources/connections/methods/delete_action_connection + - $ref: '#/components/x-stackQL-resources/connections/methods/delete_action_connection' replace: [] + execution_policies: + id: datadog.actions.execution_policies + name: execution_policies + title: Execution Policies + methods: + list_execution_policies: + operation: + $ref: '#/paths/~1api~1v2~1actions~1execution-policies/get' + response: + mediaType: application/json + openAPIDocKey: '200' + objectKey: $.data + request: + nativeCasing: camel + config: + queryParamPushdown: + top: + paramName: page[size] + maxValue: 100 + create_execution_policy: + config: + requestBodyTranslate: + algorithm: naive + operation: + $ref: '#/paths/~1api~1v2~1actions~1execution-policies/post' + response: + mediaType: application/json + openAPIDocKey: '201' + request: + nativeCasing: camel + delete_execution_policy: + operation: + $ref: '#/paths/~1api~1v2~1actions~1execution-policies~1{policy_id}/delete' + response: + mediaType: application/json + openAPIDocKey: '204' + request: + nativeCasing: camel + get_execution_policy: + operation: + $ref: '#/paths/~1api~1v2~1actions~1execution-policies~1{policy_id}/get' + response: + mediaType: application/json + openAPIDocKey: '200' + objectKey: $.data + request: + nativeCasing: camel + update_execution_policy: + config: + requestBodyTranslate: + algorithm: naive + operation: + $ref: '#/paths/~1api~1v2~1actions~1execution-policies~1{policy_id}/put' + response: + mediaType: application/json + openAPIDocKey: '200' + request: + nativeCasing: camel + sqlVerbs: + select: + - $ref: '#/components/x-stackQL-resources/execution_policies/methods/get_execution_policy' + - $ref: '#/components/x-stackQL-resources/execution_policies/methods/list_execution_policies' + insert: + - $ref: '#/components/x-stackQL-resources/execution_policies/methods/create_execution_policy' + update: [] + delete: + - $ref: '#/components/x-stackQL-resources/execution_policies/methods/delete_execution_policy' + replace: + - $ref: '#/components/x-stackQL-resources/execution_policies/methods/update_execution_policy' servers: - - url: >- - https://{region:^(?:[^\:/]+(?:\:[0-9]+)?|[0-9]+\.[0-9]+\.[0-9]+\.[0-9]+(?:\:[0-9]+)?)$}/ + - url: https://api.{site:.+} variables: - region: + site: default: datadoghq.com + description: The Datadog site (region) for your organization, for example datadoghq.com, us3.datadoghq.com, us5.datadoghq.com, ap1.datadoghq.com, ap2.datadoghq.com, datadoghq.eu, ddog-gov.com. Resolved from the DD_SITE environment variable when set. + x-stackQL-envVar: DD_SITE diff --git a/providers/src/datadog/v00.00.00000/services/apm.yaml b/providers/src/datadog/v00.00.00000/services/apm.yaml index 79619782..e385ece4 100644 --- a/providers/src/datadog/v00.00.00000/services/apm.yaml +++ b/providers/src/datadog/v00.00.00000/services/apm.yaml @@ -1,7 +1,7 @@ openapi: 3.0.0 info: title: apm API - description: datadog apm API + description: Observe, troubleshoot, and improve cloud-scale applications with all telemetry in context version: '1.0' paths: /api/v2/apm/config/metrics: @@ -12,6 +12,22 @@ paths: '200': content: application/json: + examples: + default: + value: + data: + - attributes: + compute: + aggregation_type: distribution + include_percentiles: false + path: '@duration' + filter: + query: '@http.status_code:200 service:my-service' + group_by: + - path: resource_name + tag_name: resource_name + id: my.metric + type: spans_metrics schema: $ref: '#/components/schemas/SpansMetricsResponse' description: OK @@ -27,15 +43,29 @@ paths: permissions: - apm_read post: - description: >- + description: |- Create a metric based on your ingested spans in your organization. - - Returns the span-based metric object from the request body when the - request is successful. + Returns the span-based metric object from the request body when the request is successful. operationId: CreateSpansMetric requestBody: content: application/json: + examples: + default: + value: + data: + attributes: + compute: + aggregation_type: distribution + include_percentiles: false + path: '@duration' + filter: + query: '@http.status_code:200 service:my-service' + group_by: + - path: resource_name + tag_name: resource_name + id: my.metric + type: spans_metrics schema: $ref: '#/components/schemas/SpansMetricCreateRequest' description: The definition of the new span-based metric. @@ -44,6 +74,22 @@ paths: '200': content: application/json: + examples: + default: + value: + data: + attributes: + compute: + aggregation_type: distribution + include_percentiles: false + path: '@duration' + filter: + query: '@http.status_code:200 service:my-service' + group_by: + - path: resource_name + tag_name: resource_name + id: my.metric + type: spans_metrics schema: $ref: '#/components/schemas/SpansMetricResponse' description: OK @@ -94,6 +140,22 @@ paths: '200': content: application/json: + examples: + default: + value: + data: + attributes: + compute: + aggregation_type: distribution + include_percentiles: false + path: '@duration' + filter: + query: '@http.status_code:200 service:my-service' + group_by: + - path: resource_name + tag_name: resource_name + id: my.metric + type: spans_metrics schema: $ref: '#/components/schemas/SpansMetricResponse' description: OK @@ -111,17 +173,28 @@ paths: permissions: - apm_read patch: - description: >- + description: |- Update a specific span-based metric from your organization. - - Returns the span-based metric object from the request body when the - request is successful. + Returns the span-based metric object from the request body when the request is successful. operationId: UpdateSpansMetric parameters: - $ref: '#/components/parameters/SpansMetricIDParameter' requestBody: content: application/json: + examples: + default: + value: + data: + attributes: + compute: + include_percentiles: false + filter: + query: '@http.status_code:200 service:my-service' + group_by: + - path: resource_name + tag_name: resource_name + type: spans_metrics schema: $ref: '#/components/schemas/SpansMetricUpdateRequest' description: New definition of the span-based metric. @@ -130,6 +203,22 @@ paths: '200': content: application/json: + examples: + default: + value: + data: + attributes: + compute: + aggregation_type: distribution + include_percentiles: false + path: '@duration' + filter: + query: '@http.status_code:200 service:my-service' + group_by: + - path: resource_name + tag_name: resource_name + id: my.metric + type: spans_metrics schema: $ref: '#/components/schemas/SpansMetricResponse' description: OK @@ -157,6 +246,19 @@ paths: '200': content: application/json: + examples: + default: + value: + data: + - attributes: + enabled: true + filter: + query: '@http.status_code:200 service:my-service' + filter_type: spans-sampling-processor + name: my retention filter + rate: 1 + id: abc-123 + type: apm_retention_filter schema: $ref: '#/components/schemas/RetentionFiltersResponse' description: OK @@ -171,20 +273,29 @@ paths: operator: OR permissions: - apm_retention_filter_read - - apm_pipelines_read post: - description: >- + description: |- Create a retention filter to index spans in your organization. - Returns the retention filter definition when the request is successful. - - Default filters with types spans-errors-sampling-processor and - spans-appsec-sampling-processor cannot be created. + Default filters with types spans-errors-sampling-processor and spans-appsec-sampling-processor cannot be created. operationId: CreateApmRetentionFilter requestBody: content: application/json: + examples: + default: + value: + data: + attributes: + enabled: true + filter: + query: '@http.status_code:200 service:my-service' + filter_type: spans-sampling-processor + name: my retention filter + rate: 1 + trace_rate: 1 + type: apm_retention_filter schema: $ref: '#/components/schemas/RetentionFilterCreateRequest' description: The definition of the new retention filter. @@ -193,6 +304,19 @@ paths: '200': content: application/json: + examples: + default: + value: + data: + attributes: + enabled: true + filter: + query: '@http.status_code:200 service:my-service' + filter_type: spans-sampling-processor + name: my retention filter + rate: 1 + id: abc-123 + type: apm_retention_filter schema: $ref: '#/components/schemas/RetentionFilterCreateResponse' description: OK @@ -212,7 +336,6 @@ paths: operator: OR permissions: - apm_retention_filter_write - - apm_pipelines_write /api/v2/apm/config/retention-filters-execution-order: put: description: Re-order the execution order of retention filters. @@ -220,6 +343,12 @@ paths: requestBody: content: application/json: + examples: + default: + value: + data: + - id: 7RBOb7dLSYWI01yc3pIH8w + type: apm_retention_filter schema: $ref: '#/components/schemas/ReorderRetentionFiltersRequest' description: The list of retention filters in the new order. @@ -241,15 +370,12 @@ paths: operator: OR permissions: - apm_retention_filter_write - - apm_pipelines_write /api/v2/apm/config/retention-filters/{filter_id}: delete: - description: >- + description: |- Delete a specific retention filter from your organization. - - Default filters with types spans-errors-sampling-processor and - spans-appsec-sampling-processor cannot be deleted. + Default filters with types spans-errors-sampling-processor and spans-appsec-sampling-processor cannot be deleted. operationId: DeleteApmRetentionFilter parameters: - $ref: '#/components/parameters/RetentionFilterIdParam' @@ -269,7 +395,6 @@ paths: operator: OR permissions: - apm_retention_filter_write - - apm_pipelines_write get: description: Get an APM retention filter. operationId: GetApmRetentionFilter @@ -279,6 +404,19 @@ paths: '200': content: application/json: + examples: + default: + value: + data: + attributes: + enabled: true + filter: + query: '@http.status_code:200 service:my-service' + filter_type: spans-sampling-processor + name: my retention filter + rate: 1 + id: abc-123 + type: apm_retention_filter schema: $ref: '#/components/schemas/RetentionFilterResponse' description: OK @@ -295,20 +433,31 @@ paths: operator: OR permissions: - apm_retention_filter_read - - apm_pipelines_read put: - description: >- + description: |- Update a retention filter from your organization. - - Default filters (filters with types spans-errors-sampling-processor and - spans-appsec-sampling-processor) cannot be renamed or removed. + Default filters (filters with types spans-errors-sampling-processor and spans-appsec-sampling-processor) cannot be renamed or removed. operationId: UpdateApmRetentionFilter parameters: - $ref: '#/components/parameters/RetentionFilterIdParam' requestBody: content: application/json: + examples: + default: + value: + data: + attributes: + enabled: true + filter: + query: '@http.status_code:200 service:my-service' + filter_type: spans-sampling-processor + name: my retention filter + rate: 1 + trace_rate: 1 + id: retention-filter-id + type: apm_retention_filter schema: $ref: '#/components/schemas/RetentionFilterUpdateRequest' description: The updated definition of the retention filter. @@ -317,6 +466,19 @@ paths: '200': content: application/json: + examples: + default: + value: + data: + attributes: + enabled: true + filter: + query: '@http.status_code:200 service:my-service' + filter_type: spans-sampling-processor + name: my retention filter + rate: 1 + id: abc-123 + type: apm_retention_filter schema: $ref: '#/components/schemas/RetentionFilterResponse' description: OK @@ -336,7 +498,617 @@ paths: operator: OR permissions: - apm_retention_filter_write - - apm_pipelines_write + /api/v2/apm/services: + get: + operationId: GetServiceList + parameters: + - description: Filter services by environment. Can be set to `*` to return all services across all environments. + in: query + name: filter[env] + required: true + schema: + type: string + responses: + '200': + content: + application/json: + examples: + default: + value: + data: + attributes: + metadata: + - isTraced: true + isUsm: false + services: + - test-service + id: abc-123 + type: services_list + schema: + $ref: '#/components/schemas/ServiceList' + description: OK + '429': + $ref: '#/components/responses/TooManyRequestsResponse' + security: + - apiKeyAuth: [] + appKeyAuth: [] + - AuthZ: + - apm_read + summary: Get service list + tags: + - APM + /api/v2/pruned_trace/{trace_id}: + get: + description: |- + Retrieve a pruned, hierarchical view of an APM trace by its trace ID. + The trace is summarized as a tree of spans rooted at the trace root and reduced in size + to keep rendering large traces in the UI practical. + This endpoint is rate limited to `60` requests per minute per organization. + operationId: GetPrunedTraceByID + parameters: + - $ref: '#/components/parameters/TraceIDPathParameter' + - description: |- + Span ID to expand and preserve in the pruned tree even when its branch would + normally be summarized. + example: 9876543210987655000 + in: query + name: expand_span_id + required: false + schema: + format: int64 + type: integer + - description: |- + Optional Unix time hint, in seconds, used to optimize the lookup of the trace + in long-term storage. + example: 1716800000 + in: query + name: time_hint + required: false + schema: + format: int32 + maximum: 2147483647 + type: integer + - description: |- + Force the trace to be loaded from a specific source. When unset, the API picks + the source automatically. + example: driveline + in: query + name: force_source + required: false + schema: + type: string + - description: |- + Restrict the pruned tree to spans matching the given `key:value` pairs. + Values may be passed as repeated query parameters. + example: + - service:web-store + in: query + name: include_path + required: false + schema: + items: + type: string + type: array + - description: |- + Regex patterns of tag keys whose values must be included in the pruned spans. + Values may be passed as repeated query parameters. + example: + - ^http\. + in: query + name: tag_include + required: false + schema: + items: + type: string + type: array + - description: |- + Regex patterns of tag keys whose values must be excluded from the pruned spans. + Values may be passed as repeated query parameters. + example: + - ^_dd\. + in: query + name: tag_exclude + required: false + schema: + items: + type: string + type: array + - description: When set to `true`, only service entry spans are included in the pruned tree. + example: false + in: query + name: only_service_entry_spans + required: false + schema: + type: boolean + responses: + '200': + content: + application/json: + examples: + default: + value: + data: + attributes: + is_truncated: false + size_bytes: 12345 + summarized_trace: + root: + children: [] + durationSeconds: 0.5 + endTime: '2026-05-27T12:00:00.5Z' + error: 0 + hidden_child_spans_count: 0 + meta: + env: production + metrics: + http.status_code: 200 + name: web.request + parentID: 0 + resource: GET /products + service: web-store + spanID: 9876543210987655000 + span_kind: SERVER + startTime: '2026-05-27T12:00:00Z' + traceId: 0000000000000000abc1230000000000 + id: 0000000000000000abc1230000000000 + type: pruned_trace + schema: + $ref: '#/components/schemas/PrunedTraceResponse' + description: OK + '403': + content: + application/json: + schema: + $ref: '#/components/schemas/JSONAPIErrorResponse' + description: Forbidden + '404': + content: + application/json: + schema: + $ref: '#/components/schemas/JSONAPIErrorResponse' + description: Not Found + '429': + $ref: '#/components/responses/TooManyRequestsResponse' + '504': + content: + application/json: + schema: + $ref: '#/components/schemas/JSONAPIErrorResponse' + description: Gateway Timeout + security: + - apiKeyAuth: [] + appKeyAuth: [] + - AuthZ: + - apm_read + summary: Get a pruned trace by ID + tags: + - APM Trace + x-permission: + operator: OR + permissions: + - apm_read + x-unstable: |- + **Note**: This endpoint is in preview and is subject to change. + If you have any feedback, contact [Datadog support](https://docs.datadoghq.com/help/). + /api/v2/scorecard/campaigns: + get: + description: Fetches all scorecard campaigns. + operationId: ListScorecardCampaigns + parameters: + - description: Maximum number of campaigns to return. + in: query + name: page[limit] + required: false + schema: + default: 10 + example: 10 + format: int64 + type: integer + - description: Offset for pagination. + in: query + name: page[offset] + required: false + schema: + default: 0 + example: 0 + format: int64 + type: integer + - description: Filter campaigns by name (full-text search). + in: query + name: filter[campaign][name] + required: false + schema: + example: security + type: string + - description: Filter campaigns by status. + in: query + name: filter[campaign][status] + required: false + schema: + example: in_progress + type: string + - description: Filter campaigns by owner UUID. + in: query + name: filter[campaign][owner] + required: false + schema: + example: 550e8400-e29b-41d4-a716-446655440000 + type: string + responses: + '200': + content: + application/json: + examples: + default: + value: + data: + - attributes: + created_at: '2026-01-01T00:00:00Z' + entity_scope: kind:service + key: test-campaign-1 + modified_at: '2026-01-01T00:00:00Z' + name: Test Campaign 1 + owner: '' + start_date: '2026-01-01T00:00:00Z' + status: in_progress + id: campaign-1 + meta: + entity_count: 25 + rule_count: 2 + relationships: + rules: + data: + - id: rule-1 + type: rule + - id: rule-2 + type: rule + type: campaign + meta: + count: 1 + limit: 10 + offset: 0 + total: 1 + schema: + $ref: '#/components/schemas/ListCampaignsResponse' + description: OK + '400': + content: + application/json: + schema: + $ref: '#/components/schemas/JSONAPIErrorResponse' + description: Bad Request + '403': + content: + application/json: + schema: + $ref: '#/components/schemas/JSONAPIErrorResponse' + description: Forbidden + '429': + $ref: '#/components/responses/TooManyRequestsResponse' + security: + - apiKeyAuth: [] + appKeyAuth: [] + - AuthZ: + - apm_service_catalog_read + - cases_read + summary: List all campaigns + tags: + - Scorecards + post: + description: Creates a new scorecard campaign. + operationId: CreateScorecardCampaign + requestBody: + content: + application/json: + examples: + default: + value: + data: + attributes: + description: Campaign to improve security posture for Q1 2024. + due_date: '2024-03-31T23:59:59Z' + entity_scope: kind:service AND team:platform + guidance: Please ensure all services pass the security requirements. + key: q1-security-2024 + name: Q1 Security Campaign + owner_id: 550e8400-e29b-41d4-a716-446655440000 + rule_ids: + - q8MQxk8TCqrHnWkx + - r9NRyl9UDrsIoXly + start_date: '2024-01-01T00:00:00Z' + status: in_progress + type: campaign + schema: + $ref: '#/components/schemas/CreateCampaignRequest' + description: Campaign data. + required: true + responses: + '201': + content: + application/json: + examples: + default: + value: + data: + attributes: + created_at: '2026-01-01T00:00:00Z' + key: minimal-campaign + modified_at: '2026-01-01T00:00:00Z' + name: Minimal Campaign + owner: 21f98ae1-4ae2-11eb-958f-07e105a6e810 + start_date: '2026-01-01T00:00:00Z' + status: in_progress + id: campaign-2 + relationships: + rules: + data: + - id: rule-1 + type: rule + type: campaign + schema: + $ref: '#/components/schemas/CampaignResponse' + description: Created + '400': + content: + application/json: + schema: + $ref: '#/components/schemas/JSONAPIErrorResponse' + description: Bad Request + '403': + content: + application/json: + schema: + $ref: '#/components/schemas/JSONAPIErrorResponse' + description: Forbidden + '429': + $ref: '#/components/responses/TooManyRequestsResponse' + security: + - apiKeyAuth: [] + appKeyAuth: [] + - AuthZ: + - apm_service_catalog_write + - cases_write + summary: Create a new campaign + tags: + - Scorecards + /api/v2/scorecard/campaigns/{campaign_id}: + delete: + description: Deletes a single campaign by ID or key. + operationId: DeleteScorecardCampaign + parameters: + - description: Campaign ID or key. + in: path + name: campaign_id + required: true + schema: + example: c10ODp0VCrrIpXmz + type: string + responses: + '204': + description: No Content + '400': + content: + application/json: + schema: + $ref: '#/components/schemas/JSONAPIErrorResponse' + description: Bad Request + '403': + content: + application/json: + schema: + $ref: '#/components/schemas/JSONAPIErrorResponse' + description: Forbidden + '404': + content: + application/json: + schema: + $ref: '#/components/schemas/JSONAPIErrorResponse' + description: Not Found + '429': + $ref: '#/components/responses/TooManyRequestsResponse' + security: + - apiKeyAuth: [] + appKeyAuth: [] + - AuthZ: + - apm_service_catalog_write + - cases_write + summary: Delete a campaign + tags: + - Scorecards + get: + description: Fetches a single campaign by ID or key. + operationId: GetScorecardCampaign + parameters: + - description: Campaign ID or key. + in: path + name: campaign_id + required: true + schema: + example: c10ODp0VCrrIpXmz + type: string + - description: Include related data (for example, scores). + in: query + name: include + required: false + schema: + example: scores + type: string + - description: Include metadata (entity and rule counts). + in: query + name: include_meta + required: false + schema: + example: true + type: boolean + responses: + '200': + content: + application/json: + examples: + default: + value: + data: + attributes: + created_at: '2026-01-01T00:00:00Z' + key: test-campaign + modified_at: '2026-01-01T00:00:00Z' + name: Test Campaign + owner: '' + start_date: '2026-01-01T00:00:00Z' + status: in_progress + id: c2b79b87-327c-40fa-b726-228f1a60bbb4 + relationships: + campaign_score: + data: + id: c2b79b87-327c-40fa-b726-228f1a60bbb4 + type: score + rule_scores: + data: + - id: rule-1 + type: score + rules: + data: + - id: rule-1 + type: rule + type: campaign + included: + - attributes: + aggregation: campaign + denominator: 13 + numerator: 10 + score: 76.92 + total_fail: 2 + total_no_data: 0 + total_pass: 10 + total_skip: 1 + id: c2b79b87-327c-40fa-b726-228f1a60bbb4 + type: score + schema: + $ref: '#/components/schemas/CampaignResponse' + description: OK + '400': + content: + application/json: + schema: + $ref: '#/components/schemas/JSONAPIErrorResponse' + description: Bad Request + '403': + content: + application/json: + schema: + $ref: '#/components/schemas/JSONAPIErrorResponse' + description: Forbidden + '404': + content: + application/json: + schema: + $ref: '#/components/schemas/JSONAPIErrorResponse' + description: Not Found + '429': + $ref: '#/components/responses/TooManyRequestsResponse' + security: + - apiKeyAuth: [] + appKeyAuth: [] + - AuthZ: + - apm_service_catalog_read + - cases_read + summary: Get a campaign + tags: + - Scorecards + put: + description: Updates an existing campaign. + operationId: UpdateScorecardCampaign + parameters: + - description: Campaign ID or key. + in: path + name: campaign_id + required: true + schema: + example: c10ODp0VCrrIpXmz + type: string + requestBody: + content: + application/json: + examples: + default: + value: + data: + attributes: + description: Campaign to improve security posture for Q1 2024. + due_date: '2024-03-31T23:59:59Z' + entity_scope: kind:service AND team:platform + guidance: Please ensure all services pass the security requirements. + key: q1-security-2024 + name: Q1 Security Campaign + owner_id: 550e8400-e29b-41d4-a716-446655440000 + rule_ids: + - q8MQxk8TCqrHnWkx + - r9NRyl9UDrsIoXly + start_date: '2024-01-01T00:00:00Z' + status: in_progress + type: campaign + schema: + $ref: '#/components/schemas/UpdateCampaignRequest' + description: Campaign data. + required: true + responses: + '200': + content: + application/json: + examples: + default: + value: + data: + attributes: + created_at: '2026-01-01T00:00:00Z' + description: Updated Description + key: updated-campaign + modified_at: '2026-01-02T00:00:00Z' + name: Updated Campaign + owner: 21f98ae1-4ae2-11eb-958f-07e105a6e810 + start_date: '2026-01-01T00:00:00Z' + status: completed + id: 9c15b9ca-5abd-4875-84c2-02e166a45959 + relationships: + rules: + data: + - id: rule-1 + type: rule + - id: rule-2 + type: rule + type: campaign + schema: + $ref: '#/components/schemas/CampaignResponse' + description: OK + '400': + content: + application/json: + schema: + $ref: '#/components/schemas/JSONAPIErrorResponse' + description: Bad Request + '403': + content: + application/json: + schema: + $ref: '#/components/schemas/JSONAPIErrorResponse' + description: Forbidden + '404': + content: + application/json: + schema: + $ref: '#/components/schemas/JSONAPIErrorResponse' + description: Not Found + '429': + $ref: '#/components/responses/TooManyRequestsResponse' + security: + - apiKeyAuth: [] + appKeyAuth: [] + - AuthZ: + - apm_service_catalog_write + - cases_write + summary: Update a campaign + tags: + - Scorecards /api/v2/scorecard/outcomes: get: description: Fetches all rule outcomes. @@ -365,21 +1137,21 @@ paths: schema: example: name type: string - - description: Filter the outcomes on a specific service name. + - description: Filter outcomes on a specific service name. in: query name: filter[outcome][service_name] required: false schema: example: web-store type: string - - description: Filter the outcomes by a specific state. + - description: Filter outcomes by a specific state. in: query name: filter[outcome][state] required: false schema: example: fail type: string - - description: Filter outcomes on whether a rule is enabled/disabled. + - description: Filter outcomes based on whether a rule is enabled or disabled. in: query name: filter[rule][enabled] required: false @@ -404,6 +1176,25 @@ paths: '200': content: application/json: + examples: + default: + value: + data: + - attributes: + created_at: '2026-01-06T12:51:32.000546001Z' + modified_at: '2026-01-06T12:51:32.000546001Z' + remarks: test + service_name: my-service + state: pass + id: a75tJIv_kNQ + relationships: + rule: + data: + id: rule-1 + type: rule + type: outcome + links: + next: /api/v2/scorecard/outcomes?page%5Blimit%5D=100&page%5Boffset%5D=100 schema: $ref: '#/components/schemas/OutcomesResponse' description: OK @@ -420,22 +1211,28 @@ paths: - apm_service_catalog_read summary: List all rule outcomes tags: - - Service Scorecards + - Scorecards x-pagination: limitParam: page[size] pageOffsetParam: page[offset] resultsPath: data - x-unstable: >- - **Note**: This endpoint is in public beta. - - If you have any feedback, contact [Datadog - support](https://docs.datadoghq.com/help/). post: description: Updates multiple scorecard rule outcomes in a single batched request. - operationId: UpdateScorecardOutcomesAsync + operationId: UpdateScorecardOutcomes requestBody: content: application/json: + examples: + default: + value: + data: + attributes: + results: + - entity_reference: service:my-service + remarks: 'See: Services' + rule_id: q8MQxk8TCqrHnWkx + state: pass + type: batched-outcome schema: $ref: '#/components/schemas/UpdateOutcomesAsyncRequest' description: Set of scorecard outcomes. @@ -456,22 +1253,29 @@ paths: appKeyAuth: [] - AuthZ: - apm_service_catalog_write - summary: Update Scorecard outcomes asynchronously + summary: Update Scorecard outcomes tags: - - Service Scorecards + - Scorecards x-codegen-request-body-name: body - x-unstable: >- - **Note**: This endpoint is in public beta. - - If you have any feedback, contact [Datadog - support](https://docs.datadoghq.com/help/). /api/v2/scorecard/outcomes/batch: post: + deprecated: true description: Sets multiple service-rule outcomes in a single batched request. operationId: CreateScorecardOutcomesBatch requestBody: content: application/json: + examples: + default: + value: + data: + attributes: + results: + - remarks: 'See: Services' + rule_id: q8MQxk8TCqrHnWkx + service_name: my-service + state: pass + type: batched-outcome schema: $ref: '#/components/schemas/OutcomesBatchRequest' description: Set of scorecard outcomes. @@ -480,6 +1284,25 @@ paths: '200': content: application/json: + examples: + default: + value: + data: + - attributes: + modified_at: '2026-03-11T07:37:20.758067Z' + remarks: test remarks + service_name: my-service + state: pass + id: nFs2_9E97Zo + relationships: + rule: + data: + id: rule-1 + type: rule + type: outcome + meta: + total_received: 1 + total_staged: 1 schema: $ref: '#/components/schemas/OutcomesBatchResponse' description: OK @@ -496,13 +1319,12 @@ paths: - apm_service_catalog_write summary: Create outcomes batch tags: - - Service Scorecards + - Scorecards x-codegen-request-body-name: body - x-unstable: >- - **Note**: This endpoint is in public beta. - - If you have any feedback, contact [Datadog - support](https://docs.datadoghq.com/help/). + x-sunset: '2026-04-01' + x-unstable: |- + **Note**: This endpoint is deprecated. To update outcomes, use the + [Update Scorecard outcomes](https://docs.datadoghq.com/api/latest/scorecards/update-scorecard-outcomes/) endpoint. /api/v2/scorecard/rules: get: description: Fetch all rules. @@ -559,9 +1381,7 @@ paths: schema: example: name, description type: string - - description: >- - Return only specific fields in the included response for scorecard - attributes. + - description: Return only specific fields in the included response for scorecard attributes. in: query name: fields[scorecard] required: false @@ -572,6 +1392,34 @@ paths: '200': content: application/json: + examples: + default: + value: + data: + - attributes: + category: Test Scorecard + created_at: '2026-01-06T12:51:32Z' + custom: true + enabled: true + level: 3 + modified_at: '2026-01-06T12:51:32Z' + name: Test Rule 1 + scorecard_name: Test Scorecard + id: rule-1 + relationships: + scorecard: + data: + id: scorecard-1 + type: scorecard + type: rule + included: + - attributes: + description: Scorecard Description + name: Test Scorecard + id: scorecard-1 + type: scorecard + links: + next: /api/v2/scorecard/rules?include=scorecard&page%5Blimit%5D=100&page%5Boffset%5D=100 schema: $ref: '#/components/schemas/ListRulesResponse' description: OK @@ -588,22 +1436,27 @@ paths: - apm_service_catalog_read summary: List all rules tags: - - Service Scorecards + - Scorecards x-pagination: limitParam: page[size] pageOffsetParam: page[offset] resultsPath: data - x-unstable: >- - **Note**: This endpoint is in public beta. - - If you have any feedback, contact [Datadog - support](https://docs.datadoghq.com/help/). post: description: Creates a new rule. operationId: CreateScorecardRule requestBody: content: application/json: + examples: + default: + value: + data: + attributes: + enabled: true + name: My Rule + owner: Datadog + scorecard_name: My Scorecard + type: rule schema: $ref: '#/components/schemas/CreateRuleRequest' description: Rule attributes. @@ -612,6 +1465,26 @@ paths: '201': content: application/json: + examples: + default: + value: + data: + attributes: + category: Test Scorecard + created_at: '2026-01-06T12:51:32Z' + custom: true + enabled: true + level: 3 + modified_at: '2026-01-06T12:51:32Z' + name: Test Rule + scorecard_name: Test Scorecard + id: rule-1 + relationships: + scorecard: + data: + id: scorecard-1 + type: scorecard + type: rule schema: $ref: '#/components/schemas/CreateRuleResponse' description: Created @@ -628,13 +1501,8 @@ paths: - apm_service_catalog_write summary: Create a new rule tags: - - Service Scorecards + - Scorecards x-codegen-request-body-name: body - x-unstable: >- - **Note**: This endpoint is in public beta. - - If you have any feedback, contact [Datadog - support](https://docs.datadoghq.com/help/). /api/v2/scorecard/rules/{rule_id}: delete: description: Deletes a single rule. @@ -659,12 +1527,7 @@ paths: - apm_service_catalog_write summary: Delete a rule tags: - - Service Scorecards - x-unstable: >- - **Note**: This endpoint is in public beta. - - If you have any feedback, contact [Datadog - support](https://docs.datadoghq.com/help/). + - Scorecards put: description: Updates an existing rule. operationId: UpdateScorecardRule @@ -673,6 +1536,18 @@ paths: requestBody: content: application/json: + examples: + default: + value: + data: + attributes: + description: Updated Description + enabled: false + name: Updated Rule + owner: team:updated-team + scope_query: kind:service + scorecard_name: Updated Scorecard + type: rule schema: $ref: '#/components/schemas/UpdateRuleRequest' description: Rule attributes. @@ -681,6 +1556,33 @@ paths: '200': content: application/json: + examples: + default: + value: + data: + attributes: + category: Updated Scorecard + created_at: '2026-01-06T12:51:32Z' + custom: true + description: Updated Description + enabled: false + level: 1 + modified_at: '2026-01-06T13:00:00Z' + name: Updated Rule + owner: team:updated-team + scope_query: kind:service + scorecard_name: Updated Scorecard + id: rule-1 + relationships: + scope: + data: + id: ae07a16e-1319-5e61-bdba-b3026bc2bdcd + type: entity-scope + scorecard: + data: + id: scorecard-2 + type: scorecard + type: rule schema: $ref: '#/components/schemas/UpdateRuleResponse' description: Rule updated successfully @@ -695,15 +1597,295 @@ paths: appKeyAuth: [] - AuthZ: - apm_service_catalog_write - summary: Update an existing rule + summary: Update an existing scorecard rule tags: - - Service Scorecards + - Scorecards x-codegen-request-body-name: body - x-unstable: >- - **Note**: This endpoint is in public beta. - - If you have any feedback, contact [Datadog - support](https://docs.datadoghq.com/help/). + /api/v2/scorecard/scorecards: + get: + description: Fetches all scorecards. + operationId: ListScorecards + parameters: + - description: Offset for pagination. + in: query + name: page[offset] + required: false + schema: + default: 0 + example: 0 + format: int64 + type: integer + - description: Maximum number of scorecards to return. + in: query + name: page[size] + required: false + schema: + default: 100 + example: 10 + format: int64 + type: integer + - description: Filter by scorecard ID. + in: query + name: filter[scorecard][id] + required: false + schema: + example: q8MQxk8TCqrHnWkx + type: string + - description: Filter by scorecard name (partial match). + in: query + name: filter[scorecard][name] + required: false + schema: + example: Observability + type: string + - description: Filter by scorecard description (partial match). + in: query + name: filter[scorecard][description] + required: false + schema: + example: Best Practices + type: string + responses: + '200': + content: + application/json: + examples: + default: + value: + data: + - attributes: + created_at: '2026-01-01T00:00:00Z' + description: Best practices for observability. + modified_at: '2026-01-05T14:20:00Z' + name: Observability Best Practices + id: q8MQxk8TCqrHnWkx + type: scorecard + schema: + $ref: '#/components/schemas/ListScorecardsResponse' + description: OK + '403': + content: + application/json: + schema: + $ref: '#/components/schemas/JSONAPIErrorResponse' + description: Forbidden + '429': + $ref: '#/components/responses/TooManyRequestsResponse' + security: + - apiKeyAuth: [] + appKeyAuth: [] + - AuthZ: + - apm_service_catalog_read + summary: List all scorecards + tags: + - Scorecards + /api/v2/scorecard/scores/{aggregation}: + get: + description: Returns a list of scorecard scores for each aggregation type, with score breakdowns. + operationId: ListScorecardScores + parameters: + - description: The type of scores being requested. + in: path + name: aggregation + required: true + schema: + $ref: '#/components/schemas/ScorecardScoresAggregation' + - description: Filter scores by rule ID(s), comma-separated. + in: query + name: filter[rule][id] + required: false + schema: + type: string + - description: Filter scores by rule name. + in: query + name: filter[rule][name] + required: false + schema: + type: string + - description: Filter scores by rule level(s), comma-separated. + in: query + name: filter[rule][level] + required: false + schema: + type: string + - description: Filter scores by scorecard ID(s), comma-separated. + in: query + name: filter[rule][scorecard_id] + required: false + schema: + type: string + - description: Filter scores to show only custom rules. + in: query + name: filter[rule][is_custom] + required: false + schema: + type: boolean + - description: Filter scores to show only enabled rules. + in: query + name: filter[rule][is_enabled] + required: false + schema: + type: boolean + - description: 'Sort scores by field. Use a hyphen prefix for descending order. Options: score, numerator, denominator, total_pass, total_fail, total_skip, total_no_data.' + in: query + name: sort + required: false + schema: + type: string + - description: Offset for pagination. + in: query + name: page[offset] + required: false + schema: + default: 0 + format: int64 + type: integer + - description: Number of scores to return. Max is 1000. + in: query + name: page[limit] + required: false + schema: + default: 100 + format: int64 + type: integer + responses: + '200': + content: + application/json: + examples: + default: + value: + data: + - attributes: + aggregation: by-entity + denominator: 4 + numerator: 3 + score: 0.75 + total_fail: 1 + total_no_data: 0 + total_pass: 3 + total_skip: 0 + id: service:my-service + relationships: + entity: + data: + id: service:my-service + type: entity + type: score + links: + next: /api/v2/scorecard/scores/by-entity?page[offset]=100&page[limit]=100 + meta: + count: 1 + limit: 100 + offset: 0 + total: 42 + schema: + $ref: '#/components/schemas/ListScorecardScoresResponse' + description: OK + '400': + $ref: '#/components/responses/BadRequestResponse' + '403': + $ref: '#/components/responses/ForbiddenResponse' + '429': + $ref: '#/components/responses/TooManyRequestsResponse' + security: + - apiKeyAuth: [] + appKeyAuth: [] + - AuthZ: + - apm_service_catalog_read + summary: List all scores + tags: + - Scorecards + /api/v2/trace/{trace_id}: + get: + description: |- + Retrieve a full APM trace by its trace ID, including every span in the trace. + Traces are returned from live storage when available and fall back to longer-term storage. + This endpoint is rate limited to `60` requests per minute per organization. + operationId: GetTraceByID + parameters: + - $ref: '#/components/parameters/TraceIDPathParameter' + - description: |- + List of span fields to include in the response. When omitted, every available field is returned. + Values may be passed as repeated query parameters or as a single comma-separated value. + example: + - service + - resource_name + in: query + name: include_fields + required: false + schema: + items: + type: string + type: array + responses: + '200': + content: + application/json: + examples: + default: + value: + data: + attributes: + is_truncated: false + spans: + - duration: 500000000 + endTime: 1716800000500000000 + error: 0 + meta: + env: production + http.method: GET + metrics: + http.status_code: 200 + name: web.request + parentID: 0 + resource: GET /products + service: web-store + spanID: 9876543210987655000 + startTime: 1716800000000000000 + traceID: 12345678901234567000 + traceIDFull: 0000000000000000abc1230000000000 + type: web + id: 0000000000000000abc1230000000000 + type: trace + schema: + $ref: '#/components/schemas/TraceResponse' + description: OK + '403': + content: + application/json: + schema: + $ref: '#/components/schemas/JSONAPIErrorResponse' + description: Forbidden + '404': + content: + application/json: + schema: + $ref: '#/components/schemas/JSONAPIErrorResponse' + description: Not Found + '413': + content: + application/json: + schema: + $ref: '#/components/schemas/JSONAPIErrorResponse' + description: Payload Too Large + '429': + $ref: '#/components/responses/TooManyRequestsResponse' + security: + - apiKeyAuth: [] + appKeyAuth: [] + - AuthZ: + - apm_read + summary: Get a trace by ID + tags: + - APM Trace + x-permission: + operator: OR + permissions: + - apm_read + x-unstable: |- + **Note**: This endpoint is in preview and is subject to change. + If you have any feedback, contact [Datadog support](https://docs.datadoghq.com/help/). components: schemas: SpansMetricsResponse: @@ -787,6 +1969,66 @@ components: required: - data type: object + ServiceList: + description: The response body for the service list endpoint. + properties: + data: + $ref: '#/components/schemas/ServiceListData' + type: object + PrunedTraceResponse: + description: Response containing a single pruned trace. + properties: + data: + $ref: '#/components/schemas/PrunedTraceData' + required: + - data + type: object + JSONAPIErrorResponse: + description: API error response. + properties: + errors: + description: A list of errors. + items: + $ref: '#/components/schemas/JSONAPIErrorItem' + type: array + required: + - errors + type: object + ListCampaignsResponse: + description: Response containing a list of campaigns. + properties: + data: + $ref: '#/components/schemas/ListCampaignsResponseData' + meta: + $ref: '#/components/schemas/PaginatedResponseMeta' + required: + - data + - meta + type: object + CreateCampaignRequest: + description: Request to create a new campaign. + properties: + data: + $ref: '#/components/schemas/CreateCampaignRequestData' + required: + - data + type: object + CampaignResponse: + description: Response containing campaign data. + properties: + data: + $ref: '#/components/schemas/CampaignResponseData' + required: + - data + type: object + UpdateCampaignRequest: + description: Request to update a campaign. + properties: + data: + $ref: '#/components/schemas/UpdateCampaignRequestData' + required: + - data + type: object OutcomesResponse: description: Scorecard outcomes - the result of a rule for a service. properties: @@ -814,6 +2056,12 @@ components: properties: data: $ref: '#/components/schemas/OutcomesBatchResponseData' + example: + - attributes: + service_name: my-service + state: pass + id: outcome-abc123 + type: rule-outcome meta: $ref: '#/components/schemas/OutcomesBatchResponseMeta' required: @@ -852,6 +2100,51 @@ components: data: $ref: '#/components/schemas/UpdateRuleResponseData' type: object + ListScorecardsResponse: + description: Response containing a list of scorecards. + properties: + data: + $ref: '#/components/schemas/ListScorecardsResponseData' + required: + - data + type: object + ScorecardScoresAggregation: + description: Dimension to group scores by. + enum: + - by-entity + - by-rule + - by-scorecard + - by-team + - by-kind + example: by-entity + type: string + x-enum-varnames: + - BY_ENTITY + - BY_RULE + - BY_SCORECARD + - BY_TEAM + - BY_KIND + ListScorecardScoresResponse: + description: A list of scorecard scores for a given aggregation type. + properties: + data: + description: Array of score objects. + items: + $ref: '#/components/schemas/ScorecardScoreData' + type: array + links: + $ref: '#/components/schemas/ListRulesResponseLinks' + meta: + $ref: '#/components/schemas/ListScorecardScoresMeta' + type: object + TraceResponse: + description: Response containing a single trace. + properties: + data: + $ref: '#/components/schemas/TraceData' + required: + - data + type: object SpansMetricResponseData: description: The span-based metric properties. properties: @@ -974,6 +2267,129 @@ components: - attributes - type type: object + ServiceListData: + description: A single data item in the service list response. + properties: + attributes: + $ref: '#/components/schemas/ServiceListDataAttributes' + id: + description: The unique identifier of the service. + type: string + type: + $ref: '#/components/schemas/ServiceListDataType' + required: + - type + type: object + PrunedTraceData: + description: A pruned trace resource document. + properties: + attributes: + $ref: '#/components/schemas/PrunedTraceAttributes' + id: + description: The full 128-bit trace ID, encoded as a 32-character hexadecimal string. + example: 0000000000000000abc1230000000000 + type: string + type: + $ref: '#/components/schemas/PrunedTraceType' + required: + - id + - type + - attributes + type: object + JSONAPIErrorItem: + description: API error response body + properties: + detail: + description: A human-readable explanation specific to this occurrence of the error. + example: Missing required attribute in body + type: string + meta: + additionalProperties: {} + description: Non-standard meta-information about the error + type: object + source: + $ref: '#/components/schemas/JSONAPIErrorItemSource' + status: + description: Status code of the response. + example: '400' + type: string + title: + description: Short human-readable summary of the error. + example: Bad Request + type: string + type: object + ListCampaignsResponseData: + description: Array of campaigns. + items: + $ref: '#/components/schemas/CampaignResponseData' + type: array + PaginatedResponseMeta: + description: Metadata for scores response. + properties: + count: + description: Number of entities in this response. + example: 10 + format: int64 + type: integer + limit: + description: Pagination limit. + example: 10 + format: int64 + type: integer + offset: + description: Pagination offset. + example: 0 + format: int64 + type: integer + total: + description: Total number of entities available. + example: 150 + format: int64 + type: integer + required: + - count + - total + - limit + - offset + type: object + CreateCampaignRequestData: + description: Data for creating a new campaign. + properties: + attributes: + $ref: '#/components/schemas/CreateCampaignRequestAttributes' + type: + $ref: '#/components/schemas/CampaignType' + required: + - type + - attributes + type: object + CampaignResponseData: + description: Campaign data. + properties: + attributes: + $ref: '#/components/schemas/CampaignResponseAttributes' + id: + description: The unique ID of the campaign. + example: c10ODp0VCrrIpXmz + type: string + type: + $ref: '#/components/schemas/CampaignType' + required: + - id + - type + - attributes + type: object + UpdateCampaignRequestData: + description: Data for updating a campaign. + properties: + attributes: + $ref: '#/components/schemas/UpdateCampaignRequestAttributes' + type: + $ref: '#/components/schemas/CampaignType' + required: + - type + - attributes + type: object OutcomesResponseData: description: List of rule outcomes. items: @@ -989,8 +2405,7 @@ components: properties: next: description: Link for the next set of results. - example: >- - /api/v2/scorecard/outcomes?include=rule&page%5Blimit%5D=100&page%5Boffset%5D=100 + example: /api/v2/scorecard/outcomes?include=rule&page%5Blimit%5D=100&page%5Boffset%5D=100 type: string type: object UpdateOutcomesAsyncRequestData: @@ -1018,15 +2433,11 @@ components: description: Metadata pertaining to the bulk operation. properties: total_received: - description: >- - Total number of scorecard results received during the bulk - operation. + description: Total number of scorecard results received during the bulk operation. format: int64 type: integer total_updated: - description: >- - Total number of scorecard results modified during the bulk - operation. + description: Total number of scorecard results modified during the bulk operation. format: int64 type: integer type: object @@ -1040,15 +2451,14 @@ components: properties: next: description: Link for the next set of rules. - example: >- - /api/v2/scorecard/rules?page%5Blimit%5D=2&page%5Boffset%5D=2&page%5Bsize%5D=2 + example: /api/v2/scorecard/rules?page%5Blimit%5D=2&page%5Boffset%5D=2&page%5Bsize%5D=2 type: string type: object CreateRuleRequestData: description: Scorecard create rule request data. properties: attributes: - $ref: '#/components/schemas/RuleAttributes' + $ref: '#/components/schemas/RuleAttributesRequest' type: $ref: '#/components/schemas/RuleType' type: object @@ -1068,7 +2478,7 @@ components: description: Data for the request to update a scorecard rule. properties: attributes: - $ref: '#/components/schemas/RuleAttributes' + $ref: '#/components/schemas/RuleAttributesRequest' type: $ref: '#/components/schemas/RuleType' type: object @@ -1084,6 +2494,64 @@ components: type: $ref: '#/components/schemas/RuleType' type: object + ListScorecardsResponseData: + description: Array of scorecards. + items: + $ref: '#/components/schemas/ScorecardListResponseData' + type: array + ScorecardScoreData: + description: A scorecard score object for a single entity, rule, scorecard, service, or team. + properties: + attributes: + $ref: '#/components/schemas/ScorecardScoreAttributes' + id: + description: The ID of the entity or resource being scored. + example: '' + type: string + relationships: + $ref: '#/components/schemas/ScorecardScoreRelationships' + type: + $ref: '#/components/schemas/ScorecardScoreDataType' + required: + - id + - type + type: object + ListScorecardScoresMeta: + description: Pagination metadata for scores. + properties: + count: + description: The number of results returned in this page. + format: int64 + type: integer + limit: + description: The page limit. + format: int64 + type: integer + offset: + description: The page offset. + format: int64 + type: integer + total: + description: The total number of results. + format: int64 + type: integer + type: object + TraceData: + description: A trace resource document. + properties: + attributes: + $ref: '#/components/schemas/TraceAttributes' + id: + description: The full 128-bit trace ID, encoded as a 32-character hexadecimal string. + example: 0000000000000000abc1230000000000 + type: string + type: + $ref: '#/components/schemas/TraceType' + required: + - id + - type + - attributes + type: object SpansMetricResponseAttributes: description: The object describing a Datadog span-based metric. properties: @@ -1183,10 +2651,8 @@ components: format: double type: number trace_rate: - description: >- - Sample rate to apply to traces containing spans going through this - retention filter. - + description: |- + Sample rate to apply to traces containing spans going through this retention filter. A value of 1.0 keeps all traces with spans matching the query. example: 1 format: double @@ -1202,9 +2668,7 @@ components: x-enum-varnames: - apm_retention_filter RetentionFilterCreateAttributes: - description: >- - The object describing the configuration of the retention filter to - create/update. + description: The object describing the configuration of the retention filter to create/update. properties: enabled: description: Enable/Disable the retention filter. @@ -1226,10 +2690,8 @@ components: format: double type: number trace_rate: - description: >- - Sample rate to apply to traces containing spans going through this - retention filter. - + description: |- + Sample rate to apply to traces containing spans going through this retention filter. A value of 1.0 keeps all traces with spans matching the query. example: 1 format: double @@ -1286,19 +2748,15 @@ components: format: double type: number trace_rate: - description: >- - Sample rate to apply to traces containing spans going through this - retention filter. - + description: |- + Sample rate to apply to traces containing spans going through this retention filter. A value of 1.0 keeps all traces with spans matching the query. example: 1 format: double type: number type: object RetentionFilterUpdateAttributes: - description: >- - The object describing the configuration of the retention filter to - create/update. + description: The object describing the configuration of the retention filter to create/update. properties: enabled: description: Enable/Disable the retention filter. @@ -1320,10 +2778,8 @@ components: format: double type: number trace_rate: - description: >- - Sample rate to apply to traces containing spans going through this - retention filter. - + description: |- + Sample rate to apply to traces containing spans going through this retention filter. A value of 1.0 keeps all traces with spans matching the query. example: 1 format: double @@ -1335,6 +2791,256 @@ components: - filter_type - rate type: object + ServiceListDataAttributes: + description: Attributes of a service list entry, containing metadata and a list of service names. + properties: + metadata: + description: A list of metadata items associated with the service. + items: + $ref: '#/components/schemas/ServiceListDataAttributesMetadataItems' + type: array + services: + description: A list of service names. + items: + description: A single service name. + type: string + type: array + type: object + ServiceListDataType: + default: services_list + description: Services list resource type. + enum: + - services_list + example: services_list + type: string + x-enum-varnames: + - SERVICES_LIST + PrunedTraceAttributes: + description: The attributes of a pruned trace returned by the Get pruned trace by ID endpoint. + properties: + is_truncated: + description: |- + Indicates whether the underlying trace was truncated because its size + exceeded the maximum that can be retrieved from storage. + example: false + type: boolean + size_bytes: + description: The size, in bytes, of the original (non-pruned) trace before summarization. + example: 12345 + format: int32 + maximum: 2147483647 + type: integer + summarized_trace: + $ref: '#/components/schemas/SummarizedTrace' + required: + - summarized_trace + - is_truncated + - size_bytes + type: object + PrunedTraceType: + description: The type of the pruned trace resource. The value is always `pruned_trace`. + enum: + - pruned_trace + example: pruned_trace + type: string + x-enum-varnames: + - PRUNED_TRACE + JSONAPIErrorItemSource: + description: References to the source of the error. + properties: + header: + description: A string indicating the name of a single request header which caused the error. + example: Authorization + type: string + parameter: + description: A string indicating which URI query parameter caused the error. + example: limit + type: string + pointer: + description: A JSON pointer to the value in the request document that caused the error. + example: /data/attributes/title + type: string + type: object + CreateCampaignRequestAttributes: + description: Attributes for creating a new campaign. + properties: + description: + description: The description of the campaign. + example: Campaign to improve security posture for Q1 2024. + type: string + due_date: + description: The due date of the campaign. + example: '2024-03-31T23:59:59Z' + format: date-time + type: string + entity_scope: + description: Entity scope query to filter entities for this campaign. + example: kind:service AND team:platform + type: string + guidance: + description: Guidance for the campaign. + example: Please ensure all services pass the security requirements. + type: string + key: + description: The unique key for the campaign. + example: q1-security-2024 + type: string + name: + description: The name of the campaign. + example: Q1 Security Campaign + type: string + owner_id: + description: The UUID of the campaign owner. + example: 550e8400-e29b-41d4-a716-446655440000 + type: string + rule_ids: + description: Array of rule IDs associated with this campaign. + example: + - q8MQxk8TCqrHnWkx + - r9NRyl9UDrsIoXly + items: + description: The unique ID of a scorecard rule. + type: string + type: array + start_date: + description: The start date of the campaign. + example: '2024-01-01T00:00:00Z' + format: date-time + type: string + status: + $ref: '#/components/schemas/CampaignStatus' + required: + - name + - key + - owner_id + - start_date + - rule_ids + type: object + CampaignType: + description: The JSON:API type for campaigns. + enum: + - campaign + example: campaign + type: string + x-enum-varnames: + - CAMPAIGN + CampaignResponseAttributes: + description: Campaign attributes. + properties: + created_at: + description: Creation time of the campaign. + example: '2023-12-15T10:30:00Z' + format: date-time + type: string + description: + description: The description of the campaign. + example: Campaign to improve security posture for Q1 2024. + type: string + due_date: + description: The due date of the campaign. + example: '2024-03-31T23:59:59Z' + format: date-time + type: string + entity_scope: + description: Entity scope query to filter entities for this campaign. + example: kind:service AND team:platform + type: string + guidance: + description: Guidance for the campaign. + example: Please ensure all services pass the security requirements. + type: string + key: + description: The unique key for the campaign. + example: q1-security-2024 + type: string + modified_at: + description: Time of last campaign modification. + example: '2024-01-05T14:20:00Z' + format: date-time + type: string + name: + description: The name of the campaign. + example: Q1 Security Campaign + type: string + owner: + description: The UUID of the campaign owner. + example: 550e8400-e29b-41d4-a716-446655440000 + type: string + start_date: + description: The start date of the campaign. + example: '2024-01-01T00:00:00Z' + format: date-time + type: string + status: + description: The status of the campaign. + example: in_progress + type: string + required: + - key + - name + - owner + - status + - start_date + - created_at + - modified_at + type: object + UpdateCampaignRequestAttributes: + description: Attributes for updating a campaign. + properties: + description: + description: The description of the campaign. + example: Campaign to improve security posture for Q1 2024. + type: string + due_date: + description: The due date of the campaign. + example: '2024-03-31T23:59:59Z' + format: date-time + type: string + entity_scope: + description: Entity scope query to filter entities for this campaign. + example: kind:service AND team:platform + type: string + guidance: + description: Guidance for the campaign. + example: Please ensure all services pass the security requirements. + type: string + key: + description: The unique key for the campaign. + example: q1-security-2024 + type: string + name: + description: The name of the campaign. + example: Q1 Security Campaign + type: string + owner_id: + description: The UUID of the campaign owner. + example: 550e8400-e29b-41d4-a716-446655440000 + type: string + rule_ids: + description: Array of rule IDs associated with this campaign. + example: + - q8MQxk8TCqrHnWkx + - r9NRyl9UDrsIoXly + items: + description: The unique ID of a scorecard rule. + type: string + type: array + start_date: + description: The start date of the campaign. + example: '2024-01-01T00:00:00Z' + format: date-time + type: string + status: + description: The status of the campaign. + example: in_progress + type: string + required: + - name + - owner_id + - status + - start_date + - rule_ids + type: object OutcomesResponseDataItem: description: A single rule outcome. properties: @@ -1406,6 +3112,43 @@ components: type: $ref: '#/components/schemas/RuleType' type: object + RuleAttributesRequest: + description: Attributes for creating or updating a rule. Server-managed fields (created_at, modified_at, custom) are excluded. + properties: + description: + description: Explanation of the rule. + type: string + enabled: + description: If enabled, the rule is calculated as part of the score. + example: true + type: boolean + level: + $ref: '#/components/schemas/RuleLevel' + name: + description: Name of the rule. + example: Team Defined + type: string + owner: + description: Owner of the rule. + type: string + scope_query: + description: A query to filter which entities this rule applies to. + example: kind:service + type: string + scorecard_name: + description: The scorecard name to which this rule must belong. + example: Deployments automated via Deployment Trains + type: string + type: object + RuleType: + default: rule + description: The JSON:API type for scorecard rules. + enum: + - rule + example: rule + type: string + x-enum-varnames: + - RULE RuleAttributes: description: Details of a rule. properties: @@ -1440,20 +3183,15 @@ components: owner: description: Owner of the rule. type: string - scorecard_name: - description: The scorecard name to which this rule must belong. - example: Deployments automated via Deployment Trains + scope_query: + description: A query to filter which entities this rule applies to. + example: kind:service type: string - type: object - RuleType: - default: rule - description: The JSON:API type for scorecard rules. - enum: - - rule - example: rule - type: string - x-enum-varnames: - - RULE + scorecard_name: + description: The scorecard name to which this rule must belong. + example: Deployments automated via Deployment Trains + type: string + type: object RuleId: description: The unique ID for a scorecard rule. example: q8MQxk8TCqrHnWkx @@ -1464,6 +3202,108 @@ components: scorecard: $ref: '#/components/schemas/RelationshipToRuleData' type: object + ScorecardListResponseData: + description: Scorecard data. + properties: + attributes: + $ref: '#/components/schemas/ScorecardListResponseAttributes' + id: + description: The unique ID of the scorecard. + example: q8MQxk8TCqrHnWkx + type: string + type: + $ref: '#/components/schemas/ScorecardListType' + required: + - id + - type + - attributes + type: object + ScorecardScoreAttributes: + description: Attributes of a scorecard score. + properties: + aggregation: + $ref: '#/components/schemas/ScorecardScoresAggregation' + denominator: + description: The denominator used to compute the score ratio. + format: int64 + type: integer + level: + description: The maturity level of the associated rule. + format: int64 + type: integer + numerator: + description: The numerator used to compute the score ratio. + format: int64 + type: integer + score: + description: The computed score ratio (numerator/denominator), from 0 to 1. + format: double + type: number + total_entities: + description: The total number of entities evaluated. + format: int64 + type: integer + total_fail: + description: The number of rules that failed. + format: int64 + type: integer + total_no_data: + description: The number of rules with no data. + format: int64 + type: integer + total_pass: + description: The number of rules that passed. + format: int64 + type: integer + total_skip: + description: The number of rules that were skipped. + format: int64 + type: integer + type: object + ScorecardScoreRelationships: + description: Relationships for a scorecard score, depending on the aggregation type. + properties: + entity: + $ref: '#/components/schemas/ScorecardScoreRelationshipItem' + rule: + $ref: '#/components/schemas/ScorecardScoreRelationshipItem' + scorecard: + $ref: '#/components/schemas/ScorecardScoreRelationshipItem' + service: + $ref: '#/components/schemas/ScorecardScoreRelationshipItem' + team: + $ref: '#/components/schemas/ScorecardScoreRelationshipItem' + type: object + ScorecardScoreDataType: + default: score + description: The JSON:API resource type. + enum: + - score + example: score + type: string + x-enum-varnames: + - SCORE + TraceAttributes: + description: The attributes of a trace returned by the Get trace by ID endpoint. + properties: + is_truncated: + description: Indicates whether the trace was truncated because its size exceeded the maximum response payload. + example: false + type: boolean + spans: + $ref: '#/components/schemas/APMTraceSpans' + required: + - is_truncated + - spans + type: object + TraceType: + description: The type of the trace resource. The value is always `trace`. + enum: + - trace + example: trace + type: string + x-enum-varnames: + - TRACE SpansMetricResponseCompute: description: The compute rule to compute the span-based metric. properties: @@ -1472,16 +3312,12 @@ components: include_percentiles: $ref: '#/components/schemas/SpansMetricComputeIncludePercentiles' path: - description: >- - The path to the value the span-based metric will aggregate on (only - used if the aggregation type is a "distribution"). + description: The path to the value the span-based metric will aggregate on (only used if the aggregation type is a "distribution"). example: '@duration' type: string type: object SpansMetricResponseFilter: - description: >- - The span-based metric filter. Spans matching this filter will be - aggregated in this metric. + description: The span-based metric filter. Spans matching this filter will be aggregated in this metric. properties: query: description: The search query - following the span search syntax. @@ -1496,9 +3332,7 @@ components: example: resource_name type: string tag_name: - description: >- - Eventual name of the tag that gets created. By default, the path - attribute is used as the tag name. + description: Eventual name of the tag that gets created. By default, the path attribute is used as the tag name. example: resource_name type: string type: object @@ -1510,18 +3344,14 @@ components: include_percentiles: $ref: '#/components/schemas/SpansMetricComputeIncludePercentiles' path: - description: >- - The path to the value the span-based metric will aggregate on (only - used if the aggregation type is a "distribution"). + description: The path to the value the span-based metric will aggregate on (only used if the aggregation type is a "distribution"). example: '@duration' type: string required: - aggregation_type type: object SpansMetricFilter: - description: >- - The span-based metric filter. Spans matching this filter will be - aggregated in this metric. + description: The span-based metric filter. Spans matching this filter will be aggregated in this metric. properties: query: default: '*' @@ -1537,9 +3367,7 @@ components: example: resource_name type: string tag_name: - description: >- - Eventual name of the tag that gets created. By default, the path - attribute is used as the tag name. + description: Eventual name of the tag that gets created. By default, the path attribute is used as the tag name. example: resource_name type: string required: @@ -1555,9 +3383,7 @@ components: description: The spans filter used to index spans. properties: query: - description: >- - The search query - following the [span search - syntax](https://docs.datadoghq.com/tracing/trace_explorer/query_syntax/). + description: The search query - following the [span search syntax](https://docs.datadoghq.com/tracing/trace_explorer/query_syntax/). example: '@http.status_code:200 service:my-service' type: string type: object @@ -1578,9 +3404,7 @@ components: description: The spans filter. Spans matching this filter will be indexed and stored. properties: query: - description: >- - The search query - following the [span search - syntax](https://docs.datadoghq.com/tracing/trace_explorer/query_syntax/). + description: The search query - following the [span search syntax](https://docs.datadoghq.com/tracing/trace_explorer/query_syntax/). example: '@http.status_code:200 service:my-service' type: string required: @@ -1588,15 +3412,48 @@ components: type: object RetentionFilterType: default: spans-sampling-processor - description: >- - The type of retention filter. The value should always be - spans-sampling-processor. + description: The type of retention filter. The value should always be spans-sampling-processor. enum: - spans-sampling-processor example: spans-sampling-processor type: string x-enum-varnames: - SPANS_SAMPLING_PROCESSOR + ServiceListDataAttributesMetadataItems: + description: An object containing metadata flags for a service, indicating whether it is traced by APM or monitored through Universal Service Monitoring. + properties: + isTraced: + description: Indicates whether the service is traced by APM. + type: boolean + isUsm: + description: Indicates whether the service uses Universal Service Monitoring. + type: boolean + type: object + SummarizedTrace: + description: A summarized, hierarchical view of a trace. + properties: + root: + $ref: '#/components/schemas/SummarizedSpan' + traceId: + description: The full 128-bit trace ID, encoded as a 32-character hexadecimal string. + example: 0000000000000000abc1230000000000 + type: string + required: + - traceId + - root + type: object + CampaignStatus: + description: The status of the campaign. + enum: + - in_progress + - not_started + - completed + example: in_progress + type: string + x-enum-varnames: + - IN_PROGRESS + - NOT_STARTED + - COMPLETED OutcomesBatchResponseAttributes: description: The JSON:API attributes for an outcome. properties: @@ -1609,9 +3466,7 @@ components: format: date-time type: string remarks: - description: >- - Any remarks regarding the scorecard rule's evaluation, and supports - HTML hyperlinks. + description: Any remarks regarding the scorecard rule's evaluation, and supports HTML hyperlinks. example: 'See: Services' type: string service_name: @@ -1654,9 +3509,7 @@ components: entity_reference: $ref: '#/components/schemas/EntityReference' remarks: - description: >- - Any remarks regarding the scorecard rule's evaluation. Supports HTML - hyperlinks. + description: Any remarks regarding the scorecard rule's evaluation. Supports HTML hyperlinks. example: 'See: Services' type: string rule_id: @@ -1669,14 +3522,10 @@ components: - state type: object OutcomesBatchRequestItem: - description: >- - Scorecard outcome for a specific rule, for a given service within a - batched update. + description: Scorecard outcome for a specific rule, for a given service within a batched update. properties: remarks: - description: >- - Any remarks regarding the scorecard rule's evaluation, and supports - HTML hyperlinks. + description: Any remarks regarding the scorecard rule's evaluation, and supports HTML hyperlinks. example: 'See: Services' type: string rule_id: @@ -1705,6 +3554,51 @@ components: data: $ref: '#/components/schemas/RelationshipToRuleDataObject' type: object + ScorecardListResponseAttributes: + description: Scorecard attributes. + properties: + created_at: + description: Creation time of the scorecard. + example: '2023-01-15T10:30:00Z' + format: date-time + type: string + description: + description: The description of the scorecard. + example: Best practices for observability. + type: string + modified_at: + description: Time of last scorecard modification. + example: '2024-01-05T14:20:00Z' + format: date-time + type: string + name: + description: The name of the scorecard. + example: Observability Best Practices + type: string + required: + - name + - created_at + - modified_at + type: object + ScorecardListType: + description: The JSON:API type for scorecard list. + enum: + - scorecard + example: scorecard + type: string + x-enum-varnames: + - SCORECARD + ScorecardScoreRelationshipItem: + description: A relationship item for a score. + properties: + data: + $ref: '#/components/schemas/ScorecardScoreRelationshipData' + type: object + APMTraceSpans: + description: The list of spans that compose the trace. + items: + $ref: '#/components/schemas/APMTraceSpan' + type: array SpansMetricComputeAggregationType: description: The type of aggregation to use. enum: @@ -1716,13 +3610,102 @@ components: - COUNT - DISTRIBUTION SpansMetricComputeIncludePercentiles: - description: >- - Toggle to include or exclude percentile aggregations for distribution - metrics. - + description: |- + Toggle to include or exclude percentile aggregations for distribution metrics. Only present when the `aggregation_type` is `distribution`. example: false type: boolean + SummarizedSpan: + description: A node in the pruned trace tree. + properties: + children: + description: The child spans of this node in the pruned tree. + example: [] + items: + $ref: '#/components/schemas/SummarizedSpan' + type: array + durationSeconds: + description: The duration of the span, in seconds. + example: 0.5 + format: double + type: number + endTime: + description: The end time of the span, in RFC3339 format. + example: '2026-05-27T12:00:00.5Z' + format: date-time + type: string + error: + $ref: '#/components/schemas/APMSpanErrorFlag' + hidden_child_spans_count: + description: The number of child spans that were pruned from this node when summarizing the trace. + example: 0 + format: int32 + maximum: 2147483647 + type: integer + meta: + additionalProperties: + type: string + description: String-valued tags attached to the span. + example: + env: production + type: object + metrics: + additionalProperties: + format: double + type: number + description: Numeric metrics attached to the span. + example: + http.status_code: 200 + type: object + name: + description: The operation name of the span. + example: web.request + type: string + parentID: + description: The ID of the parent span, or `0` when the span is the trace root. + example: 0 + format: int64 + type: integer + resource: + description: The resource that the span describes. + example: GET /products + type: string + service: + description: The name of the service that emitted the span. + example: web-store + type: string + spanID: + description: The span ID, as an unsigned 64-bit integer. + example: 9876543210987655000 + format: int64 + type: integer + span_kind: + description: |- + The OpenTelemetry span kind, for example `INTERNAL`, `SERVER`, `CLIENT`, + `PRODUCER`, or `CONSUMER`. + example: SERVER + type: string + startTime: + description: The start time of the span, in RFC3339 format. + example: '2026-05-27T12:00:00Z' + format: date-time + type: string + required: + - service + - name + - resource + - parentID + - spanID + - startTime + - endTime + - durationSeconds + - error + - meta + - metrics + - span_kind + - hidden_child_spans_count + - children + type: object State: description: The state of the rule evaluation. enum: @@ -1755,10 +3738,138 @@ components: type: $ref: '#/components/schemas/ScorecardType' type: object + ScorecardScoreRelationshipData: + description: A relationship data object for a score. + properties: + id: + description: The ID of the related resource. + example: '' + type: string + type: + description: The type of the related resource. + example: '' + type: string + required: + - id + - type + type: object + APMTraceSpan: + description: A single APM span returned as part of a trace. + properties: + duration: + description: The duration of the span, in nanoseconds. + example: 500000000 + format: int64 + type: integer + endTime: + description: The end time of the span, in Unix nanoseconds. + example: 1716800000500000000 + format: int64 + type: integer + error: + $ref: '#/components/schemas/APMSpanErrorFlag' + meta: + additionalProperties: + type: string + description: |- + String-valued tags attached to the span. Tag keys starting with `_` are + filtered out of the response. + example: + env: production + http.method: GET + type: object + metrics: + additionalProperties: + format: double + type: number + description: |- + Numeric metrics attached to the span. Metric keys starting with `_` are + filtered out of the response. + example: + http.status_code: 200 + type: object + name: + description: The operation name of the span. + example: web.request + type: string + parentID: + description: The ID of the parent span, or `0` when the span is a trace root. + example: 0 + format: int64 + type: integer + resource: + description: The resource that the span describes. + example: GET /products + type: string + resourceHash: + description: A hash of the resource field. + example: 6a4e9b7f + type: string + restricted: + description: Whether access to the span is restricted by the organization's data access policies. + example: false + type: boolean + self_time: + description: The time spent in the span itself, excluding time spent in child spans, in nanoseconds. + example: 250000000 + format: double + type: number + service: + description: The name of the service that emitted the span. + example: web-store + type: string + spanID: + description: The span ID, as an unsigned 64-bit integer. + example: 9876543210987655000 + format: int64 + type: integer + startTime: + description: The start time of the span, in Unix nanoseconds. + example: 1716800000000000000 + format: int64 + type: integer + traceID: + description: The lower 64 bits of the trace ID, as an unsigned 64-bit integer. + example: 12345678901234567000 + format: int64 + type: integer + traceIDFull: + description: The full 128-bit trace ID, encoded as a 32-character hexadecimal string. + example: 0000000000000000abc1230000000000 + type: string + type: + description: The type of the span (for example, `web`, `db`, or `rpc`). + example: web + type: string + required: + - service + - name + - resource + - traceID + - spanID + - parentID + - startTime + - endTime + - duration + - error + - type + - meta + - metrics + - traceIDFull + type: object + APMSpanErrorFlag: + description: Error flag for a span. `1` when the span is in error, `0` otherwise. + enum: + - 0 + - 1 + example: 0 + format: int32 + type: integer + x-enum-varnames: + - NO_ERROR + - ERROR RelationshipToOutcomeData: - description: >- - The JSON:API relationship to an outcome, which returns the related rule - id. + description: The JSON:API relationship to an outcome, which returns the related rule id. properties: id: $ref: '#/components/schemas/RuleId' @@ -1826,8 +3937,18 @@ components: required: true schema: type: string + TraceIDPathParameter: + description: |- + The trace ID. Accepts either a 32-character hexadecimal string (128-bit trace ID) + or a decimal string of up to 39 digits. + example: 0000000000000000abc1230000000000 + in: path + name: trace_id + required: true + schema: + type: string PageSize: - description: Size for a given page. The maximum allowed value is 100. + description: Number of items to return per page. The maximum allowed value is 100. in: query name: page[size] required: false @@ -1866,18 +3987,27 @@ components: mediaType: application/json openAPIDocKey: '200' objectKey: $.data + request: + nativeCasing: camel create_spans_metric: + config: + requestBodyTranslate: + algorithm: naive operation: $ref: '#/paths/~1api~1v2~1apm~1config~1metrics/post' response: mediaType: application/json openAPIDocKey: '200' + request: + nativeCasing: camel delete_spans_metric: operation: $ref: '#/paths/~1api~1v2~1apm~1config~1metrics~1{metric_id}/delete' response: mediaType: application/json openAPIDocKey: '204' + request: + nativeCasing: camel get_spans_metric: operation: $ref: '#/paths/~1api~1v2~1apm~1config~1metrics~1{metric_id}/get' @@ -1885,27 +4015,29 @@ components: mediaType: application/json openAPIDocKey: '200' objectKey: $.data + request: + nativeCasing: camel update_spans_metric: + config: + requestBodyTranslate: + algorithm: naive operation: $ref: '#/paths/~1api~1v2~1apm~1config~1metrics~1{metric_id}/patch' response: mediaType: application/json openAPIDocKey: '200' + request: + nativeCasing: camel sqlVerbs: select: - - $ref: >- - #/components/x-stackQL-resources/spans_metrics/methods/get_spans_metric - - $ref: >- - #/components/x-stackQL-resources/spans_metrics/methods/list_spans_metrics + - $ref: '#/components/x-stackQL-resources/spans_metrics/methods/get_spans_metric' + - $ref: '#/components/x-stackQL-resources/spans_metrics/methods/list_spans_metrics' insert: - - $ref: >- - #/components/x-stackQL-resources/spans_metrics/methods/create_spans_metric + - $ref: '#/components/x-stackQL-resources/spans_metrics/methods/create_spans_metric' update: - - $ref: >- - #/components/x-stackQL-resources/spans_metrics/methods/update_spans_metric + - $ref: '#/components/x-stackQL-resources/spans_metrics/methods/update_spans_metric' delete: - - $ref: >- - #/components/x-stackQL-resources/spans_metrics/methods/delete_spans_metric + - $ref: '#/components/x-stackQL-resources/spans_metrics/methods/delete_spans_metric' replace: [] retention_filters: id: datadog.apm.retention_filters @@ -1919,26 +4051,38 @@ components: mediaType: application/json openAPIDocKey: '200' objectKey: $.data + request: + nativeCasing: camel create_apm_retention_filter: + config: + requestBodyTranslate: + algorithm: naive operation: $ref: '#/paths/~1api~1v2~1apm~1config~1retention-filters/post' response: mediaType: application/json openAPIDocKey: '200' + request: + nativeCasing: camel reorder_apm_retention_filters: + config: + requestBodyTranslate: + algorithm: naive operation: - $ref: >- - #/paths/~1api~1v2~1apm~1config~1retention-filters-execution-order/put + $ref: '#/paths/~1api~1v2~1apm~1config~1retention-filters-execution-order/put' response: mediaType: application/json openAPIDocKey: '200' + request: + nativeCasing: camel delete_apm_retention_filter: operation: - $ref: >- - #/paths/~1api~1v2~1apm~1config~1retention-filters~1{filter_id}/delete + $ref: '#/paths/~1api~1v2~1apm~1config~1retention-filters~1{filter_id}/delete' response: mediaType: application/json openAPIDocKey: '200' + request: + nativeCasing: camel get_apm_retention_filter: operation: $ref: '#/paths/~1api~1v2~1apm~1config~1retention-filters~1{filter_id}/get' @@ -1946,28 +4090,142 @@ components: mediaType: application/json openAPIDocKey: '200' objectKey: $.data + request: + nativeCasing: camel update_apm_retention_filter: + config: + requestBodyTranslate: + algorithm: naive operation: $ref: '#/paths/~1api~1v2~1apm~1config~1retention-filters~1{filter_id}/put' response: mediaType: application/json openAPIDocKey: '200' + request: + nativeCasing: camel + sqlVerbs: + select: + - $ref: '#/components/x-stackQL-resources/retention_filters/methods/get_apm_retention_filter' + - $ref: '#/components/x-stackQL-resources/retention_filters/methods/list_apm_retention_filters' + insert: + - $ref: '#/components/x-stackQL-resources/retention_filters/methods/create_apm_retention_filter' + update: [] + delete: + - $ref: '#/components/x-stackQL-resources/retention_filters/methods/delete_apm_retention_filter' + replace: + - $ref: '#/components/x-stackQL-resources/retention_filters/methods/update_apm_retention_filter' + services: + id: datadog.apm.services + name: services + title: Services + methods: + get_service_list: + operation: + $ref: '#/paths/~1api~1v2~1apm~1services/get' + response: + mediaType: application/json + openAPIDocKey: '200' + objectKey: $.data + request: + nativeCasing: camel + sqlVerbs: + select: + - $ref: '#/components/x-stackQL-resources/services/methods/get_service_list' + insert: [] + update: [] + delete: [] + replace: [] + pruned_traces: + id: datadog.apm.pruned_traces + name: pruned_traces + title: Pruned Traces + methods: + get_pruned_trace_by_id: + operation: + $ref: '#/paths/~1api~1v2~1pruned_trace~1{trace_id}/get' + response: + mediaType: application/json + openAPIDocKey: '200' + objectKey: $.data + request: + nativeCasing: camel + sqlVerbs: + select: + - $ref: '#/components/x-stackQL-resources/pruned_traces/methods/get_pruned_trace_by_id' + insert: [] + update: [] + delete: [] + replace: [] + scorecard_campaigns: + id: datadog.apm.scorecard_campaigns + name: scorecard_campaigns + title: Scorecard Campaigns + methods: + list_scorecard_campaigns: + operation: + $ref: '#/paths/~1api~1v2~1scorecard~1campaigns/get' + response: + mediaType: application/json + openAPIDocKey: '200' + objectKey: $.data + request: + nativeCasing: camel + config: + queryParamPushdown: + top: + paramName: page[limit] + skip: + paramName: page[offset] + create_scorecard_campaign: + config: + requestBodyTranslate: + algorithm: naive + operation: + $ref: '#/paths/~1api~1v2~1scorecard~1campaigns/post' + response: + mediaType: application/json + openAPIDocKey: '201' + request: + nativeCasing: camel + delete_scorecard_campaign: + operation: + $ref: '#/paths/~1api~1v2~1scorecard~1campaigns~1{campaign_id}/delete' + response: + mediaType: application/json + openAPIDocKey: '204' + request: + nativeCasing: camel + get_scorecard_campaign: + operation: + $ref: '#/paths/~1api~1v2~1scorecard~1campaigns~1{campaign_id}/get' + response: + mediaType: application/json + openAPIDocKey: '200' + objectKey: $.data + request: + nativeCasing: camel + update_scorecard_campaign: + config: + requestBodyTranslate: + algorithm: naive + operation: + $ref: '#/paths/~1api~1v2~1scorecard~1campaigns~1{campaign_id}/put' + response: + mediaType: application/json + openAPIDocKey: '200' + request: + nativeCasing: camel sqlVerbs: select: - - $ref: >- - #/components/x-stackQL-resources/retention_filters/methods/get_apm_retention_filter - - $ref: >- - #/components/x-stackQL-resources/retention_filters/methods/list_apm_retention_filters + - $ref: '#/components/x-stackQL-resources/scorecard_campaigns/methods/get_scorecard_campaign' + - $ref: '#/components/x-stackQL-resources/scorecard_campaigns/methods/list_scorecard_campaigns' insert: - - $ref: >- - #/components/x-stackQL-resources/retention_filters/methods/create_apm_retention_filter + - $ref: '#/components/x-stackQL-resources/scorecard_campaigns/methods/create_scorecard_campaign' update: [] delete: - - $ref: >- - #/components/x-stackQL-resources/retention_filters/methods/delete_apm_retention_filter + - $ref: '#/components/x-stackQL-resources/scorecard_campaigns/methods/delete_scorecard_campaign' replace: - - $ref: >- - #/components/x-stackQL-resources/retention_filters/methods/update_apm_retention_filter + - $ref: '#/components/x-stackQL-resources/scorecard_campaigns/methods/update_scorecard_campaign' scorecard_outcomes: id: datadog.apm.scorecard_outcomes name: scorecard_outcomes @@ -1980,25 +4238,30 @@ components: mediaType: application/json openAPIDocKey: '200' objectKey: $.data - update_scorecard_outcomes_async: + request: + nativeCasing: camel + config: + queryParamPushdown: + top: + paramName: page[size] + skip: + paramName: page[offset] + update_scorecard_outcomes: + config: + requestBodyTranslate: + algorithm: naive operation: $ref: '#/paths/~1api~1v2~1scorecard~1outcomes/post' response: mediaType: application/json openAPIDocKey: '202' - create_scorecard_outcomes_batch: - operation: - $ref: '#/paths/~1api~1v2~1scorecard~1outcomes~1batch/post' - response: - mediaType: application/json - openAPIDocKey: '200' + request: + nativeCasing: camel sqlVerbs: select: - - $ref: >- - #/components/x-stackQL-resources/scorecard_outcomes/methods/list_scorecard_outcomes + - $ref: '#/components/x-stackQL-resources/scorecard_outcomes/methods/list_scorecard_outcomes' insert: - - $ref: >- - #/components/x-stackQL-resources/scorecard_outcomes/methods/create_scorecard_outcomes_batch + - $ref: '#/components/x-stackQL-resources/scorecard_outcomes/methods/update_scorecard_outcomes' update: [] delete: [] replace: [] @@ -2014,41 +4277,133 @@ components: mediaType: application/json openAPIDocKey: '200' objectKey: $.data + request: + nativeCasing: camel + config: + queryParamPushdown: + top: + paramName: page[size] + skip: + paramName: page[offset] create_scorecard_rule: + config: + requestBodyTranslate: + algorithm: naive operation: $ref: '#/paths/~1api~1v2~1scorecard~1rules/post' response: mediaType: application/json openAPIDocKey: '201' + request: + nativeCasing: camel delete_scorecard_rule: operation: $ref: '#/paths/~1api~1v2~1scorecard~1rules~1{rule_id}/delete' response: mediaType: application/json openAPIDocKey: '204' + request: + nativeCasing: camel update_scorecard_rule: + config: + requestBodyTranslate: + algorithm: naive operation: $ref: '#/paths/~1api~1v2~1scorecard~1rules~1{rule_id}/put' response: mediaType: application/json openAPIDocKey: '200' + request: + nativeCasing: camel sqlVerbs: select: - - $ref: >- - #/components/x-stackQL-resources/scorecard_rules/methods/list_scorecard_rules + - $ref: '#/components/x-stackQL-resources/scorecard_rules/methods/list_scorecard_rules' insert: - - $ref: >- - #/components/x-stackQL-resources/scorecard_rules/methods/create_scorecard_rule + - $ref: '#/components/x-stackQL-resources/scorecard_rules/methods/create_scorecard_rule' update: [] delete: - - $ref: >- - #/components/x-stackQL-resources/scorecard_rules/methods/delete_scorecard_rule + - $ref: '#/components/x-stackQL-resources/scorecard_rules/methods/delete_scorecard_rule' replace: - - $ref: >- - #/components/x-stackQL-resources/scorecard_rules/methods/update_scorecard_rule + - $ref: '#/components/x-stackQL-resources/scorecard_rules/methods/update_scorecard_rule' + scorecards: + id: datadog.apm.scorecards + name: scorecards + title: Scorecards + methods: + list_scorecards: + operation: + $ref: '#/paths/~1api~1v2~1scorecard~1scorecards/get' + response: + mediaType: application/json + openAPIDocKey: '200' + objectKey: $.data + request: + nativeCasing: camel + config: + queryParamPushdown: + top: + paramName: page[size] + skip: + paramName: page[offset] + sqlVerbs: + select: + - $ref: '#/components/x-stackQL-resources/scorecards/methods/list_scorecards' + insert: [] + update: [] + delete: [] + replace: [] + scorecard_scores: + id: datadog.apm.scorecard_scores + name: scorecard_scores + title: Scorecard Scores + methods: + list_scorecard_scores: + operation: + $ref: '#/paths/~1api~1v2~1scorecard~1scores~1{aggregation}/get' + response: + mediaType: application/json + openAPIDocKey: '200' + objectKey: $.data + request: + nativeCasing: camel + config: + queryParamPushdown: + top: + paramName: page[limit] + skip: + paramName: page[offset] + sqlVerbs: + select: + - $ref: '#/components/x-stackQL-resources/scorecard_scores/methods/list_scorecard_scores' + insert: [] + update: [] + delete: [] + replace: [] + traces: + id: datadog.apm.traces + name: traces + title: Traces + methods: + get_trace_by_id: + operation: + $ref: '#/paths/~1api~1v2~1trace~1{trace_id}/get' + response: + mediaType: application/json + openAPIDocKey: '200' + objectKey: $.data + request: + nativeCasing: camel + sqlVerbs: + select: + - $ref: '#/components/x-stackQL-resources/traces/methods/get_trace_by_id' + insert: [] + update: [] + delete: [] + replace: [] servers: - - url: >- - https://{region:^(?:[^\:/]+(?:\:[0-9]+)?|[0-9]+\.[0-9]+\.[0-9]+\.[0-9]+(?:\:[0-9]+)?)$}/ + - url: https://api.{site:.+} variables: - region: + site: default: datadoghq.com + description: The Datadog site (region) for your organization, for example datadoghq.com, us3.datadoghq.com, us5.datadoghq.com, ap1.datadoghq.com, ap2.datadoghq.com, datadoghq.eu, ddog-gov.com. Resolved from the DD_SITE environment variable when set. + x-stackQL-envVar: DD_SITE diff --git a/providers/src/datadog/v00.00.00000/services/catalog.yaml b/providers/src/datadog/v00.00.00000/services/catalog.yaml index 0dbeec71..c8a777b9 100644 --- a/providers/src/datadog/v00.00.00000/services/catalog.yaml +++ b/providers/src/datadog/v00.00.00000/services/catalog.yaml @@ -39,6 +39,18 @@ paths: '200': content: application/json: + examples: + default: + value: + data: + - attributes: + name: Payments API + id: abc-123 + meta: + pagination: + limit: 20 + offset: 0 + total_count: 1 schema: $ref: '#/components/schemas/ListAPIsResponse' description: OK @@ -120,9 +132,7 @@ paths: /api/v2/apicatalog/api/{id}/openapi: get: deprecated: true - description: >- - Retrieve information about a specific API in - [OpenAPI](https://spec.openapis.org/oas/latest.html) format file. + description: Retrieve information about a specific API in [OpenAPI](https://spec.openapis.org/oas/latest.html) format file. operationId: GetOpenAPI parameters: - description: ID of the API to retrieve @@ -135,6 +145,9 @@ paths: '200': content: multipart/form-data: + examples: + default: + value: openapi-spec.yaml schema: format: binary type: string @@ -174,12 +187,9 @@ paths: x-unstable: '**Note**: This endpoint is deprecated.' put: deprecated: true - description: > - Update information about a specific API. The given content will replace - all API content of the given ID. - - The ID is returned by the create API, or can be found in the URL in the - API catalog UI. + description: |- + Update information about a specific API. The given content will replace all API content of the given ID. + The ID is returned by the create API, or can be found in the URL in the API catalog UI. operationId: UpdateOpenAPI parameters: - description: ID of the API to modify @@ -191,6 +201,10 @@ paths: requestBody: content: multipart/form-data: + examples: + default: + value: + openapi_spec_file: openapi-spec.yaml schema: $ref: '#/components/schemas/OpenAPIFile' required: true @@ -198,6 +212,13 @@ paths: '200': content: application/json: + examples: + default: + value: + data: + attributes: + failed_endpoints: [] + id: abc-123 schema: $ref: '#/components/schemas/UpdateOpenAPIResponse' description: API updated successfully @@ -237,22 +258,19 @@ paths: /api/v2/apicatalog/openapi: post: deprecated: true - description: > - Create a new API from the - [OpenAPI](https://spec.openapis.org/oas/latest.html) specification - given. - - See the [API Catalog - documentation](https://docs.datadoghq.com/api_catalog/add_metadata/) for - additional - + description: |- + Create a new API from the [OpenAPI](https://spec.openapis.org/oas/latest.html) specification given. + See the [API Catalog documentation](https://docs.datadoghq.com/api_catalog/add_metadata/) for additional information about the possible metadata. - It returns the created API ID. operationId: CreateOpenAPI requestBody: content: multipart/form-data: + examples: + default: + value: + openapi_spec_file: openapi-spec.yaml schema: $ref: '#/components/schemas/OpenAPIFile' required: true @@ -260,6 +278,13 @@ paths: '201': content: application/json: + examples: + default: + value: + data: + attributes: + failed_endpoints: [] + id: abc-123 schema: $ref: '#/components/schemas/CreateOpenAPIResponse' description: API created successfully @@ -313,10 +338,31 @@ paths: - $ref: '#/components/parameters/FilterByRelationType' - $ref: '#/components/parameters/FilterByExcludeSnapshot' - $ref: '#/components/parameters/Include' + - description: If true, includes discovered services from APM and USM that do not have entity definitions. + in: query + name: includeDiscovered + required: false + schema: + default: false + type: boolean responses: '200': content: application/json: + examples: + default: + value: + data: + - attributes: + apiVersion: v3 + kind: service + name: myService + namespace: default + id: 4b163705-23c0-4573-b2fb-f6cea2163fcb + type: entity + meta: + count: 1 + includeCount: 0 schema: $ref: '#/components/schemas/ListEntityCatalogResponse' description: OK @@ -342,6 +388,33 @@ paths: requestBody: content: application/json: + examples: + default: + value: + apiVersion: v3 + integrations: + opsgenie: + serviceURL: https://www.opsgenie.com/service/shopping-cart + pagerduty: + serviceURL: https://www.pagerduty.com/service-directory/Pshopping-cart + kind: service + metadata: + additionalOwners: + - name: '' + contacts: + - contact: https://slack/ + type: slack + id: 4b163705-23c0-4573-b2fb-f6cea2163fcb + inheritFrom: application:default/myapp + links: + - name: mylink + type: link + url: https://mylink + name: myService + namespace: default + tags: + - this:tag + - that:tag schema: $ref: '#/components/schemas/UpsertCatalogEntityRequest' description: Entity YAML or JSON. @@ -350,6 +423,20 @@ paths: '202': content: application/json: + examples: + default: + value: + data: + - attributes: + apiVersion: v3 + kind: service + name: myService + namespace: default + id: 4b163705-23c0-4573-b2fb-f6cea2163fcb + type: entity + meta: + count: 1 + includeCount: 0 schema: $ref: '#/components/schemas/UpsertCatalogEntityResponse' description: ACCEPTED @@ -368,6 +455,32 @@ paths: tags: - Software Catalog x-codegen-request-body-name: body + /api/v2/catalog/entity/preview: + post: + operationId: PreviewCatalogEntities + responses: + '202': + content: + application/json: + examples: + default: + value: + data: + - id: 4b163705-23c0-4573-b2fb-f6cea2163fcb + type: entity + schema: + $ref: '#/components/schemas/EntityResponseArray' + description: Accepted + '429': + $ref: '#/components/responses/TooManyRequestsResponse' + security: + - apiKeyAuth: [] + appKeyAuth: [] + - AuthZ: + - apm_service_catalog_read + summary: Preview catalog entities + tags: + - Software Catalog /api/v2/catalog/entity/{entity_id}: delete: description: Delete a single entity in Software Catalog. @@ -414,6 +527,18 @@ paths: '200': content: application/json: + examples: + default: + value: + data: + - attributes: + description: A job entity in the catalog. + displayName: My Job + name: my-job + id: 4b163705-23c0-4573-b2fb-f6cea2163fcb + type: kind + meta: + count: 1 schema: $ref: '#/components/schemas/ListKindCatalogResponse' description: OK @@ -441,6 +566,10 @@ paths: requestBody: content: application/json: + examples: + default: + value: + kind: my-job schema: $ref: '#/components/schemas/UpsertCatalogKindRequest' description: Kind YAML or JSON. @@ -449,6 +578,18 @@ paths: '202': content: application/json: + examples: + default: + value: + data: + - attributes: + description: A job entity in the catalog. + displayName: My Job + name: my-job + id: 4b163705-23c0-4573-b2fb-f6cea2163fcb + type: kind + meta: + count: 1 schema: $ref: '#/components/schemas/UpsertCatalogKindResponse' description: ACCEPTED @@ -511,10 +652,33 @@ paths: - $ref: '#/components/parameters/FilterRelationByFromRef' - $ref: '#/components/parameters/FilterRelationByToRef' - $ref: '#/components/parameters/RelationInclude' + - description: If true, includes relationships discovered by APM and USM. + in: query + name: includeDiscovered + required: false + schema: + default: false + type: boolean responses: '200': content: application/json: + examples: + default: + value: + data: + - attributes: + from: + kind: service + name: test-service + to: + kind: service + name: other-service + type: RelationTypeOwns + id: abc-123 + type: relation + meta: + count: 1 schema: $ref: '#/components/schemas/ListRelationCatalogResponse' description: OK @@ -597,9 +761,34 @@ components: type: object UpsertCatalogEntityRequest: description: Create or update entity request. - oneOf: - - $ref: '#/components/schemas/EntityV3' - - $ref: '#/components/schemas/EntityRaw' + additionalProperties: false + properties: + apiVersion: + $ref: '#/components/schemas/EntityV3APIVersion' + datadog: + $ref: '#/components/schemas/EntityV3ServiceDatadog' + extensions: + additionalProperties: {} + description: Custom extensions. This is the free-formed field to send client-side metadata. No Datadog features are affected by this field. + type: object + integrations: + $ref: '#/components/schemas/EntityV3Integrations' + kind: + $ref: '#/components/schemas/EntityV3ServiceKind' + metadata: + $ref: '#/components/schemas/EntityV3Metadata' + spec: + $ref: '#/components/schemas/EntityV3ServiceSpec' + required: + - apiVersion + - kind + - metadata + type: object + example: |- + apiVersion: v3 + kind: service + metadata: + name: myservice UpsertCatalogEntityResponse: description: Upsert entity response. properties: @@ -610,6 +799,17 @@ components: meta: $ref: '#/components/schemas/EntityResponseMeta' type: object + EntityResponseArray: + description: Response object containing an array of entity data items. + properties: + data: + description: Array of entity response data items. + items: + $ref: '#/components/schemas/PreviewEntityResponseData' + type: array + required: + - data + type: object ListKindCatalogResponse: description: List kind response. properties: @@ -620,9 +820,24 @@ components: type: object UpsertCatalogKindRequest: description: Create or update kind request. - oneOf: - - $ref: '#/components/schemas/KindObj' - - $ref: '#/components/schemas/KindRaw' + properties: + description: + description: Short description of the kind. + type: string + displayName: + description: The display name of the kind. Automatically generated if not provided. + type: string + kind: + description: The name of the kind to create or update. This must be in kebab-case format. + example: my-job + type: string + required: + - kind + type: object + example: |- + kind: service + displayName: Service + description: A service entity in the catalog. UpsertCatalogKindResponse: description: Upsert kind response. properties: @@ -661,9 +876,7 @@ components: description: API error response body properties: detail: - description: >- - A human-readable explanation specific to this occurrence of the - error. + description: A human-readable explanation specific to this occurrence of the error. example: Missing required attribute in body type: string meta: @@ -789,15 +1002,32 @@ components: type: object EntityV3: description: Entity schema v3. - oneOf: - - $ref: '#/components/schemas/EntityV3Service' - - $ref: '#/components/schemas/EntityV3Datastore' - - $ref: '#/components/schemas/EntityV3Queue' - - $ref: '#/components/schemas/EntityV3System' - - $ref: '#/components/schemas/EntityV3API' + additionalProperties: false + properties: + apiVersion: + $ref: '#/components/schemas/EntityV3APIVersion' + datadog: + $ref: '#/components/schemas/EntityV3ServiceDatadog' + extensions: + additionalProperties: {} + description: Custom extensions. This is the free-formed field to send client-side metadata. No Datadog features are affected by this field. + type: object + integrations: + $ref: '#/components/schemas/EntityV3Integrations' + kind: + $ref: '#/components/schemas/EntityV3ServiceKind' + metadata: + $ref: '#/components/schemas/EntityV3Metadata' + spec: + $ref: '#/components/schemas/EntityV3ServiceSpec' + required: + - apiVersion + - kind + - metadata + type: object EntityRaw: description: Entity definition in raw JSON or YAML representation. - example: | + example: |- apiVersion: v3 kind: service metadata: @@ -808,6 +1038,21 @@ components: items: $ref: '#/components/schemas/UpsertCatalogEntityResponseIncludedItem' type: array + PreviewEntityResponseData: + description: Entity data returned in a preview response, including attributes, relationships, and type. + properties: + attributes: + $ref: '#/components/schemas/EntityResponseDataAttributes' + id: + description: Entity unique identifier. + type: string + relationships: + $ref: '#/components/schemas/EntityResponseDataRelationships' + type: + $ref: '#/components/schemas/EntityResponseDataType' + required: + - type + type: object KindResponseData: description: List of kind responses. items: @@ -828,14 +1073,10 @@ components: description: Short description of the kind. type: string displayName: - description: >- - The display name of the kind. Automatically generated if not - provided. + description: The display name of the kind. Automatically generated if not provided. type: string kind: - description: >- - The name of the kind to create or update. This must be in kebab-case - format. + description: The name of the kind to create or update. This must be in kebab-case format. example: my-job type: string required: @@ -843,7 +1084,7 @@ components: type: object KindRaw: description: Kind definition in raw JSON or YAML representation. - example: | + example: |- kind: service displayName: Service description: A service entity in the catalog. @@ -872,16 +1113,14 @@ components: properties: next: description: Next link. - example: >- - /api/v2/catalog/relation?filter[from_ref]=service:service-catalog&include=entity&page[limit]=2&page[offset]=2 + example: /api/v2/catalog/relation?filter[from_ref]=service:service-catalog&include=entity&page[limit]=2&page[offset]=2 type: string previous: description: Previous link. type: string self: description: Current link. - example: >- - /api/v2/catalog/relation?filter[from_ref]=service:service-catalog&include=entity&page[limit]=2&page[offset]=0 + example: /api/v2/catalog/relation?filter[from_ref]=service:service-catalog&include=entity&page[limit]=2&page[offset]=0 type: string type: object RelationResponseMeta: @@ -927,9 +1166,7 @@ components: description: References to the source of the error. properties: header: - description: >- - A string indicating the name of a single request header which caused - the error. + description: A string indicating the name of a single request header which caused the error. example: Authorization type: string parameter: @@ -937,9 +1174,7 @@ components: example: limit type: string pointer: - description: >- - A JSON pointer to the value in the request document that caused the - error. + description: A JSON pointer to the value in the request document that caused the error. example: /data/attributes/title type: string type: object @@ -979,12 +1214,17 @@ components: type: object ListEntityCatalogResponseIncludedItem: description: List entity response included item. - oneOf: - - $ref: '#/components/schemas/EntityResponseIncludedSchema' - - $ref: '#/components/schemas/EntityResponseIncludedRawSchema' - - $ref: '#/components/schemas/EntityResponseIncludedRelatedEntity' - - $ref: '#/components/schemas/EntityResponseIncludedOncall' - - $ref: '#/components/schemas/EntityResponseIncludedIncident' + properties: + attributes: + $ref: '#/components/schemas/EntityResponseIncludedSchemaAttributes' + id: + description: Entity ID. + type: string + type: + $ref: '#/components/schemas/EntityResponseIncludedSchemaType' + meta: + $ref: '#/components/schemas/EntityResponseIncludedRelatedEntityMeta' + type: object EntityV3Service: additionalProperties: false description: Schema for service entities. @@ -995,9 +1235,7 @@ components: $ref: '#/components/schemas/EntityV3ServiceDatadog' extensions: additionalProperties: {} - description: >- - Custom extensions. This is the free-formed field to send client-side - metadata. No Datadog features are affected by this field. + description: Custom extensions. This is the free-formed field to send client-side metadata. No Datadog features are affected by this field. type: object integrations: $ref: '#/components/schemas/EntityV3Integrations' @@ -1022,9 +1260,7 @@ components: $ref: '#/components/schemas/EntityV3DatastoreDatadog' extensions: additionalProperties: {} - description: >- - Custom extensions. This is the free-formed field to send client side - metadata. No Datadog features are affected by this field. + description: Custom extensions. This is the free-formed field to send client side metadata. No Datadog features are affected by this field. type: object integrations: $ref: '#/components/schemas/EntityV3Integrations' @@ -1049,9 +1285,7 @@ components: $ref: '#/components/schemas/EntityV3QueueDatadog' extensions: additionalProperties: {} - description: >- - Custom extensions. This is the free-formed field to send client-side - metadata. No Datadog features are affected by this field. + description: Custom extensions. This is the free-formed field to send client-side metadata. No Datadog features are affected by this field. type: object integrations: $ref: '#/components/schemas/EntityV3Integrations' @@ -1076,9 +1310,7 @@ components: $ref: '#/components/schemas/EntityV3SystemDatadog' extensions: additionalProperties: {} - description: >- - Custom extensions. This is the free-formed field to send client-side - metadata. No Datadog features are affected by this field. + description: Custom extensions. This is the free-formed field to send client-side metadata. No Datadog features are affected by this field. type: object integrations: $ref: '#/components/schemas/EntityV3Integrations' @@ -1103,9 +1335,7 @@ components: $ref: '#/components/schemas/EntityV3APIDatadog' extensions: additionalProperties: {} - description: >- - Custom extensions. This is the free-formed field to send client-side - metadata. No Datadog features are affected by this field. + description: Custom extensions. This is the free-formed field to send client-side metadata. No Datadog features are affected by this field. type: object integrations: $ref: '#/components/schemas/EntityV3Integrations' @@ -1122,19 +1352,80 @@ components: type: object UpsertCatalogEntityResponseIncludedItem: description: Upsert entity response included item. - oneOf: - - $ref: '#/components/schemas/EntityResponseIncludedSchema' + properties: + attributes: + $ref: '#/components/schemas/EntityResponseIncludedSchemaAttributes' + id: + description: Entity ID. + type: string + type: + $ref: '#/components/schemas/EntityResponseIncludedSchemaType' + type: object + EntityResponseDataAttributes: + description: Entity response attributes containing core entity metadata fields. + properties: + apiVersion: + description: The API version of the entity schema. + type: string + description: + description: A short description of the entity. + type: string + displayName: + description: The user-friendly display name of the entity. + type: string + kind: + description: The kind of the entity (e.g. service, datastore, queue). + type: string + name: + description: The unique name of the entity within its kind and namespace. + type: string + namespace: + description: The namespace the entity belongs to. + type: string + owner: + description: The owner of the entity, usually a team. + type: string + properties: + additionalProperties: {} + description: Additional custom properties for the entity. + type: object + tags: + description: A set of custom tags assigned to the entity. + items: + description: A tag string in the format key:value. + type: string + type: array + type: object + EntityResponseDataRelationships: + description: Entity relationships including incidents, oncalls, schemas, and related entities. + properties: + incidents: + $ref: '#/components/schemas/EntityResponseDataRelationshipsIncidents' + oncalls: + $ref: '#/components/schemas/EntityResponseDataRelationshipsOncalls' + rawSchema: + $ref: '#/components/schemas/EntityResponseDataRelationshipsRawSchema' + relatedEntities: + $ref: '#/components/schemas/EntityResponseDataRelationshipsRelatedEntities' + schema: + $ref: '#/components/schemas/EntityResponseDataRelationshipsSchema' + type: object + EntityResponseDataType: + default: entity + description: Entity resource type. + enum: + - entity + example: entity + type: string + x-enum-varnames: + - ENTITY KindData: - description: >- - Schema that defines the structure of a Kind object in the Software - Catalog. + description: Schema that defines the structure of a Kind object in the Software Catalog. properties: attributes: $ref: '#/components/schemas/KindAttributes' id: - description: >- - A read-only globally unique identifier for the entity generated by - Datadog. User supplied values are ignored. + description: A read-only globally unique identifier for the entity generated by Datadog. User supplied values are ignored. example: 4b163705-23c0-4573-b2fb-f6cea2163fcb minLength: 1 type: string @@ -1199,6 +1490,7 @@ components: tags: description: The tags. items: + description: A tag string in the format key:value. type: string type: array type: object @@ -1290,11 +1582,7 @@ components: $ref: '#/components/schemas/EntityResponseIncludedIncidentType' type: object EntityV3APIVersion: - description: >- - The version of the schema data that was used to populate this entity's - data. This could be via the API, Terraform, or YAML file in a - repository. The field is known as schema-version in the previous - version. + description: The version of the schema data that was used to populate this entity's data. This could be via the API, Terraform, or YAML file in a repository. The field is known as schema-version in the previous version. enum: - v3 - v2.2 @@ -1356,19 +1644,13 @@ components: $ref: '#/components/schemas/EntityV3MetadataContactsItems' type: array description: - description: >- - Short description of the entity. The UI can leverage the description - for display. + description: Short description of the entity. The UI can leverage the description for display. type: string displayName: - description: >- - User friendly name of the entity. The UI can leverage the display - name for display. + description: User friendly name of the entity. The UI can leverage the display name for display. type: string id: - description: >- - A read-only globally unique identifier for the entity generated by - Datadog. User supplied values are ignored. + description: A read-only globally unique identifier for the entity generated by Datadog. User supplied values are ignored. example: 4b163705-23c0-4573-b2fb-f6cea2163fcb minLength: 1 type: string @@ -1384,9 +1666,7 @@ components: type: array managed: additionalProperties: {} - description: >- - A read-only set of Datadog managed attributes generated by Datadog. - User supplied values are ignored. + description: A read-only set of Datadog managed attributes generated by Datadog. User supplied values are ignored. type: object name: description: Unique name given to an entity under the kind/namespace. @@ -1394,9 +1674,7 @@ components: minLength: 1 type: string namespace: - description: >- - Namespace is a part of unique identifier. It has a default value of - 'default'. + description: Namespace is a part of unique identifier. It has a default value of 'default'. example: default minLength: 1 type: string @@ -1409,6 +1687,7 @@ components: - this:tag - that:tag items: + description: A tag string in the format key:value. type: string type: array required: @@ -1421,16 +1700,19 @@ components: componentOf: description: A list of components the service is a part of items: + description: A component entity reference string. type: string type: array dependsOn: description: A list of components the service depends on. items: + description: A component entity reference string. type: string type: array languages: description: The service's programming language. items: + description: A programming language name. type: string type: array lifecycle: @@ -1471,6 +1753,7 @@ components: componentOf: description: A list of components the datastore is a part of items: + description: A component entity reference string. type: string type: array lifecycle: @@ -1511,6 +1794,7 @@ components: componentOf: description: A list of components the queue is a part of items: + description: A component entity reference string. type: string type: array lifecycle: @@ -1553,6 +1837,7 @@ components: components: description: A list of components belongs to the system. items: + description: A component entity reference string. type: string type: array lifecycle: @@ -1594,6 +1879,7 @@ components: implementedBy: description: Services which implemented the API. items: + description: A service entity reference string. type: string type: array interface: @@ -1610,6 +1896,49 @@ components: description: The type of API. type: string type: object + EntityResponseDataRelationshipsIncidents: + description: Incidents relationship containing a list of incident resources associated with this entity. + properties: + data: + description: List of incident relationship data items. + items: + $ref: '#/components/schemas/EntityResponseDataRelationshipsIncidentsDataItems' + type: array + type: object + EntityResponseDataRelationshipsOncalls: + description: Oncalls relationship containing a list of oncall resources associated with this entity. + properties: + data: + description: List of oncall relationship data items. + items: + $ref: '#/components/schemas/EntityResponseDataRelationshipsOncallsDataItems' + type: array + type: object + EntityResponseDataRelationshipsRawSchema: + description: Raw schema relationship linking an entity to its raw schema resource. + properties: + data: + $ref: '#/components/schemas/EntityResponseDataRelationshipsRawSchemaData' + required: + - data + type: object + EntityResponseDataRelationshipsRelatedEntities: + description: Related entities relationship containing a list of entity references related to this entity. + properties: + data: + description: List of related entity relationship data items. + items: + $ref: '#/components/schemas/EntityResponseDataRelationshipsRelatedEntitiesDataItems' + type: array + type: object + EntityResponseDataRelationshipsSchema: + description: Schema relationship linking an entity to its associated schema resource. + properties: + data: + $ref: '#/components/schemas/EntityResponseDataRelationshipsSchemaData' + required: + - data + type: object KindAttributes: description: Kind attributes. properties: @@ -1842,10 +2171,9 @@ components: description: Performance stats association. properties: tags: - description: >- - A list of APM entity tags that associates the APM Stats data with - the entity. + description: A list of APM entity tags that associates the APM Stats data with the entity. items: + description: An APM tag string in the format key:value. type: string type: array type: object @@ -1854,10 +2182,9 @@ components: description: CI Pipelines association. properties: fingerprints: - description: >- - A list of CI Fingerprints that associate CI Pipelines with the - entity. + description: A list of CI Fingerprints that associate CI Pipelines with the entity. items: + description: A CI pipeline fingerprint string. type: string type: array type: object @@ -1950,9 +2277,79 @@ components: EntityV3APISpecInterface: additionalProperties: false description: The API definition. - oneOf: - - $ref: '#/components/schemas/EntityV3APISpecInterfaceFileRef' - - $ref: '#/components/schemas/EntityV3APISpecInterfaceDefinition' + properties: + fileRef: + description: The reference to the API definition file. + type: string + definition: + description: The API definition. (opaque JSON object) + type: string + type: object + EntityResponseDataRelationshipsIncidentsDataItems: + description: Incident relationship data item containing the incident resource identifier and type. + properties: + id: + description: Incident resource unique identifier. + example: '' + type: string + type: + $ref: '#/components/schemas/EntityResponseDataRelationshipsIncidentsDataItemsType' + required: + - type + - id + type: object + EntityResponseDataRelationshipsOncallsDataItems: + description: Oncall relationship data item containing the oncall resource identifier and type. + properties: + id: + description: Oncall resource unique identifier. + example: '' + type: string + type: + $ref: '#/components/schemas/EntityResponseDataRelationshipsOncallsDataItemsType' + required: + - type + - id + type: object + EntityResponseDataRelationshipsRawSchemaData: + description: Raw schema relationship data containing the raw schema resource identifier and type. + properties: + id: + description: Raw schema unique identifier. + example: '' + type: string + type: + $ref: '#/components/schemas/EntityResponseDataRelationshipsRawSchemaDataType' + required: + - type + - id + type: object + EntityResponseDataRelationshipsRelatedEntitiesDataItems: + description: Related entity relationship data item containing the related entity resource identifier and type. + properties: + id: + description: Related entity unique identifier. + example: '' + type: string + type: + $ref: '#/components/schemas/EntityResponseDataRelationshipsRelatedEntitiesDataItemsType' + required: + - type + - id + type: object + EntityResponseDataRelationshipsSchemaData: + description: Schema relationship data containing the schema resource identifier and type. + properties: + id: + description: Entity schema unique identifier. + example: '' + type: string + type: + $ref: '#/components/schemas/EntityResponseDataRelationshipsSchemaDataType' + required: + - type + - id + type: object RelationEntity: description: Relation entity reference. properties: @@ -2001,6 +2398,7 @@ components: paths: description: The paths (glob) to the source code of the service. items: + description: A glob pattern path to source code files. type: string type: array repositoryURL: @@ -2042,9 +2440,54 @@ components: description: The definition of `EntityV3APISpecInterfaceDefinition` object. properties: definition: - description: The API definition. - type: object + description: The API definition. (opaque JSON object) + type: string type: object + EntityResponseDataRelationshipsIncidentsDataItemsType: + default: incident + description: Incident resource type. + enum: + - incident + example: incident + type: string + x-enum-varnames: + - INCIDENT + EntityResponseDataRelationshipsOncallsDataItemsType: + default: oncall + description: Oncall resource type. + enum: + - oncall + example: oncall + type: string + x-enum-varnames: + - ONCALL + EntityResponseDataRelationshipsRawSchemaDataType: + default: rawSchema + description: Raw schema resource type. + enum: + - rawSchema + example: rawSchema + type: string + x-enum-varnames: + - RAWSCHEMA + EntityResponseDataRelationshipsRelatedEntitiesDataItemsType: + default: relatedEntity + description: Related entity resource type. + enum: + - relatedEntity + example: relatedEntity + type: string + x-enum-varnames: + - RELATEDENTITY + EntityResponseDataRelationshipsSchemaDataType: + default: schema + description: Schema resource type. + enum: + - schema + example: schema + type: string + x-enum-varnames: + - SCHEMA EntityResponseIncludedRelatedOncallEscalationItem: description: Oncall escalation. properties: @@ -2210,52 +2653,6 @@ components: schema: $ref: '#/components/schemas/RelationIncludeType' x-stackQL-resources: - apis: - id: datadog.catalog.apis - name: apis - title: Apis - methods: - list_apis: - operation: - $ref: '#/paths/~1api~1v2~1apicatalog~1api/get' - response: - mediaType: application/json - openAPIDocKey: '200' - objectKey: $.data - delete_open_api: - operation: - $ref: '#/paths/~1api~1v2~1apicatalog~1api~1{id}/delete' - response: - mediaType: application/json - openAPIDocKey: '204' - get_open_api: - operation: - $ref: '#/paths/~1api~1v2~1apicatalog~1api~1{id}~1openapi/get' - response: - mediaType: multipart/form-data - openAPIDocKey: '200' - update_open_api: - operation: - $ref: '#/paths/~1api~1v2~1apicatalog~1api~1{id}~1openapi/put' - response: - mediaType: application/json - openAPIDocKey: '200' - create_open_api: - operation: - $ref: '#/paths/~1api~1v2~1apicatalog~1openapi/post' - response: - mediaType: application/json - openAPIDocKey: '201' - sqlVerbs: - select: - - $ref: '#/components/x-stackQL-resources/apis/methods/list_apis' - insert: - - $ref: '#/components/x-stackQL-resources/apis/methods/create_open_api' - update: [] - delete: - - $ref: '#/components/x-stackQL-resources/apis/methods/delete_open_api' - replace: - - $ref: '#/components/x-stackQL-resources/apis/methods/update_open_api' catalog_entities: id: datadog.catalog.catalog_entities name: catalog_entities @@ -2268,29 +2665,49 @@ components: mediaType: application/json openAPIDocKey: '200' objectKey: $.data + request: + nativeCasing: camel + config: + queryParamPushdown: + top: + paramName: page[limit] + skip: + paramName: page[offset] upsert_catalog_entity: + config: + requestBodyTranslate: + algorithm: naive operation: $ref: '#/paths/~1api~1v2~1catalog~1entity/post' response: mediaType: application/json openAPIDocKey: '202' + request: + nativeCasing: camel + preview_catalog_entities: + operation: + $ref: '#/paths/~1api~1v2~1catalog~1entity~1preview/post' + response: + mediaType: application/json + openAPIDocKey: '202' + request: + nativeCasing: camel delete_catalog_entity: operation: $ref: '#/paths/~1api~1v2~1catalog~1entity~1{entity_id}/delete' response: mediaType: application/json openAPIDocKey: '204' + request: + nativeCasing: camel sqlVerbs: select: - - $ref: >- - #/components/x-stackQL-resources/catalog_entities/methods/list_catalog_entity + - $ref: '#/components/x-stackQL-resources/catalog_entities/methods/list_catalog_entity' insert: - - $ref: >- - #/components/x-stackQL-resources/catalog_entities/methods/upsert_catalog_entity + - $ref: '#/components/x-stackQL-resources/catalog_entities/methods/upsert_catalog_entity' update: [] delete: - - $ref: >- - #/components/x-stackQL-resources/catalog_entities/methods/delete_catalog_entity + - $ref: '#/components/x-stackQL-resources/catalog_entities/methods/delete_catalog_entity' replace: [] catalog_kinds: id: datadog.catalog.catalog_kinds @@ -2304,29 +2721,41 @@ components: mediaType: application/json openAPIDocKey: '200' objectKey: $.data + request: + nativeCasing: camel + config: + queryParamPushdown: + top: + paramName: page[limit] + skip: + paramName: page[offset] upsert_catalog_kind: + config: + requestBodyTranslate: + algorithm: naive operation: $ref: '#/paths/~1api~1v2~1catalog~1kind/post' response: mediaType: application/json openAPIDocKey: '202' + request: + nativeCasing: camel delete_catalog_kind: operation: $ref: '#/paths/~1api~1v2~1catalog~1kind~1{kind_id}/delete' response: mediaType: application/json openAPIDocKey: '204' + request: + nativeCasing: camel sqlVerbs: select: - - $ref: >- - #/components/x-stackQL-resources/catalog_kinds/methods/list_catalog_kind + - $ref: '#/components/x-stackQL-resources/catalog_kinds/methods/list_catalog_kind' insert: - - $ref: >- - #/components/x-stackQL-resources/catalog_kinds/methods/upsert_catalog_kind + - $ref: '#/components/x-stackQL-resources/catalog_kinds/methods/upsert_catalog_kind' update: [] delete: - - $ref: >- - #/components/x-stackQL-resources/catalog_kinds/methods/delete_catalog_kind + - $ref: '#/components/x-stackQL-resources/catalog_kinds/methods/delete_catalog_kind' replace: [] catalog_relations: id: datadog.catalog.catalog_relations @@ -2340,17 +2769,25 @@ components: mediaType: application/json openAPIDocKey: '200' objectKey: $.data + request: + nativeCasing: camel + config: + queryParamPushdown: + top: + paramName: page[limit] + skip: + paramName: page[offset] sqlVerbs: select: - - $ref: >- - #/components/x-stackQL-resources/catalog_relations/methods/list_catalog_relation + - $ref: '#/components/x-stackQL-resources/catalog_relations/methods/list_catalog_relation' insert: [] update: [] delete: [] replace: [] servers: - - url: >- - https://{region:^(?:[^\:/]+(?:\:[0-9]+)?|[0-9]+\.[0-9]+\.[0-9]+\.[0-9]+(?:\:[0-9]+)?)$}/ + - url: https://api.{site:.+} variables: - region: + site: default: datadoghq.com + description: The Datadog site (region) for your organization, for example datadoghq.com, us3.datadoghq.com, us5.datadoghq.com, ap1.datadoghq.com, ap2.datadoghq.com, datadoghq.eu, ddog-gov.com. Resolved from the DD_SITE environment variable when set. + x-stackQL-envVar: DD_SITE diff --git a/providers/src/datadog/v00.00.00000/services/cloud_costs.yaml b/providers/src/datadog/v00.00.00000/services/cloud_costs.yaml index 62ed7aaf..7893b322 100644 --- a/providers/src/datadog/v00.00.00000/services/cloud_costs.yaml +++ b/providers/src/datadog/v00.00.00000/services/cloud_costs.yaml @@ -4,23 +4,66 @@ info: description: datadog cloud_costs API version: '1.0' paths: - /api/v2/cost/aws_cur_config: + /api/v2/cost/account_filters/{cloud_account_id}: get: - description: List the AWS CUR configs. - operationId: ListCostAWSCURConfigs + description: Get the account filters for a cloud account (AWS CUR 1.0/2.0, OCI, and other clouds). + operationId: GetCostAccountFilters + parameters: + - $ref: '#/components/parameters/CloudAccountID' responses: '200': content: application/json: + examples: + default: + summary: Include new accounts and exclude specific accounts + value: + data: + attributes: + account_filters: + excluded_accounts: + - '123456789123' + - '123456789143' + include_new_accounts: true + account_id: '123456789123' + cloud: aws_cur2 + id: '123' + type: account_filters + include_accounts: + summary: Exclude new accounts and include specific accounts + value: + data: + attributes: + account_filters: + include_new_accounts: false + included_accounts: + - '123456789123' + - '123456789143' + account_id: '123456789123' + cloud: aws_cur2 + id: '123' + type: account_filters schema: - $ref: '#/components/schemas/AwsCURConfigsResponse' + $ref: '#/components/schemas/AccountFiltersResponse' description: OK + '400': + content: + application/json: + schema: + $ref: '#/components/schemas/APIErrorResponse' + description: Bad Request '403': content: application/json: schema: $ref: '#/components/schemas/APIErrorResponse' description: Forbidden + '404': + content: + application/json: + schema: + $ref: '#/components/schemas/APIErrorResponse' + description: Not Found '429': $ref: '#/components/responses/TooManyRequestsResponse' security: @@ -28,28 +71,82 @@ paths: appKeyAuth: [] - AuthZ: - cloud_cost_management_read - summary: List Cloud Cost Management AWS CUR configs + summary: Get account filters tags: - Cloud Cost Management x-permission: operator: OR permissions: - cloud_cost_management_read - post: - description: Create a Cloud Cost Management account for an AWS CUR config. - operationId: CreateCostAWSCURConfig + patch: + description: Update the account filters for a cloud account (AWS CUR 1.0/2.0, OCI, and other clouds). + operationId: UpdateCostAccountFilters + parameters: + - $ref: '#/components/parameters/CloudAccountID' requestBody: content: application/json: + examples: + default: + summary: Exclude new accounts and include specific accounts + value: + data: + attributes: + account_filters: + include_new_accounts: false + included_accounts: + - '123456789123' + - '123456789143' + type: account_filters_patch_request + exclude_accounts: + summary: Include new accounts and exclude specific accounts + value: + data: + attributes: + account_filters: + excluded_accounts: + - '123456789123' + - '123456789143' + include_new_accounts: true + type: account_filters_patch_request schema: - $ref: '#/components/schemas/AwsCURConfigPostRequest' + $ref: '#/components/schemas/AccountFiltersPatchRequest' required: true responses: '200': content: application/json: + examples: + default: + summary: Exclude new accounts and include specific accounts + value: + data: + attributes: + account_filters: + include_new_accounts: false + included_accounts: + - '123456789123' + - '123456789143' + account_id: '123456789123' + cloud: aws_cur2 + id: '123' + type: account_filters + exclude_accounts: + summary: Include new accounts and exclude specific accounts + value: + data: + attributes: + account_filters: + excluded_accounts: + - '123456789123' + - '123456789143' + include_new_accounts: true + account_id: '123456789123' + cloud: aws_cur2 + id: '123' + type: account_filters schema: - $ref: '#/components/schemas/AwsCURConfigResponse' + $ref: '#/components/schemas/AccountFiltersResponse' description: OK '400': content: @@ -63,6 +160,12 @@ paths: schema: $ref: '#/components/schemas/APIErrorResponse' description: Forbidden + '404': + content: + application/json: + schema: + $ref: '#/components/schemas/APIErrorResponse' + description: Not Found '429': $ref: '#/components/responses/TooManyRequestsResponse' security: @@ -70,68 +173,192 @@ paths: appKeyAuth: [] - AuthZ: - cloud_cost_management_write - summary: Create Cloud Cost Management AWS CUR config + summary: Update account filters tags: - Cloud Cost Management x-permission: operator: OR permissions: - cloud_cost_management_write - /api/v2/cost/aws_cur_config/{cloud_account_id}: - delete: - description: Archive a Cloud Cost Management Account. - operationId: DeleteCostAWSCURConfig + /api/v2/cost/anomalies: + get: + description: List detected Cloud Cost Management anomalies for the organization. + operationId: ListCostAnomalies parameters: - - $ref: '#/components/parameters/CloudAccountID' + - description: Start time as Unix milliseconds. Defaults to the start of the latest stable seven-day window. + in: query + name: start + required: false + schema: + example: 1730259950000 + format: int64 + type: integer + - description: End time as Unix milliseconds. Defaults to the end of the latest stable seven-day window. + in: query + name: end + required: false + schema: + example: 1730429150000 + format: int64 + type: integer + - description: Optional JSON object mapping cost tag keys to allowed values, for example `{"team":["payments"],"env":["prod"]}`. Filters match anomaly dimensions or correlated tags. + in: query + name: filter + required: false + schema: + example: '{"team":["payments"]}' + type: string + - description: Minimum absolute anomalous cost change to include. Numeric value; defaults to `1`. + in: query + name: min_anomalous_threshold + required: false + schema: + example: '1.0' + type: string + - description: Minimum absolute actual cost to include. Numeric value; defaults to `0`. + in: query + name: min_cost_threshold + required: false + schema: + example: '0.0' + type: string + - description: Filter by resolution state. Use `none` for unresolved anomalies, `all` or `*` for resolved anomalies, or a comma-separated list of causes. + in: query + name: dismissal_cause + required: false + schema: + example: none + type: string + - description: Sort field. One of `start_date`, `end_date`, `duration`, `max_cost`, `anomalous_cost`, or `dismissal_date`. Defaults to `anomalous_cost`. + in: query + name: order_by + required: false + schema: + example: anomalous_cost + type: string + - description: Sort direction. One of `asc` or `desc`. Defaults to `desc`. + in: query + name: order + required: false + schema: + example: desc + type: string + - description: Maximum number of anomalies to return. Defaults to `200`. + in: query + name: limit + required: false + schema: + example: 200 + format: int64 + type: integer + - description: Pagination offset. Defaults to `0`. + in: query + name: offset + required: false + schema: + example: 0 + format: int64 + type: integer + - description: Optional repeated cloud or SaaS provider filters, such as `aws`, `gcp`, `azure`, `Oracle`, `datadog`, `OpenAI`, or `Anthropic`. + explode: true + in: query + name: provider_ids + required: false + schema: + items: + example: aws + type: string + type: array responses: - '204': - description: No Content - '400': + '200': content: application/json: + examples: + default: + value: + data: + attributes: + anomalies: + - actual_cost: 3001.24 + anomalous_cost_change: 1250.75 + anomaly_end: 1730429150000 + anomaly_start: 1730259950000 + correlated_tags: + region: + - us-east-1 + - us-west-2 + dimensions: + service: ec2 + max_cost: 5000.5 + provider: aws + query: sum:aws.cost.net.amortized{aws_cost_type IN (Usage,DiscountedUsage,SavingsPlanCoveredUsage) AND aws_product NOT IN (supportenterprise) AND service:"ec2"}.rollup(sum, daily) + uuid: b0a6aaa9-3c4c-48cb-9447-a0d1338b3e09 + avg_daily_anomalous_cost: 625.375 + total_actual_cost: 3001.24 + total_anomalous_cost: 1250.75 + total_count: 1 + id: anomalies + type: anomalies schema: - $ref: '#/components/schemas/APIErrorResponse' - description: Bad Request - '404': + $ref: '#/components/schemas/CostAnomaliesResponse' + description: OK + '400': + $ref: '#/components/responses/BadRequestResponse' + '403': content: application/json: schema: $ref: '#/components/schemas/APIErrorResponse' - description: Not Found + description: Forbidden '429': $ref: '#/components/responses/TooManyRequestsResponse' security: - apiKeyAuth: [] appKeyAuth: [] - AuthZ: - - cloud_cost_management_write - summary: Delete Cloud Cost Management AWS CUR config + - cloud_cost_management_read + summary: List cost anomalies tags: - Cloud Cost Management - x-permission: - operator: OR - permissions: - - cloud_cost_management_write - patch: - description: >- - Update the status (active/archived) and/or account filtering - configuration of an AWS CUR config. - operationId: UpdateCostAWSCURConfig + x-unstable: |- + **Note**: This endpoint is in Preview and is subject to change. + If you have any feedback, contact [Datadog support](https://docs.datadoghq.com/help/). + /api/v2/cost/anomalies/{anomaly_id}: + get: + description: Get a detected Cloud Cost Management anomaly by UUID. + operationId: GetCostAnomaly parameters: - - $ref: '#/components/parameters/CloudAccountID' - requestBody: - content: - application/json: - schema: - $ref: '#/components/schemas/AwsCURConfigPatchRequest' - required: true + - $ref: '#/components/parameters/AnomalyID' responses: '200': content: application/json: + examples: + default: + value: + data: + attributes: + actual_cost: 3001.24 + anomalous_cost_change: 1250.75 + anomaly_end: 1730429150000 + anomaly_start: 1730259950000 + correlated_tags: + region: + - us-east-1 + - us-west-2 + dimensions: + service: ec2 + max_cost: 5000.5 + provider: aws + query: sum:aws.cost.net.amortized{aws_cost_type IN (Usage,DiscountedUsage,SavingsPlanCoveredUsage) AND aws_product NOT IN (supportenterprise) AND service:"ec2"}.rollup(sum, daily) + uuid: b0a6aaa9-3c4c-48cb-9447-a0d1338b3e09 + id: b0a6aaa9-3c4c-48cb-9447-a0d1338b3e09 + type: anomalies schema: - $ref: '#/components/schemas/AwsCURConfigsResponse' + $ref: '#/components/schemas/CostAnomalyResponse' description: OK + '400': + $ref: '#/components/responses/BadRequestResponse' '403': content: application/json: @@ -139,42 +366,59 @@ paths: $ref: '#/components/schemas/APIErrorResponse' description: Forbidden '404': - content: - application/json: - schema: - $ref: '#/components/schemas/APIErrorResponse' - description: Not Found + $ref: '#/components/responses/NotFoundResponse' '429': $ref: '#/components/responses/TooManyRequestsResponse' security: - apiKeyAuth: [] appKeyAuth: [] - AuthZ: - - cloud_cost_management_write - summary: Update Cloud Cost Management AWS CUR config + - cloud_cost_management_read + summary: Get cost anomaly tags: - Cloud Cost Management - x-permission: - operator: OR - permissions: - - cloud_cost_management_write - /api/v2/cost/azure_uc_config: + x-unstable: |- + **Note**: This endpoint is in Preview and is subject to change. + If you have any feedback, contact [Datadog support](https://docs.datadoghq.com/help/). + /api/v2/cost/arbitrary_rule: get: - description: List the Azure configs. - operationId: ListCostAzureUCConfigs + description: List all custom allocation rules - Retrieve a list of all custom allocation rules for the organization + operationId: ListCustomAllocationRules responses: '200': content: application/json: + examples: + default: + value: + data: + - attributes: + costs_to_allocate: + - condition: is + tag: account_id + value: '123456789' + values: null + created: '2024-01-01T00:00:00+00:00' + enabled: true + last_modified_user_uuid: user-example-uuid + order_id: 1 + processing_status: done + provider: + - aws + rule_name: example-custom-allocation-rule + strategy: + allocated_by_tag_keys: + - team + granularity: daily + method: proportional + type: shared + updated: '2024-01-01T00:00:00+00:00' + version: 1 + id: '123' + type: arbitrary_rule schema: - $ref: '#/components/schemas/AzureUCConfigsResponse' + $ref: '#/components/schemas/ArbitraryRuleResponseArray' description: OK - '403': - content: - application/json: - schema: - $ref: '#/components/schemas/APIErrorResponse' - description: Forbidden '429': $ref: '#/components/responses/TooManyRequestsResponse' security: @@ -182,161 +426,496 @@ paths: appKeyAuth: [] - AuthZ: - cloud_cost_management_read - summary: List Cloud Cost Management Azure configs + summary: List custom allocation rules tags: - Cloud Cost Management - x-permission: - operator: OR - permissions: - - cloud_cost_management_read post: - description: Create a Cloud Cost Management account for an Azure config. - operationId: CreateCostAzureUCConfigs + description: |- + Create a new custom allocation rule with the specified filters and allocation strategy. + + **Strategy Methods:** + - **PROPORTIONAL/EVEN**: Allocates costs proportionally/evenly based on existing costs. Requires: granularity, allocated_by_tag_keys. Optional: based_on_costs, allocated_by_filters, evaluate_grouped_by_tag_keys, evaluate_grouped_by_filters. + - **PROPORTIONAL_TIMESERIES/EVEN_TIMESERIES**: Allocates based on timeseries data. Requires: granularity, based_on_timeseries. Optional: evaluate_grouped_by_tag_keys. + - **PERCENT**: Allocates fixed percentages to specific tags. Requires: allocated_by (array of percentage allocations). + + **Filter Conditions:** + - Use **value** for single-value conditions: "is", "is not", "contains", "=", "!=", "like", "not like" + - Use **values** for multi-value conditions: "in", "not in" + - Cannot use both value and values simultaneously. + + **Supported operators**: is, is not, contains, in, not in, =, !=, like, not like + operationId: CreateCustomAllocationRule requestBody: content: application/json: + examples: + default: + value: + data: + attributes: + costs_to_allocate: + - condition: is + tag: account_id + value: '123456789' + - condition: in + tag: environment + value: '' + values: + - production + - staging + enabled: true + order_id: 1 + provider: + - aws + - gcp + rule_name: example-arbitrary-cost-rule + strategy: + allocated_by_tag_keys: + - team + - environment + based_on_costs: + - condition: is + tag: service + value: web-api + - condition: not in + tag: team + value: '' + values: + - legacy + - deprecated + granularity: daily + method: proportional + type: shared + type: upsert_arbitrary_rule schema: - $ref: '#/components/schemas/AzureUCConfigPostRequest' + $ref: '#/components/schemas/ArbitraryCostUpsertRequest' required: true responses: '200': content: application/json: + examples: + default: + value: + data: + attributes: + costs_to_allocate: + - condition: is + tag: account_id + value: '123456789' + created: '2024-01-01T00:00:00+00:00' + enabled: true + order_id: 1 + provider: + - aws + rule_name: example-arbitrary-cost-rule + strategy: + allocated_by_tag_keys: + - team + granularity: daily + method: proportional + type: shared + updated: '2024-01-01T00:00:00+00:00' + version: 1 + id: '123' + type: arbitrary_rule schema: - $ref: '#/components/schemas/AzureUCConfigPairsResponse' + $ref: '#/components/schemas/ArbitraryRuleResponse' description: OK - '400': - content: - application/json: - schema: - $ref: '#/components/schemas/APIErrorResponse' - description: Bad Request - '403': + '429': + $ref: '#/components/responses/TooManyRequestsResponse' + security: + - apiKeyAuth: [] + appKeyAuth: [] + - AuthZ: + - cloud_cost_management_write + summary: Create custom allocation rule + tags: + - Cloud Cost Management + /api/v2/cost/arbitrary_rule/reorder: + post: + description: |- + Reorder custom allocation rules - Change the execution order of custom allocation rules. + + **Important**: You must provide the **complete list** of all rule IDs in the desired execution order. The API will reorder ALL rules according to the provided sequence. + + Rules are executed in the order specified, with lower indices (earlier in the array) having higher priority. + + **Example**: If you have rules with IDs [123, 456, 789] and want to change order from 123→456→789 to 456→123→789, send: [{"id": "456"}, {"id": "123"}, {"id": "789"}] + operationId: ReorderCustomAllocationRules + requestBody: + content: + application/json: + examples: + default: + value: + data: + - id: '456' + type: arbitrary_rule + - id: '123' + type: arbitrary_rule + - id: '789' + type: arbitrary_rule + schema: + $ref: '#/components/schemas/ReorderRuleResourceArray' + required: true + responses: + '204': + description: Successfully reordered rules + '429': + $ref: '#/components/responses/TooManyRequestsResponse' + security: + - apiKeyAuth: [] + appKeyAuth: [] + - AuthZ: + - cloud_cost_management_write + summary: Reorder custom allocation rules + tags: + - Cloud Cost Management + /api/v2/cost/arbitrary_rule/status: + get: + description: List the processing status of all custom allocation rules. Returns only the ID and processing status for each rule. + operationId: ListCustomAllocationRulesStatus + responses: + '200': content: application/json: + examples: + default: + value: + data: + - attributes: + processing_status: processing + id: '123' + type: arbitrary_rule_status + - attributes: + processing_status: done + id: '456' + type: arbitrary_rule_status schema: - $ref: '#/components/schemas/APIErrorResponse' - description: Forbidden + $ref: '#/components/schemas/ArbitraryRuleStatusResponseArray' + description: OK '429': $ref: '#/components/responses/TooManyRequestsResponse' security: - apiKeyAuth: [] appKeyAuth: [] - AuthZ: - - cloud_cost_management_write - summary: Create Cloud Cost Management Azure configs + - cloud_cost_management_read + summary: List custom allocation rule statuses tags: - Cloud Cost Management - x-permission: - operator: OR - permissions: - - cloud_cost_management_write - /api/v2/cost/azure_uc_config/{cloud_account_id}: + /api/v2/cost/arbitrary_rule/{rule_id}: delete: - description: Archive a Cloud Cost Management Account. - operationId: DeleteCostAzureUCConfig + description: Delete a custom allocation rule - Delete an existing custom allocation rule by its ID + operationId: DeleteCustomAllocationRule parameters: - - $ref: '#/components/parameters/CloudAccountID' + - description: The unique identifier of the custom allocation rule + in: path + name: rule_id + required: true + schema: + format: int64 + type: integer responses: '204': description: No Content - '400': - content: - application/json: - schema: - $ref: '#/components/schemas/APIErrorResponse' - description: Bad Request - '404': + '429': + $ref: '#/components/responses/TooManyRequestsResponse' + security: + - apiKeyAuth: [] + appKeyAuth: [] + - AuthZ: + - cloud_cost_management_write + summary: Delete custom allocation rule + tags: + - Cloud Cost Management + get: + description: Get a specific custom allocation rule - Retrieve a specific custom allocation rule by its ID + operationId: GetCustomAllocationRule + parameters: + - description: The unique identifier of the custom allocation rule + in: path + name: rule_id + required: true + schema: + format: int64 + type: integer + responses: + '200': content: application/json: + examples: + default: + value: + data: + attributes: + costs_to_allocate: + - condition: is + tag: account_id + value: '123456789' + values: null + created: '2024-01-01T00:00:00+00:00' + enabled: true + last_modified_user_uuid: user-example-uuid + order_id: 1 + provider: + - aws + rule_name: example-custom-allocation-rule + strategy: + allocated_by_tag_keys: + - team + granularity: daily + method: proportional + type: shared + updated: '2024-01-01T00:00:00+00:00' + version: 1 + id: '123' + type: arbitrary_rule schema: - $ref: '#/components/schemas/APIErrorResponse' - description: Not Found + $ref: '#/components/schemas/ArbitraryRuleResponse' + description: OK '429': $ref: '#/components/responses/TooManyRequestsResponse' security: - apiKeyAuth: [] appKeyAuth: [] - AuthZ: - - cloud_cost_management_write - summary: Delete Cloud Cost Management Azure config + - cloud_cost_management_read + summary: Get custom allocation rule tags: - Cloud Cost Management - x-permission: - operator: OR - permissions: - - cloud_cost_management_write patch: - description: Update the status of an Azure config (active/archived). - operationId: UpdateCostAzureUCConfigs + description: |- + Update an existing custom allocation rule with new filters and allocation strategy. + + **Strategy Methods:** + - **PROPORTIONAL/EVEN**: Allocates costs proportionally/evenly based on existing costs. Requires: granularity, allocated_by_tag_keys. Optional: based_on_costs, allocated_by_filters, evaluate_grouped_by_tag_keys, evaluate_grouped_by_filters. + - **PROPORTIONAL_TIMESERIES/EVEN_TIMESERIES**: Allocates based on timeseries data. Requires: granularity, based_on_timeseries. Optional: evaluate_grouped_by_tag_keys. + - **PERCENT**: Allocates fixed percentages to specific tags. Requires: allocated_by (array of percentage allocations). + - **USAGE_METRIC**: Allocates based on usage metrics (implementation varies). + + **Filter Conditions:** + - Use **value** for single-value conditions: "is", "is not", "contains", "=", "!=", "like", "not like" + - Use **values** for multi-value conditions: "in", "not in" + - Cannot use both value and values simultaneously. + + **Supported operators**: is, is not, contains, in, not in, =, !=, like, not like + operationId: UpdateCustomAllocationRule parameters: - - $ref: '#/components/parameters/CloudAccountID' + - description: The unique identifier of the custom allocation rule + in: path + name: rule_id + required: true + schema: + format: int64 + type: integer requestBody: content: application/json: + examples: + default: + value: + data: + attributes: + costs_to_allocate: + - condition: is + tag: account_id + value: '123456789' + - condition: in + tag: environment + value: '' + values: + - production + - staging + enabled: true + order_id: 1 + provider: + - aws + - gcp + rule_name: example-arbitrary-cost-rule + strategy: + allocated_by_tag_keys: + - team + - environment + based_on_costs: + - condition: is + tag: service + value: web-api + - condition: not in + tag: team + value: '' + values: + - legacy + - deprecated + granularity: daily + method: proportional + type: shared + type: upsert_arbitrary_rule schema: - $ref: '#/components/schemas/AzureUCConfigPatchRequest' + $ref: '#/components/schemas/ArbitraryCostUpsertRequest' required: true responses: '200': content: application/json: + examples: + default: + value: + data: + attributes: + costs_to_allocate: + - condition: is + tag: account_id + value: '123456789' + created: '2024-01-01T00:00:00+00:00' + enabled: true + order_id: 1 + provider: + - aws + rule_name: example-arbitrary-cost-rule + strategy: + allocated_by_tag_keys: + - team + granularity: daily + method: proportional + type: shared + updated: '2024-01-01T00:00:00+00:00' + version: 1 + id: '123' + type: arbitrary_rule schema: - $ref: '#/components/schemas/AzureUCConfigPairsResponse' + $ref: '#/components/schemas/ArbitraryRuleResponse' description: OK - '400': + '429': + $ref: '#/components/responses/TooManyRequestsResponse' + security: + - apiKeyAuth: [] + appKeyAuth: [] + - AuthZ: + - cloud_cost_management_write + summary: Update custom allocation rule + tags: + - Cloud Cost Management + /api/v2/cost/aws_cur_config: + get: + description: List the AWS CUR configs. + operationId: ListCostAWSCURConfigs + responses: + '200': content: application/json: + examples: + default: + value: + data: + - attributes: + account_id: '123456789123' + bucket_name: dd-cost-bucket + bucket_region: us-east-1 + created_at: '2023-01-01T12:00:00.000000' + error_messages: [] + months: 36 + report_name: dd-report-name + report_prefix: dd-report-prefix + status: active + status_updated_at: '2023-01-01T12:00:00.000000' + updated_at: '2023-01-01T12:00:00.000000' + id: '123' + type: aws_cur_config schema: - $ref: '#/components/schemas/APIErrorResponse' - description: Bad Request + $ref: '#/components/schemas/AwsCURConfigsResponse' + description: OK '403': content: application/json: schema: $ref: '#/components/schemas/APIErrorResponse' description: Forbidden - '404': - content: - application/json: - schema: - $ref: '#/components/schemas/APIErrorResponse' - description: Not Found '429': $ref: '#/components/responses/TooManyRequestsResponse' security: - apiKeyAuth: [] appKeyAuth: [] - AuthZ: - - cloud_cost_management_write - summary: Update Cloud Cost Management Azure config + - cloud_cost_management_read + summary: List Cloud Cost Management AWS CUR configs tags: - Cloud Cost Management x-permission: operator: OR permissions: - - cloud_cost_management_write - /api/v2/cost/budget: - put: - description: Create a new budget or update an existing one. - operationId: UpsertBudget + - cloud_cost_management_read + post: + description: Create a Cloud Cost Management account for an AWS CUR config. + operationId: CreateCostAWSCURConfig requestBody: content: application/json: + examples: + default: + value: + data: + attributes: + account_filters: + excluded_accounts: + - '123456789123' + - '123456789143' + include_new_accounts: true + included_accounts: + - '123456789123' + - '123456789143' + account_id: '123456789123' + bucket_name: dd-cost-bucket + bucket_region: us-east-1 + report_name: dd-report-name + report_prefix: dd-report-prefix + type: aws_cur_config_post_request schema: - $ref: '#/components/schemas/BudgetWithEntries' + $ref: '#/components/schemas/AwsCURConfigPostRequest' required: true responses: '200': content: application/json: + examples: + default: + value: + data: + attributes: + account_filters: + excluded_accounts: + - '123456789124' + - '123456789125' + include_new_accounts: true + account_id: '123456789123' + bucket_name: dd-cost-bucket + bucket_region: us-east-1 + created_at: '2023-01-01T12:00:00.000000' + error_messages: [] + months: 36 + report_name: dd-report-name + report_prefix: dd-report-prefix + status: active + status_updated_at: '2023-01-01T12:00:00.000000' + updated_at: '2023-01-01T12:00:00.000000' + id: '123456789123' + type: aws_cur_config schema: - $ref: '#/components/schemas/BudgetWithEntries' + $ref: '#/components/schemas/AwsCurConfigResponse' description: OK '400': - $ref: '#/components/responses/BadRequestResponse' - '404': - $ref: '#/components/responses/NotFoundResponse' + content: + application/json: + schema: + $ref: '#/components/schemas/APIErrorResponse' + description: Bad Request + '403': + content: + application/json: + schema: + $ref: '#/components/schemas/APIErrorResponse' + description: Forbidden '429': $ref: '#/components/responses/TooManyRequestsResponse' security: @@ -344,20 +923,34 @@ paths: appKeyAuth: [] - AuthZ: - cloud_cost_management_write - summary: Create or update a budget + summary: Create Cloud Cost Management AWS CUR config tags: - Cloud Cost Management - /api/v2/cost/budget/{budget_id}: + x-permission: + operator: OR + permissions: + - cloud_cost_management_write + /api/v2/cost/aws_cur_config/{cloud_account_id}: delete: - description: Delete a budget. - operationId: DeleteBudget + description: Archive a Cloud Cost Management Account. + operationId: DeleteCostAWSCURConfig parameters: - - $ref: '#/components/parameters/BudgetID' + - $ref: '#/components/parameters/CloudAccountID' responses: '204': description: No Content '400': - $ref: '#/components/responses/BadRequestResponse' + content: + application/json: + schema: + $ref: '#/components/schemas/APIErrorResponse' + description: Bad Request + '404': + content: + application/json: + schema: + $ref: '#/components/schemas/APIErrorResponse' + description: Not Found '429': $ref: '#/components/responses/TooManyRequestsResponse' security: @@ -365,25 +958,54 @@ paths: appKeyAuth: [] - AuthZ: - cloud_cost_management_write - summary: Delete a budget + summary: Delete Cloud Cost Management AWS CUR config tags: - Cloud Cost Management + x-permission: + operator: OR + permissions: + - cloud_cost_management_write get: - description: Get a budget. - operationId: GetBudget + description: Get a specific AWS CUR config. + operationId: GetCostAWSCURConfig parameters: - - $ref: '#/components/parameters/BudgetID' + - description: The unique identifier of the cloud account + in: path + name: cloud_account_id + required: true + schema: + format: int64 + type: integer responses: '200': content: application/json: + examples: + default: + value: + data: + attributes: + account_filters: + excluded_accounts: + - '123456789124' + - '123456789125' + include_new_accounts: true + account_id: '123456789123' + bucket_name: dd-cost-bucket + bucket_region: us-east-1 + created_at: '2023-01-01T12:00:00.000000' + error_messages: [] + months: 36 + report_name: dd-report-name + report_prefix: dd-report-prefix + status: active + status_updated_at: '2023-01-01T12:00:00.000000' + updated_at: '2023-01-01T12:00:00.000000' + id: '123456789123' + type: aws_cur_config schema: - $ref: '#/components/schemas/BudgetWithEntries' + $ref: '#/components/schemas/AwsCurConfigResponse' description: OK - '400': - $ref: '#/components/responses/BadRequestResponse' - '404': - $ref: '#/components/responses/NotFoundResponse' '429': $ref: '#/components/responses/TooManyRequestsResponse' security: @@ -391,72 +1013,120 @@ paths: appKeyAuth: [] - AuthZ: - cloud_cost_management_read - summary: Get a budget + summary: Get cost AWS CUR config tags: - Cloud Cost Management - /api/v2/cost/budgets: - get: - description: List budgets. - operationId: ListBudgets + patch: + description: Update the status (active/archived) and/or account filtering configuration of an AWS CUR config. + operationId: UpdateCostAWSCURConfig + parameters: + - $ref: '#/components/parameters/CloudAccountID' + requestBody: + content: + application/json: + examples: + default: + value: + data: + attributes: + account_filters: + excluded_accounts: + - '123456789123' + - '123456789143' + include_new_accounts: true + included_accounts: + - '123456789123' + - '123456789143' + is_enabled: true + type: aws_cur_config_patch_request + schema: + $ref: '#/components/schemas/AwsCURConfigPatchRequest' + required: true responses: '200': content: application/json: + examples: + default: + value: + data: + - attributes: + account_id: '123456789123' + bucket_name: dd-cost-bucket + bucket_region: us-east-1 + created_at: '2023-01-01T12:00:00.000000' + error_messages: [] + months: 36 + report_name: dd-report-name + report_prefix: dd-report-prefix + status: active + status_updated_at: '2023-01-01T12:00:00.000000' + updated_at: '2023-01-01T12:00:00.000000' + id: '123' + type: aws_cur_config schema: - $ref: '#/components/schemas/BudgetArray' + $ref: '#/components/schemas/AwsCURConfigsResponse' description: OK + '403': + content: + application/json: + schema: + $ref: '#/components/schemas/APIErrorResponse' + description: Forbidden + '404': + content: + application/json: + schema: + $ref: '#/components/schemas/APIErrorResponse' + description: Not Found '429': $ref: '#/components/responses/TooManyRequestsResponse' security: - apiKeyAuth: [] appKeyAuth: [] - AuthZ: - - cloud_cost_management_read - summary: List budgets + - cloud_cost_management_write + summary: Update Cloud Cost Management AWS CUR config tags: - Cloud Cost Management - /api/v2/cost/custom_costs: + x-permission: + operator: OR + permissions: + - cloud_cost_management_write + /api/v2/cost/azure_uc_config: get: - description: List the Custom Costs files. - operationId: ListCustomCostsFiles - parameters: - - description: Page number for pagination - in: query - name: page[number] - schema: - format: int64 - type: integer - - description: Page size for pagination - in: query - name: page[size] - schema: - default: 100 - format: int64 - type: integer - - description: Filter by file status - in: query - name: filter[status] - schema: - type: string - - description: Sort key with optional descending prefix - in: query - name: sort - schema: - default: created_at - type: string + description: List the Azure configs. + operationId: ListCostAzureUCConfigs responses: '200': content: application/json: + examples: + default: + value: + data: + - attributes: + configs: + - account_id: 1234abcd-1234-abcd-1234-1234abcd1234 + client_id: 1234abcd-1234-abcd-1234-1234abcd1234 + created_at: '2023-01-01T12:00:00.000000' + dataset_type: actual + error_messages: [] + export_name: dd-actual-export + export_path: dd-export-path + id: '123456789123' + months: 36 + scope: /subscriptions/1234abcd-1234-abcd-1234-1234abcd1234 + status: active + status_updated_at: '2023-01-01T12:00:00.000000' + storage_account: dd-storage-account + storage_container: dd-storage-container + updated_at: '2023-01-01T12:00:00.000000' + id: '123456789123' + type: azure_uc_configs schema: - $ref: '#/components/schemas/CustomCostsFileListResponse' + $ref: '#/components/schemas/AzureUCConfigsResponse' description: OK - '400': - content: - application/json: - schema: - $ref: '#/components/schemas/APIErrorResponse' - description: Bad Request '403': content: application/json: @@ -470,25 +1140,71 @@ paths: appKeyAuth: [] - AuthZ: - cloud_cost_management_read - summary: List Custom Costs files + summary: List Cloud Cost Management Azure configs tags: - Cloud Cost Management - put: - description: Upload a Custom Costs file. - operationId: UploadCustomCostsFile + x-permission: + operator: OR + permissions: + - cloud_cost_management_read + post: + description: Create a Cloud Cost Management account for an Azure config. + operationId: CreateCostAzureUCConfigs requestBody: content: application/json: + examples: + default: + value: + data: + attributes: + account_id: 1234abcd-1234-abcd-1234-1234abcd1234 + actual_bill_config: + export_name: dd-actual-export + export_path: dd-export-path + storage_account: dd-storage-account + storage_container: dd-storage-container + amortized_bill_config: + export_name: dd-actual-export + export_path: dd-export-path + storage_account: dd-storage-account + storage_container: dd-storage-container + client_id: 1234abcd-1234-abcd-1234-1234abcd1234 + scope: /subscriptions/1234abcd-1234-abcd-1234-1234abcd1234 + type: azure_uc_config_post_request schema: - $ref: '#/components/schemas/CustomCostsFileUploadRequest' + $ref: '#/components/schemas/AzureUCConfigPostRequest' required: true responses: - '202': + '200': content: application/json: + examples: + default: + value: + data: + attributes: + configs: + - account_id: 1234abcd-1234-abcd-1234-1234abcd1234 + client_id: 1234abcd-1234-abcd-1234-1234abcd1234 + created_at: '2023-01-01T12:00:00.000000' + dataset_type: actual + error_messages: [] + export_name: dd-actual-export + export_path: dd-export-path + id: '123456789123' + months: 36 + scope: /subscriptions/1234abcd-1234-abcd-1234-1234abcd1234 + status: active + status_updated_at: '2023-01-01T12:00:00.000000' + storage_account: dd-storage-account + storage_container: dd-storage-container + updated_at: '2023-01-01T12:00:00.000000' + id: '123456789123' + type: azure_uc_configs schema: - $ref: '#/components/schemas/CustomCostsFileUploadResponse' - description: Accepted + $ref: '#/components/schemas/AzureUCConfigPairsResponse' + description: OK '400': content: application/json: @@ -508,24 +1224,28 @@ paths: appKeyAuth: [] - AuthZ: - cloud_cost_management_write - summary: Upload Custom Costs file + summary: Create Cloud Cost Management Azure configs tags: - Cloud Cost Management - /api/v2/cost/custom_costs/{file_id}: + x-permission: + operator: OR + permissions: + - cloud_cost_management_write + /api/v2/cost/azure_uc_config/{cloud_account_id}: delete: - description: Delete the specified Custom Costs file. - operationId: DeleteCustomCostsFile + description: Archive a Cloud Cost Management Account. + operationId: DeleteCostAzureUCConfig parameters: - - $ref: '#/components/parameters/FileID' + - $ref: '#/components/parameters/CloudAccountID' responses: '204': description: No Content - '403': + '400': content: application/json: schema: $ref: '#/components/schemas/APIErrorResponse' - description: Forbidden + description: Bad Request '404': content: application/json: @@ -539,33 +1259,54 @@ paths: appKeyAuth: [] - AuthZ: - cloud_cost_management_write - summary: Delete Custom Costs file + summary: Delete Cloud Cost Management Azure config tags: - Cloud Cost Management + x-permission: + operator: OR + permissions: + - cloud_cost_management_write get: - description: Fetch the specified Custom Costs file. - operationId: GetCustomCostsFile + description: Get a specific Azure config. + operationId: GetCostAzureUCConfig parameters: - - $ref: '#/components/parameters/FileID' + - description: The unique identifier of the cloud account + in: path + name: cloud_account_id + required: true + schema: + format: int64 + type: integer responses: '200': content: application/json: + examples: + default: + value: + data: + attributes: + configs: + - account_id: 1234abcd-1234-abcd-1234-1234abcd1234 + client_id: 1234abcd-1234-abcd-1234-1234abcd1234 + created_at: '2023-01-01T12:00:00.000000' + dataset_type: actual + error_messages: [] + export_name: dd-actual-export + export_path: dd-export-path + id: '123456789123' + months: 36 + scope: /subscriptions/1234abcd-1234-abcd-1234-1234abcd1234 + status: active + status_updated_at: '2023-01-01T12:00:00.000000' + storage_account: dd-storage-account + storage_container: dd-storage-container + updated_at: '2023-01-01T12:00:00.000000' + id: '123456789123' + type: azure_uc_configs schema: - $ref: '#/components/schemas/CustomCostsFileGetResponse' + $ref: '#/components/schemas/UCConfigPair' description: OK - '403': - content: - application/json: - schema: - $ref: '#/components/schemas/APIErrorResponse' - description: Forbidden - '404': - content: - application/json: - schema: - $ref: '#/components/schemas/APIErrorResponse' - description: Not Found '429': $ref: '#/components/responses/TooManyRequestsResponse' security: @@ -573,1633 +1314,8985 @@ paths: appKeyAuth: [] - AuthZ: - cloud_cost_management_read - summary: Get Custom Costs file + summary: Get cost Azure UC config tags: - Cloud Cost Management - /api/v2/cost/gcp_uc_config: - get: - description: List the GCP Usage Cost configs. - operationId: ListCostGCPUsageCostConfigs + patch: + description: Update the status of an Azure config (active/archived). + operationId: UpdateCostAzureUCConfigs + parameters: + - $ref: '#/components/parameters/CloudAccountID' + requestBody: + content: + application/json: + examples: + default: + value: + data: + attributes: + is_enabled: true + type: azure_uc_config_patch_request + schema: + $ref: '#/components/schemas/AzureUCConfigPatchRequest' + required: true responses: '200': content: application/json: + examples: + default: + value: + data: + attributes: + configs: + - account_id: 1234abcd-1234-abcd-1234-1234abcd1234 + client_id: 1234abcd-1234-abcd-1234-1234abcd1234 + created_at: '2023-01-01T12:00:00.000000' + dataset_type: actual + error_messages: [] + export_name: dd-actual-export + export_path: dd-export-path + id: '123456789123' + months: 36 + scope: /subscriptions/1234abcd-1234-abcd-1234-1234abcd1234 + status: active + status_updated_at: '2023-01-01T12:00:00.000000' + storage_account: dd-storage-account + storage_container: dd-storage-container + updated_at: '2023-01-01T12:00:00.000000' + id: '123456789123' + type: azure_uc_configs schema: - $ref: '#/components/schemas/GCPUsageCostConfigsResponse' + $ref: '#/components/schemas/AzureUCConfigPairsResponse' description: OK - '403': + '400': + content: + application/json: + schema: + $ref: '#/components/schemas/APIErrorResponse' + description: Bad Request + '403': content: application/json: schema: $ref: '#/components/schemas/APIErrorResponse' description: Forbidden + '404': + content: + application/json: + schema: + $ref: '#/components/schemas/APIErrorResponse' + description: Not Found '429': $ref: '#/components/responses/TooManyRequestsResponse' security: - apiKeyAuth: [] appKeyAuth: [] - AuthZ: - - cloud_cost_management_read - summary: List Cloud Cost Management GCP Usage Cost configs + - cloud_cost_management_write + summary: Update Cloud Cost Management Azure config tags: - Cloud Cost Management x-permission: operator: OR permissions: - - cloud_cost_management_read + - cloud_cost_management_write + /api/v2/cost/budget: + put: + description: Create a new budget or update an existing one. + operationId: UpsertBudget + requestBody: + content: + application/json: + examples: + default: + value: + data: + attributes: + created_at: 1738258683590 + created_by: 00000000-0a0a-0a0a-aaa0-00000000000a + end_month: 202502 + metrics_query: aws.cost.amortized{service:ec2} by {service} + name: my budget + org_id: 123 + start_month: 202501 + total_amount: 1000 + updated_at: 1738258683590 + updated_by: 00000000-0a0a-0a0a-aaa0-00000000000a + id: 00000000-0a0a-0a0a-aaa0-00000000000a + type: '' + schema: + $ref: '#/components/schemas/BudgetWithEntries' + required: true + responses: + '200': + content: + application/json: + examples: + default: + value: + data: + attributes: + created_at: 1738258683590 + created_by: 00000000-0a0a-0a0a-aaa0-00000000000a + end_month: 202502 + entries: + - amount: 500 + month: 202501 + tag_filters: + - tag_key: service + tag_value: ec2 + metrics_query: aws.cost.amortized{service:ec2} by {service} + name: my budget + org_id: 123 + start_month: 202501 + total_amount: 1000 + updated_at: 1738258683590 + updated_by: 00000000-0a0a-0a0a-aaa0-00000000000a + id: 00000000-0a0a-0a0a-aaa0-00000000000a + type: budget + schema: + $ref: '#/components/schemas/BudgetWithEntries' + description: OK + '400': + $ref: '#/components/responses/BadRequestResponse' + '404': + $ref: '#/components/responses/NotFoundResponse' + '429': + $ref: '#/components/responses/TooManyRequestsResponse' + security: + - apiKeyAuth: [] + appKeyAuth: [] + summary: Create or update a budget + tags: + - Cloud Cost Management + /api/v2/cost/budget/csv/validate: post: - description: Create a Cloud Cost Management account for an GCP Usage Cost config. - operationId: CreateCostGCPUsageCostConfig + operationId: ValidateCsvBudget + responses: + '200': + content: + application/json: + examples: + default: + value: + errors: [] + schema: + $ref: '#/components/schemas/ValidationResponse' + description: OK + '429': + $ref: '#/components/responses/TooManyRequestsResponse' + security: [] + summary: Validate CSV budget + tags: + - Cloud Cost Management + /api/v2/cost/budget/custom-forecast: + put: + description: |- + Create or replace the custom forecast for an existing budget. + Pass an empty `entries` list to delete the custom forecast for the budget. + operationId: UpsertCustomForecast requestBody: content: application/json: + examples: + default: + value: + data: + attributes: + budget_uid: 00000000-0000-0000-0000-000000000001 + entries: + - amount: 400 + month: 202501 + tag_filters: + - tag_key: service + tag_value: ec2 + - amount: 450 + month: 202502 + tag_filters: + - tag_key: service + tag_value: ec2 + id: '' + type: custom_forecast schema: - $ref: '#/components/schemas/GCPUsageCostConfigPostRequest' + $ref: '#/components/schemas/CustomForecastUpsertRequest' required: true responses: '200': content: application/json: + examples: + default: + value: + data: + attributes: + budget_uid: 00000000-0000-0000-0000-000000000001 + created_at: 1738258683590 + created_by: 00000000-0a0a-0a0a-aaa0-00000000000a + entries: + - amount: 400 + month: 202501 + tag_filters: + - tag_key: service + tag_value: ec2 + - amount: 450 + month: 202502 + tag_filters: + - tag_key: service + tag_value: ec2 + updated_at: 1738258683590 + updated_by: 00000000-0a0a-0a0a-aaa0-00000000000a + id: 11111111-1111-1111-1111-111111111111 + type: custom_forecast schema: - $ref: '#/components/schemas/GCPUsageCostConfigResponse' + $ref: '#/components/schemas/CustomForecastResponse' description: OK '400': + $ref: '#/components/responses/BadRequestResponse' + '404': + $ref: '#/components/responses/NotFoundResponse' + '429': + $ref: '#/components/responses/TooManyRequestsResponse' + security: + - apiKeyAuth: [] + appKeyAuth: [] + summary: Create or replace a budget's custom forecast + tags: + - Cloud Cost Management + /api/v2/cost/budget/validate: + post: + description: Validate a budget configuration without creating or modifying it + operationId: ValidateBudget + requestBody: + content: + application/json: + examples: + default: + value: + data: + attributes: + created_at: 1738258683590 + created_by: 00000000-0a0a-0a0a-aaa0-00000000000a + end_month: 202502 + entries: + - amount: 500 + month: 202501 + tag_filters: + - tag_key: service + tag_value: ec2 + - amount: 500 + month: 202502 + tag_filters: + - tag_key: service + tag_value: ec2 + metrics_query: aws.cost.amortized{service:ec2} by {service} + name: my budget + org_id: 123 + start_month: 202501 + total_amount: 1000 + updated_at: 1738258683590 + updated_by: 00000000-0a0a-0a0a-aaa0-00000000000a + id: '1' + type: budget + schema: + $ref: '#/components/schemas/BudgetValidationRequest' + required: true + responses: + '200': content: application/json: + examples: + default: + value: + data: + attributes: + errors: [] + valid: true + id: budget_validation + type: budget_validation schema: - $ref: '#/components/schemas/APIErrorResponse' - description: Bad Request - '403': + $ref: '#/components/schemas/BudgetValidationResponse' + description: OK + '429': + $ref: '#/components/responses/TooManyRequestsResponse' + security: + - apiKeyAuth: [] + appKeyAuth: [] + summary: Validate budget + tags: + - Cloud Cost Management + /api/v2/cost/budget/{budget_id}: + delete: + description: Delete a budget + operationId: DeleteBudget + parameters: + - $ref: '#/components/parameters/BudgetID' + responses: + '204': + description: No Content + '429': + $ref: '#/components/responses/TooManyRequestsResponse' + security: + - apiKeyAuth: [] + appKeyAuth: [] + summary: Delete budget + tags: + - Cloud Cost Management + get: + description: Get a budget by ID. Pass `actual=true` or `forecast=true` to include cost data in the response. Use `start` and `end` (millisecond epochs, both required) to set the cost window. When `forecast=true`, each entry also includes `ootb_forecast` (the ML forecast before overrides) and `custom_forecast` (`null` if no override is set, a number if one is). + operationId: GetBudget + parameters: + - $ref: '#/components/parameters/BudgetID' + - description: When `true`, includes actual cost data in the response. + in: query + name: actual + required: false + schema: + type: boolean + - description: When `true`, includes forecast cost data in the response, including `ootb_forecast` and `custom_forecast` per entry. + in: query + name: forecast + required: false + schema: + type: boolean + - description: Start of the cost window in milliseconds since epoch. Must be used together with `end`. + in: query + name: start + required: false + schema: + format: int64 + type: integer + - description: End of the cost window in milliseconds since epoch. Must be used together with `start`. + in: query + name: end + required: false + schema: + format: int64 + type: integer + responses: + '200': content: application/json: + examples: + default: + value: + data: + attributes: + costs: + actual: 850.25 + amount: 1000 + forecast: 1100.5 + ootb_forecast: 1100.5 + costs_period_end: 1740873600000 + costs_period_start: 1738281600000 + costs_unit: + family: currency + id: '1' + name: dollar + plural: dollars + scale_factor: 1 + short_name: $ + created_at: 1738258683590 + created_by: 00000000-0a0a-0a0a-aaa0-00000000000a + end_month: 202502 + entries: + - amount: 500 + costs: + actual: 425.5 + amount: 500 + custom_forecast: null + forecast: 550.25 + ootb_forecast: 550.25 + month: 202501 + tag_filters: + - tag_key: service + tag_value: ec2 + metrics_query: aws.cost.amortized{service:ec2} by {service} + name: my budget + org_id: 123 + start_month: 202501 + total_amount: 1000 + updated_at: 1738258683590 + updated_by: 00000000-0a0a-0a0a-aaa0-00000000000a + id: 00000000-0a0a-0a0a-aaa0-00000000000a + type: budget schema: - $ref: '#/components/schemas/APIErrorResponse' - description: Forbidden + $ref: '#/components/schemas/BudgetWithEntries' + description: OK + '400': + $ref: '#/components/responses/BadRequestResponse' + '404': + $ref: '#/components/responses/NotFoundResponse' '429': $ref: '#/components/responses/TooManyRequestsResponse' security: - apiKeyAuth: [] appKeyAuth: [] - - AuthZ: - - cloud_cost_management_write - summary: Create Cloud Cost Management GCP Usage Cost config + summary: Get budget tags: - Cloud Cost Management - x-permission: - operator: OR - permissions: - - cloud_cost_management_write - /api/v2/cost/gcp_uc_config/{cloud_account_id}: + /api/v2/cost/budget/{budget_id}/custom-forecast: delete: - description: Archive a Cloud Cost Management account. - operationId: DeleteCostGCPUsageCostConfig + description: Delete the custom forecast for a budget. + operationId: DeleteCustomForecast parameters: - - $ref: '#/components/parameters/CloudAccountID' + - $ref: '#/components/parameters/BudgetID' responses: '204': description: No Content '400': + $ref: '#/components/responses/BadRequestResponse' + '404': + $ref: '#/components/responses/NotFoundResponse' + '429': + $ref: '#/components/responses/TooManyRequestsResponse' + security: + - apiKeyAuth: [] + appKeyAuth: [] + summary: Delete a budget's custom forecast + tags: + - Cloud Cost Management + get: + description: Get the custom forecast for a budget. + operationId: GetCustomForecast + parameters: + - $ref: '#/components/parameters/BudgetID' + responses: + '200': content: application/json: + examples: + default: + value: + data: + attributes: + budget_uid: 00000000-0000-0000-0000-000000000001 + created_at: 1738258683590 + created_by: 00000000-0a0a-0a0a-aaa0-00000000000a + entries: + - amount: 400 + month: 202501 + tag_filters: + - tag_key: service + tag_value: ec2 + - amount: 450 + month: 202502 + tag_filters: + - tag_key: service + tag_value: ec2 + updated_at: 1738258683590 + updated_by: 00000000-0a0a-0a0a-aaa0-00000000000a + id: 11111111-1111-1111-1111-111111111111 + type: custom_forecast schema: - $ref: '#/components/schemas/APIErrorResponse' - description: Bad Request + $ref: '#/components/schemas/CustomForecastResponse' + description: OK + '400': + $ref: '#/components/responses/BadRequestResponse' '404': + $ref: '#/components/responses/NotFoundResponse' + '429': + $ref: '#/components/responses/TooManyRequestsResponse' + security: + - apiKeyAuth: [] + appKeyAuth: [] + summary: Get a budget's custom forecast + tags: + - Cloud Cost Management + /api/v2/cost/budgets: + get: + description: List budgets. + operationId: ListBudgets + responses: + '200': content: application/json: + examples: + default: + value: + data: + - attributes: + created_at: 1741011342772 + created_by: user1 + end_month: 202502 + metrics_query: aws.cost.amortized{service:ec2} by {service} + name: my budget + org_id: 123 + start_month: 202501 + total_amount: 1000 + updated_at: 1741011342772 + updated_by: user2 + id: 00000000-0a0a-0a0a-aaa0-00000000000a + type: budget schema: - $ref: '#/components/schemas/APIErrorResponse' - description: Not Found + $ref: '#/components/schemas/BudgetArray' + description: OK '429': $ref: '#/components/responses/TooManyRequestsResponse' security: - apiKeyAuth: [] appKeyAuth: [] - - AuthZ: - - cloud_cost_management_write - summary: Delete Cloud Cost Management GCP Usage Cost config + summary: List budgets tags: - Cloud Cost Management - x-permission: - operator: OR - permissions: - - cloud_cost_management_write - patch: - description: Update the status of an GCP Usage Cost config (active/archived). - operationId: UpdateCostGCPUsageCostConfig + /api/v2/cost/commitments/commitment-list: + get: + description: Get a list of individual cloud commitments (Reserved Instances or Savings Plans) with their utilization details. The response schema varies based on the provider, product, and commitment type. + operationId: GetCommitmentsCommitmentList parameters: - - $ref: '#/components/parameters/CloudAccountID' - requestBody: - content: - application/json: - schema: - $ref: '#/components/schemas/GCPUsageCostConfigPatchRequest' - required: true + - $ref: '#/components/parameters/CommitmentsProvider' + - $ref: '#/components/parameters/CommitmentsProduct' + - $ref: '#/components/parameters/CommitmentsStart' + - $ref: '#/components/parameters/CommitmentsEnd' + - $ref: '#/components/parameters/CommitmentsFilterBy' + - $ref: '#/components/parameters/CommitmentsCommitmentType' responses: '200': content: application/json: + examples: + default: + value: + commitments: + - commitment_id: ri-0123456789abcdef0 + expiration_date: '2025-12-31T00:00:00Z' + instance_type: m5.xlarge + offering_class: standard + operating_system: Linux + purchase_option: All Upfront + region: us-east-1 + start_date: '2023-01-01T00:00:00Z' + term_length: 1 + utilization: 0.85 schema: - $ref: '#/components/schemas/GCPUsageCostConfigResponse' + $ref: '#/components/schemas/CommitmentsListResponse' description: OK '400': content: application/json: schema: - $ref: '#/components/schemas/APIErrorResponse' + $ref: '#/components/schemas/JSONAPIErrorResponse' description: Bad Request - '403': + '429': + $ref: '#/components/responses/TooManyRequestsResponse' + security: + - apiKeyAuth: [] + appKeyAuth: [] + - AuthZ: + - cloud_cost_management_read + summary: Get commitments list + tags: + - Cloud Cost Management + x-permission: + operator: OR + permissions: + - cloud_cost_management_read + x-unstable: |- + **Note**: This endpoint is in preview and is subject to change. + If you have any feedback, contact [Datadog support](https://docs.datadoghq.com/help/). + /api/v2/cost/commitments/coverage/scalar: + get: + description: Get scalar coverage metrics for cloud commitment programs, including hours and cost coverage percentages. + operationId: GetCommitmentsCoverageScalar + parameters: + - $ref: '#/components/parameters/CommitmentsProvider' + - $ref: '#/components/parameters/CommitmentsProduct' + - $ref: '#/components/parameters/CommitmentsStart' + - $ref: '#/components/parameters/CommitmentsEnd' + - $ref: '#/components/parameters/CommitmentsFilterBy' + responses: + '200': content: application/json: + examples: + default: + value: + columns: + - name: service + type: group + values: + - - ec2 + - meta: + unit: + family: percentage + id: 17 + name: percent + plural: percent + scale_factor: 1 + short_name: '%' + name: hours_coverage + type: number + values: + - 0.78 schema: - $ref: '#/components/schemas/APIErrorResponse' - description: Forbidden - '404': + $ref: '#/components/schemas/CommitmentsCoverageScalarResponse' + description: OK + '400': content: application/json: schema: - $ref: '#/components/schemas/APIErrorResponse' - description: Not Found + $ref: '#/components/schemas/JSONAPIErrorResponse' + description: Bad Request '429': $ref: '#/components/responses/TooManyRequestsResponse' security: - apiKeyAuth: [] appKeyAuth: [] - AuthZ: - - cloud_cost_management_write - summary: Update Cloud Cost Management GCP Usage Cost config + - cloud_cost_management_read + summary: Get commitments coverage (scalar) tags: - Cloud Cost Management x-permission: operator: OR permissions: - - cloud_cost_management_write - /api/v2/cost_by_tag/active_billing_dimensions: + - cloud_cost_management_read + x-unstable: |- + **Note**: This endpoint is in preview and is subject to change. + If you have any feedback, contact [Datadog support](https://docs.datadoghq.com/help/). + /api/v2/cost/commitments/coverage/timeseries: get: - description: >- - Get active billing dimensions for cost attribution. Cost data for a - given month becomes available no later than the 19th of the following - month. - operationId: GetActiveBillingDimensions + description: Get timeseries coverage metrics for cloud commitment programs, broken down by coverage type (Reserved Instances, Savings Plans, On-Demand, and Spot) for both hours and cost. + operationId: GetCommitmentsCoverageTimeseries + parameters: + - $ref: '#/components/parameters/CommitmentsProvider' + - $ref: '#/components/parameters/CommitmentsProduct' + - $ref: '#/components/parameters/CommitmentsStart' + - $ref: '#/components/parameters/CommitmentsEnd' + - $ref: '#/components/parameters/CommitmentsFilterBy' responses: '200': content: - application/json;datetime-format=rfc3339: + application/json: + examples: + default: + value: + cost: + series: + on_demand_only: + - 1000 + - 900 + ri: + - 3600 + - 3700 + sp: + - 400 + - 400 + spot_only: + - 50 + - 50 + times: + - 1693526400 + - 1693612800 + hours: + series: + on_demand_only: + - 500 + - 450 + ri: + - 1800 + - 1850 + sp: + - 200 + - 200 + spot_only: + - 100 + - 100 + times: + - 1693526400 + - 1693612800 schema: - $ref: '#/components/schemas/ActiveBillingDimensionsResponse' + $ref: '#/components/schemas/CommitmentsCoverageTimeseriesResponse' description: OK '400': content: - application/json;datetime-format=rfc3339: + application/json: schema: - $ref: '#/components/schemas/APIErrorResponse' + $ref: '#/components/schemas/JSONAPIErrorResponse' description: Bad Request - '403': - content: - application/json;datetime-format=rfc3339: - schema: - $ref: '#/components/schemas/APIErrorResponse' - description: Forbidden - User is not authorized '429': - content: - application/json;datetime-format=rfc3339: - schema: - $ref: '#/components/schemas/APIErrorResponse' - description: Too many requests + $ref: '#/components/responses/TooManyRequestsResponse' security: - apiKeyAuth: [] appKeyAuth: [] - AuthZ: - - usage_read - summary: Get active billing dimensions for cost attribution + - cloud_cost_management_read + summary: Get commitments coverage (timeseries) tags: - - Usage Metering + - Cloud Cost Management x-permission: operator: OR permissions: - - usage_read - /api/v2/cost_by_tag/monthly_cost_attribution: + - cloud_cost_management_read + x-unstable: |- + **Note**: This endpoint is in preview and is subject to change. + If you have any feedback, contact [Datadog support](https://docs.datadoghq.com/help/). + /api/v2/cost/commitments/on-demand-hot-spots/scalar: get: - description: >- - Get monthly cost attribution by tag across multi-org and single root-org - accounts. - - Cost Attribution data for a given month becomes available no later than - the 19th of the following month. - - This API endpoint is paginated. To make sure you receive all records, - check if the value of `next_record_id` is - - set in the response. If it is, make another request and pass - `next_record_id` as a parameter. - - Pseudo code example: - - ``` - - response := GetMonthlyCostAttribution(start_month, end_month) - - cursor := response.metadata.pagination.next_record_id - - WHILE cursor != null BEGIN - sleep(5 seconds) # Avoid running into rate limit - response := GetMonthlyCostAttribution(start_month, end_month, next_record_id=cursor) - cursor := response.metadata.pagination.next_record_id - END - - ``` - - - This endpoint is only accessible for [parent-level - organizations](https://docs.datadoghq.com/account_management/multi_organization/). - This endpoint is not available in the Government (US1-FED) site. - operationId: GetMonthlyCostAttribution + description: Get scalar on-demand hot-spots data for cloud commitment programs, showing per-dimension breakdowns of on-demand spending with coverage metrics and potential savings. + operationId: GetCommitmentsOnDemandHotspotsScalar + parameters: + - $ref: '#/components/parameters/CommitmentsProvider' + - $ref: '#/components/parameters/CommitmentsProduct' + - $ref: '#/components/parameters/CommitmentsStart' + - $ref: '#/components/parameters/CommitmentsEnd' + - $ref: '#/components/parameters/CommitmentsFilterBy' + responses: + '200': + content: + application/json: + examples: + default: + value: + columns: + - name: service + type: group + values: + - - ec2 + - meta: + unit: + family: money + id: 1 + name: dollar + plural: dollars + scale_factor: 1 + short_name: $ + name: on_demand_cost + type: number + values: + - 1500 + total: + - meta: + unit: + family: money + id: 1 + name: dollar + plural: dollars + scale_factor: 1 + short_name: $ + name: on_demand_cost + type: number + values: + - 1500 + schema: + $ref: '#/components/schemas/CommitmentsOnDemandHotspotsScalarResponse' + description: OK + '400': + content: + application/json: + schema: + $ref: '#/components/schemas/JSONAPIErrorResponse' + description: Bad Request + '429': + $ref: '#/components/responses/TooManyRequestsResponse' + security: + - apiKeyAuth: [] + appKeyAuth: [] + - AuthZ: + - cloud_cost_management_read + summary: Get commitments on-demand hot spots (scalar) + tags: + - Cloud Cost Management + x-permission: + operator: OR + permissions: + - cloud_cost_management_read + x-unstable: |- + **Note**: This endpoint is in preview and is subject to change. + If you have any feedback, contact [Datadog support](https://docs.datadoghq.com/help/). + /api/v2/cost/commitments/savings/scalar: + get: + description: Get scalar savings metrics for cloud commitment programs, including realized savings and effective savings rate. + operationId: GetCommitmentsSavingsScalar + parameters: + - $ref: '#/components/parameters/CommitmentsProvider' + - $ref: '#/components/parameters/CommitmentsProduct' + - $ref: '#/components/parameters/CommitmentsStart' + - $ref: '#/components/parameters/CommitmentsEnd' + - $ref: '#/components/parameters/CommitmentsFilterBy' + responses: + '200': + content: + application/json: + examples: + default: + value: + columns: + - meta: + unit: + family: money + id: 1 + name: dollar + plural: dollars + scale_factor: 1 + short_name: $ + name: realized_savings + type: number + values: + - 2500 + - meta: + unit: + family: percentage + id: 17 + name: percent + plural: percent + scale_factor: 1 + short_name: '%' + name: effective_savings_rate + type: number + values: + - 0.33 + schema: + $ref: '#/components/schemas/CommitmentsSavingsScalarResponse' + description: OK + '400': + content: + application/json: + schema: + $ref: '#/components/schemas/JSONAPIErrorResponse' + description: Bad Request + '429': + $ref: '#/components/responses/TooManyRequestsResponse' + security: + - apiKeyAuth: [] + appKeyAuth: [] + - AuthZ: + - cloud_cost_management_read + summary: Get commitments savings (scalar) + tags: + - Cloud Cost Management + x-permission: + operator: OR + permissions: + - cloud_cost_management_read + x-unstable: |- + **Note**: This endpoint is in preview and is subject to change. + If you have any feedback, contact [Datadog support](https://docs.datadoghq.com/help/). + /api/v2/cost/commitments/savings/timeseries: + get: + description: Get timeseries savings metrics for cloud commitment programs, including actual cost, on-demand equivalent cost, realized savings, and effective savings rate over time. + operationId: GetCommitmentsSavingsTimeseries + parameters: + - $ref: '#/components/parameters/CommitmentsProvider' + - $ref: '#/components/parameters/CommitmentsProduct' + - $ref: '#/components/parameters/CommitmentsStart' + - $ref: '#/components/parameters/CommitmentsEnd' + - $ref: '#/components/parameters/CommitmentsFilterBy' + responses: + '200': + content: + application/json: + examples: + default: + value: + actual_cost: + series: + total: + - 5000 + - 5200 + times: + - 1693526400 + - 1693612800 + unit: + family: money + id: 1 + name: dollar + plural: dollars + scale_factor: 1 + short_name: $ + effective_savings_rate: + series: + total: + - 0.33 + - 0.33 + times: + - 1693526400 + - 1693612800 + on_demand_equivalent_cost: + series: + total: + - 7500 + - 7800 + times: + - 1693526400 + - 1693612800 + realized_savings: + series: + total: + - 2500 + - 2600 + times: + - 1693526400 + - 1693612800 + schema: + $ref: '#/components/schemas/CommitmentsSavingsTimeseriesResponse' + description: OK + '400': + content: + application/json: + schema: + $ref: '#/components/schemas/JSONAPIErrorResponse' + description: Bad Request + '429': + $ref: '#/components/responses/TooManyRequestsResponse' + security: + - apiKeyAuth: [] + appKeyAuth: [] + - AuthZ: + - cloud_cost_management_read + summary: Get commitments savings (timeseries) + tags: + - Cloud Cost Management + x-permission: + operator: OR + permissions: + - cloud_cost_management_read + x-unstable: |- + **Note**: This endpoint is in preview and is subject to change. + If you have any feedback, contact [Datadog support](https://docs.datadoghq.com/help/). + /api/v2/cost/commitments/utilization/scalar: + get: + description: Get scalar utilization metrics for cloud commitment programs, including utilization percentage and unused cost. + operationId: GetCommitmentsUtilizationScalar + parameters: + - $ref: '#/components/parameters/CommitmentsProvider' + - $ref: '#/components/parameters/CommitmentsProduct' + - $ref: '#/components/parameters/CommitmentsStart' + - $ref: '#/components/parameters/CommitmentsEnd' + - $ref: '#/components/parameters/CommitmentsFilterBy' + - $ref: '#/components/parameters/CommitmentsCommitmentType' + responses: + '200': + content: + application/json: + examples: + default: + value: + columns: + - name: service + type: group + values: + - - ec2 + - - rds + - meta: + unit: + family: percentage + id: 17 + name: percent + plural: percent + scale_factor: 1 + short_name: '%' + name: utilization + type: number + values: + - 0.85 + - 0.72 + schema: + $ref: '#/components/schemas/CommitmentsUtilizationScalarResponse' + description: OK + '400': + content: + application/json: + schema: + $ref: '#/components/schemas/JSONAPIErrorResponse' + description: Bad Request + '429': + $ref: '#/components/responses/TooManyRequestsResponse' + security: + - apiKeyAuth: [] + appKeyAuth: [] + - AuthZ: + - cloud_cost_management_read + summary: Get commitments utilization (scalar) + tags: + - Cloud Cost Management + x-permission: + operator: OR + permissions: + - cloud_cost_management_read + x-unstable: |- + **Note**: This endpoint is in preview and is subject to change. + If you have any feedback, contact [Datadog support](https://docs.datadoghq.com/help/). + /api/v2/cost/commitments/utilization/timeseries: + get: + description: Get timeseries utilization metrics for cloud commitment programs, including used and unused cost series over time. + operationId: GetCommitmentsUtilizationTimeseries + parameters: + - $ref: '#/components/parameters/CommitmentsProvider' + - $ref: '#/components/parameters/CommitmentsProduct' + - $ref: '#/components/parameters/CommitmentsStart' + - $ref: '#/components/parameters/CommitmentsEnd' + - $ref: '#/components/parameters/CommitmentsFilterBy' + - $ref: '#/components/parameters/CommitmentsCommitmentType' + responses: + '200': + content: + application/json: + examples: + default: + value: + series: + unused: + - 750 + - 600 + used: + - 4250 + - 4400 + times: + - 1693526400 + - 1693612800 + unit: + family: money + id: 1 + name: dollar + plural: dollars + scale_factor: 1 + short_name: $ + schema: + $ref: '#/components/schemas/CommitmentsUtilizationTimeseriesResponse' + description: OK + '400': + content: + application/json: + schema: + $ref: '#/components/schemas/JSONAPIErrorResponse' + description: Bad Request + '429': + $ref: '#/components/responses/TooManyRequestsResponse' + security: + - apiKeyAuth: [] + appKeyAuth: [] + - AuthZ: + - cloud_cost_management_read + summary: Get commitments utilization (timeseries) + tags: + - Cloud Cost Management + x-permission: + operator: OR + permissions: + - cloud_cost_management_read + x-unstable: |- + **Note**: This endpoint is in preview and is subject to change. + If you have any feedback, contact [Datadog support](https://docs.datadoghq.com/help/). + /api/v2/cost/custom_costs: + get: + description: List the Custom Costs files. + operationId: ListCustomCostsFiles parameters: - - description: >- - Datetime in ISO-8601 format, UTC, precise to month: `[YYYY-MM]` for - cost beginning in this month. + - description: Page number for pagination in: query - name: start_month - required: true + name: page[number] schema: - format: date-time - type: string - - description: >- - Datetime in ISO-8601 format, UTC, precise to month: `[YYYY-MM]` for - cost ending this month. + format: int64 + type: integer + - description: Page size for pagination in: query - name: end_month - required: false + name: page[size] schema: - format: date-time - type: string - - description: >- - Comma-separated list specifying cost types (e.g., - `_on_demand_cost`, - `_committed_cost`, - `_total_cost`) and the - - proportions (`_percentage_in_org`, - `_percentage_in_account`). Use `*` to retrieve - all fields. - - Example: - `infra_host_on_demand_cost,infra_host_percentage_in_account` - - To obtain the complete list of active billing dimensions that can be - used to replace - - `` in the field names, make a request to the [Get - active billing dimensions - API](https://docs.datadoghq.com/api/latest/usage-metering/#get-active-billing-dimensions-for-cost-attribution). + default: 100 + format: int64 + type: integer + - description: Filter by file status in: query - name: fields - required: true + name: filter[status] schema: type: string - - description: 'The direction to sort by: `[desc, asc]`.' + - description: Filter files by name with case-insensitive substring matching. in: query - name: sort_direction - required: false - schema: - $ref: '#/components/schemas/SortDirection' - - description: >- - The billing dimension to sort by. Always sorted by total cost. - Example: `infra_host`. - in: query - name: sort_name - required: false + name: filter[name] schema: type: string - - description: >- - Comma separated list of tag keys used to group cost. If no value is - provided the cost will not be broken down by tags. - - To see which tags are available, look for the value of - `tag_config_source` in the API response. + - description: Filter by provider. in: query - name: tag_breakdown_keys - required: false + name: filter[provider] schema: - type: string - - description: >- - List following results with a next_record_id provided in the - previous query. + items: + type: string + type: array + - description: Sort key with optional descending prefix in: query - name: next_record_id - required: false + name: sort schema: + default: created_at type: string - - description: Include child org cost in the response. Defaults to `true`. - in: query - name: include_descendants - required: false - schema: - default: true - type: boolean responses: '200': content: - application/json;datetime-format=rfc3339: + application/json: + examples: + default: + value: + data: + - attributes: + billed_cost: 100.5 + billing_currency: USD + charge_period: + end: 1706745600000 + start: 1704067200000 + name: my_file.json + provider_names: + - my_provider + status: active + uploaded_at: 1704067200000 + id: 00000000-0000-0000-0000-000000000005 + type: custom_costs + meta: + total_filtered_count: 1 + version: '1' schema: - $ref: '#/components/schemas/MonthlyCostAttributionResponse' + $ref: '#/components/schemas/CustomCostsFileListResponse' description: OK '400': content: - application/json;datetime-format=rfc3339: + application/json: schema: $ref: '#/components/schemas/APIErrorResponse' description: Bad Request '403': content: - application/json;datetime-format=rfc3339: + application/json: schema: $ref: '#/components/schemas/APIErrorResponse' - description: Forbidden - User is not authorized + description: Forbidden '429': - content: - application/json;datetime-format=rfc3339: - schema: - $ref: '#/components/schemas/APIErrorResponse' - description: Too many requests + $ref: '#/components/responses/TooManyRequestsResponse' security: - apiKeyAuth: [] appKeyAuth: [] - AuthZ: - - usage_read - - billing_read - summary: Get Monthly Cost Attribution + - cloud_cost_management_read + summary: List Custom Costs files tags: - - Usage Metering + - Cloud Cost Management x-permission: - operator: AND + operator: OR permissions: - - usage_read - - billing_read -components: - schemas: - AwsCURConfigsResponse: - description: List of AWS CUR configs. - properties: - data: - description: An AWS CUR config. - items: - $ref: '#/components/schemas/AwsCURConfig' - type: array - type: object - APIErrorResponse: - description: API error response. - properties: - errors: - description: A list of errors. - example: - - Bad Request - items: - description: A list of items. - example: Bad Request - type: string - type: array - required: - - errors - type: object + - cloud_cost_management_read + put: + description: Upload a Custom Costs file. + operationId: UploadCustomCostsFile + requestBody: + content: + application/json: + examples: + default: + value: + - BilledCost: 100.5 + BillingCurrency: USD + ChargeDescription: Monthly usage charge for my service + ChargePeriodEnd: '2023-02-28' + ChargePeriodStart: '2023-02-01' + schema: + $ref: '#/components/schemas/CustomCostsFileUploadRequest' + required: true + responses: + '202': + content: + application/json: + examples: + default: + value: + data: + attributes: + billed_cost: 100.5 + billing_currency: USD + charge_period: + end: 1706745600000 + start: 1704067200000 + name: my_file.json + provider_names: + - my_provider + status: pending + uploaded_at: 1704067200000 + id: 00000000-0000-0000-0000-000000000006 + type: custom_costs + meta: + version: '1' + schema: + $ref: '#/components/schemas/CustomCostsFileUploadResponse' + description: Accepted + '400': + content: + application/json: + schema: + $ref: '#/components/schemas/APIErrorResponse' + description: Bad Request + '403': + content: + application/json: + schema: + $ref: '#/components/schemas/APIErrorResponse' + description: Forbidden + '429': + $ref: '#/components/responses/TooManyRequestsResponse' + security: + - apiKeyAuth: [] + appKeyAuth: [] + - AuthZ: + - cloud_cost_management_write + summary: Upload Custom Costs file + tags: + - Cloud Cost Management + x-permission: + operator: OR + permissions: + - cloud_cost_management_write + /api/v2/cost/custom_costs/{file_id}: + delete: + description: Delete the specified Custom Costs file. + operationId: DeleteCustomCostsFile + parameters: + - $ref: '#/components/parameters/FileID' + responses: + '204': + description: No Content + '403': + content: + application/json: + schema: + $ref: '#/components/schemas/APIErrorResponse' + description: Forbidden + '404': + content: + application/json: + schema: + $ref: '#/components/schemas/APIErrorResponse' + description: Not Found + '429': + $ref: '#/components/responses/TooManyRequestsResponse' + security: + - apiKeyAuth: [] + appKeyAuth: [] + - AuthZ: + - cloud_cost_management_write + summary: Delete Custom Costs file + tags: + - Cloud Cost Management + get: + description: Fetch the specified Custom Costs file. + operationId: GetCustomCostsFile + parameters: + - $ref: '#/components/parameters/FileID' + responses: + '200': + content: + application/json: + examples: + default: + value: + data: + attributes: + billed_cost: 100.5 + billing_currency: USD + charge_period: + end: 1706745600000 + start: 1704067200000 + content: + - BilledCost: 100.5 + BillingCurrency: USD + ChargeDescription: Monthly usage charge for my service + ChargePeriodEnd: '2023-02-28' + ChargePeriodStart: '2023-02-01' + name: my_file.json + provider_names: + - my_provider + status: active + uploaded_at: 1704067200000 + id: 00000000-0000-0000-0000-000000000007 + type: custom_costs + meta: + version: '1' + schema: + $ref: '#/components/schemas/CustomCostsFileGetResponse' + description: OK + '403': + content: + application/json: + schema: + $ref: '#/components/schemas/APIErrorResponse' + description: Forbidden + '404': + content: + application/json: + schema: + $ref: '#/components/schemas/APIErrorResponse' + description: Not Found + '429': + $ref: '#/components/responses/TooManyRequestsResponse' + security: + - apiKeyAuth: [] + appKeyAuth: [] + - AuthZ: + - cloud_cost_management_read + summary: Get Custom Costs file + tags: + - Cloud Cost Management + /api/v2/cost/gcp_uc_config: + get: + description: List the Google Cloud Usage Cost configs. + operationId: ListCostGCPUsageCostConfigs + responses: + '200': + content: + application/json: + examples: + default: + value: + data: + - attributes: + account_id: 123456_A123BC_12AB34 + bucket_name: dd-cost-bucket + created_at: '2023-01-01T12:00:00.000000' + dataset: billing + error_messages: [] + export_prefix: datadog_cloud_cost_usage_export + export_project_name: dd-cloud-cost-report + months: 36 + project_id: my-project-123 + service_account: dd-ccm-gcp-integration@my-environment.iam.gserviceaccount.com + status: active + status_updated_at: '2023-01-01T12:00:00.000000' + updated_at: '2023-01-01T12:00:00.000000' + id: '123456789123' + type: gcp_uc_config + schema: + $ref: '#/components/schemas/GCPUsageCostConfigsResponse' + description: OK + '403': + content: + application/json: + schema: + $ref: '#/components/schemas/APIErrorResponse' + description: Forbidden + '429': + $ref: '#/components/responses/TooManyRequestsResponse' + security: + - apiKeyAuth: [] + appKeyAuth: [] + - AuthZ: + - cloud_cost_management_read + summary: List Google Cloud Usage Cost configs + tags: + - Cloud Cost Management + x-permission: + operator: OR + permissions: + - cloud_cost_management_read + post: + description: Create a Cloud Cost Management account for an Google Cloud Usage Cost config. + operationId: CreateCostGCPUsageCostConfig + requestBody: + content: + application/json: + examples: + default: + value: + data: + attributes: + billing_account_id: 123456_A123BC_12AB34 + bucket_name: dd-cost-bucket + export_dataset_name: billing + export_prefix: datadog_cloud_cost_usage_export + export_project_name: dd-cloud-cost-report + service_account: dd-ccm-gcp-integration@my-environment.iam.gserviceaccount.com + type: gcp_uc_config_post_request + schema: + $ref: '#/components/schemas/GCPUsageCostConfigPostRequest' + required: true + responses: + '200': + content: + application/json: + examples: + default: + value: + data: + attributes: + account_id: 123456_A123BC_12AB34 + bucket_name: dd-cost-bucket + created_at: '2023-01-01T12:00:00.000000' + dataset: billing + error_messages: [] + export_prefix: datadog_cloud_cost_usage_export + export_project_name: dd-cloud-cost-report + months: 36 + project_id: my-project-123 + service_account: dd-ccm-gcp-integration@my-environment.iam.gserviceaccount.com + status: active + status_updated_at: '2023-01-01T12:00:00.000000' + updated_at: '2023-01-01T12:00:00.000000' + id: '123456789123' + type: gcp_uc_config + schema: + $ref: '#/components/schemas/GCPUsageCostConfigResponse' + description: OK + '400': + content: + application/json: + schema: + $ref: '#/components/schemas/APIErrorResponse' + description: Bad Request + '403': + content: + application/json: + schema: + $ref: '#/components/schemas/APIErrorResponse' + description: Forbidden + '429': + $ref: '#/components/responses/TooManyRequestsResponse' + security: + - apiKeyAuth: [] + appKeyAuth: [] + - AuthZ: + - cloud_cost_management_write + summary: Create Google Cloud Usage Cost config + tags: + - Cloud Cost Management + x-permission: + operator: OR + permissions: + - cloud_cost_management_write + /api/v2/cost/gcp_uc_config/{cloud_account_id}: + delete: + description: Archive a Cloud Cost Management account. + operationId: DeleteCostGCPUsageCostConfig + parameters: + - $ref: '#/components/parameters/CloudAccountID' + responses: + '204': + description: No Content + '400': + content: + application/json: + schema: + $ref: '#/components/schemas/APIErrorResponse' + description: Bad Request + '404': + content: + application/json: + schema: + $ref: '#/components/schemas/APIErrorResponse' + description: Not Found + '429': + $ref: '#/components/responses/TooManyRequestsResponse' + security: + - apiKeyAuth: [] + appKeyAuth: [] + - AuthZ: + - cloud_cost_management_write + summary: Delete Google Cloud Usage Cost config + tags: + - Cloud Cost Management + x-permission: + operator: OR + permissions: + - cloud_cost_management_write + get: + description: Get a specific Google Cloud Usage Cost config. + operationId: GetCostGCPUsageCostConfig + parameters: + - description: The unique identifier of the cloud account + in: path + name: cloud_account_id + required: true + schema: + format: int64 + type: integer + responses: + '200': + content: + application/json: + examples: + default: + value: + data: + attributes: + account_id: 123456_A123BC_12AB34 + bucket_name: dd-cost-bucket + created_at: '2023-01-01T12:00:00.000000' + dataset: billing + error_messages: [] + export_prefix: datadog_cloud_cost_usage_export + export_project_name: dd-cloud-cost-report + months: 36 + project_id: my-project-123 + service_account: dd-ccm-gcp-integration@my-environment.iam.gserviceaccount.com + status: active + status_updated_at: '2023-01-01T12:00:00.000000' + updated_at: '2023-01-01T12:00:00.000000' + id: '123456789123' + type: gcp_uc_config + schema: + $ref: '#/components/schemas/GcpUcConfigResponse' + description: OK + '429': + $ref: '#/components/responses/TooManyRequestsResponse' + security: + - apiKeyAuth: [] + appKeyAuth: [] + - AuthZ: + - cloud_cost_management_read + summary: Get Google Cloud Usage Cost config + tags: + - Cloud Cost Management + patch: + description: Update the status of an Google Cloud Usage Cost config (active/archived). + operationId: UpdateCostGCPUsageCostConfig + parameters: + - $ref: '#/components/parameters/CloudAccountID' + requestBody: + content: + application/json: + examples: + default: + value: + data: + attributes: + is_enabled: true + type: gcp_uc_config_patch_request + schema: + $ref: '#/components/schemas/GCPUsageCostConfigPatchRequest' + required: true + responses: + '200': + content: + application/json: + examples: + default: + value: + data: + attributes: + account_id: 123456_A123BC_12AB34 + bucket_name: dd-cost-bucket + created_at: '2023-01-01T12:00:00.000000' + dataset: billing + error_messages: [] + export_prefix: datadog_cloud_cost_usage_export + export_project_name: dd-cloud-cost-report + months: 36 + project_id: my-project-123 + service_account: dd-ccm-gcp-integration@my-environment.iam.gserviceaccount.com + status: active + status_updated_at: '2023-01-01T12:00:00.000000' + updated_at: '2023-01-01T12:00:00.000000' + id: '123456789123' + type: gcp_uc_config + schema: + $ref: '#/components/schemas/GCPUsageCostConfigResponse' + description: OK + '400': + content: + application/json: + schema: + $ref: '#/components/schemas/APIErrorResponse' + description: Bad Request + '403': + content: + application/json: + schema: + $ref: '#/components/schemas/APIErrorResponse' + description: Forbidden + '404': + content: + application/json: + schema: + $ref: '#/components/schemas/APIErrorResponse' + description: Not Found + '429': + $ref: '#/components/responses/TooManyRequestsResponse' + security: + - apiKeyAuth: [] + appKeyAuth: [] + - AuthZ: + - cloud_cost_management_write + summary: Update Google Cloud Usage Cost config + tags: + - Cloud Cost Management + x-permission: + operator: OR + permissions: + - cloud_cost_management_write + /api/v2/cost/oci_config: + get: + description: List the OCI configs. + operationId: ListCostOCIConfigs + responses: + '200': + content: + application/json: + examples: + default: + value: + data: + - attributes: + account_id: ocid1.tenancy.oc1..example + created_at: '2026-01-01T12:00:00Z' + status: active + status_updated_at: '2026-01-01T12:00:00Z' + updated_at: '2026-01-01T12:00:00Z' + id: '1' + type: oci_config + schema: + $ref: '#/components/schemas/OCIConfigsResponse' + description: OK + '403': + content: + application/json: + schema: + $ref: '#/components/schemas/APIErrorResponse' + description: Forbidden + '429': + $ref: '#/components/responses/TooManyRequestsResponse' + security: + - apiKeyAuth: [] + appKeyAuth: [] + - AuthZ: + - cloud_cost_management_read + summary: List Cloud Cost Management OCI configs + tags: + - Cloud Cost Management + x-permission: + operator: OR + permissions: + - cloud_cost_management_read + /api/v2/cost/recommendations: + post: + description: List cost recommendations matching a filter, with pagination and sorting. + operationId: SearchCostRecommendations + parameters: + - description: Number of results per page (1–10000). + in: query + name: page[size] + schema: + type: string + - description: Pagination token from a previous response. + in: query + name: page[token] + schema: + type: string + requestBody: + content: + application/json: + examples: + default: + value: + filter: '@resource_table:aws_ec2_instance' + sort: + - expression: potential_daily_savings.amount + order: DESC + schema: + $ref: '#/components/schemas/RecommendationsFilterRequest' + required: true + responses: + '200': + content: + application/json: + examples: + default: + value: + data: + - attributes: + dd_resource_key: arn:aws:ec2:us-east-1:123456789012:instance/i-1234567890abcdef0 + potential_daily_savings: + amount: 1.23 + currency: USD + recommendation_type: terminate + resource_id: i-1234567890abcdef0 + resource_type: aws_ec2_instance + tags: + - env:prod + - team:ccm + id: encoded-event-id-1 + type: recommendation + meta: + page: + filter: '@resource_table:aws_ec2_instance' + next_page_token: '' + page_size: 100 + schema: + $ref: '#/components/schemas/CostRecommendationArray' + description: OK + '429': + $ref: '#/components/responses/TooManyRequestsResponse' + security: + - apiKeyAuth: [] + appKeyAuth: [] + - AuthZ: + - cloud_cost_management_read + summary: Search cost recommendations + tags: + - Cloud Cost Management + x-unstable: |- + **Note**: This endpoint is in preview and is subject to change. + If you have any feedback, contact [Datadog support](https://docs.datadoghq.com/help/). + /api/v2/cost/tag_descriptions: + get: + description: List Cloud Cost Management tag key descriptions for the organization. Use `filter[cloud]` to scope the result to a single cloud provider; when omitted, both cross-cloud defaults and cloud-specific descriptions are returned. + operationId: ListCostTagDescriptions + parameters: + - description: Filter descriptions to a specific cloud provider (for example, `aws`). Omit to return descriptions across all clouds. + in: query + name: filter[cloud] + required: false + schema: + type: string + responses: + '200': + content: + application/json: + examples: + default: + value: + data: + - attributes: + cloud: aws + created_at: '2026-01-01T12:00:00Z' + description: AWS account that owns this cost. + source: human + tag_key: account_id + updated_at: '2026-01-01T12:00:00Z' + id: account_id + type: cost_tag_description + schema: + $ref: '#/components/schemas/CostTagDescriptionsResponse' + description: OK + '403': + content: + application/json: + schema: + $ref: '#/components/schemas/APIErrorResponse' + description: Forbidden + '429': + $ref: '#/components/responses/TooManyRequestsResponse' + security: + - apiKeyAuth: [] + appKeyAuth: [] + - AuthZ: + - cloud_cost_management_read + summary: List Cloud Cost Management tag descriptions + tags: + - Cloud Cost Management + x-permission: + operator: OR + permissions: + - cloud_cost_management_read + /api/v2/cost/tag_descriptions/{tag_key}: + delete: + description: Delete a Cloud Cost Management tag key description. When `cloud` is omitted, deletes every description for the tag key, falling back to Datadog's global default when available. When `cloud` is provided, deletes only the description scoped to that cloud provider. + operationId: DeleteCostTagDescriptionByKey + parameters: + - description: The tag key whose description is being deleted. + in: path + name: tag_key + required: true + schema: + type: string + - description: Cloud provider to scope the deletion to (for example, `aws`). Omit to delete every description for the tag key. + in: query + name: cloud + required: false + schema: + type: string + responses: + '204': + description: No Content + '400': + content: + application/json: + schema: + $ref: '#/components/schemas/APIErrorResponse' + description: Bad Request + '403': + content: + application/json: + schema: + $ref: '#/components/schemas/APIErrorResponse' + description: Forbidden + '429': + $ref: '#/components/responses/TooManyRequestsResponse' + security: + - apiKeyAuth: [] + appKeyAuth: [] + - AuthZ: + - cloud_cost_management_write + summary: Delete a Cloud Cost Management tag description + tags: + - Cloud Cost Management + x-permission: + operator: OR + permissions: + - cloud_cost_management_write + get: + description: Get the Cloud Cost Management description for a single tag key. Use `filter[cloud]` to scope the lookup to a specific cloud provider; when omitted, the response resolves the description in fallback order (cloud-specific organization override, then cloudless organization default, then Datadog's global default). + operationId: GetCostTagDescriptionByKey + parameters: + - description: The tag key whose description is being fetched. + in: path + name: tag_key + required: true + schema: + type: string + - description: Cloud provider to scope the lookup to (for example, `aws`). Omit to use the resolved fallback. + in: query + name: filter[cloud] + required: false + schema: + type: string + responses: + '200': + content: + application/json: + examples: + default: + value: + data: + attributes: + cloud: aws + created_at: '2026-01-01T12:00:00Z' + description: AWS account that owns this cost. + source: human + tag_key: account_id + updated_at: '2026-01-01T12:00:00Z' + id: account_id + type: cost_tag_description + schema: + $ref: '#/components/schemas/CostTagDescriptionResponse' + description: OK + '400': + content: + application/json: + schema: + $ref: '#/components/schemas/APIErrorResponse' + description: Bad Request + '403': + content: + application/json: + schema: + $ref: '#/components/schemas/APIErrorResponse' + description: Forbidden + '404': + content: + application/json: + schema: + $ref: '#/components/schemas/APIErrorResponse' + description: Not Found + '429': + $ref: '#/components/responses/TooManyRequestsResponse' + security: + - apiKeyAuth: [] + appKeyAuth: [] + - AuthZ: + - cloud_cost_management_read + summary: Get a Cloud Cost Management tag description + tags: + - Cloud Cost Management + x-permission: + operator: OR + permissions: + - cloud_cost_management_read + put: + description: Create or update a Cloud Cost Management tag key description. The new description and optional cloud scoping are supplied in the request body. Omit `cloud` to set a cross-cloud default for the tag key. + operationId: UpsertCostTagDescriptionByKey + parameters: + - description: The tag key whose description is being upserted. + in: path + name: tag_key + required: true + schema: + type: string + requestBody: + content: + application/json: + examples: + default: + value: + data: + attributes: + cloud: aws + description: AWS account that owns this cost. + id: account_id + type: cost_tag_description + schema: + $ref: '#/components/schemas/CostTagDescriptionUpsertRequest' + required: true + responses: + '204': + description: No Content + '400': + content: + application/json: + schema: + $ref: '#/components/schemas/APIErrorResponse' + description: Bad Request + '403': + content: + application/json: + schema: + $ref: '#/components/schemas/APIErrorResponse' + description: Forbidden + '429': + $ref: '#/components/responses/TooManyRequestsResponse' + security: + - apiKeyAuth: [] + appKeyAuth: [] + - AuthZ: + - cloud_cost_management_write + summary: Upsert a Cloud Cost Management tag description + tags: + - Cloud Cost Management + x-permission: + operator: OR + permissions: + - cloud_cost_management_write + /api/v2/cost/tag_descriptions/{tag_key}/generate: + get: + description: Use AI to draft a Cloud Cost Management tag key description based on associated cost data. The generated description is returned in the response and is not persisted by this endpoint; follow up with `UpsertCostTagDescriptionByKey` to save it. + operationId: GenerateCostTagDescriptionByKey + parameters: + - description: The tag key to generate an AI description for. + in: path + name: tag_key + required: true + schema: + type: string + responses: + '200': + content: + application/json: + examples: + default: + value: + data: + attributes: + description: AWS account that owns this cost. + id: account_id + type: cost_generated_tag_description + schema: + $ref: '#/components/schemas/GenerateCostTagDescriptionResponse' + description: OK + '400': + content: + application/json: + schema: + $ref: '#/components/schemas/APIErrorResponse' + description: Bad Request + '403': + content: + application/json: + schema: + $ref: '#/components/schemas/APIErrorResponse' + description: Forbidden + '429': + $ref: '#/components/responses/TooManyRequestsResponse' + security: + - apiKeyAuth: [] + appKeyAuth: [] + - AuthZ: + - cloud_cost_management_read + summary: Generate a Cloud Cost Management tag description + tags: + - Cloud Cost Management + x-permission: + operator: OR + permissions: + - cloud_cost_management_read + /api/v2/cost/tag_keys: + get: + description: List Cloud Cost Management tag keys. + operationId: ListCostTagKeys + parameters: + - description: The Cloud Cost Management metric to scope the tag keys to. When omitted, returns tag keys across all metrics. + in: query + name: filter[metric] + schema: + type: string + - description: Filter to return only tag keys that appear with the given `key:value` tag values. For example, `filter[tags]=providername:aws` returns tag keys found on the same cost data, such as `is_aws_ec2_compute` and `aws_instance_type`. + in: query + name: filter[tags] + schema: + items: + type: string + type: array + responses: + '200': + content: + application/json: + examples: + default: + value: + data: + - attributes: + sources: + - focus + value: providername + id: providername + type: cost_tag_key + - attributes: + sources: [] + value: service + id: service + type: cost_tag_key + schema: + $ref: '#/components/schemas/CostTagKeysResponse' + description: OK + '400': + content: + application/json: + schema: + $ref: '#/components/schemas/APIErrorResponse' + description: Bad Request + '403': + content: + application/json: + schema: + $ref: '#/components/schemas/APIErrorResponse' + description: Forbidden + '429': + $ref: '#/components/responses/TooManyRequestsResponse' + security: + - apiKeyAuth: [] + appKeyAuth: [] + - AuthZ: + - cloud_cost_management_read + summary: List Cloud Cost Management tag keys + tags: + - Cloud Cost Management + x-permission: + operator: OR + permissions: + - cloud_cost_management_read + /api/v2/cost/tag_keys/{tag_key}: + get: + description: Get details for a specific Cloud Cost Management tag key, including example tag values and description. + operationId: GetCostTagKey + parameters: + - $ref: '#/components/parameters/TagKey' + - description: The Cloud Cost Management metric to scope the tag key details to. When omitted, returns details across all metrics. + in: query + name: filter[metric] + schema: + type: string + - description: Controls the size of the internal tag value search scope. This does **not** restrict the number of example tag values returned in the response. Defaults to 50, maximum 10000. + in: query + name: page[size] + schema: + default: 50 + format: int32 + maximum: 10000 + type: integer + responses: + '200': + content: + application/json: + examples: + default: + value: + data: + attributes: + details: + description: The cloud provider name reported for the cost line item. + tag_values: + - aws + - gcp + - azure + sources: + - focus + value: providername + id: providername + type: cost_tag_key + schema: + $ref: '#/components/schemas/CostTagKeyResponse' + description: OK + '400': + content: + application/json: + schema: + $ref: '#/components/schemas/APIErrorResponse' + description: Bad Request + '403': + content: + application/json: + schema: + $ref: '#/components/schemas/APIErrorResponse' + description: Forbidden + '404': + content: + application/json: + schema: + $ref: '#/components/schemas/APIErrorResponse' + description: Not Found + '429': + $ref: '#/components/responses/TooManyRequestsResponse' + security: + - apiKeyAuth: [] + appKeyAuth: [] + - AuthZ: + - cloud_cost_management_read + summary: Get a Cloud Cost Management tag key + tags: + - Cloud Cost Management + x-permission: + operator: OR + permissions: + - cloud_cost_management_read + /api/v2/cost/tag_metadata: + get: + description: List Cloud Cost Management tag key metadata, including row counts, cost covered, cardinality, and a sample of top tag values per cloud account. Use `filter[daily]=true` to return daily rows instead of the default monthly roll-up. + operationId: ListCostTagMetadata + parameters: + - description: The month to scope the query to, in `YYYY-MM` format. + example: 2026-02 + in: query + name: filter[month] + required: true + schema: + type: string + - description: Filter results to a specific provider. Common cloud values are `aws`, `azure`, `gcp`, `Oracle` (OCI), and `custom`. SaaS billing integrations (for example, `Snowflake`, `MongoDB`, `Databricks`) are also accepted using their display-name string. Values are case-sensitive. + in: query + name: filter[provider] + schema: + type: string + - description: Filter results to a specific Cloud Cost Management metric (for example, `aws.cost.net.amortized`). When omitted, every available metric for the requested period is returned. + in: query + name: filter[metric] + schema: + type: string + - description: Restrict results to a single tag key. + in: query + name: filter[tag_key] + schema: + type: string + - description: When `true`, return one row per day with the day in the `date` attribute. Defaults to the monthly roll-up when omitted. + in: query + name: filter[daily] + schema: + $ref: '#/components/schemas/CostTagMetadataDailyFilter' + responses: + '200': + content: + application/json: + examples: + default: + value: + data: + - attributes: + cardinality_by_account: + '123456789012': 42 + cost_covered: 1234.56 + metric: aws.cost.net.amortized + row_count: 100 + tag_sources: + - aws-user-defined + top_values_by_account: + '123456789012': + - prod + - staging + id: env:aws.cost.net.amortized + type: cost_tag_key_metadata + schema: + $ref: '#/components/schemas/CostTagKeyMetadataResponse' + description: OK + '400': + content: + application/json: + schema: + $ref: '#/components/schemas/APIErrorResponse' + description: Bad Request + '403': + content: + application/json: + schema: + $ref: '#/components/schemas/APIErrorResponse' + description: Forbidden + '429': + $ref: '#/components/responses/TooManyRequestsResponse' + security: + - apiKeyAuth: [] + appKeyAuth: [] + - AuthZ: + - cloud_cost_management_read + summary: List Cloud Cost Management tag key metadata + tags: + - Cloud Cost Management + x-permission: + operator: OR + permissions: + - cloud_cost_management_read + x-unstable: |- + **Note**: This endpoint is in preview and is subject to change. + If you have any feedback, contact [Datadog support](https://docs.datadoghq.com/help/). + /api/v2/cost/tag_metadata/currency: + get: + description: Get the dominant billing currency observed in Cloud Cost Management data for the requested period. The response wraps the currency in a JSON:API `data` array containing at most one entry; the array is empty when no currency data is available. + operationId: GetCostTagMetadataCurrency + parameters: + - description: The month to scope the query to, in `YYYY-MM` format. + example: 2026-02 + in: query + name: filter[month] + required: true + schema: + type: string + - description: Filter results to a specific provider. Common cloud values are `aws`, `azure`, `gcp`, `Oracle` (OCI), and `custom`. SaaS billing integrations (for example, `Snowflake`, `MongoDB`, `Databricks`) are also accepted using their display-name string. Values are case-sensitive. + in: query + name: filter[provider] + schema: + type: string + responses: + '200': + content: + application/json: + examples: + default: + value: + data: + - id: USD + type: cost_currency + schema: + $ref: '#/components/schemas/CostCurrencyResponse' + description: OK + '400': + content: + application/json: + schema: + $ref: '#/components/schemas/APIErrorResponse' + description: Bad Request + '403': + content: + application/json: + schema: + $ref: '#/components/schemas/APIErrorResponse' + description: Forbidden + '429': + $ref: '#/components/responses/TooManyRequestsResponse' + security: + - apiKeyAuth: [] + appKeyAuth: [] + - AuthZ: + - cloud_cost_management_read + summary: Get the Cloud Cost Management billing currency + tags: + - Cloud Cost Management + x-permission: + operator: OR + permissions: + - cloud_cost_management_read + x-unstable: |- + **Note**: This endpoint is in preview and is subject to change. + If you have any feedback, contact [Datadog support](https://docs.datadoghq.com/help/). + /api/v2/cost/tag_metadata/metrics: + get: + description: List Cloud Cost Management metrics that have data for the requested period. + operationId: ListCostTagMetadataMetrics + parameters: + - description: The month to scope the query to, in `YYYY-MM` format. + example: 2026-02 + in: query + name: filter[month] + required: true + schema: + type: string + - description: Filter results to a specific provider. Common cloud values are `aws`, `azure`, `gcp`, `Oracle` (OCI), and `custom`. SaaS billing integrations (for example, `Snowflake`, `MongoDB`, `Databricks`) are also accepted using their display-name string. Values are case-sensitive. + in: query + name: filter[provider] + schema: + type: string + responses: + '200': + content: + application/json: + examples: + default: + value: + data: + - id: aws.cost.net.amortized + type: cost_metric + - id: gcp.cost.amortized + type: cost_metric + schema: + $ref: '#/components/schemas/CostMetricsResponse' + description: OK + '400': + content: + application/json: + schema: + $ref: '#/components/schemas/APIErrorResponse' + description: Bad Request + '403': + content: + application/json: + schema: + $ref: '#/components/schemas/APIErrorResponse' + description: Forbidden + '429': + $ref: '#/components/responses/TooManyRequestsResponse' + security: + - apiKeyAuth: [] + appKeyAuth: [] + - AuthZ: + - cloud_cost_management_read + summary: List available Cloud Cost Management metrics + tags: + - Cloud Cost Management + x-permission: + operator: OR + permissions: + - cloud_cost_management_read + x-unstable: |- + **Note**: This endpoint is in preview and is subject to change. + If you have any feedback, contact [Datadog support](https://docs.datadoghq.com/help/). + /api/v2/cost/tag_metadata/months: + get: + description: |- + List months that have Cloud Cost Management tag metadata for a given provider, + ordered most-recent first. The response is capped at 36 months. + operationId: ListCostTagMetadataMonths + parameters: + - description: |- + Provider to scope the query to. Use the value of the `providername` tag in CCM + (for example, `aws`, `azure`, `gcp`, `Oracle`, `Confluent Cloud`, `Snowflake`). + For costs uploaded through the Custom Costs API, use `custom`. + Values are case-sensitive. + example: aws + in: query + name: filter[provider] + required: true + schema: + type: string + responses: + '200': + content: + application/json: + examples: + default: + value: + data: + - id: 2026-04 + type: cost_tag_metadata_month + - id: 2026-03 + type: cost_tag_metadata_month + schema: + $ref: '#/components/schemas/CostTagMetadataMonthsResponse' + description: OK + '400': + content: + application/json: + schema: + $ref: '#/components/schemas/APIErrorResponse' + description: Bad Request + '403': + content: + application/json: + schema: + $ref: '#/components/schemas/APIErrorResponse' + description: Forbidden + '429': + $ref: '#/components/responses/TooManyRequestsResponse' + security: + - apiKeyAuth: [] + appKeyAuth: [] + - AuthZ: + - cloud_cost_management_read + summary: List Cloud Cost Management tag metadata months + tags: + - Cloud Cost Management + x-permission: + operator: OR + permissions: + - cloud_cost_management_read + x-unstable: |- + **Note**: This endpoint is in preview and is subject to change. + If you have any feedback, contact [Datadog support](https://docs.datadoghq.com/help/). + /api/v2/cost/tag_metadata/orchestrators: + get: + description: List container orchestrators (for example, `kubernetes`, `ecs`) detected in Cloud Cost Management data for the requested period. + operationId: ListCostTagMetadataOrchestrators + parameters: + - description: The month to scope the query to, in `YYYY-MM` format. + example: 2026-02 + in: query + name: filter[month] + required: true + schema: + type: string + - description: Filter results to a specific provider. Common cloud values are `aws`, `azure`, `gcp`, `Oracle` (OCI), and `custom`. SaaS billing integrations (for example, `Snowflake`, `MongoDB`, `Databricks`) are also accepted using their display-name string. Values are case-sensitive. + in: query + name: filter[provider] + schema: + type: string + responses: + '200': + content: + application/json: + examples: + default: + value: + data: + - id: ecs + type: cost_orchestrator + - id: kubernetes + type: cost_orchestrator + schema: + $ref: '#/components/schemas/CostOrchestratorsResponse' + description: OK + '400': + content: + application/json: + schema: + $ref: '#/components/schemas/APIErrorResponse' + description: Bad Request + '403': + content: + application/json: + schema: + $ref: '#/components/schemas/APIErrorResponse' + description: Forbidden + '429': + $ref: '#/components/responses/TooManyRequestsResponse' + security: + - apiKeyAuth: [] + appKeyAuth: [] + - AuthZ: + - cloud_cost_management_read + summary: List Cloud Cost Management orchestrators + tags: + - Cloud Cost Management + x-permission: + operator: OR + permissions: + - cloud_cost_management_read + x-unstable: |- + **Note**: This endpoint is in preview and is subject to change. + If you have any feedback, contact [Datadog support](https://docs.datadoghq.com/help/). + /api/v2/cost/tag_metadata/tag_sources: + get: + description: List Cloud Cost Management tag keys observed for the requested period, along with the origin sources that produced them (for example, `aws-user-defined`, `custom`). + operationId: ListCostTagKeySources + parameters: + - description: The month to scope the query to, in `YYYY-MM` format. + example: 2026-02 + in: query + name: filter[month] + required: true + schema: + type: string + - description: Filter results to a specific provider. Common cloud values are `aws`, `azure`, `gcp`, `Oracle` (OCI), and `custom`. SaaS billing integrations (for example, `Snowflake`, `MongoDB`, `Databricks`) are also accepted using their display-name string. Values are case-sensitive. + in: query + name: filter[provider] + schema: + type: string + - description: Filter results to tag keys that have data for a specific Cloud Cost Management metric (for example, `aws.cost.net.amortized`). When omitted, all tag keys for the requested period are returned. + in: query + name: filter[metric] + schema: + type: string + responses: + '200': + content: + application/json: + examples: + default: + value: + data: + - attributes: + tag_key: env + tag_sources: + - aws-user-defined + - custom + id: env + type: cost_tag_key_source + - attributes: + tag_key: service + tag_sources: + - aws + id: service + type: cost_tag_key_source + schema: + $ref: '#/components/schemas/CostTagKeySourcesResponse' + description: OK + '400': + content: + application/json: + schema: + $ref: '#/components/schemas/APIErrorResponse' + description: Bad Request + '403': + content: + application/json: + schema: + $ref: '#/components/schemas/APIErrorResponse' + description: Forbidden + '429': + $ref: '#/components/responses/TooManyRequestsResponse' + security: + - apiKeyAuth: [] + appKeyAuth: [] + - AuthZ: + - cloud_cost_management_read + summary: List Cloud Cost Management tag sources + tags: + - Cloud Cost Management + x-permission: + operator: OR + permissions: + - cloud_cost_management_read + x-unstable: |- + **Note**: This endpoint is in preview and is subject to change. + If you have any feedback, contact [Datadog support](https://docs.datadoghq.com/help/). + /api/v2/cost/tags: + get: + description: List Cloud Cost Management tags for a given metric. + operationId: ListCostTags + parameters: + - description: The Cloud Cost Management metric to scope the tags to. When omitted, returns tags across all metrics. + in: query + name: filter[metric] + schema: + type: string + - description: A substring used to filter the returned tags by name. + in: query + name: filter[match] + schema: + type: string + - description: Filter to return only tags that appear with the given `key:value` tag values. For example, `filter[tags]=providername:aws` returns tags found on the same cost data, such as `aws_instance_type:t3.micro` and `aws_instance_type:m5.large`. + in: query + name: filter[tags] + schema: + items: + type: string + type: array + - description: Restrict the returned tags to those whose key matches one of the given tag keys. + in: query + name: filter[tag_keys] + schema: + items: + type: string + type: array + - description: Controls the size of the internal tag search scope. This does **not** restrict the number of tags returned in the response. Defaults to 50, maximum 10000. + in: query + name: page[size] + schema: + default: 50 + format: int32 + maximum: 10000 + type: integer + responses: + '200': + content: + application/json: + examples: + default: + value: + data: + - attributes: + sources: + - focus + value: providername:aws + id: providername:aws + type: cost_tag + - attributes: + sources: + - focus + value: providername:gcp + id: providername:gcp + type: cost_tag + schema: + $ref: '#/components/schemas/CostTagsResponse' + description: OK + '400': + content: + application/json: + schema: + $ref: '#/components/schemas/APIErrorResponse' + description: Bad Request + '403': + content: + application/json: + schema: + $ref: '#/components/schemas/APIErrorResponse' + description: Forbidden + '429': + $ref: '#/components/responses/TooManyRequestsResponse' + security: + - apiKeyAuth: [] + appKeyAuth: [] + - AuthZ: + - cloud_cost_management_read + summary: List Cloud Cost Management tags + tags: + - Cloud Cost Management + x-permission: + operator: OR + permissions: + - cloud_cost_management_read + /api/v2/cost_by_tag/active_billing_dimensions: + get: + description: Get active billing dimensions for cost attribution. Cost data for a given month becomes available no later than the 19th of the following month. + operationId: GetActiveBillingDimensions + responses: + '200': + content: + application/json: + examples: + default: + value: + data: + id: abc-123 + type: billing_dimensions + schema: + $ref: '#/components/schemas/ActiveBillingDimensionsResponse' + description: OK + '400': + content: + application/json: + schema: + $ref: '#/components/schemas/APIErrorResponse' + description: Bad Request + '403': + content: + application/json: + schema: + $ref: '#/components/schemas/APIErrorResponse' + description: Forbidden - User is not authorized + '429': + content: + application/json: + schema: + $ref: '#/components/schemas/APIErrorResponse' + description: Too many requests + security: + - apiKeyAuth: [] + appKeyAuth: [] + - AuthZ: + - usage_read + summary: Get active billing dimensions for cost attribution + tags: + - Usage Metering + x-permission: + operator: OR + permissions: + - usage_read + /api/v2/cost_by_tag/monthly_cost_attribution: + get: + description: |- + Get monthly cost attribution by tag across multi-org and single root-org accounts. + Cost Attribution data for a given month becomes available no later than the 19th of the following month. + This API endpoint is paginated. To make sure you receive all records, check if the value of `next_record_id` is + set in the response. If it is, make another request and pass `next_record_id` as a parameter. + Pseudo code example: + ``` + response := GetMonthlyCostAttribution(start_month, end_month) + cursor := response.metadata.pagination.next_record_id + WHILE cursor != null BEGIN + sleep(5 seconds) # Avoid running into rate limit + response := GetMonthlyCostAttribution(start_month, end_month, next_record_id=cursor) + cursor := response.metadata.pagination.next_record_id + END + ``` + + This endpoint is only accessible for [parent-level organizations](https://docs.datadoghq.com/account_management/multi_organization/). This endpoint is not available in the Government (US1-FED) site. + operationId: GetMonthlyCostAttribution + parameters: + - description: 'Datetime in ISO-8601 format, UTC, precise to month: `[YYYY-MM]` for cost beginning in this month.' + in: query + name: start_month + required: true + schema: + format: date-time + type: string + - description: 'Datetime in ISO-8601 format, UTC, precise to month: `[YYYY-MM]` for cost ending this month.' + in: query + name: end_month + required: false + schema: + format: date-time + type: string + - description: |- + Comma-separated list specifying cost types (e.g., `_on_demand_cost`, `_committed_cost`, `_total_cost`) and the + proportions (`_percentage_in_org`, `_percentage_in_account`). Use `*` to retrieve all fields. + Example: `infra_host_on_demand_cost,infra_host_percentage_in_account` + To obtain the complete list of active billing dimensions that can be used to replace + `` in the field names, make a request to the [Get active billing dimensions API](https://docs.datadoghq.com/api/latest/usage-metering/#get-active-billing-dimensions-for-cost-attribution). + in: query + name: fields + required: true + schema: + type: string + - description: 'The direction to sort by: `[desc, asc]`.' + in: query + name: sort_direction + required: false + schema: + $ref: '#/components/schemas/SortDirection' + - description: 'The billing dimension to sort by. Always sorted by total cost. Example: `infra_host`.' + in: query + name: sort_name + required: false + schema: + type: string + - description: |- + Comma separated list of tag keys used to group cost. If no value is provided the cost will not be broken down by tags. + To see which tags are available, look for the value of `tag_config_source` in the API response. + in: query + name: tag_breakdown_keys + required: false + schema: + type: string + - description: List following results with a next_record_id provided in the previous query. + in: query + name: next_record_id + required: false + schema: + type: string + - description: Include child org cost in the response. Defaults to `true`. + in: query + name: include_descendants + required: false + schema: + default: true + type: boolean + responses: + '200': + content: + application/json: + examples: + default: + value: + data: + - id: abc-123 + type: cost_by_tag + schema: + $ref: '#/components/schemas/MonthlyCostAttributionResponse' + description: OK + '400': + content: + application/json: + schema: + $ref: '#/components/schemas/APIErrorResponse' + description: Bad Request + '403': + content: + application/json: + schema: + $ref: '#/components/schemas/APIErrorResponse' + description: Forbidden - User is not authorized + '429': + content: + application/json: + schema: + $ref: '#/components/schemas/APIErrorResponse' + description: Too many requests + security: + - apiKeyAuth: [] + appKeyAuth: [] + - AuthZ: + - usage_read + - billing_read + summary: Get Monthly Cost Attribution + tags: + - Usage Metering + x-permission: + operator: AND + permissions: + - usage_read + - billing_read + /api/v2/tags/enrichment: + get: + description: List all tag pipeline rulesets - Retrieve a list of all tag pipeline rulesets for the organization + operationId: ListTagPipelinesRulesets + responses: + '200': + content: + application/json: + examples: + default: + value: + data: + - attributes: + created: null + enabled: true + last_modified_user_uuid: '' + modified: null + name: Production Cost Allocation Rules + position: 0 + rules: + - enabled: true + mapping: null + metadata: null + name: AWS Production Account Tagging + query: + addition: + key: environment + value: production + case_insensitivity: false + if_tag_exists: do_not_apply + query: billingcurrency:"USD" AND account_name:"prod-account" + reference_table: null + version: 2 + id: 00000000-0000-0000-0000-000000000001 + type: ruleset + schema: + $ref: '#/components/schemas/RulesetRespArray' + description: OK + '429': + $ref: '#/components/responses/TooManyRequestsResponse' + security: + - apiKeyAuth: [] + appKeyAuth: [] + - AuthZ: + - cloud_cost_management_read + summary: List tag pipeline rulesets + tags: + - Cloud Cost Management + post: + description: Create a new tag pipeline ruleset with the specified rules and configuration + operationId: CreateTagPipelinesRuleset + requestBody: + content: + application/json: + examples: + default: + value: + data: + attributes: + enabled: true + rules: + - enabled: true + name: Add Cost Center Tag + query: + addition: + key: cost_center + value: engineering + case_insensitivity: false + if_tag_exists: do_not_apply + query: account_id:"123456789" AND service:"web-api" + id: New Ruleset + type: create_ruleset + schema: + $ref: '#/components/schemas/CreateRulesetRequest' + required: true + responses: + '200': + content: + application/json: + examples: + default: + value: + data: + attributes: + created: null + enabled: true + last_modified_user_uuid: '' + modified: null + name: Example Ruleset + position: 0 + rules: + - enabled: true + mapping: null + metadata: null + name: Add Cost Center Tag + query: + addition: + key: cost_center + value: engineering + case_insensitivity: false + if_tag_exists: do_not_apply + query: account_id:"123456789" AND service:"web-api" + reference_table: null + version: 1 + id: 00000000-0000-0000-0000-000000000002 + type: ruleset + schema: + $ref: '#/components/schemas/RulesetResp' + description: OK + '429': + $ref: '#/components/responses/TooManyRequestsResponse' + security: + - apiKeyAuth: [] + appKeyAuth: [] + - AuthZ: + - cloud_cost_management_write + summary: Create tag pipeline ruleset + tags: + - Cloud Cost Management + /api/v2/tags/enrichment/reorder: + post: + description: Reorder tag pipeline rulesets - Change the execution order of tag pipeline rulesets + operationId: ReorderTagPipelinesRulesets + requestBody: + content: + application/json: + examples: + default: + value: + data: + - id: 55ef2385-9ae1-4410-90c4-5ac1b60fec10 + type: ruleset + - id: a7b8c9d0-1234-5678-9abc-def012345678 + type: ruleset + - id: f1e2d3c4-b5a6-9780-1234-567890abcdef + type: ruleset + schema: + $ref: '#/components/schemas/ReorderRulesetResourceArray' + required: true + responses: + '204': + description: Successfully reordered rulesets + '429': + $ref: '#/components/responses/TooManyRequestsResponse' + security: + - apiKeyAuth: [] + appKeyAuth: [] + - AuthZ: + - cloud_cost_management_write + summary: Reorder tag pipeline rulesets + tags: + - Cloud Cost Management + /api/v2/tags/enrichment/status: + get: + description: List the processing status of all tag pipeline rulesets. Returns only the ID and processing status for each ruleset. + operationId: ListTagPipelinesRulesetsStatus + responses: + '200': + content: + application/json: + examples: + default: + value: + data: + - attributes: + processing_status: processing + id: 55ef2385-9ae1-4410-90c4-5ac1b60fec10 + type: ruleset_status + - attributes: + processing_status: done + id: a7b8c9d0-1234-5678-9abc-def012345678 + type: ruleset_status + schema: + $ref: '#/components/schemas/RulesetStatusRespArray' + description: OK + '429': + $ref: '#/components/responses/TooManyRequestsResponse' + security: + - apiKeyAuth: [] + appKeyAuth: [] + - AuthZ: + - cloud_cost_management_read + summary: List tag pipeline ruleset statuses + tags: + - Cloud Cost Management + /api/v2/tags/enrichment/validate-query: + post: + description: Validate a tag pipeline query - Validate the syntax and structure of a tag pipeline query + operationId: ValidateQuery + requestBody: + content: + application/json: + examples: + default: + value: + data: + attributes: + Query: example:query AND test:true + type: validate_query + schema: + $ref: '#/components/schemas/RulesValidateQueryRequest' + required: true + responses: + '200': + content: + application/json: + examples: + default: + value: + data: + attributes: + Canonical: canonical query representation + type: validate_response + schema: + $ref: '#/components/schemas/RulesValidateQueryResponse' + description: OK + '429': + $ref: '#/components/responses/TooManyRequestsResponse' + security: + - apiKeyAuth: [] + appKeyAuth: [] + - AuthZ: + - cloud_cost_management_read + summary: Validate query + tags: + - Cloud Cost Management + /api/v2/tags/enrichment/{ruleset_id}: + delete: + description: Delete a tag pipeline ruleset - Delete an existing tag pipeline ruleset by its ID + operationId: DeleteTagPipelinesRuleset + parameters: + - description: The unique identifier of the ruleset + in: path + name: ruleset_id + required: true + schema: + type: string + responses: + '204': + description: No Content + '429': + $ref: '#/components/responses/TooManyRequestsResponse' + security: + - apiKeyAuth: [] + appKeyAuth: [] + - AuthZ: + - cloud_cost_management_write + summary: Delete tag pipeline ruleset + tags: + - Cloud Cost Management + get: + description: Get a specific tag pipeline ruleset - Retrieve a specific tag pipeline ruleset by its ID + operationId: GetTagPipelinesRuleset + parameters: + - description: The unique identifier of the ruleset + in: path + name: ruleset_id + required: true + schema: + type: string + responses: + '200': + content: + application/json: + examples: + default: + value: + data: + attributes: + created: null + enabled: true + last_modified_user_uuid: '' + modified: null + name: Example Ruleset + position: 0 + rules: + - enabled: true + mapping: null + metadata: null + name: Add Cost Center Tag + query: + addition: + key: cost_center + value: engineering + case_insensitivity: false + if_tag_exists: do_not_apply + query: account_id:"123456789" AND service:"web-api" + reference_table: null + version: 1 + id: 00000000-0000-0000-0000-000000000004 + type: ruleset + schema: + $ref: '#/components/schemas/RulesetResp' + description: OK + '429': + $ref: '#/components/responses/TooManyRequestsResponse' + security: + - apiKeyAuth: [] + appKeyAuth: [] + - AuthZ: + - cloud_cost_management_read + summary: Get a tag pipeline ruleset + tags: + - Cloud Cost Management + patch: + description: Update a tag pipeline ruleset - Update an existing tag pipeline ruleset with new rules and configuration + operationId: UpdateTagPipelinesRuleset + parameters: + - description: The unique identifier of the ruleset + in: path + name: ruleset_id + required: true + schema: + type: string + requestBody: + content: + application/json: + examples: + default: + value: + data: + attributes: + enabled: true + last_version: 1 + name: Updated Ruleset + rules: + - enabled: true + name: Add Cost Center Tag + query: + addition: + key: cost_center + value: engineering + case_insensitivity: false + if_tag_exists: do_not_apply + query: account_id:"123456789" AND service:"web-api" + - enabled: true + mapping: + destination_key: team_owner + if_tag_exists: do_not_apply + source_keys: + - account_name + - account_id + name: Account Name Mapping + query: null + - enabled: true + name: New table rule with new UI + query: null + reference_table: + case_insensitivity: true + field_pairs: + - input_column: status_type + output_key: status + - input_column: status_description + output_key: dess + if_tag_exists: append + source_keys: + - http_status + - status_description + table_name: http_status_codes + type: update_ruleset + schema: + $ref: '#/components/schemas/UpdateRulesetRequest' + required: true + responses: + '200': + content: + application/json: + examples: + default: + value: + data: + attributes: + enabled: true + name: Example Ruleset + position: 0 + rules: + - enabled: true + name: Example Rule + query: + addition: + key: env + value: prod + case_insensitivity: false + if_tag_exists: do_not_apply + query: account_id:"123456789" + version: 1 + id: 00000000-0000-0000-0000-000000000003 + type: ruleset + schema: + $ref: '#/components/schemas/RulesetResp' + description: OK + '429': + $ref: '#/components/responses/TooManyRequestsResponse' + security: + - apiKeyAuth: [] + appKeyAuth: [] + - AuthZ: + - cloud_cost_management_write + summary: Update tag pipeline ruleset + tags: + - Cloud Cost Management +components: + schemas: + AccountFiltersResponse: + description: Response containing the account filters for a cloud account. + properties: + data: + $ref: '#/components/schemas/AccountFilters' + type: object + APIErrorResponse: + description: API error response. + properties: + errors: + description: A list of errors. + example: + - Bad Request + items: + description: A list of items. + example: Bad Request + type: string + type: array + required: + - errors + type: object + AccountFiltersPatchRequest: + description: Account filters patch request. + properties: + data: + $ref: '#/components/schemas/AccountFiltersPatchData' + required: + - data + type: object + CostAnomaliesResponse: + description: Response object containing a list of detected Cloud Cost Management anomalies and aggregated totals. + properties: + data: + $ref: '#/components/schemas/CostAnomaliesResponseData' + type: object + CostAnomalyResponse: + description: Response object containing a single Cloud Cost Management anomaly. + properties: + data: + $ref: '#/components/schemas/CostAnomalyResponseData' + type: object + ArbitraryRuleResponseArray: + description: The definition of `ArbitraryRuleResponseArray` object. + example: + data: + - attributes: + costs_to_allocate: + - condition: like + tag: service + value: orgstore-csm* + values: null + created: '2024-11-20T03:44:37Z' + enabled: true + last_modified_user_uuid: user-example-uuid + order_id: 1 + processing_status: done + provider: + - gcp + rule_name: gcp-orgstore-csm-team-allocation + strategy: + allocated_by: + - allocated_tags: + - key: team + value: csm-activation + percentage: 0.34 + - allocated_tags: + - key: team + value: csm-agentless + percentage: 0.66 + method: percent + type: shared + updated: '2025-09-02T21:28:32Z' + version: 1 + id: '19' + type: arbitrary_rule + - attributes: + costs_to_allocate: + - condition: is + tag: env + value: staging + values: null + created: '2025-05-27T18:48:05Z' + enabled: true + last_modified_user_uuid: user-example-uuid-2 + order_id: 2 + processing_status: done + provider: + - aws + rule_name: test-even-2 + strategy: + allocated_by_tag_keys: + - team + based_on_costs: + - condition: is + tag: aws_product + value: s3 + values: null + granularity: daily + method: even + type: shared + updated: '2025-09-03T21:00:49Z' + version: 1 + id: '311' + type: arbitrary_rule + - attributes: + costs_to_allocate: + - condition: is + tag: servicename + value: s3 + values: null + created: '2025-03-21T20:42:40Z' + enabled: false + last_modified_user_uuid: user-example-uuid-3 + order_id: 3 + processing_status: done + provider: + - aws + rule_name: test-s3-timeseries + strategy: + granularity: daily + method: proportional_timeseries + type: shared + updated: '2025-09-02T21:16:50Z' + version: 1 + id: '289' + type: arbitrary_rule + - attributes: + costs_to_allocate: + - condition: '=' + tag: aws_product + value: msk + values: null + - condition: is + tag: product + value: 'null' + values: null + created: '2025-08-27T14:39:31Z' + enabled: true + last_modified_user_uuid: user-example-uuid-4 + order_id: 4 + processing_status: done + provider: + - aws + rule_name: azure-unallocated-by-product-2 + strategy: + allocated_by_tag_keys: + - aws_product + based_on_costs: + - condition: '=' + tag: aws_product + value: msk + values: null + - condition: is not + tag: product + value: 'null' + values: null + granularity: daily + method: proportional + type: shared + updated: '2025-09-02T21:28:32Z' + version: 1 + id: '523' + type: arbitrary_rule + properties: + data: + description: The `ArbitraryRuleResponseArray` `data`. + items: + $ref: '#/components/schemas/ArbitraryRuleResponseData' + type: array + meta: + $ref: '#/components/schemas/ArbitraryRuleResponseArrayMeta' + required: + - data + type: object + ArbitraryCostUpsertRequest: + description: The definition of `ArbitraryCostUpsertRequest` object. + example: + data: + attributes: + costs_to_allocate: + - condition: is + tag: account_id + value: '123456789' + values: null + - condition: in + tag: environment + value: '' + values: + - production + - staging + enabled: true + order_id: 1 + provider: + - aws + - gcp + rule_name: example-arbitrary-cost-rule + strategy: + allocated_by_tag_keys: + - team + - environment + based_on_costs: + - condition: is + tag: service + value: web-api + values: null + - condition: not in + tag: team + value: '' + values: + - legacy + - deprecated + granularity: daily + method: proportional + type: shared + type: upsert_arbitrary_rule + properties: + data: + $ref: '#/components/schemas/ArbitraryCostUpsertRequestData' + type: object + ArbitraryRuleResponse: + description: The definition of `ArbitraryRuleResponse` object. + example: + data: + attributes: + costs_to_allocate: + - condition: is + tag: account_id + value: '123456789' + values: null + - condition: in + tag: environment + value: '' + values: + - production + - staging + created: '2023-01-01T12:00:00Z' + enabled: true + last_modified_user_uuid: user-123-uuid + order_id: 1 + provider: + - aws + - gcp + rule_name: Example custom allocation rule + strategy: + allocated_by_tag_keys: + - team + - environment + based_on_costs: + - condition: is + tag: service + value: web-api + values: null + - condition: not in + tag: team + value: '' + values: + - legacy + - deprecated + granularity: daily + method: proportional + type: shared + updated: '2023-01-01T12:00:00Z' + version: 1 + id: '123' + type: arbitrary_rule + properties: + data: + $ref: '#/components/schemas/ArbitraryRuleResponseData' + type: object + ReorderRuleResourceArray: + description: The definition of `ReorderRuleResourceArray` object. + example: + data: + - id: '456' + type: arbitrary_rule + - id: '123' + type: arbitrary_rule + - id: '789' + type: arbitrary_rule + properties: + data: + description: The `ReorderRuleResourceArray` `data`. + items: + $ref: '#/components/schemas/ReorderRuleResourceData' + type: array + required: + - data + type: object + ArbitraryRuleStatusResponseArray: + description: Processing statuses for all custom allocation rules in the specified organization. + example: + data: + - attributes: + processing_status: processing + id: '123' + type: arbitrary_rule_status + - attributes: + processing_status: done + id: '456' + type: arbitrary_rule_status + properties: + data: + description: Processing status for a custom allocation rule. + items: + $ref: '#/components/schemas/ArbitraryRuleStatusResponseData' + type: array + required: + - data + type: object + AwsCURConfigsResponse: + description: List of AWS CUR configs. + properties: + data: + description: An AWS CUR config. + items: + $ref: '#/components/schemas/AwsCURConfig' + type: array + required: + - data + type: object AwsCURConfigPostRequest: description: AWS CUR config Post Request. properties: - data: - $ref: '#/components/schemas/AwsCURConfigPostData' + data: + $ref: '#/components/schemas/AwsCURConfigPostData' + required: + - data + type: object + AwsCurConfigResponse: + description: The definition of `AwsCurConfigResponse` object. + example: + data: + attributes: + account_filters: + excluded_accounts: + - '123456789124' + - '123456789125' + include_new_accounts: true + account_id: '123456789123' + bucket_name: dd-cost-bucket + bucket_region: us-east-1 + created_at: '2023-01-01T12:00:00.000000' + error_messages: [] + months: 36 + report_name: dd-report-name + report_prefix: dd-report-prefix + status: active + status_updated_at: '2023-01-01T12:00:00.000000' + updated_at: '2023-01-01T12:00:00.000000' + id: '123456789123' + type: aws_cur_config + properties: + data: + $ref: '#/components/schemas/AwsCurConfigResponseData' + type: object + AwsCURConfigPatchRequest: + description: AWS CUR config Patch Request. + properties: + data: + $ref: '#/components/schemas/AwsCURConfigPatchData' + required: + - data + type: object + AzureUCConfigsResponse: + description: List of Azure accounts with configs. + properties: + data: + description: An Azure config pair. + items: + $ref: '#/components/schemas/AzureUCConfigPair' + type: array + required: + - data + type: object + AzureUCConfigPostRequest: + description: Azure config Post Request. + properties: + data: + $ref: '#/components/schemas/AzureUCConfigPostData' + required: + - data + type: object + AzureUCConfigPairsResponse: + description: Response of Azure config pair. + properties: + data: + $ref: '#/components/schemas/AzureUCConfigPair' + type: object + UCConfigPair: + description: The definition of `UCConfigPair` object. + example: + data: + attributes: + configs: + - account_id: 1234abcd-1234-abcd-1234-1234abcd1234 + client_id: 1234abcd-1234-abcd-1234-1234abcd1234 + created_at: '2023-01-01T12:00:00.000000' + dataset_type: actual + error_messages: [] + export_name: dd-actual-export + export_path: dd-export-path + id: '123456789123' + months: 36 + scope: /subscriptions/1234abcd-1234-abcd-1234-1234abcd1234 + status: active + status_updated_at: '2023-01-01T12:00:00.000000' + storage_account: dd-storage-account + storage_container: dd-storage-container + updated_at: '2023-01-01T12:00:00.000000' + id: '123456789123' + type: azure_uc_configs + properties: + data: + $ref: '#/components/schemas/UCConfigPairData' + type: object + AzureUCConfigPatchRequest: + description: Azure config Patch Request. + properties: + data: + $ref: '#/components/schemas/AzureUCConfigPatchData' + required: + - data + type: object + BudgetWithEntries: + description: The definition of the `BudgetWithEntries` object. + properties: + data: + $ref: '#/components/schemas/BudgetWithEntriesData' + type: object + ValidationResponse: + description: Response containing validation errors. + example: + errors: + - meta: + field: region + id: datadog-agent-source + message: Field 'region' is required + title: Field 'region' is required + properties: + errors: + description: The `ValidationResponse` `errors`. + items: + $ref: '#/components/schemas/ValidationError' + type: array + type: object + CustomForecastUpsertRequest: + description: Request body to upsert (create or replace) the custom forecast for a budget. + properties: + data: + $ref: '#/components/schemas/CustomForecastUpsertRequestData' + required: + - data + type: object + CustomForecastResponse: + description: Response object containing the custom forecast for a budget. + properties: + data: + $ref: '#/components/schemas/CustomForecastResponseData' + required: + - data + type: object + BudgetValidationRequest: + description: The request object for validating a budget configuration before creating or updating it. + example: + data: + attributes: + created_at: 1738258683590 + created_by: 00000000-0a0a-0a0a-aaa0-00000000000a + end_month: 202502 + entries: + - amount: 500 + month: 202501 + tag_filters: + - tag_key: service + tag_value: ec2 + - amount: 500 + month: 202502 + tag_filters: + - tag_key: service + tag_value: ec2 + metrics_query: aws.cost.amortized{service:ec2} by {service} + name: my budget + org_id: 123 + start_month: 202501 + total_amount: 1000 + updated_at: 1738258683590 + updated_by: 00000000-0a0a-0a0a-aaa0-00000000000a + id: '1' + type: budget + properties: + data: + $ref: '#/components/schemas/BudgetValidationRequestData' + type: object + BudgetValidationResponse: + description: The response object for a budget validation request, containing the validation result data. + example: + data: + attributes: + errors: [] + valid: true + id: budget_validation + type: budget_validation + properties: + data: + $ref: '#/components/schemas/BudgetValidationResponseData' + type: object + BudgetArray: + description: An array of budgets. + example: + data: + - attributes: + created_at: 1741011342772 + created_by: user1 + end_month: 202502 + metrics_query: aws.cost.amortized{service:ec2} by {service} + name: my budget + org_id: 123 + start_month: 202501 + total_amount: 1000 + updated_at: 1741011342772 + updated_by: user2 + id: 00000000-0a0a-0a0a-aaa0-00000000000a + type: budget + properties: + data: + description: The `BudgetArray` `data`. + items: + $ref: '#/components/schemas/Budget' + type: array + required: + - data + type: object + CommitmentsListResponse: + description: Response containing a list of cloud commitment details. + properties: + commitments: + $ref: '#/components/schemas/CommitmentsListItems' + meta: + $ref: '#/components/schemas/CommitmentsListMeta' + required: + - commitments + type: object + JSONAPIErrorResponse: + description: API error response. + properties: + errors: + description: A list of errors. + items: + $ref: '#/components/schemas/JSONAPIErrorItem' + type: array + required: + - errors + type: object + CommitmentsCoverageScalarResponse: + description: Response containing scalar coverage metrics for cloud commitment programs. + properties: + columns: + $ref: '#/components/schemas/CommitmentsScalarColumns' + required: + - columns + type: object + CommitmentsCoverageTimeseriesResponse: + description: Response containing timeseries coverage metrics for cloud commitment programs. + properties: + cost: + $ref: '#/components/schemas/CommitmentsTimeseriesMetric' + hours: + $ref: '#/components/schemas/CommitmentsTimeseriesMetric' + required: + - cost + - hours + type: object + CommitmentsOnDemandHotspotsScalarResponse: + description: Response containing scalar on-demand hot-spots data for cloud commitment programs. + properties: + columns: + $ref: '#/components/schemas/CommitmentsScalarColumns' + meta: + $ref: '#/components/schemas/CommitmentsOnDemandHotspotsScalarMeta' + total: + $ref: '#/components/schemas/CommitmentsScalarColumns' + required: + - columns + - total + type: object + CommitmentsSavingsScalarResponse: + description: Response containing scalar savings metrics for cloud commitment programs. + properties: + columns: + $ref: '#/components/schemas/CommitmentsScalarColumns' + required: + - columns + type: object + CommitmentsSavingsTimeseriesResponse: + description: Response containing timeseries savings metrics for cloud commitment programs. + properties: + actual_cost: + $ref: '#/components/schemas/CommitmentsTimeseriesMetric' + effective_savings_rate: + $ref: '#/components/schemas/CommitmentsTimeseriesMetric' + on_demand_equivalent_cost: + $ref: '#/components/schemas/CommitmentsTimeseriesMetric' + realized_savings: + $ref: '#/components/schemas/CommitmentsTimeseriesMetric' + required: + - actual_cost + - effective_savings_rate + - on_demand_equivalent_cost + - realized_savings + type: object + CommitmentsUtilizationScalarResponse: + description: Response containing scalar utilization metrics for cloud commitment programs. + properties: + columns: + $ref: '#/components/schemas/CommitmentsScalarColumns' + product_breakdown: + $ref: '#/components/schemas/CommitmentsUtilizationScalarProductBreakdown' + required: + - columns + type: object + CommitmentsUtilizationTimeseriesResponse: + description: Response containing timeseries utilization metrics for cloud commitment programs. + properties: + series: + $ref: '#/components/schemas/CommitmentsTimeseriesSeries' + times: + $ref: '#/components/schemas/CommitmentsTimestamps' + unit: + $ref: '#/components/schemas/CommitmentsUnit' + required: + - series + - times + type: object + CustomCostsFileListResponse: + description: Response for List Custom Costs files. + properties: + data: + description: List of Custom Costs files. + items: + $ref: '#/components/schemas/CustomCostsFileMetadataHighLevel' + type: array + meta: + $ref: '#/components/schemas/CustomCostListResponseMeta' + type: object + CustomCostsFileUploadRequest: + description: Request for uploading a Custom Costs file. + items: + $ref: '#/components/schemas/CustomCostsFileLineItem' + type: array + CustomCostsFileUploadResponse: + description: Response for Uploaded Custom Costs files. + properties: + data: + $ref: '#/components/schemas/CustomCostsFileMetadataHighLevel' + meta: + $ref: '#/components/schemas/CustomCostUploadResponseMeta' + type: object + CustomCostsFileGetResponse: + description: Response for Get Custom Costs files. + properties: + data: + $ref: '#/components/schemas/CustomCostsFileMetadataWithContentHighLevel' + meta: + $ref: '#/components/schemas/CustomCostGetResponseMeta' + type: object + GCPUsageCostConfigsResponse: + description: List of Google Cloud Usage Cost configs. + properties: + data: + description: A Google Cloud Usage Cost config. + items: + $ref: '#/components/schemas/GCPUsageCostConfig' + type: array + required: + - data + type: object + GCPUsageCostConfigPostRequest: + description: Google Cloud Usage Cost config post request. + properties: + data: + $ref: '#/components/schemas/GCPUsageCostConfigPostData' + required: + - data + type: object + GCPUsageCostConfigResponse: + description: Response of Google Cloud Usage Cost config. + properties: + data: + $ref: '#/components/schemas/GCPUsageCostConfig' + type: object + GcpUcConfigResponse: + description: The definition of `GcpUcConfigResponse` object. + example: + data: + attributes: + account_id: 123456_A123BC_12AB34 + bucket_name: dd-cost-bucket + created_at: '2023-01-01T12:00:00.000000' + dataset: billing + error_messages: [] + export_prefix: datadog_cloud_cost_usage_export + export_project_name: dd-cloud-cost-report + months: 36 + project_id: my-project-123 + service_account: dd-ccm-gcp-integration@my-environment.iam.gserviceaccount.com + status: active + status_updated_at: '2023-01-01T12:00:00.000000' + updated_at: '2023-01-01T12:00:00.000000' + id: '123456789123' + type: gcp_uc_config + properties: + data: + $ref: '#/components/schemas/GcpUcConfigResponseData' + type: object + GCPUsageCostConfigPatchRequest: + description: Google Cloud Usage Cost config patch request. + properties: + data: + $ref: '#/components/schemas/GCPUsageCostConfigPatchData' + required: + - data + type: object + OCIConfigsResponse: + description: List of OCI configs. + example: + data: + - attributes: + account_id: ocid1.tenancy.oc1..example + created_at: '2026-01-01T12:00:00Z' + error_messages: [] + status: active + status_updated_at: '2026-01-01T12:00:00Z' + updated_at: '2026-01-01T12:00:00Z' + id: '1' + type: oci_config + properties: + data: + description: An OCI config. + items: + $ref: '#/components/schemas/OCIConfig' + type: array + required: + - data + type: object + RecommendationsFilterRequest: + description: Request body for filtering cost recommendations. + example: + filter: '@resource_table:aws_ec2_instance' + sort: + - expression: potential_daily_savings.amount + order: DESC + properties: + filter: + description: Filter expression applied to the recommendations. + type: string + sort: + description: Ordered list of sort clauses applied to the result set. + items: + $ref: '#/components/schemas/RecommendationsFilterRequestSortItems' + type: array + view: + description: Active view name (for example, `active`, `dismissed`, `open`, `in-progress`, or `completed`). + type: string + type: object + CostRecommendationArray: + description: A page of cost recommendations with pagination metadata. + properties: + data: + description: The list of cost recommendations on this page. + items: + $ref: '#/components/schemas/CostRecommendationData' + type: array + meta: + $ref: '#/components/schemas/RecommendationsPageMeta' + required: + - data + type: object + CostTagDescriptionsResponse: + description: List of Cloud Cost Management tag key descriptions for the organization, optionally filtered to a single cloud provider. + example: + data: + - attributes: + cloud: aws + created_at: '2026-01-01T12:00:00Z' + description: AWS account that owns this cost. + source: human + tag_key: account_id + updated_at: '2026-01-01T12:00:00Z' + id: account_id + type: cost_tag_description + properties: + data: + description: List of tag key descriptions. + items: + $ref: '#/components/schemas/CostTagDescription' + type: array + required: + - data + type: object + CostTagDescriptionResponse: + description: Single Cloud Cost Management tag key description returned by the get-by-key endpoint. + example: + data: + attributes: + cloud: aws + created_at: '2026-01-01T12:00:00Z' + description: AWS account that owns this cost. + source: human + tag_key: account_id + updated_at: '2026-01-01T12:00:00Z' + id: account_id + type: cost_tag_description + properties: + data: + $ref: '#/components/schemas/CostTagDescription' + required: + - data + type: object + CostTagDescriptionUpsertRequest: + description: Request body for creating or updating a Cloud Cost Management tag key description. + example: + data: + attributes: + cloud: aws + description: AWS account that owns this cost. + id: account_id + type: cost_tag_description + properties: + data: + $ref: '#/components/schemas/CostTagDescriptionUpsertRequestData' + required: + - data + type: object + GenerateCostTagDescriptionResponse: + description: Response wrapping an AI-generated Cloud Cost Management tag key description. + example: + data: + attributes: + description: AWS account that owns this cost. + id: account_id + type: cost_generated_tag_description + properties: + data: + $ref: '#/components/schemas/GeneratedCostTagDescription' + required: + - data + type: object + CostTagKeysResponse: + description: A list of Cloud Cost Management tag keys. + example: + data: + - attributes: + sources: + - focus + value: providername + id: providername + type: cost_tag_key + - attributes: + sources: [] + value: service + id: service + type: cost_tag_key + properties: + data: + description: The list of Cloud Cost Management tag keys. + items: + $ref: '#/components/schemas/CostTagKey' + type: array + required: + - data + type: object + CostTagKeyResponse: + description: A single Cloud Cost Management tag key. + example: + data: + attributes: + details: + description: The cloud provider name reported for the cost line item. + tag_values: + - aws + - gcp + - azure + sources: + - focus + value: providername + id: providername + type: cost_tag_key + properties: + data: + $ref: '#/components/schemas/CostTagKey' + required: + - data + type: object + CostTagMetadataDailyFilter: + description: Granularity for tag metadata results. `true` returns one row per day, `false` (or omitted) returns the monthly roll-up. + enum: + - 'true' + - 'false' + example: 'true' + type: string + x-enum-varnames: + - 'TRUE' + - 'FALSE' + CostTagKeyMetadataResponse: + description: List of Cloud Cost Management tag key metadata entries for the requested period. + example: + data: + - attributes: + cardinality_by_account: + '123456789012': 42 + cost_covered: 1234.56 + metric: aws.cost.net.amortized + row_count: 100 + tag_sources: + - aws-user-defined + top_values_by_account: + '123456789012': + - prod + - staging + id: env:aws.cost.net.amortized + type: cost_tag_key_metadata + properties: + data: + description: List of tag key metadata entries. + items: + $ref: '#/components/schemas/CostTagKeyMetadata' + type: array + required: + - data + type: object + CostCurrencyResponse: + description: The dominant Cloud Cost Management billing currency for the requested period. The `data` array contains at most one entry, and is empty when no currency data is available. + example: + data: + - id: USD + type: cost_currency + properties: + data: + description: The dominant billing currency. Empty when no data is available, or a single entry otherwise. + items: + $ref: '#/components/schemas/CostCurrency' + type: array + required: + - data + type: object + CostMetricsResponse: + description: List of available Cloud Cost Management metrics for the requested period. + example: + data: + - id: aws.cost.net.amortized + type: cost_metric + - id: gcp.cost.amortized + type: cost_metric + properties: + data: + description: List of available metrics. + items: + $ref: '#/components/schemas/CostMetric' + type: array + required: + - data + type: object + CostTagMetadataMonthsResponse: + description: List of months that have Cloud Cost Management tag metadata for the requested provider, ordered most-recent first and capped at 36 months. + example: + data: + - id: 2026-04 + type: cost_tag_metadata_month + - id: 2026-03 + type: cost_tag_metadata_month + properties: + data: + description: List of months that have tag metadata available. + items: + $ref: '#/components/schemas/CostTagMetadataMonth' + type: array + required: + - data + type: object + CostOrchestratorsResponse: + description: List of container orchestrators detected in Cloud Cost Management data for the requested period. + example: + data: + - id: ecs + type: cost_orchestrator + - id: kubernetes + type: cost_orchestrator + properties: + data: + description: List of detected container orchestrators. + items: + $ref: '#/components/schemas/CostOrchestrator' + type: array + required: + - data + type: object + CostTagKeySourcesResponse: + description: List of Cloud Cost Management tag keys with their origin sources for the requested period. + example: + data: + - attributes: + tag_key: env + tag_sources: + - aws-user-defined + - custom + id: env + type: cost_tag_key_source + - attributes: + tag_key: service + tag_sources: + - aws + id: service + type: cost_tag_key_source + properties: + data: + description: List of tag keys with their origin sources. + items: + $ref: '#/components/schemas/CostTagKeySource' + type: array + required: + - data + type: object + CostTagsResponse: + description: A list of Cloud Cost Management tags. + example: + data: + - attributes: + sources: + - focus + value: providername:aws + id: providername:aws + type: cost_tag + - attributes: + sources: + - focus + value: providername:gcp + id: providername:gcp + type: cost_tag + properties: + data: + description: The list of Cloud Cost Management tags. + items: + $ref: '#/components/schemas/CostTag' + type: array + required: + - data + type: object + ActiveBillingDimensionsResponse: + description: Active billing dimensions response. + properties: + data: + $ref: '#/components/schemas/ActiveBillingDimensionsBody' + type: object + SortDirection: + default: desc + description: The direction to sort by. + enum: + - desc + - asc + type: string + x-enum-varnames: + - DESC + - ASC + MonthlyCostAttributionResponse: + description: Response containing the monthly cost attribution by tag(s). + properties: + data: + description: Response containing cost attribution. + items: + $ref: '#/components/schemas/MonthlyCostAttributionBody' + type: array + meta: + $ref: '#/components/schemas/MonthlyCostAttributionMeta' + type: object + RulesetRespArray: + description: The definition of `RulesetRespArray` object. + example: + data: + - attributes: + created: null + enabled: true + last_modified_user_uuid: '' + modified: null + name: Production Cost Allocation Rules + position: 0 + rules: + - enabled: true + mapping: null + metadata: null + name: AWS Production Account Tagging + query: + addition: + key: environment + value: production + case_insensitivity: false + if_tag_exists: do_not_apply + query: billingcurrency:"USD" AND account_name:"prod-account" + reference_table: null + - enabled: true + mapping: + destination_key: team_owner + if_tag_exists: do_not_apply + source_keys: + - account_name + - service + metadata: null + name: Team Mapping Rule + query: null + reference_table: null + - enabled: true + mapping: null + metadata: null + name: New table rule with new UI + query: null + reference_table: + case_insensitivity: true + field_pairs: + - input_column: status_type + output_key: status + - input_column: status_description + output_key: dess + if_tag_exists: append + source_keys: + - http_status + - status_description + table_name: http_status_codes + version: 2 + id: 55ef2385-9ae1-4410-90c4-5ac1b60fec10 + type: ruleset + - attributes: + created: null + enabled: true + last_modified_user_uuid: '' + modified: null + name: Development Environment Rules + position: 0 + rules: + - enabled: true + mapping: null + metadata: null + name: Dev Account Cost Center + query: + addition: + key: cost_center + value: engineering + case_insensitivity: true + if_tag_exists: do_not_apply + query: account_name:"dev-*" + reference_table: null + version: 1 + id: a7b8c9d0-1234-5678-9abc-def012345678 + type: ruleset + properties: + data: + description: The `RulesetRespArray` `data`. + items: + $ref: '#/components/schemas/RulesetRespData' + type: array + required: + - data + type: object + CreateRulesetRequest: + description: The definition of `CreateRulesetRequest` object. + example: + data: + attributes: + enabled: true + rules: + - enabled: true + mapping: null + metadata: null + name: Add Cost Center Tag + query: + addition: + key: cost_center + value: engineering + case_insensitivity: false + if_tag_exists: do_not_apply + query: account_id:"123456789" AND service:"web-api" + reference_table: null + id: New Ruleset + type: create_ruleset + properties: + data: + $ref: '#/components/schemas/CreateRulesetRequestData' + type: object + RulesetResp: + description: The definition of `RulesetResp` object. + example: + data: + attributes: + created: null + enabled: true + last_modified_user_uuid: '' + modified: null + name: Example Ruleset + position: 0 + rules: + - enabled: false + mapping: null + metadata: null + name: RC test rule edited1 + query: + addition: + key: abc + value: ww + case_insensitivity: false + if_tag_exists: do_not_apply + query: billingcurrency:"USD" AND account_name:"SZA96462" AND billingcurrency:"USD" + reference_table: null + - enabled: true + mapping: + destination_key: h + if_tag_exists: do_not_apply + source_keys: + - accountname + - accountownerid + metadata: null + name: rule with empty source key + query: null + reference_table: null + - enabled: true + mapping: null + metadata: null + name: New table rule with new UI + query: null + reference_table: + case_insensitivity: true + field_pairs: + - input_column: status_type + output_key: status + - input_column: status_description + output_key: dess + if_tag_exists: append + source_keys: + - http_status + - status_description + table_name: http_status_codes + version: 1 + id: '12345' + type: ruleset + properties: + data: + $ref: '#/components/schemas/RulesetRespData' + type: object + ReorderRulesetResourceArray: + description: The definition of `ReorderRulesetResourceArray` object. + example: + data: + - id: 55ef2385-9ae1-4410-90c4-5ac1b60fec10 + type: ruleset + - id: a7b8c9d0-1234-5678-9abc-def012345678 + type: ruleset + - id: f1e2d3c4-b5a6-9780-1234-567890abcdef + type: ruleset + properties: + data: + description: The `ReorderRulesetResourceArray` `data`. + items: + $ref: '#/components/schemas/ReorderRulesetResourceData' + type: array + required: + - data + type: object + RulesetStatusRespArray: + description: Processing statuses for all tag pipeline rulesets in the specified organization. + example: + data: + - attributes: + processing_status: processing + id: 55ef2385-9ae1-4410-90c4-5ac1b60fec10 + type: ruleset_status + - attributes: + processing_status: done + id: a7b8c9d0-1234-5678-9abc-def012345678 + type: ruleset_status + properties: + data: + description: Processing status for a tag pipeline ruleset. + items: + $ref: '#/components/schemas/RulesetStatusRespData' + type: array + required: + - data + type: object + RulesValidateQueryRequest: + description: The definition of `RulesValidateQueryRequest` object. + example: + data: + attributes: + Query: example:query AND test:true + type: validate_query + properties: + data: + $ref: '#/components/schemas/RulesValidateQueryRequestData' + type: object + RulesValidateQueryResponse: + description: The definition of `RulesValidateQueryResponse` object. + example: + data: + attributes: + Canonical: canonical query representation + type: validate_response + properties: + data: + $ref: '#/components/schemas/RulesValidateQueryResponseData' + type: object + UpdateRulesetRequest: + description: The definition of `UpdateRulesetRequest` object. + example: + data: + attributes: + enabled: true + last_version: 1 + name: Updated Ruleset + rules: + - enabled: true + mapping: null + metadata: null + name: Add Cost Center Tag + query: + addition: + key: cost_center + value: engineering + case_insensitivity: false + if_tag_exists: do_not_apply + query: account_id:"123456789" AND service:"web-api" + reference_table: null + - enabled: true + mapping: + destination_key: team_owner + if_tag_exists: do_not_apply + source_keys: + - account_name + - account_id + metadata: null + name: Account Name Mapping + query: null + reference_table: null + - enabled: true + mapping: null + metadata: null + name: New table rule with new UI + query: null + reference_table: + case_insensitivity: true + field_pairs: + - input_column: status_type + output_key: status + - input_column: status_description + output_key: dess + if_tag_exists: append + source_keys: + - http_status + - status_description + table_name: http_status_codes + type: update_ruleset + properties: + data: + $ref: '#/components/schemas/UpdateRulesetRequestData' + type: object + AccountFilters: + description: The account filters for a cloud account. + properties: + attributes: + $ref: '#/components/schemas/AccountFiltersAttributes' + id: + description: The ID of the cloud account. + example: '123456789123' + type: string + type: + $ref: '#/components/schemas/AccountFiltersType' + required: + - attributes + - type + type: object + AccountFiltersPatchData: + description: Account filters patch data. + properties: + attributes: + $ref: '#/components/schemas/AccountFiltersPatchRequestAttributes' + type: + $ref: '#/components/schemas/AccountFiltersPatchRequestType' + required: + - attributes + - type + type: object + CostAnomaliesResponseData: + description: Resource wrapper for the list of cost anomalies and aggregated totals. + properties: + attributes: + $ref: '#/components/schemas/CostAnomaliesResponseDataAttributes' + id: + description: Static identifier of the cost anomalies collection resource. + example: anomalies + type: string + type: + $ref: '#/components/schemas/CostAnomaliesResponseDataType' + required: + - id + - type + - attributes + type: object + CostAnomalyResponseData: + description: Resource wrapper for a single cost anomaly. + properties: + attributes: + $ref: '#/components/schemas/CostAnomaly' + id: + description: The unique identifier of the anomaly. + example: b0a6aaa9-3c4c-48cb-9447-a0d1338b3e09 + type: string + type: + $ref: '#/components/schemas/CostAnomaliesResponseDataType' + required: + - id + - type + - attributes + type: object + ArbitraryRuleResponseData: + description: The definition of `ArbitraryRuleResponseData` object. + properties: + attributes: + $ref: '#/components/schemas/ArbitraryRuleResponseDataAttributes' + id: + description: The `ArbitraryRuleResponseData` `id`. + type: string + type: + $ref: '#/components/schemas/ArbitraryRuleResponseDataType' + required: + - type + type: object + ArbitraryRuleResponseArrayMeta: + description: The `ArbitraryRuleResponseArray` `meta`. + properties: + total_count: + description: The `meta` `total_count`. + format: int64 + type: integer + type: object + ArbitraryCostUpsertRequestData: + description: The definition of `ArbitraryCostUpsertRequestData` object. + properties: + attributes: + $ref: '#/components/schemas/ArbitraryCostUpsertRequestDataAttributes' + id: + description: The `ArbitraryCostUpsertRequestData` `id`. + type: string + type: + $ref: '#/components/schemas/ArbitraryCostUpsertRequestDataType' + required: + - type + type: object + ReorderRuleResourceData: + description: The definition of `ReorderRuleResourceData` object. + properties: + id: + description: The `ReorderRuleResourceData` `id`. + type: string + type: + $ref: '#/components/schemas/ReorderRuleResourceDataType' + required: + - type + type: object + ArbitraryRuleStatusResponseData: + description: Processing status for a custom allocation rule. + properties: + attributes: + $ref: '#/components/schemas/ArbitraryRuleStatusResponseDataAttributes' + id: + description: The unique identifier of the custom allocation rule. + example: '123' + type: string + type: + $ref: '#/components/schemas/ArbitraryRuleStatusResponseDataType' + required: + - id + - type + - attributes + type: object + AwsCURConfig: + description: AWS CUR config. + properties: + attributes: + $ref: '#/components/schemas/AwsCURConfigAttributes' + id: + description: The ID of the AWS CUR config. + type: string + type: + $ref: '#/components/schemas/AwsCURConfigType' + required: + - attributes + - type + type: object + AwsCURConfigPostData: + description: AWS CUR config Post data. + properties: + attributes: + $ref: '#/components/schemas/AwsCURConfigPostRequestAttributes' + type: + $ref: '#/components/schemas/AwsCURConfigPostRequestType' + required: + - type + type: object + AwsCurConfigResponseData: + description: The definition of `AwsCurConfigResponseData` object. + properties: + attributes: + $ref: '#/components/schemas/AwsCurConfigResponseDataAttributes' + id: + description: The `AwsCurConfigResponseData` `id`. + type: string + type: + $ref: '#/components/schemas/AwsCurConfigResponseDataType' + required: + - type + type: object + AwsCURConfigPatchData: + description: AWS CUR config Patch data. + properties: + attributes: + $ref: '#/components/schemas/AwsCURConfigPatchRequestAttributes' + type: + $ref: '#/components/schemas/AwsCURConfigPatchRequestType' + required: + - attributes + - type + type: object + AzureUCConfigPair: + description: Azure config pair. + properties: + attributes: + $ref: '#/components/schemas/AzureUCConfigPairAttributes' + id: + description: The ID of Cloud Cost Management account. + type: string + type: + $ref: '#/components/schemas/AzureUCConfigPairType' + required: + - attributes + - type + type: object + AzureUCConfigPostData: + description: Azure config Post data. + properties: + attributes: + $ref: '#/components/schemas/AzureUCConfigPostRequestAttributes' + type: + $ref: '#/components/schemas/AzureUCConfigPostRequestType' + required: + - type + type: object + UCConfigPairData: + description: The definition of `UCConfigPairData` object. + properties: + attributes: + $ref: '#/components/schemas/UCConfigPairDataAttributes' + id: + description: The `UCConfigPairData` `id`. + type: string + type: + $ref: '#/components/schemas/UCConfigPairDataType' + required: + - type + type: object + AzureUCConfigPatchData: + description: Azure config Patch data. + properties: + attributes: + $ref: '#/components/schemas/AzureUCConfigPatchRequestAttributes' + type: + $ref: '#/components/schemas/AzureUCConfigPatchRequestType' + required: + - type + type: object + BudgetWithEntriesData: + description: A budget and all its entries. + properties: + attributes: + $ref: '#/components/schemas/BudgetAttributes' + id: + description: The `BudgetWithEntriesData` `id`. + example: 00000000-0a0a-0a0a-aaa0-00000000000a + type: string + type: + description: The type of the object, must be `budget`. + example: '' + type: string + type: object + ValidationError: + description: Represents a single validation error, including a human-readable title and metadata. + properties: + meta: + $ref: '#/components/schemas/ValidationErrorMeta' + title: + description: A short, human-readable summary of the error. + example: Field 'region' is required + type: string + required: + - title + - meta + type: object + CustomForecastUpsertRequestData: + description: Custom forecast resource wrapper in an upsert request. + properties: + attributes: + $ref: '#/components/schemas/CustomForecastUpsertRequestDataAttributes' + id: + description: Unused on upsert; the resource is keyed by `budget_uid`. Send an empty string. + example: '' + type: string + type: + $ref: '#/components/schemas/CustomForecastType' + required: + - type + - attributes + type: object + CustomForecastResponseData: + description: Custom forecast resource wrapper in a response. + properties: + attributes: + $ref: '#/components/schemas/CustomForecastResponseDataAttributes' + id: + description: The unique identifier of the custom forecast. + example: 11111111-1111-1111-1111-111111111111 + type: string + type: + $ref: '#/components/schemas/CustomForecastType' + required: + - id + - type + - attributes + type: object + BudgetValidationRequestData: + description: The data object for a budget validation request, containing the resource type, ID, and budget attributes to validate. + properties: + attributes: + $ref: '#/components/schemas/BudgetWithEntriesDataAttributes' + id: + description: The unique identifier of the budget to validate. + type: string + type: + $ref: '#/components/schemas/BudgetWithEntriesDataType' + required: + - type + type: object + BudgetValidationResponseData: + description: The data object for a budget validation response, containing the resource type, ID, and validation attributes. + properties: + attributes: + $ref: '#/components/schemas/BudgetValidationResponseDataAttributes' + id: + description: The unique identifier of the budget being validated. + type: string + type: + $ref: '#/components/schemas/BudgetValidationResponseDataType' + required: + - type + type: object + Budget: + description: A budget. + properties: + attributes: + $ref: '#/components/schemas/BudgetAttributes' + id: + description: The id of the budget. + type: string + type: + description: The type of the object, must be `budget`. + example: '' + type: string + required: + - type + type: object + CommitmentsProvider: + description: Cloud provider for commitment programs. + enum: + - aws + - azure + example: aws + type: string + x-enum-varnames: + - AWS + - AZURE + CommitmentsCommitmentType: + description: Type of commitment. ri for Reserved Instances, sp for Savings Plans. + enum: + - ri + - sp + example: ri + type: string + x-enum-varnames: + - RESERVED_INSTANCES + - SAVINGS_PLANS + CommitmentsListItems: + description: Array of commitment items. + example: + - commitment_id: ri-0123456789abcdef0 + instance_type: m5.xlarge + offering_class: standard + operating_system: Linux + purchase_option: All Upfront + region: us-east-1 + items: + $ref: '#/components/schemas/CommitmentsListItem' + type: array + CommitmentsListMeta: + description: Metadata for a commitments list response. + properties: + committed_spend_unit: + $ref: '#/components/schemas/CommitmentsUnit' + type: object + JSONAPIErrorItem: + description: API error response body + properties: + detail: + description: A human-readable explanation specific to this occurrence of the error. + example: Missing required attribute in body + type: string + meta: + additionalProperties: {} + description: Non-standard meta-information about the error + type: object + source: + $ref: '#/components/schemas/JSONAPIErrorItemSource' + status: + description: Status code of the response. + example: '400' + type: string + title: + description: Short human-readable summary of the error. + example: Bad Request + type: string + type: object + CommitmentsScalarColumns: + description: Array of scalar columns in the response. + items: + $ref: '#/components/schemas/CommitmentsScalarColumn' + type: array + CommitmentsTimeseriesMetric: + description: A timeseries metric containing timestamps, series values, and optional unit metadata. + properties: + series: + $ref: '#/components/schemas/CommitmentsTimeseriesSeries' + times: + $ref: '#/components/schemas/CommitmentsTimestamps' + unit: + $ref: '#/components/schemas/CommitmentsUnit' + required: + - series + - times + type: object + CommitmentsOnDemandHotspotsScalarMeta: + description: Metadata for the on-demand hot-spots scalar response. + properties: + on_demand_filters: + description: Active on-demand filters applied to the response. + example: region:us-east-1 + type: string + required: + - on_demand_filters + type: object + CommitmentsUtilizationScalarProductBreakdown: + description: Array of per-product utilization breakdown entries. + items: + $ref: '#/components/schemas/CommitmentsUtilizationScalarProductBreakdownEntry' + type: array + CommitmentsTimeseriesSeries: + additionalProperties: + $ref: '#/components/schemas/CommitmentsTimeseriesValues' + description: Timeseries data as a map of series names to their corresponding value arrays. + type: object + CommitmentsTimestamps: + description: Unix timestamps in seconds for the timeseries data points. + example: + - 1693526400 + - 1693612800 + items: + description: A Unix timestamp in seconds. + format: int64 + type: integer + type: array + CommitmentsUnit: + description: Unit metadata for a numeric metric. + properties: + family: + description: The unit family (for example, percentage or money). + example: percentage + type: string + id: + description: The unit identifier. + example: 17 + format: int64 + type: integer + name: + description: The unit name (for example, percent or dollar). + example: percent + type: string + plural: + description: The plural form of the unit name. + example: percent + type: string + scale_factor: + description: The scale factor for the unit. + example: 1 + format: double + type: number + short_name: + description: The abbreviated unit name (for example, % or $). + example: '%' + type: string + required: + - family + - id + - name + - plural + - scale_factor + - short_name + type: object + CustomCostsFileMetadataHighLevel: + description: JSON API format for a Custom Costs file. + properties: + attributes: + $ref: '#/components/schemas/CustomCostsFileMetadata' + id: + description: ID of the Custom Costs metadata. + type: string + type: + description: Type of the Custom Costs file metadata. + type: string + type: object + CustomCostListResponseMeta: + description: Meta for the response from the List Custom Costs endpoints. + properties: + count_by_status: + additionalProperties: + format: int64 + type: integer + description: Number of Custom Costs files per status. + type: object + providers: + description: List of available providers. + items: + description: A provider name. + type: string + type: array + total_filtered_count: + description: Number of Custom Costs files returned by the List Custom Costs endpoint + format: int64 + type: integer + version: + description: Version of Custom Costs file + type: string + type: object + CustomCostsFileLineItem: + description: Line item details from a Custom Costs file. + properties: + BilledCost: + description: Total cost in the cost file. + example: 100.5 + format: double + type: number + BillingCurrency: + description: Currency used in the Custom Costs file. + example: USD + type: string + ChargeDescription: + description: Description for the line item cost. + example: Monthly usage charge for my service + type: string + ChargePeriodEnd: + description: End date of the usage charge. + example: '2023-02-28' + pattern: ^\d{4}-\d{2}-\d{2}$ + type: string + ChargePeriodStart: + description: Start date of the usage charge. + example: '2023-02-01' + pattern: ^\d{4}-\d{2}-\d{2}$ + type: string + ProviderName: + description: Name of the provider for the line item. + type: string + Tags: + additionalProperties: + type: string + description: Additional tags for the line item. + type: object + type: object + CustomCostUploadResponseMeta: + description: Meta for the response from the Upload Custom Costs endpoints. + properties: + version: + description: Version of Custom Costs file + type: string + type: object + CustomCostsFileMetadataWithContentHighLevel: + description: JSON API format of for a Custom Costs file with content. + properties: + attributes: + $ref: '#/components/schemas/CustomCostsFileMetadataWithContent' + id: + description: ID of the Custom Costs metadata. + type: string + type: + description: Type of the Custom Costs file metadata. + type: string + type: object + CustomCostGetResponseMeta: + description: Meta for the response from the Get Custom Costs endpoints. + properties: + version: + description: Version of Custom Costs file + type: string + type: object + GCPUsageCostConfig: + description: Google Cloud Usage Cost config. + properties: + attributes: + $ref: '#/components/schemas/GCPUsageCostConfigAttributes' + id: + description: The ID of the Google Cloud Usage Cost config. + type: string + type: + $ref: '#/components/schemas/GCPUsageCostConfigType' + required: + - attributes + - type + type: object + GCPUsageCostConfigPostData: + description: Google Cloud Usage Cost config post data. + properties: + attributes: + $ref: '#/components/schemas/GCPUsageCostConfigPostRequestAttributes' + type: + $ref: '#/components/schemas/GCPUsageCostConfigPostRequestType' + required: + - type + type: object + GcpUcConfigResponseData: + description: The definition of `GcpUcConfigResponseData` object. + properties: + attributes: + $ref: '#/components/schemas/GcpUcConfigResponseDataAttributes' + id: + description: The `GcpUcConfigResponseData` `id`. + type: string + type: + $ref: '#/components/schemas/GcpUcConfigResponseDataType' + required: + - type + type: object + GCPUsageCostConfigPatchData: + description: Google Cloud Usage Cost config patch data. + properties: + attributes: + $ref: '#/components/schemas/GCPUsageCostConfigPatchRequestAttributes' + type: + $ref: '#/components/schemas/GCPUsageCostConfigPatchRequestType' + required: + - attributes + - type + type: object + OCIConfig: + description: OCI config. + properties: + attributes: + $ref: '#/components/schemas/OCIConfigAttributes' + id: + description: The ID of the OCI config. + example: '1' + type: string + type: + $ref: '#/components/schemas/OCIConfigType' + required: + - attributes + - id + - type + type: object + RecommendationsFilterRequestSortItems: + description: A single sort clause applied to the cost recommendations result set. + properties: + expression: + description: Field to sort by (for example, `potential_daily_savings.amount`). + type: string + order: + description: Sort direction, either `ASC` or `DESC`. + type: string + type: object + CostRecommendationData: + description: A single cost recommendation entry in JSON:API form. + properties: + attributes: + $ref: '#/components/schemas/CostRecommendationDataAttributes' + id: + description: Unique identifier for the recommendation. + type: string + type: + $ref: '#/components/schemas/CostRecommendationDataType' + required: + - type + type: object + RecommendationsPageMeta: + description: Top-level JSON:API meta object for paginated cost recommendation responses. + properties: + page: + $ref: '#/components/schemas/RecommendationsPageMetaPage' + type: object + CostTagDescription: + description: A Cloud Cost Management tag key description, either cross-cloud or scoped to a single cloud provider. + properties: + attributes: + $ref: '#/components/schemas/CostTagDescriptionAttributes' + id: + description: Stable identifier of the tag description. Equals the tag key when the description is the cross-cloud default; encodes both the cloud and the tag key when the description is cloud-specific. + example: account_id + type: string + type: + $ref: '#/components/schemas/CostTagDescriptionType' + required: + - attributes + - id + - type + type: object + CostTagDescriptionUpsertRequestData: + description: Resource envelope carrying the tag key description being upserted. The `id` is informational; the authoritative tag key is taken from the URL path. + properties: + attributes: + $ref: '#/components/schemas/CostTagDescriptionUpsertRequestDataAttributes' + id: + description: Identifier of the tag key the description applies to. Matches the `tag_key` path parameter. + example: account_id + type: string + type: + $ref: '#/components/schemas/CostTagDescriptionType' + required: + - attributes + - type + type: object + GeneratedCostTagDescription: + description: AI-generated Cloud Cost Management tag key description returned by the generate endpoint. The result is returned to the client but is not persisted by this endpoint. + properties: + attributes: + $ref: '#/components/schemas/GeneratedCostTagDescriptionAttributes' + id: + description: The tag key the AI description was generated for. + example: account_id + type: string + type: + $ref: '#/components/schemas/GeneratedCostTagDescriptionType' + required: + - attributes + - id + - type + type: object + CostTagKey: + description: A Cloud Cost Management tag key. + properties: + attributes: + $ref: '#/components/schemas/CostTagKeyAttributes' + id: + description: The tag key identifier. + example: providername + type: string + type: + $ref: '#/components/schemas/CostTagKeyType' + required: + - attributes + - id + - type + type: object + CostTagKeyMetadata: + description: A Cloud Cost Management tag key metadata entry, aggregating coverage and example values for a single tag key, metric, and period. + properties: + attributes: + $ref: '#/components/schemas/CostTagKeyMetadataAttributes' + id: + description: A composite identifier of the form `tag_key:metric` for monthly roll-ups, or `tag_key:metric:YYYY-MM-DD` when `filter[daily]=true`. + example: env:aws.cost.net.amortized + type: string + type: + $ref: '#/components/schemas/CostTagKeyMetadataType' + required: + - attributes + - id + - type + type: object + CostCurrency: + description: A Cloud Cost Management billing currency entry. + properties: + id: + description: The currency code (for example, `USD`). + example: USD + type: string + type: + $ref: '#/components/schemas/CostCurrencyType' + required: + - id + - type + type: object + CostMetric: + description: A Cloud Cost Management metric that has data for the requested period. + properties: + id: + description: The metric name, for example `aws.cost.net.amortized`. + example: aws.cost.net.amortized + type: string + type: + $ref: '#/components/schemas/CostMetricType' + required: + - id + - type + type: object + CostTagMetadataMonth: + description: A month that has Cloud Cost Management tag metadata available for a given provider. + properties: + id: + description: The month, in `YYYY-MM` format. + example: 2026-04 + type: string + type: + $ref: '#/components/schemas/CostTagMetadataMonthType' + required: + - id + - type + type: object + CostOrchestrator: + description: A container orchestrator detected in Cloud Cost Management data. + properties: + id: + description: The orchestrator name, for example `kubernetes` or `ecs`. + example: kubernetes + type: string + type: + $ref: '#/components/schemas/CostOrchestratorType' + required: + - id + - type + type: object + CostTagKeySource: + description: A Cloud Cost Management tag key paired with the sources that produced it. + properties: + attributes: + $ref: '#/components/schemas/CostTagKeySourceAttributes' + id: + description: The tag key identifier. Equal to the empty-tag sentinel `__empty_tag_key__` when the tag key is empty. + example: env + type: string + type: + $ref: '#/components/schemas/CostTagKeySourceType' + required: + - attributes + - id + - type + type: object + CostTag: + description: A Cloud Cost Management tag. + properties: + attributes: + $ref: '#/components/schemas/CostTagAttributes' + id: + description: The tag identifier, equal to its `key:value` representation. + example: providername:aws + type: string + type: + $ref: '#/components/schemas/CostTagType' + required: + - attributes + - id + - type + type: object + ActiveBillingDimensionsBody: + description: Active billing dimensions data. + properties: + attributes: + $ref: '#/components/schemas/ActiveBillingDimensionsAttributes' + id: + description: Unique ID of the response. + type: string + type: + $ref: '#/components/schemas/ActiveBillingDimensionsType' + type: object + MonthlyCostAttributionBody: + description: Cost data. + properties: + attributes: + $ref: '#/components/schemas/MonthlyCostAttributionAttributes' + id: + description: Unique ID of the response. + type: string + type: + $ref: '#/components/schemas/CostAttributionType' + type: object + MonthlyCostAttributionMeta: + description: The object containing document metadata. + properties: + aggregates: + $ref: '#/components/schemas/CostAttributionAggregates' + pagination: + $ref: '#/components/schemas/MonthlyCostAttributionPagination' + type: object + RulesetRespData: + description: The definition of `RulesetRespData` object. + properties: + attributes: + $ref: '#/components/schemas/RulesetRespDataAttributes' + id: + description: The `RulesetRespData` `id`. + type: string + type: + $ref: '#/components/schemas/RulesetRespDataType' + required: + - type + type: object + CreateRulesetRequestData: + description: The definition of `CreateRulesetRequestData` object. + properties: + attributes: + $ref: '#/components/schemas/CreateRulesetRequestDataAttributes' + id: + description: The `CreateRulesetRequestData` `id`. + type: string + type: + $ref: '#/components/schemas/CreateRulesetRequestDataType' + required: + - type + type: object + ReorderRulesetResourceData: + description: The definition of `ReorderRulesetResourceData` object. + properties: + id: + description: The `ReorderRulesetResourceData` `id`. + type: string + type: + $ref: '#/components/schemas/ReorderRulesetResourceDataType' + required: + - type + type: object + RulesetStatusRespData: + description: Processing status for a tag pipeline ruleset. + properties: + attributes: + $ref: '#/components/schemas/RulesetStatusRespDataAttributes' + id: + description: The unique identifier of the ruleset. + example: 55ef2385-9ae1-4410-90c4-5ac1b60fec10 + type: string + type: + $ref: '#/components/schemas/RulesetStatusRespDataType' + required: + - id + - type + - attributes + type: object + RulesValidateQueryRequestData: + description: The definition of `RulesValidateQueryRequestData` object. + properties: + attributes: + $ref: '#/components/schemas/RulesValidateQueryRequestDataAttributes' + id: + description: The `RulesValidateQueryRequestData` `id`. + type: string + type: + $ref: '#/components/schemas/RulesValidateQueryRequestDataType' + required: + - type + type: object + RulesValidateQueryResponseData: + description: The definition of `RulesValidateQueryResponseData` object. + properties: + attributes: + $ref: '#/components/schemas/RulesValidateQueryResponseDataAttributes' + id: + description: The `RulesValidateQueryResponseData` `id`. + type: string + type: + $ref: '#/components/schemas/RulesValidateQueryResponseDataType' + required: + - type + type: object + UpdateRulesetRequestData: + description: The definition of `UpdateRulesetRequestData` object. + properties: + attributes: + $ref: '#/components/schemas/UpdateRulesetRequestDataAttributes' + id: + description: The `UpdateRulesetRequestData` `id`. + type: string + type: + $ref: '#/components/schemas/UpdateRulesetRequestDataType' + required: + - type + type: object + AccountFiltersAttributes: + description: Attributes for the account filters of a cloud account. + properties: + account_filters: + $ref: '#/components/schemas/AccountFilteringConfig' + account_id: + description: The cloud account ID. + example: '123456789123' + type: string + cloud: + description: The cloud provider of the account, for example `aws`, `aws_cur2`, or `oci`. + example: aws_cur2 + type: string + type: object + AccountFiltersType: + default: account_filters + description: Type of account filters. + enum: + - account_filters + example: account_filters + type: string + x-enum-varnames: + - ACCOUNT_FILTERS + AccountFiltersPatchRequestAttributes: + description: Attributes for an account filters patch request. + properties: + account_filters: + $ref: '#/components/schemas/AccountFilteringConfig' + required: + - account_filters + type: object + AccountFiltersPatchRequestType: + default: account_filters_patch_request + description: Type of account filters patch request. + enum: + - account_filters_patch_request + example: account_filters_patch_request + type: string + x-enum-varnames: + - ACCOUNT_FILTERS_PATCH_REQUEST + CostAnomaliesResponseDataAttributes: + description: Cost anomaly results and aggregated totals for the queried window. + properties: + anomalies: + description: The list of cost anomalies that match the request. + items: + $ref: '#/components/schemas/CostAnomaly' + type: array + avg_daily_anomalous_cost: + description: Average daily anomalous cost change across the queried window. + example: 625.375 + format: double + type: number + total_actual_cost: + description: Total actual cost spent across the queried window for the matching providers. + example: 3001.24 + format: double + type: number + total_anomalous_cost: + description: Sum of the anomalous cost change across all returned anomalies. + example: 1250.75 + format: double + type: number + total_count: + description: Total number of anomalies that match the request. + example: 1 + format: int64 + type: integer + required: + - anomalies + - total_count + - total_anomalous_cost + - total_actual_cost + - avg_daily_anomalous_cost + type: object + CostAnomaliesResponseDataType: + default: anomalies + description: Type of the cost anomalies collection resource. Must be `anomalies`. + enum: + - anomalies + example: anomalies + type: string + x-enum-varnames: + - ANOMALIES + CostAnomaly: + description: A single detected Cloud Cost Management anomaly. + properties: + actual_cost: + description: Actual cost incurred during the anomaly window. + example: 3001.24 + format: double + type: number + anomalous_cost_change: + description: Anomalous cost change relative to the expected baseline. + example: 1250.75 + format: double + type: number + anomaly_end: + description: Anomaly end timestamp in Unix milliseconds. + example: 1730429150000 + format: int64 + type: integer + anomaly_start: + description: Anomaly start timestamp in Unix milliseconds. + example: 1730259950000 + format: int64 + type: integer + correlated_tags: + $ref: '#/components/schemas/CostAnomalyCorrelatedTags' + dimensions: + $ref: '#/components/schemas/CostAnomalyDimensions' + dismissal: + $ref: '#/components/schemas/CostAnomalyDismissal' + max_cost: + description: Maximum cost observed during the anomaly window. + example: 5000.5 + format: double + type: number + provider: + description: Cloud or SaaS provider associated with the anomaly (for example `aws`, `gcp`, `azure`). + example: aws + type: string + query: + description: The metrics query that detected the anomaly. + example: sum:aws.cost.net.amortized{aws_cost_type IN (Usage,DiscountedUsage,SavingsPlanCoveredUsage) AND aws_product NOT IN (supportenterprise) AND service:"ec2"}.rollup(sum, daily) + type: string + uuid: + description: The unique identifier of the anomaly. + example: b0a6aaa9-3c4c-48cb-9447-a0d1338b3e09 + type: string + required: + - uuid + - anomaly_start + - anomaly_end + - query + - dimensions + - correlated_tags + - anomalous_cost_change + - actual_cost + - max_cost + - provider + type: object + ArbitraryRuleResponseDataAttributes: + description: The definition of `ArbitraryRuleResponseDataAttributes` object. + properties: + costs_to_allocate: + description: The `attributes` `costs_to_allocate`. + items: + $ref: '#/components/schemas/ArbitraryRuleResponseDataAttributesCostsToAllocateItems' + type: array + created: + description: The `attributes` `created`. + example: '' + format: date-time + type: string + enabled: + description: The `attributes` `enabled`. + example: false + type: boolean + last_modified_user_uuid: + description: The `attributes` `last_modified_user_uuid`. + example: '' + type: string + order_id: + description: The `attributes` `order_id`. + example: 0 + format: int64 + type: integer + processing_status: + description: The `attributes` `processing_status`. + example: '' + type: string + provider: + description: The `attributes` `provider`. + example: + - '' + items: + description: A cloud provider name. + type: string + type: array + rejected: + description: The `attributes` `rejected`. + type: boolean + rule_name: + description: The `attributes` `rule_name`. + example: '' + type: string + strategy: + $ref: '#/components/schemas/ArbitraryRuleResponseDataAttributesStrategy' + type: + description: The `attributes` `type`. + example: '' + type: string + updated: + description: The `attributes` `updated`. + example: '' + format: date-time + type: string + version: + description: The `attributes` `version`. + example: 0 + format: int32 + maximum: 2147483647 + type: integer + required: + - costs_to_allocate + - created + - enabled + - last_modified_user_uuid + - order_id + - provider + - rule_name + - strategy + - type + - updated + - version + type: object + ArbitraryRuleResponseDataType: + default: arbitrary_rule + description: Arbitrary rule resource type. + enum: + - arbitrary_rule + example: arbitrary_rule + type: string + x-enum-varnames: + - ARBITRARY_RULE + ArbitraryCostUpsertRequestDataAttributes: + description: The definition of `ArbitraryCostUpsertRequestDataAttributes` object. + properties: + costs_to_allocate: + description: The `attributes` `costs_to_allocate`. + items: + $ref: '#/components/schemas/ArbitraryCostUpsertRequestDataAttributesCostsToAllocateItems' + type: array + enabled: + description: The `attributes` `enabled`. + type: boolean + order_id: + description: The `attributes` `order_id`. + format: int64 + type: integer + provider: + description: The `attributes` `provider`. + example: + - '' + items: + description: A cloud provider name. + type: string + type: array + rejected: + description: The `attributes` `rejected`. + type: boolean + rule_name: + description: The `attributes` `rule_name`. + example: '' + type: string + strategy: + $ref: '#/components/schemas/ArbitraryCostUpsertRequestDataAttributesStrategy' + type: + description: The `attributes` `type`. + example: '' + type: string + required: + - costs_to_allocate + - provider + - rule_name + - strategy + - type + type: object + ArbitraryCostUpsertRequestDataType: + default: upsert_arbitrary_rule + description: Upsert arbitrary rule resource type. + enum: + - upsert_arbitrary_rule + example: upsert_arbitrary_rule + type: string + x-enum-varnames: + - UPSERT_ARBITRARY_RULE + ReorderRuleResourceDataType: + default: arbitrary_rule + description: Arbitrary rule resource type. + enum: + - arbitrary_rule + example: arbitrary_rule + type: string + x-enum-varnames: + - ARBITRARY_RULE + ArbitraryRuleStatusResponseDataAttributes: + description: Processing status for a custom allocation rule. + properties: + processing_status: + description: The processing status of the custom allocation rule. + example: processing + type: string + required: + - processing_status + type: object + ArbitraryRuleStatusResponseDataType: + default: arbitrary_rule_status + description: Custom allocation rule status resource type. + enum: + - arbitrary_rule_status + example: arbitrary_rule_status + type: string + x-enum-varnames: + - ARBITRARY_RULE_STATUS + AwsCURConfigAttributes: + description: Attributes for An AWS CUR config. + properties: + account_filters: + $ref: '#/components/schemas/AccountFilteringConfig' + account_id: + description: The AWS account ID. + example: '123456789123' + type: string + bucket_name: + description: The AWS bucket name used to store the Cost and Usage Report. + example: dd-cost-bucket + type: string + bucket_region: + description: The region the bucket is located in. + example: us-east-1 + type: string + created_at: + description: The timestamp when the AWS CUR config was created. + pattern: ^\d{4}-\d{2}-\d{2}T\d{2}:\d{2}:\d{2}.\d{6}$ + type: string + error_messages: + description: The error messages for the AWS CUR config. + items: + description: An error message string. + type: string + nullable: true + type: array + months: + deprecated: true + description: The number of months the report has been backfilled. + format: int32 + maximum: 36 + type: integer + report_name: + description: The name of the Cost and Usage Report. + example: dd-report-name + type: string + report_prefix: + description: The report prefix used for the Cost and Usage Report. + example: dd-report-prefix + type: string + status: + description: The status of the AWS CUR. + example: active + type: string + status_updated_at: + description: The timestamp when the AWS CUR config status was updated. + pattern: ^\d{4}-\d{2}-\d{2}T\d{2}:\d{2}:\d{2}.\d{6}$ + type: string + updated_at: + description: The timestamp when the AWS CUR config status was updated. + pattern: ^\d{4}-\d{2}-\d{2}T\d{2}:\d{2}:\d{2}.\d{6}$ + type: string + required: + - account_id + - bucket_name + - bucket_region + - report_name + - report_prefix + - status + type: object + AwsCURConfigType: + default: aws_cur_config + description: Type of AWS CUR config. + enum: + - aws_cur_config + example: aws_cur_config + type: string + x-enum-varnames: + - AWS_CUR_CONFIG + AwsCURConfigPostRequestAttributes: + description: Attributes for AWS CUR config Post Request. + properties: + account_filters: + $ref: '#/components/schemas/AccountFilteringConfig' + account_id: + description: The AWS account ID. + example: '123456789123' + type: string + bucket_name: + description: The AWS bucket name used to store the Cost and Usage Report. + example: dd-cost-bucket + type: string + bucket_region: + description: The region the bucket is located in. + example: us-east-1 + type: string + months: + description: The month of the report. + format: int32 + maximum: 36 + type: integer + report_name: + description: The name of the Cost and Usage Report. + example: dd-report-name + type: string + report_prefix: + description: The report prefix used for the Cost and Usage Report. + example: dd-report-prefix + type: string + required: + - account_id + - bucket_name + - report_name + - report_prefix + type: object + AwsCURConfigPostRequestType: + default: aws_cur_config_post_request + description: Type of AWS CUR config Post Request. + enum: + - aws_cur_config_post_request + example: aws_cur_config_post_request + type: string + x-enum-varnames: + - AWS_CUR_CONFIG_POST_REQUEST + AwsCurConfigResponseDataAttributes: + description: The definition of `AwsCurConfigResponseDataAttributes` object. + properties: + account_filters: + $ref: '#/components/schemas/AwsCurConfigResponseDataAttributesAccountFilters' + account_id: + description: The `attributes` `account_id`. + type: string + bucket_name: + description: The `attributes` `bucket_name`. + type: string + bucket_region: + description: The `attributes` `bucket_region`. + type: string + created_at: + description: The `attributes` `created_at`. + type: string + error_messages: + description: The `attributes` `error_messages`. + items: + description: An error message string. + type: string + nullable: true + type: array + months: + description: The `attributes` `months`. + format: int64 + type: integer + report_name: + description: The `attributes` `report_name`. + type: string + report_prefix: + description: The `attributes` `report_prefix`. + type: string + status: + description: The `attributes` `status`. + type: string + status_updated_at: + description: The `attributes` `status_updated_at`. + type: string + updated_at: + description: The `attributes` `updated_at`. + type: string + type: object + AwsCurConfigResponseDataType: + default: aws_cur_config + description: AWS CUR config resource type. + enum: + - aws_cur_config + example: aws_cur_config + type: string + x-enum-varnames: + - AWS_CUR_CONFIG + AwsCURConfigPatchRequestAttributes: + description: Attributes for AWS CUR config Patch Request. + properties: + account_filters: + $ref: '#/components/schemas/AccountFilteringConfig' + is_enabled: + description: Whether or not the Cloud Cost Management account is enabled. + example: true + type: boolean + type: object + AwsCURConfigPatchRequestType: + default: aws_cur_config_patch_request + description: Type of AWS CUR config Patch Request. + enum: + - aws_cur_config_patch_request + example: aws_cur_config_patch_request + type: string + x-enum-varnames: + - AWS_CUR_CONFIG_PATCH_REQUEST + AzureUCConfigPairAttributes: + description: Attributes for Azure config pair. + properties: + configs: + description: An Azure config. + items: + $ref: '#/components/schemas/AzureUCConfig' + type: array + id: + description: The ID of the Azure config pair. + type: string + required: + - configs + type: object + AzureUCConfigPairType: + default: azure_uc_configs + description: Type of Azure config pair. + enum: + - azure_uc_configs + example: azure_uc_configs + type: string + x-enum-varnames: + - AZURE_UC_CONFIGS + AzureUCConfigPostRequestAttributes: + description: Attributes for Azure config Post Request. + properties: + account_id: + description: The tenant ID of the Azure account. + example: 1234abcd-1234-abcd-1234-1234abcd1234 + type: string + actual_bill_config: + $ref: '#/components/schemas/BillConfig' + amortized_bill_config: + $ref: '#/components/schemas/BillConfig' + client_id: + description: The client ID of the Azure account. + example: 1234abcd-1234-abcd-1234-1234abcd1234 + type: string + scope: + description: The scope of your observed subscription. + example: /subscriptions/1234abcd-1234-abcd-1234-1234abcd1234 + type: string + required: + - account_id + - actual_bill_config + - amortized_bill_config + - client_id + - scope + type: object + AzureUCConfigPostRequestType: + default: azure_uc_config_post_request + description: Type of Azure config Post Request. + enum: + - azure_uc_config_post_request + example: azure_uc_config_post_request + type: string + x-enum-varnames: + - AZURE_UC_CONFIG_POST_REQUEST + UCConfigPairDataAttributes: + description: The definition of `UCConfigPairDataAttributes` object. + properties: + configs: + description: The `attributes` `configs`. + items: + $ref: '#/components/schemas/UCConfigPairDataAttributesConfigsItems' + type: array + type: object + UCConfigPairDataType: + default: azure_uc_configs + description: Azure UC configs resource type. + enum: + - azure_uc_configs + example: azure_uc_configs + type: string + x-enum-varnames: + - AZURE_UC_CONFIGS + AzureUCConfigPatchRequestAttributes: + description: Attributes for Azure config Patch Request. + properties: + is_enabled: + description: Whether or not the Cloud Cost Management account is enabled. + example: true + type: boolean + required: + - is_enabled + type: object + AzureUCConfigPatchRequestType: + default: azure_uc_config_patch_request + description: Type of Azure config Patch Request. + enum: + - azure_uc_config_patch_request + example: azure_uc_config_patch_request + type: string + x-enum-varnames: + - AZURE_UC_CONFIG_PATCH_REQUEST + BudgetAttributes: + description: The attributes of a budget. + properties: + costs: + $ref: '#/components/schemas/BudgetAttributesCosts' + description: Aggregated cost data for the budget. Present only when `actual=true` or `forecast=true` is requested. + costs_period_end: + description: The end of the period used to compute cost data, in milliseconds since epoch. + format: int64 + type: integer + costs_period_start: + description: The start of the period used to compute cost data, in milliseconds since epoch. + format: int64 + type: integer + costs_unit: + $ref: '#/components/schemas/BudgetAttributesCostsUnit' + description: The unit used for all cost values in the response. + created_at: + description: The timestamp when the budget was created. + example: 1738258683590 + format: int64 + type: integer + created_by: + description: The id of the user that created the budget. + example: 00000000-0a0a-0a0a-aaa0-00000000000a + type: string + end_month: + description: The month when the budget ends. + example: 202502 + format: int64 + type: integer + entries: + description: The list of monthly budget entries. + items: + $ref: '#/components/schemas/BudgetWithEntriesDataAttributesEntriesItems' + type: array + metrics_query: + description: The cost query used to track against the budget. + example: aws.cost.amortized{service:ec2} by {service} + type: string + name: + description: The name of the budget. + example: my budget + type: string + org_id: + description: The id of the org the budget belongs to. + example: 123 + format: int64 + type: integer + start_month: + description: The month when the budget starts. + example: 202501 + format: int64 + type: integer + total_amount: + description: The sum of all budget entries' amounts. + example: 1000 + format: double + type: number + updated_at: + description: The timestamp when the budget was last updated. + example: 1738258683590 + format: int64 + type: integer + updated_by: + description: The id of the user that created the budget. + example: 00000000-0a0a-0a0a-aaa0-00000000000a + type: string + type: object + ValidationErrorMeta: + description: Describes additional metadata for validation errors, including field names and error messages. + properties: + field: + description: The field name that caused the error. + example: region + type: string + id: + description: The ID of the component in which the error occurred. + example: datadog-agent-source + type: string + message: + description: The detailed error message. + example: Field 'region' is required + type: string + required: + - message + type: object + CustomForecastUpsertRequestDataAttributes: + description: Attributes of a custom forecast upsert request. + properties: + budget_uid: + description: The UUID of the budget that this custom forecast belongs to. + example: 00000000-0000-0000-0000-000000000001 + type: string + entries: + description: |- + Monthly custom forecast entries. An empty list deletes any existing + custom forecast for the budget. + items: + $ref: '#/components/schemas/CustomForecastEntry' + type: array + required: + - budget_uid + - entries + type: object + CustomForecastType: + default: custom_forecast + description: The type of the custom forecast resource. Must be `custom_forecast`. + enum: + - custom_forecast + example: custom_forecast + type: string + x-enum-varnames: + - CUSTOM_FORECAST + CustomForecastResponseDataAttributes: + description: Attributes of a custom forecast. + properties: + budget_uid: + description: The UUID of the budget that this custom forecast belongs to. + example: 00000000-0000-0000-0000-000000000001 + type: string + created_at: + description: Timestamp the custom forecast was created, in Unix milliseconds. + example: 1738258683590 + format: int64 + type: integer + created_by: + description: The id of the user that created the custom forecast. + example: 00000000-0a0a-0a0a-aaa0-00000000000a + type: string + entries: + description: Monthly custom forecast entries. + items: + $ref: '#/components/schemas/CustomForecastEntry' + type: array + updated_at: + description: Timestamp the custom forecast was last updated, in Unix milliseconds. + example: 1738258683590 + format: int64 + type: integer + updated_by: + description: The id of the user that last updated the custom forecast. + example: 00000000-0a0a-0a0a-aaa0-00000000000a + type: string + required: + - budget_uid + - created_at + - updated_at + - created_by + - updated_by + - entries + type: object + BudgetWithEntriesDataAttributes: + description: The attributes of a budget including all its monthly entries. + properties: + created_at: + description: The timestamp when the budget was created. + format: int64 + type: integer + created_by: + description: The ID of the user that created the budget. + type: string + end_month: + description: The month when the budget ends, in YYYYMM format. + format: int64 + type: integer + entries: + description: The list of monthly budget entries. + items: + $ref: '#/components/schemas/BudgetWithEntriesDataAttributesEntriesItems' + type: array + metrics_query: + description: The cost query used to track spending against the budget. + type: string + name: + description: The name of the budget. + type: string + org_id: + description: The ID of the organization the budget belongs to. + format: int64 + type: integer + start_month: + description: The month when the budget starts, in YYYYMM format. + format: int64 + type: integer + total_amount: + description: The total budget amount across all entries. + format: double + type: number + updated_at: + description: The timestamp when the budget was last updated. + format: int64 + type: integer + updated_by: + description: The ID of the user that last updated the budget. + type: string + type: object + BudgetWithEntriesDataType: + default: budget + description: Budget resource type. + enum: + - budget + example: budget + type: string + x-enum-varnames: + - BUDGET + BudgetValidationResponseDataAttributes: + description: The attributes of a budget validation response, including any validation errors and the validity status. + properties: + errors: + description: A list of validation error messages for the budget. + items: + description: A validation error message. + type: string + type: array + valid: + description: Whether the budget configuration is valid. + type: boolean + type: object + BudgetValidationResponseDataType: + default: budget_validation + description: Budget validation resource type. + enum: + - budget_validation + example: budget_validation + type: string + x-enum-varnames: + - BUDGET_VALIDATION + CommitmentsListItem: + description: A commitment item, which varies based on the provider, product, and commitment type. + properties: + availability_zone: + description: The availability zone of the reservation. + example: us-east-1a + type: string + commitment_id: + description: The unique identifier of the Reserved Instance. + example: ri-0123456789abcdef0 + type: string + expiration_date: + description: The expiration date of the commitment. + example: '2025-12-31T00:00:00Z' + type: string + instance_type: + description: The EC2 instance type. + example: m5.xlarge + type: string + number_of_nfus: + description: The number of Normalized Capacity Units. + example: 8 + format: double + type: number + number_of_reservations: + description: The number of reserved instances. + example: 2 + format: double + type: number + offering_class: + description: The offering class of the Reserved Instance. + example: standard + type: string + operating_system: + description: The operating system of the Reserved Instance. + example: Linux + type: string + purchase_option: + description: The payment option for the Reserved Instance. + example: All Upfront + type: string + region: + description: The AWS region of the Reserved Instance. + example: us-east-1 + type: string + start_date: + description: The start date of the commitment. + example: '2023-01-01T00:00:00Z' + type: string + term_length: + description: The term length in years. + example: 1 + format: double + type: number + utilization: + description: The utilization percentage of the commitment. + example: 0.85 + format: double + type: number + database_engine: + description: The database engine of the Reserved Instance. + example: MySQL + type: string + is_multi_az: + description: Whether the Reserved Instance is Multi-AZ. + example: false + type: boolean + cache_engine: + description: The cache engine type of the Reserved Instance. + example: Redis + type: string + committed_spend_per_hour: + description: The hourly committed spend for the Savings Plan. + example: 1.5 + format: double + type: number + savings_plan_type: + description: The Savings Plan type. + example: ComputeSavingsPlans + type: string + benefit_name: + description: The display name of the Azure reservation. + example: my-vm-reservation + type: string + meter_sub_category: + description: The Azure meter sub-category for the reservation. + example: D4s v3 + type: string + status: + $ref: '#/components/schemas/CommitmentsAzureVMRIStatus' required: - - data + - commitment_id + - instance_type + - offering_class + - operating_system + - purchase_option + - region + - database_engine + - cache_engine + - savings_plan_type + - benefit_name + - meter_sub_category + - status + type: object + JSONAPIErrorItemSource: + description: References to the source of the error. + properties: + header: + description: A string indicating the name of a single request header which caused the error. + example: Authorization + type: string + parameter: + description: A string indicating which URI query parameter caused the error. + example: limit + type: string + pointer: + description: A JSON pointer to the value in the request document that caused the error. + example: /data/attributes/title + type: string + type: object + CommitmentsScalarColumn: + description: A column in a scalar response. When type is "group", values contains arrays of strings. When type is "number", values contains numeric values. + properties: + meta: + $ref: '#/components/schemas/CommitmentsScalarColumnMeta' + name: + description: The column name. + example: utilization + type: string + type: + $ref: '#/components/schemas/CommitmentsScalarColumnType' + values: + $ref: '#/components/schemas/CommitmentsScalarColumnValueItems' + required: + - name + - type + - values + type: object + CommitmentsUtilizationScalarProductBreakdownEntry: + description: Per-product utilization data in a scalar utilization response. + properties: + product: + description: The cloud product name. + example: ec2 + type: string + utilization: + description: The utilization percentage for the product. + example: 0.85 + format: double + type: number + required: + - product + - utilization + type: object + CommitmentsTimeseriesValues: + description: A series of numeric values for a timeseries metric. + items: + description: A single numeric value in the timeseries. + format: double + type: number + type: array + CustomCostsFileMetadata: + description: Schema of a Custom Costs metadata. + properties: + billed_cost: + description: Total cost in the cost file. + example: 100.5 + format: double + type: number + billing_currency: + description: Currency used in the Custom Costs file. + example: USD + type: string + charge_period: + $ref: '#/components/schemas/CustomCostsFileUsageChargePeriod' + name: + description: Name of the Custom Costs file. + example: my_file.json + type: string + provider_names: + description: Providers contained in the Custom Costs file. + items: + description: Name of the provider. + example: my_provider + type: string + type: array + status: + description: Status of the Custom Costs file. + example: active + type: string + uploaded_at: + description: Timestamp, in millisecond, of the upload time of the Custom Costs file. + example: 1704067200000 + format: double + type: number + uploaded_by: + $ref: '#/components/schemas/CustomCostsUser' + type: object + CustomCostsFileMetadataWithContent: + description: Schema of a cost file's metadata. + properties: + billed_cost: + description: Total cost in the cost file. + example: 100.5 + format: double + type: number + billing_currency: + description: Currency used in the Custom Costs file. + example: USD + type: string + charge_period: + $ref: '#/components/schemas/CustomCostsFileUsageChargePeriod' + content: + description: Detail of the line items from the Custom Costs file. + items: + $ref: '#/components/schemas/CustomCostsFileLineItem' + type: array + name: + description: Name of the Custom Costs file. + example: my_file.json + type: string + provider_names: + description: Providers contained in the Custom Costs file. + items: + description: Name of a provider. + example: my_provider + type: string + type: array + status: + description: Status of the Custom Costs file. + example: active + type: string + uploaded_at: + description: Timestamp in millisecond of the upload time of the Custom Costs file. + example: 1704067200000 + format: double + type: number + uploaded_by: + $ref: '#/components/schemas/CustomCostsUser' + type: object + GCPUsageCostConfigAttributes: + description: Attributes for a Google Cloud Usage Cost config. + properties: + account_id: + description: The Google Cloud account ID. + example: 123456_A123BC_12AB34 + type: string + bucket_name: + description: The Google Cloud bucket name used to store the Usage Cost export. + example: dd-cost-bucket + type: string + created_at: + description: The timestamp when the Google Cloud Usage Cost config was created. + pattern: ^\d{4}-\d{2}-\d{2}T\d{2}:\d{2}:\d{2}.\d{6}$ + type: string + dataset: + description: The export dataset name used for the Google Cloud Usage Cost Report. + example: billing + type: string + error_messages: + description: The error messages for the Google Cloud Usage Cost config. + items: + description: An error message string. + type: string + nullable: true + type: array + export_prefix: + description: The export prefix used for the Google Cloud Usage Cost Report. + example: datadog_cloud_cost_usage_export + type: string + export_project_name: + description: The name of the Google Cloud Usage Cost Report. + example: dd-cloud-cost-report + type: string + months: + deprecated: true + description: The number of months the report has been backfilled. + format: int32 + maximum: 36 + type: integer + project_id: + description: The `project_id` of the Google Cloud Usage Cost report. + example: my-project-123 + type: string + service_account: + description: The unique Google Cloud service account email. + example: dd-ccm-gcp-integration@my-environment.iam.gserviceaccount.com + type: string + status: + description: The status of the Google Cloud Usage Cost config. + example: active + type: string + status_updated_at: + description: The timestamp when the Google Cloud Usage Cost config status was updated. + pattern: ^\d{4}-\d{2}-\d{2}T\d{2}:\d{2}:\d{2}.\d{6}$ + type: string + updated_at: + description: The timestamp when the Google Cloud Usage Cost config status was updated. + pattern: ^\d{4}-\d{2}-\d{2}T\d{2}:\d{2}:\d{2}.\d{6}$ + type: string + required: + - account_id + - bucket_name + - dataset + - export_prefix + - export_project_name + - service_account + - status + type: object + GCPUsageCostConfigType: + default: gcp_uc_config + description: Type of Google Cloud Usage Cost config. + enum: + - gcp_uc_config + example: gcp_uc_config + type: string + x-enum-varnames: + - GCP_UC_CONFIG + GCPUsageCostConfigPostRequestAttributes: + description: Attributes for Google Cloud Usage Cost config post request. + properties: + billing_account_id: + description: The Google Cloud account ID. + example: 123456_A123BC_12AB34 + type: string + bucket_name: + description: The Google Cloud bucket name used to store the Usage Cost export. + example: dd-cost-bucket + type: string + export_dataset_name: + description: The export dataset name used for the Google Cloud Usage Cost report. + example: billing + type: string + export_prefix: + description: The export prefix used for the Google Cloud Usage Cost report. + example: datadog_cloud_cost_usage_export + type: string + export_project_name: + description: The name of the Google Cloud Usage Cost report. + example: dd-cloud-cost-report + type: string + service_account: + description: The unique Google Cloud service account email. + example: dd-ccm-gcp-integration@my-environment.iam.gserviceaccount.com + type: string + required: + - billing_account_id + - bucket_name + - export_project_name + - export_dataset_name + - service_account + type: object + GCPUsageCostConfigPostRequestType: + default: gcp_uc_config_post_request + description: Type of Google Cloud Usage Cost config post request. + enum: + - gcp_uc_config_post_request + example: gcp_uc_config_post_request + type: string + x-enum-varnames: + - GCP_USAGE_COST_CONFIG_POST_REQUEST + GcpUcConfigResponseDataAttributes: + description: The definition of `GcpUcConfigResponseDataAttributes` object. + properties: + account_id: + description: The `attributes` `account_id`. + type: string + bucket_name: + description: The `attributes` `bucket_name`. + type: string + created_at: + description: The `attributes` `created_at`. + type: string + dataset: + description: The `attributes` `dataset`. + type: string + error_messages: + description: The `attributes` `error_messages`. + items: + description: An error message string. + type: string + nullable: true + type: array + export_prefix: + description: The `attributes` `export_prefix`. + type: string + export_project_name: + description: The `attributes` `export_project_name`. + type: string + months: + description: The `attributes` `months`. + format: int64 + type: integer + project_id: + description: The `attributes` `project_id`. + type: string + service_account: + description: The `attributes` `service_account`. + type: string + status: + description: The `attributes` `status`. + type: string + status_updated_at: + description: The `attributes` `status_updated_at`. + type: string + updated_at: + description: The `attributes` `updated_at`. + type: string type: object - AwsCURConfigResponse: - description: Response of AWS CUR config. + GcpUcConfigResponseDataType: + default: gcp_uc_config + description: Google Cloud Usage Cost config resource type. + enum: + - gcp_uc_config + example: gcp_uc_config + type: string + x-enum-varnames: + - GCP_UC_CONFIG + GCPUsageCostConfigPatchRequestAttributes: + description: Attributes for Google Cloud Usage Cost config patch request. properties: - data: - $ref: '#/components/schemas/AwsCURConfig' + is_enabled: + description: Whether or not the Cloud Cost Management account is enabled. + example: true + type: boolean + required: + - is_enabled type: object - AwsCURConfigPatchRequest: - description: AWS CUR config Patch Request. + GCPUsageCostConfigPatchRequestType: + default: gcp_uc_config_patch_request + description: Type of Google Cloud Usage Cost config patch request. + enum: + - gcp_uc_config_patch_request + example: gcp_uc_config_patch_request + type: string + x-enum-varnames: + - GCP_USAGE_COST_CONFIG_PATCH_REQUEST + OCIConfigAttributes: + description: Attributes for an OCI config. properties: - data: - $ref: '#/components/schemas/AwsCURConfigPatchData' + account_id: + description: The OCID of the OCI tenancy. + example: ocid1.tenancy.oc1..example + type: string + created_at: + description: The timestamp when the OCI config was created. + example: '2026-01-01T12:00:00Z' + type: string + error_messages: + description: The error messages for the OCI config. + items: + description: An error message string. + type: string + nullable: true + type: array + status: + description: The status of the OCI config. + example: active + type: string + status_updated_at: + description: The timestamp when the OCI config status was last updated. + example: '2026-01-01T12:00:00Z' + type: string + updated_at: + description: The timestamp when the OCI config was last updated. + example: '2026-01-01T12:00:00Z' + type: string required: - - data + - account_id + - created_at + - status + - status_updated_at + - updated_at type: object - AzureUCConfigsResponse: - description: List of Azure accounts with configs. + OCIConfigType: + default: oci_config + description: Type of OCI config. + enum: + - oci_config + example: oci_config + type: string + x-enum-varnames: + - OCI_CONFIG + CostRecommendationDataAttributes: + description: Attributes describing a single cost recommendation. properties: - data: - description: An Azure config pair. + dd_resource_key: + description: Datadog resource key identifying the recommended resource. + type: string + potential_daily_savings: + $ref: '#/components/schemas/CostRecommendationDataAttributesPotentialDailySavings' + recommendation_type: + description: The kind of recommendation (for example, `terminate` or `rightsize`). + type: string + resource_id: + description: Cloud provider identifier of the resource. + type: string + resource_type: + description: Resource type (for example, `aws_ec2_instance`). + type: string + tags: + description: Tags attached to the recommended resource. items: - $ref: '#/components/schemas/AzureUCConfigPair' + description: A single resource tag. + type: string type: array type: object - AzureUCConfigPostRequest: - description: Azure config Post Request. + CostRecommendationDataType: + default: recommendation + description: Recommendation resource type. + enum: + - recommendation + example: recommendation + type: string + x-enum-varnames: + - RECOMMENDATION + RecommendationsPageMetaPage: + description: Pagination metadata for a page of cost recommendations. properties: - data: - $ref: '#/components/schemas/AzureUCConfigPostData' - required: - - data + filter: + description: The filter expression that was applied to produce this page. + type: string + next_page_token: + description: Opaque token used to fetch the next page; absent on the last page. + type: string + page_size: + description: Number of items returned in this page (1–10000). + format: int32 + maximum: 10000 + minimum: 1 + type: integer + page_token: + description: Pagination token echoed back from the request. + type: string type: object - AzureUCConfigPairsResponse: - description: Response of Azure config pair. + CostTagDescriptionAttributes: + description: Human-readable description and metadata attached to a Cloud Cost Management tag key, optionally scoped to a single cloud provider. properties: - data: - $ref: '#/components/schemas/AzureUCConfigPair' + cloud: + description: Cloud provider this description applies to (for example, `aws`). Empty when the description is the cross-cloud default for the tag key. + example: aws + type: string + created_at: + description: Timestamp when the description was created, in RFC 3339 format. + example: '2026-01-01T12:00:00Z' + type: string + description: + description: The human-readable description for the tag key. + example: AWS account that owns this cost. + type: string + source: + $ref: '#/components/schemas/CostTagDescriptionSource' + tag_key: + description: The tag key this description applies to. + example: account_id + type: string + updated_at: + description: Timestamp when the description was last updated, in RFC 3339 format. + example: '2026-01-01T12:00:00Z' + type: string + required: + - cloud + - created_at + - description + - source + - tag_key + - updated_at type: object - AzureUCConfigPatchRequest: - description: Azure config Patch Request. + CostTagDescriptionType: + default: cost_tag_description + description: Type of the Cloud Cost Management tag description resource. + enum: + - cost_tag_description + example: cost_tag_description + type: string + x-enum-varnames: + - COST_TAG_DESCRIPTION + CostTagDescriptionUpsertRequestDataAttributes: + description: Mutable attributes set when creating or updating a Cloud Cost Management tag key description. properties: - data: - $ref: '#/components/schemas/AzureUCConfigPatchData' + cloud: + description: Cloud provider this description applies to (for example, `aws`). Omit to set the cross-cloud default for the tag key. + example: aws + type: string + description: + description: The human-readable description for the tag key. + example: AWS account that owns this cost. + type: string required: - - data + - description type: object - BudgetWithEntries: - description: The definition of the `BudgetWithEntries` object. + GeneratedCostTagDescriptionAttributes: + description: Attributes of an AI-generated Cloud Cost Management tag key description. properties: - data: - $ref: '#/components/schemas/BudgetWithEntriesData' + description: + description: The AI-generated description for the tag key. + example: AWS account that owns this cost. + type: string + required: + - description type: object - BudgetArray: - description: An array of budgets. - example: - data: - - attributes: - created_at: 1741011342772 - created_by: user1 - end_month: 202502 - metrics_query: aws.cost.amortized{service:ec2} by {service} - name: my budget - org_id: 123 - start_month: 202501 - total_amount: 1000 - updated_at: 1741011342772 - updated_by: user2 - id: 00000000-0a0a-0a0a-aaa0-00000000000a - type: budget + GeneratedCostTagDescriptionType: + default: cost_generated_tag_description + description: Type of the AI-generated Cloud Cost Management tag description resource. + enum: + - cost_generated_tag_description + example: cost_generated_tag_description + type: string + x-enum-varnames: + - COST_GENERATED_TAG_DESCRIPTION + CostTagKeyAttributes: + description: Attributes of a Cloud Cost Management tag key. properties: - data: - description: The `BudgetArray` `data`. + details: + $ref: '#/components/schemas/CostTagKeyDetails' + sources: + description: List of sources that define this tag key. + example: + - focus items: - $ref: '#/components/schemas/Budget' + description: A tag key source. + type: string type: array + value: + description: The tag key name. + example: providername + type: string + required: + - sources + - value type: object - CustomCostsFileListResponse: - description: Response for List Custom Costs files. + CostTagKeyType: + default: cost_tag_key + description: Type of the Cloud Cost Management tag key resource. + enum: + - cost_tag_key + example: cost_tag_key + type: string + x-enum-varnames: + - COST_TAG_KEY + CostTagKeyMetadataAttributes: + description: Attributes of a Cloud Cost Management tag key metadata entry. properties: - data: - description: List of Custom Costs files. + cardinality_by_account: + $ref: '#/components/schemas/CostTagKeyMetadataCardinalityByAccount' + cost_covered: + description: Total cost (in the report currency) of cost line items that carry this tag key for the requested period. + example: 1234.56 + format: double + type: number + date: + description: The day this row corresponds to, in `YYYY-MM-DD` format. Present only when `filter[daily]=true`; omitted for the monthly roll-up returned by default. + example: '2026-02-15' + type: string + metric: + description: The Cloud Cost Management metric this row aggregates, for example `aws.cost.net.amortized`. + example: aws.cost.net.amortized + type: string + row_count: + description: Number of cost rows that carry this tag key over the requested period. + example: 100 + format: int64 + type: integer + tag_sources: + description: Origins where this tag key was observed (for example, `aws-user-defined`). + example: + - aws-user-defined items: - $ref: '#/components/schemas/CustomCostsFileMetadataHighLevel' + description: A tag source. + type: string type: array - meta: - $ref: '#/components/schemas/CustomCostListResponseMeta' - type: object - CustomCostsFileUploadRequest: - description: Request for uploading a Custom Costs file. - items: - $ref: '#/components/schemas/CustomCostsFileLineItem' - type: array - CustomCostsFileUploadResponse: - description: Response for Uploaded Custom Costs files. - properties: - data: - $ref: '#/components/schemas/CustomCostsFileMetadataHighLevel' - meta: - $ref: '#/components/schemas/CustomCostUploadResponseMeta' - type: object - CustomCostsFileGetResponse: - description: Response for Get Custom Costs files. - properties: - data: - $ref: '#/components/schemas/CustomCostsFileMetadataWithContentHighLevel' - meta: - $ref: '#/components/schemas/CustomCostGetResponseMeta' + top_values_by_account: + $ref: '#/components/schemas/CostTagKeyMetadataTopValuesByAccount' + required: + - cardinality_by_account + - cost_covered + - metric + - row_count + - tag_sources + - top_values_by_account type: object - GCPUsageCostConfigsResponse: - description: List of GCP Usage Cost configs. + CostTagKeyMetadataType: + default: cost_tag_key_metadata + description: Type of the Cloud Cost Management tag key metadata resource. + enum: + - cost_tag_key_metadata + example: cost_tag_key_metadata + type: string + x-enum-varnames: + - COST_TAG_KEY_METADATA + CostCurrencyType: + default: cost_currency + description: Type of the Cloud Cost Management billing currency resource. + enum: + - cost_currency + example: cost_currency + type: string + x-enum-varnames: + - COST_CURRENCY + CostMetricType: + default: cost_metric + description: Type of the Cloud Cost Management available metric resource. + enum: + - cost_metric + example: cost_metric + type: string + x-enum-varnames: + - COST_METRIC + CostTagMetadataMonthType: + default: cost_tag_metadata_month + description: Type of the Cloud Cost Management tag metadata month resource. + enum: + - cost_tag_metadata_month + example: cost_tag_metadata_month + type: string + x-enum-varnames: + - COST_TAG_METADATA_MONTH + CostOrchestratorType: + default: cost_orchestrator + description: Type of the Cloud Cost Management orchestrator resource. + enum: + - cost_orchestrator + example: cost_orchestrator + type: string + x-enum-varnames: + - COST_ORCHESTRATOR + CostTagKeySourceAttributes: + description: Attributes of a Cloud Cost Management tag source. properties: - data: - description: A GCP Usage Cost config. + tag_key: + description: The tag key name. + example: env + type: string + tag_sources: + description: Origins where this tag key was observed (for example, `aws-user-defined`). + example: + - aws-user-defined + - custom items: - $ref: '#/components/schemas/GCPUsageCostConfig' + description: A tag source. + type: string type: array - type: object - GCPUsageCostConfigPostRequest: - description: GCP Usage Cost config post request. - properties: - data: - $ref: '#/components/schemas/GCPUsageCostConfigPostData' - required: - - data - type: object - GCPUsageCostConfigResponse: - description: Response of GCP Usage Cost config. - properties: - data: - $ref: '#/components/schemas/GCPUsageCostConfig' - type: object - GCPUsageCostConfigPatchRequest: - description: GCP Usage Cost config patch request. - properties: - data: - $ref: '#/components/schemas/GCPUsageCostConfigPatchData' required: - - data - type: object - ActiveBillingDimensionsResponse: - description: Active billing dimensions response. - properties: - data: - $ref: '#/components/schemas/ActiveBillingDimensionsBody' + - tag_key + - tag_sources type: object - SortDirection: - default: desc - description: The direction to sort by. + CostTagKeySourceType: + default: cost_tag_key_source + description: Type of the Cloud Cost Management tag source resource. enum: - - desc - - asc + - cost_tag_key_source + example: cost_tag_key_source type: string x-enum-varnames: - - DESC - - ASC - MonthlyCostAttributionResponse: - description: Response containing the monthly cost attribution by tag(s). + - COST_TAG_KEY_SOURCE + CostTagAttributes: + description: Attributes of a Cloud Cost Management tag. properties: - data: - description: Response containing cost attribution. + sources: + description: List of sources that define this tag. + example: + - focus items: - $ref: '#/components/schemas/MonthlyCostAttributionBody' + description: A tag source. + type: string type: array - meta: - $ref: '#/components/schemas/MonthlyCostAttributionMeta' - type: object - AwsCURConfig: - description: AWS CUR config. - properties: - attributes: - $ref: '#/components/schemas/AwsCURConfigAttributes' - id: - description: The ID of the AWS CUR config. + value: + description: The tag value in `key:value` format. + example: providername:aws type: string - type: - $ref: '#/components/schemas/AwsCURConfigType' required: - - attributes - - type + - sources + - value type: object - AwsCURConfigPostData: - description: AWS CUR config Post data. + CostTagType: + default: cost_tag + description: Type of the Cloud Cost Management tag resource. + enum: + - cost_tag + example: cost_tag + type: string + x-enum-varnames: + - COST_TAG + ActiveBillingDimensionsAttributes: + description: List of active billing dimensions. properties: - attributes: - $ref: '#/components/schemas/AwsCURConfigPostRequestAttributes' - type: - $ref: '#/components/schemas/AwsCURConfigPostRequestType' - required: - - attributes - - type + month: + description: 'Datetime in ISO-8601 format, UTC, precise to hour: `[YYYY-MM-DDThh]`.' + format: date-time + type: string + values: + description: 'List of active billing dimensions. Example: `[infra_host, apm_host, serverless_infra]`.' + items: + description: A given billing dimension in a list. + example: infra_host + type: string + type: array type: object - AwsCURConfigPatchData: - description: AWS CUR config Patch data. + ActiveBillingDimensionsType: + default: billing_dimensions + description: Type of active billing dimensions data. + enum: + - billing_dimensions + type: string + x-enum-varnames: + - BILLING_DIMENSIONS + MonthlyCostAttributionAttributes: + description: Cost Attribution by Tag for a given organization. properties: - attributes: - $ref: '#/components/schemas/AwsCURConfigPatchRequestAttributes' - type: - $ref: '#/components/schemas/AwsCURConfigPatchRequestType' - required: - - attributes - - type + month: + description: 'Datetime in ISO-8601 format, UTC, precise to hour: `[YYYY-MM-DDThh]`.' + format: date-time + type: string + org_name: + description: The name of the organization. + type: string + public_id: + description: The organization public ID. + type: string + tag_config_source: + description: The source of the cost attribution tag configuration and the selected tags in the format `::://////`. + type: string + tags: + $ref: '#/components/schemas/CostAttributionTagNames' + updated_at: + description: Shows the most recent hour in the current months for all organizations for which all costs were calculated. + type: string + values: + description: 'Fields in Cost Attribution by tag(s). Example: `infra_host_on_demand_cost`, `infra_host_committed_cost`, `infra_host_total_cost`, `infra_host_percentage_in_org`, `infra_host_percentage_in_account`. (opaque JSON object)' + type: string type: object - AzureUCConfigPair: - description: Azure config pair. + CostAttributionType: + default: cost_by_tag + description: Type of cost attribution data. + enum: + - cost_by_tag + example: cost_by_tag + type: string + x-enum-varnames: + - COST_BY_TAG + CostAttributionAggregates: + description: An array of available aggregates. + items: + $ref: '#/components/schemas/CostAttributionAggregatesBody' + type: array + MonthlyCostAttributionPagination: + description: The metadata for the current pagination. properties: - attributes: - $ref: '#/components/schemas/AzureUCConfigPairAttributes' - id: - description: The ID of Cloud Cost Management account. + next_record_id: + description: The cursor to use to get the next results, if any. To make the next request, use the same parameters with the addition of the `next_record_id`. + nullable: true type: string - type: - $ref: '#/components/schemas/AzureUCConfigPairType' - required: - - attributes - - type type: object - AzureUCConfigPostData: - description: Azure config Post data. + RulesetRespDataAttributes: + description: The definition of `RulesetRespDataAttributes` object. properties: - attributes: - $ref: '#/components/schemas/AzureUCConfigPostRequestAttributes' - type: - $ref: '#/components/schemas/AzureUCConfigPostRequestType' + created: + $ref: '#/components/schemas/RulesetRespDataAttributesCreated' + enabled: + description: The `attributes` `enabled`. + example: false + type: boolean + last_modified_user_uuid: + description: The `attributes` `last_modified_user_uuid`. + example: '' + type: string + modified: + $ref: '#/components/schemas/RulesetRespDataAttributesModified' + name: + description: The `attributes` `name`. + example: '' + type: string + position: + description: The `attributes` `position`. + example: 0 + format: int32 + maximum: 2147483647 + type: integer + processing_status: + description: The `attributes` `processing_status`. + example: '' + type: string + rules: + description: The `attributes` `rules`. + items: + $ref: '#/components/schemas/RulesetRespDataAttributesRulesItems' + type: array + version: + description: The `attributes` `version`. + example: 0 + format: int64 + type: integer required: - - attributes - - type + - created + - enabled + - last_modified_user_uuid + - modified + - name + - position + - rules + - version type: object - AzureUCConfigPatchData: - description: Azure config Patch data. + RulesetRespDataType: + default: ruleset + description: Ruleset resource type. + enum: + - ruleset + example: ruleset + type: string + x-enum-varnames: + - RULESET + CreateRulesetRequestDataAttributes: + description: The definition of `CreateRulesetRequestDataAttributes` object. properties: - attributes: - $ref: '#/components/schemas/AzureUCConfigPatchRequestAttributes' - type: - $ref: '#/components/schemas/AzureUCConfigPatchRequestType' + enabled: + description: The `attributes` `enabled`. + type: boolean + rules: + description: The `attributes` `rules`. + items: + $ref: '#/components/schemas/CreateRulesetRequestDataAttributesRulesItems' + type: array required: - - attributes - - type + - rules type: object - BudgetWithEntriesData: - description: A budget and all its entries. + CreateRulesetRequestDataType: + default: create_ruleset + description: Create ruleset resource type. + enum: + - create_ruleset + example: create_ruleset + type: string + x-enum-varnames: + - CREATE_RULESET + ReorderRulesetResourceDataType: + default: ruleset + description: Ruleset resource type. + enum: + - ruleset + example: ruleset + type: string + x-enum-varnames: + - RULESET + RulesetStatusRespDataAttributes: + description: Processing status for a tag pipeline ruleset. properties: - attributes: - $ref: '#/components/schemas/BudgetAttributes' - id: - description: The `BudgetWithEntriesData` `id`. - example: 00000000-0a0a-0a0a-aaa0-00000000000a - type: string - type: - description: The type of the object, must be `budget`. + processing_status: + description: The processing status of the ruleset. + example: processing type: string + required: + - processing_status type: object - Budget: - description: A budget. + RulesetStatusRespDataType: + default: ruleset_status + description: Ruleset status resource type. + enum: + - ruleset_status + example: ruleset_status + type: string + x-enum-varnames: + - RULESET_STATUS + RulesValidateQueryRequestDataAttributes: + description: The definition of `RulesValidateQueryRequestDataAttributes` object. properties: - attributes: - $ref: '#/components/schemas/BudgetAttributes' - id: - description: The id of the budget. - type: string - type: - description: The type of the object, must be `budget`. + Query: + description: The `attributes` `Query`. + example: '' type: string + required: + - Query type: object - CustomCostsFileMetadataHighLevel: - description: JSON API format for a Custom Costs file. + RulesValidateQueryRequestDataType: + default: validate_query + description: Validate query resource type. + enum: + - validate_query + example: validate_query + type: string + x-enum-varnames: + - VALIDATE_QUERY + RulesValidateQueryResponseDataAttributes: + description: The definition of `RulesValidateQueryResponseDataAttributes` object. properties: - attributes: - $ref: '#/components/schemas/CustomCostsFileMetadata' - id: - description: ID of the Custom Costs metadata. - type: string - type: - description: Type of the Custom Costs file metadata. + Canonical: + description: The `attributes` `Canonical`. + example: '' type: string + required: + - Canonical type: object - CustomCostListResponseMeta: - description: Meta for the response from the List Custom Costs endpoints. + RulesValidateQueryResponseDataType: + default: validate_response + description: Validate response resource type. + enum: + - validate_response + example: validate_response + type: string + x-enum-varnames: + - VALIDATE_RESPONSE + UpdateRulesetRequestDataAttributes: + description: The definition of `UpdateRulesetRequestDataAttributes` object. properties: - total_filtered_count: - description: >- - Number of Custom Costs files returned by the List Custom Costs - endpoint + enabled: + description: The `attributes` `enabled`. + example: false + type: boolean + last_version: + description: The `attributes` `last_version`. format: int64 type: integer - version: - description: Version of Custom Costs file - type: string + rules: + description: The `attributes` `rules`. + items: + $ref: '#/components/schemas/UpdateRulesetRequestDataAttributesRulesItems' + type: array + required: + - enabled + - rules type: object - CustomCostsFileLineItem: - description: Line item details from a Custom Costs file. + UpdateRulesetRequestDataType: + default: update_ruleset + description: Update ruleset resource type. + enum: + - update_ruleset + example: update_ruleset + type: string + x-enum-varnames: + - UPDATE_RULESET + AccountFilteringConfig: + description: The account filtering configuration. properties: - BilledCost: - description: Total cost in the cost file. - example: 100.5 - format: double - type: number - BillingCurrency: - description: Currency used in the Custom Costs file. - example: USD - type: string - ChargeDescription: - description: Description for the line item cost. - example: Monthly usage charge for my service - type: string - ChargePeriodEnd: - description: End date of the usage charge. - example: '2023-02-28' - pattern: ^\d{4}-\d{2}-\d{2}$ - type: string - ChargePeriodStart: - description: Start date of the usage charge. - example: '2023-02-01' - pattern: ^\d{4}-\d{2}-\d{2}$ - type: string - ProviderName: - description: Name of the provider for the line item. - type: string - Tags: - additionalProperties: + excluded_accounts: + description: The AWS account IDs to be excluded from your billing dataset. This field is used when `include_new_accounts` is `true`. + example: + - '123456789123' + - '123456789143' + items: + description: An AWS account ID to exclude from the billing dataset. type: string - description: Additional tags for the line item. - type: object + type: array + include_new_accounts: + description: Whether or not to automatically include new member accounts by default in your billing dataset. + example: true + nullable: true + type: boolean + included_accounts: + description: The AWS account IDs to be included in your billing dataset. This field is used when `include_new_accounts` is `false`. + example: + - '123456789123' + - '123456789143' + items: + description: An AWS account ID to include in the billing dataset. + type: string + type: array type: object - CustomCostUploadResponseMeta: - description: Meta for the response from the Upload Custom Costs endpoints. - properties: - version: - description: Version of Custom Costs file + CostAnomalyCorrelatedTags: + additionalProperties: + description: The list of correlated values for the tag key. + items: + description: A correlated tag value. type: string + type: array + description: Map of correlated tag keys to the list of correlated tag values. + example: + region: + - us-east-1 + - us-west-2 + nullable: true type: object - CustomCostsFileMetadataWithContentHighLevel: - description: JSON API format of for a Custom Costs file with content. + CostAnomalyDimensions: + additionalProperties: + description: The dimension value. + type: string + description: Map of cost dimension keys to their values for the anomaly grouping. + example: + service: ec2 + type: object + CostAnomalyDismissal: + description: Resolution metadata for an anomaly that has been dismissed. properties: - attributes: - $ref: '#/components/schemas/CustomCostsFileMetadataWithContent' - id: - description: ID of the Custom Costs metadata. + cause: + description: Reason the anomaly was dismissed. + example: false_positive type: string - type: - description: Type of the Custom Costs file metadata. + dismissal_id: + description: Unique identifier of the dismissal record. + example: 12345678-1234-1234-1234-123456789abc + type: string + message: + description: Optional message explaining the dismissal. + example: This was expected due to planned infrastructure changes. type: string + updated_at: + description: Timestamp of the last dismissal update in Unix milliseconds. + example: 1730344150000 + format: int64 + type: integer + updated_by: + description: Identifier of the user that last updated the dismissal. + example: user@example.com + type: string + required: + - dismissal_id + - cause + - message + - updated_at + - updated_by type: object - CustomCostGetResponseMeta: - description: Meta for the response from the Get Custom Costs endpoints. + ArbitraryRuleResponseDataAttributesCostsToAllocateItems: + description: The definition of `ArbitraryRuleResponseDataAttributesCostsToAllocateItems` object. properties: - version: - description: Version of Custom Costs file + condition: + description: The `items` `condition`. + example: '' + type: string + tag: + description: The `items` `tag`. + example: '' + type: string + value: + description: The `items` `value`. type: string + values: + description: The `items` `values`. + items: + description: A filter value string. + type: string + nullable: true + type: array + required: + - condition + - tag type: object - GCPUsageCostConfig: - description: GCP Usage Cost config. + ArbitraryRuleResponseDataAttributesStrategy: + description: The definition of `ArbitraryRuleResponseDataAttributesStrategy` object. properties: - attributes: - $ref: '#/components/schemas/GCPUsageCostConfigAttributes' - id: - description: The ID of the GCP Usage Cost config. + allocated_by: + description: The `strategy` `allocated_by`. + items: + $ref: '#/components/schemas/ArbitraryRuleResponseDataAttributesStrategyAllocatedByItems' + type: array + allocated_by_filters: + description: The `strategy` `allocated_by_filters`. + items: + $ref: '#/components/schemas/ArbitraryRuleResponseDataAttributesStrategyAllocatedByFiltersItems' + type: array + allocated_by_tag_keys: + description: The `strategy` `allocated_by_tag_keys`. + items: + description: A tag key used to group cost allocations. + type: string + type: array + based_on_costs: + description: The `strategy` `based_on_costs`. + items: + $ref: '#/components/schemas/ArbitraryRuleResponseDataAttributesStrategyBasedOnCostsItems' + type: array + based_on_timeseries: + additionalProperties: {} + description: The rule `strategy` `based_on_timeseries`. + type: object + evaluate_grouped_by_filters: + description: The `strategy` `evaluate_grouped_by_filters`. + items: + $ref: '#/components/schemas/ArbitraryRuleResponseDataAttributesStrategyEvaluateGroupedByFiltersItems' + type: array + evaluate_grouped_by_tag_keys: + description: The `strategy` `evaluate_grouped_by_tag_keys`. + items: + description: A tag key used to group cost evaluation. + type: string + type: array + granularity: + description: The `strategy` `granularity`. + type: string + method: + description: The `strategy` `method`. + example: '' type: string - type: - $ref: '#/components/schemas/GCPUsageCostConfigType' required: - - attributes - - type + - method type: object - GCPUsageCostConfigPostData: - description: GCP Usage Cost config post data. + ArbitraryCostUpsertRequestDataAttributesCostsToAllocateItems: + description: The definition of `ArbitraryCostUpsertRequestDataAttributesCostsToAllocateItems` object. properties: - attributes: - $ref: '#/components/schemas/GCPUsageCostConfigPostRequestAttributes' - type: - $ref: '#/components/schemas/GCPUsageCostConfigPostRequestType' + condition: + description: The `items` `condition`. + example: '' + type: string + tag: + description: The `items` `tag`. + example: '' + type: string + value: + description: The `items` `value`. + type: string + values: + description: The `items` `values`. + items: + description: A filter value string. + type: string + nullable: true + type: array required: - - attributes - - type + - condition + - tag type: object - GCPUsageCostConfigPatchData: - description: GCP Usage Cost config patch data. + ArbitraryCostUpsertRequestDataAttributesStrategy: + description: The definition of `ArbitraryCostUpsertRequestDataAttributesStrategy` object. properties: - attributes: - $ref: '#/components/schemas/GCPUsageCostConfigPatchRequestAttributes' - type: - $ref: '#/components/schemas/GCPUsageCostConfigPatchRequestType' + allocated_by: + description: The `strategy` `allocated_by`. + items: + $ref: '#/components/schemas/ArbitraryCostUpsertRequestDataAttributesStrategyAllocatedByItems' + type: array + allocated_by_filters: + description: The `strategy` `allocated_by_filters`. + items: + $ref: '#/components/schemas/ArbitraryCostUpsertRequestDataAttributesStrategyAllocatedByFiltersItems' + type: array + allocated_by_tag_keys: + description: The `strategy` `allocated_by_tag_keys`. + items: + description: A tag key used to group cost allocations. + type: string + type: array + based_on_costs: + description: The `strategy` `based_on_costs`. + items: + $ref: '#/components/schemas/ArbitraryCostUpsertRequestDataAttributesStrategyBasedOnCostsItems' + type: array + based_on_timeseries: + additionalProperties: {} + description: The `strategy` `based_on_timeseries`. + type: object + evaluate_grouped_by_filters: + description: The `strategy` `evaluate_grouped_by_filters`. + items: + $ref: '#/components/schemas/ArbitraryCostUpsertRequestDataAttributesStrategyEvaluateGroupedByFiltersItems' + type: array + evaluate_grouped_by_tag_keys: + description: The `strategy` `evaluate_grouped_by_tag_keys`. + items: + description: A tag key used to group cost evaluation. + type: string + type: array + granularity: + description: The `strategy` `granularity`. + type: string + method: + description: The `strategy` `method`. + example: '' + type: string required: - - attributes - - type + - method type: object - ActiveBillingDimensionsBody: - description: Active billing dimensions data. + AwsCurConfigResponseDataAttributesAccountFilters: + description: The definition of `AwsCurConfigResponseDataAttributesAccountFilters` object. properties: - attributes: - $ref: '#/components/schemas/ActiveBillingDimensionsAttributes' - id: - description: Unique ID of the response. - type: string - type: - $ref: '#/components/schemas/ActiveBillingDimensionsType' + excluded_accounts: + description: The `account_filters` `excluded_accounts`. + items: + description: An AWS account ID to exclude. + type: string + type: array + include_new_accounts: + description: The `account_filters` `include_new_accounts`. + nullable: true + type: boolean + included_accounts: + description: The `account_filters` `included_accounts`. + items: + description: An AWS account ID to include. + type: string + type: array type: object - MonthlyCostAttributionBody: - description: Cost data. + AzureUCConfig: + description: Azure config. properties: - attributes: - $ref: '#/components/schemas/MonthlyCostAttributionAttributes' + account_id: + description: The tenant ID of the Azure account. + example: 1234abcd-1234-abcd-1234-1234abcd1234 + type: string + client_id: + description: The client ID of the Azure account. + example: 1234abcd-1234-abcd-1234-1234abcd1234 + type: string + created_at: + description: The timestamp when the Azure config was created. + pattern: ^\d{4}-\d{2}-\d{2}T\d{2}:\d{2}:\d{2}.\d{6}$ + type: string + dataset_type: + description: The dataset type of the Azure config. + example: actual + type: string + error_messages: + description: The error messages for the Azure config. + items: + description: An error message string. + type: string + nullable: true + type: array + export_name: + description: The name of the configured Azure Export. + example: dd-actual-export + type: string + export_path: + description: The path where the Azure Export is saved. + example: dd-export-path + type: string id: - description: Unique ID of the response. + description: The ID of the Azure config. type: string - type: - $ref: '#/components/schemas/CostAttributionType' + months: + deprecated: true + description: The number of months the report has been backfilled. + format: int32 + maximum: 36 + type: integer + scope: + description: The scope of your observed subscription. + example: /subscriptions/1234abcd-1234-abcd-1234-1234abcd1234 + type: string + status: + description: The status of the Azure config. + example: active + type: string + status_updated_at: + description: The timestamp when the Azure config status was last updated. + pattern: ^\d{4}-\d{2}-\d{2}T\d{2}:\d{2}:\d{2}.\d{6}$ + type: string + storage_account: + description: The name of the storage account where the Azure Export is saved. + example: dd-storage-account + type: string + storage_container: + description: The name of the storage container where the Azure Export is saved. + example: dd-storage-container + type: string + updated_at: + description: The timestamp when the Azure config was last updated. + pattern: ^\d{4}-\d{2}-\d{2}T\d{2}:\d{2}:\d{2}.\d{6}$ + type: string + required: + - account_id + - client_id + - dataset_type + - export_name + - export_path + - scope + - status + - storage_account + - storage_container type: object - MonthlyCostAttributionMeta: - description: The object containing document metadata. + BillConfig: + description: Bill config. properties: - aggregates: - $ref: '#/components/schemas/CostAttributionAggregates' - pagination: - $ref: '#/components/schemas/MonthlyCostAttributionPagination' + export_name: + description: The name of the configured Azure Export. + example: dd-actual-export + type: string + export_path: + description: The path where the Azure Export is saved. + example: dd-export-path + type: string + storage_account: + description: The name of the storage account where the Azure Export is saved. + example: dd-storage-account + type: string + storage_container: + description: The name of the storage container where the Azure Export is saved. + example: dd-storage-container + type: string + required: + - export_name + - export_path + - storage_account + - storage_container type: object - AwsCURConfigAttributes: - description: Attributes for An AWS CUR config. + UCConfigPairDataAttributesConfigsItems: + description: The definition of `UCConfigPairDataAttributesConfigsItems` object. properties: - account_filters: - $ref: '#/components/schemas/AccountFilteringConfig' account_id: - description: The AWS account ID. - example: '123456789123' - type: string - bucket_name: - description: The AWS bucket name used to store the Cost and Usage Report. - example: dd-cost-bucket + description: The `items` `account_id`. type: string - bucket_region: - description: The region the bucket is located in. - example: us-east-1 + client_id: + description: The `items` `client_id`. type: string created_at: - description: The timestamp when the AWS CUR config was created. - pattern: ^\d{4}-\d{2}-\d{2}T\d{2}:\d{2}:\d{2}.\d{6}$ + description: The `items` `created_at`. + type: string + dataset_type: + description: The `items` `dataset_type`. + type: string + error_messages: + description: The `items` `error_messages`. + items: + description: An error message string. + type: string + nullable: true + type: array + export_name: + description: The `items` `export_name`. + type: string + export_path: + description: The `items` `export_path`. + type: string + id: + description: The `items` `id`. type: string - error_messages: - description: The error messages for the AWS CUR config. - items: - type: string - type: array months: - deprecated: true - description: The number of months the report has been backfilled. - format: int32 - maximum: 36 + description: The `items` `months`. + format: int64 type: integer - report_name: - description: The name of the Cost and Usage Report. - example: dd-report-name - type: string - report_prefix: - description: The report prefix used for the Cost and Usage Report. - example: dd-report-prefix + scope: + description: The `items` `scope`. type: string status: - description: The status of the AWS CUR. - example: active + description: The `items` `status`. type: string status_updated_at: - description: The timestamp when the AWS CUR config status was updated. - pattern: ^\d{4}-\d{2}-\d{2}T\d{2}:\d{2}:\d{2}.\d{6}$ + description: The `items` `status_updated_at`. + type: string + storage_account: + description: The `items` `storage_account`. + type: string + storage_container: + description: The `items` `storage_container`. type: string updated_at: - description: The timestamp when the AWS CUR config status was updated. - pattern: ^\d{4}-\d{2}-\d{2}T\d{2}:\d{2}:\d{2}.\d{6}$ + description: The `items` `updated_at`. type: string - required: - - account_id - - bucket_name - - bucket_region - - report_name - - report_prefix - - status type: object - AwsCURConfigType: - default: aws_cur_config - description: Type of AWS CUR config. - enum: - - aws_cur_config - example: aws_cur_config - type: string - x-enum-varnames: - - AWS_CUR_CONFIG - AwsCURConfigPostRequestAttributes: - description: Attributes for AWS CUR config Post Request. + BudgetAttributesCosts: + description: Aggregated cost data for the budget over the requested period. properties: - account_filters: - $ref: '#/components/schemas/AccountFilteringConfig' - account_id: - description: The AWS account ID. - example: '123456789123' + actual: + description: The total actual cost. Present only when `actual=true` is requested. + format: double + nullable: true + type: number + amount: + description: The total budgeted amount over the requested period. + format: double + nullable: true + type: number + forecast: + description: The total forecast cost, with any custom forecast overrides applied. Present only when `forecast=true` is requested. + format: double + nullable: true + type: number + ootb_forecast: + description: The out-of-the-box ML forecast before custom overrides. Present only when `forecast=true` is requested. + format: double + nullable: true + type: number + type: object + BudgetAttributesCostsUnit: + description: The unit used for all cost values in the response. + properties: + family: + description: The unit family (for example, `currency`). type: string - bucket_name: - description: The AWS bucket name used to store the Cost and Usage Report. - example: dd-cost-bucket + id: + description: The unique identifier for the unit. type: string - bucket_region: - description: The region the bucket is located in. - example: us-east-1 + name: + description: The full name of the unit. type: string - months: - description: The month of the report. - format: int32 - maximum: 36 - type: integer - report_name: - description: The name of the Cost and Usage Report. - example: dd-report-name + plural: + description: The plural form of the unit name. type: string - report_prefix: - description: The report prefix used for the Cost and Usage Report. - example: dd-report-prefix + scale_factor: + description: The scale factor applied to raw cost values. + format: double + type: number + short_name: + description: The abbreviated unit name. type: string - required: - - account_id - - bucket_name - - report_name - - report_prefix type: object - AwsCURConfigPostRequestType: - default: aws_cur_config_post_request - description: Type of AWS CUR config Post Request. - enum: - - aws_cur_config_post_request - example: aws_cur_config_post_request - type: string - x-enum-varnames: - - AWS_CUR_CONFIG_POST_REQUEST - AwsCURConfigPatchRequestAttributes: - description: Attributes for AWS CUR config Patch Request. + BudgetWithEntriesDataAttributesEntriesItems: + description: A single monthly budget entry defining the allocated amount and optional tag filters for a specific month. properties: - account_filters: - $ref: '#/components/schemas/AccountFilteringConfig' - is_enabled: - description: Whether or not the Cloud Cost Management account is enabled. - example: true - type: boolean + amount: + description: The budgeted amount for this entry. + format: double + type: number + costs: + $ref: '#/components/schemas/BudgetWithEntriesDataAttributesEntriesItemsCosts' + description: Cost data for this entry. Present only when `actual=true` or `forecast=true` is requested. + month: + description: The month this budget entry applies to, in YYYYMM format. + format: int64 + type: integer + tag_filters: + description: The list of tag filters that scope this budget entry to specific resources. + items: + $ref: '#/components/schemas/BudgetWithEntriesDataAttributesEntriesItemsTagFiltersItems' + type: array type: object - AwsCURConfigPatchRequestType: - default: aws_cur_config_patch_request - description: Type of AWS CUR config Patch Request. - enum: - - aws_cur_config_patch_request - example: aws_cur_config_patch_request - type: string - x-enum-varnames: - - AWS_CUR_CONFIG_PATCH_REQUEST - AzureUCConfigPairAttributes: - description: Attributes for Azure config pair. + CustomForecastEntry: + description: A monthly entry of a custom budget forecast. properties: - configs: - description: An Azure config. + amount: + description: Forecast amount for the month. + example: 400 + format: double + type: number + month: + description: Month the custom forecast entry applies to, in `YYYYMM` format. + example: 202501 + format: int64 + type: integer + tag_filters: + description: Tag filters that scope this custom forecast entry to specific resources. items: - $ref: '#/components/schemas/AzureUCConfig' + $ref: '#/components/schemas/CustomForecastEntryTagFilter' type: array - id: - description: The ID of the Azure config pair. - type: string required: - - configs + - month + - amount + - tag_filters type: object - AzureUCConfigPairType: - default: azure_uc_configs - description: Type of Azure config pair. - enum: - - azure_uc_configs - example: azure_uc_configs - type: string - x-enum-varnames: - - AZURE_UC_CONFIGS - AzureUCConfigPostRequestAttributes: - description: Attributes for Azure config Post Request. + CommitmentsAwsEC2RICommitment: + description: AWS EC2 Reserved Instance commitment details. properties: - account_id: - description: The tenant ID of the azure account. - example: 1234abcd-1234-abcd-1234-1234abcd1234 + availability_zone: + description: The availability zone of the reservation. + example: us-east-1a type: string - actual_bill_config: - $ref: '#/components/schemas/BillConfig' - amortized_bill_config: - $ref: '#/components/schemas/BillConfig' - client_id: - description: The client ID of the azure account. - example: 1234abcd-1234-abcd-1234-1234abcd1234 + commitment_id: + description: The unique identifier of the Reserved Instance. + example: ri-0123456789abcdef0 type: string - is_enabled: - description: Whether or not the Cloud Cost Management account is enabled. - type: boolean - scope: - description: The scope of your observed subscription. - example: /subscriptions/1234abcd-1234-abcd-1234-1234abcd1234 + expiration_date: + description: The expiration date of the commitment. + example: '2025-12-31T00:00:00Z' type: string + instance_type: + description: The EC2 instance type. + example: m5.xlarge + type: string + number_of_nfus: + description: The number of Normalized Capacity Units. + example: 8 + format: double + type: number + number_of_reservations: + description: The number of reserved instances. + example: 2 + format: double + type: number + offering_class: + description: The offering class of the Reserved Instance. + example: standard + type: string + operating_system: + description: The operating system of the Reserved Instance. + example: Linux + type: string + purchase_option: + description: The payment option for the Reserved Instance. + example: All Upfront + type: string + region: + description: The AWS region of the Reserved Instance. + example: us-east-1 + type: string + start_date: + description: The start date of the commitment. + example: '2023-01-01T00:00:00Z' + type: string + term_length: + description: The term length in years. + example: 1 + format: double + type: number + utilization: + description: The utilization percentage of the commitment. + example: 0.85 + format: double + type: number required: - - account_id - - actual_bill_config - - amortized_bill_config - - client_id - - scope - type: object - AzureUCConfigPostRequestType: - default: azure_uc_config_post_request - description: Type of Azure config Post Request. - enum: - - azure_uc_config_post_request - example: azure_uc_config_post_request - type: string - x-enum-varnames: - - AZURE_UC_CONFIG_POST_REQUEST - AzureUCConfigPatchRequestAttributes: - description: Attributes for Azure config Patch Request. - properties: - is_enabled: - description: Whether or not the Cloud Cost Management account is enabled. - example: true - type: boolean - required: - - is_enabled + - commitment_id + - instance_type + - offering_class + - operating_system + - purchase_option + - region type: object - AzureUCConfigPatchRequestType: - default: azure_uc_config_patch_request - description: Type of Azure config Patch Request. - enum: - - azure_uc_config_patch_request - example: azure_uc_config_patch_request - type: string - x-enum-varnames: - - AZURE_UC_CONFIG_PATCH_REQUEST - BudgetAttributes: - description: The attributes of a budget. + CommitmentsAwsRDSRICommitment: + description: AWS RDS Reserved Instance commitment details. properties: - created_at: - description: The timestamp when the budget was created. - example: 1738258683590 - format: int64 - type: integer - created_by: - description: The id of the user that created the budget. - example: 00000000-0a0a-0a0a-aaa0-00000000000a + commitment_id: + description: The unique identifier of the Reserved Instance. + example: ri-0123456789abcdef0 type: string - end_month: - description: The month when the budget ends. - example: 202502 - format: int64 - type: integer - entries: - description: The entries of the budget. - items: - $ref: '#/components/schemas/BudgetEntry' - type: array - metrics_query: - description: The cost query used to track against the budget. - example: aws.cost.amortized{service:ec2} by {service} + database_engine: + description: The database engine of the Reserved Instance. + example: MySQL type: string - name: - description: The name of the budget. - example: my budget + expiration_date: + description: The expiration date of the commitment. + example: '2025-12-31T00:00:00Z' type: string - org_id: - description: The id of the org the budget belongs to. - example: 123 - format: int64 - type: integer - start_month: - description: The month when the budget starts. - example: 202501 - format: int64 - type: integer - total_amount: - description: The sum of all budget entries' amounts. - example: 1000 + instance_type: + description: The RDS instance type. + example: db.m5.xlarge + type: string + is_multi_az: + description: Whether the Reserved Instance is Multi-AZ. + example: false + type: boolean + number_of_nfus: + description: The number of Normalized Capacity Units. + example: 8 format: double type: number - updated_at: - description: The timestamp when the budget was last updated. - example: 1738258683590 - format: int64 - type: integer - updated_by: - description: The id of the user that created the budget. - example: 00000000-0a0a-0a0a-aaa0-00000000000a + number_of_reservations: + description: The number of reserved instances. + example: 2 + format: double + type: number + purchase_option: + description: The payment option for the Reserved Instance. + example: All Upfront + type: string + region: + description: The AWS region of the Reserved Instance. + example: us-east-1 type: string + start_date: + description: The start date of the commitment. + example: '2023-01-01T00:00:00Z' + type: string + term_length: + description: The term length in years. + example: 1 + format: double + type: number + utilization: + description: The utilization percentage of the commitment. + example: 0.85 + format: double + type: number + required: + - commitment_id + - database_engine + - instance_type + - purchase_option + - region type: object - CustomCostsFileMetadata: - description: Schema of a Custom Costs metadata. + CommitmentsAwsElasticacheRICommitment: + description: AWS ElastiCache Reserved Instance commitment details. properties: - billed_cost: - description: Total cost in the cost file. - example: 100.5 + cache_engine: + description: The cache engine type of the Reserved Instance. + example: Redis + type: string + commitment_id: + description: The unique identifier of the Reserved Instance. + example: ri-0123456789abcdef0 + type: string + expiration_date: + description: The expiration date of the commitment. + example: '2025-12-31T00:00:00Z' + type: string + instance_type: + description: The ElastiCache instance type. + example: cache.m5.xlarge + type: string + number_of_nfus: + description: The number of Normalized Capacity Units. + example: 8 format: double type: number - billing_currency: - description: Currency used in the Custom Costs file. - example: USD + number_of_reservations: + description: The number of reserved instances. + example: 2 + format: double + type: number + purchase_option: + description: The payment option for the Reserved Instance. + example: All Upfront type: string - charge_period: - $ref: '#/components/schemas/CustomCostsFileUsageChargePeriod' - name: - description: Name of the Custom Costs file. - example: my_file.json + region: + description: The AWS region of the Reserved Instance. + example: us-east-1 type: string - provider_names: - description: Providers contained in the Custom Costs file. - items: - description: Name of the provider. - example: my_provider - type: string - type: array - status: - description: Status of the Custom Costs file. - example: active + start_date: + description: The start date of the commitment. + example: '2023-01-01T00:00:00Z' type: string - uploaded_at: - description: >- - Timestamp, in millisecond, of the upload time of the Custom Costs - file. - example: 1704067200000 + term_length: + description: The term length in years. + example: 1 format: double type: number - uploaded_by: - $ref: '#/components/schemas/CustomCostsUser' + utilization: + description: The utilization percentage of the commitment. + example: 0.85 + format: double + type: number + required: + - cache_engine + - commitment_id + - instance_type + - purchase_option + - region type: object - CustomCostsFileMetadataWithContent: - description: Schema of a cost file's metadata. + CommitmentsAwsSPCommitment: + description: AWS Savings Plan commitment details. properties: - billed_cost: - description: Total cost in the cost file. - example: 100.5 + commitment_id: + description: The unique identifier of the Savings Plan. + example: arn:aws:savingsplans::123456789:savingsplan/abc123 + type: string + committed_spend_per_hour: + description: The hourly committed spend for the Savings Plan. + example: 1.5 format: double type: number - billing_currency: - description: Currency used in the Custom Costs file. - example: USD + expiration_date: + description: The expiration date of the commitment. + example: '2025-12-31T00:00:00Z' type: string - charge_period: - $ref: '#/components/schemas/CustomCostsFileUsageChargePeriod' - content: - description: Detail of the line items from the Custom Costs file. - items: - $ref: '#/components/schemas/CustomCostsFileLineItem' - type: array - name: - description: Name of the Custom Costs file. - example: my_file.json + purchase_option: + description: The payment option for the Savings Plan. + example: All Upfront type: string - provider_names: - description: Providers contained in the Custom Costs file. - items: - description: Name of a provider. - example: my_provider - type: string - type: array - status: - description: Status of the Custom Costs file. - example: active + savings_plan_type: + description: The Savings Plan type. + example: ComputeSavingsPlans type: string - uploaded_at: - description: >- - Timestamp in millisecond of the upload time of the Custom Costs - file. - example: 1704067200000 + start_date: + description: The start date of the commitment. + example: '2023-01-01T00:00:00Z' + type: string + term_length: + description: The term length in years. + example: 1 format: double type: number - uploaded_by: - $ref: '#/components/schemas/CustomCostsUser' + utilization: + description: The utilization percentage of the commitment. + example: 0.85 + format: double + type: number + required: + - commitment_id + - purchase_option + - savings_plan_type type: object - GCPUsageCostConfigAttributes: - description: Attributes for a GCP Usage Cost config. + CommitmentsAzureVMRICommitment: + description: Azure Virtual Machine Reserved Instance commitment details. properties: - account_id: - description: The GCP account ID. - example: 123456_A123BC_12AB34 - type: string - bucket_name: - description: The GCP bucket name used to store the Usage Cost export. - example: dd-cost-bucket + benefit_name: + description: The display name of the Azure reservation. + example: my-vm-reservation type: string - created_at: - description: The timestamp when the GCP Usage Cost config was created. - pattern: ^\d{4}-\d{2}-\d{2}T\d{2}:\d{2}:\d{2}.\d{6}$ + commitment_id: + description: The unique identifier of the Reserved Instance. + example: /subscriptions/abc123/providers/Microsoft.Capacity/reservationOrders/xyz789 type: string - dataset: - description: The export dataset name used for the GCP Usage Cost Report. - example: billing + expiration_date: + description: The expiration date of the commitment. + example: '2025-12-31T00:00:00Z' type: string - error_messages: - description: The error messages for the GCP Usage Cost config. - items: - type: string - nullable: true - type: array - export_prefix: - description: The export prefix used for the GCP Usage Cost Report. - example: datadog_cloud_cost_usage_export + instance_type: + description: The Azure VM instance type. + example: Standard_D4s_v3 type: string - export_project_name: - description: The name of the GCP Usage Cost Report. - example: dd-cloud-cost-report + meter_sub_category: + description: The Azure meter sub-category for the reservation. + example: D4s v3 type: string - months: - deprecated: true - description: The number of months the report has been backfilled. - format: int32 - maximum: 36 - type: integer - project_id: - description: The `project_id` of the GCP Usage Cost report. - example: my-project-123 + region: + description: The Azure region of the Reserved Instance. + example: eastus type: string - service_account: - description: The unique GCP service account email. - example: dd-ccm-gcp-integration@my-environment.iam.gserviceaccount.com + start_date: + description: The start date of the commitment. + example: '2023-01-01T00:00:00Z' type: string status: - description: The status of the GCP Usage Cost config. - example: active + $ref: '#/components/schemas/CommitmentsAzureVMRIStatus' + term_length: + description: The term length in years. + example: 1 + format: double + type: number + utilization: + description: The utilization percentage of the commitment. + example: 0.85 + format: double + type: number + required: + - benefit_name + - commitment_id + - instance_type + - meter_sub_category + - region + - status + type: object + CommitmentsAzureComputeSPCommitment: + description: Azure Compute Savings Plan commitment details. + properties: + benefit_name: + description: The display name of the Azure Savings Plan. + example: my-compute-savings-plan type: string - status_updated_at: - description: The timestamp when the GCP Usage Cost config status was updated. - pattern: ^\d{4}-\d{2}-\d{2}T\d{2}:\d{2}:\d{2}.\d{6}$ + commitment_id: + description: The unique identifier of the Savings Plan. + example: /subscriptions/abc123/providers/Microsoft.BillingBenefits/savingsPlanOrders/xyz789 type: string - updated_at: - description: The timestamp when the GCP Usage Cost config status was updated. - pattern: ^\d{4}-\d{2}-\d{2}T\d{2}:\d{2}:\d{2}.\d{6}$ + committed_spend_per_hour: + description: The hourly committed spend for the Savings Plan. + example: 2.5 + format: double + type: number + expiration_date: + description: The expiration date of the commitment. + example: '2025-12-31T00:00:00Z' type: string + start_date: + description: The start date of the commitment. + example: '2023-01-01T00:00:00Z' + type: string + term_length: + description: The term length in years. + example: 1 + format: double + type: number + utilization: + description: The utilization percentage of the commitment. + example: 0.85 + format: double + type: number required: - - account_id - - bucket_name - - dataset - - export_prefix - - export_project_name - - service_account - - status + - benefit_name + - commitment_id type: object - GCPUsageCostConfigType: - default: gcp_uc_config - description: Type of GCP Usage Cost config. + CommitmentsScalarColumnMeta: + description: Metadata for a scalar column, including unit information. + properties: + unit: + $ref: '#/components/schemas/CommitmentsUnit' + required: + - unit + type: object + CommitmentsScalarColumnType: + description: The column type. "group" for dimension columns, "number" for metric columns. enum: - - gcp_uc_config - example: gcp_uc_config + - group + - number + example: group type: string x-enum-varnames: - - GCP_UC_CONFIG - GCPUsageCostConfigPostRequestAttributes: - description: Attributes for GCP Usage Cost config post request. + - GROUP + - NUMBER + CommitmentsScalarColumnValueItems: + description: Values for a scalar column. Arrays of strings for group columns, numbers for value columns. + example: + - 0.85 + - 0.72 + items: + description: A scalar column value, either a group key (string) or a numeric metric. + type: array + CustomCostsFileUsageChargePeriod: + description: Usage charge period of a Custom Costs file. properties: - billing_account_id: - description: The GCP account ID. - example: 123456_A123BC_12AB34 + end: + description: End of the usage of the Custom Costs file. + example: 1706745600000 + format: double + type: number + start: + description: Start of the usage of the Custom Costs file. + example: 1704067200000 + format: double + type: number + type: object + CustomCostsUser: + description: Metadata of the user that has uploaded the Custom Costs file. + properties: + email: + description: The name of the Custom Costs file. + example: email.test@datadohq.com type: string - bucket_name: - description: The GCP bucket name used to store the Usage Cost export. - example: dd-cost-bucket + icon: + description: The name of the Custom Costs file. + example: icon.png type: string - export_dataset_name: - description: The export dataset name used for the GCP Usage Cost report. - example: billing + name: + description: Name of the user. + example: Test User type: string - export_prefix: - description: The export prefix used for the GCP Usage Cost report. - example: datadog_cloud_cost_usage_export + type: object + CostRecommendationDataAttributesPotentialDailySavings: + description: Estimated daily savings if the recommendation is applied. + properties: + amount: + description: Numeric amount of the potential daily savings. + format: double + type: number + currency: + description: ISO 4217 currency code for the savings amount. type: string - export_project_name: - description: The name of the GCP Usage Cost report. - example: dd-cloud-cost-report + type: object + CostTagDescriptionSource: + description: Origin of the description. `human` indicates the description was written by a user, `ai_generated` was produced by AI, and `datadog` is a default supplied by Datadog. + enum: + - human + - ai_generated + - datadog + example: human + type: string + x-enum-varnames: + - HUMAN + - AI_GENERATED + - DATADOG + CostTagKeyDetails: + description: Additional details for a Cloud Cost Management tag key, including its description and example tag values. + properties: + description: + description: Description of the tag key. + example: The cloud provider name reported for the cost line item. + type: string + tag_values: + description: Example tag values observed for this tag key. + example: + - aws + - gcp + - azure + items: + description: A tag value observed for this tag key. + type: string + type: array + required: + - description + - tag_values + type: object + CostTagKeyMetadataCardinalityByAccount: + additionalProperties: + description: Number of unique tag values observed in the account. + format: int64 + type: integer + description: Number of unique tag values observed for this tag key, keyed by cloud account ID. + example: + '123456789012': 42 + type: object + CostTagKeyMetadataTopValuesByAccount: + additionalProperties: + description: A sample of the most frequent tag values observed in the account. + items: + description: A tag value observed for this tag key. + type: string + type: array + description: A sample of the most frequent tag values observed for this tag key, keyed by cloud account ID. + example: + '123456789012': + - prod + - staging + type: object + CostAttributionTagNames: + additionalProperties: + description: |- + A list of values that are associated with each tag key. + - An empty list means the resource use wasn't tagged with the respective tag. + - Multiple values means the respective tag was applied multiple times on the resource. + - An `` value means the resource was tagged with the respective tag but did not have a value. + items: + description: A given tag in a list. + example: datadog-integrations-lab + type: string + type: array + description: |- + Tag keys and values. + A `null` value here means that the requested tag breakdown cannot be applied because it does not match the [tags + configured for usage attribution](https://docs.datadoghq.com/account_management/billing/usage_attribution/#getting-started). + In this scenario the API returns the total cost, not broken down by tags. + nullable: true + type: object + CostAttributionAggregatesBody: + description: The object containing the aggregates. + properties: + agg_type: + description: The aggregate type. + example: sum + type: string + field: + description: The field. + example: infra_host_committed_cost + type: string + value: + description: The value for a given field. + format: double + type: number + type: object + RulesetRespDataAttributesCreated: + description: The definition of `RulesetRespDataAttributesCreated` object. + properties: + nanos: + description: The `created` `nanos`. + format: int32 + maximum: 2147483647 + type: integer + seconds: + description: The `created` `seconds`. + format: int64 + type: integer + type: object + RulesetRespDataAttributesModified: + description: The definition of `RulesetRespDataAttributesModified` object. + properties: + nanos: + description: The `modified` `nanos`. + format: int32 + maximum: 2147483647 + type: integer + seconds: + description: The `modified` `seconds`. + format: int64 + type: integer + type: object + RulesetRespDataAttributesRulesItems: + description: The definition of `RulesetRespDataAttributesRulesItems` object. + properties: + enabled: + description: The `items` `enabled`. + example: false + type: boolean + mapping: + $ref: '#/components/schemas/DataAttributesRulesItemsMapping' + metadata: + $ref: '#/components/schemas/RulesetItemMetadata' + name: + description: The `items` `name`. + example: '' type: string - service_account: - description: The unique GCP service account email. - example: dd-ccm-gcp-integration@my-environment.iam.gserviceaccount.com + query: + $ref: '#/components/schemas/RulesetRespDataAttributesRulesItemsQuery' + reference_table: + $ref: '#/components/schemas/RulesetRespDataAttributesRulesItemsReferenceTable' + required: + - enabled + - name + type: object + CreateRulesetRequestDataAttributesRulesItems: + description: The definition of `CreateRulesetRequestDataAttributesRulesItems` object. + properties: + enabled: + description: The `items` `enabled`. + example: false + type: boolean + mapping: + $ref: '#/components/schemas/DataAttributesRulesItemsMapping' + metadata: + $ref: '#/components/schemas/RulesetItemMetadata' + name: + description: The `items` `name`. + example: '' type: string + query: + $ref: '#/components/schemas/CreateRulesetRequestDataAttributesRulesItemsQuery' + reference_table: + $ref: '#/components/schemas/CreateRulesetRequestDataAttributesRulesItemsReferenceTable' required: - - billing_account_id - - bucket_name - - export_project_name - - export_dataset_name - - service_account + - enabled + - name type: object - GCPUsageCostConfigPostRequestType: - default: gcp_uc_config_post_request - description: Type of GCP Usage Cost config post request. - enum: - - gcp_uc_config_post_request - example: gcp_usage_cost_config_post_request - type: string - x-enum-varnames: - - GCP_USAGE_COST_CONFIG_POST_REQUEST - GCPUsageCostConfigPatchRequestAttributes: - description: Attributes for GCP Usage Cost config patch request. + UpdateRulesetRequestDataAttributesRulesItems: + description: The definition of `UpdateRulesetRequestDataAttributesRulesItems` object. properties: - is_enabled: - description: Whether or not the Cloud Cost Management account is enabled. - example: true + enabled: + description: The `items` `enabled`. + example: false type: boolean + mapping: + $ref: '#/components/schemas/DataAttributesRulesItemsMapping' + metadata: + $ref: '#/components/schemas/RulesetItemMetadata' + name: + description: The `items` `name`. + example: '' + type: string + query: + $ref: '#/components/schemas/UpdateRulesetRequestDataAttributesRulesItemsQuery' + reference_table: + $ref: '#/components/schemas/UpdateRulesetRequestDataAttributesRulesItemsReferenceTable' required: - - is_enabled + - enabled + - name type: object - GCPUsageCostConfigPatchRequestType: - default: gcp_uc_config_patch_request - description: Type of GCP Usage Cost config patch request. - enum: - - gcp_uc_config_patch_request - example: gcp_uc_config_patch_request - type: string - x-enum-varnames: - - GCP_USAGE_COST_CONFIG_PATCH_REQUEST - ActiveBillingDimensionsAttributes: - description: List of active billing dimensions. + ArbitraryRuleResponseDataAttributesStrategyAllocatedByItems: + description: The definition of `ArbitraryRuleResponseDataAttributesStrategyAllocatedByItems` object. properties: - month: - description: >- - Datetime in ISO-8601 format, UTC, precise to hour: - `[YYYY-MM-DDThh]`. - format: date-time + allocated_tags: + description: The `items` `allocated_tags`. + items: + $ref: '#/components/schemas/ArbitraryRuleResponseDataAttributesStrategyAllocatedByItemsAllocatedTagsItems' + type: array + percentage: + description: The `items` `percentage`. The numeric value format should be a 32bit float value. + example: 0 + format: double + type: number + required: + - allocated_tags + - percentage + type: object + ArbitraryRuleResponseDataAttributesStrategyAllocatedByFiltersItems: + description: The definition of `ArbitraryRuleResponseDataAttributesStrategyAllocatedByFiltersItems` object. + properties: + condition: + description: The `items` `condition`. + example: '' + type: string + tag: + description: The `items` `tag`. + example: '' + type: string + value: + description: The `items` `value`. type: string values: - description: >- - List of active billing dimensions. Example: `[infra_host, apm_host, - serverless_infra]`. + description: The `items` `values`. items: - description: A given billing dimension in a list. - example: infra_host + description: A filter value string. type: string + nullable: true type: array + required: + - condition + - tag type: object - ActiveBillingDimensionsType: - default: billing_dimensions - description: Type of active billing dimensions data. - enum: - - billing_dimensions - type: string - x-enum-varnames: - - BILLING_DIMENSIONS - MonthlyCostAttributionAttributes: - description: Cost Attribution by Tag for a given organization. + ArbitraryRuleResponseDataAttributesStrategyBasedOnCostsItems: + description: The definition of `ArbitraryRuleResponseDataAttributesStrategyBasedOnCostsItems` object. properties: - month: - description: >- - Datetime in ISO-8601 format, UTC, precise to hour: - `[YYYY-MM-DDThh]`. - format: date-time - type: string - org_name: - description: The name of the organization. + condition: + description: The `items` `condition`. + example: '' type: string - public_id: - description: The organization public ID. - type: string - tag_config_source: - description: >- - The source of the cost attribution tag configuration and the - selected tags in the format `::://////`. + tag: + description: The `items` `tag`. + example: '' type: string - tags: - $ref: '#/components/schemas/CostAttributionTagNames' - updated_at: - description: >- - Shows the most recent hour in the current months for all - organizations for which all costs were calculated. + value: + description: The `items` `value`. type: string values: - description: >- - Fields in Cost Attribution by tag(s). Example: - `infra_host_on_demand_cost`, `infra_host_committed_cost`, - `infra_host_total_cost`, `infra_host_percentage_in_org`, - `infra_host_percentage_in_account`. - type: object + description: The `items` `values`. + items: + description: A filter value string. + type: string + nullable: true + type: array + required: + - condition + - tag type: object - CostAttributionType: - default: cost_by_tag - description: Type of cost attribution data. - enum: - - cost_by_tag - example: cost_by_tag - type: string - x-enum-varnames: - - COST_BY_TAG - CostAttributionAggregates: - description: An array of available aggregates. - items: - $ref: '#/components/schemas/CostAttributionAggregatesBody' - type: array - MonthlyCostAttributionPagination: - description: The metadata for the current pagination. + ArbitraryRuleResponseDataAttributesStrategyEvaluateGroupedByFiltersItems: + description: The definition of `ArbitraryRuleResponseDataAttributesStrategyEvaluateGroupedByFiltersItems` object. properties: - next_record_id: - description: >- - The cursor to use to get the next results, if any. To make the next - request, use the same parameters with the addition of the - `next_record_id`. - nullable: true + condition: + description: The `items` `condition`. + example: '' type: string + tag: + description: The `items` `tag`. + example: '' + type: string + value: + description: The `items` `value`. + type: string + values: + description: The `items` `values`. + items: + description: A filter value string. + type: string + nullable: true + type: array + required: + - condition + - tag type: object - AccountFilteringConfig: - description: The account filtering configuration. + ArbitraryCostUpsertRequestDataAttributesStrategyAllocatedByItems: + description: The definition of `ArbitraryCostUpsertRequestDataAttributesStrategyAllocatedByItems` object. properties: - excluded_accounts: - description: >- - The AWS account IDs to be excluded from your billing dataset. This - field is used when `include_new_accounts` is `true`. - example: - - '123456789123' - - '123456789143' + allocated_tags: + description: The `items` `allocated_tags`. items: - type: string + $ref: '#/components/schemas/ArbitraryCostUpsertRequestDataAttributesStrategyAllocatedByItemsAllocatedTagsItems' type: array - include_new_accounts: - description: >- - Whether or not to automatically include new member accounts by - default in your billing dataset. - example: true - type: boolean - included_accounts: - description: >- - The AWS account IDs to be included in your billing dataset. This - field is used when `include_new_accounts` is `false`. - example: - - '123456789123' - - '123456789143' + percentage: + description: The `items` `percentage`. The numeric value format should be a 32bit float value. + example: 0 + format: double + type: number + required: + - allocated_tags + - percentage + type: object + ArbitraryCostUpsertRequestDataAttributesStrategyAllocatedByFiltersItems: + description: The definition of `ArbitraryCostUpsertRequestDataAttributesStrategyAllocatedByFiltersItems` object. + properties: + condition: + description: The `items` `condition`. + example: '' + type: string + tag: + description: The `items` `tag`. + example: '' + type: string + value: + description: The `items` `value`. + type: string + values: + description: The `items` `values`. items: + description: A filter value string. type: string + nullable: true type: array + required: + - condition + - tag type: object - AzureUCConfig: - description: Azure config. + ArbitraryCostUpsertRequestDataAttributesStrategyBasedOnCostsItems: + description: The definition of `ArbitraryCostUpsertRequestDataAttributesStrategyBasedOnCostsItems` object. properties: - account_id: - description: The tenant ID of the azure account. - example: 1234abcd-1234-abcd-1234-1234abcd1234 - type: string - client_id: - description: The client ID of the Azure account. - example: 1234abcd-1234-abcd-1234-1234abcd1234 + condition: + description: The `items` `condition`. + example: '' type: string - created_at: - description: The timestamp when the Azure config was created. - pattern: ^\d{4}-\d{2}-\d{2}T\d{2}:\d{2}:\d{2}.\d{6}$ + tag: + description: The `items` `tag`. + example: '' type: string - dataset_type: - description: The dataset type of the Azure config. - example: actual + value: + description: The `items` `value`. type: string - error_messages: - description: The error messages for the Azure config. + values: + description: The `items` `values`. items: + description: A filter value string. type: string + nullable: true type: array - export_name: - description: The name of the configured Azure Export. - example: dd-actual-export + required: + - condition + - tag + type: object + ArbitraryCostUpsertRequestDataAttributesStrategyEvaluateGroupedByFiltersItems: + description: The definition of `ArbitraryCostUpsertRequestDataAttributesStrategyEvaluateGroupedByFiltersItems` object. + properties: + condition: + description: The `items` `condition`. + example: '' type: string - export_path: - description: The path where the Azure Export is saved. - example: dd-export-path + tag: + description: The `items` `tag`. + example: '' type: string - id: - description: The ID of the Azure config. + value: + description: The `items` `value`. type: string - months: - deprecated: true - description: The number of months the report has been backfilled. - format: int32 - maximum: 36 - type: integer - scope: - description: The scope of your observed subscription. - example: /subscriptions/1234abcd-1234-abcd-1234-1234abcd1234 + values: + description: The `items` `values`. + items: + description: A filter value string. + type: string + nullable: true + type: array + required: + - condition + - tag + type: object + BudgetWithEntriesDataAttributesEntriesItemsCosts: + description: Cost data for a single budget entry. + properties: + actual: + description: The actual cost for this entry. Present only when `actual=true` is requested. + format: double + nullable: true + type: number + amount: + description: The budgeted amount for this entry. + format: double + nullable: true + type: number + custom_forecast: + description: The custom forecast override for this entry. `null` when `forecast=true` is requested but no custom forecast has been set for this entry's month. A numeric value, including `0`, indicates an explicit custom forecast override. Omitted when `forecast=false` or the feature is not available for the organization. + format: double + nullable: true + type: number + forecast: + description: The final forecast for this entry, with any custom forecast override applied. Present only when `forecast=true` is requested. + format: double + nullable: true + type: number + ootb_forecast: + description: The out-of-the-box ML forecast for this entry, before custom overrides. Present only when `forecast=true` is requested. + format: double + nullable: true + type: number + type: object + BudgetWithEntriesDataAttributesEntriesItemsTagFiltersItems: + description: A tag filter used to scope a budget entry to specific resource tags. + properties: + tag_key: + description: The tag key to filter on. type: string - status: - description: The status of the Azure config. - example: active + tag_value: + description: The tag value to filter on. type: string - status_updated_at: - description: The timestamp when the Azure config status was last updated. - pattern: ^\d{4}-\d{2}-\d{2}T\d{2}:\d{2}:\d{2}.\d{6}$ + type: object + CustomForecastEntryTagFilter: + description: A tag filter that scopes a custom forecast entry to specific resource tags. + properties: + tag_key: + description: The tag key to filter on. + example: service type: string - storage_account: - description: The name of the storage account where the Azure Export is saved. - example: dd-storage-account + tag_value: + description: The tag value to filter on. + example: ec2 type: string - storage_container: - description: The name of the storage container where the Azure Export is saved. - example: dd-storage-container + required: + - tag_key + - tag_value + type: object + CommitmentsAzureVMRIStatus: + description: Status of an Azure VM Reserved Instance. + enum: + - running + - expired + - cancelled + example: running + type: string + x-enum-varnames: + - RUNNING + - EXPIRED + - CANCELLED + DataAttributesRulesItemsMapping: + description: The definition of `DataAttributesRulesItemsMapping` object. + nullable: true + properties: + destination_key: + description: The `mapping` `destination_key`. + example: '' type: string - updated_at: - description: The timestamp when the Azure config was last updated. - pattern: ^\d{4}-\d{2}-\d{2}T\d{2}:\d{2}:\d{2}.\d{6}$ + if_not_exists: + deprecated: true + description: Deprecated. Use `if_tag_exists` instead. The `mapping` `if_not_exists`. + type: boolean + if_tag_exists: + $ref: '#/components/schemas/DataAttributesRulesItemsIfTagExists' + source_keys: + description: The `mapping` `source_keys`. + example: + - '' + items: + description: A source key for the mapping rule. + type: string + type: array + required: + - destination_key + - source_keys + type: object + RulesetItemMetadata: + additionalProperties: + type: string + description: The `items` `metadata`. + nullable: true + type: object + RulesetRespDataAttributesRulesItemsQuery: + description: The definition of `RulesetRespDataAttributesRulesItemsQuery` object. + nullable: true + properties: + addition: + $ref: '#/components/schemas/RulesetRespDataAttributesRulesItemsQueryAddition' + case_insensitivity: + description: The `query` `case_insensitivity`. + type: boolean + if_not_exists: + deprecated: true + description: Deprecated. Use `if_tag_exists` instead. The `query` `if_not_exists`. + type: boolean + if_tag_exists: + $ref: '#/components/schemas/DataAttributesRulesItemsIfTagExists' + query: + description: The `query` `query`. + example: '' type: string required: - - account_id - - client_id - - dataset_type - - export_name - - export_path - - scope - - status - - storage_account - - storage_container + - addition + - query type: object - BillConfig: - description: Bill config. + RulesetRespDataAttributesRulesItemsReferenceTable: + description: The definition of `RulesetRespDataAttributesRulesItemsReferenceTable` object. + nullable: true properties: - export_name: - description: The name of the configured Azure Export. - example: dd-actual-export + case_insensitivity: + description: The `reference_table` `case_insensitivity`. + type: boolean + field_pairs: + description: The `reference_table` `field_pairs`. + items: + $ref: '#/components/schemas/RulesetRespDataAttributesRulesItemsReferenceTableFieldPairsItems' + type: array + if_not_exists: + deprecated: true + description: Deprecated. Use `if_tag_exists` instead. The `reference_table` `if_not_exists`. + type: boolean + if_tag_exists: + $ref: '#/components/schemas/DataAttributesRulesItemsIfTagExists' + source_keys: + description: The `reference_table` `source_keys`. + example: + - '' + items: + description: A source key for the reference table lookup. + type: string + type: array + table_name: + description: The `reference_table` `table_name`. + example: '' type: string - export_path: - description: The path where the Azure Export is saved. - example: dd-export-path + required: + - field_pairs + - source_keys + - table_name + type: object + CreateRulesetRequestDataAttributesRulesItemsQuery: + description: The definition of `CreateRulesetRequestDataAttributesRulesItemsQuery` object. + nullable: true + properties: + addition: + $ref: '#/components/schemas/CreateRulesetRequestDataAttributesRulesItemsQueryAddition' + case_insensitivity: + description: The `query` `case_insensitivity`. + type: boolean + if_not_exists: + deprecated: true + description: Deprecated. Use `if_tag_exists` instead. The `query` `if_not_exists`. + type: boolean + if_tag_exists: + $ref: '#/components/schemas/DataAttributesRulesItemsIfTagExists' + query: + description: The `query` `query`. + example: '' type: string - storage_account: - description: The name of the storage account where the Azure Export is saved. - example: dd-storage-account + required: + - addition + - query + type: object + CreateRulesetRequestDataAttributesRulesItemsReferenceTable: + description: The definition of `CreateRulesetRequestDataAttributesRulesItemsReferenceTable` object. + nullable: true + properties: + case_insensitivity: + description: The `reference_table` `case_insensitivity`. + type: boolean + field_pairs: + description: The `reference_table` `field_pairs`. + items: + $ref: '#/components/schemas/CreateRulesetRequestDataAttributesRulesItemsReferenceTableFieldPairsItems' + type: array + if_not_exists: + deprecated: true + description: Deprecated. Use `if_tag_exists` instead. The `reference_table` `if_not_exists`. + type: boolean + if_tag_exists: + $ref: '#/components/schemas/DataAttributesRulesItemsIfTagExists' + source_keys: + description: The `reference_table` `source_keys`. + example: + - '' + items: + description: A source key for the reference table lookup. + type: string + type: array + table_name: + description: The `reference_table` `table_name`. + example: '' type: string - storage_container: - description: The name of the storage container where the Azure Export is saved. - example: dd-storage-container + required: + - field_pairs + - source_keys + - table_name + type: object + UpdateRulesetRequestDataAttributesRulesItemsQuery: + description: The definition of `UpdateRulesetRequestDataAttributesRulesItemsQuery` object. + nullable: true + properties: + addition: + $ref: '#/components/schemas/UpdateRulesetRequestDataAttributesRulesItemsQueryAddition' + case_insensitivity: + description: The `query` `case_insensitivity`. + type: boolean + if_not_exists: + deprecated: true + description: Deprecated. Use `if_tag_exists` instead. The `query` `if_not_exists`. + type: boolean + if_tag_exists: + $ref: '#/components/schemas/DataAttributesRulesItemsIfTagExists' + query: + description: The `query` `query`. + example: '' type: string required: - - export_name - - export_path - - storage_account - - storage_container + - addition + - query type: object - BudgetEntry: - description: The entry of a budget. + UpdateRulesetRequestDataAttributesRulesItemsReferenceTable: + description: The definition of `UpdateRulesetRequestDataAttributesRulesItemsReferenceTable` object. + nullable: true properties: - amount: - description: The `amount` of the budget entry. - example: 500 - format: double - type: number - month: - description: The `month` of the budget entry. - example: 202501 - format: int64 - type: integer - tag_filters: - description: The `tag_filters` of the budget entry. + case_insensitivity: + description: The `reference_table` `case_insensitivity`. + type: boolean + field_pairs: + description: The `reference_table` `field_pairs`. + items: + $ref: '#/components/schemas/UpdateRulesetRequestDataAttributesRulesItemsReferenceTableFieldPairsItems' + type: array + if_not_exists: + deprecated: true + description: Deprecated. Use `if_tag_exists` instead. The `reference_table` `if_not_exists`. + type: boolean + if_tag_exists: + $ref: '#/components/schemas/DataAttributesRulesItemsIfTagExists' + source_keys: + description: The `reference_table` `source_keys`. + example: + - '' items: - $ref: '#/components/schemas/TagFilter' + description: A source key for the reference table lookup. + type: string type: array + table_name: + description: The `reference_table` `table_name`. + example: '' + type: string + required: + - field_pairs + - source_keys + - table_name type: object - CustomCostsFileUsageChargePeriod: - description: Usage charge period of a Custom Costs file. + ArbitraryRuleResponseDataAttributesStrategyAllocatedByItemsAllocatedTagsItems: + description: The definition of `ArbitraryRuleResponseDataAttributesStrategyAllocatedByItemsAllocatedTagsItems` object. properties: - end: - description: End of the usage of the Custom Costs file. - example: 1706745600000 - format: double - type: number - start: - description: Start of the usage of the Custom Costs file. - example: 1704067200000 - format: double - type: number + key: + description: The `items` `key`. + example: '' + type: string + value: + description: The `items` `value`. + example: '' + type: string + required: + - key + - value type: object - CustomCostsUser: - description: Metadata of the user that has uploaded the Custom Costs file. + ArbitraryCostUpsertRequestDataAttributesStrategyAllocatedByItemsAllocatedTagsItems: + description: The definition of `ArbitraryCostUpsertRequestDataAttributesStrategyAllocatedByItemsAllocatedTagsItems` object. properties: - email: - description: The name of the Custom Costs file. - example: email.test@datadohq.com + key: + description: The `items` `key`. + example: '' type: string - icon: - description: The name of the Custom Costs file. - example: icon.png + value: + description: The `items` `value`. + example: '' type: string - name: - description: Name of the user. - example: Test User + required: + - key + - value + type: object + DataAttributesRulesItemsIfTagExists: + description: The behavior when the tag already exists. + enum: + - append + - do_not_apply + - replace + type: string + x-enum-varnames: + - APPEND + - DO_NOT_APPLY + - REPLACE + RulesetRespDataAttributesRulesItemsQueryAddition: + description: The definition of `RulesetRespDataAttributesRulesItemsQueryAddition` object. + nullable: true + properties: + key: + description: The `addition` `key`. + example: '' + type: string + value: + description: The `addition` `value`. + example: '' type: string + required: + - key + - value type: object - CostAttributionTagNames: - additionalProperties: - description: >- - A list of values that are associated with each tag key. - - - An empty list means the resource use wasn't tagged with the - respective tag. - - - Multiple values means the respective tag was applied multiple times - on the resource. - - - An `` value means the resource was tagged with the respective - tag but did not have a value. - items: - description: A given tag in a list. - example: datadog-integrations-lab + RulesetRespDataAttributesRulesItemsReferenceTableFieldPairsItems: + description: The definition of `RulesetRespDataAttributesRulesItemsReferenceTableFieldPairsItems` object. + properties: + input_column: + description: The `items` `input_column`. + example: '' type: string - type: array - description: >- - Tag keys and values. - - A `null` value here means that the requested tag breakdown cannot be - applied because it does not match the [tags - - configured for usage - attribution](https://docs.datadoghq.com/account_management/billing/usage_attribution/#getting-started). - - In this scenario the API returns the total cost, not broken down by - tags. + output_key: + description: The `items` `output_key`. + example: '' + type: string + required: + - input_column + - output_key + type: object + CreateRulesetRequestDataAttributesRulesItemsQueryAddition: + description: The definition of `CreateRulesetRequestDataAttributesRulesItemsQueryAddition` object. nullable: true + properties: + key: + description: The `addition` `key`. + example: '' + type: string + value: + description: The `addition` `value`. + example: '' + type: string + required: + - key + - value type: object - CostAttributionAggregatesBody: - description: The object containing the aggregates. + CreateRulesetRequestDataAttributesRulesItemsReferenceTableFieldPairsItems: + description: The definition of `CreateRulesetRequestDataAttributesRulesItemsReferenceTableFieldPairsItems` object. properties: - agg_type: - description: The aggregate type. - example: sum + input_column: + description: The `items` `input_column`. + example: '' type: string - field: - description: The field. - example: infra_host_committed_cost + output_key: + description: The `items` `output_key`. + example: '' + type: string + required: + - input_column + - output_key + type: object + UpdateRulesetRequestDataAttributesRulesItemsQueryAddition: + description: The definition of `UpdateRulesetRequestDataAttributesRulesItemsQueryAddition` object. + nullable: true + properties: + key: + description: The `addition` `key`. + example: '' type: string value: - description: The value for a given field. - format: double - type: number + description: The `addition` `value`. + example: '' + type: string + required: + - key + - value type: object - TagFilter: - description: Tag filter for the budget's entries. + UpdateRulesetRequestDataAttributesRulesItemsReferenceTableFieldPairsItems: + description: The definition of `UpdateRulesetRequestDataAttributesRulesItemsReferenceTableFieldPairsItems` object. properties: - tag_key: - description: The key of the tag. - example: service + input_column: + description: The `items` `input_column`. + example: '' type: string - tag_value: - description: The value of the tag. - example: ec2 + output_key: + description: The `items` `output_key`. + example: '' type: string + required: + - input_column + - output_key type: object responses: TooManyRequestsResponse: @@ -2229,6 +10322,13 @@ components: schema: format: int64 type: integer + AnomalyID: + description: The UUID of the cost anomaly. + in: path + name: anomaly_id + required: true + schema: + type: string BudgetID: description: Budget id. in: path @@ -2236,6 +10336,54 @@ components: required: true schema: type: string + CommitmentsProvider: + description: Cloud provider for commitment programs (aws or azure). + example: aws + in: query + name: provider + required: true + schema: + $ref: '#/components/schemas/CommitmentsProvider' + CommitmentsProduct: + description: Cloud product identifier (for example, ec2, rds, virtualmachines). + example: ec2 + in: query + name: product + required: true + schema: + type: string + CommitmentsStart: + description: Start of the query time range in Unix milliseconds. + example: 1693526400000 + in: query + name: start + required: true + schema: + format: int64 + type: integer + CommitmentsEnd: + description: End of the query time range in Unix milliseconds. + example: 1696118400000 + in: query + name: end + required: true + schema: + format: int64 + type: integer + CommitmentsFilterBy: + description: Optional filter expression to narrow down results. + in: query + name: filterBy + required: false + schema: + type: string + CommitmentsCommitmentType: + description: Type of commitment to query. ri for Reserved Instances, sp for Savings Plans. Defaults to ri. + in: query + name: commitmentType + required: false + schema: + $ref: '#/components/schemas/CommitmentsCommitmentType' FileID: description: File ID. in: path @@ -2243,223 +10391,1039 @@ components: required: true schema: type: string + TagKey: + description: The Cloud Cost Management tag key. Tag keys can contain forward slashes (for example, `kubernetes/instance`). + in: path + name: tag_key + required: true + schema: + type: string x-stackQL-resources: + account_filters: + id: datadog.cloud_costs.account_filters + name: account_filters + title: Account Filters + methods: + get_cost_account_filters: + operation: + $ref: '#/paths/~1api~1v2~1cost~1account_filters~1{cloud_account_id}/get' + response: + mediaType: application/json + openAPIDocKey: '200' + objectKey: $.data + request: + nativeCasing: camel + update_cost_account_filters: + config: + requestBodyTranslate: + algorithm: naive + operation: + $ref: '#/paths/~1api~1v2~1cost~1account_filters~1{cloud_account_id}/patch' + response: + mediaType: application/json + openAPIDocKey: '200' + request: + nativeCasing: camel + sqlVerbs: + select: + - $ref: '#/components/x-stackQL-resources/account_filters/methods/get_cost_account_filters' + insert: [] + update: + - $ref: '#/components/x-stackQL-resources/account_filters/methods/update_cost_account_filters' + delete: [] + replace: [] + anomalies: + id: datadog.cloud_costs.anomalies + name: anomalies + title: Anomalies + methods: + list_cost_anomalies: + operation: + $ref: '#/paths/~1api~1v2~1cost~1anomalies/get' + response: + mediaType: application/json + openAPIDocKey: '200' + objectKey: $.data + request: + nativeCasing: camel + config: + queryParamPushdown: + top: + paramName: limit + skip: + paramName: offset + get_cost_anomaly: + operation: + $ref: '#/paths/~1api~1v2~1cost~1anomalies~1{anomaly_id}/get' + response: + mediaType: application/json + openAPIDocKey: '200' + objectKey: $.data + request: + nativeCasing: camel + sqlVerbs: + select: + - $ref: '#/components/x-stackQL-resources/anomalies/methods/get_cost_anomaly' + - $ref: '#/components/x-stackQL-resources/anomalies/methods/list_cost_anomalies' + insert: [] + update: [] + delete: [] + replace: [] + arbitrary_rules: + id: datadog.cloud_costs.arbitrary_rules + name: arbitrary_rules + title: Arbitrary Rules + methods: + list_custom_allocation_rules: + operation: + $ref: '#/paths/~1api~1v2~1cost~1arbitrary_rule/get' + response: + mediaType: application/json + openAPIDocKey: '200' + objectKey: $.data + request: + nativeCasing: camel + create_custom_allocation_rule: + config: + requestBodyTranslate: + algorithm: naive + operation: + $ref: '#/paths/~1api~1v2~1cost~1arbitrary_rule/post' + response: + mediaType: application/json + openAPIDocKey: '200' + request: + nativeCasing: camel + reorder_custom_allocation_rules: + config: + requestBodyTranslate: + algorithm: naive + operation: + $ref: '#/paths/~1api~1v2~1cost~1arbitrary_rule~1reorder/post' + response: + mediaType: application/json + openAPIDocKey: '204' + request: + nativeCasing: camel + delete_custom_allocation_rule: + operation: + $ref: '#/paths/~1api~1v2~1cost~1arbitrary_rule~1{rule_id}/delete' + response: + mediaType: application/json + openAPIDocKey: '204' + request: + nativeCasing: camel + get_custom_allocation_rule: + operation: + $ref: '#/paths/~1api~1v2~1cost~1arbitrary_rule~1{rule_id}/get' + response: + mediaType: application/json + openAPIDocKey: '200' + objectKey: $.data + request: + nativeCasing: camel + update_custom_allocation_rule: + config: + requestBodyTranslate: + algorithm: naive + operation: + $ref: '#/paths/~1api~1v2~1cost~1arbitrary_rule~1{rule_id}/patch' + response: + mediaType: application/json + openAPIDocKey: '200' + request: + nativeCasing: camel + sqlVerbs: + select: + - $ref: '#/components/x-stackQL-resources/arbitrary_rules/methods/get_custom_allocation_rule' + - $ref: '#/components/x-stackQL-resources/arbitrary_rules/methods/list_custom_allocation_rules' + insert: + - $ref: '#/components/x-stackQL-resources/arbitrary_rules/methods/create_custom_allocation_rule' + update: + - $ref: '#/components/x-stackQL-resources/arbitrary_rules/methods/update_custom_allocation_rule' + delete: + - $ref: '#/components/x-stackQL-resources/arbitrary_rules/methods/delete_custom_allocation_rule' + replace: [] + arbitrary_rule_statuses: + id: datadog.cloud_costs.arbitrary_rule_statuses + name: arbitrary_rule_statuses + title: Arbitrary Rule Statuses + methods: + list_custom_allocation_rules_status: + operation: + $ref: '#/paths/~1api~1v2~1cost~1arbitrary_rule~1status/get' + response: + mediaType: application/json + openAPIDocKey: '200' + objectKey: $.data + request: + nativeCasing: camel + sqlVerbs: + select: + - $ref: '#/components/x-stackQL-resources/arbitrary_rule_statuses/methods/list_custom_allocation_rules_status' + insert: [] + update: [] + delete: [] + replace: [] aws_configs: id: datadog.cloud_costs.aws_configs name: aws_configs title: Aws Configs methods: - list_cost_awscurconfigs: + list_cost_awscurconfigs: + operation: + $ref: '#/paths/~1api~1v2~1cost~1aws_cur_config/get' + response: + mediaType: application/json + openAPIDocKey: '200' + objectKey: $.data + request: + nativeCasing: camel + create_cost_awscurconfig: + config: + requestBodyTranslate: + algorithm: naive + operation: + $ref: '#/paths/~1api~1v2~1cost~1aws_cur_config/post' + response: + mediaType: application/json + openAPIDocKey: '200' + request: + nativeCasing: camel + delete_cost_awscurconfig: + operation: + $ref: '#/paths/~1api~1v2~1cost~1aws_cur_config~1{cloud_account_id}/delete' + response: + mediaType: application/json + openAPIDocKey: '204' + request: + nativeCasing: camel + update_cost_awscurconfig: + config: + requestBodyTranslate: + algorithm: naive + operation: + $ref: '#/paths/~1api~1v2~1cost~1aws_cur_config~1{cloud_account_id}/patch' + response: + mediaType: application/json + openAPIDocKey: '200' + request: + nativeCasing: camel + sqlVerbs: + select: + - $ref: '#/components/x-stackQL-resources/aws_configs/methods/list_cost_awscurconfigs' + insert: + - $ref: '#/components/x-stackQL-resources/aws_configs/methods/create_cost_awscurconfig' + update: + - $ref: '#/components/x-stackQL-resources/aws_configs/methods/update_cost_awscurconfig' + delete: + - $ref: '#/components/x-stackQL-resources/aws_configs/methods/delete_cost_awscurconfig' + replace: [] + aws_cur_configs: + id: datadog.cloud_costs.aws_cur_configs + name: aws_cur_configs + title: Aws Cur Configs + methods: + get_cost_awscurconfig: + operation: + $ref: '#/paths/~1api~1v2~1cost~1aws_cur_config~1{cloud_account_id}/get' + response: + mediaType: application/json + openAPIDocKey: '200' + objectKey: $.data + request: + nativeCasing: camel + sqlVerbs: + select: + - $ref: '#/components/x-stackQL-resources/aws_cur_configs/methods/get_cost_awscurconfig' + insert: [] + update: [] + delete: [] + replace: [] + azure_configs: + id: datadog.cloud_costs.azure_configs + name: azure_configs + title: Azure Configs + methods: + list_cost_azure_ucconfigs: + operation: + $ref: '#/paths/~1api~1v2~1cost~1azure_uc_config/get' + response: + mediaType: application/json + openAPIDocKey: '200' + objectKey: $.data + request: + nativeCasing: camel + create_cost_azure_ucconfigs: + config: + requestBodyTranslate: + algorithm: naive + operation: + $ref: '#/paths/~1api~1v2~1cost~1azure_uc_config/post' + response: + mediaType: application/json + openAPIDocKey: '200' + request: + nativeCasing: camel + delete_cost_azure_ucconfig: + operation: + $ref: '#/paths/~1api~1v2~1cost~1azure_uc_config~1{cloud_account_id}/delete' + response: + mediaType: application/json + openAPIDocKey: '204' + request: + nativeCasing: camel + update_cost_azure_ucconfigs: + config: + requestBodyTranslate: + algorithm: naive + operation: + $ref: '#/paths/~1api~1v2~1cost~1azure_uc_config~1{cloud_account_id}/patch' + response: + mediaType: application/json + openAPIDocKey: '200' + request: + nativeCasing: camel + sqlVerbs: + select: + - $ref: '#/components/x-stackQL-resources/azure_configs/methods/list_cost_azure_ucconfigs' + insert: + - $ref: '#/components/x-stackQL-resources/azure_configs/methods/create_cost_azure_ucconfigs' + update: + - $ref: '#/components/x-stackQL-resources/azure_configs/methods/update_cost_azure_ucconfigs' + delete: + - $ref: '#/components/x-stackQL-resources/azure_configs/methods/delete_cost_azure_ucconfig' + replace: [] + azure_uc_configs: + id: datadog.cloud_costs.azure_uc_configs + name: azure_uc_configs + title: Azure Uc Configs + methods: + get_cost_azure_ucconfig: + operation: + $ref: '#/paths/~1api~1v2~1cost~1azure_uc_config~1{cloud_account_id}/get' + response: + mediaType: application/json + openAPIDocKey: '200' + objectKey: $.data + request: + nativeCasing: camel + sqlVerbs: + select: + - $ref: '#/components/x-stackQL-resources/azure_uc_configs/methods/get_cost_azure_ucconfig' + insert: [] + update: [] + delete: [] + replace: [] + budgets: + id: datadog.cloud_costs.budgets + name: budgets + title: Budgets + methods: + upsert_budget: + config: + requestBodyTranslate: + algorithm: naive + operation: + $ref: '#/paths/~1api~1v2~1cost~1budget/put' + response: + mediaType: application/json + openAPIDocKey: '200' + request: + nativeCasing: camel + validate_budget: + config: + requestBodyTranslate: + algorithm: naive + operation: + $ref: '#/paths/~1api~1v2~1cost~1budget~1validate/post' + response: + mediaType: application/json + openAPIDocKey: '200' + request: + nativeCasing: camel + delete_budget: + operation: + $ref: '#/paths/~1api~1v2~1cost~1budget~1{budget_id}/delete' + response: + mediaType: application/json + openAPIDocKey: '204' + request: + nativeCasing: camel + get_budget: + operation: + $ref: '#/paths/~1api~1v2~1cost~1budget~1{budget_id}/get' + response: + mediaType: application/json + openAPIDocKey: '200' + objectKey: $.data + request: + nativeCasing: camel + list_budgets: + operation: + $ref: '#/paths/~1api~1v2~1cost~1budgets/get' + response: + mediaType: application/json + openAPIDocKey: '200' + objectKey: $.data + request: + nativeCasing: camel + sqlVerbs: + select: + - $ref: '#/components/x-stackQL-resources/budgets/methods/get_budget' + - $ref: '#/components/x-stackQL-resources/budgets/methods/list_budgets' + insert: [] + update: [] + delete: + - $ref: '#/components/x-stackQL-resources/budgets/methods/delete_budget' + replace: + - $ref: '#/components/x-stackQL-resources/budgets/methods/upsert_budget' + budget_csvs: + id: datadog.cloud_costs.budget_csvs + name: budget_csvs + title: Budget Csvs + methods: + validate_csv_budget: + operation: + $ref: '#/paths/~1api~1v2~1cost~1budget~1csv~1validate/post' + response: + mediaType: application/json + openAPIDocKey: '200' + request: + nativeCasing: camel + sqlVerbs: + select: [] + insert: [] + update: [] + delete: [] + replace: [] + budget_custom_forecasts: + id: datadog.cloud_costs.budget_custom_forecasts + name: budget_custom_forecasts + title: Budget Custom Forecasts + methods: + upsert_custom_forecast: + config: + requestBodyTranslate: + algorithm: naive + operation: + $ref: '#/paths/~1api~1v2~1cost~1budget~1custom-forecast/put' + response: + mediaType: application/json + openAPIDocKey: '200' + request: + nativeCasing: camel + delete_custom_forecast: + operation: + $ref: '#/paths/~1api~1v2~1cost~1budget~1{budget_id}~1custom-forecast/delete' + response: + mediaType: application/json + openAPIDocKey: '204' + request: + nativeCasing: camel + get_custom_forecast: + operation: + $ref: '#/paths/~1api~1v2~1cost~1budget~1{budget_id}~1custom-forecast/get' + response: + mediaType: application/json + openAPIDocKey: '200' + objectKey: $.data + request: + nativeCasing: camel + sqlVerbs: + select: + - $ref: '#/components/x-stackQL-resources/budget_custom_forecasts/methods/get_custom_forecast' + insert: [] + update: [] + delete: + - $ref: '#/components/x-stackQL-resources/budget_custom_forecasts/methods/delete_custom_forecast' + replace: + - $ref: '#/components/x-stackQL-resources/budget_custom_forecasts/methods/upsert_custom_forecast' + commitments: + id: datadog.cloud_costs.commitments + name: commitments + title: Commitments + methods: + get_commitments_commitment_list: + operation: + $ref: '#/paths/~1api~1v2~1cost~1commitments~1commitment-list/get' + response: + mediaType: application/json + openAPIDocKey: '200' + objectKey: $.commitments + request: + nativeCasing: camel + sqlVerbs: + select: + - $ref: '#/components/x-stackQL-resources/commitments/methods/get_commitments_commitment_list' + insert: [] + update: [] + delete: [] + replace: [] + commitment_coverage_scalar: + id: datadog.cloud_costs.commitment_coverage_scalar + name: commitment_coverage_scalar + title: Commitment Coverage Scalar + methods: + get_commitments_coverage_scalar: + operation: + $ref: '#/paths/~1api~1v2~1cost~1commitments~1coverage~1scalar/get' + response: + mediaType: application/json + openAPIDocKey: '200' + objectKey: $.columns + request: + nativeCasing: camel + sqlVerbs: + select: + - $ref: '#/components/x-stackQL-resources/commitment_coverage_scalar/methods/get_commitments_coverage_scalar' + insert: [] + update: [] + delete: [] + replace: [] + commitment_coverage_timeseries: + id: datadog.cloud_costs.commitment_coverage_timeseries + name: commitment_coverage_timeseries + title: Commitment Coverage Timeseries + methods: + get_commitments_coverage_timeseries: + operation: + $ref: '#/paths/~1api~1v2~1cost~1commitments~1coverage~1timeseries/get' + response: + mediaType: application/json + openAPIDocKey: '200' + request: + nativeCasing: camel + sqlVerbs: + select: + - $ref: '#/components/x-stackQL-resources/commitment_coverage_timeseries/methods/get_commitments_coverage_timeseries' + insert: [] + update: [] + delete: [] + replace: [] + commitment_on_demand_hot_spot_scalar: + id: datadog.cloud_costs.commitment_on_demand_hot_spot_scalar + name: commitment_on_demand_hot_spot_scalar + title: Commitment On Demand Hot Spot Scalar + methods: + get_commitments_on_demand_hotspots_scalar: + operation: + $ref: '#/paths/~1api~1v2~1cost~1commitments~1on-demand-hot-spots~1scalar/get' + response: + mediaType: application/json + openAPIDocKey: '200' + request: + nativeCasing: camel + sqlVerbs: + select: + - $ref: '#/components/x-stackQL-resources/commitment_on_demand_hot_spot_scalar/methods/get_commitments_on_demand_hotspots_scalar' + insert: [] + update: [] + delete: [] + replace: [] + commitment_saving_scalar: + id: datadog.cloud_costs.commitment_saving_scalar + name: commitment_saving_scalar + title: Commitment Saving Scalar + methods: + get_commitments_savings_scalar: + operation: + $ref: '#/paths/~1api~1v2~1cost~1commitments~1savings~1scalar/get' + response: + mediaType: application/json + openAPIDocKey: '200' + objectKey: $.columns + request: + nativeCasing: camel + sqlVerbs: + select: + - $ref: '#/components/x-stackQL-resources/commitment_saving_scalar/methods/get_commitments_savings_scalar' + insert: [] + update: [] + delete: [] + replace: [] + commitment_saving_timeseries: + id: datadog.cloud_costs.commitment_saving_timeseries + name: commitment_saving_timeseries + title: Commitment Saving Timeseries + methods: + get_commitments_savings_timeseries: + operation: + $ref: '#/paths/~1api~1v2~1cost~1commitments~1savings~1timeseries/get' + response: + mediaType: application/json + openAPIDocKey: '200' + request: + nativeCasing: camel + sqlVerbs: + select: + - $ref: '#/components/x-stackQL-resources/commitment_saving_timeseries/methods/get_commitments_savings_timeseries' + insert: [] + update: [] + delete: [] + replace: [] + commitment_utilization_scalar: + id: datadog.cloud_costs.commitment_utilization_scalar + name: commitment_utilization_scalar + title: Commitment Utilization Scalar + methods: + get_commitments_utilization_scalar: + operation: + $ref: '#/paths/~1api~1v2~1cost~1commitments~1utilization~1scalar/get' + response: + mediaType: application/json + openAPIDocKey: '200' + request: + nativeCasing: camel + sqlVerbs: + select: + - $ref: '#/components/x-stackQL-resources/commitment_utilization_scalar/methods/get_commitments_utilization_scalar' + insert: [] + update: [] + delete: [] + replace: [] + commitment_utilization_timeseries: + id: datadog.cloud_costs.commitment_utilization_timeseries + name: commitment_utilization_timeseries + title: Commitment Utilization Timeseries + methods: + get_commitments_utilization_timeseries: + operation: + $ref: '#/paths/~1api~1v2~1cost~1commitments~1utilization~1timeseries/get' + response: + mediaType: application/json + openAPIDocKey: '200' + request: + nativeCasing: camel + sqlVerbs: + select: + - $ref: '#/components/x-stackQL-resources/commitment_utilization_timeseries/methods/get_commitments_utilization_timeseries' + insert: [] + update: [] + delete: [] + replace: [] + costs_files: + id: datadog.cloud_costs.costs_files + name: costs_files + title: Costs Files + methods: + list_custom_costs_files: operation: - $ref: '#/paths/~1api~1v2~1cost~1aws_cur_config/get' + $ref: '#/paths/~1api~1v2~1cost~1custom_costs/get' response: mediaType: application/json openAPIDocKey: '200' objectKey: $.data - create_cost_awscurconfig: + request: + nativeCasing: camel + config: + queryParamPushdown: + top: + paramName: page[size] + upload_custom_costs_file: + config: + requestBodyTranslate: + algorithm: naive operation: - $ref: '#/paths/~1api~1v2~1cost~1aws_cur_config/post' + $ref: '#/paths/~1api~1v2~1cost~1custom_costs/put' response: mediaType: application/json - openAPIDocKey: '200' - delete_cost_awscurconfig: + openAPIDocKey: '202' + request: + nativeCasing: camel + delete_custom_costs_file: operation: - $ref: '#/paths/~1api~1v2~1cost~1aws_cur_config~1{cloud_account_id}/delete' + $ref: '#/paths/~1api~1v2~1cost~1custom_costs~1{file_id}/delete' response: mediaType: application/json openAPIDocKey: '204' - update_cost_awscurconfig: + request: + nativeCasing: camel + get_custom_costs_file: operation: - $ref: '#/paths/~1api~1v2~1cost~1aws_cur_config~1{cloud_account_id}/patch' + $ref: '#/paths/~1api~1v2~1cost~1custom_costs~1{file_id}/get' response: mediaType: application/json openAPIDocKey: '200' + objectKey: $.data + request: + nativeCasing: camel sqlVerbs: select: - - $ref: >- - #/components/x-stackQL-resources/aws_configs/methods/list_cost_awscurconfigs - insert: - - $ref: >- - #/components/x-stackQL-resources/aws_configs/methods/create_cost_awscurconfig - update: - - $ref: >- - #/components/x-stackQL-resources/aws_configs/methods/update_cost_awscurconfig + - $ref: '#/components/x-stackQL-resources/costs_files/methods/get_custom_costs_file' + - $ref: '#/components/x-stackQL-resources/costs_files/methods/list_custom_costs_files' + insert: [] + update: [] delete: - - $ref: >- - #/components/x-stackQL-resources/aws_configs/methods/delete_cost_awscurconfig + - $ref: '#/components/x-stackQL-resources/costs_files/methods/delete_custom_costs_file' replace: [] - azure_configs: - id: datadog.cloud_costs.azure_configs - name: azure_configs - title: Azure Configs + gcp_configs: + id: datadog.cloud_costs.gcp_configs + name: gcp_configs + title: Gcp Configs methods: - list_cost_azure_ucconfigs: + list_cost_gcpusage_cost_configs: operation: - $ref: '#/paths/~1api~1v2~1cost~1azure_uc_config/get' + $ref: '#/paths/~1api~1v2~1cost~1gcp_uc_config/get' response: mediaType: application/json openAPIDocKey: '200' objectKey: $.data - create_cost_azure_ucconfigs: + request: + nativeCasing: camel + create_cost_gcpusage_cost_config: + config: + requestBodyTranslate: + algorithm: naive operation: - $ref: '#/paths/~1api~1v2~1cost~1azure_uc_config/post' + $ref: '#/paths/~1api~1v2~1cost~1gcp_uc_config/post' response: mediaType: application/json openAPIDocKey: '200' - delete_cost_azure_ucconfig: + request: + nativeCasing: camel + delete_cost_gcpusage_cost_config: operation: - $ref: >- - #/paths/~1api~1v2~1cost~1azure_uc_config~1{cloud_account_id}/delete + $ref: '#/paths/~1api~1v2~1cost~1gcp_uc_config~1{cloud_account_id}/delete' response: mediaType: application/json openAPIDocKey: '204' - update_cost_azure_ucconfigs: + request: + nativeCasing: camel + update_cost_gcpusage_cost_config: + config: + requestBodyTranslate: + algorithm: naive operation: - $ref: '#/paths/~1api~1v2~1cost~1azure_uc_config~1{cloud_account_id}/patch' + $ref: '#/paths/~1api~1v2~1cost~1gcp_uc_config~1{cloud_account_id}/patch' response: mediaType: application/json openAPIDocKey: '200' + request: + nativeCasing: camel sqlVerbs: select: - - $ref: >- - #/components/x-stackQL-resources/azure_configs/methods/list_cost_azure_ucconfigs + - $ref: '#/components/x-stackQL-resources/gcp_configs/methods/list_cost_gcpusage_cost_configs' insert: - - $ref: >- - #/components/x-stackQL-resources/azure_configs/methods/create_cost_azure_ucconfigs + - $ref: '#/components/x-stackQL-resources/gcp_configs/methods/create_cost_gcpusage_cost_config' update: - - $ref: >- - #/components/x-stackQL-resources/azure_configs/methods/update_cost_azure_ucconfigs + - $ref: '#/components/x-stackQL-resources/gcp_configs/methods/update_cost_gcpusage_cost_config' delete: - - $ref: >- - #/components/x-stackQL-resources/azure_configs/methods/delete_cost_azure_ucconfig + - $ref: '#/components/x-stackQL-resources/gcp_configs/methods/delete_cost_gcpusage_cost_config' replace: [] - budgets: - id: datadog.cloud_costs.budgets - name: budgets - title: Budgets + gcp_uc_configs: + id: datadog.cloud_costs.gcp_uc_configs + name: gcp_uc_configs + title: Gcp Uc Configs methods: - upsert_budget: + get_cost_gcpusage_cost_config: operation: - $ref: '#/paths/~1api~1v2~1cost~1budget/put' + $ref: '#/paths/~1api~1v2~1cost~1gcp_uc_config~1{cloud_account_id}/get' response: mediaType: application/json openAPIDocKey: '200' - delete_budget: + objectKey: $.data + request: + nativeCasing: camel + sqlVerbs: + select: + - $ref: '#/components/x-stackQL-resources/gcp_uc_configs/methods/get_cost_gcpusage_cost_config' + insert: [] + update: [] + delete: [] + replace: [] + oci_configs: + id: datadog.cloud_costs.oci_configs + name: oci_configs + title: Oci Configs + methods: + list_cost_ociconfigs: operation: - $ref: '#/paths/~1api~1v2~1cost~1budget~1{budget_id}/delete' + $ref: '#/paths/~1api~1v2~1cost~1oci_config/get' + response: + mediaType: application/json + openAPIDocKey: '200' + objectKey: $.data + request: + nativeCasing: camel + sqlVerbs: + select: + - $ref: '#/components/x-stackQL-resources/oci_configs/methods/list_cost_ociconfigs' + insert: [] + update: [] + delete: [] + replace: [] + recommendations: + id: datadog.cloud_costs.recommendations + name: recommendations + title: Recommendations + methods: + search_cost_recommendations: + config: + requestBodyTranslate: + algorithm: naive + operation: + $ref: '#/paths/~1api~1v2~1cost~1recommendations/post' + response: + mediaType: application/json + openAPIDocKey: '200' + request: + nativeCasing: camel + sqlVerbs: + select: [] + insert: + - $ref: '#/components/x-stackQL-resources/recommendations/methods/search_cost_recommendations' + update: [] + delete: [] + replace: [] + tag_descriptions: + id: datadog.cloud_costs.tag_descriptions + name: tag_descriptions + title: Tag Descriptions + methods: + list_cost_tag_descriptions: + operation: + $ref: '#/paths/~1api~1v2~1cost~1tag_descriptions/get' + response: + mediaType: application/json + openAPIDocKey: '200' + objectKey: $.data + request: + nativeCasing: camel + delete_cost_tag_description_by_key: + operation: + $ref: '#/paths/~1api~1v2~1cost~1tag_descriptions~1{tag_key}/delete' response: mediaType: application/json openAPIDocKey: '204' - get_budget: + request: + nativeCasing: camel + get_cost_tag_description_by_key: operation: - $ref: '#/paths/~1api~1v2~1cost~1budget~1{budget_id}/get' + $ref: '#/paths/~1api~1v2~1cost~1tag_descriptions~1{tag_key}/get' response: mediaType: application/json openAPIDocKey: '200' objectKey: $.data - list_budgets: + request: + nativeCasing: camel + upsert_cost_tag_description_by_key: + config: + requestBodyTranslate: + algorithm: naive operation: - $ref: '#/paths/~1api~1v2~1cost~1budgets/get' + $ref: '#/paths/~1api~1v2~1cost~1tag_descriptions~1{tag_key}/put' + response: + mediaType: application/json + openAPIDocKey: '204' + request: + nativeCasing: camel + generate_cost_tag_description_by_key: + operation: + $ref: '#/paths/~1api~1v2~1cost~1tag_descriptions~1{tag_key}~1generate/get' response: mediaType: application/json openAPIDocKey: '200' objectKey: $.data + request: + nativeCasing: camel sqlVerbs: select: - - $ref: '#/components/x-stackQL-resources/budgets/methods/get_budget' - - $ref: '#/components/x-stackQL-resources/budgets/methods/list_budgets' + - $ref: '#/components/x-stackQL-resources/tag_descriptions/methods/get_cost_tag_description_by_key' + - $ref: '#/components/x-stackQL-resources/tag_descriptions/methods/list_cost_tag_descriptions' insert: [] update: [] delete: - - $ref: '#/components/x-stackQL-resources/budgets/methods/delete_budget' + - $ref: '#/components/x-stackQL-resources/tag_descriptions/methods/delete_cost_tag_description_by_key' replace: - - $ref: '#/components/x-stackQL-resources/budgets/methods/upsert_budget' - costs_files: - id: datadog.cloud_costs.costs_files - name: costs_files - title: Costs Files + - $ref: '#/components/x-stackQL-resources/tag_descriptions/methods/upsert_cost_tag_description_by_key' + tag_keys: + id: datadog.cloud_costs.tag_keys + name: tag_keys + title: Tag Keys methods: - list_custom_costs_files: + list_cost_tag_keys: operation: - $ref: '#/paths/~1api~1v2~1cost~1custom_costs/get' + $ref: '#/paths/~1api~1v2~1cost~1tag_keys/get' response: mediaType: application/json openAPIDocKey: '200' objectKey: $.data - upload_custom_costs_file: + request: + nativeCasing: camel + get_cost_tag_key: operation: - $ref: '#/paths/~1api~1v2~1cost~1custom_costs/put' + $ref: '#/paths/~1api~1v2~1cost~1tag_keys~1{tag_key}/get' response: mediaType: application/json - openAPIDocKey: '202' - delete_custom_costs_file: + openAPIDocKey: '200' + objectKey: $.data + request: + nativeCasing: camel + config: + queryParamPushdown: + top: + paramName: page[size] + maxValue: 10000 + sqlVerbs: + select: + - $ref: '#/components/x-stackQL-resources/tag_keys/methods/get_cost_tag_key' + - $ref: '#/components/x-stackQL-resources/tag_keys/methods/list_cost_tag_keys' + insert: [] + update: [] + delete: [] + replace: [] + tag_metadata: + id: datadog.cloud_costs.tag_metadata + name: tag_metadata + title: Tag Metadata + methods: + list_cost_tag_metadata: operation: - $ref: '#/paths/~1api~1v2~1cost~1custom_costs~1{file_id}/delete' + $ref: '#/paths/~1api~1v2~1cost~1tag_metadata/get' response: mediaType: application/json - openAPIDocKey: '204' - get_custom_costs_file: + openAPIDocKey: '200' + objectKey: $.data + request: + nativeCasing: camel + sqlVerbs: + select: + - $ref: '#/components/x-stackQL-resources/tag_metadata/methods/list_cost_tag_metadata' + insert: [] + update: [] + delete: [] + replace: [] + tag_metadatum_currencies: + id: datadog.cloud_costs.tag_metadatum_currencies + name: tag_metadatum_currencies + title: Tag Metadatum Currencies + methods: + get_cost_tag_metadata_currency: operation: - $ref: '#/paths/~1api~1v2~1cost~1custom_costs~1{file_id}/get' + $ref: '#/paths/~1api~1v2~1cost~1tag_metadata~1currency/get' response: mediaType: application/json openAPIDocKey: '200' objectKey: $.data + request: + nativeCasing: camel sqlVerbs: select: - - $ref: >- - #/components/x-stackQL-resources/costs_files/methods/get_custom_costs_file - - $ref: >- - #/components/x-stackQL-resources/costs_files/methods/list_custom_costs_files + - $ref: '#/components/x-stackQL-resources/tag_metadatum_currencies/methods/get_cost_tag_metadata_currency' insert: [] update: [] - delete: - - $ref: >- - #/components/x-stackQL-resources/costs_files/methods/delete_custom_costs_file + delete: [] replace: [] - gcp_configs: - id: datadog.cloud_costs.gcp_configs - name: gcp_configs - title: Gcp Configs + tag_metadatum_metrics: + id: datadog.cloud_costs.tag_metadatum_metrics + name: tag_metadatum_metrics + title: Tag Metadatum Metrics methods: - list_cost_gcpusage_cost_configs: + list_cost_tag_metadata_metrics: operation: - $ref: '#/paths/~1api~1v2~1cost~1gcp_uc_config/get' + $ref: '#/paths/~1api~1v2~1cost~1tag_metadata~1metrics/get' response: mediaType: application/json openAPIDocKey: '200' objectKey: $.data - create_cost_gcpusage_cost_config: + request: + nativeCasing: camel + sqlVerbs: + select: + - $ref: '#/components/x-stackQL-resources/tag_metadatum_metrics/methods/list_cost_tag_metadata_metrics' + insert: [] + update: [] + delete: [] + replace: [] + tag_metadatum_months: + id: datadog.cloud_costs.tag_metadatum_months + name: tag_metadatum_months + title: Tag Metadatum Months + methods: + list_cost_tag_metadata_months: operation: - $ref: '#/paths/~1api~1v2~1cost~1gcp_uc_config/post' + $ref: '#/paths/~1api~1v2~1cost~1tag_metadata~1months/get' response: mediaType: application/json openAPIDocKey: '200' - delete_cost_gcpusage_cost_config: + objectKey: $.data + request: + nativeCasing: camel + sqlVerbs: + select: + - $ref: '#/components/x-stackQL-resources/tag_metadatum_months/methods/list_cost_tag_metadata_months' + insert: [] + update: [] + delete: [] + replace: [] + tag_metadatum_orchestrators: + id: datadog.cloud_costs.tag_metadatum_orchestrators + name: tag_metadatum_orchestrators + title: Tag Metadatum Orchestrators + methods: + list_cost_tag_metadata_orchestrators: operation: - $ref: '#/paths/~1api~1v2~1cost~1gcp_uc_config~1{cloud_account_id}/delete' + $ref: '#/paths/~1api~1v2~1cost~1tag_metadata~1orchestrators/get' response: mediaType: application/json - openAPIDocKey: '204' - update_cost_gcpusage_cost_config: + openAPIDocKey: '200' + objectKey: $.data + request: + nativeCasing: camel + sqlVerbs: + select: + - $ref: '#/components/x-stackQL-resources/tag_metadatum_orchestrators/methods/list_cost_tag_metadata_orchestrators' + insert: [] + update: [] + delete: [] + replace: [] + tag_metadatum_tag_sources: + id: datadog.cloud_costs.tag_metadatum_tag_sources + name: tag_metadatum_tag_sources + title: Tag Metadatum Tag Sources + methods: + list_cost_tag_key_sources: operation: - $ref: '#/paths/~1api~1v2~1cost~1gcp_uc_config~1{cloud_account_id}/patch' + $ref: '#/paths/~1api~1v2~1cost~1tag_metadata~1tag_sources/get' response: mediaType: application/json openAPIDocKey: '200' + objectKey: $.data + request: + nativeCasing: camel sqlVerbs: select: - - $ref: >- - #/components/x-stackQL-resources/gcp_configs/methods/list_cost_gcpusage_cost_configs - insert: - - $ref: >- - #/components/x-stackQL-resources/gcp_configs/methods/create_cost_gcpusage_cost_config - update: - - $ref: >- - #/components/x-stackQL-resources/gcp_configs/methods/update_cost_gcpusage_cost_config - delete: - - $ref: >- - #/components/x-stackQL-resources/gcp_configs/methods/delete_cost_gcpusage_cost_config + - $ref: '#/components/x-stackQL-resources/tag_metadatum_tag_sources/methods/list_cost_tag_key_sources' + insert: [] + update: [] + delete: [] + replace: [] + tags: + id: datadog.cloud_costs.tags + name: tags + title: Tags + methods: + list_cost_tags: + operation: + $ref: '#/paths/~1api~1v2~1cost~1tags/get' + response: + mediaType: application/json + openAPIDocKey: '200' + objectKey: $.data + request: + nativeCasing: camel + config: + queryParamPushdown: + top: + paramName: page[size] + maxValue: 10000 + sqlVerbs: + select: + - $ref: '#/components/x-stackQL-resources/tags/methods/list_cost_tags' + insert: [] + update: [] + delete: [] replace: [] active_billing_dimensions: id: datadog.cloud_costs.active_billing_dimensions @@ -2470,13 +11434,14 @@ components: operation: $ref: '#/paths/~1api~1v2~1cost_by_tag~1active_billing_dimensions/get' response: - mediaType: application/json;datetime-format=rfc3339 + mediaType: application/json openAPIDocKey: '200' objectKey: $.data + request: + nativeCasing: camel sqlVerbs: select: - - $ref: >- - #/components/x-stackQL-resources/active_billing_dimensions/methods/get_active_billing_dimensions + - $ref: '#/components/x-stackQL-resources/active_billing_dimensions/methods/get_active_billing_dimensions' insert: [] update: [] delete: [] @@ -2490,20 +11455,129 @@ components: operation: $ref: '#/paths/~1api~1v2~1cost_by_tag~1monthly_cost_attribution/get' response: - mediaType: application/json;datetime-format=rfc3339 + mediaType: application/json + openAPIDocKey: '200' + objectKey: $.data + request: + nativeCasing: camel + sqlVerbs: + select: + - $ref: '#/components/x-stackQL-resources/monthly_cost_attribution/methods/get_monthly_cost_attribution' + insert: [] + update: [] + delete: [] + replace: [] + tag_pipeline_rulesets: + id: datadog.cloud_costs.tag_pipeline_rulesets + name: tag_pipeline_rulesets + title: Tag Pipeline Rulesets + methods: + list_tag_pipelines_rulesets: + operation: + $ref: '#/paths/~1api~1v2~1tags~1enrichment/get' + response: + mediaType: application/json + openAPIDocKey: '200' + objectKey: $.data + request: + nativeCasing: camel + create_tag_pipelines_ruleset: + config: + requestBodyTranslate: + algorithm: naive + operation: + $ref: '#/paths/~1api~1v2~1tags~1enrichment/post' + response: + mediaType: application/json + openAPIDocKey: '200' + request: + nativeCasing: camel + reorder_tag_pipelines_rulesets: + config: + requestBodyTranslate: + algorithm: naive + operation: + $ref: '#/paths/~1api~1v2~1tags~1enrichment~1reorder/post' + response: + mediaType: application/json + openAPIDocKey: '204' + request: + nativeCasing: camel + validate_query: + config: + requestBodyTranslate: + algorithm: naive + operation: + $ref: '#/paths/~1api~1v2~1tags~1enrichment~1validate-query/post' + response: + mediaType: application/json + openAPIDocKey: '200' + request: + nativeCasing: camel + delete_tag_pipelines_ruleset: + operation: + $ref: '#/paths/~1api~1v2~1tags~1enrichment~1{ruleset_id}/delete' + response: + mediaType: application/json + openAPIDocKey: '204' + request: + nativeCasing: camel + get_tag_pipelines_ruleset: + operation: + $ref: '#/paths/~1api~1v2~1tags~1enrichment~1{ruleset_id}/get' + response: + mediaType: application/json + openAPIDocKey: '200' + objectKey: $.data + request: + nativeCasing: camel + update_tag_pipelines_ruleset: + config: + requestBodyTranslate: + algorithm: naive + operation: + $ref: '#/paths/~1api~1v2~1tags~1enrichment~1{ruleset_id}/patch' + response: + mediaType: application/json + openAPIDocKey: '200' + request: + nativeCasing: camel + sqlVerbs: + select: + - $ref: '#/components/x-stackQL-resources/tag_pipeline_rulesets/methods/get_tag_pipelines_ruleset' + - $ref: '#/components/x-stackQL-resources/tag_pipeline_rulesets/methods/list_tag_pipelines_rulesets' + insert: + - $ref: '#/components/x-stackQL-resources/tag_pipeline_rulesets/methods/create_tag_pipelines_ruleset' + update: + - $ref: '#/components/x-stackQL-resources/tag_pipeline_rulesets/methods/update_tag_pipelines_ruleset' + delete: + - $ref: '#/components/x-stackQL-resources/tag_pipeline_rulesets/methods/delete_tag_pipelines_ruleset' + replace: [] + tag_pipeline_ruleset_statuses: + id: datadog.cloud_costs.tag_pipeline_ruleset_statuses + name: tag_pipeline_ruleset_statuses + title: Tag Pipeline Ruleset Statuses + methods: + list_tag_pipelines_rulesets_status: + operation: + $ref: '#/paths/~1api~1v2~1tags~1enrichment~1status/get' + response: + mediaType: application/json openAPIDocKey: '200' objectKey: $.data + request: + nativeCasing: camel sqlVerbs: select: - - $ref: >- - #/components/x-stackQL-resources/monthly_cost_attribution/methods/get_monthly_cost_attribution + - $ref: '#/components/x-stackQL-resources/tag_pipeline_ruleset_statuses/methods/list_tag_pipelines_rulesets_status' insert: [] update: [] delete: [] replace: [] servers: - - url: >- - https://{region:^(?:[^\:/]+(?:\:[0-9]+)?|[0-9]+\.[0-9]+\.[0-9]+\.[0-9]+(?:\:[0-9]+)?)$}/ + - url: https://api.{site:.+} variables: - region: + site: default: datadoghq.com + description: The Datadog site (region) for your organization, for example datadoghq.com, us3.datadoghq.com, us5.datadoghq.com, ap1.datadoghq.com, ap2.datadoghq.com, datadoghq.eu, ddog-gov.com. Resolved from the DD_SITE environment variable when set. + x-stackQL-envVar: DD_SITE diff --git a/providers/src/datadog/v00.00.00000/services/dashboards.yaml b/providers/src/datadog/v00.00.00000/services/dashboards.yaml index 681b9ca7..41bd24f2 100644 --- a/providers/src/datadog/v00.00.00000/services/dashboards.yaml +++ b/providers/src/datadog/v00.00.00000/services/dashboards.yaml @@ -1,9 +1,370 @@ openapi: 3.0.0 info: title: dashboards API - description: datadog dashboards API + description: |- + Get usage statistics for the dashboards in your organization, including view + counts, last-edit times, widget counts, and quality scores. See the + [Dashboards documentation](https://docs.datadoghq.com/dashboards/) for more + information. version: '1.0' paths: + /api/v2/annotation: + get: + description: Returns a flat list of annotations matching the given page, time window, and optional widget filter. + operationId: ListAnnotations + parameters: + - description: |- + ID of the page to list annotations for, prefixed with the page type and joined by a colon + (for example, `dashboard:abc-def-xyz` or `notebook:1234567890`). + example: dashboard:abc-def-xyz + in: query + name: page_id + required: true + schema: + type: string + - $ref: '#/components/parameters/AnnotationStartTimeQueryParameter' + - $ref: '#/components/parameters/AnnotationEndTimeQueryParameter' + - description: Optional widget ID to restrict results to annotations on a specific widget. + in: query + name: widget_id + required: false + schema: + type: string + responses: + '200': + content: + application/json: + examples: + default: + value: + data: + - attributes: + author_id: 00000000-0000-0000-0000-000000000001 + color: blue + created_at: 1704067200000 + description: Deployed v2.3.1 to production. + end_time: null + modified_at: 1704067200000 + page_id: dashboard:abc-def-xyz + start_time: 1704067200000 + type: pointInTime + widget_ids: + - '1234567890' + id: 00000000-0000-0000-0000-000000000000 + type: annotation + schema: + $ref: '#/components/schemas/AnnotationsResponse' + description: OK + '400': + content: + application/json: + schema: + $ref: '#/components/schemas/JSONAPIErrorResponse' + description: Bad Request + '403': + content: + application/json: + schema: + $ref: '#/components/schemas/JSONAPIErrorResponse' + description: Forbidden + '429': + $ref: '#/components/responses/TooManyRequestsResponse' + '500': + content: + application/json: + schema: + $ref: '#/components/schemas/JSONAPIErrorResponse' + description: Internal Server Error + security: + - apiKeyAuth: [] + appKeyAuth: [] + summary: List annotations + tags: + - Annotations + x-unstable: |- + **Note**: This endpoint is in preview and is subject to change. + If you have any feedback, contact [Datadog support](https://docs.datadoghq.com/help/). + post: + description: |- + Creates a new annotation on a dashboard or notebook page. + Valid `color` values: `gray`, `blue`, `purple`, `green`, `yellow`, `red`. + Valid `type` values: `pointInTime` (marks a single moment) or `timeRegion` (spans a range and requires `end_time`). + operationId: CreateAnnotation + requestBody: + content: + application/json: + examples: + default: + value: + data: + attributes: + color: blue + description: Deployed v2.3.1 to production. + page_id: dashboard:abc-def-xyz + start_time: 1704067200000 + type: pointInTime + widget_ids: + - '1234567890' + type: annotation + schema: + $ref: '#/components/schemas/AnnotationCreateRequest' + description: Annotation to create. + required: true + responses: + '200': + content: + application/json: + examples: + default: + value: + data: + attributes: + author_id: 00000000-0000-0000-0000-000000000001 + color: blue + created_at: 1704067200000 + description: Deployed v2.3.1 to production. + end_time: null + modified_at: 1704067200000 + page_id: dashboard:abc-def-xyz + start_time: 1704067200000 + type: pointInTime + widget_ids: + - '1234567890' + id: 00000000-0000-0000-0000-000000000000 + type: annotation + schema: + $ref: '#/components/schemas/AnnotationResponse' + description: OK + '400': + content: + application/json: + schema: + $ref: '#/components/schemas/JSONAPIErrorResponse' + description: Bad Request + '403': + content: + application/json: + schema: + $ref: '#/components/schemas/JSONAPIErrorResponse' + description: Forbidden + '429': + $ref: '#/components/responses/TooManyRequestsResponse' + '500': + content: + application/json: + schema: + $ref: '#/components/schemas/JSONAPIErrorResponse' + description: Internal Server Error + security: + - apiKeyAuth: [] + appKeyAuth: [] + summary: Create an annotation + tags: + - Annotations + x-unstable: |- + **Note**: This endpoint is in preview and is subject to change. + If you have any feedback, contact [Datadog support](https://docs.datadoghq.com/help/). + /api/v2/annotation/page/{page_id}: + get: + description: |- + Returns all annotations on a specific page for a given time window, grouped by widget. + Unlike `ListAnnotations`, this endpoint returns a single structured object with annotations + indexed by their ID and a widget-to-annotation mapping for easy UI rendering. + operationId: GetPageAnnotations + parameters: + - $ref: '#/components/parameters/AnnotationPageIDPathParameter' + - $ref: '#/components/parameters/AnnotationStartTimeQueryParameter' + - $ref: '#/components/parameters/AnnotationEndTimeQueryParameter' + responses: + '200': + content: + application/json: + examples: + default: + value: + data: + attributes: + annotations: + 00000000-0000-0000-0000-000000000000: + author_id: 00000000-0000-0000-0000-000000000001 + color: blue + created_at: 1704067200000 + description: Deployed v2.3.1 to production. + end_time: null + id: 00000000-0000-0000-0000-000000000000 + modified_at: 1704067200000 + page_id: dashboard:abc-def-xyz + start_time: 1704067200000 + type: pointInTime + widget_ids: + - '1234567890' + global_annotations: + - 00000000-0000-0000-0000-000000000002 + widget_mapping: + '1234567890': + - 00000000-0000-0000-0000-000000000000 + id: dashboard:abc-def-xyz + type: page_annotations + schema: + $ref: '#/components/schemas/PageAnnotationsResponse' + description: OK + '400': + content: + application/json: + schema: + $ref: '#/components/schemas/JSONAPIErrorResponse' + description: Bad Request + '403': + content: + application/json: + schema: + $ref: '#/components/schemas/JSONAPIErrorResponse' + description: Forbidden + '429': + $ref: '#/components/responses/TooManyRequestsResponse' + '500': + content: + application/json: + schema: + $ref: '#/components/schemas/JSONAPIErrorResponse' + description: Internal Server Error + security: + - apiKeyAuth: [] + appKeyAuth: [] + summary: Get annotations for a page + tags: + - Annotations + x-unstable: |- + **Note**: This endpoint is in preview and is subject to change. + If you have any feedback, contact [Datadog support](https://docs.datadoghq.com/help/). + /api/v2/annotation/{annotation_id}: + delete: + description: |- + Deletes an existing annotation by ID. + Returns `204 No Content` if the annotation does not exist (idempotent). + operationId: DeleteAnnotation + parameters: + - $ref: '#/components/parameters/AnnotationIDPathParameter' + responses: + '204': + description: No Content + '400': + content: + application/json: + schema: + $ref: '#/components/schemas/JSONAPIErrorResponse' + description: Bad Request + '403': + content: + application/json: + schema: + $ref: '#/components/schemas/JSONAPIErrorResponse' + description: Forbidden + '429': + $ref: '#/components/responses/TooManyRequestsResponse' + '500': + content: + application/json: + schema: + $ref: '#/components/schemas/JSONAPIErrorResponse' + description: Internal Server Error + security: + - apiKeyAuth: [] + appKeyAuth: [] + summary: Delete an annotation + tags: + - Annotations + x-unstable: |- + **Note**: This endpoint is in preview and is subject to change. + If you have any feedback, contact [Datadog support](https://docs.datadoghq.com/help/). + put: + description: |- + Updates an existing annotation. + Valid `color` values: `gray`, `blue`, `purple`, `green`, `yellow`, `red`. + Valid `type` values: `pointInTime` (marks a single moment) or `timeRegion` (spans a range and requires `end_time`). + operationId: UpdateAnnotation + parameters: + - $ref: '#/components/parameters/AnnotationIDPathParameter' + requestBody: + content: + application/json: + examples: + default: + value: + data: + attributes: + color: green + description: Deployed v2.3.1 to production (updated). + page_id: dashboard:abc-def-xyz + start_time: 1704067200000 + type: pointInTime + widget_ids: + - '1234567890' + type: annotation + schema: + $ref: '#/components/schemas/AnnotationUpdateRequest' + description: Updated annotation payload. + required: true + responses: + '200': + content: + application/json: + examples: + default: + value: + data: + attributes: + author_id: 00000000-0000-0000-0000-000000000001 + color: green + created_at: 1704067200000 + description: Deployed v2.3.1 to production (updated). + end_time: null + modified_at: 1704070800000 + page_id: dashboard:abc-def-xyz + start_time: 1704067200000 + type: pointInTime + widget_ids: + - '1234567890' + id: 00000000-0000-0000-0000-000000000000 + type: annotation + schema: + $ref: '#/components/schemas/AnnotationResponse' + description: OK + '400': + content: + application/json: + schema: + $ref: '#/components/schemas/JSONAPIErrorResponse' + description: Bad Request + '403': + content: + application/json: + schema: + $ref: '#/components/schemas/JSONAPIErrorResponse' + description: Forbidden + '404': + content: + application/json: + schema: + $ref: '#/components/schemas/JSONAPIErrorResponse' + description: Not Found + '429': + $ref: '#/components/responses/TooManyRequestsResponse' + '500': + content: + application/json: + schema: + $ref: '#/components/schemas/JSONAPIErrorResponse' + description: Internal Server Error + security: + - apiKeyAuth: [] + appKeyAuth: [] + summary: Update an annotation + tags: + - Annotations + x-unstable: |- + **Note**: This endpoint is in preview and is subject to change. + If you have any feedback, contact [Datadog support](https://docs.datadoghq.com/help/). /api/v2/dashboard/lists/manual/{dashboard_list_id}/dashboards: delete: description: Delete dashboards from an existing dashboard list. @@ -19,6 +380,12 @@ paths: requestBody: content: application/json: + examples: + default: + value: + dashboards: + - id: q5j-nti-fv6 + type: host_timeboard schema: $ref: '#/components/schemas/DashboardListDeleteItemsRequest' description: Dashboards to delete from the dashboard list. @@ -27,6 +394,12 @@ paths: '200': content: application/json: + examples: + default: + value: + deleted_dashboards_from_list: + - id: q5j-nti-fv6 + type: host_timeboard schema: $ref: '#/components/schemas/DashboardListDeleteItemsResponse' description: OK @@ -69,6 +442,13 @@ paths: '200': content: application/json: + examples: + default: + value: + dashboards: + - id: q5j-nti-fv6 + type: host_timeboard + total: 1 schema: $ref: '#/components/schemas/DashboardListItems' description: OK @@ -112,6 +492,12 @@ paths: requestBody: content: application/json: + examples: + default: + value: + dashboards: + - id: q5j-nti-fv6 + type: host_timeboard schema: $ref: '#/components/schemas/DashboardListAddItemsRequest' description: Dashboards to add to the dashboard list. @@ -120,6 +506,12 @@ paths: '200': content: application/json: + examples: + default: + value: + added_dashboards_to_list: + - id: q5j-nti-fv6 + type: host_timeboard schema: $ref: '#/components/schemas/DashboardListAddItemsResponse' description: OK @@ -161,6 +553,12 @@ paths: requestBody: content: application/json: + examples: + default: + value: + dashboards: + - id: q5j-nti-fv6 + type: host_timeboard schema: $ref: '#/components/schemas/DashboardListUpdateItemsRequest' description: New dashboards of the dashboard list. @@ -169,6 +567,12 @@ paths: '200': content: application/json: + examples: + default: + value: + dashboards: + - id: q5j-nti-fv6 + type: host_timeboard schema: $ref: '#/components/schemas/DashboardListUpdateItemsResponse' description: OK @@ -196,29 +600,78 @@ paths: tags: - Dashboard Lists x-codegen-request-body-name: body - /api/v2/powerpacks: + /api/v2/dashboard/{dashboard_id}/shared: get: - description: Get a list of all powerpacks. - operationId: ListPowerpacks + description: Retrieve shared dashboards associated with the specified dashboard. + operationId: ListSharedDashboardsByDashboardId parameters: - - description: Maximum number of powerpacks in the response. - example: 25 - in: query - name: page[limit] - required: false - schema: - default: 25 - format: int64 - maximum: 1000 - type: integer - - $ref: '#/components/parameters/PageOffset' + - $ref: '#/components/parameters/SharedDashboardDashboardIDPathParameter' responses: '200': content: application/json: + examples: + default: + value: + data: + - attributes: + created_at: '2026-01-01T00:00:00.000Z' + embeddable_domains: [] + expiration: null + global_time: + live_span: 1h + global_time_selectable: false + invitees: + - access_expiration: null + created_at: '2026-01-01T00:00:00.000Z' + email: jane.doe@example.com + last_accessed: null + selectable_template_vars: [] + share_type: invite + sharer_disabled: false + status: active + title: Q1 Metrics Dashboard + token: abc-123-token + url: https://p.datadoghq.com/sb/abc-123-token + viewing_preferences: + high_density: false + theme: system + id: '12345' + relationships: + dashboard: + data: + id: abc-def-ghi + type: dashboard + sharer: + data: + id: 00000000-0000-0000-0000-000000000000 + type: user + type: shared_dashboard + included: + - attributes: + title: Q1 Metrics Dashboard + id: abc-def-ghi + type: dashboard + - attributes: + handle: jane.doe@example.com + name: Jane Doe + id: 00000000-0000-0000-0000-000000000000 + type: user schema: - $ref: '#/components/schemas/ListPowerpacksResponse' + $ref: '#/components/schemas/ListSharedDashboardsResponse' description: OK + '403': + content: + application/json: + schema: + $ref: '#/components/schemas/JSONAPIErrorResponse' + description: Forbidden + '404': + content: + application/json: + schema: + $ref: '#/components/schemas/JSONAPIErrorResponse' + description: Dashboard Not Found '429': $ref: '#/components/responses/TooManyRequestsResponse' security: @@ -226,112 +679,185 @@ paths: appKeyAuth: [] - AuthZ: - dashboards_read - summary: Get all powerpacks + summary: List shared dashboards for a dashboard tags: - - Powerpack - x-pagination: - limitParam: page[limit] - pageOffsetParam: page[offset] - resultsPath: data + - Dashboard Sharing x-permission: operator: OR permissions: - dashboards_read + x-unstable: |- + **Note**: This endpoint is in preview and is subject to change. + If you have any feedback, contact [Datadog support](https://docs.datadoghq.com/help/). + /api/v2/dashboard/{dashboard_id}/shared/secure-embed: post: - description: Create a powerpack. - operationId: CreatePowerpack + description: Create a secure embed share for a dashboard. The response includes a one-time `credential` used for HMAC-SHA256 signing. Store it securely — it cannot be retrieved again. + operationId: CreateDashboardSecureEmbed + parameters: + - $ref: '#/components/parameters/DashboardIDPathParameter' requestBody: content: application/json: + examples: + default: + value: + data: + attributes: + global_time: + live_span: 1h + global_time_selectable: true + selectable_template_vars: + - default_values: + - '1' + name: org_id + prefix: org_id + visible_tags: + - '1' + status: active + title: Q1 Metrics Dashboard + viewing_preferences: + high_density: false + theme: system + type: secure_embed_request schema: - $ref: '#/components/schemas/Powerpack' - description: Create a powerpack request body. + $ref: '#/components/schemas/SecureEmbedCreateRequest' + description: Secure embed creation request body. required: true responses: '200': content: application/json: + examples: + default: + value: + data: + attributes: + created_at: '2024-01-01T00:00:00+00:00' + credential: example-credential-value + dashboard_id: abc-def-ghi + global_time_selectable: true + id: '12345' + share_type: secure_embed + status: active + title: Q1 Metrics Dashboard + token: abc-123-token + url: https://p.datadoghq.com/sb/secure-embed/abc-123-token + id: '12345' + type: secure_embed_create_response schema: - $ref: '#/components/schemas/PowerpackResponse' + $ref: '#/components/schemas/SecureEmbedCreateResponse' description: OK - '400': + '403': content: application/json: schema: - $ref: '#/components/schemas/APIErrorResponse' - description: Bad Request + $ref: '#/components/schemas/JSONAPIErrorResponse' + description: Forbidden + '404': + content: + application/json: + schema: + $ref: '#/components/schemas/JSONAPIErrorResponse' + description: Dashboard Not Found + '409': + content: + application/json: + schema: + $ref: '#/components/schemas/JSONAPIErrorResponse' + description: Conflict — max 1000 share URLs per dashboard exceeded '429': $ref: '#/components/responses/TooManyRequestsResponse' security: - apiKeyAuth: [] appKeyAuth: [] - AuthZ: - - dashboards_write - summary: Create a new powerpack + - dashboards_embed_share + summary: Create a secure embed for a dashboard tags: - - Powerpack + - Dashboard Secure Embed x-codegen-request-body-name: body x-permission: operator: OR permissions: - - dashboards_write - /api/v2/powerpacks/{powerpack_id}: + - dashboards_embed_share + x-unstable: |- + **Note**: This endpoint is in preview and is subject to change. + If you have any feedback, contact [Datadog support](https://docs.datadoghq.com/help/). + /api/v2/dashboard/{dashboard_id}/shared/secure-embed/{token}: delete: - description: Delete a powerpack. - operationId: DeletePowerpack + description: Delete a secure embed share for a dashboard. + operationId: DeleteDashboardSecureEmbed parameters: - - description: Powerpack id - in: path - name: powerpack_id - required: true - schema: - type: string + - $ref: '#/components/parameters/DashboardIDPathParameter' + - $ref: '#/components/parameters/SecureEmbedTokenPathParameter' responses: '204': - description: OK + description: No Content + '403': + content: + application/json: + schema: + $ref: '#/components/schemas/JSONAPIErrorResponse' + description: Forbidden '404': content: application/json: schema: - $ref: '#/components/schemas/APIErrorResponse' - description: Powerpack Not Found + $ref: '#/components/schemas/JSONAPIErrorResponse' + description: Not Found '429': $ref: '#/components/responses/TooManyRequestsResponse' security: - apiKeyAuth: [] appKeyAuth: [] - AuthZ: - - dashboards_write - summary: Delete a powerpack + - dashboards_embed_share + summary: Delete a secure embed for a dashboard tags: - - Powerpack + - Dashboard Secure Embed x-permission: operator: OR permissions: - - dashboards_write + - dashboards_embed_share + x-unstable: |- + **Note**: This endpoint is in preview and is subject to change. + If you have any feedback, contact [Datadog support](https://docs.datadoghq.com/help/). get: - description: Get a powerpack. - operationId: GetPowerpack + description: Retrieve an existing secure embed configuration for a dashboard. + operationId: GetDashboardSecureEmbed parameters: - - description: ID of the powerpack. - in: path - name: powerpack_id - required: true - schema: - type: string + - $ref: '#/components/parameters/DashboardIDPathParameter' + - $ref: '#/components/parameters/SecureEmbedTokenPathParameter' responses: '200': content: application/json: + examples: + default: + value: + data: + attributes: + created_at: '2024-01-01T00:00:00+00:00' + credential_suffix: ab3f + dashboard_id: abc-def-ghi + global_time_selectable: true + id: '12345' + share_type: secure_embed + status: active + title: Q1 Metrics Dashboard + token: abc-123-token + url: https://p.datadoghq.com/sb/secure-embed/abc-123-token + id: '12345' + type: secure_embed_get_response schema: - $ref: '#/components/schemas/PowerpackResponse' + $ref: '#/components/schemas/SecureEmbedGetResponse' description: OK '404': content: application/json: schema: - $ref: '#/components/schemas/APIErrorResponse' - description: Powerpack Not Found. + $ref: '#/components/schemas/JSONAPIErrorResponse' + description: Not Found '429': $ref: '#/components/responses/TooManyRequestsResponse' security: @@ -339,43 +865,445 @@ paths: appKeyAuth: [] - AuthZ: - dashboards_read - summary: Get a Powerpack + summary: Get a secure embed for a dashboard tags: - - Powerpack + - Dashboard Secure Embed x-permission: operator: OR permissions: - dashboards_read + x-unstable: |- + **Note**: This endpoint is in preview and is subject to change. + If you have any feedback, contact [Datadog support](https://docs.datadoghq.com/help/). patch: - description: Update a powerpack. - operationId: UpdatePowerpack + description: Partially update a secure embed configuration. All fields are optional (PATCH semantics). + operationId: UpdateDashboardSecureEmbed parameters: - - description: ID of the powerpack. - in: path - name: powerpack_id - required: true - schema: - type: string + - $ref: '#/components/parameters/DashboardIDPathParameter' + - $ref: '#/components/parameters/SecureEmbedTokenPathParameter' requestBody: content: application/json: + examples: + default: + value: + data: + attributes: + status: active + title: Q1 Metrics Dashboard (Updated) + type: secure_embed_update_request schema: - $ref: '#/components/schemas/Powerpack' - description: Update a powerpack request body. + $ref: '#/components/schemas/SecureEmbedUpdateRequest' + description: Secure embed update request body. required: true responses: '200': content: application/json: + examples: + default: + value: + data: + attributes: + created_at: '2024-01-01T00:00:00+00:00' + credential_suffix: ab3f + dashboard_id: abc-def-ghi + global_time_selectable: true + id: '12345' + share_type: secure_embed + status: active + title: Q1 Metrics Dashboard (Updated) + token: abc-123-token + url: https://p.datadoghq.com/sb/secure-embed/abc-123-token + id: '12345' + type: secure_embed_update_response schema: - $ref: '#/components/schemas/PowerpackResponse' + $ref: '#/components/schemas/SecureEmbedUpdateResponse' description: OK - '400': + '403': content: application/json: schema: - $ref: '#/components/schemas/APIErrorResponse' - description: Bad Request + $ref: '#/components/schemas/JSONAPIErrorResponse' + description: Forbidden + '404': + content: + application/json: + schema: + $ref: '#/components/schemas/JSONAPIErrorResponse' + description: Not Found + '429': + $ref: '#/components/responses/TooManyRequestsResponse' + security: + - apiKeyAuth: [] + appKeyAuth: [] + - AuthZ: + - dashboards_embed_share + summary: Update a secure embed for a dashboard + tags: + - Dashboard Secure Embed + x-codegen-request-body-name: body + x-permission: + operator: OR + permissions: + - dashboards_embed_share + x-unstable: |- + **Note**: This endpoint is in preview and is subject to change. + If you have any feedback, contact [Datadog support](https://docs.datadoghq.com/help/). + /api/v2/dashboards/usage: + get: + description: Get paginated usage statistics for every dashboard in the caller's organization. Use `page[limit]` and `page[offset]` to walk the result set. Use `filter[edited_before]` or `filter[viewed_before]` to narrow results by edit or view date. View-count fields depend on Real User Monitoring (RUM) and are `null` or `0` in orgs without RUM. **View counts are refreshed once per day** and **only reflect views recorded starting January 2025**; views prior to that date are not included. + operationId: ListDashboardsUsage + parameters: + - description: Maximum number of dashboards to return per page. Server-side maximum is 500; values above 500 return a 400 Bad Request. + in: query + name: page[limit] + required: false + schema: + default: 250 + format: int64 + type: integer + - description: Zero-based offset into the result set. + in: query + name: page[offset] + required: false + schema: + default: 0 + format: int64 + minimum: 0 + type: integer + - description: Return only dashboards whose last edit (`edited_at`) is strictly before this ISO 8601 timestamp (`edited_at < value`; boundary matches are excluded). Must include a timezone offset (for example, `Z` or `+00:00`); naive timestamps return HTTP 400. + in: query + name: filter[edited_before] + required: false + schema: + example: '2025-04-26T00:00:00Z' + type: string + - description: Return only dashboards whose most recent view (`viewed_at`) is strictly before this ISO 8601 timestamp, including dashboards that have never been viewed. Must include a timezone offset; naive timestamps return HTTP 400. Orgs without Real User Monitoring (RUM) will see all dashboards returned by this filter. + in: query + name: filter[viewed_before] + required: false + schema: + example: '2025-04-26T00:00:00Z' + type: string + responses: + '200': + content: + application/json: + examples: + default: + value: + data: + - attributes: + author: + handle: jane.doe@example.com + id: 00000000-0000-0000-0000-000000000000 + is_disabled: false + name: Jane Doe + created_at: '2026-01-15T09:30:00.000Z' + dashboard_quality_score: 0.85 + edited_at: '2026-04-20T11:05:00.000Z' + org_id: 100 + teams: + - sre + title: My production overview + total_views: 42 + total_views_by_type: + embed: 12 + in_app: 30 + viewed_at: '2026-05-01T14:22:10.000Z' + viewer: + handle: john.smith@example.com + id: 00000000-0000-0000-0000-000000000001 + is_disabled: false + name: John Smith + widget_count: 12 + widget_count_by_type: + query_value: 4 + timeseries: 8 + id: q5j-nti-fv6 + type: dashboards-usages + links: + first: https://api.datadoghq.com/api/v2/dashboards/usage?page[offset]=0&page[limit]=250 + last: https://api.datadoghq.com/api/v2/dashboards/usage?page[offset]=1000&page[limit]=250 + next: https://api.datadoghq.com/api/v2/dashboards/usage?page[offset]=250&page[limit]=250 + self: https://api.datadoghq.com/api/v2/dashboards/usage + meta: + page: + first_offset: 0 + last_offset: 1000 + limit: 250 + next_offset: 250 + offset: 0 + prev_offset: null + total: 1234 + type: offset_limit + schema: + $ref: '#/components/schemas/ListDashboardsUsageResponse' + description: OK + '400': + $ref: '#/components/responses/BadRequestResponse' + '403': + $ref: '#/components/responses/ForbiddenResponse' + '429': + $ref: '#/components/responses/TooManyRequestsResponse' + security: + - apiKeyAuth: [] + appKeyAuth: [] + - AuthZ: + - dashboards_read + summary: Get usage stats for all dashboards + tags: + - Dashboards + x-pagination: + limitParam: page[limit] + pageOffsetParam: page[offset] + resultsPath: data + x-permission: + operator: OR + permissions: + - dashboards_read + x-unstable: |- + **Note**: This endpoint is in preview and is subject to change. + If you have any feedback, contact [Datadog support](https://docs.datadoghq.com/help/). + /api/v2/dashboards/{dashboard_id}/usage: + get: + description: Get usage statistics for a single dashboard. The response includes view counts, the most recent view and edit times, widget counts, and the dashboard quality score. View-count fields depend on Real User Monitoring (RUM) and are `null` or `0` in orgs without RUM. **View counts are refreshed once per day** and **only reflect views recorded starting January 2025**; views prior to that date are not included. + operationId: GetDashboardUsage + parameters: + - description: The ID of the dashboard. + in: path + name: dashboard_id + required: true + schema: + example: q5j-nti-fv6 + type: string + responses: + '200': + content: + application/json: + examples: + default: + value: + data: + attributes: + author: + handle: jane.doe + id: 00000000-0000-0000-0000-000000000000 + is_disabled: false + name: Jane Doe + created_at: '2026-01-15T09:30:00.000Z' + dashboard_quality_score: 0.85 + edited_at: '2026-04-20T11:05:00.000Z' + org_id: 100 + teams: + - sre + title: My production overview + total_views: 42 + total_views_by_type: + embed: 12 + in_app: 30 + viewed_at: '2026-05-01T14:22:10.000Z' + viewer: + handle: john.smith + id: 00000000-0000-0000-0000-000000000001 + is_disabled: false + name: John Smith + widget_count: 12 + widget_count_by_type: + query_value: 4 + timeseries: 8 + id: q5j-nti-fv6 + type: dashboards-usages + schema: + $ref: '#/components/schemas/DashboardUsageResponse' + description: OK + '400': + $ref: '#/components/responses/BadRequestResponse' + '403': + $ref: '#/components/responses/ForbiddenResponse' + '404': + $ref: '#/components/responses/NotFoundResponse' + '429': + $ref: '#/components/responses/TooManyRequestsResponse' + security: + - apiKeyAuth: [] + appKeyAuth: [] + - AuthZ: + - dashboards_read + summary: Get usage stats for a dashboard + tags: + - Dashboards + x-permission: + operator: OR + permissions: + - dashboards_read + x-unstable: |- + **Note**: This endpoint is in preview and is subject to change. + If you have any feedback, contact [Datadog support](https://docs.datadoghq.com/help/). + /api/v2/powerpacks: + get: + description: Get a list of all powerpacks. + operationId: ListPowerpacks + parameters: + - description: Maximum number of powerpacks in the response. + example: 25 + in: query + name: page[limit] + required: false + schema: + default: 25 + format: int64 + maximum: 1000 + type: integer + - $ref: '#/components/parameters/PageOffset' + responses: + '200': + content: + application/json: + examples: + default: + value: + data: + - attributes: + description: Powerpack for ABC + group_widget: + definition: + layout_type: ordered + type: group + widgets: + - definition: + content: example + type: note + layout: + height: 5 + width: 10 + x: 0 + 'y': 0 + name: Sample Powerpack + tags: + - tag:foo1 + id: 00000000-0000-0000-0000-000000000001 + type: powerpack + schema: + $ref: '#/components/schemas/ListPowerpacksResponse' + description: OK + '429': + $ref: '#/components/responses/TooManyRequestsResponse' + security: + - apiKeyAuth: [] + appKeyAuth: [] + - AuthZ: + - dashboards_read + summary: Get all powerpacks + tags: + - Powerpack + x-pagination: + limitParam: page[limit] + pageOffsetParam: page[offset] + resultsPath: data + x-permission: + operator: OR + permissions: + - dashboards_read + post: + description: Create a powerpack. + operationId: CreatePowerpack + requestBody: + content: + application/json: + examples: + default: + value: + data: + attributes: + description: Powerpack for ABC + group_widget: + definition: + layout_type: ordered + show_title: true + title: Sample Powerpack + type: group + widgets: + - definition: + content: example + type: note + layout: + height: 5 + width: 10 + x: 0 + 'y': 0 + layout: + height: 0 + width: 0 + x: 0 + 'y': 0 + live_span: 5m + name: Sample Powerpack + tags: + - tag:foo1 + template_variables: + - defaults: + - '*' + name: test + relationships: + author: + data: + id: 00000000-0000-0000-2345-000000000000 + type: users + type: powerpack + schema: + $ref: '#/components/schemas/Powerpack' + description: Create a powerpack request body. + required: true + responses: + '200': + content: + application/json: + examples: + default: + value: + data: + id: 00000000-0000-0000-0000-000000000002 + type: powerpack + schema: + $ref: '#/components/schemas/PowerpackResponse' + description: OK + '400': + content: + application/json: + schema: + $ref: '#/components/schemas/APIErrorResponse' + description: Bad Request + '429': + $ref: '#/components/responses/TooManyRequestsResponse' + security: + - apiKeyAuth: [] + appKeyAuth: [] + - AuthZ: + - dashboards_write + summary: Create a new powerpack + tags: + - Powerpack + x-codegen-request-body-name: body + x-permission: + operator: OR + permissions: + - dashboards_write + /api/v2/powerpacks/{powerpack_id}: + delete: + description: Delete a powerpack. + operationId: DeletePowerpack + parameters: + - description: Powerpack id + in: path + name: powerpack_id + required: true + schema: + type: string + responses: + '204': + description: OK '404': content: application/json: @@ -389,790 +1317,18413 @@ paths: appKeyAuth: [] - AuthZ: - dashboards_write - summary: Update a powerpack + summary: Delete a powerpack tags: - Powerpack - x-codegen-request-body-name: body x-permission: operator: OR permissions: - dashboards_write -components: - schemas: - DashboardListDeleteItemsRequest: - description: Request containing a list of dashboards to delete. - properties: - dashboards: - description: List of dashboards to delete from the dashboard list. + get: + description: Get a powerpack. + operationId: GetPowerpack + parameters: + - description: ID of the powerpack. + in: path + name: powerpack_id + required: true + schema: + type: string + responses: + '200': + content: + application/json: + examples: + default: + value: + data: + attributes: + description: Powerpack for ABC + group_widget: + definition: + layout_type: ordered + type: group + widgets: + - definition: + content: example + type: note + layout: + height: 5 + width: 10 + x: 0 + 'y': 0 + name: Sample Powerpack + tags: + - tag:foo1 + id: 00000000-0000-0000-0000-000000000003 + type: powerpack + schema: + $ref: '#/components/schemas/PowerpackResponse' + description: OK + '404': + content: + application/json: + schema: + $ref: '#/components/schemas/APIErrorResponse' + description: Powerpack Not Found. + '429': + $ref: '#/components/responses/TooManyRequestsResponse' + security: + - apiKeyAuth: [] + appKeyAuth: [] + - AuthZ: + - dashboards_read + summary: Get a Powerpack + tags: + - Powerpack + x-permission: + operator: OR + permissions: + - dashboards_read + patch: + description: Update a powerpack. + operationId: UpdatePowerpack + parameters: + - description: ID of the powerpack. + in: path + name: powerpack_id + required: true + schema: + type: string + requestBody: + content: + application/json: + examples: + default: + value: + data: + attributes: + description: Powerpack for ABC + group_widget: + definition: + layout_type: ordered + show_title: true + title: Sample Powerpack + type: group + widgets: + - definition: + content: example + type: note + layout: + height: 5 + width: 10 + x: 0 + 'y': 0 + layout: + height: 0 + width: 0 + x: 0 + 'y': 0 + live_span: 5m + name: Sample Powerpack + tags: + - tag:foo1 + template_variables: + - defaults: + - '*' + name: test + relationships: + author: + data: + id: 00000000-0000-0000-2345-000000000000 + type: users + type: powerpack + schema: + $ref: '#/components/schemas/Powerpack' + description: Update a powerpack request body. + required: true + responses: + '200': + content: + application/json: + examples: + default: + value: + data: + attributes: + description: Powerpack for ABC + group_widget: + definition: + layout_type: ordered + type: group + widgets: + - definition: + content: example + type: note + layout: + height: 5 + width: 10 + x: 0 + 'y': 0 + name: Sample Powerpack + tags: + - tag:foo1 + id: 00000000-0000-0000-0000-000000000004 + type: powerpack + schema: + $ref: '#/components/schemas/PowerpackResponse' + description: OK + '400': + content: + application/json: + schema: + $ref: '#/components/schemas/APIErrorResponse' + description: Bad Request + '404': + content: + application/json: + schema: + $ref: '#/components/schemas/APIErrorResponse' + description: Powerpack Not Found + '429': + $ref: '#/components/responses/TooManyRequestsResponse' + security: + - apiKeyAuth: [] + appKeyAuth: [] + - AuthZ: + - dashboards_write + summary: Update a powerpack + tags: + - Powerpack + x-codegen-request-body-name: body + x-permission: + operator: OR + permissions: + - dashboards_write + /api/v2/reporting/dataset/{dataset_id}/schedules: + get: + description: |- + Retrieve all report schedules for a given published dataset. + Returns report schedules belonging to the authenticated user's organization that target the specified dataset. + Requires the `generate_log_reports` or `manage_log_reports` permission. + operationId: ListDatasetReportSchedules + parameters: + - description: The identifier of the published dataset to retrieve report schedules for. + example: MW5vdGVib29rX2NlbGw6ZDI0ZTM2MWMtZDFlNC00NDYwLWIyOWUtNTg3YTczMzA3MDFm + in: path + name: dataset_id + required: true + schema: + type: string + responses: + '200': + content: + application/json: + examples: + default: + value: + data: + - attributes: + cell_id: sevhjcis + dataset_id: MW5vdGVib29rX2NlbGw6ZDI0ZTM2MWMtZDFlNC00NDYwLWIyOWUtNTg3YTczMzA3MDFm + description: This is a scheduled notebook dataset report. + file_row_limit: 5000 + inline_row_limit: 10 + next_recurrence: 1725859200000 + notebook_id: 1 + recipients: + - test@datadoghq.com + resource_id: aaaabbbb-1111-2222-3333-444455556666 + resource_type: widget_dataset_list + rrule: |- + DTSTART;TZID=America/New_York:20240912T090000 + RRULE:FREQ=DAILY;BYHOUR=9;BYMINUTE=0 + status: active + timeframe: calendar_day + timezone: America/New_York + title: My Cool Dataset Report + id: e1234567-1234-1234-1234-123456789012 + relationships: + author: + data: + id: aaaaaaaa-bbbb-cccc-dddd-eeeeeeeeeeee + type: users + type: schedule + included: + - attributes: + email: user@example.com + name: Example User + id: aaaaaaaa-bbbb-cccc-dddd-eeeeeeeeeeee + type: users + schema: + $ref: '#/components/schemas/DatasetReportScheduleListResponse' + description: OK + '400': + content: + application/json: + schema: + $ref: '#/components/schemas/JSONAPIErrorResponse' + description: Bad Request + '403': + content: + application/json: + schema: + $ref: '#/components/schemas/JSONAPIErrorResponse' + description: Forbidden + '404': + content: + application/json: + schema: + $ref: '#/components/schemas/JSONAPIErrorResponse' + description: Not Found + '429': + $ref: '#/components/responses/TooManyRequestsResponse' + summary: List dataset report schedules + tags: + - Report Schedules + /api/v2/reporting/print: + post: + description: |- + Initiate a one-off, print-only report for a dashboard or integration dashboard. + The report is rendered as a PDF and made available for download through the URL returned in the response. + Requires a reporting permission appropriate to the targeted resource type. + operationId: PrintReport + requestBody: + content: + application/json: + examples: + default: + value: + data: + attributes: + resource_id: abc-def-ghi + resource_type: dashboard + template_variables: + - name: env + values: + - prod + timeframe: 1w + timezone: America/New_York + type: report + schema: + $ref: '#/components/schemas/PrintReportRequest' + required: true + responses: + '200': + content: + application/json: + examples: + default: + value: + data: + attributes: + download_url: https://app.datadoghq.com/... + from_ts: 1780318800000 + resource_id: abc-def-ghi + resource_type: dashboard + template_variables: + - name: env + values: + - prod + timeframe: 1w + timezone: America/New_York + to_ts: 1780923600000 + id: 11111111-2222-3333-4444-555555555555 + type: report + schema: + $ref: '#/components/schemas/PrintReportResponse' + description: OK + '400': + content: + application/json: + schema: + $ref: '#/components/schemas/JSONAPIErrorResponse' + description: Bad Request + '403': + content: + application/json: + schema: + $ref: '#/components/schemas/JSONAPIErrorResponse' + description: Forbidden + '404': + content: + application/json: + schema: + $ref: '#/components/schemas/JSONAPIErrorResponse' + description: Not Found + '422': + content: + application/json: + schema: + $ref: '#/components/schemas/JSONAPIErrorResponse' + description: Unprocessable Entity + '429': + $ref: '#/components/responses/TooManyRequestsResponse' + summary: Print a report + tags: + - Report Schedules + x-codegen-request-body-name: body + /api/v2/reporting/schedule: + post: + description: |- + Create a new scheduled report. A schedule renders a dashboard or integration dashboard + on a recurring cadence and delivers it to the configured recipients over email, Slack, + or Microsoft Teams. + Requires the `generate_dashboard_reports` permission. + operationId: CreateReportSchedule + requestBody: + content: + application/json: + examples: + default: + value: + data: + attributes: + delivery_format: pdf + description: Weekly summary of infrastructure health. + recipients: + - user@example.com + - slack:T01234567.C01234567.alerts + - teams:11111111-1111-1111-1111-111111111111|22222222-2222-2222-2222-222222222222|19:exampleChannelId@thread.tacv2 + resource_id: abc-def-ghi + resource_type: dashboard + rrule: |- + DTSTART;TZID=America/New_York:20260601T090000 + RRULE:FREQ=WEEKLY;BYDAY=MO;BYHOUR=9;BYMINUTE=0 + template_variables: + - name: env + values: + - prod + timeframe: 1w + timezone: America/New_York + title: Weekly Infrastructure Report + type: schedule + schema: + $ref: '#/components/schemas/ReportScheduleCreateRequest' + required: true + responses: + '201': + content: + application/json: + examples: + default: + value: + data: + attributes: + delivery_format: pdf + description: Weekly summary of infrastructure health. + next_recurrence: 1780923600000 + recipients: + - user@example.com + - slack:T01234567.C01234567.alerts + - teams:11111111-1111-1111-1111-111111111111|22222222-2222-2222-2222-222222222222|19:exampleChannelId@thread.tacv2 + resource_id: abc-def-ghi + resource_type: dashboard + rrule: |- + DTSTART;TZID=America/New_York:20260601T090000 + RRULE:FREQ=WEEKLY;BYDAY=MO;BYHOUR=9;BYMINUTE=0 + status: active + tab_id: 66666666-7777-8888-9999-000000000000 + template_variables: + - name: env + values: + - prod + timeframe: 1w + timezone: America/New_York + title: Weekly Infrastructure Report + id: 11111111-2222-3333-4444-555555555555 + relationships: + author: + data: + id: aaaaaaaa-bbbb-cccc-dddd-eeeeeeeeeeee + type: users + type: schedule + included: + - attributes: + email: user@example.com + name: Example User + id: aaaaaaaa-bbbb-cccc-dddd-eeeeeeeeeeee + type: users + schema: + $ref: '#/components/schemas/ReportScheduleResponse' + description: CREATED + '400': + content: + application/json: + schema: + $ref: '#/components/schemas/JSONAPIErrorResponse' + description: Bad Request + '403': + content: + application/json: + schema: + $ref: '#/components/schemas/JSONAPIErrorResponse' + description: Forbidden + '404': + content: + application/json: + schema: + $ref: '#/components/schemas/JSONAPIErrorResponse' + description: Not Found + '429': + $ref: '#/components/responses/TooManyRequestsResponse' + summary: Create a report schedule + tags: + - Report Schedules + x-codegen-request-body-name: body + x-unstable: |- + **Note**: This endpoint is in preview and is subject to change. + If you have any feedback, contact [Datadog support](https://docs.datadoghq.com/help/). + /api/v2/reporting/schedule/list: + get: + description: |- + List dashboard and integration dashboard report schedules for the organization. + The response is paginated and can be filtered by title, author UUID, or recipients. + Requires the `generate_dashboard_reports` permission. + operationId: ListReportSchedules + parameters: + - description: The maximum number of schedules to return. The maximum value is 50. + example: 25 + in: query + name: page[limit] + required: false + schema: + default: 25 + format: int64 + maximum: 50 + minimum: 1 + type: integer + - description: The offset from which to start returning schedules. + example: 0 + in: query + name: page[offset] + required: false + schema: + default: 0 + format: int64 + minimum: 0 + type: integer + - description: Filter schedules by report title. + example: Weekly + in: query + name: filter[title] + required: false + schema: + type: string + - description: Filter schedules by author UUID. + example: aaaaaaaa-bbbb-cccc-dddd-eeeeeeeeeeee + in: query + name: filter[author_uuid] + required: false + schema: + format: uuid + type: string + - description: Filter schedules by a comma-separated list of recipients. + example: user@example.com,team@example.com + in: query + name: filter[recipients] + required: false + schema: + type: string + responses: + '200': + content: + application/json: + examples: + default: + value: + data: + - attributes: + delivery_format: pdf + description: Weekly summary of infrastructure health. + next_recurrence: 1780923600000 + recipients: + - user@example.com + resource_id: abc-def-ghi + resource_type: dashboard + rrule: |- + DTSTART;TZID=America/New_York:20260601T090000 + RRULE:FREQ=WEEKLY;BYDAY=MO;BYHOUR=9;BYMINUTE=0 + status: active + template_variables: + - name: env + values: + - prod + timeframe: 1w + timezone: America/New_York + title: Weekly Infrastructure Report + id: 11111111-2222-3333-4444-555555555555 + relationships: + author: + data: + id: aaaaaaaa-bbbb-cccc-dddd-eeeeeeeeeeee + type: users + resource: + data: + id: abc-def-ghi + type: resource + type: schedule + included: + - attributes: + email: user@example.com + name: Example User + id: aaaaaaaa-bbbb-cccc-dddd-eeeeeeeeeeee + type: users + - attributes: + resource_type: dashboard + template_variables: + - available_values: + - prod + - staging + defaults: + - prod + name: env + prefix: env + title: Infrastructure Overview + id: abc-def-ghi + type: resource + links: + first: https://api.datadoghq.com/api/v2/reporting/schedule/list?page[offset]=0&page[limit]=25 + last: null + next: https://api.datadoghq.com/api/v2/reporting/schedule/list?page[offset]=25&page[limit]=25 + prev: null + self: https://api.datadoghq.com/api/v2/reporting/schedule/list?page[limit]=25 + meta: + pagination: + first_offset: 0 + last_offset: 0 + limit: 25 + next_offset: 25 + offset: 0 + prev_offset: 0 + total: 1 + type: offset_limit + schema: + $ref: '#/components/schemas/ReportScheduleListResponse' + description: OK + '400': + content: + application/json: + schema: + $ref: '#/components/schemas/JSONAPIErrorResponse' + description: Bad Request + '403': + content: + application/json: + schema: + $ref: '#/components/schemas/JSONAPIErrorResponse' + description: Forbidden + '404': + content: + application/json: + schema: + $ref: '#/components/schemas/JSONAPIErrorResponse' + description: Not Found + '429': + $ref: '#/components/responses/TooManyRequestsResponse' + summary: List report schedules + tags: + - Report Schedules + /api/v2/reporting/schedule/{resource_type}/{resource_id}: + get: + description: |- + Get all report schedules that target a dashboard or integration dashboard resource. + Requires a reporting read permission appropriate to the targeted resource type. + operationId: GetReportSchedulesForResource + parameters: + - description: The type of resource to fetch report schedules for. + example: dashboard + in: path + name: resource_type + required: true + schema: + $ref: '#/components/schemas/ReportScheduleResourceType' + - description: The identifier of the resource to fetch report schedules for. + example: abc-def-ghi + in: path + name: resource_id + required: true + schema: + type: string + responses: + '200': + content: + application/json: + examples: + default: + value: + data: + - attributes: + delivery_format: pdf + description: Weekly summary of infrastructure health. + next_recurrence: 1780923600000 + recipients: + - user@example.com + resource_id: abc-def-ghi + resource_type: dashboard + rrule: |- + DTSTART;TZID=America/New_York:20260601T090000 + RRULE:FREQ=WEEKLY;BYDAY=MO;BYHOUR=9;BYMINUTE=0 + status: active + tab_id: 66666666-7777-8888-9999-000000000000 + template_variables: + - name: env + values: + - prod + timeframe: 1w + timezone: America/New_York + title: Weekly Infrastructure Report + id: 11111111-2222-3333-4444-555555555555 + type: schedule + included: + - attributes: + email: user@example.com + name: Example User + id: aaaaaaaa-bbbb-cccc-dddd-eeeeeeeeeeee + type: users + schema: + $ref: '#/components/schemas/ReportScheduleListResponse' + description: OK + '400': + content: + application/json: + schema: + $ref: '#/components/schemas/JSONAPIErrorResponse' + description: Bad Request + '403': + content: + application/json: + schema: + $ref: '#/components/schemas/JSONAPIErrorResponse' + description: Forbidden + '404': + content: + application/json: + schema: + $ref: '#/components/schemas/JSONAPIErrorResponse' + description: Not Found + '429': + $ref: '#/components/responses/TooManyRequestsResponse' + summary: Get report schedules for a resource + tags: + - Report Schedules + /api/v2/reporting/schedule/{schedule_uuid}: + delete: + description: |- + Delete a report schedule by its unique identifier. The response returns the deleted schedule. + Requires a reporting write permission appropriate to the targeted resource type and schedule ownership. + operationId: DeleteReportSchedule + parameters: + - description: The unique identifier of the report schedule to delete. + example: 11111111-2222-3333-4444-555555555555 + in: path + name: schedule_uuid + required: true + schema: + format: uuid + type: string + responses: + '200': + content: + application/json: + examples: + default: + value: + data: + attributes: + delivery_format: pdf + description: Weekly summary of infrastructure health. + next_recurrence: 1780923600000 + recipients: + - user@example.com + resource_id: abc-def-ghi + resource_type: dashboard + rrule: |- + DTSTART;TZID=America/New_York:20260601T090000 + RRULE:FREQ=WEEKLY;BYDAY=MO;BYHOUR=9;BYMINUTE=0 + status: inactive + tab_id: 66666666-7777-8888-9999-000000000000 + template_variables: + - name: env + values: + - prod + timeframe: 1w + timezone: America/New_York + title: Weekly Infrastructure Report + id: 11111111-2222-3333-4444-555555555555 + type: schedule + included: + - attributes: + email: user@example.com + name: Example User + id: aaaaaaaa-bbbb-cccc-dddd-eeeeeeeeeeee + type: users + schema: + $ref: '#/components/schemas/ReportScheduleResponse' + description: OK + '400': + content: + application/json: + schema: + $ref: '#/components/schemas/JSONAPIErrorResponse' + description: Bad Request + '403': + content: + application/json: + schema: + $ref: '#/components/schemas/JSONAPIErrorResponse' + description: Forbidden + '404': + content: + application/json: + schema: + $ref: '#/components/schemas/JSONAPIErrorResponse' + description: Not Found + '429': + $ref: '#/components/responses/TooManyRequestsResponse' + summary: Delete a report schedule + tags: + - Report Schedules + get: + description: |- + Get a report schedule by its unique identifier. + Requires a reporting read permission appropriate to the targeted resource type. + operationId: GetReportSchedule + parameters: + - description: The unique identifier of the report schedule to fetch. + example: 11111111-2222-3333-4444-555555555555 + in: path + name: schedule_uuid + required: true + schema: + format: uuid + type: string + responses: + '200': + content: + application/json: + examples: + default: + value: + data: + attributes: + delivery_format: pdf + description: Weekly summary of infrastructure health. + next_recurrence: 1780923600000 + recipients: + - user@example.com + resource_id: abc-def-ghi + resource_type: dashboard + rrule: |- + DTSTART;TZID=America/New_York:20260601T090000 + RRULE:FREQ=WEEKLY;BYDAY=MO;BYHOUR=9;BYMINUTE=0 + status: active + tab_id: 66666666-7777-8888-9999-000000000000 + template_variables: + - name: env + values: + - prod + timeframe: 1w + timezone: America/New_York + title: Weekly Infrastructure Report + id: 11111111-2222-3333-4444-555555555555 + type: schedule + included: + - attributes: + email: user@example.com + name: Example User + id: aaaaaaaa-bbbb-cccc-dddd-eeeeeeeeeeee + type: users + schema: + $ref: '#/components/schemas/ReportScheduleResponse' + description: OK + '400': + content: + application/json: + schema: + $ref: '#/components/schemas/JSONAPIErrorResponse' + description: Bad Request + '403': + content: + application/json: + schema: + $ref: '#/components/schemas/JSONAPIErrorResponse' + description: Forbidden + '404': + content: + application/json: + schema: + $ref: '#/components/schemas/JSONAPIErrorResponse' + description: Not Found + '429': + $ref: '#/components/responses/TooManyRequestsResponse' + summary: Get a report schedule + tags: + - Report Schedules + patch: + description: |- + Update an existing scheduled report by its identifier. The editable attributes + are replaced with the supplied values; the targeted resource (`resource_id` and + `resource_type`) cannot be changed after creation. + Requires the `generate_dashboard_reports` permission and schedule ownership. + operationId: PatchReportSchedule + parameters: + - description: The unique identifier of the report schedule to update. + example: 11111111-2222-3333-4444-555555555555 + in: path + name: schedule_uuid + required: true + schema: + format: uuid + type: string + requestBody: + content: + application/json: + examples: + default: + value: + data: + attributes: + delivery_format: pdf + description: Updated weekly summary of infrastructure health. + recipients: + - user@example.com + - slack:T01234567.C01234567.alerts + - teams:11111111-1111-1111-1111-111111111111|22222222-2222-2222-2222-222222222222|19:exampleChannelId@thread.tacv2 + rrule: |- + DTSTART;TZID=America/New_York:20260601T090000 + RRULE:FREQ=WEEKLY;BYDAY=MO;BYHOUR=9;BYMINUTE=0 + template_variables: + - name: env + values: + - prod + timeframe: 1w + timezone: America/New_York + title: Weekly Infrastructure Report + type: schedule + schema: + $ref: '#/components/schemas/ReportSchedulePatchRequest' + required: true + responses: + '200': + content: + application/json: + examples: + default: + value: + data: + attributes: + delivery_format: pdf + description: Updated weekly summary of infrastructure health. + next_recurrence: 1780923600000 + recipients: + - user@example.com + - slack:T01234567.C01234567.alerts + - teams:11111111-1111-1111-1111-111111111111|22222222-2222-2222-2222-222222222222|19:exampleChannelId@thread.tacv2 + resource_id: abc-def-ghi + resource_type: dashboard + rrule: |- + DTSTART;TZID=America/New_York:20260601T090000 + RRULE:FREQ=WEEKLY;BYDAY=MO;BYHOUR=9;BYMINUTE=0 + status: active + tab_id: 66666666-7777-8888-9999-000000000000 + template_variables: + - name: env + values: + - prod + timeframe: 1w + timezone: America/New_York + title: Weekly Infrastructure Report + id: 11111111-2222-3333-4444-555555555555 + relationships: + author: + data: + id: aaaaaaaa-bbbb-cccc-dddd-eeeeeeeeeeee + type: users + type: schedule + included: + - attributes: + email: user@example.com + name: Example User + id: aaaaaaaa-bbbb-cccc-dddd-eeeeeeeeeeee + type: users + schema: + $ref: '#/components/schemas/ReportScheduleResponse' + description: OK + '400': + content: + application/json: + schema: + $ref: '#/components/schemas/JSONAPIErrorResponse' + description: Bad Request + '403': + content: + application/json: + schema: + $ref: '#/components/schemas/JSONAPIErrorResponse' + description: Forbidden + '404': + content: + application/json: + schema: + $ref: '#/components/schemas/JSONAPIErrorResponse' + description: Not Found + '429': + $ref: '#/components/responses/TooManyRequestsResponse' + summary: Update a report schedule + tags: + - Report Schedules + x-codegen-request-body-name: body + x-unstable: |- + **Note**: This endpoint is in preview and is subject to change. + If you have any feedback, contact [Datadog support](https://docs.datadoghq.com/help/). + /api/v2/reporting/schedule/{schedule_uuid}/toggle: + patch: + description: |- + Activate or pause a report schedule by setting its status to `active` or `inactive`. + Requires a reporting write permission appropriate to the targeted resource type and schedule ownership. + operationId: ToggleReportSchedule + parameters: + - description: The unique identifier of the report schedule to toggle. + example: 11111111-2222-3333-4444-555555555555 + in: path + name: schedule_uuid + required: true + schema: + format: uuid + type: string + requestBody: + content: + application/json: + examples: + default: + value: + data: + attributes: + status: inactive + type: schedule + schema: + $ref: '#/components/schemas/ReportScheduleToggleRequest' + required: true + responses: + '200': + content: + application/json: + examples: + default: + value: + data: + attributes: + delivery_format: pdf + description: Weekly summary of infrastructure health. + next_recurrence: 1780923600000 + recipients: + - user@example.com + resource_id: abc-def-ghi + resource_type: dashboard + rrule: |- + DTSTART;TZID=America/New_York:20260601T090000 + RRULE:FREQ=WEEKLY;BYDAY=MO;BYHOUR=9;BYMINUTE=0 + status: inactive + tab_id: 66666666-7777-8888-9999-000000000000 + template_variables: + - name: env + values: + - prod + timeframe: 1w + timezone: America/New_York + title: Weekly Infrastructure Report + id: 11111111-2222-3333-4444-555555555555 + type: schedule + included: + - attributes: + email: user@example.com + name: Example User + id: aaaaaaaa-bbbb-cccc-dddd-eeeeeeeeeeee + type: users + schema: + $ref: '#/components/schemas/ReportScheduleResponse' + description: OK + '400': + content: + application/json: + schema: + $ref: '#/components/schemas/JSONAPIErrorResponse' + description: Bad Request + '403': + content: + application/json: + schema: + $ref: '#/components/schemas/JSONAPIErrorResponse' + description: Forbidden + '404': + content: + application/json: + schema: + $ref: '#/components/schemas/JSONAPIErrorResponse' + description: Not Found + '429': + $ref: '#/components/responses/TooManyRequestsResponse' + summary: Toggle a report schedule + tags: + - Report Schedules + x-codegen-request-body-name: body + /api/v2/snapshot: + post: + description: Create a snapshot of a graph widget. The snapshot is rendered asynchronously; the returned URL can be polled until the image is ready. + operationId: CreateSnapshot + requestBody: + content: + application/json: + schema: + $ref: '#/components/schemas/CreateSnapshotRequest' + required: true + responses: + '200': + content: + application/json: + examples: + default: + value: + data: + attributes: + url: https://app.datadoghq.com/api/v2/snapshot/view/public/60d/00000000-0000-0000-0000-000000000000/1692464400000-12345678-1234-5678-9abc-def123456789.png + id: 12345678-1234-5678-9abc-def123456789 + type: create_snapshot + schema: + $ref: '#/components/schemas/CreateSnapshotResponse' + description: OK + '400': + content: + application/json: + schema: + $ref: '#/components/schemas/JSONAPIErrorResponse' + description: Bad Request + '401': + content: + application/json: + schema: + $ref: '#/components/schemas/JSONAPIErrorResponse' + description: Unauthorized + '403': + content: + application/json: + schema: + $ref: '#/components/schemas/JSONAPIErrorResponse' + description: Forbidden + '404': + content: + application/json: + schema: + $ref: '#/components/schemas/JSONAPIErrorResponse' + description: Not Found + '429': + $ref: '#/components/responses/TooManyRequestsResponse' + summary: Create a graph snapshot + tags: + - Reporting And Sharing + x-unstable: |- + **Note**: This endpoint is in preview and is subject to change. + If you have any feedback, contact [Datadog support](https://docs.datadoghq.com/help/). + /api/v2/stegadography/get-widgets: + post: + description: |- + Extracts watermarks from a PNG image and returns the cached widget data + associated with each watermark found. The image must be uploaded as a + `multipart/form-data` request with the file in the `image` field. + Only widgets belonging to the authenticated organization are returned. + operationId: GetStegadographyWidgets + requestBody: + content: + multipart/form-data: + examples: + default: + value: + image: screenshot.png + schema: + $ref: '#/components/schemas/StegadographyGetWidgetsRequest' + description: PNG image to extract watermarks from. + required: true + responses: + '200': + content: + application/json: + examples: + default: + value: + data: + - attributes: + locationx: 100 + locationy: 200 + rawData: '{"widgetType":"timeseries","requests":[]}' + watermark: 0123456789abcdef + id: abc123:0123456789abcdef + type: widget + schema: + $ref: '#/components/schemas/StegadographyGetWidgetsResponse' + description: OK + '400': + content: + application/json: + schema: + $ref: '#/components/schemas/JSONAPIErrorResponse' + description: Bad Request + '403': + content: + application/json: + schema: + $ref: '#/components/schemas/JSONAPIErrorResponse' + description: Forbidden + '415': + content: + application/json: + schema: + $ref: '#/components/schemas/JSONAPIErrorResponse' + description: Unsupported Media Type + '429': + $ref: '#/components/responses/TooManyRequestsResponse' + '500': + content: + application/json: + schema: + $ref: '#/components/schemas/JSONAPIErrorResponse' + description: Internal Server Error + security: + - apiKeyAuth: [] + appKeyAuth: [] + summary: Get widgets from an image + tags: + - Stegadography + /api/v2/widgets/{experience_type}: + get: + description: |- + Search and list widgets for a given experience type, with filtering, sorting, and pagination. + + **Response meta** carries totals scoped to the current filter: + - `filtered_total` — widgets matching the filter. + - `created_by_you_total` — among the matches, how many the current user created. + - `favorited_by_you_total` — among the matches, how many the current user has favorited. + - `created_by_anyone_total` — total widgets in the experience type, ignoring filters. + + Each returned widget includes `is_favorited` reflecting the current user's favorite status. + Favoriting itself is performed through the shared favorites API, not this endpoint. + operationId: SearchWidgets + parameters: + - description: The experience type for the widget. + in: path + name: experience_type + required: true + schema: + $ref: '#/components/schemas/WidgetExperienceType' + - description: Filter widgets by widget type. + in: query + name: filter[widgetType] + schema: + $ref: '#/components/schemas/WidgetType' + - description: Filter widgets by the email handle of the creator. + in: query + name: filter[creatorHandle] + schema: + example: john.doe@example.com + type: string + - description: Filter to only widgets favorited by the current user. + in: query + name: filter[isFavorited] + schema: + type: boolean + - description: Filter widgets by title (substring match). + in: query + name: filter[title] + schema: + type: string + - description: Filter widgets by tags. Format as bracket-delimited CSV, e.g. `[tag1,tag2]`. + in: query + name: filter[tags] + schema: + type: string + - description: |- + Sort field for the results. + + **`title`, `created_at`, `modified_at`** — both ascending and descending are + supported. Use the bare field name for ascending (e.g. `sort=title`) or prefix + with `-` for descending (e.g. `sort=-modified_at`). + + **`is_favorited`** — returns favorites-first ordering (favorited widgets first, + then the rest). Direction is fixed; the `-` prefix is ignored for this field. + in: query + name: sort + schema: + default: '-modified_at' + example: '-modified_at' + type: string + - description: Page number for pagination (0-indexed). + in: query + name: page[number] + schema: + default: 0 + format: int64 + minimum: 0 + type: integer + - description: Number of widgets per page. + in: query + name: page[size] + schema: + default: 50 + format: int64 + maximum: 100 + type: integer + responses: + '200': + content: + application/json: + examples: + default: + value: + data: [] + schema: + $ref: '#/components/schemas/WidgetListResponse' + description: OK + '400': + content: + application/json: + schema: + $ref: '#/components/schemas/APIErrorResponse' + description: Bad Request + '403': + content: + application/json: + schema: + $ref: '#/components/schemas/APIErrorResponse' + description: Forbidden + '429': + $ref: '#/components/responses/TooManyRequestsResponse' + security: + - apiKeyAuth: [] + appKeyAuth: [] + summary: Search widgets + tags: + - Widgets + x-permission: + operator: OR + permissions: + - cloud_cost_management_read + - generate_log_reports + - manage_log_reports + - product_analytics_saved_widgets_read + post: + description: Create a new widget for a given experience type. + operationId: CreateWidget + parameters: + - description: The experience type for the widget. + in: path + name: experience_type + required: true + schema: + $ref: '#/components/schemas/WidgetExperienceType' + requestBody: + content: + application/json: + examples: + default: + summary: CCM cost summary widget + value: + data: + attributes: + definition: + graph_options: + - type: query_value + view: total + - type: query_value + view: change + - display_type: bars + type: timeseries + - type: cloud_cost_table + view: summary + requests: + - formulas: + - formula: query1 + queries: + - data_source: cloud_cost + name: query1 + query: sum:aws.cost.amortized{*} by {aws_product}.rollup(sum, daily) + response_format: timeseries + time: + type: live + unit: day + value: 30 + title: AWS spend by service (last 30 days) + type: cloud_cost_summary + tags: + - finops + - aws + type: widgets + schema: + $ref: '#/components/schemas/CreateOrUpdateWidgetRequest' + description: |- + Widget request body. The `definition` object's required fields vary + by `widget.definition.type`: every type requires `requests`, and + some types require additional fields (e.g. `cloud_cost_summary` + requires `graph_options`, `geomap` requires `style` and `view`). + The example below shows a complete `cloud_cost_summary` payload + for the `ccm_reports` experience type. + required: true + responses: + '200': + content: + application/json: + examples: + default: + value: + data: + attributes: + created_at: '2024-01-01T00:00:00+00:00' + definition: + title: My Widget + type: bar_chart + is_favorited: false + modified_at: '2024-01-01T00:00:00+00:00' + tags: + - team:my-team + id: abc-123 + type: widgets + schema: + $ref: '#/components/schemas/WidgetResponse' + description: OK + '400': + content: + application/json: + schema: + $ref: '#/components/schemas/APIErrorResponse' + description: Bad Request + '403': + content: + application/json: + schema: + $ref: '#/components/schemas/APIErrorResponse' + description: Forbidden + '429': + $ref: '#/components/responses/TooManyRequestsResponse' + security: + - apiKeyAuth: [] + appKeyAuth: [] + summary: Create a widget + tags: + - Widgets + x-codegen-request-body-name: body + x-permission: + operator: OR + permissions: + - cloud_cost_management_write + - generate_log_reports + - manage_log_reports + - product_analytics_saved_widgets_write + /api/v2/widgets/{experience_type}/{uuid}: + delete: + description: Soft-delete a widget by its UUID for a given experience type. + operationId: DeleteWidget + parameters: + - description: The experience type for the widget. + in: path + name: experience_type + required: true + schema: + $ref: '#/components/schemas/WidgetExperienceType' + - description: The UUID of the widget. + in: path + name: uuid + required: true + schema: + format: uuid + type: string + responses: + '204': + description: No Content + '400': + content: + application/json: + schema: + $ref: '#/components/schemas/APIErrorResponse' + description: Bad Request + '403': + content: + application/json: + schema: + $ref: '#/components/schemas/APIErrorResponse' + description: Forbidden + '404': + content: + application/json: + schema: + $ref: '#/components/schemas/APIErrorResponse' + description: Not Found + '429': + $ref: '#/components/responses/TooManyRequestsResponse' + security: + - apiKeyAuth: [] + appKeyAuth: [] + summary: Delete a widget + tags: + - Widgets + x-permission: + operator: OR + permissions: + - cloud_cost_management_write + - generate_log_reports + - manage_log_reports + - product_analytics_saved_widgets_write + get: + description: Retrieve a widget by its UUID for a given experience type. + operationId: GetWidget + parameters: + - description: The experience type for the widget. + in: path + name: experience_type + required: true + schema: + $ref: '#/components/schemas/WidgetExperienceType' + - description: The UUID of the widget. + in: path + name: uuid + required: true + schema: + format: uuid + type: string + responses: + '200': + content: + application/json: + examples: + default: + value: + data: + attributes: + created_at: '2024-01-01T00:00:00+00:00' + definition: + title: My Widget + type: bar_chart + is_favorited: false + modified_at: '2024-01-01T00:00:00+00:00' + tags: + - team:my-team + id: abc-123 + type: widgets + schema: + $ref: '#/components/schemas/WidgetResponse' + description: OK + '400': + content: + application/json: + schema: + $ref: '#/components/schemas/APIErrorResponse' + description: Bad Request + '403': + content: + application/json: + schema: + $ref: '#/components/schemas/APIErrorResponse' + description: Forbidden + '404': + content: + application/json: + schema: + $ref: '#/components/schemas/APIErrorResponse' + description: Not Found + '429': + $ref: '#/components/responses/TooManyRequestsResponse' + security: + - apiKeyAuth: [] + appKeyAuth: [] + summary: Get a widget + tags: + - Widgets + x-permission: + operator: OR + permissions: + - cloud_cost_management_read + - generate_log_reports + - manage_log_reports + - product_analytics_saved_widgets_read + put: + description: Update a widget by its UUID for a given experience type. This performs a full replacement of the widget definition. + operationId: UpdateWidget + parameters: + - description: The experience type for the widget. + in: path + name: experience_type + required: true + schema: + $ref: '#/components/schemas/WidgetExperienceType' + - description: The UUID of the widget. + in: path + name: uuid + required: true + schema: + format: uuid + type: string + requestBody: + content: + application/json: + examples: + default: + summary: CCM cost summary widget + value: + data: + attributes: + definition: + graph_options: + - type: query_value + view: total + - type: query_value + view: change + - display_type: bars + type: timeseries + - type: cloud_cost_table + view: summary + requests: + - formulas: + - formula: query1 + queries: + - data_source: cloud_cost + name: query1 + query: sum:aws.cost.amortized{*} by {aws_product}.rollup(sum, daily) + response_format: timeseries + time: + type: live + unit: day + value: 30 + title: AWS spend by service (last 30 days) + type: cloud_cost_summary + tags: + - finops + - aws + type: widgets + schema: + $ref: '#/components/schemas/CreateOrUpdateWidgetRequest' + description: |- + Widget request body. The `definition` object's required fields vary + by `widget.definition.type`; see `CreateWidget` above for a complete + worked payload. Update is a full replacement of the widget definition. + required: true + responses: + '200': + content: + application/json: + examples: + default: + value: + data: + attributes: + created_at: '2024-01-01T00:00:00+00:00' + definition: + title: My Widget + type: bar_chart + is_favorited: false + modified_at: '2024-01-01T00:00:00+00:00' + tags: + - team:my-team + id: abc-123 + type: widgets + schema: + $ref: '#/components/schemas/WidgetResponse' + description: OK + '400': + content: + application/json: + schema: + $ref: '#/components/schemas/APIErrorResponse' + description: Bad Request + '403': + content: + application/json: + schema: + $ref: '#/components/schemas/APIErrorResponse' + description: Forbidden + '404': + content: + application/json: + schema: + $ref: '#/components/schemas/APIErrorResponse' + description: Not Found + '429': + $ref: '#/components/responses/TooManyRequestsResponse' + security: + - apiKeyAuth: [] + appKeyAuth: [] + summary: Update a widget + tags: + - Widgets + x-codegen-request-body-name: body + x-permission: + operator: OR + permissions: + - cloud_cost_management_write + - generate_log_reports + - manage_log_reports + - product_analytics_saved_widgets_write + /api/v1/dashboard: + delete: + description: Delete dashboards using the specified IDs. If there are any failures, no dashboards will be deleted (partial success is not allowed). + operationId: DeleteDashboards + requestBody: + content: + application/json: + examples: + default: + value: + data: + - id: 123-abc-456 + type: dashboard + - id: 789-def-101 + type: dashboard + json-request-body: + value: + data: + - id: 123-abc-456 + type: dashboard + - id: 789-def-101 + type: dashboard + schema: + $ref: '#/components/schemas/DashboardBulkDeleteRequest' + description: Delete dashboards request body. + required: true + responses: + '204': + description: No Content + '400': + content: + application/json: + schema: + $ref: '#/components/schemas/APIErrorResponseV1' + description: Bad Request + '403': + content: + application/json: + schema: + $ref: '#/components/schemas/APIErrorResponseV1' + description: Forbidden + '404': + content: + application/json: + schema: + $ref: '#/components/schemas/APIErrorResponseV1' + description: Dashboards Not Found + '429': + $ref: '#/components/responses/TooManyRequestsResponse' + security: + - apiKeyAuth: [] + appKeyAuth: [] + - AuthZ: + - dashboards_write + summary: Delete dashboards + tags: + - Dashboards + x-codegen-request-body-name: body + x-permission: + operator: OR + permissions: + - dashboards_write + get: + description: |- + Get all dashboards. + + **Note**: This query will only return custom created or cloned dashboards. + This query will not return preset dashboards. + operationId: ListDashboards + parameters: + - description: |- + When `true`, this query only returns shared custom created + or cloned dashboards. + in: query + name: filter[shared] + required: false + schema: + type: boolean + - description: |- + When `true`, this query returns only deleted custom-created + or cloned dashboards. This parameter is incompatible with `filter[shared]`. + in: query + name: filter[deleted] + required: false + schema: + type: boolean + - description: The maximum number of dashboards returned in the list. + in: query + name: count + required: false + schema: + default: 100 + format: int64 + type: integer + - description: The specific offset to use as the beginning of the returned response. + in: query + name: start + required: false + schema: + format: int64 + type: integer + responses: + '200': + content: + application/json: + examples: + default: + value: + dashboards: + - author_handle: test@example.com + created_at: '2024-01-01T00:00:00+00:00' + id: abc-123-def + layout_type: ordered + modified_at: '2024-01-01T00:00:00+00:00' + title: Example Dashboard + url: /dashboard/abc-123-def/example-dashboard + schema: + $ref: '#/components/schemas/DashboardSummary' + description: OK + '403': + content: + application/json: + schema: + $ref: '#/components/schemas/APIErrorResponseV1' + description: Authentication Error + '429': + $ref: '#/components/responses/TooManyRequestsResponse' + security: + - apiKeyAuth: [] + appKeyAuth: [] + - AuthZ: + - dashboards_read + summary: Get all dashboards + tags: + - Dashboards + x-pagination: + limitParam: count + pageOffsetParam: start + resultsPath: dashboards + x-permission: + operator: OR + permissions: + - dashboards_read + patch: + description: Restore dashboards using the specified IDs. If there are any failures, no dashboards will be restored (partial success is not allowed). + operationId: RestoreDashboards + requestBody: + content: + application/json: + examples: + default: + value: + data: + - id: 123-abc-456 + type: dashboard + - id: 789-def-101 + type: dashboard + json-request-body: + value: + data: + - id: 123-abc-456 + type: dashboard + - id: 789-def-101 + type: dashboard + schema: + $ref: '#/components/schemas/DashboardRestoreRequest' + description: Restore dashboards request body. + required: true + responses: + '204': + description: No Content + '400': + content: + application/json: + schema: + $ref: '#/components/schemas/APIErrorResponseV1' + description: Bad Request + '403': + content: + application/json: + schema: + $ref: '#/components/schemas/APIErrorResponseV1' + description: Forbidden + '404': + content: + application/json: + schema: + $ref: '#/components/schemas/APIErrorResponseV1' + description: Dashboards Not Found + '429': + $ref: '#/components/responses/TooManyRequestsResponse' + security: + - apiKeyAuth: [] + appKeyAuth: [] + - AuthZ: + - dashboards_write + summary: Restore deleted dashboards + tags: + - Dashboards + x-codegen-request-body-name: body + x-permission: + operator: OR + permissions: + - dashboards_write + post: + description: |- + Create a dashboard using the specified options. When defining queries in your widgets, take note of which queries should have the `as_count()` or `as_rate()` modifiers appended. + Refer to the following [documentation](https://docs.datadoghq.com/developers/metrics/type_modifiers/?tab=count#in-application-modifiers) for more information on these modifiers. + operationId: CreateDashboard + requestBody: + content: + application/json: + examples: + default: + value: + description: An example dashboard for monitoring infrastructure. + layout_type: ordered + title: Example Dashboard + widgets: + - definition: + requests: + - q: avg:system.cpu.user{*} + title: CPU Usage + type: timeseries + schema: + $ref: '#/components/schemas/Dashboard' + description: Create a dashboard request body. + required: true + responses: + '200': + content: + application/json: + examples: + default: + value: + author_handle: test@example.com + author_name: Example Name + created_at: '2024-01-01T00:00:00+00:00' + id: abc-123-def + layout_type: ordered + modified_at: '2024-01-01T00:00:00+00:00' + notify_list: null + restricted_roles: [] + template_variables: null + title: Example Dashboard + url: /dashboard/abc-123-def/example-dashboard + widgets: + - definition: + requests: + - q: avg:system.cpu.user{*} + title: CPU Usage + type: timeseries + id: 123 + schema: + $ref: '#/components/schemas/Dashboard' + description: OK + '400': + content: + application/json: + schema: + $ref: '#/components/schemas/APIErrorResponseV1' + description: Bad Request + '403': + content: + application/json: + schema: + $ref: '#/components/schemas/APIErrorResponseV1' + description: Authentication Error + '429': + $ref: '#/components/responses/TooManyRequestsResponse' + security: + - apiKeyAuth: [] + appKeyAuth: [] + - AuthZ: + - dashboards_write + summary: Create a new dashboard + tags: + - Dashboards + x-codegen-request-body-name: body + x-permission: + operator: OR + permissions: + - dashboards_write + /api/v1/dashboard/lists/manual: + get: + description: Fetch all of your existing dashboard list definitions. + operationId: ListDashboardLists + responses: + '200': + content: + application/json: + examples: + default: + value: + dashboard_lists: + - author: + handle: test@example.com + name: Example Name + created: '2024-01-01T00:00:00+00:00' + dashboard_count: 0 + id: 123 + is_favorite: false + modified: '2024-01-01T00:00:00+00:00' + name: My Dashboard List + type: manual_dashboard_list + schema: + $ref: '#/components/schemas/DashboardListListResponse' + description: OK + '403': + content: + application/json: + schema: + $ref: '#/components/schemas/APIErrorResponseV1' + description: Forbidden + '429': + $ref: '#/components/responses/TooManyRequestsResponse' + security: + - apiKeyAuth: [] + appKeyAuth: [] + - AuthZ: + - dashboards_read + summary: Get all dashboard lists + tags: + - Dashboard Lists + x-permission: + operator: OR + permissions: + - dashboards_read + post: + description: Create an empty dashboard list. + operationId: CreateDashboardList + requestBody: + content: + application/json: + examples: + default: + value: + name: My Dashboard List + schema: + $ref: '#/components/schemas/DashboardList' + description: Create a dashboard list request body. + required: true + responses: + '200': + content: + application/json: + examples: + default: + value: + author: + handle: test@example.com + name: Example Name + created: '2024-01-01T00:00:00+00:00' + dashboard_count: 0 + id: 123 + is_favorite: false + modified: '2024-01-01T00:00:00+00:00' + name: My Dashboard List + type: manual_dashboard_list + schema: + $ref: '#/components/schemas/DashboardList' + description: OK + '400': + content: + application/json: + schema: + $ref: '#/components/schemas/APIErrorResponseV1' + description: Bad Request + '403': + content: + application/json: + schema: + $ref: '#/components/schemas/APIErrorResponseV1' + description: Forbidden + '429': + $ref: '#/components/responses/TooManyRequestsResponse' + security: + - apiKeyAuth: [] + appKeyAuth: [] + - AuthZ: + - dashboards_write + summary: Create a dashboard list + tags: + - Dashboard Lists + x-codegen-request-body-name: body + x-permission: + operator: OR + permissions: + - dashboards_write + /api/v1/dashboard/lists/manual/{list_id}: + delete: + description: Delete a dashboard list. + operationId: DeleteDashboardList + parameters: + - description: ID of the dashboard list to delete. + in: path + name: list_id + required: true + schema: + format: int64 + type: integer + responses: + '200': + content: + application/json: + examples: + default: + value: + deleted_dashboard_list_id: 123 + schema: + $ref: '#/components/schemas/DashboardListDeleteResponse' + description: OK + '403': + content: + application/json: + schema: + $ref: '#/components/schemas/APIErrorResponseV1' + description: Forbidden + '404': + content: + application/json: + schema: + $ref: '#/components/schemas/APIErrorResponseV1' + description: Not Found + '429': + $ref: '#/components/responses/TooManyRequestsResponse' + security: + - apiKeyAuth: [] + appKeyAuth: [] + - AuthZ: + - dashboards_write + summary: Delete a dashboard list + tags: + - Dashboard Lists + x-permission: + operator: OR + permissions: + - dashboards_write + get: + description: Fetch an existing dashboard list's definition. + operationId: GetDashboardList + parameters: + - description: ID of the dashboard list to fetch. + in: path + name: list_id + required: true + schema: + format: int64 + type: integer + responses: + '200': + content: + application/json: + examples: + default: + value: + author: + handle: test@example.com + name: Example Name + created: '2024-01-01T00:00:00+00:00' + dashboard_count: 0 + id: 123 + is_favorite: false + modified: '2024-01-01T00:00:00+00:00' + name: My Dashboard List + type: manual_dashboard_list + schema: + $ref: '#/components/schemas/DashboardList' + description: OK + '403': + content: + application/json: + schema: + $ref: '#/components/schemas/APIErrorResponseV1' + description: Forbidden + '404': + content: + application/json: + schema: + $ref: '#/components/schemas/APIErrorResponseV1' + description: Not Found + '429': + $ref: '#/components/responses/TooManyRequestsResponse' + security: + - apiKeyAuth: [] + appKeyAuth: [] + - AuthZ: + - dashboards_read + summary: Get a dashboard list + tags: + - Dashboard Lists + x-permission: + operator: OR + permissions: + - dashboards_read + put: + description: Update the name of a dashboard list. + operationId: UpdateDashboardList + parameters: + - description: ID of the dashboard list to update. + in: path + name: list_id + required: true + schema: + format: int64 + type: integer + requestBody: + content: + application/json: + examples: + default: + value: + name: My Dashboard List + schema: + $ref: '#/components/schemas/DashboardList' + description: Update a dashboard list request body. + required: true + responses: + '200': + content: + application/json: + examples: + default: + value: + author: + handle: test@example.com + name: Example Name + created: '2024-01-01T00:00:00+00:00' + dashboard_count: 0 + id: 123 + is_favorite: false + modified: '2024-01-01T00:00:00+00:00' + name: My Dashboard List + type: manual_dashboard_list + schema: + $ref: '#/components/schemas/DashboardList' + description: OK + '400': + content: + application/json: + schema: + $ref: '#/components/schemas/APIErrorResponseV1' + description: Bad Request + '403': + content: + application/json: + schema: + $ref: '#/components/schemas/APIErrorResponseV1' + description: Forbidden + '404': + content: + application/json: + schema: + $ref: '#/components/schemas/APIErrorResponseV1' + description: Not Found + '429': + $ref: '#/components/responses/TooManyRequestsResponse' + security: + - apiKeyAuth: [] + appKeyAuth: [] + - AuthZ: + - dashboards_write + summary: Update a dashboard list + tags: + - Dashboard Lists + x-codegen-request-body-name: body + x-permission: + operator: OR + permissions: + - dashboards_write + /api/v1/dashboard/public: + post: + description: Share a specified private dashboard, generating a URL at which it can be publicly viewed. + operationId: CreatePublicDashboard + requestBody: + content: + application/json: + examples: + default: + value: + dashboard_id: 123-abc-456 + dashboard_type: custom_timeboard + global_time: + live_span: 1h + share_type: open + json-request-body: + value: + dashboard_id: 123-abc-456 + dashboard_type: custom_timeboard + share_type: open + schema: + $ref: '#/components/schemas/SharedDashboard' + description: Create a shared dashboard request body. + required: true + responses: + '200': + content: + application/json: + examples: + default: + value: + author: + handle: test@example.com + name: Example Name + created: '2024-01-01T00:00:00+00:00' + dashboard_id: abc-123-def + dashboard_type: custom_timeboard + global_time: + live_span: 1h + public_url: https://p.datadoghq.com/sb/abc-123 + share_type: open + status: active + token: abc-123 + schema: + $ref: '#/components/schemas/SharedDashboard' + description: OK + '400': + content: + application/json: + schema: + $ref: '#/components/schemas/APIErrorResponseV1' + description: Bad Request + '403': + content: + application/json: + schema: + $ref: '#/components/schemas/APIErrorResponseV1' + description: Forbidden + '404': + content: + application/json: + schema: + $ref: '#/components/schemas/APIErrorResponseV1' + description: Dashboard Not Found + '429': + $ref: '#/components/responses/TooManyRequestsResponse' + security: + - apiKeyAuth: [] + appKeyAuth: [] + - AuthZ: + - dashboards_public_share + - AuthZ: + - dashboards_embed_share + - AuthZ: + - dashboards_invite_share + summary: Create a shared dashboard + tags: + - Dashboards + x-codegen-request-body-name: body + x-permission: + operator: OR + permissions: + - dashboards_public_share + - dashboards_embed_share + - dashboards_invite_share + /api/v1/dashboard/public/{token}: + delete: + description: Revoke the public URL for a dashboard (rendering it private) associated with the specified token. + operationId: DeletePublicDashboard + parameters: + - description: The token of the shared dashboard. + in: path + name: token + required: true + schema: + type: string + responses: + '200': + content: + application/json: + examples: + default: + value: + deleted_public_dashboard_token: abc-123 + schema: + $ref: '#/components/schemas/DeleteSharedDashboardResponse' + description: OK + '403': + content: + application/json: + schema: + $ref: '#/components/schemas/APIErrorResponseV1' + description: Forbidden + '404': + content: + application/json: + schema: + $ref: '#/components/schemas/APIErrorResponseV1' + description: Shared Dashboard Not Found + '429': + $ref: '#/components/responses/TooManyRequestsResponse' + security: + - apiKeyAuth: [] + appKeyAuth: [] + - AuthZ: + - dashboards_public_share + - AuthZ: + - dashboards_embed_share + - AuthZ: + - dashboards_invite_share + summary: Revoke a shared dashboard URL + tags: + - Dashboards + x-permission: + operator: OR + permissions: + - dashboards_public_share + - dashboards_embed_share + - dashboards_invite_share + get: + description: Fetch an existing shared dashboard's sharing metadata associated with the specified token. + operationId: GetPublicDashboard + parameters: + - description: The token of the shared dashboard. Generated when a dashboard is shared. + in: path + name: token + required: true + schema: + type: string + responses: + '200': + content: + application/json: + examples: + default: + value: + author: + handle: test@example.com + name: Example Name + created: '2024-01-01T00:00:00+00:00' + dashboard_id: abc-123-def + dashboard_type: custom_timeboard + global_time: + live_span: 1h + public_url: https://p.datadoghq.com/sb/abc-123 + share_type: open + status: active + token: abc-123 + schema: + $ref: '#/components/schemas/SharedDashboard' + description: OK + '403': + content: + application/json: + schema: + $ref: '#/components/schemas/APIErrorResponseV1' + description: Forbidden + '404': + content: + application/json: + schema: + $ref: '#/components/schemas/APIErrorResponseV1' + description: Shared Dashboard Not Found + '429': + $ref: '#/components/responses/TooManyRequestsResponse' + security: + - apiKeyAuth: [] + appKeyAuth: [] + - AuthZ: + - dashboards_read + summary: Get a shared dashboard + tags: + - Dashboards + x-permission: + operator: OR + permissions: + - dashboards_read + put: + description: Update a shared dashboard associated with the specified token. + operationId: UpdatePublicDashboard + parameters: + - description: The token of the shared dashboard. + in: path + name: token + required: true + schema: + type: string + requestBody: + content: + application/json: + examples: + default: + value: + global_time: + live_span: 1h + selectable_template_vars: + - default_value: '*' + name: exampleVar + prefix: test + visible_tags: + - selectableValue1 + - selectableValue2 + share_list: + - test@datadoghq.com + - test2@datadoghq.com + share_type: invite + json-request-body: + value: + global_time: + live_span: 1h + selectable_template_vars: + - default_value: '*' + name: exampleVar + prefix: test + visible_tags: + - selectableValue1 + - selectableValue2 + share_list: + - test@datadoghq.com + - test2@datadoghq.com + share_type: invite + schema: + $ref: '#/components/schemas/SharedDashboardUpdateRequest' + description: Update Dashboard request body. + required: true + responses: + '200': + content: + application/json: + examples: + default: + value: + author: + handle: test@example.com + name: Example Name + created: '2024-01-01T00:00:00+00:00' + dashboard_id: abc-123-def + dashboard_type: custom_timeboard + global_time: + live_span: 1h + public_url: https://p.datadoghq.com/sb/abc-123 + share_type: open + status: active + token: abc-123 + schema: + $ref: '#/components/schemas/SharedDashboard' + description: OK + '400': + content: + application/json: + schema: + $ref: '#/components/schemas/APIErrorResponseV1' + description: Bad Request + '403': + content: + application/json: + schema: + $ref: '#/components/schemas/APIErrorResponseV1' + description: Authentication Error + '404': + content: + application/json: + schema: + $ref: '#/components/schemas/APIErrorResponseV1' + description: Item Not Found + '429': + $ref: '#/components/responses/TooManyRequestsResponse' + security: + - apiKeyAuth: [] + appKeyAuth: [] + - AuthZ: + - dashboards_public_share + - AuthZ: + - dashboards_embed_share + - AuthZ: + - dashboards_invite_share + summary: Update a shared dashboard + tags: + - Dashboards + x-codegen-request-body-name: body + x-permission: + operator: OR + permissions: + - dashboards_public_share + - dashboards_embed_share + - dashboards_invite_share + /api/v1/dashboard/public/{token}/invitation: + delete: + description: Revoke previously sent invitation emails and active sessions used to access a given shared dashboard for specific email addresses. + operationId: DeletePublicDashboardInvitation + parameters: + - description: The token of the shared dashboard. + in: path + name: token + required: true + schema: + type: string + requestBody: + content: + application/json: + examples: + default: + value: + data: + attributes: + email: test@datadoghq.com + type: public_dashboard_invitation + json-request-body: + value: + data: + attributes: + email: test@datadoghq.com + type: public_dashboard_invitation + schema: + $ref: '#/components/schemas/SharedDashboardInvites' + description: Shared Dashboard Invitation deletion request body. + required: true + responses: + '204': + description: OK + '403': + content: + application/json: + schema: + $ref: '#/components/schemas/APIErrorResponseV1' + description: Forbidden + '404': + content: + application/json: + schema: + $ref: '#/components/schemas/APIErrorResponseV1' + description: Not Found + '429': + $ref: '#/components/responses/TooManyRequestsResponse' + security: + - apiKeyAuth: [] + appKeyAuth: [] + - AuthZ: + - dashboards_invite_share + summary: Revoke shared dashboard invitations + tags: + - Dashboards + x-codegen-request-body-name: body + x-permission: + operator: OR + permissions: + - dashboards_invite_share + get: + description: Describe the invitations that exist for the given shared dashboard (paginated). + operationId: GetPublicDashboardInvitations + parameters: + - description: Token of the shared dashboard for which to fetch invitations. + in: path + name: token + required: true + schema: + type: string + - description: The number of records to return in a single request. + in: query + name: page_size + required: false + schema: + format: int64 + type: integer + - description: The page to access (base 0). + in: query + name: page_number + required: false + schema: + format: int64 + type: integer + responses: + '200': + content: + application/json: + examples: + default: + value: + data: + - attributes: + created_at: '2024-01-01T00:00:00+00:00' + email: test@example.com + has_session: false + session_expiry: null + share_token: abc-123 + type: public_dashboard_invitation + meta: + page: + total_count: 1 + schema: + $ref: '#/components/schemas/SharedDashboardInvites' + description: OK + '403': + content: + application/json: + schema: + $ref: '#/components/schemas/APIErrorResponseV1' + description: Forbidden + '404': + content: + application/json: + schema: + $ref: '#/components/schemas/APIErrorResponseV1' + description: Not Found + '429': + $ref: '#/components/responses/TooManyRequestsResponse' + security: + - apiKeyAuth: [] + appKeyAuth: [] + - AuthZ: + - dashboards_invite_share + summary: Get all invitations for a shared dashboard + tags: + - Dashboards + x-permission: + operator: OR + permissions: + - dashboards_invite_share + post: + description: Send emails to specified email addresses containing links to access a given authenticated shared dashboard. Email addresses must already belong to the authenticated shared dashboard's share_list. + operationId: SendPublicDashboardInvitation + parameters: + - description: The token of the shared dashboard. + in: path + name: token + required: true + schema: + type: string + requestBody: + content: + application/json: + examples: + default: + value: + data: + - attributes: + email: test@datadoghq.com + type: public_dashboard_invitation + json-request-body: + value: + data: + - attributes: + email: test@datadoghq.com + type: public_dashboard_invitation + schema: + $ref: '#/components/schemas/SharedDashboardInvites' + description: Shared Dashboard Invitation request body. + required: true + responses: + '201': + content: + application/json: + examples: + default: + value: + data: + - attributes: + created_at: '2024-01-01T00:00:00+00:00' + email: test@example.com + has_session: false + session_expiry: null + share_token: abc-123 + type: public_dashboard_invitation + meta: + page: + total_count: 1 + schema: + $ref: '#/components/schemas/SharedDashboardInvites' + description: OK + '400': + content: + application/json: + schema: + $ref: '#/components/schemas/APIErrorResponseV1' + description: Bad Request + '403': + content: + application/json: + schema: + $ref: '#/components/schemas/APIErrorResponseV1' + description: Forbidden + '404': + content: + application/json: + schema: + $ref: '#/components/schemas/APIErrorResponseV1' + description: Not Found + '429': + $ref: '#/components/responses/TooManyRequestsResponse' + security: + - apiKeyAuth: [] + appKeyAuth: [] + - AuthZ: + - dashboards_invite_share + summary: Send shared dashboard invitation email + tags: + - Dashboards + x-codegen-request-body-name: body + x-permission: + operator: OR + permissions: + - dashboards_invite_share + /api/v1/dashboard/{dashboard_id}: + delete: + description: Delete a dashboard using the specified ID. + operationId: DeleteDashboard + parameters: + - description: The ID of the dashboard. + in: path + name: dashboard_id + required: true + schema: + type: string + responses: + '200': + content: + application/json: + examples: + default: + value: + deleted_dashboard_id: abc-123 + schema: + $ref: '#/components/schemas/DashboardDeleteResponse' + description: OK + '403': + content: + application/json: + schema: + $ref: '#/components/schemas/APIErrorResponseV1' + description: Authentication Error + '404': + content: + application/json: + schema: + $ref: '#/components/schemas/APIErrorResponseV1' + description: Dashboards Not Found + '429': + $ref: '#/components/responses/TooManyRequestsResponse' + security: + - apiKeyAuth: [] + appKeyAuth: [] + - AuthZ: + - dashboards_write + summary: Delete a dashboard + tags: + - Dashboards + x-permission: + operator: OR + permissions: + - dashboards_write + get: + description: Get a dashboard using the specified ID. + operationId: GetDashboard + parameters: + - description: The ID of the dashboard. + in: path + name: dashboard_id + required: true + schema: + type: string + responses: + '200': + content: + application/json: + examples: + default: + value: + author_handle: test@example.com + author_name: Example Name + created_at: '2024-01-01T00:00:00+00:00' + id: abc-123-def + layout_type: ordered + modified_at: '2024-01-01T00:00:00+00:00' + notify_list: null + restricted_roles: [] + template_variables: null + title: Example Dashboard + url: /dashboard/abc-123-def/example-dashboard + widgets: + - definition: + requests: + - q: avg:system.cpu.user{*} + title: CPU Usage + type: timeseries + id: 123 + schema: + $ref: '#/components/schemas/Dashboard' + description: OK + '403': + content: + application/json: + schema: + $ref: '#/components/schemas/APIErrorResponseV1' + description: Authentication Error + '404': + content: + application/json: + schema: + $ref: '#/components/schemas/APIErrorResponseV1' + description: Item Not Found + '429': + $ref: '#/components/responses/TooManyRequestsResponse' + security: + - apiKeyAuth: [] + appKeyAuth: [] + - AuthZ: + - dashboards_read + summary: Get a dashboard + tags: + - Dashboards + x-permission: + operator: OR + permissions: + - dashboards_read + put: + description: Update a dashboard using the specified ID. + operationId: UpdateDashboard + parameters: + - description: The ID of the dashboard. + in: path + name: dashboard_id + required: true + schema: + type: string + requestBody: + content: + application/json: + examples: + default: + value: + description: An example dashboard for monitoring infrastructure. + layout_type: ordered + title: Example Dashboard + widgets: + - definition: + requests: + - q: avg:system.cpu.user{*} + title: CPU Usage + type: timeseries + schema: + $ref: '#/components/schemas/Dashboard' + description: Update Dashboard request body. + required: true + responses: + '200': + content: + application/json: + examples: + default: + value: + author_handle: test@example.com + author_name: Example Name + created_at: '2024-01-01T00:00:00+00:00' + id: abc-123-def + layout_type: ordered + modified_at: '2024-01-01T00:00:00+00:00' + notify_list: null + restricted_roles: [] + template_variables: null + title: Example Dashboard + url: /dashboard/abc-123-def/example-dashboard + widgets: + - definition: + requests: + - q: avg:system.cpu.user{*} + title: CPU Usage + type: timeseries + id: 123 + schema: + $ref: '#/components/schemas/Dashboard' + description: OK + '400': + content: + application/json: + schema: + $ref: '#/components/schemas/APIErrorResponseV1' + description: Bad Request + '403': + content: + application/json: + schema: + $ref: '#/components/schemas/APIErrorResponseV1' + description: Authentication Error + '404': + content: + application/json: + schema: + $ref: '#/components/schemas/APIErrorResponseV1' + description: Item Not Found + '429': + $ref: '#/components/responses/TooManyRequestsResponse' + security: + - apiKeyAuth: [] + appKeyAuth: [] + - AuthZ: + - dashboards_write + summary: Update a dashboard + tags: + - Dashboards + x-codegen-request-body-name: body + x-permission: + operator: OR + permissions: + - dashboards_write + /api/v1/graph/snapshot: + get: + description: |- + Take graph snapshots. Snapshots are PNG images generated by rendering a specified widget in a web page and capturing it once the data is available. The image is then uploaded to cloud storage. + + **Note**: When a snapshot is created, there is some delay before it is available. + operationId: GetGraphSnapshot + parameters: + - description: The metric query. + in: query + name: metric_query + schema: + type: string + x-docs-curl-required: true + - description: The POSIX timestamp of the start of the query in seconds. + in: query + name: start + required: true + schema: + format: int64 + type: integer + - description: The POSIX timestamp of the end of the query in seconds. + in: query + name: end + required: true + schema: + format: int64 + type: integer + - description: A query that adds event bands to the graph. + in: query + name: event_query + required: false + schema: + type: string + - description: |- + A JSON document defining the graph. `graph_def` can be used instead of `metric_query`. + The JSON document uses the [grammar defined here](https://docs.datadoghq.com/graphing/graphing_json/#grammar) + and should be formatted to a single line then URL encoded. + in: query + name: graph_def + required: false + schema: + type: string + - description: A title for the graph. If no title is specified, the graph does not have a title. + in: query + name: title + required: false + schema: + type: string + - description: The height of the graph. If no height is specified, the graph's original height is used. + in: query + name: height + required: false + schema: + format: int64 + type: integer + - description: The width of the graph. If no width is specified, the graph's original width is used. + in: query + name: width + required: false + schema: + format: int64 + type: integer + responses: + '200': + content: + application/json: + examples: + default: + value: + metric_query: avg:system.load.1{*} + snapshot_url: https://app.datadoghq.com/s/f12345678/aaa-bbb-ccc + schema: + $ref: '#/components/schemas/GraphSnapshot' + description: OK + '400': + content: + application/json: + schema: + $ref: '#/components/schemas/APIErrorResponseV1' + description: Bad Request + '403': + content: + application/json: + schema: + $ref: '#/components/schemas/APIErrorResponseV1' + description: Forbidden + '429': + $ref: '#/components/responses/TooManyRequestsResponse' + security: + - apiKeyAuth: [] + appKeyAuth: [] + - AuthZ: [] + summary: Take graph snapshots + tags: + - Snapshots + x-permission: + operator: OPEN + permissions: [] + /api/v1/notebooks: + get: + description: |- + Get all notebooks. This can also be used to search for notebooks with a particular `query` in the notebook + `name` or author `handle`. + operationId: ListNotebooks + parameters: + - description: Return notebooks created by the given `author_handle`. + in: query + name: author_handle + required: false + schema: + example: test@datadoghq.com + type: string + style: form + - description: Return notebooks not created by the given `author_handle`. + in: query + name: exclude_author_handle + required: false + schema: + example: test@datadoghq.com + type: string + style: form + - description: The index of the first notebook you want returned. + in: query + name: start + required: false + schema: + example: 0 + format: int64 + type: integer + style: form + - description: The number of notebooks to be returned. + in: query + name: count + required: false + schema: + default: 100 + example: 5 + format: int64 + type: integer + style: form + - description: Sort by field `modified`, `name`, or `created`. + in: query + name: sort_field + required: false + schema: + default: modified + example: modified + type: string + style: form + - description: Sort by direction `asc` or `desc`. + in: query + name: sort_dir + required: false + schema: + default: desc + example: desc + type: string + style: form + - description: Return only notebooks with `query` string in notebook name or author handle. + in: query + name: query + required: false + schema: + example: postmortem + type: string + style: form + - description: Value of `false` excludes the `cells` and global `time` for each notebook. + in: query + name: include_cells + required: false + schema: + default: true + example: false + type: boolean + style: form + - description: True value returns only template notebooks. Default is false (returns only non-template notebooks). + in: query + name: is_template + required: false + schema: + default: false + example: false + type: boolean + style: form + - description: If type is provided, returns only notebooks with that metadata type. Default does not have type filtering. + in: query + name: type + required: false + schema: + example: investigation + type: string + style: form + responses: + '200': + content: + application/json: + examples: + default: + value: + data: + - attributes: + created: '2021-02-24T23:14:15.173964+00:00' + modified: '2021-02-24T23:15:23.274966+00:00' + name: Example Notebook + status: published + id: 123456 + type: notebooks + meta: + page: + total_count: 1 + total_filtered_count: 1 + schema: + $ref: '#/components/schemas/NotebooksResponse' + description: OK + '400': + content: + application/json: + schema: + $ref: '#/components/schemas/APIErrorResponseV1' + description: Bad Request + '403': + content: + application/json: + schema: + $ref: '#/components/schemas/APIErrorResponseV1' + description: Authentication Error + '429': + $ref: '#/components/responses/TooManyRequestsResponse' + summary: Get all notebooks + tags: + - Notebooks + x-pagination: + limitParam: count + pageOffsetParam: start + resultsPath: data + x-permission: + operator: OR + permissions: + - notebooks_read + post: + description: Create a notebook using the specified options. + operationId: CreateNotebook + requestBody: + content: + application/json: + examples: + default: + value: + data: + attributes: + cells: + - attributes: + definition: + text: |- + ## Some test markdown + + With some example content. + type: markdown + type: notebook_cells + - attributes: + definition: + requests: + - display_type: line + q: avg:system.load.1{*} + style: + line_type: solid + line_width: normal + palette: dog_classic + show_legend: true + type: timeseries + yaxis: + scale: linear + graph_size: m + split_by: + keys: [] + tags: [] + time: null + type: notebook_cells + name: Example Notebook + time: + live_span: 1h + type: notebooks + json-request-body: + value: + data: + attributes: + cells: + - attributes: + definition: + text: |- + ## Some test markdown + + With some example content. + type: markdown + type: notebook_cells + - attributes: + definition: + requests: + - display_type: line + q: avg:system.load.1{*} + style: + line_type: solid + line_width: normal + palette: dog_classic + show_legend: true + type: timeseries + yaxis: + scale: linear + graph_size: m + split_by: + keys: [] + tags: [] + time: null + type: notebook_cells + name: Example Notebook + time: + live_span: 1h + type: notebooks + schema: + $ref: '#/components/schemas/NotebookCreateRequestV1' + description: The JSON description of the notebook you want to create. + required: true + responses: + '200': + content: + application/json: + examples: + default: + value: + data: + attributes: + cells: + - attributes: + definition: + text: |- + ## Some test markdown + + With some example content. + type: markdown + id: bzbycoya + type: notebook_cells + created: '2021-02-24T23:14:15.173964+00:00' + modified: '2021-02-24T23:15:23.274966+00:00' + name: Example Notebook + time: + live_span: 1h + id: 123456 + type: notebooks + schema: + $ref: '#/components/schemas/NotebookResponse' + description: OK + '400': + content: + application/json: + schema: + $ref: '#/components/schemas/APIErrorResponseV1' + description: Bad Request + '403': + content: + application/json: + schema: + $ref: '#/components/schemas/APIErrorResponseV1' + description: Authentication Error + '429': + $ref: '#/components/responses/TooManyRequestsResponse' + summary: Create a notebook + tags: + - Notebooks + x-codegen-request-body-name: body + x-permission: + operator: OR + permissions: + - notebooks_write + /api/v1/notebooks/{notebook_id}: + delete: + description: Delete a notebook using the specified ID. + operationId: DeleteNotebook + parameters: + - description: Unique ID, assigned when you create the notebook. + in: path + name: notebook_id + required: true + schema: + format: int64 + type: integer + responses: + '204': + description: OK + '400': + content: + application/json: + schema: + $ref: '#/components/schemas/APIErrorResponseV1' + description: Bad Request + '403': + content: + application/json: + schema: + $ref: '#/components/schemas/APIErrorResponseV1' + description: Authentication Error + '404': + content: + application/json: + schema: + $ref: '#/components/schemas/APIErrorResponseV1' + description: Not Found + '429': + $ref: '#/components/responses/TooManyRequestsResponse' + summary: Delete a notebook + tags: + - Notebooks + x-permission: + operator: OR + permissions: + - notebooks_write + get: + description: Get a notebook using the specified notebook ID. + operationId: GetNotebook + parameters: + - description: Unique ID, assigned when you create the notebook. + in: path + name: notebook_id + required: true + schema: + format: int64 + type: integer + responses: + '200': + content: + application/json: + examples: + default: + value: + data: + attributes: + cells: + - attributes: + definition: + text: '## Example markdown' + type: markdown + id: abc-123 + type: notebook_cells + created: '2024-01-01T00:00:00+00:00' + modified: '2024-01-01T00:00:00+00:00' + name: Example Notebook + status: published + time: + live_span: 1h + id: 123 + type: notebooks + schema: + $ref: '#/components/schemas/NotebookResponse' + description: OK + '400': + content: + application/json: + schema: + $ref: '#/components/schemas/APIErrorResponseV1' + description: Bad Request + '403': + content: + application/json: + schema: + $ref: '#/components/schemas/APIErrorResponseV1' + description: Authentication Error + '404': + content: + application/json: + schema: + $ref: '#/components/schemas/APIErrorResponseV1' + description: Not Found + '429': + $ref: '#/components/responses/TooManyRequestsResponse' + summary: Get a notebook + tags: + - Notebooks + x-permission: + operator: OR + permissions: + - notebooks_read + put: + description: Update a notebook using the specified ID. + operationId: UpdateNotebook + parameters: + - description: Unique ID, assigned when you create the notebook. + in: path + name: notebook_id + required: true + schema: + format: int64 + type: integer + requestBody: + content: + application/json: + examples: + default: + value: + data: + attributes: + cells: + - attributes: + definition: + text: |- + ## Some updated test markdown + + With some example content. + type: markdown + type: notebook_cells + - attributes: + definition: + requests: + - display_type: bars + q: avg:system.load.1{*} + style: + line_type: solid + line_width: normal + palette: warm + show_legend: true + type: timeseries + yaxis: + scale: linear + graph_size: m + split_by: + keys: [] + tags: [] + time: null + id: abcd1234 + type: notebook_cells + name: Example Notebook + time: + live_span: 1h + type: notebooks + json-request-body: + value: + data: + attributes: + cells: + - attributes: + definition: + text: |- + ## Some updated test markdown + + With some example content. + type: markdown + type: notebook_cells + - attributes: + definition: + requests: + - display_type: bars + q: avg:system.load.1{*} + style: + line_type: solid + line_width: normal + palette: warm + show_legend: true + type: timeseries + yaxis: + scale: linear + graph_size: m + split_by: + keys: [] + tags: [] + time: null + id: abcd1234 + type: notebook_cells + name: Example Notebook + time: + live_span: 1h + type: notebooks + schema: + $ref: '#/components/schemas/NotebookUpdateRequest' + description: Update notebook request body. + required: true + responses: + '200': + content: + application/json: + examples: + default: + value: + data: + attributes: + cells: + - attributes: + definition: + text: |- + ## Some updated test markdown + + With some example content. + type: markdown + id: abcd1234 + type: notebook_cells + created: '2021-02-24T23:14:15.173964+00:00' + modified: '2021-02-24T23:15:23.274966+00:00' + name: Example Notebook + time: + live_span: 1h + id: 123456 + type: notebooks + schema: + $ref: '#/components/schemas/NotebookResponse' + description: OK + '400': + content: + application/json: + schema: + $ref: '#/components/schemas/APIErrorResponseV1' + description: Bad Request + '403': + content: + application/json: + schema: + $ref: '#/components/schemas/APIErrorResponseV1' + description: Authentication Error + '404': + content: + application/json: + schema: + $ref: '#/components/schemas/APIErrorResponseV1' + description: Not Found + '409': + content: + application/json: + schema: + $ref: '#/components/schemas/APIErrorResponseV1' + description: Conflict + '429': + $ref: '#/components/responses/TooManyRequestsResponse' + summary: Update a notebook + tags: + - Notebooks + x-codegen-request-body-name: body + x-permission: + operator: OR + permissions: + - notebooks_write +components: + schemas: + AnnotationsResponse: + description: Response containing a list of annotations. + properties: + data: + $ref: '#/components/schemas/AnnotationsData' + required: + - data + type: object + JSONAPIErrorResponse: + description: API error response. + properties: + errors: + description: A list of errors. + items: + $ref: '#/components/schemas/JSONAPIErrorItem' + type: array + required: + - errors + type: object + AnnotationCreateRequest: + description: Request body for creating an annotation. + properties: + data: + $ref: '#/components/schemas/AnnotationRequestData' + required: + - data + type: object + AnnotationResponse: + description: Response containing a single annotation. + properties: + data: + $ref: '#/components/schemas/AnnotationData' + required: + - data + type: object + PageAnnotationsResponse: + description: Response containing all annotations on a page, grouped by widget. + properties: + data: + $ref: '#/components/schemas/PageAnnotationsData' + required: + - data + type: object + AnnotationUpdateRequest: + description: Request body for updating an annotation. + properties: + data: + $ref: '#/components/schemas/AnnotationRequestData' + required: + - data + type: object + DashboardListDeleteItemsRequest: + description: Request containing a list of dashboards to delete. + properties: + dashboards: + description: List of dashboards to delete from the dashboard list. + items: + $ref: '#/components/schemas/DashboardListItemRequest' + type: array + type: object + DashboardListDeleteItemsResponse: + description: Response containing a list of deleted dashboards. + properties: + deleted_dashboards_from_list: + description: List of dashboards deleted from the dashboard list. + items: + $ref: '#/components/schemas/DashboardListItemResponse' + type: array + type: object + APIErrorResponse: + description: API error response. + properties: + errors: + description: A list of errors. + example: + - Bad Request + items: + description: A list of items. + example: Bad Request + type: string + type: array + required: + - errors + type: object + DashboardListItems: + description: Dashboards within a list. + properties: + dashboards: + description: List of dashboards in the dashboard list. + example: [] + items: + $ref: '#/components/schemas/DashboardListItem' + type: array + total: + description: Number of dashboards in the dashboard list. + format: int64 + readOnly: true + type: integer + required: + - dashboards + type: object + DashboardListAddItemsRequest: + description: Request containing a list of dashboards to add. + properties: + dashboards: + description: List of dashboards to add the dashboard list. + items: + $ref: '#/components/schemas/DashboardListItemRequest' + type: array + type: object + DashboardListAddItemsResponse: + description: Response containing a list of added dashboards. + properties: + added_dashboards_to_list: + description: List of dashboards added to the dashboard list. + items: + $ref: '#/components/schemas/DashboardListItemResponse' + type: array + type: object + DashboardListUpdateItemsRequest: + description: Request containing the list of dashboards to update to. + properties: + dashboards: + description: List of dashboards to update the dashboard list to. + items: + $ref: '#/components/schemas/DashboardListItemRequest' + type: array + type: object + DashboardListUpdateItemsResponse: + description: Response containing a list of updated dashboards. + properties: + dashboards: + description: List of dashboards in the dashboard list. + items: + $ref: '#/components/schemas/DashboardListItemResponse' + type: array + type: object + ListSharedDashboardsResponse: + description: Response containing shared dashboards for a dashboard. + properties: + data: + description: Shared dashboards for the dashboard. + items: + $ref: '#/components/schemas/SharedDashboardResponse' + type: array + included: + description: Users and dashboards related to the shared dashboards. + items: + $ref: '#/components/schemas/SharedDashboardIncluded' + type: array + required: + - data + - included + type: object + SecureEmbedCreateRequest: + description: Request to create a secure embed shared dashboard. + properties: + data: + $ref: '#/components/schemas/SecureEmbedCreateRequestData' + required: + - data + type: object + SecureEmbedCreateResponse: + description: Response for creating a secure embed shared dashboard. + properties: + data: + $ref: '#/components/schemas/SecureEmbedCreateResponseData' + required: + - data + type: object + SecureEmbedGetResponse: + description: Response for getting a secure embed shared dashboard. + properties: + data: + $ref: '#/components/schemas/SecureEmbedGetResponseData' + required: + - data + type: object + SecureEmbedUpdateRequest: + description: Request to update a secure embed shared dashboard. + properties: + data: + $ref: '#/components/schemas/SecureEmbedUpdateRequestData' + required: + - data + type: object + SecureEmbedUpdateResponse: + description: Response for updating a secure embed shared dashboard. + properties: + data: + $ref: '#/components/schemas/SecureEmbedUpdateResponseData' + required: + - data + type: object + ListDashboardsUsageResponse: + description: Paginated list of dashboard usage records. + properties: + data: + description: Dashboard usage records, one per dashboard in the caller's organization. + items: + $ref: '#/components/schemas/DashboardUsage' + type: array + links: + $ref: '#/components/schemas/ListDashboardsUsageResponseLinks' + meta: + $ref: '#/components/schemas/ListDashboardsUsageResponseMeta' + required: + - data + - meta + type: object + DashboardUsageResponse: + description: Response containing usage statistics for a single dashboard. + properties: + data: + $ref: '#/components/schemas/DashboardUsage' + required: + - data + type: object + ListPowerpacksResponse: + description: Response object which includes all powerpack configurations. + properties: + data: + description: List of powerpack definitions. + items: + $ref: '#/components/schemas/PowerpackData' + type: array + included: + description: Array of objects related to the users. + items: + $ref: '#/components/schemas/User' + type: array + links: + $ref: '#/components/schemas/PowerpackResponseLinks' + meta: + $ref: '#/components/schemas/PowerpacksResponseMeta' + type: object + Powerpack: + description: Powerpacks are templated groups of dashboard widgets you can save from an existing dashboard and turn into reusable packs in the widget tray. + properties: + data: + $ref: '#/components/schemas/PowerpackData' + type: object + PowerpackResponse: + description: Response object which includes a single powerpack configuration. + properties: + data: + $ref: '#/components/schemas/PowerpackData' + included: + description: Array of objects related to the users. + items: + $ref: '#/components/schemas/User' + type: array + readOnly: true + type: object + DatasetReportScheduleListResponse: + description: Response containing a list of report schedules for a published dataset. + properties: + data: + description: A list of report schedules for the dataset. + items: + $ref: '#/components/schemas/DatasetReportScheduleResponseData' + type: array + included: + description: Related resources included with the report schedules, such as authors. + items: + $ref: '#/components/schemas/ReportScheduleIncludedResource' + type: array + required: + - data + type: object + PrintReportRequest: + description: Request body for initiating a print-only report. + properties: + data: + $ref: '#/components/schemas/PrintReportRequestData' + required: + - data + type: object + PrintReportResponse: + description: Response containing the initiated print-only report. + properties: + data: + $ref: '#/components/schemas/PrintReportResponseData' + required: + - data + type: object + ReportScheduleCreateRequest: + description: Request body for creating a report schedule. + properties: + data: + $ref: '#/components/schemas/ReportScheduleCreateRequestData' + required: + - data + type: object + ReportScheduleResponse: + description: Response containing a single report schedule. + properties: + data: + $ref: '#/components/schemas/ReportScheduleResponseData' + included: + description: Related resources included with the report schedule, such as the author. + items: + $ref: '#/components/schemas/ReportScheduleIncludedResource' + type: array + required: + - data + type: object + ReportScheduleListResponse: + description: Response containing a list of report schedules. + properties: + data: + description: The list of report schedules. + items: + $ref: '#/components/schemas/ReportScheduleListResponseData' + type: array + included: + description: Related resources included with the report schedules, such as authors and rendered resources. + items: + $ref: '#/components/schemas/ReportScheduleIncludedResource' + type: array + links: + $ref: '#/components/schemas/ReportScheduleListResponseLinks' + meta: + $ref: '#/components/schemas/ReportScheduleListResponseMeta' + required: + - data + type: object + ReportScheduleResourceType: + description: The type of dashboard resource the report schedule targets. + enum: + - dashboard + - integration_dashboard + example: dashboard + type: string + x-enum-varnames: + - DASHBOARD + - INTEGRATION_DASHBOARD + ReportSchedulePatchRequest: + description: Request body for updating a report schedule. + properties: + data: + $ref: '#/components/schemas/ReportSchedulePatchRequestData' + required: + - data + type: object + ReportScheduleToggleRequest: + description: Request body for toggling a report schedule. + properties: + data: + $ref: '#/components/schemas/ReportScheduleToggleRequestData' + required: + - data + type: object + CreateSnapshotRequest: + description: Request body for creating a graph snapshot. + properties: + data: + $ref: '#/components/schemas/CreateSnapshotDataRequest' + required: + - data + type: object + CreateSnapshotResponse: + description: Response body for a snapshot creation request. + properties: + data: + $ref: '#/components/schemas/CreateSnapshotDataResponse' + required: + - data + type: object + StegadographyGetWidgetsRequest: + description: Multipart form data containing the PNG image to scan for watermarks. + properties: + image: + description: PNG image file to scan for embedded watermarks. + example: screenshot.png + format: binary + type: string + required: + - image + type: object + StegadographyGetWidgetsResponse: + description: Response containing watermarked widgets recovered from an image. + properties: + data: + $ref: '#/components/schemas/StegadographyWidgetItems' + required: + - data + type: object + WidgetExperienceType: + description: Widget experience types that differentiate between the products using the specific widget. + enum: + - ccm_reports + - logs_reports + - csv_reports + - product_analytics + example: ccm_reports + type: string + x-enum-varnames: + - CCM_REPORTS + - LOGS_REPORTS + - CSV_REPORTS + - PRODUCT_ANALYTICS + WidgetType: + description: |- + Widget types that are allowed to be stored as individual records. + This is not a complete list of dashboard and notebook widget types. + enum: + - bar_chart + - change + - cloud_cost_summary + - cohort + - funnel + - geomap + - list_stream + - query_table + - query_value + - retention_curve + - sankey + - sunburst + - timeseries + - toplist + - treemap + example: bar_chart + type: string + x-enum-varnames: + - BAR_CHART + - CHANGE + - CLOUD_COST_SUMMARY + - COHORT + - FUNNEL + - GEOMAP + - LIST_STREAM + - QUERY_TABLE + - QUERY_VALUE + - RETENTION_CURVE + - SANKEY + - SUNBURST + - TIMESERIES + - TOPLIST + - TREEMAP + WidgetListResponse: + description: Response containing a list of widgets. + properties: + data: + description: List of widget resources. + items: + $ref: '#/components/schemas/WidgetData' + type: array + included: + description: Array of user resources related to the widgets. + items: + $ref: '#/components/schemas/WidgetIncludedUser' + type: array + meta: + $ref: '#/components/schemas/WidgetSearchMeta' + required: + - data + type: object + CreateOrUpdateWidgetRequest: + description: Request body for creating or updating a widget. + properties: + data: + $ref: '#/components/schemas/CreateOrUpdateWidgetRequestData' + required: + - data + type: object + WidgetResponse: + description: Response containing a single widget. + properties: + data: + $ref: '#/components/schemas/WidgetData' + included: + description: Array of user resources related to the widget. + items: + $ref: '#/components/schemas/WidgetIncludedUser' + type: array + required: + - data + type: object + DashboardBulkDeleteRequest: + description: Dashboard bulk delete request body. + example: + data: + - id: 123-abc-456 + type: dashboard + properties: + data: + $ref: '#/components/schemas/DashboardBulkActionDataList' + required: + - data + type: object + APIErrorResponseV1: + description: Error response object. + properties: + errors: + description: Array of errors returned by the API. + example: + - Bad Request + items: + description: Error description. + example: Bad Request + type: string + type: array + required: + - errors + type: object + DashboardSummary: + description: Dashboard summary response. + properties: + dashboards: + description: List of dashboard definitions. + items: + $ref: '#/components/schemas/DashboardSummaryDefinition' + type: array + type: object + DashboardRestoreRequest: + description: Dashboard restore request body. + example: + data: + - id: 123-abc-456 + type: dashboard + properties: + data: + $ref: '#/components/schemas/DashboardBulkActionDataList' + required: + - data + type: object + Dashboard: + description: |- + A dashboard is Datadog’s tool for visually tracking, analyzing, and displaying + key performance metrics, which enable you to monitor the health of your infrastructure. + properties: + author_handle: + description: Identifier of the dashboard author. + example: test@datadoghq.com + readOnly: true + type: string + author_name: + description: Name of the dashboard author. + example: John Doe + nullable: true + readOnly: true + type: string + created_at: + description: Creation date of the dashboard. + format: date-time + readOnly: true + type: string + default_timeframe: + $ref: '#/components/schemas/DashboardDefaultTimeframeSetting' + description: The default timeframe applied when opening the dashboard. Set to `null` to clear. + nullable: true + description: + description: Description of the dashboard. + nullable: true + type: string + id: + description: ID of the dashboard. + example: 123-abc-456 + readOnly: true + type: string + is_read_only: + deprecated: true + description: |- + Whether this dashboard is read-only. If True, only the author and admins can make changes to it. + + This property is deprecated; please use the [Restriction Policies API](https://docs.datadoghq.com/api/latest/restriction-policies/) instead to manage write authorization for individual dashboards. + example: false + type: boolean + layout_type: + $ref: '#/components/schemas/DashboardLayoutType' + modified_at: + description: Modification date of the dashboard. + format: date-time + readOnly: true + type: string + notify_list: + description: List of handles of users to notify when changes are made to this dashboard. + items: + description: User handles. + type: string + nullable: true + type: array + reflow_type: + $ref: '#/components/schemas/DashboardReflowType' + restricted_roles: + description: A list of role identifiers. Only the author and users associated with at least one of these roles can edit this dashboard. + items: + description: A role UUID. + type: string + type: array + tabs: + description: List of tabs for organizing dashboard widgets into groups. + items: + $ref: '#/components/schemas/DashboardTab' + maxItems: 100 + nullable: true + type: array + tags: + description: List of team names representing ownership of a dashboard. + items: + description: The name of a Datadog team of the form `team:` + type: string + maxItems: 5 + nullable: true + type: array + template_variable_presets: + description: Array of template variables saved views. + items: + $ref: '#/components/schemas/DashboardTemplateVariablePreset' + nullable: true + type: array + template_variables: + description: List of template variables for this dashboard. + items: + $ref: '#/components/schemas/DashboardTemplateVariable' + nullable: true + type: array + title: + description: Title of the dashboard. + example: '' + type: string + url: + description: The URL of the dashboard. + example: /dashboard/123-abc-456/example-dashboard-title + readOnly: true + type: string + widgets: + description: List of widgets to display on the dashboard. + example: + - definition: + requests: + fill: + q: avg:system.cpu.user{*} + type: hostmap + items: + $ref: '#/components/schemas/Widget' + type: array + required: + - title + - layout_type + - widgets + type: object + DashboardListListResponse: + description: Information on your dashboard lists. + properties: + dashboard_lists: + description: List of all your dashboard lists. + items: + $ref: '#/components/schemas/DashboardList' + type: array + type: object + DashboardList: + description: Your Datadog Dashboards. + properties: + author: + $ref: '#/components/schemas/CreatorV1' + created: + description: Date of creation of the dashboard list. + format: date-time + readOnly: true + type: string + dashboard_count: + description: The number of dashboards in the list. + format: int64 + readOnly: true + type: integer + id: + description: The ID of the dashboard list. + format: int64 + readOnly: true + type: integer + is_favorite: + description: Whether or not the list is in the favorites. + readOnly: true + type: boolean + modified: + description: Date of last edition of the dashboard list. + format: date-time + readOnly: true + type: string + name: + description: The name of the dashboard list. + example: My Dashboard + type: string + type: + description: The type of dashboard list. + example: manual_dashboard_list + readOnly: true + type: string + required: + - name + type: object + DashboardListDeleteResponse: + description: Deleted dashboard details. + properties: + deleted_dashboard_list_id: + description: ID of the deleted dashboard list. + format: int64 + type: integer + type: object + SharedDashboard: + description: The metadata object associated with how a dashboard has been/will be shared. + properties: + author: + $ref: '#/components/schemas/SharedDashboardAuthor' + created: + description: Date the dashboard was shared. + format: date-time + readOnly: true + type: string + dashboard_id: + description: ID of the dashboard to share. + example: 123-abc-456 + type: string + dashboard_type: + $ref: '#/components/schemas/DashboardTypeV1' + embeddable_domains: + description: The `SharedDashboard` `embeddable_domains`. + example: + - https://domain.atlassian.net/ + - http://myserver.com/ + items: + description: The allowlisted referrers for an EMBED shared dashboard. + type: string + type: array + expiration: + description: The time when an OPEN shared dashboard becomes publicly unavailable. + format: date-time + nullable: true + type: string + global_time: + $ref: '#/components/schemas/DashboardGlobalTime' + global_time_selectable_enabled: + description: Whether to allow viewers to select a different global time setting for the shared dashboard. + nullable: true + type: boolean + invitees: + description: The `SharedDashboard` `invitees`. + example: + - access_expiration: '2030-01-01T12:00:00.00Z' + email: test@datadoghq.com + - access_expiration: null + email: test2@datadoghq.com + items: + $ref: '#/components/schemas/SharedDashboardInviteesItems' + type: array + last_accessed: + description: The last time the shared dashboard was accessed. Null if never accessed. + format: date-time + nullable: true + readOnly: true + type: string + public_url: + description: URL of the shared dashboard. + readOnly: true + type: string + selectable_template_vars: + description: List of objects representing template variables on the shared dashboard which can have selectable values. + example: + - default_value: '*' + name: exampleVar + prefix: test + visible_tags: + - selectableValue1 + - selectableValue2 + items: + $ref: '#/components/schemas/SelectableTemplateVariableItems' + nullable: true + type: array + share_list: + deprecated: true + description: List of email addresses that can receive an invitation to access to the shared dashboard. + example: + - test@datadoghq.com + - test2@email.com + items: + description: Email address that can receive an invitation to access the shared dashboard. + type: string + nullable: true + type: array + share_type: + $ref: '#/components/schemas/DashboardShareType' + status: + $ref: '#/components/schemas/SharedDashboardStatusV1' + title: + description: Title of the shared dashboard. + type: string + token: + description: A unique token assigned to the shared dashboard. + readOnly: true + type: string + viewing_preferences: + $ref: '#/components/schemas/ViewingPreferences' + required: + - dashboard_id + - dashboard_type + type: object + DeleteSharedDashboardResponse: + description: Response containing token of deleted shared dashboard. + properties: + deleted_public_dashboard_token: + description: Token associated with the shared dashboard that was revoked. + type: string + type: object + SharedDashboardUpdateRequest: + description: Update a shared dashboard's settings. + example: + global_time: + live_span: 1h + share_list: + - test@datadoghq.com + - test2@datadoghq.com + share_type: invite + properties: + embeddable_domains: + description: The `SharedDashboard` `embeddable_domains`. + example: + - https://domain.atlassian.net/ + - http://myserver.com/ + items: + description: The allowlisted referrers for an EMBED shared dashboard. + type: string + type: array + expiration: + description: The time when an OPEN shared dashboard becomes publicly unavailable. + format: date-time + nullable: true + type: string + global_time: + $ref: '#/components/schemas/SharedDashboardUpdateRequestGlobalTime' + global_time_selectable_enabled: + description: Whether to allow viewers to select a different global time setting for the shared dashboard. + nullable: true + type: boolean + invitees: + description: The `SharedDashboard` `invitees`. + example: + - access_expiration: '2030-01-01T12:00:00.00Z' + email: test@datadoghq.com + - access_expiration: null + email: test2@datadoghq.com + items: + $ref: '#/components/schemas/SharedDashboardInviteesItems' + type: array + selectable_template_vars: + description: List of objects representing template variables on the shared dashboard which can have selectable values. + example: + - default_value: '*' + name: exampleVar + prefix: test + visible_tags: + - selectableValue1 + - selectableValue2 + items: + $ref: '#/components/schemas/SelectableTemplateVariableItems' + nullable: true + type: array + share_list: + deprecated: true + description: List of email addresses that can be given access to the shared dashboard. + example: + - test@datadoghq.com + - test2@email.com + items: + description: Email address that can receive an invitation to access the shared dashboard. + type: string + nullable: true + type: array + share_type: + $ref: '#/components/schemas/DashboardShareType' + status: + $ref: '#/components/schemas/SharedDashboardStatusV1' + title: + description: Title of the shared dashboard. + type: string + viewing_preferences: + $ref: '#/components/schemas/ViewingPreferences' + type: object + SharedDashboardInvites: + description: Invitations data and metadata that exists for a shared dashboard returned by the API. + example: + data: + - attributes: + email: test@datadoghq.com + type: public_dashboard_invitation + properties: + data: + $ref: '#/components/schemas/SharedDashboardInvitesData' + meta: + $ref: '#/components/schemas/SharedDashboardInvitesMeta' + required: + - data + type: object + DashboardDeleteResponse: + description: Response from the delete dashboard call. + properties: + deleted_dashboard_id: + description: ID of the deleted dashboard. + type: string + type: object + GraphSnapshot: + description: Object representing a graph snapshot. + properties: + graph_def: + description: |- + A JSON document defining the graph. `graph_def` can be used instead of `metric_query`. + The JSON document uses the [grammar defined here](https://docs.datadoghq.com/graphing/graphing_json/#grammar) + and should be formatted to a single line then URL encoded. + type: string + metric_query: + description: The metric query. One of `metric_query` or `graph_def` is required. + type: string + snapshot_url: + description: URL of your [graph snapshot](https://docs.datadoghq.com/metrics/explorer/#snapshot). + example: https://app.datadoghq.com/s/f12345678/aaa-bbb-ccc + type: string + type: object + NotebooksResponse: + description: Notebooks get all response. + properties: + data: + description: List of notebook definitions. + items: + $ref: '#/components/schemas/NotebooksResponseData' + type: array + meta: + $ref: '#/components/schemas/NotebooksResponseMeta' + type: object + NotebookCreateRequestV1: + description: The description of a notebook create request. + properties: + data: + $ref: '#/components/schemas/NotebookCreateDataV1' + required: + - data + type: object + NotebookResponse: + description: The description of a notebook response. + properties: + data: + $ref: '#/components/schemas/NotebookResponseData' + type: object + NotebookUpdateRequest: + description: The description of a notebook update request. + properties: + data: + $ref: '#/components/schemas/NotebookUpdateData' + required: + - data + type: object + AnnotationsData: + description: List of annotation resources. + items: + $ref: '#/components/schemas/AnnotationData' + type: array + JSONAPIErrorItem: + description: API error response body + properties: + detail: + description: A human-readable explanation specific to this occurrence of the error. + example: Missing required attribute in body + type: string + meta: + additionalProperties: {} + description: Non-standard meta-information about the error + type: object + source: + $ref: '#/components/schemas/JSONAPIErrorItemSource' + status: + description: Status code of the response. + example: '400' + type: string + title: + description: Short human-readable summary of the error. + example: Bad Request + type: string + type: object + AnnotationRequestData: + description: Data for creating an annotation. + properties: + attributes: + $ref: '#/components/schemas/AnnotationCreateAttributes' + type: + $ref: '#/components/schemas/AnnotationType' + required: + - type + - attributes + type: object + AnnotationData: + description: A single annotation resource. + properties: + attributes: + $ref: '#/components/schemas/AnnotationAttributes' + id: + description: Unique identifier of the annotation. + example: 00000000-0000-0000-0000-000000000000 + format: uuid + type: string + type: + $ref: '#/components/schemas/AnnotationType' + required: + - id + - type + - attributes + type: object + PageAnnotationsData: + description: Annotations grouped by widget for a single page. + properties: + attributes: + $ref: '#/components/schemas/PageAnnotationsAttributes' + id: + description: |- + ID of the page, prefixed with the page type and joined by a colon + (for example, `dashboard:abc-def-xyz` or `notebook:1234567890`). + example: dashboard:abc-def-xyz + type: string + type: + $ref: '#/components/schemas/PageAnnotationsType' + required: + - id + - type + - attributes + type: object + DashboardListItemRequest: + description: A dashboard within a list. + properties: + id: + description: ID of the dashboard. + example: q5j-nti-fv6 + type: string + type: + $ref: '#/components/schemas/DashboardType' + required: + - type + - id + type: object + DashboardListItemResponse: + description: A dashboard within a list. + properties: + id: + description: ID of the dashboard. + example: q5j-nti-fv6 + readOnly: true + type: string + type: + $ref: '#/components/schemas/DashboardType' + required: + - type + - id + type: object + DashboardListItem: + description: A dashboard within a list. + properties: + author: + $ref: '#/components/schemas/Creator' + created: + description: Date of creation of the dashboard. + format: date-time + readOnly: true + type: string + icon: + description: URL to the icon of the dashboard. + nullable: true + readOnly: true + type: string + id: + description: ID of the dashboard. + example: q5j-nti-fv6 + type: string + integration_id: + description: The short name of the integration. + nullable: true + readOnly: true + type: string + is_favorite: + description: Whether or not the dashboard is in the favorites. + readOnly: true + type: boolean + is_read_only: + description: Whether or not the dashboard is read only. + readOnly: true + type: boolean + is_shared: + description: Whether the dashboard is publicly shared or not. + readOnly: true + type: boolean + modified: + description: Date of last edition of the dashboard. + format: date-time + readOnly: true + type: string + popularity: + description: Popularity of the dashboard. + format: int32 + maximum: 5 + readOnly: true + type: integer + tags: + description: List of team names representing ownership of a dashboard. + items: + description: The name of a Datadog team, formatted as `team:` + type: string + maxItems: 5 + nullable: true + readOnly: true + type: array + title: + description: Title of the dashboard. + readOnly: true + type: string + type: + $ref: '#/components/schemas/DashboardType' + url: + description: URL path to the dashboard. + readOnly: true + type: string + required: + - type + - id + type: object + SharedDashboardResponse: + description: A shared dashboard response resource. + properties: + attributes: + $ref: '#/components/schemas/SharedDashboardResponseAttributes' + id: + description: ID of the shared dashboard. + example: '12345' + type: string + relationships: + $ref: '#/components/schemas/SharedDashboardRelationships' + type: + $ref: '#/components/schemas/SharedDashboardType' + required: + - id + - type + - attributes + - relationships + type: object + SharedDashboardIncluded: + description: Resource included with a shared dashboard. + properties: + attributes: + $ref: '#/components/schemas/SharedDashboardIncludedDashboardAttributes' + id: + description: ID of the dashboard. + example: abc-def-ghi + type: string + type: + $ref: '#/components/schemas/SharedDashboardIncludedDashboardType' + required: + - id + - type + - attributes + type: object + SecureEmbedCreateRequestData: + description: Data object for creating a secure embed. + properties: + attributes: + $ref: '#/components/schemas/SecureEmbedCreateRequestAttributes' + type: + $ref: '#/components/schemas/SecureEmbedRequestType' + required: + - type + - attributes + type: object + SecureEmbedCreateResponseData: + description: Data object for a secure embed create response. + properties: + attributes: + $ref: '#/components/schemas/SecureEmbedCreateResponseAttributes' + id: + description: Internal share ID. + example: '12345' + type: string + type: + $ref: '#/components/schemas/SecureEmbedCreateResponseType' + required: + - type + - id + - attributes + type: object + SecureEmbedGetResponseData: + description: Data object for a secure embed get response. + properties: + attributes: + $ref: '#/components/schemas/SecureEmbedGetResponseAttributes' + id: + description: Internal share ID. + example: '12345' + type: string + type: + $ref: '#/components/schemas/SecureEmbedGetResponseType' + required: + - type + - id + - attributes + type: object + SecureEmbedUpdateRequestData: + description: Data object for updating a secure embed. + properties: + attributes: + $ref: '#/components/schemas/SecureEmbedUpdateRequestAttributes' + type: + $ref: '#/components/schemas/SecureEmbedUpdateRequestType' + required: + - type + - attributes + type: object + SecureEmbedUpdateResponseData: + description: Data object for a secure embed update response. + properties: + attributes: + $ref: '#/components/schemas/SecureEmbedUpdateResponseAttributes' + id: + description: Internal share ID. + example: '12345' + type: string + type: + $ref: '#/components/schemas/SecureEmbedUpdateResponseType' + required: + - type + - id + - attributes + type: object + DashboardUsage: + description: A single dashboard usage record. + properties: + attributes: + $ref: '#/components/schemas/DashboardUsageAttributes' + id: + description: The dashboard ID. + example: q5j-nti-fv6 + type: string + type: + $ref: '#/components/schemas/DashboardUsageType' + required: + - id + - type + - attributes + type: object + ListDashboardsUsageResponseLinks: + description: Pagination links for a list of dashboard usage records. + properties: + first: + description: Link to the first page. + example: https://api.datadoghq.com/api/v2/dashboards/usage?page[offset]=0&page[limit]=250 + type: string + last: + description: Link to the last page, or `null` if the total is unknown. + nullable: true + type: string + next: + description: Link to the next page. Absent when there is no next page. + nullable: true + type: string + prev: + description: Link to the previous page. Absent when there is no previous page. + nullable: true + type: string + self: + description: Link to the current page. + example: https://api.datadoghq.com/api/v2/dashboards/usage + type: string + type: object + ListDashboardsUsageResponseMeta: + description: Pagination metadata for a list of dashboard usage records. + properties: + page: + $ref: '#/components/schemas/PaginationMetaPage' + type: object + PowerpackData: + description: Powerpack data object. + properties: + attributes: + $ref: '#/components/schemas/PowerpackAttributes' + id: + description: ID of the powerpack. + type: string + relationships: + $ref: '#/components/schemas/PowerpackRelationships' + type: + description: Type of widget, must be powerpack. + example: powerpack + type: string + type: object + User: + description: User object returned by the API. + properties: + attributes: + $ref: '#/components/schemas/UserAttributes' + id: + description: ID of the user. + type: string + relationships: + $ref: '#/components/schemas/UserResponseRelationships' + type: + $ref: '#/components/schemas/UsersType' + type: object + PowerpackResponseLinks: + description: Links attributes. + properties: + first: + description: Link to last page. + type: string + last: + description: Link to first page. + example: https://app.datadoghq.com/api/v2/powerpacks?page[offset]=0&page[limit]=25 + nullable: true + type: string + next: + description: Link for the next set of results. + example: https://app.datadoghq.com/api/v2/powerpacks?page[offset]=25&page[limit]=25 + type: string + prev: + description: Link for the previous set of results. + nullable: true + type: string + self: + description: Link to current page. + example: https://app.datadoghq.com/api/v2/powerpacks + type: string + type: object + PowerpacksResponseMeta: + description: Powerpack response metadata. + properties: + pagination: + $ref: '#/components/schemas/PowerpacksResponseMetaPagination' + type: object + DatasetReportScheduleResponseData: + description: The JSON:API data object representing a dataset report schedule. + properties: + attributes: + $ref: '#/components/schemas/DatasetReportScheduleResponseAttributes' + id: + description: The unique identifier of the dataset report schedule. + example: e1234567-1234-1234-1234-123456789012 + format: uuid + type: string + relationships: + $ref: '#/components/schemas/ReportScheduleResponseRelationships' + type: + $ref: '#/components/schemas/ReportScheduleType' + required: + - id + - type + - attributes + - relationships + type: object + ReportScheduleIncludedResource: + description: A related resource included with a report schedule. + properties: + attributes: + $ref: '#/components/schemas/ReportScheduleAuthorAttributes' + id: + description: The user UUID. + example: aaaaaaaa-bbbb-cccc-dddd-eeeeeeeeeeee + type: string + type: + $ref: '#/components/schemas/ReportScheduleAuthorType' + required: + - type + - id + - attributes + type: object + PrintReportRequestData: + description: The JSON:API data object for a print report request. + properties: + attributes: + $ref: '#/components/schemas/PrintReportRequestAttributes' + type: + $ref: '#/components/schemas/PrintReportType' + required: + - type + - attributes + type: object + PrintReportResponseData: + description: The JSON:API data object for a print-only report. + properties: + attributes: + $ref: '#/components/schemas/PrintReportResponseAttributes' + id: + description: The unique identifier of the report. + example: 11111111-2222-3333-4444-555555555555 + format: uuid + type: string + type: + $ref: '#/components/schemas/PrintReportType' + required: + - id + - type + - attributes + type: object + ReportScheduleCreateRequestData: + description: The JSON:API data object for a report schedule creation request. + properties: + attributes: + $ref: '#/components/schemas/ReportScheduleCreateRequestAttributes' + type: + $ref: '#/components/schemas/ReportScheduleType' + required: + - type + - attributes + type: object + ReportScheduleResponseData: + description: The JSON:API data object representing a report schedule. + properties: + attributes: + $ref: '#/components/schemas/ReportScheduleResponseAttributes' + id: + description: The unique identifier of the report schedule. + example: 11111111-2222-3333-4444-555555555555 + type: string + relationships: + $ref: '#/components/schemas/ReportScheduleResponseRelationships' + type: + $ref: '#/components/schemas/ReportScheduleType' + required: + - id + - type + - attributes + - relationships + type: object + ReportScheduleListResponseData: + description: The JSON:API data object representing a report schedule in a list response. + properties: + attributes: + $ref: '#/components/schemas/ReportScheduleListResponseAttributes' + id: + description: The unique identifier of the report schedule. + example: 11111111-2222-3333-4444-555555555555 + type: string + relationships: + $ref: '#/components/schemas/ReportScheduleListResponseRelationships' + type: + $ref: '#/components/schemas/ReportScheduleType' + required: + - id + - type + - attributes + - relationships + type: object + ReportScheduleListResponseLinks: + description: Pagination links for navigating a report schedule list response. + properties: + first: + description: Link to the first page. + example: https://api.datadoghq.com/api/v2/reporting/schedule/list?page[offset]=0&page[limit]=25 + nullable: true + type: string + last: + description: Link to the last page, or `null` if it is unavailable. + example: https://api.datadoghq.com/api/v2/reporting/schedule/list?page[offset]=0&page[limit]=25 + nullable: true + type: string + next: + description: Link to the next page, or `null` if it is unavailable. + example: https://api.datadoghq.com/api/v2/reporting/schedule/list?page[offset]=25&page[limit]=25 + nullable: true + type: string + prev: + description: Link to the previous page, or `null` if it is unavailable. + example: https://api.datadoghq.com/api/v2/reporting/schedule/list?page[offset]=0&page[limit]=25 + nullable: true + type: string + self: + description: Link to the current page. + example: https://api.datadoghq.com/api/v2/reporting/schedule/list?page[limit]=25 + nullable: true + type: string + type: object + ReportScheduleListResponseMeta: + description: Metadata for a paginated report schedule list response. + properties: + pagination: + $ref: '#/components/schemas/ReportScheduleListResponsePagination' + type: object + ReportSchedulePatchRequestData: + description: The JSON:API data object for a report schedule update request. + properties: + attributes: + $ref: '#/components/schemas/ReportSchedulePatchRequestAttributes' + type: + $ref: '#/components/schemas/ReportScheduleType' + required: + - type + - attributes + type: object + ReportScheduleToggleRequestData: + description: The JSON:API data object for a report schedule toggle request. + properties: + attributes: + $ref: '#/components/schemas/ReportScheduleToggleRequestAttributes' + type: + $ref: '#/components/schemas/ReportScheduleType' + required: + - type + - attributes + type: object + CreateSnapshotDataRequest: + description: Data envelope for snapshot creation. + properties: + attributes: + $ref: '#/components/schemas/CreateSnapshotDataAttributesRequest' + type: + $ref: '#/components/schemas/CreateSnapshotType' + required: + - type + - attributes + type: object + CreateSnapshotDataResponse: + description: Data envelope for the snapshot creation response. + properties: + attributes: + $ref: '#/components/schemas/CreateSnapshotDataAttributesResponse' + id: + description: The unique identifier of the created snapshot. + example: 12345678-1234-5678-9abc-def123456789 + type: string + type: + $ref: '#/components/schemas/CreateSnapshotType' + required: + - id + - type + - attributes + type: object + StegadographyWidgetItems: + description: List of watermarked widget resources recovered from an image. + example: + - attributes: + locationx: 100 + locationy: 200 + rawData: '{"widgetType":"timeseries","requests":[]}' + watermark: 0123456789abcdef + id: abc123:0123456789abcdef + type: widget + items: + $ref: '#/components/schemas/StegadographyWidget' + type: array + WidgetData: + description: A widget resource object. + properties: + attributes: + $ref: '#/components/schemas/WidgetAttributes' + id: + description: The unique identifier of the widget. + example: a1b2c3d4-e5f6-7890-abcd-ef1234567890 + type: string + relationships: + $ref: '#/components/schemas/WidgetRelationships' + type: + description: Widgets resource type. + example: widgets + type: string + required: + - id + - type + - attributes + type: object + WidgetIncludedUser: + description: A user resource included in the response. + properties: + attributes: + $ref: '#/components/schemas/WidgetIncludedUserAttributes' + id: + description: The unique identifier of the user. + example: a1b2c3d4-e5f6-7890-abcd-ef1234567890 + type: string + type: + description: Users resource type. + example: users + type: string + required: + - id + - type + type: object + WidgetSearchMeta: + description: Metadata about the search results. + properties: + created_by_anyone_total: + description: Total number of widgets created by anyone. + format: int64 + type: integer + created_by_you_total: + description: Total number of widgets created by the current user. + format: int64 + type: integer + favorited_by_you_total: + description: Total number of widgets favorited by the current user. + format: int64 + type: integer + filtered_total: + description: Total number of widgets matching the current filter criteria. + format: int64 + type: integer + type: object + CreateOrUpdateWidgetRequestData: + description: Data for creating or updating a widget. + properties: + attributes: + $ref: '#/components/schemas/CreateOrUpdateWidgetRequestAttributes' + type: + description: Widgets resource type. + example: widgets + type: string + required: + - type + - attributes + type: object + DashboardBulkActionDataList: + description: List of dashboard bulk action request data objects. + example: + - id: 123-abc-456 + type: dashboard + items: + $ref: '#/components/schemas/DashboardBulkActionData' + type: array + DashboardSummaryDefinition: + description: Dashboard definition. + properties: + author_handle: + description: Identifier of the dashboard author. + type: string + created_at: + description: Creation date of the dashboard. + format: date-time + type: string + description: + description: Description of the dashboard. + nullable: true + type: string + id: + description: Dashboard identifier. + type: string + is_read_only: + deprecated: true + description: |- + Whether this dashboard is read-only. If True, only the author and admins can make changes to it. + + This property is deprecated; please use the [Restriction Policies API](https://docs.datadoghq.com/api/latest/restriction-policies/) instead to manage write authorization for individual dashboards. + type: boolean + layout_type: + $ref: '#/components/schemas/DashboardLayoutType' + modified_at: + description: Modification date of the dashboard. + format: date-time + type: string + title: + description: Title of the dashboard. + type: string + url: + description: URL of the dashboard. + type: string + type: object + DashboardDefaultTimeframeSetting: + description: The default timeframe applied when opening the dashboard. Set to `null` to clear the dashboard's default timeframe. + properties: + type: + $ref: '#/components/schemas/DashboardLiveTimeframeType' + unit: + $ref: '#/components/schemas/WidgetLiveSpanUnit' + value: + description: Value of the live timeframe span. + example: 4 + format: int64 + minimum: 1 + type: integer + from: + description: Start time in milliseconds since epoch. + example: 1712080128000 + format: int64 + minimum: 0 + type: integer + to: + description: End time in milliseconds since epoch. + example: 1712083128000 + format: int64 + minimum: 0 + type: integer + required: + - type + - value + - unit + - from + - to + type: object + DashboardLayoutType: + description: Layout type of the dashboard. + enum: + - ordered + - free + example: ordered + type: string + x-enum-varnames: + - ORDERED + - FREE + DashboardReflowType: + description: |- + Reflow type for a **new dashboard layout** dashboard. Set this only when layout type is 'ordered'. + If set to 'fixed', the dashboard expects all widgets to have a layout, and if it's set to 'auto', + widgets should not have layouts. + enum: + - auto + - fixed + type: string + x-enum-varnames: + - AUTO + - FIXED + DashboardTab: + description: Dashboard tab for organizing widgets. + properties: + id: + description: UUID of the tab. + example: '' + format: uuid + type: string + name: + description: Name of the tab. + example: L + maxLength: 100 + minLength: 1 + type: string + widget_ids: + description: List of widget IDs belonging to this tab. The backend also accepts positional references in @N format (1-indexed) as a convenience for Terraform and other declarative tools. + example: + - 0 + items: + description: Widget ID. + format: int64 + type: integer + type: array + required: + - id + - name + - widget_ids + type: object + DashboardTemplateVariablePreset: + description: Template variables saved views. + properties: + name: + description: The name of the variable. + type: string + template_variables: + description: List of variables. + items: + $ref: '#/components/schemas/DashboardTemplateVariablePresetValue' + type: array + type: object + DashboardTemplateVariable: + description: Template variable. + properties: + available_values: + description: The list of values that the template variable drop-down is limited to. + example: + - my-host + - host1 + - host2 + items: + description: Template variable value. + type: string + nullable: true + type: array + default: + deprecated: true + description: (deprecated) The default value for the template variable on dashboard load. Cannot be used in conjunction with `defaults`. + example: my-host + nullable: true + type: string + defaults: + description: One or many default values for template variables on load. If more than one default is specified, they will be unioned together with `OR`. Cannot be used in conjunction with `default`. + example: + - my-host-1 + - my-host-2 + items: + description: One of many default values for the template variable on dashboard load. + minLength: 1 + type: string + type: array + name: + description: The name of the variable. + example: host1 + type: string + prefix: + description: The tag prefix associated with the variable. Only tags with this prefix appear in the variable drop-down. + example: host + nullable: true + type: string + type: + description: The type of variable. This is to differentiate between filter variables (interpolated in query) and group by variables (interpolated into group by). + example: group + nullable: true + type: string + required: + - name + type: object + Widget: + description: |- + Information about widget. + + **Note**: The `layout` property is required for widgets in dashboards with `free` `layout_type`. + For the **new dashboard layout**, the `layout` property depends on the `reflow_type` of the dashboard. + - If `reflow_type` is `fixed`, `layout` is required. + - If `reflow_type` is `auto`, `layout` should not be set. + properties: + definition: + $ref: '#/components/schemas/WidgetDefinitionV1' + id: + description: ID of the widget. + format: int64 + type: integer + layout: + $ref: '#/components/schemas/WidgetLayout' + required: + - definition + type: object + CreatorV1: + description: Object describing the creator of the shared element. + properties: + email: + description: Email of the creator. + type: string + handle: + description: Handle of the creator. + type: string + name: + description: Name of the creator. + nullable: true + type: string + readOnly: true + type: object + SharedDashboardAuthor: + description: User who shared the dashboard. + properties: + handle: + description: Identifier of the user who shared the dashboard. + example: test@datadoghq.com + readOnly: true + type: string + name: + description: Name of the user who shared the dashboard. + nullable: true + readOnly: true + type: string + readOnly: true + type: object + DashboardTypeV1: + description: The type of the associated private dashboard. + enum: + - custom_timeboard + - custom_screenboard + example: custom_timeboard + type: string + x-enum-varnames: + - CUSTOM_TIMEBOARD + - CUSTOM_SCREENBOARD + DashboardGlobalTime: + description: Object containing the live span selection for the dashboard. + properties: + live_span: + $ref: '#/components/schemas/DashboardGlobalTimeLiveSpan' + type: object + SharedDashboardInviteesItems: + description: The allowlisted invitees for an INVITE-only shared dashboard. + properties: + access_expiration: + description: Time of the invitee expiration. Null means the invite will not expire. + format: date-time + nullable: true + type: string + created_at: + description: Time that the invitee was created. + format: date-time + readOnly: true + type: string + email: + description: Email of the invitee. + example: test@datadoghq.com + type: string + required: + - email + type: object + SelectableTemplateVariableItems: + description: Object containing the template variable's name, associated tag/attribute, default value and selectable values. + properties: + default_value: + description: The default value of the template variable. + type: string + name: + description: Name of the template variable. + type: string + prefix: + description: The tag/attribute key associated with the template variable. + type: string + type: + description: The type of variable. This is to differentiate between filter variables (interpolated in query) and group by variables (interpolated into group by). + nullable: true + type: string + visible_tags: + description: List of visible tag values on the shared dashboard. + items: + description: Other values for this tag that can be selected on the shared dashboard. + type: string + nullable: true + type: array + type: object + DashboardShareType: + description: Type of sharing access (either open to anyone who has the public URL or invite-only). + enum: + - open + - invite + - embed + nullable: true + type: string + x-enum-varnames: + - OPEN + - INVITE + - EMBED + SharedDashboardStatusV1: + description: Active means the dashboard is publicly available. Paused means the dashboard is not publicly available. + enum: + - active + - paused + example: active + type: string + x-enum-varnames: + - ACTIVE + - PAUSED + ViewingPreferences: + description: The viewing preferences for a shared dashboard. + properties: + high_density: + description: Whether the widgets on the shared dashboard should be displayed with high density. + type: boolean + theme: + $ref: '#/components/schemas/ViewingPreferencesTheme' + type: object + SharedDashboardUpdateRequestGlobalTime: + description: Timeframe setting for the shared dashboard. + example: + live_span: 1h + nullable: true + properties: + live_span: + $ref: '#/components/schemas/DashboardGlobalTimeLiveSpan' + type: object + SharedDashboardInvitesData: + description: An object or list of objects containing the information for an invitation to a shared dashboard. + example: + - attributes: + email: test@datadoghq.com + type: public_dashboard_invitation + properties: + attributes: + $ref: '#/components/schemas/SharedDashboardInvitesDataObjectAttributes' + type: + $ref: '#/components/schemas/DashboardInviteType' + required: + - type + - attributes + type: object + items: + $ref: '#/components/schemas/SharedDashboardInvitesDataObject' + SharedDashboardInvitesMeta: + description: Pagination metadata returned by the API. + properties: + page: + $ref: '#/components/schemas/SharedDashboardInvitesMetaPage' + readOnly: true + type: object + NotebooksResponseData: + description: The data for a notebook in get all response. + properties: + attributes: + $ref: '#/components/schemas/NotebooksResponseDataAttributes' + id: + description: Unique notebook ID, assigned when you create the notebook. + example: 123456 + format: int64 + readOnly: true + type: integer + type: + $ref: '#/components/schemas/NotebookResourceTypeV1' + required: + - id + - type + - attributes + type: object + NotebooksResponseMeta: + description: Searches metadata returned by the API. + properties: + page: + $ref: '#/components/schemas/NotebooksResponsePage' + type: object + NotebookCreateDataV1: + description: The data for a notebook create request. + properties: + attributes: + $ref: '#/components/schemas/NotebookCreateDataAttributes' + type: + $ref: '#/components/schemas/NotebookResourceTypeV1' + required: + - type + - attributes + type: object + NotebookResponseData: + description: The data for a notebook. + properties: + attributes: + $ref: '#/components/schemas/NotebookResponseDataAttributes' + id: + description: Unique notebook ID, assigned when you create the notebook. + example: 123456 + format: int64 + readOnly: true + type: integer + type: + $ref: '#/components/schemas/NotebookResourceTypeV1' + required: + - id + - type + - attributes + type: object + NotebookUpdateData: + description: The data for a notebook update request. + properties: + attributes: + $ref: '#/components/schemas/NotebookUpdateDataAttributes' + type: + $ref: '#/components/schemas/NotebookResourceTypeV1' + required: + - type + - attributes + type: object + JSONAPIErrorItemSource: + description: References to the source of the error. + properties: + header: + description: A string indicating the name of a single request header which caused the error. + example: Authorization + type: string + parameter: + description: A string indicating which URI query parameter caused the error. + example: limit + type: string + pointer: + description: A JSON pointer to the value in the request document that caused the error. + example: /data/attributes/title + type: string + type: object + AnnotationCreateAttributes: + description: Attributes for creating or updating an annotation. + properties: + color: + $ref: '#/components/schemas/AnnotationColor' + description: + description: User-defined text attached to the annotation. + example: Deployed v2.3.1 to production. + type: string + end_time: + description: End time of the annotation in milliseconds since the Unix epoch. Required for `timeRegion` annotations; omit or set to null for `pointInTime` annotations. + example: 1704070800000 + format: int64 + nullable: true + type: integer + page_id: + description: |- + ID of the page the annotation belongs to, prefixed with the page type and joined by a colon + (for example, `dashboard:abc-def-xyz` or `notebook:1234567890`). + example: dashboard:abc-def-xyz + type: string + start_time: + description: Start time of the annotation in milliseconds since the Unix epoch. + example: 1704067200000 + format: int64 + type: integer + type: + $ref: '#/components/schemas/AnnotationKind' + widget_ids: + description: IDs of widgets the annotation is associated with. When empty or omitted, the annotation applies to the whole page. + example: + - '1234567890' + items: + description: Widget ID. + type: string + type: array + required: + - page_id + - description + - type + - color + - start_time + type: object + AnnotationType: + description: Annotation resource type. + enum: + - annotation + example: annotation + type: string + x-enum-varnames: + - ANNOTATION + AnnotationAttributes: + description: Attributes of an annotation returned in a response. + properties: + author_id: + description: Identifier of the user who created the annotation. + example: 00000000-0000-0000-0000-000000000000 + type: string + color: + $ref: '#/components/schemas/AnnotationColor' + created_at: + description: Creation time of the annotation in milliseconds since the Unix epoch. + example: 1704067200000 + format: int64 + type: integer + description: + description: User-defined text attached to the annotation. + example: Deployed v2.3.1 to production. + type: string + end_time: + description: End time of the annotation in milliseconds since the Unix epoch. Null for `pointInTime` annotations. + example: 1704070800000 + format: int64 + nullable: true + type: integer + modified_at: + description: Last modification time of the annotation in milliseconds since the Unix epoch. + example: 1704067200000 + format: int64 + type: integer + page_id: + description: |- + ID of the page the annotation belongs to, prefixed with the page type and joined by a colon + (for example, `dashboard:abc-def-xyz` or `notebook:1234567890`). + example: dashboard:abc-def-xyz + type: string + start_time: + description: Start time of the annotation in milliseconds since the Unix epoch. + example: 1704067200000 + format: int64 + type: integer + type: + $ref: '#/components/schemas/AnnotationKind' + widget_ids: + description: IDs of widgets the annotation is associated with. When empty or omitted, the annotation applies to the whole page. + example: + - '1234567890' + items: + description: Widget ID. + type: string + type: array + required: + - page_id + - description + - author_id + - type + - color + - start_time + - end_time + - created_at + - modified_at + type: object + PageAnnotationsAttributes: + description: Attributes of the annotations on a page. + properties: + annotations: + $ref: '#/components/schemas/AnnotationsInPageMap' + global_annotations: + $ref: '#/components/schemas/GlobalAnnotationIds' + widget_mapping: + $ref: '#/components/schemas/WidgetAnnotationsMap' + required: + - annotations + - widget_mapping + - global_annotations + type: object + PageAnnotationsType: + description: Page annotations resource type. + enum: + - page_annotations + example: page_annotations + type: string + x-enum-varnames: + - PAGE_ANNOTATIONS + DashboardType: + description: The type of the dashboard. + enum: + - custom_timeboard + - custom_screenboard + - integration_screenboard + - integration_timeboard + - host_timeboard + example: host_timeboard + type: string + x-enum-varnames: + - CUSTOM_TIMEBOARD + - CUSTOM_SCREENBOARD + - INTEGRATION_SCREENBOARD + - INTEGRATION_TIMEBOARD + - HOST_TIMEBOARD + Creator: + description: Creator of the object. + properties: + email: + description: Email of the creator. + type: string + handle: + description: Handle of the creator. + type: string + name: + description: Name of the creator. + nullable: true + type: string + type: object + SharedDashboardResponseAttributes: + description: Attributes of a shared dashboard response. + properties: + created_at: + description: Time when the shared dashboard was created. + example: '2026-01-01T00:00:00.000Z' + format: date-time + type: string + embeddable_domains: + description: Domains where embed-type shared dashboards can be embedded. + example: + - https://example.com + items: + description: An embeddable domain. + type: string + type: array + expiration: + description: Time when the shared dashboard expires. + example: '2026-02-01T00:00:00.000Z' + format: date-time + nullable: true + type: string + global_time: + $ref: '#/components/schemas/SharedDashboardGlobalTime' + global_time_selectable: + description: Whether viewers can select a different global time setting. + example: false + type: boolean + invitees: + description: Invitees for invite-only shared dashboards. + items: + $ref: '#/components/schemas/SharedDashboardInvitee' + type: array + last_accessed: + description: Time when the shared dashboard was last accessed. + example: '2026-01-15T09:30:00.000Z' + format: date-time + nullable: true + type: string + selectable_template_vars: + description: Template variables that viewers can modify. + items: + $ref: '#/components/schemas/SharedDashboardSelectableTemplateVariable' + type: array + share_type: + $ref: '#/components/schemas/SharedDashboardShareType' + sharer_disabled: + description: Whether the user who shared the dashboard is disabled. + example: false + type: boolean + status: + $ref: '#/components/schemas/SharedDashboardStatus' + title: + description: Display title for the shared dashboard. + example: Q1 Metrics Dashboard + type: string + token: + description: Token assigned to the shared dashboard. + example: abc-123-token + type: string + url: + description: URL for the shared dashboard. + example: https://p.datadoghq.com/sb/abc-123-token + type: string + viewing_preferences: + $ref: '#/components/schemas/SharedDashboardViewingPreferences' + required: + - token + - title + - url + - viewing_preferences + - global_time_selectable + - global_time + - selectable_template_vars + - created_at + - last_accessed + - status + - share_type + - invitees + - embeddable_domains + - expiration + - sharer_disabled + type: object + SharedDashboardRelationships: + description: Relationships of a shared dashboard. + properties: + dashboard: + $ref: '#/components/schemas/SharedDashboardRelationshipDashboard' + sharer: + $ref: '#/components/schemas/SharedDashboardRelationshipSharer' + required: + - dashboard + - sharer + type: object + SharedDashboardType: + default: shared_dashboard + description: Shared dashboard resource type. + enum: + - shared_dashboard + example: shared_dashboard + type: string + x-enum-varnames: + - SHARED_DASHBOARD + SharedDashboardIncludedDashboard: + description: Included dashboard resource. + properties: + attributes: + $ref: '#/components/schemas/SharedDashboardIncludedDashboardAttributes' + id: + description: ID of the dashboard. + example: abc-def-ghi + type: string + type: + $ref: '#/components/schemas/SharedDashboardIncludedDashboardType' + required: + - id + - type + - attributes + type: object + SharedDashboardIncludedUser: + description: Included user resource. + properties: + attributes: + $ref: '#/components/schemas/SharedDashboardIncludedUserAttributes' + id: + description: ID of the user. + example: 00000000-0000-0000-0000-000000000000 + type: string + type: + $ref: '#/components/schemas/UserResourceType' + required: + - id + - type + - attributes + type: object + SecureEmbedCreateRequestAttributes: + description: Attributes for creating a secure embed shared dashboard. + properties: + global_time: + $ref: '#/components/schemas/SecureEmbedGlobalTime' + global_time_selectable: + description: Whether viewers can change the time range. + example: true + type: boolean + selectable_template_vars: + description: Template variables viewers can modify. + items: + $ref: '#/components/schemas/SecureEmbedSelectableTemplateVariable' + type: array + status: + $ref: '#/components/schemas/SecureEmbedStatus' + title: + description: Display title for the shared dashboard. + example: Q1 Metrics Dashboard + type: string + viewing_preferences: + $ref: '#/components/schemas/SecureEmbedViewingPreferences' + required: + - status + - title + - global_time_selectable + - selectable_template_vars + - viewing_preferences + - global_time + type: object + SecureEmbedRequestType: + description: Resource type for secure embed create requests. + enum: + - secure_embed_request + example: secure_embed_request + type: string + x-enum-varnames: + - SECURE_EMBED_REQUEST + SecureEmbedCreateResponseAttributes: + description: Attributes of a newly created secure embed shared dashboard. + properties: + created_at: + description: Creation timestamp. + example: '2026-03-11T18:30:00.000000' + readOnly: true + type: string + credential: + description: The secret credential used for HMAC signing. Returned only on creation. Store securely — it cannot be retrieved again. + example: A1b2C3d4E5f6G7h8I9j0K1l2M3n4O5p6Q7r8S9t0U1v2 + readOnly: true + type: string + dashboard_id: + description: The source dashboard ID. + example: abc-def-ghi + readOnly: true + type: string + global_time: + $ref: '#/components/schemas/SecureEmbedGlobalTime' + global_time_selectable: + description: Whether time range is viewer-selectable. + example: true + type: boolean + id: + description: Internal share ID. + example: '12345' + readOnly: true + type: string + selectable_template_vars: + description: Template variables with their configuration. + items: + $ref: '#/components/schemas/SecureEmbedSelectableTemplateVariable' + type: array + share_type: + $ref: '#/components/schemas/SecureEmbedShareType' + status: + $ref: '#/components/schemas/SecureEmbedStatus' + title: + description: Display title. + example: Q1 Metrics Dashboard + type: string + token: + description: Public share token. + example: s3cur3t0k3n-abcdef123456 + readOnly: true + type: string + url: + description: CDN URL for the shared dashboard. + example: https://p.datadoghq.com/sb/secure-embed/s3cur3t0k3n-abcdef123456 + readOnly: true + type: string + viewing_preferences: + $ref: '#/components/schemas/SecureEmbedViewingPreferences' + type: object + SecureEmbedCreateResponseType: + description: Resource type for secure embed create responses. + enum: + - secure_embed_create_response + example: secure_embed_create_response + type: string + x-enum-varnames: + - SECURE_EMBED_CREATE_RESPONSE + SecureEmbedGetResponseAttributes: + description: Attributes of an existing secure embed shared dashboard. + properties: + created_at: + description: Creation timestamp. + example: '2026-03-11T18:30:00.000000' + readOnly: true + type: string + credential_suffix: + description: Last 4 characters of the credential. Defaults to `0000` if unavailable. + example: ab3f + readOnly: true + type: string + dashboard_id: + description: The source dashboard ID. + example: abc-def-ghi + readOnly: true + type: string + global_time: + $ref: '#/components/schemas/SecureEmbedGlobalTime' + global_time_selectable: + description: Whether time range is viewer-selectable. + example: true + type: boolean + id: + description: Internal share ID. + example: '12345' + readOnly: true + type: string + selectable_template_vars: + description: Template variables with their configuration. + items: + $ref: '#/components/schemas/SecureEmbedSelectableTemplateVariable' + type: array + share_type: + $ref: '#/components/schemas/SecureEmbedShareType' + status: + $ref: '#/components/schemas/SecureEmbedStatus' + title: + description: Display title. + example: Q1 Metrics Dashboard + type: string + token: + description: Public share token. + example: s3cur3t0k3n-abcdef123456 + readOnly: true + type: string + url: + description: CDN URL for the shared dashboard. + example: https://p.datadoghq.com/sb/secure-embed/s3cur3t0k3n-abcdef123456 + readOnly: true + type: string + viewing_preferences: + $ref: '#/components/schemas/SecureEmbedViewingPreferences' + type: object + SecureEmbedGetResponseType: + description: Resource type for secure embed get responses. + enum: + - secure_embed_get_response + example: secure_embed_get_response + type: string + x-enum-varnames: + - SECURE_EMBED_GET_RESPONSE + SecureEmbedUpdateRequestAttributes: + description: Attributes for updating a secure embed shared dashboard. All fields are optional. + properties: + global_time: + $ref: '#/components/schemas/SecureEmbedGlobalTime' + global_time_selectable: + description: Updated time selectability. + example: true + type: boolean + selectable_template_vars: + description: Updated template variables. + items: + $ref: '#/components/schemas/SecureEmbedSelectableTemplateVariable' + type: array + status: + $ref: '#/components/schemas/SecureEmbedStatus' + title: + description: Updated title. + example: Q1 Metrics Dashboard (Updated) + type: string + viewing_preferences: + $ref: '#/components/schemas/SecureEmbedViewingPreferences' + type: object + SecureEmbedUpdateRequestType: + description: Resource type for secure embed update requests. + enum: + - secure_embed_update_request + example: secure_embed_update_request + type: string + x-enum-varnames: + - SECURE_EMBED_UPDATE_REQUEST + SecureEmbedUpdateResponseAttributes: + description: Attributes of an updated secure embed shared dashboard. + properties: + created_at: + description: Creation timestamp. + example: '2026-03-11T18:30:00.000000' + readOnly: true + type: string + credential_suffix: + description: Last 4 characters of the credential. Defaults to `0000` if unavailable. + example: ab3f + readOnly: true + type: string + dashboard_id: + description: The source dashboard ID. + example: abc-def-ghi + readOnly: true + type: string + global_time: + $ref: '#/components/schemas/SecureEmbedGlobalTime' + global_time_selectable: + description: Whether time range is viewer-selectable. + example: true + type: boolean + id: + description: Internal share ID. + example: '12345' + readOnly: true + type: string + selectable_template_vars: + description: Template variables with their configuration. + items: + $ref: '#/components/schemas/SecureEmbedSelectableTemplateVariable' + type: array + share_type: + $ref: '#/components/schemas/SecureEmbedShareType' + status: + $ref: '#/components/schemas/SecureEmbedStatus' + title: + description: Display title. + example: Q1 Metrics Dashboard (Updated) + type: string + token: + description: Public share token. + example: s3cur3t0k3n-abcdef123456 + readOnly: true + type: string + url: + description: CDN URL for the shared dashboard. + example: https://p.datadoghq.com/sb/secure-embed/s3cur3t0k3n-abcdef123456 + readOnly: true + type: string + viewing_preferences: + $ref: '#/components/schemas/SecureEmbedViewingPreferences' + type: object + SecureEmbedUpdateResponseType: + description: Resource type for secure embed update responses. + enum: + - secure_embed_update_response + example: secure_embed_update_response + type: string + x-enum-varnames: + - SECURE_EMBED_UPDATE_RESPONSE + DashboardUsageAttributes: + description: Usage statistics for a dashboard. The `viewer` field and all view-count fields (`total_views`, `viewed_at`, `total_views_by_type`) are populated only when Real User Monitoring (RUM) is active for the org. + properties: + author: + $ref: '#/components/schemas/DashboardUsageUser' + created_at: + description: When the dashboard was created. + example: '2026-01-15T09:30:00.000Z' + format: date-time + nullable: true + type: string + dashboard_quality_score: + description: The dashboard quality score, or `null` when no score is available. + example: 0.85 + format: double + nullable: true + type: number + edited_at: + description: When the dashboard was most recently edited. + example: '2026-04-20T11:05:00.000Z' + format: date-time + nullable: true + type: string + org_id: + description: The Datadog organization that owns the dashboard. + example: 100 + format: int64 + type: integer + teams: + description: Teams the dashboard is tagged with. + items: + description: A team handle. + type: string + nullable: true + type: array + title: + description: The dashboard title. + example: My production overview + type: string + total_views: + description: Total view count for the dashboard. Counts only views captured by Real User Monitoring (RUM); `0` in orgs without RUM. + example: 42 + format: int64 + type: integer + total_views_by_type: + additionalProperties: + description: View count for that view type. + format: int64 + type: integer + description: View counts keyed by view type (`in_app`, `embed`, `public`, `shared`, `api`, `unknown`). Counts only views captured by Real User Monitoring (RUM); empty in orgs without RUM. + nullable: true + type: object + viewed_at: + description: When the dashboard was most recently viewed. Populated only when Real User Monitoring (RUM) is active for the org; `null` in orgs without RUM. + example: '2026-05-01T14:22:10.000Z' + format: date-time + nullable: true + type: string + viewer: + $ref: '#/components/schemas/DashboardUsageUser' + widget_count: + description: The total number of widgets on the dashboard. + example: 12 + format: int64 + nullable: true + type: integer + widget_count_by_type: + additionalProperties: + description: Widget count for that widget type. + format: int64 + type: integer + description: Widget counts keyed by widget type. The map includes group widgets and widgets without requests. + nullable: true + type: object + required: + - org_id + type: object + DashboardUsageType: + default: dashboards-usages + description: The type of the resource. Always `dashboards-usages`. + enum: + - dashboards-usages + example: dashboards-usages + type: string + x-enum-varnames: + - DASHBOARDS_USAGES + PaginationMetaPage: + description: Offset-based pagination schema. + example: + first_offset: 0 + last_offset: 900 + limit: 100 + next_offset: 100 + offset: 0 + prev_offset: 100 + total: 1000 + type: offset_limit + properties: + first_offset: + description: Integer representing the offset to fetch the first page of results. + example: 0 + format: int64 + type: integer + last_offset: + description: Integer representing the offset to fetch the last page of results. + example: 900 + format: int64 + nullable: true + type: integer + limit: + description: Integer representing the number of elements to be returned in the results. + example: 100 + format: int64 + type: integer + next_offset: + description: Integer representing the index of the first element in the next page of results. Equal to page size added to the current offset. + example: 100 + format: int64 + nullable: true + type: integer + offset: + description: Integer representing the index of the first element in the results. + example: 0 + format: int64 + type: integer + prev_offset: + description: Integer representing the index of the first element in the previous page of results. + example: 100 + format: int64 + nullable: true + type: integer + total: + description: Integer representing the total number of elements available. + example: 1000 + format: int64 + nullable: true + type: integer + type: + $ref: '#/components/schemas/PaginationMetaPageType' + type: object + PowerpackAttributes: + description: Powerpack attribute object. + properties: + description: + description: Description of this powerpack. + example: Powerpack for ABC + type: string + group_widget: + $ref: '#/components/schemas/PowerpackGroupWidget' + name: + description: Name of the powerpack. + example: Sample Powerpack + type: string + tags: + description: List of tags to identify this powerpack. + example: + - tag:foo1 + items: + description: A tag to identify this powerpack. + maxLength: 80 + type: string + maxItems: 8 + type: array + template_variables: + description: List of template variables for this powerpack. + example: + - defaults: + - '*' + name: test + items: + $ref: '#/components/schemas/PowerpackTemplateVariable' + type: array + required: + - group_widget + - name + type: object + PowerpackRelationships: + description: Powerpack relationship object. + properties: + author: + $ref: '#/components/schemas/RelationshipToUser' + type: object + UserAttributes: + description: Attributes of user object returned by the API. + properties: + created_at: + description: The ISO 8601 timestamp of when the user account was created. + format: date-time + type: string + disabled: + description: Whether the user account is deactivated. Disabled users cannot log in. + type: boolean + email: + description: The email address of the user, used for login and notifications. + type: string + handle: + description: The unique handle (username) of the user, typically matching their email prefix. + type: string + icon: + description: URL of the user's profile icon, typically a Gravatar URL derived from the email address. + type: string + last_login_time: + description: The ISO 8601 timestamp of the user's most recent login, or null if the user has never logged in. + format: date-time + nullable: true + readOnly: true + type: string + mfa_enabled: + description: Whether multi-factor authentication (MFA) is enabled for the user's account. + readOnly: true + type: boolean + modified_at: + description: The ISO 8601 timestamp of when the user account was last modified. + format: date-time + type: string + name: + description: The full display name of the user as shown in the Datadog UI. + nullable: true + type: string + service_account: + description: |- + Whether this is a service account rather than a human user. + Service accounts are used for programmatic API access. + type: boolean + status: + description: The current status of the user account (for example, `Active`, `Pending`, or `Disabled`). + type: string + title: + description: The job title of the user (for example, "Senior Engineer" or "Product Manager"). + nullable: true + type: string + uuid: + description: The globally unique identifier (UUID) of the user. + readOnly: true + type: string + verified: + description: Whether the user's email address has been verified. + type: boolean + type: object + UserResponseRelationships: + description: Relationships of the user object returned by the API. + properties: + org: + $ref: '#/components/schemas/RelationshipToOrganization' + other_orgs: + $ref: '#/components/schemas/RelationshipToOrganizations' + other_users: + $ref: '#/components/schemas/RelationshipToUsers' + roles: + $ref: '#/components/schemas/RelationshipToRoles' + type: object + UsersType: + default: users + description: Users resource type. + enum: + - users + example: users + type: string + x-enum-varnames: + - USERS + PowerpacksResponseMetaPagination: + description: Powerpack response pagination metadata. + properties: + first_offset: + description: The first offset. + format: int64 + type: integer + last_offset: + description: The last offset. + format: int64 + nullable: true + type: integer + limit: + description: Pagination limit. + format: int64 + type: integer + next_offset: + description: The next offset. + format: int64 + type: integer + offset: + description: The offset. + format: int64 + type: integer + prev_offset: + description: The previous offset. + format: int64 + type: integer + total: + description: Total results. + format: int64 + type: integer + type: + description: Offset type. + type: string + type: object + DatasetReportScheduleResponseAttributes: + description: The configuration and derived state of a report schedule for a published dataset. + properties: + cell_id: + description: The identifier of the notebook cell that published the dataset, or `null` if not set. + example: sevhjcis + nullable: true + type: string + dataset_id: + description: The identifier of the dataset, or `null` if not set. + example: MW5vdGVib29rX2NlbGw6ZDI0ZTM2MWMtZDFlNC00NDYwLWIyOWUtNTg3YTczMzA3MDFm + nullable: true + type: string + description: + description: The description of the report. + example: This is a scheduled notebook dataset report. + type: string + file_row_limit: + description: The maximum number of rows included in the attached CSV file, or `null` if not set. + example: 5000 + format: int64 + nullable: true + type: integer + inline_row_limit: + description: The maximum number of rows included inline in the email body, or `null` if not set. + example: 10 + format: int64 + nullable: true + type: integer + next_recurrence: + description: |- + The Unix timestamp, in milliseconds, of the next scheduled delivery, or + `null` if none is scheduled. + example: 1725859200000 + format: int64 + nullable: true + type: integer + notebook_id: + description: The identifier of the notebook containing the dataset cell, or `null` if not set. + example: 1 + format: int64 + nullable: true + type: integer + recipients: + description: |- + The recipients of the report (email addresses, Slack channel references, or + Microsoft Teams channel references). + example: + - test@datadoghq.com + items: + description: |- + A single recipient (email address, Slack channel reference, or Microsoft + Teams channel reference). + type: string + type: array + resource_id: + description: The identifier of the widget containing the dataset. + example: aaaabbbb-1111-2222-3333-444455556666 + type: string + resource_type: + $ref: '#/components/schemas/DatasetReportScheduleResourceType' + rrule: + description: The recurrence rule for the schedule, expressed as an iCalendar `RRULE` string. + example: |- + DTSTART;TZID=America/New_York:20240912T090000 + RRULE:FREQ=DAILY;BYHOUR=9;BYMINUTE=0 + type: string + status: + $ref: '#/components/schemas/ReportScheduleStatus' + timeframe: + description: The relative timeframe of data included in the report. + example: calendar_day + type: string + timezone: + description: The IANA time zone identifier the recurrence rule is evaluated in. + example: America/New_York + type: string + title: + description: The title of the report. + example: My Cool Dataset Report + type: string + required: + - status + - resource_id + - resource_type + - recipients + - rrule + - timezone + - title + - description + - timeframe + - file_row_limit + - inline_row_limit + - next_recurrence + - notebook_id + - cell_id + - dataset_id + type: object + ReportScheduleResponseRelationships: + description: Relationships for the report schedule. + properties: + author: + $ref: '#/components/schemas/ReportScheduleAuthorRelationship' + required: + - author + type: object + ReportScheduleType: + description: JSON:API resource type for report schedules. + enum: + - schedule + example: schedule + type: string + x-enum-varnames: + - SCHEDULE + ReportScheduleAuthor: + description: A user included as a related JSON:API resource. + properties: + attributes: + $ref: '#/components/schemas/ReportScheduleAuthorAttributes' + id: + description: The user UUID. + example: aaaaaaaa-bbbb-cccc-dddd-eeeeeeeeeeee + type: string + type: + $ref: '#/components/schemas/ReportScheduleAuthorType' + required: + - type + - id + - attributes + type: object + ReportScheduleResource: + description: A report target resource included as a related JSON:API resource. + properties: + attributes: + $ref: '#/components/schemas/ReportScheduleResourceAttributes' + id: + description: The resource identifier. + example: abc-def-ghi + type: string + type: + $ref: '#/components/schemas/ReportScheduleIncludedResourceType' + required: + - type + - id + - attributes + type: object + PrintReportRequestAttributes: + description: |- + The configuration for a print-only report. Specify exactly one of `timeframe` (for a + relative time window) or both `from_ts` and `to_ts` (for an absolute time range). + properties: + from_ts: + description: |- + The start of an absolute time range, as a Unix timestamp in milliseconds. + Required when `timeframe` is omitted. + example: 1780318800000 + format: int64 + type: integer + resource_id: + description: The identifier of the dashboard or integration dashboard to render. + example: abc-def-ghi + type: string + resource_type: + $ref: '#/components/schemas/ReportScheduleResourceType' + template_variables: + description: The dashboard template variables applied when rendering the report. + items: + $ref: '#/components/schemas/ReportScheduleTemplateVariable' + type: array + timeframe: + description: |- + A relative time window (for example `1w` or `calendar_month`). Mutually + exclusive with `from_ts` and `to_ts`. + example: 1w + type: string + timezone: + description: The IANA time zone identifier used to evaluate the time window. + example: America/New_York + type: string + to_ts: + description: |- + The end of an absolute time range, as a Unix timestamp in milliseconds. + Required when `timeframe` is omitted. + example: 1780923600000 + format: int64 + type: integer + required: + - resource_id + - resource_type + - timezone + - template_variables + type: object + PrintReportType: + description: JSON:API resource type for a print-only report. + enum: + - report + example: report + type: string + x-enum-varnames: + - REPORT + PrintReportResponseAttributes: + description: The configuration and download URL for the initiated print-only report. + properties: + download_url: + description: The URL from which the rendered PDF report can be downloaded. + example: https://app.datadoghq.com/... + type: string + from_ts: + description: The start of the rendered time range, as a Unix timestamp in milliseconds. + example: 1780318800000 + format: int64 + type: integer + resource_id: + description: The identifier of the dashboard or integration dashboard. + example: abc-def-ghi + type: string + resource_type: + $ref: '#/components/schemas/ReportScheduleResourceType' + template_variables: + description: The dashboard template variables applied when rendering the report. + items: + $ref: '#/components/schemas/ReportScheduleTemplateVariable' + type: array + timeframe: + description: The relative time window used, if one was specified in the request. + example: 1w + type: string + timezone: + description: The IANA time zone identifier used when rendering the report. + example: America/New_York + type: string + to_ts: + description: The end of the rendered time range, as a Unix timestamp in milliseconds. + example: 1780923600000 + format: int64 + type: integer + required: + - resource_id + - resource_type + - timezone + - template_variables + - from_ts + - to_ts + - download_url + type: object + ReportScheduleCreateRequestAttributes: + description: The configuration of the report schedule to create. + properties: + delivery_format: + $ref: '#/components/schemas/ReportScheduleDeliveryFormat' + description: + description: A description of the report, up to 4096 characters. + example: Weekly summary of infrastructure health. + maxLength: 4096 + type: string + recipients: + description: |- + The recipients of the report. Each entry is an email address, a Slack channel + reference in the form `slack:{team_id}.{channel_id}.{channel_name}`, or a Microsoft + Teams channel reference in the form `teams:{tenant_id}|{team_id}|{channel_id}`. + example: + - user@example.com + - slack:T01234567.C01234567.alerts + - teams:11111111-1111-1111-1111-111111111111|22222222-2222-2222-2222-222222222222|19:exampleChannelId@thread.tacv2 + items: + description: A single recipient (email address, Slack channel reference, or Microsoft Teams channel reference). + type: string + type: array + resource_id: + description: The identifier of the dashboard or integration dashboard to render in the report. + example: abc-def-ghi + type: string + resource_type: + $ref: '#/components/schemas/ReportScheduleResourceType' + rrule: + description: The recurrence rule for the schedule, expressed as an iCalendar `RRULE` string. + example: |- + DTSTART;TZID=America/New_York:20260601T090000 + RRULE:FREQ=WEEKLY;BYDAY=MO;BYHOUR=9;BYMINUTE=0 + type: string + tab_id: + description: The identifier of the dashboard tab to render, when the dashboard has tabs. + example: 66666666-7777-8888-9999-000000000000 + format: uuid + type: string + template_variables: + description: The dashboard template variables applied when rendering the report. + items: + $ref: '#/components/schemas/ReportScheduleTemplateVariable' + type: array + timeframe: + description: The relative timeframe of data to include in the report. + example: 1w + type: string + timezone: + description: The IANA time zone identifier the recurrence rule is evaluated in. + example: America/New_York + type: string + title: + description: The title of the report, between 1 and 78 characters. + example: Weekly Infrastructure Report + maxLength: 78 + minLength: 1 + type: string + required: + - resource_id + - resource_type + - recipients + - rrule + - timezone + - template_variables + - timeframe + - title + - description + type: object + ReportScheduleResponseAttributes: + description: The configuration and derived state of a report schedule. + properties: + delivery_format: + $ref: '#/components/schemas/ReportScheduleResponseAttributesDeliveryFormat' + description: + description: The description of the report. + example: Weekly summary of infrastructure health. + type: string + next_recurrence: + description: The Unix timestamp, in milliseconds, of the next scheduled delivery, or `null` if none is scheduled. + example: 1780923600000 + format: int64 + nullable: true + type: integer + recipients: + description: The recipients of the report (email addresses, Slack channel references, or Microsoft Teams channel references). + example: + - user@example.com + - slack:T01234567.C01234567.alerts + - teams:11111111-1111-1111-1111-111111111111|22222222-2222-2222-2222-222222222222|19:exampleChannelId@thread.tacv2 + items: + description: A single recipient (email address, Slack channel reference, or Microsoft Teams channel reference). + type: string + type: array + resource_id: + description: The identifier of the resource rendered in the report. + example: abc-def-ghi + type: string + resource_type: + $ref: '#/components/schemas/ReportScheduleResourceType' + rrule: + description: The recurrence rule for the schedule, expressed as an iCalendar `RRULE` string. + example: |- + DTSTART;TZID=America/New_York:20260601T090000 + RRULE:FREQ=WEEKLY;BYDAY=MO;BYHOUR=9;BYMINUTE=0 + type: string + status: + $ref: '#/components/schemas/ReportScheduleStatus' + tab_id: + description: The identifier of the dashboard tab rendered in the report, or `null` if not set. + example: 66666666-7777-8888-9999-000000000000 + nullable: true + type: string + template_variables: + description: The dashboard template variables applied when rendering the report. + items: + $ref: '#/components/schemas/ReportScheduleTemplateVariable' + type: array + timeframe: + description: The relative timeframe of data included in the report, or `null` if not set. + example: 1w + nullable: true + type: string + timezone: + description: The IANA time zone identifier the recurrence rule is evaluated in. + example: America/New_York + type: string + title: + description: The title of the report. + example: Weekly Infrastructure Report + type: string + required: + - status + - resource_id + - resource_type + - recipients + - rrule + - timezone + - template_variables + - title + - description + - timeframe + - next_recurrence + - tab_id + type: object + ReportScheduleListResponseAttributes: + description: The configuration and derived state of a report schedule in a list response. + properties: + delivery_format: + $ref: '#/components/schemas/ReportScheduleResponseAttributesDeliveryFormat' + description: + description: The description of the report. + example: Weekly summary of infrastructure health. + type: string + next_recurrence: + description: The Unix timestamp, in milliseconds, of the next scheduled delivery, or `null` if none is scheduled. + example: 1780923600000 + format: int64 + nullable: true + type: integer + recipients: + description: The recipients of the report (email addresses, Slack channel references, or Microsoft Teams channel references). + example: + - user@example.com + - slack:T01234567.C01234567.alerts + - teams:11111111-1111-1111-1111-111111111111|22222222-2222-2222-2222-222222222222|19:exampleChannelId@thread.tacv2 + items: + description: A single recipient (email address, Slack channel reference, or Microsoft Teams channel reference). + type: string + type: array + resource_id: + description: The identifier of the resource rendered in the report. + example: abc-def-ghi + type: string + resource_type: + $ref: '#/components/schemas/ReportScheduleResourceType' + rrule: + description: The recurrence rule for the schedule, expressed as an iCalendar `RRULE` string. + example: |- + DTSTART;TZID=America/New_York:20260601T090000 + RRULE:FREQ=WEEKLY;BYDAY=MO;BYHOUR=9;BYMINUTE=0 + type: string + status: + $ref: '#/components/schemas/ReportScheduleStatus' + template_variables: + description: The dashboard template variables applied when rendering the report. + items: + $ref: '#/components/schemas/ReportScheduleTemplateVariable' + type: array + timeframe: + description: The relative timeframe of data included in the report, or `null` if not set. + example: 1w + nullable: true + type: string + timezone: + description: The IANA time zone identifier the recurrence rule is evaluated in. + example: America/New_York + type: string + title: + description: The title of the report. + example: Weekly Infrastructure Report + type: string + required: + - status + - resource_id + - resource_type + - recipients + - rrule + - timezone + - template_variables + - title + - description + - timeframe + - next_recurrence + type: object + ReportScheduleListResponseRelationships: + description: Relationships for a report schedule in a list response. + properties: + author: + $ref: '#/components/schemas/ReportScheduleAuthorRelationship' + resource: + $ref: '#/components/schemas/ReportScheduleListResourceRelationship' + required: + - author + type: object + ReportScheduleListResponsePagination: + description: Offset and limit pagination metadata for a report schedule list response. + properties: + first_offset: + description: The first offset. + example: 0 + format: int64 + type: integer + last_offset: + description: The last offset when the total count is known, or `null` if it is unavailable. + example: 0 + format: int64 + nullable: true + type: integer + limit: + description: The maximum number of schedules returned. + example: 25 + format: int64 + type: integer + next_offset: + description: The next offset. + example: 25 + format: int64 + type: integer + offset: + description: The current offset. + example: 0 + format: int64 + type: integer + prev_offset: + description: The previous offset. + example: 0 + format: int64 + type: integer + total: + description: The total number of matching schedules. + example: 1 + format: int64 + type: integer + type: + $ref: '#/components/schemas/ReportScheduleListResponsePaginationType' + type: object + ReportSchedulePatchRequestAttributes: + description: |- + The updated configuration of the report schedule. These values replace the existing + ones; the targeted resource (`resource_id` and `resource_type`) cannot be changed. + properties: + delivery_format: + $ref: '#/components/schemas/ReportScheduleDeliveryFormat' + description: + description: A description of the report, up to 4096 characters. + example: Updated weekly summary of infrastructure health. + maxLength: 4096 + type: string + recipients: + description: |- + The recipients of the report. Each entry is an email address, a Slack channel + reference in the form `slack:{team_id}.{channel_id}.{channel_name}`, or a Microsoft + Teams channel reference in the form `teams:{tenant_id}|{team_id}|{channel_id}`. + example: + - user@example.com + - slack:T01234567.C01234567.alerts + - teams:11111111-1111-1111-1111-111111111111|22222222-2222-2222-2222-222222222222|19:exampleChannelId@thread.tacv2 + items: + description: A single recipient (email address, Slack channel reference, or Microsoft Teams channel reference). + type: string + type: array + rrule: + description: The recurrence rule for the schedule, expressed as an iCalendar `RRULE` string. + example: |- + DTSTART;TZID=America/New_York:20260601T090000 + RRULE:FREQ=WEEKLY;BYDAY=MO;BYHOUR=9;BYMINUTE=0 + type: string + tab_id: + description: The identifier of the dashboard tab to render, when the dashboard has tabs. + example: 66666666-7777-8888-9999-000000000000 + format: uuid + type: string + template_variables: + description: The dashboard template variables applied when rendering the report. + items: + $ref: '#/components/schemas/ReportScheduleTemplateVariable' + type: array + timeframe: + description: The relative timeframe of data to include in the report. + example: 1w + type: string + timezone: + description: The IANA time zone identifier the recurrence rule is evaluated in. + example: America/New_York + type: string + title: + description: The title of the report, between 1 and 78 characters. + example: Weekly Infrastructure Report + maxLength: 78 + minLength: 1 + type: string + required: + - recipients + - rrule + - timezone + - template_variables + - timeframe + - title + - description + type: object + ReportScheduleToggleRequestAttributes: + description: The status to set on the report schedule. + properties: + status: + $ref: '#/components/schemas/ReportScheduleStatus' + required: + - status + type: object + CreateSnapshotDataAttributesRequest: + description: Attributes for snapshot creation. + properties: + additional_config: + $ref: '#/components/schemas/CreateSnapshotAdditionalConfig' + end: + description: End of the time window for the snapshot, in milliseconds since Unix epoch. + example: 1692464800000 + format: int64 + type: integer + height: + description: The height of the rendered snapshot in pixels. + example: 185 + format: int64 + type: integer + is_authenticated: + description: Whether the snapshot requires authentication to view. Authenticated snapshots are scoped to the creating organization. + example: false + type: boolean + start: + description: Start of the time window for the snapshot, in milliseconds since Unix epoch. + example: 1692464000000 + format: int64 + type: integer + ttl: + $ref: '#/components/schemas/CreateSnapshotTTL' + widget_definition: + additionalProperties: {} + description: The widget definition to render as a snapshot. Must include a valid `type` field and non-empty `requests` array. + example: + requests: + - q: avg:system.cpu.user{*} + type: timeseries + type: object + width: + description: The width of the rendered snapshot in pixels. + example: 300 + format: int64 + type: integer + required: + - widget_definition + - start + - end + type: object + CreateSnapshotType: + description: The type identifier for snapshot creation resources. + enum: + - create_snapshot + example: create_snapshot + type: string + x-enum-varnames: + - CREATE_SNAPSHOT + CreateSnapshotDataAttributesResponse: + description: Attributes of the created snapshot. + properties: + url: + description: The URL to access the rendered snapshot image. + example: https://app.datadoghq.com/api/v2/snapshot/view/public/60d/00000000-0000-0000-0000-000000000000/1692464400000-12345678-1234-5678-9abc-def123456789.png + type: string + required: + - url + type: object + StegadographyWidget: + description: A single watermarked widget resource recovered from an image. + properties: + attributes: + $ref: '#/components/schemas/StegadographyWidgetAttributes' + id: + description: Composite identifier formed from the organization ID and watermark, separated by a colon. + example: abc123:0123456789abcdef + type: string + type: + $ref: '#/components/schemas/StegadographyWidgetType' + required: + - id + - type + - attributes + type: object + WidgetAttributes: + description: Attributes of a widget resource. + properties: + created_at: + description: ISO 8601 timestamp of when the widget was created. + example: '2024-01-15T00:00:00.000Z' + type: string + definition: + $ref: '#/components/schemas/WidgetDefinition' + is_favorited: + description: |- + Whether the current user has favorited this widget. Populated on get, + batch_get, update, and search responses; create responses always return + `false` because a widget can only be favorited after it exists. + Favoriting itself is performed through the shared favorites API, not + this service. + example: false + type: boolean + modified_at: + description: ISO 8601 timestamp of when the widget was last modified. + example: '2024-01-15T00:00:00.000Z' + type: string + tags: + description: User-defined tags for organizing widgets. + example: + - team:my-team + items: + description: A single user-defined tag. + type: string + nullable: true + type: array + required: + - definition + - tags + - is_favorited + - created_at + - modified_at + type: object + WidgetRelationships: + description: Relationships of the widget resource. + properties: + created_by: + $ref: '#/components/schemas/WidgetRelationshipItem' + description: The user who created the widget. + modified_by: + $ref: '#/components/schemas/WidgetRelationshipItem' + description: The user who last modified the widget. + type: object + WidgetIncludedUserAttributes: + description: Attributes of an included user resource. + properties: + handle: + description: The email handle of the user. + example: john.doe@example.com + type: string + name: + description: The display name of the user. + example: John Doe + nullable: true + type: string + type: object + CreateOrUpdateWidgetRequestAttributes: + description: Attributes for creating or updating a widget. + properties: + definition: + $ref: '#/components/schemas/WidgetDefinition' + tags: + description: User-defined tags for organizing the widget. + items: + description: A single user-defined tag. + type: string + nullable: true + type: array + required: + - definition + type: object + DashboardBulkActionData: + description: Dashboard bulk action request data. + example: + id: 123-abc-456 + type: dashboard + properties: + id: + $ref: '#/components/schemas/DashboardID' + type: + $ref: '#/components/schemas/DashboardResourceType' + required: + - type + - id + type: object + DashboardLiveTimeframe: + description: A live dashboard timeframe. + properties: + type: + $ref: '#/components/schemas/DashboardLiveTimeframeType' + unit: + $ref: '#/components/schemas/WidgetLiveSpanUnit' + value: + description: Value of the live timeframe span. + example: 4 + format: int64 + minimum: 1 + type: integer + required: + - type + - value + - unit + type: object + DashboardFixedTimeframe: + description: A fixed dashboard timeframe. + properties: + from: + description: Start time in milliseconds since epoch. + example: 1712080128000 + format: int64 + minimum: 0 + type: integer + to: + description: End time in milliseconds since epoch. + example: 1712083128000 + format: int64 + minimum: 0 + type: integer + type: + $ref: '#/components/schemas/DashboardFixedTimeframeType' + required: + - type + - from + - to + type: object + DashboardTemplateVariablePresetValue: + description: Template variables saved views. + properties: + name: + description: The name of the variable. + type: string + value: + deprecated: true + description: (deprecated) The value of the template variable within the saved view. Cannot be used in conjunction with `values`. + type: string + values: + description: One or many template variable values within the saved view, which will be unioned together using `OR` if more than one is specified. Cannot be used in conjunction with `value`. + items: + description: One or many values of the template variable within the saved view. + minLength: 1 + type: string + minItems: 1 + type: array + type: object + WidgetDefinitionV1: + description: '[Definition of the widget](https://docs.datadoghq.com/dashboards/widgets/).' + properties: + alert_id: + description: ID of the alert to use in the widget. + example: '' + type: string + description: + description: The description of the widget. + type: string + time: + $ref: '#/components/schemas/WidgetTime' + title: + description: The title of the widget. + type: string + title_align: + $ref: '#/components/schemas/WidgetTextAlign' + title_size: + description: Size of the title. + type: string + type: + $ref: '#/components/schemas/AlertGraphWidgetDefinitionType' + viz_type: + $ref: '#/components/schemas/WidgetVizType' + precision: + description: Number of decimal to show. If not defined, will use the raw value. + format: int64 + type: integer + text_align: + $ref: '#/components/schemas/WidgetTextAlign' + unit: + description: Unit to display with the value. + type: string + custom_links: + description: List of custom links. + items: + $ref: '#/components/schemas/WidgetCustomLink' + type: array + requests: + description: List of bar chart widget requests. + example: + - q: system.load.1 + items: + $ref: '#/components/schemas/BarChartWidgetRequest' + maxItems: 1 + minItems: 1 + type: array + style: + $ref: '#/components/schemas/BarChartWidgetStyle' + check: + description: Name of the check to use in the widget. + example: '' + type: string + group: + description: Group reporting a single check. + type: string + group_by: + description: List of tag prefixes to group by in the case of a cluster check. + items: + description: Tag prefix. + type: string + type: array + grouping: + $ref: '#/components/schemas/WidgetGrouping' + tags: + description: List of tags used to filter the groups reporting a cluster check. + items: + description: Tag name. + type: string + type: array + legend_size: + deprecated: true + description: (Deprecated) The widget legend was replaced by a tooltip and sidebar. + type: string + markers: + description: List of markers. + example: + - display_type: percentile + value: '90' + items: + $ref: '#/components/schemas/WidgetMarker' + type: array + show_legend: + deprecated: true + description: (Deprecated) The widget legend was replaced by a tooltip and sidebar. + type: boolean + xaxis: + $ref: '#/components/schemas/DistributionWidgetXAxis' + yaxis: + $ref: '#/components/schemas/DistributionWidgetYAxis' + event_size: + $ref: '#/components/schemas/WidgetEventSize' + query: + description: Query to filter the event stream with. + example: '' + type: string + tags_execution: + description: The execution method for multi-value filters. Can be either and or or. + type: string + background_color: + $ref: '#/components/schemas/WidgetBackgroundColor' + color: + description: Color of the text. + type: string + font_size: + description: Size of the text. + type: string + text: + description: Text to display. + example: '' + type: string + grouped_display: + $ref: '#/components/schemas/FunnelGroupedDisplay' + view: + $ref: '#/components/schemas/GeomapWidgetDefinitionView' + banner_img: + description: URL of image to display as a banner for the group. + type: string + layout_type: + $ref: '#/components/schemas/WidgetLayoutType' + show_title: + default: true + description: Whether to show the title or not. + type: boolean + widgets: + description: List of widget groups. + example: + - definition: + requests: + fill: + q: avg:system.cpu.user{*} + type: hostmap + items: + $ref: '#/components/schemas/Widget' + type: array + events: + deprecated: true + description: List of widget events. Deprecated - Use `overlay` request type instead. + items: + $ref: '#/components/schemas/WidgetEvent' + type: array + no_group_hosts: + deprecated: true + description: Deprecated - Only used by the legacy metric-based format. Use `no_group_hosts` inside `requests` instead. + type: boolean + no_metric_hosts: + deprecated: true + description: Deprecated - Only used by the legacy metric-based format. Use `no_metric_hosts` inside `requests` instead. + type: boolean + node_type: + $ref: '#/components/schemas/WidgetNodeType' + deprecated: true + description: Deprecated - Only used by the legacy metric-based format. Use `node_type` inside `requests` instead. + notes: + description: Notes on the title. + type: string + scope: + deprecated: true + description: Deprecated - Only used by the legacy metric-based format. Use `filter` inside `requests` instead. + items: + description: Tags. + type: string + type: array + url: + description: URL of the iframe. + example: '' + type: string + has_background: + default: true + description: Whether to display a background or not. + example: true + type: boolean + has_border: + default: true + description: Whether to display a border or not. + example: true + type: boolean + horizontal_align: + $ref: '#/components/schemas/WidgetHorizontalAlign' + margin: + $ref: '#/components/schemas/WidgetMargin' + sizing: + $ref: '#/components/schemas/WidgetImageSizing' + url_dark_theme: + description: URL of the image in dark mode. + example: https://example.com/image-dark-mode.png + type: string + vertical_align: + $ref: '#/components/schemas/WidgetVerticalAlign' + columns: + description: Which columns to display on the widget. + items: + description: Column name. + type: string + type: array + indexes: + description: An array of index names to query in the stream. Use [] to query all indexes at once. + example: + - days-3 + - days-7 + items: + description: One of the log indexes set up for your organization. [Multiple Indexes](https://docs.datadoghq.com/logs/indexes/#multiple-indexes) + type: string + type: array + logset: + deprecated: true + description: ID of the log set to use. + type: string + message_display: + $ref: '#/components/schemas/WidgetMessageDisplay' + show_date_column: + description: Whether to show the date column or not + type: boolean + show_message_column: + description: Whether to show the message column or not + type: boolean + sort: + $ref: '#/components/schemas/WidgetFieldSort' + color_preference: + $ref: '#/components/schemas/WidgetColorPreference' + count: + deprecated: true + description: The number of monitors to display. + format: int64 + type: integer + display_format: + $ref: '#/components/schemas/WidgetMonitorSummaryDisplayFormat' + hide_zero_counts: + description: Whether to show counts of 0 or not. + type: boolean + show_last_triggered: + description: Whether to show the time that has elapsed since the monitor/group triggered. + type: boolean + show_priority: + default: false + description: Whether to show the priorities column. + type: boolean + start: + deprecated: true + description: The start of the list. Typically 0. + format: int64 + type: integer + summary_type: + $ref: '#/components/schemas/WidgetSummaryType' + content: + description: Content of the note. + example: '' + type: string + has_padding: + default: true + description: Whether to add padding or not. + type: boolean + show_tick: + description: Whether to show a tick or not. + type: boolean + tick_edge: + $ref: '#/components/schemas/WidgetTickEdge' + tick_pos: + description: Where to position the tick on an edge. + type: string + powerpack_id: + description: UUID of the associated powerpack. + example: df43cf2a-6475-490d-b686-6fbc6cb9a49c + type: string + template_variables: + $ref: '#/components/schemas/PowerpackTemplateVariables' + legend: + $ref: '#/components/schemas/PointPlotWidgetLegend' + autoscale: + description: Whether to use auto-scaling or not. + type: boolean + custom_unit: + description: Display a unit of your choice on the widget. + type: string + timeseries_background: + $ref: '#/components/schemas/TimeseriesBackground' + inputs: + description: Array of workflow inputs to map to dashboard template variables. + items: + $ref: '#/components/schemas/RunWorkflowWidgetInput' + type: array + workflow_id: + description: Workflow id. + example: + type: string + additional_query_filters: + description: Additional filters applied to the SLO query. + type: string + global_time_target: + description: Defined global time target. + type: string + show_error_budget: + description: Defined error budget. + type: boolean + slo_id: + description: ID of the SLO displayed. + type: string + time_windows: + description: Times being monitored. + items: + $ref: '#/components/schemas/WidgetTimeWindows' + type: array + view_mode: + $ref: '#/components/schemas/WidgetViewMode' + view_type: + default: detail + description: Type of view displayed by the widget. + example: detail + type: string + color_by_groups: + description: List of groups used for colors. + items: + description: Group name. + type: string + type: array + show_other_links: + description: Whether to show links for "other" category. + type: boolean + sort_nodes: + description: Whether to sort nodes in the Sankey diagram. + type: boolean + filters: + description: Your environment and primary tag (or * if enabled for your account). + example: + - '*' + items: + description: Filter name. + type: string + minItems: 1 + type: array + service: + description: The ID of the service you want to map. + example: '' + type: string + env: + description: APM environment. + example: '' + type: string + show_breakdown: + description: Whether to show the latency breakdown or not. + type: boolean + show_distribution: + description: Whether to show the latency distribution or not. + type: boolean + show_errors: + description: Whether to show the error metrics or not. + type: boolean + show_hits: + description: Whether to show the hits metrics or not. + type: boolean + show_latency: + description: Whether to show the latency metrics or not. + type: boolean + show_resource_list: + description: Whether to show the resource list or not. + type: boolean + size_format: + $ref: '#/components/schemas/WidgetSizeFormat' + span_name: + description: APM span name. + example: '' + type: string + has_uniform_y_axes: + description: Normalize y axes across graphs + type: boolean + size: + $ref: '#/components/schemas/SplitGraphVizSize' + source_widget_definition: + $ref: '#/components/schemas/SplitGraphSourceWidgetDefinition' + split_config: + $ref: '#/components/schemas/SplitConfig' + hide_total: + description: Show the total value in this widget. + type: boolean + has_search_bar: + $ref: '#/components/schemas/TableWidgetHasSearchBar' + legend_columns: + description: Columns displayed in the legend. + items: + $ref: '#/components/schemas/TimeseriesWidgetLegendColumn' + type: array + legend_layout: + $ref: '#/components/schemas/TimeseriesWidgetLegendLayout' + right_yaxis: + $ref: '#/components/schemas/WidgetAxis' + color_by: + $ref: '#/components/schemas/TreeMapColorBy' + size_by: + $ref: '#/components/schemas/TreeMapSizeBy' + specification: + $ref: '#/components/schemas/WildcardWidgetSpecification' + required: + - type + - alert_id + - viz_type + - requests + - check + - grouping + - query + - text + - style + - view + - layout_type + - widgets + - url + - content + - powerpack_id + - workflow_id + - view_type + - filters + - service + - env + - span_name + - size + - source_widget_definition + - split_config + - specification + type: object + additionalProperties: false + WidgetLayout: + description: The layout for a widget on a `free` or **new dashboard layout** dashboard. + properties: + height: + description: The height of the widget. Should be a non-negative integer. + example: 0 + format: int64 + minimum: 0 + type: integer + is_column_break: + description: |- + Whether the widget should be the first one on the second column in high density or not. + **Note**: Only for the **new dashboard layout** and only one widget in the dashboard should have this property set to `true`. + type: boolean + width: + description: The width of the widget. Should be a non-negative integer. + example: 0 + format: int64 + minimum: 0 + type: integer + x: + description: The position of the widget on the x (horizontal) axis. Should be a non-negative integer. + example: 0 + format: int64 + minimum: 0 + type: integer + 'y': + description: The position of the widget on the y (vertical) axis. Should be a non-negative integer. + example: 0 + format: int64 + minimum: 0 + type: integer + required: + - x + - 'y' + - width + - height + type: object + DashboardGlobalTimeLiveSpan: + description: Dashboard global time live_span selection + enum: + - 15m + - 1h + - 4h + - 1d + - 2d + - 1w + - 1mo + - 3mo + example: 1h + type: string + x-enum-varnames: + - PAST_FIFTEEN_MINUTES + - PAST_ONE_HOUR + - PAST_FOUR_HOURS + - PAST_ONE_DAY + - PAST_TWO_DAYS + - PAST_ONE_WEEK + - PAST_ONE_MONTH + - PAST_THREE_MONTHS + ViewingPreferencesTheme: + description: The theme of the shared dashboard view. "system" follows your system's default viewing theme. + enum: + - system + - light + - dark + type: string + x-enum-varnames: + - SYSTEM + - LIGHT + - DARK + SharedDashboardInvitesDataObject: + description: Object containing the information for an invitation to a shared dashboard. + example: + attributes: + created_at: '2020-12-07T20:16:27.846985+00:00' + email: test@datadoghq.com + has_session: false + invitation_expiry: '2020-12-07T21:16:27.840542+00:00' + session_expiry: null + share_token: XXXXXX-123456abcedfg7890hijklmnopqrstuv + type: public_dashboard_invitation + properties: + attributes: + $ref: '#/components/schemas/SharedDashboardInvitesDataObjectAttributes' + type: + $ref: '#/components/schemas/DashboardInviteType' + required: + - type + - attributes + type: object + SharedDashboardInvitesDataList: + description: A list of objects containing the information for an invitation(s) to a shared dashboard. + example: + - attributes: + email: test@datadoghq.com + type: public_dashboard_invitation + items: + $ref: '#/components/schemas/SharedDashboardInvitesDataObject' + type: array + SharedDashboardInvitesMetaPage: + description: Object containing the total count of invitations across all pages + properties: + total_count: + description: The total number of invitations on this shared board, across all pages. + format: int64 + type: integer + type: object + NotebooksResponseDataAttributes: + description: The attributes of a notebook in get all response. + properties: + author: + $ref: '#/components/schemas/NotebookAuthor' + cells: + description: List of cells to display in the notebook. + items: + $ref: '#/components/schemas/NotebookCellResponse' + type: array + created: + description: UTC time stamp for when the notebook was created. + example: '2021-02-24T23:14:15.173964+00:00' + format: date-time + readOnly: true + type: string + metadata: + $ref: '#/components/schemas/NotebookMetadata' + modified: + description: UTC time stamp for when the notebook was last modified. + example: '2021-02-24T23:15:23.274966+00:00' + format: date-time + readOnly: true + type: string + name: + description: The name of the notebook. + example: Example Notebook + maxLength: 80 + minLength: 0 + type: string + status: + $ref: '#/components/schemas/NotebookStatus' + template_variables: + description: List of template variables for this notebook. + items: + $ref: '#/components/schemas/NotebookTemplateVariable' + nullable: true + type: array + time: + $ref: '#/components/schemas/NotebookGlobalTime' + required: + - name + type: object + NotebookResourceTypeV1: + default: notebooks + description: Type of the Notebook resource. + enum: + - notebooks + example: notebooks + type: string + x-enum-varnames: + - NOTEBOOKS + NotebooksResponsePage: + description: Pagination metadata returned by the API. + properties: + total_count: + description: The total number of notebooks that would be returned if the request was not filtered by `start` and `count` parameters. + format: int64 + type: integer + total_filtered_count: + description: The total number of notebooks returned. + format: int64 + type: integer + type: object + NotebookCreateDataAttributes: + description: The data attributes of a notebook. + properties: + cells: + description: List of cells to display in the notebook. + example: + - attributes: + definition: + text: |- + ## Some test markdown + + ``` + var x, y; + x = 5; + y = 6; + ``` + type: markdown + type: notebook_cells + - attributes: + definition: + requests: + - display_type: line + q: avg:system.load.1{*} + style: + line_type: solid + line_width: normal + palette: dog_classic + show_legend: true + type: timeseries + yaxis: + scale: linear + graph_size: m + split_by: + keys: [] + tags: [] + time: null + type: notebook_cells + items: + $ref: '#/components/schemas/NotebookCellCreateRequest' + type: array + metadata: + $ref: '#/components/schemas/NotebookMetadata' + name: + description: The name of the notebook. + example: Example Notebook + maxLength: 80 + minLength: 0 + type: string + status: + $ref: '#/components/schemas/NotebookStatus' + template_variables: + description: List of template variables for this notebook. + items: + $ref: '#/components/schemas/NotebookTemplateVariable' + nullable: true + type: array + time: + $ref: '#/components/schemas/NotebookGlobalTime' + required: + - name + - cells + - time + type: object + NotebookResponseDataAttributes: + description: The attributes of a notebook. + properties: + author: + $ref: '#/components/schemas/NotebookAuthor' + cells: + description: List of cells to display in the notebook. + example: + - attributes: + definition: + text: |- + ## Some test markdown + + ``` + var x, y; + x = 5; + y = 6; + ``` + type: markdown + id: bzbycoya + type: notebook_cells + - attributes: + definition: + requests: + - display_type: line + q: avg:system.load.1{*} + style: + line_type: solid + line_width: normal + palette: dog_classic + show_legend: true + type: timeseries + yaxis: + scale: linear + graph_size: m + split_by: + keys: [] + tags: [] + time: null + id: 9k6bc6xc + type: notebook_cells + items: + $ref: '#/components/schemas/NotebookCellResponse' + type: array + created: + description: UTC time stamp for when the notebook was created. + example: '2021-02-24T23:14:15.173964+00:00' + format: date-time + readOnly: true + type: string + metadata: + $ref: '#/components/schemas/NotebookMetadata' + modified: + description: UTC time stamp for when the notebook was last modified. + example: '2021-02-24T23:15:23.274966+00:00' + format: date-time + readOnly: true + type: string + name: + description: The name of the notebook. + example: Example Notebook + maxLength: 80 + minLength: 0 + type: string + status: + $ref: '#/components/schemas/NotebookStatus' + template_variables: + description: List of template variables for this notebook. + items: + $ref: '#/components/schemas/NotebookTemplateVariable' + nullable: true + type: array + time: + $ref: '#/components/schemas/NotebookGlobalTime' + required: + - cells + - time + - name + type: object + NotebookUpdateDataAttributes: + description: The data attributes of a notebook. + properties: + cells: + description: List of cells to display in the notebook. + example: + - attributes: + definition: + text: |- + ## Some test markdown + + ``` + var x, y; + x = 5; + y = 6; + ``` + type: markdown + id: bzbycoya + type: notebook_cells + - attributes: + definition: + requests: + - display_type: line + q: avg:system.load.1{*} + style: + line_type: solid + line_width: normal + palette: dog_classic + show_legend: true + type: timeseries + yaxis: + scale: linear + graph_size: m + split_by: + keys: [] + tags: [] + time: null + id: 9k6bc6xc + type: notebook_cells + items: + $ref: '#/components/schemas/NotebookUpdateCell' + type: array + metadata: + $ref: '#/components/schemas/NotebookMetadata' + name: + description: The name of the notebook. + example: Example Notebook + maxLength: 80 + minLength: 0 + type: string + status: + $ref: '#/components/schemas/NotebookStatus' + template_variables: + description: List of template variables for this notebook. + items: + $ref: '#/components/schemas/NotebookTemplateVariable' + nullable: true + type: array + time: + $ref: '#/components/schemas/NotebookGlobalTime' + required: + - name + - cells + - time + type: object + AnnotationColor: + description: Color used to render the annotation in the UI. + enum: + - gray + - blue + - purple + - green + - yellow + - red + example: blue + type: string + x-enum-varnames: + - GRAY + - BLUE + - PURPLE + - GREEN + - YELLOW + - RED + AnnotationKind: + description: |- + Kind of annotation. `pointInTime` annotations mark a single moment in time, + while `timeRegion` annotations span a window of time and require an `end_time`. + enum: + - pointInTime + - timeRegion + example: pointInTime + type: string + x-enum-varnames: + - POINT_IN_TIME + - TIME_REGION + AnnotationsInPageMap: + additionalProperties: + $ref: '#/components/schemas/AnnotationInPage' + description: Map of annotation UUID to annotation object, keyed by annotation ID. + example: + 00000000-0000-0000-0000-000000000000: + author_id: 00000000-0000-0000-0000-000000000001 + color: blue + created_at: 1704067200000 + description: Deployed v2.3.1 to production. + end_time: null + id: 00000000-0000-0000-0000-000000000000 + modified_at: 1704067200000 + page_id: dashboard:abc-def-xyz + start_time: 1704067200000 + type: pointInTime + widget_ids: + - '1234567890' + type: object + GlobalAnnotationIds: + description: List of annotation IDs that apply to the entire page rather than a specific widget. + example: + - 00000000-0000-0000-0000-000000000001 + items: + description: Annotation ID. + format: uuid + type: string + type: array + WidgetAnnotationsMap: + additionalProperties: + $ref: '#/components/schemas/WidgetAnnotationIds' + description: Map from widget ID to the list of annotation IDs displayed on that widget. + example: + '1234567890': + - 00000000-0000-0000-0000-000000000000 + type: object + SharedDashboardGlobalTime: + additionalProperties: {} + description: Default time range configuration for the shared dashboard. + example: + live_span: 1h + nullable: true + type: object + SharedDashboardInvitee: + description: Invitee that can access an invite-only shared dashboard. + properties: + access_expiration: + description: Time when the invitee's access expires. + example: '2026-01-15T09:30:00.000Z' + format: date-time + nullable: true + type: string + created_at: + description: Time when the invitee was added. + example: '2026-01-01T00:00:00.000Z' + format: date-time + type: string + email: + description: Email address of the invitee. + example: jane.doe@example.com + type: string + required: + - email + - access_expiration + - created_at + type: object + SharedDashboardSelectableTemplateVariable: + description: A template variable that viewers can modify on the shared dashboard. + properties: + allow_any_value: + description: Whether viewers can see all tag values for the template variable and specify any value. + example: false + type: boolean + default_values: + description: Default selected values for the variable. + example: + - prod + items: + description: A default value for the template variable. + type: string + type: array + name: + description: Name of the template variable. + example: environment + type: string + prefix: + description: Tag prefix for the variable. + example: env + type: string + type: + description: Type of the template variable. + example: group + type: string + visible_tags: + description: Restricts which tag values are visible to the viewer. + example: + - prod + items: + description: A visible tag value for the template variable. + type: string + type: array + required: + - name + - prefix + - type + - allow_any_value + - default_values + - visible_tags + type: object + SharedDashboardShareType: + description: Type of dashboard sharing. + enum: + - open + - invite + - embed + - secure-embed + example: invite + type: string + x-enum-varnames: + - OPEN + - INVITE + - EMBED + - SECURE_EMBED + SharedDashboardStatus: + description: Status of the shared dashboard. + enum: + - active + - paused + example: active + type: string + x-enum-varnames: + - ACTIVE + - PAUSED + SharedDashboardViewingPreferences: + description: Display settings for the shared dashboard. + properties: + high_density: + description: Whether widgets are displayed in high-density mode. + example: false + type: boolean + theme: + $ref: '#/components/schemas/SharedDashboardViewingPreferencesTheme' + required: + - high_density + - theme + type: object + SharedDashboardRelationshipDashboard: + description: Dashboard associated with the shared dashboard. + properties: + data: + $ref: '#/components/schemas/SharedDashboardRelationshipDashboardData' + required: + - data + type: object + SharedDashboardRelationshipSharer: + description: User who shared the dashboard. + properties: + data: + $ref: '#/components/schemas/UserRelationshipData' + required: + - data + type: object + SharedDashboardIncludedDashboardAttributes: + description: Attributes of the included dashboard. + properties: + title: + description: Dashboard title. + example: Q1 Metrics Dashboard + type: string + required: + - title + type: object + SharedDashboardIncludedDashboardType: + default: dashboard + description: Included dashboard resource type. + enum: + - dashboard + example: dashboard + type: string + x-enum-varnames: + - DASHBOARD + SharedDashboardIncludedUserAttributes: + description: Attributes of the included user. + properties: + handle: + description: User handle. + example: jane.doe@example.com + type: string + name: + description: User display name. + example: Jane Doe + type: string + required: + - handle + - name + type: object + UserResourceType: + default: user + description: User resource type. + enum: + - user + example: user + type: string + x-enum-varnames: + - USER + SecureEmbedGlobalTime: + description: Default time range configuration for the secure embed. + properties: + live_span: + $ref: '#/components/schemas/SecureEmbedGlobalTimeLiveSpan' + type: object + SecureEmbedSelectableTemplateVariable: + description: A template variable that viewers can modify on the secure embed shared dashboard. + properties: + default_values: + description: Default selected values for the variable. + example: + - '1' + items: + description: A default value for the template variable. + type: string + type: array + name: + description: Name of the template variable. Usually matches the prefix unless you want a different display name. + example: org_id + type: string + prefix: + description: Tag prefix for the variable (e.g., `environment`, `service`). + example: org_id + type: string + visible_tags: + description: Restrict which tag values are visible to the viewer. + example: + - '1' + items: + description: A visible tag value for the template variable. + type: string + type: array + type: object + SecureEmbedStatus: + description: The status of the secure embed share. Active means the shared dashboard is available. Paused means it is not. + enum: + - active + - paused + example: active + type: string + x-enum-varnames: + - ACTIVE + - PAUSED + SecureEmbedViewingPreferences: + description: Display settings for the secure embed shared dashboard. + properties: + high_density: + description: Whether widgets are displayed in high density mode. + example: false + type: boolean + theme: + $ref: '#/components/schemas/SecureEmbedViewingPreferencesTheme' + type: object + SecureEmbedShareType: + description: The type of share. Always `secure_embed`. + enum: + - secure_embed + example: secure_embed + type: string + x-enum-varnames: + - SECURE_EMBED + DashboardUsageUser: + description: A user referenced from a dashboard usage record (author or viewer). + nullable: true + properties: + handle: + description: Datadog handle (login) of the user. + example: jane.doe@example.com + type: string + id: + description: The user ID. + example: 00000000-0000-0000-0000-000000000000 + type: string + is_disabled: + description: Whether the user account is disabled. + type: boolean + name: + description: Display name of the user. + example: Jane Doe + type: string + type: object + PaginationMetaPageType: + default: offset_limit + description: The pagination type used for offset-based pagination. + enum: + - offset_limit + example: offset_limit + type: string + x-enum-varnames: + - OFFSET_LIMIT + PowerpackGroupWidget: + description: Powerpack group widget definition object. + properties: + definition: + $ref: '#/components/schemas/PowerpackGroupWidgetDefinition' + layout: + $ref: '#/components/schemas/PowerpackGroupWidgetLayout' + live_span: + $ref: '#/components/schemas/WidgetLiveSpan' + required: + - definition + type: object + PowerpackTemplateVariable: + description: Powerpack template variables. + properties: + available_values: + description: The list of values that the template variable drop-down is limited to. + example: + - my-host + - host1 + - host2 + items: + description: Template variable value. + type: string + nullable: true + type: array + defaults: + description: One or many template variable default values within the saved view, which are unioned together using `OR` if more than one is specified. + items: + description: One or many default values of the template variable. + minLength: 1 + type: string + type: array + name: + description: The name of the variable. + example: datacenter + type: string + prefix: + description: The tag prefix associated with the variable. Only tags with this prefix appear in the variable drop-down. + example: host + nullable: true + type: string + required: + - name + type: object + RelationshipToUser: + description: Relationship to user. + properties: + data: + $ref: '#/components/schemas/RelationshipToUserData' + required: + - data + type: object + RelationshipToOrganization: + description: Relationship to an organization. + properties: + data: + $ref: '#/components/schemas/RelationshipToOrganizationData' + required: + - data + type: object + RelationshipToOrganizations: + description: Relationship to organizations. + properties: + data: + description: Relationships to organization objects. + example: [] + items: + $ref: '#/components/schemas/RelationshipToOrganizationData' + type: array + required: + - data + type: object + RelationshipToUsers: + description: Relationship to users. + properties: + data: + description: Relationships to user objects. + example: [] + items: + $ref: '#/components/schemas/RelationshipToUserData' + type: array + required: + - data + type: object + RelationshipToRoles: + description: Relationship to roles. + properties: + data: + description: An array containing type and the unique identifier of a role. + items: + $ref: '#/components/schemas/RelationshipToRoleData' + type: array + type: object + DatasetReportScheduleResourceType: + description: The type of resource targeted by a dataset report schedule. + enum: + - widget_dataset_list + example: widget_dataset_list + type: string + x-enum-varnames: + - WIDGET_DATASET_LIST + ReportScheduleStatus: + description: Whether the schedule is currently delivering reports (`active`) or paused (`inactive`). + enum: + - active + - inactive + example: active + type: string + x-enum-varnames: + - ACTIVE + - INACTIVE + ReportScheduleAuthorRelationship: + description: Relationship to the author of the report schedule. + properties: + data: + $ref: '#/components/schemas/ReportScheduleAuthorRelationshipData' + required: + - data + type: object + ReportScheduleAuthorAttributes: + description: Attributes of the report author. + properties: + email: + description: The email address of the report author, or `null` if unavailable. + example: user@example.com + nullable: true + type: string + name: + description: The display name of the report author, or `null` if unavailable. + example: Example User + nullable: true + type: string + required: + - name + - email + type: object + ReportScheduleAuthorType: + description: JSON:API resource type for the included report author. + enum: + - users + example: users + type: string + x-enum-varnames: + - USERS + ReportScheduleResourceAttributes: + description: Attributes of an included report target resource. + properties: + resource_type: + $ref: '#/components/schemas/ReportScheduleResourceType' + template_variables: + description: Template variable metadata from the dashboard resource, when available. + items: + $ref: '#/components/schemas/ReportScheduleIndexTemplateVariable' + nullable: true + type: array + title: + description: The title of the dashboard or integration dashboard resource, when available. + example: Infrastructure Overview + nullable: true + type: string + required: + - resource_type + type: object + ReportScheduleIncludedResourceType: + description: JSON:API resource type for an included report resource. + enum: + - resource + example: resource + type: string + x-enum-varnames: + - RESOURCE + ReportScheduleTemplateVariable: + description: A dashboard template variable applied when rendering the report. + properties: + name: + description: The name of the template variable. + example: env + type: string + values: + description: The selected values for the template variable. + example: + - prod + items: + description: A single selected template variable value. + type: string + type: array + required: + - name + - values + type: object + ReportScheduleDeliveryFormat: + description: |- + How a PDF-export report is delivered. `pdf` attaches a PDF file, `png` embeds + an inline PNG image, and `pdf_and_png` delivers both. + enum: + - pdf + - png + - pdf_and_png + example: pdf + type: string + x-enum-varnames: + - PDF + - PNG + - PDF_AND_PNG + ReportScheduleResponseAttributesDeliveryFormat: + description: The delivery format for dashboard report schedules, or `null` if not set. + enum: + - pdf + - png + - pdf_and_png + example: pdf + nullable: true + type: string + x-enum-varnames: + - PDF + - PNG + - PDF_AND_PNG + ReportScheduleListResourceRelationship: + description: Relationship to the report target resource. + properties: + data: + $ref: '#/components/schemas/ReportScheduleListResourceRelationshipData' + required: + - data + type: object + ReportScheduleListResponsePaginationType: + description: The pagination type. + enum: + - offset_limit + example: offset_limit + type: string + x-enum-varnames: + - OFFSET_LIMIT + CreateSnapshotAdditionalConfig: + description: Additional configuration options for snapshot creation. + properties: + template_variables: + $ref: '#/components/schemas/CreateSnapshotTemplateVariables' + timeseries_legend_type: + $ref: '#/components/schemas/CreateSnapshotTimeseriesLegendType' + timezone_offset_minutes: + description: Timezone offset in minutes from UTC. Positive values are west of UTC (for example, `300` for UTC-5). Use `0` for UTC. + example: 300 + format: int64 + type: integer + type: object + CreateSnapshotTTL: + description: The time-to-live for the snapshot. This value corresponds to storage lifecycle policies that automatically delete the snapshot after the specified period. + enum: + - 30d + - 60d + - 90d + - 1y + - 2y + - inf + example: 60d + type: string + x-enum-varnames: + - THIRTY_DAYS + - SIXTY_DAYS + - NINETY_DAYS + - ONE_YEAR + - TWO_YEARS + - INFINITE + StegadographyWidgetAttributes: + description: Attributes of a watermarked widget recovered from an image. + properties: + locationx: + description: Horizontal pixel coordinate where the watermark was found in the image. + example: 100 + format: int64 + type: integer + locationy: + description: Vertical pixel coordinate where the watermark was found in the image. + example: 200 + format: int64 + type: integer + rawData: + description: JSON-encoded string representing the widget state. + example: '{"widgetType":"timeseries","requests":[]}' + type: string + watermark: + description: Hex-encoded watermark string identifying the widget. + example: 0123456789abcdef + type: string + required: + - rawData + - watermark + - locationx + - locationy + type: object + StegadographyWidgetType: + description: Stegadography widget resource type. + enum: + - widget + example: widget + type: string + x-enum-varnames: + - WIDGET + WidgetDefinition: + additionalProperties: {} + description: The definition of a widget, including its type and configuration. + properties: + title: + description: The display title of the widget. + example: My Widget + maxLength: 100 + minLength: 1 + type: string + type: + $ref: '#/components/schemas/WidgetType' + required: + - type + - title + type: object + WidgetRelationshipItem: + description: A JSON:API relationship to a user. + properties: + data: + $ref: '#/components/schemas/WidgetRelationshipData' + type: object + DashboardID: + description: Dashboard resource ID. + example: 123-abc-456 + type: string + DashboardResourceType: + default: dashboard + description: Dashboard resource type. + enum: + - dashboard + example: dashboard + type: string + x-enum-varnames: + - DASHBOARD + DashboardLiveTimeframeType: + description: Type of live timeframe. + enum: + - live + example: live + type: string + x-enum-varnames: + - LIVE + WidgetLiveSpanUnit: + description: Unit of the time span. + enum: + - minute + - hour + - day + - week + - month + - year + example: minute + type: string + x-enum-varnames: + - MINUTE + - HOUR + - DAY + - WEEK + - MONTH + - YEAR + DashboardFixedTimeframeType: + description: Type of fixed timeframe. + enum: + - fixed + example: fixed + type: string + x-enum-varnames: + - FIXED + AlertGraphWidgetDefinition: + description: Alert graphs are timeseries graphs showing the current status of any monitor defined on your system. + properties: + alert_id: + description: ID of the alert to use in the widget. + example: '' + type: string + description: + description: The description of the widget. + type: string + time: + $ref: '#/components/schemas/WidgetTime' + title: + description: The title of the widget. + type: string + title_align: + $ref: '#/components/schemas/WidgetTextAlign' + title_size: + description: Size of the title. + type: string + type: + $ref: '#/components/schemas/AlertGraphWidgetDefinitionType' + viz_type: + $ref: '#/components/schemas/WidgetVizType' + required: + - type + - alert_id + - viz_type + type: object + AlertValueWidgetDefinition: + description: Alert values are query values showing the current value of the metric in any monitor defined on your system. + properties: + alert_id: + description: ID of the alert to use in the widget. + example: '' + type: string + description: + description: The description of the widget. + type: string + precision: + description: Number of decimal to show. If not defined, will use the raw value. + format: int64 + type: integer + text_align: + $ref: '#/components/schemas/WidgetTextAlign' + title: + description: Title of the widget. + type: string + title_align: + $ref: '#/components/schemas/WidgetTextAlign' + title_size: + description: Size of value in the widget. + type: string + type: + $ref: '#/components/schemas/AlertValueWidgetDefinitionType' + unit: + description: Unit to display with the value. + type: string + required: + - type + - alert_id + type: object + BarChartWidgetDefinition: + description: The bar chart visualization displays categorical data using vertical bars, allowing you to compare values across different groups. + properties: + custom_links: + description: List of custom links. + items: + $ref: '#/components/schemas/WidgetCustomLink' + type: array + description: + description: The description of the widget. + type: string + requests: + description: List of bar chart widget requests. + example: + - q: system.load.1 + items: + $ref: '#/components/schemas/BarChartWidgetRequest' + maxItems: 1 + minItems: 1 + type: array + style: + $ref: '#/components/schemas/BarChartWidgetStyle' + time: + $ref: '#/components/schemas/WidgetTime' + title: + description: Title of your widget. + type: string + title_align: + $ref: '#/components/schemas/WidgetTextAlign' + title_size: + description: Size of the title. + type: string + type: + $ref: '#/components/schemas/BarChartWidgetDefinitionType' + required: + - type + - requests + type: object + ChangeWidgetDefinition: + description: The Change graph shows you the change in a value over the time period chosen. + properties: + custom_links: + description: List of custom links. + items: + $ref: '#/components/schemas/WidgetCustomLink' + type: array + description: + description: The description of the widget. + type: string + requests: + description: |- + Array of one request object to display in the widget. + + See the dedicated [Request JSON schema documentation](https://docs.datadoghq.com/dashboards/graphing_json/request_json) + to learn how to build the `REQUEST_SCHEMA`. + example: + - q: {} + items: + $ref: '#/components/schemas/ChangeWidgetRequest' + maxItems: 1 + minItems: 1 + type: array + time: + $ref: '#/components/schemas/WidgetTime' + title: + description: Title of the widget. + type: string + title_align: + $ref: '#/components/schemas/WidgetTextAlign' + title_size: + description: Size of the title. + type: string + type: + $ref: '#/components/schemas/ChangeWidgetDefinitionType' + required: + - type + - requests + type: object + CheckStatusWidgetDefinition: + description: Check status shows the current status or number of results for any check performed. + properties: + check: + description: Name of the check to use in the widget. + example: '' + type: string + description: + description: The description of the widget. + type: string + group: + description: Group reporting a single check. + type: string + group_by: + description: List of tag prefixes to group by in the case of a cluster check. + items: + description: Tag prefix. + type: string + type: array + grouping: + $ref: '#/components/schemas/WidgetGrouping' + tags: + description: List of tags used to filter the groups reporting a cluster check. + items: + description: Tag name. + type: string + type: array + time: + $ref: '#/components/schemas/WidgetTime' + title: + description: Title of the widget. + type: string + title_align: + $ref: '#/components/schemas/WidgetTextAlign' + title_size: + description: Size of the title. + type: string + type: + $ref: '#/components/schemas/CheckStatusWidgetDefinitionType' + required: + - type + - check + - grouping + type: object + CohortWidgetDefinition: + additionalProperties: false + description: The cohort widget visualizes user retention over time. + properties: + description: + description: The description of the widget. + type: string + requests: + description: List of Cohort widget requests. + example: + - query: + compute: + aggregation: count + metric: __dd.retention_rate + data_source: product_analytics_retention + search: + cohort_criteria: + base_query: + data_source: product_analytics + search: + query: '@type:view @view.name:/home' + time_interval: + type: calendar + value: + type: week + retention_entity: '@usr.id' + return_condition: conversion_on_or_after + return_criteria: + base_query: + data_source: product_analytics + search: + query: '@type:view @view.name:/checkout' + request_type: retention_grid + items: + $ref: '#/components/schemas/RetentionGridRequest' + description: A cohort widget request. + minItems: 1 + type: array + time: + $ref: '#/components/schemas/WidgetTime' + title: + description: Title of your widget. + type: string + title_align: + $ref: '#/components/schemas/WidgetTextAlign' + title_size: + description: Size of the title. + type: string + type: + $ref: '#/components/schemas/CohortWidgetDefinitionType' + required: + - type + - requests + type: object + DistributionWidgetDefinition: + description: |- + The Distribution visualization is another way of showing metrics + aggregated across one or several tags, such as hosts. + Unlike the heat map, a distribution graph’s x-axis is quantity rather than time. + properties: + custom_links: + description: A list of custom links. + items: + $ref: '#/components/schemas/WidgetCustomLink' + type: array + description: + description: The description of the widget. + type: string + legend_size: + deprecated: true + description: (Deprecated) The widget legend was replaced by a tooltip and sidebar. + type: string + markers: + description: List of markers. + example: + - display_type: percentile + value: '90' + items: + $ref: '#/components/schemas/WidgetMarker' + type: array + requests: + description: |- + Array of one request object to display in the widget. + + See the dedicated [Request JSON schema documentation](https://docs.datadoghq.com/dashboards/graphing_json/request_json) + to learn how to build the `REQUEST_SCHEMA`. + items: + $ref: '#/components/schemas/DistributionWidgetRequest' + maxItems: 1 + minItems: 1 + type: array + show_legend: + deprecated: true + description: (Deprecated) The widget legend was replaced by a tooltip and sidebar. + type: boolean + time: + $ref: '#/components/schemas/WidgetTime' + title: + description: Title of the widget. + type: string + title_align: + $ref: '#/components/schemas/WidgetTextAlign' + title_size: + description: Size of the title. + type: string + type: + $ref: '#/components/schemas/DistributionWidgetDefinitionType' + xaxis: + $ref: '#/components/schemas/DistributionWidgetXAxis' + yaxis: + $ref: '#/components/schemas/DistributionWidgetYAxis' + required: + - type + - requests + type: object + EventStreamWidgetDefinition: + description: |- + The event stream is a widget version of the stream of events + on the Event Stream view. Only available on FREE layout dashboards. + properties: + description: + description: The description of the widget. + type: string + event_size: + $ref: '#/components/schemas/WidgetEventSize' + query: + description: Query to filter the event stream with. + example: '' + type: string + tags_execution: + description: The execution method for multi-value filters. Can be either and or or. + type: string + time: + $ref: '#/components/schemas/WidgetTime' + title: + description: Title of the widget. + type: string + title_align: + $ref: '#/components/schemas/WidgetTextAlign' + title_size: + description: Size of the title. + type: string + type: + $ref: '#/components/schemas/EventStreamWidgetDefinitionType' + required: + - type + - query + type: object + EventTimelineWidgetDefinition: + description: The event timeline is a widget version of the timeline that appears at the top of the Event Stream view. Only available on FREE layout dashboards. + properties: + description: + description: The description of the widget. + type: string + query: + description: Query to filter the event timeline with. + example: '' + type: string + tags_execution: + description: The execution method for multi-value filters. Can be either and or or. + type: string + time: + $ref: '#/components/schemas/WidgetTime' + title: + description: Title of the widget. + type: string + title_align: + $ref: '#/components/schemas/WidgetTextAlign' + title_size: + description: Size of the title. + type: string + type: + $ref: '#/components/schemas/EventTimelineWidgetDefinitionType' + required: + - type + - query + type: object + FreeTextWidgetDefinition: + description: Free text is a widget that allows you to add headings to your dashboard. Commonly used to state the overall purpose of the dashboard. + properties: + background_color: + $ref: '#/components/schemas/WidgetBackgroundColor' + color: + description: Color of the text. + type: string + font_size: + description: Size of the text. + type: string + text: + description: Text to display. + example: '' + type: string + text_align: + $ref: '#/components/schemas/WidgetTextAlign' + type: + $ref: '#/components/schemas/FreeTextWidgetDefinitionType' + required: + - type + - text + type: object + FunnelWidgetDefinition: + description: The funnel visualization displays a funnel of user sessions that maps a sequence of view navigation and user interaction in your application. + properties: + description: + description: The description of the widget. + type: string + grouped_display: + $ref: '#/components/schemas/FunnelGroupedDisplay' + requests: + description: Request payload used to query items. + example: + - query: + data_source: rum + query_string: '@browser.name:Chrome' + steps: + - facet: '@view.name' + value: /logs + - facet: '@view.name' + value: /apm/home + request_type: funnel + items: + $ref: '#/components/schemas/FunnelWidgetRequest' + minItems: 1 + type: array + time: + $ref: '#/components/schemas/WidgetTime' + title: + description: The title of the widget. + type: string + title_align: + $ref: '#/components/schemas/WidgetTextAlign' + title_size: + description: The size of the title. + type: string + type: + $ref: '#/components/schemas/FunnelWidgetDefinitionType' + required: + - type + - requests + type: object + ProductAnalyticsFunnelWidgetDefinition: + additionalProperties: false + description: The user journey funnel visualization displays conversion funnels based on user journey data from Product Analytics. + properties: + description: + description: The description of the widget. + type: string + grouped_display: + $ref: '#/components/schemas/FunnelGroupedDisplay' + requests: + description: Request payload used to query items. + example: + - query: + compute: + aggregation: cardinality + metric: __dd.conversion + data_source: product_analytics_journey + search: + expression: step1 -> step2 + filters: + string_filter: '@application.id:xxx @geo.country:France' + node_objects: + step1: + data_source: product_analytics + search: + query: '@type:view @view.name:/home' + step2: + data_source: product_analytics + search: + query: '@type:action @action.name:"add to cart"' + request_type: user_journey_funnel + items: + $ref: '#/components/schemas/ProductAnalyticsFunnelRequest' + description: A user journey funnel widget request. + minItems: 1 + type: array + time: + $ref: '#/components/schemas/WidgetTime' + title: + description: The title of the widget. + type: string + title_align: + $ref: '#/components/schemas/WidgetTextAlign' + title_size: + description: The size of the title. + type: string + type: + $ref: '#/components/schemas/FunnelWidgetDefinitionType' + required: + - type + - requests + type: object + GeomapWidgetDefinition: + description: This visualization displays a series of values by country on a world map. + properties: + custom_links: + description: A list of custom links. + items: + $ref: '#/components/schemas/WidgetCustomLink' + type: array + description: + description: The description of the widget. + type: string + requests: + description: |- + Array of request objects to display in the widget. May include an optional request for the region layer and/or an optional request for the points layer. Region layer requests must contain a `group-by` tag whose value is a country ISO code. + See the [Request JSON schema documentation](https://docs.datadoghq.com/dashboards/graphing_json/request_json) + for information about building the `REQUEST_SCHEMA`. + example: + - rum_query: + search: + query: {} + items: + $ref: '#/components/schemas/GeomapWidgetRequest' + maxItems: 2 + minItems: 1 + type: array + style: + $ref: '#/components/schemas/GeomapWidgetDefinitionStyle' + time: + $ref: '#/components/schemas/WidgetTime' + title: + description: The title of your widget. + type: string + title_align: + $ref: '#/components/schemas/WidgetTextAlign' + title_size: + description: The size of the title. + type: string + type: + $ref: '#/components/schemas/GeomapWidgetDefinitionType' + view: + $ref: '#/components/schemas/GeomapWidgetDefinitionView' + required: + - type + - requests + - style + - view + type: object + GroupWidgetDefinition: + description: The group widget allows you to keep similar graphs together on your dashboard. Each group has a custom header, can hold one to many graphs, and is collapsible. + properties: + background_color: + $ref: '#/components/schemas/WidgetBackgroundColor' + banner_img: + description: URL of image to display as a banner for the group. + type: string + layout_type: + $ref: '#/components/schemas/WidgetLayoutType' + show_title: + default: true + description: Whether to show the title or not. + type: boolean + title: + description: Title of the widget. + type: string + title_align: + $ref: '#/components/schemas/WidgetTextAlign' + type: + $ref: '#/components/schemas/GroupWidgetDefinitionType' + widgets: + description: List of widget groups. + example: + - definition: + requests: + fill: + q: avg:system.cpu.user{*} + type: hostmap + items: + $ref: '#/components/schemas/Widget' + type: array + required: + - type + - layout_type + - widgets + type: object + HeatMapWidgetDefinition: + description: The heat map visualization shows metrics aggregated across many tags, such as hosts. The more hosts that have a particular value, the darker that square is. + properties: + custom_links: + description: List of custom links. + items: + $ref: '#/components/schemas/WidgetCustomLink' + type: array + description: + description: The description of the widget. + type: string + events: + deprecated: true + description: List of widget events. Deprecated - Use `overlay` request type instead. + items: + $ref: '#/components/schemas/WidgetEvent' + type: array + legend_size: + $ref: '#/components/schemas/WidgetLegendSize' + markers: + description: List of markers. + example: + - display_type: percentile + value: '90' + items: + $ref: '#/components/schemas/WidgetMarker' + type: array + requests: + description: List of widget types. + example: + - q: jvm.heap.memory + items: + $ref: '#/components/schemas/HeatMapWidgetRequest' + maxItems: 1 + minItems: 1 + type: array + show_legend: + description: Whether or not to display the legend on this widget. + type: boolean + time: + $ref: '#/components/schemas/WidgetTime' + title: + description: Title of the widget. + type: string + title_align: + $ref: '#/components/schemas/WidgetTextAlign' + title_size: + description: Size of the title. + type: string + type: + $ref: '#/components/schemas/HeatMapWidgetDefinitionType' + xaxis: + $ref: '#/components/schemas/HeatMapWidgetXAxis' + yaxis: + $ref: '#/components/schemas/WidgetAxis' + required: + - type + - requests + type: object + HostMapWidgetDefinition: + description: The host map widget graphs any metric across your hosts using the same visualization available from the main Host Map page. + properties: + custom_links: + description: List of custom links. + items: + $ref: '#/components/schemas/WidgetCustomLink' + type: array + description: + description: The description of the widget. + type: string + group: + deprecated: true + description: Deprecated - Only used by the legacy metric-based format. Use `group_by` (infrastructure) or a `group` dimension (DDSQL) inside `requests` instead. + items: + description: Tag prefixes. + type: string + type: array + no_group_hosts: + deprecated: true + description: Deprecated - Only used by the legacy metric-based format. Use `no_group_hosts` inside `requests` instead. + type: boolean + no_metric_hosts: + deprecated: true + description: Deprecated - Only used by the legacy metric-based format. Use `no_metric_hosts` inside `requests` instead. + type: boolean + node_type: + $ref: '#/components/schemas/WidgetNodeType' + deprecated: true + description: Deprecated - Only used by the legacy metric-based format. Use `node_type` inside `requests` instead. + notes: + description: Notes on the title. + type: string + requests: + $ref: '#/components/schemas/HostMapWidgetDefinitionRequests' + scope: + deprecated: true + description: Deprecated - Only used by the legacy metric-based format. Use `filter` inside `requests` instead. + items: + description: Tags. + type: string + type: array + style: + $ref: '#/components/schemas/HostMapWidgetDefinitionStyle' + deprecated: true + description: Deprecated - Only used by the legacy metric-based format. Use `style` inside `requests` instead. + title: + description: Title of the widget. + type: string + title_align: + $ref: '#/components/schemas/WidgetTextAlign' + title_size: + description: Size of the title. + type: string + type: + $ref: '#/components/schemas/HostMapWidgetDefinitionType' + required: + - type + - requests + type: object + IFrameWidgetDefinition: + description: The iframe widget allows you to embed a portion of any other web page on your dashboard. + properties: + type: + $ref: '#/components/schemas/IFrameWidgetDefinitionType' + url: + description: URL of the iframe. + example: '' + type: string + required: + - type + - url + type: object + ImageWidgetDefinition: + description: The image widget allows you to embed an image on your dashboard. An image can be a PNG, JPG, or animated GIF. + properties: + has_background: + default: true + description: Whether to display a background or not. + example: true + type: boolean + has_border: + default: true + description: Whether to display a border or not. + example: true + type: boolean + horizontal_align: + $ref: '#/components/schemas/WidgetHorizontalAlign' + margin: + $ref: '#/components/schemas/WidgetMargin' + sizing: + $ref: '#/components/schemas/WidgetImageSizing' + type: + $ref: '#/components/schemas/ImageWidgetDefinitionType' + url: + description: URL of the image. + example: https://example.com/image.png + type: string + url_dark_theme: + description: URL of the image in dark mode. + example: https://example.com/image-dark-mode.png + type: string + vertical_align: + $ref: '#/components/schemas/WidgetVerticalAlign' + required: + - type + - url + type: object + ListStreamWidgetDefinition: + description: |- + The list stream visualization displays a table of recent events in your application that + match a search criteria using user-defined columns. + properties: + description: + description: The description of the widget. + type: string + legend_size: + $ref: '#/components/schemas/WidgetLegendSize' + requests: + description: Request payload used to query items. + example: + - columns: + - field: timestamp + width: auto + query: + data_source: apm_issue_stream + query_string: '@data_source:APM' + response_format: event_list + items: + $ref: '#/components/schemas/ListStreamWidgetRequest' + maxItems: 1 + minItems: 1 + type: array + show_legend: + description: Whether or not to display the legend on this widget. + type: boolean + time: + $ref: '#/components/schemas/WidgetTime' + title: + description: Title of the widget. + type: string + title_align: + $ref: '#/components/schemas/WidgetTextAlign' + title_size: + description: Size of the title. + type: string + type: + $ref: '#/components/schemas/ListStreamWidgetDefinitionType' + required: + - type + - requests + type: object + LogStreamWidgetDefinition: + description: The Log Stream displays a log flow matching the defined query. + properties: + columns: + description: Which columns to display on the widget. + items: + description: Column name. + type: string + type: array + description: + description: The description of the widget. + type: string + indexes: + description: An array of index names to query in the stream. Use [] to query all indexes at once. + example: + - days-3 + - days-7 + items: + description: One of the log indexes set up for your organization. [Multiple Indexes](https://docs.datadoghq.com/logs/indexes/#multiple-indexes) + type: string + type: array + logset: + deprecated: true + description: ID of the log set to use. + type: string + message_display: + $ref: '#/components/schemas/WidgetMessageDisplay' + query: + description: Query to filter the log stream with. + type: string + show_date_column: + description: Whether to show the date column or not + type: boolean + show_message_column: + description: Whether to show the message column or not + type: boolean + sort: + $ref: '#/components/schemas/WidgetFieldSort' + time: + $ref: '#/components/schemas/WidgetTime' + title: + description: Title of the widget. + type: string + title_align: + $ref: '#/components/schemas/WidgetTextAlign' + title_size: + description: Size of the title. + type: string + type: + $ref: '#/components/schemas/LogStreamWidgetDefinitionType' + required: + - type + type: object + MonitorSummaryWidgetDefinition: + description: The monitor summary widget displays a summary view of all your Datadog monitors, or a subset based on a query. + properties: + color_preference: + $ref: '#/components/schemas/WidgetColorPreference' + count: + deprecated: true + description: The number of monitors to display. + format: int64 + type: integer + description: + description: The description of the widget. + type: string + display_format: + $ref: '#/components/schemas/WidgetMonitorSummaryDisplayFormat' + hide_zero_counts: + description: Whether to show counts of 0 or not. + type: boolean + query: + description: Query to filter the monitors with. + example: '' + type: string + show_last_triggered: + description: Whether to show the time that has elapsed since the monitor/group triggered. + type: boolean + show_priority: + default: false + description: Whether to show the priorities column. + type: boolean + sort: + $ref: '#/components/schemas/WidgetMonitorSummarySort' + start: + deprecated: true + description: The start of the list. Typically 0. + format: int64 + type: integer + summary_type: + $ref: '#/components/schemas/WidgetSummaryType' + title: + description: Title of the widget. + type: string + title_align: + $ref: '#/components/schemas/WidgetTextAlign' + title_size: + description: Size of the title. + type: string + type: + $ref: '#/components/schemas/MonitorSummaryWidgetDefinitionType' + required: + - type + - query + type: object + NoteWidgetDefinition: + description: The notes and links widget is similar to free text widget, but allows for more formatting options. + properties: + background_color: + description: Background color of the note. + type: string + content: + description: Content of the note. + example: '' + type: string + font_size: + description: Size of the text. + type: string + has_padding: + default: true + description: Whether to add padding or not. + type: boolean + show_tick: + description: Whether to show a tick or not. + type: boolean + text_align: + $ref: '#/components/schemas/WidgetTextAlign' + tick_edge: + $ref: '#/components/schemas/WidgetTickEdge' + tick_pos: + description: Where to position the tick on an edge. + type: string + type: + $ref: '#/components/schemas/NoteWidgetDefinitionType' + vertical_align: + $ref: '#/components/schemas/WidgetVerticalAlign' + required: + - type + - content + type: object + PowerpackWidgetDefinition: + description: The powerpack widget allows you to keep similar graphs together on your timeboard. Each group has a custom header, can hold one to many graphs, and is collapsible. + properties: + background_color: + description: Background color of the powerpack title. + type: string + banner_img: + description: URL of image to display as a banner for the powerpack. + type: string + powerpack_id: + description: UUID of the associated powerpack. + example: df43cf2a-6475-490d-b686-6fbc6cb9a49c + type: string + show_title: + default: true + description: Whether to show the title or not. + type: boolean + template_variables: + $ref: '#/components/schemas/PowerpackTemplateVariables' + title: + description: Title of the widget. + type: string + type: + $ref: '#/components/schemas/PowerpackWidgetDefinitionType' + required: + - type + - powerpack_id + type: object + PointPlotWidgetDefinition: + description: The point plot displays individual data points over time. + properties: + custom_links: + description: List of custom links. + items: + $ref: '#/components/schemas/WidgetCustomLink' + type: array + description: + description: The description of the widget. + type: string + legend: + $ref: '#/components/schemas/PointPlotWidgetLegend' + markers: + description: List of markers for the widget. + items: + $ref: '#/components/schemas/WidgetMarker' + type: array + requests: + description: List of request configurations for the widget. + items: + $ref: '#/components/schemas/PointPlotWidgetRequest' + type: array + time: + $ref: '#/components/schemas/WidgetTime' + title: + description: Title of the widget. + type: string + title_align: + $ref: '#/components/schemas/WidgetTextAlign' + title_size: + description: Size of the title. + type: string + type: + $ref: '#/components/schemas/PointPlotWidgetDefinitionType' + yaxis: + $ref: '#/components/schemas/WidgetAxis' + required: + - type + - requests + type: object + QueryValueWidgetDefinition: + description: Query values display the current value of a given metric, APM, or log query. + properties: + autoscale: + description: Whether to use auto-scaling or not. + type: boolean + custom_links: + description: List of custom links. + items: + $ref: '#/components/schemas/WidgetCustomLink' + type: array + custom_unit: + description: Display a unit of your choice on the widget. + type: string + description: + description: The description of the widget. + type: string + precision: + description: Number of decimals to show. If not defined, the widget uses the raw value. + format: int64 + type: integer + requests: + description: Widget definition. + example: + - q/apm_query/log_query: {} + items: + $ref: '#/components/schemas/QueryValueWidgetRequest' + maxItems: 1 + minItems: 1 + type: array + text_align: + $ref: '#/components/schemas/WidgetTextAlign' + time: + $ref: '#/components/schemas/WidgetTime' + timeseries_background: + $ref: '#/components/schemas/TimeseriesBackground' + title: + description: Title of your widget. + type: string + title_align: + $ref: '#/components/schemas/WidgetTextAlign' + title_size: + description: Size of the title. + type: string + type: + $ref: '#/components/schemas/QueryValueWidgetDefinitionType' + required: + - type + - requests + type: object + RetentionCurveWidgetDefinition: + additionalProperties: false + description: The retention curve widget visualizes user retention rates over time. + properties: + description: + description: The description of the widget. + type: string + requests: + description: List of Retention Curve widget requests. + example: + - query: + compute: + aggregation: count + metric: __dd.retention_rate + data_source: product_analytics_retention + search: + cohort_criteria: + base_query: + data_source: product_analytics + search: + query: '@type:view @view.name:/home' + time_interval: + type: calendar + value: + type: week + retention_entity: '@usr.id' + return_condition: conversion_on_or_after + return_criteria: + base_query: + data_source: product_analytics + search: + query: '@type:view @view.name:/checkout' + request_type: retention_curve + items: + $ref: '#/components/schemas/RetentionCurveWidgetRequest' + description: A retention curve widget request. + minItems: 1 + type: array + time: + $ref: '#/components/schemas/WidgetTime' + title: + description: Title of your widget. + type: string + title_align: + $ref: '#/components/schemas/WidgetTextAlign' + title_size: + description: Size of the title. + type: string + type: + $ref: '#/components/schemas/RetentionCurveWidgetDefinitionType' + required: + - type + - requests + type: object + RunWorkflowWidgetDefinition: + description: Run workflow is widget that allows you to run a workflow from a dashboard. + properties: + custom_links: + description: List of custom links. + items: + $ref: '#/components/schemas/WidgetCustomLink' + type: array + description: + description: The description of the widget. + type: string + inputs: + description: Array of workflow inputs to map to dashboard template variables. + items: + $ref: '#/components/schemas/RunWorkflowWidgetInput' + type: array + time: + $ref: '#/components/schemas/WidgetTime' + title: + description: Title of your widget. + type: string + title_align: + $ref: '#/components/schemas/WidgetTextAlign' + title_size: + description: Size of the title. + type: string + type: + $ref: '#/components/schemas/RunWorkflowWidgetDefinitionType' + workflow_id: + description: Workflow id. + example: + type: string + required: + - type + - workflow_id + type: object + SLOListWidgetDefinition: + description: Use the SLO List widget to track your SLOs (Service Level Objectives) on dashboards. + properties: + description: + description: The description of the widget. + type: string + requests: + description: Array of one request object to display in the widget. + items: + $ref: '#/components/schemas/SLOListWidgetRequest' + maxItems: 1 + minItems: 1 + type: array + title: + description: Title of the widget. + type: string + title_align: + $ref: '#/components/schemas/WidgetTextAlign' + title_size: + description: Size of the title. + type: string + type: + $ref: '#/components/schemas/SLOListWidgetDefinitionType' + required: + - type + - requests + type: object + SLOWidgetDefinition: + description: Use the SLO and uptime widget to track your SLOs (Service Level Objectives) and uptime on dashboards. + properties: + additional_query_filters: + description: Additional filters applied to the SLO query. + type: string + description: + description: The description of the widget. + type: string + global_time_target: + description: Defined global time target. + type: string + show_error_budget: + description: Defined error budget. + type: boolean + slo_id: + description: ID of the SLO displayed. + type: string + time_windows: + description: Times being monitored. + items: + $ref: '#/components/schemas/WidgetTimeWindows' + type: array + title: + description: Title of the widget. + type: string + title_align: + $ref: '#/components/schemas/WidgetTextAlign' + title_size: + description: Size of the title. + type: string + type: + $ref: '#/components/schemas/SLOWidgetDefinitionType' + view_mode: + $ref: '#/components/schemas/WidgetViewMode' + view_type: + default: detail + description: Type of view displayed by the widget. + example: detail + type: string + required: + - type + - view_type + type: object + ScatterPlotWidgetDefinition: + description: The scatter plot visualization allows you to graph a chosen scope over two different metrics with their respective aggregation. + properties: + color_by_groups: + description: List of groups used for colors. + items: + description: Group name. + type: string + type: array + custom_links: + description: List of custom links. + items: + $ref: '#/components/schemas/WidgetCustomLink' + type: array + description: + description: The description of the widget. + type: string + requests: + $ref: '#/components/schemas/ScatterPlotWidgetDefinitionRequests' + time: + $ref: '#/components/schemas/WidgetTime' + title: + description: Title of your widget. + type: string + title_align: + $ref: '#/components/schemas/WidgetTextAlign' + title_size: + description: Size of the title. + type: string + type: + $ref: '#/components/schemas/ScatterPlotWidgetDefinitionType' + xaxis: + $ref: '#/components/schemas/WidgetAxis' + yaxis: + $ref: '#/components/schemas/WidgetAxis' + required: + - type + - requests + type: object + SankeyWidgetDefinition: + additionalProperties: false + description: The Sankey diagram visualizes the flow of data between categories, stages or sets of values. + properties: + requests: + description: List of Sankey widget requests. + example: + - query: + data_source: rum + mode: source + query_string: '@type:view' + request_type: sankey + items: + $ref: '#/components/schemas/SankeyWidgetRequest' + minItems: 1 + type: array + show_other_links: + description: Whether to show links for "other" category. + type: boolean + sort_nodes: + description: Whether to sort nodes in the Sankey diagram. + type: boolean + time: + $ref: '#/components/schemas/WidgetTime' + title: + description: Title of your widget. + type: string + title_align: + $ref: '#/components/schemas/WidgetTextAlign' + title_size: + description: Size of the title. + type: string + type: + $ref: '#/components/schemas/SankeyWidgetDefinitionType' + required: + - type + - requests + type: object + ServiceMapWidgetDefinition: + description: This widget displays a map of a service to all of the services that call it, and all of the services that it calls. + properties: + custom_links: + description: List of custom links. + items: + $ref: '#/components/schemas/WidgetCustomLink' + type: array + description: + description: The description of the widget. + type: string + filters: + description: Your environment and primary tag (or * if enabled for your account). + example: + - '*' + items: + description: Filter name. + type: string + minItems: 1 + type: array + service: + description: The ID of the service you want to map. + example: '' + type: string + title: + description: The title of your widget. + type: string + title_align: + $ref: '#/components/schemas/WidgetTextAlign' + title_size: + description: Size of the title. + type: string + type: + $ref: '#/components/schemas/ServiceMapWidgetDefinitionType' + required: + - type + - filters + - service + type: object + ServiceSummaryWidgetDefinition: + description: The service summary displays the graphs of a chosen service in your dashboard. + properties: + description: + description: The description of the widget. + type: string + display_format: + $ref: '#/components/schemas/WidgetServiceSummaryDisplayFormat' + env: + description: APM environment. + example: '' + type: string + service: + description: APM service. + example: '' + type: string + show_breakdown: + description: Whether to show the latency breakdown or not. + type: boolean + show_distribution: + description: Whether to show the latency distribution or not. + type: boolean + show_errors: + description: Whether to show the error metrics or not. + type: boolean + show_hits: + description: Whether to show the hits metrics or not. + type: boolean + show_latency: + description: Whether to show the latency metrics or not. + type: boolean + show_resource_list: + description: Whether to show the resource list or not. + type: boolean + size_format: + $ref: '#/components/schemas/WidgetSizeFormat' + span_name: + description: APM span name. + example: '' + type: string + time: + $ref: '#/components/schemas/WidgetTime' + title: + description: Title of the widget. + type: string + title_align: + $ref: '#/components/schemas/WidgetTextAlign' + title_size: + description: Size of the title. + type: string + type: + $ref: '#/components/schemas/ServiceSummaryWidgetDefinitionType' + required: + - type + - env + - service + - span_name + type: object + SplitGraphWidgetDefinition: + description: 'The split graph widget allows you to create repeating units of a graph - one for each value in a group (for example: one per service)' + properties: + has_uniform_y_axes: + description: Normalize y axes across graphs + type: boolean + size: + $ref: '#/components/schemas/SplitGraphVizSize' + source_widget_definition: + $ref: '#/components/schemas/SplitGraphSourceWidgetDefinition' + split_config: + $ref: '#/components/schemas/SplitConfig' + time: + $ref: '#/components/schemas/WidgetTime' + title: + description: Title of your widget. + type: string + type: + $ref: '#/components/schemas/SplitGraphWidgetDefinitionType' + required: + - size + - type + - source_widget_definition + - split_config + type: object + SunburstWidgetDefinition: + description: Sunbursts are spot on to highlight how groups contribute to the total of a query. + properties: + custom_links: + description: List of custom links. + items: + $ref: '#/components/schemas/WidgetCustomLink' + type: array + description: + description: The description of the widget. + type: string + hide_total: + description: Show the total value in this widget. + type: boolean + legend: + $ref: '#/components/schemas/SunburstWidgetLegend' + requests: + description: List of sunburst widget requests. + example: + - q/apm_query/log_query: {} + items: + $ref: '#/components/schemas/SunburstWidgetRequest' + minItems: 1 + type: array + time: + $ref: '#/components/schemas/WidgetTime' + title: + description: Title of your widget. + type: string + title_align: + $ref: '#/components/schemas/WidgetTextAlign' + title_size: + description: Size of the title. + type: string + type: + $ref: '#/components/schemas/SunburstWidgetDefinitionType' + required: + - type + - requests + type: object + TableWidgetDefinition: + description: The table visualization is available on dashboards. It displays columns of metrics grouped by tag key. + properties: + custom_links: + description: List of custom links. + items: + $ref: '#/components/schemas/WidgetCustomLink' + type: array + description: + description: The description of the widget. + type: string + has_search_bar: + $ref: '#/components/schemas/TableWidgetHasSearchBar' + requests: + description: Widget definition. + example: + - q/apm_query/log_query: {} + items: + $ref: '#/components/schemas/TableWidgetRequest' + type: array + time: + $ref: '#/components/schemas/WidgetTime' + title: + description: Title of your widget. + type: string + title_align: + $ref: '#/components/schemas/WidgetTextAlign' + title_size: + description: Size of the title. + type: string + type: + $ref: '#/components/schemas/TableWidgetDefinitionType' + required: + - type + - requests + type: object + TimeseriesWidgetDefinition: + description: The timeseries visualization allows you to display the evolution of one or more metrics, log events, or Indexed Spans over time. + properties: + custom_links: + description: List of custom links. + items: + $ref: '#/components/schemas/WidgetCustomLink' + type: array + description: + description: The description of the widget. + type: string + events: + deprecated: true + description: List of widget events. Deprecated - Use `overlay` request type instead. + items: + $ref: '#/components/schemas/WidgetEvent' + type: array + legend_columns: + description: Columns displayed in the legend. + items: + $ref: '#/components/schemas/TimeseriesWidgetLegendColumn' + type: array + legend_layout: + $ref: '#/components/schemas/TimeseriesWidgetLegendLayout' + legend_size: + $ref: '#/components/schemas/WidgetLegendSize' + markers: + description: List of markers. + items: + $ref: '#/components/schemas/WidgetMarker' + type: array + requests: + description: List of timeseries widget requests. + example: + - q/apm_query/log_query: {} + items: + $ref: '#/components/schemas/TimeseriesWidgetRequest' + minItems: 1 + type: array + right_yaxis: + $ref: '#/components/schemas/WidgetAxis' + show_legend: + description: (screenboard only) Show the legend for this widget. + type: boolean + time: + $ref: '#/components/schemas/WidgetTime' + title: + description: Title of your widget. + type: string + title_align: + $ref: '#/components/schemas/WidgetTextAlign' + title_size: + description: Size of the title. + type: string + type: + $ref: '#/components/schemas/TimeseriesWidgetDefinitionType' + yaxis: + $ref: '#/components/schemas/WidgetAxis' + required: + - type + - requests + type: object + ToplistWidgetDefinition: + description: The top list visualization enables you to display a list of Tag value like hostname or service with the most or least of any metric value, such as highest consumers of CPU, hosts with the least disk space, etc. + properties: + custom_links: + description: List of custom links. + items: + $ref: '#/components/schemas/WidgetCustomLink' + type: array + description: + description: The description of the widget. + type: string + requests: + description: List of top list widget requests. + example: + - q: system.load.1 + items: + $ref: '#/components/schemas/ToplistWidgetRequest' + type: array + style: + $ref: '#/components/schemas/ToplistWidgetStyle' + time: + $ref: '#/components/schemas/WidgetTime' + title: + description: Title of your widget. + type: string + title_align: + $ref: '#/components/schemas/WidgetTextAlign' + title_size: + description: Size of the title. + type: string + type: + $ref: '#/components/schemas/ToplistWidgetDefinitionType' + required: + - type + - requests + type: object + TopologyMapWidgetDefinition: + description: This widget displays a topology of nodes and edges for different data sources. It replaces the service map widget. + additionalProperties: false + properties: + custom_links: + description: List of custom links. + items: + $ref: '#/components/schemas/WidgetCustomLink' + type: array + description: + description: The description of the widget. + type: string + requests: + description: One Topology request. + items: + $ref: '#/components/schemas/TopologyRequestDataStreams' + minItems: 1 + type: array + time: + $ref: '#/components/schemas/WidgetTime' + title: + description: Title of your widget. + type: string + title_align: + $ref: '#/components/schemas/WidgetTextAlign' + title_size: + description: Size of the title. + type: string + type: + $ref: '#/components/schemas/TopologyMapWidgetDefinitionType' + required: + - type + - requests + type: object + TreeMapWidgetDefinition: + description: The treemap visualization enables you to display hierarchical and nested data. It is well suited for queries that describe part-whole relationships, such as resource usage by availability zone, data center, or team. + properties: + color_by: + $ref: '#/components/schemas/TreeMapColorBy' + custom_links: + description: List of custom links. + items: + $ref: '#/components/schemas/WidgetCustomLink' + type: array + description: + description: The description of the widget. + type: string + group_by: + $ref: '#/components/schemas/TreeMapGroupBy' + requests: + description: List of treemap widget requests. + example: + - aggregator: sum + data_source: metrics + name: query1 + query: sum:system.mem.total{*} by {service} + items: + $ref: '#/components/schemas/TreeMapWidgetRequest' + maxItems: 1 + minItems: 1 + type: array + size_by: + $ref: '#/components/schemas/TreeMapSizeBy' + time: + $ref: '#/components/schemas/WidgetTime' + title: + description: Title of your widget. + type: string + type: + $ref: '#/components/schemas/TreeMapWidgetDefinitionType' + required: + - type + - requests + type: object + WildcardWidgetDefinition: + description: Custom visualization widget using Vega or Vega-Lite specifications. Combines standard Datadog data requests with a Vega or Vega-Lite JSON specification for flexible, custom visualizations. + properties: + custom_links: + description: List of custom links. + items: + $ref: '#/components/schemas/WidgetCustomLink' + type: array + requests: + description: List of data requests for the wildcard widget. + example: + - formulas: + - formula: query1 + queries: + - aggregator: avg + data_source: metrics + name: query1 + query: avg:system.cpu.user{*} by {env} + response_format: scalar + items: + $ref: '#/components/schemas/WildcardWidgetRequest' + type: array + specification: + $ref: '#/components/schemas/WildcardWidgetSpecification' + time: + $ref: '#/components/schemas/WidgetTime' + title: + description: Title of the widget. + type: string + title_align: + $ref: '#/components/schemas/WidgetTextAlign' + title_size: + description: Size of the title. + type: string + type: + $ref: '#/components/schemas/WildcardWidgetDefinitionType' + required: + - type + - requests + - specification + type: object + SharedDashboardInvitesDataObjectAttributes: + description: Attributes of the shared dashboard invitation + example: + created_at: '2020-12-07T20:16:27.846985+00:00' + email: test@datadoghq.com + has_session: false + invitation_expiry: '2020-12-07T21:16:27.840542+00:00' + session_expiry: null + share_token: XXXXXX-123456abcedfg7890hijklmnopqrstuv + properties: + created_at: + description: When the invitation was sent. + format: date-time + readOnly: true + type: string + email: + description: An email address that an invitation has been (or if used in invitation request, will be) sent to. + nullable: false + type: string + has_session: + description: Indicates whether an active session exists for the invitation (produced when a user clicks the link in the email). + readOnly: true + type: boolean + invitation_expiry: + description: When the invitation expires. + format: date-time + readOnly: true + type: string + session_expiry: + description: When the invited user's session expires. null if the invitation has no associated session. + format: date-time + nullable: true + readOnly: true + type: string + share_token: + description: The unique token of the shared dashboard that was (or is to be) shared. + readOnly: true + type: string + type: object + DashboardInviteType: + description: Type for shared dashboard invitation request body. + enum: + - public_dashboard_invitation + example: public_dashboard_invitation + type: string + x-enum-varnames: + - PUBLIC_DASHBOARD_INVITATION + NotebookAuthor: + description: Attributes of user object returned by the API. + properties: + created_at: + description: Creation time of the user. + format: date-time + type: string + disabled: + description: Whether the user is disabled. + type: boolean + email: + description: Email of the user. + type: string + handle: + description: Handle of the user. + type: string + icon: + description: URL of the user's icon. + type: string + name: + description: Name of the user. + nullable: true + type: string + status: + description: Status of the user. + type: string + title: + description: Title of the user. + nullable: true + type: string + verified: + description: Whether the user is verified. + type: boolean + type: object + NotebookCellResponse: + description: The description of a notebook cell response. + properties: + attributes: + $ref: '#/components/schemas/NotebookCellResponseAttributes' + id: + description: Notebook cell ID. + example: abcd1234 + type: string + type: + $ref: '#/components/schemas/NotebookCellResourceType' + required: + - id + - type + - attributes + type: object + NotebookMetadata: + description: Metadata associated with the notebook. + properties: + is_template: + default: false + description: Whether or not the notebook is a template. + example: false + type: boolean + take_snapshots: + default: false + description: Whether or not the notebook takes snapshot image backups of the notebook's fixed-time graphs. + example: false + type: boolean + type: + $ref: '#/components/schemas/NotebookMetadataType' + type: object + NotebookStatus: + default: published + description: Publication status of the notebook. For now, always "published". + enum: + - published + example: published + type: string + x-enum-varnames: + - PUBLISHED + NotebookTemplateVariable: + additionalProperties: false + description: Notebook template variable. + properties: + available_values: + description: The list of values that the template variable drop-down is limited to. + example: + - my-host + - host1 + - host2 + items: + description: Template variable value. + minLength: 1 + type: string + nullable: true + type: array + uniqueItems: true + available_values_query: + $ref: '#/components/schemas/NotebookTemplateVariableAvailableValuesQuery' + data_source_mappings: + additionalProperties: + description: The value for the given data source. + type: string + description: Mapping of data source names to template variable values. + type: object + default: + deprecated: true + description: |- + (deprecated) The default value for the template variable on notebook load. + Cannot be used in conjunction with `defaults`. + example: my-host + nullable: true + type: string + defaults: + description: One or many default values for the template variable. Cannot be used in conjunction with `default`. + example: + - my-host-1 + - my-host-2 + items: + description: A default value for the template variable. + minLength: 1 + type: string + type: array + uniqueItems: true + name: + description: The name of the variable. + example: host1 + type: string + placement: + description: The placement of the template variable in the notebook. + example: global + type: string + prefix: + description: The tag prefix associated with the variable. Only tags with this prefix appear in the variable drop-down. + example: host + nullable: true + type: string + type: + description: The type of the template variable. + example: tag + type: string + required: + - name + type: object + NotebookGlobalTime: + description: Notebook global timeframe. + example: + live_span: 1h + end: '2021-02-24T20:18:28+00:00' + start: '2021-02-24T19:18:28+00:00' + nullable: true + properties: + live_span: + $ref: '#/components/schemas/WidgetLiveSpanV1' + end: + description: The end time. + example: '2021-02-24T20:18:28+00:00' + format: date-time + type: string + live: + description: Indicates whether the timeframe should be shifted to end at the current time. + type: boolean + start: + description: The start time. + example: '2021-02-24T19:18:28+00:00' + format: date-time + type: string + required: + - live_span + - start + - end + type: object + NotebookCellCreateRequest: + additionalProperties: false + description: The description of a notebook cell create request. + properties: + attributes: + $ref: '#/components/schemas/NotebookCellCreateRequestAttributes' + type: + $ref: '#/components/schemas/NotebookCellResourceType' + required: + - attributes + - type + type: object + NotebookUpdateCell: + description: |- + Updating a notebook can either insert new cell(s) or update existing cell(s) by including the cell `id`. + To delete existing cell(s), simply omit it from the list of cells. + additionalProperties: false + properties: + attributes: + $ref: '#/components/schemas/NotebookCellCreateRequestAttributes' + type: + $ref: '#/components/schemas/NotebookCellResourceType' + id: + description: Notebook cell ID. + example: abcd1234 + type: string + required: + - attributes + - type + - id + type: object + AnnotationInPage: + description: A flat annotation object as it appears within a page annotations response. + properties: + author_id: + description: Identifier of the user who created the annotation. + example: 00000000-0000-0000-0000-000000000000 + type: string + color: + $ref: '#/components/schemas/AnnotationColor' + created_at: + description: Creation time of the annotation in milliseconds since the Unix epoch. + example: 1704067200000 + format: int64 + type: integer + description: + description: User-defined text attached to the annotation. + example: Deployed v2.3.1 to production. + type: string + end_time: + description: End time of the annotation in milliseconds since the Unix epoch. Null for `pointInTime` annotations. + example: 1704070800000 + format: int64 + nullable: true + type: integer + id: + description: Unique identifier of the annotation. + example: 00000000-0000-0000-0000-000000000000 + format: uuid + type: string + modified_at: + description: Last modification time of the annotation in milliseconds since the Unix epoch. + example: 1704067200000 + format: int64 + type: integer + page_id: + description: |- + ID of the page the annotation belongs to, prefixed with the page type and joined by a colon + (for example, `dashboard:abc-def-xyz` or `notebook:1234567890`). + example: dashboard:abc-def-xyz + type: string + start_time: + description: Start time of the annotation in milliseconds since the Unix epoch. + example: 1704067200000 + format: int64 + type: integer + type: + $ref: '#/components/schemas/AnnotationKind' + widget_ids: + description: IDs of widgets the annotation is associated with. When empty or omitted, the annotation applies to the whole page. + example: + - '1234567890' + items: + description: Widget ID. + type: string + type: array + required: + - id + - page_id + - description + - author_id + - type + - color + - start_time + - end_time + - created_at + - modified_at + type: object + WidgetAnnotationIds: + description: List of annotation IDs displayed on a widget. + example: + - 00000000-0000-0000-0000-000000000000 + items: + description: Annotation ID. + format: uuid + type: string + type: array + SharedDashboardViewingPreferencesTheme: + description: The theme of the shared dashboard view. `system` follows the viewer's system default. + enum: + - system + - light + - dark + example: system + type: string + x-enum-varnames: + - SYSTEM + - LIGHT + - DARK + SharedDashboardRelationshipDashboardData: + description: Dashboard relationship data. + properties: + id: + description: ID of the dashboard. + example: abc-def-ghi + type: string + type: + $ref: '#/components/schemas/SharedDashboardIncludedDashboardType' + required: + - id + - type + type: object + UserRelationshipData: + description: Relationship to user object. + properties: + id: + description: A unique identifier that represents the user. + example: 00000000-0000-0000-0000-000000000000 + type: string + type: + $ref: '#/components/schemas/UserResourceType' + required: + - id + - type + type: object + SecureEmbedGlobalTimeLiveSpan: + description: Dashboard global time live_span selection. + enum: + - 15m + - 1h + - 4h + - 1d + - 2d + - 1w + - 1mo + - 3mo + example: 1h + type: string + x-enum-varnames: + - PAST_FIFTEEN_MINUTES + - PAST_ONE_HOUR + - PAST_FOUR_HOURS + - PAST_ONE_DAY + - PAST_TWO_DAYS + - PAST_ONE_WEEK + - PAST_ONE_MONTH + - PAST_THREE_MONTHS + SecureEmbedViewingPreferencesTheme: + description: The theme of the shared dashboard view. `system` follows the viewer's system default. + enum: + - system + - light + - dark + example: system + type: string + x-enum-varnames: + - SYSTEM + - LIGHT + - DARK + PowerpackGroupWidgetDefinition: + description: Powerpack group widget object. + properties: + layout_type: + description: Layout type of widgets. + example: ordered + type: string + show_title: + description: Boolean indicating whether powerpack group title should be visible or not. + example: true + type: boolean + title: + description: Name for the group widget. + example: Sample Powerpack + type: string + type: + description: Type of widget, must be group. + example: group + type: string + widgets: + description: Widgets inside the powerpack. + example: + - definition: + content: example + type: note + layout: + height: 5 + width: 10 + x: 0 + 'y': 0 + items: + $ref: '#/components/schemas/PowerpackInnerWidgets' + type: array + required: + - widgets + - layout_type + - type + type: object + PowerpackGroupWidgetLayout: + description: Powerpack group widget layout. + properties: + height: + description: The height of the widget. Should be a non-negative integer. + example: 0 + format: int64 + minimum: 0 + type: integer + width: + description: The width of the widget. Should be a non-negative integer. + example: 0 + format: int64 + minimum: 0 + type: integer + x: + description: The position of the widget on the x (horizontal) axis. Should be a non-negative integer. + example: 0 + format: int64 + minimum: 0 + type: integer + 'y': + description: The position of the widget on the y (vertical) axis. Should be a non-negative integer. + example: 0 + format: int64 + minimum: 0 + type: integer + required: + - x + - 'y' + - width + - height + type: object + WidgetLiveSpan: + description: The available timeframes depend on the widget you are using. + enum: + - 1m + - 5m + - 10m + - 15m + - 30m + - 1h + - 4h + - 1d + - 2d + - 1w + - 1mo + - 3mo + - 6mo + - 1y + - alert + example: 5m + type: string + x-enum-varnames: + - PAST_ONE_MINUTE + - PAST_FIVE_MINUTES + - PAST_TEN_MINUTES + - PAST_FIFTEEN_MINUTES + - PAST_THIRTY_MINUTES + - PAST_ONE_HOUR + - PAST_FOUR_HOURS + - PAST_ONE_DAY + - PAST_TWO_DAYS + - PAST_ONE_WEEK + - PAST_ONE_MONTH + - PAST_THREE_MONTHS + - PAST_SIX_MONTHS + - PAST_ONE_YEAR + - ALERT + RelationshipToUserData: + description: Relationship to user object. + properties: + id: + description: A unique identifier that represents the user. + example: 00000000-0000-0000-2345-000000000000 + type: string + type: + $ref: '#/components/schemas/UsersType' + required: + - id + - type + type: object + RelationshipToOrganizationData: + description: Relationship to organization object. + properties: + id: + description: ID of the organization. + example: 00000000-0000-beef-0000-000000000000 + type: string + type: + $ref: '#/components/schemas/OrganizationsType' + required: + - id + - type + type: object + RelationshipToRoleData: + description: Relationship to role object. + properties: + id: + description: The unique identifier of the role. + example: 3653d3c6-0c75-11ea-ad28-fb5701eabc7d + type: string + type: + $ref: '#/components/schemas/RolesType' + type: object + ReportScheduleAuthorRelationshipData: + description: Relationship data for the author of the report schedule. + properties: + id: + description: The user UUID of the report schedule author. + example: aaaaaaaa-bbbb-cccc-dddd-eeeeeeeeeeee + type: string + type: + $ref: '#/components/schemas/ReportScheduleAuthorType' + required: + - id + - type + type: object + ReportScheduleIndexTemplateVariable: + description: Template variable metadata from a dashboard index. + properties: + available_values: + description: Available values for the template variable. + example: + - prod + - staging + items: + type: string + nullable: true + type: array + defaults: + description: Default values for the template variable. + example: + - prod + items: + type: string + nullable: true + type: array + name: + description: The template variable name. + example: env + nullable: true + type: string + prefix: + description: The tag prefix for the template variable, when available. + example: env + nullable: true + type: string + type: object + ReportScheduleListResourceRelationshipData: + description: Relationship data for the report target resource. + properties: + id: + description: The resource identifier. + example: abc-def-ghi + type: string + type: + $ref: '#/components/schemas/ReportScheduleIncludedResourceType' + required: + - id + - type + type: object + CreateSnapshotTemplateVariables: + description: List of template variable definitions for snapshot rendering. + items: + $ref: '#/components/schemas/CreateSnapshotTemplateVariable' + type: array + CreateSnapshotTimeseriesLegendType: + description: The legend display type for timeseries widgets. A value of `none` hides the legend entirely; omitting the field lets the frontend choose automatically. + enum: + - compact + - expanded + - none + example: expanded + type: string + x-enum-varnames: + - COMPACT + - EXPANDED + - NONE + WidgetRelationshipData: + description: Relationship data referencing a user resource. + properties: + id: + description: The unique identifier of the user. + example: a1b2c3d4-e5f6-7890-abcd-ef1234567890 + type: string + type: + description: Users resource type. + example: users + type: string + required: + - id + - type + type: object + WidgetTime: + description: Time setting for the widget. + additionalProperties: false + properties: + hide_incomplete_cost_data: + description: Whether to hide incomplete cost data in the widget. + type: boolean + live_span: + $ref: '#/components/schemas/WidgetLiveSpanV1' + type: + $ref: '#/components/schemas/WidgetNewLiveSpanType' + unit: + $ref: '#/components/schemas/WidgetLiveSpanUnit' + value: + description: Value of the time span. + example: 4 + format: int64 + minimum: 1 + type: integer + from: + description: Start time in milliseconds since epoch. + example: 1712080128000 + format: int64 + minimum: 0 + type: integer + to: + description: End time in milliseconds since epoch. + example: 1712083128000 + format: int64 + minimum: 0 + type: integer + type: object + required: + - type + - value + - unit + - from + - to + WidgetTextAlign: + description: How to align the text on the widget. + enum: + - center + - left + - right + type: string + x-enum-varnames: + - CENTER + - LEFT + - RIGHT + AlertGraphWidgetDefinitionType: + default: alert_graph + description: Type of the alert graph widget. + enum: + - alert_graph + example: alert_graph + type: string + x-enum-varnames: + - ALERT_GRAPH + WidgetVizType: + description: Whether to display the Alert Graph as a timeseries or a top list. + enum: + - timeseries + - toplist + example: timeseries + type: string + x-enum-varnames: + - TIMESERIES + - TOPLIST + AlertValueWidgetDefinitionType: + default: alert_value + description: Type of the alert value widget. + enum: + - alert_value + example: alert_value + type: string + x-enum-varnames: + - ALERT_VALUE + WidgetCustomLink: + description: Custom links help you connect a data value to a URL, like a Datadog page or your AWS console. + properties: + is_hidden: + description: The flag for toggling context menu link visibility. + type: boolean + label: + description: The label for the custom link URL. Keep the label short and descriptive. Use metrics and tags as variables. + example: Search logs for {{host}} + type: string + link: + description: The URL of the custom link. URL must include `http` or `https`. A relative URL must start with `/`. + example: https://app.datadoghq.com/logs?query={{host}} + type: string + override_label: + description: The label ID that refers to a context menu link. Can be `logs`, `hosts`, `traces`, `profiles`, `processes`, `containers`, or `rum`. + example: logs + type: string + type: object + BarChartWidgetRequest: + description: Updated bar chart widget. + properties: + apm_query: + $ref: '#/components/schemas/LogQueryDefinition' + deprecated: true + description: Deprecated - Use `queries` and `formulas` instead. + audit_query: + $ref: '#/components/schemas/LogQueryDefinition' + deprecated: true + description: Deprecated - Use `queries` and `formulas` instead. + conditional_formats: + description: List of conditional formats. + example: + - comparator: '>=' + palette: blue + value: 1 + items: + $ref: '#/components/schemas/WidgetConditionalFormat' + type: array + event_query: + $ref: '#/components/schemas/LogQueryDefinition' + deprecated: true + description: Deprecated - Use `queries` and `formulas` instead. + formulas: + description: List of formulas that operate on queries. + items: + $ref: '#/components/schemas/WidgetFormula' + type: array + log_query: + $ref: '#/components/schemas/LogQueryDefinition' + deprecated: true + description: Deprecated - Use `queries` and `formulas` instead. + network_query: + $ref: '#/components/schemas/LogQueryDefinition' + deprecated: true + description: Deprecated - Use `queries` and `formulas` instead. + process_query: + $ref: '#/components/schemas/ProcessQueryDefinition' + deprecated: true + description: Deprecated - Use `queries` and `formulas` instead. + profile_metrics_query: + $ref: '#/components/schemas/LogQueryDefinition' + deprecated: true + description: Deprecated - Use `queries` and `formulas` instead. + q: + deprecated: true + description: Widget query. Deprecated - Use `queries` and `formulas` instead. + type: string + queries: + description: List of queries that can be returned directly or used in formulas. + items: + $ref: '#/components/schemas/FormulaAndFunctionQueryDefinition' + type: array + response_format: + $ref: '#/components/schemas/FormulaAndFunctionResponseFormat' + rum_query: + $ref: '#/components/schemas/LogQueryDefinition' + deprecated: true + description: Deprecated - Use `queries` and `formulas` instead. + security_query: + $ref: '#/components/schemas/LogQueryDefinition' + deprecated: true + description: Deprecated - Use `queries` and `formulas` instead. + sort: + $ref: '#/components/schemas/WidgetSortBy' + style: + $ref: '#/components/schemas/WidgetRequestStyle' + type: object + BarChartWidgetStyle: + description: Style customization for a bar chart widget. + properties: + display: + $ref: '#/components/schemas/BarChartWidgetDisplay' + palette: + description: Color palette to apply to the widget. + type: string + scaling: + $ref: '#/components/schemas/BarChartWidgetScaling' + type: object + BarChartWidgetDefinitionType: + default: bar_chart + description: Type of the bar chart widget. + enum: + - bar_chart + example: bar_chart + type: string + x-enum-varnames: + - BAR_CHART + ChangeWidgetRequest: + description: Updated change widget. + properties: + apm_query: + $ref: '#/components/schemas/LogQueryDefinition' + deprecated: true + description: Deprecated - Use `queries` and `formulas` instead. + change_type: + $ref: '#/components/schemas/WidgetChangeType' + compare_to: + $ref: '#/components/schemas/WidgetCompareTo' + event_query: + $ref: '#/components/schemas/LogQueryDefinition' + deprecated: true + description: Deprecated - Use `queries` and `formulas` instead. + formulas: + description: List of formulas that operate on queries. + items: + $ref: '#/components/schemas/WidgetFormula' + type: array + increase_good: + description: Whether to show increase as good. + type: boolean + log_query: + $ref: '#/components/schemas/LogQueryDefinition' + deprecated: true + description: Deprecated - Use `queries` and `formulas` instead. + network_query: + $ref: '#/components/schemas/LogQueryDefinition' + deprecated: true + description: Deprecated - Use `queries` and `formulas` instead. + order_by: + $ref: '#/components/schemas/WidgetOrderBy' + order_dir: + $ref: '#/components/schemas/WidgetSort' + process_query: + $ref: '#/components/schemas/ProcessQueryDefinition' + deprecated: true + description: Deprecated - Use `queries` and `formulas` instead. + profile_metrics_query: + $ref: '#/components/schemas/LogQueryDefinition' + deprecated: true + description: Deprecated - Use `queries` and `formulas` instead. + q: + deprecated: true + description: Query definition. Deprecated - Use `queries` and `formulas` instead. + type: string + queries: + description: List of queries that can be returned directly or used in formulas. + items: + $ref: '#/components/schemas/FormulaAndFunctionQueryDefinition' + type: array + response_format: + $ref: '#/components/schemas/FormulaAndFunctionResponseFormat' + rum_query: + $ref: '#/components/schemas/LogQueryDefinition' + deprecated: true + description: Deprecated - Use `queries` and `formulas` instead. + security_query: + $ref: '#/components/schemas/LogQueryDefinition' + deprecated: true + description: Deprecated - Use `queries` and `formulas` instead. + show_present: + description: Whether to show the present value. + type: boolean + type: object + ChangeWidgetDefinitionType: + default: change + description: Type of the change widget. + enum: + - change + example: change + type: string + x-enum-varnames: + - CHANGE + WidgetGrouping: + description: The kind of grouping to use. + enum: + - check + - cluster + example: check + type: string + x-enum-varnames: + - CHECK + - CLUSTER + CheckStatusWidgetDefinitionType: + default: check_status + description: Type of the check status widget. + enum: + - check_status + example: check_status + type: string + x-enum-varnames: + - CHECK_STATUS + RetentionGridRequest: + additionalProperties: false + description: Retention grid widget request. + properties: + query: + $ref: '#/components/schemas/RetentionQuery' + request_type: + $ref: '#/components/schemas/RetentionGridRequestType' + required: + - request_type + - query + type: object + CohortWidgetDefinitionType: + default: cohort + description: Type of the Cohort widget. + enum: + - cohort + example: cohort + type: string + x-enum-varnames: + - COHORT + WidgetMarker: + description: Markers allow you to add visual conditional formatting for your graphs. + properties: + display_type: + description: |- + Combination of: + - A severity error, warning, ok, or info + - A line type: dashed, solid, or bold + In this case of a Distribution widget, this can be set to be `percentile`. + example: error dashed + type: string + label: + description: Label to display over the marker. + example: Error threshold + type: string + time: + description: Timestamp for the widget. + type: string + value: + description: |- + Value to apply. Can be a single value y = 15 or a range of values 0 < y < 10. + For Distribution widgets with `display_type` set to `percentile`, this should be + a numeric percentile value (for example, "90" for P90). + example: y = 15 + type: string + required: + - value + type: object + DistributionWidgetRequest: + description: Updated distribution widget. + properties: + apm_query: + $ref: '#/components/schemas/LogQueryDefinition' + deprecated: true + description: Deprecated - Use `queries` and `formulas` instead. + apm_stats_query: + $ref: '#/components/schemas/ApmStatsQueryDefinition' + event_query: + $ref: '#/components/schemas/LogQueryDefinition' + deprecated: true + description: Deprecated - Use `queries` and `formulas` instead. + formulas: + description: List of formulas that operate on queries. + items: + $ref: '#/components/schemas/WidgetFormula' + type: array + log_query: + $ref: '#/components/schemas/LogQueryDefinition' + deprecated: true + description: Deprecated - Use `queries` and `formulas` instead. + network_query: + $ref: '#/components/schemas/LogQueryDefinition' + deprecated: true + description: Deprecated - Use `queries` and `formulas` instead. + process_query: + $ref: '#/components/schemas/ProcessQueryDefinition' + deprecated: true + description: Deprecated - Use `queries` and `formulas` instead. + profile_metrics_query: + $ref: '#/components/schemas/LogQueryDefinition' + deprecated: true + description: Deprecated - Use `queries` and `formulas` instead. + q: + deprecated: true + description: Widget query. Deprecated - Use `queries` and `formulas` instead. + type: string + queries: + description: List of queries that can be returned directly or used in formulas. + items: + $ref: '#/components/schemas/FormulaAndFunctionQueryDefinition' + type: array + query: + $ref: '#/components/schemas/DistributionWidgetHistogramRequestQuery' + request_type: + $ref: '#/components/schemas/WidgetHistogramRequestType' + description: Distribution of point values for distribution metrics. Renders a histogram of raw metric data points. + response_format: + $ref: '#/components/schemas/FormulaAndFunctionResponseFormat' + description: Distribution of aggregated grouped queries. Use `request_type` instead for distribution of point values from distribution metrics. + rum_query: + $ref: '#/components/schemas/LogQueryDefinition' + deprecated: true + description: Deprecated - Use `queries` and `formulas` instead. + security_query: + $ref: '#/components/schemas/LogQueryDefinition' + deprecated: true + description: Deprecated - Use `queries` and `formulas` instead. + style: + $ref: '#/components/schemas/WidgetStyle' + type: object + DistributionWidgetDefinitionType: + default: distribution + description: Type of the distribution widget. + enum: + - distribution + example: distribution + type: string + x-enum-varnames: + - DISTRIBUTION + DistributionWidgetXAxis: + description: X Axis controls for the distribution widget. + properties: + include_zero: + description: True includes zero. + type: boolean + max: + default: auto + description: Specifies maximum value to show on the x-axis. It takes a number, percentile (p90 === 90th percentile), or auto for default behavior. + type: string + min: + default: auto + description: Specifies minimum value to show on the x-axis. It takes a number, percentile (p90 === 90th percentile), or auto for default behavior. + type: string + num_buckets: + description: Number of value buckets to target, also known as the resolution of the value bins. + format: int64 + minimum: 1 + type: integer + scale: + default: linear + description: Specifies the scale type. Possible values are `linear`. + type: string + type: object + DistributionWidgetYAxis: + description: Y Axis controls for the distribution widget. + properties: + include_zero: + description: True includes zero. + type: boolean + label: + description: The label of the axis to display on the graph. + type: string + max: + default: auto + description: Specifies the maximum value to show on the y-axis. It takes a number, or auto for default behavior. + type: string + min: + default: auto + description: Specifies minimum value to show on the y-axis. It takes a number, or auto for default behavior. + type: string + scale: + default: linear + description: Specifies the scale type. Possible values are `linear` or `log`. + type: string + type: object + WidgetEventSize: + description: Size to use to display an event. + enum: + - s + - l + type: string + x-enum-varnames: + - SMALL + - LARGE + EventStreamWidgetDefinitionType: + default: event_stream + description: Type of the event stream widget. + enum: + - event_stream + example: event_stream + type: string + x-enum-varnames: + - EVENT_STREAM + EventTimelineWidgetDefinitionType: + default: event_timeline + description: Type of the event timeline widget. + enum: + - event_timeline + example: event_timeline + type: string + x-enum-varnames: + - EVENT_TIMELINE + WidgetBackgroundColor: + description: Background color of the widget. Supported values are `white`, `blue`, `purple`, `pink`, `orange`, `yellow`, `green`, `gray`, `vivid_blue`, `vivid_purple`, `vivid_pink`, `vivid_orange`, `vivid_yellow`, `vivid_green`, and `transparent`. + type: string + FreeTextWidgetDefinitionType: + default: free_text + description: Type of the free text widget. + enum: + - free_text + example: free_text + type: string + x-enum-varnames: + - FREE_TEXT + FunnelGroupedDisplay: + description: Display mode for grouped funnel results. + enum: + - stacked + - side_by_side + example: stacked + type: string + x-enum-varnames: + - STACKED + - SIDE_BY_SIDE + FunnelWidgetRequest: + description: Updated funnel widget. + properties: + query: + $ref: '#/components/schemas/FunnelQuery' + request_type: + $ref: '#/components/schemas/FunnelRequestType' + required: + - query + - request_type + type: object + FunnelWidgetDefinitionType: + default: funnel + description: Type of funnel widget. + enum: + - funnel + example: funnel + type: string + x-enum-varnames: + - FUNNEL + ProductAnalyticsFunnelRequest: + additionalProperties: false + description: User journey funnel widget request. + properties: + comparison_segments: + description: Comparison segments. + items: + description: Segment identifier. + minLength: 1 + type: string + minItems: 1 + type: array + comparison_time: + $ref: '#/components/schemas/FunnelComparisonDuration' + query: + $ref: '#/components/schemas/ProductAnalyticsFunnelQuery' + request_type: + $ref: '#/components/schemas/ProductAnalyticsFunnelRequestType' + required: + - query + - request_type + type: object + GeomapWidgetRequest: + description: An updated geomap widget. + properties: + columns: + description: Widget columns. + example: + - field: timestamp + width: auto + - field: content + width: full + items: + $ref: '#/components/schemas/ListStreamColumn' + type: array + conditional_formats: + description: Threshold (numeric) conditional formatting rules may be used by a regions layer. + items: + $ref: '#/components/schemas/WidgetConditionalFormat' + type: array + formulas: + description: List of formulas that operate on queries. + items: + $ref: '#/components/schemas/WidgetFormula' + type: array + log_query: + $ref: '#/components/schemas/LogQueryDefinition' + deprecated: true + description: Deprecated - Use `queries` and `formulas` instead. + q: + deprecated: true + description: The widget metrics query. Deprecated - Use `queries` and `formulas` instead. + type: string + queries: + description: List of queries that can be returned directly or used in formulas. + items: + $ref: '#/components/schemas/FormulaAndFunctionQueryDefinition' + type: array + query: + $ref: '#/components/schemas/ListStreamQuery' + response_format: + $ref: '#/components/schemas/FormulaAndFunctionResponseFormat' + rum_query: + $ref: '#/components/schemas/LogQueryDefinition' + deprecated: true + description: Deprecated - Use `queries` and `formulas` instead. + security_query: + $ref: '#/components/schemas/LogQueryDefinition' + deprecated: true + description: Deprecated - Use `queries` and `formulas` instead. + sort: + $ref: '#/components/schemas/WidgetSortBy' + style: + $ref: '#/components/schemas/GeomapWidgetRequestStyle' + text_formats: + description: Text formatting rules may be used by a points layer. + items: + $ref: '#/components/schemas/TableWidgetTextFormatRule' + type: array + type: object + GeomapWidgetDefinitionStyle: + description: The style to apply to the widget. + example: + palette: hostmap_blues + palette_flip: false + properties: + palette: + description: The color palette to apply to the widget. + example: hostmap_blues + type: string + palette_flip: + description: Whether to flip the palette tones. + example: false + type: boolean + required: + - palette + - palette_flip + type: object + GeomapWidgetDefinitionType: + default: geomap + description: Type of the geomap widget. + enum: + - geomap + example: geomap + type: string + x-enum-varnames: + - GEOMAP + GeomapWidgetDefinitionView: + description: The view of the world that the map should render. + example: + focus: WORLD + properties: + focus: + description: The 2-letter ISO code of a country to focus the map on, or `WORLD` for global view, or a region (`EMEA`, `APAC`, `LATAM`), or a continent (`NORTH_AMERICA`, `SOUTH_AMERICA`, `EUROPE`, `AFRICA`, `ASIA`, `OCEANIA`). + example: WORLD + type: string + required: + - focus + type: object + WidgetLayoutType: + description: Layout type of the group. + enum: + - ordered + example: ordered + type: string + x-enum-varnames: + - ORDERED + GroupWidgetDefinitionType: + default: group + description: Type of the group widget. + enum: + - group + example: group + type: string + x-enum-varnames: + - GROUP + WidgetEvent: + deprecated: true + description: |- + Event overlay control options. + + See the dedicated [Events JSON schema documentation](https://docs.datadoghq.com/dashboards/graphing_json/widget_json/#events-schema) + to learn how to build the ``. + properties: + q: + description: Query definition. + example: '' + type: string + tags_execution: + description: The execution method for multi-value filters. + type: string + required: + - q + type: object + WidgetLegendSize: + description: Available legend sizes for a widget. Should be one of "0", "2", "4", "8", "16", or "auto". + type: string + HeatMapWidgetRequest: + description: Updated heat map widget. + properties: + apm_query: + $ref: '#/components/schemas/LogQueryDefinition' + deprecated: true + description: Deprecated - Use `queries` and `formulas` instead. + event_query: + $ref: '#/components/schemas/EventQueryDefinition' + deprecated: true + description: Deprecated - Use `queries` and `formulas` instead. + formulas: + description: List of formulas that operate on queries. + items: + $ref: '#/components/schemas/WidgetFormula' + type: array + log_query: + $ref: '#/components/schemas/LogQueryDefinition' + deprecated: true + description: Deprecated - Use `queries` and `formulas` instead. + network_query: + $ref: '#/components/schemas/LogQueryDefinition' + deprecated: true + description: Deprecated - Use `queries` and `formulas` instead. + process_query: + $ref: '#/components/schemas/ProcessQueryDefinition' + deprecated: true + description: Deprecated - Use `queries` and `formulas` instead. + profile_metrics_query: + $ref: '#/components/schemas/LogQueryDefinition' + deprecated: true + description: Deprecated - Use `queries` and `formulas` instead. + q: + deprecated: true + description: Widget query. Deprecated - Use `queries` and `formulas` instead. + type: string + queries: + description: List of queries that can be returned directly or used in formulas. + items: + $ref: '#/components/schemas/FormulaAndFunctionQueryDefinition' + type: array + query: + $ref: '#/components/schemas/FormulaAndFunctionMetricQueryDefinition' + request_type: + $ref: '#/components/schemas/WidgetHistogramRequestType' + description: Applicable only for distribution of point values for distribution metrics. + response_format: + $ref: '#/components/schemas/FormulaAndFunctionResponseFormat' + description: Applicable only for distribution of aggregated grouped queries. + rum_query: + $ref: '#/components/schemas/LogQueryDefinition' + deprecated: true + description: Deprecated - Use `queries` and `formulas` instead. + security_query: + $ref: '#/components/schemas/LogQueryDefinition' + deprecated: true + description: Deprecated - Use `queries` and `formulas` instead. + style: + $ref: '#/components/schemas/WidgetStyle' + type: object + HeatMapWidgetDefinitionType: + default: heatmap + description: Type of the heat map widget. + enum: + - heatmap + example: heatmap + type: string + x-enum-varnames: + - HEATMAP + HeatMapWidgetXAxis: + description: X Axis controls for the heat map widget. + properties: + num_buckets: + description: |- + Number of time buckets to target, also known as the resolution + of the time bins. This is only applicable for distribution of + points (group distributions use the roll-up modifier). + format: int64 + type: integer + type: object + WidgetAxis: + description: Axis controls for the widget. + properties: + include_zero: + description: Set to `true` to include zero. + type: boolean + label: + description: The label of the axis to display on the graph. Only usable on Scatterplot Widgets. + type: string + max: + default: auto + description: Specifies maximum numeric value to show on the axis. Defaults to `auto`. + type: string + min: + default: auto + description: Specifies minimum numeric value to show on the axis. Defaults to `auto`. + type: string + scale: + default: linear + description: Specifies the scale type. Possible values are `linear`, `log`, `sqrt`, and `pow##` (for example `pow2` or `pow0.5`). + type: string + type: object + WidgetNodeType: + description: Which type of node to use in the map. + enum: + - host + - container + type: string + x-enum-varnames: + - HOST + - CONTAINER + HostMapWidgetDefinitionRequests: + description: 'Query definition for the host map widget. Supports three mutually exclusive formats distinguished by `request_type`: the deprecated legacy metric-based format (`fill`/`size`, no `request_type`), the infrastructure-backed format (`request_type: infrastructure_hostmap`), and the DDSQL published-dataset format (`request_type: data_projection`).' + example: {} + properties: + child: + $ref: '#/components/schemas/HostMapWidgetInfrastructureRequest' + description: Optional child entities for hierarchical visualization (for example, host → container). Only used by the infrastructure-backed format. + conditional_formats: + description: List of conditional formatting rules applied to fill values. + items: + $ref: '#/components/schemas/WidgetConditionalFormat' + type: array + enrichments: + description: Metric or event queries joined to the entity set. Each formula specifies a visual dimension. Only used by the infrastructure-backed format. + example: + - formulas: + - dimension: fill + formula: query1 + queries: + - data_source: metrics + name: query1 + query: avg:system.cpu.user{*} by {host} + response_format: scalar + items: + $ref: '#/components/schemas/HostMapWidgetScalarRequest' + type: array + fill: + $ref: '#/components/schemas/HostMapRequest' + deprecated: true + description: 'Deprecated - Legacy metric-based format. Use the infrastructure-backed (`request_type: infrastructure_hostmap`) or DDSQL (`request_type: data_projection`) format instead.' + filter: + description: Filter string for the entity set in tag format (for example, `env:prod`). Only used by the infrastructure-backed format. + example: env:prod + type: string + group_by: + description: |- + Defines how entities are grouped into tiles. The ordering of entries implies + the grouping hierarchy. Only used by the infrastructure-backed format. + items: + $ref: '#/components/schemas/HostMapWidgetGroupBy' + type: array + limit: + description: Maximum number of rows to return from the dataset query. Only used by the DDSQL format. + format: int64 + type: integer + no_group_hosts: + description: Whether to hide entities that have no group assignment. + type: boolean + no_metric_hosts: + description: Whether to hide entities that have no enrichment data. + type: boolean + node_type: + $ref: '#/components/schemas/HostMapWidgetNodeType' + description: Entity type to visualize. Only used by the infrastructure-backed format. + projection: + $ref: '#/components/schemas/HostMapWidgetProjection' + description: Maps dataset columns to map dimensions (entity, optional parent for grouping, fill, size). Only used by the DDSQL format. + query: + $ref: '#/components/schemas/DatasetListQuery' + description: Published-dataset query. Only used by the DDSQL format. + request_type: + $ref: '#/components/schemas/HostMapWidgetDefinitionRequestType' + size: + $ref: '#/components/schemas/HostMapRequest' + deprecated: true + description: 'Deprecated - Legacy metric-based format. Use the infrastructure-backed (`request_type: infrastructure_hostmap`) or DDSQL (`request_type: data_projection`) format instead.' + style: + $ref: '#/components/schemas/HostMapWidgetInfrastructureStyle' + type: object + HostMapWidgetDefinitionStyle: + deprecated: true + description: Deprecated - The style to apply to the legacy metric-based host map widget. Use `HostMapWidgetInfrastructureStyle` instead. + properties: + fill_max: + description: Max value to use to color the map. + type: string + fill_min: + description: Min value to use to color the map. + type: string + palette: + description: Color palette to apply to the widget. + type: string + palette_flip: + description: Whether to flip the palette tones. + type: boolean + type: object + HostMapWidgetDefinitionType: + default: hostmap + description: Type of the host map widget. + enum: + - hostmap + example: hostmap + type: string + x-enum-varnames: + - HOSTMAP + IFrameWidgetDefinitionType: + default: iframe + description: Type of the iframe widget. + enum: + - iframe + example: iframe + type: string + x-enum-varnames: + - IFRAME + WidgetHorizontalAlign: + description: Horizontal alignment. + enum: + - center + - left + - right + type: string + x-enum-varnames: + - CENTER + - LEFT + - RIGHT + WidgetMargin: + description: |- + Size of the margins around the image. + **Note**: `small` and `large` values are deprecated. + enum: + - sm + - md + - lg + - small + - large + type: string + x-enum-varnames: + - SM + - MD + - LG + - SMALL + - LARGE + WidgetImageSizing: + description: |- + How to size the image on the widget. The values are based on the image `object-fit` CSS properties. + **Note**: `zoom`, `fit` and `center` values are deprecated. + enum: + - fill + - contain + - cover + - none + - scale-down + - zoom + - fit + - center + type: string + x-enum-varnames: + - FILL + - CONTAIN + - COVER + - NONE + - SCALEDOWN + - ZOOM + - FIT + - CENTER + ImageWidgetDefinitionType: + default: image + description: Type of the image widget. + enum: + - image + example: image + type: string + x-enum-varnames: + - IMAGE + WidgetVerticalAlign: + description: Vertical alignment. + enum: + - center + - top + - bottom + type: string + x-enum-varnames: + - CENTER + - TOP + - BOTTOM + ListStreamWidgetRequest: + description: Updated list stream widget. + properties: + columns: + description: Widget columns. + example: + - field: timestamp + width: auto + - field: content + width: full + items: + $ref: '#/components/schemas/ListStreamColumn' + type: array + query: + $ref: '#/components/schemas/ListStreamQuery' + response_format: + $ref: '#/components/schemas/ListStreamResponseFormat' + required: + - columns + - query + - response_format + type: object + ListStreamWidgetDefinitionType: + default: list_stream + description: Type of the list stream widget. + enum: + - list_stream + example: list_stream + type: string + x-enum-varnames: + - LIST_STREAM + WidgetMessageDisplay: + description: Amount of log lines to display + enum: + - inline + - expanded-md + - expanded-lg + type: string + x-enum-varnames: + - INLINE + - EXPANDED_MEDIUM + - EXPANDED_LARGE + WidgetFieldSort: + description: Which column and order to sort by + properties: + column: + description: Facet path for the column + example: '' + type: string + order: + $ref: '#/components/schemas/WidgetSort' + required: + - column + - order + type: object + LogStreamWidgetDefinitionType: + default: log_stream + description: Type of the log stream widget. + enum: + - log_stream + example: log_stream + type: string + x-enum-varnames: + - LOG_STREAM + WidgetColorPreference: + description: Which color to use on the widget. + enum: + - background + - text + type: string + x-enum-varnames: + - BACKGROUND + - TEXT + WidgetMonitorSummaryDisplayFormat: + description: What to display on the widget. + enum: + - counts + - countsAndList + - list + type: string + x-enum-varnames: + - COUNTS + - COUNTS_AND_LIST + - LIST + WidgetMonitorSummarySort: + description: Widget sorting methods. + enum: + - name + - group + - status + - tags + - triggered + - group,asc + - group,desc + - name,asc + - name,desc + - status,asc + - status,desc + - tags,asc + - tags,desc + - triggered,asc + - triggered,desc + - priority,asc + - priority,desc + example: name,asc + type: string + x-enum-varnames: + - NAME + - GROUP + - STATUS + - TAGS + - TRIGGERED + - GROUP_ASCENDING + - GROUP_DESCENDING + - NAME_ASCENDING + - NAME_DESCENDING + - STATUS_ASCENDING + - STATUS_DESCENDING + - TAGS_ASCENDING + - TAGS_DESCENDING + - TRIGGERED_ASCENDING + - TRIGGERED_DESCENDING + - PRIORITY_ASCENDING + - PRIORITY_DESCENDING + WidgetSummaryType: + description: Which summary type should be used. + enum: + - monitors + - groups + - combined + type: string + x-enum-varnames: + - MONITORS + - GROUPS + - COMBINED + MonitorSummaryWidgetDefinitionType: + default: manage_status + description: Type of the monitor summary widget. + enum: + - manage_status + example: manage_status + type: string + x-enum-varnames: + - MANAGE_STATUS + WidgetTickEdge: + description: Define how you want to align the text on the widget. + enum: + - bottom + - left + - right + - top + type: string + x-enum-varnames: + - BOTTOM + - LEFT + - RIGHT + - TOP + NoteWidgetDefinitionType: + default: note + description: Type of the note widget. + enum: + - note + example: note + type: string + x-enum-varnames: + - NOTE + PowerpackTemplateVariables: + description: Powerpack template variables. + properties: + controlled_by_powerpack: + description: Template variables controlled at the powerpack level. + items: + $ref: '#/components/schemas/PowerpackTemplateVariableContents' + type: array + controlled_externally: + description: Template variables controlled by the external resource, such as the dashboard this powerpack is on. + items: + $ref: '#/components/schemas/PowerpackTemplateVariableContents' + type: array + type: object + PowerpackWidgetDefinitionType: + default: powerpack + description: Type of the powerpack widget. + enum: + - powerpack + example: powerpack + type: string + x-enum-varnames: + - POWERPACK + PointPlotWidgetLegend: + description: Legend configuration for the point plot widget. + properties: + type: + $ref: '#/components/schemas/PointPlotWidgetLegendType' + required: + - type + type: object + PointPlotWidgetRequest: + description: Request configuration for the point plot widget. + properties: + limit: + description: Maximum number of data points to return. + format: int64 + type: integer + projection: + $ref: '#/components/schemas/PointPlotProjection' + query: + $ref: '#/components/schemas/DataProjectionQuery' + request_type: + $ref: '#/components/schemas/DataProjectionRequestType' + required: + - request_type + - query + - projection + type: object + PointPlotWidgetDefinitionType: + default: point_plot + description: Type of the point plot widget. + enum: + - point_plot + example: point_plot + type: string + x-enum-varnames: + - POINT_PLOT + QueryValueWidgetRequest: + description: Updated query value widget. + properties: + aggregator: + $ref: '#/components/schemas/WidgetAggregator' + apm_query: + $ref: '#/components/schemas/LogQueryDefinition' + deprecated: true + description: Deprecated - Use `queries` and `formulas` instead. + audit_query: + $ref: '#/components/schemas/LogQueryDefinition' + deprecated: true + description: Deprecated - Use `queries` and `formulas` instead. + comparison: + $ref: '#/components/schemas/QueryValueWidgetComparison' + description: Displays a change indicator showing a delta against a historical baseline. + conditional_formats: + description: List of conditional formats. + items: + $ref: '#/components/schemas/WidgetConditionalFormat' + type: array + event_query: + $ref: '#/components/schemas/LogQueryDefinition' + deprecated: true + description: Deprecated - Use `queries` and `formulas` instead. + formulas: + description: List of formulas that operate on queries. + items: + $ref: '#/components/schemas/WidgetFormula' + type: array + log_query: + $ref: '#/components/schemas/LogQueryDefinition' + deprecated: true + description: Deprecated - Use `queries` and `formulas` instead. + network_query: + $ref: '#/components/schemas/LogQueryDefinition' + deprecated: true + description: Deprecated - Use `queries` and `formulas` instead. + process_query: + $ref: '#/components/schemas/ProcessQueryDefinition' + deprecated: true + description: Deprecated - Use `queries` and `formulas` instead. + profile_metrics_query: + $ref: '#/components/schemas/LogQueryDefinition' + deprecated: true + description: Deprecated - Use `queries` and `formulas` instead. + q: + deprecated: true + description: Widget query. Deprecated - Use `queries` and `formulas` instead. + type: string + queries: + description: List of queries that can be returned directly or used in formulas. + items: + $ref: '#/components/schemas/FormulaAndFunctionQueryDefinition' + type: array + response_format: + $ref: '#/components/schemas/FormulaAndFunctionResponseFormat' + rum_query: + $ref: '#/components/schemas/LogQueryDefinition' + deprecated: true + description: Deprecated - Use `queries` and `formulas` instead. + security_query: + $ref: '#/components/schemas/LogQueryDefinition' + deprecated: true + description: Deprecated - Use `queries` and `formulas` instead. + type: object + TimeseriesBackground: + description: Set a timeseries on the widget background. + properties: + type: + $ref: '#/components/schemas/TimeseriesBackgroundType' + yaxis: + $ref: '#/components/schemas/WidgetAxis' + required: + - type + type: object + QueryValueWidgetDefinitionType: + default: query_value + description: Type of the query value widget. + enum: + - query_value + example: query_value + type: string + x-enum-varnames: + - QUERY_VALUE + RetentionCurveWidgetRequest: + additionalProperties: false + description: Retention curve widget request. + properties: + query: + $ref: '#/components/schemas/RetentionQuery' + request_type: + $ref: '#/components/schemas/RetentionCurveRequestType' + style: + $ref: '#/components/schemas/RetentionCurveStyle' + required: + - request_type + - query + type: object + RetentionCurveWidgetDefinitionType: + default: retention_curve + description: Type of the Retention Curve widget. + enum: + - retention_curve + example: retention_curve + type: string + x-enum-varnames: + - RETENTION_CURVE + RunWorkflowWidgetInput: + description: Object to map a dashboard template variable to a workflow input. + properties: + name: + description: Name of the workflow input. + example: Environment + type: string + value: + description: Dashboard template variable. Can be suffixed with '.value' or '.key'. + example: $env.value + type: string + required: + - name + - value + type: object + RunWorkflowWidgetDefinitionType: + default: run_workflow + description: Type of the run workflow widget. + enum: + - run_workflow + example: run_workflow + type: string + x-enum-varnames: + - RUN_WORKFLOW + SLOListWidgetRequest: + description: Updated SLO List widget. + properties: + query: + $ref: '#/components/schemas/SLOListWidgetQuery' + request_type: + $ref: '#/components/schemas/SLOListWidgetRequestType' + required: + - query + - request_type + type: object + SLOListWidgetDefinitionType: + default: slo_list + description: Type of the SLO List widget. + enum: + - slo_list + example: slo_list + type: string + x-enum-varnames: + - SLO_LIST + WidgetTimeWindows: + description: Define a time window. + enum: + - 7d + - 30d + - 90d + - week_to_date + - previous_week + - month_to_date + - previous_month + - global_time + type: string + x-enum-varnames: + - SEVEN_DAYS + - THIRTY_DAYS + - NINETY_DAYS + - WEEK_TO_DATE + - PREVIOUS_WEEK + - MONTH_TO_DATE + - PREVIOUS_MONTH + - GLOBAL_TIME + SLOWidgetDefinitionType: + default: slo + description: Type of the SLO widget. + enum: + - slo + example: slo + type: string + x-enum-varnames: + - SLO + WidgetViewMode: + description: Define how you want the SLO to be displayed. + enum: + - overall + - component + - both + type: string + x-enum-varnames: + - OVERALL + - COMPONENT + - BOTH + ScatterPlotWidgetDefinitionRequests: + description: Widget definition. + example: + x: + q: system.cpu.user + 'y': + q: system.mem.used + properties: + table: + $ref: '#/components/schemas/ScatterplotTableRequest' + x: + $ref: '#/components/schemas/ScatterPlotRequest' + 'y': + $ref: '#/components/schemas/ScatterPlotRequest' + type: object + ScatterPlotWidgetDefinitionType: + default: scatterplot + description: Type of the scatter plot widget. + enum: + - scatterplot + example: scatterplot + type: string + x-enum-varnames: + - SCATTERPLOT + SankeyWidgetRequest: + description: Request definition for Sankey widget. + additionalProperties: false + properties: + query: + $ref: '#/components/schemas/SankeyRumQuery' + request_type: + $ref: '#/components/schemas/SankeyWidgetDefinitionType' + required: + - query + - request_type + type: object + SankeyWidgetDefinitionType: + default: sankey + description: Type of the Sankey widget. + enum: + - sankey + example: sankey + type: string + x-enum-varnames: + - SANKEY + ServiceMapWidgetDefinitionType: + default: servicemap + description: Type of the service map widget. + enum: + - servicemap + example: servicemap + type: string + x-enum-varnames: + - SERVICEMAP + WidgetServiceSummaryDisplayFormat: + description: Number of columns to display. + enum: + - one_column + - two_column + - three_column + type: string + x-enum-varnames: + - ONE_COLUMN + - TWO_COLUMN + - THREE_COLUMN + WidgetSizeFormat: + description: Size of the widget. + enum: + - small + - medium + - large + type: string + x-enum-varnames: + - SMALL + - MEDIUM + - LARGE + ServiceSummaryWidgetDefinitionType: + default: trace_service + description: Type of the service summary widget. + enum: + - trace_service + example: trace_service + type: string + x-enum-varnames: + - TRACE_SERVICE + SplitGraphVizSize: + description: Size of the individual graphs in the split. + enum: + - xs + - sm + - md + - lg + example: sm + type: string + x-enum-varnames: + - XS + - SM + - MD + - LG + SplitGraphSourceWidgetDefinition: + description: The original widget we are splitting on. + properties: + custom_links: + description: List of custom links. + items: + $ref: '#/components/schemas/WidgetCustomLink' + type: array + description: + description: The description of the widget. + type: string + requests: + description: List of bar chart widget requests. + example: + - q: system.load.1 + items: + $ref: '#/components/schemas/BarChartWidgetRequest' + maxItems: 1 + minItems: 1 + type: array + style: + $ref: '#/components/schemas/BarChartWidgetStyle' + time: + $ref: '#/components/schemas/WidgetTime' + title: + description: Title of your widget. + type: string + title_align: + $ref: '#/components/schemas/WidgetTextAlign' + title_size: + description: Size of the title. + type: string + type: + $ref: '#/components/schemas/BarChartWidgetDefinitionType' + view: + $ref: '#/components/schemas/GeomapWidgetDefinitionView' + autoscale: + description: Whether to use auto-scaling or not. + type: boolean + custom_unit: + description: Display a unit of your choice on the widget. + type: string + precision: + description: Number of decimals to show. If not defined, the widget uses the raw value. + format: int64 + type: integer + text_align: + $ref: '#/components/schemas/WidgetTextAlign' + timeseries_background: + $ref: '#/components/schemas/TimeseriesBackground' + color_by_groups: + description: List of groups used for colors. + items: + description: Group name. + type: string + type: array + xaxis: + $ref: '#/components/schemas/WidgetAxis' + yaxis: + $ref: '#/components/schemas/WidgetAxis' + hide_total: + description: Show the total value in this widget. + type: boolean + legend: + $ref: '#/components/schemas/SunburstWidgetLegend' + has_search_bar: + $ref: '#/components/schemas/TableWidgetHasSearchBar' + events: + deprecated: true + description: List of widget events. Deprecated - Use `overlay` request type instead. + items: + $ref: '#/components/schemas/WidgetEvent' + type: array + legend_columns: + description: Columns displayed in the legend. + items: + $ref: '#/components/schemas/TimeseriesWidgetLegendColumn' + type: array + legend_layout: + $ref: '#/components/schemas/TimeseriesWidgetLegendLayout' + legend_size: + $ref: '#/components/schemas/WidgetLegendSize' + markers: + description: List of markers. + items: + $ref: '#/components/schemas/WidgetMarker' + type: array + right_yaxis: + $ref: '#/components/schemas/WidgetAxis' + show_legend: + description: (screenboard only) Show the legend for this widget. + type: boolean + color_by: + $ref: '#/components/schemas/TreeMapColorBy' + group_by: + $ref: '#/components/schemas/TreeMapGroupBy' + size_by: + $ref: '#/components/schemas/TreeMapSizeBy' + required: + - type + - requests + - style + - view + type: object + SplitConfig: + description: Encapsulates all user choices about how to split a graph. + properties: + limit: + description: Maximum number of graphs to display in the widget. + example: 24 + format: int64 + maximum: 500 + minimum: 1 + type: integer + sort: + $ref: '#/components/schemas/SplitSort' + split_dimensions: + description: The dimension(s) on which to split the graph + example: + - one_graph_per: service + items: + $ref: '#/components/schemas/SplitDimension' + maxItems: 1 + minItems: 1 + type: array + static_splits: + description: Manual selection of tags making split graph widget static + items: + $ref: '#/components/schemas/SplitVectorEntry' + maxItems: 500 + type: array + required: + - split_dimensions + - limit + - sort + type: object + SplitGraphWidgetDefinitionType: + default: split_group + description: Type of the split graph widget + enum: + - split_group + example: split_group + type: string + x-enum-varnames: + - SPLIT_GROUP + SunburstWidgetLegend: + description: Configuration of the legend. + properties: + type: + $ref: '#/components/schemas/SunburstWidgetLegendTableType' + hide_percent: + description: Whether to hide the percentages of the groups. + type: boolean + hide_value: + description: Whether to hide the values of the groups. + type: boolean + required: + - type + type: object + SunburstWidgetRequest: + description: Request definition of sunburst widget. + properties: + apm_query: + $ref: '#/components/schemas/LogQueryDefinition' + deprecated: true + description: Deprecated - Use `queries` and `formulas` instead. + audit_query: + $ref: '#/components/schemas/LogQueryDefinition' + deprecated: true + description: Deprecated - Use `queries` and `formulas` instead. + event_query: + $ref: '#/components/schemas/LogQueryDefinition' + deprecated: true + description: Deprecated - Use `queries` and `formulas` instead. + formulas: + description: List of formulas that operate on queries. + items: + $ref: '#/components/schemas/WidgetFormula' + type: array + log_query: + $ref: '#/components/schemas/LogQueryDefinition' + deprecated: true + description: Deprecated - Use `queries` and `formulas` instead. + network_query: + $ref: '#/components/schemas/LogQueryDefinition' + deprecated: true + description: Deprecated - Use `queries` and `formulas` instead. + process_query: + $ref: '#/components/schemas/ProcessQueryDefinition' + deprecated: true + description: Deprecated - Use `queries` and `formulas` instead. + profile_metrics_query: + $ref: '#/components/schemas/LogQueryDefinition' + deprecated: true + description: Deprecated - Use `queries` and `formulas` instead. + q: + deprecated: true + description: Widget query. Deprecated - Use `queries` and `formulas` instead. + type: string + queries: + description: List of queries that can be returned directly or used in formulas. + items: + $ref: '#/components/schemas/FormulaAndFunctionQueryDefinition' + type: array + response_format: + $ref: '#/components/schemas/FormulaAndFunctionResponseFormat' + rum_query: + $ref: '#/components/schemas/LogQueryDefinition' + deprecated: true + description: Deprecated - Use `queries` and `formulas` instead. + security_query: + $ref: '#/components/schemas/LogQueryDefinition' + deprecated: true + description: Deprecated - Use `queries` and `formulas` instead. + sort: + $ref: '#/components/schemas/WidgetSortBy' + style: + $ref: '#/components/schemas/WidgetStyle' + type: object + SunburstWidgetDefinitionType: + default: sunburst + description: Type of the Sunburst widget. + enum: + - sunburst + example: sunburst + type: string + x-enum-varnames: + - SUNBURST + TableWidgetHasSearchBar: + description: Controls the display of the search bar. + enum: + - always + - never + - auto + example: auto + type: string + x-enum-varnames: + - ALWAYS + - NEVER + - AUTO + TableWidgetRequest: + description: Updated table widget. + properties: + aggregator: + $ref: '#/components/schemas/WidgetAggregator' + alias: + description: The column name (defaults to the metric name). + type: string + apm_query: + $ref: '#/components/schemas/LogQueryDefinition' + deprecated: true + description: Deprecated - Use `queries` and `formulas` instead. + apm_stats_query: + $ref: '#/components/schemas/ApmStatsQueryDefinition' + cell_display_mode: + description: A list of display modes for each table cell. + items: + $ref: '#/components/schemas/TableWidgetCellDisplayMode' + type: array + conditional_formats: + description: List of conditional formats. + items: + $ref: '#/components/schemas/WidgetConditionalFormat' + type: array + event_query: + $ref: '#/components/schemas/LogQueryDefinition' + deprecated: true + description: Deprecated - Use `queries` and `formulas` instead. + formulas: + description: List of formulas that operate on queries. + items: + $ref: '#/components/schemas/WidgetFormula' + type: array + limit: + description: For metric queries, the number of lines to show in the table. Only one request should have this property. + format: int64 + type: integer + log_query: + $ref: '#/components/schemas/LogQueryDefinition' + deprecated: true + description: Deprecated - Use `queries` and `formulas` instead. + network_query: + $ref: '#/components/schemas/LogQueryDefinition' + deprecated: true + description: Deprecated - Use `queries` and `formulas` instead. + order: + $ref: '#/components/schemas/WidgetSort' + process_query: + $ref: '#/components/schemas/ProcessQueryDefinition' + deprecated: true + description: Deprecated - Use `queries` and `formulas` instead. + profile_metrics_query: + $ref: '#/components/schemas/LogQueryDefinition' + deprecated: true + description: Deprecated - Use `queries` and `formulas` instead. + q: + deprecated: true + description: Query definition. Deprecated - Use `queries` and `formulas` instead. + type: string + queries: + description: List of queries that can be returned directly or used in formulas. + items: + $ref: '#/components/schemas/FormulaAndFunctionQueryDefinition' + type: array + response_format: + $ref: '#/components/schemas/FormulaAndFunctionResponseFormat' + rum_query: + $ref: '#/components/schemas/LogQueryDefinition' + deprecated: true + description: Deprecated - Use `queries` and `formulas` instead. + security_query: + $ref: '#/components/schemas/LogQueryDefinition' + deprecated: true + description: Deprecated - Use `queries` and `formulas` instead. + sort: + $ref: '#/components/schemas/WidgetSortBy' + text_formats: + description: List of text formats for columns produced by tags. + items: + $ref: '#/components/schemas/TableWidgetTextFormat' + type: array + type: object + TableWidgetDefinitionType: + default: query_table + description: Type of the table widget. + enum: + - query_table + example: query_table + type: string + x-enum-varnames: + - QUERY_TABLE + TimeseriesWidgetLegendColumn: + description: Legend column. + enum: + - value + - avg + - sum + - min + - max + type: string + x-enum-varnames: + - VALUE + - AVG + - SUM + - MIN + - MAX + TimeseriesWidgetLegendLayout: + description: Layout of the legend. + enum: + - auto + - horizontal + - vertical + type: string + x-enum-varnames: + - AUTO + - HORIZONTAL + - VERTICAL + TimeseriesWidgetRequest: + description: Updated timeseries widget. + properties: + apm_query: + $ref: '#/components/schemas/LogQueryDefinition' + deprecated: true + description: Deprecated - Use `queries` and `formulas` instead. + audit_query: + $ref: '#/components/schemas/LogQueryDefinition' + deprecated: true + description: Deprecated - Use `queries` and `formulas` instead. + display_type: + $ref: '#/components/schemas/WidgetDisplayType' + event_query: + $ref: '#/components/schemas/LogQueryDefinition' + deprecated: true + description: Deprecated - Use `queries` and `formulas` instead. + formulas: + description: List of formulas that operate on queries. + items: + $ref: '#/components/schemas/WidgetFormula' + type: array + log_query: + $ref: '#/components/schemas/LogQueryDefinition' + deprecated: true + description: Deprecated - Use `queries` and `formulas` instead. + metadata: + description: Used to define expression aliases. + items: + $ref: '#/components/schemas/TimeseriesWidgetExpressionAlias' + type: array + network_query: + $ref: '#/components/schemas/LogQueryDefinition' + deprecated: true + description: Deprecated - Use `queries` and `formulas` instead. + on_right_yaxis: + description: Whether or not to display a second y-axis on the right. + type: boolean + process_query: + $ref: '#/components/schemas/ProcessQueryDefinition' + deprecated: true + description: Deprecated - Use `queries` and `formulas` instead. + profile_metrics_query: + $ref: '#/components/schemas/LogQueryDefinition' + deprecated: true + description: Deprecated - Use `queries` and `formulas` instead. + q: + deprecated: true + description: Widget query. Deprecated - Use `queries` and `formulas` instead. + type: string + queries: + description: List of queries that can be returned directly or used in formulas. + items: + $ref: '#/components/schemas/FormulaAndFunctionQueryDefinition' + type: array + response_format: + $ref: '#/components/schemas/FormulaAndFunctionResponseFormat' + rum_query: + $ref: '#/components/schemas/LogQueryDefinition' + deprecated: true + description: Deprecated - Use `queries` and `formulas` instead. + security_query: + $ref: '#/components/schemas/LogQueryDefinition' + deprecated: true + description: Deprecated - Use `queries` and `formulas` instead. + style: + $ref: '#/components/schemas/TimeseriesRequestStyle' + type: object + TimeseriesWidgetDefinitionType: + default: timeseries + description: Type of the timeseries widget. + enum: + - timeseries + example: timeseries + type: string + x-enum-varnames: + - TIMESERIES + ToplistWidgetRequest: + description: Updated top list widget. + properties: + apm_query: + $ref: '#/components/schemas/LogQueryDefinition' + deprecated: true + description: Deprecated - Use `queries` and `formulas` instead. + audit_query: + $ref: '#/components/schemas/LogQueryDefinition' + deprecated: true + description: Deprecated - Use `queries` and `formulas` instead. + conditional_formats: + description: List of conditional formats. + example: + - comparator: '>=' + palette: blue + value: 1 + items: + $ref: '#/components/schemas/WidgetConditionalFormat' + minItems: 1 + type: array + event_query: + $ref: '#/components/schemas/LogQueryDefinition' + deprecated: true + description: Deprecated - Use `queries` and `formulas` instead. + formulas: + description: List of formulas that operate on queries. + items: + $ref: '#/components/schemas/WidgetFormula' + type: array + log_query: + $ref: '#/components/schemas/LogQueryDefinition' + deprecated: true + description: Deprecated - Use `queries` and `formulas` instead. + network_query: + $ref: '#/components/schemas/LogQueryDefinition' + deprecated: true + description: Deprecated - Use `queries` and `formulas` instead. + process_query: + $ref: '#/components/schemas/ProcessQueryDefinition' + deprecated: true + description: Deprecated - Use `queries` and `formulas` instead. + profile_metrics_query: + $ref: '#/components/schemas/LogQueryDefinition' + deprecated: true + description: Deprecated - Use `queries` and `formulas` instead. + q: + deprecated: true + description: Widget query. Deprecated - Use `queries` and `formulas` instead. + type: string + queries: + description: List of queries that can be returned directly or used in formulas. + items: + $ref: '#/components/schemas/FormulaAndFunctionQueryDefinition' + type: array + response_format: + $ref: '#/components/schemas/FormulaAndFunctionResponseFormat' + rum_query: + $ref: '#/components/schemas/LogQueryDefinition' + deprecated: true + description: Deprecated - Use `queries` and `formulas` instead. + security_query: + $ref: '#/components/schemas/LogQueryDefinition' + deprecated: true + description: Deprecated - Use `queries` and `formulas` instead. + sort: + $ref: '#/components/schemas/WidgetSortBy' + style: + $ref: '#/components/schemas/WidgetRequestStyle' + type: object + ToplistWidgetStyle: + description: Style customization for a top list widget. + properties: + display: + $ref: '#/components/schemas/ToplistWidgetDisplay' + palette: + description: Color palette to apply to the widget. + type: string + scaling: + $ref: '#/components/schemas/ToplistWidgetScaling' + type: object + ToplistWidgetDefinitionType: + default: toplist + description: Type of the top list widget. + enum: + - toplist + example: toplist + type: string + x-enum-varnames: + - TOPLIST + TopologyMapWidgetDefinitionDataStreams: + additionalProperties: false + description: Topology map widget backed by the data streams data source. + properties: + custom_links: + description: List of custom links. + items: + $ref: '#/components/schemas/WidgetCustomLink' + type: array + description: + description: The description of the widget. + type: string + requests: + description: One Topology request. + items: + $ref: '#/components/schemas/TopologyRequestDataStreams' + minItems: 1 + type: array + time: + $ref: '#/components/schemas/WidgetTime' + title: + description: Title of your widget. + type: string + title_align: + $ref: '#/components/schemas/WidgetTextAlign' + title_size: + description: Size of the title. + type: string + type: + $ref: '#/components/schemas/TopologyMapWidgetDefinitionType' + required: + - type + - requests + type: object + TopologyMapWidgetDefinitionServiceMap: + additionalProperties: false + description: Topology map widget backed by the service map data source. + properties: + custom_links: + description: List of custom links. + items: + $ref: '#/components/schemas/WidgetCustomLink' + type: array + description: + description: The description of the widget. + type: string + requests: + description: One Topology request. + items: + $ref: '#/components/schemas/TopologyRequestServiceMap' + minItems: 1 + type: array + time: + $ref: '#/components/schemas/WidgetTime' + title: + description: Title of your widget. + type: string + title_align: + $ref: '#/components/schemas/WidgetTextAlign' + title_size: + description: Size of the title. + type: string + type: + $ref: '#/components/schemas/TopologyMapWidgetDefinitionType' + required: + - type + - requests + type: object + TreeMapColorBy: + default: user + deprecated: true + description: (deprecated) The attribute formerly used to determine color in the widget. + enum: + - user + example: user + type: string + x-enum-varnames: + - USER + TreeMapGroupBy: + deprecated: true + description: (deprecated) The attribute formerly used to group elements in the widget. + enum: + - user + - family + - process + example: user + type: string + x-enum-varnames: + - USER + - FAMILY + - PROCESS + TreeMapWidgetRequest: + description: An updated treemap widget. + properties: + formulas: + description: List of formulas that operate on queries. + items: + $ref: '#/components/schemas/WidgetFormula' + type: array + q: + deprecated: true + description: The widget metrics query. Deprecated - Use `queries` and `formulas` instead. + type: string + queries: + description: List of queries that can be returned directly or used in formulas. + items: + $ref: '#/components/schemas/FormulaAndFunctionQueryDefinition' + type: array + response_format: + $ref: '#/components/schemas/FormulaAndFunctionResponseFormat' + sort: + $ref: '#/components/schemas/WidgetSortBy' + style: + $ref: '#/components/schemas/WidgetRequestStyle' + type: object + TreeMapSizeBy: + deprecated: true + description: (deprecated) The attribute formerly used to determine size in the widget. + enum: + - pct_cpu + - pct_mem + example: pct_cpu + type: string + x-enum-varnames: + - PCT_CPU + - PCT_MEM + TreeMapWidgetDefinitionType: + default: treemap + description: Type of the treemap widget. + enum: + - treemap + example: treemap + type: string + x-enum-varnames: + - TREEMAP + WildcardWidgetRequest: + description: 'Request object for the wildcard widget. Each variant represents a distinct data-fetching pattern: scalar formulas, timeseries formulas, list streams, and histograms.' + properties: + formulas: + description: List of formulas that operate on queries. + items: + $ref: '#/components/schemas/WidgetFormula' + type: array + q: + deprecated: true + description: The widget metrics query. Deprecated - Use `queries` and `formulas` instead. + type: string + queries: + description: List of queries that can be returned directly or used in formulas. + items: + $ref: '#/components/schemas/FormulaAndFunctionQueryDefinition' + type: array + response_format: + $ref: '#/components/schemas/FormulaAndFunctionResponseFormat' + sort: + $ref: '#/components/schemas/WidgetSortBy' + style: + $ref: '#/components/schemas/WidgetRequestStyle' + apm_query: + $ref: '#/components/schemas/LogQueryDefinition' + deprecated: true + description: Deprecated - Use `queries` and `formulas` instead. + audit_query: + $ref: '#/components/schemas/LogQueryDefinition' + deprecated: true + description: Deprecated - Use `queries` and `formulas` instead. + display_type: + $ref: '#/components/schemas/WidgetDisplayType' + event_query: + $ref: '#/components/schemas/LogQueryDefinition' + deprecated: true + description: Deprecated - Use `queries` and `formulas` instead. + log_query: + $ref: '#/components/schemas/LogQueryDefinition' + deprecated: true + description: Deprecated - Use `queries` and `formulas` instead. + metadata: + description: Used to define expression aliases. + items: + $ref: '#/components/schemas/TimeseriesWidgetExpressionAlias' + type: array + network_query: + $ref: '#/components/schemas/LogQueryDefinition' + deprecated: true + description: Deprecated - Use `queries` and `formulas` instead. + on_right_yaxis: + description: Whether or not to display a second y-axis on the right. + type: boolean + process_query: + $ref: '#/components/schemas/ProcessQueryDefinition' + deprecated: true + description: Deprecated - Use `queries` and `formulas` instead. + profile_metrics_query: + $ref: '#/components/schemas/LogQueryDefinition' + deprecated: true + description: Deprecated - Use `queries` and `formulas` instead. + rum_query: + $ref: '#/components/schemas/LogQueryDefinition' + deprecated: true + description: Deprecated - Use `queries` and `formulas` instead. + security_query: + $ref: '#/components/schemas/LogQueryDefinition' + deprecated: true + description: Deprecated - Use `queries` and `formulas` instead. + columns: + description: Widget columns. + example: + - field: timestamp + width: auto + - field: content + width: full + items: + $ref: '#/components/schemas/ListStreamColumn' + type: array + query: + $ref: '#/components/schemas/ListStreamQuery' + apm_stats_query: + $ref: '#/components/schemas/ApmStatsQueryDefinition' + request_type: + $ref: '#/components/schemas/WidgetHistogramRequestType' + description: Distribution of point values for distribution metrics. Renders a histogram of raw metric data points. + type: object + required: + - columns + - query + - response_format + WildcardWidgetSpecification: + description: Vega or Vega-Lite specification for custom visualization rendering. See https://vega.github.io/vega-lite/ for the full grammar reference. + properties: + contents: + description: The Vega or Vega-Lite JSON specification object. (opaque JSON object) + example: + $schema: https://vega.github.io/schema/vega-lite/v5.json + data: + name: table1 + description: A simple bar chart + encoding: + x: + field: env + sort: '-y' + type: nominal + 'y': + field: query1 + type: quantitative + mark: bar + type: string + type: + $ref: '#/components/schemas/WildcardWidgetSpecificationType' + required: + - type + - contents + type: object + WildcardWidgetDefinitionType: + default: wildcard + description: Type of the wildcard widget. + enum: + - wildcard + example: wildcard + type: string + x-enum-varnames: + - WILDCARD + NotebookCellResponseAttributes: + description: |- + The attributes of a notebook cell response. Valid cell types are `markdown`, `timeseries`, `toplist`, `heatmap`, `distribution`, + `log_stream`. [More information on each graph visualization type.](https://docs.datadoghq.com/dashboards/widgets/) + example: + definition: + requests: + - display_type: line + q: avg:system.load.1{*} + style: + line_type: solid + line_width: normal + palette: dog_classic + show_legend: true + type: timeseries + yaxis: + scale: linear + graph_size: m + split_by: + keys: [] + tags: [] + time: null + properties: + definition: + $ref: '#/components/schemas/NotebookMarkdownCellDefinition' + graph_size: + $ref: '#/components/schemas/NotebookGraphSize' + split_by: + $ref: '#/components/schemas/NotebookSplitBy' + time: + $ref: '#/components/schemas/NotebookCellTime' + required: + - definition + type: object + NotebookCellResourceType: + default: notebook_cells + description: Type of the Notebook Cell resource. + enum: + - notebook_cells + example: notebook_cells + type: string + x-enum-varnames: + - NOTEBOOK_CELLS + NotebookMetadataType: + description: Metadata type of the notebook. + enum: + - postmortem + - runbook + - investigation + - documentation + - report + example: investigation + nullable: true + type: string + x-enum-varnames: + - POSTMORTEM + - RUNBOOK + - INVESTIGATION + - DOCUMENTATION + - REPORT + NotebookTemplateVariableAvailableValuesQuery: + description: Query used to dynamically populate the list of available values for the template variable. + additionalProperties: false + properties: + data_source: + description: The data source for the query. Must be one of `logs`, `rum`, or `spans`. + example: logs + type: string + group_by: + description: Group-by fields for the query. + items: + $ref: '#/components/schemas/NotebookTemplateVariableAvailableValuesQueryGroupBy' + type: array + search: + $ref: '#/components/schemas/NotebookTemplateVariableAvailableValuesQuerySearch' + query: + description: The metrics query string. + example: avg:system.cpu.user{*} by {host} + type: string + required: + - data_source + - search + - group_by + - query + type: object + NotebookRelativeTime: + description: Relative timeframe. + example: + live_span: 1h + nullable: true + properties: + live_span: + $ref: '#/components/schemas/WidgetLiveSpanV1' + required: + - live_span + type: object + NotebookAbsoluteTime: + description: Absolute timeframe. + example: + end: '2021-02-24T20:18:28+00:00' + start: '2021-02-24T19:18:28+00:00' + properties: + end: + description: The end time. + example: '2021-02-24T20:18:28+00:00' + format: date-time + type: string + live: + description: Indicates whether the timeframe should be shifted to end at the current time. + type: boolean + start: + description: The start time. + example: '2021-02-24T19:18:28+00:00' + format: date-time + type: string + required: + - start + - end + type: object + NotebookCellCreateRequestAttributes: + description: |- + The attributes of a notebook cell in create cell request. Valid cell types are `markdown`, `timeseries`, `toplist`, `heatmap`, `distribution`, + `log_stream`. [More information on each graph visualization type.](https://docs.datadoghq.com/dashboards/widgets/) + example: + definition: + requests: + - display_type: line + q: avg:system.load.1{*} + style: + line_type: solid + line_width: normal + palette: dog_classic + show_legend: true + type: timeseries + yaxis: + scale: linear + graph_size: m + split_by: + keys: [] + tags: [] + time: null + properties: + definition: + $ref: '#/components/schemas/NotebookMarkdownCellDefinition' + graph_size: + $ref: '#/components/schemas/NotebookGraphSize' + split_by: + $ref: '#/components/schemas/NotebookSplitBy' + time: + $ref: '#/components/schemas/NotebookCellTime' + required: + - definition + type: object + NotebookCellUpdateRequest: + description: The description of a notebook cell update request. + properties: + attributes: + $ref: '#/components/schemas/NotebookCellUpdateRequestAttributes' + id: + description: Notebook cell ID. + example: abcd1234 + type: string + type: + $ref: '#/components/schemas/NotebookCellResourceType' + required: + - id + - type + - attributes + type: object + PowerpackInnerWidgets: + description: Powerpack group widget definition of individual widgets. + properties: + definition: + additionalProperties: {} + description: Information about widget. + example: + definition: + content: example + type: note + type: object + layout: + $ref: '#/components/schemas/PowerpackInnerWidgetLayout' + required: + - definition + type: object + OrganizationsType: + default: orgs + description: Organizations resource type. + enum: + - orgs + example: orgs + type: string + x-enum-varnames: + - ORGS + RolesType: + default: roles + description: Roles type. + enum: + - roles + example: roles + type: string + x-enum-varnames: + - ROLES + CreateSnapshotTemplateVariable: + description: A template variable definition for snapshot rendering. + properties: + name: + description: The template variable name. + example: host + type: string + prefix: + description: The tag prefix associated with the template variable. For example, a prefix of `host` with a value of `web-server-1` scopes the snapshot to `host:web-server-1`. + example: host + type: string + values: + description: The list of scoped values for this template variable. + example: + - web-server-1 + - web-server-2 + items: + description: A single scoped value for the template variable. + type: string + type: array + required: + - name + - prefix + - values + type: object + WidgetLegacyLiveSpan: + additionalProperties: false + description: Wrapper for live span + properties: + hide_incomplete_cost_data: + description: Whether to hide incomplete cost data in the widget. + type: boolean + live_span: + $ref: '#/components/schemas/WidgetLiveSpanV1' + type: object + WidgetNewLiveSpan: + description: Used for arbitrary live span times, such as 17 minutes or 6 hours. + properties: + hide_incomplete_cost_data: + description: Whether to hide incomplete cost data in the widget. + type: boolean + type: + $ref: '#/components/schemas/WidgetNewLiveSpanType' + unit: + $ref: '#/components/schemas/WidgetLiveSpanUnit' + value: + description: Value of the time span. + example: 4 + format: int64 + minimum: 1 + type: integer + required: + - type + - value + - unit + type: object + WidgetNewFixedSpan: + description: Used for fixed span times, such as 'March 1 to March 7'. + properties: + from: + description: Start time in milliseconds since epoch. + example: 1712080128000 + format: int64 + minimum: 0 + type: integer + hide_incomplete_cost_data: + description: Whether to hide incomplete cost data in the widget. + type: boolean + to: + description: End time in milliseconds since epoch. + example: 1712083128000 + format: int64 + minimum: 0 + type: integer + type: + $ref: '#/components/schemas/WidgetNewFixedSpanType' + required: + - type + - from + - to + type: object + LogQueryDefinition: + description: The log query. + properties: + compute: + $ref: '#/components/schemas/LogsQueryCompute' + group_by: + description: List of tag prefixes to group by in the case of a cluster check. + items: + $ref: '#/components/schemas/LogQueryDefinitionGroupBy' + type: array + index: + description: A coma separated-list of index names. Use "*" query all indexes at once. [Multiple Indexes](https://docs.datadoghq.com/logs/indexes/#multiple-indexes) + example: days-3,days-7 + type: string + multi_compute: + description: This field is mutually exclusive with `compute`. + items: + $ref: '#/components/schemas/LogsQueryCompute' + type: array + search: + $ref: '#/components/schemas/LogQueryDefinitionSearch' + type: object + WidgetConditionalFormat: + description: Define a conditional format for the widget. + properties: + comparator: + $ref: '#/components/schemas/WidgetComparator' + custom_bg_color: + description: Color palette to apply to the background, same values available as palette. + type: string + custom_fg_color: + description: Color palette to apply to the foreground, same values available as palette. + type: string + hide_value: + description: True hides values. + type: boolean + image_url: + description: Displays an image as the background. + type: string + metric: + description: Metric from the request to correlate this conditional format with. + type: string + palette: + $ref: '#/components/schemas/WidgetPalette' + timeframe: + description: Defines the displayed timeframe. + type: string + value: + description: Value for the comparator. + example: 0 + format: double + type: number + required: + - comparator + - value + - palette + type: object + WidgetFormula: + description: Formula to be used in a widget query. + properties: + alias: + description: Expression alias. + type: string + cell_display_mode: + $ref: '#/components/schemas/TableWidgetCellDisplayMode' + cell_display_mode_options: + $ref: '#/components/schemas/WidgetFormulaCellDisplayModeOptions' + conditional_formats: + description: List of conditional formats. + items: + $ref: '#/components/schemas/WidgetConditionalFormat' + type: array + formula: + description: String expression built from queries, formulas, and functions. + example: func(a) + b + type: string + limit: + $ref: '#/components/schemas/WidgetFormulaLimit' + number_format: + $ref: '#/components/schemas/WidgetNumberFormat' + style: + $ref: '#/components/schemas/WidgetFormulaStyle' + required: + - formula + type: object + ProcessQueryDefinition: + description: The process query to use in the widget. + properties: + filter_by: + description: List of processes. + items: + description: Process name. + type: string + type: array + limit: + description: Max number of items in the filter list. + format: int64 + minimum: 0 + type: integer + metric: + description: Your chosen metric. + example: system.load.1 + type: string + search_by: + description: Your chosen search term. + type: string + required: + - metric + type: object + FormulaAndFunctionQueryDefinition: + description: A formula and function query. + example: + data_source: metrics + name: my_query + query: avg:system.cpu.user{*} + additional_query_filters: '*' + group_mode: overall + measure: good_events + slo_id: '12345678910' + slo_query_type: metric + properties: + aggregator: + $ref: '#/components/schemas/FormulaAndFunctionMetricAggregation' + cross_org_uuids: + $ref: '#/components/schemas/CrossOrgUuidsV1' + data_source: + $ref: '#/components/schemas/FormulaAndFunctionMetricDataSource' + name: + description: Name of the query for use in formulas. + example: my_query + type: string + query: + description: Metrics query definition. + example: avg:system.cpu.user{*} + type: string + semantic_mode: + $ref: '#/components/schemas/FormulaAndFunctionMetricSemanticMode' + compute: + $ref: '#/components/schemas/FormulaAndFunctionEventQueryDefinitionCompute' + group_by: + $ref: '#/components/schemas/FormulaAndFunctionEventQueryGroupByConfig' + indexes: + description: An array of index names to query in the stream. Omit or use `[]` to query all indexes at once. + example: + - days-3 + - days-7 + items: + description: A log index set up for your organization. For additional indexes, see the [multiple indexes](https://docs.datadoghq.com/logs/indexes/#multiple-indexes) documentation. + type: string + type: array + search: + $ref: '#/components/schemas/FormulaAndFunctionEventQueryDefinitionSearch' + storage: + description: Option for storage location. Feature in Private Beta. + example: indexes + type: string + is_normalized_cpu: + description: Whether to normalize the CPU percentages. + type: boolean + limit: + description: Number of hits to return. + format: int64 + type: integer + metric: + description: Process metric name. + example: avg:system.cpu.user{*} + type: string + sort: + $ref: '#/components/schemas/QuerySortOrderV1' + tag_filters: + description: An array of tags to filter by. + items: + description: One of the tags to filter by. + type: string + type: array + text_filter: + description: Text to use as filter. + type: string + env: + description: APM environment. + example: staging + type: string + is_upstream: + description: Determines whether stats for upstream or downstream dependencies should be queried. + example: false + type: boolean + operation_name: + description: Name of operation on service. + example: cassandra.query + type: string + primary_tag_name: + description: The name of the second primary tag used within APM; required when `primary_tag_value` is specified. See https://docs.datadoghq.com/tracing/guide/setting_primary_tags_to_scope/#add-a-second-primary-tag-in-datadog. + example: datacenter + type: string + primary_tag_value: + description: Filter APM data by the second primary tag. `primary_tag_name` must also be specified. + example: staging + type: string + resource_name: + description: APM resource. + example: DELETE FROM foo WHERE baz = ? + type: string + service: + description: APM service. + example: cassandra + type: string + stat: + $ref: '#/components/schemas/FormulaAndFunctionApmDependencyStatName' + operation_mode: + description: Optional operation mode to aggregate across operation names. + example: primary + type: string + peer_tags: + description: Tags to query for a specific downstream entity (peer.service, peer.db_instance, peer.s3, peer.s3.bucket, etc.). + items: + description: 'A tag identifying a specific downstream entity (for example: peer.service, peer.db_instance).' + example: peer.service:my-service + type: string + type: array + query_filter: + description: Additional filters for the query using metrics query syntax (e.g., env, primary_tag). + example: env:prod + type: string + resource_hash: + description: The hash of a specific resource to filter by. + example: abc123 + type: string + span_kind: + $ref: '#/components/schemas/FormulaAndFunctionApmMetricsSpanKind' + additional_query_filters: + description: Additional filters applied to the SLO query. + example: host:host_a,env:prod + type: string + group_mode: + $ref: '#/components/schemas/FormulaAndFunctionSLOGroupMode' + measure: + $ref: '#/components/schemas/FormulaAndFunctionSLOMeasure' + slo_id: + description: ID of an SLO to query measures. + example: '12345678910' + type: string + slo_query_type: + $ref: '#/components/schemas/FormulaAndFunctionSLOQueryType' + audience_filters: + $ref: '#/components/schemas/ProductAnalyticsAudienceFiltersV1' + required: + - data_source + - query + - name + - compute + - metric + - env + - stat + - operation_name + - resource_name + - service + - slo_id + - measure + - search + type: object + deprecated: true + FormulaAndFunctionResponseFormat: + description: Timeseries, scalar, or event list response. Event list response formats are supported by Geomap widgets. + enum: + - timeseries + - scalar + - event_list + example: timeseries + type: string + x-enum-varnames: + - TIMESERIES + - SCALAR + - EVENT_LIST + WidgetSortBy: + description: The controls for sorting the widget. + properties: + count: + description: The number of items to limit the widget to. + format: int64 + minimum: 0 + type: integer + order_by: + description: The array of items to sort the widget by in order. + items: + $ref: '#/components/schemas/WidgetSortOrderBy' + type: array + type: object + WidgetRequestStyle: + description: Define request widget style. + properties: + line_type: + $ref: '#/components/schemas/WidgetLineType' + line_width: + $ref: '#/components/schemas/WidgetLineWidth' + order_by: + $ref: '#/components/schemas/WidgetStyleOrderBy' + palette: + description: Color palette to apply to the widget. + type: string + type: object + BarChartWidgetDisplay: + description: Bar chart widget display options. + properties: + legend: + $ref: '#/components/schemas/BarChartWidgetLegend' + type: + $ref: '#/components/schemas/BarChartWidgetStackedType' + required: + - type + type: object + BarChartWidgetScaling: + description: Bar chart widget scaling definition. + enum: + - absolute + - relative + type: string + x-enum-varnames: + - ABSOLUTE + - RELATIVE + WidgetChangeType: + description: Show the absolute or the relative change. + enum: + - absolute + - relative + type: string + x-enum-varnames: + - ABSOLUTE + - RELATIVE + WidgetCompareTo: + description: Timeframe used for the change comparison. + enum: + - hour_before + - day_before + - week_before + - month_before + type: string + x-enum-varnames: + - HOUR_BEFORE + - DAY_BEFORE + - WEEK_BEFORE + - MONTH_BEFORE + WidgetOrderBy: + description: What to order by. + enum: + - change + - name + - present + - past + type: string + x-enum-varnames: + - CHANGE + - NAME + - PRESENT + - PAST + WidgetSort: + description: Widget sorting methods. + enum: + - asc + - desc + example: desc + type: string + x-enum-varnames: + - ASCENDING + - DESCENDING + RetentionQuery: + additionalProperties: false + description: Retention query definition. + properties: + compute: + $ref: '#/components/schemas/RetentionCompute' + data_source: + $ref: '#/components/schemas/RetentionDataSource' + filters: + $ref: '#/components/schemas/RetentionFilters' + group_by: + description: Group by configuration. + items: + $ref: '#/components/schemas/RetentionGroupBy' + description: A retention group by configuration. + type: array + name: + description: Name of the query. + example: retention_query + type: string + search: + $ref: '#/components/schemas/RetentionSearch' + required: + - data_source + - search + - compute + type: object + RetentionGridRequestType: + description: Request type for retention grid widget. + enum: + - retention_grid + example: retention_grid + type: string + x-enum-varnames: + - RETENTION_GRID + ApmStatsQueryDefinition: + description: The APM stats query for table and distributions widgets. + properties: + columns: + description: Column properties used by the front end for display. + items: + $ref: '#/components/schemas/ApmStatsQueryColumnType' + type: array + env: + description: Environment name. + example: prod + type: string + name: + description: Operation name associated with service. + example: rack.request + type: string + primary_tag: + description: The organization's host group name and value. + example: datacenter:* + type: string + resource: + description: Resource name. + example: CartsController + type: string + row_type: + $ref: '#/components/schemas/ApmStatsQueryRowType' + service: + description: Service name. + example: web-store + type: string + required: + - service + - env + - name + - primary_tag + - row_type + type: object + DistributionWidgetHistogramRequestQuery: + description: Query definition for Distribution Widget Histogram Request + example: + data_source: metrics + name: query1 + query: histogram:trace.Load{*} + properties: + aggregator: + $ref: '#/components/schemas/FormulaAndFunctionMetricAggregation' + cross_org_uuids: + $ref: '#/components/schemas/CrossOrgUuidsV1' + data_source: + $ref: '#/components/schemas/FormulaAndFunctionMetricDataSource' + name: + description: Name of the query for use in formulas. + example: my_query + type: string + query: + description: Metrics query definition. + example: avg:system.cpu.user{*} + type: string + semantic_mode: + $ref: '#/components/schemas/FormulaAndFunctionMetricSemanticMode' + compute: + $ref: '#/components/schemas/FormulaAndFunctionEventQueryDefinitionCompute' + group_by: + $ref: '#/components/schemas/FormulaAndFunctionEventQueryGroupByConfig' + indexes: + description: An array of index names to query in the stream. Omit or use `[]` to query all indexes at once. + example: + - days-3 + - days-7 + items: + description: A log index set up for your organization. For additional indexes, see the [multiple indexes](https://docs.datadoghq.com/logs/indexes/#multiple-indexes) documentation. + type: string + type: array + search: + $ref: '#/components/schemas/FormulaAndFunctionEventQueryDefinitionSearch' + storage: + description: Option for storage location. Feature in Private Beta. + example: indexes + type: string + env: + description: APM environment. + example: staging + type: string + operation_name: + description: Name of operation on service. + example: cassandra.query + type: string + primary_tag_name: + description: Name of the second primary tag used within APM. Required when `primary_tag_value` is specified. See https://docs.datadoghq.com/tracing/guide/setting_primary_tags_to_scope/#add-a-second-primary-tag-in-datadog + example: datacenter + type: string + primary_tag_value: + description: Value of the second primary tag by which to filter APM data. `primary_tag_name` must also be specified. + example: us-east-az + type: string + resource_name: + description: APM resource name. + example: Admin::ProductsController#create + type: string + service: + description: APM service name. + example: web-store + type: string + stat: + $ref: '#/components/schemas/FormulaAndFunctionApmResourceStatName' + operation_mode: + description: Optional operation mode to aggregate across operation names. + example: primary + type: string + peer_tags: + description: Tags to query for a specific downstream entity (peer.service, peer.db_instance, peer.s3, peer.s3.bucket, etc.). + items: + description: 'A tag identifying a specific downstream entity (for example: peer.service, peer.db_instance).' + example: peer.service:my-service + type: string + type: array + query_filter: + description: Additional filters for the query using metrics query syntax (e.g., env, primary_tag). + example: env:prod + type: string + resource_hash: + description: The hash of a specific resource to filter by. + example: abc123 + type: string + span_kind: + $ref: '#/components/schemas/FormulaAndFunctionApmMetricsSpanKind' + required: + - data_source + - query + - name + - compute + - env + - service + - stat + type: object + deprecated: true + WidgetHistogramRequestType: + description: Request type for distribution of point values for distribution metrics. Query space aggregator must be `histogram:` for points distributions. + enum: + - histogram + example: histogram + type: string + x-enum-varnames: + - HISTOGRAM + WidgetStyle: + description: Widget style definition. + properties: + palette: + description: Color palette to apply to the widget. + type: string + type: object + FunnelQuery: + description: Updated funnel widget. + properties: + data_source: + $ref: '#/components/schemas/FunnelSource' + query_string: + description: The widget query. + example: '@browser.name:Chrome' + type: string + steps: + description: List of funnel steps. + items: + $ref: '#/components/schemas/FunnelStep' + type: array + required: + - query_string + - data_source + - steps + type: object + FunnelRequestType: + description: Widget request type. + enum: + - funnel + example: funnel + type: string + x-enum-varnames: + - FUNNEL + FunnelComparisonDuration: + additionalProperties: false + description: Comparison time configuration for funnel widgets. + properties: + custom_timeframe: + $ref: '#/components/schemas/FunnelComparisonCustomTimeframe' + type: + $ref: '#/components/schemas/FunnelComparisonDurationType' + required: + - type + type: object + ProductAnalyticsFunnelQuery: + additionalProperties: false + description: User journey funnel query definition. + properties: + compute: + $ref: '#/components/schemas/ProductAnalyticsFunnelCompute' + data_source: + $ref: '#/components/schemas/ProductAnalyticsFunnelDataSource' + group_by: + description: Group by configuration. + items: + $ref: '#/components/schemas/ProductAnalyticsFunnelGroupBy' + description: A user journey funnel group by configuration. + type: array + search: + $ref: '#/components/schemas/UserJourneySearch' + subquery_id: + description: Subquery ID. + type: string + required: + - data_source + - search + type: object + ProductAnalyticsFunnelRequestType: + description: Request type for user journey funnel widget. + enum: + - user_journey_funnel + example: user_journey_funnel + type: string + x-enum-varnames: + - USER_JOURNEY_FUNNEL + ListStreamColumn: + description: Widget column. + example: + field: timestamp + width: auto + properties: + field: + description: Widget column field. + example: content + type: string + width: + $ref: '#/components/schemas/ListStreamColumnWidth' + required: + - width + - field + type: object + ListStreamQuery: + description: Updated list stream widget. + properties: + assignee_uuids: + description: Filter by assignee UUIDs. Usable only with `issue_stream`. + items: + description: Assignee UUID. + type: string + type: array + clustering_pattern_field_path: + description: Specifies the field for logs pattern clustering. Usable only with logs_pattern_stream. + example: message + type: string + compute: + description: Compute configuration for the List Stream Widget. Compute can be used only with the logs_transaction_stream (from 1 to 5 items) list stream source. + items: + $ref: '#/components/schemas/ListStreamComputeItems' + maxItems: 5 + minItems: 1 + type: array + data_source: + $ref: '#/components/schemas/ListStreamSource' + event_size: + $ref: '#/components/schemas/WidgetEventSize' + group_by: + description: Group by configuration for the List Stream Widget. Group by can be used only with logs_pattern_stream (up to 4 items) or logs_transaction_stream (one group by item is required) list stream source. + items: + $ref: '#/components/schemas/ListStreamGroupByItems' + maxItems: 4 + type: array + indexes: + description: List of indexes. + items: + description: Index. + type: string + type: array + persona: + $ref: '#/components/schemas/ListStreamIssuePersona' + query_string: + description: Widget query. + example: '@service:app' + type: string + sort: + $ref: '#/components/schemas/WidgetFieldSort' + states: + description: Filter by issue states. Usable only with `issue_stream`. + items: + $ref: '#/components/schemas/ListStreamIssueState' + type: array + storage: + description: Option for storage location. Feature in Private Beta. + example: indexes + type: string + suspected_causes: + description: Filter by suspected causes. Usable only with `issue_stream`. + items: + description: Suspected cause. + type: string + type: array + team_handles: + description: Filter by team handles. Usable only with `issue_stream`. + items: + description: Team handle. + type: string + type: array + version: + $ref: '#/components/schemas/ListStreamQueryVersion' + required: + - query_string + - data_source + type: object + GeomapWidgetRequestStyle: + description: The style to apply to the request for points layer. + example: + color_by: status + properties: + color_by: + description: The category to color the points by. + example: status + type: string + type: object + TableWidgetTextFormatRule: + description: Text format rules. + example: + match: + type: is + value: apple + replace: + type: all + with: vegetable + properties: + custom_bg_color: + description: Hex representation of the custom background color. Used with custom background palette option. + example: '#632ca6' + type: string + custom_fg_color: + description: Hex representation of the custom text color. Used with custom text palette option. + example: '#632ca6' + type: string + match: + $ref: '#/components/schemas/TableWidgetTextFormatMatch' + palette: + $ref: '#/components/schemas/TableWidgetTextFormatPalette' + replace: + $ref: '#/components/schemas/TableWidgetTextFormatReplace' + required: + - match + type: object + EventQueryDefinition: + description: The event query. + properties: + search: + description: The query being made on the event. + example: '' + type: string + tags_execution: + description: The execution method for multi-value filters. Can be either and or or. + example: '' + type: string + required: + - search + - tags_execution + type: object + FormulaAndFunctionMetricQueryDefinition: + description: A formula and functions metrics query. + example: + data_source: metrics + name: my_query + query: avg:system.cpu.user{*} + properties: + aggregator: + $ref: '#/components/schemas/FormulaAndFunctionMetricAggregation' + cross_org_uuids: + $ref: '#/components/schemas/CrossOrgUuidsV1' + data_source: + $ref: '#/components/schemas/FormulaAndFunctionMetricDataSource' + name: + description: Name of the query for use in formulas. + example: my_query + type: string + query: + description: Metrics query definition. + example: avg:system.cpu.user{*} + type: string + semantic_mode: + $ref: '#/components/schemas/FormulaAndFunctionMetricSemanticMode' + required: + - data_source + - query + - name + type: object + HostMapWidgetInfrastructureRequest: + description: |- + Infrastructure-backed request for the host map widget. Supports entity-based + visualization with metric query enrichments, tag-based filtering, flexible grouping, + and hierarchical views. + properties: + child: + $ref: '#/components/schemas/HostMapWidgetInfrastructureRequestLeaf' + description: |- + Optional child request for hierarchical visualization (for example, hosts containing + containers). Maximum one level of nesting. + conditional_formats: + description: List of conditional formatting rules applied to fill values. + items: + $ref: '#/components/schemas/WidgetConditionalFormat' + type: array + enrichments: + description: Metric or event queries joined to the entity set. Each formula specifies a visual dimension. + example: + - formulas: + - dimension: fill + formula: query1 + queries: + - data_source: metrics + name: query1 + query: avg:system.cpu.user{*} by {host} + response_format: scalar + items: + $ref: '#/components/schemas/HostMapWidgetScalarRequest' + type: array + filter: + description: Filter string for the entity set in tag format (for example, `env:prod`). + example: env:prod + type: string + group_by: + description: |- + Defines how entities are grouped into tiles. The ordering of entries implies + the grouping hierarchy. + items: + $ref: '#/components/schemas/HostMapWidgetGroupBy' + type: array + no_group_hosts: + description: Whether to hide entities that have no group assignment. + type: boolean + no_metric_hosts: + description: Whether to hide entities that have no enrichment data. + type: boolean + node_type: + $ref: '#/components/schemas/HostMapWidgetNodeType' + request_type: + $ref: '#/components/schemas/HostMapWidgetInfrastructureRequestRequestType' + style: + $ref: '#/components/schemas/HostMapWidgetInfrastructureStyle' + required: + - request_type + - node_type + - enrichments + type: object + HostMapWidgetScalarRequest: + description: |- + Scalar formula request for the infrastructure host map widget. Each formula specifies + which visual dimension it drives. + properties: + formulas: + description: List of formulas that operate on queries, each assigned to a visual dimension. + example: + - dimension: fill + formula: query1 + items: + $ref: '#/components/schemas/HostMapWidgetFormula' + type: array + queries: + description: List of queries that can be returned directly or used in formulas. + example: + - data_source: metrics + name: my_query + query: avg:system.cpu.user{*} + items: + $ref: '#/components/schemas/FormulaAndFunctionQueryDefinition' + type: array + response_format: + $ref: '#/components/schemas/HostMapWidgetScalarRequestResponseFormat' + required: + - response_format + - queries + - formulas + type: object + HostMapRequest: + deprecated: true + description: 'Deprecated - Legacy metric-based host map request. Use the infrastructure-backed (`request_type: infrastructure_hostmap`) or DDSQL (`request_type: data_projection`) format instead.' + properties: + apm_query: + $ref: '#/components/schemas/LogQueryDefinition' + deprecated: true + description: Deprecated - Use `queries` and `formulas` instead. + event_query: + $ref: '#/components/schemas/LogQueryDefinition' + deprecated: true + description: Deprecated - Use `queries` and `formulas` instead. + log_query: + $ref: '#/components/schemas/LogQueryDefinition' + deprecated: true + description: Deprecated - Use `queries` and `formulas` instead. + network_query: + $ref: '#/components/schemas/LogQueryDefinition' + deprecated: true + description: Deprecated - Use `queries` and `formulas` instead. + process_query: + $ref: '#/components/schemas/ProcessQueryDefinition' + deprecated: true + description: Deprecated - Use `queries` and `formulas` instead. + profile_metrics_query: + $ref: '#/components/schemas/LogQueryDefinition' + deprecated: true + description: Deprecated - Use `queries` and `formulas` instead. + q: + description: Query definition. + type: string + rum_query: + $ref: '#/components/schemas/LogQueryDefinition' + deprecated: true + description: Deprecated - Use `queries` and `formulas` instead. + security_query: + $ref: '#/components/schemas/LogQueryDefinition' + deprecated: true + description: Deprecated - Use `queries` and `formulas` instead. + type: object + HostMapWidgetGroupBy: + description: Defines a grouping dimension for the infrastructure host map. + properties: + column: + description: Column name from the entity table (for example, `cloud_provider`, `tags`, `labels`). + example: tags + type: string + key: + description: Key within the column for nested attribute types (for example, `service` within `tags`). + example: service + type: string + required: + - column + type: object + HostMapWidgetNodeType: + description: Which type of infrastructure entity to visualize in the host map. + enum: + - host + - container + - pod + - cluster + example: host + type: string + x-enum-varnames: + - HOST + - CONTAINER + - POD + - CLUSTER + HostMapWidgetProjection: + description: 'Projection for the DDSQL host map request. Maps dataset columns to map dimensions: `node` identifies the entity, repeated `group` entries define the grouping hierarchy (outermost first), and `fill`/`size` drive the tile color and size.' + properties: + dimensions: + description: List of column-to-dimension mappings for the projection. + example: + - column: entity_id + dimension: node + - column: parent_id + dimension: group + - column: cpu_usage + dimension: fill + items: + $ref: '#/components/schemas/HostMapWidgetProjectionDimensionMapping' + type: array + type: + $ref: '#/components/schemas/HostMapWidgetProjectionType' + required: + - type + - dimensions + type: object + DatasetListQuery: + description: Query that lists the rows of a published dataset (a DDSQL query) without aggregation. + properties: + data_source: + $ref: '#/components/schemas/DatasetListQueryDataSourceType' + dataset_id: + description: ID of the published dataset to query. + example: abc-123-def + type: string + dataset_provider: + $ref: '#/components/schemas/PublishedDatasetProvider' + filter: + description: Filter applied to the dataset's rows, using events-style search syntax. + example: service:web-store + type: string + limit: + description: Maximum number of rows to return from the dataset query. + format: int64 + type: integer + sort: + $ref: '#/components/schemas/DatasetListQuerySort' + required: + - data_source + - dataset_provider + - dataset_id + type: object + HostMapWidgetDefinitionRequestType: + description: 'Identifies which host map request format the sibling fields on `HostMapWidgetDefinitionRequests` describe: an infrastructure-backed request or a DDSQL published-dataset request.' + enum: + - infrastructure_hostmap + - data_projection + example: infrastructure_hostmap + type: string + x-enum-varnames: + - INFRASTRUCTURE_HOSTMAP + - DATA_PROJECTION + HostMapWidgetInfrastructureStyle: + description: Style configuration for the infrastructure host map. + properties: + fill_max: + description: Maximum value for the fill color scale. Omit to use automatic scaling. + format: double + type: number + fill_min: + description: Minimum value for the fill color scale. Omit to use automatic scaling. + format: double + type: number + palette: + description: Color palette name or alias. + example: hostmap_blues + type: string + palette_flip: + description: Whether to invert the color palette. + type: boolean + type: object + ListStreamResponseFormat: + description: Widget response format. + enum: + - event_list + example: event_list + type: string + x-enum-varnames: + - EVENT_LIST + PowerpackTemplateVariableContents: + description: Powerpack template variable contents. + properties: + name: + description: The name of the variable. + example: host1 + type: string + prefix: + description: The tag prefix associated with the variable. + type: string + values: + description: One or many template variable values within the saved view, which will be unioned together using `OR` if more than one is specified. + example: + - my-host + - host1 + - host2 + items: + description: One or more possible values of the template variable. + minLength: 1 + type: string + type: array + required: + - name + - values + type: object + PointPlotWidgetLegendType: + description: Type of legend to show for the point plot widget. + enum: + - automatic + - none + example: automatic + type: string + x-enum-varnames: + - AUTOMATIC + - NONE + PointPlotProjection: + description: Projection configuration for the point plot widget. + properties: + dimensions: + description: List of dimension mappings for the projection. + items: + $ref: '#/components/schemas/PointPlotProjectionDimension' + type: array + extra_columns: + description: Additional columns to include in the projection. + items: + description: Column name. + type: string + type: array + type: + $ref: '#/components/schemas/PointPlotProjectionType' + required: + - type + - dimensions + type: object + DataProjectionQuery: + description: Query configuration for a data projection request. + properties: + data_source: + description: Data source for the query. + example: logs + type: string + indexes: + description: List of indexes to query. + items: + description: Index name. + type: string + type: array + query_string: + description: The query string to filter events. + example: service:web-store + type: string + storage: + description: Storage location for the query. + type: string + required: + - query_string + - data_source + type: object + DataProjectionRequestType: + description: Type of a data projection request. + enum: + - data_projection + example: data_projection + type: string + x-enum-varnames: + - DATA_PROJECTION + WidgetAggregator: + description: Aggregator used for the request. + enum: + - avg + - last + - max + - min + - sum + - percentile + type: string + x-enum-varnames: + - AVERAGE + - LAST + - MAXIMUM + - MINIMUM + - SUM + - PERCENTILE + QueryValueWidgetComparison: + description: A change indicator that compares the current value to a historical period. + properties: + directionality: + $ref: '#/components/schemas/QueryValueWidgetComparisonDirectionality' + description: Which direction of change is considered an improvement, determining the indicator color. + duration: + $ref: '#/components/schemas/ComparisonDuration' + type: + $ref: '#/components/schemas/QueryValueWidgetComparisonType' + required: + - duration + type: object + TimeseriesBackgroundType: + default: area + description: Timeseries is made using an area or bars. + enum: + - bars + - area + example: bars + type: string + x-enum-varnames: + - BARS + - AREA + RetentionCurveRequestType: + description: Request type for retention curve widget. + enum: + - retention_curve + example: retention_curve + type: string + x-enum-varnames: + - RETENTION_CURVE + RetentionCurveStyle: + additionalProperties: false + description: Style configuration for retention curve. + properties: + palette: + description: Color palette for the retention curve. + example: dog_classic + type: string + type: object + SLOListWidgetQuery: + description: Updated SLO List widget. + properties: + limit: + default: 100 + description: Maximum number of results to display in the table. + format: int64 + maximum: 100 + minimum: 1 + type: integer + query_string: + description: Widget query. + example: env:prod AND service:my-app + type: string + sort: + description: Options for sorting results. + items: + $ref: '#/components/schemas/WidgetFieldSort' + type: array + required: + - query_string + type: object + SLOListWidgetRequestType: + description: Widget request type. + enum: + - slo_list + example: slo_list + type: string + x-enum-varnames: + - SLO_LIST + ScatterplotTableRequest: + description: Scatterplot request containing formulas and functions. + properties: + formulas: + description: List of Scatterplot formulas that operate on queries. + items: + $ref: '#/components/schemas/ScatterplotWidgetFormula' + type: array + queries: + description: List of queries that can be returned directly or used in formulas. + items: + $ref: '#/components/schemas/FormulaAndFunctionQueryDefinition' + type: array + response_format: + $ref: '#/components/schemas/FormulaAndFunctionResponseFormat' + type: object + ScatterPlotRequest: + description: Updated scatter plot. + properties: + aggregator: + $ref: '#/components/schemas/ScatterplotWidgetAggregator' + apm_query: + $ref: '#/components/schemas/LogQueryDefinition' + deprecated: true + description: Deprecated - Use `queries` and `formulas` instead. + event_query: + $ref: '#/components/schemas/LogQueryDefinition' + deprecated: true + description: Deprecated - Use `queries` and `formulas` instead. + log_query: + $ref: '#/components/schemas/LogQueryDefinition' + deprecated: true + description: Deprecated - Use `queries` and `formulas` instead. + network_query: + $ref: '#/components/schemas/LogQueryDefinition' + deprecated: true + description: Deprecated - Use `queries` and `formulas` instead. + process_query: + $ref: '#/components/schemas/ProcessQueryDefinition' + deprecated: true + description: Deprecated - Use `queries` and `formulas` instead. + profile_metrics_query: + $ref: '#/components/schemas/LogQueryDefinition' + deprecated: true + description: Deprecated - Use `queries` and `formulas` instead. + q: + description: Query definition. + type: string + rum_query: + $ref: '#/components/schemas/LogQueryDefinition' + deprecated: true + description: Deprecated - Use `queries` and `formulas` instead. + security_query: + $ref: '#/components/schemas/LogQueryDefinition' + deprecated: true + description: Deprecated - Use `queries` and `formulas` instead. + type: object + SankeyRumRequest: + additionalProperties: false + description: Sankey widget request for Product Analytics or RUM data source. + properties: + query: + $ref: '#/components/schemas/SankeyRumQuery' + request_type: + $ref: '#/components/schemas/SankeyWidgetDefinitionType' + required: + - query + - request_type + type: object + SankeyNetworkRequest: + additionalProperties: false + description: Sankey widget request for network data source. + properties: + query: + $ref: '#/components/schemas/SankeyNetworkQuery' + request_type: + $ref: '#/components/schemas/SankeyNetworkRequestType' + required: + - query + - request_type + type: object + SplitSort: + description: Controls the order in which graphs appear in the split. + properties: + compute: + $ref: '#/components/schemas/SplitConfigSortCompute' + order: + $ref: '#/components/schemas/WidgetSort' + required: + - order + type: object + SplitDimension: + description: The property by which the graph splits + example: + one_graph_per: service + properties: + one_graph_per: + description: The system interprets this attribute differently depending on the data source of the query being split. For metrics, it's a tag. For the events platform, it's an attribute or tag. + example: service + type: string + required: + - one_graph_per + type: object + SplitVectorEntry: + description: The widget displays one graph for each entry in this parameter. + example: + - tag_key: demo + tag_values: + - env + items: + $ref: '#/components/schemas/SplitVectorEntryItem' + minItems: 1 + type: array + SunburstWidgetLegendTable: + description: Configuration of table-based legend. + properties: + type: + $ref: '#/components/schemas/SunburstWidgetLegendTableType' + required: + - type + type: object + SunburstWidgetLegendInlineAutomatic: + description: Configuration of inline or automatic legends. + properties: + hide_percent: + description: Whether to hide the percentages of the groups. + type: boolean + hide_value: + description: Whether to hide the values of the groups. + type: boolean + type: + $ref: '#/components/schemas/SunburstWidgetLegendInlineAutomaticType' + required: + - type + type: object + TableWidgetCellDisplayMode: + description: Define a display mode for the table cell. + enum: + - number + - bar + - trend + example: number + type: string + x-enum-varnames: + - NUMBER + - BAR + - TREND + TableWidgetTextFormat: + description: Text format rules for a tag-based column within a table widget. + example: + - match: + type: is + value: fruit + replace: + type: all + with: vegetable + - match: + type: is + value: cake + palette: white_on_green + items: + $ref: '#/components/schemas/TableWidgetTextFormatRule' + minItems: 1 + type: array + WidgetDisplayType: + description: Type of display to use for the request. + enum: + - area + - bars + - line + - overlay + type: string + x-enum-varnames: + - AREA + - BARS + - LINE + - OVERLAY + TimeseriesWidgetExpressionAlias: + description: Define an expression alias. + properties: + alias_name: + description: Expression alias. + type: string + expression: + description: Expression name. + example: '' + type: string + required: + - expression + type: object + TimeseriesRequestStyle: + description: Define request widget style for timeseries widgets. + properties: + has_value_labels: + description: If true, the value is displayed as a label relative to the data point. + type: boolean + line_type: + $ref: '#/components/schemas/WidgetLineType' + line_width: + $ref: '#/components/schemas/WidgetLineWidth' + order_by: + $ref: '#/components/schemas/WidgetStyleOrderBy' + palette: + description: Color palette to apply to the widget. + type: string + type: object + ToplistWidgetDisplay: + description: Top list widget display options. + properties: + legend: + $ref: '#/components/schemas/ToplistWidgetLegend' + type: + $ref: '#/components/schemas/ToplistWidgetStackedType' + required: + - type + type: object + ToplistWidgetScaling: + description: Top list widget scaling definition. + enum: + - absolute + - relative + type: string + x-enum-varnames: + - ABSOLUTE + - RELATIVE + TopologyRequestDataStreams: + description: Request that returns nodes and edges from the data streams data source. + properties: + query: + $ref: '#/components/schemas/TopologyQueryDataStreams' + request_type: + $ref: '#/components/schemas/TopologyRequestType' + type: object + TopologyMapWidgetDefinitionType: + default: topology_map + description: Type of the topology map widget. + enum: + - topology_map + example: topology_map + type: string + x-enum-varnames: + - TOPOLOGY_MAP + TopologyRequestServiceMap: + description: Request that returns nodes and edges from the service map data source. + properties: + query: + $ref: '#/components/schemas/TopologyQueryServiceMap' + request_type: + $ref: '#/components/schemas/TopologyRequestType' + type: object + WildcardWidgetSpecificationType: + description: Type of specification used by the wildcard widget. + enum: + - vega + - vega-lite + example: vega-lite + type: string + x-enum-varnames: + - VEGA + - VEGA_LITE + NotebookMarkdownCellAttributes: + description: The attributes of a notebook `markdown` cell. + properties: + definition: + $ref: '#/components/schemas/NotebookMarkdownCellDefinition' + required: + - definition + type: object + NotebookTimeseriesCellAttributes: + description: The attributes of a notebook `timeseries` cell. + properties: + definition: + $ref: '#/components/schemas/TimeseriesWidgetDefinition' + graph_size: + $ref: '#/components/schemas/NotebookGraphSize' + split_by: + $ref: '#/components/schemas/NotebookSplitBy' + time: + $ref: '#/components/schemas/NotebookCellTime' + required: + - definition + type: object + NotebookToplistCellAttributes: + description: The attributes of a notebook `toplist` cell. + properties: + definition: + $ref: '#/components/schemas/ToplistWidgetDefinition' + graph_size: + $ref: '#/components/schemas/NotebookGraphSize' + split_by: + $ref: '#/components/schemas/NotebookSplitBy' + time: + $ref: '#/components/schemas/NotebookCellTime' + required: + - definition + type: object + NotebookHeatMapCellAttributes: + description: The attributes of a notebook `heatmap` cell. + properties: + definition: + $ref: '#/components/schemas/HeatMapWidgetDefinition' + graph_size: + $ref: '#/components/schemas/NotebookGraphSize' + split_by: + $ref: '#/components/schemas/NotebookSplitBy' + time: + $ref: '#/components/schemas/NotebookCellTime' + required: + - definition + type: object + NotebookDistributionCellAttributes: + description: The attributes of a notebook `distribution` cell. + properties: + definition: + $ref: '#/components/schemas/DistributionWidgetDefinition' + graph_size: + $ref: '#/components/schemas/NotebookGraphSize' + split_by: + $ref: '#/components/schemas/NotebookSplitBy' + time: + $ref: '#/components/schemas/NotebookCellTime' + required: + - definition + type: object + NotebookLogStreamCellAttributes: + description: The attributes of a notebook `log_stream` cell. + properties: + definition: + $ref: '#/components/schemas/LogStreamWidgetDefinition' + graph_size: + $ref: '#/components/schemas/NotebookGraphSize' + time: + $ref: '#/components/schemas/NotebookCellTime' + required: + - definition + type: object + NotebookTemplateVariableAvailableValuesQueryLogRumSpans: + additionalProperties: false + description: Available values query for logs, RUM, or spans data sources. + properties: + data_source: + description: The data source for the query. Must be one of `logs`, `rum`, or `spans`. + example: logs + type: string + group_by: + description: Group-by fields for the query. + items: + $ref: '#/components/schemas/NotebookTemplateVariableAvailableValuesQueryGroupBy' + type: array + search: + $ref: '#/components/schemas/NotebookTemplateVariableAvailableValuesQuerySearch' + required: + - data_source + - search + - group_by + type: object + NotebookTemplateVariableAvailableValuesQueryMetrics: + additionalProperties: false + description: Available values query for the metrics data source. + properties: + data_source: + description: The data source for the query. Must be `metrics`. + example: metrics + type: string + query: + description: The metrics query string. + example: avg:system.cpu.user{*} by {host} + type: string + required: + - data_source + - query + type: object + WidgetLiveSpanV1: + description: The available timeframes depend on the widget you are using. + enum: + - 1m + - 5m + - 10m + - 15m + - 30m + - 1h + - 4h + - 1d + - 2d + - 1w + - 1mo + - 3mo + - 6mo + - week_to_date + - month_to_date + - 1y + - alert + example: 5m + type: string + x-enum-varnames: + - PAST_ONE_MINUTE + - PAST_FIVE_MINUTES + - PAST_TEN_MINUTES + - PAST_FIFTEEN_MINUTES + - PAST_THIRTY_MINUTES + - PAST_ONE_HOUR + - PAST_FOUR_HOURS + - PAST_ONE_DAY + - PAST_TWO_DAYS + - PAST_ONE_WEEK + - PAST_ONE_MONTH + - PAST_THREE_MONTHS + - PAST_SIX_MONTHS + - WEEK_TO_DATE + - MONTH_TO_DATE + - PAST_ONE_YEAR + - ALERT + NotebookCellUpdateRequestAttributes: + description: |- + The attributes of a notebook cell in update cell request. Valid cell types are `markdown`, `timeseries`, `toplist`, `heatmap`, `distribution`, + `log_stream`. [More information on each graph visualization type.](https://docs.datadoghq.com/dashboards/widgets/) + example: + definition: + requests: + - display_type: line + q: avg:system.load.1{*} + style: + line_type: solid + line_width: normal + palette: dog_classic + show_legend: true + type: timeseries + yaxis: + scale: linear + graph_size: m + split_by: + keys: [] + tags: [] + time: null + properties: + definition: + $ref: '#/components/schemas/NotebookMarkdownCellDefinition' + graph_size: + $ref: '#/components/schemas/NotebookGraphSize' + split_by: + $ref: '#/components/schemas/NotebookSplitBy' + time: + $ref: '#/components/schemas/NotebookCellTime' + required: + - definition + type: object + PowerpackInnerWidgetLayout: + description: Powerpack inner widget layout. + properties: + height: + description: The height of the widget. Should be a non-negative integer. + example: 0 + format: int64 + minimum: 0 + type: integer + width: + description: The width of the widget. Should be a non-negative integer. + example: 0 + format: int64 + minimum: 0 + type: integer + x: + description: The position of the widget on the x (horizontal) axis. Should be a non-negative integer. + example: 0 + format: int64 + minimum: 0 + type: integer + 'y': + description: The position of the widget on the y (vertical) axis. Should be a non-negative integer. + example: 0 + format: int64 + minimum: 0 + type: integer + required: + - x + - 'y' + - width + - height + type: object + WidgetNewLiveSpanType: + description: Type "live" denotes a live span in the new format. + enum: + - live + example: live + type: string + x-enum-varnames: + - LIVE + WidgetNewFixedSpanType: + description: Type "fixed" denotes a fixed span. + enum: + - fixed + example: fixed + type: string + x-enum-varnames: + - FIXED + LogsQueryCompute: + description: Define computation for a log query. + properties: + aggregation: + description: The aggregation method. + example: avg + type: string + facet: + description: Facet name. + example: '@duration' + type: string + interval: + description: Define a time interval in seconds. + example: 5000 + format: int64 + type: integer + required: + - aggregation + type: object + LogQueryDefinitionGroupBy: + description: Defined items in the group. + properties: + facet: + description: Facet name. + example: resource_name + type: string + limit: + description: Maximum number of items in the group. + example: 50 + format: int64 + type: integer + sort: + $ref: '#/components/schemas/LogQueryDefinitionGroupBySort' + required: + - facet + type: object + LogQueryDefinitionSearch: + description: The query being made on the logs. + properties: + query: + description: Search value to apply. + example: '' + type: string + required: + - query + type: object + WidgetComparator: + description: Comparator to apply. + enum: + - '=' + - '>' + - '>=' + - < + - <= + example: '>' + type: string + x-enum-varnames: + - EQUAL_TO + - GREATER_THAN + - GREATER_THAN_OR_EQUAL_TO + - LESS_THAN + - LESS_THAN_OR_EQUAL_TO + WidgetPalette: + description: Color palette to apply. + enum: + - blue + - custom_bg + - custom_image + - custom_text + - gray_on_white + - grey + - green + - orange + - red + - red_on_white + - white_on_gray + - white_on_green + - green_on_white + - white_on_red + - white_on_yellow + - yellow_on_white + - black_on_light_yellow + - black_on_light_green + - black_on_light_red + example: blue + type: string + x-enum-varnames: + - BLUE + - CUSTOM_BACKGROUND + - CUSTOM_IMAGE + - CUSTOM_TEXT + - GRAY_ON_WHITE + - GREY + - GREEN + - ORANGE + - RED + - RED_ON_WHITE + - WHITE_ON_GRAY + - WHITE_ON_GREEN + - GREEN_ON_WHITE + - WHITE_ON_RED + - WHITE_ON_YELLOW + - YELLOW_ON_WHITE + - BLACK_ON_LIGHT_YELLOW + - BLACK_ON_LIGHT_GREEN + - BLACK_ON_LIGHT_RED + WidgetFormulaCellDisplayModeOptions: + description: Cell display mode options for the widget formula. (only if `cell_display_mode` is set to `trend`). + properties: + trend_type: + $ref: '#/components/schemas/WidgetFormulaCellDisplayModeOptionsTrendType' + y_scale: + $ref: '#/components/schemas/WidgetFormulaCellDisplayModeOptionsYScale' + type: object + WidgetFormulaLimit: + description: Options for limiting results returned. + properties: + count: + description: Number of results to return. + format: int64 + type: integer + order: + $ref: '#/components/schemas/QuerySortOrderV1' + type: object + WidgetNumberFormat: + description: Number format options for the widget. + properties: + unit: + $ref: '#/components/schemas/NumberFormatUnit' + unit_scale: + $ref: '#/components/schemas/NumberFormatUnitScale' + type: object + WidgetFormulaStyle: + description: Styling options for widget formulas. + properties: + palette: + description: The color palette used to display the formula. A guide to the available color palettes can be found at https://docs.datadoghq.com/dashboards/guide/widget_colors + example: classic + type: string + palette_index: + description: Index specifying which color to use within the palette. + example: 1 + format: int64 + type: integer + type: object + FormulaAndFunctionEventQueryDefinition: + description: A formula and functions events query. + properties: + compute: + $ref: '#/components/schemas/FormulaAndFunctionEventQueryDefinitionCompute' + cross_org_uuids: + $ref: '#/components/schemas/CrossOrgUuidsV1' + data_source: + $ref: '#/components/schemas/FormulaAndFunctionEventsDataSource' + group_by: + $ref: '#/components/schemas/FormulaAndFunctionEventQueryGroupByConfig' + indexes: + description: An array of index names to query in the stream. Omit or use `[]` to query all indexes at once. + example: + - days-3 + - days-7 + items: + description: A log index set up for your organization. For additional indexes, see the [multiple indexes](https://docs.datadoghq.com/logs/indexes/#multiple-indexes) documentation. + type: string + type: array + name: + description: Name of the query for use in formulas. + example: query_errors + type: string + search: + $ref: '#/components/schemas/FormulaAndFunctionEventQueryDefinitionSearch' + storage: + description: Option for storage location. Feature in Private Beta. + example: indexes + type: string + required: + - data_source + - compute + - name + type: object + FormulaAndFunctionProcessQueryDefinition: + description: Process query using formulas and functions. + properties: + aggregator: + $ref: '#/components/schemas/FormulaAndFunctionMetricAggregation' + cross_org_uuids: + $ref: '#/components/schemas/CrossOrgUuidsV1' + data_source: + $ref: '#/components/schemas/FormulaAndFunctionProcessQueryDataSource' + is_normalized_cpu: + description: Whether to normalize the CPU percentages. + type: boolean + limit: + description: Number of hits to return. + format: int64 + type: integer + metric: + description: Process metric name. + example: avg:system.cpu.user{*} + type: string + name: + description: Name of query for use in formulas. + example: query_errors + type: string + sort: + $ref: '#/components/schemas/QuerySortOrderV1' + tag_filters: + description: An array of tags to filter by. + items: + description: One of the tags to filter by. + type: string + type: array + text_filter: + description: Text to use as filter. + type: string + required: + - data_source + - metric + - name + type: object + FormulaAndFunctionApmDependencyStatsQueryDefinition: + description: A formula and functions APM dependency stats query. + properties: + cross_org_uuids: + $ref: '#/components/schemas/CrossOrgUuidsV1' + data_source: + $ref: '#/components/schemas/FormulaAndFunctionApmDependencyStatsDataSource' + env: + description: APM environment. + example: staging + type: string + is_upstream: + description: Determines whether stats for upstream or downstream dependencies should be queried. + example: false + type: boolean + name: + description: Name of query to use in formulas. + example: query_errors + type: string + operation_name: + description: Name of operation on service. + example: cassandra.query + type: string + primary_tag_name: + description: The name of the second primary tag used within APM; required when `primary_tag_value` is specified. See https://docs.datadoghq.com/tracing/guide/setting_primary_tags_to_scope/#add-a-second-primary-tag-in-datadog. + example: datacenter + type: string + primary_tag_value: + description: Filter APM data by the second primary tag. `primary_tag_name` must also be specified. + example: staging + type: string + resource_name: + description: APM resource. + example: DELETE FROM foo WHERE baz = ? + type: string + service: + description: APM service. + example: cassandra + type: string + stat: + $ref: '#/components/schemas/FormulaAndFunctionApmDependencyStatName' + required: + - data_source + - env + - stat + - operation_name + - resource_name + - service + - name + type: object + FormulaAndFunctionApmResourceStatsQueryDefinition: + deprecated: true + description: APM resource stats query using formulas and functions. Deprecated - Use `apm_metrics` query type instead. + properties: + cross_org_uuids: + $ref: '#/components/schemas/CrossOrgUuidsV1' + data_source: + $ref: '#/components/schemas/FormulaAndFunctionApmResourceStatsDataSource' + env: + description: APM environment. + example: staging + type: string + group_by: + description: Array of fields to group results by. + items: + description: Field to group results by. + example: resource_name + type: string + type: array + name: + description: Name of this query to use in formulas. + example: query_errors + type: string + operation_name: + description: Name of operation on service. + example: cassandra.query + type: string + primary_tag_name: + description: Name of the second primary tag used within APM. Required when `primary_tag_value` is specified. See https://docs.datadoghq.com/tracing/guide/setting_primary_tags_to_scope/#add-a-second-primary-tag-in-datadog + example: datacenter + type: string + primary_tag_value: + description: Value of the second primary tag by which to filter APM data. `primary_tag_name` must also be specified. + example: us-east-az + type: string + resource_name: + description: APM resource name. + example: Admin::ProductsController#create + type: string + service: + description: APM service name. + example: web-store + type: string + stat: + $ref: '#/components/schemas/FormulaAndFunctionApmResourceStatName' + required: + - data_source + - env + - name + - service + - stat + type: object + FormulaAndFunctionApmMetricsQueryDefinition: + description: A formula and functions APM metrics query. + properties: + data_source: + $ref: '#/components/schemas/FormulaAndFunctionApmMetricsDataSource' + group_by: + description: Optional fields to group the query results by. items: - $ref: '#/components/schemas/DashboardListItemRequest' + description: A field to group results by. + example: resource_name + type: string + type: array + name: + description: Name of this query to use in formulas. + example: query_errors + type: string + operation_mode: + description: Optional operation mode to aggregate across operation names. + example: primary + type: string + operation_name: + description: Name of operation on service. If not provided, the primary operation name is used. + example: web.request + type: string + peer_tags: + description: Tags to query for a specific downstream entity (peer.service, peer.db_instance, peer.s3, peer.s3.bucket, etc.). + items: + description: 'A tag identifying a specific downstream entity (for example: peer.service, peer.db_instance).' + example: peer.service:my-service + type: string type: array + query_filter: + description: Additional filters for the query using metrics query syntax (e.g., env, primary_tag). + example: env:prod + type: string + resource_hash: + description: The hash of a specific resource to filter by. + example: abc123 + type: string + resource_name: + description: The full name of a specific resource to filter by. + example: GET /api/v1/users + type: string + service: + description: APM service name. + example: web-store + type: string + span_kind: + $ref: '#/components/schemas/FormulaAndFunctionApmMetricsSpanKind' + stat: + $ref: '#/components/schemas/FormulaAndFunctionApmMetricStatName' + required: + - data_source + - name + - stat type: object - DashboardListDeleteItemsResponse: - description: Response containing a list of deleted dashboards. + FormulaAndFunctionSLOQueryDefinition: + description: A formula and functions metrics query. + example: + additional_query_filters: '*' + data_source: slo + group_mode: overall + measure: good_events + name: my_slo + slo_id: '12345678910' + slo_query_type: metric properties: - deleted_dashboards_from_list: - description: List of dashboards deleted from the dashboard list. + additional_query_filters: + description: Additional filters applied to the SLO query. + example: host:host_a,env:prod + type: string + cross_org_uuids: + $ref: '#/components/schemas/CrossOrgUuidsV1' + data_source: + $ref: '#/components/schemas/FormulaAndFunctionSLODataSource' + group_mode: + $ref: '#/components/schemas/FormulaAndFunctionSLOGroupMode' + measure: + $ref: '#/components/schemas/FormulaAndFunctionSLOMeasure' + name: + description: Name of the query for use in formulas. + example: my_slo + type: string + slo_id: + description: ID of an SLO to query measures. + example: '12345678910' + type: string + slo_query_type: + $ref: '#/components/schemas/FormulaAndFunctionSLOQueryType' + required: + - data_source + - slo_id + - measure + type: object + FormulaAndFunctionCloudCostQueryDefinition: + description: A formula and functions Cloud Cost query. + example: + data_source: cloud_cost + name: query1 + query: sum:aws.cost.amortized{*} + properties: + aggregator: + $ref: '#/components/schemas/WidgetAggregator' + cross_org_uuids: + $ref: '#/components/schemas/CrossOrgUuidsV1' + data_source: + $ref: '#/components/schemas/FormulaAndFunctionCloudCostDataSource' + name: + description: Name of the query for use in formulas. + example: my_query + type: string + query: + description: Query for Cloud Cost data. + example: '' + type: string + required: + - data_source + - query + - name + type: object + FormulaAndFunctionProductAnalyticsExtendedQueryDefinition: + description: A formula and functions Product Analytics Extended query for advanced analytics features. + properties: + audience_filters: + $ref: '#/components/schemas/ProductAnalyticsAudienceFiltersV1' + compute: + $ref: '#/components/schemas/ProductAnalyticsExtendedCompute' + data_source: + $ref: '#/components/schemas/FormulaAndFunctionProductAnalyticsExtendedDataSource' + group_by: + description: Group by configuration. items: - $ref: '#/components/schemas/DashboardListItemResponse' + $ref: '#/components/schemas/ProductAnalyticsExtendedGroupBy' + description: A Product Analytics Extended group by configuration. + type: array + indexes: + description: Event indexes to query. + example: + - '*' + items: + $ref: '#/components/schemas/FormulaAndFunctionProductAnalyticsExtendedQueryDefinitionIndexesItems' type: array + name: + description: Name of the query for use in formulas. + example: query1 + type: string + query: + $ref: '#/components/schemas/ProductAnalyticsBaseQueryV1' + required: + - data_source + - name + - query + - compute type: object - APIErrorResponse: - description: API error response. + FormulaAndFunctionUserJourneyQueryDefinition: + description: A formula and functions User Journey query for defining funnel, timeseries, and scalar visualizations over journey data. properties: - errors: - description: A list of errors. - example: - - Bad Request + compute: + $ref: '#/components/schemas/UserJourneyFormulaCompute' + data_source: + $ref: '#/components/schemas/ProductAnalyticsFunnelDataSource' + group_by: + description: Group by configuration. items: - description: A list of items. - example: Bad Request - type: string + $ref: '#/components/schemas/UserJourneyFormulaGroupBy' + description: A User Journey group by configuration. type: array + name: + description: Name of the query for use in formulas. + example: query1 + type: string + search: + $ref: '#/components/schemas/UserJourneySearch' required: - - errors + - data_source + - name + - search + - compute type: object - DashboardListItems: - description: Dashboards within a list. + FormulaAndFunctionRetentionQueryDefinition: + description: A formula and functions Retention query for defining timeseries and scalar visualizations. properties: - dashboards: - description: List of dashboards in the dashboard list. - example: [] + compute: + $ref: '#/components/schemas/RetentionCompute' + data_source: + $ref: '#/components/schemas/RetentionDataSource' + group_by: + description: Group by configuration. items: - $ref: '#/components/schemas/DashboardListItem' + $ref: '#/components/schemas/RetentionGroupBy' + description: A Retention group by configuration. type: array - total: - description: Number of dashboards in the dashboard list. + name: + description: Name of the query for use in formulas. + example: query1 + type: string + search: + $ref: '#/components/schemas/RetentionSearch' + required: + - data_source + - name + - search + - compute + type: object + WidgetSortOrderBy: + description: The item to sort the widget by. + properties: + index: + description: The index of the formula to sort by. + example: 0 format: int64 - readOnly: true + minimum: 0 type: integer + order: + $ref: '#/components/schemas/WidgetSort' + type: + $ref: '#/components/schemas/FormulaType' + name: + description: The name of the group. + example: group_name + type: string required: - - dashboards + - type + - index + - order + - name type: object - DashboardListAddItemsRequest: - description: Request containing a list of dashboards to add. + WidgetLineType: + description: Type of lines displayed. + enum: + - dashed + - dotted + - solid + type: string + x-enum-varnames: + - DASHED + - DOTTED + - SOLID + WidgetLineWidth: + description: Width of line displayed. + enum: + - normal + - thick + - thin + type: string + x-enum-varnames: + - NORMAL + - THICK + - THIN + WidgetStyleOrderBy: + description: |- + How to order series in timeseries visualizations. + - `tags`: Order series alphabetically by tag name (default behavior) + - `values`: Order series by their current metric values (typically descending) + enum: + - tags + - values + type: string + x-enum-varnames: + - TAGS + - VALUES + BarChartWidgetStacked: + description: Bar chart widget stacked display options. properties: - dashboards: - description: List of dashboards to add the dashboard list. + legend: + $ref: '#/components/schemas/BarChartWidgetLegend' + type: + $ref: '#/components/schemas/BarChartWidgetStackedType' + required: + - type + type: object + BarChartWidgetFlat: + description: Bar chart widget flat display. + properties: + type: + $ref: '#/components/schemas/BarChartWidgetFlatType' + required: + - type + type: object + RetentionCompute: + additionalProperties: false + description: Compute configuration for retention queries. + properties: + aggregation: + $ref: '#/components/schemas/EventsAggregationV1' + metric: + $ref: '#/components/schemas/RetentionComputeMetric' + required: + - aggregation + - metric + type: object + RetentionDataSource: + description: Data source for retention queries. + enum: + - product_analytics_retention + example: product_analytics_retention + type: string + x-enum-varnames: + - PRODUCT_ANALYTICS_RETENTION + RetentionFilters: + additionalProperties: false + description: Filters for retention queries. + properties: + audience_filters: + $ref: '#/components/schemas/ProductAnalyticsAudienceFiltersV1' + string_filter: + description: String filter. + example: '@session.type:user' + type: string + type: object + RetentionGroupBy: + additionalProperties: false + description: Group by configuration for retention queries. + properties: + facet: + description: Facet to group by. + example: '@geo.country' + type: string + limit: + description: Maximum number of groups. + example: 10 + format: int64 + type: integer + should_exclude_missing: + description: Whether to exclude missing values. + example: false + type: boolean + sort: + $ref: '#/components/schemas/RetentionGroupBySort' + source: + description: Source field. + example: '@geo.country' + type: string + target: + $ref: '#/components/schemas/RetentionGroupByTarget' + required: + - target + - facet + type: object + RetentionSearch: + additionalProperties: false + description: Search configuration for retention queries. + properties: + cohort_criteria: + $ref: '#/components/schemas/RetentionCohortCriteria' + filters: + $ref: '#/components/schemas/RetentionFilters' + retention_entity: + $ref: '#/components/schemas/RetentionEntity' + return_condition: + $ref: '#/components/schemas/RetentionReturnCondition' + return_criteria: + $ref: '#/components/schemas/RetentionReturnCriteria' + required: + - cohort_criteria + - retention_entity + - return_condition + type: object + ApmStatsQueryColumnType: + description: Column properties. + properties: + alias: + description: A user-assigned alias for the column. + example: Requests + type: string + cell_display_mode: + $ref: '#/components/schemas/TableWidgetCellDisplayMode' + name: + description: Column name. + example: Reqs + type: string + order: + $ref: '#/components/schemas/WidgetSort' + required: + - name + type: object + ApmStatsQueryRowType: + description: The level of detail for the request. + enum: + - service + - resource + - span + example: service + type: string + x-enum-varnames: + - SERVICE + - RESOURCE + - SPAN + FunnelSource: + default: rum + description: Source from which to query items to display in the funnel. + enum: + - rum + example: rum + type: string + x-enum-varnames: + - RUM + FunnelStep: + description: The funnel step. + properties: + facet: + description: The facet of the step. + example: '@view.name' + type: string + value: + description: The value of the step. + example: /apm/home + type: string + required: + - facet + - value + type: object + FunnelComparisonCustomTimeframe: + additionalProperties: false + description: Custom timeframe for funnel comparison. + properties: + from: + description: Start of the custom timeframe. + example: 0 + format: double + type: number + to: + description: End of the custom timeframe. + example: 0 + format: double + type: number + required: + - from + - to + type: object + FunnelComparisonDurationType: + description: Type of comparison duration. + enum: + - previous_timeframe + - custom_timeframe + - previous_day + - previous_week + - previous_month + example: previous_timeframe + type: string + x-enum-varnames: + - PREVIOUS_TIMEFRAME + - CUSTOM_TIMEFRAME + - PREVIOUS_DAY + - PREVIOUS_WEEK + - PREVIOUS_MONTH + ProductAnalyticsFunnelCompute: + additionalProperties: false + description: Compute configuration for user journey funnel. + properties: + aggregation: + $ref: '#/components/schemas/ProductAnalyticsFunnelComputeAggregation' + metric: + $ref: '#/components/schemas/ProductAnalyticsFunnelComputeMetric' + required: + - aggregation + - metric + type: object + ProductAnalyticsFunnelDataSource: + description: Data source for user journey funnel queries. + enum: + - product_analytics_journey + example: product_analytics_journey + type: string + x-enum-varnames: + - PRODUCT_ANALYTICS_JOURNEY + ProductAnalyticsFunnelGroupBy: + description: Group by configuration for user journey funnel. + properties: + facet: + description: Facet to group by. + example: '@usr.email' + type: string + limit: + description: Maximum number of groups. + format: int64 + type: integer + should_exclude_missing: + description: Whether to exclude missing values. + type: boolean + sort: + $ref: '#/components/schemas/ProductAnalyticsFunnelGroupBySort' + target: + $ref: '#/components/schemas/UserJourneySearchTarget' + required: + - facet + type: object + UserJourneySearch: + additionalProperties: false + description: User journey search configuration. + properties: + expression: + description: Expression string. + example: node_0 -> node_1 + type: string + filters: + $ref: '#/components/schemas/UserJourneySearchFilters' + join_keys: + $ref: '#/components/schemas/UserJourneyJoinKeys' + node_objects: + additionalProperties: + $ref: '#/components/schemas/ProductAnalyticsBaseQueryV1' + description: Node objects mapping. + type: object + step_aliases: + additionalProperties: + type: string + description: Step aliases mapping. + type: object + required: + - node_objects + - expression + type: object + ListStreamColumnWidth: + description: Widget column width. + enum: + - auto + - compact + - full + example: compact + type: string + x-enum-varnames: + - AUTO + - COMPACT + - FULL + ListStreamComputeItems: + description: List of facets and aggregations which to compute. + properties: + aggregation: + $ref: '#/components/schemas/ListStreamComputeAggregation' + facet: + description: Facet name. + example: resource_name + type: string + required: + - aggregation + type: object + ListStreamSource: + default: logs_stream + description: Source from which to query items to display in the stream. apm_issue_stream, rum_issue_stream, and logs_issue_stream are deprecated. Use issue_stream instead. + enum: + - logs_stream + - audit_stream + - ci_pipeline_stream + - ci_test_stream + - rum_issue_stream + - apm_issue_stream + - trace_stream + - logs_issue_stream + - logs_pattern_stream + - logs_transaction_stream + - event_stream + - rum_stream + - llm_observability_stream + - issue_stream + - security_runtime_stream + - security_signals_stream + - incidents_stream + example: logs_stream + type: string + x-enum-varnames: + - LOGS_STREAM + - AUDIT_STREAM + - CI_PIPELINE_STREAM + - CI_TEST_STREAM + - RUM_ISSUE_STREAM + - APM_ISSUE_STREAM + - TRACE_STREAM + - LOGS_ISSUE_STREAM + - LOGS_PATTERN_STREAM + - LOGS_TRANSACTION_STREAM + - EVENT_STREAM + - RUM_STREAM + - LLM_OBSERVABILITY_STREAM + - ISSUE_STREAM + - SECURITY_RUNTIME_STREAM + - SECURITY_SIGNALS_STREAM + - INCIDENTS_STREAM + ListStreamGroupByItems: + description: List of facets on which to group. + properties: + facet: + description: Facet name. + example: resource_name + type: string + required: + - facet + type: object + ListStreamIssuePersona: + description: Persona filter for the `issue_stream` data source. + enum: + - all + - browser + - mobile + - backend + type: string + x-enum-varnames: + - ALL + - BROWSER + - MOBILE + - BACKEND + ListStreamIssueState: + description: Issue state filter for the `issue_stream` data source. + enum: + - OPEN + - IGNORED + - ACKNOWLEDGED + - RESOLVED + type: string + x-enum-varnames: + - OPEN + - IGNORED + - ACKNOWLEDGED + - RESOLVED + ListStreamQueryVersion: + description: |- + Version of the query for the logs transaction stream widget. When omitted, v1 query behavior is + preserved. Set to `sequential_query` to use v2 behavior. **This feature is in Preview.** + enum: + - sequential_query + type: string + x-enum-varnames: + - SEQUENTIAL_QUERY + TableWidgetTextFormatMatch: + description: Match rule for the table widget text format. + example: + type: is + value: fruit + properties: + type: + $ref: '#/components/schemas/TableWidgetTextFormatMatchType' + value: + description: Table Widget Match String. + example: Match Value + type: string + required: + - type + - value + type: object + TableWidgetTextFormatPalette: + default: white_on_green + description: Color-on-color palette to highlight replaced text. + enum: + - white_on_red + - white_on_yellow + - white_on_green + - black_on_light_red + - black_on_light_yellow + - black_on_light_green + - red_on_white + - yellow_on_white + - green_on_white + - custom_bg + - custom_text + type: string + x-enum-varnames: + - WHITE_ON_RED + - WHITE_ON_YELLOW + - WHITE_ON_GREEN + - BLACK_ON_LIGHT_RED + - BLACK_ON_LIGHT_YELLOW + - BLACK_ON_LIGHT_GREEN + - RED_ON_WHITE + - YELLOW_ON_WHITE + - GREEN_ON_WHITE + - CUSTOM_BG + - CUSTOM_TEXT + TableWidgetTextFormatReplace: + description: Replace rule for the table widget text format. + example: + type: all + with: vegetable + substring: fruit + properties: + type: + $ref: '#/components/schemas/TableWidgetTextFormatReplaceAllType' + with: + description: Replace All type. + example: all + type: string + substring: + description: Text that will be replaced. + example: string to replace + type: string + required: + - type + - with + - substring + type: object + FormulaAndFunctionMetricAggregation: + description: The aggregation methods available for metrics queries. + enum: + - avg + - min + - max + - sum + - last + - area + - l2norm + - percentile + example: avg + type: string + x-enum-varnames: + - AVG + - MIN + - MAX + - SUM + - LAST + - AREA + - L2NORM + - PERCENTILE + CrossOrgUuidsV1: + description: The source organization UUID for cross organization queries. Feature in Private Beta. + example: + - 6434abde-xxxx-yyyy-zzzz-da7ad0900001 + items: + description: The source organization UUID. + example: 6434abde-xxxx-yyyy-zzzz-da7ad0900001 + type: string + maxItems: 1 + type: array + FormulaAndFunctionMetricDataSource: + description: Data source for metrics queries. + enum: + - metrics + example: metrics + type: string + x-enum-varnames: + - METRICS + FormulaAndFunctionMetricSemanticMode: + description: Semantic mode for metrics queries. This determines how metrics from different sources are combined or displayed. + enum: + - combined + - native + example: combined + type: string + x-enum-varnames: + - COMBINED + - NATIVE + HostMapWidgetInfrastructureRequestLeaf: + description: Infrastructure-backed host map child request (leaf node, no further nesting supported). + properties: + conditional_formats: + description: List of conditional formatting rules applied to fill values. + items: + $ref: '#/components/schemas/WidgetConditionalFormat' + type: array + enrichments: + description: Metric or event queries joined to the entity set. Each formula specifies a visual dimension. + example: + - formulas: + - dimension: fill + formula: query1 + queries: + - data_source: metrics + name: query1 + query: avg:system.cpu.user{*} by {host} + response_format: scalar + items: + $ref: '#/components/schemas/HostMapWidgetScalarRequest' + type: array + filter: + description: Filter string for the entity set in tag format (for example, `env:prod`). + example: env:prod + type: string + group_by: + description: |- + Defines how entities are grouped into tiles. The ordering of entries implies + the grouping hierarchy. + items: + $ref: '#/components/schemas/HostMapWidgetGroupBy' + type: array + no_group_hosts: + description: Whether to hide entities that have no group assignment. + type: boolean + no_metric_hosts: + description: Whether to hide entities that have no enrichment data. + type: boolean + node_type: + $ref: '#/components/schemas/HostMapWidgetNodeType' + request_type: + $ref: '#/components/schemas/HostMapWidgetInfrastructureRequestRequestType' + style: + $ref: '#/components/schemas/HostMapWidgetInfrastructureStyle' + required: + - request_type + - node_type + - enrichments + type: object + HostMapWidgetInfrastructureRequestRequestType: + description: Identifies this as an infrastructure-backed host map request. + enum: + - infrastructure_hostmap + example: infrastructure_hostmap + type: string + x-enum-varnames: + - INFRASTRUCTURE_HOSTMAP + HostMapWidgetFormula: + description: |- + Formula for the infrastructure host map widget that specifies both the expression + and the visual dimension it populates. + properties: + alias: + description: Expression alias. + example: my-metric + type: string + dimension: + $ref: '#/components/schemas/HostMapWidgetDimension' + formula: + description: String expression built from queries, formulas, and functions. + example: query1 + type: string + number_format: + $ref: '#/components/schemas/WidgetNumberFormat' + required: + - formula + - dimension + type: object + HostMapWidgetScalarRequestResponseFormat: + description: Response format for the scalar formula request. Only `scalar` is supported. + enum: + - scalar + example: scalar + type: string + x-enum-varnames: + - SCALAR + HostMapWidgetProjectionDimensionMapping: + description: Maps a dataset column to a host map visual dimension. + properties: + alias: + description: Alias used to label the column instead of its name. + type: string + column: + description: Source column name from the dataset. + example: entity_id + type: string + dimension: + $ref: '#/components/schemas/HostMapWidgetDimension' + number_format: + $ref: '#/components/schemas/WidgetNumberFormat' + required: + - column + - dimension + type: object + HostMapWidgetProjectionType: + description: Type of the host map projection. + enum: + - hostmap + example: hostmap + type: string + x-enum-varnames: + - HOSTMAP + DatasetListQueryDataSourceType: + description: Identifies this as a published-dataset list query. + enum: + - dataset + example: dataset + type: string + x-enum-varnames: + - DATASET + PublishedDatasetProvider: + description: Product page that published the dataset queried by a `DatasetListQuery`. `ddsql_query` is the only provider currently supported for host map widgets. + enum: + - ddsql_query + example: ddsql_query + type: string + x-enum-varnames: + - DDSQL_QUERY + DatasetListQuerySort: + description: Sort configuration for a `DatasetListQuery`. + properties: + fields: + description: List of fields to sort the rows by, applied in order. + example: + - name: cpu_usage + order: desc items: - $ref: '#/components/schemas/DashboardListItemRequest' + $ref: '#/components/schemas/DatasetListQuerySortField' type: array + required: + - fields type: object - DashboardListAddItemsResponse: - description: Response containing a list of added dashboards. + PointPlotProjectionDimension: + description: Dimension mapping for the point plot projection. properties: - added_dashboards_to_list: - description: List of dashboards added to the dashboard list. - items: - $ref: '#/components/schemas/DashboardListItemResponse' - type: array + alias: + description: Alias for the column. + type: string + column: + description: Source column name from the dataset. + example: duration + type: string + dimension: + $ref: '#/components/schemas/PointPlotDimension' + required: + - column + - dimension type: object - DashboardListUpdateItemsRequest: - description: Request containing the list of dashboards to update to. + PointPlotProjectionType: + description: Type of the projection. + enum: + - point_plot + example: point_plot + type: string + x-enum-varnames: + - POINT_PLOT + QueryValueWidgetComparisonDirectionality: + default: neutral + description: 'Color-coding direction: `increase_better` (green on rise), `decrease_better` (green on drop), or `neutral` (no color).' + enum: + - increase_better + - decrease_better + - neutral + type: string + x-enum-varnames: + - INCREASE_BETTER + - DECREASE_BETTER + - NEUTRAL + ComparisonDuration: + description: The comparison period. Use a preset `type` value or set `type` to `custom_timeframe` and provide `custom_timeframe` with explicit millisecond epoch bounds. properties: - dashboards: - description: List of dashboards to update the dashboard list to. - items: - $ref: '#/components/schemas/DashboardListItemRequest' - type: array + custom_timeframe: + $ref: '#/components/schemas/ComparisonCustomTimeframe' + description: Required when `type` is `custom_timeframe`. Fixed time range to compare against. + type: + $ref: '#/components/schemas/ComparisonDurationType' + required: + - type type: object - DashboardListUpdateItemsResponse: - description: Response containing a list of updated dashboards. + QueryValueWidgetComparisonType: + default: absolute + description: 'How the delta is expressed: `absolute` (raw difference), `relative` (percentage), or `both`.' + enum: + - absolute + - relative + - both + type: string + x-enum-varnames: + - ABSOLUTE + - RELATIVE + - BOTH + ScatterplotWidgetFormula: + description: Formula to be used in a Scatterplot widget query. properties: - dashboards: - description: List of dashboards in the dashboard list. - items: - $ref: '#/components/schemas/DashboardListItemResponse' - type: array + alias: + description: Expression alias. + example: my-query + type: string + dimension: + $ref: '#/components/schemas/ScatterplotDimension' + formula: + description: String expression built from queries, formulas, and functions. + example: func(a) + b + type: string + required: + - formula + - dimension type: object - ListPowerpacksResponse: - description: Response object which includes all powerpack configurations. + ScatterplotWidgetAggregator: + description: Aggregator used for the request. + enum: + - avg + - last + - max + - min + - sum + type: string + x-enum-varnames: + - AVERAGE + - LAST + - MAXIMUM + - MINIMUM + - SUM + SankeyRumQuery: + additionalProperties: false + description: Query configuration for Product Analytics or RUM Sankey widget. properties: - data: - description: List of powerpack definitions. - items: - $ref: '#/components/schemas/PowerpackData' - type: array - included: - description: Array of objects related to the users. + audience_filters: + $ref: '#/components/schemas/ProductAnalyticsAudienceFiltersV1' + data_source: + $ref: '#/components/schemas/SankeyRumDataSource' + entries_per_step: + description: Entries per step. + format: int64 + type: integer + join_keys: + $ref: '#/components/schemas/SankeyJoinKeys' + mode: + $ref: '#/components/schemas/SankeyRumQueryMode' + number_of_steps: + description: Number of steps. + format: int64 + type: integer + occurrences: + $ref: '#/components/schemas/ProductAnalyticsAudienceOccurrenceFilter' + query_string: + description: RUM event search query used to filter views or actions. + example: '@type:view' + type: string + source: + description: Source. + type: string + subquery_id: + description: Subquery ID. + type: string + target: + description: Target. + type: string + required: + - data_source + - query_string + - mode + type: object + SankeyNetworkQuery: + additionalProperties: false + description: Query configuration for Sankey network widget. + properties: + compute: + $ref: '#/components/schemas/SankeyNetworkQueryCompute' + data_source: + $ref: '#/components/schemas/SankeyNetworkDataSource' + group_by: + description: Fields to group by. + example: + - source + - destination items: - $ref: '#/components/schemas/User' + description: A field name to group by. + type: string type: array - links: - $ref: '#/components/schemas/PowerpackResponseLinks' - meta: - $ref: '#/components/schemas/PowerpacksResponseMeta' + limit: + description: Maximum number of results. + example: 100 + format: int64 + type: integer + mode: + $ref: '#/components/schemas/SankeyNetworkQueryMode' + query_string: + description: Query string for filtering network data. + example: '*' + type: string + should_exclude_missing: + description: Whether to exclude missing values. + type: boolean + sort: + $ref: '#/components/schemas/SankeyNetworkQuerySort' + required: + - data_source + - query_string + - group_by + - limit type: object - Powerpack: - description: >- - Powerpacks are templated groups of dashboard widgets you can save from - an existing dashboard and turn into reusable packs in the widget tray. + SankeyNetworkRequestType: + default: netflow_sankey + description: Type of request for network Sankey widget. + enum: + - netflow_sankey + example: netflow_sankey + type: string + x-enum-varnames: + - NETFLOW_SANKEY + SplitConfigSortCompute: + description: Defines the metric and aggregation used as the sort value. properties: - data: - $ref: '#/components/schemas/PowerpackData' + aggregation: + description: How to aggregate the sort metric for the purposes of ordering. + example: sum + type: string + metric: + description: The metric to use for sorting graphs. + example: system.cpu.user + type: string + required: + - aggregation + - metric type: object - PowerpackResponse: - description: Response object which includes a single powerpack configuration. + SplitVectorEntryItem: + description: The split graph list contains a graph for each value of the split dimension. + minLength: 1 properties: - data: - $ref: '#/components/schemas/PowerpackData' - included: - description: Array of objects related to the users. + tag_key: + description: The tag key. + example: demo + minLength: 1 + type: string + tag_values: + description: The tag values. + example: + - env items: - $ref: '#/components/schemas/User' + description: A tag value string. + minLength: 1 + type: string type: array - readOnly: true + required: + - tag_key + - tag_values type: object - DashboardListItemRequest: - description: A dashboard within a list. + SunburstWidgetLegendTableType: + description: Whether or not to show a table legend. + enum: + - table + - none + example: table + type: string + x-enum-varnames: + - TABLE + - NONE + SunburstWidgetLegendInlineAutomaticType: + description: Whether to show the legend inline or let it be automatically generated. + enum: + - inline + - automatic + example: automatic + type: string + x-enum-varnames: + - INLINE + - AUTOMATIC + ToplistWidgetStacked: + description: Top list widget stacked display options. properties: - id: - description: ID of the dashboard. - example: q5j-nti-fv6 - type: string + legend: + $ref: '#/components/schemas/ToplistWidgetLegend' type: - $ref: '#/components/schemas/DashboardType' + $ref: '#/components/schemas/ToplistWidgetStackedType' required: - type - - id type: object - DashboardListItemResponse: - description: A dashboard within a list. + ToplistWidgetFlat: + description: Top list widget flat display. properties: - id: - description: ID of the dashboard. - example: q5j-nti-fv6 - readOnly: true - type: string type: - $ref: '#/components/schemas/DashboardType' + $ref: '#/components/schemas/ToplistWidgetFlatType' required: - type - - id type: object - DashboardListItem: - description: A dashboard within a list. + TopologyQueryDataStreams: + additionalProperties: false + description: Query to the data streams topology data source. properties: - author: - $ref: '#/components/schemas/Creator' - created: - description: Date of creation of the dashboard. - format: date-time - readOnly: true - type: string - icon: - description: URL to the icon of the dashboard. - nullable: true - readOnly: true - type: string - id: - description: ID of the dashboard. - example: q5j-nti-fv6 - type: string - integration_id: - description: The short name of the integration. - nullable: true - readOnly: true - type: string - is_favorite: - description: Whether or not the dashboard is in the favorites. - readOnly: true - type: boolean - is_read_only: - description: Whether or not the dashboard is read only. - readOnly: true - type: boolean - is_shared: - description: Whether the dashboard is publicly shared or not. - readOnly: true - type: boolean - modified: - description: Date of last edition of the dashboard. - format: date-time - readOnly: true - type: string - popularity: - description: Popularity of the dashboard. - format: int32 - maximum: 5 - readOnly: true - type: integer - tags: - description: List of team names representing ownership of a dashboard. + data_source: + $ref: '#/components/schemas/TopologyQueryDataStreamsDataSource' + filters: + description: Your environment and primary tag (or * if enabled for your account). + example: + - env:prod + - az:us-east items: - description: The name of a Datadog team, formatted as `team:` + description: Environment or primary tag, generally in a key:value format. type: string - maxItems: 5 - nullable: true - readOnly: true + minItems: 1 type: array - title: - description: Title of the dashboard. - readOnly: true + query_string: + description: A search string for filtering services. When set, this replaces the `service` field. + example: service:myservice type: string - type: - $ref: '#/components/schemas/DashboardType' - url: - description: URL path to the dashboard. - readOnly: true + service: + description: (deprecated) Name of the service. Leave this empty and use query_string instead. + example: myservice type: string required: - - type - - id + - data_source + - filters + - service type: object - PowerpackData: - description: Powerpack data object. + TopologyRequestType: + description: Widget request type. + enum: + - topology + type: string + x-enum-varnames: + - TOPOLOGY + TopologyQueryServiceMap: + additionalProperties: false + description: Query to the service map topology data source. properties: - attributes: - $ref: '#/components/schemas/PowerpackAttributes' - id: - description: ID of the powerpack. + data_source: + $ref: '#/components/schemas/TopologyQueryServiceMapDataSource' + filters: + description: Your environment and primary tag (or * if enabled for your account). + example: + - env:prod + - az:us-east + items: + description: Environment or primary tag, generally in a key:value format + type: string + minItems: 1 + type: array + query_string: + description: A search string for filtering services. When set, this replaces the `service` field. + example: service:myservice type: string - relationships: - $ref: '#/components/schemas/PowerpackRelationships' - type: - description: Type of widget, must be powerpack. - example: powerpack + service: + description: (deprecated) Name of the service. Leave this empty and use query_string instead. + example: myservice type: string + required: + - data_source + - filters + - service type: object - User: - description: User object returned by the API. + NotebookMarkdownCellDefinition: + description: Text in a notebook is formatted with [Markdown](https://daringfireball.net/projects/markdown/), which enables the use of headings, subheadings, links, images, lists, and code blocks. properties: - attributes: - $ref: '#/components/schemas/UserAttributes' - id: - description: ID of the user. + text: + description: The markdown content. + example: |- + # Example Header + example content type: string - relationships: - $ref: '#/components/schemas/UserResponseRelationships' type: - $ref: '#/components/schemas/UsersType' + $ref: '#/components/schemas/NotebookMarkdownCellDefinitionType' + required: + - type + - text type: object - PowerpackResponseLinks: - description: Links attributes. + NotebookGraphSize: + description: The size of the graph. + enum: + - xs + - s + - m + - l + - xl + example: m + type: string + x-enum-varnames: + - EXTRA_SMALL + - SMALL + - MEDIUM + - LARGE + - EXTRA_LARGE + NotebookSplitBy: + description: Object describing how to split the graph to display multiple visualizations per request. + example: + keys: [] + tags: [] properties: - first: - description: Link to last page. - type: string - last: - description: Link to first page. - example: >- - https://app.datadoghq.com/api/v2/powerpacks?page[offset]=0&page[limit]=25 - nullable: true + keys: + description: Keys to split on. + example: + - environment + items: + description: A key to split on. + example: environment + type: string + type: array + tags: + description: Tags to split on. + example: + - environment:staging + items: + description: A tag to split on. + example: environment:staging + type: string + type: array + required: + - keys + - tags + type: object + NotebookCellTime: + description: Timeframe for the notebook cell. When 'null', the notebook global time is used. + nullable: true + type: object + example: + live_span: 1h + end: '2021-02-24T20:18:28+00:00' + start: '2021-02-24T19:18:28+00:00' + properties: + live_span: + $ref: '#/components/schemas/WidgetLiveSpanV1' + end: + description: The end time. + example: '2021-02-24T20:18:28+00:00' + format: date-time type: string - next: - description: Link for the next set of results. - example: >- - https://app.datadoghq.com/api/v2/powerpacks?page[offset]=25&page[limit]=25 + live: + description: Indicates whether the timeframe should be shifted to end at the current time. + type: boolean + start: + description: The start time. + example: '2021-02-24T19:18:28+00:00' + format: date-time type: string - prev: - description: Link for the previous set of results. - nullable: true + required: + - live_span + - start + - end + NotebookTemplateVariableAvailableValuesQueryGroupBy: + additionalProperties: false + description: A group-by facet for an available values query. + properties: + facet: + description: The facet name to group by. + example: host type: string - self: - description: Link to current page. - example: https://app.datadoghq.com/api/v2/powerpacks + required: + - facet + type: object + NotebookTemplateVariableAvailableValuesQuerySearch: + additionalProperties: false + description: Search parameters for an available values query. + properties: + query: + description: The search query string. + example: service:web type: string + required: + - query type: object - PowerpacksResponseMeta: - description: Powerpack response metadata. + LogQueryDefinitionGroupBySort: + description: Define a sorting method. properties: - pagination: - $ref: '#/components/schemas/PowerpacksResponseMetaPagination' + aggregation: + description: The aggregation method. + example: avg + type: string + facet: + description: Facet name. + example: '@string_query.interval' + type: string + order: + $ref: '#/components/schemas/WidgetSort' + required: + - aggregation + - order type: object - DashboardType: - description: The type of the dashboard. + WidgetFormulaCellDisplayModeOptionsTrendType: + description: Trend type for the cell display mode options. enum: - - custom_timeboard - - custom_screenboard - - integration_screenboard - - integration_timeboard - - host_timeboard - example: host_timeboard + - area + - line + - bars + example: area type: string x-enum-varnames: - - CUSTOM_TIMEBOARD - - CUSTOM_SCREENBOARD - - INTEGRATION_SCREENBOARD - - INTEGRATION_TIMEBOARD - - HOST_TIMEBOARD - Creator: - description: Creator of the object. + - AREA + - LINE + - BARS + WidgetFormulaCellDisplayModeOptionsYScale: + description: Y scale for the cell display mode options. + enum: + - shared + - independent + example: shared + type: string + x-enum-varnames: + - SHARED + - INDEPENDENT + QuerySortOrderV1: + default: desc + description: Direction of sort. + enum: + - asc + - desc + example: asc + type: string + x-enum-varnames: + - ASC + - DESC + NumberFormatUnit: + description: Number format unit. properties: - email: - description: Email of the creator. + per_unit_name: + description: The name of the unit per item. + example: bytes type: string - handle: - description: Handle of the creator. + type: + $ref: '#/components/schemas/NumberFormatUnitScaleType' + unit_name: + description: The name of the unit. + example: bytes type: string - name: - description: Name of the creator. - nullable: true + label: + description: The label for the custom unit. + maxLength: 12 + minLength: 1 type: string type: object - PowerpackAttributes: - description: Powerpack attribute object. + NumberFormatUnitScale: + description: The definition of `NumberFormatUnitScale` object. + nullable: true properties: - description: - description: Description of this powerpack. - example: Powerpack for ABC + type: + $ref: '#/components/schemas/NumberFormatUnitScaleType' + unit_name: + description: The name of the unit. + example: bytes type: string - group_widget: - $ref: '#/components/schemas/PowerpackGroupWidget' - name: - description: Name of the powerpack. - example: Sample Powerpack + type: object + FormulaAndFunctionEventQueryDefinitionCompute: + description: Compute options. + properties: + aggregation: + $ref: '#/components/schemas/FormulaAndFunctionEventAggregation' + interval: + description: A time interval in milliseconds. + example: 60000 + format: int64 + type: integer + metric: + description: Measurable attribute to compute. + example: '@duration' type: string - tags: - description: List of tags to identify this powerpack. + required: + - aggregation + type: object + FormulaAndFunctionEventsDataSource: + description: Data source for event platform-based queries. + enum: + - logs + - spans + - network + - rum + - security_signals + - profiles + - audit + - events + - ci_tests + - ci_pipelines + - incident_analytics + - product_analytics + - on_call_events + - errors + - llm_observability + example: logs + type: string + x-enum-varnames: + - LOGS + - SPANS + - NETWORK + - RUM + - SECURITY_SIGNALS + - PROFILES + - AUDIT + - EVENTS + - CI_TESTS + - CI_PIPELINES + - INCIDENT_ANALYTICS + - PRODUCT_ANALYTICS + - ON_CALL_EVENTS + - ERRORS + - LLM_OBSERVABILITY + FormulaAndFunctionEventQueryGroupByConfig: + description: Group by configuration for a formula and functions events query. Accepts either a list of facet objects or a flat object that specifies a list of facet fields. + items: + $ref: '#/components/schemas/FormulaAndFunctionEventQueryGroupBy' + type: array + properties: + fields: + description: List of event facets to group by. example: - - tag:foo1 + - hostname + - service items: - maxLength: 80 + description: Event facet. type: string - maxItems: 8 - type: array - template_variables: - description: List of template variables for this powerpack. - example: - - defaults: - - '*' - name: test - items: - $ref: '#/components/schemas/PowerpackTemplateVariable' type: array + limit: + description: Number of groups to return. + example: 10 + format: int64 + type: integer + sort: + $ref: '#/components/schemas/FormulaAndFunctionEventQueryGroupBySort' required: - - group_widget - - name - type: object - PowerpackRelationships: - description: Powerpack relationship object. + - fields + FormulaAndFunctionEventQueryDefinitionSearch: + description: Search options. properties: - author: - $ref: '#/components/schemas/RelationshipToUser' + query: + description: Events search string. + example: service:query + type: string + required: + - query type: object - UserAttributes: - description: Attributes of user object returned by the API. + FormulaAndFunctionProcessQueryDataSource: + description: Data sources that rely on the process backend. + enum: + - process + - container + example: process + type: string + x-enum-varnames: + - PROCESS + - CONTAINER + FormulaAndFunctionApmDependencyStatsDataSource: + description: Data source for APM dependency stats queries. + enum: + - apm_dependency_stats + example: apm_dependency_stats + type: string + x-enum-varnames: + - APM_DEPENDENCY_STATS + FormulaAndFunctionApmDependencyStatName: + description: APM statistic. + enum: + - avg_duration + - avg_root_duration + - avg_spans_per_trace + - error_rate + - pct_exec_time + - pct_of_traces + - total_traces_count + example: avg_duration + type: string + x-enum-varnames: + - AVG_DURATION + - AVG_ROOT_DURATION + - AVG_SPANS_PER_TRACE + - ERROR_RATE + - PCT_EXEC_TIME + - PCT_OF_TRACES + - TOTAL_TRACES_COUNT + FormulaAndFunctionApmResourceStatsDataSource: + description: Data source for APM resource stats queries. + enum: + - apm_resource_stats + example: apm_resource_stats + type: string + x-enum-varnames: + - APM_RESOURCE_STATS + FormulaAndFunctionApmResourceStatName: + description: APM resource stat name. + enum: + - errors + - error_rate + - hits + - latency_avg + - latency_distribution + - latency_max + - latency_p50 + - latency_p75 + - latency_p90 + - latency_p95 + - latency_p99 + example: hits + type: string + x-enum-varnames: + - ERRORS + - ERROR_RATE + - HITS + - LATENCY_AVG + - LATENCY_DISTRIBUTION + - LATENCY_MAX + - LATENCY_P50 + - LATENCY_P75 + - LATENCY_P90 + - LATENCY_P95 + - LATENCY_P99 + FormulaAndFunctionApmMetricsDataSource: + description: Data source for APM metrics queries. + enum: + - apm_metrics + example: apm_metrics + type: string + x-enum-varnames: + - APM_METRICS + FormulaAndFunctionApmMetricsSpanKind: + description: Describes the relationship between the span, its parents, and its children in a trace. + enum: + - consumer + - server + - client + - producer + - internal + example: server + type: string + x-enum-varnames: + - CONSUMER + - SERVER + - CLIENT + - PRODUCER + - INTERNAL + FormulaAndFunctionApmMetricStatName: + description: APM metric stat name. + enum: + - errors + - error_rate + - errors_per_second + - latency_avg + - latency_max + - latency_p50 + - latency_p75 + - latency_p90 + - latency_p95 + - latency_p99 + - latency_p999 + - latency_distribution + - hits + - hits_per_second + - total_time + - apdex + example: hits + type: string + x-enum-varnames: + - ERRORS + - ERROR_RATE + - ERRORS_PER_SECOND + - LATENCY_AVG + - LATENCY_MAX + - LATENCY_P50 + - LATENCY_P75 + - LATENCY_P90 + - LATENCY_P95 + - LATENCY_P99 + - LATENCY_P999 + - LATENCY_DISTRIBUTION + - HITS + - HITS_PER_SECOND + - TOTAL_TIME + - APDEX + FormulaAndFunctionSLODataSource: + description: Data source for SLO measures queries. + enum: + - slo + example: slo + type: string + x-enum-varnames: + - SLO + FormulaAndFunctionSLOGroupMode: + description: Group mode to query measures. + enum: + - overall + - components + example: overall + type: string + x-enum-varnames: + - OVERALL + - COMPONENTS + FormulaAndFunctionSLOMeasure: + description: SLO measures queries. + enum: + - good_events + - bad_events + - good_minutes + - bad_minutes + - slo_status + - error_budget_remaining + - burn_rate + - error_budget_burndown + example: slo_status + type: string + x-enum-varnames: + - GOOD_EVENTS + - BAD_EVENTS + - GOOD_MINUTES + - BAD_MINUTES + - SLO_STATUS + - ERROR_BUDGET_REMAINING + - BURN_RATE + - ERROR_BUDGET_BURNDOWN + FormulaAndFunctionSLOQueryType: + description: Name of the query for use in formulas. + enum: + - metric + - monitor + - time_slice + example: metric + type: string + x-enum-varnames: + - METRIC + - MONITOR + - TIME_SLICE + FormulaAndFunctionCloudCostDataSource: + description: Data source for Cloud Cost queries. + enum: + - cloud_cost + example: cloud_cost + type: string + x-enum-varnames: + - CLOUD_COST + ProductAnalyticsAudienceFiltersV1: + description: Product Analytics/RUM audience filters. properties: - created_at: - description: Creation time of the user. - format: date-time + accounts: + items: + $ref: '#/components/schemas/ProductAnalyticsAudienceAccountSubqueryV1' + type: array + filter_condition: + description: An optional filter condition applied to the audience subquery. type: string - disabled: - description: Whether the user is disabled. - type: boolean - email: - description: Email of the user. + segments: + items: + $ref: '#/components/schemas/ProductAnalyticsAudienceSegmentSubqueryV1' + type: array + users: + items: + $ref: '#/components/schemas/ProductAnalyticsAudienceUserSubqueryV1' + type: array + type: object + ProductAnalyticsExtendedCompute: + additionalProperties: false + description: Compute configuration for Product Analytics Extended queries. + properties: + aggregation: + $ref: '#/components/schemas/FormulaAndFunctionEventAggregation' + interval: + description: Fixed-width time bucket interval in milliseconds for time series queries. Mutually exclusive with `rollup`. + example: 60000 + format: double + type: number + metric: + description: Measurable attribute to compute. + example: '@usr.id' type: string - handle: - description: Handle of the user. + name: + description: Name of the compute for use in formulas. + example: query1 type: string - icon: - description: URL of the user's icon. + rollup: + $ref: '#/components/schemas/CalendarInterval' + description: Calendar-aligned time bucket for time series queries (for example, day, week, or month boundaries). Mutually exclusive with `interval`. + required: + - aggregation + type: object + FormulaAndFunctionProductAnalyticsExtendedDataSource: + description: Data source for Product Analytics Extended queries. + enum: + - product_analytics_extended + example: product_analytics_extended + type: string + x-enum-varnames: + - PRODUCT_ANALYTICS_EXTENDED + ProductAnalyticsExtendedGroupBy: + description: Group by configuration for Product Analytics Extended queries. + properties: + facet: + description: Facet name to group by. + example: '@geo.country' type: string - mfa_enabled: - description: If user has MFA enabled. - readOnly: true + limit: + description: Maximum number of groups to return. + example: 10 + format: int32 + maximum: 10000 + type: integer + should_exclude_missing: + description: Whether to exclude events missing the group-by facet. type: boolean - modified_at: - description: Time that the user was last modified. - format: date-time - type: string - name: - description: Name of the user. - nullable: true + sort: + $ref: '#/components/schemas/FormulaAndFunctionEventQueryGroupBySort' + required: + - facet + type: object + FormulaAndFunctionProductAnalyticsExtendedQueryDefinitionIndexesItems: + description: Use `"*"` to query all indexes. + enum: + - '*' + type: string + x-enum-varnames: + - ALL + ProductAnalyticsBaseQueryV1: + $ref: '#/components/schemas/ProductAnalyticsEventQueryV1' + description: Base query for Product Analytics. + UserJourneyFormulaCompute: + additionalProperties: false + description: Compute configuration for User Journey formula queries. + properties: + aggregation: + $ref: '#/components/schemas/FormulaAndFunctionEventAggregation' + interval: + description: Time bucket interval in milliseconds for time series queries. + example: 60000 + format: double + type: number + metric: + $ref: '#/components/schemas/UserJourneyFormulaComputeMetric' + target: + $ref: '#/components/schemas/UserJourneySearchTarget' + required: + - aggregation + type: object + UserJourneyFormulaGroupBy: + description: Group by configuration for User Journey formula queries. + properties: + facet: + description: Facet name to group by. + example: '@usr.email' type: string - service_account: - description: Whether the user is a service account. + limit: + description: Maximum number of groups to return. + example: 10 + format: int32 + maximum: 10000 + type: integer + should_exclude_missing: + description: Whether to exclude events missing the group-by facet. type: boolean - status: - description: Status of the user. - type: string - title: - description: Title of the user. - nullable: true + sort: + $ref: '#/components/schemas/FormulaAndFunctionEventQueryGroupBySort' + target: + $ref: '#/components/schemas/UserJourneySearchTarget' + required: + - facet + type: object + WidgetFormulaSort: + description: The formula to sort the widget by. + properties: + index: + description: The index of the formula to sort by. + example: 0 + format: int64 + minimum: 0 + type: integer + order: + $ref: '#/components/schemas/WidgetSort' + type: + $ref: '#/components/schemas/FormulaType' + required: + - type + - index + - order + type: object + WidgetGroupSort: + description: The group to sort the widget by. + properties: + name: + description: The name of the group. + example: group_name type: string - verified: - description: Whether the user is verified. - type: boolean + order: + $ref: '#/components/schemas/WidgetSort' + type: + $ref: '#/components/schemas/GroupType' + required: + - type + - name + - order type: object - UserResponseRelationships: - description: Relationships of the user object returned by the API. + BarChartWidgetLegend: + description: Bar chart widget stacked legend behavior. + enum: + - automatic + - inline + - none + example: automatic + type: string + x-enum-varnames: + - AUTOMATIC + - INLINE + - NONE + BarChartWidgetStackedType: + default: stacked + description: Bar chart widget stacked display type. + enum: + - stacked + example: stacked + type: string + x-enum-varnames: + - STACKED + BarChartWidgetFlatType: + default: flat + description: Bar chart widget flat display type. + enum: + - flat + example: flat + type: string + x-enum-varnames: + - FLAT + EventsAggregationV1: + description: The type of aggregation that can be performed on events-based queries. + example: avg + enum: + - avg + - cardinality + - count + - delta + - earliest + - latest + - max + - median + - min + - most_frequent + - sum + type: string + x-enum-varnames: + - AVG + - CARDINALITY + - COUNT + - DELTA + - EARLIEST + - LATEST + - MAX + - MEDIAN + - MIN + - MOST_FREQUENT + - SUM + pattern: ^pc[0-9]+(\.[0-9]+)?$ + RetentionComputeMetric: + description: Metric for retention compute. + enum: + - __dd.retention + - __dd.retention_rate + example: __dd.retention_rate + type: string + x-enum-varnames: + - RETENTION + - RETENTION_RATE + RetentionGroupBySort: + additionalProperties: false + description: Sort configuration for retention group by. properties: - org: - $ref: '#/components/schemas/RelationshipToOrganization' - other_orgs: - $ref: '#/components/schemas/RelationshipToOrganizations' - other_users: - $ref: '#/components/schemas/RelationshipToUsers' - roles: - $ref: '#/components/schemas/RelationshipToRoles' + order: + $ref: '#/components/schemas/WidgetSort' type: object - UsersType: - default: users - description: Users resource type. + RetentionGroupByTarget: + description: Target for retention group by. enum: - - users - example: users + - cohort + - return_period + example: cohort type: string x-enum-varnames: - - USERS - PowerpacksResponseMetaPagination: - description: Powerpack response pagination metadata. + - COHORT + - RETURN_PERIOD + RetentionCohortCriteria: + additionalProperties: false + description: Cohort criteria for retention queries. + properties: + base_query: + $ref: '#/components/schemas/ProductAnalyticsBaseQueryV1' + time_interval: + $ref: '#/components/schemas/RetentionCohortCriteriaTimeInterval' + required: + - base_query + - time_interval + type: object + RetentionEntity: + description: Entity to track for retention. + enum: + - '@usr.id' + - '@account.id' + example: '@usr.id' + type: string + x-enum-varnames: + - USER_ID + - ACCOUNT_ID + RetentionReturnCondition: + description: Condition for counting user return. + enum: + - conversion_on + - conversion_on_or_after + example: conversion_on_or_after + type: string + x-enum-varnames: + - CONVERSION_ON + - CONVERSION_ON_OR_AFTER + RetentionReturnCriteria: + additionalProperties: false + description: Return criteria for retention queries. + properties: + base_query: + $ref: '#/components/schemas/ProductAnalyticsBaseQueryV1' + time_interval: + $ref: '#/components/schemas/RetentionReturnCriteriaTimeInterval' + required: + - base_query + type: object + ProductAnalyticsFunnelComputeAggregation: + description: Aggregation type for user journey funnel compute. + enum: + - cardinality + - count + example: count + type: string + x-enum-varnames: + - CARDINALITY + - COUNT + ProductAnalyticsFunnelComputeMetric: + description: Metric for user journey funnel compute. `__dd.conversion` and `__dd.conversion_rate` accept `count` (unique users/sessions) and `cardinality` (total users/sessions) as aggregations. + enum: + - __dd.conversion + - __dd.conversion_rate + example: __dd.conversion_rate + type: string + x-enum-varnames: + - CONVERSION + - CONVERSION_RATE + ProductAnalyticsFunnelGroupBySort: + additionalProperties: false + description: Sort configuration for user journey funnel group by. properties: - first_offset: - description: The first offset. - format: int64 - type: integer - last_offset: - description: The last offset. - format: int64 - nullable: true - type: integer - limit: - description: Pagination limit. - format: int64 - type: integer - next_offset: - description: The next offset. - format: int64 - type: integer - offset: - description: The offset. - format: int64 - type: integer - prev_offset: - description: The previous offset. - format: int64 - type: integer - total: - description: Total results. - format: int64 - type: integer - type: - description: Offset type. + aggregation: + description: Aggregation type. + example: count type: string + metric: + description: Metric to sort by. + example: '@session.id' + type: string + order: + $ref: '#/components/schemas/WidgetSort' + required: + - aggregation type: object - PowerpackGroupWidget: - description: Powerpack group widget definition object. + UserJourneySearchTarget: + description: Target for user journey search. properties: - definition: - $ref: '#/components/schemas/PowerpackGroupWidgetDefinition' - layout: - $ref: '#/components/schemas/PowerpackGroupWidgetLayout' - live_span: - $ref: '#/components/schemas/WidgetLiveSpan' + end: + description: End value. + example: node_1 + type: string + start: + description: Start value. + example: node_0 + type: string + type: + description: Target type. + example: step + type: string + value: + description: Target value. + example: node_0 + type: string required: - - definition + - type type: object - PowerpackTemplateVariable: - description: Powerpack template variables. + UserJourneySearchFilters: + description: Filters for user journey search. properties: - available_values: - description: >- - The list of values that the template variable drop-down is limited - to. - example: - - my-host - - host1 - - host2 + audience_filters: + $ref: '#/components/schemas/ProductAnalyticsAudienceFiltersV1' + graph_filters: + description: Graph filters. items: - description: Template variable value. - type: string - nullable: true + $ref: '#/components/schemas/UserJourneySearchGraphFilter' + description: A graph filter for user journey search. type: array - defaults: - description: >- - One or many template variable default values within the saved view, - which are unioned together using `OR` if more than one is specified. + string_filter: + description: String filter. + example: '@session.type:user' + type: string + type: object + UserJourneyJoinKeys: + description: Join keys for user journey queries. + properties: + primary: + description: Primary join key. + example: '@session.id' + type: string + secondary: + description: Secondary join keys. items: - description: One or many default values of the template variable. - minLength: 1 + description: A secondary join key. type: string type: array - name: - description: The name of the variable. - example: datacenter - type: string - prefix: - description: >- - The tag prefix associated with the variable. Only tags with this - prefix appear in the variable drop-down. - example: host - nullable: true + required: + - primary + type: object + ListStreamComputeAggregation: + description: Aggregation value. + enum: + - count + - cardinality + - median + - pc75 + - pc90 + - pc95 + - pc98 + - pc99 + - sum + - min + - max + - avg + - earliest + - latest + - most_frequent + example: count + type: string + x-enum-varnames: + - COUNT + - CARDINALITY + - MEDIAN + - PC75 + - PC90 + - PC95 + - PC98 + - PC99 + - SUM + - MIN + - MAX + - AVG + - EARLIEST + - LATEST + - MOST_FREQUENT + TableWidgetTextFormatMatchType: + description: Match or compare option. + enum: + - is + - is_not + - contains + - does_not_contain + - starts_with + - ends_with + example: is + type: string + x-enum-varnames: + - IS + - IS_NOT + - CONTAINS + - DOES_NOT_CONTAIN + - STARTS_WITH + - ENDS_WITH + TableWidgetTextFormatReplaceAll: + description: Match All definition. + example: + type: all + with: vegetable + properties: + type: + $ref: '#/components/schemas/TableWidgetTextFormatReplaceAllType' + with: + description: Replace All type. + example: all type: string required: - - name + - type + - with type: object - RelationshipToUser: - description: Relationship to user. + TableWidgetTextFormatReplaceSubstring: + description: Match Sub-string definition. + example: + substring: fruit + type: substring + with: vegetable properties: - data: - $ref: '#/components/schemas/RelationshipToUserData' + substring: + description: Text that will be replaced. + example: string to replace + type: string + type: + $ref: '#/components/schemas/TableWidgetTextFormatReplaceSubstringType' + with: + description: Text that will replace original sub-string. + example: replacement + type: string required: - - data + - type + - with + - substring type: object - RelationshipToOrganization: - description: Relationship to an organization. + HostMapWidgetDimension: + description: Visual dimension for the host map widget. Used both by infrastructure-backed formulas and by DDSQL projection columns; `group` is only meaningful for DDSQL projection columns, where repeated entries define the grouping hierarchy. + enum: + - node + - fill + - size + - group + example: node + type: string + x-enum-varnames: + - NODE + - FILL + - SIZE + - GROUP + DatasetListQuerySortField: + description: A single sort directive for a `DatasetListQuery`. properties: - data: - $ref: '#/components/schemas/RelationshipToOrganizationData' + name: + description: Name of the field to sort on. + example: duration + type: string + order: + $ref: '#/components/schemas/QuerySortOrderV1' required: - - data + - name + - order type: object - RelationshipToOrganizations: - description: Relationship to organizations. + PointPlotDimension: + description: Dimension of the point plot. + enum: + - group + - time + - 'y' + - radius + example: 'y' + type: string + x-enum-varnames: + - GROUP + - TIME + - 'Y' + - RADIUS + ComparisonCustomTimeframe: + description: Fixed time range for a `custom_timeframe` comparison. properties: - data: - description: Relationships to organization objects. - example: [] - items: - $ref: '#/components/schemas/RelationshipToOrganizationData' - type: array + from: + description: Start time in milliseconds since epoch. + example: 1779290190000 + format: int64 + type: integer + to: + description: End time in milliseconds since epoch. + example: 1779894990000 + format: int64 + type: integer required: - - data + - from + - to type: object - RelationshipToUsers: - description: Relationship to users. + ComparisonDurationType: + description: The comparison window type. + enum: + - previous_timeframe + - custom_timeframe + - previous_day + - previous_week + - previous_month + example: previous_timeframe + type: string + x-enum-varnames: + - PREVIOUS_TIMEFRAME + - CUSTOM_TIMEFRAME + - PREVIOUS_DAY + - PREVIOUS_WEEK + - PREVIOUS_MONTH + ScatterplotDimension: + description: Dimension of the Scatterplot. + enum: + - x + - 'y' + - radius + - color + example: radius + type: string + x-enum-varnames: + - X + - 'Y' + - RADIUS + - COLOR + SankeyRumDataSource: + default: product_analytics + description: Product Analytics or RUM data source type. + enum: + - rum + - product_analytics + example: product_analytics + type: string + x-enum-varnames: + - RUM + - PRODUCT_ANALYTICS + SankeyJoinKeys: + additionalProperties: false + description: Join keys. properties: - data: - description: Relationships to user objects. - example: [] + primary: + description: Primary join key. + example: session.id + type: string + secondary: + description: Secondary join keys. items: - $ref: '#/components/schemas/RelationshipToUserData' + description: Secondary join key. + type: string type: array required: - - data + - primary type: object - RelationshipToRoles: - description: Relationship to roles. + SankeyRumQueryMode: + default: source + description: Sankey mode for Product Analytics or RUM queries. + enum: + - source + - target + example: source + type: string + x-enum-varnames: + - SOURCE + - TARGET + ProductAnalyticsAudienceOccurrenceFilter: + description: Filter applied to occurrence counts when building a Product Analytics audience. properties: - data: - description: An array containing type and the unique identifier of a role. - items: - $ref: '#/components/schemas/RelationshipToRoleData' - type: array + operator: + description: 'The comparison operator used for the occurrence filter (for example: `gt`, `lt`, `eq`).' + type: string + value: + description: The threshold value to compare occurrence counts against. + type: string type: object - PowerpackGroupWidgetDefinition: - description: Powerpack group widget object. + SankeyNetworkQueryCompute: + additionalProperties: false + description: Compute aggregation for network queries. properties: - layout_type: - description: Layout type of widgets. - example: ordered + aggregation: + $ref: '#/components/schemas/EventsAggregationV1' + metric: + description: Metric to aggregate. + example: '' type: string - show_title: - description: >- - Boolean indicating whether powerpack group title should be visible - or not. - example: true - type: boolean - title: - description: Name for the group widget. - example: Sample Powerpack + required: + - aggregation + - metric + type: object + SankeyNetworkDataSource: + default: network + description: Network data source type. + enum: + - network_device_flows + - network + example: network + type: string + x-enum-varnames: + - NETWORK_DEVICE_FLOWS + - NETWORK + SankeyNetworkQueryMode: + default: target + description: Sankey mode for network queries. + enum: + - target + example: target + type: string + x-enum-varnames: + - TARGET + SankeyNetworkQuerySort: + description: Sort configuration for network queries. + properties: + field: + description: Field to sort by. + type: string + order: + $ref: '#/components/schemas/WidgetSort' + type: object + ToplistWidgetLegend: + description: Top list widget stacked legend behavior. + enum: + - automatic + - inline + - none + example: automatic + type: string + x-enum-varnames: + - AUTOMATIC + - INLINE + - NONE + ToplistWidgetStackedType: + default: stacked + description: Top list widget stacked display type. + enum: + - stacked + example: stacked + type: string + x-enum-varnames: + - STACKED + ToplistWidgetFlatType: + default: flat + description: Top list widget flat display type. + enum: + - flat + example: flat + type: string + x-enum-varnames: + - FLAT + TopologyQueryDataStreamsDataSource: + description: Name of the data source. + enum: + - data_streams + example: data_streams + type: string + x-enum-varnames: + - DATA_STREAMS + TopologyQueryServiceMapDataSource: + description: Name of the data source. + enum: + - service_map + example: service_map + type: string + x-enum-varnames: + - SERVICE_MAP + NotebookMarkdownCellDefinitionType: + default: markdown + description: Type of the markdown cell. + enum: + - markdown + example: markdown + type: string + x-enum-varnames: + - MARKDOWN + NumberFormatUnitCanonical: + description: Canonical unit. + properties: + per_unit_name: + description: The name of the unit per item. + example: bytes type: string type: - description: Type of widget, must be group. - example: group + $ref: '#/components/schemas/NumberFormatUnitScaleType' + unit_name: + description: The name of the unit. + example: bytes type: string - widgets: - description: Widgets inside the powerpack. + type: object + NumberFormatUnitCustom: + description: Custom unit. + properties: + label: + description: The label for the custom unit. + maxLength: 12 + minLength: 1 + type: string + type: + $ref: '#/components/schemas/NumberFormatUnitCustomType' + type: object + NumberFormatUnitScaleType: + description: The type of unit scale. + enum: + - canonical_unit + example: canonical_unit + type: string + x-enum-varnames: + - CANONICAL_UNIT + FormulaAndFunctionEventAggregation: + description: Aggregation methods for event platform queries. + enum: + - count + - cardinality + - median + - pc75 + - pc90 + - pc95 + - pc98 + - pc99 + - sum + - min + - max + - avg + example: avg + type: string + x-enum-varnames: + - COUNT + - CARDINALITY + - MEDIAN + - PC75 + - PC90 + - PC95 + - PC98 + - PC99 + - SUM + - MIN + - MAX + - AVG + FormulaAndFunctionEventQueryGroupByList: + description: List of objects used to group by. + items: + $ref: '#/components/schemas/FormulaAndFunctionEventQueryGroupBy' + type: array + FormulaAndFunctionEventQueryGroupByFields: + description: Flat group by configuration using multiple event facet fields. + properties: + fields: + description: List of event facets to group by. example: - - definition: - content: example - type: note - layout: - height: 5 - width: 10 - x: 0 - 'y': 0 + - hostname + - service items: - $ref: '#/components/schemas/PowerpackInnerWidgets' + description: Event facet. + type: string type: array + limit: + description: Number of groups to return. + example: 10 + format: int64 + type: integer + sort: + $ref: '#/components/schemas/FormulaAndFunctionEventQueryGroupBySort' required: - - widgets - - layout_type - - type + - fields type: object - PowerpackGroupWidgetLayout: - description: Powerpack group widget layout. + ProductAnalyticsAudienceAccountSubqueryV1: + description: Product Analytics audience account subquery. properties: - height: - description: The height of the widget. Should be a non-negative integer. - example: 0 - format: int64 - minimum: 0 - type: integer - width: - description: The width of the widget. Should be a non-negative integer. - example: 0 - format: int64 - minimum: 0 - type: integer - x: - description: >- - The position of the widget on the x (horizontal) axis. Should be a - non-negative integer. - example: 0 - format: int64 - minimum: 0 - type: integer - 'y': - description: >- - The position of the widget on the y (vertical) axis. Should be a - non-negative integer. - example: 0 + name: + description: The name of the account subquery. + type: string + query: + description: The query string for the account subquery. + type: string + type: object + ProductAnalyticsAudienceSegmentSubqueryV1: + description: Product Analytics audience segment subquery. + properties: + name: + description: The name of the segment subquery. + type: string + segment_id: + description: The unique identifier of the segment. + type: string + type: object + ProductAnalyticsAudienceUserSubqueryV1: + description: Product Analytics audience user subquery. + properties: + name: + description: The name of the user subquery. + type: string + query: + description: The query string for the user subquery. + type: string + type: object + CalendarInterval: + additionalProperties: false + description: Calendar interval definition. + properties: + alignment: + description: Alignment of the interval. Valid values depend on the interval type. For `day`, use hours (for example, `1am`, `2pm`, or `14`). For `week`, use day names (for example, `monday`). For `month`, use day-of-month ordinals (for example, `1st`, `15th`). For `year` or `quarter`, use month names (for example, `january`). + example: monday + type: string + quantity: + description: Quantity of the interval. + example: 1 format: int64 - minimum: 0 type: integer + timezone: + description: Timezone for the interval. + example: UTC + type: string + type: + $ref: '#/components/schemas/CalendarIntervalType' required: - - x - - 'y' - - width - - height + - type type: object - WidgetLiveSpan: - description: The available timeframes depend on the widget you are using. + FormulaAndFunctionEventQueryGroupBySort: + description: Options for sorting group by results. + properties: + aggregation: + $ref: '#/components/schemas/FormulaAndFunctionEventAggregation' + metric: + description: Metric used for sorting group by results. + type: string + order: + $ref: '#/components/schemas/QuerySortOrderV1' + required: + - aggregation + type: object + ProductAnalyticsEventQueryV1: + additionalProperties: false + description: Product Analytics event query. + properties: + data_source: + $ref: '#/components/schemas/ProductAnalyticsEventDataSource' + search: + $ref: '#/components/schemas/ProductAnalyticsEventQuerySearch' + required: + - data_source + - search + type: object + UserJourneyFormulaComputeMetric: + description: Metric for User Journey formula compute. `__dd.conversion` and `__dd.conversion_rate` accept `count` and `cardinality` as aggregations. `__dd.time_to_convert` accepts `avg`, `median`, `pc75`, `pc95`, `pc98`, `pc99`, `min`, and `max`. enum: - - 1m - - 5m - - 10m - - 15m - - 30m - - 1h - - 4h - - 1d - - 2d - - 1w - - 1mo - - 3mo - - 6mo - - 1y - - alert - example: 5m + - __dd.conversion + - __dd.conversion_rate + - __dd.time_to_convert + example: __dd.conversion_rate type: string x-enum-varnames: - - PAST_ONE_MINUTE - - PAST_FIVE_MINUTES - - PAST_TEN_MINUTES - - PAST_FIFTEEN_MINUTES - - PAST_THIRTY_MINUTES - - PAST_ONE_HOUR - - PAST_FOUR_HOURS - - PAST_ONE_DAY - - PAST_TWO_DAYS - - PAST_ONE_WEEK - - PAST_ONE_MONTH - - PAST_THREE_MONTHS - - PAST_SIX_MONTHS - - PAST_ONE_YEAR - - ALERT - RelationshipToUserData: - description: Relationship to user object. + - CONVERSION + - CONVERSION_RATE + - TIME_TO_CONVERT + FormulaType: + description: Set the sort type to formula. + enum: + - formula + example: formula + type: string + x-enum-varnames: + - FORMULA + GroupType: + description: Set the sort type to group. + enum: + - group + example: group + type: string + x-enum-varnames: + - GROUP + EventsAggregationValue: + description: Standard aggregation types for events-based queries. + enum: + - avg + - cardinality + - count + - delta + - earliest + - latest + - max + - median + - min + - most_frequent + - sum + type: string + x-enum-varnames: + - AVG + - CARDINALITY + - COUNT + - DELTA + - EARLIEST + - LATEST + - MAX + - MEDIAN + - MIN + - MOST_FREQUENT + - SUM + EventsAggregationPercentile: + description: Percentile aggregation. + pattern: ^pc[0-9]+(\.[0-9]+)?$ + type: string + RetentionCohortCriteriaTimeInterval: + additionalProperties: false + description: Time interval for cohort criteria. properties: - id: - description: A unique identifier that represents the user. - example: 00000000-0000-0000-2345-000000000000 - type: string type: - $ref: '#/components/schemas/UsersType' + $ref: '#/components/schemas/RetentionCohortCriteriaTimeIntervalType' + value: + $ref: '#/components/schemas/CalendarInterval' required: - - id - type + - value type: object - RelationshipToOrganizationData: - description: Relationship to organization object. + RetentionReturnCriteriaTimeInterval: + additionalProperties: false + description: Time interval for return criteria. properties: - id: - description: ID of the organization. - example: 00000000-0000-beef-0000-000000000000 - type: string type: - $ref: '#/components/schemas/OrganizationsType' + $ref: '#/components/schemas/RetentionReturnCriteriaTimeIntervalType' + unit: + $ref: '#/components/schemas/RetentionReturnCriteriaTimeIntervalUnit' + value: + description: Value of the time interval. + example: 0 + format: double + type: number required: - - id - type + - value + - unit type: object - RelationshipToRoleData: - description: Relationship to role object. + UserJourneySearchGraphFilter: + description: Graph filter for user journey search. properties: - id: - description: The unique identifier of the role. - example: 3653d3c6-0c75-11ea-ad28-fb5701eabc7d + name: + description: Filter name. + example: count type: string - type: - $ref: '#/components/schemas/RolesType' + operator: + description: Filter operator. + example: gt + type: string + target: + $ref: '#/components/schemas/UserJourneySearchTarget' + value: + description: Filter value. + example: 1 + format: int64 + type: integer type: object - PowerpackInnerWidgets: - description: Powerpack group widget definition of individual widgets. + TableWidgetTextFormatReplaceAllType: + description: Table widget text format replace all type. + enum: + - all + example: all + type: string + x-enum-varnames: + - ALL + TableWidgetTextFormatReplaceSubstringType: + description: Table widget text format replace sub-string type. + enum: + - substring + example: substring + type: string + x-enum-varnames: + - SUBSTRING + NumberFormatUnitCustomType: + description: The type of custom unit. + enum: + - custom_unit_label + type: string + x-enum-varnames: + - CUSTOM_UNIT_LABEL + FormulaAndFunctionEventQueryGroupBy: + description: List of objects used to group by. properties: - definition: - additionalProperties: {} - description: Information about widget. - example: - definition: - content: example - type: note - type: object - layout: - $ref: '#/components/schemas/PowerpackInnerWidgetLayout' + facet: + description: Event facet. + example: status. + type: string + limit: + description: Number of groups to return. + example: 10 + format: int64 + type: integer + sort: + $ref: '#/components/schemas/FormulaAndFunctionEventQueryGroupBySort' required: - - definition + - facet type: object - OrganizationsType: - default: orgs - description: Organizations resource type. + CalendarIntervalType: + description: Type of calendar interval. enum: - - orgs - example: orgs + - day + - week + - month + - year + - quarter + - minute + - hour + example: week type: string x-enum-varnames: - - ORGS - RolesType: - default: roles - description: Roles type. + - DAY + - WEEK + - MONTH + - YEAR + - QUARTER + - MINUTE + - HOUR + ProductAnalyticsEventDataSource: + description: Data source for Product Analytics event queries. enum: - - roles - example: roles + - product_analytics + example: product_analytics type: string x-enum-varnames: - - ROLES - PowerpackInnerWidgetLayout: - description: Powerpack inner widget layout. + - PRODUCT_ANALYTICS + ProductAnalyticsEventQuerySearch: + additionalProperties: false + description: Search configuration for Product Analytics event query. properties: - height: - description: The height of the widget. Should be a non-negative integer. - example: 0 - format: int64 - minimum: 0 - type: integer - width: - description: The width of the widget. Should be a non-negative integer. - example: 0 - format: int64 - minimum: 0 - type: integer - x: - description: >- - The position of the widget on the x (horizontal) axis. Should be a - non-negative integer. - example: 0 - format: int64 - minimum: 0 - type: integer - 'y': - description: >- - The position of the widget on the y (vertical) axis. Should be a - non-negative integer. - example: 0 - format: int64 - minimum: 0 - type: integer + query: + description: RUM event search query used to filter views or actions. + example: '@type:view @view.name:/home' + type: string required: - - x - - 'y' - - width - - height + - query type: object + RetentionCohortCriteriaTimeIntervalType: + description: Type of time interval for cohort criteria. + enum: + - calendar + example: calendar + type: string + x-enum-varnames: + - CALENDAR + RetentionReturnCriteriaTimeIntervalType: + description: Type of time interval for return criteria. + enum: + - fixed + example: fixed + type: string + x-enum-varnames: + - FIXED + RetentionReturnCriteriaTimeIntervalUnit: + description: Unit of time for retention return criteria interval. + enum: + - day + - week + - month + example: day + type: string + x-enum-varnames: + - DAY + - WEEK + - MONTH responses: TooManyRequestsResponse: content: @@ -1180,7 +19731,86 @@ components: schema: $ref: '#/components/schemas/APIErrorResponse' description: Too many requests + BadRequestResponse: + content: + application/json: + schema: + $ref: '#/components/schemas/APIErrorResponse' + description: Bad Request + ForbiddenResponse: + content: + application/json: + schema: + $ref: '#/components/schemas/APIErrorResponse' + description: Forbidden + NotFoundResponse: + content: + application/json: + schema: + $ref: '#/components/schemas/APIErrorResponse' + description: Not Found parameters: + AnnotationStartTimeQueryParameter: + description: Start of the time window in milliseconds since the Unix epoch. + example: 1704067200000 + in: query + name: start_time + required: true + schema: + format: int64 + type: integer + AnnotationEndTimeQueryParameter: + description: End of the time window in milliseconds since the Unix epoch. + example: 1704153600000 + in: query + name: end_time + required: true + schema: + format: int64 + type: integer + AnnotationPageIDPathParameter: + description: |- + The ID of the page, prefixed with the page type and joined by a colon + (for example, `dashboard:abc-def-xyz` or `notebook:1234567890`). + example: dashboard:abc-def-xyz + in: path + name: page_id + required: true + schema: + type: string + AnnotationIDPathParameter: + description: The ID of the annotation. + example: 00000000-0000-0000-0000-000000000000 + in: path + name: annotation_id + required: true + schema: + format: uuid + type: string + SharedDashboardDashboardIDPathParameter: + description: ID of the dashboard. + in: path + name: dashboard_id + required: true + schema: + example: abc-def-ghi + type: string + DashboardIDPathParameter: + description: The ID of the dashboard. + example: abc-def-ghi + in: path + name: dashboard_id + required: true + schema: + type: string + SecureEmbedTokenPathParameter: + description: The share token identifying the secure embed. + example: s3cur3t0k3n-abcdef123456 + in: path + name: token + required: true + schema: + type: string PageOffset: description: Specific offset to use as the beginning of the returned page. in: query @@ -1192,6 +19822,81 @@ components: format: int64 type: integer x-stackQL-resources: + annotations: + id: datadog.dashboards.annotations + name: annotations + title: Annotations + methods: + list_annotations: + operation: + $ref: '#/paths/~1api~1v2~1annotation/get' + response: + mediaType: application/json + openAPIDocKey: '200' + objectKey: $.data + request: + nativeCasing: camel + create_annotation: + config: + requestBodyTranslate: + algorithm: naive + operation: + $ref: '#/paths/~1api~1v2~1annotation/post' + response: + mediaType: application/json + openAPIDocKey: '200' + request: + nativeCasing: camel + delete_annotation: + operation: + $ref: '#/paths/~1api~1v2~1annotation~1{annotation_id}/delete' + response: + mediaType: application/json + openAPIDocKey: '204' + request: + nativeCasing: camel + update_annotation: + config: + requestBodyTranslate: + algorithm: naive + operation: + $ref: '#/paths/~1api~1v2~1annotation~1{annotation_id}/put' + response: + mediaType: application/json + openAPIDocKey: '200' + request: + nativeCasing: camel + sqlVerbs: + select: + - $ref: '#/components/x-stackQL-resources/annotations/methods/list_annotations' + insert: + - $ref: '#/components/x-stackQL-resources/annotations/methods/create_annotation' + update: [] + delete: + - $ref: '#/components/x-stackQL-resources/annotations/methods/delete_annotation' + replace: + - $ref: '#/components/x-stackQL-resources/annotations/methods/update_annotation' + annotation_pages: + id: datadog.dashboards.annotation_pages + name: annotation_pages + title: Annotation Pages + methods: + get_page_annotations: + operation: + $ref: '#/paths/~1api~1v2~1annotation~1page~1{page_id}/get' + response: + mediaType: application/json + openAPIDocKey: '200' + objectKey: $.data + request: + nativeCasing: camel + sqlVerbs: + select: + - $ref: '#/components/x-stackQL-resources/annotation_pages/methods/get_page_annotations' + insert: [] + update: [] + delete: [] + replace: [] dashboard_list_items: id: datadog.dashboards.dashboard_list_items name: dashboard_list_items @@ -1199,47 +19904,207 @@ components: methods: delete_dashboard_list_items: operation: - $ref: >- - #/paths/~1api~1v2~1dashboard~1lists~1manual~1{dashboard_list_id}~1dashboards/delete + $ref: '#/paths/~1api~1v2~1dashboard~1lists~1manual~1{dashboard_list_id}~1dashboards/delete' + response: + mediaType: application/json + openAPIDocKey: '200' + request: + nativeCasing: camel + get_dashboard_list_items: + operation: + $ref: '#/paths/~1api~1v2~1dashboard~1lists~1manual~1{dashboard_list_id}~1dashboards/get' + response: + mediaType: application/json + openAPIDocKey: '200' + objectKey: $.dashboards + request: + nativeCasing: camel + create_dashboard_list_items: + config: + requestBodyTranslate: + algorithm: naive + operation: + $ref: '#/paths/~1api~1v2~1dashboard~1lists~1manual~1{dashboard_list_id}~1dashboards/post' + response: + mediaType: application/json + openAPIDocKey: '200' + request: + nativeCasing: camel + update_dashboard_list_items: + config: + requestBodyTranslate: + algorithm: naive + operation: + $ref: '#/paths/~1api~1v2~1dashboard~1lists~1manual~1{dashboard_list_id}~1dashboards/put' + response: + mediaType: application/json + openAPIDocKey: '200' + request: + nativeCasing: camel + sqlVerbs: + select: + - $ref: '#/components/x-stackQL-resources/dashboard_list_items/methods/get_dashboard_list_items' + insert: + - $ref: '#/components/x-stackQL-resources/dashboard_list_items/methods/create_dashboard_list_items' + update: [] + delete: + - $ref: '#/components/x-stackQL-resources/dashboard_list_items/methods/delete_dashboard_list_items' + replace: + - $ref: '#/components/x-stackQL-resources/dashboard_list_items/methods/update_dashboard_list_items' + shared_dashboards: + id: datadog.dashboards.shared_dashboards + name: shared_dashboards + title: Shared Dashboards + methods: + list_shared_dashboards_by_dashboard_id: + operation: + $ref: '#/paths/~1api~1v2~1dashboard~1{dashboard_id}~1shared/get' response: mediaType: application/json openAPIDocKey: '200' - get_dashboard_list_items: + objectKey: $.data + request: + nativeCasing: camel + create_public_dashboard: + config: + requestBodyTranslate: + algorithm: naive operation: - $ref: >- - #/paths/~1api~1v2~1dashboard~1lists~1manual~1{dashboard_list_id}~1dashboards/get + $ref: '#/paths/~1api~1v1~1dashboard~1public/post' response: mediaType: application/json openAPIDocKey: '200' - objectKey: $.dashboards - create_dashboard_list_items: + request: + nativeCasing: camel + delete_public_dashboard: operation: - $ref: >- - #/paths/~1api~1v2~1dashboard~1lists~1manual~1{dashboard_list_id}~1dashboards/post + $ref: '#/paths/~1api~1v1~1dashboard~1public~1{token}/delete' response: mediaType: application/json openAPIDocKey: '200' - update_dashboard_list_items: + request: + nativeCasing: camel + get_public_dashboard: + operation: + $ref: '#/paths/~1api~1v1~1dashboard~1public~1{token}/get' + response: + mediaType: application/json + openAPIDocKey: '200' + request: + nativeCasing: camel + update_public_dashboard: + config: + requestBodyTranslate: + algorithm: naive operation: - $ref: >- - #/paths/~1api~1v2~1dashboard~1lists~1manual~1{dashboard_list_id}~1dashboards/put + $ref: '#/paths/~1api~1v1~1dashboard~1public~1{token}/put' response: mediaType: application/json openAPIDocKey: '200' + request: + nativeCasing: camel sqlVerbs: select: - - $ref: >- - #/components/x-stackQL-resources/dashboard_list_items/methods/get_dashboard_list_items + - $ref: '#/components/x-stackQL-resources/shared_dashboards/methods/list_shared_dashboards_by_dashboard_id' + - $ref: '#/components/x-stackQL-resources/shared_dashboards/methods/get_public_dashboard' insert: - - $ref: >- - #/components/x-stackQL-resources/dashboard_list_items/methods/create_dashboard_list_items + - $ref: '#/components/x-stackQL-resources/shared_dashboards/methods/create_public_dashboard' update: [] delete: - - $ref: >- - #/components/x-stackQL-resources/dashboard_list_items/methods/delete_dashboard_list_items + - $ref: '#/components/x-stackQL-resources/shared_dashboards/methods/delete_public_dashboard' replace: - - $ref: >- - #/components/x-stackQL-resources/dashboard_list_items/methods/update_dashboard_list_items + - $ref: '#/components/x-stackQL-resources/shared_dashboards/methods/update_public_dashboard' + shared_secure_embeds: + id: datadog.dashboards.shared_secure_embeds + name: shared_secure_embeds + title: Shared Secure Embeds + methods: + create_dashboard_secure_embed: + config: + requestBodyTranslate: + algorithm: naive + operation: + $ref: '#/paths/~1api~1v2~1dashboard~1{dashboard_id}~1shared~1secure-embed/post' + response: + mediaType: application/json + openAPIDocKey: '200' + request: + nativeCasing: camel + delete_dashboard_secure_embed: + operation: + $ref: '#/paths/~1api~1v2~1dashboard~1{dashboard_id}~1shared~1secure-embed~1{token}/delete' + response: + mediaType: application/json + openAPIDocKey: '204' + request: + nativeCasing: camel + get_dashboard_secure_embed: + operation: + $ref: '#/paths/~1api~1v2~1dashboard~1{dashboard_id}~1shared~1secure-embed~1{token}/get' + response: + mediaType: application/json + openAPIDocKey: '200' + objectKey: $.data + request: + nativeCasing: camel + update_dashboard_secure_embed: + config: + requestBodyTranslate: + algorithm: naive + operation: + $ref: '#/paths/~1api~1v2~1dashboard~1{dashboard_id}~1shared~1secure-embed~1{token}/patch' + response: + mediaType: application/json + openAPIDocKey: '200' + request: + nativeCasing: camel + sqlVerbs: + select: + - $ref: '#/components/x-stackQL-resources/shared_secure_embeds/methods/get_dashboard_secure_embed' + insert: + - $ref: '#/components/x-stackQL-resources/shared_secure_embeds/methods/create_dashboard_secure_embed' + update: + - $ref: '#/components/x-stackQL-resources/shared_secure_embeds/methods/update_dashboard_secure_embed' + delete: + - $ref: '#/components/x-stackQL-resources/shared_secure_embeds/methods/delete_dashboard_secure_embed' + replace: [] + dashboard_usage: + id: datadog.dashboards.dashboard_usage + name: dashboard_usage + title: Dashboard Usage + methods: + list_dashboards_usage: + operation: + $ref: '#/paths/~1api~1v2~1dashboards~1usage/get' + response: + mediaType: application/json + openAPIDocKey: '200' + objectKey: $.data + request: + nativeCasing: camel + config: + queryParamPushdown: + top: + paramName: page[limit] + skip: + paramName: page[offset] + get_dashboard_usage: + operation: + $ref: '#/paths/~1api~1v2~1dashboards~1{dashboard_id}~1usage/get' + response: + mediaType: application/json + openAPIDocKey: '200' + objectKey: $.data + request: + nativeCasing: camel + sqlVerbs: + select: + - $ref: '#/components/x-stackQL-resources/dashboard_usage/methods/get_dashboard_usage' + - $ref: '#/components/x-stackQL-resources/dashboard_usage/methods/list_dashboards_usage' + insert: [] + update: [] + delete: [] + replace: [] powerpacks: id: datadog.dashboards.powerpacks name: powerpacks @@ -1252,18 +20117,34 @@ components: mediaType: application/json openAPIDocKey: '200' objectKey: $.data + request: + nativeCasing: camel + config: + queryParamPushdown: + top: + paramName: page[limit] + maxValue: 1000 + skip: + paramName: page[offset] create_powerpack: + config: + requestBodyTranslate: + algorithm: naive operation: $ref: '#/paths/~1api~1v2~1powerpacks/post' response: mediaType: application/json openAPIDocKey: '200' + request: + nativeCasing: camel delete_powerpack: operation: $ref: '#/paths/~1api~1v2~1powerpacks~1{powerpack_id}/delete' response: mediaType: application/json openAPIDocKey: '204' + request: + nativeCasing: camel get_powerpack: operation: $ref: '#/paths/~1api~1v2~1powerpacks~1{powerpack_id}/get' @@ -1271,30 +20152,538 @@ components: mediaType: application/json openAPIDocKey: '200' objectKey: $.data + request: + nativeCasing: camel update_powerpack: + config: + requestBodyTranslate: + algorithm: naive operation: $ref: '#/paths/~1api~1v2~1powerpacks~1{powerpack_id}/patch' response: mediaType: application/json openAPIDocKey: '200' + request: + nativeCasing: camel sqlVerbs: select: - $ref: '#/components/x-stackQL-resources/powerpacks/methods/get_powerpack' - - $ref: >- - #/components/x-stackQL-resources/powerpacks/methods/list_powerpacks + - $ref: '#/components/x-stackQL-resources/powerpacks/methods/list_powerpacks' + insert: + - $ref: '#/components/x-stackQL-resources/powerpacks/methods/create_powerpack' + update: + - $ref: '#/components/x-stackQL-resources/powerpacks/methods/update_powerpack' + delete: + - $ref: '#/components/x-stackQL-resources/powerpacks/methods/delete_powerpack' + replace: [] + report_dataset_schedules: + id: datadog.dashboards.report_dataset_schedules + name: report_dataset_schedules + title: Report Dataset Schedules + methods: + list_dataset_report_schedules: + operation: + $ref: '#/paths/~1api~1v2~1reporting~1dataset~1{dataset_id}~1schedules/get' + response: + mediaType: application/json + openAPIDocKey: '200' + objectKey: $.data + request: + nativeCasing: camel + sqlVerbs: + select: + - $ref: '#/components/x-stackQL-resources/report_dataset_schedules/methods/list_dataset_report_schedules' + insert: [] + update: [] + delete: [] + replace: [] + reports: + id: datadog.dashboards.reports + name: reports + title: Reports + methods: + print_report: + config: + requestBodyTranslate: + algorithm: naive + operation: + $ref: '#/paths/~1api~1v2~1reporting~1print/post' + response: + mediaType: application/json + openAPIDocKey: '200' + request: + nativeCasing: camel + sqlVerbs: + select: [] + insert: [] + update: [] + delete: [] + replace: [] + report_schedules: + id: datadog.dashboards.report_schedules + name: report_schedules + title: Report Schedules + methods: + create_report_schedule: + config: + requestBodyTranslate: + algorithm: naive + operation: + $ref: '#/paths/~1api~1v2~1reporting~1schedule/post' + response: + mediaType: application/json + openAPIDocKey: '201' + request: + nativeCasing: camel + list_report_schedules: + operation: + $ref: '#/paths/~1api~1v2~1reporting~1schedule~1list/get' + response: + mediaType: application/json + openAPIDocKey: '200' + objectKey: $.data + request: + nativeCasing: camel + config: + queryParamPushdown: + top: + paramName: page[limit] + maxValue: 50 + skip: + paramName: page[offset] + get_report_schedules_for_resource: + operation: + $ref: '#/paths/~1api~1v2~1reporting~1schedule~1{resource_type}~1{resource_id}/get' + response: + mediaType: application/json + openAPIDocKey: '200' + objectKey: $.data + request: + nativeCasing: camel + delete_report_schedule: + operation: + $ref: '#/paths/~1api~1v2~1reporting~1schedule~1{schedule_uuid}/delete' + response: + mediaType: application/json + openAPIDocKey: '200' + request: + nativeCasing: camel + get_report_schedule: + operation: + $ref: '#/paths/~1api~1v2~1reporting~1schedule~1{schedule_uuid}/get' + response: + mediaType: application/json + openAPIDocKey: '200' + objectKey: $.data + request: + nativeCasing: camel + patch_report_schedule: + config: + requestBodyTranslate: + algorithm: naive + operation: + $ref: '#/paths/~1api~1v2~1reporting~1schedule~1{schedule_uuid}/patch' + response: + mediaType: application/json + openAPIDocKey: '200' + request: + nativeCasing: camel + toggle_report_schedule: + config: + requestBodyTranslate: + algorithm: naive + operation: + $ref: '#/paths/~1api~1v2~1reporting~1schedule~1{schedule_uuid}~1toggle/patch' + response: + mediaType: application/json + openAPIDocKey: '200' + request: + nativeCasing: camel + sqlVerbs: + select: + - $ref: '#/components/x-stackQL-resources/report_schedules/methods/get_report_schedules_for_resource' + - $ref: '#/components/x-stackQL-resources/report_schedules/methods/get_report_schedule' + - $ref: '#/components/x-stackQL-resources/report_schedules/methods/list_report_schedules' + insert: + - $ref: '#/components/x-stackQL-resources/report_schedules/methods/create_report_schedule' + update: + - $ref: '#/components/x-stackQL-resources/report_schedules/methods/patch_report_schedule' + delete: + - $ref: '#/components/x-stackQL-resources/report_schedules/methods/delete_report_schedule' + replace: [] + graph_snapshots: + id: datadog.dashboards.graph_snapshots + name: graph_snapshots + title: Graph Snapshots + methods: + create_snapshot: + config: + requestBodyTranslate: + algorithm: naive + operation: + $ref: '#/paths/~1api~1v2~1snapshot/post' + response: + mediaType: application/json + openAPIDocKey: '200' + request: + nativeCasing: camel + get_graph_snapshot: + operation: + $ref: '#/paths/~1api~1v1~1graph~1snapshot/get' + response: + mediaType: application/json + openAPIDocKey: '200' + request: + nativeCasing: camel + sqlVerbs: + select: + - $ref: '#/components/x-stackQL-resources/graph_snapshots/methods/get_graph_snapshot' + insert: [] + update: [] + delete: [] + replace: [] + widgets: + id: datadog.dashboards.widgets + name: widgets + title: Widgets + methods: + search_widgets: + operation: + $ref: '#/paths/~1api~1v2~1widgets~1{experience_type}/get' + response: + mediaType: application/json + openAPIDocKey: '200' + objectKey: $.data + request: + nativeCasing: camel + config: + queryParamPushdown: + top: + paramName: page[size] + maxValue: 100 + create_widget: + config: + requestBodyTranslate: + algorithm: naive + operation: + $ref: '#/paths/~1api~1v2~1widgets~1{experience_type}/post' + response: + mediaType: application/json + openAPIDocKey: '200' + request: + nativeCasing: camel + delete_widget: + operation: + $ref: '#/paths/~1api~1v2~1widgets~1{experience_type}~1{uuid}/delete' + response: + mediaType: application/json + openAPIDocKey: '204' + request: + nativeCasing: camel + get_widget: + operation: + $ref: '#/paths/~1api~1v2~1widgets~1{experience_type}~1{uuid}/get' + response: + mediaType: application/json + openAPIDocKey: '200' + objectKey: $.data + request: + nativeCasing: camel + update_widget: + config: + requestBodyTranslate: + algorithm: naive + operation: + $ref: '#/paths/~1api~1v2~1widgets~1{experience_type}~1{uuid}/put' + response: + mediaType: application/json + openAPIDocKey: '200' + request: + nativeCasing: camel + sqlVerbs: + select: + - $ref: '#/components/x-stackQL-resources/widgets/methods/get_widget' + - $ref: '#/components/x-stackQL-resources/widgets/methods/search_widgets' + insert: + - $ref: '#/components/x-stackQL-resources/widgets/methods/create_widget' + update: [] + delete: + - $ref: '#/components/x-stackQL-resources/widgets/methods/delete_widget' + replace: + - $ref: '#/components/x-stackQL-resources/widgets/methods/update_widget' + dashboards: + id: datadog.dashboards.dashboards + name: dashboards + title: Dashboards + methods: + delete_dashboards: + operation: + $ref: '#/paths/~1api~1v1~1dashboard/delete' + response: + mediaType: application/json + openAPIDocKey: '204' + request: + nativeCasing: camel + list_dashboards: + operation: + $ref: '#/paths/~1api~1v1~1dashboard/get' + response: + mediaType: application/json + openAPIDocKey: '200' + objectKey: $.dashboards + request: + nativeCasing: camel + config: + queryParamPushdown: + top: + paramName: count + skip: + paramName: start + restore_dashboards: + config: + requestBodyTranslate: + algorithm: naive + operation: + $ref: '#/paths/~1api~1v1~1dashboard/patch' + response: + mediaType: application/json + openAPIDocKey: '204' + request: + nativeCasing: camel + create_dashboard: + config: + requestBodyTranslate: + algorithm: naive + operation: + $ref: '#/paths/~1api~1v1~1dashboard/post' + response: + mediaType: application/json + openAPIDocKey: '200' + request: + nativeCasing: camel + delete_dashboard: + operation: + $ref: '#/paths/~1api~1v1~1dashboard~1{dashboard_id}/delete' + response: + mediaType: application/json + openAPIDocKey: '200' + request: + nativeCasing: camel + get_dashboard: + operation: + $ref: '#/paths/~1api~1v1~1dashboard~1{dashboard_id}/get' + response: + mediaType: application/json + openAPIDocKey: '200' + request: + nativeCasing: camel + update_dashboard: + config: + requestBodyTranslate: + algorithm: naive + operation: + $ref: '#/paths/~1api~1v1~1dashboard~1{dashboard_id}/put' + response: + mediaType: application/json + openAPIDocKey: '200' + request: + nativeCasing: camel + sqlVerbs: + select: + - $ref: '#/components/x-stackQL-resources/dashboards/methods/get_dashboard' + - $ref: '#/components/x-stackQL-resources/dashboards/methods/list_dashboards' insert: - - $ref: >- - #/components/x-stackQL-resources/powerpacks/methods/create_powerpack + - $ref: '#/components/x-stackQL-resources/dashboards/methods/create_dashboard' update: - - $ref: >- - #/components/x-stackQL-resources/powerpacks/methods/update_powerpack + - $ref: '#/components/x-stackQL-resources/dashboards/methods/restore_dashboards' + delete: + - $ref: '#/components/x-stackQL-resources/dashboards/methods/delete_dashboard' + - $ref: '#/components/x-stackQL-resources/dashboards/methods/delete_dashboards' + replace: + - $ref: '#/components/x-stackQL-resources/dashboards/methods/update_dashboard' + dashboard_lists: + id: datadog.dashboards.dashboard_lists + name: dashboard_lists + title: Dashboard Lists + methods: + list_dashboard_lists: + operation: + $ref: '#/paths/~1api~1v1~1dashboard~1lists~1manual/get' + response: + mediaType: application/json + openAPIDocKey: '200' + objectKey: $.dashboard_lists + request: + nativeCasing: camel + create_dashboard_list: + config: + requestBodyTranslate: + algorithm: naive + operation: + $ref: '#/paths/~1api~1v1~1dashboard~1lists~1manual/post' + response: + mediaType: application/json + openAPIDocKey: '200' + request: + nativeCasing: camel + delete_dashboard_list: + operation: + $ref: '#/paths/~1api~1v1~1dashboard~1lists~1manual~1{list_id}/delete' + response: + mediaType: application/json + openAPIDocKey: '200' + request: + nativeCasing: camel + get_dashboard_list: + operation: + $ref: '#/paths/~1api~1v1~1dashboard~1lists~1manual~1{list_id}/get' + response: + mediaType: application/json + openAPIDocKey: '200' + request: + nativeCasing: camel + update_dashboard_list: + config: + requestBodyTranslate: + algorithm: naive + operation: + $ref: '#/paths/~1api~1v1~1dashboard~1lists~1manual~1{list_id}/put' + response: + mediaType: application/json + openAPIDocKey: '200' + request: + nativeCasing: camel + sqlVerbs: + select: + - $ref: '#/components/x-stackQL-resources/dashboard_lists/methods/get_dashboard_list' + - $ref: '#/components/x-stackQL-resources/dashboard_lists/methods/list_dashboard_lists' + insert: + - $ref: '#/components/x-stackQL-resources/dashboard_lists/methods/create_dashboard_list' + update: [] + delete: + - $ref: '#/components/x-stackQL-resources/dashboard_lists/methods/delete_dashboard_list' + replace: + - $ref: '#/components/x-stackQL-resources/dashboard_lists/methods/update_dashboard_list' + shared_dashboard_invitations: + id: datadog.dashboards.shared_dashboard_invitations + name: shared_dashboard_invitations + title: Shared Dashboard Invitations + methods: + delete_public_dashboard_invitation: + operation: + $ref: '#/paths/~1api~1v1~1dashboard~1public~1{token}~1invitation/delete' + response: + mediaType: application/json + openAPIDocKey: '204' + request: + nativeCasing: camel + get_public_dashboard_invitations: + operation: + $ref: '#/paths/~1api~1v1~1dashboard~1public~1{token}~1invitation/get' + response: + mediaType: application/json + openAPIDocKey: '200' + objectKey: $.data + request: + nativeCasing: camel + config: + queryParamPushdown: + top: + paramName: page_size + send_public_dashboard_invitation: + config: + requestBodyTranslate: + algorithm: naive + operation: + $ref: '#/paths/~1api~1v1~1dashboard~1public~1{token}~1invitation/post' + response: + mediaType: application/json + openAPIDocKey: '201' + request: + nativeCasing: camel + sqlVerbs: + select: + - $ref: '#/components/x-stackQL-resources/shared_dashboard_invitations/methods/get_public_dashboard_invitations' + insert: + - $ref: '#/components/x-stackQL-resources/shared_dashboard_invitations/methods/send_public_dashboard_invitation' + update: [] delete: - - $ref: >- - #/components/x-stackQL-resources/powerpacks/methods/delete_powerpack + - $ref: '#/components/x-stackQL-resources/shared_dashboard_invitations/methods/delete_public_dashboard_invitation' replace: [] + notebooks: + id: datadog.dashboards.notebooks + name: notebooks + title: Notebooks + methods: + list_notebooks: + operation: + $ref: '#/paths/~1api~1v1~1notebooks/get' + response: + mediaType: application/json + openAPIDocKey: '200' + objectKey: $.data + request: + nativeCasing: camel + config: + queryParamPushdown: + top: + paramName: count + skip: + paramName: start + create_notebook: + config: + requestBodyTranslate: + algorithm: naive + operation: + $ref: '#/paths/~1api~1v1~1notebooks/post' + response: + mediaType: application/json + openAPIDocKey: '200' + request: + nativeCasing: camel + delete_notebook: + operation: + $ref: '#/paths/~1api~1v1~1notebooks~1{notebook_id}/delete' + response: + mediaType: application/json + openAPIDocKey: '204' + request: + nativeCasing: camel + get_notebook: + operation: + $ref: '#/paths/~1api~1v1~1notebooks~1{notebook_id}/get' + response: + mediaType: application/json + openAPIDocKey: '200' + objectKey: $.data + request: + nativeCasing: camel + update_notebook: + config: + requestBodyTranslate: + algorithm: naive + operation: + $ref: '#/paths/~1api~1v1~1notebooks~1{notebook_id}/put' + response: + mediaType: application/json + openAPIDocKey: '200' + request: + nativeCasing: camel + sqlVerbs: + select: + - $ref: '#/components/x-stackQL-resources/notebooks/methods/get_notebook' + - $ref: '#/components/x-stackQL-resources/notebooks/methods/list_notebooks' + insert: + - $ref: '#/components/x-stackQL-resources/notebooks/methods/create_notebook' + update: [] + delete: + - $ref: '#/components/x-stackQL-resources/notebooks/methods/delete_notebook' + replace: + - $ref: '#/components/x-stackQL-resources/notebooks/methods/update_notebook' servers: - - url: >- - https://{region:^(?:[^\:/]+(?:\:[0-9]+)?|[0-9]+\.[0-9]+\.[0-9]+\.[0-9]+(?:\:[0-9]+)?)$}/ + - url: https://api.{site:.+} variables: - region: + site: default: datadoghq.com + description: The Datadog site (region) for your organization, for example datadoghq.com, us3.datadoghq.com, us5.datadoghq.com, ap1.datadoghq.com, ap2.datadoghq.com, datadoghq.eu, ddog-gov.com. Resolved from the DD_SITE environment variable when set. + x-stackQL-envVar: DD_SITE diff --git a/providers/src/datadog/v00.00.00000/services/digital_experience.yaml b/providers/src/datadog/v00.00.00000/services/digital_experience.yaml index 6db6ec58..06826193 100644 --- a/providers/src/datadog/v00.00.00000/services/digital_experience.yaml +++ b/providers/src/datadog/v00.00.00000/services/digital_experience.yaml @@ -4,24 +4,330 @@ info: description: datadog digital_experience API version: '1.0' paths: - /api/v2/rum/analytics/aggregate: + /api/v2/prodlytics: post: - description: >- - The API endpoint to aggregate RUM events into buckets of computed - metrics and timeseries. - operationId: AggregateRUMEvents + description: |- + Send server-side events to Product Analytics. Server-side events are retained for 15 months. + + Server-Side events in Product Analytics are helpful for tracking events that occur on the server, + as opposed to client-side events, which are captured by Real User Monitoring (RUM) SDKs. + This allows for a more comprehensive view of the user journey by including actions that happen on the server. + Typical examples could be `checkout.completed` or `payment.processed`. + + Ingested server-side events are integrated into Product Analytics to allow users to select and filter + these events in the event picker, similar to how views or actions are handled. + + **Requirements:** + - At least one of `usr`, `account`, or `session` must be provided with a valid ID. + - The `application.id` must reference a Product Analytics-enabled application. + + **Custom Attributes:** + Any additional fields in the payload are flattened and searchable as facets. + For example, a payload with `{"customer": {"tier": "premium"}}` is searchable with + the syntax `@customer.tier:premium` in Datadog. + + The status codes answered by the HTTP API are: + - 202: Accepted: The request has been accepted for processing + - 400: Bad request (likely an issue in the payload formatting) + - 401: Unauthorized (likely a missing API Key) + - 403: Permission issue (likely using an invalid API Key) + - 408: Request Timeout, request should be retried after some time + - 413: Payload too large (batch is above 5MB uncompressed) + - 429: Too Many Requests, request should be retried after some time + - 500: Internal Server Error, the server encountered an unexpected condition that prevented it from fulfilling the request, request should be retried after some time + - 503: Service Unavailable, the server is not ready to handle the request probably because it is overloaded, request should be retried after some time + operationId: SubmitProductAnalyticsEvent requestBody: content: application/json: + examples: + default: + value: + application: + id: 123abcde-123a-123b-1234-123456789abc + event: + name: payment.processed + type: server + usr: + id: '123' + event-with-account: + description: Send a server-side event linked to an account. + summary: Event with account ID + value: + account: + id: account-456 + application: + id: 123abcde-123a-123b-1234-123456789abc + event: + name: checkout.completed + type: server + event-with-custom-attributes: + description: Send a server-side event with additional custom attributes. + summary: Event with custom attributes + value: + application: + id: 123abcde-123a-123b-1234-123456789abc + customer: + tier: premium + event: + name: payment.processed + type: server + usr: + id: '123' + event-with-session: + description: Send a server-side event linked to a session. + summary: Event with session ID + value: + application: + id: 123abcde-123a-123b-1234-123456789abc + event: + name: form.submitted + session: + id: session-789 + type: server + simple-event-with-user: + description: Send a server-side event linked to a user. + summary: Simple event with user ID + value: + application: + id: 123abcde-123a-123b-1234-123456789abc + event: + name: payment.processed + type: server + usr: + id: '123' schema: - $ref: '#/components/schemas/RUMAggregateRequest' + $ref: '#/components/schemas/ProductAnalyticsServerSideEventItem' + description: Server-side event to send (JSON format). + required: true + responses: + '202': + content: + application/json: + examples: + default: + value: {} + schema: + type: string + description: (opaque JSON object) + description: Request accepted for processing (always 202 empty JSON). + '400': + content: + application/json: + schema: + $ref: '#/components/schemas/ProductAnalyticsServerSideEventErrors' + description: Bad Request + '401': + content: + application/json: + schema: + $ref: '#/components/schemas/ProductAnalyticsServerSideEventErrors' + description: Unauthorized + '403': + content: + application/json: + schema: + $ref: '#/components/schemas/ProductAnalyticsServerSideEventErrors' + description: Forbidden + '408': + content: + application/json: + schema: + $ref: '#/components/schemas/ProductAnalyticsServerSideEventErrors' + description: Request Timeout + '413': + content: + application/json: + schema: + $ref: '#/components/schemas/ProductAnalyticsServerSideEventErrors' + description: Payload Too Large + '429': + content: + application/json: + schema: + $ref: '#/components/schemas/ProductAnalyticsServerSideEventErrors' + description: Too Many Requests + '500': + content: + application/json: + schema: + $ref: '#/components/schemas/ProductAnalyticsServerSideEventErrors' + description: Internal Server Error + '503': + content: + application/json: + schema: + $ref: '#/components/schemas/ProductAnalyticsServerSideEventErrors' + description: Service Unavailable + security: + - apiKeyAuth: [] + summary: Send server-side events + tags: + - Product Analytics + x-codegen-request-body-name: body + servers: + - url: https://{site:.+} + variables: + site: + default: browser-intake-datadoghq.com + description: The intake domain for the regional site. + /api/v2/product-analytics/accounts/facet_info: + post: + description: Get facet information for account attributes including possible values and counts + operationId: GetAccountFacetInfo + requestBody: + content: + application/json: + examples: + default: + value: + data: + attributes: + facet_id: first_browser_name + limit: 10 + search: + query: user_org_id:5001 AND first_country_code:US + term_search: + value: Chrome + id: facet_info_request + type: users_facet_info_request + schema: + $ref: '#/components/schemas/FacetInfoRequest' required: true responses: '200': content: application/json: + examples: + default: + value: + data: + attributes: + result: + values: + - count: 4892 + value: Chrome + id: facet_info_response + type: users_facet_info schema: - $ref: '#/components/schemas/RUMAnalyticsAggregateResponse' + $ref: '#/components/schemas/FacetInfoResponse' + description: Successful response with facet information + '429': + $ref: '#/components/responses/TooManyRequestsResponse' + security: + - apiKeyAuth: [] + appKeyAuth: [] + - AuthZ: [] + summary: Get account facet info + tags: + - Rum Audience Management + x-unstable: '**Note**: This endpoint may be subject to changes.' + /api/v2/product-analytics/accounts/query: + post: + description: Query accounts with flexible filtering by account properties + operationId: QueryAccounts + requestBody: + content: + application/json: + examples: + default: + value: + data: + attributes: + limit: 20 + query: plan_type:enterprise AND user_count:>100 AND subscription_status:active + select_columns: + - account_id + - account_name + - user_count + - plan_type + - subscription_status + - created_at + - mrr + - industry + sort: + field: user_count + order: DESC + wildcard_search_term: tech + id: query_account_request + type: query_account_request + schema: + $ref: '#/components/schemas/QueryAccountRequest' + required: true + responses: + '200': + content: + application/json: + examples: + default: + value: + data: + attributes: + hits: + - account_id: '123' + account_name: Example Account + plan_type: enterprise + user_count: 150 + total: 1 + id: query_response + type: query_response + schema: + $ref: '#/components/schemas/QueryResponse' + description: Successful response with account data + '429': + $ref: '#/components/responses/TooManyRequestsResponse' + security: + - apiKeyAuth: [] + appKeyAuth: [] + - AuthZ: [] + summary: Query accounts + tags: + - Rum Audience Management + x-unstable: '**Note**: This endpoint may be subject to changes.' + /api/v2/product-analytics/analytics/list: + post: + description: |- + List the individual event records matching an analytics query. + Use `columns` to choose the attributes returned on each row, `sort` to order the rows, + and `limit` to cap how many are returned. + operationId: QueryProductAnalyticsList + requestBody: + content: + application/json: + examples: + default: + value: + data: + attributes: + from: 1771232048460 + query: + columns: + - '@view.name' + limit: 100 + query: + data_source: product_analytics + search: + query: '@type:view' + to: 1771836848262 + type: formula_analytics_extended_list_request + schema: + $ref: '#/components/schemas/ProductAnalyticsAnalyticsListRequest' + required: true + responses: + '200': + content: + application/json: + examples: + default: + value: + data: + attributes: + records: [] + total_count: 0 + id: abc-123 + type: list_response + schema: + $ref: '#/components/schemas/ProductAnalyticsAnalyticsListResponse' description: OK '400': $ref: '#/components/responses/BadRequestResponse' @@ -29,1961 +335,14997 @@ paths: $ref: '#/components/responses/NotAuthorizedResponse' '429': $ref: '#/components/responses/TooManyRequestsResponse' - summary: Aggregate RUM events + summary: List analytics events tags: - - RUM + - Product Analytics x-codegen-request-body-name: body x-permission: operator: OR permissions: - rum_apps_read - /api/v2/rum/applications: - get: - description: List all the RUM applications in your organization. - operationId: GetRUMApplications + x-unstable: |- + **Note**: This endpoint is in preview and is subject to change. + If you have any feedback, contact [Datadog support](https://docs.datadoghq.com/help/). + /api/v2/product-analytics/analytics/scalar: + post: + description: |- + Compute scalar analytics results for Product Analytics data. + Returns aggregated values (counts, averages, percentiles) optionally grouped by facets. + operationId: QueryProductAnalyticsScalar + requestBody: + content: + application/json: + examples: + default: + value: + data: + attributes: + from: 1771232048460 + query: + compute: + aggregation: count + query: + data_source: product_analytics + search: + query: '@type:view' + to: 1771836848262 + type: formula_analytics_extended_request + schema: + $ref: '#/components/schemas/ProductAnalyticsAnalyticsRequest' + required: true responses: '200': content: application/json: + examples: + default: + value: + data: + attributes: + columns: [] + id: abc-123 + type: scalar_response schema: - $ref: '#/components/schemas/RUMApplicationsResponse' + $ref: '#/components/schemas/ProductAnalyticsScalarResponse' description: OK - '404': - $ref: '#/components/responses/NotFoundResponse' + '400': + $ref: '#/components/responses/BadRequestResponse' + '403': + $ref: '#/components/responses/NotAuthorizedResponse' '429': $ref: '#/components/responses/TooManyRequestsResponse' - summary: List all the RUM applications + summary: Compute scalar analytics tags: - - RUM + - Product Analytics + x-codegen-request-body-name: body x-permission: operator: OR permissions: - rum_apps_read + /api/v2/product-analytics/analytics/timeseries: post: - description: Create a new RUM application in your organization. - operationId: CreateRUMApplication + description: |- + Compute timeseries analytics results for Product Analytics data. + Returns time-bucketed values for charts and trend analysis. + The `compute.interval` field (milliseconds) is required for time bucketing. + operationId: QueryProductAnalyticsTimeseries requestBody: content: application/json: + examples: + default: + value: + data: + attributes: + from: 1771232048460 + query: + compute: + aggregation: count + query: + data_source: product_analytics + search: + query: '@type:view' + to: 1771836848262 + type: formula_analytics_extended_request schema: - $ref: '#/components/schemas/RUMApplicationCreateRequest' + $ref: '#/components/schemas/ProductAnalyticsAnalyticsRequest' required: true responses: '200': content: application/json: + examples: + default: + value: + data: + attributes: + series: [] + times: [] + id: abc-123 + type: timeseries_response schema: - $ref: '#/components/schemas/RUMApplicationResponse' + $ref: '#/components/schemas/ProductAnalyticsTimeseriesResponse' description: OK '400': $ref: '#/components/responses/BadRequestResponse' + '403': + $ref: '#/components/responses/NotAuthorizedResponse' '429': $ref: '#/components/responses/TooManyRequestsResponse' - summary: Create a new RUM application + summary: Compute timeseries analytics tags: - - RUM + - Product Analytics x-codegen-request-body-name: body x-permission: operator: OR permissions: - - rum_apps_write - /api/v2/rum/applications/{app_id}/relationships/retention_filters: - patch: - description: >- - Order RUM retention filters for a RUM application. - - Returns RUM retention filter objects without attributes from the request - body when the request is successful. - operationId: OrderRetentionFilters - parameters: - - $ref: '#/components/parameters/RumApplicationIDParameter' + - rum_apps_read + /api/v2/product-analytics/journey/funnel: + post: + description: |- + Compute a funnel over an ordered sequence of Product Analytics events. + Returns the per-step conversion counts, conversion rates, and elapsed times, + optionally segmented by group-by facets. + operationId: QueryProductAnalyticsJourneyFunnel requestBody: content: application/json: + examples: + default: + value: + data: + attributes: + from: 1756425600000 + query: + compute: + aggregation: count + search: + expression: A -> B + node_objects: + A: + data_source: product_analytics + search: + query: '@type:view @view.name:Login' + B: + data_source: product_analytics + search: + query: '@type:action @action.target.name:Submit' + to: 1756857600000 + type: journey_request schema: - $ref: '#/components/schemas/RumRetentionFiltersOrderRequest' - description: New definition of the RUM retention filter. + $ref: '#/components/schemas/ProductAnalyticsJourneyFunnelRequest' required: true responses: '200': content: application/json: + examples: + default: + value: + data: + attributes: + end_to_end_conversion_rate: 0.42 + end_to_end_elapsed_time: + avg: 9400 + max: 86400 + min: 1200 + funnel_steps: + - elapsed_time_to_next_step: + avg: 5100 + max: 42000 + min: 900 + groups: [] + label: A + unit: millisecond + value: 1200 + initial_count: 1200 + id: 00000000-0000-0000-0000-000000000000 + type: funnel_response schema: - $ref: '#/components/schemas/RumRetentionFiltersOrderResponse' - description: Ordered + $ref: '#/components/schemas/ProductAnalyticsJourneyFunnelResponse' + description: OK '400': $ref: '#/components/responses/BadRequestResponse' '403': $ref: '#/components/responses/NotAuthorizedResponse' '429': $ref: '#/components/responses/TooManyRequestsResponse' - summary: Order RUM retention filters + summary: Compute journey funnel analysis tags: - - Rum Retention Filters + - Product Analytics x-codegen-request-body-name: body - /api/v2/rum/applications/{app_id}/retention_filters: - get: - description: Get the list of RUM retention filters for a RUM application. - operationId: ListRetentionFilters - parameters: - - $ref: '#/components/parameters/RumApplicationIDParameter' + x-permission: + operator: OR + permissions: + - rum_apps_read + x-unstable: |- + **Note**: This endpoint is in preview and is subject to change. + If you have any feedback, contact [Datadog support](https://docs.datadoghq.com/help/). + /api/v2/product-analytics/journey/list: + post: + description: |- + Return the individual sessions that reached, or dropped off at, a given step of the journey. + Each row contains the identity join key, the event timestamp, and the columns requested + in `entity_columns`. + operationId: QueryProductAnalyticsJourneyList + requestBody: + content: + application/json: + examples: + default: + value: + data: + attributes: + from: 1756425600000 + query: + entity_columns: + - '@usr.name' + limit: 50 + search: + expression: A -> B + node_objects: + A: + data_source: product_analytics + search: + query: '@type:view @view.name:Login' + B: + data_source: product_analytics + search: + query: '@type:action @action.target.name:Submit' + to: 1756857600000 + type: journey_list_request + schema: + $ref: '#/components/schemas/ProductAnalyticsJourneyListRequest' + required: true responses: '200': content: application/json: + examples: + default: + value: + data: + attributes: + entity: session + records: + - '@session.id': 00000000-0000-0000-0000-000000000001 + '@usr.name': Jane Doe + timestamp: 1756425600000 + total_count: 231 + id: 00000000-0000-0000-0000-000000000000 + type: journey_list_response schema: - $ref: '#/components/schemas/RumRetentionFiltersResponse' + $ref: '#/components/schemas/ProductAnalyticsJourneyListResponse' description: OK + '400': + $ref: '#/components/responses/BadRequestResponse' '403': $ref: '#/components/responses/NotAuthorizedResponse' '429': $ref: '#/components/responses/TooManyRequestsResponse' - summary: Get all RUM retention filters + summary: List journey entities tags: - - Rum Retention Filters + - Product Analytics + x-codegen-request-body-name: body + x-permission: + operator: OR + permissions: + - rum_apps_read + x-unstable: |- + **Note**: This endpoint is in preview and is subject to change. + If you have any feedback, contact [Datadog support](https://docs.datadoghq.com/help/). + /api/v2/product-analytics/journey/scalar: post: - description: >- - Create a RUM retention filter for a RUM application. - - Returns RUM retention filter objects from the request body when the - request is successful. - operationId: CreateRetentionFilter - parameters: - - $ref: '#/components/parameters/RumApplicationIDParameter' + description: |- + Compute scalar results for a journey query, such as the conversion count, + the conversion rate, or the time to convert, optionally segmented by group-by facets. + operationId: QueryProductAnalyticsJourneyScalar requestBody: content: application/json: + examples: + default: + value: + data: + attributes: + from: 1756425600000 + query: + compute: + aggregation: count + metric: __dd.conversion_rate + search: + expression: A -> B + node_objects: + A: + data_source: product_analytics + search: + query: '@type:view @view.name:Login' + B: + data_source: product_analytics + search: + query: '@type:action @action.target.name:Submit' + to: 1756857600000 + type: formula_journey_request schema: - $ref: '#/components/schemas/RumRetentionFilterCreateRequest' - description: The definition of the new RUM retention filter. + $ref: '#/components/schemas/ProductAnalyticsJourneyScalarRequest' required: true responses: - '201': + '200': content: application/json: + examples: + default: + value: + data: + attributes: + columns: [] + id: 00000000-0000-0000-0000-000000000000 + type: journey_scalar_response schema: - $ref: '#/components/schemas/RumRetentionFilterResponse' - description: Created + $ref: '#/components/schemas/ProductAnalyticsJourneyScalarResponse' + description: OK '400': $ref: '#/components/responses/BadRequestResponse' '403': $ref: '#/components/responses/NotAuthorizedResponse' '429': $ref: '#/components/responses/TooManyRequestsResponse' - summary: Create a RUM retention filter + summary: Compute journey scalar analytics tags: - - Rum Retention Filters + - Product Analytics x-codegen-request-body-name: body - /api/v2/rum/applications/{app_id}/retention_filters/{rf_id}: - delete: - description: Delete a RUM retention filter for a RUM application. - operationId: DeleteRetentionFilter - parameters: - - $ref: '#/components/parameters/RumApplicationIDParameter' - - $ref: '#/components/parameters/RumRetentionFilterIDParameter' + x-permission: + operator: OR + permissions: + - rum_apps_read + x-unstable: |- + **Note**: This endpoint is in preview and is subject to change. + If you have any feedback, contact [Datadog support](https://docs.datadoghq.com/help/). + /api/v2/product-analytics/journey/timeseries: + post: + description: |- + Compute timeseries results for a journey query. + Returns one series per group-by combination, bucketed by the requested interval. + operationId: QueryProductAnalyticsJourneyTimeseries + requestBody: + content: + application/json: + examples: + default: + value: + data: + attributes: + from: 1756425600000 + interval: 3600000 + query: + compute: + aggregation: count + search: + expression: A -> B + node_objects: + A: + data_source: product_analytics + search: + query: '@type:view @view.name:Login' + B: + data_source: product_analytics + search: + query: '@type:action @action.target.name:Submit' + to: 1756857600000 + type: formula_journey_request + schema: + $ref: '#/components/schemas/ProductAnalyticsFormulaJourneyRequest' + required: true responses: - '204': - description: No Content + '200': + content: + application/json: + examples: + default: + value: + data: + attributes: + series: [] + times: [] + id: 00000000-0000-0000-0000-000000000000 + type: journey_timeseries_response + schema: + $ref: '#/components/schemas/ProductAnalyticsJourneyTimeseriesResponse' + description: OK + '400': + $ref: '#/components/responses/BadRequestResponse' '403': $ref: '#/components/responses/NotAuthorizedResponse' - '404': - $ref: '#/components/responses/NotFoundResponse' '429': $ref: '#/components/responses/TooManyRequestsResponse' - summary: Delete a RUM retention filter + summary: Compute journey timeseries analytics tags: - - Rum Retention Filters - get: - description: Get a RUM retention filter for a RUM application. - operationId: GetRetentionFilter - parameters: - - $ref: '#/components/parameters/RumApplicationIDParameter' - - $ref: '#/components/parameters/RumRetentionFilterIDParameter' + - Product Analytics + x-codegen-request-body-name: body + x-permission: + operator: OR + permissions: + - rum_apps_read + x-unstable: |- + **Note**: This endpoint is in preview and is subject to change. + If you have any feedback, contact [Datadog support](https://docs.datadoghq.com/help/). + /api/v2/product-analytics/retention/grid: + post: + description: |- + Compute a retention grid, showing how much of each cohort came back over each subsequent period. + Rows are cohorts, columns are return periods, and each cell holds the count and rate of entities that returned. + operationId: QueryProductAnalyticsRetentionGrid + requestBody: + content: + application/json: + examples: + default: + value: + data: + attributes: + from: 1756425600000 + query: + compute: + aggregation: count + metric: __dd.retention_rate + search: + cohort_criteria: + base_query: + data_source: product_analytics + search: + query: '@type:view @view.name:Signup' + time_interval: + type: calendar + value: + alignment: monday + quantity: 1 + timezone: UTC + type: week + retention_entity: '@usr.id' + return_condition: conversion_on_or_after + return_criteria: + base_query: + data_source: product_analytics + search: + query: '@type:view' + to: 1756857600000 + type: retention_grid_request + schema: + $ref: '#/components/schemas/ProductAnalyticsRetentionGridRequest' + description: The retention grid query. + required: true responses: '200': content: application/json: + examples: + default: + value: + data: + attributes: + cohorts: [] + retention_entity: '@usr.id' + retention_periods: [] + id: 00000000-0000-0000-0000-000000000000 + type: retention_grid_response schema: - $ref: '#/components/schemas/RumRetentionFilterResponse' + $ref: '#/components/schemas/ProductAnalyticsRetentionGridResponse' description: OK + '400': + $ref: '#/components/responses/BadRequestResponse' '403': $ref: '#/components/responses/NotAuthorizedResponse' - '404': - $ref: '#/components/responses/NotFoundResponse' '429': $ref: '#/components/responses/TooManyRequestsResponse' - summary: Get a RUM retention filter + summary: Compute a retention grid tags: - - Rum Retention Filters - patch: - description: >- - Update a RUM retention filter for a RUM application. - - Returns RUM retention filter objects from the request body when the - request is successful. - operationId: UpdateRetentionFilter - parameters: - - $ref: '#/components/parameters/RumApplicationIDParameter' - - $ref: '#/components/parameters/RumRetentionFilterIDParameter' + - Product Analytics + x-codegen-request-body-name: body + x-permission: + operator: OR + permissions: + - rum_apps_read + x-unstable: |- + **Note**: This endpoint is in preview and is subject to change. + If you have any feedback, contact [Datadog support](https://docs.datadoghq.com/help/). + /api/v2/product-analytics/retention/list: + post: + description: |- + List the individual users or accounts counted in one cell of the retention grid. + Set `computation_scope` to the cohort and return period you want to examine. + operationId: QueryProductAnalyticsRetentionList requestBody: content: application/json: + examples: + default: + value: + data: + attributes: + from: 1756425600000 + query: + columns: + - field: + path: '@usr.email' + computation_scope: + cohort_target: + type: index + value: 0 + return_period_target: + type: index + value: 1 + type: cell + limit: 100 + search: + cohort_criteria: + base_query: + data_source: product_analytics + search: + query: '@type:view @view.name:Signup' + time_interval: + type: calendar + value: + quantity: 1 + type: week + retention_entity: '@usr.id' + return_condition: conversion_on_or_after + to: 1756857600000 + type: retention_list_request schema: - $ref: '#/components/schemas/RumRetentionFilterUpdateRequest' - description: New definition of the RUM retention filter. + $ref: '#/components/schemas/ProductAnalyticsRetentionListRequest' + description: The retention list query. required: true responses: '200': content: application/json: + examples: + default: + value: + data: + attributes: + records: [] + retention_entity: '@usr.id' + id: 00000000-0000-0000-0000-000000000000 + type: retention_list_response schema: - $ref: '#/components/schemas/RumRetentionFilterResponse' - description: Updated + $ref: '#/components/schemas/ProductAnalyticsRetentionListResponse' + description: OK '400': $ref: '#/components/responses/BadRequestResponse' '403': $ref: '#/components/responses/NotAuthorizedResponse' - '404': - $ref: '#/components/responses/NotFoundResponse' '429': $ref: '#/components/responses/TooManyRequestsResponse' - summary: Update a RUM retention filter + summary: List the entities behind a retention cell tags: - - Rum Retention Filters + - Product Analytics x-codegen-request-body-name: body - /api/v2/rum/applications/{id}: - delete: - description: Delete an existing RUM application in your organization. - operationId: DeleteRUMApplication - parameters: - - description: RUM application ID. - in: path - name: id - required: true - schema: - type: string - responses: - '204': - description: No Content - '404': - $ref: '#/components/responses/NotFoundResponse' - '429': - $ref: '#/components/responses/TooManyRequestsResponse' - summary: Delete a RUM application - tags: - - RUM x-permission: operator: OR permissions: - - rum_apps_write - get: - description: Get the RUM application with given ID in your organization. - operationId: GetRUMApplication - parameters: - - description: RUM application ID. - in: path - name: id - required: true - schema: - type: string + - rum_apps_read + x-unstable: |- + **Note**: This endpoint is in preview and is subject to change. + If you have any feedback, contact [Datadog support](https://docs.datadoghq.com/help/). + /api/v2/product-analytics/retention/scalar: + post: + description: Compute retention as a single value per group, suitable for a query value or top list widget. + operationId: QueryProductAnalyticsRetentionScalar + requestBody: + content: + application/json: + examples: + default: + value: + data: + attributes: + from: 1756425600000 + query: + compute: + aggregation: count + metric: __dd.retention_rate + search: + cohort_criteria: + base_query: + data_source: product_analytics + search: + query: '@type:view @view.name:Signup' + time_interval: + type: calendar + value: + alignment: monday + quantity: 1 + timezone: UTC + type: week + retention_entity: '@usr.id' + return_condition: conversion_on_or_after + return_criteria: + base_query: + data_source: product_analytics + search: + query: '@type:view' + to: 1756857600000 + type: formula_retention_request + schema: + $ref: '#/components/schemas/ProductAnalyticsFormulaRetentionRequest' + description: The retention scalar query. + required: true responses: '200': content: application/json: + examples: + default: + value: + data: + attributes: + columns: [] + type: scalar_response schema: - $ref: '#/components/schemas/RUMApplicationResponse' + $ref: '#/components/schemas/ProductAnalyticsScalarResponse' description: OK - '404': - $ref: '#/components/responses/NotFoundResponse' + '400': + $ref: '#/components/responses/BadRequestResponse' + '403': + $ref: '#/components/responses/NotAuthorizedResponse' '429': $ref: '#/components/responses/TooManyRequestsResponse' - summary: Get a RUM application + summary: Compute retention scalar values tags: - - RUM + - Product Analytics + x-codegen-request-body-name: body x-permission: operator: OR permissions: - rum_apps_read - patch: - description: Update the RUM application with given ID in your organization. - operationId: UpdateRUMApplication - parameters: - - description: RUM application ID. - in: path - name: id - required: true - schema: - type: string + x-unstable: |- + **Note**: This endpoint is in preview and is subject to change. + If you have any feedback, contact [Datadog support](https://docs.datadoghq.com/help/). + /api/v2/product-analytics/retention/timeseries: + post: + description: |- + Compute retention as a series of values over time, using the same query definition as the + retention grid. + operationId: QueryProductAnalyticsRetentionTimeseries requestBody: content: application/json: + examples: + default: + value: + data: + attributes: + from: 1756425600000 + query: + compute: + aggregation: count + metric: __dd.retention_rate + search: + cohort_criteria: + base_query: + data_source: product_analytics + search: + query: '@type:view @view.name:Signup' + time_interval: + type: calendar + value: + alignment: monday + quantity: 1 + timezone: UTC + type: week + retention_entity: '@usr.id' + return_condition: conversion_on_or_after + return_criteria: + base_query: + data_source: product_analytics + search: + query: '@type:view' + to: 1756857600000 + type: formula_retention_request schema: - $ref: '#/components/schemas/RUMApplicationUpdateRequest' + $ref: '#/components/schemas/ProductAnalyticsFormulaRetentionRequest' + description: The retention timeseries query. required: true responses: '200': content: application/json: + examples: + default: + value: + data: + attributes: + series: [] + times: [] + type: timeseries_response schema: - $ref: '#/components/schemas/RUMApplicationResponse' + $ref: '#/components/schemas/ProductAnalyticsTimeseriesResponse' description: OK '400': $ref: '#/components/responses/BadRequestResponse' - '404': - $ref: '#/components/responses/NotFoundResponse' - '422': - content: - application/json: - schema: - $ref: '#/components/schemas/APIErrorResponse' - description: Unprocessable Entity. + '403': + $ref: '#/components/responses/NotAuthorizedResponse' '429': $ref: '#/components/responses/TooManyRequestsResponse' - summary: Update a RUM application + summary: Compute retention timeseries tags: - - RUM + - Product Analytics x-codegen-request-body-name: body x-permission: operator: OR permissions: - - rum_apps_write - /api/v2/rum/config/metrics: - get: - description: Get the list of configured rum-based metrics with their definitions. - operationId: ListRumMetrics + - rum_apps_read + x-unstable: |- + **Note**: This endpoint is in preview and is subject to change. + If you have any feedback, contact [Datadog support](https://docs.datadoghq.com/help/). + /api/v2/product-analytics/sankey: + post: + description: |- + Compute a Sankey diagram of how sessions flow between the values of two facets, + showing where users continue and where they drop off at each step. + operationId: QueryProductAnalyticsSankey + requestBody: + content: + application/json: + examples: + default: + value: + data: + attributes: + definition: + entries_per_step: 10 + number_of_steps: 3 + source: '@view.name' + target: '@view.name' + search: + query: '@type:view' + time: + from: 1756425600000 + to: 1756857600000 + type: sankey_request + schema: + $ref: '#/components/schemas/ProductAnalyticsSankeyRequest' + description: The Sankey diagram query. + required: true responses: '200': content: application/json: + examples: + default: + value: + data: + attributes: + links: [] + nodes: [] + id: 00000000-0000-0000-0000-000000000000 + type: sankey_response schema: - $ref: '#/components/schemas/RumMetricsResponse' + $ref: '#/components/schemas/ProductAnalyticsSankeyResponse' description: OK + '400': + $ref: '#/components/responses/BadRequestResponse' '403': $ref: '#/components/responses/NotAuthorizedResponse' '429': $ref: '#/components/responses/TooManyRequestsResponse' - summary: Get all rum-based metrics + summary: Compute a Sankey diagram tags: - - Rum Metrics + - Product Analytics + x-codegen-request-body-name: body + x-permission: + operator: OR + permissions: + - rum_apps_read + x-unstable: |- + **Note**: This endpoint is in preview and is subject to change. + If you have any feedback, contact [Datadog support](https://docs.datadoghq.com/help/). + /api/v2/product-analytics/users/event_filtered_query: post: - description: >- - Create a metric based on your organization's RUM data. - - Returns the rum-based metric object from the request body when the - request is successful. - operationId: CreateRumMetric + description: Query users filtered by both user properties and event platform data + operationId: QueryEventFilteredUsers requestBody: content: application/json: + examples: + default: + value: + data: + attributes: + event_query: + query: '@type:view AND @view.loading_time:>3000 AND @application.name:ecommerce-platform' + time_frame: + end: 1761309676 + start: 1760100076 + include_row_count: true + limit: 25 + query: user_org_id:5001 AND first_country_code:US AND first_browser_name:Chrome + select_columns: + - user_id + - user_email + - first_country_code + - first_browser_name + - events_count + - session_count + - error_count + - avg_loading_time + id: query_event_filtered_users_request + type: query_event_filtered_users_request schema: - $ref: '#/components/schemas/RumMetricCreateRequest' - description: The definition of the new rum-based metric. + $ref: '#/components/schemas/QueryEventFilteredUsersRequest' required: true responses: - '201': + '200': content: application/json: + examples: + default: + value: + data: + attributes: + hits: + - first_browser_name: Chrome + first_country_code: US + user_email: test@example.com + user_id: '123' + total: 1 + id: query_response + type: query_response schema: - $ref: '#/components/schemas/RumMetricResponse' - description: Created - '400': - $ref: '#/components/responses/BadRequestResponse' - '403': - $ref: '#/components/responses/NotAuthorizedResponse' - '409': - $ref: '#/components/responses/ConflictResponse' + $ref: '#/components/schemas/QueryResponse' + description: Successful response with filtered user data '429': $ref: '#/components/responses/TooManyRequestsResponse' - summary: Create a rum-based metric + security: + - apiKeyAuth: [] + appKeyAuth: [] + - AuthZ: [] + summary: Query event filtered users tags: - - Rum Metrics - x-codegen-request-body-name: body - /api/v2/rum/config/metrics/{metric_id}: - delete: - description: Delete a specific rum-based metric from your organization. - operationId: DeleteRumMetric - parameters: - - $ref: '#/components/parameters/RumMetricIDParameter' + - Rum Audience Management + x-unstable: '**Note**: This endpoint may be subject to changes.' + /api/v2/product-analytics/users/facet_info: + post: + description: Get facet information for user attributes including possible values and counts + operationId: GetUserFacetInfo + requestBody: + content: + application/json: + examples: + default: + value: + data: + attributes: + facet_id: first_browser_name + limit: 10 + search: + query: user_org_id:5001 AND first_country_code:US + term_search: + value: Chrome + id: facet_info_request + type: users_facet_info_request + schema: + $ref: '#/components/schemas/FacetInfoRequest' + required: true responses: - '204': - description: No Content - '403': - $ref: '#/components/responses/NotAuthorizedResponse' - '404': - $ref: '#/components/responses/NotFoundResponse' + '200': + content: + application/json: + examples: + default: + value: + data: + attributes: + result: + values: + - count: 4892 + value: Chrome + id: facet_info_response + type: users_facet_info + schema: + $ref: '#/components/schemas/FacetInfoResponse' + description: Successful response with facet information '429': $ref: '#/components/responses/TooManyRequestsResponse' - summary: Delete a rum-based metric + security: + - apiKeyAuth: [] + appKeyAuth: [] + - AuthZ: [] + summary: Get user facet info tags: - - Rum Metrics + - Rum Audience Management + x-unstable: '**Note**: This endpoint may be subject to changes.' + /api/v2/product-analytics/users/query: + post: + description: Query users with flexible filtering by user properties, with optional wildcard search + operationId: QueryUsers + requestBody: + content: + application/json: + examples: + default: + value: + data: + attributes: + limit: 25 + query: user_email:*@techcorp.com AND first_country_code:US AND first_browser_name:Chrome + select_columns: + - user_id + - user_email + - user_name + - user_org_id + - first_country_code + - first_browser_name + - first_device_type + - last_seen + sort: + field: first_seen + order: DESC + wildcard_search_term: john + id: query_users_request + type: query_users_request + schema: + $ref: '#/components/schemas/QueryUsersRequest' + required: true + responses: + '200': + content: + application/json: + examples: + default: + value: + data: + attributes: + hits: + - user_email: test@example.com + user_id: '123' + total: 1 + id: query_response + type: query_response + schema: + $ref: '#/components/schemas/QueryResponse' + description: Successful response with user data + '429': + $ref: '#/components/responses/TooManyRequestsResponse' + security: + - apiKeyAuth: [] + appKeyAuth: [] + - AuthZ: [] + summary: Query users + tags: + - Rum Audience Management + x-unstable: '**Note**: This endpoint may be subject to changes.' + /api/v2/product-analytics/{entity}/mapping: get: - description: Get a specific rum-based metric from your organization. - operationId: GetRumMetric + description: Get entity mapping configuration including all available attributes and their properties + operationId: GetMapping parameters: - - $ref: '#/components/parameters/RumMetricIDParameter' + - description: The entity for which to get the mapping + in: path + name: entity + required: true + schema: + example: users + type: string responses: '200': content: application/json: + examples: + default: + value: + data: + attributes: + attributes: [] + id: get_mappings_response + type: get_mappings_response schema: - $ref: '#/components/schemas/RumMetricResponse' - description: OK - '403': - $ref: '#/components/responses/NotAuthorizedResponse' - '404': - $ref: '#/components/responses/NotFoundResponse' + $ref: '#/components/schemas/GetMappingResponse' + description: Successful response with entity mapping configuration '429': $ref: '#/components/responses/TooManyRequestsResponse' - summary: Get a rum-based metric + security: + - apiKeyAuth: [] + appKeyAuth: [] + - AuthZ: [] + summary: Get mapping tags: - - Rum Metrics - patch: - description: >- - Update a specific rum-based metric from your organization. - - Returns the rum-based metric object from the request body when the - request is successful. - operationId: UpdateRumMetric + - Rum Audience Management + x-unstable: '**Note**: This endpoint may be subject to changes.' + /api/v2/product-analytics/{entity}/mapping/connection: + post: + description: Create a new data connection and its fields for an entity + operationId: CreateConnection parameters: - - $ref: '#/components/parameters/RumMetricIDParameter' + - description: The entity for which to create the connection + in: path + name: entity + required: true + schema: + example: users + type: string requestBody: content: application/json: + examples: + default: + value: + data: + attributes: + fields: + - description: Customer subscription tier from `CRM` + display_name: Customer Tier + id: customer_tier + source_name: subscription_tier + type: string + - description: Customer lifetime value in `USD` + display_name: Lifetime Value + id: lifetime_value + source_name: ltv + type: number + join_attribute: user_email + join_type: email + type: ref_table + id: crm-integration + type: connection_id schema: - $ref: '#/components/schemas/RumMetricUpdateRequest' - description: New definition of the rum-based metric. + $ref: '#/components/schemas/CreateConnectionRequest' + required: true + responses: + '201': + description: Connection created successfully + '429': + $ref: '#/components/responses/TooManyRequestsResponse' + security: + - apiKeyAuth: [] + appKeyAuth: [] + - AuthZ: [] + summary: Create connection + tags: + - Rum Audience Management + x-unstable: '**Note**: This endpoint may be subject to changes.' + put: + description: Update an existing data connection by adding, updating, or deleting fields + operationId: UpdateConnection + parameters: + - description: The entity for which to update the connection + in: path + name: entity + required: true + schema: + example: users + type: string + requestBody: + content: + application/json: + examples: + default: + value: + data: + attributes: + fields_to_add: + - description: Net Promoter Score from customer surveys + display_name: NPS Score + groups: + - Satisfaction + - Metrics + id: nps_score + source_name: net_promoter_score + type: number + fields_to_delete: + - old_revenue_field + fields_to_update: + - field_id: lifetime_value + updated_display_name: Customer Lifetime Value (`USD`) + updated_groups: + - Financial + - Metrics + id: crm-integration + type: connection_id + schema: + $ref: '#/components/schemas/UpdateConnectionRequest' required: true responses: '200': - content: - application/json: - schema: - $ref: '#/components/schemas/RumMetricResponse' - description: OK - '400': - $ref: '#/components/responses/BadRequestResponse' - '403': - $ref: '#/components/responses/NotAuthorizedResponse' - '404': - $ref: '#/components/responses/NotFoundResponse' - '409': - $ref: '#/components/responses/ConflictResponse' + description: Connection updated successfully '429': $ref: '#/components/responses/TooManyRequestsResponse' - summary: Update a rum-based metric + security: + - apiKeyAuth: [] + appKeyAuth: [] + - AuthZ: [] + summary: Update connection tags: - - Rum Metrics - x-codegen-request-body-name: body - /api/v2/rum/events: - get: - description: >- - List endpoint returns events that match a RUM search query. - - [Results are paginated][1]. - - - Use this endpoint to see your latest RUM events. - - - [1]: - https://docs.datadoghq.com/logs/guide/collect-multiple-logs-with-pagination - operationId: ListRUMEvents + - Rum Audience Management + x-unstable: '**Note**: This endpoint may be subject to changes.' + /api/v2/product-analytics/{entity}/mapping/connection/{id}: + delete: + description: Delete an existing data connection for an entity + operationId: DeleteConnection parameters: - - description: Search query following RUM syntax. - example: '@type:session @application_id:xxxx' - in: query - name: filter[query] - required: false + - description: The connection ID to delete + in: path + name: id + required: true schema: + example: connection-id-123 type: string - - description: Minimum timestamp for requested events. - example: '2019-01-02T09:42:36.320Z' - in: query - name: filter[from] - required: false + - description: The entity for which to delete the connection + in: path + name: entity + required: true schema: - format: date-time + example: users type: string - - description: Maximum timestamp for requested events. - example: '2019-01-03T09:42:36.320Z' - in: query - name: filter[to] - required: false + responses: + '204': + description: Connection deleted successfully + '429': + $ref: '#/components/responses/TooManyRequestsResponse' + security: + - apiKeyAuth: [] + appKeyAuth: [] + - AuthZ: [] + summary: Delete connection + tags: + - Rum Audience Management + x-unstable: '**Note**: This endpoint may be subject to changes.' + /api/v2/product-analytics/{entity}/mapping/connections: + get: + description: List all data connections for an entity + operationId: ListConnections + parameters: + - description: The entity for which to list connections + in: path + name: entity + required: true schema: - format: date-time + example: users type: string - - description: Order of events in results. + responses: + '200': + content: + application/json: + examples: + default: + value: + data: + attributes: + connections: [] + id: list_connections_response + type: list_connections_response + schema: + $ref: '#/components/schemas/ListConnectionsResponse' + description: Successful response with list of connections + '429': + $ref: '#/components/responses/TooManyRequestsResponse' + security: + - apiKeyAuth: [] + appKeyAuth: [] + - AuthZ: [] + summary: List connections + tags: + - Rum Audience Management + x-unstable: '**Note**: This endpoint may be subject to changes.' + /api/v2/replay/heatmap/snapshots: + get: + description: List heatmap snapshots. + operationId: ListReplayHeatmapSnapshots + parameters: + - description: Device type to filter snapshots. in: query - name: sort - required: false + name: filter[device_type] schema: - $ref: '#/components/schemas/RUMSort' - - description: List following results with a cursor provided in the previous query. - example: >- - eyJzdGFydEF0IjoiQVFBQUFYS2tMS3pPbm40NGV3QUFBQUJCV0V0clRFdDZVbG8zY3pCRmNsbHJiVmxDWlEifQ== + example: desktop + type: string + - description: View name to filter snapshots. in: query - name: page[cursor] - required: false + name: filter[view_name] + required: true schema: + example: /home type: string - - description: Maximum number of events in the response. - example: 25 + - description: Maximum number of snapshots to return. in: query name: page[limit] - required: false schema: - default: 10 - format: int32 - maximum: 1000 + example: 10 + format: int64 type: integer + - description: Filter by application ID. + in: query + name: filter[application_id] + schema: + example: aaaaaaaa-1111-2222-3333-bbbbbbbbbbbb + type: string responses: '200': content: application/json: + examples: + default: + value: + data: + - attributes: + device_type: desktop + event_id: 11111111-2222-3333-4444-555555555555 + snapshot_name: My Snapshot + view_name: /home + id: 00000000-0000-0000-0000-000000000001 + type: snapshots schema: - $ref: '#/components/schemas/RUMEventsResponse' + $ref: '#/components/schemas/SnapshotArray' description: OK - '400': - $ref: '#/components/responses/BadRequestResponse' + '429': + $ref: '#/components/responses/TooManyRequestsResponse' + security: + - apiKeyAuth: [] + appKeyAuth: [] + - AuthZ: [] + summary: List replay heatmap snapshots + tags: + - Rum Replay Heatmaps + post: + description: Create a heatmap snapshot. + operationId: CreateReplayHeatmapSnapshot + requestBody: + content: + application/json: + examples: + default: + value: + data: + attributes: + application_id: aaaaaaaa-1111-2222-3333-bbbbbbbbbbbb + device_type: desktop + event_id: 11111111-2222-3333-4444-555555555555 + is_device_type_selected_by_user: false + snapshot_name: My Snapshot + start: 0 + view_name: /home + type: snapshots + schema: + $ref: '#/components/schemas/SnapshotCreateRequest' + required: true + responses: + '201': + content: + application/json: + examples: + default: + value: + data: + attributes: + device_type: desktop + event_id: 11111111-2222-3333-4444-555555555555 + snapshot_name: My Snapshot + view_name: /home + id: 00000000-0000-0000-0000-000000000001 + type: snapshots + schema: + $ref: '#/components/schemas/Snapshot' + description: Created + '429': + $ref: '#/components/responses/TooManyRequestsResponse' + security: + - apiKeyAuth: [] + appKeyAuth: [] + - AuthZ: [] + summary: Create replay heatmap snapshot + tags: + - Rum Replay Heatmaps + /api/v2/replay/heatmap/snapshots/{snapshot_id}: + delete: + description: Delete a heatmap snapshot. + operationId: DeleteReplayHeatmapSnapshot + parameters: + - description: Unique identifier of the heatmap snapshot. + in: path + name: snapshot_id + required: true + schema: + example: 00000000-0000-0000-0000-000000000001 + type: string + responses: + '204': + description: No Content + '429': + $ref: '#/components/responses/TooManyRequestsResponse' + security: + - apiKeyAuth: [] + appKeyAuth: [] + - AuthZ: [] + summary: Delete replay heatmap snapshot + tags: + - Rum Replay Heatmaps + patch: + description: Update a heatmap snapshot. + operationId: UpdateReplayHeatmapSnapshot + parameters: + - description: Unique identifier of the heatmap snapshot. + in: path + name: snapshot_id + required: true + schema: + example: 00000000-0000-0000-0000-000000000001 + type: string + requestBody: + content: + application/json: + examples: + default: + value: + data: + attributes: + event_id: 11111111-2222-3333-4444-555555555555 + is_device_type_selected_by_user: false + start: 0 + id: 00000000-0000-0000-0000-000000000001 + type: snapshots + schema: + $ref: '#/components/schemas/SnapshotUpdateRequest' + required: true + responses: + '200': + content: + application/json: + examples: + default: + value: + data: + attributes: + device_type: desktop + event_id: 11111111-2222-3333-4444-555555555555 + snapshot_name: My Snapshot + view_name: /home + id: 00000000-0000-0000-0000-000000000001 + type: snapshots + schema: + $ref: '#/components/schemas/Snapshot' + description: OK + '429': + $ref: '#/components/responses/TooManyRequestsResponse' + security: + - apiKeyAuth: [] + appKeyAuth: [] + - AuthZ: [] + summary: Update replay heatmap snapshot + tags: + - Rum Replay Heatmaps + /api/v2/rum/analytics/aggregate: + post: + description: The API endpoint to aggregate RUM events into buckets of computed metrics and timeseries. + operationId: AggregateRUMEvents + requestBody: + content: + application/json: + examples: + default: + value: + compute: + - aggregation: pc90 + interval: 5m + metric: '@duration' + type: timeseries + filter: + from: now-15m + query: '@type:session AND @session.type:user' + to: now + group_by: + - facet: '@view.time_spent' + histogram: + interval: 10 + max: 100 + min: 50 + sort: + aggregation: count + order: asc + options: + timezone: GMT + page: + cursor: eyJzdGFydEF0IjoiQVFBQUFYS2tMS3pPbm40NGV3QUFBQUJCV0V0clRFdDZVbG8zY3pCRmNsbHJiVmxDWlEifQ== + limit: 25 + schema: + $ref: '#/components/schemas/RUMAggregateRequest' + required: true + responses: + '200': + content: + application/json: + examples: + default: + value: + data: + buckets: + - by: + '@session.type': user + '@type': view + computes: + c0: 19 + meta: + elapsed: 132 + request_id: abc-123 + status: done + schema: + $ref: '#/components/schemas/RUMAnalyticsAggregateResponse' + description: OK + '400': + $ref: '#/components/responses/BadRequestResponse' '403': $ref: '#/components/responses/NotAuthorizedResponse' '429': $ref: '#/components/responses/TooManyRequestsResponse' - summary: Get a list of RUM events + summary: Aggregate RUM events + tags: + - RUM + x-codegen-request-body-name: body + x-permission: + operator: OR + permissions: + - rum_apps_read + /api/v2/rum/applications: + get: + description: List all the RUM applications in your organization. + operationId: GetRUMApplications + responses: + '200': + content: + application/json: + examples: + default: + value: + data: + - attributes: + application_id: abc-123 + created_at: 1659479836169 + created_by_handle: example-handle + name: my_rum_application + org_id: 123 + type: browser + updated_at: 1659479836169 + updated_by_handle: example-handle + id: abc-123 + type: rum_application + schema: + $ref: '#/components/schemas/RUMApplicationsResponse' + description: OK + '404': + $ref: '#/components/responses/NotFoundResponse' + '429': + $ref: '#/components/responses/TooManyRequestsResponse' + summary: List all the RUM applications tags: - RUM - x-pagination: - cursorParam: page[cursor] - cursorPath: meta.page.after - limitParam: page[limit] - resultsPath: data x-permission: operator: OR permissions: - rum_apps_read - /api/v2/rum/events/search: post: - description: >- - List endpoint returns RUM events that match a RUM search query. - - [Results are paginated][1]. - - - Use this endpoint to build complex RUM events filtering and search. - - - [1]: - https://docs.datadoghq.com/logs/guide/collect-multiple-logs-with-pagination - operationId: SearchRUMEvents + description: Create a new RUM application in your organization. + operationId: CreateRUMApplication requestBody: content: application/json: + examples: + default: + value: + data: + attributes: + name: my_new_rum_application + product_analytics_retention_state: MAX + rum_event_processing_state: ALL + type: browser + type: rum_application_create schema: - $ref: '#/components/schemas/RUMSearchEventsRequest' + $ref: '#/components/schemas/RUMApplicationCreateRequest' required: true responses: '200': content: application/json: + examples: + default: + value: + data: + attributes: + application_id: abc-123 + client_token: abc-123-token + created_at: 1659479836169 + created_by_handle: example-handle + name: my_rum_application + org_id: 123 + type: browser + updated_at: 1659479836169 + updated_by_handle: example-handle + id: abc-123 + type: rum_application schema: - $ref: '#/components/schemas/RUMEventsResponse' + $ref: '#/components/schemas/RUMApplicationResponse' description: OK '400': $ref: '#/components/responses/BadRequestResponse' - '403': - $ref: '#/components/responses/NotAuthorizedResponse' '429': $ref: '#/components/responses/TooManyRequestsResponse' - summary: Search RUM events + summary: Create a new RUM application tags: - RUM x-codegen-request-body-name: body - x-pagination: - cursorParam: body.page.cursor - cursorPath: meta.page.after - limitParam: body.page.limit - resultsPath: data x-permission: operator: OR permissions: - - rum_apps_read -components: - schemas: - RUMAggregateRequest: - description: >- - The object sent with the request to retrieve aggregation buckets of RUM - events from your organization. - properties: - compute: - description: >- - The list of metrics or timeseries to compute for the retrieved - buckets. - items: - $ref: '#/components/schemas/RUMCompute' - type: array - filter: - $ref: '#/components/schemas/RUMQueryFilter' - group_by: - description: The rules for the group by. - items: - $ref: '#/components/schemas/RUMGroupBy' - type: array - options: - $ref: '#/components/schemas/RUMQueryOptions' - page: - $ref: '#/components/schemas/RUMQueryPageOptions' - type: object - RUMAnalyticsAggregateResponse: - description: The response object for the RUM events aggregate API endpoint. - properties: - data: - $ref: '#/components/schemas/RUMAggregationBucketsResponse' - links: - $ref: '#/components/schemas/RUMResponseLinks' - meta: - $ref: '#/components/schemas/RUMResponseMetadata' - type: object - RUMApplicationsResponse: - description: RUM applications response. - properties: - data: - description: RUM applications array response. - items: - $ref: '#/components/schemas/RUMApplicationList' - type: array - type: object - RUMApplicationCreateRequest: - description: RUM application creation request attributes. - properties: - data: - $ref: '#/components/schemas/RUMApplicationCreate' - required: - - data - type: object - RUMApplicationResponse: - description: RUM application response. - properties: - data: - $ref: '#/components/schemas/RUMApplication' - type: object - RumRetentionFiltersOrderRequest: - description: >- - The list of RUM retention filter IDs along with their corresponding type - to reorder. - - All retention filter IDs should be included in the list created for a - RUM application. - properties: - data: - description: A list of RUM retention filter IDs along with type. - items: - $ref: '#/components/schemas/RumRetentionFiltersOrderData' - type: array - type: object - RumRetentionFiltersOrderResponse: - description: The list of RUM retention filter IDs along with type. - properties: - data: - description: A list of RUM retention filter IDs along with type. - items: - $ref: '#/components/schemas/RumRetentionFiltersOrderData' - type: array - type: object - RumRetentionFiltersResponse: - description: All RUM retention filters for a RUM application. - properties: - data: - description: A list of RUM retention filters. - items: - $ref: '#/components/schemas/RumRetentionFilterData' - type: array - type: object - RumRetentionFilterCreateRequest: - description: The RUM retention filter body to create. - properties: - data: - $ref: '#/components/schemas/RumRetentionFilterCreateData' - required: - - data - type: object - RumRetentionFilterResponse: - description: The RUM retention filter object. - properties: - data: - $ref: '#/components/schemas/RumRetentionFilterData' - type: object - RumRetentionFilterUpdateRequest: - description: The RUM retention filter body to update. - properties: - data: - $ref: '#/components/schemas/RumRetentionFilterUpdateData' - required: - - data - type: object - RUMApplicationUpdateRequest: - description: RUM application update request. - properties: - data: - $ref: '#/components/schemas/RUMApplicationUpdate' - required: - - data - type: object - APIErrorResponse: - description: API error response. - properties: - errors: - description: A list of errors. - example: - - Bad Request - items: - description: A list of items. - example: Bad Request - type: string - type: array - required: - - errors - type: object - RumMetricsResponse: - description: All the available rum-based metric objects. - properties: - data: - description: A list of rum-based metric objects. - items: - $ref: '#/components/schemas/RumMetricResponseData' - type: array - type: object + - rum_apps_write + /api/v2/rum/applications/{app_id}/relationships/retention_filters: + patch: + description: |- + Order RUM retention filters for a RUM application. + Returns RUM retention filter objects without attributes from the request body when the request is successful. + operationId: OrderRetentionFilters + parameters: + - $ref: '#/components/parameters/RumApplicationIDParameter' + requestBody: + content: + application/json: + examples: + default: + value: + data: + - id: 051601eb-54a0-abc0-03f9-cc02efa18892 + type: retention_filters + schema: + $ref: '#/components/schemas/RumRetentionFiltersOrderRequest' + description: New definition of the RUM retention filter. + required: true + responses: + '200': + content: + application/json: + examples: + default: + value: + data: + - id: 051601eb-54a0-abc0-03f9-cc02efa18892 + type: retention_filters + schema: + $ref: '#/components/schemas/RumRetentionFiltersOrderResponse' + description: Ordered + '400': + $ref: '#/components/responses/BadRequestResponse' + '403': + $ref: '#/components/responses/NotAuthorizedResponse' + '429': + $ref: '#/components/responses/TooManyRequestsResponse' + summary: Order RUM retention filters + tags: + - Rum Retention Filters + x-codegen-request-body-name: body + /api/v2/rum/applications/{app_id}/retention_filters: + get: + description: Get the list of RUM retention filters for a RUM application. + operationId: ListRetentionFilters + parameters: + - $ref: '#/components/parameters/RumApplicationIDParameter' + responses: + '200': + content: + application/json: + examples: + default: + value: + data: + - attributes: + cross_product_sampling: + trace_enabled: true + trace_sample_rate: 25 + enabled: true + event_type: session + name: Retention filter for session + query: '@session.has_replay:true' + sample_rate: 50.5 + id: 051601eb-54a0-abc0-03f9-cc02efa18892 + type: retention_filters + schema: + $ref: '#/components/schemas/RumRetentionFiltersResponse' + description: OK + '403': + $ref: '#/components/responses/NotAuthorizedResponse' + '429': + $ref: '#/components/responses/TooManyRequestsResponse' + summary: Get all RUM retention filters + tags: + - Rum Retention Filters + post: + description: |- + Create a RUM retention filter for a RUM application. + Returns RUM retention filter objects from the request body when the request is successful. + operationId: CreateRetentionFilter + parameters: + - $ref: '#/components/parameters/RumApplicationIDParameter' + requestBody: + content: + application/json: + examples: + default: + value: + data: + attributes: + cross_product_sampling: + trace_enabled: true + trace_sample_rate: 25 + enabled: true + event_type: session + name: Retention filter for session + query: '@session.has_replay:true' + sample_rate: 50.5 + type: retention_filters + schema: + $ref: '#/components/schemas/RumRetentionFilterCreateRequest' + description: The definition of the new RUM retention filter. + required: true + responses: + '201': + content: + application/json: + examples: + default: + value: + data: + attributes: + enabled: true + event_type: session + name: Retention filter for session + query: '@session.has_replay:true' + sample_rate: 50.5 + id: 00000000-0000-0000-0000-000000000001 + type: retention_filters + schema: + $ref: '#/components/schemas/RumRetentionFilterResponse' + description: Created + '400': + $ref: '#/components/responses/BadRequestResponse' + '403': + $ref: '#/components/responses/NotAuthorizedResponse' + '429': + $ref: '#/components/responses/TooManyRequestsResponse' + summary: Create a RUM retention filter + tags: + - Rum Retention Filters + x-codegen-request-body-name: body + /api/v2/rum/applications/{app_id}/retention_filters/exclusion: + get: + description: |- + Get the list of exclusion filters for a RUM application. + The built-in Error Tracking exclusion filter (`error_tracking_exclusion_filter`) is always returned first. + operationId: ListExclusionFilters + parameters: + - $ref: '#/components/parameters/RumExclusionFilterApplicationIDParameter' + responses: + '200': + content: + application/json: + examples: + default: + value: + data: + - attributes: + enabled: true + name: Ignored / Excluded errors from Error Tracking + id: error_tracking_exclusion_filter + meta: + enabled_at: 1735689600000 + updated_at: 1735689600000 + updated_by_handle: jane.doe@example.com + type: exclusion_filters + - attributes: + enabled: true + event_type: error + name: Exclude noisy browser extension errors + query: '@error.message:*extension*' + id: 051601eb-54a0-abc0-03f9-cc02efa18892 + meta: + enabled_at: 1735689600000 + updated_at: 1735689600000 + updated_by_handle: jane.doe@example.com + type: exclusion_filters + schema: + $ref: '#/components/schemas/RumExclusionFiltersResponse' + description: OK + '403': + $ref: '#/components/responses/NotAuthorizedResponse' + '429': + $ref: '#/components/responses/TooManyRequestsResponse' + summary: Get all RUM exclusion filters + tags: + - Rum Retention Filters + x-unstable: |- + **Note**: This endpoint is in preview and is subject to change. + If you have any feedback, contact [Datadog support](https://docs.datadoghq.com/help/). + post: + description: |- + Create an exclusion filter for a RUM application. + Returns the created exclusion filter when the request is successful. + operationId: CreateExclusionFilter + parameters: + - $ref: '#/components/parameters/RumExclusionFilterApplicationIDParameter' + requestBody: + content: + application/json: + examples: + default: + value: + data: + attributes: + enabled: true + event_type: error + name: Exclude noisy browser extension errors + query: '@error.message:*extension*' + type: exclusion_filters + schema: + $ref: '#/components/schemas/RumExclusionFilterCreateRequest' + description: The definition of the new RUM exclusion filter. + required: true + responses: + '201': + content: + application/json: + examples: + default: + value: + data: + attributes: + enabled: true + event_type: error + name: Exclude noisy browser extension errors + query: '@error.message:*extension*' + id: 051601eb-54a0-abc0-03f9-cc02efa18892 + meta: + enabled_at: 1735689600000 + updated_at: 1735689600000 + updated_by_handle: jane.doe@example.com + type: exclusion_filters + schema: + $ref: '#/components/schemas/RumExclusionFilterResponse' + description: Created + '400': + $ref: '#/components/responses/BadRequestResponse' + '403': + $ref: '#/components/responses/NotAuthorizedResponse' + '429': + $ref: '#/components/responses/TooManyRequestsResponse' + summary: Create a RUM exclusion filter + tags: + - Rum Retention Filters + x-codegen-request-body-name: body + x-unstable: |- + **Note**: This endpoint is in preview and is subject to change. + If you have any feedback, contact [Datadog support](https://docs.datadoghq.com/help/). + /api/v2/rum/applications/{app_id}/retention_filters/exclusion/{ef_id}: + delete: + description: |- + Delete an exclusion filter for a RUM application. + The built-in Error Tracking exclusion filter (`error_tracking_exclusion_filter`) cannot be deleted; + attempting to do so returns a `405 Method Not Allowed` response. + operationId: DeleteExclusionFilter + parameters: + - $ref: '#/components/parameters/RumExclusionFilterApplicationIDParameter' + - $ref: '#/components/parameters/RumExclusionFilterIDParameter' + responses: + '204': + description: No Content + '403': + $ref: '#/components/responses/NotAuthorizedResponse' + '404': + $ref: '#/components/responses/NotFoundResponse' + '405': + $ref: '#/components/responses/RumExclusionFilterMethodNotAllowedResponse' + '429': + $ref: '#/components/responses/TooManyRequestsResponse' + summary: Delete a RUM exclusion filter + tags: + - Rum Retention Filters + x-unstable: |- + **Note**: This endpoint is in preview and is subject to change. + If you have any feedback, contact [Datadog support](https://docs.datadoghq.com/help/). + get: + description: Get a single exclusion filter for a RUM application. + operationId: GetExclusionFilter + parameters: + - $ref: '#/components/parameters/RumExclusionFilterApplicationIDParameter' + - $ref: '#/components/parameters/RumExclusionFilterIDParameter' + responses: + '200': + content: + application/json: + examples: + default: + value: + data: + attributes: + enabled: true + event_type: error + name: Exclude noisy browser extension errors + query: '@error.message:*extension*' + id: 051601eb-54a0-abc0-03f9-cc02efa18892 + meta: + enabled_at: 1735689600000 + updated_at: 1735689600000 + updated_by_handle: jane.doe@example.com + type: exclusion_filters + schema: + $ref: '#/components/schemas/RumExclusionFilterResponse' + description: OK + '403': + $ref: '#/components/responses/NotAuthorizedResponse' + '404': + $ref: '#/components/responses/NotFoundResponse' + '429': + $ref: '#/components/responses/TooManyRequestsResponse' + summary: Get a RUM exclusion filter + tags: + - Rum Retention Filters + x-unstable: |- + **Note**: This endpoint is in preview and is subject to change. + If you have any feedback, contact [Datadog support](https://docs.datadoghq.com/help/). + patch: + description: |- + Update an exclusion filter for a RUM application. + For the built-in Error Tracking exclusion filter (`error_tracking_exclusion_filter`), only `enabled` can be + updated; `name`, `event_type`, and `query` must be omitted. + Returns the updated exclusion filter when the request is successful. + operationId: UpdateExclusionFilter + parameters: + - $ref: '#/components/parameters/RumExclusionFilterApplicationIDParameter' + - $ref: '#/components/parameters/RumExclusionFilterIDParameter' + requestBody: + content: + application/json: + examples: + default: + value: + data: + attributes: + enabled: false + event_type: error + name: Exclude noisy browser extension errors + query: '@error.message:*extension*' + id: 051601eb-54a0-abc0-03f9-cc02efa18892 + type: exclusion_filters + schema: + $ref: '#/components/schemas/RumExclusionFilterUpdateRequest' + description: New definition of the RUM exclusion filter. + required: true + responses: + '200': + content: + application/json: + examples: + default: + value: + data: + attributes: + enabled: false + event_type: error + name: Exclude noisy browser extension errors + query: '@error.message:*extension*' + id: 051601eb-54a0-abc0-03f9-cc02efa18892 + meta: + enabled_at: 1735689600000 + updated_at: 1735689600000 + updated_by_handle: jane.doe@example.com + type: exclusion_filters + schema: + $ref: '#/components/schemas/RumExclusionFilterResponse' + description: Updated + '400': + $ref: '#/components/responses/BadRequestResponse' + '403': + $ref: '#/components/responses/NotAuthorizedResponse' + '404': + $ref: '#/components/responses/NotFoundResponse' + '409': + $ref: '#/components/responses/ConflictResponse' + '429': + $ref: '#/components/responses/TooManyRequestsResponse' + summary: Update a RUM exclusion filter + tags: + - Rum Retention Filters + x-codegen-request-body-name: body + x-unstable: |- + **Note**: This endpoint is in preview and is subject to change. + If you have any feedback, contact [Datadog support](https://docs.datadoghq.com/help/). + /api/v2/rum/applications/{app_id}/retention_filters/permanent: + get: + description: |- + Get the list of permanent RUM retention filters for a RUM application. + Permanent retention filters are predefined filters that cannot be created or deleted. + For each filter, the `editability` block indicates which cross-product fields can be updated. + operationId: ListPermanentRetentionFilters + parameters: + - $ref: '#/components/parameters/RumApplicationIDParameter' + responses: + '200': + content: + application/json: + examples: + default: + value: + data: + - attributes: + cross_product_sampling: + trace_enabled: true + trace_sample_rate: 100 + description: RUM retains all Synthetics sessions. + editability: + trace_editable: true + name: Synthetics Sessions + id: synthetics_sessions + type: permanent_retention_filters + - attributes: + cross_product_sampling: + trace_enabled: true + trace_sample_rate: 100 + description: RUM retains all sessions with forced replays. + editability: + trace_editable: true + name: Forced Replay Sessions + id: forced_replay_sessions + type: permanent_retention_filters + - attributes: + cross_product_sampling: + trace_enabled: true + trace_sample_rate: 100 + description: Configures APM trace sampling for RUM sessions using flat sampling. + editability: + trace_editable: false + name: RUM APM Flat Sampling + id: rum_apm_flat_sampling + type: permanent_retention_filters + schema: + $ref: '#/components/schemas/RumPermanentRetentionFiltersResponse' + description: OK + '403': + $ref: '#/components/responses/NotAuthorizedResponse' + '429': + $ref: '#/components/responses/TooManyRequestsResponse' + summary: Get all permanent RUM retention filters + tags: + - Rum Retention Filters + /api/v2/rum/applications/{app_id}/retention_filters/permanent/{permanent_rf_id}: + get: + description: Get a permanent RUM retention filter for a RUM application by its identifier. + operationId: GetPermanentRetentionFilter + parameters: + - $ref: '#/components/parameters/RumApplicationIDParameter' + - $ref: '#/components/parameters/RumPermanentRetentionFilterIDParameter' + responses: + '200': + content: + application/json: + examples: + default: + value: + data: + attributes: + cross_product_sampling: + trace_enabled: true + trace_sample_rate: 75 + description: RUM retains all Synthetics sessions. + editability: + trace_editable: true + name: Synthetics Sessions + id: synthetics_sessions + type: permanent_retention_filters + schema: + $ref: '#/components/schemas/RumPermanentRetentionFilterResponse' + description: OK + '403': + $ref: '#/components/responses/NotAuthorizedResponse' + '404': + $ref: '#/components/responses/NotFoundResponse' + '429': + $ref: '#/components/responses/TooManyRequestsResponse' + summary: Get a permanent RUM retention filter + tags: + - Rum Retention Filters + patch: + description: |- + Update the cross-product sampling configuration of a permanent RUM retention filter for a RUM application. + Only fields marked as editable in the `editability` block of the filter can be updated. + Updating a non-editable field returns a `400` response. + operationId: UpdatePermanentRetentionFilter + parameters: + - $ref: '#/components/parameters/RumApplicationIDParameter' + - $ref: '#/components/parameters/RumPermanentRetentionFilterIDParameter' + requestBody: + content: + application/json: + examples: + default: + value: + data: + attributes: + cross_product_sampling: + trace_enabled: true + trace_sample_rate: 50 + id: synthetics_sessions + type: permanent_retention_filters + schema: + $ref: '#/components/schemas/RumPermanentRetentionFilterUpdateRequest' + description: New configuration of the permanent RUM retention filter. + required: true + responses: + '200': + content: + application/json: + examples: + default: + value: + data: + attributes: + cross_product_sampling: + trace_enabled: true + trace_sample_rate: 50 + description: RUM retains all Synthetics sessions. + editability: + trace_editable: true + name: Synthetics Sessions + id: synthetics_sessions + type: permanent_retention_filters + schema: + $ref: '#/components/schemas/RumPermanentRetentionFilterResponse' + description: Updated + '400': + $ref: '#/components/responses/BadRequestResponse' + '403': + $ref: '#/components/responses/NotAuthorizedResponse' + '404': + $ref: '#/components/responses/NotFoundResponse' + '429': + $ref: '#/components/responses/TooManyRequestsResponse' + summary: Update a permanent RUM retention filter + tags: + - Rum Retention Filters + x-codegen-request-body-name: body + /api/v2/rum/applications/{app_id}/retention_filters/{rf_id}: + delete: + description: Delete a RUM retention filter for a RUM application. + operationId: DeleteRetentionFilter + parameters: + - $ref: '#/components/parameters/RumApplicationIDParameter' + - $ref: '#/components/parameters/RumRetentionFilterIDParameter' + responses: + '204': + description: No Content + '403': + $ref: '#/components/responses/NotAuthorizedResponse' + '404': + $ref: '#/components/responses/NotFoundResponse' + '429': + $ref: '#/components/responses/TooManyRequestsResponse' + summary: Delete a RUM retention filter + tags: + - Rum Retention Filters + get: + description: Get a RUM retention filter for a RUM application. + operationId: GetRetentionFilter + parameters: + - $ref: '#/components/parameters/RumApplicationIDParameter' + - $ref: '#/components/parameters/RumRetentionFilterIDParameter' + responses: + '200': + content: + application/json: + examples: + default: + value: + data: + attributes: + cross_product_sampling: + trace_enabled: true + trace_sample_rate: 25 + enabled: true + event_type: session + name: Retention filter for session + query: '@session.has_replay:true' + sample_rate: 50.5 + id: 051601eb-54a0-abc0-03f9-cc02efa18892 + type: retention_filters + schema: + $ref: '#/components/schemas/RumRetentionFilterResponse' + description: OK + '403': + $ref: '#/components/responses/NotAuthorizedResponse' + '404': + $ref: '#/components/responses/NotFoundResponse' + '429': + $ref: '#/components/responses/TooManyRequestsResponse' + summary: Get a RUM retention filter + tags: + - Rum Retention Filters + patch: + description: |- + Update a RUM retention filter for a RUM application. + Returns RUM retention filter objects from the request body when the request is successful. + operationId: UpdateRetentionFilter + parameters: + - $ref: '#/components/parameters/RumApplicationIDParameter' + - $ref: '#/components/parameters/RumRetentionFilterIDParameter' + requestBody: + content: + application/json: + examples: + default: + value: + data: + attributes: + cross_product_sampling: + trace_enabled: true + trace_sample_rate: 25 + enabled: true + event_type: session + name: Retention filter for session + query: '@session.has_replay:true' + sample_rate: 50.5 + id: 051601eb-54a0-abc0-03f9-cc02efa18892 + type: retention_filters + schema: + $ref: '#/components/schemas/RumRetentionFilterUpdateRequest' + description: New definition of the RUM retention filter. + required: true + responses: + '200': + content: + application/json: + examples: + default: + value: + data: + attributes: + cross_product_sampling: + trace_enabled: true + trace_sample_rate: 25 + enabled: true + event_type: session + name: Retention filter for session + query: '@session.has_replay:true' + sample_rate: 50.5 + id: 051601eb-54a0-abc0-03f9-cc02efa18892 + type: retention_filters + schema: + $ref: '#/components/schemas/RumRetentionFilterResponse' + description: Updated + '400': + $ref: '#/components/responses/BadRequestResponse' + '403': + $ref: '#/components/responses/NotAuthorizedResponse' + '404': + $ref: '#/components/responses/NotFoundResponse' + '429': + $ref: '#/components/responses/TooManyRequestsResponse' + summary: Update a RUM retention filter + tags: + - Rum Retention Filters + x-codegen-request-body-name: body + /api/v2/rum/applications/{id}: + delete: + description: Delete an existing RUM application in your organization. + operationId: DeleteRUMApplication + parameters: + - description: RUM application ID. + in: path + name: id + required: true + schema: + type: string + responses: + '204': + description: No Content + '404': + $ref: '#/components/responses/NotFoundResponse' + '429': + $ref: '#/components/responses/TooManyRequestsResponse' + summary: Delete a RUM application + tags: + - RUM + x-permission: + operator: OR + permissions: + - rum_apps_write + get: + description: Get the RUM application with given ID in your organization. + operationId: GetRUMApplication + parameters: + - description: RUM application ID. + in: path + name: id + required: true + schema: + type: string + responses: + '200': + content: + application/json: + examples: + default: + value: + data: + attributes: + application_id: abc-123 + client_token: abc-123-token + created_at: 1659479836169 + created_by_handle: example-handle + name: my_rum_application + org_id: 123 + type: browser + updated_at: 1659479836169 + updated_by_handle: example-handle + id: abc-123 + type: rum_application + schema: + $ref: '#/components/schemas/RUMApplicationResponse' + description: OK + '404': + $ref: '#/components/responses/NotFoundResponse' + '429': + $ref: '#/components/responses/TooManyRequestsResponse' + summary: Get a RUM application + tags: + - RUM + x-permission: + operator: OR + permissions: + - rum_apps_read + patch: + description: Update the RUM application with given ID in your organization. + operationId: UpdateRUMApplication + parameters: + - description: RUM application ID. + in: path + name: id + required: true + schema: + type: string + requestBody: + content: + application/json: + examples: + default: + value: + data: + attributes: + name: updated_name_for_my_existing_rum_application + product_analytics_retention_state: MAX + rum_event_processing_state: ALL + type: browser + id: abcd1234-0000-0000-abcd-1234abcd5678 + type: rum_application_update + schema: + $ref: '#/components/schemas/RUMApplicationUpdateRequest' + required: true + responses: + '200': + content: + application/json: + examples: + default: + value: + data: + attributes: + application_id: abc-123 + client_token: abc-123-token + created_at: 1659479836169 + created_by_handle: example-handle + name: updated_name_for_my_existing_rum_application + org_id: 123 + type: browser + updated_at: 1659479836169 + updated_by_handle: example-handle + id: abc-123 + type: rum_application + schema: + $ref: '#/components/schemas/RUMApplicationResponse' + description: OK + '400': + $ref: '#/components/responses/BadRequestResponse' + '404': + $ref: '#/components/responses/NotFoundResponse' + '422': + content: + application/json: + schema: + $ref: '#/components/schemas/APIErrorResponse' + description: Unprocessable Entity. + '429': + $ref: '#/components/responses/TooManyRequestsResponse' + summary: Update a RUM application + tags: + - RUM + x-codegen-request-body-name: body + x-permission: + operator: OR + permissions: + - rum_apps_write + /api/v2/rum/config: + get: + description: Get the RUM configuration for your organization. + operationId: GetRumConfig + responses: + '200': + content: + application/json: + examples: + default: + value: + data: + attributes: + disabled: false + enforced_application_tags: true + enforced_application_tags_updated_at: '2024-01-15T09:30:00.000Z' + enforced_application_tags_updated_by: user@example.com + ootb_metrics_version: 5 + ootb_metrics_version_installed_at: '2024-01-15T09:30:00.000Z' + retention_filters_enabled: true + retention_filters_enabled_updated_at: '2024-01-15T09:30:00.000Z' + retention_filters_enabled_updated_by: contract-update-job + id: '1234' + type: rum_config + schema: + $ref: '#/components/schemas/RumConfigResponse' + description: OK + '403': + $ref: '#/components/responses/NotAuthorizedResponse' + '429': + $ref: '#/components/responses/TooManyRequestsResponse' + summary: Get the RUM configuration + tags: + - RUM Config + x-unstable: |- + **Note**: This endpoint is in preview and is subject to change. + If you have any feedback, contact [Datadog support](https://docs.datadoghq.com/help/). + patch: + description: |- + Update the RUM configuration for your organization. + Returns the RUM configuration object from the request body when the request is successful. + operationId: UpdateRumConfig + requestBody: + content: + application/json: + examples: + default: + value: + data: + attributes: + enforced_application_tags: false + type: rum_config + schema: + $ref: '#/components/schemas/RumConfigUpdateRequest' + description: New definition of the RUM configuration. + required: true + responses: + '200': + content: + application/json: + examples: + default: + value: + data: + attributes: + disabled: false + enforced_application_tags: false + enforced_application_tags_updated_at: '2024-01-15T09:30:00.000Z' + enforced_application_tags_updated_by: user@example.com + ootb_metrics_version: 5 + ootb_metrics_version_installed_at: '2024-01-15T09:30:00.000Z' + retention_filters_enabled: true + retention_filters_enabled_updated_at: '2024-01-15T09:30:00.000Z' + retention_filters_enabled_updated_by: contract-update-job + id: '1234' + type: rum_config + schema: + $ref: '#/components/schemas/RumConfigResponse' + description: OK + '400': + $ref: '#/components/responses/BadRequestResponse' + '403': + $ref: '#/components/responses/NotAuthorizedResponse' + '429': + $ref: '#/components/responses/TooManyRequestsResponse' + summary: Update the RUM configuration + tags: + - RUM Config + x-codegen-request-body-name: body + x-unstable: |- + **Note**: This endpoint is in preview and is subject to change. + If you have any feedback, contact [Datadog support](https://docs.datadoghq.com/help/). + post: + description: |- + Create the RUM configuration for your organization. + Returns the RUM configuration object from the request body when the request is successful. + operationId: CreateRumConfig + requestBody: + content: + application/json: + examples: + default: + value: + data: + attributes: + enforced_application_tags: true + type: rum_config + schema: + $ref: '#/components/schemas/RumConfigCreateRequest' + description: The definition of the RUM configuration to create. + required: true + responses: + '201': + content: + application/json: + examples: + default: + value: + data: + attributes: + disabled: false + enforced_application_tags: true + enforced_application_tags_updated_at: '2024-01-15T09:30:00.000Z' + enforced_application_tags_updated_by: user@example.com + ootb_metrics_version: 5 + ootb_metrics_version_installed_at: '2024-01-15T09:30:00.000Z' + retention_filters_enabled: true + retention_filters_enabled_updated_at: '2024-01-15T09:30:00.000Z' + retention_filters_enabled_updated_by: contract-update-job + id: '1234' + type: rum_config + schema: + $ref: '#/components/schemas/RumConfigResponse' + description: Created + '400': + $ref: '#/components/responses/BadRequestResponse' + '403': + $ref: '#/components/responses/NotAuthorizedResponse' + '429': + $ref: '#/components/responses/TooManyRequestsResponse' + summary: Create the RUM configuration + tags: + - RUM Config + x-codegen-request-body-name: body + x-unstable: |- + **Note**: This endpoint is in preview and is subject to change. + If you have any feedback, contact [Datadog support](https://docs.datadoghq.com/help/). + /api/v2/rum/config/metrics: + get: + description: Get the list of configured RUM-based metrics with their definitions. + operationId: ListRumMetrics + responses: + '200': + content: + application/json: + examples: + default: + value: + data: + - attributes: + compute: + aggregation_type: distribution + include_percentiles: true + path: '@duration' + event_type: session + filter: + query: '@service:web-api' + group_by: + - path: '@browser.name' + tag_name: browser_name + uniqueness: + when: match + id: rum.sessions.web.count + type: rum_metrics + schema: + $ref: '#/components/schemas/RumMetricsResponse' + description: OK + '403': + $ref: '#/components/responses/NotAuthorizedResponse' + '429': + $ref: '#/components/responses/TooManyRequestsResponse' + summary: Get all RUM-based metrics + tags: + - Rum Metrics + post: + description: |- + Create a metric based on your organization's RUM data. + Returns the RUM-based metric object from the request body when the request is successful. + operationId: CreateRumMetric + requestBody: + content: + application/json: + examples: + default: + value: + data: + attributes: + compute: + aggregation_type: distribution + include_percentiles: true + path: '@duration' + event_type: session + filter: + query: '@service:web-api' + group_by: + - path: '@browser.name' + tag_name: browser_name + uniqueness: + when: match + id: rum.sessions.web.count + type: rum_metrics + schema: + $ref: '#/components/schemas/RumMetricCreateRequest' + description: The definition of the new RUM-based metric. + required: true + responses: + '201': + content: + application/json: + examples: + default: + value: + data: + attributes: + compute: + aggregation_type: distribution + include_percentiles: true + path: '@duration' + event_type: session + filter: + query: '@service:web-api' + group_by: + - path: '@browser.name' + tag_name: browser_name + uniqueness: + when: match + id: rum.sessions.web.count + type: rum_metrics + schema: + $ref: '#/components/schemas/RumMetricResponse' + description: Created + '400': + $ref: '#/components/responses/BadRequestResponse' + '403': + $ref: '#/components/responses/NotAuthorizedResponse' + '409': + $ref: '#/components/responses/ConflictResponse' + '429': + $ref: '#/components/responses/TooManyRequestsResponse' + summary: Create a RUM-based metric + tags: + - Rum Metrics + x-codegen-request-body-name: body + /api/v2/rum/config/metrics/{metric_id}: + delete: + description: Delete a specific RUM-based metric from your organization. + operationId: DeleteRumMetric + parameters: + - $ref: '#/components/parameters/RumMetricIDParameter' + responses: + '204': + description: No Content + '403': + $ref: '#/components/responses/NotAuthorizedResponse' + '404': + $ref: '#/components/responses/NotFoundResponse' + '429': + $ref: '#/components/responses/TooManyRequestsResponse' + summary: Delete a RUM-based metric + tags: + - Rum Metrics + get: + description: Get a specific RUM-based metric from your organization. + operationId: GetRumMetric + parameters: + - $ref: '#/components/parameters/RumMetricIDParameter' + responses: + '200': + content: + application/json: + examples: + default: + value: + data: + attributes: + compute: + aggregation_type: distribution + include_percentiles: true + path: '@duration' + event_type: session + filter: + query: '@service:web-api' + group_by: + - path: '@browser.name' + tag_name: browser_name + uniqueness: + when: match + id: rum.sessions.web.count + type: rum_metrics + schema: + $ref: '#/components/schemas/RumMetricResponse' + description: OK + '403': + $ref: '#/components/responses/NotAuthorizedResponse' + '404': + $ref: '#/components/responses/NotFoundResponse' + '429': + $ref: '#/components/responses/TooManyRequestsResponse' + summary: Get a RUM-based metric + tags: + - Rum Metrics + patch: + description: |- + Update a specific RUM-based metric from your organization. + Returns the RUM-based metric object from the request body when the request is successful. + operationId: UpdateRumMetric + parameters: + - $ref: '#/components/parameters/RumMetricIDParameter' + requestBody: + content: + application/json: + examples: + default: + value: + data: + attributes: + compute: + include_percentiles: true + filter: + query: '@service:web-api' + group_by: + - path: '@browser.name' + tag_name: browser_name + id: rum.sessions.web.count + type: rum_metrics + schema: + $ref: '#/components/schemas/RumMetricUpdateRequest' + description: New definition of the RUM-based metric. + required: true + responses: + '200': + content: + application/json: + examples: + default: + value: + data: + attributes: + compute: + aggregation_type: distribution + include_percentiles: true + path: '@duration' + event_type: session + filter: + query: '@service:web-api' + group_by: + - path: '@browser.name' + tag_name: browser_name + uniqueness: + when: match + id: rum.sessions.web.count + type: rum_metrics + schema: + $ref: '#/components/schemas/RumMetricResponse' + description: OK + '400': + $ref: '#/components/responses/BadRequestResponse' + '403': + $ref: '#/components/responses/NotAuthorizedResponse' + '404': + $ref: '#/components/responses/NotFoundResponse' + '409': + $ref: '#/components/responses/ConflictResponse' + '429': + $ref: '#/components/responses/TooManyRequestsResponse' + summary: Update a RUM-based metric + tags: + - Rum Metrics + x-codegen-request-body-name: body + /api/v2/rum/config/retention-quota/{scope_type}/{scope_id}: + delete: + description: Delete the RUM retention quota configuration for a given scope. + operationId: DeleteRumQuotaConfig + parameters: + - $ref: '#/components/parameters/RumRetentionQuotaScopeTypeParameter' + - $ref: '#/components/parameters/RumRetentionQuotaScopeIDParameter' + responses: + '204': + description: No Content + '400': + content: + application/json: + schema: + $ref: '#/components/schemas/JSONAPIErrorResponse' + description: Bad Request + '401': + content: + application/json: + schema: + $ref: '#/components/schemas/JSONAPIErrorResponse' + description: Unauthorized + '403': + content: + application/json: + schema: + $ref: '#/components/schemas/JSONAPIErrorResponse' + description: Forbidden + '404': + content: + application/json: + schema: + $ref: '#/components/schemas/JSONAPIErrorResponse' + description: Not Found + '429': + $ref: '#/components/responses/TooManyRequestsResponse' + summary: Delete a RUM retention quota configuration + tags: + - RUM Retention Quotas + x-permission: + operator: OR + permissions: + - rum_retention_filters_write + get: + description: Get the RUM retention quota configuration for a given scope. + operationId: GetRumQuotaConfig + parameters: + - $ref: '#/components/parameters/RumRetentionQuotaScopeTypeParameter' + - $ref: '#/components/parameters/RumRetentionQuotaScopeIDParameter' + responses: + '200': + content: + application/json: + examples: + default: + value: + data: + attributes: + custom: + daily_reset_time: '08:00' + daily_reset_timezone: '+09:00' + quota_reached_action: stop + session_limit: 1000000 + window_type: daily + mode: custom + org_id: 2 + updated_at: '2026-03-04T15:37:54.951447Z' + updated_by: test@example.com + id: cd73a516-a481-4af5-8352-9b577465c77b + type: rum_quota_config + schema: + $ref: '#/components/schemas/RumRetentionQuotaConfigResponse' + description: OK + '400': + content: + application/json: + schema: + $ref: '#/components/schemas/JSONAPIErrorResponse' + description: Bad Request + '401': + content: + application/json: + schema: + $ref: '#/components/schemas/JSONAPIErrorResponse' + description: Unauthorized + '403': + content: + application/json: + schema: + $ref: '#/components/schemas/JSONAPIErrorResponse' + description: Forbidden + '404': + content: + application/json: + schema: + $ref: '#/components/schemas/JSONAPIErrorResponse' + description: Not Found + '429': + $ref: '#/components/responses/TooManyRequestsResponse' + summary: Get a RUM retention quota configuration + tags: + - RUM Retention Quotas + x-permission: + operator: OR + permissions: + - rum_retention_filters_read + put: + description: |- + Create or update the RUM retention quota configuration for a given scope. + Returns the retention quota configuration object when the request is successful. + operationId: UpsertRumQuotaConfig + parameters: + - $ref: '#/components/parameters/RumRetentionQuotaScopeTypeParameter' + - $ref: '#/components/parameters/RumRetentionQuotaScopeIDParameter' + requestBody: + content: + application/json: + examples: + default: + value: + data: + attributes: + custom: + daily_reset_time: '08:00' + daily_reset_timezone: '+09:00' + quota_reached_action: stop + session_limit: 1000000 + window_type: daily + mode: custom + id: cd73a516-a481-4af5-8352-9b577465c77b + type: rum_quota_config + schema: + $ref: '#/components/schemas/RumRetentionQuotaConfigUpdateRequest' + description: The definition of the RUM retention quota configuration to create or update. + required: true + responses: + '200': + content: + application/json: + examples: + default: + value: + data: + attributes: + custom: + daily_reset_time: '08:00' + daily_reset_timezone: '+09:00' + quota_reached_action: stop + session_limit: 1000000 + window_type: daily + mode: custom + org_id: 2 + updated_at: '2026-03-04T21:52:53.526022Z' + updated_by: test@example.com + id: cd73a516-a481-4af5-8352-9b577465c77b + type: rum_quota_config + schema: + $ref: '#/components/schemas/RumRetentionQuotaConfigResponse' + description: OK + '400': + content: + application/json: + schema: + $ref: '#/components/schemas/JSONAPIErrorResponse' + description: Bad Request + '401': + content: + application/json: + schema: + $ref: '#/components/schemas/JSONAPIErrorResponse' + description: Unauthorized + '403': + content: + application/json: + schema: + $ref: '#/components/schemas/JSONAPIErrorResponse' + description: Forbidden + '404': + content: + application/json: + schema: + $ref: '#/components/schemas/JSONAPIErrorResponse' + description: Not Found + '429': + $ref: '#/components/responses/TooManyRequestsResponse' + summary: Create or update a RUM retention quota config + tags: + - RUM Retention Quotas + x-codegen-request-body-name: body + x-permission: + operator: OR + permissions: + - rum_retention_filters_write + /api/v2/rum/config/teams-ownership/mappings: + get: + description: Get the list of teams ownership mappings for your organization, optionally filtered. + operationId: ListTeamsOwnershipMappings + parameters: + - $ref: '#/components/parameters/TeamsOwnershipFilterViewNameParameter' + - $ref: '#/components/parameters/TeamsOwnershipFilterTeamHandleParameter' + - $ref: '#/components/parameters/TeamsOwnershipFilterApplicationIdParameter' + - $ref: '#/components/parameters/TeamsOwnershipFilterServiceParameter' + responses: + '200': + content: + application/json: + examples: + default: + value: + data: + - attributes: + application_id: 11111111-2222-3333-4444-555555555555 + created_at: '2026-01-15T09:30:00.000Z' + created_by: aaaaaaaa-bbbb-cccc-dddd-eeeeeeeeeeee + match_type: exact + org_id: 123456 + service: web-checkout + team_handle: team-rum + view_name: /checkout + id: '123' + type: teams_ownership_mappings + schema: + $ref: '#/components/schemas/TeamsOwnershipMappingsResponse' + description: OK + '400': + $ref: '#/components/responses/BadRequestResponse' + '403': + $ref: '#/components/responses/NotAuthorizedResponse' + '429': + $ref: '#/components/responses/TooManyRequestsResponse' + summary: List teams ownership mappings + tags: + - Rum Teams Ownership + x-unstable: |- + **Note**: This endpoint is in Preview and is subject to change. + If you have any feedback, contact [Datadog support](https://docs.datadoghq.com/help/). + post: + description: |- + Create a teams ownership mapping for your organization. + Returns the teams ownership mapping object from the request body when the request is successful. + operationId: CreateTeamsOwnershipMapping + requestBody: + content: + application/json: + examples: + default: + value: + data: + attributes: + application_id: 11111111-2222-3333-4444-555555555555 + match_type: exact + service: web-checkout + team_handle: team-rum + view_name: /checkout + type: teams_ownership_mappings + schema: + $ref: '#/components/schemas/TeamsOwnershipMappingCreateRequest' + description: The definition of the teams ownership mapping to create. + required: true + responses: + '201': + content: + application/json: + examples: + default: + value: + data: + attributes: + application_id: 11111111-2222-3333-4444-555555555555 + created_at: '2026-01-15T09:30:00.000Z' + created_by: aaaaaaaa-bbbb-cccc-dddd-eeeeeeeeeeee + match_type: exact + org_id: 123456 + service: web-checkout + team_handle: team-rum + view_name: /checkout + id: '123' + type: teams_ownership_mappings + schema: + $ref: '#/components/schemas/TeamsOwnershipMappingResponse' + description: Created + '400': + $ref: '#/components/responses/BadRequestResponse' + '403': + $ref: '#/components/responses/NotAuthorizedResponse' + '429': + $ref: '#/components/responses/TooManyRequestsResponse' + summary: Create a teams ownership mapping + tags: + - Rum Teams Ownership + x-codegen-request-body-name: body + x-unstable: |- + **Note**: This endpoint is in Preview and is subject to change. + If you have any feedback, contact [Datadog support](https://docs.datadoghq.com/help/). + /api/v2/rum/config/teams-ownership/mappings/operations: + post: + description: |- + Add and remove teams ownership mappings for your organization in a single atomic request, following + the JSON:API [atomic operations extension](https://jsonapi.org/ext/atomic/). + Operations are applied together: if any operation is invalid, none of the operations are applied. + Add operations are processed before remove operations, so results may not appear in the same + order as the request. + operationId: CreateTeamsOwnershipMappingsBatch + requestBody: + content: + application/json: + examples: + default: + value: + atomic:operations: + - data: + attributes: + application_id: 11111111-2222-3333-4444-555555555555 + match_type: exact + service: web-checkout + team_handle: team-rum + view_name: /checkout + type: teams_ownership_mappings + op: add + - op: remove + ref: + id: '456' + type: teams_ownership_mappings + schema: + $ref: '#/components/schemas/TeamsOwnershipMappingBatchRequest' + description: The list of add and remove operations to apply atomically. + required: true + responses: + '200': + content: + application/json: + examples: + default: + value: + atomic:results: + - data: + attributes: + application_id: 11111111-2222-3333-4444-555555555555 + created_at: '2026-01-15T09:30:00.000Z' + created_by: aaaaaaaa-bbbb-cccc-dddd-eeeeeeeeeeee + match_type: exact + org_id: 123456 + service: web-checkout + team_handle: team-rum + view_name: /checkout + id: '123' + type: teams_ownership_mappings + - {} + schema: + $ref: '#/components/schemas/TeamsOwnershipMappingBatchResponse' + description: OK + '400': + content: + application/json: + examples: + default: + value: + errors: + - detail: prefix match_type is not enabled for this org + status: '400' + title: Bad Request + schema: + $ref: '#/components/schemas/JSONAPIErrorResponse' + description: |- + Bad Request. One or more operations failed validation, so none of the operations were applied. + Errors are returned in the JSON:API atomic operations error format rather than the standard error response. + '403': + $ref: '#/components/responses/NotAuthorizedResponse' + '404': + content: + application/json: + schema: + $ref: '#/components/schemas/JSONAPIErrorResponse' + description: Not Found. One or more mappings requested for removal do not exist. + '409': + content: + application/json: + schema: + $ref: '#/components/schemas/JSONAPIErrorResponse' + description: Conflict. One or more mappings requested for creation already exist. + '429': + $ref: '#/components/responses/TooManyRequestsResponse' + summary: Bulk create and remove teams ownership mappings + tags: + - Rum Teams Ownership + x-codegen-request-body-name: body + x-unstable: |- + **Note**: This endpoint is in Preview and is subject to change. + If you have any feedback, contact [Datadog support](https://docs.datadoghq.com/help/). + /api/v2/rum/config/teams-ownership/mappings/{id}: + delete: + description: Delete a specific teams ownership mapping from your organization. + operationId: DeleteTeamsOwnershipMapping + parameters: + - $ref: '#/components/parameters/TeamsOwnershipMappingIdParameter' + responses: + '204': + description: No Content + '403': + $ref: '#/components/responses/NotAuthorizedResponse' + '404': + $ref: '#/components/responses/NotFoundResponse' + '429': + $ref: '#/components/responses/TooManyRequestsResponse' + summary: Delete a teams ownership mapping + tags: + - Rum Teams Ownership + x-unstable: |- + **Note**: This endpoint is in Preview and is subject to change. + If you have any feedback, contact [Datadog support](https://docs.datadoghq.com/help/). + get: + description: Get a specific teams ownership mapping from your organization. + operationId: GetTeamsOwnershipMapping + parameters: + - $ref: '#/components/parameters/TeamsOwnershipMappingIdParameter' + responses: + '200': + content: + application/json: + examples: + default: + value: + data: + attributes: + application_id: 11111111-2222-3333-4444-555555555555 + created_at: '2026-01-15T09:30:00.000Z' + created_by: aaaaaaaa-bbbb-cccc-dddd-eeeeeeeeeeee + match_type: exact + org_id: 123456 + service: web-checkout + team_handle: team-rum + view_name: /checkout + id: '123' + type: teams_ownership_mappings + schema: + $ref: '#/components/schemas/TeamsOwnershipMappingResponse' + description: OK + '403': + $ref: '#/components/responses/NotAuthorizedResponse' + '404': + $ref: '#/components/responses/NotFoundResponse' + '429': + $ref: '#/components/responses/TooManyRequestsResponse' + summary: Get a teams ownership mapping + tags: + - Rum Teams Ownership + x-unstable: |- + **Note**: This endpoint is in Preview and is subject to change. + If you have any feedback, contact [Datadog support](https://docs.datadoghq.com/help/). + /api/v2/rum/config/teams-ownership/rules: + get: + description: |- + Get the list of teams ownership rules for your organization, optionally filtered. + Rules group the underlying mappings by `view_name`, `application_id`, `service`, and `match_type`, + collapsing every team that owns the same view into a single entry. + operationId: ListTeamsOwnershipRules + parameters: + - $ref: '#/components/parameters/TeamsOwnershipFilterViewNameParameter' + - $ref: '#/components/parameters/TeamsOwnershipFilterTeamHandleParameter' + - $ref: '#/components/parameters/TeamsOwnershipFilterApplicationIdParameter' + - $ref: '#/components/parameters/TeamsOwnershipFilterServiceParameter' + responses: + '200': + content: + application/json: + examples: + default: + value: + data: + - attributes: + application_id: 11111111-2222-3333-4444-555555555555 + match_type: exact + service: web-checkout + teams: + - mapping_id: '123' + team_handle: team-rum + view_name: /checkout + id: 3b1e2f7a9c4d6e8f0a1b2c3d4e5f6a7b8c9d0e1f2a3b4c5d6e7f8a9b0c1d2e3f + type: teams_ownership_grouped_mappings + schema: + $ref: '#/components/schemas/TeamsOwnershipRulesResponse' + description: OK + '400': + $ref: '#/components/responses/BadRequestResponse' + '403': + $ref: '#/components/responses/NotAuthorizedResponse' + '429': + $ref: '#/components/responses/TooManyRequestsResponse' + summary: List teams ownership rules + tags: + - Rum Teams Ownership + x-unstable: |- + **Note**: This endpoint is in Preview and is subject to change. + If you have any feedback, contact [Datadog support](https://docs.datadoghq.com/help/). + /api/v2/rum/events: + get: + description: |- + List endpoint returns events that match a RUM search query. + [Results are paginated][1]. + + Use this endpoint to see your latest RUM events. + + [1]: https://docs.datadoghq.com/logs/guide/collect-multiple-logs-with-pagination + operationId: ListRUMEvents + parameters: + - description: Search query following RUM syntax. + example: '@type:session @application_id:xxxx' + in: query + name: filter[query] + required: false + schema: + type: string + - description: Minimum timestamp for requested events. + example: '2019-01-02T09:42:36.320Z' + in: query + name: filter[from] + required: false + schema: + format: date-time + type: string + - description: Maximum timestamp for requested events. + example: '2019-01-03T09:42:36.320Z' + in: query + name: filter[to] + required: false + schema: + format: date-time + type: string + - description: Order of events in results. + in: query + name: sort + required: false + schema: + $ref: '#/components/schemas/RUMSort' + - description: List following results with a cursor provided in the previous query. + example: eyJzdGFydEF0IjoiQVFBQUFYS2tMS3pPbm40NGV3QUFBQUJCV0V0clRFdDZVbG8zY3pCRmNsbHJiVmxDWlEifQ== + in: query + name: page[cursor] + required: false + schema: + type: string + - description: Maximum number of events in the response. + example: 25 + in: query + name: page[limit] + required: false + schema: + default: 10 + format: int32 + maximum: 1000 + type: integer + responses: + '200': + content: + application/json: + examples: + default: + value: + data: + - attributes: + service: test-service + timestamp: '2024-01-01T00:00:00+00:00' + id: abc-123 + type: rum + schema: + $ref: '#/components/schemas/RUMEventsResponse' + description: OK + '400': + $ref: '#/components/responses/BadRequestResponse' + '403': + $ref: '#/components/responses/NotAuthorizedResponse' + '429': + $ref: '#/components/responses/TooManyRequestsResponse' + summary: Get a list of RUM events + tags: + - RUM + x-pagination: + cursorParam: page[cursor] + cursorPath: meta.page.after + limitParam: page[limit] + resultsPath: data + x-permission: + operator: OR + permissions: + - rum_apps_read + /api/v2/rum/events/search: + post: + description: |- + List endpoint returns RUM events that match a RUM search query. + [Results are paginated][1]. + + Use this endpoint to build complex RUM events filtering and search. + + [1]: https://docs.datadoghq.com/logs/guide/collect-multiple-logs-with-pagination + operationId: SearchRUMEvents + requestBody: + content: + application/json: + examples: + default: + value: + filter: + from: now-15m + query: '@type:session AND @session.type:user' + to: now + options: + timezone: GMT + page: + cursor: eyJzdGFydEF0IjoiQVFBQUFYS2tMS3pPbm40NGV3QUFBQUJCV0V0clRFdDZVbG8zY3pCRmNsbHJiVmxDWlEifQ== + limit: 25 + sort: timestamp + schema: + $ref: '#/components/schemas/RUMSearchEventsRequest' + required: true + responses: + '200': + content: + application/json: + examples: + default: + value: + data: + - attributes: + service: test-service + timestamp: '2024-01-01T00:00:00+00:00' + id: AAAAAWgN8Xwgr1vKDQAAAABBV2dOOFh3ZzZobm1mWXJFYTR0OA + type: rum + meta: + elapsed: 132 + request_id: abc-123 + status: done + schema: + $ref: '#/components/schemas/RUMEventsResponse' + description: OK + '400': + $ref: '#/components/responses/BadRequestResponse' + '403': + $ref: '#/components/responses/NotAuthorizedResponse' + '429': + $ref: '#/components/responses/TooManyRequestsResponse' + summary: Search RUM events + tags: + - RUM + x-codegen-request-body-name: body + x-pagination: + cursorParam: body.page.cursor + cursorPath: meta.page.after + limitParam: body.page.limit + resultsPath: data + x-permission: + operator: OR + permissions: + - rum_apps_read + /api/v2/rum/operations: + post: + description: Create a new RUM operation, defining the journey used to detect it from RUM events. + operationId: CreateRUMOperation + requestBody: + content: + application/json: + schema: + $ref: '#/components/schemas/RUMOperationCreateRequest' + required: true + responses: + '200': + content: + application/json: + examples: + default: + value: + data: + attributes: + application_id: abc12345-1234-5678-abcd-ef1234567890 + category: conversion + created_at: '2024-01-15T10:30:00Z' + created_by: + email: jane.doe@example.com + handle: jane.doe + name: Jane Doe + uuid: abc12345-1234-5678-abcd-ef1234567890 + description: Tracks users completing the checkout flow. + display_name: Checkout completed + feature_ids: + - feature-123 + journey_rum: + rum_steps: + - nodes: + - id: node-1 + query: '@type:action @action.type:click @action.target.name:"Checkout"' + type: start + - nodes: + - id: node-2 + query: '@type:action @action.type:click @action.target.name:"Confirm order"' + type: stop + name: checkout_completed + org_id: 123456 + tags: + - team:checkout + updated_at: null + updated_by: null + id: abc12345-1234-5678-abcd-ef1234567890 + type: operations + schema: + $ref: '#/components/schemas/RUMOperationResponse' + description: OK + '400': + content: + application/json: + schema: + $ref: '#/components/schemas/JSONAPIErrorResponse' + description: Bad Request + '409': + content: + application/json: + schema: + $ref: '#/components/schemas/JSONAPIErrorResponse' + description: Conflict. An operation with this name already exists. + '429': + $ref: '#/components/responses/TooManyRequestsResponse' + summary: Create a RUM operation + tags: + - RUM Operations + x-unstable: |- + **Note**: This endpoint is in Preview and is subject to change. + If you have any feedback, contact [Datadog support](https://docs.datadoghq.com/help/). + /api/v2/rum/operations/by-name/{name}: + get: + description: Retrieve a specific RUM operation by its unique name. + operationId: GetRUMOperationByName + parameters: + - description: The unique name of the RUM operation. + in: path + name: name + required: true + schema: + type: string + responses: + '200': + content: + application/json: + examples: + default: + value: + data: + attributes: + application_id: abc12345-1234-5678-abcd-ef1234567890 + category: conversion + created_at: '2024-01-15T10:30:00Z' + created_by: + email: jane.doe@example.com + handle: jane.doe + name: Jane Doe + uuid: abc12345-1234-5678-abcd-ef1234567890 + description: Tracks users completing the checkout flow. + display_name: Checkout completed + feature_ids: + - feature-123 + journey_rum: + rum_steps: + - nodes: + - id: node-1 + query: '@type:action @action.type:click @action.target.name:"Checkout"' + type: start + - nodes: + - id: node-2 + query: '@type:action @action.type:click @action.target.name:"Confirm order"' + type: stop + name: checkout_completed + org_id: 123456 + tags: + - team:checkout + updated_at: null + updated_by: null + id: abc12345-1234-5678-abcd-ef1234567890 + type: operations + schema: + $ref: '#/components/schemas/RUMOperationResponse' + description: OK + '400': + content: + application/json: + schema: + $ref: '#/components/schemas/JSONAPIErrorResponse' + description: Bad Request + '404': + content: + application/json: + schema: + $ref: '#/components/schemas/JSONAPIErrorResponse' + description: Not Found + '429': + $ref: '#/components/responses/TooManyRequestsResponse' + summary: Get a RUM operation by name + tags: + - RUM Operations + x-unstable: |- + **Note**: This endpoint is in Preview and is subject to change. + If you have any feedback, contact [Datadog support](https://docs.datadoghq.com/help/). + /api/v2/rum/operations/search: + get: + description: Search RUM operations for your organization. Supports filtering by query, creator, team, feature, and application. + operationId: ListRUMOperations + parameters: + - description: A search query to filter operations by name. + in: query + name: query + required: false + schema: + example: checkout + type: string + - description: Offset for pagination. + in: query + name: page[offset] + required: false + schema: + default: 0 + format: int64 + minimum: 0 + type: integer + - description: Number of items per page. Maximum of 100. + in: query + name: page[limit] + required: false + schema: + default: 50 + format: int64 + maximum: 100 + minimum: 1 + type: integer + - description: Filter operations by the email of their creator. + in: query + name: creator + required: false + schema: + example: user@example.com + type: string + - description: Filter operations by team. Accepts a comma-separated list of teams. + in: query + name: team + required: false + schema: + example: frontend,checkout + type: string + - description: Filter operations by feature ID. Accepts a comma-separated list of feature IDs. + in: query + name: feature_id + required: false + schema: + type: string + - description: Filter operations by RUM application ID. + in: query + name: application_id + required: false + schema: + example: abc12345-1234-5678-abcd-ef1234567890 + format: uuid + type: string + responses: + '200': + content: + application/json: + examples: + default: + value: + data: + - attributes: + application_id: abc12345-1234-5678-abcd-ef1234567890 + category: conversion + created_at: '2024-01-15T10:30:00Z' + created_by: + email: jane.doe@example.com + handle: jane.doe + name: Jane Doe + uuid: abc12345-1234-5678-abcd-ef1234567890 + description: Tracks users completing the checkout flow. + display_name: Checkout completed + feature_ids: + - feature-123 + journey_rum: + rum_steps: + - nodes: + - id: node-1 + query: '@type:action @action.type:click @action.target.name:"Checkout"' + type: start + - nodes: + - id: node-2 + query: '@type:action @action.type:click @action.target.name:"Confirm order"' + type: stop + name: checkout_completed + org_id: 123456 + tags: + - team:checkout + updated_at: null + updated_by: null + id: abc12345-1234-5678-abcd-ef1234567890 + type: operations + meta: + page: + first_offset: 0 + last_offset: 0 + limit: 50 + next_offset: null + offset: 0 + prev_offset: null + total: 1 + type: offset + schema: + $ref: '#/components/schemas/RUMOperationsListResponse' + description: OK + '400': + content: + application/json: + schema: + $ref: '#/components/schemas/JSONAPIErrorResponse' + description: Bad Request + '429': + $ref: '#/components/responses/TooManyRequestsResponse' + summary: Search RUM operations + tags: + - RUM Operations + x-unstable: |- + **Note**: This endpoint is in Preview and is subject to change. + If you have any feedback, contact [Datadog support](https://docs.datadoghq.com/help/). + /api/v2/rum/operations/strong_links: + get: + description: |- + List strong links between RUM operations and features. A strong link confirms that a feature + belongs to an operation. Provide `operation_id`, `feature_id`, or both to filter results; + at least one is required. + operationId: ListRUMOperationStrongLinks + parameters: + - description: Filter strong links by RUM operation ID. + in: query + name: operation_id + required: false + schema: + type: string + - description: Filter strong links by feature ID. + in: query + name: feature_id + required: false + schema: + type: string + - description: Offset for pagination. + in: query + name: page[offset] + required: false + schema: + default: 0 + format: int64 + minimum: 0 + type: integer + - description: Number of items per page. Maximum of 200. + in: query + name: page[limit] + required: false + schema: + default: 50 + format: int64 + maximum: 200 + minimum: 1 + type: integer + responses: + '200': + content: + application/json: + examples: + default: + value: + data: + - attributes: + created_at: '2024-01-15T10:30:00Z' + description: Confirmed link between checkout_completed and feature-123. + feature_id: feature-123 + operation_id: abc12345-1234-5678-abcd-ef1234567890 + status: CONFIRMED + tags: + - team:checkout + updated_at: null + id: abc12345-1234-5678-abcd-ef1234567890:feature-123 + type: strong_links + meta: + limit: 50 + offset: 0 + total: 1 + schema: + $ref: '#/components/schemas/RUMOperationStrongLinksListResponse' + description: OK + '400': + content: + application/json: + schema: + $ref: '#/components/schemas/JSONAPIErrorResponse' + description: Bad Request + '429': + $ref: '#/components/responses/TooManyRequestsResponse' + summary: List RUM operation strong links + tags: + - RUM Operations + post: + description: |- + Create a strong link between a RUM operation and a feature, confirming that the feature + belongs to the operation. The operation can be identified by `operation_id` or `operation_name`; + if `operation_name` does not match an existing operation, a stub operation is created. + operationId: CreateRUMOperationStrongLink + requestBody: + content: + application/json: + schema: + $ref: '#/components/schemas/RUMOperationStrongLinkCreateRequest' + required: true + responses: + '201': + content: + application/json: + examples: + default: + value: + data: + attributes: + created_at: '2024-01-15T10:30:00Z' + description: Confirmed link between checkout_completed and feature-123. + feature_id: feature-123 + operation_id: abc12345-1234-5678-abcd-ef1234567890 + status: CONFIRMED + tags: + - team:checkout + updated_at: null + id: abc12345-1234-5678-abcd-ef1234567890:feature-123 + type: strong_links + schema: + $ref: '#/components/schemas/RUMOperationStrongLinkResponse' + description: Created + '400': + content: + application/json: + schema: + $ref: '#/components/schemas/JSONAPIErrorResponse' + description: Bad Request + '404': + content: + application/json: + schema: + $ref: '#/components/schemas/JSONAPIErrorResponse' + description: Not Found. The referenced `operation_id` does not exist. + '409': + content: + application/json: + schema: + $ref: '#/components/schemas/JSONAPIErrorResponse' + description: Conflict. A strong link between this operation and feature already exists. + '429': + $ref: '#/components/responses/TooManyRequestsResponse' + summary: Create a RUM operation strong link + tags: + - RUM Operations + x-unstable: |- + **Note**: This endpoint is in Preview and is subject to change. + If you have any feedback, contact [Datadog support](https://docs.datadoghq.com/help/). + /api/v2/rum/operations/strong_links/{rum_operation_id}/{feature_id}: + delete: + description: Delete the strong link between a RUM operation and a feature. + operationId: DeleteRUMOperationStrongLink + parameters: + - description: The unique identifier of the RUM operation. + in: path + name: rum_operation_id + required: true + schema: + type: string + - description: The unique identifier of the feature. + in: path + name: feature_id + required: true + schema: + type: string + responses: + '204': + description: No Content + '404': + content: + application/json: + schema: + $ref: '#/components/schemas/JSONAPIErrorResponse' + description: Not Found + '429': + $ref: '#/components/responses/TooManyRequestsResponse' + summary: Delete a RUM operation strong link + tags: + - RUM Operations + x-unstable: |- + **Note**: This endpoint is in Preview and is subject to change. + If you have any feedback, contact [Datadog support](https://docs.datadoghq.com/help/). + put: + description: Update the status of a strong link between a RUM operation and a feature. + operationId: UpdateRUMOperationStrongLink + parameters: + - description: The unique identifier of the RUM operation. + in: path + name: rum_operation_id + required: true + schema: + type: string + - description: The unique identifier of the feature. + in: path + name: feature_id + required: true + schema: + type: string + requestBody: + content: + application/json: + schema: + $ref: '#/components/schemas/RUMOperationStrongLinkUpdateRequest' + required: true + responses: + '200': + content: + application/json: + examples: + default: + value: + data: + attributes: + created_at: '2024-01-15T10:30:00Z' + description: Confirmed link between checkout_completed and feature-123. + feature_id: feature-123 + operation_id: abc12345-1234-5678-abcd-ef1234567890 + status: CONFIRMED + tags: + - team:checkout + updated_at: '2024-01-16T09:00:00Z' + id: abc12345-1234-5678-abcd-ef1234567890:feature-123 + type: strong_links + schema: + $ref: '#/components/schemas/RUMOperationStrongLinkResponse' + description: OK + '400': + content: + application/json: + schema: + $ref: '#/components/schemas/JSONAPIErrorResponse' + description: Bad Request + '404': + content: + application/json: + schema: + $ref: '#/components/schemas/JSONAPIErrorResponse' + description: Not Found + '429': + $ref: '#/components/responses/TooManyRequestsResponse' + summary: Update a RUM operation strong link + tags: + - RUM Operations + x-unstable: |- + **Note**: This endpoint is in Preview and is subject to change. + If you have any feedback, contact [Datadog support](https://docs.datadoghq.com/help/). + /api/v2/rum/operations/{rum_operation_id}: + delete: + description: Delete a RUM operation. + operationId: DeleteRUMOperation + parameters: + - description: The unique identifier of the RUM operation to delete. + in: path + name: rum_operation_id + required: true + schema: + type: string + responses: + '204': + description: No Content + '404': + content: + application/json: + schema: + $ref: '#/components/schemas/JSONAPIErrorResponse' + description: Not Found + '429': + $ref: '#/components/responses/TooManyRequestsResponse' + summary: Delete a RUM operation + tags: + - RUM Operations + x-unstable: |- + **Note**: This endpoint is in Preview and is subject to change. + If you have any feedback, contact [Datadog support](https://docs.datadoghq.com/help/). + get: + description: Retrieve a specific RUM operation by its unique identifier. + operationId: GetRUMOperation + parameters: + - description: The unique identifier of the RUM operation. + in: path + name: rum_operation_id + required: true + schema: + type: string + responses: + '200': + content: + application/json: + examples: + default: + value: + data: + attributes: + application_id: abc12345-1234-5678-abcd-ef1234567890 + category: conversion + created_at: '2024-01-15T10:30:00Z' + created_by: + email: jane.doe@example.com + handle: jane.doe + name: Jane Doe + uuid: abc12345-1234-5678-abcd-ef1234567890 + description: Tracks users completing the checkout flow. + display_name: Checkout completed + feature_ids: + - feature-123 + journey_rum: + rum_steps: + - nodes: + - id: node-1 + query: '@type:action @action.type:click @action.target.name:"Checkout"' + type: start + - nodes: + - id: node-2 + query: '@type:action @action.type:click @action.target.name:"Confirm order"' + type: stop + name: checkout_completed + org_id: 123456 + tags: + - team:checkout + updated_at: null + updated_by: null + id: abc12345-1234-5678-abcd-ef1234567890 + type: operations + schema: + $ref: '#/components/schemas/RUMOperationResponse' + description: OK + '404': + content: + application/json: + schema: + $ref: '#/components/schemas/JSONAPIErrorResponse' + description: Not Found + '429': + $ref: '#/components/responses/TooManyRequestsResponse' + summary: Get a RUM operation + tags: + - RUM Operations + x-unstable: |- + **Note**: This endpoint is in Preview and is subject to change. + If you have any feedback, contact [Datadog support](https://docs.datadoghq.com/help/). + put: + description: |- + Update an existing RUM operation. Fields omitted from the request body keep their existing value, + with the exception of `journey_rum`, which is required and fully replaced on every update. + operationId: UpdateRUMOperation + parameters: + - description: The unique identifier of the RUM operation to update. + in: path + name: rum_operation_id + required: true + schema: + type: string + requestBody: + content: + application/json: + schema: + $ref: '#/components/schemas/RUMOperationUpdateRequest' + required: true + responses: + '200': + content: + application/json: + examples: + default: + value: + data: + attributes: + application_id: abc12345-1234-5678-abcd-ef1234567890 + category: conversion + created_at: '2024-01-15T10:30:00Z' + created_by: + email: jane.doe@example.com + handle: jane.doe + name: Jane Doe + uuid: abc12345-1234-5678-abcd-ef1234567890 + description: Tracks users completing the checkout flow. + display_name: Checkout completed + feature_ids: + - feature-123 + journey_rum: + rum_steps: + - nodes: + - id: node-1 + query: '@type:action @action.type:click @action.target.name:"Checkout"' + type: start + - nodes: + - id: node-2 + query: '@type:action @action.type:click @action.target.name:"Confirm order"' + type: stop + name: checkout_completed + org_id: 123456 + tags: + - team:checkout + updated_at: '2024-01-16T09:00:00Z' + updated_by: + email: jane.doe@example.com + handle: jane.doe + name: Jane Doe + uuid: abc12345-1234-5678-abcd-ef1234567890 + id: abc12345-1234-5678-abcd-ef1234567890 + type: operations + schema: + $ref: '#/components/schemas/RUMOperationResponse' + description: OK + '400': + content: + application/json: + schema: + $ref: '#/components/schemas/JSONAPIErrorResponse' + description: Bad Request + '404': + content: + application/json: + schema: + $ref: '#/components/schemas/JSONAPIErrorResponse' + description: Not Found + '409': + content: + application/json: + schema: + $ref: '#/components/schemas/JSONAPIErrorResponse' + description: Conflict. An operation with this name already exists. + '429': + $ref: '#/components/responses/TooManyRequestsResponse' + summary: Update a RUM operation + tags: + - RUM Operations + x-unstable: |- + **Note**: This endpoint is in Preview and is subject to change. + If you have any feedback, contact [Datadog support](https://docs.datadoghq.com/help/). + /api/v2/rum/query/insight/aggregated_long_tasks: + post: + description: Get aggregated long task data for a RUM view, grouped by invoker type and sampled across multiple view instances. + operationId: QueryAggregatedLongTasks + requestBody: + content: + application/json: + examples: + default: + value: + data: + attributes: + application_id: ccbc53b1-74f2-496b-bdd7-9a8fa7b7376b + from: 1762437564 + sample_size: 20 + to: 1762523964 + view_name: /account/login(/:type) + type: aggregated_long_tasks + schema: + $ref: '#/components/schemas/AggregatedLongTasksRequest' + required: true + responses: + '201': + content: + application/json: + examples: + default: + value: + data: + attributes: + application_id: ccbc53b1-74f2-496b-bdd7-9a8fa7b7376b + from: 1762437564 + long_tasks_by_invoker_type: + - impact_score: 0.4 + invoker_type: resolve-promise + stats_per_view: + total_blocking_time_ms: + average: 3504.1 + max: 3517.8 + min: 3500.1 + total_count: + average: 1 + max: 1 + min: 1 + top_invokers: + - file: src/pages/Gallery.tsx + impact_score: 0.67 + invoker: Response.json.then + stats_per_view: + total_count: + average: 1 + max: 1 + min: 1 + view_occurrences: 68 + view_occurrences: 68 + sampled_view_ids: + - 6fbf69b6-9455-436a-b894-a6bf64126d40 + to: 1762523964 + view_count: 20 + view_name: /account/login(/:type) + id: 2f0b3455 + type: aggregated_long_tasks + schema: + $ref: '#/components/schemas/AggregatedLongTasksResponse' + description: Successful response + '400': + content: + application/json: + schema: + $ref: '#/components/schemas/JSONAPIErrorResponse' + description: Bad Request + '401': + content: + application/json: + schema: + $ref: '#/components/schemas/JSONAPIErrorResponse' + description: Unauthorized + '429': + $ref: '#/components/responses/TooManyRequestsResponse' + summary: Query aggregated long tasks + tags: + - RUM Insights + x-permission: + operator: OR + permissions: + - rum_apps_read + x-unstable: |- + **Note**: This endpoint is in preview and is subject to change. + If you have any feedback, contact [Datadog support](https://docs.datadoghq.com/help/). + /api/v2/rum/query/insight/aggregated_signals_problems: + post: + description: Get aggregated performance signals and problem detections for a RUM view, sampled across multiple view instances. + operationId: QueryAggregatedSignalsProblems + requestBody: + content: + application/json: + examples: + default: + value: + data: + attributes: + application_id: ccbc53b1-74f2-496b-bdd7-9a8fa7b7376b + from: 1762437564 + sample_size: 30 + to: 1762523964 + view_name: /account/login(/:type) + type: aggregated_signals_problems + schema: + $ref: '#/components/schemas/AggregatedSignalsProblemsRequest' + required: true + responses: + '201': + content: + application/json: + examples: + default: + value: + data: + attributes: + application_id: ccbc53b1-74f2-496b-bdd7-9a8fa7b7376b + from: 1710000000 + problem_detections: + high_script_evaluations: + - avg_duration: 300000000 + avg_forced_style_layout: 0 + fingerprint: v1$7766a8c2180aa153f5526ba8868999f8 + impact_score: 30 + instance_count: 3 + invoker_type: user-callback + source_category: null + source_function_name: handleClick + source_url: https://cdn.example.com/app.js + view_occurrences: 3 + sample_metadata: + failed: 2 + requested: 30 + sampled_view_ids: + - 6fbf69b6-9455-436a-b894-a6bf64126d40 + succeeded: 28 + success_rate: 0.93 + to: 1710003600 + view_name: /checkout + id: 2f0b3455 + type: aggregated_signals_problems + schema: + $ref: '#/components/schemas/AggregatedSignalsProblemsResponse' + description: Successful response + '400': + content: + application/json: + schema: + $ref: '#/components/schemas/JSONAPIErrorResponse' + description: Bad Request + '401': + content: + application/json: + schema: + $ref: '#/components/schemas/JSONAPIErrorResponse' + description: Unauthorized + '429': + $ref: '#/components/responses/TooManyRequestsResponse' + summary: Query aggregated signals and problems + tags: + - RUM Insights + x-permission: + operator: OR + permissions: + - rum_apps_read + x-unstable: |- + **Note**: This endpoint is in preview and is subject to change. + If you have any feedback, contact [Datadog support](https://docs.datadoghq.com/help/). + /api/v2/rum/query/insight/aggregated_waterfall: + post: + description: Get aggregated network resource waterfall data for a RUM view, sampled across multiple view instances. + operationId: QueryAggregatedWaterfall + requestBody: + content: + application/json: + examples: + default: + value: + data: + attributes: + application_id: ccbc53b1-74f2-496b-bdd7-9a8fa7b7376b + criteria: + metric: largest_contentful_paint + min: 0.3 + from: 1762437564 + sample_size: 20 + to: 1762523964 + view_name: /account/login(/:type) + type: aggregated_waterfall + schema: + $ref: '#/components/schemas/AggregatedWaterfallRequest' + required: true + responses: + '201': + content: + application/json: + examples: + default: + value: + data: + attributes: + application_id: ccbc53b1-74f2-496b-bdd7-9a8fa7b7376b + criteria: + metric: largest_contentful_paint + min: 0.3 + from: 1762437564 + resources: + - avg_duration_ms: 839.1 + avg_start_time_ms: 1486.3 + cache_hit_rate_pct: 100 + cached_count: 27 + downloaded_count: 0 + http_method: GET + load_frequency_pct: 54 + max_duration_ms: 945.6 + median_duration_ms: 836.2 + min_duration_ms: 812.7 + p75_duration_ms: 844.1 + p95_duration_ms: 861.8 + resource_type: fetch + resource_url_path_group: /api/gallery + timing_breakdown: + avg_connect_ms: 0 + avg_dns_ms: 0 + avg_download_ms: 0.6 + avg_first_byte_ms: 59.9 + avg_redirect_ms: 0 + avg_ssl_ms: 0 + total_requests: 27 + views_with_resource: 27 + sampled_view_ids: + - 6fbf69b6-9455-436a-b894-a6bf64126d40 + to: 1762523964 + total_cache_hit_rate_pct: 0.5 + view_count: 20 + view_name: /account/login(/:type) + id: 2f0b3455 + type: aggregated_waterfall + schema: + $ref: '#/components/schemas/AggregatedWaterfallResponse' + description: Successful response + '400': + content: + application/json: + schema: + $ref: '#/components/schemas/JSONAPIErrorResponse' + description: Bad Request + '401': + content: + application/json: + schema: + $ref: '#/components/schemas/JSONAPIErrorResponse' + description: Unauthorized + '429': + $ref: '#/components/responses/TooManyRequestsResponse' + summary: Query aggregated waterfall + tags: + - RUM Insights + x-permission: + operator: OR + permissions: + - rum_apps_read + x-unstable: |- + **Note**: This endpoint is in preview and is subject to change. + If you have any feedback, contact [Datadog support](https://docs.datadoghq.com/help/). + /api/v2/rum/replay/playlists: + get: + description: List playlists. + operationId: ListRumReplayPlaylists + parameters: + - description: Filter playlists by the UUID of the user who created them. + in: query + name: filter[created_by_uuid] + schema: + example: 00000000-0000-0000-0000-000000000001 + type: string + - description: Search query to filter playlists by name. + in: query + name: filter[query] + schema: + example: my playlist + type: string + - description: Page number for pagination (0-indexed). + in: query + name: page[number] + schema: + example: 0 + format: int64 + type: integer + - description: Number of items per page. + in: query + name: page[size] + schema: + example: 25 + format: int64 + type: integer + responses: + '200': + content: + application/json: + examples: + default: + value: + data: + - attributes: + name: My Playlist + id: '123' + type: rum_replay_playlist + schema: + $ref: '#/components/schemas/PlaylistArray' + description: OK + '429': + $ref: '#/components/responses/TooManyRequestsResponse' + security: + - apiKeyAuth: [] + appKeyAuth: [] + - AuthZ: [] + summary: List RUM replay playlists + tags: + - Rum Replay Playlists + post: + description: Create a playlist. + operationId: CreateRumReplayPlaylist + requestBody: + content: + application/json: + examples: + default: + value: + data: + attributes: + created_by: + handle: john.doe@example.com + id: 00000000-0000-0000-0000-000000000001 + uuid: 00000000-0000-0000-0000-000000000001 + name: My Playlist + type: rum_replay_playlist + schema: + $ref: '#/components/schemas/Playlist' + required: true + responses: + '201': + content: + application/json: + examples: + default: + value: + data: + attributes: + name: My Playlist + id: '123' + type: rum_replay_playlist + schema: + $ref: '#/components/schemas/Playlist' + description: Created + '429': + $ref: '#/components/responses/TooManyRequestsResponse' + security: + - apiKeyAuth: [] + appKeyAuth: [] + - AuthZ: [] + summary: Create RUM replay playlist + tags: + - Rum Replay Playlists + /api/v2/rum/replay/playlists/{playlist_id}: + delete: + description: Delete a playlist. + operationId: DeleteRumReplayPlaylist + parameters: + - description: Unique identifier of the playlist. + in: path + name: playlist_id + required: true + schema: + example: 1234567 + format: int64 + type: integer + responses: + '204': + description: No Content + '429': + $ref: '#/components/responses/TooManyRequestsResponse' + security: + - apiKeyAuth: [] + appKeyAuth: [] + - AuthZ: [] + summary: Delete RUM replay playlist + tags: + - Rum Replay Playlists + get: + description: Get a playlist. + operationId: GetRumReplayPlaylist + parameters: + - description: Unique identifier of the playlist. + in: path + name: playlist_id + required: true + schema: + example: 1234567 + format: int64 + type: integer + responses: + '200': + content: + application/json: + examples: + default: + value: + data: + attributes: + name: My Playlist + id: '123' + type: rum_replay_playlist + schema: + $ref: '#/components/schemas/Playlist' + description: OK + '429': + $ref: '#/components/responses/TooManyRequestsResponse' + security: + - apiKeyAuth: [] + appKeyAuth: [] + - AuthZ: [] + summary: Get RUM replay playlist + tags: + - Rum Replay Playlists + put: + description: Update a playlist. + operationId: UpdateRumReplayPlaylist + parameters: + - description: Unique identifier of the playlist. + in: path + name: playlist_id + required: true + schema: + example: 1234567 + format: int64 + type: integer + requestBody: + content: + application/json: + examples: + default: + value: + data: + attributes: + created_by: + handle: john.doe@example.com + id: 00000000-0000-0000-0000-000000000001 + uuid: 00000000-0000-0000-0000-000000000001 + name: My Playlist + type: rum_replay_playlist + schema: + $ref: '#/components/schemas/Playlist' + required: true + responses: + '200': + content: + application/json: + examples: + default: + value: + data: + attributes: + name: My Playlist + id: '123' + type: rum_replay_playlist + schema: + $ref: '#/components/schemas/Playlist' + description: OK + '429': + $ref: '#/components/responses/TooManyRequestsResponse' + security: + - apiKeyAuth: [] + appKeyAuth: [] + - AuthZ: [] + summary: Update RUM replay playlist + tags: + - Rum Replay Playlists + /api/v2/rum/replay/playlists/{playlist_id}/sessions: + delete: + description: Remove sessions from a playlist. + operationId: BulkRemoveRumReplayPlaylistSessions + parameters: + - description: Unique identifier of the playlist. + in: path + name: playlist_id + required: true + schema: + example: 1234567 + format: int64 + type: integer + requestBody: + content: + application/json: + examples: + default: + value: + data: + - id: 00000000-0000-0000-0000-000000000001 + type: rum_replay_session + schema: + $ref: '#/components/schemas/SessionIdArray' + required: true + responses: + '204': + description: No Content + '429': + $ref: '#/components/responses/TooManyRequestsResponse' + security: + - apiKeyAuth: [] + appKeyAuth: [] + - AuthZ: [] + summary: Bulk remove RUM replay playlist sessions + tags: + - Rum Replay Playlists + get: + description: List sessions in a playlist. + operationId: ListRumReplayPlaylistSessions + parameters: + - description: Unique identifier of the playlist. + in: path + name: playlist_id + required: true + schema: + example: 1234567 + format: int64 + type: integer + - description: Page number for pagination (0-indexed). + in: query + name: page[number] + schema: + example: 0 + format: int64 + type: integer + - description: Number of items per page. + in: query + name: page[size] + schema: + example: 25 + format: int64 + type: integer + responses: + '200': + content: + application/json: + examples: + default: + value: + data: + - attributes: + track: main + id: 00000000-0000-0000-0000-000000000001 + type: rum_replay_session + schema: + $ref: '#/components/schemas/PlaylistsSessionArray' + description: OK + '429': + $ref: '#/components/responses/TooManyRequestsResponse' + security: + - apiKeyAuth: [] + appKeyAuth: [] + - AuthZ: [] + summary: List RUM replay playlist sessions + tags: + - Rum Replay Playlists + /api/v2/rum/replay/playlists/{playlist_id}/sessions/{session_id}: + delete: + description: Remove a session from a playlist. + operationId: RemoveRumReplaySessionFromPlaylist + parameters: + - description: Unique identifier of the playlist. + in: path + name: playlist_id + required: true + schema: + example: 1234567 + format: int64 + type: integer + - description: Unique identifier of the session. + in: path + name: session_id + required: true + schema: + example: 00000000-0000-0000-0000-000000000001 + type: string + responses: + '204': + description: No Content + '429': + $ref: '#/components/responses/TooManyRequestsResponse' + security: + - apiKeyAuth: [] + appKeyAuth: [] + - AuthZ: [] + summary: Remove RUM replay session from playlist + tags: + - Rum Replay Playlists + put: + description: Add a session to a playlist. + operationId: AddRumReplaySessionToPlaylist + parameters: + - description: 'Data source type. Valid values: ''rum'' or ''product_analytics''. Defaults to ''rum''.' + in: query + name: data_source + schema: + example: rum + type: string + - description: Server-side timestamp in milliseconds. + in: query + name: ts + required: true + schema: + example: 1704067200000 + format: int64 + type: integer + - description: Unique identifier of the playlist. + in: path + name: playlist_id + required: true + schema: + example: 1234567 + format: int64 + type: integer + - description: Unique identifier of the session. + in: path + name: session_id + required: true + schema: + example: 00000000-0000-0000-0000-000000000001 + type: string + responses: + '200': + content: + application/json: + examples: + default: + value: + data: + attributes: + track: main + id: 00000000-0000-0000-0000-000000000001 + type: rum_replay_session + schema: + $ref: '#/components/schemas/PlaylistsSession' + description: OK + '201': + content: + application/json: + examples: + default: + value: + data: + attributes: + track: main + id: 00000000-0000-0000-0000-000000000001 + type: rum_replay_session + schema: + $ref: '#/components/schemas/PlaylistsSession' + description: Created + '429': + $ref: '#/components/responses/TooManyRequestsResponse' + security: + - apiKeyAuth: [] + appKeyAuth: [] + - AuthZ: [] + summary: Add RUM replay session to playlist + tags: + - Rum Replay Playlists + /api/v2/rum/replay/sessions/{session_id}/views/{view_id}/segments: + get: + description: Get segments for a view. + operationId: GetSegments + parameters: + - description: Unique identifier of the view. + in: path + name: view_id + required: true + schema: + example: 00000000-0000-0000-0000-000000000002 + type: string + - description: 'Storage source: ''event_platform'' or ''blob''.' + in: query + name: source + schema: + example: event_platform + type: string + - description: Unique identifier of the session. + in: path + name: session_id + required: true + schema: + example: 00000000-0000-0000-0000-000000000001 + type: string + - description: Server-side timestamp in milliseconds. + in: query + name: ts + schema: + example: 1704067200000 + format: int64 + type: integer + - description: Maximum size in bytes for the segment list. + in: query + name: max_list_size + schema: + example: 1048576 + format: int64 + type: integer + - description: Paging token for pagination. + in: query + name: paging + schema: + example: eyJuZXh0IjoiYWJjMTIzIn0 + type: string + responses: + '200': + description: OK + '429': + $ref: '#/components/responses/TooManyRequestsResponse' + security: + - apiKeyAuth: [] + appKeyAuth: [] + - AuthZ: [] + summary: Get segments + tags: + - Rum Replay Sessions + /api/v2/rum/replay/sessions/{session_id}/watchers: + get: + description: List session watchers. + operationId: ListRumReplaySessionWatchers + parameters: + - description: Number of items per page. + in: query + name: page[size] + schema: + example: 25 + format: int64 + type: integer + - description: Page number for pagination (0-indexed). + in: query + name: page[number] + schema: + example: 0 + format: int64 + type: integer + - description: Unique identifier of the session. + in: path + name: session_id + required: true + schema: + example: 00000000-0000-0000-0000-000000000001 + type: string + responses: + '200': + content: + application/json: + examples: + default: + value: + data: + - attributes: + handle: test@example.com + last_watched_at: '2024-01-01T00:00:00+00:00' + watch_count: 1 + id: abc-123 + type: rum_replay_watcher + schema: + $ref: '#/components/schemas/WatcherArray' + description: OK + '429': + $ref: '#/components/responses/TooManyRequestsResponse' + security: + - apiKeyAuth: [] + appKeyAuth: [] + - AuthZ: [] + summary: List RUM replay session watchers + tags: + - Rum Replay Viewership + /api/v2/rum/replay/sessions/{session_id}/watches: + delete: + description: Delete session watch history. + operationId: DeleteRumReplaySessionWatch + parameters: + - description: Unique identifier of the session. + in: path + name: session_id + required: true + schema: + example: 00000000-0000-0000-0000-000000000001 + type: string + responses: + '204': + description: No Content + '429': + $ref: '#/components/responses/TooManyRequestsResponse' + security: + - apiKeyAuth: [] + appKeyAuth: [] + - AuthZ: [] + summary: Delete RUM replay session watch + tags: + - Rum Replay Viewership + post: + description: Record a session watch. + operationId: CreateRumReplaySessionWatch + parameters: + - description: Unique identifier of the session. + in: path + name: session_id + required: true + schema: + example: 00000000-0000-0000-0000-000000000001 + type: string + requestBody: + content: + application/json: + examples: + default: + value: + data: + attributes: + application_id: aaaaaaaa-1111-2222-3333-bbbbbbbbbbbb + event_id: 11111111-2222-3333-4444-555555555555 + timestamp: '2026-01-13T17:15:53.208340Z' + type: rum_replay_watch + schema: + $ref: '#/components/schemas/Watch' + required: true + responses: + '201': + content: + application/json: + examples: + default: + value: + data: + attributes: + application_id: aaaaaaaa-1111-2222-3333-bbbbbbbbbbbb + event_id: 11111111-2222-3333-4444-555555555555 + timestamp: '2024-01-01T00:00:00+00:00' + id: abc-123 + type: rum_replay_watch + schema: + $ref: '#/components/schemas/Watch' + description: Created + '429': + $ref: '#/components/responses/TooManyRequestsResponse' + security: + - apiKeyAuth: [] + appKeyAuth: [] + - AuthZ: [] + summary: Create RUM replay session watch + tags: + - Rum Replay Viewership + /api/v2/rum/replay/viewership-history/sessions: + get: + description: List watched sessions. + operationId: ListRumReplayViewershipHistorySessions + parameters: + - description: Start timestamp in milliseconds for watched_at filter. + in: query + name: filter[watched_at][start] + schema: + example: 1704067200000 + format: int64 + type: integer + - description: Page number for pagination (0-indexed). + in: query + name: page[number] + schema: + example: 0 + format: int64 + type: integer + - description: Filter by user UUID. Defaults to current user if not specified. + in: query + name: filter[created_by] + schema: + example: 00000000-0000-0000-0000-000000000001 + type: string + - description: End timestamp in milliseconds for watched_at filter. + in: query + name: filter[watched_at][end] + schema: + example: 1704153600000 + format: int64 + type: integer + - description: Comma-separated list of session IDs to filter by. + in: query + name: filter[session_ids] + schema: + example: 11111111-2222-3333-4444-555555555555,22222222-3333-4444-5555-666666666666 + type: string + - description: Number of items per page. + in: query + name: page[size] + schema: + example: 25 + format: int64 + type: integer + - description: Filter by application ID. + in: query + name: filter[application_id] + schema: + example: aaaaaaaa-1111-2222-3333-bbbbbbbbbbbb + type: string + responses: + '200': + content: + application/json: + examples: + default: + value: + data: + - attributes: + last_watched_at: '2024-01-01T00:00:00+00:00' + id: abc-123 + type: rum_replay_session + schema: + $ref: '#/components/schemas/ViewershipHistorySessionArray' + description: OK + '429': + $ref: '#/components/responses/TooManyRequestsResponse' + security: + - apiKeyAuth: [] + appKeyAuth: [] + - AuthZ: [] + summary: List RUM replay viewership history sessions + tags: + - Rum Replay Viewership + /api/v2/sourcemaps: + delete: + description: |- + Deletes source maps matching the specified filter criteria. Supports + dry-run mode to preview which source maps would be deleted without + performing the actual deletion. + operationId: DeleteSourcemaps + parameters: + - description: |- + The type of source map. Valid values are `js`, `jvm`, `ios`, + `react`, `flutter`, `elf`, `ndk`, `il2cpp`. + in: query + name: mapkind + required: true + schema: + $ref: '#/components/schemas/SourcemapMapKind' + - description: |- + When set to `true`, returns the source maps that would be deleted + without performing the actual deletion. When set to `false`, + performs the deletion. + in: query + name: dry_run + required: true + schema: + example: true + type: boolean + - description: |- + Filter by service names (multiple values allowed). Required for + `js`, `jvm`, `react`, and `flutter` map kinds. + explode: true + in: query + name: filter[service] + schema: + example: + - my-web-service + items: + type: string + type: array + style: form + - description: |- + Filter by version values (multiple values allowed, maximum 10). + Required for `js`, `jvm`, `react`, and `flutter` map kinds. + explode: true + in: query + name: filter[version] + schema: + example: + - 1.0.0 + items: + type: string + type: array + style: form + - description: Filter by variant values (multiple values allowed). Supported for `jvm`. + explode: true + in: query + name: filter[variant] + schema: + items: + type: string + type: array + style: form + - description: Filter by source map ID values (multiple values allowed). Supported for all map kinds. + explode: true + in: query + name: filter[id] + schema: + items: + type: string + type: array + style: form + - description: Filter by build ID values (multiple values allowed). Supported for `jvm`, `ndk`, and `il2cpp`. + explode: true + in: query + name: filter[build_id] + schema: + items: + type: string + type: array + style: form + - description: Filter by UUID values (multiple values allowed). Supported for `ios`. + explode: true + in: query + name: filter[uuid] + schema: + items: + type: string + type: array + style: form + - description: Filter by platform values (multiple values allowed). Supported for `react`. + explode: true + in: query + name: filter[platform] + schema: + items: + type: string + type: array + style: form + - description: Filter by build number values (multiple values allowed). Supported for `react`. + explode: true + in: query + name: filter[build_number] + schema: + items: + type: string + type: array + style: form + - description: Filter by bundle name values (multiple values allowed). Supported for `react`. + explode: true + in: query + name: filter[bundle_name] + schema: + items: + type: string + type: array + style: form + - description: |- + Filter by architecture values (multiple values allowed). Supported + for `flutter`, `elf`, and `ndk`. + explode: true + in: query + name: filter[arch] + schema: + items: + type: string + type: array + style: form + - description: Filter by symbol source values (multiple values allowed). Supported for `elf`. + explode: true + in: query + name: filter[symbol_source] + schema: + items: + type: string + type: array + style: form + - description: Filter by origin values (multiple values allowed). Supported for `elf`. + explode: true + in: query + name: filter[origin] + schema: + items: + type: string + type: array + style: form + - description: Filter by origin version values (multiple values allowed). Supported for `elf`. + explode: true + in: query + name: filter[origin_version] + schema: + items: + type: string + type: array + style: form + - description: Filter by filename (single value). Supported for `js`, `elf`, and `ndk`. + in: query + name: filter[filename] + schema: + type: string + - description: Filter by debug ID (single value). Supported for `react`. + in: query + name: filter[debug_id] + schema: + type: string + - description: Filter by GNU build ID (single value). Supported for `elf`. + in: query + name: filter[gnu_build_id] + schema: + type: string + - description: Filter by Go build ID (single value). Supported for `elf`. + in: query + name: filter[go_build_id] + schema: + type: string + - description: Filter by file hash (single value). Supported for `elf`. + in: query + name: filter[file_hash] + schema: + type: string + responses: + '200': + content: + application/json: + examples: + default: + value: + data: + - attributes: + absolute_path: /js/bundle.min.js + created_at: '2024-01-01T00:00:00Z' + mapkind: js + service: my-web-service + size: 1024 + version: 1.0.0 + id: '5' + type: sourcemaps + schema: + $ref: '#/components/schemas/SourcemapsResponse' + description: OK + '400': + content: + application/json: + schema: + $ref: '#/components/schemas/JSONAPIErrorResponse' + description: Bad Request + '404': + content: + application/json: + schema: + $ref: '#/components/schemas/JSONAPIErrorResponse' + description: Not Found + '429': + $ref: '#/components/responses/TooManyRequestsResponse' + '500': + content: + application/json: + schema: + $ref: '#/components/schemas/JSONAPIErrorResponse' + description: Internal Server Error + summary: Delete source maps + tags: + - RUM + x-permission: + operator: OR + permissions: + - rum_delete_data + x-unstable: |- + **Note**: This endpoint is in preview and is subject to change. + If you have any feedback, contact [Datadog support](https://docs.datadoghq.com/help/). + get: + description: |- + Retrieves the content of a specific JavaScript source map file by its + filename, service name, and version. + operationId: GetSourcemaps + parameters: + - description: The path to the source map file. + in: query + name: filename + required: true + schema: + example: js/bundle.min.js.map + type: string + - description: The service name associated with the source map. + in: query + name: service + required: true + schema: + example: my-web-service + type: string + - description: The version of the service associated with the source map. + in: query + name: version + required: true + schema: + example: 1.0.0 + type: string + responses: + '200': + content: + application/json: + examples: + default: + value: + data: + attributes: + file: bundle.js + mappings: AAAA,OAAO,CAAC,GAAG + minifiedLineLengths: + - 50 + - 30 + names: + - console + - log + sourceRoot: / + sources: + - src/index.js + - src/utils.js + sourcesContent: + - console.log('index'); + - export function util() {} + version: 3 + id: path/to/sourcemap.js.map + type: sourcemap_files + schema: + $ref: '#/components/schemas/SourcemapFileResponse' + description: OK + '400': + content: + application/json: + schema: + $ref: '#/components/schemas/JSONAPIErrorResponse' + description: Bad Request + '404': + content: + application/json: + schema: + $ref: '#/components/schemas/JSONAPIErrorResponse' + description: Not Found + '429': + $ref: '#/components/responses/TooManyRequestsResponse' + '500': + content: + application/json: + schema: + $ref: '#/components/schemas/JSONAPIErrorResponse' + description: Internal Server Error + summary: Get a JavaScript source map + tags: + - RUM + x-permission: + operator: OR + permissions: + - rum_apps_read + x-unstable: |- + **Note**: This endpoint is in preview and is subject to change. + If you have any feedback, contact [Datadog support](https://docs.datadoghq.com/help/). + /api/v2/sourcemaps/list: + get: + description: Retrieves a paginated list of source maps matching the specified filter criteria. + operationId: ListSourcemaps + parameters: + - description: The type of source map. Defaults to `js`. + in: query + name: mapkind + schema: + $ref: '#/components/schemas/SourcemapMapKind' + - description: The number of results to return per page. Must be at least 1. + in: query + name: page[size] + schema: + default: 20 + example: 20 + format: int64 + type: integer + - description: The page number to retrieve, starting from 1. + in: query + name: page[number] + schema: + default: 1 + example: 1 + format: int64 + type: integer + - description: |- + Filter by service names (multiple values allowed). Required for + `js`, `jvm`, `react`, and `flutter` map kinds. + explode: true + in: query + name: filter[service] + schema: + example: + - my-web-service + items: + type: string + type: array + style: form + - description: |- + Filter by version values (multiple values allowed). Required for + `js`, `jvm`, `react`, and `flutter` map kinds. + explode: true + in: query + name: filter[version] + schema: + example: + - 1.0.0 + items: + type: string + type: array + style: form + - description: Filter by variant values (multiple values allowed). Supported for `jvm`. + explode: true + in: query + name: filter[variant] + schema: + items: + type: string + type: array + style: form + - description: Filter by source map ID values (multiple values allowed). Supported for all map kinds. + explode: true + in: query + name: filter[id] + schema: + items: + type: string + type: array + style: form + - description: Filter by build ID values (multiple values allowed). Supported for `jvm`, `ndk`, and `il2cpp`. + explode: true + in: query + name: filter[build_id] + schema: + items: + type: string + type: array + style: form + - description: Filter by UUID values (multiple values allowed). Supported for `ios`. + explode: true + in: query + name: filter[uuid] + schema: + items: + type: string + type: array + style: form + - description: Filter by platform values (multiple values allowed). Supported for `react`. + explode: true + in: query + name: filter[platform] + schema: + items: + type: string + type: array + style: form + - description: Filter by build number values (multiple values allowed). Supported for `react`. + explode: true + in: query + name: filter[build_number] + schema: + items: + type: string + type: array + style: form + - description: Filter by bundle name values (multiple values allowed). Supported for `react`. + explode: true + in: query + name: filter[bundle_name] + schema: + items: + type: string + type: array + style: form + - description: |- + Filter by architecture values (multiple values allowed). Supported + for `flutter`, `elf`, and `ndk`. + explode: true + in: query + name: filter[arch] + schema: + items: + type: string + type: array + style: form + - description: Filter by symbol source values (multiple values allowed). Supported for `elf`. + explode: true + in: query + name: filter[symbol_source] + schema: + items: + type: string + type: array + style: form + - description: Filter by origin values (multiple values allowed). Supported for `elf`. + explode: true + in: query + name: filter[origin] + schema: + items: + type: string + type: array + style: form + - description: Filter by origin version values (multiple values allowed). Supported for `elf`. + explode: true + in: query + name: filter[origin_version] + schema: + items: + type: string + type: array + style: form + - description: Filter by filename (single value). Supported for `js`, `elf`, and `ndk`. + in: query + name: filter[filename] + schema: + type: string + - description: Filter by debug ID (single value). Supported for `react`. + in: query + name: filter[debug_id] + schema: + type: string + - description: Filter by GNU build ID (single value). Supported for `elf`. + in: query + name: filter[gnu_build_id] + schema: + type: string + - description: Filter by Go build ID (single value). Supported for `elf`. + in: query + name: filter[go_build_id] + schema: + type: string + - description: Filter by file hash (single value). Supported for `elf`. + in: query + name: filter[file_hash] + schema: + type: string + responses: + '200': + content: + application/json: + examples: + default: + value: + data: + - attributes: + absolute_path: /js/bundle.min.js + created_at: '2024-01-01T00:00:00Z' + mapkind: js + service: my-web-service + size: 1024 + version: 1.0.0 + id: '5' + type: sourcemaps + meta: + page: + has_more_results: false + total_filtered_count: 1 + schema: + $ref: '#/components/schemas/ListSourcemapsResponse' + description: OK + '400': + content: + application/json: + schema: + $ref: '#/components/schemas/JSONAPIErrorResponse' + description: Bad Request + '413': + content: + application/json: + schema: + $ref: '#/components/schemas/JSONAPIErrorResponse' + description: Request Entity Too Large + '429': + $ref: '#/components/responses/TooManyRequestsResponse' + '500': + content: + application/json: + schema: + $ref: '#/components/schemas/JSONAPIErrorResponse' + description: Internal Server Error + summary: List source maps + tags: + - RUM + x-permission: + operator: OR + permissions: + - rum_apps_read + x-unstable: |- + **Note**: This endpoint is in preview and is subject to change. + If you have any feedback, contact [Datadog support](https://docs.datadoghq.com/help/). + /api/v2/sourcemaps/restore: + patch: + description: |- + Restores previously deleted source maps matching the specified filter + criteria. Supports dry-run mode to preview which source maps would be + restored without performing the actual restoration. + operationId: RestoreSourcemaps + parameters: + - description: |- + The type of source map. Valid values are `js`, `jvm`, `ios`, + `react`, `flutter`, `elf`, `ndk`, `il2cpp`. + in: query + name: mapkind + required: true + schema: + $ref: '#/components/schemas/SourcemapMapKind' + - description: |- + When set to `true`, returns the source maps that would be restored + without performing the actual restoration. When set to `false`, + performs the restoration. + in: query + name: dry_run + required: true + schema: + example: true + type: boolean + - description: |- + Filter by service names (multiple values allowed). Required for + `js`, `jvm`, `react`, and `flutter` map kinds. + explode: true + in: query + name: filter[service] + schema: + example: + - my-web-service + items: + type: string + type: array + style: form + - description: |- + Filter by version values (multiple values allowed, maximum 10). + Required for `js`, `jvm`, `react`, and `flutter` map kinds. + explode: true + in: query + name: filter[version] + schema: + example: + - 1.0.0 + items: + type: string + type: array + style: form + - description: Filter by variant values (multiple values allowed). Supported for `jvm`. + explode: true + in: query + name: filter[variant] + schema: + items: + type: string + type: array + style: form + - description: Filter by source map ID values (multiple values allowed). Supported for all map kinds. + explode: true + in: query + name: filter[id] + schema: + items: + type: string + type: array + style: form + - description: Filter by build ID values (multiple values allowed). Supported for `jvm`, `ndk`, and `il2cpp`. + explode: true + in: query + name: filter[build_id] + schema: + items: + type: string + type: array + style: form + - description: Filter by UUID values (multiple values allowed). Supported for `ios`. + explode: true + in: query + name: filter[uuid] + schema: + items: + type: string + type: array + style: form + - description: Filter by platform values (multiple values allowed). Supported for `react`. + explode: true + in: query + name: filter[platform] + schema: + items: + type: string + type: array + style: form + - description: Filter by build number values (multiple values allowed). Supported for `react`. + explode: true + in: query + name: filter[build_number] + schema: + items: + type: string + type: array + style: form + - description: Filter by bundle name values (multiple values allowed). Supported for `react`. + explode: true + in: query + name: filter[bundle_name] + schema: + items: + type: string + type: array + style: form + - description: |- + Filter by architecture values (multiple values allowed). Supported + for `flutter`, `elf`, and `ndk`. + explode: true + in: query + name: filter[arch] + schema: + items: + type: string + type: array + style: form + - description: Filter by symbol source values (multiple values allowed). Supported for `elf`. + explode: true + in: query + name: filter[symbol_source] + schema: + items: + type: string + type: array + style: form + - description: Filter by origin values (multiple values allowed). Supported for `elf`. + explode: true + in: query + name: filter[origin] + schema: + items: + type: string + type: array + style: form + - description: Filter by origin version values (multiple values allowed). Supported for `elf`. + explode: true + in: query + name: filter[origin_version] + schema: + items: + type: string + type: array + style: form + - description: Filter by filename (single value). Supported for `js`, `elf`, and `ndk`. + in: query + name: filter[filename] + schema: + type: string + - description: Filter by debug ID (single value). Supported for `react`. + in: query + name: filter[debug_id] + schema: + type: string + - description: Filter by GNU build ID (single value). Supported for `elf`. + in: query + name: filter[gnu_build_id] + schema: + type: string + - description: Filter by Go build ID (single value). Supported for `elf`. + in: query + name: filter[go_build_id] + schema: + type: string + - description: Filter by file hash (single value). Supported for `elf`. + in: query + name: filter[file_hash] + schema: + type: string + responses: + '200': + content: + application/json: + examples: + default: + value: + data: + - attributes: + absolute_path: /js/bundle.min.js + created_at: '2024-01-01T00:00:00Z' + mapkind: js + service: my-web-service + size: 1024 + version: 1.0.0 + id: '5' + type: sourcemaps + schema: + $ref: '#/components/schemas/SourcemapsResponse' + description: OK + '400': + content: + application/json: + schema: + $ref: '#/components/schemas/JSONAPIErrorResponse' + description: Bad Request + '404': + content: + application/json: + schema: + $ref: '#/components/schemas/JSONAPIErrorResponse' + description: Not Found + '429': + $ref: '#/components/responses/TooManyRequestsResponse' + '500': + content: + application/json: + schema: + $ref: '#/components/schemas/JSONAPIErrorResponse' + description: Internal Server Error + summary: Restore source maps + tags: + - RUM + x-permission: + operator: OR + permissions: + - rum_delete_data + x-unstable: |- + **Note**: This endpoint is in preview and is subject to change. + If you have any feedback, contact [Datadog support](https://docs.datadoghq.com/help/). + /api/v2/sourcemaps/service_repository_info: + post: + description: Returns the repository URL and commit SHA associated with a given service and version. + operationId: GetServiceRepositoryInfo + requestBody: + content: + application/json: + examples: + default: + value: + data: + attributes: + service: my-web-service + version: 1.0.0 + type: service_repository_info + schema: + $ref: '#/components/schemas/ServiceRepositoryInfoRequest' + required: true + responses: + '200': + content: + application/json: + examples: + default: + value: + data: + attributes: + commit_sha: abc123def456789 + repository_url: https://github.com/my-org/my-repo + status: success + id: my-web-service:1.0.0 + type: service_repository_info + schema: + $ref: '#/components/schemas/ServiceRepositoryInfoResponse' + description: OK + '401': + content: + application/json: + schema: + $ref: '#/components/schemas/JSONAPIErrorResponse' + description: Unauthorized + '429': + $ref: '#/components/responses/TooManyRequestsResponse' + '500': + content: + application/json: + schema: + $ref: '#/components/schemas/JSONAPIErrorResponse' + description: Internal Server Error + summary: Get service repository information + tags: + - RUM + x-codegen-request-body-name: body + x-permission: + operator: OR + permissions: + - rum_apps_read + x-unstable: |- + **Note**: This endpoint is in preview and is subject to change. + If you have any feedback, contact [Datadog support](https://docs.datadoghq.com/help/). +components: + schemas: + ProductAnalyticsServerSideEventItem: + description: A Product Analytics server-side event. + properties: + account: + $ref: '#/components/schemas/ProductAnalyticsServerSideEventItemAccount' + application: + $ref: '#/components/schemas/ProductAnalyticsServerSideEventItemApplication' + event: + $ref: '#/components/schemas/ProductAnalyticsServerSideEventItemEvent' + session: + $ref: '#/components/schemas/ProductAnalyticsServerSideEventItemSession' + type: + $ref: '#/components/schemas/ProductAnalyticsServerSideEventItemType' + usr: + $ref: '#/components/schemas/ProductAnalyticsServerSideEventItemUsr' + required: + - application + - event + - type + type: object + ProductAnalyticsServerSideEventErrors: + description: Error response. + properties: + errors: + description: Structured errors. + items: + $ref: '#/components/schemas/ProductAnalyticsServerSideEventError' + type: array + type: object + FacetInfoRequest: + description: Request body for retrieving facet value information for a specified attribute with optional filtering. + example: + data: + attributes: + facet_id: first_browser_name + limit: 10 + search: + query: user_org_id:5001 AND first_country_code:US + term_search: + value: Chrome + id: facet_info_request + type: users_facet_info_request + properties: + data: + $ref: '#/components/schemas/FacetInfoRequestData' + type: object + FacetInfoResponse: + description: Response containing facet information for an attribute, including its distinct values and occurrence counts. + example: + data: + attributes: + result: + values: + - count: 4892 + value: Chrome + - count: 2341 + value: Safari + - count: 1567 + value: Firefox + - count: 892 + value: Edge + - count: 234 + value: Opera + id: facet_info_response + type: users_facet_info + properties: + data: + $ref: '#/components/schemas/FacetInfoResponseData' + type: object + QueryAccountRequest: + description: Request body for querying accounts with optional filtering, column selection, and sorting. + example: + data: + attributes: + limit: 20 + query: plan_type:enterprise AND user_count:>100 AND subscription_status:active + select_columns: + - account_id + - account_name + - user_count + - plan_type + - subscription_status + - created_at + - mrr + - industry + sort: + field: user_count + order: DESC + wildcard_search_term: tech + id: query_account_request + type: query_account_request + properties: + data: + $ref: '#/components/schemas/QueryAccountRequestData' + type: object + QueryResponse: + description: Response containing the query results with matched records and total count. + example: + data: + attributes: + hits: + - first_browser_name: Chrome + first_city: San Francisco + first_country_code: US + first_device_type: Desktop + last_seen: '2025-08-14T06:45:12.142Z' + session_count: 47 + user_created: '2024-12-15T08:42:33.287Z' + user_email: john.smith@techcorp.com + user_id: '150847' + user_name: John Smith + user_org_id: '5001' + - first_browser_name: Chrome + first_city: Austin + first_country_code: US + first_device_type: Desktop + last_seen: '2025-08-14T05:22:08.951Z' + session_count: 89 + user_created: '2024-11-28T14:17:45.634Z' + user_email: john.williams@techcorp.com + user_id: '150848' + user_name: John Williams + user_org_id: '5001' + - first_browser_name: Chrome + first_city: Seattle + first_country_code: US + first_device_type: Desktop + last_seen: '2025-08-14T04:18:34.726Z' + session_count: 23 + user_created: '2025-01-03T16:33:21.445Z' + user_email: john.jones@techcorp.com + user_id: '150849' + user_name: John Jones + user_org_id: '5001' + total: 147 + id: query_response + type: query_response + properties: + data: + $ref: '#/components/schemas/QueryResponseData' + type: object + ProductAnalyticsAnalyticsListRequest: + description: Request for listing the individual event records matching an analytics query. + example: + data: + attributes: + from: 1771232048460 + query: + columns: + - '@view.name' + limit: 100 + query: + data_source: product_analytics + search: + query: '@type:view' + to: 1771836848262 + type: formula_analytics_extended_list_request + properties: + data: + $ref: '#/components/schemas/ProductAnalyticsAnalyticsListRequestData' + required: + - data + type: object + ProductAnalyticsAnalyticsListResponse: + description: Response for an analytics list query, containing individual event records. + properties: + data: + $ref: '#/components/schemas/ProductAnalyticsAnalyticsListResponseData' + meta: + $ref: '#/components/schemas/ProductAnalyticsResponseMeta' + required: + - data + type: object + ProductAnalyticsAnalyticsRequest: + description: Request for computing analytics results (scalar or timeseries). + example: + data: + attributes: + from: 1771232048460 + query: + compute: + aggregation: count + query: + data_source: product_analytics + search: + query: '@type:view' + to: 1771836848262 + type: formula_analytics_extended_request + properties: + data: + $ref: '#/components/schemas/ProductAnalyticsAnalyticsRequestData' + required: + - data + type: object + ProductAnalyticsScalarResponse: + description: Response for a scalar analytics query. + properties: + data: + $ref: '#/components/schemas/ProductAnalyticsScalarResponseData' + meta: + $ref: '#/components/schemas/ProductAnalyticsResponseMeta' + type: object + ProductAnalyticsTimeseriesResponse: + description: Response for a timeseries analytics query. + properties: + data: + $ref: '#/components/schemas/ProductAnalyticsTimeseriesResponseData' + meta: + $ref: '#/components/schemas/ProductAnalyticsResponseMeta' + type: object + ProductAnalyticsJourneyFunnelRequest: + description: Request body for a journey funnel analysis. + properties: + data: + $ref: '#/components/schemas/ProductAnalyticsJourneyFunnelRequestData' + required: + - data + type: object + ProductAnalyticsJourneyFunnelResponse: + description: Response for a journey funnel analysis. + properties: + data: + $ref: '#/components/schemas/ProductAnalyticsJourneyFunnelResponseData' + required: + - data + type: object + ProductAnalyticsJourneyListRequest: + description: Request body for a journey list query. + properties: + data: + $ref: '#/components/schemas/ProductAnalyticsJourneyListRequestData' + required: + - data + type: object + ProductAnalyticsJourneyListResponse: + description: Response for a journey list query. + properties: + data: + $ref: '#/components/schemas/ProductAnalyticsJourneyListResponseData' + required: + - data + type: object + ProductAnalyticsJourneyScalarRequest: + description: Request body for a journey scalar query. + properties: + data: + $ref: '#/components/schemas/ProductAnalyticsJourneyScalarRequestData' + required: + - data + type: object + ProductAnalyticsJourneyScalarResponse: + description: Response for a journey scalar query. + properties: + data: + $ref: '#/components/schemas/ProductAnalyticsJourneyScalarResponseData' + required: + - data + type: object + ProductAnalyticsFormulaJourneyRequest: + description: Request body for a journey timeseries query. + properties: + data: + $ref: '#/components/schemas/ProductAnalyticsFormulaJourneyRequestData' + required: + - data + type: object + ProductAnalyticsJourneyTimeseriesResponse: + description: Response for a journey timeseries query. + properties: + data: + $ref: '#/components/schemas/ProductAnalyticsJourneyTimeseriesResponseData' + required: + - data + type: object + ProductAnalyticsRetentionGridRequest: + description: Request body for a retention grid query. + properties: + data: + $ref: '#/components/schemas/ProductAnalyticsRetentionGridRequestData' + required: + - data + type: object + ProductAnalyticsRetentionGridResponse: + description: Response for a retention grid query. + properties: + data: + $ref: '#/components/schemas/ProductAnalyticsRetentionGridResponseData' + required: + - data + type: object + ProductAnalyticsRetentionListRequest: + description: Request body listing the individual entities behind one cell of the retention grid. + properties: + data: + $ref: '#/components/schemas/ProductAnalyticsRetentionListRequestData' + required: + - data + type: object + ProductAnalyticsRetentionListResponse: + description: Response for a retention list query. + properties: + data: + $ref: '#/components/schemas/ProductAnalyticsRetentionListResponseData' + required: + - data + type: object + ProductAnalyticsFormulaRetentionRequest: + description: Request body for a retention scalar or retention timeseries query. + properties: + data: + $ref: '#/components/schemas/ProductAnalyticsFormulaRetentionRequestData' + required: + - data + type: object + ProductAnalyticsSankeyRequest: + description: Request body for a Sankey diagram query. + properties: + data: + $ref: '#/components/schemas/ProductAnalyticsSankeyRequestData' + required: + - data + type: object + ProductAnalyticsSankeyResponse: + description: Response for a Sankey diagram query. + properties: + data: + $ref: '#/components/schemas/ProductAnalyticsSankeyResponseData' + required: + - data + type: object + QueryEventFilteredUsersRequest: + description: Request body for querying users filtered by user properties combined with event platform activity. + example: + data: + attributes: + event_query: + query: '@type:view AND @view.loading_time:>3000 AND @application.name:ecommerce-platform' + time_frame: + end: 1761309676 + start: 1760100076 + include_row_count: true + limit: 25 + query: user_org_id:5001 AND first_country_code:US AND first_browser_name:Chrome + select_columns: + - user_id + - user_email + - first_country_code + - first_browser_name + - events_count + - session_count + - error_count + - avg_loading_time + id: query_event_filtered_users_request + type: query_event_filtered_users_request + properties: + data: + $ref: '#/components/schemas/QueryEventFilteredUsersRequestData' + type: object + QueryUsersRequest: + description: Request body for querying users with optional filtering, column selection, and sorting. + example: + data: + attributes: + limit: 25 + query: user_email:*@techcorp.com AND first_country_code:US AND first_browser_name:Chrome + select_columns: + - user_id + - user_email + - user_name + - user_org_id + - first_country_code + - first_browser_name + - first_device_type + - last_seen + sort: + field: first_seen + order: DESC + wildcard_search_term: john + id: query_users_request + type: query_users_request + properties: + data: + $ref: '#/components/schemas/QueryUsersRequestData' + type: object + GetMappingResponse: + description: Response containing the entity attribute mapping configuration including all available attributes and their properties. + example: + data: + attributes: + attributes: + - attribute: user_id + description: Unique user identifier + display_name: User ID + groups: + - Identity + is_custom: false + type: string + - attribute: user_email + description: User email address + display_name: Email Address + groups: + - Identity + - Contact + is_custom: false + type: string + - attribute: first_country_code + description: The ISO code of the country for the user's first session + display_name: First Country Code + groups: + - Geography + is_custom: false + type: string + - attribute: '@customer_tier' + description: Customer subscription tier + display_name: Customer Tier + groups: + - Business + is_custom: true + type: string + id: get_mappings_response + type: get_mappings_response + properties: + data: + $ref: '#/components/schemas/GetMappingResponseData' + type: object + CreateConnectionRequest: + description: Request body for creating a new data source connection for an entity. + example: + data: + attributes: + fields: + - description: Customer subscription tier from `CRM` + display_name: Customer Tier + id: customer_tier + source_name: subscription_tier + type: string + - description: Customer lifetime value in `USD` + display_name: Lifetime Value + id: lifetime_value + source_name: ltv + type: number + join_attribute: user_email + join_type: email + type: ref_table + id: crm-integration + type: connection_id + properties: + data: + $ref: '#/components/schemas/CreateConnectionRequestData' + type: object + UpdateConnectionRequest: + description: Request body for updating an existing data source connection by adding, modifying, or removing fields. + example: + data: + attributes: + fields_to_add: + - description: Net Promoter Score from customer surveys + display_name: NPS Score + groups: + - Satisfaction + - Metrics + id: nps_score + source_name: net_promoter_score + type: number + fields_to_delete: + - old_revenue_field + fields_to_update: + - field_id: lifetime_value + updated_display_name: Customer Lifetime Value (`USD`) + updated_groups: + - Financial + - Metrics + id: crm-integration + type: connection_id + properties: + data: + $ref: '#/components/schemas/UpdateConnectionRequestData' + type: object + ListConnectionsResponse: + description: Response containing the list of all data source connections configured for an entity. + example: + data: + attributes: + connections: + - created_at: '0001-01-01T00:00:00Z' + created_by: 00000000-0000-0000-0000-000000000000 + fields: + - description: Customer subscription tier + display_name: Customer Tier + groups: + - Business + - Subscription + id: customer_tier + source_name: subscription_tier + type: string + - description: Channel through which user signed up + display_name: Signup Source + groups: + - Marketing + - Attribution + id: signup_source + source_name: acquisition_channel + type: string + id: user-profiles-connection + join: + attribute: user_email + type: email + type: ref_table + updated_at: '0001-01-01T00:00:00Z' + updated_by: 00000000-0000-0000-0000-000000000000 + id: list_connections_response + type: list_connections_response + properties: + data: + $ref: '#/components/schemas/ListConnectionsResponseData' + type: object + SnapshotArray: + description: A list of heatmap snapshots returned by a list operation. + properties: + data: + description: Array of heatmap snapshot data objects. + items: + $ref: '#/components/schemas/SnapshotData' + type: array + required: + - data + type: object + SnapshotCreateRequest: + description: Request body for creating a heatmap snapshot. + properties: + data: + $ref: '#/components/schemas/SnapshotCreateRequestData' + required: + - data + type: object + Snapshot: + description: A single heatmap snapshot resource returned by create or update operations. + properties: + data: + $ref: '#/components/schemas/SnapshotData' + type: object + SnapshotUpdateRequest: + description: Request body for updating a heatmap snapshot. + properties: + data: + $ref: '#/components/schemas/SnapshotUpdateRequestData' + required: + - data + type: object + RUMAggregateRequest: + description: The object sent with the request to retrieve aggregation buckets of RUM events from your organization. + properties: + compute: + description: The list of metrics or timeseries to compute for the retrieved buckets. + items: + $ref: '#/components/schemas/RUMCompute' + type: array + filter: + $ref: '#/components/schemas/RUMQueryFilter' + group_by: + description: The rules for the group by. + items: + $ref: '#/components/schemas/RUMGroupBy' + type: array + options: + $ref: '#/components/schemas/RUMQueryOptions' + page: + $ref: '#/components/schemas/RUMQueryPageOptions' + type: object + RUMAnalyticsAggregateResponse: + description: The response object for the RUM events aggregate API endpoint. + properties: + data: + $ref: '#/components/schemas/RUMAggregationBucketsResponse' + links: + $ref: '#/components/schemas/RUMResponseLinks' + meta: + $ref: '#/components/schemas/RUMResponseMetadata' + type: object + RUMApplicationsResponse: + description: RUM applications response. + properties: + data: + description: RUM applications array response. + items: + $ref: '#/components/schemas/RUMApplicationList' + type: array + type: object + RUMApplicationCreateRequest: + description: RUM application creation request attributes. + properties: + data: + $ref: '#/components/schemas/RUMApplicationCreate' + required: + - data + type: object + RUMApplicationResponse: + description: RUM application response. + properties: + data: + $ref: '#/components/schemas/RUMApplication' + type: object + RumRetentionFiltersOrderRequest: + description: |- + The list of RUM retention filter IDs along with their corresponding type to reorder. + All retention filter IDs should be included in the list created for a RUM application. + properties: + data: + description: A list of RUM retention filter IDs along with type. + items: + $ref: '#/components/schemas/RumRetentionFiltersOrderData' + type: array + type: object + RumRetentionFiltersOrderResponse: + description: The list of RUM retention filter IDs along with type. + properties: + data: + description: A list of RUM retention filter IDs along with type. + items: + $ref: '#/components/schemas/RumRetentionFiltersOrderData' + type: array + type: object + RumRetentionFiltersResponse: + description: All RUM retention filters for a RUM application. + properties: + data: + description: A list of RUM retention filters. + items: + $ref: '#/components/schemas/RumRetentionFilterData' + type: array + type: object + RumRetentionFilterCreateRequest: + description: The RUM retention filter body to create. + properties: + data: + $ref: '#/components/schemas/RumRetentionFilterCreateData' + required: + - data + type: object + RumRetentionFilterResponse: + description: The RUM retention filter object. + properties: + data: + $ref: '#/components/schemas/RumRetentionFilterData' + type: object + RumExclusionFiltersResponse: + description: All exclusion filters for a RUM application. + properties: + data: + description: A list of exclusion filters. + items: + $ref: '#/components/schemas/RumExclusionFilterData' + type: array + type: object + RumExclusionFilterCreateRequest: + description: The exclusion filter body to create. + properties: + data: + $ref: '#/components/schemas/RumExclusionFilterCreateData' + required: + - data + type: object + RumExclusionFilterResponse: + description: An exclusion filter response body. + properties: + data: + $ref: '#/components/schemas/RumExclusionFilterData' + type: object + RumExclusionFilterUpdateRequest: + description: The exclusion filter body to update. + properties: + data: + $ref: '#/components/schemas/RumExclusionFilterUpdateData' + required: + - data + type: object + RumPermanentRetentionFiltersResponse: + description: All permanent RUM retention filters for a RUM application. + properties: + data: + description: A list of permanent RUM retention filters. + items: + $ref: '#/components/schemas/RumPermanentRetentionFilterData' + type: array + type: object + RumPermanentRetentionFilterResponse: + description: A permanent RUM retention filter object. + properties: + data: + $ref: '#/components/schemas/RumPermanentRetentionFilterData' + type: object + RumPermanentRetentionFilterUpdateRequest: + description: The permanent RUM retention filter body to update. + properties: + data: + $ref: '#/components/schemas/RumPermanentRetentionFilterUpdateData' + required: + - data + type: object + RumRetentionFilterUpdateRequest: + description: The RUM retention filter body to update. + properties: + data: + $ref: '#/components/schemas/RumRetentionFilterUpdateData' + required: + - data + type: object + RUMApplicationUpdateRequest: + description: RUM application update request. + properties: + data: + $ref: '#/components/schemas/RUMApplicationUpdate' + required: + - data + type: object + APIErrorResponse: + description: API error response. + properties: + errors: + description: A list of errors. + example: + - Bad Request + items: + description: A list of items. + example: Bad Request + type: string + type: array + required: + - errors + type: object + RumConfigResponse: + description: The RUM configuration object. + properties: + data: + $ref: '#/components/schemas/RumConfigData' + required: + - data + type: object + RumConfigUpdateRequest: + description: Request body for updating the RUM configuration. + properties: + data: + $ref: '#/components/schemas/RumConfigUpdateData' + required: + - data + type: object + RumConfigCreateRequest: + description: Request body for creating the RUM configuration. + properties: + data: + $ref: '#/components/schemas/RumConfigCreateData' + required: + - data + type: object + RumMetricsResponse: + description: All the available RUM-based metric objects. + properties: + data: + description: A list of RUM-based metric objects. + items: + $ref: '#/components/schemas/RumMetricResponseData' + type: array + type: object RumMetricCreateRequest: - description: The new rum-based metric body. + description: The new RUM-based metric body. + properties: + data: + $ref: '#/components/schemas/RumMetricCreateData' + required: + - data + type: object + RumMetricResponse: + description: The RUM-based metric object. + properties: + data: + $ref: '#/components/schemas/RumMetricResponseData' + type: object + RumMetricUpdateRequest: + description: The new RUM-based metric body. + properties: + data: + $ref: '#/components/schemas/RumMetricUpdateData' + required: + - data + type: object + JSONAPIErrorResponse: + description: API error response. + properties: + errors: + description: A list of errors. + items: + $ref: '#/components/schemas/JSONAPIErrorItem' + type: array + required: + - errors + type: object + RumRetentionQuotaConfigResponse: + description: The RUM retention quota configuration response. + properties: + data: + $ref: '#/components/schemas/RumRetentionQuotaConfigData' + required: + - data + type: object + RumRetentionQuotaConfigUpdateRequest: + description: The body of a request to create or update a RUM retention quota configuration. + properties: + data: + $ref: '#/components/schemas/RumRetentionQuotaConfigUpdateData' + required: + - data + type: object + TeamsOwnershipMappingsResponse: + description: The response body for a list of teams ownership mappings. + properties: + data: + description: A list of teams ownership mappings. + items: + $ref: '#/components/schemas/TeamsOwnershipMappingResponseData' + type: array + required: + - data + type: object + TeamsOwnershipMappingCreateRequest: + description: The request body for creating a teams ownership mapping. + properties: + data: + $ref: '#/components/schemas/TeamsOwnershipMappingCreateData' + required: + - data + type: object + TeamsOwnershipMappingResponse: + description: The response body for a single teams ownership mapping. + properties: + data: + $ref: '#/components/schemas/TeamsOwnershipMappingResponseData' + required: + - data + type: object + TeamsOwnershipMappingBatchRequest: + description: The request body for bulk-creating and bulk-removing teams ownership mappings. + properties: + atomic:operations: + description: The list of add and remove operations to apply atomically. + items: + $ref: '#/components/schemas/TeamsOwnershipMappingBatchOperation' + type: array + required: + - atomic:operations + type: object + TeamsOwnershipMappingBatchResponse: + description: |- + The response body for the bulk create and remove operation. On success, `atomic:results` + contains one entry per operation. Add results appear before remove results and may not match + request order. Correlate add results by their `type` and `id` rather than by array position. + On failure, no operations were applied and `errors` describes what went wrong. + properties: + atomic:results: + description: |- + The result of each operation. + Add operations are processed first, then remove operations, so results may not appear + in the same order as the request. Present only on success. + items: + $ref: '#/components/schemas/TeamsOwnershipMappingBatchResult' + type: array + errors: + description: The validation or processing errors encountered. Present only when the request could not be completed. + items: + $ref: '#/components/schemas/TeamsOwnershipMappingBatchError' + type: array + type: object + TeamsOwnershipRulesResponse: + description: The response body for a list of teams ownership rules. + properties: + data: + description: A list of teams ownership rules. + items: + $ref: '#/components/schemas/TeamsOwnershipRuleResponseData' + type: array + required: + - data + type: object + RUMSort: + description: Sort parameters when querying events. + enum: + - timestamp + - '-timestamp' + type: string + x-enum-varnames: + - TIMESTAMP_ASCENDING + - TIMESTAMP_DESCENDING + RUMEventsResponse: + description: Response object with all events matching the request and pagination information. + properties: + data: + description: Array of events matching the request. + items: + $ref: '#/components/schemas/RUMEvent' + type: array + links: + $ref: '#/components/schemas/RUMResponseLinks' + meta: + $ref: '#/components/schemas/RUMResponseMetadata' + type: object + RUMSearchEventsRequest: + description: The request for a RUM events list. + properties: + filter: + $ref: '#/components/schemas/RUMQueryFilter' + options: + $ref: '#/components/schemas/RUMQueryOptions' + page: + $ref: '#/components/schemas/RUMQueryPageOptions' + sort: + $ref: '#/components/schemas/RUMSort' + type: object + RUMOperationCreateRequest: + description: The request body for creating a RUM operation. + properties: + data: + $ref: '#/components/schemas/RUMOperationCreateRequestData' + required: + - data + type: object + RUMOperationResponse: + description: The response for a single RUM operation. + properties: + data: + $ref: '#/components/schemas/RUMOperationResponseData' + required: + - data + type: object + RUMOperationsListResponse: + description: The response for a list of RUM operations. + properties: + data: + items: + $ref: '#/components/schemas/RUMOperationResponseData' + type: array + meta: + $ref: '#/components/schemas/RUMOperationsListResponseMeta' + required: + - data + type: object + RUMOperationStrongLinksListResponse: + description: The response for a list of RUM operation strong links. + properties: + data: + items: + $ref: '#/components/schemas/RUMOperationStrongLinkResponseData' + type: array + meta: + $ref: '#/components/schemas/RUMOperationStrongLinksListResponseMeta' + required: + - data + type: object + RUMOperationStrongLinkCreateRequest: + description: The request body for creating a RUM operation strong link. + properties: + data: + $ref: '#/components/schemas/RUMOperationStrongLinkCreateRequestData' + required: + - data + type: object + RUMOperationStrongLinkResponse: + description: The response for a single RUM operation strong link. + properties: + data: + $ref: '#/components/schemas/RUMOperationStrongLinkResponseData' + required: + - data + type: object + RUMOperationStrongLinkUpdateRequest: + description: The request body for updating a RUM operation strong link. + properties: + data: + $ref: '#/components/schemas/RUMOperationStrongLinkUpdateRequestData' + required: + - data + type: object + RUMOperationUpdateRequest: + description: The request body for updating a RUM operation. + properties: + data: + $ref: '#/components/schemas/RUMOperationUpdateRequestData' + required: + - data + type: object + AggregatedLongTasksRequest: + description: Request body for the aggregated long tasks endpoint. + properties: + data: + $ref: '#/components/schemas/AggregatedLongTasksRequestData' + required: + - data + type: object + AggregatedLongTasksResponse: + description: Response body for the aggregated long tasks endpoint. + properties: + data: + $ref: '#/components/schemas/AggregatedLongTasksResponseData' + required: + - data + type: object + AggregatedSignalsProblemsRequest: + description: Request body for the aggregated signals and problems endpoint. + properties: + data: + $ref: '#/components/schemas/AggregatedSignalsProblemsRequestData' + required: + - data + type: object + AggregatedSignalsProblemsResponse: + description: Response body for the aggregated signals and problems endpoint. + properties: + data: + $ref: '#/components/schemas/AggregatedSignalsProblemsResponseData' + required: + - data + type: object + AggregatedWaterfallRequest: + description: Request body for the aggregated waterfall endpoint. + properties: + data: + $ref: '#/components/schemas/AggregatedWaterfallRequestData' + required: + - data + type: object + AggregatedWaterfallResponse: + description: Response body for the aggregated waterfall endpoint. + properties: + data: + $ref: '#/components/schemas/AggregatedWaterfallResponseData' + required: + - data + type: object + PlaylistArray: + description: A list of RUM replay playlists returned by a list operation. + properties: + data: + description: Array of playlist data objects. + items: + $ref: '#/components/schemas/PlaylistData' + type: array + required: + - data + type: object + Playlist: + description: A single RUM replay playlist resource returned by create, update, or get operations. + properties: + data: + $ref: '#/components/schemas/PlaylistData' + required: + - data + type: object + SessionIdArray: + description: A collection of session identifiers used for bulk add or remove operations on a playlist. + properties: + data: + description: Array of session identifier data objects. + items: + $ref: '#/components/schemas/SessionIdData' + type: array + required: + - data + type: object + PlaylistsSessionArray: + description: A list of RUM replay sessions belonging to a playlist. + properties: + data: + description: Array of playlist session data objects. + items: + $ref: '#/components/schemas/PlaylistsSessionData' + type: array + required: + - data + type: object + PlaylistsSession: + description: A single RUM replay session resource as it appears within a playlist context. + properties: + data: + $ref: '#/components/schemas/PlaylistsSessionData' + required: + - data + type: object + WatcherArray: + description: A list of users who have watched a RUM replay session. + properties: + data: + description: Array of watcher data objects. + items: + $ref: '#/components/schemas/WatcherData' + type: array + required: + - data + type: object + Watch: + description: A single RUM replay session watch resource returned by create operations. + properties: + data: + $ref: '#/components/schemas/WatchData' + required: + - data + type: object + ViewershipHistorySessionArray: + description: A list of RUM replay sessions from a user's viewership history. + properties: + data: + description: Array of viewership history session data objects. + items: + $ref: '#/components/schemas/ViewershipHistorySessionData' + type: array + required: + - data + type: object + SourcemapMapKind: + description: The type of source map. + enum: + - js + - jvm + - ios + - react + - flutter + - elf + - ndk + - il2cpp + example: js + type: string + x-enum-varnames: + - JS + - JVM + - IOS + - REACT + - FLUTTER + - ELF + - NDK + - IL2CPP + SourcemapsResponse: + description: Response containing a list of affected source maps. + properties: + data: + $ref: '#/components/schemas/SourcemapsData' + required: + - data + type: object + SourcemapFileResponse: + description: Response containing a JavaScript source map file. + properties: + data: + $ref: '#/components/schemas/SourcemapFileData' + required: + - data + type: object + ListSourcemapsResponse: + description: Response containing a paginated list of source maps. + properties: + data: + $ref: '#/components/schemas/SourcemapsData' + meta: + $ref: '#/components/schemas/SourcemapsListMeta' + required: + - data + type: object + ServiceRepositoryInfoRequest: + description: Request body for retrieving service repository information. + properties: + data: + $ref: '#/components/schemas/ServiceRepositoryInfoRequestData' + required: + - data + type: object + ServiceRepositoryInfoResponse: + description: Response containing service repository information. + properties: + data: + $ref: '#/components/schemas/ServiceRepositoryInfoResponseData' + required: + - data + type: object + ProductAnalyticsServerSideEventItemAccount: + description: The account linked to your event. + properties: + id: + description: The account ID used in Datadog. + example: account-67890 + type: string + required: + - id + type: object + ProductAnalyticsServerSideEventItemApplication: + description: The application in which you want to send your events. + properties: + id: + description: |- + The application ID of your application. It can be found in your + [application management page](https://app.datadoghq.com/rum/list). + example: 123abcde-123a-123b-1234-123456789abc + type: string + required: + - id + type: object + ProductAnalyticsServerSideEventItemEvent: + description: Fields used for the event. + properties: + name: + description: The name of your event, which is used for search in the same way as view or action names. + example: payment.processed + type: string + required: + - name + type: object + ProductAnalyticsServerSideEventItemSession: + description: The session linked to your event. + properties: + id: + description: The session ID captured by the SDK. + example: session-abcdef + type: string + required: + - id + type: object + ProductAnalyticsServerSideEventItemType: + description: The type of Product Analytics event. Must be `server` for server-side events. + enum: + - server + example: server + type: string + x-enum-varnames: + - SERVER + ProductAnalyticsServerSideEventItemUsr: + description: The user linked to your event. + properties: + id: + description: The user ID used in Datadog. + example: user-12345 + type: string + required: + - id + type: object + ProductAnalyticsServerSideEventError: + description: Error details. + properties: + detail: + description: Error message. + example: Malformed payload + type: string + status: + description: Error code. + example: '400' + type: string + title: + description: Error title. + example: Bad Request + type: string + type: object + FacetInfoRequestData: + description: The data object containing the resource type and attributes for the facet info request. + properties: + attributes: + $ref: '#/components/schemas/FacetInfoRequestDataAttributes' + id: + description: Unique identifier for the facet info request resource. + type: string + type: + $ref: '#/components/schemas/FacetInfoRequestDataType' + required: + - type + type: object + FacetInfoResponseData: + description: The data object containing the resource type and attributes for the facet info response. + properties: + attributes: + $ref: '#/components/schemas/FacetInfoResponseDataAttributes' + id: + description: Unique identifier for the facet info response resource. + type: string + type: + $ref: '#/components/schemas/FacetInfoResponseDataType' + required: + - type + type: object + QueryAccountRequestData: + description: The data object containing the resource type and attributes for querying accounts. + properties: + attributes: + $ref: '#/components/schemas/QueryAccountRequestDataAttributes' + id: + description: Unique identifier for the query account request resource. + type: string + type: + $ref: '#/components/schemas/QueryAccountRequestDataType' + required: + - type + type: object + QueryResponseData: + description: The data object containing the resource type and attributes of the query response. + properties: + attributes: + $ref: '#/components/schemas/QueryResponseDataAttributes' + id: + description: Unique identifier for the query response resource. + type: string + type: + $ref: '#/components/schemas/QueryResponseDataType' + required: + - type + type: object + ProductAnalyticsAnalyticsListRequestData: + description: Data object for an analytics list request. + properties: + attributes: + $ref: '#/components/schemas/ProductAnalyticsAnalyticsListRequestAttributes' + type: + $ref: '#/components/schemas/ProductAnalyticsAnalyticsListRequestType' + required: + - type + - attributes + type: object + ProductAnalyticsAnalyticsListResponseData: + description: Data object for an analytics list response. + properties: + attributes: + $ref: '#/components/schemas/ProductAnalyticsAnalyticsListResponseAttributes' + id: + description: Unique identifier for this response data object. + example: 00000000-0000-0000-0000-000000000000 + type: string + type: + $ref: '#/components/schemas/ProductAnalyticsAnalyticsListResponseType' + required: + - id + - type + - attributes + type: object + ProductAnalyticsResponseMeta: + description: Metadata for a Product Analytics query response. + properties: + request_id: + description: Unique identifier of the query. + type: string + status: + $ref: '#/components/schemas/ProductAnalyticsResponseMetaStatus' + type: object + ProductAnalyticsAnalyticsRequestData: + description: Data object for an analytics request. + properties: + attributes: + $ref: '#/components/schemas/ProductAnalyticsAnalyticsRequestAttributes' + type: + $ref: '#/components/schemas/ProductAnalyticsAnalyticsRequestType' + required: + - type + - attributes + type: object + ProductAnalyticsScalarResponseData: + description: Data object for a scalar response. + properties: + attributes: + $ref: '#/components/schemas/ProductAnalyticsScalarResponseAttributes' + id: + description: Unique identifier for this response data object. + type: string + type: + $ref: '#/components/schemas/ProductAnalyticsScalarResponseType' + type: object + ProductAnalyticsTimeseriesResponseData: + description: Data object for a timeseries analytics response. + properties: + attributes: + $ref: '#/components/schemas/ProductAnalyticsTimeseriesResponseAttributes' + id: + description: Unique identifier for this response data object. + type: string + type: + $ref: '#/components/schemas/ProductAnalyticsTimeseriesResponseType' + type: object + ProductAnalyticsJourneyFunnelRequestData: + description: |- + The single JSON:API resource carrying a funnel query. Its attributes hold the time window to + query and the journey whose step-to-step conversion should be measured. + properties: + attributes: + $ref: '#/components/schemas/ProductAnalyticsJourneyFunnelRequestAttributes' + type: + $ref: '#/components/schemas/ProductAnalyticsJourneyRequestType' + required: + - type + - attributes + type: object + ProductAnalyticsJourneyFunnelResponseData: + description: |- + The single JSON:API resource holding a computed funnel. Its attributes contain the number of + entities that entered, the end-to-end conversion, and one entry per funnel step. + properties: + attributes: + $ref: '#/components/schemas/ProductAnalyticsJourneyFunnelResponseAttributes' + id: + description: Identifier of this result. + example: 00000000-0000-0000-0000-000000000000 + type: string + type: + $ref: '#/components/schemas/ProductAnalyticsJourneyFunnelResponseType' + required: + - id + - type + - attributes + type: object + ProductAnalyticsJourneyListRequestData: + description: |- + The single JSON:API resource carrying a journey list query. Its attributes hold the time window + and the journey whose matching entities should be listed, one row each. + properties: + attributes: + $ref: '#/components/schemas/ProductAnalyticsJourneyListRequestAttributes' + type: + $ref: '#/components/schemas/ProductAnalyticsJourneyListRequestType' + required: + - type + - attributes + type: object + ProductAnalyticsJourneyListResponseData: + description: |- + The single JSON:API resource holding the entities matching a journey. Its attributes contain + the returned rows and the total number of rows that matched, ignoring `limit`. + properties: + attributes: + $ref: '#/components/schemas/ProductAnalyticsJourneyListResponseAttributes' + id: + description: Identifier of this result. + example: 00000000-0000-0000-0000-000000000000 + type: string + type: + $ref: '#/components/schemas/ProductAnalyticsJourneyListResponseType' + required: + - id + - type + - attributes + type: object + ProductAnalyticsJourneyScalarRequestData: + description: |- + The single JSON:API resource carrying a journey scalar query. Its attributes hold the time + window and the journey metric to reduce to one value over that window. + properties: + attributes: + $ref: '#/components/schemas/ProductAnalyticsJourneyScalarRequestAttributes' + type: + $ref: '#/components/schemas/ProductAnalyticsFormulaJourneyRequestType' + required: + - type + - attributes + type: object + ProductAnalyticsJourneyScalarResponseData: + description: |- + The single JSON:API resource holding journey scalar results. Its attributes contain one value + per group, suitable for a query value or top list widget. + properties: + attributes: + $ref: '#/components/schemas/ProductAnalyticsScalarResponseAttributes' + id: + description: Identifier of this result. + example: 00000000-0000-0000-0000-000000000000 + type: string + type: + $ref: '#/components/schemas/ProductAnalyticsJourneyScalarResponseType' + required: + - id + - type + - attributes + type: object + ProductAnalyticsFormulaJourneyRequestData: + description: |- + The single JSON:API resource carrying a journey timeseries query. Its attributes hold the time + window, the bucket interval that splits it, and the journey metric to compute per bucket. + properties: + attributes: + $ref: '#/components/schemas/ProductAnalyticsFormulaJourneyRequestAttributes' + type: + $ref: '#/components/schemas/ProductAnalyticsFormulaJourneyRequestType' + required: + - type + - attributes + type: object + ProductAnalyticsJourneyTimeseriesResponseData: + description: |- + The single JSON:API resource holding journey timeseries results. Its attributes contain one + series per group along with the timestamps the points fall on. + properties: + attributes: + $ref: '#/components/schemas/ProductAnalyticsTimeseriesResponseAttributes' + id: + description: Identifier of this result. + example: 00000000-0000-0000-0000-000000000000 + type: string + type: + $ref: '#/components/schemas/ProductAnalyticsJourneyTimeseriesResponseType' + required: + - id + - type + - attributes + type: object + ProductAnalyticsRetentionGridRequestData: + description: |- + The single JSON:API resource carrying a retention grid query. Its attributes hold the time + window to query and the cohort and return criteria that define the grid. + properties: + attributes: + $ref: '#/components/schemas/ProductAnalyticsRetentionGridRequestAttributes' + type: + $ref: '#/components/schemas/ProductAnalyticsRetentionGridRequestType' + required: + - type + - attributes + type: object + ProductAnalyticsRetentionGridResponseData: + description: |- + The single JSON:API resource holding a computed retention grid. Its attributes contain the + return periods forming the columns and the cohorts forming the rows. + properties: + attributes: + $ref: '#/components/schemas/ProductAnalyticsRetentionGridResponseAttributes' + id: + description: Unique identifier for this response data object. + example: 00000000-0000-0000-0000-000000000000 + type: string + type: + $ref: '#/components/schemas/ProductAnalyticsRetentionGridResponseType' + required: + - id + - type + - attributes + type: object + ProductAnalyticsRetentionListRequestData: + description: |- + The single JSON:API resource carrying a retention list query. Its attributes hold the time + window, the cell to list, and the columns to return for each entity. + properties: + attributes: + $ref: '#/components/schemas/ProductAnalyticsRetentionListRequestAttributes' + type: + $ref: '#/components/schemas/ProductAnalyticsRetentionListRequestType' + required: + - type + - attributes + type: object + ProductAnalyticsRetentionListResponseData: + description: |- + The single JSON:API resource holding the entities behind one retention cell. Its attributes + contain the entity whose retention was measured and one row per matching entity. + properties: + attributes: + $ref: '#/components/schemas/ProductAnalyticsRetentionListResponseAttributes' + id: + description: Unique identifier for this response data object. + example: 00000000-0000-0000-0000-000000000000 + type: string + type: + $ref: '#/components/schemas/ProductAnalyticsRetentionListResponseType' + required: + - id + - type + - attributes + type: object + ProductAnalyticsFormulaRetentionRequestData: + description: |- + The single JSON:API resource carrying a retention scalar or timeseries query. Its attributes + hold the time window to query and the retention query definition to evaluate. + properties: + attributes: + $ref: '#/components/schemas/ProductAnalyticsFormulaRetentionRequestAttributes' + type: + $ref: '#/components/schemas/ProductAnalyticsFormulaRetentionRequestType' + required: + - type + - attributes + type: object + ProductAnalyticsSankeyRequestData: + description: |- + The single JSON:API resource carrying a Sankey query. Its attributes hold the time window to + query, the search that selects the sessions, and the definition of the diagram to build. + properties: + attributes: + $ref: '#/components/schemas/ProductAnalyticsSankeyRequestAttributes' + type: + $ref: '#/components/schemas/ProductAnalyticsSankeyRequestType' + required: + - type + - attributes + type: object + ProductAnalyticsSankeyResponseData: + description: |- + The single JSON:API resource holding a computed Sankey diagram. Its attributes contain the + nodes of every column and the links that carry sessions between them. + properties: + attributes: + $ref: '#/components/schemas/ProductAnalyticsSankeyResponseAttributes' + id: + description: Unique identifier for this response data object. + example: 00000000-0000-0000-0000-000000000000 + type: string + type: + $ref: '#/components/schemas/ProductAnalyticsSankeyResponseType' + required: + - id + - type + - attributes + type: object + QueryEventFilteredUsersRequestData: + description: The data object containing the resource type and attributes for querying event-filtered users. + properties: + attributes: + $ref: '#/components/schemas/QueryEventFilteredUsersRequestDataAttributes' + id: + description: Unique identifier for the query event filtered users request resource. + type: string + type: + $ref: '#/components/schemas/QueryEventFilteredUsersRequestDataType' + required: + - type + type: object + QueryUsersRequestData: + description: The data object containing the resource type and attributes for querying users. + properties: + attributes: + $ref: '#/components/schemas/QueryUsersRequestDataAttributes' + id: + description: Unique identifier for the query users request resource. + type: string + type: + $ref: '#/components/schemas/QueryUsersRequestDataType' + required: + - type + type: object + GetMappingResponseData: + description: The data object containing the resource type and attributes for the get mapping response. + properties: + attributes: + $ref: '#/components/schemas/GetMappingResponseDataAttributes' + id: + description: Unique identifier for the get mapping response resource. + type: string + type: + $ref: '#/components/schemas/GetMappingResponseDataType' + required: + - type + type: object + CreateConnectionRequestData: + description: The data object containing the resource type and attributes for creating a new connection. + properties: + attributes: + $ref: '#/components/schemas/CreateConnectionRequestDataAttributes' + id: + description: Unique identifier for the new connection resource. + type: string + type: + $ref: '#/components/schemas/UpdateConnectionRequestDataType' + required: + - type + type: object + UpdateConnectionRequestData: + description: The data object containing the resource identifier and attributes for updating an existing connection. + properties: + attributes: + $ref: '#/components/schemas/UpdateConnectionRequestDataAttributes' + id: + description: The unique identifier of the connection to update. + example: '' + type: string + type: + $ref: '#/components/schemas/UpdateConnectionRequestDataType' + required: + - type + - id + type: object + ListConnectionsResponseData: + description: The data object containing the resource type and attributes for the list connections response. + properties: + attributes: + $ref: '#/components/schemas/ListConnectionsResponseDataAttributes' + id: + description: Unique identifier for the list connections response resource. + type: string + type: + $ref: '#/components/schemas/ListConnectionsResponseDataType' + required: + - type + type: object + SnapshotData: + description: Data object representing a heatmap snapshot, including its identifier, type, and attributes. + properties: + attributes: + $ref: '#/components/schemas/SnapshotDataAttributes' + id: + description: Unique identifier of the heatmap snapshot. + readOnly: true + type: string + type: + $ref: '#/components/schemas/SnapshotUpdateRequestDataType' + required: + - type + type: object + SnapshotCreateRequestData: + description: Data object for a heatmap snapshot creation request, containing the resource type and attributes. + properties: + attributes: + $ref: '#/components/schemas/SnapshotCreateRequestDataAttributes' + type: + $ref: '#/components/schemas/SnapshotUpdateRequestDataType' + required: + - type + type: object + SnapshotUpdateRequestData: + description: Data object for a heatmap snapshot update request, containing the resource identifier, type, and attributes. + properties: + attributes: + $ref: '#/components/schemas/SnapshotUpdateRequestDataAttributes' + id: + description: Unique identifier of the heatmap snapshot to update. + example: 00000000-0000-0000-0000-000000000001 + type: string + type: + $ref: '#/components/schemas/SnapshotUpdateRequestDataType' + required: + - type + type: object + RUMCompute: + description: A compute rule to compute metrics or timeseries. + properties: + aggregation: + $ref: '#/components/schemas/RUMAggregationFunction' + interval: + description: |- + The time buckets' size (only used for type=timeseries) + Defaults to a resolution of 150 points. + example: 5m + type: string + metric: + description: The metric to use. + example: '@duration' + type: string + type: + $ref: '#/components/schemas/RUMComputeType' + required: + - aggregation + type: object + RUMQueryFilter: + description: The search and filter query settings. + properties: + from: + default: now-15m + description: The minimum time for the requested events; supports date (in [ISO 8601](https://www.w3.org/TR/NOTE-datetime) format with full date, hours, minutes, and the `Z` UTC indicator - seconds and fractional seconds are optional), math, and regular timestamps (in milliseconds). + example: now-15m + type: string + query: + default: '*' + description: The search query following the RUM search syntax. + example: '@type:session AND @session.type:user' + type: string + to: + default: now + description: The maximum time for the requested events; supports date (in [ISO 8601](https://www.w3.org/TR/NOTE-datetime) format with full date, hours, minutes, and the `Z` UTC indicator - seconds and fractional seconds are optional), math, and regular timestamps (in milliseconds). + example: now + type: string + type: object + RUMGroupBy: + description: A group-by rule. + properties: + facet: + description: The name of the facet to use (required). + example: '@view.time_spent' + type: string + histogram: + $ref: '#/components/schemas/RUMGroupByHistogram' + limit: + default: 10 + description: The maximum buckets to return for this group-by. + format: int64 + type: integer + missing: + $ref: '#/components/schemas/RUMGroupByMissing' + sort: + $ref: '#/components/schemas/RUMAggregateSort' + total: + $ref: '#/components/schemas/RUMGroupByTotal' + required: + - facet + type: object + RUMQueryOptions: + description: |- + Global query options that are used during the query. + Note: Only supply timezone or time offset, not both. Otherwise, the query fails. + properties: + time_offset: + description: The time offset (in seconds) to apply to the query. + format: int64 + type: integer + timezone: + default: UTC + description: The timezone can be specified as GMT, UTC, an offset from UTC (like UTC+1), or as a Timezone Database identifier (like America/New_York). + example: GMT + type: string + type: object + RUMQueryPageOptions: + description: Paging attributes for listing events. + properties: + cursor: + description: List following results with a cursor provided in the previous query. + example: eyJzdGFydEF0IjoiQVFBQUFYS2tMS3pPbm40NGV3QUFBQUJCV0V0clRFdDZVbG8zY3pCRmNsbHJiVmxDWlEifQ== + type: string + limit: + default: 10 + description: Maximum number of events in the response. + example: 25 + format: int32 + maximum: 1000 + type: integer + type: object + RUMAggregationBucketsResponse: + description: The query results. + properties: + buckets: + description: The list of matching buckets, one item per bucket. + items: + $ref: '#/components/schemas/RUMBucketResponse' + type: array + type: object + RUMResponseLinks: + description: Links attributes. + properties: + next: + description: |- + Link for the next set of results. Note that the request can also be made using the + POST endpoint. + example: https://app.datadoghq.com/api/v2/rum/event?filter[query]=foo&page[cursor]=eyJzdGFydEF0IjoiQVFBQUFYS2tMS3pPbm40NGV3QUFBQUJCV0V0clRFdDZVbG8zY3pCRmNsbHJiVmxDWlEifQ== + type: string + type: object + RUMResponseMetadata: + description: The metadata associated with a request. + properties: + elapsed: + description: The time elapsed in milliseconds. + example: 132 + format: int64 + type: integer + page: + $ref: '#/components/schemas/RUMResponsePage' + request_id: + description: The identifier of the request. + example: MWlFUjVaWGZTTTZPYzM0VXp1OXU2d3xLSVpEMjZKQ0VKUTI0dEYtM3RSOFVR + type: string + status: + $ref: '#/components/schemas/RUMResponseStatus' + warnings: + description: |- + A list of warnings (non-fatal errors) encountered. Partial results may return if + warnings are present in the response. + items: + $ref: '#/components/schemas/RUMWarning' + type: array + type: object + RUMApplicationList: + description: RUM application list. + properties: + attributes: + $ref: '#/components/schemas/RUMApplicationListAttributes' + id: + description: RUM application ID. + example: abcd1234-0000-0000-abcd-1234abcd5678 + type: string + type: + $ref: '#/components/schemas/RUMApplicationListType' + required: + - attributes + - type + type: object + RUMApplicationCreate: + description: RUM application creation. + properties: + attributes: + $ref: '#/components/schemas/RUMApplicationCreateAttributes' + type: + $ref: '#/components/schemas/RUMApplicationCreateType' + required: + - attributes + - type + type: object + RUMApplication: + description: RUM application. + properties: + attributes: + $ref: '#/components/schemas/RUMApplicationAttributes' + id: + description: RUM application ID. + example: abcd1234-0000-0000-abcd-1234abcd5678 + type: string + type: + $ref: '#/components/schemas/RUMApplicationType' + required: + - attributes + - id + - type + type: object + RumRetentionFiltersOrderData: + description: The RUM retention filter data for ordering. + properties: + id: + $ref: '#/components/schemas/RumRetentionFilterID' + type: + $ref: '#/components/schemas/RumRetentionFilterType' + required: + - id + - type + type: object + RumRetentionFilterData: + description: The RUM retention filter. + properties: + attributes: + $ref: '#/components/schemas/RumRetentionFilterAttributes' + id: + $ref: '#/components/schemas/RumRetentionFilterID' + type: + $ref: '#/components/schemas/RumRetentionFilterType' + type: object + RumRetentionFilterCreateData: + description: The new RUM retention filter properties to create. + properties: + attributes: + $ref: '#/components/schemas/RumRetentionFilterCreateAttributes' + type: + $ref: '#/components/schemas/RumRetentionFilterType' + required: + - type + - attributes + type: object + RumExclusionFilterData: + description: An exclusion filter. + properties: + attributes: + $ref: '#/components/schemas/RumExclusionFilterAttributes' + id: + description: The ID of the exclusion filter. + example: 051601eb-54a0-abc0-03f9-cc02efa18892 + type: string + meta: + $ref: '#/components/schemas/RumExclusionFilterMeta' + type: + $ref: '#/components/schemas/RumExclusionFilterType' + required: + - id + - type + type: object + RumExclusionFilterCreateData: + description: The new exclusion filter properties to create. + properties: + attributes: + $ref: '#/components/schemas/RumExclusionFilterCreateAttributes' + type: + $ref: '#/components/schemas/RumExclusionFilterType' + required: + - type + - attributes + type: object + RumExclusionFilterUpdateData: + description: The exclusion filter properties to update. + properties: + attributes: + $ref: '#/components/schemas/RumExclusionFilterUpdateAttributes' + id: + description: The ID of the exclusion filter. Must match the `ef_id` path parameter. + example: 051601eb-54a0-abc0-03f9-cc02efa18892 + type: string + type: + $ref: '#/components/schemas/RumExclusionFilterType' + required: + - id + - type + - attributes + type: object + RumPermanentRetentionFilterData: + description: A permanent RUM retention filter. + properties: + attributes: + $ref: '#/components/schemas/RumPermanentRetentionFilterAttributes' + id: + $ref: '#/components/schemas/RumPermanentRetentionFilterID' + type: + $ref: '#/components/schemas/RumPermanentRetentionFilterType' + type: object + RumPermanentRetentionFilterID: + description: The identifier of a permanent RUM retention filter. + enum: + - rum_apm_flat_sampling + - synthetics_sessions + - forced_replay_sessions + example: synthetics_sessions + type: string + x-enum-varnames: + - RUM_APM_FLAT_SAMPLING + - SYNTHETICS_SESSIONS + - FORCED_REPLAY_SESSIONS + RumPermanentRetentionFilterUpdateData: + description: The new permanent RUM retention filter configuration to update. + properties: + attributes: + $ref: '#/components/schemas/RumPermanentRetentionFilterUpdateAttributes' + id: + $ref: '#/components/schemas/RumPermanentRetentionFilterID' + type: + $ref: '#/components/schemas/RumPermanentRetentionFilterType' + required: + - id + - type + - attributes + type: object + RumRetentionFilterUpdateData: + description: The new RUM retention filter properties to update. + properties: + attributes: + $ref: '#/components/schemas/RumRetentionFilterUpdateAttributes' + id: + $ref: '#/components/schemas/RumRetentionFilterID' + type: + $ref: '#/components/schemas/RumRetentionFilterType' + required: + - id + - type + - attributes + type: object + RUMApplicationUpdate: + description: RUM application update. + properties: + attributes: + $ref: '#/components/schemas/RUMApplicationUpdateAttributes' + id: + description: RUM application ID. + example: abcd1234-0000-0000-abcd-1234abcd5678 + type: string + type: + $ref: '#/components/schemas/RUMApplicationUpdateType' + required: + - id + - type + type: object + RumConfigData: + description: The RUM configuration data. + properties: + attributes: + $ref: '#/components/schemas/RumConfigAttributes' + id: + description: The organization ID associated with the RUM configuration. + example: '1234' + type: string + type: + $ref: '#/components/schemas/RumConfigType' + required: + - id + - type + - attributes + type: object + RumConfigUpdateData: + description: Object describing the RUM configuration to update. + properties: + attributes: + $ref: '#/components/schemas/RumConfigUpdateAttributes' + type: + $ref: '#/components/schemas/RumConfigType' + required: + - type + - attributes + type: object + RumConfigCreateData: + description: Object describing the RUM configuration to create. + properties: + attributes: + $ref: '#/components/schemas/RumConfigCreateAttributes' + type: + $ref: '#/components/schemas/RumConfigType' + required: + - type + - attributes + type: object + RumMetricResponseData: + description: The RUM-based metric properties. + properties: + attributes: + $ref: '#/components/schemas/RumMetricResponseAttributes' + id: + $ref: '#/components/schemas/RumMetricID' + type: + $ref: '#/components/schemas/RumMetricType' + type: object + RumMetricCreateData: + description: The new RUM-based metric properties. + properties: + attributes: + $ref: '#/components/schemas/RumMetricCreateAttributes' + id: + $ref: '#/components/schemas/RumMetricID' + type: + $ref: '#/components/schemas/RumMetricType' + required: + - id + - type + - attributes + type: object + RumMetricUpdateData: + description: The new RUM-based metric properties. + properties: + attributes: + $ref: '#/components/schemas/RumMetricUpdateAttributes' + id: + $ref: '#/components/schemas/RumMetricID' + type: + $ref: '#/components/schemas/RumMetricType' + required: + - type + - attributes + type: object + RumRetentionQuotaScopeType: + default: application + description: |- + The type of scope the retention quota configuration applies to. + `application` is the only supported scope type. + enum: + - application + example: application + type: string + x-enum-varnames: + - APPLICATION + JSONAPIErrorItem: + description: API error response body + properties: + detail: + description: A human-readable explanation specific to this occurrence of the error. + example: Missing required attribute in body + type: string + meta: + additionalProperties: {} + description: Non-standard meta-information about the error + type: object + source: + $ref: '#/components/schemas/JSONAPIErrorItemSource' + status: + description: Status code of the response. + example: '400' + type: string + title: + description: Short human-readable summary of the error. + example: Bad Request + type: string + type: object + RumRetentionQuotaConfigData: + description: The RUM retention quota configuration object. + properties: + attributes: + $ref: '#/components/schemas/RumRetentionQuotaConfigAttributes' + id: + description: The identifier of the scope the retention quota configuration applies to. + example: cd73a516-a481-4af5-8352-9b577465c77b + type: string + type: + $ref: '#/components/schemas/RumRetentionQuotaConfigType' + required: + - id + - type + - attributes + type: object + RumRetentionQuotaConfigUpdateData: + description: The RUM retention quota configuration to create or update. + properties: + attributes: + $ref: '#/components/schemas/RumRetentionQuotaConfigUpdateAttributes' + id: + description: |- + The identifier of the scope the retention quota configuration applies to. + Must match `scope_id` in the path. + example: cd73a516-a481-4af5-8352-9b577465c77b + type: string + type: + $ref: '#/components/schemas/RumRetentionQuotaConfigType' + required: + - id + - type + - attributes + type: object + TeamsOwnershipMappingResponseData: + description: The JSON:API data envelope for a teams ownership mapping. + properties: + attributes: + $ref: '#/components/schemas/TeamsOwnershipMappingResponseAttributes' + id: + description: The unique identifier of the teams ownership mapping. + example: '123' + type: string + type: + $ref: '#/components/schemas/TeamsOwnershipMappingType' + required: + - id + - type + - attributes + type: object + TeamsOwnershipMappingCreateData: + description: The JSON:API data envelope for a teams ownership mapping create request. + properties: + attributes: + $ref: '#/components/schemas/TeamsOwnershipMappingCreateDataAttributes' + type: + $ref: '#/components/schemas/TeamsOwnershipMappingType' + required: + - type + - attributes + type: object + TeamsOwnershipMappingBatchOperation: + description: A single add or remove operation, applied atomically with every other operation in the request. + properties: + data: + $ref: '#/components/schemas/TeamsOwnershipMappingBatchOperationData' + op: + $ref: '#/components/schemas/TeamsOwnershipMappingBatchOperationOp' + ref: + $ref: '#/components/schemas/TeamsOwnershipMappingBatchOperationRef' + required: + - op + type: object + TeamsOwnershipMappingBatchResult: + description: |- + The result of a single operation. + Add operations are processed first, then remove operations, so results may not appear + in the same order as the request. Empty for `remove` operations. + properties: + data: + $ref: '#/components/schemas/TeamsOwnershipMappingBatchResultData' + type: object + TeamsOwnershipMappingBatchError: + description: An error encountered while validating or applying an operation. + properties: + detail: + description: A human-readable explanation specific to this error. + example: prefix match_type is not enabled for this org + type: string + status: + description: The HTTP status code applicable to this error. + example: '400' + type: string + title: + description: A short, human-readable summary of the error. + example: Bad Request + type: string + required: + - status + - title + type: object + TeamsOwnershipRuleResponseData: + description: The JSON:API data envelope for a teams ownership rule. + properties: + attributes: + $ref: '#/components/schemas/TeamsOwnershipRuleResponseAttributes' + id: + description: |- + A deterministic identifier derived from the rule's grouping key. + This ID cannot be used to delete the rule directly; delete individual mappings + using the `mapping_id` under `teams` instead. + example: 3b1e2f7a9c4d6e8f0a1b2c3d4e5f6a7b8c9d0e1f2a3b4c5d6e7f8a9b0c1d2e3f + type: string + type: + $ref: '#/components/schemas/TeamsOwnershipRuleType' + required: + - id + - type + - attributes + type: object + RUMEvent: + description: Object description of a RUM event after being processed and stored by Datadog. + properties: + attributes: + $ref: '#/components/schemas/RUMEventAttributes' + id: + description: Unique ID of the event. + example: AAAAAWgN8Xwgr1vKDQAAAABBV2dOOFh3ZzZobm1mWXJFYTR0OA + type: string + type: + $ref: '#/components/schemas/RUMEventType' + type: object + RUMOperationCreateRequestData: + description: The data object for creating a RUM operation. + properties: + attributes: + $ref: '#/components/schemas/RUMOperationRequestAttributes' + type: + $ref: '#/components/schemas/RUMOperationType' + required: + - type + - attributes + type: object + RUMOperationResponseData: + description: The data object in a RUM operation response. + properties: + attributes: + $ref: '#/components/schemas/RUMOperationResponseAttributes' + id: + description: The unique identifier of the RUM operation. + example: abc12345-1234-5678-abcd-ef1234567890 + readOnly: true + type: string + type: + $ref: '#/components/schemas/RUMOperationType' + required: + - id + - type + - attributes + type: object + RUMOperationsListResponseMeta: + description: Metadata for a list of RUM operations. + properties: + page: + $ref: '#/components/schemas/RUMOperationsListResponseMetaPage' + type: object + RUMOperationStrongLinkResponseData: + description: The data object in a RUM operation strong link response. + properties: + attributes: + $ref: '#/components/schemas/RUMOperationStrongLinkResponseAttributes' + id: + description: The unique identifier of the strong link, formatted as `:`. + example: abc12345-1234-5678-abcd-ef1234567890:feature-123 + readOnly: true + type: string + type: + $ref: '#/components/schemas/RUMOperationStrongLinkType' + required: + - id + - type + - attributes + type: object + RUMOperationStrongLinksListResponseMeta: + description: Metadata for a list of RUM operation strong links. + properties: + limit: + description: The pagination limit. + format: int64 + type: integer + offset: + description: The current offset. + format: int64 + type: integer + total: + description: The total number of strong links matching the request. + format: int64 + type: integer + type: object + RUMOperationStrongLinkCreateRequestData: + description: The data object for creating a RUM operation strong link. + properties: + attributes: + $ref: '#/components/schemas/RUMOperationStrongLinkCreateRequestAttributes' + type: + $ref: '#/components/schemas/RUMOperationStrongLinkType' + required: + - type + - attributes + type: object + RUMOperationStrongLinkUpdateRequestData: + description: The data object for updating a RUM operation strong link. + properties: + attributes: + $ref: '#/components/schemas/RUMOperationStrongLinkUpdateRequestAttributes' + type: + $ref: '#/components/schemas/RUMOperationStrongLinkType' + required: + - type + - attributes + type: object + RUMOperationUpdateRequestData: + description: The data object for updating a RUM operation. + properties: + attributes: + $ref: '#/components/schemas/RUMOperationRequestAttributes' + id: + description: The unique identifier of the RUM operation. Must match the ID in the URL path. + example: abc12345-1234-5678-abcd-ef1234567890 + type: string + type: + $ref: '#/components/schemas/RUMOperationType' + required: + - id + - type + - attributes + type: object + AggregatedLongTasksRequestData: + description: Data envelope for an aggregated long tasks request. + properties: + attributes: + $ref: '#/components/schemas/AggregatedLongTasksRequestAttributes' + type: + $ref: '#/components/schemas/AggregatedLongTasksRequestType' + required: + - type + - attributes + type: object + AggregatedLongTasksResponseData: + description: Data envelope for an aggregated long tasks response. + properties: + attributes: + $ref: '#/components/schemas/AggregatedLongTasksResponseAttributes' + id: + description: Hash-based unique identifier for this aggregation. + example: 2f0b3455 + type: string + type: + $ref: '#/components/schemas/AggregatedLongTasksRequestType' + required: + - id + - type + - attributes + type: object + AggregatedSignalsProblemsRequestData: + description: Data envelope for an aggregated signals and problems request. + properties: + attributes: + $ref: '#/components/schemas/AggregatedSignalsProblemsRequestAttributes' + type: + $ref: '#/components/schemas/AggregatedSignalsProblemsRequestType' + required: + - type + - attributes + type: object + AggregatedSignalsProblemsResponseData: + description: Data envelope for an aggregated signals and problems response. + properties: + attributes: + $ref: '#/components/schemas/AggregatedSignalsProblemsResponseAttributes' + id: + description: Hash-based unique identifier for this aggregation. + example: 2f0b3455 + type: string + type: + $ref: '#/components/schemas/AggregatedSignalsProblemsRequestType' + required: + - id + - type + - attributes + type: object + AggregatedWaterfallRequestData: + description: Data envelope for an aggregated waterfall request. + properties: + attributes: + $ref: '#/components/schemas/AggregatedWaterfallRequestAttributes' + type: + $ref: '#/components/schemas/AggregatedWaterfallRequestType' + required: + - type + - attributes + type: object + AggregatedWaterfallResponseData: + description: Data envelope for an aggregated waterfall response. + properties: + attributes: + $ref: '#/components/schemas/AggregatedWaterfallResponseAttributes' + id: + description: Hash-based unique identifier for this aggregation. + example: 2f0b3455 + type: string + type: + $ref: '#/components/schemas/AggregatedWaterfallRequestType' + required: + - id + - type + - attributes + type: object + PlaylistData: + description: Data object representing a RUM replay playlist, including its identifier, type, and attributes. + properties: + attributes: + $ref: '#/components/schemas/PlaylistDataAttributes' + id: + description: Unique identifier of the playlist. + type: string + type: + $ref: '#/components/schemas/PlaylistDataType' + required: + - type + type: object + SessionIdData: + description: A session identifier data object used for bulk playlist operations. + properties: + id: + description: Unique identifier of the RUM replay session. + example: 00000000-0000-0000-0000-000000000001 + type: string + type: + $ref: '#/components/schemas/ViewershipHistorySessionDataType' + required: + - type + type: object + PlaylistsSessionData: + description: Data object representing a session within a playlist, including its identifier, type, and attributes. + properties: + attributes: + $ref: '#/components/schemas/PlaylistsSessionDataAttributes' + id: + description: Unique identifier of the RUM replay session. + type: string + type: + $ref: '#/components/schemas/ViewershipHistorySessionDataType' + required: + - type + type: object + WatcherData: + description: Data object representing a session watcher, including their identifier, type, and attributes. + properties: + attributes: + $ref: '#/components/schemas/WatcherDataAttributes' + id: + description: Unique identifier of the watcher user. + type: string + type: + $ref: '#/components/schemas/WatcherDataType' + required: + - type + type: object + WatchData: + description: Data object representing a session watch record, including its identifier, type, and attributes. + properties: + attributes: + $ref: '#/components/schemas/WatchDataAttributes' + id: + description: Unique identifier of the watch record. + type: string + type: + $ref: '#/components/schemas/WatchDataType' + required: + - type + type: object + ViewershipHistorySessionData: + description: Data object representing a session in the viewership history, including its identifier, type, and attributes. + properties: + attributes: + $ref: '#/components/schemas/ViewershipHistorySessionDataAttributes' + id: + description: Unique identifier of the RUM replay session. + type: string + type: + $ref: '#/components/schemas/ViewershipHistorySessionDataType' + required: + - type + type: object + SourcemapsData: + description: List of source map data objects. + items: + $ref: '#/components/schemas/SourcemapItem' + type: array + SourcemapFileData: + description: JavaScript source map file data object. + properties: + attributes: + $ref: '#/components/schemas/SourcemapFileAttributes' + id: + description: The unique identifier of the source map file, typically the path to the file. + example: path/to/sourcemap.js.map + type: string + type: + $ref: '#/components/schemas/SourcemapFileDataType' + required: + - id + - type + - attributes + type: object + SourcemapsListMeta: + description: Pagination metadata for the source maps list response. + properties: + page: + $ref: '#/components/schemas/SourcemapsListMetaPage' + required: + - page + type: object + ServiceRepositoryInfoRequestData: + description: Data object for the service repository info request. + properties: + attributes: + $ref: '#/components/schemas/ServiceRepositoryInfoRequestAttributes' + type: + $ref: '#/components/schemas/ServiceRepositoryInfoDataType' + required: + - type + - attributes + type: object + ServiceRepositoryInfoResponseData: + description: Data object for the service repository info response. + properties: + attributes: + $ref: '#/components/schemas/ServiceRepositoryInfoResponseAttributes' + id: + description: The identifier composed of the service name and version. + example: my-web-service:1.0.0 + type: string + type: + $ref: '#/components/schemas/ServiceRepositoryInfoDataType' + required: + - id + - type + - attributes + type: object + FacetInfoRequestDataAttributes: + description: Attributes for the facet info request, specifying which facet to query and optional filters to apply. + properties: + facet_id: + description: The identifier of the facet attribute to retrieve value information for. + example: '' + type: string + limit: + description: Maximum number of facet values to return in the response. + example: 0 + format: int64 + type: integer + search: + $ref: '#/components/schemas/FacetInfoRequestDataAttributesSearch' + term_search: + $ref: '#/components/schemas/FacetInfoRequestDataAttributesTermSearch' + required: + - facet_id + - limit + type: object + FacetInfoRequestDataType: + default: users_facet_info_request + description: Users facet info request resource type. + enum: + - users_facet_info_request + example: users_facet_info_request + type: string + x-enum-varnames: + - USERS_FACET_INFO_REQUEST + FacetInfoResponseDataAttributes: + description: Attributes of the facet info response, containing the facet result data. + properties: + result: + $ref: '#/components/schemas/FacetInfoResponseDataAttributesResult' + type: object + FacetInfoResponseDataType: + default: users_facet_info + description: Users facet info resource type. + enum: + - users_facet_info + example: users_facet_info + type: string + x-enum-varnames: + - USERS_FACET_INFO + QueryAccountRequestDataAttributes: + description: Attributes for filtering and shaping the account query results. + properties: + limit: + description: Maximum number of account records to return in the response. + format: int64 + type: integer + query: + description: Filter expression using account attribute conditions to narrow results. + type: string + select_columns: + description: List of account attribute column names to include in the response. + items: + description: Name of an account attribute column to include in the response. + type: string + type: array + sort: + $ref: '#/components/schemas/QueryAccountRequestDataAttributesSort' + wildcard_search_term: + description: Free-text term used for wildcard search across account attribute values. + type: string + type: object + QueryAccountRequestDataType: + default: query_account_request + description: Query account request resource type. + enum: + - query_account_request + example: query_account_request + type: string + x-enum-varnames: + - QUERY_ACCOUNT_REQUEST + QueryResponseDataAttributes: + description: Attributes of the query response, containing the matched records and total count. + properties: + hits: + description: The list of matching records returned by the query, each as a map of attribute names to values. + items: + additionalProperties: {} + description: A single matched record represented as a map of attribute names to their values. + type: array + total: + description: Total number of records matching the query, regardless of the limit applied. + format: int64 + type: integer + type: object + QueryResponseDataType: + default: query_response + description: Query response resource type. + enum: + - query_response + example: query_response + type: string + x-enum-varnames: + - QUERY_RESPONSE + ProductAnalyticsAnalyticsListRequestAttributes: + description: Attributes for an analytics list request. + properties: + from: + description: Start time in epoch milliseconds. Must be less than `to`. + example: 1771232048460 + format: int64 + type: integer + query: + $ref: '#/components/schemas/ProductAnalyticsAnalyticsListQuery' + to: + description: End time in epoch milliseconds. + example: 1771836848262 + format: int64 + type: integer + required: + - from + - to + - query + type: object + ProductAnalyticsAnalyticsListRequestType: + description: The resource type for analytics list requests. + enum: + - formula_analytics_extended_list_request + example: formula_analytics_extended_list_request + type: string + x-enum-varnames: + - FORMULA_ANALYTICS_EXTENDED_LIST_REQUEST + ProductAnalyticsAnalyticsListResponseAttributes: + description: Attributes of an analytics list response, containing the matching event rows. + properties: + records: + description: The event rows, each holding the values of the requested columns. + items: + $ref: '#/components/schemas/ProductAnalyticsAnalyticsListRecord' + type: array + total_count: + description: Total number of records matching the query, before the row limit is applied. + format: int64 + type: integer + type: object + ProductAnalyticsAnalyticsListResponseType: + description: The resource type identifier for an analytics list response. + enum: + - list_response + example: list_response + type: string + x-enum-varnames: + - LIST_RESPONSE + ProductAnalyticsResponseMetaStatus: + description: The execution status of a Product Analytics query. + enum: + - done + - running + - timeout + type: string + x-enum-varnames: + - DONE + - RUNNING + - TIMEOUT + ProductAnalyticsAnalyticsRequestAttributes: + description: Attributes for an analytics request. + properties: + enforced_execution_type: + $ref: '#/components/schemas/ProductAnalyticsExecutionType' + deprecated: true + description: |- + Deprecated. Selects the internal query execution infrastructure and will be removed. + Do not set this field. + from: + description: Start time in epoch milliseconds. Must be less than `to`. + example: 1771232048460 + format: int64 + type: integer + query: + $ref: '#/components/schemas/ProductAnalyticsAnalyticsQuery' + request_id: + description: Unique identifier of the query. + type: string + to: + description: End time in epoch milliseconds. + example: 1771836848262 + format: int64 + type: integer + required: + - from + - to + - query + type: object + ProductAnalyticsAnalyticsRequestType: + description: The resource type for analytics requests. + enum: + - formula_analytics_extended_request + example: formula_analytics_extended_request + type: string + x-enum-varnames: + - FORMULA_ANALYTICS_EXTENDED_REQUEST + ProductAnalyticsScalarResponseAttributes: + description: Attributes of a scalar analytics response, containing the result columns. + properties: + columns: + description: The list of result columns, each containing values and metadata. + items: + $ref: '#/components/schemas/ProductAnalyticsScalarColumn' + type: array + type: object + ProductAnalyticsScalarResponseType: + description: The resource type identifier for a scalar analytics response. + enum: + - scalar_response + type: string + x-enum-varnames: + - SCALAR_RESPONSE + ProductAnalyticsTimeseriesResponseAttributes: + description: |- + Attributes of a timeseries analytics response, containing series data, timestamps, and + interval definitions. + properties: + intervals: + description: Interval definitions describing the time buckets used in the response. + items: + $ref: '#/components/schemas/ProductAnalyticsInterval' + type: array + series: + description: The list of series, each corresponding to a query or group-by combination. + items: + $ref: '#/components/schemas/ProductAnalyticsSerie' + type: array + times: + description: Timestamps for each data point (epoch milliseconds). + items: + description: Epoch timestamp in milliseconds. + format: int64 + type: integer + type: array + values: + description: Values for each series at each time point. + items: + description: Array of numeric values for a single series across all time points. + items: + description: Numeric value at a time point, or null if no data is available. + format: double + nullable: true + type: number + type: array + type: array + type: object + ProductAnalyticsTimeseriesResponseType: + description: The resource type identifier for a timeseries analytics response. + enum: + - timeseries_response + type: string + x-enum-varnames: + - TIMESERIES_RESPONSE + ProductAnalyticsJourneyFunnelRequestAttributes: + description: Attributes of a journey funnel request. + properties: + exclude_anonymous_traffic: + default: false + description: Whether to exclude sessions that are not tied to an identified user. + type: boolean + from: + description: Start of the query window, in epoch milliseconds. + example: 1756425600000 + format: int64 + type: integer + query: + $ref: '#/components/schemas/ProductAnalyticsJourneyFunnelQuery' + to: + description: End of the query window, in epoch milliseconds. + example: 1756857600000 + format: int64 + type: integer + required: + - from + - to + - query + type: object + ProductAnalyticsJourneyRequestType: + description: The resource type identifier for a journey funnel request. + enum: + - journey_request + example: journey_request + type: string + x-enum-varnames: + - JOURNEY_REQUEST + ProductAnalyticsJourneyFunnelResponseAttributes: + description: Attributes of a journey funnel response. + properties: + end_to_end_conversion_rate: + description: Conversion rate from the first step to the last step. + example: 0.42 + format: double + type: number + end_to_end_elapsed_time: + $ref: '#/components/schemas/ProductAnalyticsElapsedTime' + funnel_steps: + description: The funnel steps, in the order given by the search expression. + items: + $ref: '#/components/schemas/ProductAnalyticsJourneyFunnelStep' + type: array + initial_count: + description: Number of entities that entered the funnel. + example: 1200 + format: int64 + type: integer + required: + - initial_count + - end_to_end_conversion_rate + - end_to_end_elapsed_time + - funnel_steps + type: object + ProductAnalyticsJourneyFunnelResponseType: + description: The resource type identifier for a journey funnel response. + enum: + - funnel_response + example: funnel_response + type: string + x-enum-varnames: + - FUNNEL_RESPONSE + ProductAnalyticsJourneyListRequestAttributes: + description: Attributes of a journey list request. + properties: + from: + description: Start of the query window, in epoch milliseconds. + example: 1756425600000 + format: int64 + type: integer + query: + $ref: '#/components/schemas/ProductAnalyticsJourneyListQuery' + to: + description: End of the query window, in epoch milliseconds. + example: 1756857600000 + format: int64 + type: integer + required: + - from + - to + - query + type: object + ProductAnalyticsJourneyListRequestType: + description: The resource type identifier for a journey list request. + enum: + - journey_list_request + example: journey_list_request + type: string + x-enum-varnames: + - JOURNEY_LIST_REQUEST + ProductAnalyticsJourneyListResponseAttributes: + description: Attributes of a journey list response. + properties: + entity: + $ref: '#/components/schemas/ProductAnalyticsJourneyEntity' + records: + description: The returned rows. + items: + $ref: '#/components/schemas/ProductAnalyticsJourneyListRecord' + type: array + total_count: + description: Total number of rows matching the query, ignoring `limit`. + example: 231 + format: int64 + type: integer + required: + - entity + - total_count + - records + type: object + ProductAnalyticsJourneyListResponseType: + description: The resource type identifier for a journey list response. + enum: + - journey_list_response + example: journey_list_response + type: string + x-enum-varnames: + - JOURNEY_LIST_RESPONSE + ProductAnalyticsJourneyScalarRequestAttributes: + description: Attributes of a journey scalar request. + properties: + from: + description: Start of the query window, in epoch milliseconds. + example: 1756425600000 + format: int64 + type: integer + query: + $ref: '#/components/schemas/ProductAnalyticsJourneyScalarQuery' + to: + description: End of the query window, in epoch milliseconds. + example: 1756857600000 + format: int64 + type: integer + required: + - from + - to + - query + type: object + ProductAnalyticsFormulaJourneyRequestType: + description: The resource type identifier for a journey timeseries or scalar request. + enum: + - formula_journey_request + example: formula_journey_request + type: string + x-enum-varnames: + - FORMULA_JOURNEY_REQUEST + ProductAnalyticsJourneyScalarResponseType: + description: The resource type identifier for a journey scalar response. + enum: + - journey_scalar_response + example: journey_scalar_response + type: string + x-enum-varnames: + - JOURNEY_SCALAR_RESPONSE + ProductAnalyticsFormulaJourneyRequestAttributes: + description: Attributes of a journey timeseries request. + properties: + from: + description: Start of the query window, in epoch milliseconds. + example: 1756425600000 + format: int64 + type: integer + interval: + description: Time bucket interval in milliseconds. + format: int64 + type: integer + query: + $ref: '#/components/schemas/ProductAnalyticsFormulaJourneyQuery' + to: + description: End of the query window, in epoch milliseconds. + example: 1756857600000 + format: int64 + type: integer + required: + - from + - to + - query + type: object + ProductAnalyticsJourneyTimeseriesResponseType: + description: The resource type identifier for a journey timeseries response. + enum: + - journey_timeseries_response + example: journey_timeseries_response + type: string + x-enum-varnames: + - JOURNEY_TIMESERIES_RESPONSE + ProductAnalyticsRetentionGridRequestAttributes: + description: Attributes of a retention grid request. + properties: + exclude_anonymous_traffic: + default: false + description: Whether to exclude sessions that are not tied to an identified user. + type: boolean + from: + description: Start of the query window, in epoch milliseconds. + example: 1756425600000 + format: int64 + type: integer + query: + $ref: '#/components/schemas/ProductAnalyticsRetentionGridQuery' + to: + description: End of the query window, in epoch milliseconds. + example: 1756857600000 + format: int64 + type: integer + required: + - from + - to + - query + type: object + ProductAnalyticsRetentionGridRequestType: + description: The resource type identifier for a retention grid request. + enum: + - retention_grid_request + example: retention_grid_request + type: string + x-enum-varnames: + - RETENTION_GRID_REQUEST + ProductAnalyticsRetentionGridResponseAttributes: + description: Attributes of a retention grid response, containing the cohort rows and the period columns. + properties: + cohorts: + description: The cohorts forming the rows of the grid. + items: + $ref: '#/components/schemas/ProductAnalyticsRetentionGridCohort' + type: array + retention_entity: + description: The entity whose retention was measured. + type: string + retention_periods: + description: The return periods forming the columns of the grid. + items: + $ref: '#/components/schemas/ProductAnalyticsRetentionPeriod' + type: array + unit: + description: Unit definitions for the grid values. + items: + $ref: '#/components/schemas/ProductAnalyticsUnit' + type: array + type: object + ProductAnalyticsRetentionGridResponseType: + description: The resource type identifier for a retention grid response. + enum: + - retention_grid_response + example: retention_grid_response + type: string + x-enum-varnames: + - RETENTION_GRID_RESPONSE + ProductAnalyticsRetentionListRequestAttributes: + description: Attributes of a retention list request. + properties: + from: + description: Start of the query window, in epoch milliseconds. + example: 1756425600000 + format: int64 + type: integer + query: + $ref: '#/components/schemas/ProductAnalyticsRetentionListQuery' + to: + description: End of the query window, in epoch milliseconds. + example: 1756857600000 + format: int64 + type: integer + required: + - from + - to + - query + type: object + ProductAnalyticsRetentionListRequestType: + description: The resource type identifier for a retention list request. + enum: + - retention_list_request + example: retention_list_request + type: string + x-enum-varnames: + - RETENTION_LIST_REQUEST + ProductAnalyticsRetentionListResponseAttributes: + description: Attributes of a retention list response, containing the matching entity rows. + properties: + records: + description: The matching entity rows. + items: + $ref: '#/components/schemas/ProductAnalyticsRetentionListRecord' + type: array + retention_entity: + description: The entity whose retention was measured. + type: string + type: object + ProductAnalyticsRetentionListResponseType: + description: The resource type identifier for a retention list response. + enum: + - retention_list_response + example: retention_list_response + type: string + x-enum-varnames: + - RETENTION_LIST_RESPONSE + ProductAnalyticsFormulaRetentionRequestAttributes: + description: Attributes of a retention scalar or retention timeseries request. + properties: + exclude_anonymous_traffic: + default: false + description: Whether to exclude sessions that are not tied to an identified user. + type: boolean + from: + description: Start of the query window, in epoch milliseconds. + example: 1756425600000 + format: int64 + type: integer + query: + $ref: '#/components/schemas/ProductAnalyticsFormulaRetentionQuery' + to: + description: End of the query window, in epoch milliseconds. + example: 1756857600000 + format: int64 + type: integer + required: + - from + - to + - query + type: object + ProductAnalyticsFormulaRetentionRequestType: + description: The resource type identifier for a retention scalar or retention timeseries request. + enum: + - formula_retention_request + example: formula_retention_request + type: string + x-enum-varnames: + - FORMULA_RETENTION_REQUEST + ProductAnalyticsSankeyRequestAttributes: + description: Attributes of a Sankey request. + properties: + definition: + $ref: '#/components/schemas/ProductAnalyticsSankeyDefinition' + search: + $ref: '#/components/schemas/ProductAnalyticsSankeySearch' + time: + $ref: '#/components/schemas/ProductAnalyticsSankeyTime' + required: + - time + - search + - definition + type: object + ProductAnalyticsSankeyRequestType: + description: The resource type identifier for a Sankey request. + enum: + - sankey_request + example: sankey_request + type: string + x-enum-varnames: + - SANKEY_REQUEST + ProductAnalyticsSankeyResponseAttributes: + description: Attributes of a Sankey response, containing the nodes and the links between them. + properties: + links: + description: The links of the diagram, one per pair of connected nodes. + items: + $ref: '#/components/schemas/ProductAnalyticsSankeyLink' + type: array + nodes: + description: The nodes of the diagram, one per facet value and column. + items: + $ref: '#/components/schemas/ProductAnalyticsSankeyNode' + type: array + type: object + ProductAnalyticsSankeyResponseType: + description: The resource type identifier for a Sankey response. + enum: + - sankey_response + example: sankey_response + type: string + x-enum-varnames: + - SANKEY_RESPONSE + QueryEventFilteredUsersRequestDataAttributes: + description: Attributes for filtering users by both user properties and event platform activity. + properties: + event_query: + $ref: '#/components/schemas/QueryEventFilteredUsersRequestDataAttributesEventQuery' + include_row_count: + description: Whether to include the total count of matching users in the response. + type: boolean + limit: + description: Maximum number of user records to return in the response. + format: int64 + type: integer + query: + description: Filter expression using user attribute conditions to narrow results. + type: string + select_columns: + description: List of user attribute column names to include in the response. + items: + description: Name of a user attribute column to include in the response. + type: string + type: array + type: object + QueryEventFilteredUsersRequestDataType: + default: query_event_filtered_users_request + description: Query event filtered users request resource type. + enum: + - query_event_filtered_users_request + example: query_event_filtered_users_request + type: string + x-enum-varnames: + - QUERY_EVENT_FILTERED_USERS_REQUEST + QueryUsersRequestDataAttributes: + description: Attributes for filtering and shaping the user query results. + properties: + limit: + description: Maximum number of user records to return in the response. + format: int64 + type: integer + query: + description: Filter expression using user attribute conditions to narrow results. + type: string + select_columns: + description: List of user attribute column names to include in the response. + items: + description: Name of a user attribute column to include in the response. + type: string + type: array + sort: + $ref: '#/components/schemas/QueryUsersRequestDataAttributesSort' + wildcard_search_term: + description: Free-text term used for wildcard search across user attribute values. + type: string + type: object + QueryUsersRequestDataType: + default: query_users_request + description: Query users request resource type. + enum: + - query_users_request + example: query_users_request + type: string + x-enum-varnames: + - QUERY_USERS_REQUEST + GetMappingResponseDataAttributes: + description: Attributes of the get mapping response, containing the list of configured entity attributes. + properties: + attributes: + description: The list of entity attributes and their mapping configurations. + items: + $ref: '#/components/schemas/GetMappingResponseDataAttributesAttributesItems' + type: array + type: object + GetMappingResponseDataType: + default: get_mappings_response + description: Get mappings response resource type. + enum: + - get_mappings_response + example: get_mappings_response + type: string + x-enum-varnames: + - GET_MAPPINGS_RESPONSE + CreateConnectionRequestDataAttributes: + description: Attributes defining the data source connection, including join configuration and custom fields. + properties: + fields: + description: List of custom attribute fields to import from the data source. + items: + $ref: '#/components/schemas/CreateConnectionRequestDataAttributesFieldsItems' + type: array + join_attribute: + description: The attribute in the data source used to join records with the entity. + example: '' + type: string + join_type: + description: The type of join key used to link the data source to the entity (for example, email or user_id). + example: '' + type: string + metadata: + additionalProperties: + type: string + description: Additional key-value metadata associated with the connection. + type: object + type: + description: The type of data source connection (for example, ref_table). + example: '' + type: string + required: + - join_attribute + - join_type + - type + type: object + UpdateConnectionRequestDataType: + default: connection_id + description: Connection id resource type. + enum: + - connection_id + example: connection_id + type: string + x-enum-varnames: + - CONNECTION_ID + UpdateConnectionRequestDataAttributes: + description: Attributes specifying the field modifications to apply to an existing connection. + properties: + fields_to_add: + description: New fields to add to the connection from the data source. + items: + $ref: '#/components/schemas/CreateConnectionRequestDataAttributesFieldsItems' + type: array + fields_to_delete: + description: Identifiers of existing fields to remove from the connection. + items: + description: The identifier of a field to delete from the connection. + type: string + type: array + fields_to_update: + description: Existing fields with updated metadata to apply to the connection. + items: + $ref: '#/components/schemas/UpdateConnectionRequestDataAttributesFieldsToUpdateItems' + type: array + type: object + ListConnectionsResponseDataAttributes: + description: Attributes of the list connections response, containing the collection of data source connections. + properties: + connections: + description: The list of data source connections configured for the entity. + items: + $ref: '#/components/schemas/ListConnectionsResponseDataAttributesConnectionsItems' + type: array + type: object + ListConnectionsResponseDataType: + default: list_connections_response + description: List connections response resource type. + enum: + - list_connections_response + example: list_connections_response + type: string + x-enum-varnames: + - LIST_CONNECTIONS_RESPONSE + SnapshotDataAttributes: + description: Attributes of a heatmap snapshot, including view context, device information, and audit metadata. + properties: + application_id: + description: Unique identifier of the RUM application. + type: string + created_at: + description: Timestamp when the snapshot was created. + format: date-time + readOnly: true + type: string + created_by: + description: Display name of the user who created the snapshot. + readOnly: true + type: string + created_by_handle: + description: Email handle of the user who created the snapshot. + readOnly: true + type: string + created_by_user_id: + description: Numeric identifier of the user who created the snapshot. + format: int64 + readOnly: true + type: integer + device_type: + description: Device type used when capturing the snapshot (e.g., desktop, mobile, tablet). + type: string + event_id: + description: Unique identifier of the RUM event associated with the snapshot. + type: string + is_device_type_selected_by_user: + description: Indicates whether the device type was explicitly selected by the user rather than auto-detected. + type: boolean + modified_at: + description: Timestamp when the snapshot was last modified. + format: date-time + readOnly: true + type: string + org_id: + description: Numeric identifier of the organization that owns the snapshot. + format: int64 + readOnly: true + type: integer + session_id: + description: Unique identifier of the RUM session associated with the snapshot. + type: string + snapshot_name: + description: Human-readable name for the snapshot. + type: string + start: + description: Offset in milliseconds from the start of the session at which the snapshot was captured. + format: int64 + type: integer + view_id: + description: Unique identifier of the RUM view associated with the snapshot. + type: string + view_name: + description: URL path or name of the view where the snapshot was captured. + type: string + type: object + SnapshotUpdateRequestDataType: + default: snapshots + description: Snapshots resource type. + enum: + - snapshots + example: snapshots + type: string + x-enum-varnames: + - SNAPSHOTS + SnapshotCreateRequestDataAttributes: + description: Attributes for creating a heatmap snapshot, including the view, session, event, and device context. + properties: + application_id: + description: Unique identifier of the RUM application. + example: aaaaaaaa-1111-2222-3333-bbbbbbbbbbbb + type: string + device_type: + description: Device type used when capturing the snapshot (e.g., desktop, mobile, tablet). + example: desktop + type: string + event_id: + description: Unique identifier of the RUM event associated with the snapshot. + example: 11111111-2222-3333-4444-555555555555 + type: string + is_device_type_selected_by_user: + description: Indicates whether the device type was explicitly selected by the user rather than auto-detected. + example: false + type: boolean + session_id: + description: Unique identifier of the RUM session associated with the snapshot. + type: string + snapshot_name: + description: Human-readable name for the snapshot. + example: My Snapshot + type: string + start: + description: Offset in milliseconds from the start of the session at which the snapshot was captured. + example: 0 + format: int64 + type: integer + view_id: + description: Unique identifier of the RUM view associated with the snapshot. + type: string + view_name: + description: URL path or name of the view where the snapshot was captured. + example: /home + type: string + required: + - view_name + - device_type + - application_id + - snapshot_name + - event_id + - start + - is_device_type_selected_by_user + type: object + SnapshotUpdateRequestDataAttributes: + description: Attributes for updating a heatmap snapshot, including event, session, and view context. + properties: + event_id: + description: Unique identifier of the RUM event associated with the snapshot. + example: 11111111-2222-3333-4444-555555555555 + type: string + is_device_type_selected_by_user: + description: Indicates whether the device type was explicitly selected by the user rather than auto-detected. + example: false + type: boolean + session_id: + description: Unique identifier of the RUM session associated with the snapshot. + type: string + start: + description: Offset in milliseconds from the start of the session at which the snapshot was captured. + example: 0 + format: int64 + type: integer + view_id: + description: Unique identifier of the RUM view associated with the snapshot. + type: string + required: + - event_id + - start + - is_device_type_selected_by_user + type: object + RUMAggregationFunction: + description: An aggregation function. + enum: + - count + - cardinality + - pc75 + - pc90 + - pc95 + - pc98 + - pc99 + - sum + - min + - max + - avg + - median + example: pc90 + type: string + x-enum-varnames: + - COUNT + - CARDINALITY + - PERCENTILE_75 + - PERCENTILE_90 + - PERCENTILE_95 + - PERCENTILE_98 + - PERCENTILE_99 + - SUM + - MIN + - MAX + - AVG + - MEDIAN + RUMComputeType: + default: total + description: The type of compute. + enum: + - timeseries + - total + type: string + x-enum-varnames: + - TIMESERIES + - TOTAL + RUMGroupByHistogram: + description: |- + Used to perform a histogram computation (only for measure facets). + Note: At most 100 buckets are allowed, the number of buckets is (max - min)/interval. + properties: + interval: + description: The bin size of the histogram buckets. + example: 10 + format: double + type: number + max: + description: |- + The maximum value for the measure used in the histogram + (values greater than this one are filtered out). + example: 100 + format: double + type: number + min: + description: |- + The minimum value for the measure used in the histogram + (values smaller than this one are filtered out). + example: 50 + format: double + type: number + required: + - interval + - min + - max + type: object + RUMGroupByMissing: + description: The value to use for logs that don't have the facet used to group by. + type: string + format: double + RUMAggregateSort: + description: A sort rule. + example: + aggregation: count + order: asc + properties: + aggregation: + $ref: '#/components/schemas/RUMAggregationFunction' + metric: + description: The metric to sort by (only used for `type=measure`). + example: '@duration' + type: string + order: + $ref: '#/components/schemas/RUMSortOrder' + type: + $ref: '#/components/schemas/RUMAggregateSortType' + type: object + RUMGroupByTotal: + default: false + description: A resulting object to put the given computes in over all the matching records. + type: boolean + format: double + RUMBucketResponse: + description: Bucket values. + properties: + by: + additionalProperties: + description: The values for each group-by. + type: string + description: The key-value pairs for each group-by. + example: + '@session.type': user + '@type': view + type: object + computes: + additionalProperties: + $ref: '#/components/schemas/RUMAggregateBucketValue' + description: A map of the metric name to value for regular compute, or a list of values for a timeseries. + type: object + type: object + RUMResponsePage: + description: Paging attributes. + properties: + after: + description: The cursor to use to get the next results, if any. To make the next request, use the same parameters with the addition of `page[cursor]`. + example: eyJzdGFydEF0IjoiQVFBQUFYS2tMS3pPbm40NGV3QUFBQUJCV0V0clRFdDZVbG8zY3pCRmNsbHJiVmxDWlEifQ== + type: string + type: object + RUMResponseStatus: + description: The status of the response. + enum: + - done + - timeout + example: done + type: string + x-enum-varnames: + - DONE + - TIMEOUT + RUMWarning: + description: A warning message indicating something that went wrong with the query. + properties: + code: + description: A unique code for this type of warning. + example: unknown_index + type: string + detail: + description: A detailed explanation of this specific warning. + example: 'indexes: foo, bar' + type: string + title: + description: A short human-readable summary of the warning. + example: One or several indexes are missing or invalid, results hold data from the other indexes + type: string + type: object + RUMApplicationListAttributes: + description: RUM application list attributes. + properties: + application_id: + description: ID of the RUM application. + example: abcd1234-0000-0000-abcd-1234abcd5678 + type: string + created_at: + description: Timestamp in ms of the creation date. + example: 1659479836169 + format: int64 + type: integer + created_by_handle: + description: Handle of the creator user. + example: john.doe + type: string + hash: + description: Hash of the RUM application. Optional. + type: string + is_active: + description: Indicates if the RUM application is active. + example: true + type: boolean + name: + description: Name of the RUM application. + example: my_rum_application + type: string + org_id: + description: Org ID of the RUM application. + example: 999 + format: int32 + maximum: 2147483647 + type: integer + product_scales: + $ref: '#/components/schemas/RUMProductScales' + type: + description: Type of the RUM application. Supported values are `browser`, `ios`, `android`, `react-native`, `flutter`, `roku`, `electron`, `unity`, `kotlin-multiplatform`. + example: browser + type: string + updated_at: + description: Timestamp in ms of the last update date. + example: 1659479836169 + format: int64 + type: integer + updated_by_handle: + description: Handle of the updater user. + example: jane.doe + type: string + required: + - application_id + - created_at + - created_by_handle + - name + - org_id + - type + - updated_at + - updated_by_handle + type: object + RUMApplicationListType: + default: rum_application + description: RUM application list type. + enum: + - rum_application + example: rum_application + type: string + x-enum-varnames: + - RUM_APPLICATION + RUMApplicationCreateAttributes: + description: RUM application creation attributes. + properties: + name: + description: Name of the RUM application. + example: my_new_rum_application + type: string + product_analytics_retention_state: + $ref: '#/components/schemas/RUMProductAnalyticsRetentionState' + rum_event_processing_state: + $ref: '#/components/schemas/RUMEventProcessingState' + type: + description: Type of the RUM application. Supported values are `browser`, `ios`, `android`, `react-native`, `flutter`, `roku`, `electron`, `unity`, `kotlin-multiplatform`. + example: browser + type: string + required: + - name + type: object + RUMApplicationCreateType: + default: rum_application_create + description: RUM application creation type. + enum: + - rum_application_create + example: rum_application_create + type: string + x-enum-varnames: + - RUM_APPLICATION_CREATE + RUMApplicationAttributes: + description: RUM application attributes. + properties: + api_key_id: + description: ID of the API key associated with the application. + example: 123456789 + format: int32 + maximum: 2147483647 + type: integer + application_id: + description: ID of the RUM application. + example: abcd1234-0000-0000-abcd-1234abcd5678 + type: string + client_token: + description: Client token of the RUM application. + example: abcd1234efgh5678ijkl90abcd1234efgh0 + type: string + created_at: + description: Timestamp in ms of the creation date. + example: 1659479836169 + format: int64 + type: integer + created_by_handle: + description: Handle of the creator user. + example: john.doe + type: string + hash: + description: Hash of the RUM application. Optional. + type: string + is_active: + description: Indicates if the RUM application is active. + example: true + type: boolean + name: + description: Name of the RUM application. + example: my_rum_application + type: string + org_id: + description: Org ID of the RUM application. + example: 999 + format: int32 + maximum: 2147483647 + type: integer + product_scales: + $ref: '#/components/schemas/RUMProductScales' + remote_config_id: + description: ID of the RUM SDK remote configuration for the application, if one exists. + example: abc12345-1234-5678-abcd-ef1234567890 + type: string + type: + description: Type of the RUM application. Supported values are `browser`, `ios`, `android`, `react-native`, `flutter`, `roku`, `electron`, `unity`, `kotlin-multiplatform`. + example: browser + type: string + updated_at: + description: Timestamp in ms of the last update date. + example: 1659479836169 + format: int64 + type: integer + updated_by_handle: + description: Handle of the updater user. + example: jane.doe + type: string + required: + - application_id + - client_token + - created_at + - created_by_handle + - name + - org_id + - type + - updated_at + - updated_by_handle + type: object + RUMApplicationType: + default: rum_application + description: RUM application response type. + enum: + - rum_application + example: rum_application + type: string + x-enum-varnames: + - RUM_APPLICATION + RumRetentionFilterID: + description: ID of retention filter in UUID. + example: 051601eb-54a0-abc0-03f9-cc02efa18892 + type: string + RumRetentionFilterType: + default: retention_filters + description: The type of the resource. The value should always be retention_filters. + enum: + - retention_filters + example: retention_filters + type: string + x-enum-varnames: + - RETENTION_FILTERS + RumRetentionFilterAttributes: + description: The object describing attributes of a RUM retention filter. + properties: + cross_product_sampling: + $ref: '#/components/schemas/RumCrossProductSampling' + enabled: + $ref: '#/components/schemas/RumRetentionFilterEnabled' + event_type: + $ref: '#/components/schemas/RumRetentionFilterEventType' + name: + $ref: '#/components/schemas/RunRetentionFilterName' + query: + $ref: '#/components/schemas/RumRetentionFilterQuery' + sample_rate: + $ref: '#/components/schemas/RumRetentionFilterSampleRate' + type: object + RumRetentionFilterCreateAttributes: + description: The object describing attributes of a RUM retention filter to create. + properties: + cross_product_sampling: + $ref: '#/components/schemas/RumCrossProductSamplingCreate' + enabled: + $ref: '#/components/schemas/RumRetentionFilterEnabled' + event_type: + $ref: '#/components/schemas/RumRetentionFilterEventType' + name: + $ref: '#/components/schemas/RunRetentionFilterName' + query: + $ref: '#/components/schemas/RumRetentionFilterQuery' + sample_rate: + $ref: '#/components/schemas/RumRetentionFilterSampleRate' + required: + - event_type + - name + - sample_rate + type: object + RumExclusionFilterAttributes: + description: The attributes of an exclusion filter. + properties: + enabled: + $ref: '#/components/schemas/RumExclusionFilterEnabled' + event_type: + $ref: '#/components/schemas/RumExclusionFilterEventType' + name: + $ref: '#/components/schemas/RumExclusionFilterName' + query: + $ref: '#/components/schemas/RumExclusionFilterQuery' + type: object + RumExclusionFilterMeta: + description: Metadata about the exclusion filter. + properties: + enabled_at: + description: Unix epoch (in milliseconds) when the exclusion filter was last enabled. + example: 1735689600000 + format: int64 + type: integer + updated_at: + description: Unix epoch (in milliseconds) of the last update. + example: 1735689600000 + format: int64 + type: integer + updated_by_handle: + description: Handle of the user who last updated the exclusion filter. + example: jane.doe@example.com + type: string + type: object + RumExclusionFilterType: + default: exclusion_filters + description: The resource type. The value must be `exclusion_filters`. + enum: + - exclusion_filters + example: exclusion_filters + type: string + x-enum-varnames: + - EXCLUSION_FILTERS + RumExclusionFilterCreateAttributes: + description: The attributes of an exclusion filter to create. + properties: + enabled: + description: Whether the exclusion filter is active. Defaults to `true`. + example: true + type: boolean + event_type: + $ref: '#/components/schemas/RumExclusionFilterEventType' + name: + $ref: '#/components/schemas/RumExclusionFilterName' + query: + $ref: '#/components/schemas/RumExclusionFilterQuery' + required: + - name + type: object + RumExclusionFilterUpdateAttributes: + description: |- + The attributes of an exclusion filter that can be updated. + For the built-in Error Tracking exclusion filter, only `enabled` can be set; + `name`, `event_type`, and `query` must be omitted. + properties: + enabled: + $ref: '#/components/schemas/RumExclusionFilterEnabled' + event_type: + $ref: '#/components/schemas/RumExclusionFilterEventType' + name: + $ref: '#/components/schemas/RumExclusionFilterName' + query: + $ref: '#/components/schemas/RumExclusionFilterQuery' + type: object + RumPermanentRetentionFilterAttributes: + description: The attributes of a permanent RUM retention filter. + properties: + cross_product_sampling: + $ref: '#/components/schemas/RumCrossProductSampling' + description: + description: A description of what the filter retains. + example: All sessions generated by Synthetics are retained at 100%. + type: string + editability: + $ref: '#/components/schemas/RumPermanentRetentionFilterEditability' + name: + description: The display name of the permanent retention filter. + example: Synthetics Sessions + type: string + type: object + RumPermanentRetentionFilterType: + default: permanent_retention_filters + description: The type of the resource. The value should always be `permanent_retention_filters`. + enum: + - permanent_retention_filters + example: permanent_retention_filters + type: string + x-enum-varnames: + - PERMANENT_RETENTION_FILTERS + RumPermanentRetentionFilterUpdateAttributes: + description: The configuration to update on a permanent RUM retention filter. + properties: + cross_product_sampling: + $ref: '#/components/schemas/RumCrossProductSamplingUpdate' + type: object + RumRetentionFilterUpdateAttributes: + description: The object describing attributes of a RUM retention filter to update. + properties: + cross_product_sampling: + $ref: '#/components/schemas/RumCrossProductSamplingUpdate' + enabled: + $ref: '#/components/schemas/RumRetentionFilterEnabled' + event_type: + $ref: '#/components/schemas/RumRetentionFilterEventType' + name: + $ref: '#/components/schemas/RunRetentionFilterName' + query: + $ref: '#/components/schemas/RumRetentionFilterQuery' + sample_rate: + $ref: '#/components/schemas/RumRetentionFilterSampleRate' + type: object + RUMApplicationUpdateAttributes: + description: RUM application update attributes. + properties: + name: + description: Name of the RUM application. + example: updated_name_for_my_existing_rum_application + type: string + product_analytics_retention_state: + $ref: '#/components/schemas/RUMProductAnalyticsRetentionState' + rum_event_processing_state: + $ref: '#/components/schemas/RUMEventProcessingState' + type: + description: Type of the RUM application. Supported values are `browser`, `ios`, `android`, `react-native`, `flutter`, `roku`, `electron`, `unity`, `kotlin-multiplatform`. + example: browser + type: string + type: object + RUMApplicationUpdateType: + default: rum_application_update + description: RUM application update type. + enum: + - rum_application_update + example: rum_application_update + type: string + x-enum-varnames: + - RUM_APPLICATION_UPDATE + RumConfigAttributes: + description: Attributes of the RUM configuration. + properties: + disabled: + description: Whether the RUM configuration is disabled for the organization. + example: false + type: boolean + enforced_application_tags: + description: Whether application tags are enforced for the RUM applications in the organization. + example: true + type: boolean + enforced_application_tags_updated_at: + description: Timestamp of when the enforced application tags setting was last updated. + example: '2024-01-15T09:30:00.000Z' + format: date-time + type: string + enforced_application_tags_updated_by: + description: Handle of the user who last updated the enforced application tags setting. + example: user@example.com + type: string + ootb_metrics_version: + description: Version of the out-of-the-box metrics installed for the organization. + example: 5 + format: int64 + type: integer + ootb_metrics_version_installed_at: + description: Timestamp of when the out-of-the-box metrics version was installed. + example: '2024-01-15T09:30:00.000Z' + format: date-time + type: string + retention_filters_enabled: + description: Whether retention filters are enabled for the organization. + example: true + type: boolean + retention_filters_enabled_updated_at: + description: Timestamp of when the retention filters setting was last updated. + example: '2024-01-15T09:30:00.000Z' + format: date-time + type: string + retention_filters_enabled_updated_by: + description: Handle of the user or job who last updated the retention filters setting. + example: contract-update-job + type: string + required: + - enforced_application_tags + - retention_filters_enabled + type: object + RumConfigType: + default: rum_config + description: The type of the resource. The value should always be `rum_config`. + enum: + - rum_config + example: rum_config + type: string + x-enum-varnames: + - RUM_CONFIG + RumConfigUpdateAttributes: + description: Attributes of the RUM configuration to update. + properties: + enforced_application_tags: + description: Whether application tags are enforced for the RUM applications in the organization. + example: true + type: boolean + required: + - enforced_application_tags + type: object + RumConfigCreateAttributes: + description: Attributes of the RUM configuration to create. + properties: + enforced_application_tags: + description: Whether application tags are enforced for the RUM applications in the organization. + example: true + type: boolean + required: + - enforced_application_tags + type: object + RumMetricResponseAttributes: + description: The object describing a Datadog RUM-based metric. + properties: + compute: + $ref: '#/components/schemas/RumMetricResponseCompute' + event_type: + $ref: '#/components/schemas/RumMetricEventType' + filter: + $ref: '#/components/schemas/RumMetricResponseFilter' + group_by: + description: The rules for the group by. + items: + $ref: '#/components/schemas/RumMetricResponseGroupBy' + type: array + uniqueness: + $ref: '#/components/schemas/RumMetricResponseUniqueness' + type: object + RumMetricID: + description: The name of the RUM-based metric. + example: rum.sessions.webui.count + type: string + RumMetricType: + default: rum_metrics + description: The type of the resource. The value should always be rum_metrics. + enum: + - rum_metrics + example: rum_metrics + type: string + x-enum-varnames: + - RUM_METRICS + RumMetricCreateAttributes: + description: The object describing the Datadog RUM-based metric to create. + properties: + compute: + $ref: '#/components/schemas/RumMetricCompute' + event_type: + $ref: '#/components/schemas/RumMetricEventType' + filter: + $ref: '#/components/schemas/RumMetricFilter' + group_by: + description: The rules for the group by. + items: + $ref: '#/components/schemas/RumMetricGroupBy' + type: array + uniqueness: + $ref: '#/components/schemas/RumMetricUniqueness' + required: + - event_type + - compute + type: object + RumMetricUpdateAttributes: + description: The RUM-based metric properties that will be updated. + properties: + compute: + $ref: '#/components/schemas/RumMetricUpdateCompute' + filter: + $ref: '#/components/schemas/RumMetricFilter' + group_by: + description: The rules for the group by. + items: + $ref: '#/components/schemas/RumMetricGroupBy' + type: array + type: object + JSONAPIErrorItemSource: + description: References to the source of the error. + properties: + header: + description: A string indicating the name of a single request header which caused the error. + example: Authorization + type: string + parameter: + description: A string indicating which URI query parameter caused the error. + example: limit + type: string + pointer: + description: A JSON pointer to the value in the request document that caused the error. + example: /data/attributes/title + type: string + type: object + RumRetentionQuotaConfigAttributes: + description: The RUM retention quota configuration properties. + properties: + custom: + $ref: '#/components/schemas/RumRetentionQuotaCustomConfig' + mode: + $ref: '#/components/schemas/RumRetentionQuotaMode' + org_id: + description: The ID of the organization the retention quota configuration belongs to. + example: 2 + format: int64 + type: integer + updated_at: + description: The date the retention quota configuration was last updated. + example: '2026-03-04T15:37:54.951447Z' + format: date-time + type: string + updated_by: + description: The handle of the user who last updated the retention quota configuration. + example: test@example.com + type: string + required: + - mode + - org_id + type: object + RumRetentionQuotaConfigType: + default: rum_quota_config + description: The type of the resource, always `rum_quota_config`. + enum: + - rum_quota_config + example: rum_quota_config + type: string + x-enum-varnames: + - RUM_QUOTA_CONFIG + RumRetentionQuotaConfigUpdateAttributes: + description: The RUM retention quota configuration properties to create or update. + properties: + custom: + $ref: '#/components/schemas/RumRetentionQuotaCustomConfig' + mode: + $ref: '#/components/schemas/RumRetentionQuotaMode' + required: + - mode + type: object + TeamsOwnershipMappingResponseAttributes: + description: The attributes of a teams ownership mapping. + properties: + application_id: + description: |- + The ID of the RUM application this mapping applies to. + For browser applications, this is the real application UUID. + For mobile applications, this is the nil UUID `00000000-0000-0000-0000-000000000000` (wildcard), meaning the ownership applies across all applications. + example: 11111111-2222-3333-4444-555555555555 + type: string + created_at: + description: Timestamp when the mapping was created. + example: '2026-01-15T09:30:00.000Z' + format: date-time + type: string + created_by: + description: The UUID of the user who created the mapping. + example: aaaaaaaa-bbbb-cccc-dddd-eeeeeeeeeeee + type: string + match_type: + $ref: '#/components/schemas/TeamsOwnershipMatchType' + org_id: + description: The ID of the organization that owns this mapping. + example: 123456 + format: int64 + type: integer + service: + description: The RUM application's service name. For browser applications, may be empty. For mobile applications, this is the service that scopes the ownership. + example: web-checkout + type: string + team_handle: + description: The handle of the team that owns the matched RUM views. + example: team-rum + type: string + view_name: + description: The RUM view name to match, or its prefix when `match_type` is `prefix`. + example: /checkout + type: string + required: + - team_handle + - view_name + - service + - application_id + - org_id + - created_at + - created_by + - match_type + type: object + TeamsOwnershipMappingType: + default: teams_ownership_mappings + description: The type of the resource. The value should always be teams_ownership_mappings. + enum: + - teams_ownership_mappings + example: teams_ownership_mappings + type: string + x-enum-varnames: + - TEAMS_OWNERSHIP_MAPPINGS + TeamsOwnershipMappingCreateDataAttributes: + description: The attributes of the teams ownership mapping to create. + properties: + application_id: + description: |- + The ID of the RUM application this mapping applies to. + For browser applications, provide the real application UUID — the team is applied to the view regardless of service. + For mobile applications, omit this field (or set it to the nil UUID `00000000-0000-0000-0000-000000000000`) — the team is applied to the view and service combination across all applications. + example: 11111111-2222-3333-4444-555555555555 + format: uuid + type: string + match_type: + $ref: '#/components/schemas/TeamsOwnershipMatchType' + service: + description: The RUM application's service name. For browser applications, this is optional. For mobile applications, this is required and scopes the ownership to a specific service. + example: web-checkout + type: string + team_handle: + description: The handle of the team that owns the matched RUM views. + example: team-rum + type: string + view_name: + description: The RUM view name to match, or its prefix when `match_type` is `prefix`. + example: /checkout + type: string + required: + - team_handle + - view_name + type: object + TeamsOwnershipMappingBatchOperationData: + description: The mapping to add. Required when `op` is `add`. + properties: + attributes: + $ref: '#/components/schemas/TeamsOwnershipMappingBatchOperationDataAttributes' + type: + $ref: '#/components/schemas/TeamsOwnershipMappingType' + required: + - type + - attributes + type: object + TeamsOwnershipMappingBatchOperationOp: + description: Whether this operation adds a new mapping or removes an existing one. + enum: + - add + - remove + example: add + type: string + x-enum-varnames: + - ADD + - REMOVE + TeamsOwnershipMappingBatchOperationRef: + description: Identifies an existing mapping to remove. Required when `op` is `remove`. + properties: + id: + description: The ID of the mapping to remove. + example: '456' + type: string + type: + $ref: '#/components/schemas/TeamsOwnershipMappingType' + required: + - type + - id + type: object + TeamsOwnershipMappingBatchResultData: + description: The mapping created by an `add` operation. + properties: + attributes: + $ref: '#/components/schemas/TeamsOwnershipMappingBatchResultDataAttributes' + id: + description: The unique identifier of the teams ownership mapping. + example: '123' + type: string + type: + $ref: '#/components/schemas/TeamsOwnershipMappingType' + required: + - type + - id + - attributes + type: object + TeamsOwnershipRuleResponseAttributes: + description: The attributes of a teams ownership rule. + properties: + application_id: + description: |- + The ID of the RUM application this mapping applies to. + For browser applications, this is the real application UUID. + For mobile applications, this is the nil UUID `00000000-0000-0000-0000-000000000000` (wildcard), meaning the ownership applies across all applications. + example: 11111111-2222-3333-4444-555555555555 + type: string + match_type: + $ref: '#/components/schemas/TeamsOwnershipMatchType' + service: + description: The RUM application's service name. For browser applications, may be empty. For mobile applications, this is the service that scopes the ownership. + example: web-checkout + type: string + teams: + description: The teams that own the matched views, each paired with the ID of its underlying mapping. + items: + $ref: '#/components/schemas/TeamsOwnershipRuleTeamMapping' + type: array + view_name: + description: The RUM view name to match, or its prefix when `match_type` is `prefix`. + example: /checkout + type: string + required: + - teams + - view_name + - service + - application_id + - match_type + type: object + TeamsOwnershipRuleType: + default: teams_ownership_grouped_mappings + description: The type of the resource. The value should always be teams_ownership_grouped_mappings. + enum: + - teams_ownership_grouped_mappings + example: teams_ownership_grouped_mappings + type: string + x-enum-varnames: + - TEAMS_OWNERSHIP_GROUPED_MAPPINGS + RUMEventAttributes: + description: JSON object containing all event attributes and their associated values. + properties: + attributes: + additionalProperties: {} + description: JSON object of attributes from RUM events. + example: + customAttribute: 123 + duration: 2345 + type: object + service: + description: |- + The name of the application or service generating RUM events. + It is used to switch from RUM to APM, so make sure you define the same + value when you use both products. + example: web-app + type: string + tags: + description: Array of tags associated with your event. + example: + - team:A + items: + description: Tag associated with your event. + type: string + type: array + timestamp: + description: Timestamp of your event. + example: '2019-01-02T09:42:36.320Z' + format: date-time + type: string + type: object + RUMEventType: + default: rum + description: Type of the event. + enum: + - rum + example: rum + type: string + x-enum-varnames: + - RUM + RUMOperationRequestAttributes: + description: Attributes for creating or updating a RUM operation. + properties: + application_id: + description: The RUM application ID the operation belongs to. + example: abc12345-1234-5678-abcd-ef1234567890 + format: uuid + type: string + category: + description: The category of the RUM operation. + nullable: true + type: string + description: + description: A description of the RUM operation. + nullable: true + type: string + display_name: + description: A human-readable display name for the RUM operation. + example: Checkout completed + type: string + feature_ids: + description: The list of feature IDs associated with the RUM operation. + items: + type: string + type: array + journey_rum: + $ref: '#/components/schemas/RUMOperationJourneyRum' + name: + description: The unique name of the RUM operation. Must not contain spaces. + example: checkout_completed + type: string + tags: + description: A list of tags associated with the RUM operation. + example: + - team:checkout + items: + type: string + type: array + required: + - name + - tags + - journey_rum + type: object + RUMOperationType: + description: The JSON:API type for RUM operation resources. + enum: + - operations + example: operations + type: string + x-enum-varnames: + - OPERATIONS + RUMOperationResponseAttributes: + description: Attributes of a RUM operation response. + properties: + application_id: + description: The RUM application ID the operation belongs to. + format: uuid + nullable: true + type: string + category: + description: The category of the RUM operation. + nullable: true + type: string + created_at: + description: The timestamp when the RUM operation was created. + format: date-time + readOnly: true + type: string + created_by: + $ref: '#/components/schemas/RUMOperationUser' + description: + description: A description of the RUM operation. + nullable: true + type: string + display_name: + description: A human-readable display name for the RUM operation. + example: Checkout completed + type: string + feature_ids: + description: The list of feature IDs associated with the RUM operation. + items: + type: string + type: array + journey_rum: + $ref: '#/components/schemas/RUMOperationJourneyRum' + name: + description: The unique name of the RUM operation. Must not contain spaces. + example: checkout_completed + type: string + org_id: + description: The ID of the organization the RUM operation belongs to. + format: int64 + readOnly: true + type: integer + tags: + description: A list of tags associated with the RUM operation. + example: + - team:checkout + items: + type: string + type: array + updated_at: + description: The timestamp when the RUM operation was last updated. + format: date-time + nullable: true + readOnly: true + type: string + updated_by: + $ref: '#/components/schemas/RUMOperationUser' + required: + - name + - tags + - journey_rum + type: object + RUMOperationsListResponseMetaPage: + description: Pagination metadata for a list of RUM operations. + properties: + first_offset: + description: The offset of the first page. + format: int64 + type: integer + last_offset: + description: The offset of the last page. + format: int64 + type: integer + limit: + description: The pagination limit. + format: int64 + type: integer + next_offset: + description: The offset of the next page, if any. + format: int64 + nullable: true + type: integer + offset: + description: The current offset. + format: int64 + type: integer + prev_offset: + description: The offset of the previous page, if any. + format: int64 + nullable: true + type: integer + total: + description: The total number of RUM operations matching the search. + format: int64 + type: integer + type: + description: The type of pagination used. + example: offset + type: string + type: object + RUMOperationStrongLinkResponseAttributes: + description: Attributes of a RUM operation strong link response. + properties: + created_at: + description: The timestamp when the strong link was created. + format: date-time + readOnly: true + type: string + description: + description: A description of the strong link. + nullable: true + type: string + feature_id: + description: The unique identifier of the linked feature. + example: feature-123 + readOnly: true + type: string + operation_id: + description: The unique identifier of the linked RUM operation. + example: abc12345-1234-5678-abcd-ef1234567890 + readOnly: true + type: string + status: + $ref: '#/components/schemas/RUMOperationStrongLinkStatus' + tags: + description: A list of tags associated with the strong link. + items: + type: string + type: array + updated_at: + description: The timestamp when the strong link was last updated. + format: date-time + nullable: true + readOnly: true + type: string + required: + - operation_id + - feature_id + - status + type: object + RUMOperationStrongLinkType: + description: The JSON:API type for RUM operation strong link resources. + enum: + - strong_links + example: strong_links + type: string + x-enum-varnames: + - STRONG_LINKS + RUMOperationStrongLinkCreateRequestAttributes: + description: Attributes for creating a RUM operation strong link. + properties: + application_id: + description: The RUM application ID used when creating a stub operation from `operation_name`. + format: uuid + type: string + description: + description: A description of the strong link. + nullable: true + type: string + feature_id: + description: The unique identifier of the feature to link. + example: feature-123 + type: string + operation_id: + description: |- + The unique identifier of the RUM operation to link. Either `operation_id` or + `operation_name` is required. + example: abc12345-1234-5678-abcd-ef1234567890 + type: string + operation_name: + description: |- + The name of the RUM operation to link. Either `operation_id` or `operation_name` is + required. If no operation with this name exists, a stub operation is created. + type: string + status: + $ref: '#/components/schemas/RUMOperationStrongLinkStatus' + tags: + description: A list of tags associated with the strong link. + items: + type: string + type: array + required: + - feature_id + type: object + RUMOperationStrongLinkUpdateRequestAttributes: + description: Attributes for updating a RUM operation strong link. + properties: + status: + $ref: '#/components/schemas/RUMOperationStrongLinkUpdateStatus' + required: + - status + type: object + AggregatedLongTasksRequestAttributes: + description: Attributes for an aggregated long tasks query. + properties: + application_id: + description: The RUM application ID to analyze. + example: ccbc53b1-74f2-496b-bdd7-9a8fa7b7376b + type: string + criteria: + $ref: '#/components/schemas/AggregatedWaterfallPerformanceCriteria' + filter: + description: RUM query string to filter events (for example, @session.type:user @geo.country:US). + example: '@session.type:user' + type: string + from: + description: Start of the time range as a Unix timestamp in seconds. + example: 1762437564 + format: int64 + type: integer + sample_size: + description: Number of view instances to sample, between 1 and 500. + example: 20 + format: int32 + maximum: 500 + minimum: 1 + type: integer + to: + description: End of the time range as a Unix timestamp in seconds. + example: 1762523964 + format: int64 + type: integer + view_name: + description: The RUM view name to analyze (for example, /account/login). + example: /account/login(/:type) + type: string + required: + - application_id + - view_name + - from + - to + - sample_size + type: object + AggregatedLongTasksRequestType: + description: The JSON:API type for aggregated long tasks requests. + enum: + - aggregated_long_tasks + example: aggregated_long_tasks + type: string + x-enum-varnames: + - AGGREGATED_LONG_TASKS + AggregatedLongTasksResponseAttributes: + description: Attributes of an aggregated long tasks response. + properties: + application_id: + description: The RUM application ID that was analyzed. + example: ccbc53b1-74f2-496b-bdd7-9a8fa7b7376b + type: string + criteria: + $ref: '#/components/schemas/AggregatedWaterfallPerformanceCriteria' + from: + description: Start of the analyzed time range as a Unix timestamp in seconds. + example: 1762437564 + format: int64 + type: integer + long_tasks_by_invoker_type: + description: Long task statistics grouped by invoker type, sorted by impact score descending. + items: + $ref: '#/components/schemas/AggregatedLongTasksByInvokerType' + type: array + sampled_view_ids: + description: List of RUM view IDs sampled for this aggregation, capped at 50. + example: + - 6fbf69b6-9455-436a-b894-a6bf64126d40 + items: + type: string + type: array + to: + description: End of the analyzed time range as a Unix timestamp in seconds. + example: 1762523964 + format: int64 + type: integer + view_count: + description: Number of view instances included in the analysis. + example: 50 + format: int32 + maximum: 2147483647 + type: integer + view_name: + description: The RUM view name that was analyzed. + example: /account/login(/:type) + type: string + required: + - view_name + - application_id + - view_count + - from + - to + - sampled_view_ids + - long_tasks_by_invoker_type + type: object + AggregatedSignalsProblemsRequestAttributes: + description: Attributes for an aggregated signals and problems query. + properties: + application_id: + description: The RUM application ID to analyze. + example: ccbc53b1-74f2-496b-bdd7-9a8fa7b7376b + type: string + criteria: + $ref: '#/components/schemas/AggregatedWaterfallPerformanceCriteria' + detection_types: + description: List of detection types to include in the response. When omitted, all types are returned. + example: + - high_script_evaluations + - uncompressed_resources + items: + type: string + type: array + filter: + description: RUM query string to filter events (for example, @session.type:user @geo.country:US). + example: '@session.type:user' + type: string + from: + description: Start of the time range as a Unix timestamp in seconds. + example: 1762437564 + format: int64 + type: integer + sample_size: + description: Number of view instances to sample, between 1 and 50. + example: 30 + format: int32 + maximum: 50 + minimum: 1 + type: integer + to: + description: End of the time range as a Unix timestamp in seconds. + example: 1762523964 + format: int64 + type: integer + view_name: + description: The RUM view name to analyze (for example, /account/login). + example: /account/login(/:type) + type: string + required: + - application_id + - view_name + - from + - to + - sample_size + type: object + AggregatedSignalsProblemsRequestType: + description: The JSON:API type for aggregated signals and problems requests. + enum: + - aggregated_signals_problems + example: aggregated_signals_problems + type: string + x-enum-varnames: + - AGGREGATED_SIGNALS_PROBLEMS + AggregatedSignalsProblemsResponseAttributes: + description: Attributes of an aggregated signals and problems response. + properties: + application_id: + description: The RUM application ID that was analyzed. + example: ccbc53b1-74f2-496b-bdd7-9a8fa7b7376b + type: string + criteria: + $ref: '#/components/schemas/AggregatedWaterfallPerformanceCriteria' + from: + description: Start of the analyzed time range as a Unix timestamp in seconds. + example: 1710000000 + format: int64 + type: integer + problem_detections: + $ref: '#/components/schemas/SignalsProblemsDetections' + sample_metadata: + $ref: '#/components/schemas/SignalsProblemsSampleMetadata' + to: + description: End of the analyzed time range as a Unix timestamp in seconds. + example: 1710003600 + format: int64 + type: integer + view_name: + description: The RUM view name that was analyzed. + example: /checkout + type: string + required: + - view_name + - application_id + - from + - to + - sample_metadata + - problem_detections + type: object + AggregatedWaterfallRequestAttributes: + description: Attributes for an aggregated waterfall query. + properties: + application_id: + description: The RUM application ID to analyze. + example: ccbc53b1-74f2-496b-bdd7-9a8fa7b7376b + type: string + criteria: + $ref: '#/components/schemas/AggregatedWaterfallPerformanceCriteria' + filter: + description: RUM query string to filter events (for example, @session.type:user @geo.country:US). + example: '@session.type:user' + type: string + from: + description: Start of the time range as a Unix timestamp in seconds. + example: 1762437564 + format: int64 + type: integer + include_global_appearance: + description: When true, enriches each resource with cross-view appearance statistics. + example: false + type: boolean + sample_size: + description: Number of view instances to sample, between 1 and 500. + example: 20 + format: int32 + maximum: 500 + minimum: 1 + type: integer + to: + description: End of the time range as a Unix timestamp in seconds. + example: 1762523964 + format: int64 + type: integer + view_name: + description: The RUM view name to analyze (for example, /account/login). + example: /account/login(/:type) + type: string + required: + - application_id + - view_name + - from + - to + - sample_size + type: object + AggregatedWaterfallRequestType: + description: The JSON:API type for aggregated waterfall requests. + enum: + - aggregated_waterfall + example: aggregated_waterfall + type: string + x-enum-varnames: + - AGGREGATED_WATERFALL + AggregatedWaterfallResponseAttributes: + description: Attributes of an aggregated waterfall response. + properties: + application_id: + description: The RUM application ID that was analyzed. + example: ccbc53b1-74f2-496b-bdd7-9a8fa7b7376b + type: string + criteria: + $ref: '#/components/schemas/AggregatedWaterfallPerformanceCriteria' + from: + description: Start of the analyzed time range as a Unix timestamp in seconds. + example: 1762437564 + format: int64 + type: integer + resources: + description: Network resources in chronological waterfall order. + items: + $ref: '#/components/schemas/AggregatedResource' + type: array + sampled_view_ids: + description: List of RUM view IDs sampled for this aggregation, capped at 50. + example: + - 6fbf69b6-9455-436a-b894-a6bf64126d40 + - dfe318df-4ae5-44b8-9fe2-4107885e1a46 + items: + type: string + type: array + to: + description: End of the analyzed time range as a Unix timestamp in seconds. + example: 1762523964 + format: int64 + type: integer + total_cache_hit_rate_pct: + description: Overall cache hit rate across all sampled views. + example: 0.677 + format: double + type: number + view_count: + description: Number of view instances included in the analysis. + example: 50 + format: int32 + maximum: 2147483647 + type: integer + view_name: + description: The RUM view name that was analyzed. + example: /account/login(/:type) + type: string + required: + - view_name + - application_id + - view_count + - from + - to + - sampled_view_ids + - total_cache_hit_rate_pct + - resources + type: object + PlaylistDataAttributes: + description: Attributes of a RUM replay playlist, including its name, description, session count, and audit timestamps. + properties: + created_at: + description: Timestamp when the playlist was created. + format: date-time + type: string + created_by: + $ref: '#/components/schemas/PlaylistDataAttributesCreatedBy' + description: + description: Optional human-readable description of the playlist's purpose or contents. + type: string + name: + description: Human-readable name of the playlist. + example: My Playlist + type: string + session_count: + description: Number of replay sessions in the playlist. + format: int64 + type: integer + updated_at: + description: Timestamp when the playlist was last updated. + format: date-time + type: string + required: + - name + type: object + PlaylistDataType: + default: rum_replay_playlist + description: Rum replay playlist resource type. + enum: + - rum_replay_playlist + example: rum_replay_playlist + type: string + x-enum-varnames: + - RUM_REPLAY_PLAYLIST + ViewershipHistorySessionDataType: + default: rum_replay_session + description: Rum replay session resource type. + enum: + - rum_replay_session + example: rum_replay_session + type: string + x-enum-varnames: + - RUM_REPLAY_SESSION + PlaylistsSessionDataAttributes: + description: Attributes of a session within a playlist, including the session event data and its replay track. + properties: + session_event: + additionalProperties: {} + description: Raw event data associated with the replay session. + type: object + track: + description: Replay track identifier indicating which recording track the session belongs to. + type: string + type: object + WatcherDataAttributes: + description: Attributes of a user who has watched a RUM replay session, including contact information and watch statistics. + properties: + handle: + description: Email handle of the user who watched the session. + example: john.doe@example.com + type: string + icon: + description: URL or identifier of the watcher's avatar icon. + type: string + last_watched_at: + description: Timestamp when the watcher last viewed the session. + example: '2026-01-13T17:15:53.208340Z' + format: date-time + type: string + name: + description: Display name of the user who watched the session. + type: string + watch_count: + description: Total number of times the user has watched the session. + example: 0 + format: int32 + maximum: 2147483647 + type: integer + required: + - handle + - last_watched_at + - watch_count + type: object + WatcherDataType: + default: rum_replay_watcher + description: Rum replay watcher resource type. + enum: + - rum_replay_watcher + example: rum_replay_watcher + type: string + x-enum-varnames: + - RUM_REPLAY_WATCHER + WatchDataAttributes: + description: Attributes for recording a session watch event, including the application, event reference, and timestamp. + properties: + application_id: + description: Unique identifier of the RUM application containing the session. + example: aaaaaaaa-1111-2222-3333-bbbbbbbbbbbb + type: string + data_source: + description: Data source type indicating the origin of the session data (e.g., rum or product_analytics). + type: string + event_id: + description: Unique identifier of the RUM event that was watched. + example: 11111111-2222-3333-4444-555555555555 + type: string + timestamp: + description: Timestamp when the session was watched. + example: '2026-01-13T17:15:53.208340Z' + format: date-time + type: string + required: + - application_id + - event_id + - timestamp + type: object + WatchDataType: + default: rum_replay_watch + description: Rum replay watch resource type. + enum: + - rum_replay_watch + example: rum_replay_watch + type: string + x-enum-varnames: + - RUM_REPLAY_WATCH + ViewershipHistorySessionDataAttributes: + description: Attributes of a viewership history session entry, capturing when it was last watched and the associated event data. + properties: + event_id: + description: Unique identifier of the RUM event associated with the watched session. + type: string + last_watched_at: + description: Timestamp when the session was last watched by the user. + example: '2026-01-13T17:15:53.208340Z' + format: date-time + type: string + session_event: + additionalProperties: {} + description: Raw event data associated with the replay session. + type: object + track: + description: Replay track identifier indicating which recording track the session belongs to. + type: string + required: + - last_watched_at + type: object + SourcemapItem: + description: A source map data object representing one of the supported map kinds. + properties: + attributes: + $ref: '#/components/schemas/JSSourcemapAttributes' + id: + description: The unique identifier of the source map. + example: '5' + type: string + type: + $ref: '#/components/schemas/SourcemapDataType' + required: + - id + - type + - attributes + type: object + SourcemapFileAttributes: + description: Attributes of a JavaScript source map file. + properties: + file: + description: The name of the minified JavaScript file. + example: bundle.js + type: string + mappings: + description: |- + The Base64 VLQ encoded string that maps positions in the minified + file to positions in the original source files. + example: AAAA,OAAO,CAAC,GAAG + type: string + minifiedLineLengths: + description: List of character counts for each line in the minified file. + example: + - 50 + - 30 + items: + format: int64 + type: integer + type: array + names: + description: List of symbol names referenced in the mappings. + example: + - console + - log + items: {} + type: array + sourceRoot: + description: The root path prepended to source file paths. + example: / + type: string + sources: + description: List of original source file paths. + example: + - src/index.js + - src/utils.js + items: + type: string + type: array + sourcesContent: + description: List of original source file contents corresponding to the paths in `sources`. + example: + - console.log('index'); + - export function util() {} + items: + type: string + type: array + version: + description: The version of the source map format (typically 3). + example: 3 + format: int64 + type: integer + required: + - file + - version + - sourceRoot + - sources + - sourcesContent + - names + - mappings + - minifiedLineLengths + type: object + SourcemapFileDataType: + description: The resource type for source map file objects. + enum: + - sourcemap_files + example: sourcemap_files + type: string + x-enum-varnames: + - SOURCEMAP_FILES + SourcemapsListMetaPage: + description: Page information for the source maps list response. + properties: + has_more_results: + description: Whether there are more results available beyond the current page. + example: false + type: boolean + total_filtered_count: + description: Total number of source maps matching the filter criteria. + example: 100 + format: int64 + type: integer + required: + - total_filtered_count + - has_more_results + type: object + ServiceRepositoryInfoRequestAttributes: + description: Attributes for the service repository info request. + properties: + service: + description: The name of the service. + example: my-web-service + type: string + version: + description: The version of the service. + example: 1.0.0 + type: string + required: + - service + - version + type: object + ServiceRepositoryInfoDataType: + description: The resource type for service repository info objects. + enum: + - service_repository_info + example: service_repository_info + type: string + x-enum-varnames: + - SERVICE_REPOSITORY_INFO + ServiceRepositoryInfoResponseAttributes: + description: Attributes of the service repository information. + properties: + commit_sha: + description: The SHA of the commit associated with the service version. + example: abc123def456789 + type: string + repository_url: + description: The URL of the source code repository. + example: https://github.com/my-org/my-repo + type: string + status: + $ref: '#/components/schemas/ServiceRepositoryInfoStatus' + required: + - status + type: object + FacetInfoRequestDataAttributesSearch: + description: Query-based search configuration for filtering the audience context when retrieving facet values. + properties: + query: + description: The filter expression used to scope the audience from which facet values are retrieved. + type: string + type: object + FacetInfoRequestDataAttributesTermSearch: + description: Term-level search configuration for filtering facet values by an exact or partial term match. + properties: + value: + description: The term string to match against facet values. + type: string + type: object + FacetInfoResponseDataAttributesResult: + description: The facet query result containing discrete value counts or a numeric range for the requested facet. + properties: + range: + $ref: '#/components/schemas/FacetInfoResponseDataAttributesResultRange' + values: + description: List of discrete facet values with their occurrence counts. + items: + $ref: '#/components/schemas/FacetInfoResponseDataAttributesResultValuesItems' + type: array + type: object + QueryAccountRequestDataAttributesSort: + description: Sorting configuration specifying the field and direction for ordering query results. + properties: + field: + description: The attribute field name to sort results by. + type: string + order: + description: The sort direction, either ascending or descending. + type: string + type: object + ProductAnalyticsAnalyticsListQuery: + description: |- + The analytics list query definition. It selects the events to return with `query`, then + chooses the columns on each event row, the sort applied to those rows, and a row limit. + Unlike the scalar and timeseries queries, a list query returns raw event rows rather than + aggregates, so it takes no compute or group-by rule. + properties: + audience_filters: + $ref: '#/components/schemas/ProductAnalyticsAudienceFilters' + columns: + description: Attribute columns to include in each event row. + items: + description: The name of an attribute to return as a column. + type: string + type: array + limit: + description: Maximum number of event rows to return. + example: 100 + format: int64 + maximum: 1000 + minimum: 1 + type: integer + query: + $ref: '#/components/schemas/ProductAnalyticsBaseQuery' + sort: + $ref: '#/components/schemas/ProductAnalyticsAnalyticsListSort' + required: + - query + type: object + ProductAnalyticsAnalyticsListRecord: + additionalProperties: + description: The value of one column of the event row. + description: A single event row, keyed by column name. + type: object + ProductAnalyticsExecutionType: + description: Override the query execution strategy. + enum: + - simple + - background + - trino-multistep + - materialized-view + type: string + x-enum-varnames: + - SIMPLE + - BACKGROUND + - TRINO_MULTISTEP + - MATERIALIZED_VIEW + ProductAnalyticsAnalyticsQuery: + description: The analytics query definition containing a base query, compute rule, and optional grouping. + properties: + audience_filters: + $ref: '#/components/schemas/ProductAnalyticsAudienceFilters' + compute: + $ref: '#/components/schemas/ProductAnalyticsCompute' + group_by: + description: Group-by rules for segmenting results. + items: + $ref: '#/components/schemas/ProductAnalyticsGroupBy' + type: array + indexes: + deprecated: true + description: |- + Deprecated. Index selection is a rollout detail and will be removed. + Do not set this field. + items: + description: Index name to restrict the query to. + type: string + maxItems: 1 + type: array + query: + $ref: '#/components/schemas/ProductAnalyticsBaseQuery' + required: + - query + - compute + type: object + ProductAnalyticsScalarColumn: + description: A column in a scalar response. + properties: + meta: + $ref: '#/components/schemas/ProductAnalyticsScalarColumnMeta' + name: + description: Column name (facet name for group-by, or "query"). + type: string + type: + $ref: '#/components/schemas/ProductAnalyticsScalarColumnType' + values: + description: Column values. + items: + description: A single cell value within the column (string for group-by columns, number for metric columns). + type: array + type: object + ProductAnalyticsInterval: + description: An interval definition in a timeseries response. + properties: + milliseconds: + description: The duration of each time bucket in milliseconds. + format: int64 + type: integer + start_time: + description: The start of this interval as an epoch timestamp in milliseconds. + format: int64 + type: integer + times: + description: Epoch timestamps (in milliseconds) for each bucket in this interval. + items: + description: Epoch timestamp in milliseconds for a time bucket boundary. + format: int64 + type: integer + type: array + type: + description: The interval type (e.g., fixed or auto-computed bucket size). + type: string + type: object + ProductAnalyticsSerie: + description: A series in a timeseries response. + properties: + group_tags: + description: The group-by tag values that identify this series. + items: + description: A tag value for a group-by facet. + type: string + type: array + query_index: + description: The index of the query that produced this series. + format: int64 + type: integer + unit: + description: Unit definitions for the series values. + items: + $ref: '#/components/schemas/ProductAnalyticsUnit' + type: array + type: object + ProductAnalyticsJourneyFunnelQuery: + description: Query definition for a journey funnel request. + properties: + compute: + $ref: '#/components/schemas/ProductAnalyticsJourneyFunnelCompute' + group_by: + description: Segments the funnel by the values of one or more facets. + items: + $ref: '#/components/schemas/ProductAnalyticsGraphQueryGroupBy' + type: array + search: + $ref: '#/components/schemas/ProductAnalyticsJourneySearch' + required: + - search + type: object + ProductAnalyticsElapsedTime: + description: Elapsed time statistics (min/max/avg in milliseconds). + properties: + avg: + description: Average elapsed time to reach the next step, in milliseconds. + example: 5100 + format: int64 + type: integer + max: + description: Maximum elapsed time to reach the next step, in milliseconds. + example: 42000 + format: int64 + type: integer + min: + description: Minimum elapsed time to reach the next step, in milliseconds. + example: 900 + format: int64 + type: integer + required: + - min + - max + - avg + type: object + ProductAnalyticsJourneyFunnelStep: + description: A single step of the funnel with its conversion counts and timings. + properties: + elapsed_time_to_next_step: + $ref: '#/components/schemas/ProductAnalyticsElapsedTime' + groups: + description: Breakdown of this step by the requested group-by facets. + items: + $ref: '#/components/schemas/ProductAnalyticsJourneyFunnelStepGroup' + type: array + label: + description: Label of the step, derived from the node alias. + example: A + type: string + unit: + description: Unit of the elapsed time values. + example: millisecond + type: string + value: + description: Value of the computed metric at this step. + example: 1200 + format: double + type: number + required: + - value + - label + - unit + - elapsed_time_to_next_step + - groups + type: object + ProductAnalyticsJourneyListQuery: + description: Query definition for a journey list request. + properties: + computed_columns: + description: Computed columns to add to each row. + items: + $ref: '#/components/schemas/ProductAnalyticsJourneyComputedColumn' + type: array + conversion_type: + $ref: '#/components/schemas/ProductAnalyticsJourneyConversionType' + entity_columns: + description: Attribute columns to return for each row, in addition to the identity join key and `timestamp`. + items: + description: An attribute column to return. + type: string + type: array + entity_filters: + description: Additional search query applied to the returned rows. + type: string + group_by: + description: Segments the results by the values of one or more facets. + items: + $ref: '#/components/schemas/ProductAnalyticsGraphQueryGroupBy' + type: array + limit: + description: Maximum number of rows to return. Omit it to let the service choose. + format: int64 + minimum: 1 + type: integer + search: + $ref: '#/components/schemas/ProductAnalyticsJourneySearch' + sort: + $ref: '#/components/schemas/ProductAnalyticsJourneyListSort' + target: + $ref: '#/components/schemas/ProductAnalyticsJourneyTarget' + required: + - search + type: object + ProductAnalyticsJourneyEntity: + description: The kind of entity returned by a journey list query. + enum: + - session + - user + - account + example: session + type: string + x-enum-varnames: + - SESSION + - USER + - ACCOUNT + ProductAnalyticsJourneyListRecord: + additionalProperties: {} + description: |- + A single row. Keys are the returned column names: the identity join key, `timestamp`, + each entry of `entity_columns`, and any computed columns. A value is null when the + column has no value for that row. + type: object + ProductAnalyticsJourneyScalarQuery: + description: Query definition for a journey scalar request. + properties: + compute: + $ref: '#/components/schemas/ProductAnalyticsJourneyScalarCompute' + group_by: + description: Segments the results by the values of one or more facets. + items: + $ref: '#/components/schemas/ProductAnalyticsGraphQueryGroupBy' + type: array + query_id: + description: Caller-defined identifier echoed back in the results. + type: string + search: + $ref: '#/components/schemas/ProductAnalyticsJourneySearch' + required: + - search + - compute + type: object + ProductAnalyticsFormulaJourneyQuery: + description: Query definition for a journey timeseries request. + properties: + compute: + $ref: '#/components/schemas/ProductAnalyticsGraphQueryCompute' + group_by: + description: Segments the results by the values of one or more facets. + items: + $ref: '#/components/schemas/ProductAnalyticsGraphQueryGroupBy' + type: array + query_id: + description: Caller-defined identifier echoed back in the results. + type: string + search: + $ref: '#/components/schemas/ProductAnalyticsJourneySearch' + required: + - search + - compute + type: object + ProductAnalyticsRetentionGridQuery: + description: Query definition for a retention grid or retention metadata request. + properties: + computation_scope: + $ref: '#/components/schemas/ProductAnalyticsRetentionScope' + compute: + $ref: '#/components/schemas/ProductAnalyticsRetentionCompute' + group_by: + description: Splits the results by the values of one or more facets. + items: + $ref: '#/components/schemas/ProductAnalyticsRetentionGroupBy' + type: array + search: + $ref: '#/components/schemas/ProductAnalyticsRetentionSearch' + required: + - search + - compute + type: object + ProductAnalyticsRetentionGridCohort: + description: One row of the retention grid, holding the results for a single cohort. + properties: + cells: + description: The cells of the row, one per return period. + items: + $ref: '#/components/schemas/ProductAnalyticsRetentionGridCohortCell' + type: array + cohort_end_time: + description: End of the cohort window, in epoch milliseconds. + format: int64 + type: integer + cohort_index: + description: Zero-based index of the cohort in the grid. + format: int64 + type: integer + cohort_size: + description: Number of entities in the cohort. + format: int64 + type: integer + cohort_start_time: + description: Start of the cohort window, in epoch milliseconds. + format: int64 + type: integer + group_tags: + description: The group-by facet values that identify this row. + items: + description: A tag value for a group-by facet. + type: string + type: array + name: + description: Label identifying the cohort, such as the week it started. + type: string + type: + $ref: '#/components/schemas/ProductAnalyticsRetentionGridCohortType' + unit: + description: Unit definitions for the cell values. + items: + $ref: '#/components/schemas/ProductAnalyticsUnit' + type: array + type: object + ProductAnalyticsRetentionPeriod: + description: A return period definition, such as "1 week". + properties: + unit: + description: Time unit of the period, such as `day`, `week`, `month`, or `year`. + example: week + type: string + value: + description: Length of the period, expressed in `unit`. + example: 1 + format: int64 + type: integer + type: object + ProductAnalyticsUnit: + description: A unit definition for metric values. + properties: + family: + description: The unit family (e.g., time, bytes). + example: time + type: string + id: + description: Numeric identifier for the unit. + format: int64 + type: integer + name: + description: The full name of the unit (e.g., nanosecond). + example: nanosecond + type: string + plural: + description: Plural form of the unit name (e.g., nanoseconds). + type: string + scale_factor: + description: Conversion factor relative to the base unit of the family. + format: double + type: number + short_name: + description: Abbreviated unit name (e.g., ns). + type: string + type: object + ProductAnalyticsRetentionListQuery: + description: Query definition for a retention list request. + properties: + columns: + description: The attribute columns to include in each returned row. + items: + $ref: '#/components/schemas/ProductAnalyticsRetentionListColumn' + type: array + computation_scope: + $ref: '#/components/schemas/ProductAnalyticsRetentionCellScope' + limit: + description: Maximum number of rows to return. Use `0` for no limit. + example: 100 + format: int64 + minimum: 0 + type: integer + search: + $ref: '#/components/schemas/ProductAnalyticsRetentionSearch' + required: + - search + - computation_scope + type: object + ProductAnalyticsRetentionListRecord: + additionalProperties: {} + description: A single entity row, keyed by the requested column paths. + type: object + ProductAnalyticsFormulaRetentionQuery: + description: Query definition for a retention scalar or retention timeseries request. + properties: + computation_scope: + $ref: '#/components/schemas/ProductAnalyticsRetentionScope' + compute: + $ref: '#/components/schemas/ProductAnalyticsRetentionCompute' + group_by: + description: Splits the results by the values of one or more facets. + items: + $ref: '#/components/schemas/ProductAnalyticsRetentionGroupBy' + type: array + search: + $ref: '#/components/schemas/ProductAnalyticsRetentionSearch' + required: + - search + - compute + type: object + ProductAnalyticsSankeyDefinition: + description: The shape of the Sankey diagram, expressed as the facets to flow between and how many steps to show. + properties: + entries_per_step: + description: |- + Maximum number of nodes to keep in each column. Remaining values are rolled up into an + aggregated node. Omit it, or send `0`, to use the default of `5`. + example: 10 + format: int64 + maximum: 10 + minimum: 0 + type: integer + number_of_steps: + description: |- + Number of intermediate columns between the source and the target. + Omit it, or send `0`, to use the default of `5`. + example: 3 + format: int64 + maximum: 10 + minimum: 0 + type: integer + source: + description: Facet forming the first column of the diagram. + example: '@view.name' + type: string + target: + description: Facet forming the last column of the diagram. + example: '@view.name' + type: string + required: + - source + - target + type: object + ProductAnalyticsSankeySearch: + description: Selects the sessions a Sankey diagram is built from. + properties: + audience_filters: + $ref: '#/components/schemas/ProductAnalyticsAudienceFilters' + join_keys: + $ref: '#/components/schemas/ProductAnalyticsJoinKeys' + query: + description: Datadog search query restricting the events considered. + example: '@type:view' + type: string + type: object + ProductAnalyticsSankeyTime: + description: The time window a Sankey query covers. + properties: + from: + description: Start of the query window, in epoch milliseconds. + example: 1756425600000 + format: int64 + type: integer + to: + description: End of the query window, in epoch milliseconds. + example: 1756857600000 + format: int64 + type: integer + required: + - from + - to + type: object + ProductAnalyticsSankeyLink: + description: A link of the Sankey diagram, representing the sessions flowing between two nodes. + properties: + column: + description: Zero-based index of the column the link starts from. + format: int64 + type: integer + id: + description: Unique identifier for the link. + type: string + source: + description: Identifier of the node the link starts at. + type: string + target: + description: Identifier of the node the link ends at. + type: string + value: + description: Number of sessions flowing along the link. + format: int64 + type: integer + type: object + ProductAnalyticsSankeyNode: + description: A node of the Sankey diagram, representing one facet value in one column. + properties: + aggregated_nodes: + description: The nodes rolled up into this one, when the node is an aggregate. + items: + $ref: '#/components/schemas/ProductAnalyticsSankeyAggregatedNode' + type: array + column: + description: Zero-based index of the column the node sits in. + format: int64 + type: integer + dropoff_value: + description: Number of sessions that ended at the node. + format: int64 + type: integer + id: + description: Unique identifier for the node. + type: string + incoming_value: + description: Number of sessions entering the node. + format: int64 + type: integer + name: + description: The facet value the node represents. + type: string + outgoing_value: + description: Number of sessions leaving the node. + format: int64 + type: integer + type: + $ref: '#/components/schemas/ProductAnalyticsSankeyNodeType' + value: + description: Number of sessions passing through the node. + format: int64 + type: integer + type: object + QueryEventFilteredUsersRequestDataAttributesEventQuery: + description: Event platform query used to filter users based on their event activity within a specified time window. + properties: + query: + description: The event platform query expression for filtering users by their event activity. + type: string + time_frame: + $ref: '#/components/schemas/QueryEventFilteredUsersRequestDataAttributesEventQueryTimeFrame' + type: object + QueryUsersRequestDataAttributesSort: + description: Sorting configuration specifying the field and direction for ordering user query results. + properties: + field: + description: The user attribute field name to sort results by. + type: string + order: + description: The sort direction, either ascending or descending. + type: string + type: object + GetMappingResponseDataAttributesAttributesItems: + description: Details of a single entity attribute including its mapping configuration and metadata. + properties: + attribute: + description: The attribute identifier as used in the entity data model. + type: string + description: + description: Human-readable explanation of what the attribute represents. + type: string + display_name: + description: The human-readable label for the attribute shown in the UI. + type: string + groups: + description: List of group labels used to categorize the attribute. + items: + description: A group label name for categorizing the attribute. + type: string + type: array + is_custom: + description: Whether this attribute is a custom user-defined attribute rather than a built-in one. + type: boolean + type: + description: The data type of the attribute (for example, string or number). + type: string + type: object + CreateConnectionRequestDataAttributesFieldsItems: + description: Definition of a custom attribute field to import from a data source connection. + properties: + description: + description: Human-readable explanation of what the field represents. + type: string + display_name: + description: The human-readable label for the field shown in the UI. + type: string + groups: + description: List of group labels used to categorize the field. + items: + description: A group label name for categorizing the field. + type: string + type: array + id: + description: The unique identifier for the field within the connection. + example: '' + type: string + source_name: + description: The name of the column or attribute in the source data system that maps to this field. + example: '' + type: string + type: + description: The data type of the field (for example, string or number). + example: '' + type: string + required: + - id + - source_name + - type + type: object + UpdateConnectionRequestDataAttributesFieldsToUpdateItems: + description: Specification for updating an existing field in a connection, including which field to modify and the new values. + properties: + field_id: + description: The identifier of the existing field to update. + example: '' + type: string + updated_description: + description: The new description to set for the field. + type: string + updated_display_name: + description: The new human-readable display name to set for the field. + type: string + updated_field_id: + description: The new identifier to assign to the field, if renaming it. + type: string + updated_groups: + description: The updated list of group labels to associate with the field. + items: + description: A group label name for categorizing the field. + type: string + type: array + required: + - field_id + type: object + ListConnectionsResponseDataAttributesConnectionsItems: + description: Details of a single data source connection, including its fields, join configuration, and audit metadata. + properties: + created_at: + description: Timestamp indicating when the connection was created. + format: date-time + type: string + created_by: + description: Identifier of the user who created the connection. + type: string + fields: + description: List of custom attribute fields imported from the data source. + items: + $ref: '#/components/schemas/CreateConnectionRequestDataAttributesFieldsItems' + type: array + id: + description: Unique identifier of the connection. + type: string + join: + $ref: '#/components/schemas/ListConnectionsResponseDataAttributesConnectionsItemsJoin' + metadata: + additionalProperties: + type: string + description: Additional key-value metadata associated with the connection. + type: object + type: + description: The type of data source connection (for example, ref_table). + type: string + updated_at: + description: Timestamp indicating when the connection was last updated. + format: date-time + type: string + updated_by: + description: Identifier of the user who last updated the connection. + type: string + type: object + RUMGroupByMissingString: + description: The missing value to use if there is string valued facet. + type: string + RUMGroupByMissingNumber: + description: The missing value to use if there is a number valued facet. + format: double + type: number + RUMSortOrder: + description: The order to use, ascending or descending. + enum: + - asc + - desc + example: asc + type: string + x-enum-varnames: + - ASCENDING + - DESCENDING + RUMAggregateSortType: + default: alphabetical + description: The type of sorting algorithm. + enum: + - alphabetical + - measure + type: string + x-enum-varnames: + - ALPHABETICAL + - MEASURE + RUMGroupByTotalBoolean: + description: If set to true, creates an additional bucket labeled "$facet_total". + type: boolean + RUMGroupByTotalString: + description: A string to use as the key value for the total bucket. + type: string + RUMGroupByTotalNumber: + description: A number to use as the key value for the total bucket. + format: double + type: number + RUMAggregateBucketValue: + description: A bucket value, can be either a timeseries or a single value. + type: string + format: double + items: + $ref: '#/components/schemas/RUMAggregateBucketValueTimeseriesPoint' + x-generate-alias-as-model: true + RUMProductScales: + description: Product Scales configuration for the RUM application. + properties: + product_analytics_retention_scale: + $ref: '#/components/schemas/RUMProductAnalyticsRetentionScale' + rum_event_processing_scale: + $ref: '#/components/schemas/RUMEventProcessingScale' + type: object + RUMProductAnalyticsRetentionState: + description: Controls the retention policy for Product Analytics data derived from RUM events. + enum: + - MAX + - NONE + example: MAX + type: string + x-enum-descriptions: + - Store Product Analytics data for the maximum available retention period + - Do not store Product Analytics data + x-enum-varnames: + - MAX + - NONE + RUMEventProcessingState: + description: Configures which RUM events are processed and stored for the application. + enum: + - ALL + - ERROR_FOCUSED_MODE + - NONE + example: ALL + type: string + x-enum-descriptions: + - Process and store all RUM events (sessions, views, actions, resources, errors) + - Process and store only error events and related critical events + - Disable RUM event processing—no events are stored + x-enum-varnames: + - ALL + - ERROR_FOCUSED_MODE + - NONE + RumCrossProductSampling: + description: The configuration for cross-product retention filters. + properties: + trace_enabled: + description: Whether the cross-product retention filter for APM traces is enabled. + example: true + type: boolean + trace_sample_rate: + description: The sample rate for the APM cross-product retention filter, between 0 and 100. + example: 25 + format: double + maximum: 100 + minimum: 0 + type: number + type: object + RumRetentionFilterEnabled: + description: Whether the retention filter is enabled. + example: true + type: boolean + RumRetentionFilterEventType: + description: The type of RUM events to filter on. + enum: + - session + - view + - action + - error + - resource + - long_task + - vital + example: session + type: string + x-enum-varnames: + - SESSION + - VIEW + - ACTION + - ERROR + - RESOURCE + - LONG_TASK + - VITAL + RunRetentionFilterName: + description: The name of a RUM retention filter. + example: Retention filter for session + type: string + RumRetentionFilterQuery: + description: The query string for a RUM retention filter. + example: '@session.has_replay:true' + type: string + RumRetentionFilterSampleRate: + description: The sample rate for a RUM retention filter, between 0.1 and 100. + example: 50.5 + format: double + maximum: 100 + minimum: 0.1 + type: number + RumCrossProductSamplingCreate: + description: The configuration for cross-product retention filters. + properties: + trace_enabled: + description: Whether the cross-product retention filter for APM traces is enabled. + example: true + type: boolean + trace_sample_rate: + description: The sample rate for the APM cross-product retention filter, between 0 and 100. + example: 25 + format: double + maximum: 100 + minimum: 0 + type: number + required: + - trace_sample_rate + type: object + RumExclusionFilterEnabled: + description: Whether the exclusion filter is active. + example: true + type: boolean + RumExclusionFilterEventType: + description: The type of RUM events to filter on. + enum: + - session + - view + - action + - error + - resource + - long_task + - vital + example: error + type: string + x-enum-varnames: + - SESSION + - VIEW + - ACTION + - ERROR + - RESOURCE + - LONG_TASK + - VITAL + RumExclusionFilterName: + description: The name of the exclusion filter. + example: Exclude noisy browser extension errors + type: string + RumExclusionFilterQuery: + description: |- + Additional query used to further restrict which RUM events are excluded. + Combined with `event_type` when both are provided. + example: '@error.message:*extension*' + type: string + RumPermanentRetentionFilterEditability: + description: Indicates which cross-product fields of a permanent RUM retention filter can be updated. + properties: + trace_editable: + description: Whether the APM trace cross-product configuration of the filter can be updated. + example: true + type: boolean + type: object + RumCrossProductSamplingUpdate: + description: The configuration for cross-product retention filters. All fields are optional for partial updates. + properties: + trace_enabled: + description: Whether the cross-product retention filter for APM traces is enabled. + example: true + type: boolean + trace_sample_rate: + description: The sample rate for the APM cross-product retention filter, between 0 and 100. + example: 25 + format: double + maximum: 100 + minimum: 0 + type: number + type: object + RumMetricResponseCompute: + description: The compute rule to compute the RUM-based metric. + properties: + aggregation_type: + $ref: '#/components/schemas/RumMetricComputeAggregationType' + include_percentiles: + $ref: '#/components/schemas/RumMetricComputeIncludePercentiles' + path: + description: |- + The path to the value the RUM-based metric will aggregate on. + Only present when `aggregation_type` is `distribution`. + example: '@duration' + type: string + type: object + RumMetricEventType: + description: The type of RUM events to filter on. + enum: + - session + - view + - action + - error + - resource + - long_task + - vital + example: session + type: string + x-enum-varnames: + - SESSION + - VIEW + - ACTION + - ERROR + - RESOURCE + - LONG_TASK + - VITAL + RumMetricResponseFilter: + description: The RUM-based metric filter. RUM events matching this filter will be aggregated in this metric. + properties: + query: + description: The search query - following the RUM search syntax. + example: service:web* AND @http.status_code:[200 TO 299] + type: string + type: object + RumMetricResponseGroupBy: + description: A group by rule. + properties: + path: + description: The path to the value the RUM-based metric will be aggregated over. + example: '@http.status_code' + type: string + tag_name: + description: Eventual name of the tag that gets created. By default, `path` is used as the tag name. + example: status_code + type: string + type: object + RumMetricResponseUniqueness: + description: The rule to count updatable events. Is only set if `event_type` is `session` or `view`. + properties: + when: + $ref: '#/components/schemas/RumMetricUniquenessWhen' + type: object + RumMetricCompute: + description: The compute rule to compute the RUM-based metric. + properties: + aggregation_type: + $ref: '#/components/schemas/RumMetricComputeAggregationType' + include_percentiles: + $ref: '#/components/schemas/RumMetricComputeIncludePercentiles' + path: + description: |- + The path to the value the RUM-based metric will aggregate on. + Only present when `aggregation_type` is `distribution`. + example: '@duration' + type: string + required: + - aggregation_type + type: object + RumMetricFilter: + description: The RUM-based metric filter. Events matching this filter will be aggregated in this metric. + properties: + query: + default: '*' + description: The search query - following the RUM search syntax. + example: '@service:web-ui:' + type: string + required: + - query + type: object + RumMetricGroupBy: + description: A group by rule. + properties: + path: + description: The path to the value the RUM-based metric will be aggregated over. + example: '@browser.name' + type: string + tag_name: + description: Eventual name of the tag that gets created. By default, `path` is used as the tag name. + example: browser_name + type: string + required: + - path + type: object + RumMetricUniqueness: + description: The rule to count updatable events. Is only set if `event_type` is `sessions` or `views`. + properties: + when: + $ref: '#/components/schemas/RumMetricUniquenessWhen' + required: + - when + type: object + RumMetricUpdateCompute: + description: The compute rule to compute the RUM-based metric. + properties: + include_percentiles: + $ref: '#/components/schemas/RumMetricComputeIncludePercentiles' + type: object + RumRetentionQuotaCustomConfig: + description: The configuration used when `mode` is `custom`. + properties: + daily_reset_time: + description: The time of day when the daily quota resets, in `HH:MM` 24-hour format. + example: '08:00' + pattern: ^([01]\d|2[0-3]):[0-5]\d$ + type: string + daily_reset_timezone: + description: The timezone offset used for the daily reset time, in `±HH:MM` format. + example: '+09:00' + pattern: ^[+-](0\d|1[0-4]):[0-5]\d$ + type: string + quota_reached_action: + $ref: '#/components/schemas/RumRetentionQuotaReachedAction' + session_limit: + description: The maximum number of sessions allowed within the window. Must be at least `1000`. + example: 1000000 + format: int64 + minimum: 1000 + type: integer + window_type: + $ref: '#/components/schemas/RumRetentionQuotaWindowType' + required: + - window_type + - session_limit + - daily_reset_time + - daily_reset_timezone + - quota_reached_action + type: object + RumRetentionQuotaMode: + description: |- + The retention quota mode. `custom` enforces a fixed session limit. + `custom` is the only supported mode. + enum: + - custom + example: custom + type: string + x-enum-varnames: + - CUSTOM + TeamsOwnershipMatchType: + default: exact + description: How the `view_name` is matched against RUM view names. + enum: + - exact + - prefix + example: exact + type: string + x-enum-varnames: + - EXACT + - PREFIX + TeamsOwnershipMappingBatchOperationDataAttributes: + description: |- + The attributes of the mapping to add. `team_handle` and `view_name` are required + when `op` is `add`. At least one of `service` or `application_id` must be provided. + properties: + application_id: + description: |- + The ID of the RUM application this mapping applies to. + For browser applications, provide the real application UUID — the team is applied to the view regardless of service. + For mobile applications, omit this field (or set it to the nil UUID `00000000-0000-0000-0000-000000000000`) — the team is applied to the view and service combination across all applications. + example: 11111111-2222-3333-4444-555555555555 + format: uuid + type: string + match_type: + $ref: '#/components/schemas/TeamsOwnershipMatchType' + service: + description: The RUM application's service name. For browser applications, this is optional. For mobile applications, this is required and scopes the ownership to a specific service. + example: web-checkout + type: string + team_handle: + description: The handle of the team that owns the matched RUM views. + example: team-rum + type: string + view_name: + description: The RUM view name to match, or its prefix when `match_type` is `prefix`. + example: /checkout + type: string + type: object + TeamsOwnershipMappingBatchResultDataAttributes: + description: The attributes of a mapping created by an `add` operation. + properties: + application_id: + description: The ID of the RUM application, when one was provided. + example: 11111111-2222-3333-4444-555555555555 + format: uuid + type: string + created_at: + description: Timestamp when the mapping was created. + example: '2026-01-15T09:30:00.000Z' + format: date-time + type: string + created_by: + description: The UUID of the user who created the mapping. + example: aaaaaaaa-bbbb-cccc-dddd-eeeeeeeeeeee + type: string + match_type: + $ref: '#/components/schemas/TeamsOwnershipMatchType' + org_id: + description: The ID of the organization that owns this mapping. + example: 123456 + format: int64 + type: integer + service: + description: The RUM application's service name, when one was provided. + example: web-checkout + type: string + team_handle: + description: The handle of the team that owns the matched RUM views. + example: team-rum + type: string + view_name: + description: The RUM view name to match, or its prefix when `match_type` is `prefix`. + example: /checkout + type: string + required: + - team_handle + - view_name + - org_id + - created_at + - created_by + - match_type + type: object + TeamsOwnershipRuleTeamMapping: + description: An individual team's ownership entry within a teams ownership rule. + properties: + mapping_id: + description: The ID of the underlying mapping, used to delete this team's ownership individually. + example: '123' + type: string + team_handle: + description: The handle of the owning team. + example: team-rum + type: string + required: + - team_handle + - mapping_id + type: object + RUMOperationJourneyRum: + description: The definition of a RUM operation's journey, used to detect it from RUM events. + properties: + rum_steps: + description: The ordered list of steps composing the RUM journey. + items: + $ref: '#/components/schemas/RUMOperationJourneyStep' + type: array + required: + - rum_steps + type: object + RUMOperationUser: + description: A Datadog user referenced by a RUM operation. + properties: + email: + description: The email of the user. + readOnly: true + type: string + handle: + description: The handle of the user. + readOnly: true + type: string + name: + description: The name of the user. + readOnly: true + type: string + uuid: + description: The UUID of the user. + readOnly: true + type: string + type: object + RUMOperationStrongLinkStatus: + description: The status of a RUM operation strong link. + enum: + - DRAFT + - CONFIRMED + - REJECTED + example: CONFIRMED + type: string + x-enum-varnames: + - DRAFT + - CONFIRMED + - REJECTED + RUMOperationStrongLinkUpdateStatus: + description: The status of a RUM operation strong link. Can only be set to `CONFIRMED` or `REJECTED`. + enum: + - CONFIRMED + - REJECTED + example: CONFIRMED + type: string + x-enum-varnames: + - CONFIRMED + - REJECTED + AggregatedWaterfallPerformanceCriteria: + description: Performance criteria to filter view instances by a metric threshold. + properties: + max: + description: Maximum threshold in seconds (inclusive). + example: 5 + format: double + type: number + metric: + $ref: '#/components/schemas/AggregatedWaterfallPerformanceCriteriaMetric' + min: + description: Minimum threshold in seconds (inclusive). + example: 2.5 + format: double + type: number + required: + - metric + type: object + AggregatedLongTasksByInvokerType: + description: Aggregated long task statistics for a single invoker type. + properties: + criteria_view_occurrences: + description: Number of sampled views where this invoker type had long tasks contributing to the criteria metric. + example: 40 + format: int32 + maximum: 2147483647 + type: integer + impact_score: + description: Rank-product impact score combining view frequency and blocking time severity. + example: 0.4 + format: double + type: number + invoker_type: + description: Category of the long task invoker (for example, resolve-promise, user-callback). + example: resolve-promise + type: string + stats_per_view: + $ref: '#/components/schemas/LongTaskStatsPerView' + top_invokers: + description: Top invokers within this invoker type, sorted by impact score descending. + items: + $ref: '#/components/schemas/TopLongTaskInvoker' + type: array + view_occurrences: + description: Number of sampled views where this invoker type had any long tasks. + example: 68 + format: int32 + maximum: 2147483647 + type: integer + required: + - invoker_type + - view_occurrences + - stats_per_view + - top_invokers + type: object + SignalsProblemsDetections: + description: Grouped detection results by detection type. + properties: + high_frozen_frame_rates: + description: Detected high frozen frame rate issues. + items: + $ref: '#/components/schemas/AggregatedHighFrozenFrameRate' + type: array + high_script_evaluations: + description: Detected high script evaluation issues. + items: + $ref: '#/components/schemas/AggregatedHighScriptEval' + type: array + low_cache_hit_rates: + description: Detected low cache hit rate issues. + items: + $ref: '#/components/schemas/AggregatedLowCacheHitRate' + type: array + mobile_scroll_frictions: + description: Detected mobile scroll friction issues. + items: + $ref: '#/components/schemas/AggregatedMobileScrollFriction' + type: array + slow_fcp_high_bytes: + description: Detected slow first contentful paint with high byte count issues. + items: + $ref: '#/components/schemas/AggregatedSlowFCPHighBytes' + type: array + slow_interaction_long_tasks: + description: Detected slow interaction with long task issues. + items: + $ref: '#/components/schemas/AggregatedSlowInteractionLongTask' + type: array + uncompressed_resources: + description: Detected uncompressed resource issues. + items: + $ref: '#/components/schemas/AggregatedUncompressedResource' + type: array + type: object + SignalsProblemsSampleMetadata: + description: Metadata about the sampling quality for a signals and problems query. + properties: + failed: + description: Number of view instances that failed to process. + example: 2 + format: int32 + maximum: 2147483647 + type: integer + requested: + description: Number of view instances requested for sampling. + example: 30 + format: int32 + maximum: 2147483647 + type: integer + sampled_view_ids: + description: List of RUM view IDs that were sampled. + example: + - 6fbf69b6-9455-436a-b894-a6bf64126d40 + items: + type: string + type: array + succeeded: + description: Number of view instances successfully processed. + example: 28 + format: int32 + maximum: 2147483647 + type: integer + success_rate: + description: Ratio of successfully processed views to requested views. + example: 0.93 + format: double + type: number + required: + - requested + - succeeded + - failed + - success_rate + - sampled_view_ids + type: object + AggregatedResource: + description: Aggregated performance statistics for a single network resource across sampled view instances. + properties: + avg_duration_ms: + description: Average total duration in milliseconds. + example: 839.1 + format: double + type: number + avg_start_time_ms: + description: Average start time relative to view start in milliseconds. + example: 1486.3 + format: double + type: number + cache_hit_rate_pct: + description: Cache hit rate as a percentage. + example: 100 + format: double + type: number + cached_count: + description: Number of requests served from cache. + example: 27 + format: int32 + maximum: 2147483647 + type: integer + downloaded_count: + description: Number of requests downloaded from the network. + example: 0 + format: int32 + maximum: 2147483647 + type: integer + global_p75_duration_ms: + description: 75th percentile duration across all view names in the application, present when include_global_appearance is true. + example: 500 + format: double + type: number + global_view_name_count: + description: Number of distinct view names in the application that load this resource, present when include_global_appearance is true. + example: 3 + format: int32 + maximum: 2147483647 + type: integer + global_view_name_pct: + description: Percentage of distinct view names in the application that load this resource, present when include_global_appearance is true. + example: 30 + format: double + type: number + http_method: + description: HTTP method for the resource request. + example: GET + nullable: true + type: string + load_frequency_pct: + description: Percentage of sampled view instances that loaded this resource. + example: 54 + format: double + type: number + max_duration_ms: + description: Maximum duration in milliseconds. + example: 945.6 + format: double + type: number + median_duration_ms: + description: Median duration in milliseconds. + example: 836.2 + format: double + type: number + min_duration_ms: + description: Minimum duration in milliseconds. + example: 812.7 + format: double + type: number + p75_duration_ms: + description: 75th percentile duration in milliseconds. + example: 844.1 + format: double + type: number + p95_duration_ms: + description: 95th percentile duration in milliseconds. + example: 861.8 + format: double + type: number + resource_type: + description: Resource type (JS, CSS, image, fetch, XHR, document, and so on). + example: fetch + nullable: true + type: string + resource_url_path_group: + description: URL path group used to aggregate similar resources. + example: /api/gallery + type: string + timing_breakdown: + $ref: '#/components/schemas/AggregatedResourceTimingBreakdown' + total_requests: + description: Total number of requests for this resource across all sampled views. + example: 27 + format: int32 + maximum: 2147483647 + type: integer + views_with_resource: + description: Number of sampled view instances that loaded this resource. + example: 27 + format: int32 + maximum: 2147483647 + type: integer + required: + - resource_url_path_group + - resource_type + - http_method + - avg_start_time_ms + - avg_duration_ms + - p95_duration_ms + - p75_duration_ms + - median_duration_ms + - min_duration_ms + - max_duration_ms + - timing_breakdown + - total_requests + - views_with_resource + - load_frequency_pct + - cached_count + - downloaded_count + - cache_hit_rate_pct + type: object + PlaylistDataAttributesCreatedBy: + description: Information about the user who created the playlist. properties: - data: - $ref: '#/components/schemas/RumMetricCreateData' + handle: + description: Email handle of the user who created the playlist. + example: john.doe@example.com + type: string + icon: + description: URL or identifier of the user's avatar icon. + type: string + id: + description: Unique identifier of the user who created the playlist. + example: 00000000-0000-0000-0000-000000000001 + type: string + name: + description: Display name of the user who created the playlist. + type: string + uuid: + description: UUID of the user who created the playlist. + example: 00000000-0000-0000-0000-000000000001 + type: string required: - - data + - handle + - id + - uuid type: object - RumMetricResponse: - description: The rum-based metric object. + JSSourcemapData: + description: JavaScript source map data object. properties: - data: - $ref: '#/components/schemas/RumMetricResponseData' + attributes: + $ref: '#/components/schemas/JSSourcemapAttributes' + id: + description: The unique identifier of the source map. + example: '5' + type: string + type: + $ref: '#/components/schemas/SourcemapDataType' + required: + - id + - type + - attributes type: object - RumMetricUpdateRequest: - description: The new rum-based metric body. + ReactNativeSourcemapData: + description: React Native source map data object. properties: - data: - $ref: '#/components/schemas/RumMetricUpdateData' + attributes: + $ref: '#/components/schemas/ReactNativeSourcemapAttributes' + id: + description: The unique identifier of the source map. + example: '10' + type: string + type: + $ref: '#/components/schemas/SourcemapDataType' required: - - data + - id + - type + - attributes type: object - RUMSort: - description: Sort parameters when querying events. + IOSSourcemapData: + description: iOS dSYM source map data object. + properties: + attributes: + $ref: '#/components/schemas/IOSSourcemapAttributes' + id: + description: The unique identifier of the source map. + example: '11' + type: string + type: + $ref: '#/components/schemas/SourcemapDataType' + required: + - id + - type + - attributes + type: object + JVMSourcemapData: + description: JVM (ProGuard/R8) mapping file data object. + properties: + attributes: + $ref: '#/components/schemas/JVMSourcemapAttributes' + id: + description: The unique identifier of the source map. + example: '9' + type: string + type: + $ref: '#/components/schemas/SourcemapDataType' + required: + - id + - type + - attributes + type: object + FlutterSourcemapData: + description: Flutter symbol file data object. + properties: + attributes: + $ref: '#/components/schemas/FlutterSourcemapAttributes' + id: + description: The unique identifier of the source map. + example: '12' + type: string + type: + $ref: '#/components/schemas/SourcemapDataType' + required: + - id + - type + - attributes + type: object + ELFSourcemapData: + description: ELF symbol file data object. + properties: + attributes: + $ref: '#/components/schemas/ELFSourcemapAttributes' + id: + description: The unique identifier of the source map. + example: '6' + type: string + type: + $ref: '#/components/schemas/SourcemapDataType' + required: + - id + - type + - attributes + type: object + NDKSourcemapData: + description: Android NDK symbol file data object. + properties: + attributes: + $ref: '#/components/schemas/NDKSourcemapAttributes' + id: + description: The unique identifier of the source map. + example: '7' + type: string + type: + $ref: '#/components/schemas/SourcemapDataType' + required: + - id + - type + - attributes + type: object + IL2CPPSourcemapData: + description: IL2CPP mapping file data object. + properties: + attributes: + $ref: '#/components/schemas/IL2CPPSourcemapAttributes' + id: + description: The unique identifier of the source map. + example: '8' + type: string + type: + $ref: '#/components/schemas/SourcemapDataType' + required: + - id + - type + - attributes + type: object + ServiceRepositoryInfoStatus: + description: The status of the service repository info lookup. enum: - - timestamp - - '-timestamp' + - success + - not_found + - no_repository + - internal_error + - unknown + example: success type: string x-enum-varnames: - - TIMESTAMP_ASCENDING - - TIMESTAMP_DESCENDING - RUMEventsResponse: - description: >- - Response object with all events matching the request and pagination - information. + - SUCCESS + - NOT_FOUND + - NO_REPOSITORY + - INTERNAL_ERROR + - UNKNOWN + FacetInfoResponseDataAttributesResultRange: + description: The numeric range of a facet attribute, representing the minimum and maximum observed values. properties: - data: - description: Array of events matching the request. + max: + description: The maximum observed value for the numeric facet attribute. (opaque JSON object) + type: string + min: + description: The minimum observed value for the numeric facet attribute. (opaque JSON object) + type: string + type: object + FacetInfoResponseDataAttributesResultValuesItems: + description: A single facet value with its occurrence count in the dataset. + properties: + count: + description: The number of records that have this facet value. + format: int64 + type: integer + value: + description: The facet value (for example, a browser name or country code). + type: string + type: object + ProductAnalyticsAudienceFilters: + description: Audience filter definitions for targeting specific user segments. + properties: + accounts: + description: Account audience queries. items: - $ref: '#/components/schemas/RUMEvent' + $ref: '#/components/schemas/ProductAnalyticsAudienceAccountSubquery' + type: array + formula: + description: Boolean formula combining audience queries by name. + example: u + type: string + segments: + description: Segment audience queries. + items: + $ref: '#/components/schemas/ProductAnalyticsAudienceSegmentSubquery' + type: array + users: + description: User audience queries. + items: + $ref: '#/components/schemas/ProductAnalyticsAudienceUserSubquery' type: array - links: - $ref: '#/components/schemas/RUMResponseLinks' - meta: - $ref: '#/components/schemas/RUMResponseMetadata' type: object - RUMSearchEventsRequest: - description: The request for a RUM events list. + ProductAnalyticsBaseQuery: + description: |- + A query definition discriminated by the `data_source` field. + Use `product_analytics` for standard event queries, or + `product_analytics_occurrence` for occurrence-filtered queries. properties: - filter: - $ref: '#/components/schemas/RUMQueryFilter' - options: - $ref: '#/components/schemas/RUMQueryOptions' - page: - $ref: '#/components/schemas/RUMQueryPageOptions' + data_source: + $ref: '#/components/schemas/ProductAnalyticsEventQueryDataSource' + search: + $ref: '#/components/schemas/ProductAnalyticsEventSearch' + required: + - data_source + - search + type: object + ProductAnalyticsAnalyticsListSort: + description: The sort applied to the returned event rows. + properties: + facet: + description: Name of the facet to sort the rows by. + type: string + order: + $ref: '#/components/schemas/ProductAnalyticsAnalyticsListSortOrder' + type: object + ProductAnalyticsCompute: + description: A compute rule for aggregating data. + properties: + aggregation: + description: The aggregation function (count, cardinality, avg, sum, min, max, etc.). + example: count + type: string + interval: + description: |- + Time bucket size in milliseconds. Required for timeseries queries; ignored by the + scalar endpoint, which returns a single value. + example: 3600000 + format: int64 + type: integer + metric: + description: The metric to aggregate on. Required for non-count aggregations. + example: '@session.time_spent' + type: string + required: + - aggregation + type: object + ProductAnalyticsGroupBy: + description: A group-by rule for segmenting results by facet values. + properties: + facet: + description: The facet to group by. + example: '@view.name' + type: string + limit: + description: Maximum number of groups to return. + example: 10 + format: int64 + type: integer + should_exclude_missing: + default: false + description: Exclude results with missing facet values. + type: boolean sort: - $ref: '#/components/schemas/RUMSort' + $ref: '#/components/schemas/ProductAnalyticsGroupBySort' + source: + description: The source for audience-filter-based group-by. + type: string + required: + - facet + type: object + ProductAnalyticsScalarColumnMeta: + description: Metadata associated with a scalar response column, including optional unit information. + properties: + unit: + description: Unit definitions for the column values, if applicable. + items: + $ref: '#/components/schemas/ProductAnalyticsUnit' + nullable: true + type: array + type: object + ProductAnalyticsScalarColumnType: + description: Column type. + enum: + - number + - group + type: string + x-enum-varnames: + - NUMBER + - GROUP + ProductAnalyticsJourneyFunnelCompute: + description: Defines the metric computed at each funnel step. + properties: + aggregation: + description: |- + Aggregation function: `count`, `cardinality`, `avg`, `median`, `min`, `max`, `sum`, + or a percentile of the form `pc` such as `pc95`. Defaults to `cardinality`. + pattern: ^(count|cardinality|avg|median|min|max|sum|pc[0-9]{1,2})$ + type: string + metric: + description: Metric to aggregate on. Defaults to the identity join key. + type: string + type: object + ProductAnalyticsGraphQueryGroupBy: + description: Segments journey results by the values of a facet. + properties: + facet: + description: Attribute path to group by. + example: '@geo.country' + type: string + limit: + description: Maximum number of groups to return. Omit it to let the service choose. + format: int64 + minimum: 1 + type: integer + should_exclude_missing: + default: false + description: Whether to exclude entities that have no value for this facet. + type: boolean + sort: + $ref: '#/components/schemas/ProductAnalyticsGroupBySort' + source: + $ref: '#/components/schemas/ProductAnalyticsGraphQueryGroupBySource' + target: + $ref: '#/components/schemas/ProductAnalyticsJourneyTarget' + value_filters: + description: Restricts the results to these facet values. + items: + description: A facet value to keep. + type: string + type: array + required: + - facet + type: object + ProductAnalyticsJourneySearch: + description: Defines the steps of the journey and the filters applied to it. + properties: + expression: + description: Expression combining the node aliases in order, for example `A -> B -> C`. + example: A -> B + type: string + filters: + $ref: '#/components/schemas/ProductAnalyticsJourneySearchFilters' + join_keys: + $ref: '#/components/schemas/ProductAnalyticsJoinKeys' + node_objects: + additionalProperties: + $ref: '#/components/schemas/ProductAnalyticsBaseQuery' + description: |- + Map of node alias to the query matching that step of the journey. + Every alias used in `expression` must have an entry here. + example: + A: + data_source: product_analytics + search: + query: '@type:view @view.name:Login' + B: + data_source: product_analytics + search: + query: '@type:action @action.target.name:Submit' + type: object + required: + - expression + - node_objects + type: object + ProductAnalyticsJourneyFunnelStepGroup: + description: Breakdown of a funnel step for one combination of group-by values. + properties: + conversion_count: + description: Number of entities in this group that reached the next step. + example: 210 + format: int64 + type: integer + elapsed_time_to_next_step: + $ref: '#/components/schemas/ProductAnalyticsElapsedTime' + group_tags: + description: Group-by values identifying this cohort. + example: + - United States + items: + description: A group-by value. + type: string + type: array + value: + description: Value of the computed metric for this group at this step. + example: 480 + format: double + type: number + required: + - group_tags + - value + - conversion_count + - elapsed_time_to_next_step + type: object + ProductAnalyticsJourneyComputedColumn: + description: |- + A computed column added to each row. Requesting `first_conversion_timestamps` adds one + `_timestamp` key per step. + properties: + name: + $ref: '#/components/schemas/ProductAnalyticsJourneyComputedColumnName' + required: + - name + type: object + ProductAnalyticsJourneyConversionType: + description: Whether to return the entities that converted at the target step, or those that dropped off. + enum: + - conversion + - drop-off + example: conversion + type: string + x-enum-varnames: + - CONVERSION + - DROP_OFF + ProductAnalyticsJourneyListSort: + description: |- + Sort configuration for the returned rows. The sort is applied only when `facet` + is one of the returned columns; otherwise it is ignored. + properties: + facet: + description: Column to sort on. + type: string + order: + $ref: '#/components/schemas/QuerySortOrder' + type: object + ProductAnalyticsJourneyTarget: + description: |- + A reference to a step, or a range of steps, in the journey. + Use a `node` target to name a single step, or a `path` target to name the range + between two steps. + properties: + type: + $ref: '#/components/schemas/ProductAnalyticsJourneyNodeTargetType' + value: + description: Alias of the targeted node. + example: A + type: string + end: + description: Alias of the node the path ends at. + example: B + type: string + start: + description: Alias of the node the path starts at. + example: A + type: string + required: + - type + - value + - start + - end type: object - RUMCompute: - description: A compute rule to compute metrics or timeseries. + ProductAnalyticsJourneyScalarCompute: + description: Defines the metric computed over the journey for a scalar query. properties: aggregation: - $ref: '#/components/schemas/RUMAggregationFunction' - interval: description: |- - The time buckets' size (only used for type=timeseries) - Defaults to a resolution of 150 points. - example: 5m + Aggregation function: `count`, `cardinality`, `avg`, `median`, `min`, `max`, `sum`, + or a percentile of the form `pc` such as `pc95`. Defaults to `cardinality`. + example: count + pattern: ^(count|cardinality|avg|median|min|max|sum|pc[0-9]{1,2})$ type: string metric: - description: The metric to use. - example: '@duration' + description: |- + Metric to aggregate on. Use a facet path such as `@view.time_spent`, or one of the + journey metrics `__dd.conversion`, `__dd.conversion_rate`, `__dd.time_to_convert`, + or `__dd.dropoff_rate`. Defaults to `__dd.conversion`. type: string - type: - $ref: '#/components/schemas/RUMComputeType' + target: + $ref: '#/components/schemas/ProductAnalyticsJourneyTarget' required: - aggregation type: object - RUMQueryFilter: - description: The search and filter query settings. + ProductAnalyticsGraphQueryCompute: + description: Defines the metric computed over the journey. properties: - from: - default: now-15m - description: >- - The minimum time for the requested events; supports date (in [ISO - 8601](https://www.w3.org/TR/NOTE-datetime) format with full date, - hours, minutes, and the `Z` UTC indicator - seconds and fractional - seconds are optional), math, and regular timestamps (in - milliseconds). - example: now-15m + aggregation: + description: |- + Aggregation function: `count`, `cardinality`, `avg`, `median`, `min`, `max`, `sum`, + or a percentile of the form `pc` such as `pc95`. Defaults to `cardinality`. + example: count + pattern: ^(count|cardinality|avg|median|min|max|sum|pc[0-9]{1,2})$ type: string - query: - default: '*' - description: The search query following the RUM search syntax. - example: '@type:session AND @session.type:user' + interval: + description: Time bucket interval in milliseconds, used by timeseries queries. + format: int64 + type: integer + metric: + description: |- + Metric to aggregate on. Use a facet path such as `@view.time_spent`, or one of the + journey metrics `__dd.conversion`, `__dd.conversion_rate`, `__dd.time_to_convert`, + or `__dd.dropoff_rate`. Defaults to `__dd.conversion`. type: string - to: - default: now - description: >- - The maximum time for the requested events; supports date (in [ISO - 8601](https://www.w3.org/TR/NOTE-datetime) format with full date, - hours, minutes, and the `Z` UTC indicator - seconds and fractional - seconds are optional), math, and regular timestamps (in - milliseconds). - example: now + target: + $ref: '#/components/schemas/ProductAnalyticsJourneyTarget' + required: + - aggregation + type: object + ProductAnalyticsRetentionScope: + description: |- + Restricts a retention query to part of the grid, so that results can be examined in detail. + Omit it to compute the whole grid. + properties: + target: + $ref: '#/components/schemas/ProductAnalyticsRetentionCohortTarget' + type: + $ref: '#/components/schemas/ProductAnalyticsRetentionCohortScopeType' + cohort_target: + $ref: '#/components/schemas/ProductAnalyticsRetentionCohortTarget' + return_period_target: + $ref: '#/components/schemas/ProductAnalyticsRetentionIndexTarget' + required: + - type + - target + - cohort_target + - return_period_target + type: object + ProductAnalyticsRetentionCompute: + description: The metric and aggregation applied to a retention query. + properties: + aggregation: + description: The aggregation function applied to the metric, such as `count` or `avg`. + example: count type: string + metric: + $ref: '#/components/schemas/ProductAnalyticsRetentionComputeMetric' + required: + - metric + - aggregation type: object - RUMGroupBy: - description: A group-by rule. + ProductAnalyticsRetentionGroupBy: + description: Splits retention results by the values of a facet. properties: facet: - description: The name of the facet to use (required). - example: '@view.time_spent' + description: The attribute path to group by. + example: '@geo.country' type: string - histogram: - $ref: '#/components/schemas/RUMGroupByHistogram' limit: - default: 10 - description: The maximum buckets to return for this group-by. + description: Maximum number of groups to return. Omit it to let the service choose. + example: 10 format: int64 + minimum: 1 type: integer - missing: - $ref: '#/components/schemas/RUMGroupByMissing' + should_exclude_missing: + default: false + description: Whether to drop entities that have no value for the facet. + type: boolean sort: - $ref: '#/components/schemas/RUMAggregateSort' - total: - $ref: '#/components/schemas/RUMGroupByTotal' + $ref: '#/components/schemas/ProductAnalyticsGroupBySort' + source: + description: Audience source backing the group-by, when grouping by an audience rather than a facet. + type: string + target: + $ref: '#/components/schemas/ProductAnalyticsRetentionGroupByTarget' required: + - target - facet type: object - RUMQueryOptions: - description: >- - Global query options that are used during the query. - - Note: Only supply timezone or time offset, not both. Otherwise, the - query fails. + ProductAnalyticsRetentionSearch: + description: Defines the cohort and return criteria that make up a retention query. properties: - time_offset: - description: The time offset (in seconds) to apply to the query. - format: int64 - type: integer - timezone: - default: UTC - description: >- - The timezone can be specified as GMT, UTC, an offset from UTC (like - UTC+1), or as a Timezone Database identifier (like - America/New_York). - example: GMT - type: string + cohort_criteria: + $ref: '#/components/schemas/ProductAnalyticsRetentionCohortCriteria' + filters: + $ref: '#/components/schemas/ProductAnalyticsRetentionFilters' + retention_entity: + $ref: '#/components/schemas/ProductAnalyticsRetentionEntity' + return_condition: + $ref: '#/components/schemas/ProductAnalyticsRetentionReturnCondition' + return_criteria: + $ref: '#/components/schemas/ProductAnalyticsRetentionReturnCriteria' + required: + - cohort_criteria + - retention_entity + - return_condition type: object - RUMQueryPageOptions: - description: Paging attributes for listing events. + ProductAnalyticsRetentionGridCohortCell: + description: |- + One cell of the retention grid, holding the result for a single cohort over a single return period. + Aggregated rows omit the time and count fields. properties: - cursor: - description: List following results with a cursor provided in the previous query. - example: >- - eyJzdGFydEF0IjoiQVFBQUFYS2tMS3pPbm40NGV3QUFBQUJCV0V0clRFdDZVbG8zY3pCRmNsbHJiVmxDWlEifQ== - type: string - limit: - default: 10 - description: Maximum number of events in the response. - example: 25 - format: int32 - maximum: 1000 + cell_count: + description: Number of entities that returned during the period. + format: int64 + type: integer + cell_rate: + description: Fraction of the cohort that returned, between `0` and `1`. + format: double + type: number + cell_relative_value_change: + description: Change in the metric relative to the cohort baseline. + format: double + nullable: true + type: number + cell_value: + description: Value of the computed metric, when a metric other than the retention rate is requested. + format: double + nullable: true + type: number + is_partial_data: + description: Whether the return period is still open, so the numbers are not yet final. + type: boolean + return_period_end_time: + description: End of the return period, in epoch milliseconds. + format: int64 + type: integer + return_period_index: + description: Zero-based index of the return period this cell belongs to. + format: int64 type: integer + return_period_start_time: + description: Start of the return period, in epoch milliseconds. + format: int64 + type: integer + type: + $ref: '#/components/schemas/ProductAnalyticsRetentionGridCohortType' type: object - RUMAggregationBucketsResponse: - description: The query results. + ProductAnalyticsRetentionGridCohortType: + description: Whether the row holds one cohort's own numbers, or the weighted roll-up across every cohort. + enum: + - raw + - aggregated + example: raw + type: string + x-enum-varnames: + - RAW + - AGGREGATED + ProductAnalyticsRetentionListColumn: + description: A column to include in each returned entity row. properties: - buckets: - description: The list of matching buckets, one item per bucket. - items: - $ref: '#/components/schemas/RUMBucketResponse' - type: array + field: + $ref: '#/components/schemas/ProductAnalyticsRetentionListColumnField' type: object - RUMResponseLinks: - description: Links attributes. + ProductAnalyticsRetentionCellScope: + description: Narrows a retention query to a single cell, at the intersection of one cohort and one return period. properties: - next: - description: >- - Link for the next set of results. Note that the request can also be - made using the - - POST endpoint. - example: >- - https://app.datadoghq.com/api/v2/rum/event?filter[query]=foo&page[cursor]=eyJzdGFydEF0IjoiQVFBQUFYS2tMS3pPbm40NGV3QUFBQUJCV0V0clRFdDZVbG8zY3pCRmNsbHJiVmxDWlEifQ== - type: string + cohort_target: + $ref: '#/components/schemas/ProductAnalyticsRetentionCohortTarget' + return_period_target: + $ref: '#/components/schemas/ProductAnalyticsRetentionIndexTarget' + type: + $ref: '#/components/schemas/ProductAnalyticsRetentionCellScopeType' + required: + - type + - cohort_target + - return_period_target type: object - RUMResponseMetadata: - description: The metadata associated with a request. + ProductAnalyticsJoinKeys: + description: Identity join keys used to stitch events belonging to the same user or session. properties: - elapsed: - description: The time elapsed in milliseconds. - example: 132 - format: int64 - type: integer - page: - $ref: '#/components/schemas/RUMResponsePage' - request_id: - description: The identifier of the request. - example: MWlFUjVaWGZTTTZPYzM0VXp1OXU2d3xLSVpEMjZKQ0VKUTI0dEYtM3RSOFVR + primary: + description: Primary identity join key. Defaults to `@session.id`. + example: '@session.id' type: string - status: - $ref: '#/components/schemas/RUMResponseStatus' - warnings: - description: >- - A list of warnings (non-fatal errors) encountered. Partial results - may return if - - warnings are present in the response. + secondary: + description: Additional identity join keys. items: - $ref: '#/components/schemas/RUMWarning' + description: An identity join key facet. + type: string type: array type: object - RUMApplicationList: - description: RUM application list. + ProductAnalyticsSankeyAggregatedNode: + description: One of the nodes rolled up into an aggregated node, retained so the roll-up can be broken down. properties: - attributes: - $ref: '#/components/schemas/RUMApplicationListAttributes' id: - description: RUM application ID. - example: abcd1234-0000-0000-abcd-1234abcd5678 + description: Unique identifier for the node. + type: string + incoming_value: + description: Number of sessions entering the node. + format: int64 + type: integer + name: + description: The facet value the node represents. type: string + outgoing_value: + description: Number of sessions leaving the node. + format: int64 + type: integer type: - $ref: '#/components/schemas/RUMApplicationListType' - required: - - attributes - - type + $ref: '#/components/schemas/ProductAnalyticsSankeyAggregatedNodeType' + value: + description: Number of sessions passing through the node. + format: int64 + type: integer type: object - RUMApplicationCreate: - description: RUM application creation. + ProductAnalyticsSankeyNodeType: + description: |- + The kind of node. `regular` is a single facet value, `other` rolls up the values that did not + fit within `entries_per_step`, and `dropoff` collects the sessions that ended at this column. + enum: + - regular + - other + - dropoff + type: string + x-enum-varnames: + - REGULAR + - OTHER + - DROPOFF + QueryEventFilteredUsersRequestDataAttributesEventQueryTimeFrame: + description: The time window defining the start and end of the event query period as Unix timestamps. properties: - attributes: - $ref: '#/components/schemas/RUMApplicationCreateAttributes' - type: - $ref: '#/components/schemas/RUMApplicationCreateType' - required: - - attributes - - type + end: + description: End of the time frame as a Unix timestamp in seconds. + format: int64 + type: integer + start: + description: Start of the time frame as a Unix timestamp in seconds. + format: int64 + type: integer type: object - RUMApplication: - description: RUM application. + ListConnectionsResponseDataAttributesConnectionsItemsJoin: + description: The join configuration describing how the data source is linked to the entity. properties: - attributes: - $ref: '#/components/schemas/RUMApplicationAttributes' - id: - description: RUM application ID. - example: abcd1234-0000-0000-abcd-1234abcd5678 + attribute: + description: The entity attribute used as the join key to link records from the data source. type: string type: - $ref: '#/components/schemas/RUMApplicationType' - required: - - attributes - - id - - type + description: The type of join key used (for example, email or user_id). + type: string type: object - RumRetentionFiltersOrderData: - description: The RUM retention filter data for ordering. + RUMAggregateBucketValueSingleString: + description: A single string value. + type: string + RUMAggregateBucketValueSingleNumber: + description: A single number value. + format: double + type: number + RUMAggregateBucketValueTimeseries: + description: A timeseries array. + items: + $ref: '#/components/schemas/RUMAggregateBucketValueTimeseriesPoint' + type: array + x-generate-alias-as-model: true + RUMProductAnalyticsRetentionScale: + description: Product Analytics retention scale configuration. properties: - id: - $ref: '#/components/schemas/RumRetentionFilterID' - type: - $ref: '#/components/schemas/RumRetentionFilterType' - required: - - id - - type + last_modified_at: + description: Timestamp in milliseconds when this scale was last modified. + example: 1747922145974 + format: int64 + type: integer + state: + $ref: '#/components/schemas/RUMProductAnalyticsRetentionState' type: object - RumRetentionFilterData: - description: The RUM retention filter. + RUMEventProcessingScale: + description: RUM event processing scale configuration. properties: - attributes: - $ref: '#/components/schemas/RumRetentionFilterAttributes' - id: - $ref: '#/components/schemas/RumRetentionFilterID' - type: - $ref: '#/components/schemas/RumRetentionFilterType' + last_modified_at: + description: Timestamp in milliseconds when this scale was last modified. + example: 1721897494108 + format: int64 + type: integer + state: + $ref: '#/components/schemas/RUMEventProcessingState' type: object - RumRetentionFilterCreateData: - description: The new RUM retention filter properties to create. + RumMetricComputeAggregationType: + description: The type of aggregation to use. + enum: + - count + - distribution + example: distribution + type: string + x-enum-varnames: + - COUNT + - DISTRIBUTION + RumMetricComputeIncludePercentiles: + description: |- + Toggle to include or exclude percentile aggregations for distribution metrics. + Only present when `aggregation_type` is `distribution`. + example: true + type: boolean + RumMetricUniquenessWhen: + description: When to count updatable events. `match` when the event is first seen, or `end` when the event is complete. + enum: + - match + - end + example: match + type: string + x-enum-varnames: + - WHEN_MATCH + - WHEN_END + RumRetentionQuotaReachedAction: + description: The action to take when the session quota is reached. + enum: + - stop + - slowdown + example: stop + type: string + x-enum-varnames: + - STOP + - SLOWDOWN + RumRetentionQuotaWindowType: + description: The window type over which the session limit is enforced. + enum: + - daily + example: daily + type: string + x-enum-varnames: + - DAILY + RUMOperationJourneyStep: + description: |- + A single step of a RUM operation's journey. Matches RUM events either through a list of `nodes` + or through a `composite` rule; the two are mutually exclusive. properties: - attributes: - $ref: '#/components/schemas/RumRetentionFilterCreateAttributes' + composite: + $ref: '#/components/schemas/RUMOperationJourneyCompositeRule' + nodes: + description: The list of nodes that can match this step. Mutually exclusive with `composite`. + items: + $ref: '#/components/schemas/RUMOperationJourneyNode' + type: array type: - $ref: '#/components/schemas/RumRetentionFilterType' + $ref: '#/components/schemas/RUMOperationJourneyStepType' required: - type - - attributes type: object - RumRetentionFilterUpdateData: - description: The new RUM retention filter properties to update. + AggregatedWaterfallPerformanceCriteriaMetric: + description: Performance metric used to filter view instances by threshold. + enum: + - loading_time + - largest_contentful_paint + - first_contentful_paint + - interaction_to_next_paint + example: largest_contentful_paint + type: string + x-enum-varnames: + - LOADING_TIME + - LARGEST_CONTENTFUL_PAINT + - FIRST_CONTENTFUL_PAINT + - INTERACTION_TO_NEXT_PAINT + LongTaskStatsPerView: + description: Statistical distributions of long task metrics computed per view across sampled views. properties: - attributes: - $ref: '#/components/schemas/RumRetentionFilterUpdateAttributes' - id: - $ref: '#/components/schemas/RumRetentionFilterID' - type: - $ref: '#/components/schemas/RumRetentionFilterType' - required: - - id - - type - - attributes + fcp_blocking_time_ms: + $ref: '#/components/schemas/LongTaskMetricStats' + fcp_count: + $ref: '#/components/schemas/LongTaskMetricStats' + inp_overlap_blocking_time_ms: + $ref: '#/components/schemas/LongTaskMetricStats' + inp_overlap_count: + $ref: '#/components/schemas/LongTaskMetricStats' + lcp_blocking_time_ms: + $ref: '#/components/schemas/LongTaskMetricStats' + lcp_count: + $ref: '#/components/schemas/LongTaskMetricStats' + loading_time_blocking_time_ms: + $ref: '#/components/schemas/LongTaskMetricStats' + loading_time_count: + $ref: '#/components/schemas/LongTaskMetricStats' + total_blocking_time_ms: + $ref: '#/components/schemas/LongTaskMetricStats' + total_count: + $ref: '#/components/schemas/LongTaskMetricStats' type: object - RUMApplicationUpdate: - description: RUM application update. + TopLongTaskInvoker: + description: A top long task invoker within an invoker type. properties: - attributes: - $ref: '#/components/schemas/RUMApplicationUpdateAttributes' - id: - description: RUM application ID. - example: abcd1234-0000-0000-abcd-1234abcd5678 + criteria_view_occurrences: + description: Number of sampled views where this invoker had long tasks contributing to the criteria metric. + example: 40 + format: int32 + maximum: 2147483647 + type: integer + file: + description: Cleaned source file path for the invoker script. + example: src/pages/Gallery.tsx + nullable: true type: string - type: - $ref: '#/components/schemas/RUMApplicationUpdateType' + impact_score: + description: Rank-product impact score combining view frequency and blocking time severity. + example: 0.67 + format: double + type: number + invoker: + description: Name of the invoker function or script. + example: Response.json.then + type: string + stats_per_view: + $ref: '#/components/schemas/LongTaskStatsPerView' + view_occurrences: + description: Number of sampled views where this invoker had any long tasks. + example: 68 + format: int32 + maximum: 2147483647 + type: integer required: - - id - - type - type: object - RumMetricResponseData: - description: The rum-based metric properties. - properties: - attributes: - $ref: '#/components/schemas/RumMetricResponseAttributes' - id: - $ref: '#/components/schemas/RumMetricID' - type: - $ref: '#/components/schemas/RumMetricType' + - invoker + - file + - view_occurrences + - stats_per_view type: object - RumMetricCreateData: - description: The new rum-based metric properties. + AggregatedHighFrozenFrameRate: + description: Aggregated high frozen frame rate detection at view level. properties: - attributes: - $ref: '#/components/schemas/RumMetricCreateAttributes' - id: - $ref: '#/components/schemas/RumMetricID' - type: - $ref: '#/components/schemas/RumMetricType' + avg_frozen_frame_rate: + description: Average frozen frame rate as a fraction of total frames. + example: 0.15 + format: double + type: number + avg_segment_duration: + description: Average segment duration in nanoseconds. + example: 3000000000 + format: int64 + type: integer + avg_total_frozen_duration: + description: Average total frozen duration in nanoseconds. + example: 500000000 + format: int64 + type: integer + fingerprint: + description: Unique fingerprint identifying this detection group. + example: v1$mno345 + type: string + impact_score: + description: Impact score for this detection. + example: 14 + format: double + type: number + view_occurrences: + description: Number of sampled views where this detection occurred. + example: 5 + format: int32 + maximum: 2147483647 + type: integer required: - - id - - type - - attributes + - fingerprint + - view_occurrences + - avg_frozen_frame_rate + - avg_total_frozen_duration + - avg_segment_duration + - impact_score type: object - RumMetricUpdateData: - description: The new rum-based metric properties. + AggregatedHighScriptEval: + description: Aggregated high script evaluation detection grouped by source. properties: - attributes: - $ref: '#/components/schemas/RumMetricUpdateAttributes' - id: - $ref: '#/components/schemas/RumMetricID' - type: - $ref: '#/components/schemas/RumMetricType' + avg_duration: + description: Average script evaluation duration in nanoseconds. + example: 300000000 + format: int64 + type: integer + avg_forced_style_layout: + description: Average forced style/layout duration in nanoseconds. + example: 0 + format: int64 + type: integer + fingerprint: + description: Unique fingerprint identifying this detection group. + example: v1$7766a8c2180aa153f5526ba8868999f8 + type: string + impact_score: + description: Impact score combining view frequency and duration severity. + example: 30 + format: double + type: number + instance_count: + description: Total number of detection instances across sampled views. + example: 3 + format: int32 + maximum: 2147483647 + type: integer + invoker_type: + description: Type of invoker that triggered the script evaluation. + example: user-callback + type: string + source_category: + description: Category of the script source. + example: third-party + nullable: true + type: string + source_function_name: + description: Name of the function that triggered the high script evaluation. + example: handleClick + type: string + source_url: + description: URL of the script that triggered the high script evaluation. + example: https://cdn.example.com/app.js + nullable: true + type: string + view_occurrences: + description: Number of sampled views where this detection occurred. + example: 3 + format: int32 + maximum: 2147483647 + type: integer required: - - type - - attributes + - fingerprint + - source_url + - source_function_name + - source_category + - invoker_type + - view_occurrences + - instance_count + - avg_duration + - avg_forced_style_layout + - impact_score type: object - RUMEvent: - description: >- - Object description of a RUM event after being processed and stored by - Datadog. + AggregatedLowCacheHitRate: + description: Aggregated low cache hit rate detection at view level. properties: - attributes: - $ref: '#/components/schemas/RUMEventAttributes' - id: - description: Unique ID of the event. - example: AAAAAWgN8Xwgr1vKDQAAAABBV2dOOFh3ZzZobm1mWXJFYTR0OA + avg_cache_hit_rate: + description: Average cache hit rate across affected views. + example: 0.15 + format: double + type: number + avg_resource_download_size_bytes: + description: Average total download size of uncached resources in bytes. + example: 1048576 + format: int64 + type: integer + fingerprint: + description: Unique fingerprint identifying this detection group. + example: v1$abc123 type: string - type: - $ref: '#/components/schemas/RUMEventType' + impact_score: + description: Impact score for this detection. + example: 20 + format: double + type: number + view_occurrences: + description: Number of sampled views where this detection occurred. + example: 5 + format: int32 + maximum: 2147483647 + type: integer + required: + - fingerprint + - view_occurrences + - avg_cache_hit_rate + - avg_resource_download_size_bytes + - impact_score type: object - RUMAggregationFunction: - description: An aggregation function. - enum: - - count - - cardinality - - pc75 - - pc90 - - pc95 - - pc98 - - pc99 - - sum - - min - - max - - avg - - median - example: pc90 - type: string - x-enum-varnames: - - COUNT - - CARDINALITY - - PERCENTILE_75 - - PERCENTILE_90 - - PERCENTILE_95 - - PERCENTILE_98 - - PERCENTILE_99 - - SUM - - MIN - - MAX - - AVG - - MEDIAN - RUMComputeType: - default: total - description: The type of compute. - enum: - - timeseries - - total - type: string - x-enum-varnames: - - TIMESERIES - - TOTAL - RUMGroupByHistogram: - description: >- - Used to perform a histogram computation (only for measure facets). - - Note: At most 100 buckets are allowed, the number of buckets is (max - - min)/interval. + AggregatedMobileScrollFriction: + description: Aggregated mobile scroll friction detection at view level. properties: - interval: - description: The bin size of the histogram buckets. - example: 10 + avg_scroll_frozen_frame_count: + description: Average number of frozen frames during scroll interactions. + example: 3 + format: int32 + maximum: 2147483647 + type: integer + fingerprint: + description: Unique fingerprint identifying this detection group. + example: v1$ghi789 + type: string + impact_score: + description: Impact score for this detection. + example: 12 format: double type: number - max: - description: |- - The maximum value for the measure used in the histogram - (values greater than this one are filtered out). - example: 100 + view_occurrences: + description: Number of sampled views where this detection occurred. + example: 6 + format: int32 + maximum: 2147483647 + type: integer + required: + - fingerprint + - view_occurrences + - avg_scroll_frozen_frame_count + - impact_score + type: object + AggregatedSlowFCPHighBytes: + description: Aggregated slow first contentful paint with high byte count detection. + properties: + avg_bytes_before_fcp_bytes: + description: Average total bytes loaded before first contentful paint. + example: 2097152 + format: int64 + type: integer + avg_first_contentful_paint_ms: + description: Average first contentful paint time in milliseconds. + example: 3500 + format: int64 + type: integer + avg_resource_count_before_fcp: + description: Average number of resources loaded before first contentful paint. + example: 25 + format: int64 + type: integer + fingerprint: + description: Unique fingerprint identifying this detection group. + example: v1$def456 + type: string + impact_score: + description: Impact score for this detection. + example: 18 format: double type: number - min: - description: |- - The minimum value for the measure used in the histogram - (values smaller than this one are filtered out). - example: 50 + platform: + description: Platform identifier for the affected views. + example: browser + type: string + view_occurrences: + description: Number of sampled views where this detection occurred. + example: 4 + format: int32 + maximum: 2147483647 + type: integer + required: + - fingerprint + - view_occurrences + - avg_first_contentful_paint_ms + - avg_bytes_before_fcp_bytes + - avg_resource_count_before_fcp + - platform + - impact_score + type: object + AggregatedSlowInteractionLongTask: + description: Aggregated slow interaction with long task detection grouped by action and selector. + properties: + action_type: + description: Type of user interaction that triggered the slow response. + example: click + type: string + avg_blocking_duration: + description: Average long task blocking duration in nanoseconds. + example: 250000000 + format: int64 + type: integer + avg_duration: + description: Average total interaction duration in nanoseconds. + example: 320000000 + format: int64 + type: integer + fingerprint: + description: Unique fingerprint identifying this detection group. + example: v1$jkl012 + type: string + impact_score: + description: Impact score combining view frequency and blocking severity. + example: 22 format: double type: number + instance_count: + description: Total number of detection instances across sampled views. + example: 9 + format: int32 + maximum: 2147483647 + type: integer + selector: + description: CSS selector of the element that was interacted with. + example: '#submit-button' + nullable: true + type: string + selector_normalized: + description: Normalized CSS selector with dynamic parts replaced. + example: button[data-action] + nullable: true + type: string + view_occurrences: + description: Number of sampled views where this detection occurred. + example: 7 + format: int32 + maximum: 2147483647 + type: integer required: - - interval - - min - - max + - fingerprint + - action_type + - selector + - selector_normalized + - view_occurrences + - instance_count + - avg_blocking_duration + - avg_duration + - impact_score type: object - RUMGroupByMissing: - description: The value to use for logs that don't have the facet used to group by. - oneOf: - - $ref: '#/components/schemas/RUMGroupByMissingString' - - $ref: '#/components/schemas/RUMGroupByMissingNumber' - RUMAggregateSort: - description: A sort rule. - example: - aggregation: count - order: asc + AggregatedUncompressedResource: + description: Aggregated uncompressed resource detection grouped by URL path. properties: - aggregation: - $ref: '#/components/schemas/RUMAggregationFunction' - metric: - description: The metric to sort by (only used for `type=measure`). - example: '@duration' + avg_body_size: + description: Average uncompressed body size in bytes. + example: 524288 + format: int64 + type: integer + avg_duration: + description: Average resource loading duration in nanoseconds. + example: 0 + format: int64 + type: integer + fingerprint: + description: Unique fingerprint identifying this detection group. + example: v1$65e268e25cab3a1f6230405ccf011a68 type: string - order: - $ref: '#/components/schemas/RUMSortOrder' - type: - $ref: '#/components/schemas/RUMAggregateSortType' + impact_score: + description: Impact score combining view frequency and resource size. + example: 16.67 + format: double + type: number + instance_count: + description: Total number of detection instances across sampled views. + example: 1 + format: int32 + maximum: 2147483647 + type: integer + provider_type: + description: CDN or hosting provider type for the resource. + example: cloudfront + nullable: true + type: string + render_blocking: + description: Whether the resource is render-blocking. + example: blocking + nullable: true + type: string + resource_type: + description: Type of the resource (JS, CSS, image, fetch, and so on). + example: image + type: string + url_path_group: + description: Normalized URL path pattern for the uncompressed resource. + example: /cdn/hero.jpg + type: string + view_occurrences: + description: Number of sampled views where this detection occurred. + example: 1 + format: int32 + maximum: 2147483647 + type: integer + required: + - fingerprint + - url_path_group + - resource_type + - render_blocking + - provider_type + - view_occurrences + - instance_count + - avg_body_size + - avg_duration + - impact_score type: object - RUMGroupByTotal: - default: false - description: >- - A resulting object to put the given computes in over all the matching - records. - oneOf: - - $ref: '#/components/schemas/RUMGroupByTotalBoolean' - - $ref: '#/components/schemas/RUMGroupByTotalString' - - $ref: '#/components/schemas/RUMGroupByTotalNumber' - RUMBucketResponse: - description: Bucket values. + AggregatedResourceTimingBreakdown: + description: Average timing breakdown per network phase for a resource. properties: - by: - additionalProperties: - description: The values for each group-by. - type: string - description: The key-value pairs for each group-by. - example: - '@session.type': user - '@type': view - type: object - computes: - additionalProperties: - $ref: '#/components/schemas/RUMAggregateBucketValue' - description: >- - A map of the metric name to value for regular compute, or a list of - values for a timeseries. - type: object + avg_connect_ms: + description: Average TCP connect duration in milliseconds. + example: 20 + format: double + type: number + avg_dns_ms: + description: Average DNS resolution duration in milliseconds. + example: 10 + format: double + type: number + avg_download_ms: + description: Average download phase duration in milliseconds. + example: 135 + format: double + type: number + avg_first_byte_ms: + description: Average time to first byte in milliseconds. + example: 30 + format: double + type: number + avg_redirect_ms: + description: Average redirect phase duration in milliseconds. + example: 0 + format: double + type: number + avg_ssl_ms: + description: Average SSL handshake duration in milliseconds. + example: 5 + format: double + type: number + required: + - avg_redirect_ms + - avg_dns_ms + - avg_connect_ms + - avg_ssl_ms + - avg_first_byte_ms + - avg_download_ms type: object - RUMResponsePage: - description: Paging attributes. + JSSourcemapAttributes: + description: Attributes of a JavaScript source map. properties: - after: - description: >- - The cursor to use to get the next results, if any. To make the next - request, use the same parameters with the addition of - `page[cursor]`. - example: >- - eyJzdGFydEF0IjoiQVFBQUFYS2tMS3pPbm40NGV3QUFBQUJCV0V0clRFdDZVbG8zY3pCRmNsbHJiVmxDWlEifQ== + absolute_path: + description: The absolute path to the minified JavaScript file. + example: /js/bundle.min.js + type: string + blob_storage_sourcemap_path: + description: The path to the source map in blob storage. + example: org123/1.0.0/bundle.min.js.map + type: string + build_id: + description: The build identifier. + example: abc123 + type: string + created_at: + description: The timestamp when the source map was created. + example: '2024-01-01T00:00:00Z' + format: date-time + type: string + domain: + description: The domain associated with the source map. + example: example.com + type: string + file_name: + description: The file name of the minified JavaScript file. + example: bundle.min.js + type: string + mapkind: + description: The type of source map. + example: js + type: string + service: + description: The service name associated with the source map. + example: my-web-service type: string + size: + description: The size of the source map file in bytes. + example: 1024 + format: int64 + type: integer + variant: + description: The source map variant. + example: release + type: string + version: + description: The version of the service associated with the source map. + example: 1.0.0 + type: string + version_code: + description: The version code. + example: '100' + type: string + required: + - mapkind + - size + - created_at type: object - RUMResponseStatus: - description: The status of the response. + SourcemapDataType: + description: The resource type for source map objects. enum: - - done - - timeout - example: done + - sourcemaps + example: sourcemaps type: string x-enum-varnames: - - DONE - - TIMEOUT - RUMWarning: - description: A warning message indicating something that went wrong with the query. + - SOURCEMAPS + ReactNativeSourcemapAttributes: + description: Attributes of a React Native source map. properties: - code: - description: A unique code for this type of warning. - example: unknown_index + build_number: + description: The build number. + example: '100' type: string - detail: - description: A detailed explanation of this specific warning. - example: 'indexes: foo, bar' + bundle_name: + description: The bundle name. + example: com.example.app type: string - title: - description: A short human-readable summary of the warning. - example: >- - One or several indexes are missing or invalid, results hold data - from the other indexes + bundle_version: + description: The bundle version. + example: '1.0' + type: string + created_at: + description: The timestamp when the source map was created. + example: '2024-01-01T00:00:00Z' + format: date-time + type: string + debug_id: + description: The debug identifier (UUID format). + example: 550e8400-e29b-41d4-a716-446655440000 + type: string + mapkind: + description: The type of source map. + example: react + type: string + platform: + description: The platform the source map was built for (e.g., `ios`, `android`). + example: ios + type: string + service: + description: The service name associated with the source map. + example: my-react-native-app type: string + size: + description: The size of the source map file in bytes. + example: 2048 + format: int64 + type: integer + version: + description: The version of the service associated with the source map. + example: 1.0.0 + type: string + required: + - mapkind + - size + - created_at type: object - RUMApplicationListAttributes: - description: RUM application list attributes. + IOSSourcemapAttributes: + description: Attributes of an iOS dSYM source map. properties: - application_id: - description: ID of the RUM application. - example: abcd1234-0000-0000-abcd-1234abcd5678 - type: string created_at: - description: Timestamp in ms of the creation date. - example: 1659479836169 + description: The timestamp when the source map was created. + example: '2024-01-01T00:00:00Z' + format: date-time + type: string + mapkind: + description: The type of source map. + example: ios + type: string + size: + description: The size of the dSYM file in bytes. + example: 4096 format: int64 type: integer - created_by_handle: - description: Handle of the creator user. - example: john.doe + uuids: + description: The UUID(s) associated with the dSYM file. + example: 550e8400-e29b-41d4-a716-446655440000 type: string - hash: - description: Hash of the RUM application. Optional. + required: + - mapkind + - size + - created_at + type: object + JVMSourcemapAttributes: + description: Attributes of a JVM mapping file. + properties: + build_id: + description: The build identifier (UUID format). + example: 550e8400-e29b-41d4-a716-446655440000 type: string - is_active: - description: Indicates if the RUM application is active. - example: true - type: boolean - name: - description: Name of the RUM application. - example: my_rum_application + created_at: + description: The timestamp when the mapping file was created. + example: '2024-01-01T00:00:00Z' + format: date-time type: string - org_id: - description: Org ID of the RUM application. - example: 999 - format: int32 - maximum: 2147483647 - type: integer - product_scales: - $ref: '#/components/schemas/RUMProductScales' - type: - description: >- - Type of the RUM application. Supported values are `browser`, `ios`, - `android`, `react-native`, `flutter`, `roku`, `electron`, `unity`, - `kotlin-multiplatform`. - example: browser + mapkind: + description: The type of source map. + example: jvm type: string - updated_at: - description: Timestamp in ms of the last update date. - example: 1659479836169 + service: + description: The service name associated with the mapping file. + example: my-android-app + type: string + size: + description: The size of the mapping file in bytes. + example: 512 format: int64 type: integer - updated_by_handle: - description: Handle of the updater user. - example: jane.doe + variant: + description: The build variant (e.g., `release`, `debug`). + example: release + type: string + version: + description: The version of the service associated with the mapping file. + example: 1.0.0 + type: string + version_code: + description: The version code. + example: '100' type: string required: - - application_id + - mapkind + - size - created_at - - created_by_handle - - name - - org_id - - type - - updated_at - - updated_by_handle type: object - RUMApplicationListType: - default: rum_application - description: RUM application list type. - enum: - - rum_application - example: rum_application - type: string - x-enum-varnames: - - RUM_APPLICATION - RUMApplicationCreateAttributes: - description: RUM application creation attributes. + FlutterSourcemapAttributes: + description: Attributes of a Flutter symbol file. properties: - name: - description: Name of the RUM application. - example: my_new_rum_application + arch: + description: The target CPU architecture. + example: arm64 type: string - product_analytics_retention_state: - $ref: '#/components/schemas/RUMProductAnalyticsRetentionState' - rum_event_processing_state: - $ref: '#/components/schemas/RUMEventProcessingState' - type: - description: >- - Type of the RUM application. Supported values are `browser`, `ios`, - `android`, `react-native`, `flutter`, `roku`, `electron`, `unity`, - `kotlin-multiplatform`. - example: browser + created_at: + description: The timestamp when the symbol file was created. + example: '2024-01-01T00:00:00Z' + format: date-time + type: string + mapkind: + description: The type of source map. + example: flutter + type: string + service: + description: The service name associated with the symbol file. + example: my-flutter-app + type: string + size: + description: The size of the symbol file in bytes. + example: 8192 + format: int64 + type: integer + variant: + description: The build variant. + example: release + type: string + version: + description: The version of the service associated with the symbol file. + example: 1.0.0 type: string required: - - name + - mapkind + - size + - created_at type: object - RUMApplicationCreateType: - default: rum_application_create - description: RUM application creation type. - enum: - - rum_application_create - example: rum_application_create - type: string - x-enum-varnames: - - RUM_APPLICATION_CREATE - RUMApplicationAttributes: - description: RUM application attributes. + ELFSourcemapAttributes: + description: Attributes of an ELF symbol file. properties: - application_id: - description: ID of the RUM application. - example: abcd1234-0000-0000-abcd-1234abcd5678 - type: string - client_token: - description: Client token of the RUM application. - example: abcd1234efgh5678ijkl90abcd1234efgh0 + arch: + description: The target CPU architecture. + example: arm64 type: string created_at: - description: Timestamp in ms of the creation date. - example: 1659479836169 + description: The timestamp when the symbol file was created. + example: '2024-01-01T00:00:00Z' + format: date-time + type: string + file_hash: + description: The SHA256 hash of the ELF file. + example: abc123def456 + type: string + file_name: + description: The ELF file name. + example: libmyapp.so + type: string + gnu_build_id: + description: The GNU build ID (UUID format). + example: 550e8400-e29b-41d4-a716-446655440000 + type: string + go_build_id: + description: The Go build ID (UUID format). + example: 550e8400-e29b-41d4-a716-446655440001 + type: string + mapkind: + description: The type of source map. + example: elf + type: string + origin: + description: The origin of the ELF file. + example: debian + type: string + origin_version: + description: The version of the origin package. + example: 1.0.0 + type: string + size: + description: The size of the ELF file in bytes. + example: 16384 format: int64 type: integer - created_by_handle: - description: Handle of the creator user. - example: john.doe + symbol_source: + description: The source of the debug symbols. + example: debuginfo type: string - hash: - description: Hash of the RUM application. Optional. + required: + - mapkind + - size + - created_at + type: object + NDKSourcemapAttributes: + description: Attributes of an Android NDK symbol file. + properties: + arch: + description: The target CPU architecture. + example: arm64-v8a type: string - is_active: - description: Indicates if the RUM application is active. - example: true - type: boolean - name: - description: Name of the RUM application. - example: my_rum_application + build_id: + description: The build identifier (UUID format). + example: 550e8400-e29b-41d4-a716-446655440000 type: string - org_id: - description: Org ID of the RUM application. - example: 999 - format: int32 - maximum: 2147483647 - type: integer - product_scales: - $ref: '#/components/schemas/RUMProductScales' - type: - description: >- - Type of the RUM application. Supported values are `browser`, `ios`, - `android`, `react-native`, `flutter`, `roku`, `electron`, `unity`, - `kotlin-multiplatform`. - example: browser + created_at: + description: The timestamp when the symbol file was created. + example: '2024-01-01T00:00:00Z' + format: date-time type: string - updated_at: - description: Timestamp in ms of the last update date. - example: 1659479836169 + file_name: + description: The NDK library file name. + example: libmyapp.so + type: string + mapkind: + description: The type of source map. + example: ndk + type: string + size: + description: The size of the symbol file in bytes. + example: 32768 format: int64 type: integer - updated_by_handle: - description: Handle of the updater user. - example: jane.doe - type: string required: - - application_id - - client_token + - mapkind + - size + - created_at + type: object + IL2CPPSourcemapAttributes: + description: Attributes of an IL2CPP mapping file. + properties: + build_id: + description: The build identifier (UUID format). + example: 550e8400-e29b-41d4-a716-446655440000 + type: string + created_at: + description: The timestamp when the mapping file was created. + example: '2024-01-01T00:00:00Z' + format: date-time + type: string + mapkind: + description: The type of source map. + example: il2cpp + type: string + size: + description: The size of the mapping file in bytes. + example: 4096 + format: int64 + type: integer + required: + - mapkind + - size - created_at - - created_by_handle - - name - - org_id - - type - - updated_at - - updated_by_handle type: object - RUMApplicationType: - default: rum_application - description: RUM application response type. - enum: - - rum_application - example: rum_application - type: string - x-enum-varnames: - - RUM_APPLICATION - RumRetentionFilterID: - description: ID of retention filter in UUID. - example: 051601eb-54a0-abc0-03f9-cc02efa18892 - type: string - RumRetentionFilterType: - default: retention_filters - description: The type of the resource. The value should always be retention_filters. - enum: - - retention_filters - example: retention_filters - type: string - x-enum-varnames: - - RETENTION_FILTERS - RumRetentionFilterAttributes: - description: The object describing attributes of a RUM retention filter. + ProductAnalyticsAudienceAccountSubquery: + description: An account-based audience query. properties: - enabled: - $ref: '#/components/schemas/RumRetentionFilterEnabled' - event_type: - $ref: '#/components/schemas/RumRetentionFilterEventType' name: - $ref: '#/components/schemas/RunRetentionFilterName' + description: Name of this query, referenced in the formula. + example: '' + type: string query: - $ref: '#/components/schemas/RumRetentionFilterQuery' - sample_rate: - $ref: '#/components/schemas/RumRetentionFilterSampleRate' + description: Search query for filtering accounts. + type: string + required: + - name type: object - RumRetentionFilterCreateAttributes: - description: The object describing attributes of a RUM retention filter to create. + ProductAnalyticsAudienceSegmentSubquery: + description: A segment-based audience query. properties: - enabled: - $ref: '#/components/schemas/RumRetentionFilterEnabled' - event_type: - $ref: '#/components/schemas/RumRetentionFilterEventType' name: - $ref: '#/components/schemas/RunRetentionFilterName' - query: - $ref: '#/components/schemas/RumRetentionFilterQuery' - sample_rate: - $ref: '#/components/schemas/RumRetentionFilterSampleRate' + description: Name of this query, referenced in the formula. + example: '' + type: string + segment_id: + description: UUID of the segment to filter by. + example: 00000000-0000-0000-0000-000000000000 + format: uuid + type: string required: - - event_type - name - - sample_rate + - segment_id type: object - RumRetentionFilterUpdateAttributes: - description: The object describing attributes of a RUM retention filter to update. + ProductAnalyticsAudienceUserSubquery: + description: A user-based audience query. properties: - enabled: - $ref: '#/components/schemas/RumRetentionFilterEnabled' - event_type: - $ref: '#/components/schemas/RumRetentionFilterEventType' name: - $ref: '#/components/schemas/RunRetentionFilterName' + description: Name of this query, referenced in the formula. + example: u + type: string query: - $ref: '#/components/schemas/RumRetentionFilterQuery' - sample_rate: - $ref: '#/components/schemas/RumRetentionFilterSampleRate' + description: Search query for filtering users. + example: '*' + type: string + required: + - name type: object - RUMApplicationUpdateAttributes: - description: RUM application update attributes. + ProductAnalyticsEventQuery: + description: A standard Product Analytics event query. properties: - name: - description: Name of the RUM application. - example: updated_name_for_my_existing_rum_application + data_source: + $ref: '#/components/schemas/ProductAnalyticsEventQueryDataSource' + search: + $ref: '#/components/schemas/ProductAnalyticsEventSearch' + required: + - data_source + - search + type: object + ProductAnalyticsOccurrenceQuery: + description: A Product Analytics occurrence-filtered query. + properties: + data_source: + $ref: '#/components/schemas/ProductAnalyticsOccurrenceQueryDataSource' + search: + $ref: '#/components/schemas/ProductAnalyticsOccurrenceSearch' + required: + - data_source + - search + type: object + ProductAnalyticsAnalyticsListSortOrder: + description: The direction rows are sorted in. + enum: + - asc + - desc + type: string + x-enum-varnames: + - ASC + - DESC + ProductAnalyticsGroupBySort: + description: Sort configuration for group-by results. + properties: + aggregation: + description: The aggregation function to sort by. + example: count type: string - product_analytics_retention_state: - $ref: '#/components/schemas/RUMProductAnalyticsRetentionState' - rum_event_processing_state: - $ref: '#/components/schemas/RUMEventProcessingState' - type: - description: >- - Type of the RUM application. Supported values are `browser`, `ios`, - `android`, `react-native`, `flutter`, `roku`, `electron`, `unity`, - `kotlin-multiplatform`. - example: browser + metric: + description: The metric to sort by. type: string + order: + $ref: '#/components/schemas/QuerySortOrder' type: object - RUMApplicationUpdateType: - default: rum_application_update - description: RUM application update type. + ProductAnalyticsGraphQueryGroupBySource: + description: Audience dimension to group by, instead of an event facet. enum: - - rum_application_update - example: rum_application_update + - product_analytics_audience_filters.users + - product_analytics_audience_filters.accounts + example: product_analytics_audience_filters.users type: string x-enum-varnames: - - RUM_APPLICATION_UPDATE - RumMetricResponseAttributes: - description: The object describing a Datadog rum-based metric. + - USERS + - ACCOUNTS + ProductAnalyticsJourneySearchFilters: + description: Filters applied on top of the journey step expression. properties: - compute: - $ref: '#/components/schemas/RumMetricResponseCompute' - event_type: - $ref: '#/components/schemas/RumMetricEventType' - filter: - $ref: '#/components/schemas/RumMetricResponseFilter' - group_by: - description: The rules for the group by. + audience_filters: + $ref: '#/components/schemas/ProductAnalyticsJourneyAudienceFilters' + graph_filters: + description: Filters on journey-level metrics such as time to convert. items: - $ref: '#/components/schemas/RumMetricResponseGroupBy' + $ref: '#/components/schemas/ProductAnalyticsJourneySearchGraphFilter' type: array - uniqueness: - $ref: '#/components/schemas/RumMetricResponseUniqueness' + string_filter: + description: Free-text search query applied to the whole journey. + type: string type: object - RumMetricID: - description: The name of the rum-based metric. - example: rum.sessions.webui.count + ProductAnalyticsJourneyComputedColumnName: + description: Name of a computed column to add to each row. + enum: + - first_conversion_timestamps + example: first_conversion_timestamps type: string - RumMetricType: - default: rum_metrics - description: The type of the resource. The value should always be rum_metrics. + x-enum-varnames: + - FIRST_CONVERSION_TIMESTAMPS + QuerySortOrder: + default: desc + description: Direction of sort. enum: - - rum_metrics - example: rum_metrics + - asc + - desc type: string x-enum-varnames: - - RUM_METRICS - RumMetricCreateAttributes: - description: The object describing the Datadog rum-based metric to create. + - ASC + - DESC + ProductAnalyticsJourneyNodeTarget: + description: A reference to a single step of the journey. properties: - compute: - $ref: '#/components/schemas/RumMetricCompute' - event_type: - $ref: '#/components/schemas/RumMetricEventType' - filter: - $ref: '#/components/schemas/RumMetricFilter' - group_by: - description: The rules for the group by. - items: - $ref: '#/components/schemas/RumMetricGroupBy' - type: array - uniqueness: - $ref: '#/components/schemas/RumMetricUniqueness' + type: + $ref: '#/components/schemas/ProductAnalyticsJourneyNodeTargetType' + value: + description: Alias of the targeted node. + example: A + type: string required: - - event_type - - compute - type: object - RumMetricUpdateAttributes: - description: The rum-based metric properties that will be updated. - properties: - compute: - $ref: '#/components/schemas/RumMetricUpdateCompute' - filter: - $ref: '#/components/schemas/RumMetricFilter' - group_by: - description: The rules for the group by. - items: - $ref: '#/components/schemas/RumMetricGroupBy' - type: array + - type + - value type: object - RUMEventAttributes: - description: JSON object containing all event attributes and their associated values. + ProductAnalyticsJourneyPathTarget: + description: A reference to the range of steps between two nodes of the journey. properties: - attributes: - additionalProperties: {} - description: JSON object of attributes from RUM events. - example: - customAttribute: 123 - duration: 2345 - type: object - service: - description: >- - The name of the application or service generating RUM events. - - It is used to switch from RUM to APM, so make sure you define the - same - - value when you use both products. - example: web-app + end: + description: Alias of the node the path ends at. + example: B type: string - tags: - description: Array of tags associated with your event. - example: - - team:A - items: - description: Tag associated with your event. - type: string - type: array - timestamp: - description: Timestamp of your event. - example: '2019-01-02T09:42:36.320Z' - format: date-time + start: + description: Alias of the node the path starts at. + example: A type: string + type: + $ref: '#/components/schemas/ProductAnalyticsJourneyPathTargetType' + required: + - type + - start + - end type: object - RUMEventType: - default: rum - description: Type of the event. + ProductAnalyticsRetentionCohortScope: + description: Narrows a retention query to a single cohort row. + properties: + target: + $ref: '#/components/schemas/ProductAnalyticsRetentionCohortTarget' + type: + $ref: '#/components/schemas/ProductAnalyticsRetentionCohortScopeType' + required: + - type + - target + type: object + ProductAnalyticsRetentionReturnPeriodScope: + description: Narrows a retention query to a single return-period column. + properties: + target: + $ref: '#/components/schemas/ProductAnalyticsRetentionIndexTarget' + type: + $ref: '#/components/schemas/ProductAnalyticsRetentionReturnPeriodScopeType' + required: + - type + - target + type: object + ProductAnalyticsRetentionComputeMetric: + description: The retention metric to compute, either an absolute count or a rate. enum: - - rum - example: rum + - __dd.retention + - __dd.retention_rate + example: __dd.retention_rate type: string x-enum-varnames: - - RUM - RUMGroupByMissingString: - description: The missing value to use if there is string valued facet. - type: string - RUMGroupByMissingNumber: - description: The missing value to use if there is a number valued facet. - format: double - type: number - RUMSortOrder: - description: The order to use, ascending or descending. + - RETENTION + - RETENTION_RATE + ProductAnalyticsRetentionGroupByTarget: + description: Which axis of the retention grid a group-by applies to. enum: - - asc - - desc - example: asc + - cohort + - return_period + example: cohort type: string x-enum-varnames: - - ASCENDING - - DESCENDING - RUMAggregateSortType: - default: alphabetical - description: The type of sorting algorithm. + - COHORT + - RETURN_PERIOD + ProductAnalyticsRetentionCohortCriteria: + description: Defines the event that places an entity into a cohort, and how cohorts are bucketed over time. + properties: + base_query: + $ref: '#/components/schemas/ProductAnalyticsBaseQuery' + time_interval: + $ref: '#/components/schemas/ProductAnalyticsRetentionTimeInterval' + required: + - base_query + - time_interval + type: object + ProductAnalyticsRetentionFilters: + description: Filters narrowing the events considered by a retention query. + properties: + audience_filters: + $ref: '#/components/schemas/ProductAnalyticsAudienceFilters' + string_filter: + description: Free-text search query applied to the events. + type: string + type: object + ProductAnalyticsRetentionEntity: + description: The entity whose retention is measured. enum: - - alphabetical - - measure + - '@usr.id' + - '@account.id' + example: '@usr.id' type: string x-enum-varnames: - - ALPHABETICAL - - MEASURE - RUMGroupByTotalBoolean: - description: If set to true, creates an additional bucket labeled "$facet_total". - type: boolean - RUMGroupByTotalString: - description: A string to use as the key value for the total bucket. + - USER_ID + - ACCOUNT_ID + ProductAnalyticsRetentionReturnCondition: + description: |- + When an entity counts as having returned. Use `conversion_on` to count only entities that + returned during the period itself, or `conversion_on_or_after` to also count later returns. + enum: + - conversion_on + - conversion_on_or_after + example: conversion_on_or_after type: string - RUMGroupByTotalNumber: - description: A number to use as the key value for the total bucket. - format: double - type: number - RUMAggregateBucketValue: - description: A bucket value, can be either a timeseries or a single value. - oneOf: - - $ref: '#/components/schemas/RUMAggregateBucketValueSingleString' - - $ref: '#/components/schemas/RUMAggregateBucketValueSingleNumber' - - $ref: '#/components/schemas/RUMAggregateBucketValueTimeseries' - RUMProductScales: - description: Product Scales configuration for the RUM application. + x-enum-varnames: + - CONVERSION_ON + - CONVERSION_ON_OR_AFTER + ProductAnalyticsRetentionReturnCriteria: + description: Defines the event that counts as a return, and the window in which it must occur. + properties: + base_query: + $ref: '#/components/schemas/ProductAnalyticsBaseQuery' + time_interval: + $ref: '#/components/schemas/ProductAnalyticsRetentionTimeInterval' + required: + - base_query + type: object + ProductAnalyticsRetentionListColumnField: + description: The attribute selected for a column. + properties: + path: + description: Attribute path of the column. + example: '@usr.email' + type: string + type: object + ProductAnalyticsRetentionCohortTarget: + description: Selects a cohort, either by index or by the aggregation that rolls all cohorts together. + properties: + type: + $ref: '#/components/schemas/ProductAnalyticsRetentionIndexTargetType' + value: + description: Zero-based index of the targeted cohort or return period. + example: 0 + format: int64 + minimum: 0 + type: integer + required: + - type + - value + type: object + ProductAnalyticsRetentionIndexTarget: + description: Selects a cohort or return period by its zero-based position in the grid. properties: - product_analytics_retention_scale: - $ref: '#/components/schemas/RUMProductAnalyticsRetentionScale' - rum_event_processing_scale: - $ref: '#/components/schemas/RUMEventProcessingScale' + type: + $ref: '#/components/schemas/ProductAnalyticsRetentionIndexTargetType' + value: + description: Zero-based index of the targeted cohort or return period. + example: 0 + format: int64 + minimum: 0 + type: integer + required: + - type + - value type: object - RUMProductAnalyticsRetentionState: - description: >- - Controls the retention policy for Product Analytics data derived from - RUM events. + ProductAnalyticsRetentionCellScopeType: + description: The discriminator identifying a scope narrowed to one grid cell. enum: - - MAX - - NONE - example: MAX + - cell + example: cell type: string - x-enum-descriptions: - - >- - Store Product Analytics data for the maximum available retention - period - - Do not store Product Analytics data x-enum-varnames: - - MAX - - NONE - RUMEventProcessingState: - description: >- - Configures which RUM events are processed and stored for the - application. + - CELL + ProductAnalyticsSankeyAggregatedNodeType: + description: The resource type identifier for a node rolled up into an aggregated node. enum: - - ALL - - ERROR_FOCUSED_MODE - - NONE - example: ALL + - aggregated type: string - x-enum-descriptions: - - >- - Process and store all RUM events (sessions, views, actions, resources, - errors) - - Process and store only error events and related critical events - - Disable RUM event processing—no events are stored x-enum-varnames: - - ALL - - ERROR_FOCUSED_MODE - - NONE - RumRetentionFilterEnabled: - description: Whether the retention filter is enabled. - example: true - type: boolean - RumRetentionFilterEventType: - description: The type of RUM events to filter on. + - AGGREGATED + RUMAggregateBucketValueTimeseriesPoint: + description: A timeseries point. + properties: + time: + description: The time value for this point. + example: '2020-06-08T11:55:00.123Z' + format: date-time + type: string + value: + description: The value for this point. + example: 19 + format: double + type: number + type: object + RUMOperationJourneyCompositeRule: + description: |- + A composite rule combining several predicates. Used as an alternative to `nodes` on a journey + step when several conditions must be matched together, in any order or in a specific order. + properties: + composite_rule_id: + description: The unique identifier of the composite rule. Generated by the server if omitted. + readOnly: true + type: string + config_version: + description: A hash of the composite rule's configuration, computed by the server. + readOnly: true + type: string + kind: + $ref: '#/components/schemas/RUMOperationJourneyCompositeRuleKind' + max_window_ms: + description: The maximum time window, in milliseconds, in which all predicates must match. + example: 30000 + format: int64 + type: integer + predicates: + description: The list of predicates that must be matched by RUM events. + items: + $ref: '#/components/schemas/RUMOperationJourneyPredicate' + type: array + required: + - kind + - predicates + type: object + RUMOperationJourneyNode: + description: A single node within a RUM operation journey step, matching RUM events with a query. + properties: + id: + description: The unique identifier of the node. Generated by the server if omitted. + readOnly: true + type: string + query: + description: The RUM search query used to match events for this node. + example: '@type:action @action.type:click' + type: string + required: + - query + type: object + RUMOperationJourneyStepType: + description: The type of a step within a RUM operation's journey. enum: - - session - - view - - action + - start + - update + - stop - error - - resource - - long_task - - vital - example: session + - abandoned + example: start type: string x-enum-varnames: - - SESSION - - VIEW - - ACTION + - START + - UPDATE + - STOP - ERROR - - RESOURCE - - LONG_TASK - - VITAL - RunRetentionFilterName: - description: The name of a RUM retention filter. - example: Retention filter for session - type: string - RumRetentionFilterQuery: - description: The query string for a RUM retention filter. - example: '@session.has_replay:true' + - ABANDONED + LongTaskMetricStats: + description: Statistical distribution (average, min, max) of a long task metric across sampled views. + properties: + average: + description: Average value across sampled views. + example: 3504.1 + format: double + type: number + max: + description: Maximum value across sampled views. + example: 3517.8 + format: double + type: number + min: + description: Minimum value across sampled views. + example: 3500.1 + format: double + type: number + required: + - average + - min + - max + type: object + ProductAnalyticsEventQueryDataSource: + description: The data source identifier. + enum: + - product_analytics + example: product_analytics type: string - RumRetentionFilterSampleRate: - description: The sample rate for a RUM retention filter, between 0 and 100. - example: 25 - format: int64 - maximum: 100 - minimum: 0 - type: integer - RumMetricResponseCompute: - description: The compute rule to compute the rum-based metric. + x-enum-varnames: + - PRODUCT_ANALYTICS + ProductAnalyticsEventSearch: + description: Search parameters for an event query. properties: - aggregation_type: - $ref: '#/components/schemas/RumMetricComputeAggregationType' - include_percentiles: - $ref: '#/components/schemas/RumMetricComputeIncludePercentiles' - path: - description: |- - The path to the value the rum-based metric will aggregate on. - Only present when `aggregation_type` is `distribution`. - example: '@duration' + query: + description: The search query using Datadog search syntax. + example: '@type:view' type: string type: object - RumMetricEventType: - description: The type of RUM events to filter on. + ProductAnalyticsOccurrenceQueryDataSource: + description: The data source identifier for occurrence queries. enum: - - session - - view - - action - - error - - resource - - long_task - - vital - example: session + - product_analytics_occurrence + example: product_analytics_occurrence type: string x-enum-varnames: - - SESSION - - VIEW - - ACTION - - ERROR - - RESOURCE - - LONG_TASK - - VITAL - RumMetricResponseFilter: - description: >- - The rum-based metric filter. RUM events matching this filter will be - aggregated in this metric. + - PRODUCT_ANALYTICS_OCCURRENCE + ProductAnalyticsOccurrenceSearch: + description: Search parameters for an occurrence query. properties: + occurrences: + $ref: '#/components/schemas/ProductAnalyticsOccurrenceFilter' query: - description: The search query - following the RUM search syntax. - example: service:web* AND @http.status_code:[200 TO 299] + description: The search query using Datadog search syntax. + example: '@type:action' type: string type: object - RumMetricResponseGroupBy: - description: A group by rule. + ProductAnalyticsJourneyAudienceFilters: + description: |- + Restricts the journey to an audience built from named sub-queries. + Sub-query names must be unique across `users`, `segments`, and `accounts`. properties: - path: - description: The path to the value the rum-based metric will be aggregated over. - example: '@http.status_code' - type: string - tag_name: - description: >- - Eventual name of the tag that gets created. By default, `path` is - used as the tag name. - example: status_code + accounts: + description: Named account sub-queries. + items: + $ref: '#/components/schemas/ProductAnalyticsJourneyAudienceAccountQuery' + type: array + formula: + description: |- + Boolean expression combining the sub-query names with `AND`, `OR`, and `NOT`. + When empty, all sub-queries are combined with `AND`. + example: power_users AND NOT trial_segment type: string + segments: + description: Named segment sub-queries. + items: + $ref: '#/components/schemas/ProductAnalyticsJourneyAudienceSegmentQuery' + type: array + users: + description: Named user sub-queries. + items: + $ref: '#/components/schemas/ProductAnalyticsJourneyAudienceUserQuery' + type: array type: object - RumMetricResponseUniqueness: - description: >- - The rule to count updatable events. Is only set if `event_type` is - `session` or `view`. + ProductAnalyticsJourneySearchGraphFilter: + description: A filter applied to a step, or a range of steps, of the journey graph. properties: - when: - $ref: '#/components/schemas/RumMetricUniquenessWhen' + name: + $ref: '#/components/schemas/ProductAnalyticsJourneySearchGraphFilterName' + operator: + $ref: '#/components/schemas/ProductAnalyticsJourneySearchGraphFilterOperator' + target: + $ref: '#/components/schemas/ProductAnalyticsJourneyTarget' + value: + description: Value compared against the metric. Durations are expressed in milliseconds. + example: 60000 + format: int64 + type: integer + required: + - name + - operator + - value type: object - RumMetricCompute: - description: The compute rule to compute the rum-based metric. + ProductAnalyticsJourneyNodeTargetType: + description: The discriminator identifying a target that references a single step. + enum: + - node + example: node + type: string + x-enum-varnames: + - NODE + ProductAnalyticsJourneyPathTargetType: + description: The discriminator identifying a target that references a range of steps. + enum: + - path + example: path + type: string + x-enum-varnames: + - PATH + ProductAnalyticsRetentionCohortScopeType: + description: The discriminator identifying a scope narrowed to one cohort. + enum: + - cohort + example: cohort + type: string + x-enum-varnames: + - COHORT + ProductAnalyticsRetentionReturnPeriodScopeType: + description: The discriminator identifying a scope narrowed to one return period. + enum: + - return_period + example: return_period + type: string + x-enum-varnames: + - RETURN_PERIOD + ProductAnalyticsRetentionTimeInterval: + description: |- + A retention interval, either aligned to calendar boundaries or of a fixed length. + Cohort criteria use calendar intervals; return criteria use fixed intervals. properties: - aggregation_type: - $ref: '#/components/schemas/RumMetricComputeAggregationType' - include_percentiles: - $ref: '#/components/schemas/RumMetricComputeIncludePercentiles' - path: - description: |- - The path to the value the rum-based metric will aggregate on. - Only present when `aggregation_type` is `distribution`. - example: '@duration' + type: + $ref: '#/components/schemas/ProductAnalyticsRetentionCalendarTimeIntervalType' + value: + $ref: '#/components/schemas/ProductAnalyticsCalendarInterval' + unit: + $ref: '#/components/schemas/ProductAnalyticsRetentionFixedTimeIntervalUnit' + required: + - type + - value + - unit + type: object + ProductAnalyticsRetentionAggregationTarget: + description: Selects the rolled-up row that aggregates every cohort, rather than a single cohort. + properties: + type: + $ref: '#/components/schemas/ProductAnalyticsRetentionAggregationTargetType' + value: + description: The aggregation that produced the rolled-up row. + example: weighted_avg type: string required: - - aggregation_type + - type + - value type: object - RumMetricFilter: - description: >- - The rum-based metric filter. Events matching this filter will be - aggregated in this metric. + ProductAnalyticsRetentionIndexTargetType: + description: The discriminator identifying a target selected by index. + enum: + - index + example: index + type: string + x-enum-varnames: + - INDEX + RUMOperationJourneyCompositeRuleKind: + description: |- + The rule used to combine the composite rule's predicates. `all_of` requires every predicate + to match, in any order. `in_order` requires every predicate to match in the given order. + enum: + - all_of + - in_order + example: all_of + type: string + x-enum-varnames: + - ALL_OF + - IN_ORDER + RUMOperationJourneyPredicate: + description: A single predicate within a composite rule, matching RUM events with a query. properties: query: - default: '*' - description: The search query - following the RUM search syntax. - example: '@service:web-ui: ' + description: The RUM search query used to match events for this predicate. + example: '@type:action @action.type:click' type: string required: - query type: object - RumMetricGroupBy: - description: A group by rule. + ProductAnalyticsOccurrenceFilter: + description: Filter for occurrence-based queries. properties: - path: - description: The path to the value the rum-based metric will be aggregated over. - example: '@browser.name' + meta: + additionalProperties: + type: string + description: Additional metadata. + type: object + operator: + description: Comparison operator (=, >=, <=, >, <). + example: '>=' type: string - tag_name: - description: >- - Eventual name of the tag that gets created. By default, `path` is - used as the tag name. - example: browser_name + value: + description: The occurrence count threshold as a string. + example: '1' type: string required: - - path + - operator + - value type: object - RumMetricUniqueness: - description: >- - The rule to count updatable events. Is only set if `event_type` is - `sessions` or `views`. + ProductAnalyticsJourneyAudienceAccountQuery: + description: A named sub-query selecting a set of accounts. properties: - when: - $ref: '#/components/schemas/RumMetricUniquenessWhen' + name: + description: Unique name for this sub-query, referenced from `formula`. + example: enterprise_accounts + type: string + query: + description: Search query selecting the accounts. + type: string required: - - when + - name type: object - RumMetricUpdateCompute: - description: The compute rule to compute the rum-based metric. + ProductAnalyticsJourneyAudienceSegmentQuery: + description: A named sub-query selecting a saved segment. properties: - include_percentiles: - $ref: '#/components/schemas/RumMetricComputeIncludePercentiles' + name: + description: Unique name for this sub-query, referenced from `formula`. + example: trial_segment + type: string + segment_id: + description: Identifier of the saved segment. + example: 00000000-0000-0000-0000-000000000000 + type: string + required: + - name + - segment_id type: object - RUMAggregateBucketValueSingleString: - description: A single string value. + ProductAnalyticsJourneyAudienceUserQuery: + description: A named sub-query selecting a set of users. + properties: + name: + description: Unique name for this sub-query, referenced from `formula`. + example: power_users + type: string + query: + description: Search query selecting the users. + type: string + required: + - name + type: object + ProductAnalyticsJourneySearchGraphFilterName: + description: The journey-level metric the graph filter applies to. + enum: + - __dd.time_to_convert + - __dd.session + - __dd.dropoff_rate + example: __dd.time_to_convert type: string - RUMAggregateBucketValueSingleNumber: - description: A single number value. - format: double - type: number - RUMAggregateBucketValueTimeseries: - description: A timeseries array. - items: - $ref: '#/components/schemas/RUMAggregateBucketValueTimeseriesPoint' - type: array - x-generate-alias-as-model: true - RUMProductAnalyticsRetentionScale: - description: Product Analytics retention scale configuration. + x-enum-varnames: + - TIME_TO_CONVERT + - SESSION + - DROPOFF_RATE + ProductAnalyticsJourneySearchGraphFilterOperator: + description: Comparison operator applied to the graph filter value. + enum: + - '=' + - < + - '>' + - <= + - '>=' + example: <= + type: string + x-enum-varnames: + - EQUAL + - LESS_THAN + - GREATER_THAN + - LESS_THAN_OR_EQUAL + - GREATER_THAN_OR_EQUAL + ProductAnalyticsRetentionCalendarTimeInterval: + description: A retention interval aligned to calendar boundaries. properties: - last_modified_at: - description: Timestamp in milliseconds when this scale was last modified. - example: 1747922145974 - format: int64 - type: integer - state: - $ref: '#/components/schemas/RUMProductAnalyticsRetentionState' + type: + $ref: '#/components/schemas/ProductAnalyticsRetentionCalendarTimeIntervalType' + value: + $ref: '#/components/schemas/ProductAnalyticsCalendarInterval' + required: + - type + - value type: object - RUMEventProcessingScale: - description: RUM event processing scale configuration. + ProductAnalyticsRetentionFixedTimeInterval: + description: A retention interval of fixed length, such as "7 days". properties: - last_modified_at: - description: Timestamp in milliseconds when this scale was last modified. - example: 1721897494108 - format: int64 - type: integer - state: - $ref: '#/components/schemas/RUMEventProcessingState' + type: + $ref: '#/components/schemas/ProductAnalyticsRetentionFixedTimeIntervalType' + unit: + $ref: '#/components/schemas/ProductAnalyticsRetentionFixedTimeIntervalUnit' + value: + description: Length of the interval, expressed in `unit`. + example: 7 + exclusiveMinimum: true + format: double + minimum: 0 + type: number + required: + - type + - value + - unit type: object - RumMetricComputeAggregationType: - description: The type of aggregation to use. + ProductAnalyticsRetentionAggregationTargetType: + description: The discriminator identifying a target selected by aggregation. enum: - - count - - distribution - example: distribution + - aggregation + example: aggregation type: string x-enum-varnames: - - COUNT - - DISTRIBUTION - RumMetricComputeIncludePercentiles: - description: >- - Toggle to include or exclude percentile aggregations for distribution - metrics. - - Only present when `aggregation_type` is `distribution`. - example: true - type: boolean - RumMetricUniquenessWhen: - description: >- - When to count updatable events. `match` when the event is first seen, or - `end` when the event is complete. + - AGGREGATION + ProductAnalyticsRetentionCalendarTimeIntervalType: + description: The discriminator identifying a calendar-aligned retention interval. enum: - - match - - end - example: match + - calendar + example: calendar type: string x-enum-varnames: - - WHEN_MATCH - - WHEN_END - RUMAggregateBucketValueTimeseriesPoint: - description: A timeseries point. + - CALENDAR + ProductAnalyticsCalendarInterval: + description: A calendar-aligned bucket definition, such as "every 1 week starting on Monday". properties: - time: - description: The time value for this point. - example: '2020-06-08T11:55:00.123Z' - format: date-time + alignment: + description: |- + Where each bucket starts within the calendar unit. Use an hour for `day` (for example `1am` or `14`), + a day name for `week` (for example `monday`), or an ordinal for `month` (for example `1st`). + example: monday type: string - value: - description: The value for this point. - example: 19 - format: double - type: number + quantity: + description: Number of calendar units per bucket. + example: 1 + format: int64 + minimum: 1 + type: integer + timezone: + description: Timezone used to align the buckets. + example: UTC + type: string + type: + $ref: '#/components/schemas/ProductAnalyticsCalendarIntervalType' + required: + - type type: object + ProductAnalyticsRetentionFixedTimeIntervalType: + description: The discriminator identifying a fixed-length retention interval. + enum: + - fixed + example: fixed + type: string + x-enum-varnames: + - FIXED + ProductAnalyticsRetentionFixedTimeIntervalUnit: + description: Time unit for a fixed-length retention interval. + enum: + - day + - week + - month + example: day + type: string + x-enum-varnames: + - DAY + - WEEK + - MONTH + ProductAnalyticsCalendarIntervalType: + description: Calendar unit used to bucket cohorts. + enum: + - minute + - hour + - day + - week + - month + - quarter + - year + example: week + type: string + x-enum-varnames: + - MINUTE + - HOUR + - DAY + - WEEK + - MONTH + - QUARTER + - YEAR responses: + TooManyRequestsResponse: + content: + application/json: + schema: + $ref: '#/components/schemas/APIErrorResponse' + description: Too many requests BadRequestResponse: content: application/json: @@ -1996,18 +15338,18 @@ components: schema: $ref: '#/components/schemas/APIErrorResponse' description: Not Authorized - TooManyRequestsResponse: + NotFoundResponse: content: application/json: schema: $ref: '#/components/schemas/APIErrorResponse' - description: Too many requests - NotFoundResponse: + description: Not Found + RumExclusionFilterMethodNotAllowedResponse: content: application/json: schema: $ref: '#/components/schemas/APIErrorResponse' - description: Not Found + description: Method Not Allowed ConflictResponse: content: application/json: @@ -2022,6 +15364,27 @@ components: required: true schema: type: string + RumExclusionFilterApplicationIDParameter: + description: RUM application ID. + in: path + name: app_id + required: true + schema: + type: string + RumExclusionFilterIDParameter: + description: Exclusion filter ID. + in: path + name: ef_id + required: true + schema: + type: string + RumPermanentRetentionFilterIDParameter: + description: The identifier of the permanent RUM retention filter. + in: path + name: permanent_rf_id + required: true + schema: + $ref: '#/components/schemas/RumPermanentRetentionFilterID' RumRetentionFilterIDParameter: description: Retention filter ID. in: path @@ -2030,218 +15393,1587 @@ components: schema: type: string RumMetricIDParameter: - description: The name of the rum-based metric. + description: The name of the RUM-based metric. in: path name: metric_id required: true schema: type: string + RumRetentionQuotaScopeTypeParameter: + description: |- + The type of scope the retention quota configuration applies to. + `application` is the only supported scope type. + in: path + name: scope_type + required: true + schema: + $ref: '#/components/schemas/RumRetentionQuotaScopeType' + RumRetentionQuotaScopeIDParameter: + description: |- + The identifier of the scope the retention quota configuration applies to. + For the `application` scope, this is the RUM application ID. + in: path + name: scope_id + required: true + schema: + example: cd73a516-a481-4af5-8352-9b577465c77b + type: string + TeamsOwnershipFilterViewNameParameter: + description: Filter mappings by RUM view name. + in: query + name: filter[view_name] + schema: + items: + type: string + type: array + TeamsOwnershipFilterTeamHandleParameter: + description: Filter mappings by owning team handle. + in: query + name: filter[team_handle] + schema: + items: + type: string + type: array + TeamsOwnershipFilterApplicationIdParameter: + description: Filter mappings by RUM application ID. Each value must be a valid UUID. + in: query + name: filter[application_id] + schema: + items: + format: uuid + type: string + type: array + TeamsOwnershipFilterServiceParameter: + description: Filter mappings by RUM application service name. + in: query + name: filter[service] + schema: + items: + type: string + type: array + TeamsOwnershipMappingIdParameter: + description: The ID of the teams ownership mapping. + in: path + name: id + required: true + schema: + type: string x-stackQL-resources: + product_analytics_events: + id: datadog.digital_experience.product_analytics_events + name: product_analytics_events + title: Product Analytics Events + methods: + submit_product_analytics_event: + config: + requestBodyTranslate: + algorithm: naive + operation: + $ref: '#/paths/~1api~1v2~1prodlytics/post' + response: + mediaType: application/json + openAPIDocKey: '202' + request: + nativeCasing: camel + sqlVerbs: + select: [] + insert: [] + update: [] + delete: [] + replace: [] + product_analytics_accounts: + id: datadog.digital_experience.product_analytics_accounts + name: product_analytics_accounts + title: Product Analytics Accounts + methods: + get_account_facet_info: + config: + requestBodyTranslate: + algorithm: naive + operation: + $ref: '#/paths/~1api~1v2~1product-analytics~1accounts~1facet_info/post' + response: + mediaType: application/json + openAPIDocKey: '200' + request: + nativeCasing: camel + query_accounts: + config: + requestBodyTranslate: + algorithm: naive + operation: + $ref: '#/paths/~1api~1v2~1product-analytics~1accounts~1query/post' + response: + mediaType: application/json + openAPIDocKey: '200' + request: + nativeCasing: camel + sqlVerbs: + select: [] + insert: [] + update: [] + delete: [] + replace: [] + product_analytics: + id: datadog.digital_experience.product_analytics + name: product_analytics + title: Product Analytics + methods: + query_product_analytics_list: + config: + requestBodyTranslate: + algorithm: naive + operation: + $ref: '#/paths/~1api~1v2~1product-analytics~1analytics~1list/post' + response: + mediaType: application/json + openAPIDocKey: '200' + request: + nativeCasing: camel + query_product_analytics_scalar: + config: + requestBodyTranslate: + algorithm: naive + operation: + $ref: '#/paths/~1api~1v2~1product-analytics~1analytics~1scalar/post' + response: + mediaType: application/json + openAPIDocKey: '200' + request: + nativeCasing: camel + query_product_analytics_timeseries: + config: + requestBodyTranslate: + algorithm: naive + operation: + $ref: '#/paths/~1api~1v2~1product-analytics~1analytics~1timeseries/post' + response: + mediaType: application/json + openAPIDocKey: '200' + request: + nativeCasing: camel + sqlVerbs: + select: [] + insert: [] + update: [] + delete: [] + replace: [] + product_analytics_journey_funnels: + id: datadog.digital_experience.product_analytics_journey_funnels + name: product_analytics_journey_funnels + title: Product Analytics Journey Funnels + methods: + query_product_analytics_journey_funnel: + config: + requestBodyTranslate: + algorithm: naive + operation: + $ref: '#/paths/~1api~1v2~1product-analytics~1journey~1funnel/post' + response: + mediaType: application/json + openAPIDocKey: '200' + request: + nativeCasing: camel + sqlVerbs: + select: [] + insert: + - $ref: '#/components/x-stackQL-resources/product_analytics_journey_funnels/methods/query_product_analytics_journey_funnel' + update: [] + delete: [] + replace: [] + product_analytics_journeys: + id: datadog.digital_experience.product_analytics_journeys + name: product_analytics_journeys + title: Product Analytics Journeys + methods: + query_product_analytics_journey_list: + config: + requestBodyTranslate: + algorithm: naive + operation: + $ref: '#/paths/~1api~1v2~1product-analytics~1journey~1list/post' + response: + mediaType: application/json + openAPIDocKey: '200' + request: + nativeCasing: camel + query_product_analytics_journey_scalar: + config: + requestBodyTranslate: + algorithm: naive + operation: + $ref: '#/paths/~1api~1v2~1product-analytics~1journey~1scalar/post' + response: + mediaType: application/json + openAPIDocKey: '200' + request: + nativeCasing: camel + query_product_analytics_journey_timeseries: + config: + requestBodyTranslate: + algorithm: naive + operation: + $ref: '#/paths/~1api~1v2~1product-analytics~1journey~1timeseries/post' + response: + mediaType: application/json + openAPIDocKey: '200' + request: + nativeCasing: camel + sqlVerbs: + select: [] + insert: [] + update: [] + delete: [] + replace: [] + product_analytics_retention_grids: + id: datadog.digital_experience.product_analytics_retention_grids + name: product_analytics_retention_grids + title: Product Analytics Retention Grids + methods: + query_product_analytics_retention_grid: + config: + requestBodyTranslate: + algorithm: naive + operation: + $ref: '#/paths/~1api~1v2~1product-analytics~1retention~1grid/post' + response: + mediaType: application/json + openAPIDocKey: '200' + request: + nativeCasing: camel + sqlVerbs: + select: [] + insert: + - $ref: '#/components/x-stackQL-resources/product_analytics_retention_grids/methods/query_product_analytics_retention_grid' + update: [] + delete: [] + replace: [] + product_analytics_retentions: + id: datadog.digital_experience.product_analytics_retentions + name: product_analytics_retentions + title: Product Analytics Retentions + methods: + query_product_analytics_retention_list: + config: + requestBodyTranslate: + algorithm: naive + operation: + $ref: '#/paths/~1api~1v2~1product-analytics~1retention~1list/post' + response: + mediaType: application/json + openAPIDocKey: '200' + request: + nativeCasing: camel + query_product_analytics_retention_scalar: + config: + requestBodyTranslate: + algorithm: naive + operation: + $ref: '#/paths/~1api~1v2~1product-analytics~1retention~1scalar/post' + response: + mediaType: application/json + openAPIDocKey: '200' + request: + nativeCasing: camel + query_product_analytics_retention_timeseries: + config: + requestBodyTranslate: + algorithm: naive + operation: + $ref: '#/paths/~1api~1v2~1product-analytics~1retention~1timeseries/post' + response: + mediaType: application/json + openAPIDocKey: '200' + request: + nativeCasing: camel + sqlVerbs: + select: [] + insert: [] + update: [] + delete: [] + replace: [] + product_analytics_sankeys: + id: datadog.digital_experience.product_analytics_sankeys + name: product_analytics_sankeys + title: Product Analytics Sankeys + methods: + query_product_analytics_sankey: + config: + requestBodyTranslate: + algorithm: naive + operation: + $ref: '#/paths/~1api~1v2~1product-analytics~1sankey/post' + response: + mediaType: application/json + openAPIDocKey: '200' + request: + nativeCasing: camel + sqlVerbs: + select: [] + insert: + - $ref: '#/components/x-stackQL-resources/product_analytics_sankeys/methods/query_product_analytics_sankey' + update: [] + delete: [] + replace: [] + product_analytics_user_event_filtered_queries: + id: datadog.digital_experience.product_analytics_user_event_filtered_queries + name: product_analytics_user_event_filtered_queries + title: Product Analytics User Event Filtered Queries + methods: + query_event_filtered_users: + config: + requestBodyTranslate: + algorithm: naive + operation: + $ref: '#/paths/~1api~1v2~1product-analytics~1users~1event_filtered_query/post' + response: + mediaType: application/json + openAPIDocKey: '200' + request: + nativeCasing: camel + sqlVerbs: + select: [] + insert: + - $ref: '#/components/x-stackQL-resources/product_analytics_user_event_filtered_queries/methods/query_event_filtered_users' + update: [] + delete: [] + replace: [] + product_analytics_users: + id: datadog.digital_experience.product_analytics_users + name: product_analytics_users + title: Product Analytics Users + methods: + get_user_facet_info: + config: + requestBodyTranslate: + algorithm: naive + operation: + $ref: '#/paths/~1api~1v2~1product-analytics~1users~1facet_info/post' + response: + mediaType: application/json + openAPIDocKey: '200' + request: + nativeCasing: camel + query_users: + config: + requestBodyTranslate: + algorithm: naive + operation: + $ref: '#/paths/~1api~1v2~1product-analytics~1users~1query/post' + response: + mediaType: application/json + openAPIDocKey: '200' + request: + nativeCasing: camel + sqlVerbs: + select: [] + insert: [] + update: [] + delete: [] + replace: [] + product_analytics_mappings: + id: datadog.digital_experience.product_analytics_mappings + name: product_analytics_mappings + title: Product Analytics Mappings + methods: + get_mapping: + operation: + $ref: '#/paths/~1api~1v2~1product-analytics~1{entity}~1mapping/get' + response: + mediaType: application/json + openAPIDocKey: '200' + objectKey: $.data + request: + nativeCasing: camel + sqlVerbs: + select: + - $ref: '#/components/x-stackQL-resources/product_analytics_mappings/methods/get_mapping' + insert: [] + update: [] + delete: [] + replace: [] + product_analytics_mapping_connections: + id: datadog.digital_experience.product_analytics_mapping_connections + name: product_analytics_mapping_connections + title: Product Analytics Mapping Connections + methods: + create_connection: + config: + requestBodyTranslate: + algorithm: naive + operation: + $ref: '#/paths/~1api~1v2~1product-analytics~1{entity}~1mapping~1connection/post' + response: + mediaType: application/json + openAPIDocKey: '201' + request: + nativeCasing: camel + update_connection: + config: + requestBodyTranslate: + algorithm: naive + operation: + $ref: '#/paths/~1api~1v2~1product-analytics~1{entity}~1mapping~1connection/put' + response: + mediaType: application/json + openAPIDocKey: '200' + request: + nativeCasing: camel + delete_connection: + operation: + $ref: '#/paths/~1api~1v2~1product-analytics~1{entity}~1mapping~1connection~1{id}/delete' + response: + mediaType: application/json + openAPIDocKey: '204' + request: + nativeCasing: camel + list_connections: + operation: + $ref: '#/paths/~1api~1v2~1product-analytics~1{entity}~1mapping~1connections/get' + response: + mediaType: application/json + openAPIDocKey: '200' + objectKey: $.data + request: + nativeCasing: camel + sqlVerbs: + select: + - $ref: '#/components/x-stackQL-resources/product_analytics_mapping_connections/methods/list_connections' + insert: + - $ref: '#/components/x-stackQL-resources/product_analytics_mapping_connections/methods/create_connection' + update: [] + delete: + - $ref: '#/components/x-stackQL-resources/product_analytics_mapping_connections/methods/delete_connection' + replace: + - $ref: '#/components/x-stackQL-resources/product_analytics_mapping_connections/methods/update_connection' + replay_heatmap_snapshots: + id: datadog.digital_experience.replay_heatmap_snapshots + name: replay_heatmap_snapshots + title: Replay Heatmap Snapshots + methods: + list_replay_heatmap_snapshots: + operation: + $ref: '#/paths/~1api~1v2~1replay~1heatmap~1snapshots/get' + response: + mediaType: application/json + openAPIDocKey: '200' + objectKey: $.data + request: + nativeCasing: camel + config: + queryParamPushdown: + top: + paramName: page[limit] + create_replay_heatmap_snapshot: + config: + requestBodyTranslate: + algorithm: naive + operation: + $ref: '#/paths/~1api~1v2~1replay~1heatmap~1snapshots/post' + response: + mediaType: application/json + openAPIDocKey: '201' + request: + nativeCasing: camel + delete_replay_heatmap_snapshot: + operation: + $ref: '#/paths/~1api~1v2~1replay~1heatmap~1snapshots~1{snapshot_id}/delete' + response: + mediaType: application/json + openAPIDocKey: '204' + request: + nativeCasing: camel + update_replay_heatmap_snapshot: + config: + requestBodyTranslate: + algorithm: naive + operation: + $ref: '#/paths/~1api~1v2~1replay~1heatmap~1snapshots~1{snapshot_id}/patch' + response: + mediaType: application/json + openAPIDocKey: '200' + request: + nativeCasing: camel + sqlVerbs: + select: + - $ref: '#/components/x-stackQL-resources/replay_heatmap_snapshots/methods/list_replay_heatmap_snapshots' + insert: + - $ref: '#/components/x-stackQL-resources/replay_heatmap_snapshots/methods/create_replay_heatmap_snapshot' + update: + - $ref: '#/components/x-stackQL-resources/replay_heatmap_snapshots/methods/update_replay_heatmap_snapshot' + delete: + - $ref: '#/components/x-stackQL-resources/replay_heatmap_snapshots/methods/delete_replay_heatmap_snapshot' + replace: [] rum_events: id: datadog.digital_experience.rum_events name: rum_events title: Rum Events methods: aggregate_rumevents: + config: + requestBodyTranslate: + algorithm: naive + operation: + $ref: '#/paths/~1api~1v2~1rum~1analytics~1aggregate/post' + response: + mediaType: application/json + openAPIDocKey: '200' + request: + nativeCasing: camel + list_rumevents: + operation: + $ref: '#/paths/~1api~1v2~1rum~1events/get' + response: + mediaType: application/json + openAPIDocKey: '200' + objectKey: $.data + request: + nativeCasing: camel + config: + pagination: + requestToken: + key: page[cursor] + location: query + responseToken: + key: $.meta.page.after + location: body + queryParamPushdown: + top: + paramName: page[limit] + maxValue: 1000 + search_rumevents: + config: + requestBodyTranslate: + algorithm: naive + operation: + $ref: '#/paths/~1api~1v2~1rum~1events~1search/post' + response: + mediaType: application/json + openAPIDocKey: '200' + request: + nativeCasing: camel + sqlVerbs: + select: + - $ref: '#/components/x-stackQL-resources/rum_events/methods/list_rumevents' + insert: [] + update: [] + delete: [] + replace: [] + rum_applications: + id: datadog.digital_experience.rum_applications + name: rum_applications + title: Rum Applications + methods: + get_rumapplications: + operation: + $ref: '#/paths/~1api~1v2~1rum~1applications/get' + response: + mediaType: application/json + openAPIDocKey: '200' + objectKey: $.data + request: + nativeCasing: camel + create_rumapplication: + config: + requestBodyTranslate: + algorithm: naive + operation: + $ref: '#/paths/~1api~1v2~1rum~1applications/post' + response: + mediaType: application/json + openAPIDocKey: '200' + request: + nativeCasing: camel + delete_rumapplication: + operation: + $ref: '#/paths/~1api~1v2~1rum~1applications~1{id}/delete' + response: + mediaType: application/json + openAPIDocKey: '204' + request: + nativeCasing: camel + get_rumapplication: + operation: + $ref: '#/paths/~1api~1v2~1rum~1applications~1{id}/get' + response: + mediaType: application/json + openAPIDocKey: '200' + objectKey: $.data + request: + nativeCasing: camel + update_rumapplication: + config: + requestBodyTranslate: + algorithm: naive + operation: + $ref: '#/paths/~1api~1v2~1rum~1applications~1{id}/patch' + response: + mediaType: application/json + openAPIDocKey: '200' + request: + nativeCasing: camel + sqlVerbs: + select: + - $ref: '#/components/x-stackQL-resources/rum_applications/methods/get_rumapplication' + - $ref: '#/components/x-stackQL-resources/rum_applications/methods/get_rumapplications' + insert: + - $ref: '#/components/x-stackQL-resources/rum_applications/methods/create_rumapplication' + update: + - $ref: '#/components/x-stackQL-resources/rum_applications/methods/update_rumapplication' + delete: + - $ref: '#/components/x-stackQL-resources/rum_applications/methods/delete_rumapplication' + replace: [] + rum_retention_filters: + id: datadog.digital_experience.rum_retention_filters + name: rum_retention_filters + title: Rum Retention Filters + methods: + order_retention_filters: + config: + requestBodyTranslate: + algorithm: naive + operation: + $ref: '#/paths/~1api~1v2~1rum~1applications~1{app_id}~1relationships~1retention_filters/patch' + response: + mediaType: application/json + openAPIDocKey: '200' + request: + nativeCasing: camel + list_retention_filters: + operation: + $ref: '#/paths/~1api~1v2~1rum~1applications~1{app_id}~1retention_filters/get' + response: + mediaType: application/json + openAPIDocKey: '200' + objectKey: $.data + request: + nativeCasing: camel + create_retention_filter: + config: + requestBodyTranslate: + algorithm: naive + operation: + $ref: '#/paths/~1api~1v2~1rum~1applications~1{app_id}~1retention_filters/post' + response: + mediaType: application/json + openAPIDocKey: '201' + request: + nativeCasing: camel + delete_retention_filter: + operation: + $ref: '#/paths/~1api~1v2~1rum~1applications~1{app_id}~1retention_filters~1{rf_id}/delete' + response: + mediaType: application/json + openAPIDocKey: '204' + request: + nativeCasing: camel + get_retention_filter: + operation: + $ref: '#/paths/~1api~1v2~1rum~1applications~1{app_id}~1retention_filters~1{rf_id}/get' + response: + mediaType: application/json + openAPIDocKey: '200' + objectKey: $.data + request: + nativeCasing: camel + update_retention_filter: + config: + requestBodyTranslate: + algorithm: naive + operation: + $ref: '#/paths/~1api~1v2~1rum~1applications~1{app_id}~1retention_filters~1{rf_id}/patch' + response: + mediaType: application/json + openAPIDocKey: '200' + request: + nativeCasing: camel + sqlVerbs: + select: + - $ref: '#/components/x-stackQL-resources/rum_retention_filters/methods/get_retention_filter' + - $ref: '#/components/x-stackQL-resources/rum_retention_filters/methods/list_retention_filters' + insert: + - $ref: '#/components/x-stackQL-resources/rum_retention_filters/methods/create_retention_filter' + update: + - $ref: '#/components/x-stackQL-resources/rum_retention_filters/methods/update_retention_filter' + delete: + - $ref: '#/components/x-stackQL-resources/rum_retention_filters/methods/delete_retention_filter' + replace: [] + rum_application_retention_filter_exclusions: + id: datadog.digital_experience.rum_application_retention_filter_exclusions + name: rum_application_retention_filter_exclusions + title: Rum Application Retention Filter Exclusions + methods: + list_exclusion_filters: + operation: + $ref: '#/paths/~1api~1v2~1rum~1applications~1{app_id}~1retention_filters~1exclusion/get' + response: + mediaType: application/json + openAPIDocKey: '200' + objectKey: $.data + request: + nativeCasing: camel + create_exclusion_filter: + config: + requestBodyTranslate: + algorithm: naive + operation: + $ref: '#/paths/~1api~1v2~1rum~1applications~1{app_id}~1retention_filters~1exclusion/post' + response: + mediaType: application/json + openAPIDocKey: '201' + request: + nativeCasing: camel + delete_exclusion_filter: + operation: + $ref: '#/paths/~1api~1v2~1rum~1applications~1{app_id}~1retention_filters~1exclusion~1{ef_id}/delete' + response: + mediaType: application/json + openAPIDocKey: '204' + request: + nativeCasing: camel + get_exclusion_filter: + operation: + $ref: '#/paths/~1api~1v2~1rum~1applications~1{app_id}~1retention_filters~1exclusion~1{ef_id}/get' + response: + mediaType: application/json + openAPIDocKey: '200' + objectKey: $.data + request: + nativeCasing: camel + update_exclusion_filter: + config: + requestBodyTranslate: + algorithm: naive + operation: + $ref: '#/paths/~1api~1v2~1rum~1applications~1{app_id}~1retention_filters~1exclusion~1{ef_id}/patch' + response: + mediaType: application/json + openAPIDocKey: '200' + request: + nativeCasing: camel + sqlVerbs: + select: + - $ref: '#/components/x-stackQL-resources/rum_application_retention_filter_exclusions/methods/get_exclusion_filter' + - $ref: '#/components/x-stackQL-resources/rum_application_retention_filter_exclusions/methods/list_exclusion_filters' + insert: + - $ref: '#/components/x-stackQL-resources/rum_application_retention_filter_exclusions/methods/create_exclusion_filter' + update: + - $ref: '#/components/x-stackQL-resources/rum_application_retention_filter_exclusions/methods/update_exclusion_filter' + delete: + - $ref: '#/components/x-stackQL-resources/rum_application_retention_filter_exclusions/methods/delete_exclusion_filter' + replace: [] + rum_application_retention_filter_permanents: + id: datadog.digital_experience.rum_application_retention_filter_permanents + name: rum_application_retention_filter_permanents + title: Rum Application Retention Filter Permanents + methods: + list_permanent_retention_filters: + operation: + $ref: '#/paths/~1api~1v2~1rum~1applications~1{app_id}~1retention_filters~1permanent/get' + response: + mediaType: application/json + openAPIDocKey: '200' + objectKey: $.data + request: + nativeCasing: camel + get_permanent_retention_filter: + operation: + $ref: '#/paths/~1api~1v2~1rum~1applications~1{app_id}~1retention_filters~1permanent~1{permanent_rf_id}/get' + response: + mediaType: application/json + openAPIDocKey: '200' + objectKey: $.data + request: + nativeCasing: camel + update_permanent_retention_filter: + config: + requestBodyTranslate: + algorithm: naive + operation: + $ref: '#/paths/~1api~1v2~1rum~1applications~1{app_id}~1retention_filters~1permanent~1{permanent_rf_id}/patch' + response: + mediaType: application/json + openAPIDocKey: '200' + request: + nativeCasing: camel + sqlVerbs: + select: + - $ref: '#/components/x-stackQL-resources/rum_application_retention_filter_permanents/methods/get_permanent_retention_filter' + - $ref: '#/components/x-stackQL-resources/rum_application_retention_filter_permanents/methods/list_permanent_retention_filters' + insert: [] + update: + - $ref: '#/components/x-stackQL-resources/rum_application_retention_filter_permanents/methods/update_permanent_retention_filter' + delete: [] + replace: [] + rum_configs: + id: datadog.digital_experience.rum_configs + name: rum_configs + title: Rum Configs + methods: + get_rum_config: + operation: + $ref: '#/paths/~1api~1v2~1rum~1config/get' + response: + mediaType: application/json + openAPIDocKey: '200' + objectKey: $.data + request: + nativeCasing: camel + update_rum_config: + config: + requestBodyTranslate: + algorithm: naive + operation: + $ref: '#/paths/~1api~1v2~1rum~1config/patch' + response: + mediaType: application/json + openAPIDocKey: '200' + request: + nativeCasing: camel + create_rum_config: + config: + requestBodyTranslate: + algorithm: naive + operation: + $ref: '#/paths/~1api~1v2~1rum~1config/post' + response: + mediaType: application/json + openAPIDocKey: '201' + request: + nativeCasing: camel + sqlVerbs: + select: + - $ref: '#/components/x-stackQL-resources/rum_configs/methods/get_rum_config' + insert: + - $ref: '#/components/x-stackQL-resources/rum_configs/methods/create_rum_config' + update: + - $ref: '#/components/x-stackQL-resources/rum_configs/methods/update_rum_config' + delete: [] + replace: [] + rum_metrics: + id: datadog.digital_experience.rum_metrics + name: rum_metrics + title: Rum Metrics + methods: + list_rum_metrics: + operation: + $ref: '#/paths/~1api~1v2~1rum~1config~1metrics/get' + response: + mediaType: application/json + openAPIDocKey: '200' + objectKey: $.data + request: + nativeCasing: camel + create_rum_metric: + config: + requestBodyTranslate: + algorithm: naive + operation: + $ref: '#/paths/~1api~1v2~1rum~1config~1metrics/post' + response: + mediaType: application/json + openAPIDocKey: '201' + request: + nativeCasing: camel + delete_rum_metric: + operation: + $ref: '#/paths/~1api~1v2~1rum~1config~1metrics~1{metric_id}/delete' + response: + mediaType: application/json + openAPIDocKey: '204' + request: + nativeCasing: camel + get_rum_metric: operation: - $ref: '#/paths/~1api~1v2~1rum~1analytics~1aggregate/post' + $ref: '#/paths/~1api~1v2~1rum~1config~1metrics~1{metric_id}/get' response: mediaType: application/json openAPIDocKey: '200' - list_rumevents: + objectKey: $.data + request: + nativeCasing: camel + update_rum_metric: + config: + requestBodyTranslate: + algorithm: naive operation: - $ref: '#/paths/~1api~1v2~1rum~1events/get' + $ref: '#/paths/~1api~1v2~1rum~1config~1metrics~1{metric_id}/patch' + response: + mediaType: application/json + openAPIDocKey: '200' + request: + nativeCasing: camel + sqlVerbs: + select: + - $ref: '#/components/x-stackQL-resources/rum_metrics/methods/get_rum_metric' + - $ref: '#/components/x-stackQL-resources/rum_metrics/methods/list_rum_metrics' + insert: + - $ref: '#/components/x-stackQL-resources/rum_metrics/methods/create_rum_metric' + update: + - $ref: '#/components/x-stackQL-resources/rum_metrics/methods/update_rum_metric' + delete: + - $ref: '#/components/x-stackQL-resources/rum_metrics/methods/delete_rum_metric' + replace: [] + rum_retention_quotas: + id: datadog.digital_experience.rum_retention_quotas + name: rum_retention_quotas + title: Rum Retention Quotas + methods: + delete_rum_quota_config: + operation: + $ref: '#/paths/~1api~1v2~1rum~1config~1retention-quota~1{scope_type}~1{scope_id}/delete' + response: + mediaType: application/json + openAPIDocKey: '204' + request: + nativeCasing: camel + get_rum_quota_config: + operation: + $ref: '#/paths/~1api~1v2~1rum~1config~1retention-quota~1{scope_type}~1{scope_id}/get' response: mediaType: application/json openAPIDocKey: '200' objectKey: $.data - search_rumevents: + request: + nativeCasing: camel + upsert_rum_quota_config: + config: + requestBodyTranslate: + algorithm: naive operation: - $ref: '#/paths/~1api~1v2~1rum~1events~1search/post' + $ref: '#/paths/~1api~1v2~1rum~1config~1retention-quota~1{scope_type}~1{scope_id}/put' response: mediaType: application/json openAPIDocKey: '200' + request: + nativeCasing: camel sqlVerbs: select: - - $ref: '#/components/x-stackQL-resources/rum_events/methods/list_rumevents' + - $ref: '#/components/x-stackQL-resources/rum_retention_quotas/methods/get_rum_quota_config' insert: [] update: [] + delete: + - $ref: '#/components/x-stackQL-resources/rum_retention_quotas/methods/delete_rum_quota_config' + replace: + - $ref: '#/components/x-stackQL-resources/rum_retention_quotas/methods/upsert_rum_quota_config' + rum_teams_ownership_mappings: + id: datadog.digital_experience.rum_teams_ownership_mappings + name: rum_teams_ownership_mappings + title: Rum Teams Ownership Mappings + methods: + list_teams_ownership_mappings: + operation: + $ref: '#/paths/~1api~1v2~1rum~1config~1teams-ownership~1mappings/get' + response: + mediaType: application/json + openAPIDocKey: '200' + objectKey: $.data + request: + nativeCasing: camel + create_teams_ownership_mapping: + config: + requestBodyTranslate: + algorithm: naive + operation: + $ref: '#/paths/~1api~1v2~1rum~1config~1teams-ownership~1mappings/post' + response: + mediaType: application/json + openAPIDocKey: '201' + request: + nativeCasing: camel + delete_teams_ownership_mapping: + operation: + $ref: '#/paths/~1api~1v2~1rum~1config~1teams-ownership~1mappings~1{id}/delete' + response: + mediaType: application/json + openAPIDocKey: '204' + request: + nativeCasing: camel + get_teams_ownership_mapping: + operation: + $ref: '#/paths/~1api~1v2~1rum~1config~1teams-ownership~1mappings~1{id}/get' + response: + mediaType: application/json + openAPIDocKey: '200' + objectKey: $.data + request: + nativeCasing: camel + sqlVerbs: + select: + - $ref: '#/components/x-stackQL-resources/rum_teams_ownership_mappings/methods/get_teams_ownership_mapping' + - $ref: '#/components/x-stackQL-resources/rum_teams_ownership_mappings/methods/list_teams_ownership_mappings' + insert: + - $ref: '#/components/x-stackQL-resources/rum_teams_ownership_mappings/methods/create_teams_ownership_mapping' + update: [] + delete: + - $ref: '#/components/x-stackQL-resources/rum_teams_ownership_mappings/methods/delete_teams_ownership_mapping' + replace: [] + rum_teams_ownership_mapping_operations: + id: datadog.digital_experience.rum_teams_ownership_mapping_operations + name: rum_teams_ownership_mapping_operations + title: Rum Teams Ownership Mapping Operations + methods: + create_teams_ownership_mappings_batch: + config: + requestBodyTranslate: + algorithm: naive + operation: + $ref: '#/paths/~1api~1v2~1rum~1config~1teams-ownership~1mappings~1operations/post' + response: + mediaType: application/json + openAPIDocKey: '200' + request: + nativeCasing: camel + sqlVerbs: + select: [] + insert: + - $ref: '#/components/x-stackQL-resources/rum_teams_ownership_mapping_operations/methods/create_teams_ownership_mappings_batch' + update: [] delete: [] replace: [] - rum_applications: - id: datadog.digital_experience.rum_applications - name: rum_applications - title: Rum Applications + rum_teams_ownership_rules: + id: datadog.digital_experience.rum_teams_ownership_rules + name: rum_teams_ownership_rules + title: Rum Teams Ownership Rules methods: - get_rumapplications: + list_teams_ownership_rules: operation: - $ref: '#/paths/~1api~1v2~1rum~1applications/get' + $ref: '#/paths/~1api~1v2~1rum~1config~1teams-ownership~1rules/get' response: mediaType: application/json openAPIDocKey: '200' objectKey: $.data - create_rumapplication: + request: + nativeCasing: camel + sqlVerbs: + select: + - $ref: '#/components/x-stackQL-resources/rum_teams_ownership_rules/methods/list_teams_ownership_rules' + insert: [] + update: [] + delete: [] + replace: [] + rum_operations: + id: datadog.digital_experience.rum_operations + name: rum_operations + title: Rum Operations + methods: + create_rumoperation: + config: + requestBodyTranslate: + algorithm: naive operation: - $ref: '#/paths/~1api~1v2~1rum~1applications/post' + $ref: '#/paths/~1api~1v2~1rum~1operations/post' response: mediaType: application/json openAPIDocKey: '200' - delete_rumapplication: + request: + nativeCasing: camel + list_rumoperations: operation: - $ref: '#/paths/~1api~1v2~1rum~1applications~1{id}/delete' + $ref: '#/paths/~1api~1v2~1rum~1operations~1search/get' + response: + mediaType: application/json + openAPIDocKey: '200' + objectKey: $.data + request: + nativeCasing: camel + config: + queryParamPushdown: + top: + paramName: page[limit] + maxValue: 100 + skip: + paramName: page[offset] + delete_rumoperation: + operation: + $ref: '#/paths/~1api~1v2~1rum~1operations~1{rum_operation_id}/delete' response: mediaType: application/json openAPIDocKey: '204' - get_rumapplication: + request: + nativeCasing: camel + get_rumoperation: operation: - $ref: '#/paths/~1api~1v2~1rum~1applications~1{id}/get' + $ref: '#/paths/~1api~1v2~1rum~1operations~1{rum_operation_id}/get' response: mediaType: application/json openAPIDocKey: '200' objectKey: $.data - update_rumapplication: + request: + nativeCasing: camel + update_rumoperation: + config: + requestBodyTranslate: + algorithm: naive operation: - $ref: '#/paths/~1api~1v2~1rum~1applications~1{id}/patch' + $ref: '#/paths/~1api~1v2~1rum~1operations~1{rum_operation_id}/put' response: mediaType: application/json openAPIDocKey: '200' + request: + nativeCasing: camel sqlVerbs: select: - - $ref: >- - #/components/x-stackQL-resources/rum_applications/methods/get_rumapplication - - $ref: >- - #/components/x-stackQL-resources/rum_applications/methods/get_rumapplications + - $ref: '#/components/x-stackQL-resources/rum_operations/methods/get_rumoperation' + - $ref: '#/components/x-stackQL-resources/rum_operations/methods/list_rumoperations' insert: - - $ref: >- - #/components/x-stackQL-resources/rum_applications/methods/create_rumapplication - update: - - $ref: >- - #/components/x-stackQL-resources/rum_applications/methods/update_rumapplication + - $ref: '#/components/x-stackQL-resources/rum_operations/methods/create_rumoperation' + update: [] delete: - - $ref: >- - #/components/x-stackQL-resources/rum_applications/methods/delete_rumapplication + - $ref: '#/components/x-stackQL-resources/rum_operations/methods/delete_rumoperation' + replace: + - $ref: '#/components/x-stackQL-resources/rum_operations/methods/update_rumoperation' + rum_operation_by_names: + id: datadog.digital_experience.rum_operation_by_names + name: rum_operation_by_names + title: Rum Operation By Names + methods: + get_rumoperation_by_name: + operation: + $ref: '#/paths/~1api~1v2~1rum~1operations~1by-name~1{name}/get' + response: + mediaType: application/json + openAPIDocKey: '200' + objectKey: $.data + request: + nativeCasing: camel + sqlVerbs: + select: + - $ref: '#/components/x-stackQL-resources/rum_operation_by_names/methods/get_rumoperation_by_name' + insert: [] + update: [] + delete: [] replace: [] - rum_retention_filters: - id: datadog.digital_experience.rum_retention_filters - name: rum_retention_filters - title: Rum Retention Filters + rum_operation_strong_links: + id: datadog.digital_experience.rum_operation_strong_links + name: rum_operation_strong_links + title: Rum Operation Strong Links methods: - order_retention_filters: + list_rumoperation_strong_links: operation: - $ref: >- - #/paths/~1api~1v2~1rum~1applications~1{app_id}~1relationships~1retention_filters/patch + $ref: '#/paths/~1api~1v2~1rum~1operations~1strong_links/get' response: mediaType: application/json openAPIDocKey: '200' - list_retention_filters: + objectKey: $.data + request: + nativeCasing: camel + config: + queryParamPushdown: + top: + paramName: page[limit] + maxValue: 200 + skip: + paramName: page[offset] + create_rumoperation_strong_link: + config: + requestBodyTranslate: + algorithm: naive + operation: + $ref: '#/paths/~1api~1v2~1rum~1operations~1strong_links/post' + response: + mediaType: application/json + openAPIDocKey: '201' + request: + nativeCasing: camel + delete_rumoperation_strong_link: + operation: + $ref: '#/paths/~1api~1v2~1rum~1operations~1strong_links~1{rum_operation_id}~1{feature_id}/delete' + response: + mediaType: application/json + openAPIDocKey: '204' + request: + nativeCasing: camel + update_rumoperation_strong_link: + config: + requestBodyTranslate: + algorithm: naive + operation: + $ref: '#/paths/~1api~1v2~1rum~1operations~1strong_links~1{rum_operation_id}~1{feature_id}/put' + response: + mediaType: application/json + openAPIDocKey: '200' + request: + nativeCasing: camel + sqlVerbs: + select: + - $ref: '#/components/x-stackQL-resources/rum_operation_strong_links/methods/list_rumoperation_strong_links' + insert: + - $ref: '#/components/x-stackQL-resources/rum_operation_strong_links/methods/create_rumoperation_strong_link' + update: [] + delete: + - $ref: '#/components/x-stackQL-resources/rum_operation_strong_links/methods/delete_rumoperation_strong_link' + replace: + - $ref: '#/components/x-stackQL-resources/rum_operation_strong_links/methods/update_rumoperation_strong_link' + rum_query_insight_aggregated_long_tasks: + id: datadog.digital_experience.rum_query_insight_aggregated_long_tasks + name: rum_query_insight_aggregated_long_tasks + title: Rum Query Insight Aggregated Long Tasks + methods: + query_aggregated_long_tasks: + config: + requestBodyTranslate: + algorithm: naive + operation: + $ref: '#/paths/~1api~1v2~1rum~1query~1insight~1aggregated_long_tasks/post' + response: + mediaType: application/json + openAPIDocKey: '201' + request: + nativeCasing: camel + sqlVerbs: + select: [] + insert: + - $ref: '#/components/x-stackQL-resources/rum_query_insight_aggregated_long_tasks/methods/query_aggregated_long_tasks' + update: [] + delete: [] + replace: [] + rum_query_insight_aggregated_signals_problems: + id: datadog.digital_experience.rum_query_insight_aggregated_signals_problems + name: rum_query_insight_aggregated_signals_problems + title: Rum Query Insight Aggregated Signals Problems + methods: + query_aggregated_signals_problems: + config: + requestBodyTranslate: + algorithm: naive + operation: + $ref: '#/paths/~1api~1v2~1rum~1query~1insight~1aggregated_signals_problems/post' + response: + mediaType: application/json + openAPIDocKey: '201' + request: + nativeCasing: camel + sqlVerbs: + select: [] + insert: + - $ref: '#/components/x-stackQL-resources/rum_query_insight_aggregated_signals_problems/methods/query_aggregated_signals_problems' + update: [] + delete: [] + replace: [] + rum_query_insight_aggregated_waterfalls: + id: datadog.digital_experience.rum_query_insight_aggregated_waterfalls + name: rum_query_insight_aggregated_waterfalls + title: Rum Query Insight Aggregated Waterfalls + methods: + query_aggregated_waterfall: + config: + requestBodyTranslate: + algorithm: naive operation: - $ref: >- - #/paths/~1api~1v2~1rum~1applications~1{app_id}~1retention_filters/get + $ref: '#/paths/~1api~1v2~1rum~1query~1insight~1aggregated_waterfall/post' + response: + mediaType: application/json + openAPIDocKey: '201' + request: + nativeCasing: camel + sqlVerbs: + select: [] + insert: + - $ref: '#/components/x-stackQL-resources/rum_query_insight_aggregated_waterfalls/methods/query_aggregated_waterfall' + update: [] + delete: [] + replace: [] + rum_replay_playlists: + id: datadog.digital_experience.rum_replay_playlists + name: rum_replay_playlists + title: Rum Replay Playlists + methods: + list_rum_replay_playlists: + operation: + $ref: '#/paths/~1api~1v2~1rum~1replay~1playlists/get' response: mediaType: application/json openAPIDocKey: '200' objectKey: $.data - create_retention_filter: + request: + nativeCasing: camel + config: + queryParamPushdown: + top: + paramName: page[size] + create_rum_replay_playlist: + config: + requestBodyTranslate: + algorithm: naive operation: - $ref: >- - #/paths/~1api~1v2~1rum~1applications~1{app_id}~1retention_filters/post + $ref: '#/paths/~1api~1v2~1rum~1replay~1playlists/post' response: mediaType: application/json openAPIDocKey: '201' - delete_retention_filter: + request: + nativeCasing: camel + delete_rum_replay_playlist: operation: - $ref: >- - #/paths/~1api~1v2~1rum~1applications~1{app_id}~1retention_filters~1{rf_id}/delete + $ref: '#/paths/~1api~1v2~1rum~1replay~1playlists~1{playlist_id}/delete' response: mediaType: application/json openAPIDocKey: '204' - get_retention_filter: + request: + nativeCasing: camel + get_rum_replay_playlist: operation: - $ref: >- - #/paths/~1api~1v2~1rum~1applications~1{app_id}~1retention_filters~1{rf_id}/get + $ref: '#/paths/~1api~1v2~1rum~1replay~1playlists~1{playlist_id}/get' response: mediaType: application/json openAPIDocKey: '200' objectKey: $.data - update_retention_filter: + request: + nativeCasing: camel + update_rum_replay_playlist: + config: + requestBodyTranslate: + algorithm: naive operation: - $ref: >- - #/paths/~1api~1v2~1rum~1applications~1{app_id}~1retention_filters~1{rf_id}/patch + $ref: '#/paths/~1api~1v2~1rum~1replay~1playlists~1{playlist_id}/put' response: mediaType: application/json openAPIDocKey: '200' + request: + nativeCasing: camel sqlVerbs: select: - - $ref: >- - #/components/x-stackQL-resources/rum_retention_filters/methods/get_retention_filter - - $ref: >- - #/components/x-stackQL-resources/rum_retention_filters/methods/list_retention_filters + - $ref: '#/components/x-stackQL-resources/rum_replay_playlists/methods/get_rum_replay_playlist' + - $ref: '#/components/x-stackQL-resources/rum_replay_playlists/methods/list_rum_replay_playlists' insert: - - $ref: >- - #/components/x-stackQL-resources/rum_retention_filters/methods/create_retention_filter - update: - - $ref: >- - #/components/x-stackQL-resources/rum_retention_filters/methods/update_retention_filter + - $ref: '#/components/x-stackQL-resources/rum_replay_playlists/methods/create_rum_replay_playlist' + update: [] delete: - - $ref: >- - #/components/x-stackQL-resources/rum_retention_filters/methods/delete_retention_filter + - $ref: '#/components/x-stackQL-resources/rum_replay_playlists/methods/delete_rum_replay_playlist' + replace: + - $ref: '#/components/x-stackQL-resources/rum_replay_playlists/methods/update_rum_replay_playlist' + rum_replay_playlist_sessions: + id: datadog.digital_experience.rum_replay_playlist_sessions + name: rum_replay_playlist_sessions + title: Rum Replay Playlist Sessions + methods: + bulk_remove_rum_replay_playlist_sessions: + operation: + $ref: '#/paths/~1api~1v2~1rum~1replay~1playlists~1{playlist_id}~1sessions/delete' + response: + mediaType: application/json + openAPIDocKey: '204' + request: + nativeCasing: camel + list_rum_replay_playlist_sessions: + operation: + $ref: '#/paths/~1api~1v2~1rum~1replay~1playlists~1{playlist_id}~1sessions/get' + response: + mediaType: application/json + openAPIDocKey: '200' + objectKey: $.data + request: + nativeCasing: camel + config: + queryParamPushdown: + top: + paramName: page[size] + remove_rum_replay_session_from_playlist: + operation: + $ref: '#/paths/~1api~1v2~1rum~1replay~1playlists~1{playlist_id}~1sessions~1{session_id}/delete' + response: + mediaType: application/json + openAPIDocKey: '204' + request: + nativeCasing: camel + add_rum_replay_session_to_playlist: + operation: + $ref: '#/paths/~1api~1v2~1rum~1replay~1playlists~1{playlist_id}~1sessions~1{session_id}/put' + response: + mediaType: application/json + openAPIDocKey: '200' + request: + nativeCasing: camel + sqlVerbs: + select: + - $ref: '#/components/x-stackQL-resources/rum_replay_playlist_sessions/methods/list_rum_replay_playlist_sessions' + insert: [] + update: [] + delete: + - $ref: '#/components/x-stackQL-resources/rum_replay_playlist_sessions/methods/remove_rum_replay_session_from_playlist' + - $ref: '#/components/x-stackQL-resources/rum_replay_playlist_sessions/methods/bulk_remove_rum_replay_playlist_sessions' + replace: + - $ref: '#/components/x-stackQL-resources/rum_replay_playlist_sessions/methods/add_rum_replay_session_to_playlist' + rum_replay_session_view_segments: + id: datadog.digital_experience.rum_replay_session_view_segments + name: rum_replay_session_view_segments + title: Rum Replay Session View Segments + methods: + get_segments: + operation: + $ref: '#/paths/~1api~1v2~1rum~1replay~1sessions~1{session_id}~1views~1{view_id}~1segments/get' + response: + mediaType: application/json + openAPIDocKey: '200' + request: + nativeCasing: camel + sqlVerbs: + select: [] + insert: [] + update: [] + delete: [] replace: [] - rum_metrics: - id: datadog.digital_experience.rum_metrics - name: rum_metrics - title: Rum Metrics + rum_replay_session_watchers: + id: datadog.digital_experience.rum_replay_session_watchers + name: rum_replay_session_watchers + title: Rum Replay Session Watchers methods: - list_rum_metrics: + list_rum_replay_session_watchers: operation: - $ref: '#/paths/~1api~1v2~1rum~1config~1metrics/get' + $ref: '#/paths/~1api~1v2~1rum~1replay~1sessions~1{session_id}~1watchers/get' response: mediaType: application/json openAPIDocKey: '200' objectKey: $.data - create_rum_metric: + request: + nativeCasing: camel + config: + queryParamPushdown: + top: + paramName: page[size] + sqlVerbs: + select: + - $ref: '#/components/x-stackQL-resources/rum_replay_session_watchers/methods/list_rum_replay_session_watchers' + insert: [] + update: [] + delete: [] + replace: [] + rum_replay_session_watches: + id: datadog.digital_experience.rum_replay_session_watches + name: rum_replay_session_watches + title: Rum Replay Session Watches + methods: + delete_rum_replay_session_watch: operation: - $ref: '#/paths/~1api~1v2~1rum~1config~1metrics/post' + $ref: '#/paths/~1api~1v2~1rum~1replay~1sessions~1{session_id}~1watches/delete' + response: + mediaType: application/json + openAPIDocKey: '204' + request: + nativeCasing: camel + create_rum_replay_session_watch: + config: + requestBodyTranslate: + algorithm: naive + operation: + $ref: '#/paths/~1api~1v2~1rum~1replay~1sessions~1{session_id}~1watches/post' response: mediaType: application/json openAPIDocKey: '201' - delete_rum_metric: + request: + nativeCasing: camel + sqlVerbs: + select: [] + insert: + - $ref: '#/components/x-stackQL-resources/rum_replay_session_watches/methods/create_rum_replay_session_watch' + update: [] + delete: + - $ref: '#/components/x-stackQL-resources/rum_replay_session_watches/methods/delete_rum_replay_session_watch' + replace: [] + rum_replay_viewership_history_sessions: + id: datadog.digital_experience.rum_replay_viewership_history_sessions + name: rum_replay_viewership_history_sessions + title: Rum Replay Viewership History Sessions + methods: + list_rum_replay_viewership_history_sessions: operation: - $ref: '#/paths/~1api~1v2~1rum~1config~1metrics~1{metric_id}/delete' + $ref: '#/paths/~1api~1v2~1rum~1replay~1viewership-history~1sessions/get' response: mediaType: application/json - openAPIDocKey: '204' - get_rum_metric: + openAPIDocKey: '200' + objectKey: $.data + request: + nativeCasing: camel + config: + queryParamPushdown: + top: + paramName: page[size] + sqlVerbs: + select: + - $ref: '#/components/x-stackQL-resources/rum_replay_viewership_history_sessions/methods/list_rum_replay_viewership_history_sessions' + insert: [] + update: [] + delete: [] + replace: [] + sourcemaps: + id: datadog.digital_experience.sourcemaps + name: sourcemaps + title: Sourcemaps + methods: + delete_sourcemaps: operation: - $ref: '#/paths/~1api~1v2~1rum~1config~1metrics~1{metric_id}/get' + $ref: '#/paths/~1api~1v2~1sourcemaps/delete' + response: + mediaType: application/json + openAPIDocKey: '200' + request: + nativeCasing: camel + get_sourcemaps: + operation: + $ref: '#/paths/~1api~1v2~1sourcemaps/get' response: mediaType: application/json openAPIDocKey: '200' objectKey: $.data - update_rum_metric: + request: + nativeCasing: camel + list_sourcemaps: operation: - $ref: '#/paths/~1api~1v2~1rum~1config~1metrics~1{metric_id}/patch' + $ref: '#/paths/~1api~1v2~1sourcemaps~1list/get' + response: + mediaType: application/json + openAPIDocKey: '200' + objectKey: $.data + request: + nativeCasing: camel + config: + queryParamPushdown: + top: + paramName: page[size] + restore_sourcemaps: + operation: + $ref: '#/paths/~1api~1v2~1sourcemaps~1restore/patch' response: mediaType: application/json openAPIDocKey: '200' + request: + nativeCasing: camel sqlVerbs: select: - - $ref: >- - #/components/x-stackQL-resources/rum_metrics/methods/get_rum_metric - - $ref: >- - #/components/x-stackQL-resources/rum_metrics/methods/list_rum_metrics - insert: - - $ref: >- - #/components/x-stackQL-resources/rum_metrics/methods/create_rum_metric - update: - - $ref: >- - #/components/x-stackQL-resources/rum_metrics/methods/update_rum_metric + - $ref: '#/components/x-stackQL-resources/sourcemaps/methods/get_sourcemaps' + - $ref: '#/components/x-stackQL-resources/sourcemaps/methods/list_sourcemaps' + insert: [] + update: [] delete: - - $ref: >- - #/components/x-stackQL-resources/rum_metrics/methods/delete_rum_metric + - $ref: '#/components/x-stackQL-resources/sourcemaps/methods/delete_sourcemaps' + replace: [] + sourcemap_service_repository_infos: + id: datadog.digital_experience.sourcemap_service_repository_infos + name: sourcemap_service_repository_infos + title: Sourcemap Service Repository Infos + methods: + get_service_repository_info: + config: + requestBodyTranslate: + algorithm: naive + operation: + $ref: '#/paths/~1api~1v2~1sourcemaps~1service_repository_info/post' + response: + mediaType: application/json + openAPIDocKey: '200' + request: + nativeCasing: camel + sqlVerbs: + select: [] + insert: + - $ref: '#/components/x-stackQL-resources/sourcemap_service_repository_infos/methods/get_service_repository_info' + update: [] + delete: [] replace: [] servers: - - url: >- - https://{region:^(?:[^\:/]+(?:\:[0-9]+)?|[0-9]+\.[0-9]+\.[0-9]+\.[0-9]+(?:\:[0-9]+)?)$}/ + - url: https://api.{site:.+} variables: - region: + site: default: datadoghq.com + description: The Datadog site (region) for your organization, for example datadoghq.com, us3.datadoghq.com, us5.datadoghq.com, ap1.datadoghq.com, ap2.datadoghq.com, datadoghq.eu, ddog-gov.com. Resolved from the DD_SITE environment variable when set. + x-stackQL-envVar: DD_SITE diff --git a/providers/src/datadog/v00.00.00000/services/fleet.yaml b/providers/src/datadog/v00.00.00000/services/fleet.yaml new file mode 100644 index 00000000..8311d29e --- /dev/null +++ b/providers/src/datadog/v00.00.00000/services/fleet.yaml @@ -0,0 +1,3477 @@ +openapi: 3.0.0 +info: + title: fleet API + description: datadog fleet API + version: '1.0' +paths: + /api/unstable/fleet/agents/{agent_key}/tracers: + get: + description: |- + Retrieve a paginated list of tracers for a specific agent. + + This endpoint returns tracers associated with a given agent key, identified by the + agent's hostname. Use this to discover telemetry-derived service names for a particular host. + operationId: ListFleetAgentTracers + parameters: + - description: The unique identifier (agent key) for the Datadog Agent. + in: path + name: agent_key + required: true + schema: + type: string + - description: Page number for pagination (starts at 0). + in: query + name: page_number + required: false + schema: + default: 0 + format: int64 + minimum: 0 + type: integer + - description: Number of results per page (must be greater than 0 and less than or equal to 100). + in: query + name: page_size + required: false + schema: + default: 10 + format: int64 + maximum: 100 + minimum: 1 + type: integer + - description: Attribute to sort by. + in: query + name: sort_attribute + required: false + schema: + type: string + - description: Sort order (true for descending, false for ascending). + in: query + name: sort_descending + required: false + schema: + default: true + type: boolean + responses: + '200': + content: + application/json: + examples: + default: + value: + data: + attributes: + tracers: + - env: production + hostname: my-hostname + language: java + service: test-service + tracer_version: 1.32.0 + id: done + type: status + meta: + total_filtered_count: 1 + schema: + $ref: '#/components/schemas/FleetTracersResponse' + description: OK + '400': + $ref: '#/components/responses/BadRequestResponse' + '401': + $ref: '#/components/responses/UnauthorizedResponse' + '403': + $ref: '#/components/responses/ForbiddenResponse' + '404': + $ref: '#/components/responses/NotFoundResponse' + '429': + $ref: '#/components/responses/TooManyRequestsResponse' + security: + - apiKeyAuth: [] + appKeyAuth: [] + summary: List tracers for a specific agent + tags: + - Fleet Automation + x-permission: + operator: AND + permissions: + - hosts_read + x-unstable: |- + This endpoint is in Preview and may introduce breaking changes. + If you have any feedback, contact [Datadog support](https://docs.datadoghq.com/help/). + /api/unstable/fleet/schedules: + post: + description: |- + Create a new schedule for automated package upgrades. + + Schedules define when and how often to automatically deploy package upgrades to a fleet + of hosts. Each schedule includes: + - A filter query to select target hosts + - A recurrence rule defining maintenance windows + - A version strategy (e.g., always latest, or N versions behind latest) + + When the schedule triggers during a maintenance window, it automatically creates a + deployment that upgrades the Datadog Agent to the specified version on all matching hosts. + operationId: CreateFleetSchedule + requestBody: + content: + application/json: + examples: + conservative_staging: + summary: Conservative staging updates (N-1 version) + value: + data: + attributes: + name: Staging Environment - Conservative Updates + query: env:staging + rule: + days_of_week: + - Fri + maintenance_window_duration: 240 + start_maintenance_window: '22:00' + timezone: UTC + status: active + version_to_latest: 1 + type: schedule + default: + value: + data: + attributes: + name: Weekly Production Agent Updates + query: env:prod + rule: + days_of_week: + - Mon + - Wed + maintenance_window_duration: 180 + start_maintenance_window: '02:00' + timezone: America/New_York + status: active + version_to_latest: 0 + type: schedule + weekly_production_update: + summary: Weekly production agent updates + value: + data: + attributes: + name: Weekly Production Agent Updates + query: env:prod + rule: + days_of_week: + - Mon + - Wed + maintenance_window_duration: 180 + start_maintenance_window: '02:00' + timezone: America/New_York + status: active + version_to_latest: 0 + type: schedule + schema: + $ref: '#/components/schemas/FleetScheduleCreateRequest' + description: Request payload containing the schedule details. + required: true + responses: + '201': + content: + application/json: + examples: + default: + value: + data: + attributes: + name: Weekly Production Agent Updates + query: env:prod + rule: + days_of_week: + - Mon + - Wed + maintenance_window_duration: 180 + start_maintenance_window: '02:00' + timezone: America/New_York + status: active + version_to_latest: 0 + id: abc-123 + type: schedule + schema: + $ref: '#/components/schemas/FleetScheduleResponse' + description: CREATED + '400': + $ref: '#/components/responses/BadRequestResponse' + '401': + $ref: '#/components/responses/UnauthorizedResponse' + '403': + $ref: '#/components/responses/ForbiddenResponse' + '429': + $ref: '#/components/responses/TooManyRequestsResponse' + security: + - apiKeyAuth: [] + appKeyAuth: [] + summary: Create a schedule + tags: + - Fleet Automation + x-permission: + operator: AND + permissions: + - agent_upgrade_write + x-unstable: |- + This endpoint is in Preview and may introduce breaking changes. + If you have any feedback, contact [Datadog support](https://docs.datadoghq.com/help/). + /api/unstable/fleet/schedules/{id}: + delete: + description: |- + Delete a schedule permanently. + + When you delete a schedule: + - The schedule is permanently removed and will no longer create deployments + - Any deployments already created by this schedule are not affected + - This action cannot be undone + + If you want to temporarily stop a schedule from creating deployments, consider + updating its status to "inactive" instead of deleting it. + operationId: DeleteFleetSchedule + parameters: + - description: The unique identifier of the schedule to delete. + example: abc-def-ghi-123 + in: path + name: id + required: true + schema: + type: string + responses: + '204': + description: Schedule successfully deleted. + '400': + $ref: '#/components/responses/BadRequestResponse' + '401': + $ref: '#/components/responses/UnauthorizedResponse' + '403': + $ref: '#/components/responses/ForbiddenResponse' + '404': + $ref: '#/components/responses/NotFoundResponse' + '429': + $ref: '#/components/responses/TooManyRequestsResponse' + security: + - apiKeyAuth: [] + appKeyAuth: [] + summary: Delete a schedule + tags: + - Fleet Automation + x-permission: + operator: AND + permissions: + - agent_upgrade_write + x-unstable: |- + This endpoint is in Preview and may introduce breaking changes. + If you have any feedback, contact [Datadog support](https://docs.datadoghq.com/help/). + patch: + description: |- + Partially update a schedule by providing only the fields you want to change. + + This endpoint allows you to modify specific attributes of a schedule without + affecting other fields. Common use cases include: + - Changing the schedule status between active and inactive + - Updating the maintenance window times + - Modifying the filter query to target different hosts + - Adjusting the version strategy + + Only include the fields you want to update in the request body. All fields + are optional in a PATCH request. + operationId: UpdateFleetSchedule + parameters: + - description: The unique identifier of the schedule to update. + example: abc-def-ghi-123 + in: path + name: id + required: true + schema: + type: string + requestBody: + content: + application/json: + examples: + change_maintenance_window: + summary: Change maintenance window time + value: + data: + attributes: + rule: + days_of_week: + - Mon + - Wed + - Fri + maintenance_window_duration: 240 + start_maintenance_window: '03:00' + timezone: America/New_York + type: schedule + default: + value: + data: + attributes: + status: inactive + type: schedule + pause_schedule: + summary: Pause a schedule + value: + data: + attributes: + status: inactive + type: schedule + update_query: + summary: Update target hosts query + value: + data: + attributes: + query: env:prod AND service:api + type: schedule + schema: + $ref: '#/components/schemas/FleetSchedulePatchRequest' + description: Request payload containing the fields to update. + required: true + responses: + '200': + content: + application/json: + examples: + default: + value: + data: + attributes: + created_at_unix: 1699999999 + created_by: test@example.com + name: Weekly Production Agent Updates + query: env:prod AND service:web + rule: + days_of_week: + - Mon + - Wed + maintenance_window_duration: 120 + start_maintenance_window: '02:00' + timezone: America/New_York + status: inactive + updated_at_unix: 1699999999 + updated_by: test@example.com + version_to_latest: 0 + id: abc-def-ghi-123 + type: schedule + schema: + $ref: '#/components/schemas/FleetScheduleResponse' + description: OK + '400': + $ref: '#/components/responses/BadRequestResponse' + '401': + $ref: '#/components/responses/UnauthorizedResponse' + '403': + $ref: '#/components/responses/ForbiddenResponse' + '404': + $ref: '#/components/responses/NotFoundResponse' + '429': + $ref: '#/components/responses/TooManyRequestsResponse' + security: + - apiKeyAuth: [] + appKeyAuth: [] + summary: Update a schedule + tags: + - Fleet Automation + x-permission: + operator: AND + permissions: + - agent_upgrade_write + x-unstable: |- + This endpoint is in Preview and may introduce breaking changes. + If you have any feedback, contact [Datadog support](https://docs.datadoghq.com/help/). + /api/unstable/fleet/schedules/{id}/trigger: + post: + description: |- + Manually trigger a schedule to immediately create and start a deployment. + + This endpoint allows you to manually initiate a deployment using the schedule's + configuration, without waiting for the next scheduled maintenance window. This is + useful for: + - Testing a schedule before it runs automatically + - Performing an emergency update outside the regular maintenance window + - Creating an ad-hoc deployment with the same settings as a schedule + + The deployment is created immediately with: + - The same filter query as the schedule + - The package version determined by the schedule's version strategy + - All matching hosts as targets + + The manually triggered deployment is independent of the schedule and does not + affect the schedule's normal recurrence pattern. + operationId: TriggerFleetSchedule + parameters: + - description: The unique identifier of the schedule to trigger. + example: abc-def-ghi-123 + in: path + name: id + required: true + schema: + type: string + responses: + '201': + content: + application/json: + examples: + default: + value: + data: + attributes: + filter_query: env:prod AND service:web + high_level_status: pending + packages: + - name: datadog-agent + version: 7.52.0 + total_hosts: 10 + id: abc-123 + type: deployment + schema: + $ref: '#/components/schemas/FleetDeploymentResponse' + description: CREATED - Deployment successfully created and started. + '400': + $ref: '#/components/responses/BadRequestResponse' + '401': + $ref: '#/components/responses/UnauthorizedResponse' + '403': + $ref: '#/components/responses/ForbiddenResponse' + '404': + $ref: '#/components/responses/NotFoundResponse' + '429': + $ref: '#/components/responses/TooManyRequestsResponse' + security: + - apiKeyAuth: [] + appKeyAuth: [] + summary: Trigger a schedule deployment + tags: + - Fleet Automation + x-permission: + operator: AND + permissions: + - agent_upgrade_write + x-unstable: |- + This endpoint is in Preview and may introduce breaking changes. + If you have any feedback, contact [Datadog support](https://docs.datadoghq.com/help/). + /api/unstable/fleet/tracers: + get: + description: |- + Retrieve a paginated list of all fleet tracers. + + This endpoint returns telemetry-derived service names from the SDK telemetry pipeline. + These names may differ from span-derived names in APM and are useful for querying + service library configurations. + Use the `page_number` and `page_size` query parameters to paginate through results. + operationId: ListFleetTracers + parameters: + - description: Page number for pagination (starts at 0). + in: query + name: page_number + required: false + schema: + default: 0 + format: int64 + minimum: 0 + type: integer + - description: Number of results per page (must be greater than 0 and less than or equal to 100). + in: query + name: page_size + required: false + schema: + default: 10 + format: int64 + maximum: 100 + minimum: 1 + type: integer + - description: Attribute to sort by. + in: query + name: sort_attribute + required: false + schema: + type: string + - description: Sort order (true for descending, false for ascending). + in: query + name: sort_descending + required: false + schema: + default: true + type: boolean + - description: Filter string for narrowing down tracer results. + example: hostname:my-host OR env:prod + in: query + name: filter + required: false + schema: + type: string + responses: + '200': + content: + application/json: + examples: + default: + value: + data: + attributes: + tracers: + - env: production + hostname: my-hostname + language: java + service: test-service + tracer_version: 1.32.0 + id: done + type: status + meta: + total_filtered_count: 1 + schema: + $ref: '#/components/schemas/FleetTracersResponse' + description: OK + '400': + $ref: '#/components/responses/BadRequestResponse' + '401': + $ref: '#/components/responses/UnauthorizedResponse' + '403': + $ref: '#/components/responses/ForbiddenResponse' + '404': + $ref: '#/components/responses/NotFoundResponse' + '429': + $ref: '#/components/responses/TooManyRequestsResponse' + security: + - apiKeyAuth: [] + appKeyAuth: [] + summary: List all fleet tracers + tags: + - Fleet Automation + x-permission: + operator: AND + permissions: + - hosts_read + x-unstable: |- + This endpoint is in Preview and may introduce breaking changes. + If you have any feedback, contact [Datadog support](https://docs.datadoghq.com/help/). + /api/v2/fleet/agent_versions: + get: + description: |- + Retrieve the list of Datadog Agent versions available for deployment. + + Returns `200` with an empty `data` array if the Agent package exists in the catalog + but has no available versions, and `404` only if the Agent package itself is absent + from the catalog. + operationId: ListFleetAgentVersionsV2 + responses: + '200': + content: + application/json: + examples: + default: + value: + data: + - attributes: + version: 7.80.4 + id: 7.80.4 + type: agent_version + - attributes: + version: 7.81.1 + id: 7.81.1 + type: agent_version + meta: + page: + total_count: 2 + schema: + $ref: '#/components/schemas/FleetAgentVersionsV2Response' + description: OK + '401': + $ref: '#/components/responses/UnauthorizedResponse' + '403': + $ref: '#/components/responses/ForbiddenResponse' + '404': + $ref: '#/components/responses/NotFoundResponse' + '429': + $ref: '#/components/responses/TooManyRequestsResponse' + security: + - apiKeyAuth: [] + appKeyAuth: [] + summary: List available Datadog Agent versions + tags: + - Fleet Automation + x-permission: + operator: AND + permissions: + - hosts_read + /api/v2/fleet/agents: + get: + description: |- + Retrieve a paginated list of Datadog Agents. + + Returns agents with support for pagination, sorting, and filtering. + Use `page_number` and `page_size` to navigate pages, `filter` to narrow by field values, + and `tags` to filter by agent tags. + operationId: ListFleetAgentsV2 + parameters: + - description: Page number for pagination, starting at 0. + in: query + name: page_number + required: false + schema: + default: 0 + format: int64 + minimum: 0 + type: integer + - description: Number of agents to return per page. Maximum value is 100. Defaults to 10. + in: query + name: page_size + required: false + schema: + default: 10 + format: int64 + maximum: 100 + minimum: 1 + type: integer + - description: Filter string to narrow down agent results. + example: hostname:my-hostname OR env:dev + in: query + name: filter + required: false + schema: + type: string + - description: Comma-separated list of tag keys to select which tags are included in each agent's `tags` attribute. Does not filter which agents are returned. + in: query + name: tags + required: false + schema: + type: string + - description: Agent attribute to sort results by. Must be a supported attribute name; unsupported values return a 400 error. + in: query + name: sort_attribute + required: false + schema: + type: string + - description: Set to `true` to sort results in descending order. Defaults to ascending. + in: query + name: sort_descending + required: false + schema: + type: boolean + responses: + '200': + content: + application/json: + examples: + default: + value: + data: + - attributes: + agent_version: 7.50.0 + api_key_name: Production API Key + api_key_uuid: a1b2c3d4-e5f6-4321-a123-123456789abc + cloud_provider: aws + datadog_data_center: us1 + enabled_products: + - apm + - logs + env: + - prod + first_seen_at: 1699900000 + fleet_policies: [] + hostname: my-hostname + integrations: + - mysql + ip_addresses: + - 10.0.0.1 + is_single_step_instrumentation_enabled: false + last_restart_at: 1699999999 + os: linux + otel_collector_versions: [] + remote_agent_management: enabled + remote_config_status: connected + services: + - web + tags: + - key: team + value: platform + id: my-agent-hostname + type: agent + meta: + page: + total_count: 500 + total_filtered_count: 1 + schema: + $ref: '#/components/schemas/FleetAgentsV2Response' + description: OK + '400': + $ref: '#/components/responses/BadRequestResponse' + '401': + $ref: '#/components/responses/UnauthorizedResponse' + '403': + $ref: '#/components/responses/ForbiddenResponse' + '429': + $ref: '#/components/responses/TooManyRequestsResponse' + security: + - apiKeyAuth: [] + appKeyAuth: [] + summary: List all Datadog Agents + tags: + - Fleet Automation + x-permission: + operator: AND + permissions: + - hosts_read + /api/v2/fleet/agents/{agent_key}: + get: + description: |- + Retrieve detailed information about a specific Datadog Agent. + + By default, only `agent_infos` is returned. Use the `include` query parameter to + request additional data: `integrations` and/or `configuration_files`. + operationId: GetFleetAgentDetailV2 + parameters: + - description: The unique identifier (Agent key) for the Datadog Agent. Must be a 32-character lowercase hexadecimal string. + example: a1b2c3d4e5f67890a1b2c3d4e5f67890 + in: path + name: agent_key + required: true + schema: + pattern: ^[0-9a-f]{32}$ + type: string + - description: Comma-separated list of additional fields to include in the response. Valid values are `integrations` and `configuration_files`. Omitting this parameter returns only `agent_infos`. Unrecognized values are silently ignored rather than causing an error. + example: integrations,configuration_files + in: query + name: include + required: false + schema: + type: string + responses: + '200': + content: + application/json: + examples: + default: + value: + data: + attributes: + agent_infos: + agent_version: 7.50.0 + datadog_agent_key: a1b2c3d4e5f67890a1b2c3d4e5f67890 + hostname: my-hostname + os: linux + id: a1b2c3d4e5f67890a1b2c3d4e5f67890 + type: agent + schema: + $ref: '#/components/schemas/FleetAgentDetailV2Response' + description: OK + '400': + $ref: '#/components/responses/BadRequestResponse' + '401': + $ref: '#/components/responses/UnauthorizedResponse' + '403': + $ref: '#/components/responses/ForbiddenResponse' + '404': + $ref: '#/components/responses/NotFoundResponse' + '429': + $ref: '#/components/responses/TooManyRequestsResponse' + security: + - apiKeyAuth: [] + appKeyAuth: [] + summary: Get detailed information about an agent + tags: + - Fleet Automation + x-permission: + operator: AND + permissions: + - hosts_read + /api/v2/fleet/deployments: + get: + description: Retrieve a paginated list of all deployments for fleet automation. + operationId: ListFleetDeploymentsV2 + parameters: + - description: Number of deployments to return per page. Maximum value is 100. + in: query + name: page_size + required: false + schema: + default: 10 + format: int64 + maximum: 100 + type: integer + - description: Page number for pagination, starting at 0. + in: query + name: page_number + required: false + schema: + default: 0 + format: int64 + minimum: 0 + type: integer + - description: |- + Field to sort results by (for example, `start_date`). Must be a supported field + name; unsupported values return a 400 error. + in: query + name: sort + required: false + schema: + type: string + - description: |- + Set to `true` to sort in ascending order. This setting has no effect unless `sort` is also set. + Defaults to descending order. + in: query + name: ascending + required: false + schema: + type: boolean + - description: |- + Query used to filter deployments. Uses the Datadog query syntax. Filtering on an + unsupported field returns a 400 error. For example: + - `status:failed` or `status:done_with_errors`: deployments that need investigation. + - `status:running`: deployments currently in flight. + - `update_type:update_package` or `update_type:update_config_operations`: deployments of a given type. + example: status:failed + in: query + name: filter + required: false + schema: + type: string + responses: + '200': + content: + application/json: + examples: + default: + value: + data: + - attributes: + author: alice@datadoghq.com + config_operations: + - file_op: merge-patch + file_path: /datadog.yaml + patch: + logs_enabled: true + duration_seconds: 0 + error_summary: '' + estimated_finished_at: 1699999999 + finished_at: 0 + is_scheduled: true + query: env:prod AND service:web + schedule_id: sched-123 + started_at: 1699990000 + status: running + target_versions: + - 7.52.0 + total_hosts: 10 + update_type: update_config_operations + id: k7Q-3mX-p9Z + type: deployment + meta: + page: + total_count: 1 + total_filtered_count: 1 + schema: + $ref: '#/components/schemas/FleetDeploymentsV2Response' + description: OK + '400': + $ref: '#/components/responses/BadRequestResponse' + '401': + $ref: '#/components/responses/UnauthorizedResponse' + '403': + $ref: '#/components/responses/ForbiddenResponse' + '429': + $ref: '#/components/responses/TooManyRequestsResponse' + security: + - apiKeyAuth: [] + appKeyAuth: [] + summary: List all deployments + tags: + - Fleet Automation + x-permission: + operator: AND + permissions: + - hosts_read + /api/v2/fleet/deployments/configure: + post: + description: |- + Create a new deployment to apply configuration changes + to a fleet of hosts matching the specified filter query. + + This endpoint supports two types of configuration operations: + - `merge-patch`: Merges the provided patch data with the existing configuration file, + creating the file if it doesn't exist. + - `delete`: Removes the specified configuration file from the target hosts. + + You can optionally use `target_packages` to apply the configuration change only to specific package versions. + + The deployment is created and started automatically. You can specify multiple configuration + operations to execute in order on each target host. Use the filter query to target + specific hosts using the Datadog query syntax. + + Set `dry_run` to `true` to validate the configuration and resolve target hosts and packages without deploying anything. A dry run returns a 200 with the validation result instead of creating and starting a deployment. + + Returns a 400 if `filter_query` or `config_operations` is missing, a target package is missing a name or version or cannot be resolved, the configuration fails validation, or the filter query does not match any host eligible for the deployment. + operationId: CreateFleetDeploymentConfigureV2 + requestBody: + content: + application/json: + examples: + default: + value: + data: + attributes: + config_operations: + - file_op: merge-patch + file_path: /datadog.yaml + patch: + apm_config: + enabled: true + log_level: info + logs_enabled: true + filter_query: env:prod AND datacenter:us-east-1 + type: deployment + dry_run: + summary: Dry run + value: + data: + attributes: + config_operations: + - file_op: merge-patch + file_path: /datadog.yaml + patch: + log_level: info + dry_run: true + filter_query: env:prod AND datacenter:us-east-1 + type: deployment + schema: + $ref: '#/components/schemas/FleetDeploymentConfigureV2CreateRequest' + description: Request payload containing the deployment details. + required: true + responses: + '200': + content: + application/json: + examples: + default: + value: + data: + attributes: + dry_run: + config_validated: true + non_upgradable_hosts: 0 + query: env:prod AND datacenter:us-east-1 + total_hosts: 42 + id: dry-run + type: deployment + schema: + $ref: '#/components/schemas/FleetDeploymentConfigureV2DryRunResponse' + description: OK + '201': + content: + application/json: + examples: + default: + value: + data: + attributes: + author: alice@datadoghq.com + duration_seconds: 0 + error_summary: '' + estimated_finished_at: 0 + finished_at: 0 + is_scheduled: false + query: env:prod AND datacenter:us-east-1 + started_at: 1699990000 + status: pending + target_versions: [] + update_type: update_config_operations + id: k7Q-3mX-p9Z + type: deployment + schema: + $ref: '#/components/schemas/FleetDeploymentV2CreateResponse' + description: CREATED + '400': + $ref: '#/components/responses/BadRequestResponse' + '401': + $ref: '#/components/responses/UnauthorizedResponse' + '403': + $ref: '#/components/responses/ForbiddenResponse' + '429': + $ref: '#/components/responses/TooManyRequestsResponse' + security: + - apiKeyAuth: [] + appKeyAuth: [] + summary: Create a configuration deployment + tags: + - Fleet Automation + x-permission: + operator: AND + permissions: + - agent_upgrade_write + - fleet_policies_write + /api/v2/fleet/deployments/upgrade: + post: + description: |- + Create and immediately start a new package upgrade + on hosts matching the specified filter query. + + This endpoint allows you to upgrade the Datadog Agent to a specific version + on hosts matching the specified filter query. + + The deployment is created and started automatically. The system: + 1. Identifies all hosts matching the filter query. + 2. Validates that the specified version is available. + 3. Begins rolling out the package upgrade to the target hosts. + + Returns a 400 if `filter_query` or `target_packages` is missing, a target package is missing a name or version, or the filter query does not match any host eligible for the upgrade. Returns a 409 if a conflicting upgrade is already running on one or more target hosts. + operationId: CreateFleetDeploymentUpgradeV2 + requestBody: + content: + application/json: + examples: + default: + value: + data: + attributes: + filter_query: env:prod AND service:web + target_packages: + - name: datadog-agent + version: 7.52.0 + type: deployment + schema: + $ref: '#/components/schemas/FleetDeploymentPackageUpgradeV2CreateRequest' + description: Request payload containing the package upgrade details. + required: true + responses: + '201': + content: + application/json: + examples: + default: + value: + data: + attributes: + author: alice@datadoghq.com + duration_seconds: 0 + error_summary: '' + estimated_finished_at: 0 + finished_at: 0 + is_scheduled: false + query: env:prod AND service:web + started_at: 1699990000 + status: pending + target_versions: + - 7.52.0 + update_type: update_package + id: k7Q-3mX-p9Z + type: deployment + schema: + $ref: '#/components/schemas/FleetDeploymentV2CreateResponse' + description: CREATED + '400': + $ref: '#/components/responses/BadRequestResponse' + '401': + $ref: '#/components/responses/UnauthorizedResponse' + '403': + $ref: '#/components/responses/ForbiddenResponse' + '409': + $ref: '#/components/responses/ConflictResponse' + '429': + $ref: '#/components/responses/TooManyRequestsResponse' + security: + - apiKeyAuth: [] + appKeyAuth: [] + summary: Upgrade hosts + tags: + - Fleet Automation + x-permission: + operator: AND + permissions: + - agent_upgrade_write + - fleet_policies_write + /api/v2/fleet/deployments/{deployment_id}: + get: + description: |- + Retrieve detailed information about a specific deployment, including its current status, + configuration operations, and per-host execution status. + + Returns a 404 if no deployment matches the given ID or if you do not have access to it. + operationId: GetFleetDeploymentV2 + parameters: + - description: The unique identifier of the deployment to retrieve. + example: k7Q-3mX-p9Z + in: path + name: deployment_id + required: true + schema: + type: string + responses: + '200': + content: + application/json: + examples: + default: + value: + data: + attributes: + author: carol@datadoghq.com + canceled_hosts: 1 + config_operations: + - file_op: merge-patch + file_path: /datadog.yaml + patch: + logs_enabled: true + duration_seconds: 0 + error_summary: '' + estimated_finished_at: 1699999999 + failed_hosts: 1 + high_level_status: running + hosts: + - hostname: web-01.example.com + running_step: applying_config + status: running + status_details: step 2/3 + versions: + - current_version: 7.50.0 + package_name: datadog-agent + target_version: 7.52.0 + - hostname: web-02.example.com + status: succeeded + versions: + - current_version: 7.52.0 + package_name: datadog-agent + target_version: 7.52.0 + is_scheduled: true + query: env:prod AND service:web + running_hosts: 1 + schedule_id: sched-789 + skipped_hosts: 1 + succeeded_hosts: 1 + target_versions: + - 7.52.0 + total_hosts: 5 + update_type: update_config_operations + id: k7Q-3mX-p9Z + type: deployment + schema: + $ref: '#/components/schemas/FleetDeploymentV2DetailResponse' + description: OK + '400': + $ref: '#/components/responses/BadRequestResponse' + '401': + $ref: '#/components/responses/UnauthorizedResponse' + '403': + $ref: '#/components/responses/ForbiddenResponse' + '404': + $ref: '#/components/responses/NotFoundResponse' + '429': + $ref: '#/components/responses/TooManyRequestsResponse' + security: + - apiKeyAuth: [] + appKeyAuth: [] + summary: Get a deployment by ID + tags: + - Fleet Automation + x-permission: + operator: AND + permissions: + - hosts_read + /api/v2/fleet/deployments/{deployment_id}/cancel: + post: + description: |- + Cancel an active deployment and stop all pending operations. + When you cancel a deployment: + - All pending operations on hosts that haven't started yet are stopped. + - Operations currently in progress on hosts may complete or be interrupted, depending on their current status. + - Configuration changes or package upgrades already applied to hosts are not rolled back. + + After cancellation, you can view the final state of the deployment using the GET endpoint to see which hosts + were successfully updated before the cancellation. + + Only deployments with a `pending` or `running` status can be canceled. Returns a 400 if the deployment is not in a cancelable status. Returns a 404 if no deployment matches the specified ID or if you do not have access to it. + operationId: CancelFleetDeploymentV2 + parameters: + - description: The unique identifier of the deployment to cancel. + example: k7Q-3mX-p9Z + in: path + name: deployment_id + required: true + schema: + type: string + responses: + '200': + content: + application/json: + examples: + default: + value: + data: + attributes: + message: Cancellation has been requested; the deployment is stopping. + status: stopping + id: k7Q-3mX-p9Z + type: deployment + schema: + $ref: '#/components/schemas/FleetDeploymentV2CancelResponse' + description: OK + '400': + $ref: '#/components/responses/BadRequestResponse' + '401': + $ref: '#/components/responses/UnauthorizedResponse' + '403': + $ref: '#/components/responses/ForbiddenResponse' + '404': + $ref: '#/components/responses/NotFoundResponse' + '429': + $ref: '#/components/responses/TooManyRequestsResponse' + security: + - apiKeyAuth: [] + appKeyAuth: [] + summary: Cancel a deployment + tags: + - Fleet Automation + x-permission: + operator: AND + permissions: + - agent_upgrade_write + - fleet_policies_write + /api/v2/fleet/schedules: + get: + description: |- + Retrieve all upgrade schedules for the organization. + + Schedules automate package upgrades by defining maintenance windows and recurrence rules. + Each schedule automatically creates deployments based on its configuration. + operationId: ListFleetSchedulesV2 + responses: + '200': + content: + application/json: + examples: + default: + value: + data: + - attributes: + created_at: '2023-11-14T22:13:19Z' + created_by: user@example.com + is_default: false + name: Weekly Production Agent Updates + next_run: '2025-01-06T02:00:00Z' + query: env:prod AND service:web + rule: + days_of_week: + - Mon + - Wed + interval: 1 + maintenance_window_duration: 120 + start_maintenance_window: '0200' + timezone: America/New_York + status: active + updated_at: '2023-11-14T22:13:19Z' + updated_by: user@example.com + version_to_latest: 0 + id: abc-def-ghi-123 + type: schedule + meta: + page: + total_count: 1 + schema: + $ref: '#/components/schemas/FleetSchedulesV2Response' + description: OK + '400': + $ref: '#/components/responses/BadRequestResponse' + '401': + $ref: '#/components/responses/UnauthorizedResponse' + '403': + $ref: '#/components/responses/ForbiddenResponse' + '429': + $ref: '#/components/responses/TooManyRequestsResponse' + security: + - apiKeyAuth: [] + appKeyAuth: [] + summary: List all schedules + tags: + - Fleet Automation + x-permission: + operator: OR + permissions: + - hosts_read + /api/v2/fleet/schedules/{id}: + get: + description: Retrieve detailed information about a specific schedule by its unique identifier. + operationId: GetFleetScheduleV2 + parameters: + - description: The unique identifier of the schedule to retrieve. + example: abc-def-ghi-123 + in: path + name: id + required: true + schema: + type: string + responses: + '200': + content: + application/json: + examples: + default: + value: + data: + attributes: + created_at: '2023-11-14T22:13:19Z' + created_by: user@example.com + is_default: false + name: Weekly Production Agent Updates + next_run: '2025-01-06T02:00:00Z' + query: env:prod AND service:web + rule: + days_of_week: + - Mon + - Wed + interval: 1 + maintenance_window_duration: 120 + start_maintenance_window: '0200' + timezone: America/New_York + status: active + updated_at: '2023-11-14T22:13:19Z' + updated_by: user@example.com + version_to_latest: 0 + id: abc-def-ghi-123 + type: schedule + schema: + $ref: '#/components/schemas/FleetScheduleV2Response' + description: OK + '400': + $ref: '#/components/responses/BadRequestResponse' + '401': + $ref: '#/components/responses/UnauthorizedResponse' + '403': + $ref: '#/components/responses/ForbiddenResponse' + '404': + $ref: '#/components/responses/NotFoundResponse' + '429': + $ref: '#/components/responses/TooManyRequestsResponse' + security: + - apiKeyAuth: [] + appKeyAuth: [] + summary: Get a schedule by ID + tags: + - Fleet Automation + x-permission: + operator: OR + permissions: + - hosts_read +components: + schemas: + FleetTracersResponse: + description: Response containing a paginated list of fleet tracers. + properties: + data: + $ref: '#/components/schemas/FleetTracersResponseData' + meta: + $ref: '#/components/schemas/FleetTracersResponseMeta' + required: + - data + type: object + FleetScheduleCreateRequest: + description: Request payload for creating a new schedule. + properties: + data: + $ref: '#/components/schemas/FleetScheduleCreate' + required: + - data + type: object + FleetScheduleResponse: + description: Response containing a single schedule. + properties: + data: + $ref: '#/components/schemas/FleetSchedule' + type: object + FleetSchedulePatchRequest: + description: Request payload for partially updating a schedule. + properties: + data: + $ref: '#/components/schemas/FleetSchedulePatch' + required: + - data + type: object + FleetDeploymentResponse: + description: Response containing a single deployment. + properties: + data: + $ref: '#/components/schemas/FleetDeployment' + meta: + $ref: '#/components/schemas/FleetDeploymentResponseMeta' + type: object + FleetAgentVersionsV2Response: + description: Response containing a list of available Datadog Agent versions. + properties: + data: + description: Array of available agent versions. + items: + $ref: '#/components/schemas/FleetAgentVersionV2' + type: array + meta: + $ref: '#/components/schemas/FleetAgentVersionsV2ResponseMeta' + required: + - data + type: object + FleetAgentsV2Response: + description: Response containing a paginated list of Datadog Agents. + properties: + data: + description: Array of agents matching the query criteria. + items: + $ref: '#/components/schemas/FleetAgentV2' + type: array + meta: + $ref: '#/components/schemas/FleetAgentsV2ResponseMeta' + required: + - data + type: object + FleetAgentDetailV2Response: + description: Response containing detailed information about a specific Datadog Agent. + properties: + data: + $ref: '#/components/schemas/FleetAgentDetailV2' + required: + - data + type: object + FleetDeploymentsV2Response: + description: Response containing a paginated list of deployments. + properties: + data: + description: Array of deployments matching the query criteria. + items: + $ref: '#/components/schemas/FleetDeploymentV2' + type: array + meta: + $ref: '#/components/schemas/FleetDeploymentsV2ResponseMeta' + required: + - data + type: object + FleetDeploymentConfigureV2CreateRequest: + description: Request payload for creating a new v2 configuration deployment. + properties: + data: + $ref: '#/components/schemas/FleetDeploymentConfigureV2Create' + required: + - data + type: object + FleetDeploymentConfigureV2DryRunResponse: + description: Response containing the result of a configuration deployment dry run. + properties: + data: + $ref: '#/components/schemas/FleetDeploymentConfigureV2DryRun' + required: + - data + type: object + FleetDeploymentV2CreateResponse: + description: Response containing the newly created deployment. + properties: + data: + $ref: '#/components/schemas/FleetDeploymentV2' + required: + - data + type: object + FleetDeploymentPackageUpgradeV2CreateRequest: + description: Request payload for creating a new v2 package upgrade deployment. + properties: + data: + $ref: '#/components/schemas/FleetDeploymentPackageUpgradeV2Create' + required: + - data + type: object + FleetDeploymentV2DetailResponse: + description: Response containing detailed information about a single deployment. + properties: + data: + $ref: '#/components/schemas/FleetDeploymentV2Detail' + required: + - data + type: object + FleetDeploymentV2CancelResponse: + description: Response containing the result of a deployment cancellation request. + properties: + data: + $ref: '#/components/schemas/FleetDeploymentV2Cancel' + required: + - data + type: object + FleetSchedulesV2Response: + description: Response containing a list of fleet schedules. + properties: + data: + description: Array of schedules for the organization. + items: + $ref: '#/components/schemas/FleetScheduleV2' + type: array + meta: + $ref: '#/components/schemas/FleetSchedulesV2ResponseMeta' + required: + - data + type: object + FleetScheduleV2Response: + description: Response containing a single fleet schedule. + properties: + data: + $ref: '#/components/schemas/FleetScheduleV2' + required: + - data + type: object + FleetTracersResponseData: + description: The response data containing status and tracers array. + properties: + attributes: + $ref: '#/components/schemas/FleetTracersResponseDataAttributes' + id: + description: Status identifier. + example: done + type: string + type: + description: Resource type. + example: status + type: string + required: + - id + - type + - attributes + type: object + FleetTracersResponseMeta: + description: Metadata for the list of tracers response. + properties: + total_filtered_count: + description: Total number of tracers matching the filter criteria across all pages. + example: 42 + format: int64 + type: integer + type: object + APIErrorResponse: + description: API error response. + properties: + errors: + description: A list of errors. + example: + - Bad Request + items: + description: A list of items. + example: Bad Request + type: string + type: array + required: + - errors + type: object + FleetScheduleCreate: + description: Data for creating a new schedule. + properties: + attributes: + $ref: '#/components/schemas/FleetScheduleCreateAttributes' + type: + $ref: '#/components/schemas/FleetScheduleResourceType' + required: + - type + - attributes + type: object + FleetSchedule: + description: A schedule that automatically creates deployments based on a recurrence rule. + properties: + attributes: + $ref: '#/components/schemas/FleetScheduleAttributes' + id: + description: Unique identifier for the schedule. + example: abc-def-ghi-123 + type: string + type: + $ref: '#/components/schemas/FleetScheduleResourceType' + required: + - id + - type + - attributes + type: object + FleetSchedulePatch: + description: Data for partially updating a schedule. + properties: + attributes: + $ref: '#/components/schemas/FleetSchedulePatchAttributes' + type: + $ref: '#/components/schemas/FleetScheduleResourceType' + required: + - type + type: object + FleetDeployment: + description: A deployment that defines automated configuration changes for a fleet of hosts. + properties: + attributes: + $ref: '#/components/schemas/FleetDeploymentAttributes' + id: + description: Unique identifier for the deployment. + example: aeadc05e-98a8-11ec-ac2c-da7ad0900001 + type: string + type: + $ref: '#/components/schemas/FleetDeploymentResourceType' + required: + - id + - type + - attributes + type: object + FleetDeploymentResponseMeta: + description: Metadata for a single deployment response, including pagination information for hosts. + properties: + hosts: + $ref: '#/components/schemas/FleetDeploymentHostsPage' + type: object + FleetAgentVersionV2: + description: An available Datadog Agent version resource. + properties: + attributes: + $ref: '#/components/schemas/FleetAgentVersionV2Attributes' + id: + description: The agent version string used as the unique identifier. + example: 7.81.1 + type: string + type: + $ref: '#/components/schemas/FleetAgentVersionV2ResourceType' + required: + - id + - type + - attributes + type: object + FleetAgentVersionsV2ResponseMeta: + description: Metadata for the v2 list of agent versions. + properties: + page: + $ref: '#/components/schemas/FleetAgentVersionsV2Page' + type: object + FleetAgentV2: + description: A Datadog Agent resource in the v2 list response. + properties: + attributes: + $ref: '#/components/schemas/FleetAgentV2Attributes' + id: + description: The unique agent key identifier. + example: my-agent-hostname + type: string + type: + $ref: '#/components/schemas/FleetAgentV2ResourceType' + required: + - id + - type + - attributes + type: object + FleetAgentsV2ResponseMeta: + description: Metadata for the v2 list of agents, including pagination information. + properties: + page: + $ref: '#/components/schemas/FleetAgentsV2Page' + type: object + FleetAgentDetailV2: + description: Detailed information about a specific Datadog Agent. + properties: + attributes: + $ref: '#/components/schemas/FleetAgentDetailV2Attributes' + id: + description: The unique agent key identifier. + example: a1b2c3d4e5f67890a1b2c3d4e5f67890 + type: string + type: + $ref: '#/components/schemas/FleetAgentV2ResourceType' + required: + - id + - type + - attributes + type: object + FleetDeploymentV2: + description: A deployment in the v2 API response. + properties: + attributes: + $ref: '#/components/schemas/FleetDeploymentV2Attributes' + id: + description: Unique identifier for the deployment. + example: k7Q-3mX-p9Z + type: string + type: + $ref: '#/components/schemas/FleetDeploymentResourceType' + required: + - id + - type + - attributes + type: object + FleetDeploymentsV2ResponseMeta: + description: Metadata for the v2 list of deployments, including pagination information. + properties: + page: + $ref: '#/components/schemas/FleetDeploymentsV2Page' + type: object + FleetDeploymentConfigureV2Create: + description: Data for creating a new v2 configuration deployment. + properties: + attributes: + $ref: '#/components/schemas/FleetDeploymentConfigureV2Attributes' + type: + $ref: '#/components/schemas/FleetDeploymentResourceType' + required: + - type + - attributes + type: object + FleetDeploymentConfigureV2DryRun: + description: The result of a configuration deployment dry run. + properties: + attributes: + $ref: '#/components/schemas/FleetDeploymentConfigureV2DryRunAttributes' + id: + description: |- + Always `"dry-run"` for a dry-run response. Does not identify a real deployment + and cannot be used to fetch a deployment by ID. + example: dry-run + type: string + type: + $ref: '#/components/schemas/FleetDeploymentResourceType' + required: + - id + - type + - attributes + type: object + FleetDeploymentPackageUpgradeV2Create: + description: Data for creating a new v2 package upgrade deployment. + properties: + attributes: + $ref: '#/components/schemas/FleetDeploymentPackageUpgradeV2Attributes' + type: + $ref: '#/components/schemas/FleetDeploymentResourceType' + required: + - type + - attributes + type: object + FleetDeploymentV2Detail: + description: Detailed information about a deployment. + properties: + attributes: + $ref: '#/components/schemas/FleetDeploymentV2DetailAttributes' + id: + description: Unique identifier for the deployment. + example: k7Q-3mX-p9Z + type: string + type: + $ref: '#/components/schemas/FleetDeploymentResourceType' + required: + - id + - type + - attributes + type: object + FleetDeploymentV2Cancel: + description: A deployment cancellation response. + properties: + attributes: + $ref: '#/components/schemas/FleetDeploymentV2CancelAttributes' + id: + description: Unique identifier for the deployment. + example: k7Q-3mX-p9Z + type: string + type: + $ref: '#/components/schemas/FleetDeploymentResourceType' + required: + - id + - type + - attributes + type: object + FleetScheduleV2: + description: A fleet upgrade schedule resource in the v2 API response. + properties: + attributes: + $ref: '#/components/schemas/FleetScheduleV2Attributes' + id: + description: Unique identifier for the schedule. + example: abc-def-ghi-123 + type: string + type: + $ref: '#/components/schemas/FleetScheduleResourceType' + required: + - id + - type + - attributes + type: object + FleetSchedulesV2ResponseMeta: + description: Metadata for the v2 list of schedules response. + properties: + page: + $ref: '#/components/schemas/FleetSchedulesV2Page' + type: object + FleetTracersResponseDataAttributes: + description: Attributes of the fleet tracers response containing the list of tracers. + properties: + tracers: + description: Array of tracers matching the query criteria. + items: + $ref: '#/components/schemas/FleetTracerAttributes' + type: array + type: object + FleetScheduleCreateAttributes: + description: Attributes for creating a new schedule. + properties: + name: + description: Human-readable name for the schedule. + example: Weekly Production Agent Updates + type: string + query: + description: Query used to filter and select target hosts for scheduled deployments. Uses the Datadog query syntax. + example: env:prod AND service:web + type: string + rule: + $ref: '#/components/schemas/FleetScheduleRecurrenceRule' + status: + $ref: '#/components/schemas/FleetScheduleStatus' + version_to_latest: + description: |- + Number of major versions behind the latest to target for upgrades. + - 0: Always upgrade to the latest version (default) + - 1: Upgrade to latest minus 1 major version + - 2: Upgrade to latest minus 2 major versions + Maximum value is 2. + example: 0 + format: int64 + maximum: 2 + minimum: 0 + type: integer + required: + - name + - query + - rule + type: object + FleetScheduleResourceType: + default: schedule + description: The type of schedule resource. + enum: + - schedule + example: schedule + type: string + x-enum-varnames: + - SCHEDULE + FleetScheduleAttributes: + description: Attributes of a schedule in the response. + properties: + created_at_unix: + description: Unix timestamp (seconds since epoch) when the schedule was created. + example: 1699999999 + format: int64 + type: integer + created_by: + description: User handle of the person who created the schedule. + example: user@example.com + type: string + name: + description: Human-readable name for the schedule. + example: Weekly Production Agent Updates + type: string + query: + description: Query used to filter and select target hosts for scheduled deployments. Uses the Datadog query syntax. + example: env:prod AND service:web + type: string + rule: + $ref: '#/components/schemas/FleetScheduleRecurrenceRule' + status: + $ref: '#/components/schemas/FleetScheduleStatus' + updated_at_unix: + description: Unix timestamp (seconds since epoch) when the schedule was last updated. + example: 1699999999 + format: int64 + type: integer + updated_by: + description: User handle of the person who last updated the schedule. + example: user@example.com + type: string + version_to_latest: + description: |- + Number of major versions behind the latest to target for upgrades. + - 0: Always upgrade to the latest version + - 1: Upgrade to latest minus 1 major version + - 2: Upgrade to latest minus 2 major versions + Maximum value is 2. + example: 0 + format: int64 + maximum: 2 + minimum: 0 + type: integer + type: object + FleetSchedulePatchAttributes: + description: Attributes for partially updating a schedule. All fields are optional. + properties: + name: + description: Human-readable name for the schedule. + example: Weekly Production Agent Updates + type: string + query: + description: Query used to filter and select target hosts for scheduled deployments. Uses the Datadog query syntax. + example: env:prod AND service:web + type: string + rule: + $ref: '#/components/schemas/FleetScheduleRecurrenceRule' + status: + $ref: '#/components/schemas/FleetScheduleStatus' + version_to_latest: + description: |- + Number of major versions behind the latest to target for upgrades. + - 0: Always upgrade to the latest version + - 1: Upgrade to latest minus 1 major version + - 2: Upgrade to latest minus 2 major versions + Maximum value is 2. + example: 0 + format: int64 + maximum: 2 + minimum: 0 + type: integer + type: object + FleetDeploymentAttributes: + description: Attributes of a deployment in the response. + properties: + config_operations: + description: Ordered list of configuration file operations to perform on the target hosts. + items: + $ref: '#/components/schemas/FleetDeploymentOperation' + type: array + estimated_end_time_unix: + description: Estimated completion time of the deployment as a Unix timestamp (seconds since epoch). + example: 1699999999 + format: int64 + type: integer + filter_query: + description: Query used to filter and select target hosts for the deployment. Uses the Datadog query syntax. + example: env:prod AND service:web + type: string + high_level_status: + description: |- + Current high-level status of the deployment (for example, "pending", "running", + "completed", "failed"). + example: pending + type: string + hosts: + description: |- + Paginated list of hosts in this deployment with their individual statuses. Only included + when fetching a single deployment by ID. Use the `limit` and `page` query parameters to + navigate through pages. Pagination metadata is included in the response `meta.hosts` field. + items: + $ref: '#/components/schemas/FleetDeploymentHost' + type: array + packages: + description: List of packages to deploy to target hosts. Present only for package upgrade deployments. + items: + $ref: '#/components/schemas/FleetDeploymentPackage' + type: array + total_hosts: + description: Total number of hosts targeted by this deployment. + example: 42 + format: int64 + type: integer + type: object + FleetDeploymentResourceType: + default: deployment + description: The type of deployment resource. + enum: + - deployment + example: deployment + type: string + x-enum-varnames: + - DEPLOYMENT + FleetDeploymentHostsPage: + description: Pagination details for the list of hosts in a deployment. + properties: + current_page: + description: Current page index (zero-based). + example: 0 + format: int64 + type: integer + page_size: + description: Number of hosts returned per page. + example: 50 + format: int64 + type: integer + total_hosts: + description: Total number of hosts in this deployment. + example: 150 + format: int64 + type: integer + total_pages: + description: Total number of pages available. + example: 3 + format: int64 + type: integer + type: object + FleetAgentVersionV2Attributes: + description: Attributes of an available Datadog Agent version. + properties: + version: + description: The agent version string. + example: 7.81.1 + type: string + type: object + FleetAgentVersionV2ResourceType: + default: agent_version + description: The type of the agent version resource. + enum: + - agent_version + example: agent_version + type: string + x-enum-varnames: + - AGENT_VERSION + FleetAgentVersionsV2Page: + description: Pagination details for the v2 list of agent versions. + properties: + total_count: + description: Total number of available agent versions. + example: 10 + format: int64 + type: integer + type: object + FleetAgentV2Attributes: + description: Attributes of a Datadog Agent in the v2 list response. + properties: + agent_version: + description: The Datadog Agent version. + example: 7.50.0 + type: string + api_key_name: + description: The name of the API key used by the agent, if available and not redacted. + example: Production API Key + type: string + api_key_uuid: + description: The UUID of the API key used by the agent. + example: a1b2c3d4-e5f6-4321-a123-123456789abc + type: string + cloud_provider: + description: The cloud provider where the agent is running. + example: aws + type: string + cluster_name: + description: The Kubernetes cluster name, if the agent runs in a cluster. + example: production-us-east-1 + type: string + datadog_data_center: + description: The Datadog data center the agent reports to. + example: us1 + type: string + ecs_fargate_cluster_name: + description: The ECS Fargate cluster name, if the agent runs in an ECS Fargate environment. + example: my-ecs-cluster + type: string + ecs_fargate_task_arn: + description: The ECS Fargate task ARN, if the agent runs in an ECS Fargate environment. + example: arn:aws:ecs:us-east-1:123456789012:task/my-cluster/abc123 + type: string + enabled_products: + description: Datadog products enabled on the agent. + items: + description: A Datadog product enabled on the agent. + type: string + type: array + env: + description: Environments the agent is reporting from. + items: + description: An environment name the agent is reporting from. + type: string + type: array + first_seen_at: + description: Unix timestamp when the agent was first seen. + example: 1699900000 + format: int64 + type: integer + fleet_policies: + description: Identifiers of fleet policies applied to the agent. + items: + description: A fleet policy identifier applied to the agent. + type: string + type: array + hostname: + description: The hostname of the agent. + example: my-hostname + type: string + instrumentation_error_counts: + description: Number of instrumentation errors on the agent. Absent from the response when the count is zero. + example: 3 + format: int64 + type: integer + instrumentation_status: + $ref: '#/components/schemas/FleetAgentV2AttributesInstrumentationStatus' + integrations: + description: Names of integrations configured on the agent. + items: + description: An integration name configured on the agent. + type: string + type: array + ip_addresses: + description: IP addresses of the agent host. + items: + description: An IP address of the agent host. + type: string + type: array + is_single_step_instrumentation_enabled: + description: Whether single-step instrumentation is enabled on the agent. + example: true + type: boolean + last_restart_at: + description: Unix timestamp of the last agent restart. + example: 1699999999 + format: int64 + type: integer + os: + description: The operating system of the host. + example: linux + type: string + otel_collector_deployment_types: + description: OpenTelemetry collector deployment types associated with the agent. + items: + description: An OpenTelemetry collector deployment type. + type: string + type: array + otel_collector_distributions: + description: OpenTelemetry collector distributions associated with the agent. + items: + description: An OpenTelemetry collector distribution. + type: string + type: array + otel_collector_versions: + description: All OpenTelemetry collector versions associated with the agent. + items: + description: An OpenTelemetry collector version string. + type: string + type: array + otel_resource_attributes: + description: OpenTelemetry resource attributes reported by the agent. + items: + description: An OpenTelemetry resource attribute. + type: string + type: array + pod_name: + description: The Kubernetes pod name, if the agent runs as a pod. + example: datadog-agent-abc123 + type: string + remote_agent_management: + description: The remote agent management status. + example: enabled + type: string + remote_config_status: + description: The remote configuration connection status of the agent. + example: connected + type: string + services: + description: Services running on the agent. + items: + description: A service name running on the agent. + type: string + type: array + tags: + description: Tags associated with the agent. Returned as an empty array when the agent has no tags. + items: + $ref: '#/components/schemas/FleetAgentAttributesTagsItems' + type: array + team: + description: The team associated with the agent. + example: platform + type: string + type: object + FleetAgentV2ResourceType: + default: agent + description: The type of the agent resource. + enum: + - agent + example: agent + type: string + x-enum-varnames: + - AGENT + FleetAgentsV2Page: + description: Pagination details for the v2 list of agents. + properties: + total_count: + description: Total number of agents in the fleet, regardless of any filter. + example: 500 + format: int64 + type: integer + total_filtered_count: + description: Total number of agents matching the current filter criteria. + example: 42 + format: int64 + type: integer + type: object + FleetAgentDetailV2Attributes: + description: Attributes for the v2 agent detail response. + properties: + agent_infos: + $ref: '#/components/schemas/FleetAgentInfoDetailsV2' + configuration_files: + $ref: '#/components/schemas/FleetAgentConfigurationFilesV2' + description: Configuration file details, present only when `configuration_files` is included in the `include` query parameter. + integrations: + $ref: '#/components/schemas/FleetIntegrationsByStatusV2' + description: Integration details, present only when `integrations` is included in the `include` query parameter. + required: + - agent_infos + type: object + FleetDeploymentV2Attributes: + description: Attributes of a deployment in the v2 API response. + properties: + author: + description: Handle of the user who triggered the deployment. + example: alice@datadoghq.com + type: string + config_operations: + description: |- + Ordered list of configuration file operations applied by this deployment. + Absent for package deployments, which have no configuration file operations. + items: + $ref: '#/components/schemas/FleetDeploymentOperation' + type: array + duration_seconds: + description: |- + Duration of the deployment in seconds, computed as `finished_at - started_at`. + Zero if the deployment has not finished. + example: 1000 + format: int64 + type: integer + error_summary: + description: Top-level error message for the deployment. Populated only when the deployment has failed. + example: A host failed to update + type: string + estimated_finished_at: + description: Estimated completion time of the deployment as a Unix timestamp. Zero if not available. + example: 1699999999 + format: int64 + type: integer + finished_at: + description: Time the deployment finished as a Unix timestamp. Zero if not yet finished. + example: 0 + format: int64 + type: integer + is_scheduled: + description: Whether this deployment was triggered by a schedule (`schedule_id` is non-empty). + example: true + type: boolean + query: + description: Query used to filter and select target hosts for the deployment. + example: env:prod AND service:web + type: string + schedule_id: + description: Identifier of the schedule that triggered this deployment. Empty if triggered manually. + example: sched-123 + type: string + started_at: + description: Time the deployment started as a Unix timestamp. Zero if not yet started. + example: 1699990000 + format: int64 + type: integer + status: + description: |- + Current high-level status of the deployment (for example, "pending", "running", + "completed", "failed"). + example: pending + type: string + target_versions: + description: Package versions targeted by this deployment. + example: + - 7.52.0 + items: + type: string + type: array + total_hosts: + description: Total number of hosts targeted by this deployment. + example: 42 + format: int64 + type: integer + update_type: + description: |- + Type of update operation performed by this deployment + (for example, "update_config_operations", "update_package"). + example: update_config_operations + type: string + type: object + FleetDeploymentsV2Page: + description: Pagination details for the v2 list of deployments. + properties: + total_count: + description: Total number of deployments available across all pages. + example: 25 + format: int64 + type: integer + total_filtered_count: + description: Total number of deployments matching the current filter query. + example: 10 + format: int64 + type: integer + type: object + FleetDeploymentConfigureV2Attributes: + description: Attributes for creating a new v2 configuration deployment. + properties: + config_operations: + description: Ordered list of configuration file operations to perform on the target hosts. + items: + $ref: '#/components/schemas/FleetDeploymentOperation' + type: array + dry_run: + description: |- + Set to `true` to validate the configuration and resolve target hosts and packages + without deploying anything. Returns a 200 with the validation result instead of + creating and starting a real deployment. + example: false + type: boolean + filter_query: + description: Query used to filter and select target hosts for the deployment. Uses the Datadog query syntax. + example: env:prod AND service:web + type: string + target_packages: + description: |- + List of packages and their target versions to additionally deploy alongside + the configuration change. + items: + $ref: '#/components/schemas/FleetDeploymentConfigureV2Package' + type: array + required: + - filter_query + - config_operations + type: object + FleetDeploymentConfigureV2DryRunAttributes: + description: Attributes of a configuration deployment dry-run response. + properties: + dry_run: + $ref: '#/components/schemas/FleetDeploymentConfigureV2DryRunResult' + query: + description: Query used to filter and select target hosts for the deployment. + example: env:prod AND service:web + type: string + total_hosts: + description: Total number of hosts targeted by this deployment. + example: 42 + format: int64 + type: integer + type: object + FleetDeploymentPackageUpgradeV2Attributes: + description: Attributes for creating a new v2 package upgrade deployment. + properties: + filter_query: + description: Query used to filter and select target hosts for the deployment. Uses the Datadog query syntax. + example: env:prod AND service:web + type: string + target_packages: + description: List of packages and their target versions to deploy to the selected hosts. + items: + $ref: '#/components/schemas/FleetDeploymentPackage' + type: array + required: + - filter_query + - target_packages + type: object + FleetDeploymentV2DetailAttributes: + description: Attributes of a deployment detail response. + properties: + author: + description: Handle of the user who triggered the deployment. + example: carol@datadoghq.com + type: string + canceled_hosts: + description: Number of hosts on which the deployment was canceled. + example: 1 + format: int64 + minimum: 0 + type: integer + config_operations: + description: |- + Ordered list of configuration file operations applied by this deployment. + Absent for package deployments, which have no configuration file operations. + items: + $ref: '#/components/schemas/FleetDeploymentOperation' + type: array + duration_seconds: + description: |- + Duration of the deployment in seconds, computed as `finished_at - started_at`. + Zero if the deployment has not finished. + example: 3600 + format: int64 + type: integer + error_summary: + description: Top-level error message for the deployment. Populated only when the deployment has failed. + example: A host failed to update + type: string + estimated_finished_at: + description: Estimated completion time of the deployment as a Unix timestamp. Zero if not available. + example: 1699999999 + format: int64 + type: integer + failed_hosts: + description: Number of hosts on which the deployment failed. + example: 1 + format: int64 + minimum: 0 + type: integer + high_level_status: + description: |- + Current high-level status of the deployment (for example, "pending", "running", + "completed", "failed"). + example: running + type: string + hosts: + description: Per-host status list for this deployment. + items: + $ref: '#/components/schemas/FleetDeploymentV2DetailAgent' + type: array + is_scheduled: + description: Whether this deployment was triggered by a schedule (`schedule_id` is non-empty). + example: true + type: boolean + query: + description: Query used to filter and select target hosts for the deployment. + example: env:prod AND service:web + type: string + running_hosts: + description: Number of hosts on which the deployment is currently running. + example: 1 + format: int64 + minimum: 0 + type: integer + schedule_id: + description: Identifier of the schedule that triggered this deployment. Empty if triggered manually. + example: sched-789 + type: string + skipped_hosts: + description: Number of hosts that were skipped during the deployment. + example: 1 + format: int64 + minimum: 0 + type: integer + succeeded_hosts: + description: Number of hosts on which the deployment succeeded. + example: 1 + format: int64 + minimum: 0 + type: integer + target_versions: + description: Distinct package versions targeted by this deployment, in first-seen order. + example: + - 7.52.0 + items: + type: string + type: array + total_hosts: + description: Total number of hosts targeted by this deployment. + example: 42 + format: int64 + type: integer + update_type: + description: |- + Type of update operation performed by this deployment + (for example, "update_config_operations", "update_package"). + example: update_config_operations + type: string + type: object + FleetDeploymentV2CancelAttributes: + description: Attributes of a deployment cancellation response. + properties: + message: + description: Human-readable message describing the outcome of the cancellation request. + example: Cancellation has been requested; the deployment is stopping. + type: string + status: + description: Status of the deployment after the cancellation request. + example: stopping + type: string + type: object + FleetScheduleV2Attributes: + description: Attributes of a fleet schedule in the v2 API response. + properties: + created_at: + description: RFC3339 timestamp when the schedule was created. + example: '2023-11-14T22:13:19Z' + type: string + created_by: + description: User handle of the person who created the schedule. + example: user@example.com + type: string + is_default: + description: Whether this is the default schedule for the organization. + example: false + type: boolean + name: + description: Human-readable name for the schedule. + example: Weekly Production Agent Updates + type: string + next_run: + description: |- + RFC3339 timestamp of the next scheduled maintenance window start time. + Absent when the next run time cannot be computed. + example: '2025-01-06T02:00:00Z' + type: string + notification_rule: + $ref: '#/components/schemas/FleetScheduleV2NotificationRule' + query: + description: Query used to filter and select target hosts for scheduled deployments. + example: env:prod AND service:web + type: string + rule: + $ref: '#/components/schemas/FleetScheduleV2RecurrenceRule' + status: + $ref: '#/components/schemas/FleetScheduleStatus' + updated_at: + description: RFC3339 timestamp when the schedule was last updated. + example: '2023-11-14T22:13:19Z' + type: string + updated_by: + description: User handle of the person who last updated the schedule. + example: user@example.com + type: string + version_to_latest: + description: |- + Number of major versions behind the latest to target for upgrades. + - 0: Always upgrade to the latest version. + - 1: Upgrade to latest minus 1 major version. + - 2: Upgrade to latest minus 2 major versions. + example: 0 + format: int64 + maximum: 2 + minimum: 0 + type: integer + type: object + FleetSchedulesV2Page: + description: Pagination details for the v2 list of schedules. + properties: + total_count: + description: Total number of schedules returned. + example: 5 + format: int64 + type: integer + type: object + FleetTracerAttributes: + description: Attributes of a fleet tracer representing a service instance reporting telemetry. + properties: + env: + description: The environment the tracer is reporting from. + example: production + type: string + hostname: + description: The hostname where the tracer is running. + example: my-hostname + type: string + language: + description: The programming language of the traced application. + example: java + type: string + language_version: + description: The version of the programming language runtime. + example: 17.0.1 + type: string + remote_config_status: + description: The remote configuration status of the tracer. + example: connected + type: string + runtime_ids: + description: Runtime identifiers for the tracer instances. + items: + description: A runtime identifier for a tracer instance. + type: string + type: array + service: + description: The telemetry-derived service name reported by the tracer. + example: inventory-service + type: string + service_hostname: + description: The service hostname reported by the tracer. + example: my-service-host + type: string + service_version: + description: The version of the traced service. + example: 2.1.0 + type: string + tracer_version: + description: The version of the Datadog tracer library. + example: 1.32.0 + type: string + type: object + FleetScheduleRecurrenceRule: + description: |- + Defines the recurrence pattern for the schedule. Specifies when deployments should be + automatically triggered based on maintenance windows. + properties: + days_of_week: + description: |- + List of days of the week when the schedule should trigger. Valid values are: + "Mon", "Tue", "Wed", "Thu", "Fri", "Sat", "Sun". + example: + - Mon + - Wed + - Fri + items: + description: A day of the week (for example, "Mon", "Tue"). + type: string + type: array + maintenance_window_duration: + description: Duration of the maintenance window in minutes. + example: 1200 + format: int64 + type: integer + start_maintenance_window: + description: |- + Start time of the maintenance window in 24-hour clock format (HH:MM). + Deployments will be triggered at this time on the specified days. + example: '02:00' + type: string + timezone: + description: Timezone for the schedule in IANA Time Zone Database format (e.g., "America/New_York", "UTC"). + example: America/New_York + type: string + required: + - days_of_week + - start_maintenance_window + - maintenance_window_duration + - timezone + type: object + FleetScheduleStatus: + description: |- + The status of the schedule. + - `active`: The schedule is active and will create deployments according to its recurrence rule. + - `inactive`: The schedule is inactive and will not create any deployments. + enum: + - active + - inactive + example: active + type: string + x-enum-varnames: + - ACTIVE + - INACTIVE + FleetDeploymentOperation: + description: A single configuration file operation to perform on the target hosts. + properties: + file_op: + $ref: '#/components/schemas/FleetDeploymentFileOp' + file_path: + description: Absolute path to the target configuration file on the host. + example: /datadog.yaml + type: string + patch: + additionalProperties: {} + description: |- + Patch data in JSON format to apply to the configuration file. + When using `merge-patch`, this object is merged with the existing configuration, + allowing you to add, update, or override specific fields without replacing the entire file. + The structure must match the target configuration file format (for example, YAML structure + for Datadog Agent config). Not applicable when using the `delete` operation. + example: + apm_config: + enabled: true + log_level: debug + logs_enabled: true + type: object + required: + - file_op + - file_path + type: object + FleetDeploymentHost: + description: A host that is part of a deployment with its current status. + properties: + error: + description: Error message if the deployment failed on this host. + example: '' + type: string + hostname: + description: The hostname of the agent. + example: web-server-01.example.com + type: string + status: + description: Current deployment status for this specific host. + example: succeeded + type: string + versions: + description: List of packages and their versions currently installed on this host. + items: + $ref: '#/components/schemas/FleetDeploymentHostPackage' + type: array + type: object + FleetDeploymentPackage: + description: A package and its target version for deployment. + properties: + name: + description: The name of the package to deploy. + example: datadog-agent + type: string + version: + description: The target version of the package to deploy. + example: 7.52.0 + type: string + required: + - name + - version + type: object + FleetAgentV2AttributesInstrumentationStatus: + description: The single-step instrumentation status of the Agent. + enum: + - success + - failure + example: success + type: string + x-enum-varnames: + - SUCCESS + - FAILURE + FleetAgentAttributesTagsItems: + description: A key-value pair representing a tag associated with a Datadog Agent. + properties: + key: + description: The tag key. + type: string + value: + description: The tag value. + type: string + type: object + FleetAgentInfoDetailsV2: + description: Detailed information about a Datadog Agent. + properties: + active_ha_agent: + description: The currently active agent in the high-availability group. + type: string + agent_version: + description: The Datadog Agent version. + example: 7.50.0 + type: string + api_key_name: + description: The API key name (if available and not redacted). + example: Production API Key + type: string + api_key_uuid: + description: The API key UUID. + example: a1b2c3d4-e5f6-4321-a123-123456789abc + type: string + cloud_provider: + description: The cloud provider where the agent is running. + example: aws + type: string + cluster_name: + description: Kubernetes cluster name (if applicable). + type: string + config_id: + description: The configuration identifier applied to the agent. + type: string + datadog_agent_key: + description: The unique agent key identifier. + example: a1b2c3d4e5f67890a1b2c3d4e5f67890 + type: string + datadog_data_center: + description: The Datadog data center the agent reports to. + example: us1 + type: string + ecs_fargate_cluster_name: + description: The ECS Fargate cluster name, if the agent runs in an ECS Fargate environment. + example: my-ecs-cluster + type: string + ecs_fargate_task_arn: + description: The ECS Fargate task ARN, if the agent runs in an ECS Fargate environment. + example: arn:aws:ecs:us-east-1:123456789012:task/my-cluster/abc123 + type: string + enabled_products: + description: Datadog products enabled on the agent. + items: + description: A Datadog product enabled on the agent. + type: string + type: array + env: + description: Environments the agent is reporting from. + items: + description: An environment name the agent is reporting from. + type: string + type: array + first_seen_at: + description: Timestamp when the agent was first seen. + format: int64 + type: integer + ha_agent_hosts: + description: Hosts participating in the agent's high-availability group. + items: + description: A hostname participating in the high-availability group. + type: string + type: array + ha_agent_state: + description: The high-availability state of the agent. + type: string + hostname: + description: The hostname of the agent. + example: my-hostname + type: string + hostname_aliases: + description: Alternative hostname list for the agent. + items: + description: An alternative hostname alias for the agent. + type: string + type: array + install_method_installer_version: + description: The version of the installer used. + example: 1.2.3 + type: string + install_method_tool: + description: The tool used to install the agent. + example: chef + type: string + ip_addresses: + description: IP addresses of the agent. + items: + description: An IP address of the agent. + type: string + type: array + is_single_step_instrumentation_enabled: + description: Whether single-step instrumentation is enabled. + type: boolean + last_restart_at: + description: Timestamp of the last agent restart. + format: int64 + type: integer + os: + description: The operating system. + example: linux + type: string + os_version: + description: The operating system version. + example: Ubuntu 20.04 + type: string + otel_collectors: + description: OpenTelemetry collectors associated with the agent (if applicable). + items: + $ref: '#/components/schemas/FleetOtelCollector' + type: array + pod_name: + description: Kubernetes pod name (if applicable). + type: string + preferred_ha_active_agent: + description: The preferred active agent in the high-availability group. + type: string + python_version: + description: The Python version used by the agent. + example: 3.9.5 + type: string + region: + description: Regions where the agent is running. + items: + description: A region where the agent is running. + type: string + type: array + remote_agent_management: + description: Remote agent management status. + example: enabled + type: string + remote_config_status: + description: Remote configuration status. + example: connected + type: string + services: + description: Services running on the agent. + items: + description: A service name running on the agent. + type: string + type: array + support_agent_upgrade: + description: Whether the agent supports remote agent upgrade. + type: boolean + tags: + description: Tags associated with the agent. + items: + description: A tag string assigned to the agent. + type: string + type: array + team: + description: Team associated with the agent. + type: string + type: object + FleetAgentConfigurationFilesV2: + description: Configuration details for an agent, organized by configuration layer. + properties: + agent_configuration: + $ref: '#/components/schemas/FleetConfigurationLayer' + application_monitoring_configuration: + $ref: '#/components/schemas/FleetConfigurationLayer' + otel_collectors_configuration: + description: Configuration for OpenTelemetry collectors associated with the agent. Present only when the agent has associated OpenTelemetry collectors. + items: + $ref: '#/components/schemas/FleetOtelCollectorConfigurationV2' + type: array + security_agent_configuration: + $ref: '#/components/schemas/FleetConfigurationLayer' + system_probe_configuration: + $ref: '#/components/schemas/FleetConfigurationLayer' + type: object + FleetIntegrationsByStatusV2: + description: Integrations organized by their status. + properties: + configuration_files: + description: Configuration files for integrations. + items: + $ref: '#/components/schemas/FleetConfigurationFileV2' + type: array + error_integrations: + description: Integrations with errors. + items: + $ref: '#/components/schemas/FleetIntegrationDetailsV2' + type: array + missing_integrations: + description: Detected but not configured integrations. + items: + $ref: '#/components/schemas/FleetDetectedIntegration' + type: array + warning_integrations: + description: Integrations with warnings. + items: + $ref: '#/components/schemas/FleetIntegrationDetailsV2' + type: array + working_integrations: + description: Integrations that are working correctly. + items: + $ref: '#/components/schemas/FleetIntegrationDetailsV2' + type: array + type: object + FleetDeploymentConfigureV2Package: + description: A package and its target version to additionally deploy alongside a configuration change. + properties: + apm_instrumentation: + description: APM auto-instrumentation mode to enable for this package, if applicable. + example: host + type: string + name: + description: The name of the package to deploy. + example: datadog-agent + type: string + version: + description: The target version of the package to deploy. + example: 7.52.0 + type: string + required: + - name + - version + type: object + FleetDeploymentConfigureV2DryRunResult: + description: Validation result of a configuration deployment dry run. + properties: + config_validated: + description: Whether the configuration passed schema validation. + example: true + type: boolean + non_upgradable_by_reason: + additionalProperties: + format: int64 + type: integer + description: |- + Breakdown of ineligible host counts by reason. Only includes reasons with a + non-zero count. Absent from the response when no targeted host is ineligible. + example: {} + type: object + non_upgradable_hosts: + description: Number of targeted hosts that are not eligible to receive this configuration. + example: 0 + format: int64 + type: integer + type: object + FleetDeploymentV2DetailAgent: + description: Per-host status entry for a deployment. + properties: + error: + description: Error message if the deployment failed on this host. + example: '' + type: string + hostname: + description: Hostname of the agent. + example: web-01.example.com + type: string + running_step: + description: Name of the step currently executing on this host. + example: applying_config + type: string + status: + description: Deployment status for this host (for example, "pending", "running", "succeeded", "failed"). + example: running + type: string + status_details: + description: Additional details about the current deployment status on this host. + example: step 2/3 + type: string + versions: + description: Package version details for this host. + items: + $ref: '#/components/schemas/FleetDeploymentHostPackage' + type: array + type: object + FleetScheduleV2NotificationRule: + description: |- + Notification configuration attached to a schedule. + + Included when available. If the notification rule cannot be retrieved, this field is + omitted and the schedule is still returned. If the notification rule is retrieved but its + handles cannot be resolved, it is still included with an empty `handles` array. + properties: + handles: + description: Notification handles (for example, Slack channels or PagerDuty integrations). + items: + description: A notification handle. + type: string + type: array + tags: + description: Tags associated with the notification rule. + items: + description: A tag string. + type: string + type: array + type: object + FleetScheduleV2RecurrenceRule: + description: Defines the recurrence pattern for the schedule. + properties: + days_of_week: + description: |- + Days of the week when the schedule triggers. Valid values are + "Mon", "Tue", "Wed", "Thu", "Fri", "Sat", "Sun". + example: + - Mon + - Wed + - Fri + items: + description: A day of the week (for example, "Mon"). + type: string + type: array + interval: + description: |- + Interval between schedule runs in weeks. 1 means the schedule runs every week + on the specified days. Higher values repeat every N weeks. + example: 1 + format: int64 + type: integer + maintenance_window_duration: + description: Duration of the maintenance window in minutes. + example: 120 + format: int64 + type: integer + start_maintenance_window: + description: |- + Start time of the maintenance window in 24-hour clock format (HHMM). + Deployments are triggered at this time on the specified days. + example: '0200' + type: string + timezone: + description: Timezone in IANA Time Zone Database format. + example: America/New_York + type: string + type: object + FleetDeploymentFileOp: + description: |- + Type of file operation to perform on the target configuration file. + - `merge-patch`: Merges the provided patch data with the existing configuration file. + Creates the file if it doesn't exist. + - `delete`: Removes the specified configuration file from the target hosts. + enum: + - merge-patch + - delete + example: merge-patch + type: string + x-enum-varnames: + - MERGE_PATCH + - DELETE + FleetDeploymentHostPackage: + description: |- + Package version information for a host, showing the initial version before deployment, + the target version to deploy, and the current version on the host. + properties: + current_version: + description: The current version of the package on the host. + example: 7.51.0 + type: string + initial_version: + description: The initial version of the package on the host before the deployment started. + example: 7.51.0 + type: string + package_name: + description: The name of the package. + example: datadog-agent + type: string + target_version: + description: The target version that the deployment is attempting to install. + example: 7.52.0 + type: string + type: object + FleetOtelCollector: + additionalProperties: {} + description: OpenTelemetry collector information. + type: object + FleetConfigurationLayer: + description: Configuration information organized by layers. + properties: + compiled_configuration: + description: The final compiled configuration. + type: string + env_configuration: + description: Configuration from environment variables. + type: string + file_configuration: + description: Configuration from files. + type: string + remote_configuration: + description: Remote configuration settings. + type: string + runtime_configuration: + description: Runtime configuration. + type: string + type: object + FleetOtelCollectorConfigurationV2: + description: Configuration for a single OpenTelemetry collector associated with the agent. + properties: + collector_id: + description: The unique identifier of the OpenTelemetry collector. + type: string + compiled_configuration: + description: The final compiled configuration of the OpenTelemetry collector. + type: string + distribution: + description: The distribution of the OpenTelemetry collector. + type: string + type: object + FleetConfigurationFileV2: + description: A configuration file for an integration. + properties: + agent_hash: + description: Hash of the configuration file as seen by the agent. + type: string + file_content: + description: The raw content of the configuration file. + type: string + file_path: + description: Path to the configuration file. + example: /conf.d/postgres.d/postgres.yaml + type: string + filename: + description: Name of the configuration file. + example: postgres.yaml + type: string + type: object + FleetIntegrationDetailsV2: + description: Detailed information about a single integration. + properties: + data_type: + description: Type of data collected, such as metrics or logs. + example: metrics + type: string + error_messages: + description: Error messages if the integration has issues. + items: + description: An error message describing an issue with the integration. + type: string + type: array + init_config: + description: Initialization configuration (YAML format). + type: string + instance_config: + description: Instance-specific configuration (YAML format). + type: string + is_custom_check: + description: Whether this is a custom integration. + type: boolean + is_default: + description: Whether this is a default integration instance. + type: boolean + is_init: + description: Whether this integration configuration is an init config. + type: boolean + log_config: + description: Log collection configuration (YAML format). + type: string + name: + description: Name of the integration instance. + type: string + pod_count: + description: Number of pods running this integration. Absent from the response when the count is zero. + format: int64 + type: integer + source_index: + description: Index in the configuration file. + format: int64 + type: integer + source_path: + description: Path to the configuration file. + type: string + type: + description: Integration type. + example: postgres + type: string + type: object + FleetDetectedIntegration: + description: An integration detected on the agent but not necessarily configured. + properties: + escaped_name: + description: Escaped integration name. + example: postgresql + type: string + prefix: + description: Integration prefix identifier. + example: postgres + type: string + type: object + responses: + BadRequestResponse: + content: + application/json: + schema: + $ref: '#/components/schemas/APIErrorResponse' + description: Bad Request + UnauthorizedResponse: + content: + application/json: + schema: + $ref: '#/components/schemas/APIErrorResponse' + description: Unauthorized + ForbiddenResponse: + content: + application/json: + schema: + $ref: '#/components/schemas/APIErrorResponse' + description: Forbidden + NotFoundResponse: + content: + application/json: + schema: + $ref: '#/components/schemas/APIErrorResponse' + description: Not Found + TooManyRequestsResponse: + content: + application/json: + schema: + $ref: '#/components/schemas/APIErrorResponse' + description: Too many requests + ConflictResponse: + content: + application/json: + schema: + $ref: '#/components/schemas/APIErrorResponse' + description: Conflict + x-stackQL-resources: + agent_tracers: + id: datadog.fleet.agent_tracers + name: agent_tracers + title: Agent Tracers + methods: + list_fleet_agent_tracers: + operation: + $ref: '#/paths/~1api~1unstable~1fleet~1agents~1{agent_key}~1tracers/get' + response: + mediaType: application/json + openAPIDocKey: '200' + objectKey: $.data + request: + nativeCasing: camel + config: + queryParamPushdown: + top: + paramName: page_size + maxValue: 100 + sqlVerbs: + select: + - $ref: '#/components/x-stackQL-resources/agent_tracers/methods/list_fleet_agent_tracers' + insert: [] + update: [] + delete: [] + replace: [] + schedules: + id: datadog.fleet.schedules + name: schedules + title: Schedules + methods: + create_fleet_schedule: + config: + requestBodyTranslate: + algorithm: naive + operation: + $ref: '#/paths/~1api~1unstable~1fleet~1schedules/post' + response: + mediaType: application/json + openAPIDocKey: '201' + request: + nativeCasing: camel + delete_fleet_schedule: + operation: + $ref: '#/paths/~1api~1unstable~1fleet~1schedules~1{id}/delete' + response: + mediaType: application/json + openAPIDocKey: '204' + request: + nativeCasing: camel + update_fleet_schedule: + config: + requestBodyTranslate: + algorithm: naive + operation: + $ref: '#/paths/~1api~1unstable~1fleet~1schedules~1{id}/patch' + response: + mediaType: application/json + openAPIDocKey: '200' + request: + nativeCasing: camel + trigger_fleet_schedule: + operation: + $ref: '#/paths/~1api~1unstable~1fleet~1schedules~1{id}~1trigger/post' + response: + mediaType: application/json + openAPIDocKey: '201' + request: + nativeCasing: camel + list_fleet_schedules_v2: + operation: + $ref: '#/paths/~1api~1v2~1fleet~1schedules/get' + response: + mediaType: application/json + openAPIDocKey: '200' + objectKey: $.data + request: + nativeCasing: camel + get_fleet_schedule_v2: + operation: + $ref: '#/paths/~1api~1v2~1fleet~1schedules~1{id}/get' + response: + mediaType: application/json + openAPIDocKey: '200' + objectKey: $.data + request: + nativeCasing: camel + sqlVerbs: + select: + - $ref: '#/components/x-stackQL-resources/schedules/methods/get_fleet_schedule_v2' + - $ref: '#/components/x-stackQL-resources/schedules/methods/list_fleet_schedules_v2' + insert: + - $ref: '#/components/x-stackQL-resources/schedules/methods/create_fleet_schedule' + update: + - $ref: '#/components/x-stackQL-resources/schedules/methods/update_fleet_schedule' + delete: + - $ref: '#/components/x-stackQL-resources/schedules/methods/delete_fleet_schedule' + replace: [] + tracers: + id: datadog.fleet.tracers + name: tracers + title: Tracers + methods: + list_fleet_tracers: + operation: + $ref: '#/paths/~1api~1unstable~1fleet~1tracers/get' + response: + mediaType: application/json + openAPIDocKey: '200' + objectKey: $.data + request: + nativeCasing: camel + config: + queryParamPushdown: + top: + paramName: page_size + maxValue: 100 + sqlVerbs: + select: + - $ref: '#/components/x-stackQL-resources/tracers/methods/list_fleet_tracers' + insert: [] + update: [] + delete: [] + replace: [] + agent_versions: + id: datadog.fleet.agent_versions + name: agent_versions + title: Agent Versions + methods: + list_fleet_agent_versions_v2: + operation: + $ref: '#/paths/~1api~1v2~1fleet~1agent_versions/get' + response: + mediaType: application/json + openAPIDocKey: '200' + objectKey: $.data + request: + nativeCasing: camel + sqlVerbs: + select: + - $ref: '#/components/x-stackQL-resources/agent_versions/methods/list_fleet_agent_versions_v2' + insert: [] + update: [] + delete: [] + replace: [] + agents: + id: datadog.fleet.agents + name: agents + title: Agents + methods: + list_fleet_agents_v2: + operation: + $ref: '#/paths/~1api~1v2~1fleet~1agents/get' + response: + mediaType: application/json + openAPIDocKey: '200' + objectKey: $.data + request: + nativeCasing: camel + config: + queryParamPushdown: + top: + paramName: page_size + maxValue: 100 + get_fleet_agent_detail_v2: + operation: + $ref: '#/paths/~1api~1v2~1fleet~1agents~1{agent_key}/get' + response: + mediaType: application/json + openAPIDocKey: '200' + objectKey: $.data + request: + nativeCasing: camel + sqlVerbs: + select: + - $ref: '#/components/x-stackQL-resources/agents/methods/get_fleet_agent_detail_v2' + - $ref: '#/components/x-stackQL-resources/agents/methods/list_fleet_agents_v2' + insert: [] + update: [] + delete: [] + replace: [] + deployments: + id: datadog.fleet.deployments + name: deployments + title: Deployments + methods: + list_fleet_deployments_v2: + operation: + $ref: '#/paths/~1api~1v2~1fleet~1deployments/get' + response: + mediaType: application/json + openAPIDocKey: '200' + objectKey: $.data + request: + nativeCasing: camel + config: + queryParamPushdown: + top: + paramName: page_size + maxValue: 100 + create_fleet_deployment_configure_v2: + config: + requestBodyTranslate: + algorithm: naive + operation: + $ref: '#/paths/~1api~1v2~1fleet~1deployments~1configure/post' + response: + mediaType: application/json + openAPIDocKey: '200' + request: + nativeCasing: camel + create_fleet_deployment_upgrade_v2: + config: + requestBodyTranslate: + algorithm: naive + operation: + $ref: '#/paths/~1api~1v2~1fleet~1deployments~1upgrade/post' + response: + mediaType: application/json + openAPIDocKey: '201' + request: + nativeCasing: camel + get_fleet_deployment_v2: + operation: + $ref: '#/paths/~1api~1v2~1fleet~1deployments~1{deployment_id}/get' + response: + mediaType: application/json + openAPIDocKey: '200' + objectKey: $.data + request: + nativeCasing: camel + cancel_fleet_deployment_v2: + operation: + $ref: '#/paths/~1api~1v2~1fleet~1deployments~1{deployment_id}~1cancel/post' + response: + mediaType: application/json + openAPIDocKey: '200' + request: + nativeCasing: camel + sqlVerbs: + select: + - $ref: '#/components/x-stackQL-resources/deployments/methods/get_fleet_deployment_v2' + - $ref: '#/components/x-stackQL-resources/deployments/methods/list_fleet_deployments_v2' + insert: [] + update: [] + delete: [] + replace: [] +servers: + - url: https://api.{site:.+} + variables: + site: + default: datadoghq.com + description: The Datadog site (region) for your organization, for example datadoghq.com, us3.datadoghq.com, us5.datadoghq.com, ap1.datadoghq.com, ap2.datadoghq.com, datadoghq.eu, ddog-gov.com. Resolved from the DD_SITE environment variable when set. + x-stackQL-envVar: DD_SITE diff --git a/providers/src/datadog/v00.00.00000/services/infrastructure.yaml b/providers/src/datadog/v00.00.00000/services/infrastructure.yaml index 15cd6bd6..9a90bec6 100644 --- a/providers/src/datadog/v00.00.00000/services/infrastructure.yaml +++ b/providers/src/datadog/v00.00.00000/services/infrastructure.yaml @@ -6,16 +6,21 @@ info: paths: /api/v2/app-builder/apps: delete: - description: >- - Delete multiple apps in a single request from a list of app IDs. This - API requires a [registered application - key](https://docs.datadoghq.com/api/latest/action-connection/#register-a-new-app-key). - Alternatively, you can configure these permissions [in the - UI](https://docs.datadoghq.com/account_management/api-app-keys/#actions-api-access). + description: Delete multiple apps in a single request from a list of app IDs. This API requires a [registered application key](https://docs.datadoghq.com/api/latest/action-connection/#register-a-new-app-key). Alternatively, you can configure these permissions [in the UI](https://docs.datadoghq.com/account_management/api-app-keys/#actions-api-access). operationId: DeleteApps requestBody: content: application/json: + examples: + default: + value: + data: + - id: aea2ed17-b45f-40d0-ba59-c86b7972c901 + type: appDefinitions + - id: f69bb8be-6168-4fe7-a30d-370256b6504a + type: appDefinitions + - id: ab1ed73e-13ad-4426-b0df-a0ff8876a088 + type: appDefinitions schema: $ref: '#/components/schemas/DeleteAppsRequest' required: true @@ -23,6 +28,12 @@ paths: '200': content: application/json: + examples: + default: + value: + data: + - id: 00000000-0000-0000-0000-000000000001 + type: appDefinitions schema: $ref: '#/components/schemas/DeleteAppsResponse' description: OK @@ -54,14 +65,7 @@ paths: permissions: - apps_write get: - description: >- - List all apps, with optional filters and sorting. This endpoint is - paginated. Only basic app information such as the app ID, name, and - description is returned by this endpoint. This API requires a - [registered application - key](https://docs.datadoghq.com/api/latest/action-connection/#register-a-new-app-key). - Alternatively, you can configure these permissions [in the - UI](https://docs.datadoghq.com/account_management/api-app-keys/#actions-api-access). + description: List all apps, with optional filters and sorting. This endpoint is paginated. Only basic app information such as the app ID, name, and description is returned by this endpoint. This API requires a [registered application key](https://docs.datadoghq.com/api/latest/action-connection/#register-a-new-app-key). Alternatively, you can configure these permissions [in the UI](https://docs.datadoghq.com/account_management/api-app-keys/#actions-api-access). operationId: ListApps parameters: - description: The number of apps to return per page. @@ -142,6 +146,23 @@ paths: '200': content: application/json: + examples: + default: + value: + data: + - attributes: + description: A sample app + favorite: false + name: My App + selfService: false + tags: + - team:webshop + id: 00000000-0000-0000-0000-000000000001 + type: appDefinitions + meta: + page: + totalCount: 1 + totalFilteredCount: 1 schema: $ref: '#/components/schemas/ListAppsResponse' description: OK @@ -167,16 +188,22 @@ paths: permissions: - apps_run post: - description: >- - Create a new app, returning the app ID. This API requires a [registered - application - key](https://docs.datadoghq.com/api/latest/action-connection/#register-a-new-app-key). - Alternatively, you can configure these permissions [in the - UI](https://docs.datadoghq.com/account_management/api-app-keys/#actions-api-access). + description: Create a new app, returning the app ID. This API requires a [registered application key](https://docs.datadoghq.com/api/latest/action-connection/#register-a-new-app-key). Alternatively, you can configure these permissions [in the UI](https://docs.datadoghq.com/account_management/api-app-keys/#actions-api-access). operationId: CreateApp requestBody: content: application/json: + examples: + default: + value: + data: + attributes: + components: [] + description: This is a simple example app + name: Example App + queries: [] + rootInstanceName: grid0 + type: appDefinitions schema: $ref: '#/components/schemas/CreateAppRequest' required: true @@ -184,6 +211,12 @@ paths: '201': content: application/json: + examples: + default: + value: + data: + id: 00000000-0000-0000-0000-000000000001 + type: appDefinitions schema: $ref: '#/components/schemas/CreateAppResponse' description: Created @@ -212,11 +245,7 @@ paths: - workflows_run /api/v2/app-builder/apps/{app_id}: delete: - description: >- - Delete a single app. This API requires a [registered application - key](https://docs.datadoghq.com/api/latest/action-connection/#register-a-new-app-key). - Alternatively, you can configure these permissions [in the - UI](https://docs.datadoghq.com/account_management/api-app-keys/#actions-api-access). + description: Delete a single app. This API requires a [registered application key](https://docs.datadoghq.com/api/latest/action-connection/#register-a-new-app-key). Alternatively, you can configure these permissions [in the UI](https://docs.datadoghq.com/account_management/api-app-keys/#actions-api-access). operationId: DeleteApp parameters: - description: The ID of the app to delete. @@ -231,6 +260,12 @@ paths: '200': content: application/json: + examples: + default: + value: + data: + id: 00000000-0000-0000-0000-000000000002 + type: appDefinitions schema: $ref: '#/components/schemas/DeleteAppResponse' description: OK @@ -268,12 +303,7 @@ paths: permissions: - apps_write get: - description: >- - Get the full definition of an app. This API requires a [registered - application - key](https://docs.datadoghq.com/api/latest/action-connection/#register-a-new-app-key). - Alternatively, you can configure these permissions [in the - UI](https://docs.datadoghq.com/account_management/api-app-keys/#actions-api-access). + description: Get the full definition of an app. This API requires a [registered application key](https://docs.datadoghq.com/api/latest/action-connection/#register-a-new-app-key). Alternatively, you can configure these permissions [in the UI](https://docs.datadoghq.com/account_management/api-app-keys/#actions-api-access). operationId: GetApp parameters: - description: The ID of the app to retrieve. @@ -284,12 +314,7 @@ paths: schema: format: uuid type: string - - description: >- - The version number of the app to retrieve. If not specified, the - latest version is returned. Version numbers start at 1 and increment - with each update. The special values `latest` and `deployed` can be - used to retrieve the latest version or the published version, - respectively. + - description: The version number of the app to retrieve. If not specified, the latest version is returned. Version numbers start at 1 and increment with each update. The special values `latest` and `deployed` can be used to retrieve the latest version or the published version, respectively. in: query name: version required: false @@ -299,6 +324,18 @@ paths: '200': content: application/json: + examples: + default: + value: + data: + attributes: + components: [] + description: A sample app + name: Example App + queries: [] + rootInstanceName: grid0 + id: 00000000-0000-0000-0000-000000000001 + type: appDefinitions schema: $ref: '#/components/schemas/GetAppResponse' description: OK @@ -337,12 +374,7 @@ paths: - apps_run - connections_read patch: - description: >- - Update an existing app. This creates a new version of the app. This API - requires a [registered application - key](https://docs.datadoghq.com/api/latest/action-connection/#register-a-new-app-key). - Alternatively, you can configure these permissions [in the - UI](https://docs.datadoghq.com/account_management/api-app-keys/#actions-api-access). + description: Update an existing app. This creates a new version of the app. This API requires a [registered application key](https://docs.datadoghq.com/api/latest/action-connection/#register-a-new-app-key). Alternatively, you can configure these permissions [in the UI](https://docs.datadoghq.com/account_management/api-app-keys/#actions-api-access). operationId: UpdateApp parameters: - description: The ID of the app to update. @@ -356,6 +388,18 @@ paths: requestBody: content: application/json: + examples: + default: + value: + data: + attributes: + components: [] + description: This is a simple example app + name: Example App + queries: [] + rootInstanceName: grid0 + id: 9e20cbaf-68da-45a6-9ccf-54193ac29fa5 + type: appDefinitions schema: $ref: '#/components/schemas/UpdateAppRequest' required: true @@ -363,6 +407,18 @@ paths: '200': content: application/json: + examples: + default: + value: + data: + attributes: + components: [] + description: This is a simple example app + name: Example App + queries: [] + rootInstanceName: grid0 + id: 00000000-0000-0000-0000-000000000001 + type: appDefinitions schema: $ref: '#/components/schemas/UpdateAppResponse' description: OK @@ -391,15 +447,7 @@ paths: - workflows_run /api/v2/app-builder/apps/{app_id}/deployment: delete: - description: >- - Unpublish an app, removing the live version of the app. Unpublishing - creates a new instance of a `deployment` object on the app, with a nil - `app_version_id` (`00000000-0000-0000-0000-000000000000`). The app can - still be updated and published again in the future. This API requires a - [registered application - key](https://docs.datadoghq.com/api/latest/action-connection/#register-a-new-app-key). - Alternatively, you can configure these permissions [in the - UI](https://docs.datadoghq.com/account_management/api-app-keys/#actions-api-access). + description: Unpublish an app, removing the live version of the app. Unpublishing creates a new instance of a `deployment` object on the app, with a nil `app_version_id` (`00000000-0000-0000-0000-000000000000`). The app can still be updated and published again in the future. This API requires a [registered application key](https://docs.datadoghq.com/api/latest/action-connection/#register-a-new-app-key). Alternatively, you can configure these permissions [in the UI](https://docs.datadoghq.com/account_management/api-app-keys/#actions-api-access). operationId: UnpublishApp parameters: - description: The ID of the app to unpublish. @@ -414,6 +462,14 @@ paths: '200': content: application/json: + examples: + default: + value: + data: + attributes: + app_version_id: 00000000-0000-0000-0000-000000000000 + id: 00000000-0000-0000-0000-000000000001 + type: deployment schema: $ref: '#/components/schemas/UnpublishAppResponse' description: OK @@ -445,15 +501,7 @@ paths: permissions: - apps_write post: - description: >- - Publish an app for use by other users. To ensure the app is accessible - to the correct users, you also need to set a [Restriction - Policy](https://docs.datadoghq.com/api/latest/restriction-policies/) on - the app if a policy does not yet exist. This API requires a [registered - application - key](https://docs.datadoghq.com/api/latest/action-connection/#register-a-new-app-key). - Alternatively, you can configure these permissions [in the - UI](https://docs.datadoghq.com/account_management/api-app-keys/#actions-api-access). + description: Publish an app for use by other users. To ensure the app is accessible to the correct users, you also need to set a [Restriction Policy](https://docs.datadoghq.com/api/latest/restriction-policies/) on the app if a policy does not yet exist. This API requires a [registered application key](https://docs.datadoghq.com/api/latest/action-connection/#register-a-new-app-key). Alternatively, you can configure these permissions [in the UI](https://docs.datadoghq.com/account_management/api-app-keys/#actions-api-access). operationId: PublishApp parameters: - description: The ID of the app to publish. @@ -468,6 +516,14 @@ paths: '201': content: application/json: + examples: + default: + value: + data: + attributes: + app_version_id: 00000000-0000-0000-0000-000000000001 + id: 00000000-0000-0000-0000-000000000001 + type: deployment schema: $ref: '#/components/schemas/PublishAppResponse' description: Created @@ -498,117 +554,1701 @@ paths: operator: OR permissions: - apps_write + /api/v2/app-builder/apps/{app_id}/favorite: + patch: + description: Add or remove an app from the current user's favorites. Favorited apps can be filtered for using the `filter[favorite]` query parameter on the [List Apps](https://docs.datadoghq.com/api/latest/app-builder/#list-apps) endpoint. + operationId: UpdateAppFavorite + parameters: + - description: The ID of the app. + example: 65bb1f25-52e1-4510-9f8d-22d1516ed693 + in: path + name: app_id + required: true + schema: + format: uuid + type: string + requestBody: + content: + application/json: + examples: + default: + value: + data: + attributes: + favorite: true + type: favorites + schema: + $ref: '#/components/schemas/UpdateAppFavoriteRequest' + required: true + responses: + '204': + description: No Content + '400': + content: + application/json: + schema: + $ref: '#/components/schemas/JSONAPIErrorResponse' + description: Bad Request + '403': + content: + application/json: + schema: + $ref: '#/components/schemas/JSONAPIErrorResponse' + description: Forbidden + '404': + content: + application/json: + schema: + $ref: '#/components/schemas/JSONAPIErrorResponse' + description: Not Found + '429': + $ref: '#/components/responses/TooManyRequestsResponse' + summary: Update App Favorite Status + tags: + - App Builder + x-permission: + operator: OR + permissions: + - apps_run + /api/v2/app-builder/apps/{app_id}/protection-level: + patch: + description: Update the publication protection level of an app. When set to `approval_required`, future publishes must go through an approval workflow before going live. + operationId: UpdateProtectionLevel + parameters: + - description: The ID of the app. + example: 65bb1f25-52e1-4510-9f8d-22d1516ed693 + in: path + name: app_id + required: true + schema: + format: uuid + type: string + requestBody: + content: + application/json: + examples: + default: + value: + data: + attributes: + protectionLevel: approval_required + type: protectionLevel + schema: + $ref: '#/components/schemas/UpdateAppProtectionLevelRequest' + required: true + responses: + '200': + content: + application/json: + examples: + default: + value: + data: + attributes: + components: [] + description: This is a simple example app + favorite: false + name: Example App + queries: [] + rootInstanceName: grid0 + tags: [] + id: 65bb1f25-52e1-4510-9f8d-22d1516ed693 + type: appDefinitions + schema: + $ref: '#/components/schemas/UpdateAppResponse' + description: OK + '400': + content: + application/json: + schema: + $ref: '#/components/schemas/JSONAPIErrorResponse' + description: Bad Request + '403': + content: + application/json: + schema: + $ref: '#/components/schemas/JSONAPIErrorResponse' + description: Forbidden + '404': + content: + application/json: + schema: + $ref: '#/components/schemas/JSONAPIErrorResponse' + description: Not Found + '429': + $ref: '#/components/responses/TooManyRequestsResponse' + summary: Update App Protection Level + tags: + - App Builder + x-permission: + operator: OR + permissions: + - apps_write + /api/v2/app-builder/apps/{app_id}/publish-request: + post: + description: Create a publish request to ask for approval to publish an app whose protection level is `approval_required`. Publishing happens automatically once the request is approved by a user with the appropriate permissions. + operationId: CreatePublishRequest + parameters: + - description: The ID of the app. + example: 65bb1f25-52e1-4510-9f8d-22d1516ed693 + in: path + name: app_id + required: true + schema: + format: uuid + type: string + requestBody: + content: + application/json: + examples: + default: + value: + data: + attributes: + description: Adds new dashboard widgets and a few bug fixes. + title: Release v1.2 to production + type: publishRequest + schema: + $ref: '#/components/schemas/CreatePublishRequestRequest' + required: true + responses: + '201': + content: + application/json: + examples: + default: + value: + data: + attributes: + app_version_id: 9e20cbaf-68da-45a6-9ccf-54193ac29fa5 + id: 65bb1f25-52e1-4510-9f8d-22d1516ed693 + meta: + created_at: '2026-04-01T12:00:00Z' + user_name: jane.doe@example.com + user_uuid: 65bb1f25-52e1-4510-9f8d-22d1516ed693 + type: deployment + schema: + $ref: '#/components/schemas/PublishAppResponse' + description: Created + '400': + content: + application/json: + schema: + $ref: '#/components/schemas/JSONAPIErrorResponse' + description: Bad Request + '403': + content: + application/json: + schema: + $ref: '#/components/schemas/JSONAPIErrorResponse' + description: Forbidden + '404': + content: + application/json: + schema: + $ref: '#/components/schemas/JSONAPIErrorResponse' + description: Not Found + '429': + $ref: '#/components/responses/TooManyRequestsResponse' + summary: Create Publish Request + tags: + - App Builder + x-permission: + operator: OR + permissions: + - apps_write + /api/v2/app-builder/apps/{app_id}/revert: + post: + description: Revert an app to a previous version. The version to revert to is selected through the `version` query parameter. The reverted version becomes the new latest version of the app. + operationId: RevertApp + parameters: + - description: The ID of the app. + example: 65bb1f25-52e1-4510-9f8d-22d1516ed693 + in: path + name: app_id + required: true + schema: + format: uuid + type: string + - description: The version number of the app to revert to. Cannot be `latest`. The special value `deployed` can be used to revert to the currently published version. + example: '2' + in: query + name: version + required: true + schema: + type: string + responses: + '200': + content: + application/json: + examples: + default: + value: + data: + attributes: + components: [] + description: This is a simple example app + favorite: false + name: Example App + queries: [] + rootInstanceName: grid0 + tags: [] + id: 65bb1f25-52e1-4510-9f8d-22d1516ed693 + type: appDefinitions + schema: + $ref: '#/components/schemas/UpdateAppResponse' + description: OK + '400': + content: + application/json: + schema: + $ref: '#/components/schemas/JSONAPIErrorResponse' + description: Bad Request + '403': + content: + application/json: + schema: + $ref: '#/components/schemas/JSONAPIErrorResponse' + description: Forbidden + '404': + content: + application/json: + schema: + $ref: '#/components/schemas/JSONAPIErrorResponse' + description: Not Found + '429': + $ref: '#/components/responses/TooManyRequestsResponse' + summary: Revert App + tags: + - App Builder + x-permission: + operator: OR + permissions: + - apps_write + /api/v2/app-builder/apps/{app_id}/self-service: + patch: + description: Enable or disable self-service for an app. Self-service apps can be discovered and run by users in your organization without explicit access being granted. + operationId: UpdateAppSelfService + parameters: + - description: The ID of the app. + example: 65bb1f25-52e1-4510-9f8d-22d1516ed693 + in: path + name: app_id + required: true + schema: + format: uuid + type: string + requestBody: + content: + application/json: + examples: + default: + value: + data: + attributes: + selfService: true + type: selfService + schema: + $ref: '#/components/schemas/UpdateAppSelfServiceRequest' + required: true + responses: + '204': + description: No Content + '400': + content: + application/json: + schema: + $ref: '#/components/schemas/JSONAPIErrorResponse' + description: Bad Request + '403': + content: + application/json: + schema: + $ref: '#/components/schemas/JSONAPIErrorResponse' + description: Forbidden + '404': + content: + application/json: + schema: + $ref: '#/components/schemas/JSONAPIErrorResponse' + description: Not Found + '429': + $ref: '#/components/responses/TooManyRequestsResponse' + summary: Update App Self-Service Status + tags: + - App Builder + x-permission: + operator: OR + permissions: + - apps_write + /api/v2/app-builder/apps/{app_id}/tags: + patch: + description: Replace the tags on an app. The provided list overwrites the existing tags entirely; tags not present in the request body are removed. + operationId: UpdateAppTags + parameters: + - description: The ID of the app. + example: 65bb1f25-52e1-4510-9f8d-22d1516ed693 + in: path + name: app_id + required: true + schema: + format: uuid + type: string + requestBody: + content: + application/json: + examples: + default: + value: + data: + attributes: + tags: + - team:platform + - service:ops + type: tags + schema: + $ref: '#/components/schemas/UpdateAppTagsRequest' + required: true + responses: + '204': + description: No Content + '400': + content: + application/json: + schema: + $ref: '#/components/schemas/JSONAPIErrorResponse' + description: Bad Request + '403': + content: + application/json: + schema: + $ref: '#/components/schemas/JSONAPIErrorResponse' + description: Forbidden + '404': + content: + application/json: + schema: + $ref: '#/components/schemas/JSONAPIErrorResponse' + description: Not Found + '429': + $ref: '#/components/responses/TooManyRequestsResponse' + summary: Update App Tags + tags: + - App Builder + x-permission: + operator: OR + permissions: + - apps_write + /api/v2/app-builder/apps/{app_id}/version-name: + patch: + description: Assign a human-readable name to a specific version of an app. The version is selected through the `version` query parameter. + operationId: UpdateAppVersionName + parameters: + - description: The ID of the app. + example: 65bb1f25-52e1-4510-9f8d-22d1516ed693 + in: path + name: app_id + required: true + schema: + format: uuid + type: string + - description: The version number of the app to name. The special values `latest` and `deployed` can also be used to target the latest or currently published version. + example: '3' + in: query + name: version + required: true + schema: + type: string + requestBody: + content: + application/json: + examples: + default: + value: + data: + attributes: + name: v1.2.0 - bug fix release + type: versionNames + schema: + $ref: '#/components/schemas/UpdateAppVersionNameRequest' + required: true + responses: + '204': + description: No Content + '400': + content: + application/json: + schema: + $ref: '#/components/schemas/JSONAPIErrorResponse' + description: Bad Request + '403': + content: + application/json: + schema: + $ref: '#/components/schemas/JSONAPIErrorResponse' + description: Forbidden + '404': + content: + application/json: + schema: + $ref: '#/components/schemas/JSONAPIErrorResponse' + description: Not Found + '429': + $ref: '#/components/responses/TooManyRequestsResponse' + summary: Name App Version + tags: + - App Builder + x-permission: + operator: OR + permissions: + - apps_write + /api/v2/app-builder/apps/{app_id}/versions: + get: + description: List the versions of an app. This endpoint is paginated. + operationId: ListAppVersions + parameters: + - description: The ID of the app. + example: 65bb1f25-52e1-4510-9f8d-22d1516ed693 + in: path + name: app_id + required: true + schema: + format: uuid + type: string + - description: The number of versions to return per page. + in: query + name: limit + required: false + schema: + format: int64 + type: integer + - description: The page number to return. + in: query + name: page + required: false + schema: + format: int64 + type: integer + responses: + '200': + content: + application/json: + examples: + default: + value: + data: + - attributes: + app_id: 65bb1f25-52e1-4510-9f8d-22d1516ed693 + created_at: '2026-04-01T12:00:00Z' + has_ever_been_published: true + name: v1.2.0 - bug fix release + updated_at: '2026-04-01T12:00:00Z' + user_name: jane.doe@example.com + user_uuid: 65bb1f25-52e1-4510-9f8d-22d1516ed693 + version: 3 + id: 9e20cbaf-68da-45a6-9ccf-54193ac29fa5 + type: appVersions + meta: + page: + totalCount: 1 + schema: + $ref: '#/components/schemas/ListAppVersionsResponse' + description: OK + '400': + content: + application/json: + schema: + $ref: '#/components/schemas/JSONAPIErrorResponse' + description: Bad Request + '403': + content: + application/json: + schema: + $ref: '#/components/schemas/JSONAPIErrorResponse' + description: Forbidden + '404': + content: + application/json: + schema: + $ref: '#/components/schemas/JSONAPIErrorResponse' + description: Not Found + '429': + $ref: '#/components/responses/TooManyRequestsResponse' + summary: List App Versions + tags: + - App Builder + x-permission: + operator: AND + permissions: + - apps_run + - connections_read + /api/v2/app-builder/blueprint/{blueprint_id}: + get: + description: Retrieve an app blueprint by its ID. + operationId: GetBlueprint + parameters: + - description: The ID of the blueprint to retrieve. + example: 65bb1f25-52e1-4510-9f8d-22d1516ed693 + in: path + name: blueprint_id + required: true + schema: + format: uuid + type: string + responses: + '200': + content: + application/json: + examples: + default: + value: + data: + attributes: + created_at: '2024-01-01T00:00:00Z' + definition: {} + description: Manage your AWS services from Datadog. + name: AWS Service Manager + slug: aws-service-manager + updated_at: '2024-01-01T00:00:00Z' + id: 65bb1f25-52e1-4510-9f8d-22d1516ed693 + type: blueprint + schema: + $ref: '#/components/schemas/GetBlueprintResponse' + description: OK + '403': + content: + application/json: + schema: + $ref: '#/components/schemas/JSONAPIErrorResponse' + description: Forbidden + '404': + content: + application/json: + schema: + $ref: '#/components/schemas/JSONAPIErrorResponse' + description: Not Found + '429': + $ref: '#/components/responses/TooManyRequestsResponse' + summary: Get Blueprint + tags: + - App Builder + x-permission: + operator: OR + permissions: + - apps_run + - apps_write + - connections_read + - connections_write + /api/v2/app-builder/blueprints: + get: + description: List available app blueprints. + operationId: ListBlueprints + parameters: + - description: The number of blueprints to return per page. Defaults to 10. Maximum is 100. + in: query + name: limit + required: false + schema: + format: int64 + type: integer + - description: The page of results to return. Starts at 0. + in: query + name: page + required: false + schema: + format: int64 + type: integer + responses: + '200': + content: + application/json: + examples: + default: + value: + data: + - attributes: + created_at: '2024-01-01T00:00:00Z' + description: Manage your AWS services from Datadog. + name: AWS Service Manager + slug: aws-service-manager + updated_at: '2024-01-01T00:00:00Z' + id: 65bb1f25-52e1-4510-9f8d-22d1516ed693 + type: blueprint + schema: + $ref: '#/components/schemas/ListBlueprintsResponse' + description: OK + '403': + content: + application/json: + schema: + $ref: '#/components/schemas/JSONAPIErrorResponse' + description: Forbidden + '429': + $ref: '#/components/responses/TooManyRequestsResponse' + summary: List Blueprints + tags: + - App Builder + x-permission: + operator: OR + permissions: + - apps_run + - apps_write + - connections_read + - connections_write + /api/v2/app-builder/blueprints/integration-id/{integration_id}: + get: + description: List app blueprints associated with a specific integration ID. + operationId: GetBlueprintsByIntegrationId + parameters: + - description: The integration ID to filter blueprints by. + example: aws + in: path + name: integration_id + required: true + schema: + type: string + responses: + '200': + content: + application/json: + examples: + default: + value: + data: + - attributes: + created_at: '2024-01-01T00:00:00Z' + definition: {} + description: Manage your AWS services from Datadog. + integration_id: aws + name: AWS Service Manager + slug: aws-service-manager + updated_at: '2024-01-01T00:00:00Z' + id: 65bb1f25-52e1-4510-9f8d-22d1516ed693 + type: blueprint + schema: + $ref: '#/components/schemas/GetBlueprintsResponse' + description: OK + '403': + content: + application/json: + schema: + $ref: '#/components/schemas/JSONAPIErrorResponse' + description: Forbidden + '429': + $ref: '#/components/responses/TooManyRequestsResponse' + summary: Get Blueprints by Integration ID + tags: + - App Builder + x-permission: + operator: OR + permissions: + - apps_run + - apps_write + - connections_read + - connections_write + /api/v2/app-builder/blueprints/slugs/{slugs}: + get: + description: Retrieve app blueprints by their slugs. + operationId: GetBlueprintsBySlugs + parameters: + - description: A comma-separated list of blueprint slugs. + example: aws-service-manager + in: path + name: slugs + required: true + schema: + type: string + responses: + '200': + content: + application/json: + examples: + default: + value: + data: + - attributes: + created_at: '2024-01-01T00:00:00Z' + definition: {} + description: Manage your AWS services from Datadog. + name: AWS Service Manager + slug: aws-service-manager + updated_at: '2024-01-01T00:00:00Z' + id: 65bb1f25-52e1-4510-9f8d-22d1516ed693 + type: blueprint + schema: + $ref: '#/components/schemas/GetBlueprintsResponse' + description: OK + '403': + content: + application/json: + schema: + $ref: '#/components/schemas/JSONAPIErrorResponse' + description: Forbidden + '429': + $ref: '#/components/responses/TooManyRequestsResponse' + summary: Get Blueprints by Slugs + tags: + - App Builder + x-permission: + operator: OR + permissions: + - apps_run + - apps_write + - connections_read + - connections_write + /api/v2/app-builder/tags: + get: + description: List all tags associated with the authenticated user's apps. + operationId: ListTags + responses: + '200': + content: + application/json: + examples: + default: + value: + data: + - id: production + type: tag + schema: + $ref: '#/components/schemas/AppBuilderListTagsResponse' + description: OK + '403': + content: + application/json: + schema: + $ref: '#/components/schemas/JSONAPIErrorResponse' + description: Forbidden + '429': + $ref: '#/components/responses/TooManyRequestsResponse' + summary: List Tags + tags: + - App Builder + x-permission: + operator: OR + permissions: + - apps_run + /api/v2/cloudinventoryservice/syncconfigs: + put: + description: Enable Storage Management for an S3 bucket, GCS bucket, or Azure container by registering the destination that holds its inventory reports. Set `data.id` to the cloud provider (`aws`, `gcp`, or `azure`) and provide the matching settings under data.attributes. Calling this endpoint with the same provider replaces the existing configuration. + operationId: UpsertSyncConfig + requestBody: + content: + application/json: + examples: + default: + summary: AWS inventory bucket + value: + data: + attributes: + aws: + aws_account_id: '123456789012' + destination_bucket_name: my-inventory-bucket + destination_bucket_region: us-east-1 + destination_prefix: logs/ + id: aws + type: cloud_provider + schema: + $ref: '#/components/schemas/UpsertCloudInventorySyncConfigRequest' + required: true + responses: + '200': + content: + application/json: + examples: + default: + value: + data: + attributes: + aws_account_id: '123456789012' + aws_bucket_name: my-inventory-bucket + aws_region: us-east-1 + id: aws + type: sync_configs + schema: + $ref: '#/components/schemas/CloudInventorySyncConfigResponse' + description: OK + '400': + content: + application/json: + schema: + $ref: '#/components/schemas/JSONAPIErrorResponse' + description: Bad Request + '403': + $ref: '#/components/responses/ForbiddenResponse' + '429': + $ref: '#/components/responses/TooManyRequestsResponse' + summary: Enable Storage Management for a bucket + tags: + - Storage Management + x-codegen-request-body-name: body + x-permission: + operator: OR + permissions: + - aws_configurations_manage + /api/v2/cloudinventoryservice/syncconfigs/{id}: + delete: + description: Delete a Storage Management configuration by its unique identifier. Deleting a configuration stops inventory file synchronization for the associated cloud account. + operationId: DeleteSyncConfig + parameters: + - $ref: '#/components/parameters/CloudInventorySyncConfigID' + responses: + '204': + description: No Content + '403': + $ref: '#/components/responses/ForbiddenResponse' + '404': + content: + application/json: + schema: + $ref: '#/components/schemas/JSONAPIErrorResponse' + description: Not Found + '429': + $ref: '#/components/responses/TooManyRequestsResponse' + summary: Delete a Storage Management configuration + tags: + - Storage Management + x-permission: + operator: OR + permissions: + - aws_configurations_manage /api/v2/container_images: get: - description: Get all Container Images for your organization. - operationId: ListContainerImages + description: |- + Get all Container Images for your organization. + **Note**: To enrich the data returned by this endpoint with security scans, see the new [api/v2/security/scanned-assets-metadata](https://docs.datadoghq.com/api/latest/security-monitoring/#list-scanned-assets-metadata) endpoint. + operationId: ListContainerImages + parameters: + - description: Comma-separated list of tags to filter Container Images by. + example: short_image:redis,status:running + in: query + name: filter[tags] + required: false + schema: + type: string + - description: Comma-separated list of tags to group Container Images by. + example: registry,image_tags + in: query + name: group_by + required: false + schema: + type: string + - description: Attribute to sort Container Images by. + example: container_count + in: query + name: sort + required: false + schema: + type: string + - description: Maximum number of results returned. + in: query + name: page[size] + required: false + schema: + default: 1000 + format: int32 + maximum: 10000 + minimum: 1 + type: integer + - description: |- + String to query the next page of results. + This key is provided with each valid response from the API in `meta.pagination.next_cursor`. + in: query + name: page[cursor] + required: false + schema: + type: string + responses: + '200': + content: + application/json: + examples: + default: + value: + data: + - attributes: + container_count: 1 + image_tags: + - latest + name: nginx + registry: docker.io + repository: library/nginx + short_image: nginx + id: abc-123 + type: container_image + meta: + pagination: + limit: 1000 + total: 1 + type: cursor_limit + schema: + $ref: '#/components/schemas/ContainerImagesResponse' + description: OK + '400': + content: + application/json: + schema: + $ref: '#/components/schemas/APIErrorResponse' + description: Bad Request + '403': + content: + application/json: + schema: + $ref: '#/components/schemas/APIErrorResponse' + description: Authentication Error + '429': + $ref: '#/components/responses/TooManyRequestsResponse' + security: + - apiKeyAuth: [] + appKeyAuth: [] + - AuthZ: [] + summary: Get all Container Images + tags: + - Container Images + x-pagination: + cursorParam: page[cursor] + cursorPath: meta.pagination.next_cursor + limitParam: page[size] + resultsPath: data + x-permission: + operator: OPEN + permissions: [] + /api/v2/containers: + get: + description: Get all containers for your organization. + operationId: ListContainers + parameters: + - description: Comma-separated list of tags to filter containers by. + example: env:prod,short_image:cassandra + in: query + name: filter[tags] + required: false + schema: + type: string + - description: Comma-separated list of tags to group containers by. + example: datacenter,cluster + in: query + name: group_by + required: false + schema: + type: string + - description: Attribute to sort containers by. + example: started_at + in: query + name: sort + required: false + schema: + type: string + - description: Maximum number of results returned. + in: query + name: page[size] + required: false + schema: + default: 1000 + format: int32 + maximum: 10000 + minimum: 1 + type: integer + - description: |- + String to query the next page of results. + This key is provided with each valid response from the API in `meta.pagination.next_cursor`. + in: query + name: page[cursor] + required: false + schema: + type: string + responses: + '200': + content: + application/json: + examples: + default: + value: + data: + - attributes: + container_id: abc-123 + host: example-host + image_name: nginx + name: example-container + state: running + id: abc-123 + type: container + meta: + pagination: + limit: 1000 + total: 1 + type: cursor_limit + schema: + $ref: '#/components/schemas/ContainersResponse' + description: OK + '400': + content: + application/json: + schema: + $ref: '#/components/schemas/APIErrorResponse' + description: Bad Request + '403': + content: + application/json: + schema: + $ref: '#/components/schemas/APIErrorResponse' + description: Authentication Error + '429': + $ref: '#/components/responses/TooManyRequestsResponse' + security: + - apiKeyAuth: [] + appKeyAuth: [] + - AuthZ: [] + summary: Get All Containers + tags: + - Containers + x-pagination: + cursorParam: page[cursor] + cursorPath: meta.pagination.next_cursor + limitParam: page[size] + resultsPath: data + x-permission: + operator: OPEN + permissions: [] + /api/v2/ndm/devices: + get: + description: Get the list of devices. + operationId: ListDevices + parameters: + - $ref: '#/components/parameters/NDMPageSize' + - $ref: '#/components/parameters/NDMPageNumber' + - description: The field to sort the devices by. Defaults to `name`. + example: status + in: query + name: sort + required: false + schema: + default: name + type: string + - description: Filter devices by tag. + example: status:ok + in: query + name: filter[tag] + required: false + schema: + type: string + responses: + '200': + content: + application/json: + examples: + default: + value: + data: + - attributes: + device_type: other + integration: snmp + ip_address: 1.2.3.4 + name: example device + status: ok + id: foiwf7rgw38fh + type: device + meta: + page: + total_filtered_count: 1 + schema: + $ref: '#/components/schemas/ListDevicesResponse' + description: OK + '400': + $ref: '#/components/responses/BadRequestResponse' + '403': + $ref: '#/components/responses/ForbiddenResponse' + '429': + $ref: '#/components/responses/TooManyRequestsResponse' + summary: Get the list of devices + tags: + - Network Device Monitoring + x-pagination: + limitParam: page[size] + pageParam: page[number] + resultsPath: data + /api/v2/ndm/devices/{device_id}: + get: + description: Get the device details. + operationId: GetDevice + parameters: + - description: The id of the device to fetch. + example: example:1.2.3.4 + in: path + name: device_id + required: true + schema: + type: string + responses: + '200': + content: + application/json: + examples: + default: + value: + data: + attributes: + device_type: other + integration: snmp + ip_address: 1.2.3.4 + model: xx-123 + name: example device + status: ok + vendor: example vendor + id: foiwf7rgw38fh + type: device + schema: + $ref: '#/components/schemas/GetDeviceResponse' + description: OK + '403': + $ref: '#/components/responses/ForbiddenResponse' + '404': + $ref: '#/components/responses/NotFoundResponse' + '429': + $ref: '#/components/responses/TooManyRequestsResponse' + summary: Get the device details + tags: + - Network Device Monitoring + /api/v2/ndm/interfaces: + get: + description: Get the list of interfaces of the device. + operationId: GetInterfaces + parameters: + - description: The ID of the device to get interfaces from. + example: example:1.2.3.4 + in: query + name: device_id + required: true + schema: + type: string + - description: Whether to get the IP addresses of the interfaces. + example: true + in: query + name: get_ip_addresses + required: false + schema: + type: boolean + responses: + '200': + content: + application/json: + examples: + default: + value: + data: + - attributes: + description: a network interface + index: 99 + mac_address: '00:00:00:00:00:00' + name: if0 + status: up + id: foiwf7rgw38fh:99 + type: interface + schema: + $ref: '#/components/schemas/GetInterfacesResponse' + description: OK + '403': + $ref: '#/components/responses/ForbiddenResponse' + '429': + $ref: '#/components/responses/TooManyRequestsResponse' + summary: Get the list of interfaces of the device + tags: + - Network Device Monitoring + /api/v2/ndm/tags/devices/{device_id}: + get: + description: Get the list of tags for a device. + operationId: ListDeviceUserTags parameters: - - description: Comma-separated list of tags to filter Container Images by. - example: short_image:redis,status:running + - description: The id of the device to fetch tags for. + example: example:1.2.3.4 + in: path + name: device_id + required: true + schema: + type: string + responses: + '200': + content: + application/json: + examples: + default: + value: + data: + attributes: + tags: + - tag:test + - tag:testbis + id: foiwf7rgw38fh + type: tags + schema: + $ref: '#/components/schemas/ListTagsResponse' + description: OK + '403': + $ref: '#/components/responses/ForbiddenResponse' + '404': + $ref: '#/components/responses/NotFoundResponse' + '429': + $ref: '#/components/responses/TooManyRequestsResponse' + summary: Get the list of tags for a device + tags: + - Network Device Monitoring + patch: + description: Update the tags for a device. + operationId: UpdateDeviceUserTags + parameters: + - description: The id of the device to update tags for. + example: example:1.2.3.4 + in: path + name: device_id + required: true + schema: + type: string + requestBody: + content: + application/json: + examples: + default: + value: + data: + attributes: + tags: + - tag:test + - tag:testbis + id: example:1.2.3.4 + type: tags + schema: + $ref: '#/components/schemas/ListTagsResponse' + required: true + responses: + '200': + content: + application/json: + examples: + default: + value: + data: + attributes: + tags: + - tag:test + - tag:testbis + id: foiwf7rgw38fh + type: tags + schema: + $ref: '#/components/schemas/ListTagsResponse' + description: OK + '403': + $ref: '#/components/responses/ForbiddenResponse' + '404': + $ref: '#/components/responses/NotFoundResponse' + '429': + $ref: '#/components/responses/TooManyRequestsResponse' + summary: Update the tags for a device + tags: + - Network Device Monitoring + /api/v2/ndm/tags/interfaces/{interface_id}: + get: + description: Returns the tags associated with the specified interface. + operationId: ListInterfaceUserTags + parameters: + - description: The ID of the interface for which to retrieve tags. + example: example:1.2.3.4:1 + in: path + name: interface_id + required: true + schema: + type: string + responses: + '200': + content: + application/json: + examples: + default: + value: + data: + attributes: + tags: + - tag:test + - tag:testbis + id: foiwf7rgw38fh:1 + type: tags + schema: + $ref: '#/components/schemas/ListInterfaceTagsResponse' + description: OK + '403': + $ref: '#/components/responses/ForbiddenResponse' + '404': + $ref: '#/components/responses/NotFoundResponse' + '429': + $ref: '#/components/responses/TooManyRequestsResponse' + summary: List tags for an interface + tags: + - Network Device Monitoring + patch: + description: Updates the tags associated with the specified interface. + operationId: UpdateInterfaceUserTags + parameters: + - description: The ID of the interface for which to update tags. + example: example:1.2.3.4:1 + in: path + name: interface_id + required: true + schema: + type: string + requestBody: + content: + application/json: + examples: + default: + value: + data: + attributes: + tags: + - tag:test + - tag:testbis + id: example:1.2.3.4:1 + type: tags + schema: + $ref: '#/components/schemas/ListInterfaceTagsResponse' + required: true + responses: + '200': + content: + application/json: + examples: + default: + value: + data: + attributes: + tags: + - tag:test + - tag:testbis + id: foiwf7rgw38fh:1 + type: tags + schema: + $ref: '#/components/schemas/ListInterfaceTagsResponse' + description: OK + '403': + $ref: '#/components/responses/ForbiddenResponse' + '404': + $ref: '#/components/responses/NotFoundResponse' + '429': + $ref: '#/components/responses/TooManyRequestsResponse' + summary: Update the tags for an interface + tags: + - Network Device Monitoring + /api/v2/network-health-insights: + get: + description: |- + Return network health insights for the organization within the given time window. + Insights are produced by analyzing DNS failures pre-classified by `network-dns-logger`, + TLS certificate metrics, and denied security group connections. Each insight + identifies the client and server services involved, the type of issue, and the + magnitude of the failure observed during the query window. + operationId: ListNetworkHealthInsights + parameters: + - description: |- + Unix timestamp (number of seconds since epoch) of the start of the query window. + If not provided, the start of the query window will be 15 minutes before the `to` timestamp. + If neither `from` nor `to` are provided, the query window will be `[now - 15m, now]`. + example: '1716800000' in: query - name: filter[tags] + name: from required: false schema: type: string - - description: Comma-separated list of tags to group Container Images by. - example: registry,image_tags + - description: |- + Unix timestamp (number of seconds since epoch) of the end of the query window. + If not provided, the end of the query window will be the current time. + If neither `from` nor `to` are provided, the query window will be `[now - 15m, now]`. + example: '1716800900' in: query - name: group_by + name: to required: false schema: type: string - - description: Attribute to sort Container Images by. - example: container_count + responses: + '200': + content: + application/json: + examples: + default: + value: + data: + - attributes: + client_service: network-logger + dns_query: kafka-broker.internal.domain.com + dns_server: cluster-dns + failure_magnitude: 150 + failure_rate: 91 + failure_type: nxdomain + server_service: kafka + total_requests: 1200 + traffic_volume: + bytes_read: 1800000 + bytes_written: 2500000 + total_traffic: 4300000 + type: dns + id: example-insight-id + type: network-health-insights + - attributes: + account_id: '123456789012' + certificate_id: arn:aws:acm:us-east-1:123456789012:certificate/abcd1234-a123-456b-a123-12345678901f + certificate_lifetime_percent: 96.7 + client_region: us-west-2 + client_service: N/A + days_until_expiration: 3 + domain_name: api.example.com + failure_type: expiring_soon + loadbalancer_id: arn:aws:elasticloadbalancing:us-east-1:123456789012:loadbalancer/app/my-lb/50dc6c495c0c9188 + server_region: us-east-1 + server_service: web-frontend + type: tls-cert + id: example-cert-insight-id + type: network-health-insights + - attributes: + client_service: web-frontend + failure_magnitude: 85 + failure_rate: 68.5 + failure_type: denied + server_service: database + total_requests: 124 + type: security-group + id: example-security-group-insight-id + type: network-health-insights + schema: + $ref: '#/components/schemas/NetworkHealthInsightsResponse' + description: OK + '400': + content: + application/json: + schema: + $ref: '#/components/schemas/JSONAPIErrorResponse' + description: Bad Request + '403': + content: + application/json: + schema: + $ref: '#/components/schemas/JSONAPIErrorResponse' + description: Forbidden + '429': + $ref: '#/components/responses/TooManyRequestsResponse' + '500': + content: + application/json: + schema: + $ref: '#/components/schemas/JSONAPIErrorResponse' + description: Internal Server Error + summary: List network health insights + tags: + - Network Health Insights + x-permission: + operator: OR + permissions: + - network_health_insights_read + x-unstable: |- + **Note**: This endpoint is in preview and is subject to change. + If you have any feedback, contact [Datadog support](https://docs.datadoghq.com/help/). + /api/v2/network/connections/aggregate: + get: + description: Get all aggregated connections. + operationId: GetAggregatedConnections + parameters: + - description: Unix timestamp (number of seconds since epoch) of the start of the query window. If not provided, the start of the query window is 15 minutes before the `to` timestamp. If neither `from` nor `to` are provided, the query window is `[now - 15m, now]`. in: query - name: sort - required: false + name: from + schema: + format: int64 + type: integer + - description: Unix timestamp (number of seconds since epoch) of the end of the query window. If not provided, the end of the query window is the current time. If neither `from` nor `to` are provided, the query window is `[now - 15m, now]`. + in: query + name: to + schema: + format: int64 + type: integer + - description: Comma-separated list of fields to group connections by. The maximum number of group_by(s) is 10. + in: query + name: group_by schema: type: string - - description: Maximum number of results returned. + - description: Comma-separated list of tags to filter connections by. in: query - name: page[size] - required: false + name: tags schema: - default: 1000 + type: string + - description: Free-form search query using AND/OR/NOT operators, wildcards, and parentheses. When provided, takes precedence over the `tags` parameter. + example: (client_team:networks OR client_team:platform) AND server_service:hucklebuck + in: query + name: query + schema: + type: string + - description: The number of connections to be returned. The maximum value is 7500. The default is 100. + in: query + name: limit + schema: + default: 100 + format: int32 + maximum: 7500 + minimum: 1 + type: integer + responses: + '200': + content: + application/json: + examples: + default: + value: + data: + - attributes: + bytes_sent_by_client: 100 + bytes_sent_by_server: 200 + packets_sent_by_client: 10 + packets_sent_by_server: 20 + id: abc-123 + type: aggregated_connection + schema: + $ref: '#/components/schemas/SingleAggregatedConnectionResponseArray' + description: OK + '400': + $ref: '#/components/responses/BadRequestResponse' + '403': + $ref: '#/components/responses/ForbiddenResponse' + '429': + $ref: '#/components/responses/TooManyRequestsResponse' + security: + - apiKeyAuth: [] + appKeyAuth: [] + - AuthZ: + - network_connections_read + summary: Get all aggregated connections + tags: + - Cloud Network Monitoring + x-permission: + operator: OR + permissions: + - network_connections_read + /api/v2/network/dns/aggregate: + get: + description: Get all aggregated DNS traffic. + operationId: GetAggregatedDns + parameters: + - description: Unix timestamp (number of seconds since epoch) of the start of the query window. If not provided, the start of the query window is 15 minutes before the `to` timestamp. If neither `from` nor `to` are provided, the query window is `[now - 15m, now]`. + in: query + name: from + schema: + format: int64 + type: integer + - description: Unix timestamp (number of seconds since epoch) of the end of the query window. If not provided, the end of the query window is the current time. If neither `from` nor `to` are provided, the query window is `[now - 15m, now]`. + in: query + name: to + schema: + format: int64 + type: integer + - description: Comma-separated list of fields to group DNS traffic by. The server side defaults to `network.dns_query` if unspecified. `server_ungrouped` may be used if groups are not desired. The maximum number of group_by(s) is 10. + in: query + name: group_by + schema: + type: string + - description: Comma-separated list of tags to filter DNS traffic by. + in: query + name: tags + schema: + type: string + - description: Free-form search query using AND/OR/NOT operators, wildcards, and parentheses. When provided, takes precedence over the `tags` parameter. + example: (client_team:networks OR client_team:platform) AND server_service:hucklebuck + in: query + name: query + schema: + type: string + - description: The number of aggregated DNS entries to be returned. The maximum value is 7500. The default is 100. + in: query + name: limit + schema: + default: 100 format: int32 - maximum: 10000 + maximum: 7500 minimum: 1 type: integer - - description: >- - String to query the next page of results. - - This key is provided with each valid response from the API in - `meta.pagination.next_cursor`. - in: query - name: page[cursor] - required: false - schema: - type: string responses: '200': content: application/json: + examples: + default: + value: + data: + - attributes: + group_bys: + - key: client_service + value: test-service + - key: network.dns_query + value: example.com + metrics: + - key: dns_total_requests + value: 100 + id: abc-123 + type: aggregated_dns schema: - $ref: '#/components/schemas/ContainerImagesResponse' + $ref: '#/components/schemas/SingleAggregatedDnsResponseArray' description: OK '400': - content: - application/json: - schema: - $ref: '#/components/schemas/APIErrorResponse' - description: Bad Request + $ref: '#/components/responses/BadRequestResponse' '403': - content: - application/json: - schema: - $ref: '#/components/schemas/APIErrorResponse' - description: Authentication Error + $ref: '#/components/responses/ForbiddenResponse' '429': $ref: '#/components/responses/TooManyRequestsResponse' security: - apiKeyAuth: [] appKeyAuth: [] - - AuthZ: [] - summary: Get all Container Images + - AuthZ: + - network_connections_read + summary: Get all aggregated DNS traffic tags: - - Container Images - x-pagination: - cursorParam: page[cursor] - cursorPath: meta.pagination.next_cursor - limitParam: page[size] - resultsPath: data + - Cloud Network Monitoring x-permission: - operator: OPEN - permissions: [] - /api/v2/containers: + operator: OR + permissions: + - network_connections_read + /api/v2/processes: get: - description: Get all containers for your organization. - operationId: ListContainers + description: Get all processes for your organization. + operationId: ListProcesses parameters: - - description: Comma-separated list of tags to filter containers by. - example: env:prod,short_image:cassandra + - description: String to search processes by. in: query - name: filter[tags] + name: search required: false schema: type: string - - description: Comma-separated list of tags to group containers by. - example: datacenter,cluster + - description: Comma-separated list of tags to filter processes by. + example: account:prod,user:admin in: query - name: group_by + name: tags required: false schema: type: string - - description: Attribute to sort containers by. - example: started_at + - description: |- + Unix timestamp (number of seconds since epoch) of the start of the query window. + If not provided, the start of the query window will be 15 minutes before the `to` timestamp. If neither + `from` nor `to` are provided, the query window will be `[now - 15m, now]`. in: query - name: sort + name: from required: false schema: - type: string + format: int64 + type: integer + - description: |- + Unix timestamp (number of seconds since epoch) of the end of the query window. + If not provided, the end of the query window will be 15 minutes after the `from` timestamp. If neither + `from` nor `to` are provided, the query window will be `[now - 15m, now]`. + in: query + name: to + required: false + schema: + format: int64 + type: integer - description: Maximum number of results returned. in: query - name: page[size] + name: page[limit] required: false schema: default: 1000 @@ -616,11 +2256,9 @@ paths: maximum: 10000 minimum: 1 type: integer - - description: >- + - description: |- String to query the next page of results. - - This key is provided with each valid response from the API in - `meta.pagination.next_cursor`. + This key is provided with each valid response from the API in `meta.page.after`. in: query name: page[cursor] required: false @@ -630,8 +2268,18 @@ paths: '200': content: application/json: + examples: + default: + value: + data: + - attributes: + cmdline: /usr/bin/python3 + host: my-host + pid: 123 + id: abc-123 + type: process schema: - $ref: '#/components/schemas/ContainersResponse' + $ref: '#/components/schemas/ProcessSummariesResponse' description: OK '400': content: @@ -651,371 +2299,502 @@ paths: - apiKeyAuth: [] appKeyAuth: [] - AuthZ: [] - summary: Get All Containers + summary: Get all processes tags: - - Containers + - Processes x-pagination: cursorParam: page[cursor] - cursorPath: meta.pagination.next_cursor - limitParam: page[size] + cursorPath: meta.page.after + limitParam: page[limit] resultsPath: data x-permission: operator: OPEN permissions: [] - /api/v2/ndm/devices: + /api/v2/spa/recommendations/{service}: get: - description: Get the list of devices. - operationId: ListDevices + description: This endpoint is currently experimental and restricted to Datadog internal use only. Retrieve resource recommendations for a Spark job. The caller (Spark Gateway or DJM UI) provides a service name and SPA returns structured recommendations for driver and executor resources. The version with a shard should be preferred, where possible, as it gives more accurate results. + operationId: GetSPARecommendations parameters: - - $ref: '#/components/parameters/PageSize' - - $ref: '#/components/parameters/PageNumber' - - description: The field to sort the devices by. - example: status + - description: The recommendation service should not use its metrics cache. in: query - name: sort - required: false + name: bypass_cache schema: type: string - - description: Filter devices by tag. - example: status:ok - in: query - name: filter[tag] - required: false + - description: The service name for a spark job. + in: path + name: service + required: true schema: type: string responses: '200': content: application/json: + example: + data: + attributes: + driver: + estimation: + cpu: + max: 1500 + p75: 1000 + p95: 1200 + ephemeral_storage: 896 + heap: 6144 + memory: 7168 + overhead: 1024 + executor: + estimation: + cpu: + max: 2000 + p75: 1200 + p95: 1500 + ephemeral_storage: 512 + heap: 3072 + memory: 4096 + overhead: 1024 + id: dedupeactivecontexts:adp_dedupeactivecontexts_org2 + type: recommendation schema: - $ref: '#/components/schemas/ListDevicesResponse' + $ref: '#/components/schemas/RecommendationDocument' description: OK '400': $ref: '#/components/responses/BadRequestResponse' '403': - $ref: '#/components/responses/ForbiddenResponse' + $ref: '#/components/responses/NotAuthorizedResponse' '429': $ref: '#/components/responses/TooManyRequestsResponse' - summary: Get the list of devices + security: + - AuthZ: [] + summary: Get SPA Recommendations tags: - - Network Device Monitoring - x-pagination: - limitParam: page[size] - pageParam: page[number] - resultsPath: data - /api/v2/ndm/devices/{device_id}: + - Spa + x-unstable: '**Note**: This endpoint is in preview and may change in the future. It is not yet recommended for production use.' + /api/v2/spa/recommendations/{service}/{shard}: get: - description: Get the device details. - operationId: GetDevice + description: This endpoint is currently experimental and restricted to Datadog internal use only. Retrieve resource recommendations for a Spark job. The caller (Spark Gateway or DJM UI) provides a service name and shard identifier, and SPA returns structured recommendations for driver and executor resources. + operationId: GetSPARecommendationsWithShard parameters: - - description: The id of the device to fetch. - example: example:1.2.3.4 + - description: The shard tag for a spark job, which differentiates jobs within the same service that have different resource needs in: path - name: device_id + name: shard required: true schema: type: string - responses: - '200': - content: - application/json: - schema: - $ref: '#/components/schemas/GetDeviceResponse' - description: OK - '403': - $ref: '#/components/responses/ForbiddenResponse' - '404': - $ref: '#/components/responses/NotFoundResponse' - '429': - $ref: '#/components/responses/TooManyRequestsResponse' - summary: Get the device details - tags: - - Network Device Monitoring - /api/v2/ndm/interfaces: - get: - description: Get the list of interfaces of the device. - operationId: GetInterfaces - parameters: - - description: The ID of the device to get interfaces from. - example: example:1.2.3.4 - in: query - name: device_id + - description: The service name for a spark job + in: path + name: service required: true schema: type: string - - description: Whether to get the IP addresses of the interfaces. - example: true + - description: The recommendation service should not use its metrics cache. in: query - name: get_ip_addresses - required: false + name: bypass_cache schema: - type: boolean + type: string responses: '200': content: application/json: + example: + data: + attributes: + driver: + estimation: + cpu: + max: 1500 + p75: 1000 + p95: 1200 + ephemeral_storage: 896 + heap: 6144 + memory: 7168 + overhead: 1024 + executor: + estimation: + cpu: + max: 2000 + p75: 1200 + p95: 1500 + ephemeral_storage: 512 + heap: 3072 + memory: 4096 + overhead: 1024 + id: dedupeactivecontexts:adp_dedupeactivecontexts_org2 + type: recommendation schema: - $ref: '#/components/schemas/GetInterfacesResponse' + $ref: '#/components/schemas/RecommendationDocument' description: OK + '400': + $ref: '#/components/responses/BadRequestResponse' '403': - $ref: '#/components/responses/ForbiddenResponse' + $ref: '#/components/responses/NotAuthorizedResponse' '429': $ref: '#/components/responses/TooManyRequestsResponse' - summary: Get the list of interfaces of the device + security: + - AuthZ: [] + summary: Get SPA Recommendations with a shard parameter tags: - - Network Device Monitoring - /api/v2/ndm/tags/devices/{device_id}: - get: - description: Get the list of tags for a device. - operationId: ListDeviceUserTags + - Spa + x-unstable: '**Note**: This endpoint is in preview and may change in the future. It is not yet recommended for production use.' + /api/v1/host/{host_name}/mute: + post: + description: Mute a host. **Note:** This creates a [Downtime V2](https://docs.datadoghq.com/api/latest/downtimes/#schedule-a-downtime) for the host. + operationId: MuteHost parameters: - - description: The id of the device to fetch tags for. - example: example:1.2.3.4 + - description: Name of the host to mute. in: path - name: device_id + name: host_name required: true schema: type: string + requestBody: + content: + application/json: + examples: + default: + value: + end: 1579098130 + message: Muting this host for a test! + override: false + schema: + $ref: '#/components/schemas/HostMuteSettings' + description: Mute a host request body. + required: true responses: '200': content: application/json: + examples: + default: + value: + action: Muted + end: 1579098130 + hostname: test.host + message: Muting this host for a test! schema: - $ref: '#/components/schemas/ListTagsResponse' + $ref: '#/components/schemas/HostMuteResponse' description: OK + '400': + content: + application/json: + schema: + $ref: '#/components/schemas/APIErrorResponseV1' + description: Invalid Parameter Error '403': - $ref: '#/components/responses/ForbiddenResponse' - '404': - $ref: '#/components/responses/NotFoundResponse' + content: + application/json: + schema: + $ref: '#/components/schemas/APIErrorResponseV1' + description: Forbidden '429': $ref: '#/components/responses/TooManyRequestsResponse' - summary: Get the list of tags for a device + summary: Mute a host tags: - - Network Device Monitoring - patch: - description: Update the tags for a device. - operationId: UpdateDeviceUserTags + - Hosts + x-codegen-request-body-name: body + /api/v1/host/{host_name}/unmute: + post: + description: Unmutes a host. This endpoint takes no JSON arguments. + operationId: UnmuteHost parameters: - - description: The id of the device to update tags for. - example: example:1.2.3.4 + - description: Name of the host to unmute. in: path - name: device_id + name: host_name required: true schema: type: string - requestBody: - content: - application/json: - schema: - $ref: '#/components/schemas/ListTagsResponse' - required: true responses: '200': + content: + application/json: + examples: + default: + value: + action: Unmuted + hostname: test.host + schema: + $ref: '#/components/schemas/HostMuteResponse' + description: OK + '400': content: application/json: schema: - $ref: '#/components/schemas/ListTagsResponse' - description: OK + $ref: '#/components/schemas/APIErrorResponseV1' + description: Invalid Parameter Error '403': - $ref: '#/components/responses/ForbiddenResponse' - '404': - $ref: '#/components/responses/NotFoundResponse' + content: + application/json: + schema: + $ref: '#/components/schemas/APIErrorResponseV1' + description: Forbidden '429': $ref: '#/components/responses/TooManyRequestsResponse' - summary: Update the tags for a device + summary: Unmute a host tags: - - Network Device Monitoring - /api/v2/network/connections/aggregate: + - Hosts + x-codegen-request-body-name: body + /api/v1/hosts: get: - description: Get all aggregated connections. - operationId: GetAggregatedConnections + description: |- + This endpoint allows searching for hosts by name, alias, or tag. + Hosts live within the past 3 hours are included by default. + Retention is 7 days. + Results are paginated with a max of 1000 results at a time. + **Note:** If the host is an Amazon EC2 instance, `id` is replaced with `aws_id` in the response. + **Note**: To enrich the data returned by this endpoint with security scans, see the new [api/v2/security/scanned-assets-metadata](https://docs.datadoghq.com/api/latest/security-monitoring/#list-scanned-assets-metadata) endpoint. + operationId: ListHosts parameters: - - description: >- - Unix timestamp (number of seconds since epoch) of the start of the - query window. If not provided, the start of the query window is 15 - minutes before the `to` timestamp. If neither `from` nor `to` are - provided, the query window is `[now - 15m, now]`. + - description: String to filter search results. in: query - name: from + name: filter + required: false + schema: + type: string + - description: Sort hosts by this field. + in: query + name: sort_field + required: false + schema: + type: string + - description: Direction of sort. Options include `asc` and `desc`. + in: query + name: sort_dir + required: false + schema: + type: string + - description: Specify the starting point for the host search results. For example, if you set `count` to 100 and the first 100 results have already been returned, you can set `start` to `101` to get the next 100 results. + in: query + name: start + required: false schema: format: int64 type: integer - - description: >- - Unix timestamp (number of seconds since epoch) of the end of the - query window. If not provided, the end of the query window is the - current time. If neither `from` nor `to` are provided, the query - window is `[now - 15m, now]`. + - description: Number of hosts to return. Max 1000. in: query - name: to + name: count + required: false schema: format: int64 type: integer - - description: >- - Comma-separated list of fields to group connections by. The maximum - number of group_by(s) is 10. + - description: Number of seconds since UNIX epoch from which you want to search your hosts. in: query - name: group_by + name: from + required: false schema: - type: string - - description: Comma-separated list of tags to filter connections by. + format: int64 + type: integer + - description: Include information on the muted status of hosts and when the mute expires. in: query - name: tags + name: include_muted_hosts_data + required: false schema: - type: string - - description: >- - The number of connections to be returned. The maximum value is 7500. - The default is 100. + type: boolean + - description: Include additional metadata about the hosts (agent_version, machine, platform, processor, etc.). in: query - name: limit + name: include_hosts_metadata + required: false schema: - default: 100 - format: int32 - maximum: 7500 - minimum: 1 - type: integer + type: boolean responses: '200': content: application/json: + examples: + default: + value: + host_list: + - apps: + - agent + host_name: i-deadbeef + is_muted: false + last_reported_time: 1565000000 + name: i-hostname + sources: + - aws + up: true + total_matching: 1 + total_returned: 1 schema: - $ref: '#/components/schemas/SingleAggregatedConnectionResponseArray' + $ref: '#/components/schemas/HostListResponse' description: OK '400': - $ref: '#/components/responses/BadRequestResponse' + content: + application/json: + schema: + $ref: '#/components/schemas/APIErrorResponseV1' + description: Invalid Parameter Error + '403': + content: + application/json: + schema: + $ref: '#/components/schemas/APIErrorResponseV1' + description: Forbidden '429': $ref: '#/components/responses/TooManyRequestsResponse' - summary: Get all aggregated connections + security: + - apiKeyAuth: [] + appKeyAuth: [] + - AuthZ: + - hosts_read + summary: Get all hosts for your organization tags: - - Cloud Network Monitoring - /api/v2/network/dns/aggregate: + - Hosts + x-permission: + operator: OR + permissions: + - hosts_read + /api/v1/hosts/totals: get: - description: Get all aggregated DNS traffic. - operationId: GetAggregatedDns + description: |- + This endpoint returns the total number of active and up hosts in your Datadog account. + Active means the host has reported in the past hour, and up means it has reported in the past two hours. + operationId: GetHostTotals parameters: - - description: >- - Unix timestamp (number of seconds since epoch) of the start of the - query window. If not provided, the start of the query window is 15 - minutes before the `to` timestamp. If neither `from` nor `to` are - provided, the query window is `[now - 15m, now]`. + - description: Number of seconds from which you want to get total number of active hosts. in: query name: from + required: false schema: format: int64 type: integer - - description: >- - Unix timestamp (number of seconds since epoch) of the end of the - query window. If not provided, the end of the query window is the - current time. If neither `from` nor `to` are provided, the query - window is `[now - 15m, now]`. - in: query - name: to - schema: - format: int64 - type: integer - - description: >- - Comma-separated list of fields to group DNS traffic by. The server - side defaults to `network.dns_query` if unspecified. - `server_ungrouped` may be used if groups are not desired. The - maximum number of group_by(s) is 10. - in: query - name: group_by - schema: - type: string - - description: Comma-separated list of tags to filter DNS traffic by. - in: query - name: tags - schema: - type: string - - description: >- - The number of aggregated DNS entries to be returned. The maximum - value is 7500. The default is 100. - in: query - name: limit - schema: - default: 100 - format: int32 - maximum: 7500 - minimum: 1 - type: integer responses: '200': content: application/json: + examples: + default: + value: + total_active: 65 + total_up: 42 schema: - $ref: '#/components/schemas/SingleAggregatedDnsResponseArray' + $ref: '#/components/schemas/HostTotals' description: OK '400': - $ref: '#/components/responses/BadRequestResponse' + content: + application/json: + schema: + $ref: '#/components/schemas/APIErrorResponseV1' + description: Invalid Parameter Error + '403': + content: + application/json: + schema: + $ref: '#/components/schemas/APIErrorResponseV1' + description: Forbidden '429': $ref: '#/components/responses/TooManyRequestsResponse' - summary: Get all aggregated DNS traffic + security: + - apiKeyAuth: [] + appKeyAuth: [] + - AuthZ: + - hosts_read + summary: Get the total number of active hosts tags: - - Cloud Network Monitoring - /api/v2/processes: + - Hosts + x-permission: + operator: OR + permissions: + - hosts_read + /api/v1/tags/hosts: get: - description: Get all processes for your organization. - operationId: ListProcesses + description: Returns a mapping of tags to hosts. For each tag, the response returns a list of host names that contain this tag. There is a restriction of 10k total host names from the org that can be attached to tags and returned. + operationId: ListHostTags parameters: - - description: String to search processes by. + - description: Source to filter. [Complete list of source attribute values](https://docs.datadoghq.com/integrations/faq/list-of-api-source-attribute-value). Use "user" source for custom-defined tags. in: query - name: search + name: source required: false schema: type: string - - description: Comma-separated list of tags to filter processes by. - example: account:prod,user:admin - in: query - name: tags - required: false + responses: + '200': + content: + application/json: + examples: + default: + value: + tags: + environment:production: + - test.metric.host + schema: + $ref: '#/components/schemas/TagToHosts' + description: OK + '403': + content: + application/json: + schema: + $ref: '#/components/schemas/APIErrorResponseV1' + description: Forbidden + '404': + content: + application/json: + schema: + $ref: '#/components/schemas/APIErrorResponseV1' + description: Not Found + '429': + $ref: '#/components/responses/TooManyRequestsResponse' + security: + - apiKeyAuth: [] + appKeyAuth: [] + - AuthZ: [] + summary: Get All Host Tags + tags: + - Tags + x-permission: + operator: OPEN + permissions: [] + /api/v1/tags/hosts/{host_name}: + delete: + description: |- + This endpoint allows you to remove all tags + for a single host. If no source is specified, only deletes from the source "User". + operationId: DeleteHostTags + parameters: + - description: Specified host name to delete tags + in: path + name: host_name + required: true schema: type: string - - description: >- - Unix timestamp (number of seconds since epoch) of the start of the - query window. - - If not provided, the start of the query window will be 15 minutes - before the `to` timestamp. If neither - - `from` nor `to` are provided, the query window will be `[now - 15m, - now]`. - in: query - name: from - required: false - schema: - format: int64 - type: integer - - description: >- - Unix timestamp (number of seconds since epoch) of the end of the - query window. - - If not provided, the end of the query window will be 15 minutes - after the `from` timestamp. If neither - - `from` nor `to` are provided, the query window will be `[now - 15m, - now]`. + - description: Source of the tags to be deleted. [Complete list of source attribute values](https://docs.datadoghq.com/integrations/faq/list-of-api-source-attribute-value). Use "user" source for custom-defined tags. in: query - name: to + name: source required: false schema: - format: int64 - type: integer - - description: Maximum number of results returned. - in: query - name: page[limit] - required: false + type: string + responses: + '204': + description: OK + '403': + content: + application/json: + schema: + $ref: '#/components/schemas/APIErrorResponseV1' + description: Forbidden + '404': + content: + application/json: + schema: + $ref: '#/components/schemas/APIErrorResponseV1' + description: Not Found + '429': + $ref: '#/components/responses/TooManyRequestsResponse' + summary: Remove host tags + tags: + - Tags + get: + description: Return the list of tags that apply to a given host. + operationId: GetHostTags + parameters: + - description: Name of the host to retrieve tags for + in: path + name: host_name + required: true schema: - default: 1000 - format: int32 - maximum: 10000 - minimum: 1 - type: integer - - description: >- - String to query the next page of results. - - This key is provided with each valid response from the API in - `meta.page.after`. + type: string + - description: Source to filter. [Complete list of source attribute values](https://docs.datadoghq.com/integrations/faq/list-of-api-source-attribute-value). Use "user" source for custom-defined tags. in: query - name: page[cursor] + name: source required: false schema: type: string @@ -1023,104 +2802,157 @@ paths: '200': content: application/json: + examples: + default: + value: + host: test.host + tags: + - environment:production schema: - $ref: '#/components/schemas/ProcessSummariesResponse' + $ref: '#/components/schemas/HostTags' description: OK - '400': + '403': content: application/json: schema: - $ref: '#/components/schemas/APIErrorResponse' - description: Bad Request - '403': + $ref: '#/components/schemas/APIErrorResponseV1' + description: Forbidden + '404': content: application/json: schema: - $ref: '#/components/schemas/APIErrorResponse' - description: Authentication Error + $ref: '#/components/schemas/APIErrorResponseV1' + description: Not Found '429': $ref: '#/components/responses/TooManyRequestsResponse' - security: - - apiKeyAuth: [] - appKeyAuth: [] - - AuthZ: [] - summary: Get all processes + summary: Get Host Tags tags: - - Processes - x-pagination: - cursorParam: page[cursor] - cursorPath: meta.page.after - limitParam: page[limit] - resultsPath: data - x-permission: - operator: OPEN - permissions: [] - /api/v2/spa/recommendations/{service}/{shard}: - get: - description: >- - Retrieve resource recommendations for a Spark job. The caller (Spark - Gateway or DJM UI) provides a service name and shard identifier, and SPA - returns structured recommendations for driver and executor resources. - operationId: GetSPARecommendations + - Tags + post: + description: |- + This endpoint allows you to add new tags to a host, + optionally specifying what source these tags come from. If tags already exist, appends new tags to the tag list. If no source is specified, defaults to "user". + operationId: CreateHostTags parameters: - - description: >- - The shard tag for a spark job, which differentiates jobs within the - same service that have different resource needs + - description: Specified host name to add new tags in: path - name: shard + name: host_name required: true schema: type: string - - description: The service name for a spark job + - description: Source to add tags. [Complete list of source attribute values](https://docs.datadoghq.com/integrations/faq/list-of-api-source-attribute-value). Use "user" source for custom-defined tags. If no source is specified, defaults to "user". + example: chef + in: query + name: source + required: false + schema: + type: string + requestBody: + content: + application/json: + examples: + default: + value: + host: test.host + tags: + - environment:production + schema: + $ref: '#/components/schemas/HostTags' + description: Update host tags request body. + required: true + responses: + '201': + content: + application/json: + examples: + default: + value: + host: test.host + tags: + - environment:production + schema: + $ref: '#/components/schemas/HostTags' + description: Created + '403': + content: + application/json: + schema: + $ref: '#/components/schemas/APIErrorResponseV1' + description: Forbidden + '404': + content: + application/json: + schema: + $ref: '#/components/schemas/APIErrorResponseV1' + description: Not Found + '429': + $ref: '#/components/responses/TooManyRequestsResponse' + summary: Add tags to a host + tags: + - Tags + x-codegen-request-body-name: body + put: + description: |- + This endpoint allows you to update/replace all tags in + an integration source with those supplied in the request. + operationId: UpdateHostTags + parameters: + - description: Specified host name to change tags in: path - name: service + name: host_name required: true schema: type: string + - description: Source to update tags. [Complete list of source attribute values](https://docs.datadoghq.com/integrations/faq/list-of-api-source-attribute-value). Use "user" source for custom-defined tags. If no source specified, defaults to "user". + in: query + name: source + required: false + schema: + type: string + requestBody: + content: + application/json: + examples: + default: + value: + host: test.host + tags: + - environment:production + schema: + $ref: '#/components/schemas/HostTags' + description: Add tags to host + required: true responses: - '200': + '201': content: application/json: - example: - data: - attributes: - driver: - estimation: - cpu: - max: 1500 - p75: 1000 - p95: 1200 - ephemeral_storage: 896 - heap: 6144 - memory: 7168 - overhead: 1024 - executor: - estimation: - cpu: - max: 2000 - p75: 1200 - p95: 1500 - ephemeral_storage: 512 - heap: 3072 - memory: 4096 - overhead: 1024 - id: dedupeactivecontexts:adp_dedupeactivecontexts_org2 - type: recommendation + examples: + default: + value: + host: test.host + tags: + - environment:production schema: - $ref: '#/components/schemas/RecommendationDocument' + $ref: '#/components/schemas/HostTags' description: OK - '400': - $ref: '#/components/responses/BadRequestResponse' '403': - $ref: '#/components/responses/NotAuthorizedResponse' + content: + application/json: + schema: + $ref: '#/components/schemas/APIErrorResponseV1' + description: Forbidden + '404': + content: + application/json: + schema: + $ref: '#/components/schemas/APIErrorResponseV1' + description: Not Found '429': $ref: '#/components/responses/TooManyRequestsResponse' - summary: Get SPA Recommendations + summary: Update host tags tags: - - Spa - x-unstable: >- - **Note**: This endpoint is in public beta and may change in the future. - It is not yet recommended for production use. + - Tags + x-codegen-request-body-name: body components: schemas: DeleteAppsRequest: @@ -1243,9 +3075,7 @@ components: $ref: '#/components/schemas/CreateAppRequestData' type: object CreateAppResponse: - description: >- - The response object after a new app is successfully created, with the - app ID. + description: The response object after a new app is successfully created, with the app ID. properties: data: $ref: '#/components/schemas/CreateAppResponseData' @@ -1343,6 +3173,135 @@ components: data: $ref: '#/components/schemas/Deployment' type: object + UpdateAppFavoriteRequest: + description: A request to add or remove an app from the current user's favorites. + example: + data: + attributes: + favorite: true + type: favorites + properties: + data: + $ref: '#/components/schemas/UpdateAppFavoriteRequestData' + type: object + UpdateAppProtectionLevelRequest: + description: A request to update an app's publication protection level. + example: + data: + attributes: + protectionLevel: approval_required + type: protectionLevel + properties: + data: + $ref: '#/components/schemas/UpdateAppProtectionLevelRequestData' + type: object + CreatePublishRequestRequest: + description: A request to ask for approval to publish an app whose protection level is `approval_required`. + example: + data: + attributes: + description: Adds new dashboard widgets and a few bug fixes. + title: Release v1.2 to production + type: publishRequest + properties: + data: + $ref: '#/components/schemas/CreatePublishRequestRequestData' + type: object + UpdateAppSelfServiceRequest: + description: A request to enable or disable self-service for an app. + example: + data: + attributes: + selfService: true + type: selfService + properties: + data: + $ref: '#/components/schemas/UpdateAppSelfServiceRequestData' + type: object + UpdateAppTagsRequest: + description: A request to replace the tags on an app. + example: + data: + attributes: + tags: + - team:platform + - service:ops + type: tags + properties: + data: + $ref: '#/components/schemas/UpdateAppTagsRequestData' + type: object + UpdateAppVersionNameRequest: + description: A request to assign a human-readable name to a specific app version. + example: + data: + attributes: + name: v1.2.0 - bug fix release + type: versionNames + properties: + data: + $ref: '#/components/schemas/UpdateAppVersionNameRequestData' + type: object + ListAppVersionsResponse: + description: A paginated list of versions for an app. + properties: + data: + description: The list of app versions. + items: + $ref: '#/components/schemas/AppVersion' + type: array + meta: + $ref: '#/components/schemas/ListAppsResponseMeta' + type: object + GetBlueprintResponse: + description: The response for retrieving a single blueprint. + properties: + data: + $ref: '#/components/schemas/BlueprintData' + type: object + ListBlueprintsResponse: + description: The response for listing available blueprints. + properties: + data: + description: An array of blueprint metadata. + items: + $ref: '#/components/schemas/BlueprintMetadataData' + type: array + type: object + GetBlueprintsResponse: + description: The response for retrieving multiple blueprints. + properties: + data: + description: An array of blueprints. + items: + $ref: '#/components/schemas/BlueprintData' + type: array + type: object + AppBuilderListTagsResponse: + description: The response for listing tags associated with apps. + properties: + data: + description: An array of tags. + items: + $ref: '#/components/schemas/TagData' + type: array + type: object + UpsertCloudInventorySyncConfigRequest: + description: Request body for creating or updating a cloud inventory sync configuration. + properties: + data: + $ref: '#/components/schemas/UpsertCloudInventorySyncConfigRequestData' + required: + - data + type: object + CloudInventorySyncConfigResponse: + description: Storage Management configuration returned after a create or update. Additional read-only fields appear on list and get responses. + properties: + data: + $ref: '#/components/schemas/CloudInventorySyncConfigResponseData' + required: + - data + type: object ContainerImagesResponse: description: List of Container Images. properties: @@ -1416,6 +3375,23 @@ components: data: $ref: '#/components/schemas/ListTagsResponseData' type: object + ListInterfaceTagsResponse: + description: Response for listing interface tags. + properties: + data: + $ref: '#/components/schemas/ListInterfaceTagsResponseData' + type: object + NetworkHealthInsightsResponse: + description: Response containing a list of network health insights for the organization. + properties: + data: + description: Array of network health insights returned for the query window. + items: + $ref: '#/components/schemas/NetworkHealthInsight' + type: array + required: + - data + type: object SingleAggregatedConnectionResponseArray: description: List of aggregated connections. example: @@ -1432,10 +3408,16 @@ components: packets_sent_by_server: 20 rtt_micro_seconds: 800 tcp_closed_connections: 30 + tcp_delivered_ce: 12 tcp_established_connections: 40 + tcp_probe0_count: 2 + tcp_rcv_ooo_pack: 15 + tcp_recovery_count: 8 tcp_refusals: 7 + tcp_reord_seen: 4 tcp_resets: 5 tcp_retransmits: 30 + tcp_rto_count: 3 tcp_timeouts: 6 id: client_team:networks, server_service:hucklebuck type: aggregated_connection @@ -1498,15 +3480,126 @@ components: $ref: '#/components/schemas/ProcessSummariesMeta' type: object RecommendationDocument: - description: >- - JSON:API document containing a single Recommendation resource. Returned - by SPA when the Spark Gateway requests recommendations. + description: JSON:API document containing a single Recommendation resource. Returned by SPA when the Spark Gateway requests recommendations. properties: data: $ref: '#/components/schemas/RecommendationData' required: - data type: object + HostMuteSettings: + description: Combination of settings to mute a host. + properties: + end: + description: POSIX timestamp in seconds when the host is unmuted. If omitted, the host remains muted until explicitly unmuted. + example: 1579098130 + format: int64 + type: integer + message: + description: Message to associate with the muting of this host. + example: Muting this host for a test! + type: string + override: + description: If true and the host is already muted, replaces existing host mute settings. + example: false + type: boolean + type: object + HostMuteResponse: + description: Response with the list of muted host for your organization. + properties: + action: + description: Action applied to the hosts. + example: Muted + type: string + end: + description: POSIX timestamp in seconds when the host is unmuted. + example: 1579098130 + format: int64 + type: integer + hostname: + description: The host name. + example: test.host + type: string + message: + description: Message associated with the mute. + example: Muting this host for a test! + type: string + type: object + APIErrorResponseV1: + description: Error response object. + properties: + errors: + description: Array of errors returned by the API. + example: + - Bad Request + items: + description: Error description. + example: Bad Request + type: string + type: array + required: + - errors + type: object + HostListResponse: + description: Response with Host information from Datadog. + properties: + host_list: + description: Array of hosts. + items: + $ref: '#/components/schemas/Host' + type: array + total_matching: + description: Number of host matching the query. + example: 1 + format: int64 + type: integer + total_returned: + description: Number of host returned. + example: 1 + format: int64 + type: integer + type: object + HostTotals: + description: Total number of host currently monitored by Datadog. + properties: + total_active: + description: Total number of active host (UP and ???) reporting to Datadog. + format: int64 + type: integer + total_up: + description: Number of host that are UP and reporting to Datadog. + format: int64 + type: integer + type: object + TagToHosts: + description: In this object, the key is the tag, and the value is a list of host names that are reporting that tag. + properties: + tags: + additionalProperties: + description: A list of host names which contain this tag + items: + description: A given tag in a list. + example: test.metric.host + type: string + type: array + description: A mapping of tags to host names + type: object + type: object + HostTags: + description: Host name and an array of its tags + properties: + host: + description: Your host name. + example: test.host + type: string + tags: + description: A list of tags associated with a host. + items: + description: A given tag in a list. + example: environment:production + type: string + type: array + type: object DeleteAppsRequestDataItems: description: An object containing the ID of an app to delete. properties: @@ -1539,9 +3632,7 @@ components: description: API error response body properties: detail: - description: >- - A human-readable explanation specific to this occurrence of the - error. + description: A human-readable explanation specific to this occurrence of the error. example: Missing required attribute in body type: string meta: @@ -1560,9 +3651,7 @@ components: type: string type: object ListAppsResponseDataItems: - description: >- - An app definition object. This contains only basic information about the - app such as ID, name, and tags. + description: An app definition object. This contains only basic information about the app such as ID, name, and tags. properties: attributes: $ref: '#/components/schemas/ListAppsResponseDataItemsAttributes' @@ -1678,10 +3767,7 @@ components: format: date-time type: string updated_since_deployment: - description: >- - Whether the app was updated since it was last published. Published - apps are pinned to a specific version and do not automatically - update when the app is updated. + description: Whether the app was updated since it was last published. Published apps are pinned to a specific version and do not automatically update when the app is updated. type: boolean user_id: description: The ID of the user who created the app. @@ -1696,9 +3782,7 @@ components: format: uuid type: string version: - description: >- - The version number of the app. This starts at 1 and increments with - each update. + description: The version number of the app. This starts at 1 and increments with each update. format: int64 type: integer type: object @@ -1714,36 +3798,170 @@ components: $ref: '#/components/schemas/DeploymentRelationship' type: object UpdateAppRequestData: - description: >- - The data object containing the new app definition. Any fields not - included in the request remain unchanged. + description: The data object containing the new app definition. Any fields not included in the request remain unchanged. properties: attributes: $ref: '#/components/schemas/UpdateAppRequestDataAttributes' id: - description: >- - The ID of the app to update. The app ID must match the ID in the URL - path. + description: The ID of the app to update. The app ID must match the ID in the URL path. + example: 65bb1f25-52e1-4510-9f8d-22d1516ed693 + format: uuid + type: string + type: + $ref: '#/components/schemas/AppDefinitionType' + required: + - type + type: object + UpdateAppResponseData: + description: The data object containing the updated app definition. + properties: + attributes: + $ref: '#/components/schemas/UpdateAppResponseDataAttributes' + id: + description: The ID of the updated app. + example: 65bb1f25-52e1-4510-9f8d-22d1516ed693 + format: uuid + type: string + type: + $ref: '#/components/schemas/AppDefinitionType' + required: + - id + - type + - attributes + type: object + UpdateAppFavoriteRequestData: + description: Data for updating an app's favorite status. + properties: + attributes: + $ref: '#/components/schemas/UpdateAppFavoriteRequestDataAttributes' + type: + $ref: '#/components/schemas/AppFavoriteType' + type: object + UpdateAppProtectionLevelRequestData: + description: Data for updating an app's publication protection level. + properties: + attributes: + $ref: '#/components/schemas/UpdateAppProtectionLevelRequestDataAttributes' + type: + $ref: '#/components/schemas/AppProtectionLevelType' + type: object + CreatePublishRequestRequestData: + description: Data for creating a publish request. + properties: + attributes: + $ref: '#/components/schemas/CreatePublishRequestRequestDataAttributes' + type: + $ref: '#/components/schemas/PublishRequestType' + type: object + UpdateAppSelfServiceRequestData: + description: Data for updating an app's self-service status. + properties: + attributes: + $ref: '#/components/schemas/UpdateAppSelfServiceRequestDataAttributes' + type: + $ref: '#/components/schemas/AppSelfServiceType' + type: object + UpdateAppTagsRequestData: + description: Data for replacing an app's tags. + properties: + attributes: + $ref: '#/components/schemas/UpdateAppTagsRequestDataAttributes' + type: + $ref: '#/components/schemas/AppTagsType' + type: object + UpdateAppVersionNameRequestData: + description: Data for naming a specific app version. + properties: + attributes: + $ref: '#/components/schemas/UpdateAppVersionNameRequestDataAttributes' + type: + $ref: '#/components/schemas/AppVersionNameType' + type: object + AppVersion: + description: A version of an app. + properties: + attributes: + $ref: '#/components/schemas/AppVersionAttributes' + id: + description: The ID of the app version. + example: 9e20cbaf-68da-45a6-9ccf-54193ac29fa5 + format: uuid + type: string + type: + $ref: '#/components/schemas/AppVersionType' + type: object + BlueprintData: + description: A blueprint resource. + properties: + attributes: + $ref: '#/components/schemas/BlueprintAttributes' + id: + description: The ID of the blueprint. + example: 65bb1f25-52e1-4510-9f8d-22d1516ed693 + format: uuid + type: string + type: + $ref: '#/components/schemas/BlueprintDataType' + required: + - id + - type + - attributes + type: object + BlueprintMetadataData: + description: A blueprint metadata resource. + properties: + attributes: + $ref: '#/components/schemas/BlueprintMetadataAttributes' + id: + description: The ID of the blueprint. example: 65bb1f25-52e1-4510-9f8d-22d1516ed693 format: uuid type: string type: - $ref: '#/components/schemas/AppDefinitionType' + $ref: '#/components/schemas/BlueprintDataType' required: + - id - type + - attributes type: object - UpdateAppResponseData: - description: The data object containing the updated app definition. + TagData: + description: A tag resource associated with an app. + properties: + id: + description: The name of the tag. + example: production + type: string + type: + $ref: '#/components/schemas/TagDataType' + required: + - id + - type + type: object + UpsertCloudInventorySyncConfigRequestData: + description: Storage Management configuration data for the create or update request. properties: attributes: - $ref: '#/components/schemas/UpdateAppResponseDataAttributes' + $ref: '#/components/schemas/UpsertCloudInventorySyncConfigRequestAttributes' id: - description: The ID of the updated app. - example: 65bb1f25-52e1-4510-9f8d-22d1516ed693 - format: uuid + $ref: '#/components/schemas/CloudInventoryCloudProviderId' + type: + $ref: '#/components/schemas/CloudInventoryCloudProviderRequestType' + required: + - type + - id + - attributes + type: object + CloudInventorySyncConfigResponseData: + description: Storage Management configuration data. + properties: + attributes: + $ref: '#/components/schemas/CloudInventorySyncConfigAttributes' + id: + description: Unique identifier for this Storage Management configuration. + example: abc123 type: string type: - $ref: '#/components/schemas/AppDefinitionType' + $ref: '#/components/schemas/CloudInventorySyncConfigResourceType' required: - id - type @@ -1751,9 +3969,17 @@ components: type: object ContainerImageItem: description: Possible Container Image models. - oneOf: - - $ref: '#/components/schemas/ContainerImage' - - $ref: '#/components/schemas/ContainerImageGroup' + properties: + attributes: + $ref: '#/components/schemas/ContainerImageAttributes' + id: + description: Container Image ID. + type: string + type: + $ref: '#/components/schemas/ContainerImageType' + relationships: + $ref: '#/components/schemas/ContainerImageGroupRelationships' + type: object ContainerImagesResponseLinks: description: Pagination links. properties: @@ -1784,9 +4010,17 @@ components: type: object ContainerItem: description: Possible Container models. - oneOf: - - $ref: '#/components/schemas/Container' - - $ref: '#/components/schemas/ContainerGroup' + properties: + attributes: + $ref: '#/components/schemas/ContainerAttributes' + id: + description: Container ID. + type: string + type: + $ref: '#/components/schemas/ContainerType' + relationships: + $ref: '#/components/schemas/ContainerGroupRelationships' + type: object ContainersResponseLinks: description: Pagination links. properties: @@ -1873,16 +4107,42 @@ components: description: The type of the resource. The value should always be tags. type: string type: object + ListInterfaceTagsResponseData: + description: Response data for listing interface tags. + properties: + attributes: + $ref: '#/components/schemas/ListTagsResponseDataAttributes' + id: + description: The interface ID + example: example:1.2.3.4:1 + type: string + type: + description: The type of the resource. The value should always be tags. + type: string + type: object + NetworkHealthInsight: + description: A single network health insight describing a service-to-service connectivity issue. + properties: + attributes: + $ref: '#/components/schemas/NetworkHealthInsightAttributes' + id: + description: Unique identifier for this network health insight. + example: example-insight-id + type: string + type: + $ref: '#/components/schemas/NetworkHealthInsightsType' + required: + - type + - id + - attributes + type: object SingleAggregatedConnectionResponseData: description: Object describing an aggregated connection. properties: attributes: - $ref: >- - #/components/schemas/SingleAggregatedConnectionResponseDataAttributes + $ref: '#/components/schemas/SingleAggregatedConnectionResponseDataAttributes' id: - description: >- - A unique identifier for the aggregated connection based on the group - by values. + description: A unique identifier for the aggregated connection based on the group by values. type: string type: $ref: '#/components/schemas/SingleAggregatedConnectionResponseDataType' @@ -1893,9 +4153,7 @@ components: attributes: $ref: '#/components/schemas/SingleAggregatedDnsResponseDataAttributes' id: - description: >- - A unique identifier for the aggregated DNS traffic based on the - group by values. + description: A unique identifier for the aggregated DNS traffic based on the group by values. type: string type: $ref: '#/components/schemas/SingleAggregatedDnsResponseDataType' @@ -1918,9 +4176,7 @@ components: $ref: '#/components/schemas/ProcessSummariesMetaPage' type: object RecommendationData: - description: >- - JSON:API resource object for SPA Recommendation. Includes type, optional - ID, and resource attributes with structured recommendations. + description: JSON:API resource object for SPA Recommendation. Includes type, optional ID, and resource attributes with structured recommendations. properties: attributes: $ref: '#/components/schemas/RecommendationAttributes' @@ -1933,6 +4189,80 @@ components: - type - attributes type: object + Host: + description: Object representing a host. + properties: + aliases: + description: Host aliases collected by Datadog. + items: + description: A host alias. + example: mycoolhost-1 + type: string + type: array + apps: + description: The Datadog integrations reporting metrics for the host. + items: + description: Name of an app. + example: agent + type: string + type: array + aws_name: + description: AWS name of your host. + example: mycoolhost-1 + type: string + host_name: + description: The host name. + example: i-deadbeef + type: string + id: + description: The host ID. + example: 123456 + format: int64 + type: integer + is_muted: + description: If a host is muted or unmuted. + example: false + type: boolean + last_reported_time: + description: Last time the host reported a metric data point. + example: 1565000000 + format: int64 + type: integer + meta: + $ref: '#/components/schemas/HostMeta' + metrics: + $ref: '#/components/schemas/HostMetrics' + mute_timeout: + description: Timeout of the mute applied to your host. + format: int64 + nullable: true + type: integer + name: + description: The host name. + example: i-hostname + type: string + sources: + description: Source or cloud provider associated with your host. + items: + description: A source or cloud provider name. + example: aws + type: string + type: array + tags_by_source: + additionalProperties: + description: Array of tags for a single source. + items: + description: A tag. + example: test.example.com.host + type: string + type: array + description: List of tags for each source (AWS, Datadog Agent, Chef..). + type: object + up: + description: Displays UP when the expected metrics are received and displays `???` if no metrics are received. + example: true + type: boolean + type: object AppDefinitionType: default: appDefinitions description: The app definition type. @@ -1946,9 +4276,7 @@ components: description: References to the source of the error. properties: header: - description: >- - A string indicating the name of a single request header which caused - the error. + description: A string indicating the name of a single request header which caused the error. example: Authorization type: string parameter: @@ -1956,9 +4284,7 @@ components: example: limit type: string pointer: - description: >- - A JSON pointer to the value in the request document that caused the - error. + description: A JSON pointer to the value in the request document that caused the error. example: /data/attributes/title type: string type: object @@ -1997,10 +4323,7 @@ components: description: The attributes object containing the version ID of the published app. properties: app_version_id: - description: >- - The version ID of the app that was published. For an unpublished - app, this is always the nil UUID - (`00000000-0000-0000-0000-000000000000`). + description: The version ID of the app that was published. For an unpublished app, this is always the nil UUID (`00000000-0000-0000-0000-000000000000`). example: 65bb1f25-52e1-4510-9f8d-22d1516ed693 format: uuid type: string @@ -2038,9 +4361,7 @@ components: description: Information on the total number of apps, to be used for pagination. properties: totalCount: - description: >- - The total number of apps under the Datadog organization, - disregarding any filters applied. + description: The total number of apps under the Datadog organization, disregarding any filters applied. format: int64 type: integer totalFilteredCount: @@ -2063,16 +4384,12 @@ components: description: The name of the app. type: string queries: - description: >- - An array of queries, such as external actions and state variables, - that the app uses. + description: An array of queries, such as external actions and state variables, that the app uses. items: $ref: '#/components/schemas/Query' type: array rootInstanceName: - description: >- - The name of the root component of the app. This must be a `grid` - component that contains all other components. + description: The name of the root component of the app. This must be a `grid` component that contains all other components. type: string tags: description: A list of tags for the app, which can be used to filter apps. @@ -2085,9 +4402,7 @@ components: type: array type: object GetAppResponseDataAttributes: - description: >- - The app definition attributes, such as name, description, and - components. + description: The app definition attributes, such as name, description, and components. properties: components: description: The UI components that make up the app. @@ -2104,16 +4419,12 @@ components: description: The name of the app. type: string queries: - description: >- - An array of queries, such as external actions and state variables, - that the app uses. + description: An array of queries, such as external actions and state variables, that the app uses. items: $ref: '#/components/schemas/Query' type: array rootInstanceName: - description: >- - The name of the root component of the app. This must be a `grid` - component that contains all other components. + description: The name of the root component of the app. This must be a `grid` component that contains all other components. type: string tags: description: A list of tags for the app, which can be used to filter apps. @@ -2147,15 +4458,10 @@ components: $ref: '#/components/schemas/DeploymentMetadata' type: object UpdateAppRequestDataAttributes: - description: >- - App definition attributes to be updated, such as name, description, and - components. + description: App definition attributes to be updated, such as name, description, and components. properties: components: - description: >- - The new UI components that make up the app. If this field is set, - all existing components are replaced with the new components under - this field. + description: The new UI components that make up the app. If this field is set, all existing components are replaced with the new components under this field. items: $ref: '#/components/schemas/ComponentGrid' type: array @@ -2166,23 +4472,50 @@ components: description: The new name of the app. type: string queries: - description: >- - The new array of queries, such as external actions and state - variables, that the app uses. If this field is set, all existing - queries are replaced with the new queries under this field. + description: The new array of queries, such as external actions and state variables, that the app uses. If this field is set, all existing queries are replaced with the new queries under this field. + items: + $ref: '#/components/schemas/Query' + type: array + rootInstanceName: + description: The new name of the root component of the app. This must be a `grid` component that contains all other components. + type: string + tags: + description: The new list of tags for the app, which can be used to filter apps. If this field is set, any existing tags not included in the request are removed. + example: + - service:webshop-backend + - team:webshop + items: + description: An individual tag for the app. + type: string + type: array + type: object + UpdateAppResponseDataAttributes: + description: The updated app definition attributes, such as name, description, and components. + properties: + components: + description: The UI components that make up the app. + items: + $ref: '#/components/schemas/ComponentGrid' + type: array + description: + description: The human-readable description for the app. + type: string + favorite: + description: Whether the app is marked as a favorite by the current user. + type: boolean + name: + description: The name of the app. + type: string + queries: + description: An array of queries, such as external actions and state variables, that the app uses. items: $ref: '#/components/schemas/Query' type: array rootInstanceName: - description: >- - The new name of the root component of the app. This must be a `grid` - component that contains all other components. + description: The name of the root component of the app. This must be a `grid` component that contains all other components. type: string tags: - description: >- - The new list of tags for the app, which can be used to filter apps. - If this field is set, any existing tags not included in the request - are removed. + description: A list of tags for the app, which can be used to filter apps. example: - service:webshop-backend - team:webshop @@ -2191,47 +4524,418 @@ components: type: string type: array type: object - UpdateAppResponseDataAttributes: - description: >- - The updated app definition attributes, such as name, description, and - components. + UpdateAppFavoriteRequestDataAttributes: + description: Attributes for updating an app's favorite status. + properties: + favorite: + description: Whether the app should be marked as a favorite for the current user. + example: true + type: boolean + required: + - favorite + type: object + AppFavoriteType: + default: favorites + description: The favorite resource type. + enum: + - favorites + example: favorites + type: string + x-enum-varnames: + - FAVORITES + UpdateAppProtectionLevelRequestDataAttributes: + description: Attributes for updating an app's publication protection level. + properties: + protectionLevel: + $ref: '#/components/schemas/AppProtectionLevel' + required: + - protectionLevel + type: object + AppProtectionLevelType: + default: protectionLevel + description: The protection-level resource type. + enum: + - protectionLevel + example: protectionLevel + type: string + x-enum-varnames: + - PROTECTIONLEVEL + CreatePublishRequestRequestDataAttributes: + description: Attributes for creating a publish request. + properties: + description: + description: An optional description of the changes in this publish request. + example: Adds new dashboard widgets and a few bug fixes. + type: string + title: + description: A short title for the publish request. + example: Release v1.2 to production + type: string + required: + - title + type: object + PublishRequestType: + default: publishRequest + description: The publish-request resource type. + enum: + - publishRequest + example: publishRequest + type: string + x-enum-varnames: + - PUBLISHREQUEST + UpdateAppSelfServiceRequestDataAttributes: + description: Attributes for updating an app's self-service status. + properties: + selfService: + description: Whether the app is enabled for self-service. + example: true + type: boolean + required: + - selfService + type: object + AppSelfServiceType: + default: selfService + description: The self-service resource type. + enum: + - selfService + example: selfService + type: string + x-enum-varnames: + - SELFSERVICE + UpdateAppTagsRequestDataAttributes: + description: Attributes for replacing an app's tags. + properties: + tags: + description: The full list of tags that should be set on the app. Existing tags not present in this list are removed. + example: + - team:platform + - service:ops + items: + type: string + type: array + required: + - tags + type: object + AppTagsType: + default: tags + description: The tags resource type. + enum: + - tags + example: tags + type: string + x-enum-varnames: + - TAGS + UpdateAppVersionNameRequestDataAttributes: + description: Attributes for naming a specific app version. + properties: + name: + description: The name to assign to the app version. + example: v1.2.0 - bug fix release + type: string + required: + - name + type: object + AppVersionNameType: + default: versionNames + description: The version-name resource type. + enum: + - versionNames + example: versionNames + type: string + x-enum-varnames: + - VERSIONNAMES + AppVersionAttributes: + description: Attributes describing an app version. + properties: + app_id: + description: The ID of the app this version belongs to. + example: 65bb1f25-52e1-4510-9f8d-22d1516ed693 + format: uuid + type: string + created_at: + description: Timestamp of when the version was created. + format: date-time + type: string + has_ever_been_published: + description: Whether this version has ever been published. + example: true + type: boolean + name: + description: The optional human-readable name of the version. + example: v1.2.0 - bug fix release + type: string + updated_at: + description: Timestamp of when the version was last updated. + format: date-time + type: string + user_id: + description: The ID of the user who created the version. + format: int64 + type: integer + user_name: + description: The name (or email) of the user who created the version. + example: jane.doe@example.com + type: string + user_uuid: + description: The UUID of the user who created the version. + example: 65bb1f25-52e1-4510-9f8d-22d1516ed693 + format: uuid + type: string + version: + description: The version number of the app, starting at 1. + example: 3 + format: int64 + type: integer + type: object + AppVersionType: + default: appVersions + description: The app-version resource type. + enum: + - appVersions + example: appVersions + type: string + x-enum-varnames: + - APPVERSIONS + BlueprintAttributes: + description: The attributes of a blueprint resource. + properties: + created_at: + description: The timestamp when the blueprint was created. + example: '' + format: date-time + type: string + definition: + $ref: '#/components/schemas/AppDefinitionType' + description: + description: A description of what the blueprint does. + example: '' + type: string + embedded_datastore_blueprints: + additionalProperties: {} + description: Embedded datastore blueprints. + type: object + embedded_native_actions: + description: Embedded native actions. + items: + $ref: '#/components/schemas/BlueprintNativeAction' + type: array + embedded_workflow_blueprints: + additionalProperties: {} + description: Embedded workflow blueprints. + type: object + integration_id: + description: The integration ID associated with the blueprint. + type: string + mocked_outputs: + additionalProperties: {} + description: Mocked outputs for testing the blueprint. + type: object + name: + description: The human-readable name of the blueprint. + example: AWS Service Manager + type: string + slug: + description: The unique slug identifier of the blueprint. + example: aws-service-manager + type: string + tags: + description: Tags associated with the blueprint. + items: + type: string + type: array + tile_background: + description: The background style of the blueprint tile. + type: string + tile_icon_action_fqn: + description: The fully qualified name of the action used as the tile icon. + type: string + updated_at: + description: The timestamp when the blueprint was last updated. + example: '' + format: date-time + type: string + required: + - slug + - name + - description + - definition + - created_at + - updated_at + type: object + BlueprintDataType: + description: The resource type for a blueprint. + enum: + - blueprint + example: blueprint + type: string + x-enum-varnames: + - BLUEPRINT + BlueprintMetadataAttributes: + description: The attributes of a blueprint metadata resource. properties: - components: - description: The UI components that make up the app. - items: - $ref: '#/components/schemas/ComponentGrid' - type: array + created_at: + description: The timestamp when the blueprint was created. + example: '' + format: date-time + type: string description: - description: The human-readable description for the app. + description: A description of what the blueprint does. + example: '' type: string - favorite: - description: Whether the app is marked as a favorite by the current user. - type: boolean name: - description: The name of the app. + description: The human-readable name of the blueprint. + example: AWS Service Manager type: string - queries: - description: >- - An array of queries, such as external actions and state variables, - that the app uses. - items: - $ref: '#/components/schemas/Query' - type: array - rootInstanceName: - description: >- - The name of the root component of the app. This must be a `grid` - component that contains all other components. + slug: + description: The unique slug identifier of the blueprint. + example: aws-service-manager type: string tags: - description: A list of tags for the app, which can be used to filter apps. - example: - - service:webshop-backend - - team:webshop + description: Tags associated with the blueprint. items: - description: An individual tag for the app. type: string type: array + tile_background: + description: The background style of the blueprint tile. + type: string + tile_icon_action_fqn: + description: The fully qualified name of the action used as the tile icon. + type: string + updated_at: + description: The timestamp when the blueprint was last updated. + example: '' + format: date-time + type: string + required: + - slug + - name + - description + - created_at + - updated_at + type: object + TagDataType: + description: The resource type for a tag. + enum: + - tag + example: tag + minLength: 3 + type: string + x-enum-varnames: + - TAG + UpsertCloudInventorySyncConfigRequestAttributes: + description: Settings for the cloud provider specified in `data.id`. Include only the matching provider object (`aws`, `gcp`, or `azure`). + properties: + aws: + $ref: '#/components/schemas/CloudInventorySyncConfigAWSRequestAttributes' + azure: + $ref: '#/components/schemas/CloudInventorySyncConfigAzureRequestAttributes' + gcp: + $ref: '#/components/schemas/CloudInventorySyncConfigGCPRequestAttributes' + type: object + CloudInventoryCloudProviderId: + description: Cloud provider for this sync configuration (`aws`, `gcp`, or `azure`). For requests, must match the provider block supplied under `attributes`. + enum: + - aws + - gcp + - azure + example: aws + type: string + x-enum-varnames: + - AWS + - GCP + - AZURE + CloudInventoryCloudProviderRequestType: + description: Always `cloud_provider`. + enum: + - cloud_provider + example: cloud_provider + type: string + x-enum-varnames: + - CLOUD_PROVIDER + CloudInventorySyncConfigAttributes: + description: Attributes for a Storage Management configuration. Fields other than `id` may be empty in the response immediately after a create or update; subsequent reads return the full configuration. + properties: + aws_account_id: + description: AWS account ID for the inventory bucket. + example: '123456789012' + type: string + aws_bucket_name: + description: AWS S3 bucket name for inventory files. + example: my-inventory-bucket + type: string + aws_region: + description: AWS Region for the inventory bucket. + example: us-east-1 + type: string + azure_client_id: + description: Azure AD application (client) ID. + example: 11111111-1111-1111-1111-111111111111 + type: string + azure_container_name: + description: Azure blob container name. + example: inventory-container + type: string + azure_storage_account_name: + description: Azure storage account name. + example: mystorageaccount + type: string + azure_tenant_id: + description: Azure AD tenant ID. + example: 22222222-2222-2222-2222-222222222222 + type: string + cloud_provider: + $ref: '#/components/schemas/CloudInventoryCloudProviderId' + error: + description: Human-readable error detail when sync is unhealthy. + example: '' + readOnly: true + type: string + error_code: + description: Machine-readable error code when sync is unhealthy. + example: '' + readOnly: true + type: string + gcp_bucket_name: + description: GCS bucket name for inventory files Datadog reads. + example: my-inventory-reports + type: string + gcp_project_id: + description: GCP project ID. + example: my-gcp-project + type: string + gcp_service_account_email: + description: Service account email for bucket access. + example: reader@my-gcp-project.iam.gserviceaccount.com + type: string + prefix: + description: Object key prefix where inventory reports are written. Returns `/` when reports are written at the bucket root. + example: logs/ + readOnly: true + type: string + required: + - aws_bucket_name + - aws_account_id + - aws_region + - azure_storage_account_name + - azure_container_name + - azure_client_id + - azure_tenant_id + - gcp_bucket_name + - gcp_project_id + - gcp_service_account_email + - cloud_provider + - prefix + - error + - error_code type: object + CloudInventorySyncConfigResourceType: + description: Always `sync_configs`. + enum: + - sync_configs + example: sync_configs + type: string + x-enum-varnames: + - SYNC_CONFIGS ContainerImage: description: Container Image object. properties: @@ -2406,6 +5110,7 @@ components: - device_ip:1.2.3.4 - device_id:example:1.2.3.4 items: + description: A tag string in `key:value` format. type: string type: array vendor: @@ -2499,6 +5204,7 @@ components: - device_ip:1.2.3.4 - device_id:example:1.2.3.4 items: + description: A tag string in `key:value` format. type: string type: array vendor: @@ -2532,6 +5238,7 @@ components: - 1.1.1.1 - 1.1.1.2 items: + description: An IP address assigned to the interface. type: string type: array mac_address: @@ -2554,9 +5261,110 @@ components: - tag:test - tag:testbis items: + description: A tag string in `key:value` format. type: string type: array type: object + NetworkHealthInsightAttributes: + description: Detailed attributes of a network health insight. + properties: + account_id: + description: AWS account identifier where the certificate is located. Only set for `tls-cert` insights. + example: '123456789012' + type: string + certificate_id: + description: ARN or identifier of the certificate. Only set for `tls-cert` insights. + example: arn:aws:acm:us-east-1:123456789012:certificate/abcd1234-a123-456b-a123-12345678901f + type: string + certificate_lifetime_percent: + description: |- + Percentage of the certificate's validity period that has elapsed, ranging from 0 to 100. + Only set for `tls-cert` insights. + example: 96.7 + format: double + type: number + client_region: + description: AWS region where the client is located. Only set for `tls-cert` insights. + example: us-west-2 + type: string + client_service: + description: |- + Name of the service making the request (DNS query or TLS-secured connection). + Set to `N/A` when the client service cannot be determined. + example: network-logger + type: string + days_until_expiration: + description: |- + Number of days remaining until the certificate expires. Negative values indicate the + certificate has already expired. Only set for `tls-cert` insights. + example: 3 + format: int64 + type: integer + dns_query: + description: Domain name that was being resolved when the DNS failure occurred. Only set for `dns` insights. + example: kafka-broker.internal.domain.com + type: string + dns_server: + description: DNS server that received the failing query. Only set for `dns` insights. + example: cluster-dns + type: string + domain_name: + description: Domain name covered by the certificate. Only set for `tls-cert` insights. + example: api.example.com + type: string + failure_magnitude: + description: |- + Count of failed events observed during the query window. Only set for `dns`, `tcp`, + and `security-group` insights. + example: 150 + format: int64 + minimum: 0 + type: integer + failure_rate: + description: |- + Percentage of requests that failed during the query window, ranging from 0 to 100. + Only set for `dns`, `tcp`, and `security-group` insights. + example: 91 + format: double + maximum: 100 + minimum: 0 + type: number + failure_type: + $ref: '#/components/schemas/NetworkHealthInsightFailureType' + loadbalancer_id: + description: ARN of the load balancer using the certificate. Only set for `tls-cert` insights. + example: arn:aws:elasticloadbalancing:us-east-1:123456789012:loadbalancer/app/my-lb/50dc6c495c0c9188 + type: string + server_region: + description: AWS region where the server or load balancer is located. Only set for `tls-cert` insights. + example: us-east-1 + type: string + server_service: + description: Name of the target service the client was trying to reach. + example: kafka + type: string + total_requests: + description: |- + Total number of requests observed during the query window. Provides context for + `failure_magnitude` and `failure_rate`. Only set for `dns`, `tcp`, and `security-group` insights. + example: 1200 + format: int64 + minimum: 0 + type: integer + traffic_volume: + $ref: '#/components/schemas/NetworkHealthInsightTrafficVolume' + type: + $ref: '#/components/schemas/NetworkHealthInsightCategory' + type: object + NetworkHealthInsightsType: + default: network-health-insights + description: The resource type for network health insights. Always `network-health-insights`. + enum: + - network-health-insights + example: network-health-insights + type: string + x-enum-varnames: + - NETWORK_HEALTH_INSIGHTS SingleAggregatedConnectionResponseDataAttributes: description: Attributes for an aggregated connection. properties: @@ -2572,45 +5380,53 @@ components: additionalProperties: description: The values for each group by. items: + description: A group-by value. type: string type: array description: The key, value pairs for each group by. type: object packets_sent_by_client: - description: >- - The total number of packets sent by the client over the given - period. + description: The total number of packets sent by the client over the given period. format: int64 type: integer packets_sent_by_server: - description: >- - The total number of packets sent by the server over the given - period. + description: The total number of packets sent by the server over the given period. format: int64 type: integer rtt_micro_seconds: - description: >- - Measured as TCP smoothed round trip time in microseconds (the time - between a TCP frame being sent and acknowledged). + description: Measured as TCP smoothed round trip time in microseconds (the time between a TCP frame being sent and acknowledged). format: int64 type: integer tcp_closed_connections: - description: >- - The number of TCP connections in a closed state. Measured in - connections per second from the client. + description: The number of TCP connections in a closed state. Measured in connections per second from the client. + format: int64 + type: integer + tcp_delivered_ce: + description: The number of TCP segments acknowledged with the ECN Congestion Experienced (CE) mark, indicating that an upstream router marked packets as experiencing congestion. format: int64 type: integer tcp_established_connections: - description: >- - The number of TCP connections in an established state. Measured in - connections per second from the client. + description: The number of TCP connections in an established state. Measured in connections per second from the client. + format: int64 + type: integer + tcp_probe0_count: + description: The number of TCP zero-window probes sent. These probes are sent when the receiver advertises a zero receive window, indicating it cannot accept more data. + format: int64 + type: integer + tcp_rcv_ooo_pack: + description: The number of TCP packets received out of order. This indicates network-level packet reordering, which can degrade TCP performance by triggering spurious retransmissions and reducing throughput. + format: int64 + type: integer + tcp_recovery_count: + description: The number of TCP fast recovery events. Fast recovery retransmits lost segments detected through duplicate ACKs or selective acknowledgment (SACK) without waiting for a retransmission timeout. format: int64 type: integer tcp_refusals: - description: >- - The number of TCP connections that were refused by the server. - Typically this indicates an attempt to connect to an IP/port that is - not receiving connections, or a firewall/security misconfiguration. + description: The number of TCP connections that were refused by the server. Typically this indicates an attempt to connect to an IP/port that is not receiving connections, or a firewall/security misconfiguration. + format: int64 + type: integer + tcp_reord_seen: + description: The number of times reordering of sent packets was detected. Reordering detection adjusts the duplicate ACK threshold, preventing spurious retransmissions caused by out-of-order delivery. format: int64 type: integer tcp_resets: @@ -2618,17 +5434,15 @@ components: format: int64 type: integer tcp_retransmits: - description: >- - TCP Retransmits represent detected failures that are retransmitted - to ensure delivery. Measured in count of retransmits from the - client. + description: TCP Retransmits represent detected failures that are retransmitted to ensure delivery. Measured in count of retransmits from the client. + format: int64 + type: integer + tcp_rto_count: + description: The number of TCP retransmission timeouts (RTOs). An RTO occurs when an ACK is not received within the estimated round-trip time, forcing the sender to retransmit and halve its congestion window. format: int64 type: integer tcp_timeouts: - description: >- - The number of TCP connections that timed out from the perspective of - the operating system. This can indicate general connectivity and - latency issues. + description: The number of TCP connections that timed out from the perspective of the operating system. This can indicate general connectivity and latency issues. format: int64 type: integer type: object @@ -2646,14 +5460,12 @@ components: group_bys: description: The key, value pairs for each group by. items: - $ref: >- - #/components/schemas/SingleAggregatedDnsResponseDataAttributesGroupByItems + $ref: '#/components/schemas/SingleAggregatedDnsResponseDataAttributesGroupByItems' type: array metrics: description: Metrics associated with an aggregated DNS flow. items: - $ref: >- - #/components/schemas/SingleAggregatedDnsResponseDataAttributesMetricsItems + $ref: '#/components/schemas/SingleAggregatedDnsResponseDataAttributesMetricsItems' type: array type: object SingleAggregatedDnsResponseDataType: @@ -2710,10 +5522,8 @@ components: description: Paging attributes. properties: after: - description: >- - The cursor used to get the next results, if any. To make the next - request, use the same - + description: |- + The cursor used to get the next results, if any. To make the next request, use the same parameters with the addition of the `page[cursor]`. example: 911abf1204838d9cdfcb9a96d0b6a1bd03e1b514074f1ce1737c4cbd type: string @@ -2725,10 +5535,12 @@ components: type: integer type: object RecommendationAttributes: - description: >- - Attributes of the SPA Recommendation resource. Contains recommendations - for both driver and executor components. + description: Attributes of the SPA Recommendation resource. Contains recommendations for both driver and executor components. properties: + confidence_level: + description: The confidence level of the recommendation, expressed as a value between 0.0 (low confidence) and 1.0 (high confidence). + format: double + type: number driver: $ref: '#/components/schemas/ComponentRecommendation' executor: @@ -2739,19 +5551,106 @@ components: type: object RecommendationType: default: recommendation - description: >- - JSON:API resource type for Spark Pod Autosizing recommendations. - Identifies the Recommendation resource returned by SPA. + description: JSON:API resource type for Spark Pod Autosizing recommendations. Identifies the Recommendation resource returned by SPA. enum: - recommendation example: recommendation type: string x-enum-varnames: - RECOMMENDATION + HostMeta: + description: Metadata associated with your host. + properties: + agent_checks: + description: A list of Agent checks running on the host. + items: + $ref: '#/components/schemas/AgentCheck' + type: array + agent_version: + description: The Datadog Agent version. + example: 7.32.3 + type: string + cpuCores: + description: The number of cores. + example: 1 + format: int64 + type: integer + fbsdV: + description: An array of Mac versions. + items: + description: The version name. + example: FreeBSD + type: array + gohai: + description: JSON string containing system information. + example: '{"cpu":{"cache_size":"8192 KB","cpu_cores":"1","cpu_logical_processors":"1","family":"6","mhz":"2712.000","model":"142","model_name":"Intel(R) Core(TM) i7-8559U CPU @ 2.70GHz","stepping":"10","vendor_id":"GenuineIntel"},"filesystem":[{"kb_size":"3966896","mounted_on":"/dev","name":"udev"},{"kb_size":"797396","mounted_on":"/run","name":"tmpfs"},{"kb_size":"64800356","mounted_on":"/","name":"/dev/mapper/vagrant--vg-root"},{"kb_size":"3986972","mounted_on":"/dev/shm","name":"tmpfs"},{"kb_size":"5120","mounted_on":"/run/lock","name":"tmpfs"},{"kb_size":"3986972","mounted_on":"/sys/fs/cgroup","name":"tmpfs"},{"kb_size":"488245288","mounted_on":"/vagrant","name":"vagrant"},{"kb_size":"797392","mounted_on":"/run/user/1000","name":"tmpfs"}],"memory":{"swap_total":"1003516kB","total":"7973944kB"},"network":{"interfaces":[{"ipv4":"10.0.2.15","ipv4-network":"10.0.2.0/24","ipv6":"fe80::a00:27ff:fec2:be11","ipv6-network":"fe80::/64","macaddress":"08:00:27:c2:be:11","name":"eth0"},{"ipv4":"192.168.122.1","ipv4-network":"192.168.122.0/24","macaddress":"52:54:00:6f:1c:bf","name":"virbr0"}],"ipaddress":"10.0.2.15","ipaddressv6":"fe80::a00:27ff:fec2:be11","macaddress":"08:00:27:c2:be:11"},"platform":{"GOOARCH":"amd64","GOOS":"linux","goV":"1.16.7","hardware_platform":"x86_64","hostname":"vagrant","kernel_name":"Linux","kernel_release":"4.15.0-29-generic","kernel_version":"#31-Ubuntu SMP Tue Jul 17 15:39:52 UTC 2018","machine":"x86_64","os":"GNU/Linux","processor":"x86_64","pythonV":"2.7.15rc1"}}' + type: string + install_method: + $ref: '#/components/schemas/HostMetaInstallMethod' + macV: + description: An array of Mac versions. + items: + description: Version name. + example: Mac + type: array + machine: + description: The machine architecture. + example: amd64 + type: string + nixV: + description: Array of Unix versions. + items: + description: Version name. + example: Ubuntu + type: array + platform: + description: The OS platform. + example: linux + type: string + processor: + description: The processor. + example: Intel(R) Core(TM) i7-8559U CPU @ 2.70GHz + type: string + pythonV: + description: The Python version. + example: 3.8.11 + type: string + socket-fqdn: + description: The socket fqdn. + example: vagrant.vm. + type: string + socket-hostname: + description: The socket hostname. + example: vagrant + type: string + winV: + description: An array of Windows versions. + items: + description: Version name. + example: Windows + type: array + type: object + HostMetrics: + description: Host Metrics collected. + properties: + cpu: + description: The percent of CPU used (everything but idle). + example: 99 + format: double + type: number + iowait: + description: The percent of CPU spent waiting on the IO (not reported for all platforms). + example: 3.2 + format: double + type: number + load: + description: The system load over the last 15 minutes. + example: 0.5 + format: double + type: number + type: object ComponentGrid: - description: >- - A grid component. The grid component is the root canvas for an app and - contains all other components. + description: A grid component. The grid component is the root canvas for an app and contains all other components. properties: events: description: Events to listen for on the grid component. @@ -2759,14 +5658,10 @@ components: $ref: '#/components/schemas/AppBuilderEvent' type: array id: - description: >- - The ID of the grid component. This property is deprecated; use - `name` to identify individual components instead. + description: The ID of the grid component. This property is deprecated; use `name` to identify individual components instead. type: string name: - description: >- - A unique identifier for this grid component. This name is also - visible in the app editor. + description: A unique identifier for this grid component. This name is also visible in the app editor. example: '' type: string properties: @@ -2779,13 +5674,32 @@ components: - properties type: object Query: - description: >- - A data query used by an app. This can take the form of an external - action, a data transformation, or a state variable. - oneOf: - - $ref: '#/components/schemas/ActionQuery' - - $ref: '#/components/schemas/DataTransform' - - $ref: '#/components/schemas/StateVariable' + description: A data query used by an app. This can take the form of an external action, a data transformation, or a state variable. + properties: + events: + description: Events to listen for downstream of the action query. + items: + $ref: '#/components/schemas/AppBuilderEvent' + type: array + id: + description: The ID of the action query. + example: 65bb1f25-52e1-4510-9f8d-22d1516ed693 + format: uuid + type: string + name: + description: A unique identifier for this action query. This name is also used to access the query's result throughout the app. + example: fetchPendingOrders + type: string + properties: + $ref: '#/components/schemas/ActionQueryProperties' + type: + $ref: '#/components/schemas/ActionQueryType' + required: + - id + - name + - type + - properties + type: object CustomConnectionAttributes: description: The custom connection attributes. properties: @@ -2815,6 +5729,104 @@ components: type: $ref: '#/components/schemas/AppDeploymentType' type: object + AppProtectionLevel: + description: The publication protection level of the app. `approval_required` means changes must go through an approval workflow before being published. + enum: + - direct_publish + - approval_required + example: direct_publish + type: string + x-enum-varnames: + - DIRECT_PUBLISH + - APPROVAL_REQUIRED + BlueprintNativeAction: + additionalProperties: {} + description: An embedded native action in a blueprint. + type: object + CloudInventorySyncConfigAWSRequestAttributes: + description: AWS settings for the S3 bucket Storage Management reads inventory reports from. + properties: + aws_account_id: + description: AWS account ID that owns the inventory bucket. + example: '123456789012' + type: string + destination_bucket_name: + description: Name of the S3 bucket containing inventory files. + example: my-inventory-bucket + type: string + destination_bucket_region: + description: AWS Region of the inventory bucket. + example: us-east-1 + type: string + destination_prefix: + description: Object key prefix where inventory reports are written. Omit or set to `/` when reports are written at the bucket root. + example: logs/ + type: string + required: + - aws_account_id + - destination_bucket_name + - destination_bucket_region + type: object + CloudInventorySyncConfigAzureRequestAttributes: + description: Azure settings for the storage account and container with inventory data. + properties: + client_id: + description: Azure AD application (client) ID used for access. + example: 11111111-1111-1111-1111-111111111111 + type: string + container: + description: Blob container name. + example: inventory-container + type: string + resource_group: + description: Resource group containing the storage account. + example: my-resource-group + type: string + storage_account: + description: Storage account name. + example: mystorageaccount + type: string + subscription_id: + description: Azure subscription ID. + example: 33333333-3333-3333-3333-333333333333 + type: string + tenant_id: + description: Azure AD tenant ID. + example: 22222222-2222-2222-2222-222222222222 + type: string + required: + - client_id + - tenant_id + - subscription_id + - resource_group + - storage_account + - container + type: object + CloudInventorySyncConfigGCPRequestAttributes: + description: GCP settings for buckets involved in inventory reporting. + properties: + destination_bucket_name: + description: GCS bucket name where Datadog reads inventory reports. + example: my-inventory-reports + type: string + project_id: + description: GCP project ID for the inventory destination bucket. + example: my-gcp-project + type: string + service_account_email: + description: Service account email used to read the destination bucket. + example: reader@my-gcp-project.iam.gserviceaccount.com + type: string + source_bucket_name: + description: GCS bucket name that inventory reports are generated for. + example: my-monitored-bucket + type: string + required: + - project_id + - destination_bucket_name + - source_bucket_name + - service_account_email + type: object ContainerImageAttributes: description: Attributes for a Container Image. properties: @@ -2847,9 +5859,7 @@ components: description: Name of the Container Image. type: string os_architectures: - description: >- - List of Operating System architectures supported by the Container - Image. + description: List of Operating System architectures supported by the Container Image. items: description: Operating System architecture supported by the Container Image. example: amd64 @@ -2884,10 +5894,8 @@ components: description: Short version of the Container Image name. type: string sizes: - description: >- - List of size for each platform-specific image associated with the - image record. - + description: |- + List of size for each platform-specific image associated with the image record. The list contains more than 1 entry for multi-architecture images. items: description: Size of the platform-specific Container Image. @@ -2929,8 +5937,8 @@ components: description: Name of the Container Image group. type: string tags: - description: Tags from the group name parsed in key/value format. - type: object + description: Tags from the group name parsed in key/value format. (opaque JSON object) + type: string type: object ContainerImageGroupRelationships: description: Relationships inside a Container Image Group. @@ -2978,6 +5986,7 @@ components: image_tags: description: List of image tags associated with the container image. items: + description: An image tag associated with the container. type: string nullable: true type: array @@ -2993,6 +6002,7 @@ components: tags: description: List of tags associated with the container. items: + description: A tag associated with the container. type: string type: array type: object @@ -3013,8 +6023,8 @@ components: format: int64 type: integer tags: - description: Tags from the group name parsed in key/value format. - type: object + description: Tags from the group name parsed in key/value format. (opaque JSON object) + type: string type: object ContainerGroupRelationships: description: Relationships to containers inside a container group. @@ -3079,6 +6089,64 @@ components: - DOWN - WARNING - 'OFF' + NetworkHealthInsightFailureType: + description: |- + Specific failure type within the insight category. For DNS insights: `timeout`, `nxdomain`, + `servfail`, or `general_failure`. For TLS certificate insights: `expired` or `expiring_soon`. + For security group insights: `denied`. + enum: + - timeout + - nxdomain + - servfail + - general_failure + - expired + - expiring_soon + - denied + example: nxdomain + type: string + x-enum-varnames: + - TIMEOUT + - NXDOMAIN + - SERVFAIL + - GENERAL_FAILURE + - EXPIRED + - EXPIRING_SOON + - DENIED + NetworkHealthInsightTrafficVolume: + description: Network traffic volume metrics between the client and server services during the query window. + properties: + bytes_read: + description: Total bytes read from the server to the client during the query window. + example: 1800000 + format: int64 + type: integer + bytes_written: + description: Total bytes written from the client to the server during the query window. + example: 2500000 + format: int64 + type: integer + total_traffic: + description: Sum of bytes written and bytes read across the query window. + example: 4300000 + format: int64 + type: integer + type: object + NetworkHealthInsightCategory: + description: |- + Category of network health insight. Indicates whether the insight relates to a DNS issue (`dns`), + a TCP issue (`tcp`), a TLS certificate issue (`tls-cert`), or a security group denial (`security-group`). + enum: + - dns + - tcp + - tls-cert + - security-group + example: dns + type: string + x-enum-varnames: + - DNS + - TCP + - TLS_CERT + - SECURITY_GROUP SingleAggregatedDnsResponseDataAttributesGroupByItems: description: Attributes associated with a group by properties: @@ -3100,15 +6168,41 @@ components: type: integer type: object ComponentRecommendation: - description: >- - Resource recommendation for a single Spark component (driver or - executor). Contains estimation data used to patch Spark job specs. + description: Resource recommendation for a single Spark component (driver or executor). Contains estimation data used to patch Spark job specs. properties: estimation: $ref: '#/components/schemas/Estimation' required: - estimation type: object + AgentCheck: + description: Array of strings. + example: + - ntp + - ntp + - ntp:d884b5186b651429 + - OK + - '' + - '' + items: + description: Agent check running on the host. + type: array + HostMetaInstallMethod: + description: Agent install method. + properties: + installer_version: + description: The installer version. + example: install_script-1.7.1 + type: string + tool: + description: Tool used to install the agent. + example: install_script + type: string + tool_version: + description: The tool version. + example: install_script + type: string + type: object AppBuilderEvent: additionalProperties: {} description: An event on a UI component that triggers a response or action in an app. @@ -3143,9 +6237,7 @@ components: x-enum-varnames: - GRID ActionQuery: - description: >- - An action query. This query type is used to trigger an action, such as - sending a HTTP request. + description: An action query. This query type is used to trigger an action, such as sending a HTTP request. properties: events: description: Events to listen for downstream of the action query. @@ -3158,9 +6250,7 @@ components: format: uuid type: string name: - description: >- - A unique identifier for this action query. This name is also used to - access the query's result throughout the app. + description: A unique identifier for this action query. This name is also used to access the query's result throughout the app. example: fetchPendingOrders type: string properties: @@ -3174,9 +6264,7 @@ components: - properties type: object DataTransform: - description: >- - A data transformer, which is custom JavaScript code that executes and - transforms data when its inputs change. + description: A data transformer, which is custom JavaScript code that executes and transforms data when its inputs change. properties: id: description: The ID of the data transformer. @@ -3184,9 +6272,7 @@ components: format: uuid type: string name: - description: >- - A unique identifier for this data transformer. This name is also - used to access the transformer's result throughout the app. + description: A unique identifier for this data transformer. This name is also used to access the transformer's result throughout the app. example: combineTwoOrders type: string properties: @@ -3208,9 +6294,7 @@ components: format: uuid type: string name: - description: >- - A unique identifier for this state variable. This name is also used - to access the variable's value throughout the app. + description: A unique identifier for this state variable. This name is also used to access the variable's value throughout the app. example: ordersToSubmit type: string properties: @@ -3224,10 +6308,7 @@ components: - properties type: object CustomConnectionAttributesOnPremRunner: - description: >- - Information about the Private Action Runner used by the custom - connection, if the custom connection is associated with a Private Action - Runner. + description: Information about the Private Action Runner used by the custom connection, if the custom connection is associated with a Private Action Runner. properties: id: description: The Private Action Runner ID. @@ -3340,17 +6421,12 @@ components: - DNS_SUCCESS_LATENCY_PERCENTILE - DNS_FAILURE_LATENCY_PERCENTILE Estimation: - description: >- - Recommended resource values for a Spark driver or executor, derived from - recent real usage metrics. Used by SPA to propose more efficient pod - sizing. + description: Recommended resource values for a Spark driver or executor, derived from recent real usage metrics. Used by SPA to propose more efficient pod sizing. properties: cpu: $ref: '#/components/schemas/Cpu' ephemeral_storage: - description: >- - Recommended ephemeral storage allocation (in MiB). Derived from job - temporary storage patterns. + description: Recommended ephemeral storage allocation (in MiB). Derived from job temporary storage patterns. format: int64 type: integer heap: @@ -3358,9 +6434,7 @@ components: format: int64 type: integer memory: - description: >- - Recommended total memory allocation (in MiB). Includes both heap and - overhead. + description: Recommended total memory allocation (in MiB). Includes both heap and overhead. format: int64 type: integer overhead: @@ -3417,9 +6491,7 @@ components: - DOWNLOADFILE - SETSTATEVARIABLEVALUE Component: - description: >- - [Definition of a UI component in the - app](https://docs.datadoghq.com/service_management/app_builder/components/) + description: '[Definition of a UI component in the app](https://docs.datadoghq.com/service_management/app_builder/components/)' properties: events: description: Events to listen for on the UI component. @@ -3427,15 +6499,11 @@ components: $ref: '#/components/schemas/AppBuilderEvent' type: array id: - description: >- - The ID of the UI component. This property is deprecated; use `name` - to identify individual components instead. + description: The ID of the UI component. This property is deprecated; use `name` to identify individual components instead. nullable: true type: string name: - description: >- - A unique identifier for this UI component. This name is also visible - in the app editor. + description: A unique identifier for this UI component. This name is also visible in the app editor. example: '' type: string properties: @@ -3448,13 +6516,9 @@ components: - properties type: object ComponentGridPropertiesIsVisible: - description: >- - Whether the grid component and its children are visible. If a string, it - must be a valid JavaScript expression that evaluates to a boolean. - oneOf: - - type: string - - default: true - type: boolean + description: Whether the grid component and its children are visible. If a string, it must be a valid JavaScript expression that evaluates to a boolean. + type: string + default: true ActionQueryProperties: description: The properties of the action query. properties: @@ -3467,10 +6531,7 @@ components: onlyTriggerManually: $ref: '#/components/schemas/ActionQueryOnlyTriggerManually' outputs: - description: >- - The post-query transformation function, which is a JavaScript - function that changes the query's `.outputs` property after the - query's execution. + description: The post-query transformation function, which is a JavaScript function that changes the query's `.outputs` property after the query's execution. example: ${((outputs) => {return outputs.body.data})(self.rawOutputs)} type: string pollingIntervalInMs: @@ -3556,38 +6617,25 @@ components: type: string type: object Cpu: - description: >- - CPU usage statistics derived from historical Spark job metrics. Provides - multiple estimates so users can choose between conservative and - cost-saving risk profiles. + description: CPU usage statistics derived from historical Spark job metrics. Provides multiple estimates so users can choose between conservative and cost-saving risk profiles. properties: max: - description: >- - Maximum CPU usage observed for the job, expressed in millicores. - This represents the upper bound of usage. + description: Maximum CPU usage observed for the job, expressed in millicores. This represents the upper bound of usage. format: int64 type: integer p75: - description: >- - 75th percentile of CPU usage (millicores). Represents a cost-saving - configuration while covering most workloads. + description: 75th percentile of CPU usage (millicores). Represents a cost-saving configuration while covering most workloads. format: int64 type: integer p95: - description: >- - 95th percentile of CPU usage (millicores). Balances performance and - cost, providing a safer margin than p75. + description: 95th percentile of CPU usage (millicores). Balances performance and cost, providing a safer margin than p75. format: int64 type: integer type: object x-model-simple-name: SpaCpu ComponentProperties: additionalProperties: {} - description: >- - Properties of a UI component. Different component types can have their - own additional unique properties. See the [components - documentation](https://docs.datadoghq.com/service_management/app_builder/components/) - for more detail on each component type and its properties. + description: Properties of a UI component. Different component types can have their own additional unique properties. See the [components documentation](https://docs.datadoghq.com/service_management/app_builder/components/) for more detail on each component type and its properties. properties: children: description: The child components of the UI component. @@ -3644,97 +6692,67 @@ components: - CONTAINER - CALLOUTVALUE ActionQueryCondition: - description: >- - Whether to run this query. If specified, the query will only run if this - condition evaluates to `true` in JavaScript and all other conditions are - also met. - oneOf: - - type: boolean - - example: ${true} - type: string + description: Whether to run this query. If specified, the query will only run if this condition evaluates to `true` in JavaScript and all other conditions are also met. + type: boolean + example: ${true} ActionQueryDebounceInMs: - description: >- - The minimum time in milliseconds that must pass before the query can be - triggered again. This is useful for preventing accidental double-clicks - from triggering the query multiple times. - oneOf: - - example: 310.5 - format: double - type: number - - description: >- - If this is a string, it must be a valid JavaScript expression that - evaluates to a number. - example: ${1000} - type: string + description: The minimum time in milliseconds that must pass before the query can be triggered again. This is useful for preventing accidental double-clicks from triggering the query multiple times. + example: 310.5 + format: double + type: number ActionQueryMockedOutputs: - description: >- - The mocked outputs of the action query. This is useful for testing the - app without actually running the action. - oneOf: - - type: string - - $ref: '#/components/schemas/ActionQueryMockedOutputsObject' - ActionQueryOnlyTriggerManually: - description: >- - Determines when this query is executed. If set to `false`, the query - will run when the app loads and whenever any query arguments change. If - set to `true`, the query will only run when manually triggered from - elsewhere in the app. - oneOf: - - type: boolean - - description: >- - If this is a string, it must be a valid JavaScript expression that - evaluates to a boolean. - example: ${true} + description: The mocked outputs of the action query. This is useful for testing the app without actually running the action. + type: string + properties: + enabled: + $ref: '#/components/schemas/ActionQueryMockedOutputsEnabled' + outputs: + description: The mocked outputs of the action query, serialized as JSON. + example: '{"status": "success"}' type: string + required: + - enabled + ActionQueryOnlyTriggerManually: + description: Determines when this query is executed. If set to `false`, the query will run when the app loads and whenever any query arguments change. If set to `true`, the query will only run when manually triggered from elsewhere in the app. + type: boolean + example: ${true} ActionQueryPollingIntervalInMs: - description: >- - If specified, the app will poll the query at the specified interval in - milliseconds. The minimum polling interval is 15 seconds. The query will - only poll when the app's browser tab is active. - oneOf: - - example: 30000 - format: double - minimum: 15000 - type: number - - description: >- - If this is a string, it must be a valid JavaScript expression that - evaluates to a number. - example: ${15000} - type: string + description: If specified, the app will poll the query at the specified interval in milliseconds. The minimum polling interval is 15 seconds. The query will only poll when the app's browser tab is active. + example: 30000 + format: double + minimum: 15000 + type: number ActionQueryRequiresConfirmation: description: Whether to prompt the user to confirm this query before it runs. - oneOf: - - type: boolean - - description: >- - If this is a string, it must be a valid JavaScript expression that - evaluates to a boolean. - example: ${true} + type: boolean + example: ${true} + ActionQueryShowToastOnError: + description: Whether to display a toast to the user when the query returns an error. + type: boolean + example: ${true} + ActionQuerySpec: + description: The definition of the action query. + example: '' + type: string + properties: + connectionGroup: + $ref: '#/components/schemas/ActionQuerySpecConnectionGroup' + connectionId: + description: The ID of the custom connection to use for this action query. + example: 65bb1f25-52e1-4510-9f8d-22d1516ed693 type: string - ActionQueryShowToastOnError: - description: Whether to display a toast to the user when the query returns an error. - oneOf: - - type: boolean - - description: >- - If this is a string, it must be a valid JavaScript expression that - evaluates to a boolean. - example: ${true} + fqn: + description: The fully qualified name of the action type. + example: com.datadoghq.http.request type: string - ActionQuerySpec: - description: The definition of the action query. - oneOf: - - type: string - - $ref: '#/components/schemas/ActionQuerySpecObject' + inputs: + $ref: '#/components/schemas/ActionQuerySpecInputs' + required: + - fqn ComponentPropertiesIsVisible: - description: >- - Whether the UI component is visible. If this is a string, it must be a - valid JavaScript expression that evaluates to a boolean. - oneOf: - - type: boolean - - description: >- - If this is a string, it must be a valid JavaScript expression that - evaluates to a boolean. - example: ${true} - type: string + description: Whether the UI component is visible. If this is a string, it must be a valid JavaScript expression that evaluates to a boolean. + type: boolean + example: ${true} ActionQueryMockedOutputsObject: description: The mocked outputs of the action query. properties: @@ -3767,13 +6785,8 @@ components: type: object ActionQueryMockedOutputsEnabled: description: Whether to enable the mocked outputs for testing. - oneOf: - - type: boolean - - description: >- - If this is a string, it must be a valid JavaScript expression that - evaluates to a boolean. - example: ${true} - type: string + example: false + type: boolean ActionQuerySpecConnectionGroup: description: The connection group to use for an action query. properties: @@ -3785,22 +6798,17 @@ components: tags: description: The tags of the connection group. items: + description: A tag for the connection group. type: string type: array type: object ActionQuerySpecInputs: - description: >- - The inputs to the action query. These are the values that are passed to - the action when it is triggered. - oneOf: - - type: string - - $ref: '#/components/schemas/ActionQuerySpecInput' + description: The inputs to the action query. These are the values that are passed to the action when it is triggered. + type: string + additionalProperties: {} ActionQuerySpecInput: additionalProperties: {} - description: >- - The inputs to the action query. See the [Actions - Catalog](https://docs.datadoghq.com/actions/actions_catalog/) for more - detail on each action and its inputs. + description: The inputs to the action query. See the [Actions Catalog](https://docs.datadoghq.com/actions/actions_catalog/) for more detail on each action and its inputs. type: object responses: TooManyRequestsResponse: @@ -3809,18 +6817,18 @@ components: schema: $ref: '#/components/schemas/APIErrorResponse' description: Too many requests - BadRequestResponse: + ForbiddenResponse: content: application/json: schema: $ref: '#/components/schemas/APIErrorResponse' - description: Bad Request - ForbiddenResponse: + description: Forbidden + BadRequestResponse: content: application/json: schema: $ref: '#/components/schemas/APIErrorResponse' - description: Forbidden + description: Bad Request NotFoundResponse: content: application/json: @@ -3834,18 +6842,26 @@ components: $ref: '#/components/schemas/APIErrorResponse' description: Not Authorized parameters: - PageSize: - description: Size for a given page. The maximum allowed value is 100. + CloudInventorySyncConfigID: + description: Unique identifier of the Storage Management configuration. + example: abc123 + in: path + name: id + required: true + schema: + type: string + NDMPageSize: + description: Size for a given page. The maximum allowed value is 500. Defaults to 50. in: query name: page[size] required: false schema: - default: 10 - example: 10 + default: 50 + example: 50 format: int64 type: integer - PageNumber: - description: Specific page number to return. + NDMPageNumber: + description: Specific page number to return. Defaults to 0. in: query name: page[number] required: false @@ -3866,6 +6882,8 @@ components: response: mediaType: application/json openAPIDocKey: '200' + request: + nativeCasing: camel list_apps: operation: $ref: '#/paths/~1api~1v2~1app-builder~1apps/get' @@ -3873,18 +6891,31 @@ components: mediaType: application/json openAPIDocKey: '200' objectKey: $.data + request: + nativeCasing: camel + config: + queryParamPushdown: + top: + paramName: limit create_app: + config: + requestBodyTranslate: + algorithm: naive operation: $ref: '#/paths/~1api~1v2~1app-builder~1apps/post' response: mediaType: application/json openAPIDocKey: '201' + request: + nativeCasing: camel delete_app: operation: $ref: '#/paths/~1api~1v2~1app-builder~1apps~1{app_id}/delete' response: mediaType: application/json openAPIDocKey: '200' + request: + nativeCasing: camel get_app: operation: $ref: '#/paths/~1api~1v2~1app-builder~1apps~1{app_id}/get' @@ -3892,24 +6923,35 @@ components: mediaType: application/json openAPIDocKey: '200' objectKey: $.data + request: + nativeCasing: camel update_app: + config: + requestBodyTranslate: + algorithm: naive operation: $ref: '#/paths/~1api~1v2~1app-builder~1apps~1{app_id}/patch' response: mediaType: application/json openAPIDocKey: '200' + request: + nativeCasing: camel unpublish_app: operation: $ref: '#/paths/~1api~1v2~1app-builder~1apps~1{app_id}~1deployment/delete' response: mediaType: application/json openAPIDocKey: '200' + request: + nativeCasing: camel publish_app: operation: $ref: '#/paths/~1api~1v2~1app-builder~1apps~1{app_id}~1deployment/post' response: mediaType: application/json openAPIDocKey: '201' + request: + nativeCasing: camel sqlVerbs: select: - $ref: '#/components/x-stackQL-resources/apps/methods/get_app' @@ -3922,6 +6964,318 @@ components: - $ref: '#/components/x-stackQL-resources/apps/methods/delete_app' - $ref: '#/components/x-stackQL-resources/apps/methods/delete_apps' replace: [] + app_builder_app_favorites: + id: datadog.infrastructure.app_builder_app_favorites + name: app_builder_app_favorites + title: App Builder App Favorites + methods: + update_app_favorite: + config: + requestBodyTranslate: + algorithm: naive + operation: + $ref: '#/paths/~1api~1v2~1app-builder~1apps~1{app_id}~1favorite/patch' + response: + mediaType: application/json + openAPIDocKey: '204' + request: + nativeCasing: camel + sqlVerbs: + select: [] + insert: [] + update: + - $ref: '#/components/x-stackQL-resources/app_builder_app_favorites/methods/update_app_favorite' + delete: [] + replace: [] + app_builder_app_protection_levels: + id: datadog.infrastructure.app_builder_app_protection_levels + name: app_builder_app_protection_levels + title: App Builder App Protection Levels + methods: + update_protection_level: + config: + requestBodyTranslate: + algorithm: naive + operation: + $ref: '#/paths/~1api~1v2~1app-builder~1apps~1{app_id}~1protection-level/patch' + response: + mediaType: application/json + openAPIDocKey: '200' + request: + nativeCasing: camel + sqlVerbs: + select: [] + insert: [] + update: + - $ref: '#/components/x-stackQL-resources/app_builder_app_protection_levels/methods/update_protection_level' + delete: [] + replace: [] + app_builder_app_publish_requests: + id: datadog.infrastructure.app_builder_app_publish_requests + name: app_builder_app_publish_requests + title: App Builder App Publish Requests + methods: + create_publish_request: + config: + requestBodyTranslate: + algorithm: naive + operation: + $ref: '#/paths/~1api~1v2~1app-builder~1apps~1{app_id}~1publish-request/post' + response: + mediaType: application/json + openAPIDocKey: '201' + request: + nativeCasing: camel + sqlVerbs: + select: [] + insert: + - $ref: '#/components/x-stackQL-resources/app_builder_app_publish_requests/methods/create_publish_request' + update: [] + delete: [] + replace: [] + app_builder_apps: + id: datadog.infrastructure.app_builder_apps + name: app_builder_apps + title: App Builder Apps + methods: + revert_app: + operation: + $ref: '#/paths/~1api~1v2~1app-builder~1apps~1{app_id}~1revert/post' + response: + mediaType: application/json + openAPIDocKey: '200' + request: + nativeCasing: camel + sqlVerbs: + select: [] + insert: [] + update: [] + delete: [] + replace: [] + app_builder_app_self_services: + id: datadog.infrastructure.app_builder_app_self_services + name: app_builder_app_self_services + title: App Builder App Self Services + methods: + update_app_self_service: + config: + requestBodyTranslate: + algorithm: naive + operation: + $ref: '#/paths/~1api~1v2~1app-builder~1apps~1{app_id}~1self-service/patch' + response: + mediaType: application/json + openAPIDocKey: '204' + request: + nativeCasing: camel + sqlVerbs: + select: [] + insert: [] + update: + - $ref: '#/components/x-stackQL-resources/app_builder_app_self_services/methods/update_app_self_service' + delete: [] + replace: [] + app_builder_app_tags: + id: datadog.infrastructure.app_builder_app_tags + name: app_builder_app_tags + title: App Builder App Tags + methods: + update_app_tags: + config: + requestBodyTranslate: + algorithm: naive + operation: + $ref: '#/paths/~1api~1v2~1app-builder~1apps~1{app_id}~1tags/patch' + response: + mediaType: application/json + openAPIDocKey: '204' + request: + nativeCasing: camel + sqlVerbs: + select: [] + insert: [] + update: + - $ref: '#/components/x-stackQL-resources/app_builder_app_tags/methods/update_app_tags' + delete: [] + replace: [] + app_builder_app_version_names: + id: datadog.infrastructure.app_builder_app_version_names + name: app_builder_app_version_names + title: App Builder App Version Names + methods: + update_app_version_name: + config: + requestBodyTranslate: + algorithm: naive + operation: + $ref: '#/paths/~1api~1v2~1app-builder~1apps~1{app_id}~1version-name/patch' + response: + mediaType: application/json + openAPIDocKey: '204' + request: + nativeCasing: camel + sqlVerbs: + select: [] + insert: [] + update: + - $ref: '#/components/x-stackQL-resources/app_builder_app_version_names/methods/update_app_version_name' + delete: [] + replace: [] + app_builder_app_versions: + id: datadog.infrastructure.app_builder_app_versions + name: app_builder_app_versions + title: App Builder App Versions + methods: + list_app_versions: + operation: + $ref: '#/paths/~1api~1v2~1app-builder~1apps~1{app_id}~1versions/get' + response: + mediaType: application/json + openAPIDocKey: '200' + objectKey: $.data + request: + nativeCasing: camel + config: + queryParamPushdown: + top: + paramName: limit + sqlVerbs: + select: + - $ref: '#/components/x-stackQL-resources/app_builder_app_versions/methods/list_app_versions' + insert: [] + update: [] + delete: [] + replace: [] + app_builder_blueprints: + id: datadog.infrastructure.app_builder_blueprints + name: app_builder_blueprints + title: App Builder Blueprints + methods: + get_blueprint: + operation: + $ref: '#/paths/~1api~1v2~1app-builder~1blueprint~1{blueprint_id}/get' + response: + mediaType: application/json + openAPIDocKey: '200' + objectKey: $.data + request: + nativeCasing: camel + list_blueprints: + operation: + $ref: '#/paths/~1api~1v2~1app-builder~1blueprints/get' + response: + mediaType: application/json + openAPIDocKey: '200' + objectKey: $.data + request: + nativeCasing: camel + config: + queryParamPushdown: + top: + paramName: limit + sqlVerbs: + select: + - $ref: '#/components/x-stackQL-resources/app_builder_blueprints/methods/get_blueprint' + - $ref: '#/components/x-stackQL-resources/app_builder_blueprints/methods/list_blueprints' + insert: [] + update: [] + delete: [] + replace: [] + app_builder_blueprint_integration_ids: + id: datadog.infrastructure.app_builder_blueprint_integration_ids + name: app_builder_blueprint_integration_ids + title: App Builder Blueprint Integration Ids + methods: + get_blueprints_by_integration_id: + operation: + $ref: '#/paths/~1api~1v2~1app-builder~1blueprints~1integration-id~1{integration_id}/get' + response: + mediaType: application/json + openAPIDocKey: '200' + objectKey: $.data + request: + nativeCasing: camel + sqlVerbs: + select: + - $ref: '#/components/x-stackQL-resources/app_builder_blueprint_integration_ids/methods/get_blueprints_by_integration_id' + insert: [] + update: [] + delete: [] + replace: [] + app_builder_blueprint_slugs: + id: datadog.infrastructure.app_builder_blueprint_slugs + name: app_builder_blueprint_slugs + title: App Builder Blueprint Slugs + methods: + get_blueprints_by_slugs: + operation: + $ref: '#/paths/~1api~1v2~1app-builder~1blueprints~1slugs~1{slugs}/get' + response: + mediaType: application/json + openAPIDocKey: '200' + objectKey: $.data + request: + nativeCasing: camel + sqlVerbs: + select: + - $ref: '#/components/x-stackQL-resources/app_builder_blueprint_slugs/methods/get_blueprints_by_slugs' + insert: [] + update: [] + delete: [] + replace: [] + app_builder_tags: + id: datadog.infrastructure.app_builder_tags + name: app_builder_tags + title: App Builder Tags + methods: + list_tags: + operation: + $ref: '#/paths/~1api~1v2~1app-builder~1tags/get' + response: + mediaType: application/json + openAPIDocKey: '200' + objectKey: $.data + request: + nativeCasing: camel + sqlVerbs: + select: + - $ref: '#/components/x-stackQL-resources/app_builder_tags/methods/list_tags' + insert: [] + update: [] + delete: [] + replace: [] + storage_management_configs: + id: datadog.infrastructure.storage_management_configs + name: storage_management_configs + title: Storage Management Configs + methods: + upsert_sync_config: + config: + requestBodyTranslate: + algorithm: naive + operation: + $ref: '#/paths/~1api~1v2~1cloudinventoryservice~1syncconfigs/put' + response: + mediaType: application/json + openAPIDocKey: '200' + request: + nativeCasing: camel + delete_sync_config: + operation: + $ref: '#/paths/~1api~1v2~1cloudinventoryservice~1syncconfigs~1{id}/delete' + response: + mediaType: application/json + openAPIDocKey: '204' + request: + nativeCasing: camel + sqlVerbs: + select: [] + insert: [] + update: [] + delete: + - $ref: '#/components/x-stackQL-resources/storage_management_configs/methods/delete_sync_config' + replace: + - $ref: '#/components/x-stackQL-resources/storage_management_configs/methods/upsert_sync_config' container_images: id: datadog.infrastructure.container_images name: container_images @@ -3934,10 +7288,23 @@ components: mediaType: application/json openAPIDocKey: '200' objectKey: $.data + request: + nativeCasing: camel + config: + pagination: + requestToken: + key: page[cursor] + location: query + responseToken: + key: $.meta.pagination.next_cursor + location: body + queryParamPushdown: + top: + paramName: page[size] + maxValue: 10000 sqlVerbs: select: - - $ref: >- - #/components/x-stackQL-resources/container_images/methods/list_container_images + - $ref: '#/components/x-stackQL-resources/container_images/methods/list_container_images' insert: [] update: [] delete: [] @@ -3954,10 +7321,23 @@ components: mediaType: application/json openAPIDocKey: '200' objectKey: $.data + request: + nativeCasing: camel + config: + pagination: + requestToken: + key: page[cursor] + location: query + responseToken: + key: $.meta.pagination.next_cursor + location: body + queryParamPushdown: + top: + paramName: page[size] + maxValue: 10000 sqlVerbs: select: - - $ref: >- - #/components/x-stackQL-resources/containers/methods/list_containers + - $ref: '#/components/x-stackQL-resources/containers/methods/list_containers' insert: [] update: [] delete: [] @@ -3974,6 +7354,12 @@ components: mediaType: application/json openAPIDocKey: '200' objectKey: $.data + request: + nativeCasing: camel + config: + queryParamPushdown: + top: + paramName: page[size] get_device: operation: $ref: '#/paths/~1api~1v2~1ndm~1devices~1{device_id}/get' @@ -3981,6 +7367,8 @@ components: mediaType: application/json openAPIDocKey: '200' objectKey: $.data + request: + nativeCasing: camel sqlVerbs: select: - $ref: '#/components/x-stackQL-resources/devices/methods/get_device' @@ -4001,10 +7389,11 @@ components: mediaType: application/json openAPIDocKey: '200' objectKey: $.data + request: + nativeCasing: camel sqlVerbs: select: - - $ref: >- - #/components/x-stackQL-resources/device_interfaces/methods/get_interfaces + - $ref: '#/components/x-stackQL-resources/device_interfaces/methods/get_interfaces' insert: [] update: [] delete: [] @@ -4021,20 +7410,79 @@ components: mediaType: application/json openAPIDocKey: '200' objectKey: $.data + request: + nativeCasing: camel update_device_user_tags: + config: + requestBodyTranslate: + algorithm: naive operation: $ref: '#/paths/~1api~1v2~1ndm~1tags~1devices~1{device_id}/patch' response: mediaType: application/json openAPIDocKey: '200' + request: + nativeCasing: camel + sqlVerbs: + select: + - $ref: '#/components/x-stackQL-resources/device_user_tags/methods/list_device_user_tags' + insert: [] + update: + - $ref: '#/components/x-stackQL-resources/device_user_tags/methods/update_device_user_tags' + delete: [] + replace: [] + ndm_tag_interfaces: + id: datadog.infrastructure.ndm_tag_interfaces + name: ndm_tag_interfaces + title: Ndm Tag Interfaces + methods: + list_interface_user_tags: + operation: + $ref: '#/paths/~1api~1v2~1ndm~1tags~1interfaces~1{interface_id}/get' + response: + mediaType: application/json + openAPIDocKey: '200' + objectKey: $.data + request: + nativeCasing: camel + update_interface_user_tags: + config: + requestBodyTranslate: + algorithm: naive + operation: + $ref: '#/paths/~1api~1v2~1ndm~1tags~1interfaces~1{interface_id}/patch' + response: + mediaType: application/json + openAPIDocKey: '200' + request: + nativeCasing: camel sqlVerbs: select: - - $ref: >- - #/components/x-stackQL-resources/device_user_tags/methods/list_device_user_tags + - $ref: '#/components/x-stackQL-resources/ndm_tag_interfaces/methods/list_interface_user_tags' insert: [] update: - - $ref: >- - #/components/x-stackQL-resources/device_user_tags/methods/update_device_user_tags + - $ref: '#/components/x-stackQL-resources/ndm_tag_interfaces/methods/update_interface_user_tags' + delete: [] + replace: [] + network_health_insights: + id: datadog.infrastructure.network_health_insights + name: network_health_insights + title: Network Health Insights + methods: + list_network_health_insights: + operation: + $ref: '#/paths/~1api~1v2~1network-health-insights/get' + response: + mediaType: application/json + openAPIDocKey: '200' + objectKey: $.data + request: + nativeCasing: camel + sqlVerbs: + select: + - $ref: '#/components/x-stackQL-resources/network_health_insights/methods/list_network_health_insights' + insert: [] + update: [] delete: [] replace: [] aggregated_connections: @@ -4049,10 +7497,16 @@ components: mediaType: application/json openAPIDocKey: '200' objectKey: $.data + request: + nativeCasing: camel + config: + queryParamPushdown: + top: + paramName: limit + maxValue: 7500 sqlVerbs: select: - - $ref: >- - #/components/x-stackQL-resources/aggregated_connections/methods/get_aggregated_connections + - $ref: '#/components/x-stackQL-resources/aggregated_connections/methods/get_aggregated_connections' insert: [] update: [] delete: [] @@ -4069,10 +7523,16 @@ components: mediaType: application/json openAPIDocKey: '200' objectKey: $.data + request: + nativeCasing: camel + config: + queryParamPushdown: + top: + paramName: limit + maxValue: 7500 sqlVerbs: select: - - $ref: >- - #/components/x-stackQL-resources/aggregated_dns/methods/get_aggregated_dns + - $ref: '#/components/x-stackQL-resources/aggregated_dns/methods/get_aggregated_dns' insert: [] update: [] delete: [] @@ -4089,6 +7549,20 @@ components: mediaType: application/json openAPIDocKey: '200' objectKey: $.data + request: + nativeCasing: camel + config: + pagination: + requestToken: + key: page[cursor] + location: query + responseToken: + key: $.meta.page.after + location: body + queryParamPushdown: + top: + paramName: page[limit] + maxValue: 10000 sqlVerbs: select: - $ref: '#/components/x-stackQL-resources/processes/methods/list_processes' @@ -4102,23 +7576,163 @@ components: title: Spa Recommendations methods: get_sparecommendations: + operation: + $ref: '#/paths/~1api~1v2~1spa~1recommendations~1{service}/get' + response: + mediaType: application/json + openAPIDocKey: '200' + objectKey: $.data + request: + nativeCasing: camel + get_sparecommendations_with_shard: operation: $ref: '#/paths/~1api~1v2~1spa~1recommendations~1{service}~1{shard}/get' response: mediaType: application/json openAPIDocKey: '200' objectKey: $.data + request: + nativeCasing: camel + sqlVerbs: + select: + - $ref: '#/components/x-stackQL-resources/spa_recommendations/methods/get_sparecommendations_with_shard' + - $ref: '#/components/x-stackQL-resources/spa_recommendations/methods/get_sparecommendations' + insert: [] + update: [] + delete: [] + replace: [] + hosts: + id: datadog.infrastructure.hosts + name: hosts + title: Hosts + methods: + mute_host: + config: + requestBodyTranslate: + algorithm: naive + operation: + $ref: '#/paths/~1api~1v1~1host~1{host_name}~1mute/post' + response: + mediaType: application/json + openAPIDocKey: '200' + request: + nativeCasing: camel + unmute_host: + operation: + $ref: '#/paths/~1api~1v1~1host~1{host_name}~1unmute/post' + response: + mediaType: application/json + openAPIDocKey: '200' + request: + nativeCasing: camel + list_hosts: + operation: + $ref: '#/paths/~1api~1v1~1hosts/get' + response: + mediaType: application/json + openAPIDocKey: '200' + objectKey: $.host_list + request: + nativeCasing: camel + config: + queryParamPushdown: + top: + paramName: count + skip: + paramName: start + sqlVerbs: + select: + - $ref: '#/components/x-stackQL-resources/hosts/methods/list_hosts' + insert: [] + update: [] + delete: [] + replace: [] + host_totals: + id: datadog.infrastructure.host_totals + name: host_totals + title: Host Totals + methods: + get_host_totals: + operation: + $ref: '#/paths/~1api~1v1~1hosts~1totals/get' + response: + mediaType: application/json + openAPIDocKey: '200' + request: + nativeCasing: camel sqlVerbs: select: - - $ref: >- - #/components/x-stackQL-resources/spa_recommendations/methods/get_sparecommendations + - $ref: '#/components/x-stackQL-resources/host_totals/methods/get_host_totals' insert: [] update: [] delete: [] replace: [] + host_tags: + id: datadog.infrastructure.host_tags + name: host_tags + title: Host Tags + methods: + list_host_tags: + operation: + $ref: '#/paths/~1api~1v1~1tags~1hosts/get' + response: + mediaType: application/json + openAPIDocKey: '200' + request: + nativeCasing: camel + delete_host_tags: + operation: + $ref: '#/paths/~1api~1v1~1tags~1hosts~1{host_name}/delete' + response: + mediaType: application/json + openAPIDocKey: '204' + request: + nativeCasing: camel + get_host_tags: + operation: + $ref: '#/paths/~1api~1v1~1tags~1hosts~1{host_name}/get' + response: + mediaType: application/json + openAPIDocKey: '200' + request: + nativeCasing: camel + create_host_tags: + config: + requestBodyTranslate: + algorithm: naive + operation: + $ref: '#/paths/~1api~1v1~1tags~1hosts~1{host_name}/post' + response: + mediaType: application/json + openAPIDocKey: '201' + request: + nativeCasing: camel + update_host_tags: + config: + requestBodyTranslate: + algorithm: naive + operation: + $ref: '#/paths/~1api~1v1~1tags~1hosts~1{host_name}/put' + response: + mediaType: application/json + openAPIDocKey: '201' + request: + nativeCasing: camel + sqlVerbs: + select: + - $ref: '#/components/x-stackQL-resources/host_tags/methods/get_host_tags' + - $ref: '#/components/x-stackQL-resources/host_tags/methods/list_host_tags' + insert: + - $ref: '#/components/x-stackQL-resources/host_tags/methods/create_host_tags' + update: [] + delete: + - $ref: '#/components/x-stackQL-resources/host_tags/methods/delete_host_tags' + replace: + - $ref: '#/components/x-stackQL-resources/host_tags/methods/update_host_tags' servers: - - url: >- - https://{region:^(?:[^\:/]+(?:\:[0-9]+)?|[0-9]+\.[0-9]+\.[0-9]+\.[0-9]+(?:\:[0-9]+)?)$}/ + - url: https://api.{site:.+} variables: - region: + site: default: datadoghq.com + description: The Datadog site (region) for your organization, for example datadoghq.com, us3.datadoghq.com, us5.datadoghq.com, ap1.datadoghq.com, ap2.datadoghq.com, datadoghq.eu, ddog-gov.com. Resolved from the DD_SITE environment variable when set. + x-stackQL-envVar: DD_SITE diff --git a/providers/src/datadog/v00.00.00000/services/integrations.yaml b/providers/src/datadog/v00.00.00000/services/integrations.yaml index 0559a172..5ab022e9 100644 --- a/providers/src/datadog/v00.00.00000/services/integrations.yaml +++ b/providers/src/datadog/v00.00.00000/services/integrations.yaml @@ -1,431 +1,586 @@ openapi: 3.0.0 info: title: integrations API - description: datadog integrations API + description: |- + The Integrations API is used to list available integrations + and retrieve information about their installation status. version: '1.0' paths: - /api/v2/integration/aws/accounts: + /api/v2/cloud_auth/aws/persona_mapping: get: - description: Get a list of AWS Account Integration Configs. - operationId: ListAWSAccounts - parameters: - - description: >- - Optional query parameter to filter accounts by AWS Account ID. If - not provided, all accounts are returned. - example: '123456789012' - in: query - name: aws_account_id - required: false - schema: - type: string + description: List all AWS cloud authentication persona mappings. This endpoint retrieves all configured persona mappings that associate AWS IAM principals with Datadog users. + operationId: ListAWSCloudAuthPersonaMappings responses: '200': content: application/json: + examples: + default: + value: + data: + - attributes: + account_identifier: test@example.com + account_uuid: 00000000-0000-0000-0000-000000000001 + arn_pattern: arn:aws:iam::123456789012:user/testuser + id: abc-123 + type: aws_cloud_auth_config schema: - $ref: '#/components/schemas/AWSAccountsResponse' - description: AWS Accounts List object + $ref: '#/components/schemas/AWSCloudAuthPersonaMappingsResponse' + description: OK + '400': + content: + application/json: + schema: + $ref: '#/components/schemas/JSONAPIErrorResponse' + description: Bad Request '403': - $ref: '#/components/responses/ForbiddenResponse' + content: + application/json: + schema: + $ref: '#/components/schemas/JSONAPIErrorResponse' + description: Forbidden '429': $ref: '#/components/responses/TooManyRequestsResponse' - summary: List all AWS integrations + summary: List AWS cloud authentication persona mappings tags: - - AWS Integration - x-permission: - operator: OR - permissions: - - aws_configuration_read + - Cloud Authentication + x-unstable: |- + **Note**: This endpoint is in public beta and is subject to change. + If you have any feedback, contact [Datadog support](https://docs.datadoghq.com/help/). post: - description: Create a new AWS Account Integration Config. - operationId: CreateAWSAccount + description: Create an AWS cloud authentication persona mapping. This endpoint associates an AWS IAM principal with a Datadog user. + operationId: CreateAWSCloudAuthPersonaMapping requestBody: content: application/json: + examples: + default: + value: + data: + attributes: + account_identifier: test@test.com + arn_pattern: arn:aws:iam::123456789012:user/testuser + type: aws_cloud_auth_config schema: - $ref: '#/components/schemas/AWSAccountCreateRequest' + $ref: '#/components/schemas/AWSCloudAuthPersonaMappingCreateRequest' required: true responses: - '200': + '201': content: application/json: + examples: + default: + value: + data: + attributes: + account_identifier: test@example.com + account_uuid: 00000000-0000-0000-0000-000000000001 + arn_pattern: arn:aws:iam::123456789012:user/testuser + id: abc-123 + type: aws_cloud_auth_config schema: - $ref: '#/components/schemas/AWSAccountResponse' - description: AWS Account object + $ref: '#/components/schemas/AWSCloudAuthPersonaMappingResponse' + description: Created '400': - $ref: '#/components/responses/BadRequestResponse' + content: + application/json: + schema: + $ref: '#/components/schemas/JSONAPIErrorResponse' + description: Bad Request '403': - $ref: '#/components/responses/ForbiddenResponse' + content: + application/json: + schema: + $ref: '#/components/schemas/JSONAPIErrorResponse' + description: Forbidden '409': - $ref: '#/components/responses/ConflictResponse' + content: + application/json: + schema: + $ref: '#/components/schemas/JSONAPIErrorResponse' + description: Conflict '429': $ref: '#/components/responses/TooManyRequestsResponse' - summary: Create an AWS integration + summary: Create an AWS cloud authentication persona mapping tags: - - AWS Integration + - Cloud Authentication x-codegen-request-body-name: body - x-permission: - operator: OR - permissions: - - aws_configurations_manage - /api/v2/integration/aws/accounts/{aws_account_config_id}: + x-unstable: |- + **Note**: This endpoint is in public beta and is subject to change. + If you have any feedback, contact [Datadog support](https://docs.datadoghq.com/help/). + /api/v2/cloud_auth/aws/persona_mapping/{persona_mapping_id}: delete: - description: Delete an AWS Account Integration Config by config ID. - operationId: DeleteAWSAccount + description: Delete an AWS cloud authentication persona mapping by ID. This removes the association between an AWS IAM principal and a Datadog user. + operationId: DeleteAWSCloudAuthPersonaMapping parameters: - - $ref: '#/components/parameters/AWSAccountConfigIDPathParameter' + - $ref: '#/components/parameters/PersonaMappingID' responses: '204': description: No Content - '400': - $ref: '#/components/responses/BadRequestResponse' '403': - $ref: '#/components/responses/ForbiddenResponse' + content: + application/json: + schema: + $ref: '#/components/schemas/JSONAPIErrorResponse' + description: Forbidden '404': - $ref: '#/components/responses/NotFoundResponse' + content: + application/json: + schema: + $ref: '#/components/schemas/JSONAPIErrorResponse' + description: Not Found '429': $ref: '#/components/responses/TooManyRequestsResponse' - summary: Delete an AWS integration + summary: Delete an AWS cloud authentication persona mapping tags: - - AWS Integration - x-permission: - operator: OR - permissions: - - aws_configurations_manage + - Cloud Authentication + x-unstable: |- + **Note**: This endpoint is in public beta and is subject to change. + If you have any feedback, contact [Datadog support](https://docs.datadoghq.com/help/). get: - description: Get an AWS Account Integration Config by config ID. - operationId: GetAWSAccount + description: Get a specific AWS cloud authentication persona mapping by ID. This endpoint retrieves a single configured persona mapping that associates an AWS IAM principal with a Datadog user. + operationId: GetAWSCloudAuthPersonaMapping parameters: - - $ref: '#/components/parameters/AWSAccountConfigIDPathParameter' + - $ref: '#/components/parameters/PersonaMappingID' responses: '200': content: application/json: + examples: + default: + value: + data: + attributes: + account_identifier: test@example.com + account_uuid: 00000000-0000-0000-0000-000000000001 + arn_pattern: arn:aws:iam::123456789012:user/testuser + id: abc-123 + type: aws_cloud_auth_config schema: - $ref: '#/components/schemas/AWSAccountResponse' - description: AWS Account object - '400': - $ref: '#/components/responses/BadRequestResponse' + $ref: '#/components/schemas/AWSCloudAuthPersonaMappingResponse' + description: OK '403': - $ref: '#/components/responses/ForbiddenResponse' + content: + application/json: + schema: + $ref: '#/components/schemas/JSONAPIErrorResponse' + description: Forbidden '404': - $ref: '#/components/responses/NotFoundResponse' + content: + application/json: + schema: + $ref: '#/components/schemas/JSONAPIErrorResponse' + description: Not Found '429': $ref: '#/components/responses/TooManyRequestsResponse' - summary: Get an AWS integration by config ID + summary: Get an AWS cloud authentication persona mapping tags: - - AWS Integration - x-permission: - operator: OR - permissions: - - aws_configuration_read - patch: - description: Update an AWS Account Integration Config by config ID. - operationId: UpdateAWSAccount + - Cloud Authentication + x-unstable: |- + **Note**: This endpoint is in public beta and is subject to change. + If you have any feedback, contact [Datadog support](https://docs.datadoghq.com/help/). + /api/v2/idp/entity_integrations/{integration_id}: + delete: + description: Delete the configuration stored for a given integration in the caller's organization. + operationId: DeleteEntityIntegrationConfig parameters: - - $ref: '#/components/parameters/AWSAccountConfigIDPathParameter' - requestBody: - content: - application/json: - schema: - $ref: '#/components/schemas/AWSAccountUpdateRequest' - required: true + - $ref: '#/components/parameters/EntityIntegrationConfigID' responses: - '200': + '204': + description: No Content + '400': content: application/json: schema: - $ref: '#/components/schemas/AWSAccountResponse' - description: AWS Account object - '400': - $ref: '#/components/responses/BadRequestResponse' + $ref: '#/components/schemas/JSONAPIErrorResponse' + description: Bad Request '403': - $ref: '#/components/responses/ForbiddenResponse' + $ref: '#/components/responses/NotAuthorizedResponse' '404': - $ref: '#/components/responses/NotFoundResponse' + content: + application/json: + schema: + $ref: '#/components/schemas/JSONAPIErrorResponse' + description: Not Found '429': $ref: '#/components/responses/TooManyRequestsResponse' - summary: Update an AWS integration + summary: Delete an entity integration configuration tags: - - AWS Integration - x-codegen-request-body-name: body + - Entity Integration Configs x-permission: operator: OR permissions: - - aws_configuration_edit - /api/v2/integration/aws/available_namespaces: + - manage_integrations + x-unstable: |- + **Note**: This endpoint is in preview and is subject to change. + If you have any feedback, contact [Datadog support](https://docs.datadoghq.com/help/). get: - description: >- - Get a list of available AWS CloudWatch namespaces that can send metrics - to Datadog. - operationId: ListAWSNamespaces + description: Retrieve the configuration currently stored for a given integration in the caller's organization. + operationId: GetEntityIntegrationConfig + parameters: + - $ref: '#/components/parameters/EntityIntegrationConfigID' responses: '200': content: application/json: + example: + data: + attributes: + config: + enabled_repos: + - github_org_name: myorg + hostname: github.com + repo_name: myrepo + integration_id: github + org_id: 1234 + id: 01HJABCD12345678ABCDEFGHIJ + type: entity_integration_configs schema: - $ref: '#/components/schemas/AWSNamespacesResponse' - description: AWS Namespaces List object - '403': - $ref: '#/components/responses/ForbiddenResponse' - '429': - $ref: '#/components/responses/TooManyRequestsResponse' - summary: List available namespaces - tags: - - AWS Integration - x-permission: - operator: OR - permissions: - - aws_configuration_read - /api/v2/integration/aws/generate_new_external_id: - post: - description: Generate a new external ID for AWS role-based authentication. - operationId: CreateNewAWSExternalID - responses: - '200': + $ref: '#/components/schemas/EntityIntegrationConfigResponse' + description: OK + '400': content: application/json: schema: - $ref: '#/components/schemas/AWSNewExternalIDResponse' - description: AWS External ID object + $ref: '#/components/schemas/JSONAPIErrorResponse' + description: Bad Request '403': - $ref: '#/components/responses/ForbiddenResponse' + $ref: '#/components/responses/NotAuthorizedResponse' + '404': + content: + application/json: + schema: + $ref: '#/components/schemas/JSONAPIErrorResponse' + description: Not Found '429': $ref: '#/components/responses/TooManyRequestsResponse' - summary: Generate a new external ID + summary: Get an entity integration configuration tags: - - AWS Integration + - Entity Integration Configs x-permission: operator: OR permissions: - - aws_configuration_edit - /api/v2/integration/aws/iam_permissions: - get: - description: Get all AWS IAM permissions required for the AWS integration. - operationId: GetAWSIntegrationIAMPermissions + - integrations_read + x-unstable: |- + **Note**: This endpoint is in preview and is subject to change. + If you have any feedback, contact [Datadog support](https://docs.datadoghq.com/help/). + put: + description: |- + Create or replace the configuration for a given integration in the caller's organization. The shape of `data.attributes.config` depends on the integration: + + - For `github`: `config` must contain an `enabled_repos` array of objects with `hostname`, `github_org_name`, and `repo_name`. + - For `jira`: `config` must contain an `enabled_projects` array of objects with `hostname`, `account_id`, and `project_key`. + - For `pagerduty`: `config` must contain an `accounts` array of objects with a required `enabled` boolean and an optional `subdomain` string. + operationId: UpdateEntityIntegrationConfig + parameters: + - $ref: '#/components/parameters/EntityIntegrationConfigID' + requestBody: + content: + application/json: + examples: + default: + summary: GitHub integration configuration + value: + data: + attributes: + config: + enabled_repos: + - github_org_name: myorg + hostname: github.com + repo_name: myrepo + type: entity_integration_config_requests + jira: + summary: Jira integration configuration + value: + data: + attributes: + config: + enabled_projects: + - account_id: '123456789' + hostname: mycompany.atlassian.net + project_key: AAA + type: entity_integration_config_requests + pagerduty: + summary: PagerDuty integration configuration + value: + data: + attributes: + config: + accounts: + - enabled: true + subdomain: mycompany + type: entity_integration_config_requests + schema: + $ref: '#/components/schemas/EntityIntegrationConfigRequest' + required: true responses: '200': content: application/json: + example: + data: + attributes: + config: + enabled_repos: + - github_org_name: myorg + hostname: github.com + repo_name: myrepo + integration_id: github + org_id: 1234 + id: 01HJABCD12345678ABCDEFGHIJ + type: entity_integration_configs schema: - $ref: '#/components/schemas/AWSIntegrationIamPermissionsResponse' - description: AWS IAM Permissions object - '429': - $ref: '#/components/responses/TooManyRequestsResponse' - summary: Get AWS integration IAM permissions - tags: - - AWS Integration - /api/v2/integration/aws/logs/services: - get: - description: Get a list of AWS services that can send logs to Datadog. - operationId: ListAWSLogsServices - responses: - '200': + $ref: '#/components/schemas/EntityIntegrationConfigResponse' + description: OK + '400': content: application/json: schema: - $ref: '#/components/schemas/AWSLogsServicesResponse' - description: AWS Logs Services List object + $ref: '#/components/schemas/JSONAPIErrorResponse' + description: Bad Request '403': - $ref: '#/components/responses/ForbiddenResponse' + $ref: '#/components/responses/NotAuthorizedResponse' '429': $ref: '#/components/responses/TooManyRequestsResponse' - summary: Get list of AWS log ready services + summary: Create or update entity integration configuration tags: - - AWS Logs Integration + - Entity Integration Configs + x-codegen-request-body-name: body x-permission: operator: OR permissions: - - aws_configuration_read - /api/v2/integration/gcp/accounts: + - integrations_read + x-unstable: |- + **Note**: This endpoint is in preview and is subject to change. + If you have any feedback, contact [Datadog support](https://docs.datadoghq.com/help/). + /api/v2/integration-interfaces/elastic-cloud/accounts: get: - description: >- - List all GCP STS-enabled service accounts configured in your Datadog - account. - operationId: ListGCPSTSAccounts + description: List Elastic Cloud integration accounts. + operationId: ListElasticCloudIntegrationAccounts responses: '200': content: application/json: + examples: + default: + value: + data: + - attributes: + authentication: + auth_type: basic + username: datadog + dataflows: + elastic-cloud-metrics: + enabled: true + status: + health: DATAFLOW_HEALTH_OK + updated_at: '2026-06-25T08:30:50Z' + elastic-cloud-primary-shard-stats: + enabled: false + name: elastic-cloud-prod + settings: + tags: env:prod,team:saasint + url: https://example.es.us-central1.gcp.cloud.es.io:9243 + id: 953a0060-81ec-4221-aed4-d4733b59cd96 + type: integration-account schema: - $ref: '#/components/schemas/GCPSTSServiceAccountsResponse' + $ref: '#/components/schemas/ElasticCloudIntegrationAccountsResponse' description: OK + '400': + $ref: '#/components/responses/BadRequestResponse' '403': - $ref: '#/components/responses/NotAuthorizedResponse' + $ref: '#/components/responses/ForbiddenResponse' '404': $ref: '#/components/responses/NotFoundResponse' '429': $ref: '#/components/responses/TooManyRequestsResponse' - summary: List all GCP STS-enabled service accounts + summary: List Elastic Cloud integration accounts tags: - - GCP Integration + - Elastic Cloud Integration Accounts x-permission: operator: OR permissions: - - gcp_configuration_read + - integrations_read + x-unstable: |- + **Note**: This endpoint is in public beta. + If you have any feedback, contact [Datadog support](https://docs.datadoghq.com/help/). post: - description: Create a new entry within Datadog for your STS enabled service account. - operationId: CreateGCPSTSAccount + description: Create an Elastic Cloud integration account. + operationId: CreateElasticCloudIntegrationAccount requestBody: content: application/json: schema: - $ref: '#/components/schemas/GCPSTSServiceAccountCreateRequest' + $ref: '#/components/schemas/ElasticCloudIntegrationAccountCreateRequest' required: true responses: '201': content: application/json: + examples: + default: + value: + data: + attributes: + authentication: + auth_type: basic + username: datadog + dataflows: + elastic-cloud-metrics: + enabled: true + status: + health: DATAFLOW_HEALTH_OK + updated_at: '2026-06-25T08:30:50Z' + elastic-cloud-primary-shard-stats: + enabled: false + name: elastic-cloud-prod + settings: + tags: env:prod,team:saasint + url: https://example.es.us-central1.gcp.cloud.es.io:9243 + id: 953a0060-81ec-4221-aed4-d4733b59cd96 + type: integration-account schema: - $ref: '#/components/schemas/GCPSTSServiceAccountResponse' - description: OK + $ref: '#/components/schemas/ElasticCloudIntegrationAccountResponse' + description: Created '400': $ref: '#/components/responses/BadRequestResponse' - '401': - $ref: '#/components/responses/UnauthorizedResponse' '403': - $ref: '#/components/responses/NotAuthorizedResponse' - '409': - $ref: '#/components/responses/ConflictResponse' + $ref: '#/components/responses/ForbiddenResponse' + '404': + $ref: '#/components/responses/NotFoundResponse' + '422': + $ref: '#/components/responses/UnprocessableEntityResponse' '429': $ref: '#/components/responses/TooManyRequestsResponse' - summary: Create a new entry for your service account + summary: Create an Elastic Cloud integration account tags: - - GCP Integration + - Elastic Cloud Integration Accounts x-codegen-request-body-name: body x-permission: operator: OR permissions: - - gcp_configurations_manage - /api/v2/integration/gcp/accounts/{account_id}: + - manage_integrations + x-unstable: |- + **Note**: This endpoint is in public beta. + If you have any feedback, contact [Datadog support](https://docs.datadoghq.com/help/). + /api/v2/integration-interfaces/elastic-cloud/accounts/{account_id}: delete: - description: Delete an STS enabled GCP account from within Datadog. - operationId: DeleteGCPSTSAccount + description: Delete an Elastic Cloud integration account. + operationId: DeleteElasticCloudIntegrationAccount parameters: - - $ref: '#/components/parameters/GCPSTSServiceAccountID' + - $ref: '#/components/parameters/IntegrationAccountIdParameter' responses: - '204': - description: No Content + '200': + description: OK '400': $ref: '#/components/responses/BadRequestResponse' '403': - $ref: '#/components/responses/NotAuthorizedResponse' + $ref: '#/components/responses/ForbiddenResponse' + '404': + $ref: '#/components/responses/NotFoundResponse' '429': $ref: '#/components/responses/TooManyRequestsResponse' - summary: Delete an STS enabled GCP Account + summary: Delete an Elastic Cloud integration account tags: - - GCP Integration + - Elastic Cloud Integration Accounts x-permission: operator: OR permissions: - - gcp_configurations_manage - patch: - description: Update an STS enabled service account. - operationId: UpdateGCPSTSAccount + - manage_integrations + x-unstable: |- + **Note**: This endpoint is in public beta. + If you have any feedback, contact [Datadog support](https://docs.datadoghq.com/help/). + get: + description: Get an Elastic Cloud integration account. + operationId: GetElasticCloudIntegrationAccount parameters: - - $ref: '#/components/parameters/GCPSTSServiceAccountID' - requestBody: - content: - application/json: - schema: - $ref: '#/components/schemas/GCPSTSServiceAccountUpdateRequest' - required: true + - $ref: '#/components/parameters/IntegrationAccountIdParameter' responses: - '201': + '200': content: application/json: + examples: + default: + value: + data: + attributes: + authentication: + auth_type: basic + username: datadog + dataflows: + elastic-cloud-metrics: + enabled: true + status: + health: DATAFLOW_HEALTH_OK + updated_at: '2026-06-25T08:30:50Z' + elastic-cloud-primary-shard-stats: + enabled: false + name: elastic-cloud-prod + settings: + tags: env:prod,team:saasint + url: https://example.es.us-central1.gcp.cloud.es.io:9243 + id: 953a0060-81ec-4221-aed4-d4733b59cd96 + type: integration-account schema: - $ref: '#/components/schemas/GCPSTSServiceAccountResponse' + $ref: '#/components/schemas/ElasticCloudIntegrationAccountResponse' description: OK '400': $ref: '#/components/responses/BadRequestResponse' '403': - $ref: '#/components/responses/NotAuthorizedResponse' + $ref: '#/components/responses/ForbiddenResponse' '404': $ref: '#/components/responses/NotFoundResponse' '429': $ref: '#/components/responses/TooManyRequestsResponse' - summary: Update STS Service Account + summary: Get an Elastic Cloud integration account tags: - - GCP Integration - x-codegen-request-body-name: body - x-permission: - operator: OR - permissions: - - gcp_configuration_edit - /api/v2/integration/gcp/sts_delegate: - get: - description: >- - List your Datadog-GCP STS delegate account configured in your Datadog - account. - operationId: GetGCPSTSDelegate - responses: - '200': - content: - application/json: - schema: - $ref: '#/components/schemas/GCPSTSDelegateAccountResponse' - description: OK - '403': - $ref: '#/components/responses/NotAuthorizedResponse' - '429': - $ref: '#/components/responses/TooManyRequestsResponse' - summary: List delegate account - tags: - - GCP Integration - x-codegen-request-body-name: body + - Elastic Cloud Integration Accounts x-permission: operator: OR permissions: - - gcp_configuration_read - post: - description: Create a Datadog GCP principal. - operationId: MakeGCPSTSDelegate + - integrations_read + x-unstable: |- + **Note**: This endpoint is in public beta. + If you have any feedback, contact [Datadog support](https://docs.datadoghq.com/help/). + patch: + description: Update an Elastic Cloud integration account. Only the fields provided are changed. + operationId: UpdateElasticCloudIntegrationAccount + parameters: + - $ref: '#/components/parameters/IntegrationAccountIdParameter' requestBody: content: application/json: schema: - example: {} - type: object - description: Create a delegate service account within Datadog. - required: false - responses: - '200': - content: - application/json: - schema: - $ref: '#/components/schemas/GCPSTSDelegateAccountResponse' - description: OK - '403': - $ref: '#/components/responses/NotAuthorizedResponse' - '409': - $ref: '#/components/responses/ConflictResponse' - '429': - $ref: '#/components/responses/TooManyRequestsResponse' - summary: Create a Datadog GCP principal - tags: - - GCP Integration - x-codegen-request-body-name: body - x-permission: - operator: OR - permissions: - - gcp_configuration_edit - /api/v2/integration/ms-teams/configuration/channel/{tenant_name}/{team_name}/{channel_name}: - get: - description: >- - Get the tenant, team, and channel ID of a channel in the Datadog - Microsoft Teams integration. - operationId: GetChannelByName - parameters: - - $ref: '#/components/parameters/MicrosoftTeamsTenantNamePathParameter' - - $ref: '#/components/parameters/MicrosoftTeamsTeamNamePathParameter' - - $ref: '#/components/parameters/MicrosoftTeamsChannelNamePathParameter' + $ref: '#/components/schemas/ElasticCloudIntegrationAccountUpdateRequest' + required: true responses: '200': content: application/json: + examples: + default: + value: + data: + attributes: + authentication: + auth_type: basic + username: datadog + dataflows: + elastic-cloud-metrics: + enabled: true + status: + health: DATAFLOW_HEALTH_OK + updated_at: '2026-06-25T08:30:50Z' + elastic-cloud-primary-shard-stats: + enabled: false + name: elastic-cloud-prod + settings: + tags: env:prod,team:saasint + url: https://example.es.us-central1.gcp.cloud.es.io:9243 + id: 953a0060-81ec-4221-aed4-d4733b59cd96 + type: integration-account schema: - $ref: '#/components/schemas/MicrosoftTeamsGetChannelByNameResponse' + $ref: '#/components/schemas/ElasticCloudIntegrationAccountResponse' description: OK '400': $ref: '#/components/responses/BadRequestResponse' @@ -433,26 +588,51 @@ paths: $ref: '#/components/responses/ForbiddenResponse' '404': $ref: '#/components/responses/NotFoundResponse' + '422': + $ref: '#/components/responses/UnprocessableEntityResponse' '429': $ref: '#/components/responses/TooManyRequestsResponse' - summary: Get channel information by name + summary: Update an Elastic Cloud integration account tags: - - Microsoft Teams Integration - /api/v2/integration/ms-teams/configuration/tenant-based-handles: + - Elastic Cloud Integration Accounts + x-codegen-request-body-name: body + x-permission: + operator: OR + permissions: + - manage_integrations + x-unstable: |- + **Note**: This endpoint is in public beta. + If you have any feedback, contact [Datadog support](https://docs.datadoghq.com/help/). + /api/v2/integration-interfaces/twilio/accounts: get: - description: >- - Get a list of all tenant-based handles from the Datadog Microsoft Teams - integration. - operationId: ListTenantBasedHandles - parameters: - - $ref: '#/components/parameters/MicrosoftTeamsTenantIDQueryParameter' - - $ref: '#/components/parameters/MicrosoftTeamsHandleNameQueryParameter' + description: List Twilio integration accounts. + operationId: ListTwilioIntegrationAccounts responses: '200': content: application/json: + examples: + default: + value: + data: + - attributes: + authentication: + auth_type: basic + username: SKxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx + dataflows: + twilio-messages-logs: + enabled: true + status: + health: DATAFLOW_HEALTH_OK + updated_at: '2026-06-25T08:30:50Z' + name: twilio-prod + settings: + account_sid: ACxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx + censor_logs: true + id: 953a0060-81ec-4221-aed4-d4733b59cd96 + type: integration-account schema: - $ref: '#/components/schemas/MicrosoftTeamsTenantBasedHandlesResponse' + $ref: '#/components/schemas/TwilioIntegrationAccountsResponse' description: OK '400': $ref: '#/components/responses/BadRequestResponse' @@ -460,84 +640,133 @@ paths: $ref: '#/components/responses/ForbiddenResponse' '404': $ref: '#/components/responses/NotFoundResponse' - '412': - $ref: '#/components/responses/PreconditionFailedResponse' '429': $ref: '#/components/responses/TooManyRequestsResponse' - summary: Get all tenant-based handles + summary: List Twilio integration accounts tags: - - Microsoft Teams Integration + - Twilio Integration Accounts + x-permission: + operator: OR + permissions: + - integrations_read + x-unstable: |- + **Note**: This endpoint is in public beta. + If you have any feedback, contact [Datadog support](https://docs.datadoghq.com/help/). post: - description: Create a tenant-based handle in the Datadog Microsoft Teams integration. - operationId: CreateTenantBasedHandle + description: Create a Twilio integration account. + operationId: CreateTwilioIntegrationAccount requestBody: content: application/json: schema: - $ref: >- - #/components/schemas/MicrosoftTeamsCreateTenantBasedHandleRequest - description: Tenant-based handle payload. + $ref: '#/components/schemas/TwilioIntegrationAccountCreateRequest' required: true responses: '201': content: application/json: + examples: + default: + value: + data: + attributes: + authentication: + auth_type: basic + username: SKxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx + dataflows: + twilio-messages-logs: + enabled: true + status: + health: DATAFLOW_HEALTH_OK + updated_at: '2026-06-25T08:30:50Z' + name: twilio-prod + settings: + account_sid: ACxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx + censor_logs: true + id: 953a0060-81ec-4221-aed4-d4733b59cd96 + type: integration-account schema: - $ref: '#/components/schemas/MicrosoftTeamsTenantBasedHandleResponse' - description: CREATED + $ref: '#/components/schemas/TwilioIntegrationAccountResponse' + description: Created '400': $ref: '#/components/responses/BadRequestResponse' '403': $ref: '#/components/responses/ForbiddenResponse' '404': $ref: '#/components/responses/NotFoundResponse' - '409': - $ref: '#/components/responses/ConflictResponse' - '412': - $ref: '#/components/responses/PreconditionFailedResponse' + '422': + $ref: '#/components/responses/UnprocessableEntityResponse' '429': $ref: '#/components/responses/TooManyRequestsResponse' - summary: Create tenant-based handle + summary: Create a Twilio integration account tags: - - Microsoft Teams Integration + - Twilio Integration Accounts x-codegen-request-body-name: body - /api/v2/integration/ms-teams/configuration/tenant-based-handles/{handle_id}: + x-permission: + operator: OR + permissions: + - manage_integrations + x-unstable: |- + **Note**: This endpoint is in public beta. + If you have any feedback, contact [Datadog support](https://docs.datadoghq.com/help/). + /api/v2/integration-interfaces/twilio/accounts/{account_id}: delete: - description: >- - Delete a tenant-based handle from the Datadog Microsoft Teams - integration. - operationId: DeleteTenantBasedHandle + description: Delete a Twilio integration account. + operationId: DeleteTwilioIntegrationAccount parameters: - - $ref: >- - #/components/parameters/MicrosoftTeamsTenantBasedHandleIDPathParameter + - $ref: '#/components/parameters/IntegrationAccountIdParameter' responses: - '204': + '200': description: OK '400': $ref: '#/components/responses/BadRequestResponse' '403': $ref: '#/components/responses/ForbiddenResponse' - '412': - $ref: '#/components/responses/PreconditionFailedResponse' + '404': + $ref: '#/components/responses/NotFoundResponse' '429': $ref: '#/components/responses/TooManyRequestsResponse' - summary: Delete tenant-based handle + summary: Delete a Twilio integration account tags: - - Microsoft Teams Integration + - Twilio Integration Accounts + x-permission: + operator: OR + permissions: + - manage_integrations + x-unstable: |- + **Note**: This endpoint is in public beta. + If you have any feedback, contact [Datadog support](https://docs.datadoghq.com/help/). get: - description: >- - Get the tenant, team, and channel information of a tenant-based handle - from the Datadog Microsoft Teams integration. - operationId: GetTenantBasedHandle + description: Get a Twilio integration account. + operationId: GetTwilioIntegrationAccount parameters: - - $ref: >- - #/components/parameters/MicrosoftTeamsTenantBasedHandleIDPathParameter + - $ref: '#/components/parameters/IntegrationAccountIdParameter' responses: '200': content: application/json: + examples: + default: + value: + data: + attributes: + authentication: + auth_type: basic + username: SKxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx + dataflows: + twilio-messages-logs: + enabled: true + status: + health: DATAFLOW_HEALTH_OK + updated_at: '2026-06-25T08:30:50Z' + name: twilio-prod + settings: + account_sid: ACxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx + censor_logs: true + id: 953a0060-81ec-4221-aed4-d4733b59cd96 + type: integration-account schema: - $ref: '#/components/schemas/MicrosoftTeamsTenantBasedHandleResponse' + $ref: '#/components/schemas/TwilioIntegrationAccountResponse' description: OK '400': $ref: '#/components/responses/BadRequestResponse' @@ -545,35 +774,55 @@ paths: $ref: '#/components/responses/ForbiddenResponse' '404': $ref: '#/components/responses/NotFoundResponse' - '412': - $ref: '#/components/responses/PreconditionFailedResponse' '429': $ref: '#/components/responses/TooManyRequestsResponse' - summary: Get tenant-based handle information + summary: Get a Twilio integration account tags: - - Microsoft Teams Integration + - Twilio Integration Accounts + x-permission: + operator: OR + permissions: + - integrations_read + x-unstable: |- + **Note**: This endpoint is in public beta. + If you have any feedback, contact [Datadog support](https://docs.datadoghq.com/help/). patch: - description: >- - Update a tenant-based handle from the Datadog Microsoft Teams - integration. - operationId: UpdateTenantBasedHandle + description: Update a Twilio integration account. Only the fields provided are changed. + operationId: UpdateTwilioIntegrationAccount parameters: - - $ref: >- - #/components/parameters/MicrosoftTeamsTenantBasedHandleIDPathParameter + - $ref: '#/components/parameters/IntegrationAccountIdParameter' requestBody: content: application/json: schema: - $ref: >- - #/components/schemas/MicrosoftTeamsUpdateTenantBasedHandleRequest - description: Tenant-based handle payload. + $ref: '#/components/schemas/TwilioIntegrationAccountUpdateRequest' required: true responses: '200': content: application/json: + examples: + default: + value: + data: + attributes: + authentication: + auth_type: basic + username: SKxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx + dataflows: + twilio-messages-logs: + enabled: true + status: + health: DATAFLOW_HEALTH_OK + updated_at: '2026-06-25T08:30:50Z' + name: twilio-prod + settings: + account_sid: ACxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx + censor_logs: true + id: 953a0060-81ec-4221-aed4-d4733b59cd96 + type: integration-account schema: - $ref: '#/components/schemas/MicrosoftTeamsTenantBasedHandleResponse' + $ref: '#/components/schemas/TwilioIntegrationAccountResponse' description: OK '400': $ref: '#/components/responses/BadRequestResponse' @@ -581,304 +830,459 @@ paths: $ref: '#/components/responses/ForbiddenResponse' '404': $ref: '#/components/responses/NotFoundResponse' - '409': - $ref: '#/components/responses/ConflictResponse' - '412': - $ref: '#/components/responses/PreconditionFailedResponse' + '422': + $ref: '#/components/responses/UnprocessableEntityResponse' '429': $ref: '#/components/responses/TooManyRequestsResponse' - summary: Update tenant-based handle + summary: Update a Twilio integration account tags: - - Microsoft Teams Integration + - Twilio Integration Accounts x-codegen-request-body-name: body - /api/v2/integration/ms-teams/configuration/workflows-webhook-handles: + x-permission: + operator: OR + permissions: + - manage_integrations + x-unstable: |- + **Note**: This endpoint is in public beta. + If you have any feedback, contact [Datadog support](https://docs.datadoghq.com/help/). + /api/v2/integration/aws/accounts: get: - description: >- - Get a list of all Workflows webhook handles from the Datadog Microsoft - Teams integration. - operationId: ListWorkflowsWebhookHandles + description: Get a list of AWS Account Integration Configs. + operationId: ListAWSAccounts parameters: - - $ref: >- - #/components/parameters/MicrosoftTeamsWorkflowsWebhookHandleNameQueryParameter + - description: |- + Optional query parameter to filter accounts by AWS Account ID. + If not provided, all accounts are returned. + example: '123456789012' + in: query + name: aws_account_id + required: false + schema: + type: string responses: '200': content: application/json: + examples: + default: + value: + data: [] schema: - $ref: >- - #/components/schemas/MicrosoftTeamsWorkflowsWebhookHandlesResponse - description: OK - '400': - $ref: '#/components/responses/BadRequestResponse' + $ref: '#/components/schemas/AWSAccountsResponse' + description: AWS Accounts List object '403': $ref: '#/components/responses/ForbiddenResponse' - '404': - $ref: '#/components/responses/NotFoundResponse' - '412': - $ref: '#/components/responses/PreconditionFailedResponse' '429': $ref: '#/components/responses/TooManyRequestsResponse' - summary: Get all Workflows webhook handles + summary: List all AWS integrations tags: - - Microsoft Teams Integration + - AWS Integration + x-permission: + operator: OR + permissions: + - aws_configuration_read post: - description: >- - Create a Workflows webhook handle in the Datadog Microsoft Teams - integration. - operationId: CreateWorkflowsWebhookHandle + description: Create a new AWS Account Integration Config. + operationId: CreateAWSAccount requestBody: content: application/json: + examples: + default: + value: + data: + attributes: + account_tags: + - env:prod + auth_config: + access_key_id: ACCESS_KEY_ID + secret_access_key: SECRET_ACCESS_KEY + aws_account_id: '123456789012' + aws_partition: aws + aws_regions: + include_all: true + logs_config: + lambda_forwarder: + lambdas: + - arn:aws:lambda:us-east-1:123456789012:function:DatadogLambdaLogForwarder + sources: + - s3 + metrics_config: + automute_enabled: true + collect_cloudwatch_alarms: false + collect_custom_metrics: false + enabled: true + metric_name_filters: + - include_only: + - aws.ec2.network_in + namespace: AWS/EC2 + tag_filters: + - namespace: AWS/EC2 + resources_config: + cloud_security_posture_management_collection: false + extended_collection: true + type: account schema: - $ref: >- - #/components/schemas/MicrosoftTeamsCreateWorkflowsWebhookHandleRequest - description: Workflows Webhook handle payload. + $ref: '#/components/schemas/AWSAccountCreateRequest' required: true responses: - '201': + '200': content: application/json: + examples: + default: + value: + data: + attributes: + auth_config: + access_key_id: ACCESS_KEY_ID + aws_account_id: '123456789012' + aws_partition: aws + id: 00000000-0000-0000-0000-000000000001 + type: account schema: - $ref: >- - #/components/schemas/MicrosoftTeamsWorkflowsWebhookHandleResponse - description: CREATED + $ref: '#/components/schemas/AWSAccountResponse' + description: AWS Account object '400': $ref: '#/components/responses/BadRequestResponse' '403': $ref: '#/components/responses/ForbiddenResponse' - '404': - $ref: '#/components/responses/NotFoundResponse' '409': $ref: '#/components/responses/ConflictResponse' - '412': - $ref: '#/components/responses/PreconditionFailedResponse' '429': $ref: '#/components/responses/TooManyRequestsResponse' - summary: Create Workflows webhook handle + summary: Create an AWS integration tags: - - Microsoft Teams Integration + - AWS Integration x-codegen-request-body-name: body - /api/v2/integration/ms-teams/configuration/workflows-webhook-handles/{handle_id}: + x-permission: + operator: OR + permissions: + - aws_configurations_manage + /api/v2/integration/aws/accounts/{aws_account_config_id}: delete: - description: >- - Delete a Workflows webhook handle from the Datadog Microsoft Teams - integration. - operationId: DeleteWorkflowsWebhookHandle + description: Delete an AWS Account Integration Config by config ID. + operationId: DeleteAWSAccount parameters: - - $ref: >- - #/components/parameters/MicrosoftTeamsWorkflowsWebhookHandleIDPathParameter + - $ref: '#/components/parameters/AWSAccountConfigIDPathParameter' responses: '204': - description: OK + description: No Content '400': $ref: '#/components/responses/BadRequestResponse' '403': $ref: '#/components/responses/ForbiddenResponse' - '412': - $ref: '#/components/responses/PreconditionFailedResponse' + '404': + $ref: '#/components/responses/NotFoundResponse' '429': $ref: '#/components/responses/TooManyRequestsResponse' - summary: Delete Workflows webhook handle + summary: Delete an AWS integration tags: - - Microsoft Teams Integration + - AWS Integration + x-permission: + operator: OR + permissions: + - aws_configurations_manage get: - description: >- - Get the name of a Workflows webhook handle from the Datadog Microsoft - Teams integration. - operationId: GetWorkflowsWebhookHandle + description: Get an AWS Account Integration Config by config ID. + operationId: GetAWSAccount parameters: - - $ref: >- - #/components/parameters/MicrosoftTeamsWorkflowsWebhookHandleIDPathParameter + - $ref: '#/components/parameters/AWSAccountConfigIDPathParameter' responses: '200': content: application/json: + examples: + default: + value: + data: + attributes: + auth_config: + access_key_id: ACCESS_KEY_ID + aws_account_id: '123456789012' + aws_partition: aws + id: 00000000-0000-0000-0000-000000000002 + type: account schema: - $ref: >- - #/components/schemas/MicrosoftTeamsWorkflowsWebhookHandleResponse - description: OK + $ref: '#/components/schemas/AWSAccountResponse' + description: AWS Account object '400': $ref: '#/components/responses/BadRequestResponse' '403': $ref: '#/components/responses/ForbiddenResponse' '404': $ref: '#/components/responses/NotFoundResponse' - '412': - $ref: '#/components/responses/PreconditionFailedResponse' '429': $ref: '#/components/responses/TooManyRequestsResponse' - summary: Get Workflows webhook handle information + summary: Get an AWS integration by config ID tags: - - Microsoft Teams Integration + - AWS Integration + x-permission: + operator: OR + permissions: + - aws_configuration_read patch: - description: >- - Update a Workflows webhook handle from the Datadog Microsoft Teams - integration. - operationId: UpdateWorkflowsWebhookHandle + description: Update an AWS Account Integration Config by config ID. + operationId: UpdateAWSAccount parameters: - - $ref: >- - #/components/parameters/MicrosoftTeamsWorkflowsWebhookHandleIDPathParameter + - $ref: '#/components/parameters/AWSAccountConfigIDPathParameter' requestBody: content: application/json: + examples: + default: + value: + data: + attributes: + account_tags: + - env:prod + auth_config: + access_key_id: ACCESS_KEY_ID + secret_access_key: SECRET_ACCESS_KEY + aws_account_id: '123456789012' + aws_partition: aws + aws_regions: + include_all: true + logs_config: + lambda_forwarder: + lambdas: + - arn:aws:lambda:us-east-1:123456789012:function:DatadogLambdaLogForwarder + sources: + - s3 + metrics_config: + automute_enabled: true + collect_cloudwatch_alarms: false + collect_custom_metrics: false + enabled: true + metric_name_filters: + - include_only: + - aws.ec2.network_in + namespace: AWS/EC2 + tag_filters: + - namespace: AWS/EC2 + resources_config: + cloud_security_posture_management_collection: false + extended_collection: true + id: 00000000-abcd-0001-0000-000000000000 + type: account schema: - $ref: >- - #/components/schemas/MicrosoftTeamsUpdateWorkflowsWebhookHandleRequest - description: Workflows Webhook handle payload. + $ref: '#/components/schemas/AWSAccountUpdateRequest' required: true responses: '200': content: application/json: + examples: + default: + value: + data: + attributes: + auth_config: + access_key_id: ACCESS_KEY_ID + aws_account_id: '123456789012' + aws_partition: aws + id: 00000000-0000-0000-0000-000000000003 + type: account schema: - $ref: >- - #/components/schemas/MicrosoftTeamsWorkflowsWebhookHandleResponse - description: OK + $ref: '#/components/schemas/AWSAccountResponse' + description: AWS Account object '400': $ref: '#/components/responses/BadRequestResponse' '403': $ref: '#/components/responses/ForbiddenResponse' '404': $ref: '#/components/responses/NotFoundResponse' - '409': - $ref: '#/components/responses/ConflictResponse' - '412': - $ref: '#/components/responses/PreconditionFailedResponse' '429': $ref: '#/components/responses/TooManyRequestsResponse' - summary: Update Workflows webhook handle + summary: Update an AWS integration tags: - - Microsoft Teams Integration + - AWS Integration x-codegen-request-body-name: body - /api/v2/integration/opsgenie/services: - get: - description: Get a list of all services from the Datadog Opsgenie integration. - operationId: ListOpsgenieServices + x-permission: + operator: OR + permissions: + - aws_configuration_edit + /api/v2/integration/aws/accounts/{aws_account_config_id}/ccm_config: + delete: + description: |- + Delete the Cloud Cost Management config for an AWS Account Integration Config using Cost and Usage Report + (CUR) 2.0 by config ID. + operationId: DeleteAWSAccountCCMConfig + parameters: + - $ref: '#/components/parameters/AWSAccountConfigIDPathParameter' responses: - '200': - content: - application/json: - schema: - $ref: '#/components/schemas/OpsgenieServicesResponse' - description: OK + '204': + description: No Content '403': $ref: '#/components/responses/ForbiddenResponse' + '404': + $ref: '#/components/responses/NotFoundResponse' '429': $ref: '#/components/responses/TooManyRequestsResponse' - summary: Get all service objects + summary: Delete AWS CCM config tags: - - Opsgenie Integration + - AWS Integration x-permission: operator: OR permissions: - - integrations_read - post: - description: Create a new service object in the Opsgenie integration. - operationId: CreateOpsgenieService - requestBody: - content: - application/json: - schema: - $ref: '#/components/schemas/OpsgenieServiceCreateRequest' - description: Opsgenie service payload - required: true + - aws_configuration_edit + x-unstable: |- + **Note**: This endpoint is in preview and may be subject to change. + If you have any feedback, contact [Datadog support](https://docs.datadoghq.com/help/). + get: + description: |- + Get the Cloud Cost Management config for an AWS Account Integration Config using Cost and Usage Report + (CUR) 2.0 by config ID. + operationId: GetAWSAccountCCMConfig + parameters: + - $ref: '#/components/parameters/AWSAccountConfigIDPathParameter' responses: - '201': + '200': content: application/json: + examples: + default: + value: + data: + attributes: + data_export_configs: + - bucket_name: billing + bucket_region: us-east-1 + report_name: cost-and-usage-report + report_prefix: reports + report_type: CUR2.0 + id: 00000000-0000-0000-0000-000000000004 + type: ccm_config schema: - $ref: '#/components/schemas/OpsgenieServiceResponse' - description: CREATED - '400': - $ref: '#/components/responses/BadRequestResponse' - '403': - $ref: '#/components/responses/ForbiddenResponse' - '409': - $ref: '#/components/responses/ConflictResponse' - '429': - $ref: '#/components/responses/TooManyRequestsResponse' - summary: Create a new service object - tags: - - Opsgenie Integration - x-codegen-request-body-name: body - x-permission: - operator: OR - permissions: - - manage_integrations - /api/v2/integration/opsgenie/services/{integration_service_id}: - delete: - description: Delete a single service object in the Datadog Opsgenie integration. - operationId: DeleteOpsgenieService - parameters: - - $ref: '#/components/parameters/OpsgenieServiceIDPathParameter' - responses: - '204': - description: OK - '400': - $ref: '#/components/responses/BadRequestResponse' + $ref: '#/components/schemas/AWSCcmConfigResponse' + description: AWS CCM Config object '403': $ref: '#/components/responses/ForbiddenResponse' '404': $ref: '#/components/responses/NotFoundResponse' '429': $ref: '#/components/responses/TooManyRequestsResponse' - summary: Delete a single service object + summary: Get AWS CCM config tags: - - Opsgenie Integration + - AWS Integration x-permission: operator: OR permissions: - - manage_integrations - get: - description: Get a single service from the Datadog Opsgenie integration. - operationId: GetOpsgenieService + - aws_configuration_read + x-unstable: |- + **Note**: This endpoint is in preview and may be subject to change. + If you have any feedback, contact [Datadog support](https://docs.datadoghq.com/help/). + patch: + description: |- + Update the Cloud Cost Management config for an AWS Account Integration Config using Cost and Usage Report + (CUR) 2.0 by config ID. + operationId: UpdateAWSAccountCCMConfig parameters: - - $ref: '#/components/parameters/OpsgenieServiceIDPathParameter' + - $ref: '#/components/parameters/AWSAccountConfigIDPathParameter' + requestBody: + content: + application/json: + examples: + default: + value: + data: + attributes: + ccm_config: + data_export_configs: + - bucket_name: billing + bucket_region: us-east-1 + report_name: cost-and-usage-report + report_prefix: reports + report_type: CUR2.0 + type: ccm_config + schema: + $ref: '#/components/schemas/AWSCcmConfigRequest' + description: Update a Cloud Cost Management config for an AWS Account Integration Config. + required: true responses: '200': content: application/json: + examples: + default: + value: + data: + attributes: + data_export_configs: + - bucket_name: billing + bucket_region: us-east-1 + report_name: cost-and-usage-report + report_prefix: reports + report_type: CUR2.0 + id: 00000000-0000-0000-0000-000000000006 + type: ccm_config schema: - $ref: '#/components/schemas/OpsgenieServiceResponse' - description: OK - '400': - $ref: '#/components/responses/BadRequestResponse' + $ref: '#/components/schemas/AWSCcmConfigResponse' + description: AWS CCM Config object '403': $ref: '#/components/responses/ForbiddenResponse' '404': $ref: '#/components/responses/NotFoundResponse' - '409': - $ref: '#/components/responses/ConflictResponse' '429': $ref: '#/components/responses/TooManyRequestsResponse' - summary: Get a single service object + summary: Update AWS CCM config tags: - - Opsgenie Integration + - AWS Integration + x-codegen-request-body-name: body x-permission: operator: OR permissions: - - integrations_read - patch: - description: Update a single service object in the Datadog Opsgenie integration. - operationId: UpdateOpsgenieService + - aws_configuration_edit + x-unstable: |- + **Note**: This endpoint is in preview and may be subject to change. + If you have any feedback, contact [Datadog support](https://docs.datadoghq.com/help/). + post: + description: |- + Create the Cloud Cost Management config for an AWS Account Integration Config using Cost and Usage Report + (CUR) 2.0 by config ID. + operationId: CreateAWSAccountCCMConfig parameters: - - $ref: '#/components/parameters/OpsgenieServiceIDPathParameter' + - $ref: '#/components/parameters/AWSAccountConfigIDPathParameter' requestBody: content: application/json: + examples: + default: + value: + data: + attributes: + ccm_config: + data_export_configs: + - bucket_name: billing + bucket_region: us-east-1 + report_name: cost-and-usage-report + report_prefix: reports + report_type: CUR2.0 + type: ccm_config schema: - $ref: '#/components/schemas/OpsgenieServiceUpdateRequest' - description: Opsgenie service payload. + $ref: '#/components/schemas/AWSCcmConfigRequest' + description: Create a Cloud Cost Management config for an AWS Account Integration Config. required: true responses: '200': content: application/json: + examples: + default: + value: + data: + attributes: + data_export_configs: + - bucket_name: billing + bucket_region: us-east-1 + report_name: cost-and-usage-report + report_prefix: reports + report_type: CUR2.0 + id: 00000000-0000-0000-0000-000000000005 + type: ccm_config schema: - $ref: '#/components/schemas/OpsgenieServiceResponse' - description: OK - '400': - $ref: '#/components/responses/BadRequestResponse' + $ref: '#/components/schemas/AWSCcmConfigResponse' + description: AWS CCM Config object '403': $ref: '#/components/responses/ForbiddenResponse' '404': @@ -887,521 +1291,849 @@ paths: $ref: '#/components/responses/ConflictResponse' '429': $ref: '#/components/responses/TooManyRequestsResponse' - summary: Update a single service object + summary: Create AWS CCM config tags: - - Opsgenie Integration + - AWS Integration x-codegen-request-body-name: body x-permission: operator: OR permissions: - - manage_integrations - /api/v2/integrations/cloudflare/accounts: + - aws_configuration_edit + x-unstable: |- + **Note**: This endpoint is in preview and may be subject to change. + If you have any feedback, contact [Datadog support](https://docs.datadoghq.com/help/). + /api/v2/integration/aws/accounts/{aws_account_config_id}/metric_name_filter_preview: get: - description: List Cloudflare accounts. - operationId: ListCloudflareAccounts + description: Preview which collected CloudWatch metrics would be filtered by the account's saved metric name filters. + operationId: GetAWSMetricNameFilterPreview + parameters: + - $ref: '#/components/parameters/AWSAccountConfigIDPathParameter' responses: '200': content: application/json: + examples: + default: + value: + data: + attributes: + namespaces: + - filters: + - match_count: 1 + pattern: aws.ec2.network_in + metrics: + - cw_name: NetworkIn + dd_names: + - filtered: true + name: aws.ec2.network_in + namespace: AWS/EC2 + id: 00000000-0000-0000-0000-000000000001 + type: metric_name_filter_preview schema: - $ref: '#/components/schemas/CloudflareAccountsResponse' - description: OK - '400': - $ref: '#/components/responses/BadRequestResponse' + $ref: '#/components/schemas/AWSMetricNameFilterPreviewResponse' + description: AWS metric name filter preview result '403': $ref: '#/components/responses/ForbiddenResponse' '404': $ref: '#/components/responses/NotFoundResponse' '429': $ref: '#/components/responses/TooManyRequestsResponse' - summary: List Cloudflare accounts + summary: Get AWS metric name filter preview tags: - - Cloudflare Integration + - AWS Integration x-permission: operator: OR permissions: - - integrations_read + - aws_configuration_read + x-unstable: |- + **Note**: This endpoint is in preview and is subject to change. + If you have any feedback, contact [Datadog support](https://docs.datadoghq.com/help/). post: - description: Create a Cloudflare account. - operationId: CreateCloudflareAccount + description: |- + Preview which collected CloudWatch metrics would be filtered by the supplied metric name filters. + The filters are not persisted. + operationId: PreviewAWSMetricNameFilter + parameters: + - $ref: '#/components/parameters/AWSAccountConfigIDPathParameter' requestBody: content: application/json: + examples: + default: + value: + data: + attributes: + metric_name_filters: + - exclude_only: + - aws.ec2.network_in + namespace: AWS/EC2 + type: metric_name_filter_preview schema: - $ref: '#/components/schemas/CloudflareAccountCreateRequest' + $ref: '#/components/schemas/AWSMetricNameFilterPreviewRequest' + description: The metric name filters to preview. required: true responses: - '201': + '200': content: application/json: + examples: + default: + value: + data: + attributes: + namespaces: + - filters: + - match_count: 1 + pattern: aws.ec2.network_in + metrics: + - cw_name: NetworkIn + dd_names: + - filtered: true + name: aws.ec2.network_in + namespace: AWS/EC2 + id: 00000000-0000-0000-0000-000000000001 + type: metric_name_filter_preview schema: - $ref: '#/components/schemas/CloudflareAccountResponse' - description: CREATED + $ref: '#/components/schemas/AWSMetricNameFilterPreviewResponse' + description: AWS metric name filter preview result '400': - $ref: '#/components/responses/BadRequestResponse' + content: + application/json: + schema: + $ref: '#/components/schemas/JSONAPIErrorResponse' + description: Bad Request '403': $ref: '#/components/responses/ForbiddenResponse' '404': $ref: '#/components/responses/NotFoundResponse' '429': $ref: '#/components/responses/TooManyRequestsResponse' - summary: Add Cloudflare account + summary: Preview AWS metric name filter tags: - - Cloudflare Integration + - AWS Integration x-codegen-request-body-name: body x-permission: operator: OR permissions: - - manage_integrations - /api/v2/integrations/cloudflare/accounts/{account_id}: - delete: - description: Delete a Cloudflare account. - operationId: DeleteCloudflareAccount - parameters: - - description: None - in: path - name: account_id - required: true - schema: - type: string - responses: - '204': - description: OK - '400': - $ref: '#/components/responses/BadRequestResponse' - '403': - $ref: '#/components/responses/ForbiddenResponse' - '404': - $ref: '#/components/responses/NotFoundResponse' - '429': - $ref: '#/components/responses/TooManyRequestsResponse' - summary: Delete Cloudflare account - tags: - - Cloudflare Integration - x-permission: - operator: OR - permissions: - - manage_integrations + - aws_configuration_read + x-unstable: |- + **Note**: This endpoint is in preview and is subject to change. + If you have any feedback, contact [Datadog support](https://docs.datadoghq.com/help/). + /api/v2/integration/aws/available_namespaces: get: - description: Get a Cloudflare account. - operationId: GetCloudflareAccount - parameters: - - description: None - in: path - name: account_id - required: true - schema: - type: string + description: Get a list of available AWS CloudWatch namespaces that can send metrics to Datadog. + operationId: ListAWSNamespaces responses: '200': content: application/json: + examples: + default: + value: + data: + attributes: + namespaces: + - AWS/EC2 + id: namespaces + type: namespaces schema: - $ref: '#/components/schemas/CloudflareAccountResponse' - description: OK - '400': - $ref: '#/components/responses/BadRequestResponse' + $ref: '#/components/schemas/AWSNamespacesResponse' + description: AWS Namespaces List object '403': $ref: '#/components/responses/ForbiddenResponse' - '404': - $ref: '#/components/responses/NotFoundResponse' '429': $ref: '#/components/responses/TooManyRequestsResponse' - summary: Get Cloudflare account + summary: List available namespaces tags: - - Cloudflare Integration + - AWS Integration x-permission: operator: OR permissions: - - integrations_read - patch: - description: Update a Cloudflare account. - operationId: UpdateCloudflareAccount - parameters: - - description: None - in: path - name: account_id - required: true - schema: - type: string + - aws_configuration_read + /api/v2/integration/aws/event_bridge: + delete: + description: Delete an Amazon EventBridge source. + operationId: DeleteAWSEventBridgeSource requestBody: content: application/json: + examples: + default: + value: + data: + attributes: + account_id: '123456789012' + event_generator_name: app-alerts-zyxw3210 + region: us-east-1 + type: event_bridge schema: - $ref: '#/components/schemas/CloudflareAccountUpdateRequest' + $ref: '#/components/schemas/AWSEventBridgeDeleteRequest' + description: Delete the Amazon EventBridge source with the given name, region, and associated AWS account. required: true responses: '200': content: application/json: + examples: + default: + value: + data: + attributes: + status: empty + id: delete_event_bridge + type: event_bridge schema: - $ref: '#/components/schemas/CloudflareAccountResponse' - description: OK + $ref: '#/components/schemas/AWSEventBridgeDeleteResponse' + description: Amazon EventBridge source deleted. '400': $ref: '#/components/responses/BadRequestResponse' '403': $ref: '#/components/responses/ForbiddenResponse' - '404': - $ref: '#/components/responses/NotFoundResponse' '429': $ref: '#/components/responses/TooManyRequestsResponse' - summary: Update Cloudflare account + summary: Delete an Amazon EventBridge source tags: - - Cloudflare Integration + - AWS Integration x-codegen-request-body-name: body x-permission: operator: OR permissions: - manage_integrations - /api/v2/integrations/confluent-cloud/accounts: get: - description: List Confluent accounts. - operationId: ListConfluentAccount + description: Get all Amazon EventBridge sources. + operationId: ListAWSEventBridgeSources responses: '200': content: application/json: + examples: + default: + value: + data: + attributes: + accounts: [] + is_installed: true + id: get_event_bridge + type: event_bridge schema: - $ref: '#/components/schemas/ConfluentAccountsResponse' - description: OK + $ref: '#/components/schemas/AWSEventBridgeListResponse' + description: Amazon EventBridge sources list. '400': $ref: '#/components/responses/BadRequestResponse' '403': $ref: '#/components/responses/ForbiddenResponse' - '404': - $ref: '#/components/responses/NotFoundResponse' '429': $ref: '#/components/responses/TooManyRequestsResponse' - summary: List Confluent accounts + summary: Get all Amazon EventBridge sources tags: - - Confluent Cloud + - AWS Integration x-permission: operator: OR permissions: - integrations_read post: - description: Create a Confluent account. - operationId: CreateConfluentAccount + description: Create an Amazon EventBridge source. + operationId: CreateAWSEventBridgeSource requestBody: content: application/json: + examples: + default: + value: + data: + attributes: + account_id: '123456789012' + create_event_bus: true + event_generator_name: app-alerts + region: us-east-1 + type: event_bridge schema: - $ref: '#/components/schemas/ConfluentAccountCreateRequest' - description: Confluent payload + $ref: '#/components/schemas/AWSEventBridgeCreateRequest' + description: Create an Amazon EventBridge source for an AWS account with a given name and region. required: true responses: - '201': + '200': content: application/json: + examples: + default: + value: + data: + attributes: + event_source_name: app-alerts-zyxw3210 + has_bus: true + region: us-east-1 + status: created + id: create_event_bridge + type: event_bridge schema: - $ref: '#/components/schemas/ConfluentAccountResponse' - description: OK + $ref: '#/components/schemas/AWSEventBridgeCreateResponse' + description: Amazon EventBridge source created. '400': $ref: '#/components/responses/BadRequestResponse' '403': $ref: '#/components/responses/ForbiddenResponse' - '404': - $ref: '#/components/responses/NotFoundResponse' + '409': + $ref: '#/components/responses/ConflictResponse' '429': $ref: '#/components/responses/TooManyRequestsResponse' - summary: Add Confluent account + summary: Create an Amazon EventBridge source tags: - - Confluent Cloud + - AWS Integration x-codegen-request-body-name: body x-permission: operator: OR permissions: - manage_integrations - /api/v2/integrations/confluent-cloud/accounts/{account_id}: - delete: - description: Delete a Confluent account with the provided account ID. - operationId: DeleteConfluentAccount - parameters: - - $ref: '#/components/parameters/ConfluentAccountID' + /api/v2/integration/aws/generate_new_external_id: + post: + description: Generate a new external ID for AWS role-based authentication. + operationId: CreateNewAWSExternalID responses: - '204': - description: OK - '400': - $ref: '#/components/responses/BadRequestResponse' + '200': + content: + application/json: + examples: + default: + value: + data: + attributes: + external_id: abc-123 + id: external_id + type: external_id + schema: + $ref: '#/components/schemas/AWSNewExternalIDResponse' + description: AWS External ID object '403': $ref: '#/components/responses/ForbiddenResponse' - '404': - $ref: '#/components/responses/NotFoundResponse' '429': $ref: '#/components/responses/TooManyRequestsResponse' - summary: Delete Confluent account + summary: Generate a new external ID tags: - - Confluent Cloud + - AWS Integration x-permission: operator: OR permissions: - - manage_integrations + - aws_configuration_edit + /api/v2/integration/aws/iam_permissions: get: - description: Get the Confluent account with the provided account ID. - operationId: GetConfluentAccount - parameters: - - $ref: '#/components/parameters/ConfluentAccountID' + description: Get all AWS IAM permissions required for the AWS integration. + operationId: GetAWSIntegrationIAMPermissions responses: '200': content: application/json: + examples: + default: + value: + data: + attributes: + permissions: + - account:GetContactInformation + id: permissions + type: permissions schema: - $ref: '#/components/schemas/ConfluentAccountResponse' - description: OK - '400': - $ref: '#/components/responses/BadRequestResponse' + $ref: '#/components/schemas/AWSIntegrationIamPermissionsResponse' + description: AWS IAM Permissions object + '429': + $ref: '#/components/responses/TooManyRequestsResponse' + summary: Get AWS integration IAM permissions + tags: + - AWS Integration + /api/v2/integration/aws/iam_permissions/resource_collection: + get: + description: Get all resource collection AWS IAM permissions required for the AWS integration. + operationId: GetAWSIntegrationIAMPermissionsResourceCollection + responses: + '200': + content: + application/json: + examples: + default: + value: + data: + attributes: + permissions: + - account:GetContactInformation + id: permissions + type: permissions + schema: + $ref: '#/components/schemas/AWSIntegrationIamPermissionsResponse' + description: AWS integration resource collection IAM permissions. + '429': + $ref: '#/components/responses/TooManyRequestsResponse' + summary: Get resource collection IAM permissions + tags: + - AWS Integration + /api/v2/integration/aws/iam_permissions/standard: + get: + description: Get all standard AWS IAM permissions required for the AWS integration. + operationId: GetAWSIntegrationIAMPermissionsStandard + responses: + '200': + content: + application/json: + examples: + default: + value: + data: + attributes: + permissions: + - account:GetContactInformation + id: permissions + type: permissions + schema: + $ref: '#/components/schemas/AWSIntegrationIamPermissionsResponse' + description: AWS integration standard IAM permissions. + '429': + $ref: '#/components/responses/TooManyRequestsResponse' + summary: Get AWS integration standard IAM permissions + tags: + - AWS Integration + /api/v2/integration/aws/logs/services: + get: + description: Get a list of AWS services that can send logs to Datadog. + operationId: ListAWSLogsServices + responses: + '200': + content: + application/json: + examples: + default: + value: + data: + attributes: + logs_services: + - s3 + id: logs_services + type: logs_services + schema: + $ref: '#/components/schemas/AWSLogsServicesResponse' + description: AWS Logs Services List object '403': $ref: '#/components/responses/ForbiddenResponse' - '404': - $ref: '#/components/responses/NotFoundResponse' '429': $ref: '#/components/responses/TooManyRequestsResponse' - summary: Get Confluent account + summary: Get list of AWS log ready services tags: - - Confluent Cloud + - AWS Logs Integration x-permission: operator: OR permissions: - - integrations_read - patch: - description: Update the Confluent account with the provided account ID. - operationId: UpdateConfluentAccount - parameters: - - $ref: '#/components/parameters/ConfluentAccountID' + - aws_configuration_read + /api/v2/integration/aws/validate_ccm_config: + post: + description: |- + Validate a Cloud Cost Management config for an AWS account using Cost and Usage Report + (CUR) 2.0 against Datadog's ingest requirements without persisting it. + operationId: ValidateAWSCCMConfig requestBody: content: application/json: + examples: + default: + value: + data: + attributes: + account_id: '123456789012' + bucket_name: billing + bucket_region: us-east-1 + report_name: cost-and-usage-report + report_prefix: reports + type: ccm_config_validation schema: - $ref: '#/components/schemas/ConfluentAccountUpdateRequest' - description: Confluent payload + $ref: '#/components/schemas/AWSCcmConfigValidationRequest' + description: Validate a Cloud Cost Management config for an AWS account integration config. required: true responses: '200': content: application/json: + examples: + default: + value: + data: + attributes: + account_id: '123456789012' + issues: + - code: EXPORT_NOT_FOUND + description: no CUR 2.0 export named "cost-and-usage-report" found + id: ccm_config_validation + type: ccm_config_validation schema: - $ref: '#/components/schemas/ConfluentAccountResponse' - description: OK + $ref: '#/components/schemas/AWSCcmConfigValidationResponse' + description: AWS CCM Config validation result '400': - $ref: '#/components/responses/BadRequestResponse' + content: + application/json: + schema: + $ref: '#/components/schemas/JSONAPIErrorResponse' + description: Bad Request '403': $ref: '#/components/responses/ForbiddenResponse' - '404': - $ref: '#/components/responses/NotFoundResponse' '429': $ref: '#/components/responses/TooManyRequestsResponse' - summary: Update Confluent account + '503': + content: + application/json: + schema: + $ref: '#/components/schemas/JSONAPIErrorResponse' + description: Service Unavailable + summary: Validate AWS CCM config tags: - - Confluent Cloud + - AWS Integration x-codegen-request-body-name: body x-permission: operator: OR permissions: - - manage_integrations - /api/v2/integrations/confluent-cloud/accounts/{account_id}/resources: + - cloud_cost_management_read + - cloud_cost_management_write + x-unstable: |- + **Note**: This endpoint is in Preview and may be subject to change. + If you have any feedback, contact [Datadog support](https://docs.datadoghq.com/help/). + /api/v2/integration/gcp/accounts: get: - description: >- - Get a Confluent resource for the account associated with the provided - ID. - operationId: ListConfluentResource - parameters: - - $ref: '#/components/parameters/ConfluentAccountID' + description: List all GCP STS-enabled service accounts configured in your Datadog account. + operationId: ListGCPSTSAccounts responses: '200': content: application/json: + examples: + default: + value: + data: + - attributes: + automute: true + client_email: service-account@test-project.iam.gserviceaccount.com + is_cspm_enabled: true + resource_collection_enabled: true + id: abc-123 + type: gcp_service_account schema: - $ref: '#/components/schemas/ConfluentResourcesResponse' + $ref: '#/components/schemas/GCPSTSServiceAccountsResponse' description: OK - '400': - $ref: '#/components/responses/BadRequestResponse' '403': - $ref: '#/components/responses/ForbiddenResponse' + $ref: '#/components/responses/NotAuthorizedResponse' '404': $ref: '#/components/responses/NotFoundResponse' '429': $ref: '#/components/responses/TooManyRequestsResponse' - summary: List Confluent Account resources + summary: List all GCP STS-enabled service accounts tags: - - Confluent Cloud + - GCP Integration x-permission: operator: OR permissions: - - integrations_read + - gcp_configuration_read post: - description: >- - Create a Confluent resource for the account associated with the provided - ID. - operationId: CreateConfluentResource - parameters: - - $ref: '#/components/parameters/ConfluentAccountID' + description: Create a new entry within Datadog for your STS enabled service account. + operationId: CreateGCPSTSAccount requestBody: content: application/json: + examples: + default: + value: + data: + attributes: + client_email: datadog-service-account@test-project.iam.gserviceaccount.com + cloud_run_revision_filters: + - $KEY:$VALUE + host_filters: + - $KEY:$VALUE + is_global_location_enabled: true + is_per_project_quota_enabled: true + is_resource_change_collection_enabled: true + is_security_command_center_enabled: true + metric_namespace_configs: + - disabled: true + id: aiplatform + - filters: + - snapshot.* + - '!*_by_region' + id: pubsub + monitored_resource_configs: + - filters: + - $KEY:$VALUE + type: gce_instance + region_filter_configs: + - nam4 + - europe-north1 + type: gcp_service_account schema: - $ref: '#/components/schemas/ConfluentResourceRequest' - description: Confluent payload + $ref: '#/components/schemas/GCPSTSServiceAccountCreateRequest' required: true responses: '201': content: application/json: + examples: + default: + value: + data: + attributes: + automute: true + client_email: service-account@test-project.iam.gserviceaccount.com + is_cspm_enabled: true + resource_collection_enabled: true + id: abc-123 + type: gcp_service_account schema: - $ref: '#/components/schemas/ConfluentResourceResponse' + $ref: '#/components/schemas/GCPSTSServiceAccountResponse' description: OK '400': $ref: '#/components/responses/BadRequestResponse' + '401': + $ref: '#/components/responses/UnauthorizedResponse' '403': - $ref: '#/components/responses/ForbiddenResponse' - '404': - $ref: '#/components/responses/NotFoundResponse' + $ref: '#/components/responses/NotAuthorizedResponse' + '409': + $ref: '#/components/responses/ConflictResponse' '429': $ref: '#/components/responses/TooManyRequestsResponse' - summary: Add resource to Confluent account + summary: Create a new entry for your service account tags: - - Confluent Cloud + - GCP Integration x-codegen-request-body-name: body x-permission: operator: OR permissions: - - manage_integrations - /api/v2/integrations/confluent-cloud/accounts/{account_id}/resources/{resource_id}: + - gcp_configurations_manage + /api/v2/integration/gcp/accounts/{account_id}: delete: - description: >- - Delete a Confluent resource with the provided resource id for the - account associated with the provided account ID. - operationId: DeleteConfluentResource + description: Delete an STS enabled GCP account from within Datadog. + operationId: DeleteGCPSTSAccount parameters: - - $ref: '#/components/parameters/ConfluentAccountID' - - $ref: '#/components/parameters/ConfluentResourceID' + - $ref: '#/components/parameters/GCPSTSServiceAccountID' responses: '204': - description: OK + description: No Content '400': $ref: '#/components/responses/BadRequestResponse' '403': - $ref: '#/components/responses/ForbiddenResponse' - '404': - $ref: '#/components/responses/NotFoundResponse' + $ref: '#/components/responses/NotAuthorizedResponse' '429': $ref: '#/components/responses/TooManyRequestsResponse' - summary: Delete resource from Confluent account + summary: Delete an STS enabled GCP Account tags: - - Confluent Cloud + - GCP Integration x-permission: operator: OR permissions: - - manage_integrations - get: - description: >- - Get a Confluent resource with the provided resource id for the account - associated with the provided account ID. - operationId: GetConfluentResource + - gcp_configurations_manage + patch: + description: Update an STS enabled service account. + operationId: UpdateGCPSTSAccount parameters: - - $ref: '#/components/parameters/ConfluentAccountID' - - $ref: '#/components/parameters/ConfluentResourceID' + - $ref: '#/components/parameters/GCPSTSServiceAccountID' + requestBody: + content: + application/json: + examples: + default: + value: + data: + attributes: + client_email: datadog-service-account@test-project.iam.gserviceaccount.com + cloud_run_revision_filters: + - $KEY:$VALUE + host_filters: + - $KEY:$VALUE + is_global_location_enabled: true + is_per_project_quota_enabled: true + is_resource_change_collection_enabled: true + is_security_command_center_enabled: true + metric_namespace_configs: + - disabled: true + id: aiplatform + - filters: + - snapshot.* + - '!*_by_region' + id: pubsub + monitored_resource_configs: + - filters: + - $KEY:$VALUE + type: gce_instance + region_filter_configs: + - nam4 + - europe-north1 + id: d291291f-12c2-22g4-j290-123456678897 + type: gcp_service_account + schema: + $ref: '#/components/schemas/GCPSTSServiceAccountUpdateRequest' + required: true responses: - '200': + '201': content: application/json: + examples: + default: + value: + data: + attributes: + automute: true + client_email: service-account@test-project.iam.gserviceaccount.com + is_cspm_enabled: true + resource_collection_enabled: true + id: abc-123 + type: gcp_service_account schema: - $ref: '#/components/schemas/ConfluentResourceResponse' + $ref: '#/components/schemas/GCPSTSServiceAccountResponse' description: OK '400': $ref: '#/components/responses/BadRequestResponse' '403': - $ref: '#/components/responses/ForbiddenResponse' + $ref: '#/components/responses/NotAuthorizedResponse' '404': $ref: '#/components/responses/NotFoundResponse' '429': $ref: '#/components/responses/TooManyRequestsResponse' - summary: Get resource from Confluent account + summary: Update STS Service Account tags: - - Confluent Cloud + - GCP Integration + x-codegen-request-body-name: body x-permission: operator: OR permissions: - - integrations_read - patch: - description: >- - Update a Confluent resource with the provided resource id for the - account associated with the provided account ID. - operationId: UpdateConfluentResource - parameters: - - $ref: '#/components/parameters/ConfluentAccountID' - - $ref: '#/components/parameters/ConfluentResourceID' + - gcp_configuration_edit + /api/v2/integration/gcp/sts_delegate: + get: + description: List your Datadog-GCP STS delegate account configured in your Datadog account. + operationId: GetGCPSTSDelegate + responses: + '200': + content: + application/json: + examples: + default: + value: + data: + attributes: + delegate_account_email: test@example.com + id: abc-123 + type: gcp_sts_delegate + schema: + $ref: '#/components/schemas/GCPSTSDelegateAccountResponse' + description: OK + '403': + $ref: '#/components/responses/NotAuthorizedResponse' + '429': + $ref: '#/components/responses/TooManyRequestsResponse' + summary: List delegate account + tags: + - GCP Integration + x-codegen-request-body-name: body + x-permission: + operator: OR + permissions: + - gcp_configuration_read + post: + description: Create a Datadog GCP principal. + operationId: MakeGCPSTSDelegate requestBody: content: application/json: + examples: + default: + value: {} schema: - $ref: '#/components/schemas/ConfluentResourceRequest' - description: Confluent payload - required: true + example: {} + type: string + description: (opaque JSON object) + description: Create a delegate service account within Datadog. + required: false responses: '200': content: application/json: + examples: + default: + value: + data: + attributes: + delegate_account_email: test@example.com + id: abc-123 + type: gcp_sts_delegate schema: - $ref: '#/components/schemas/ConfluentResourceResponse' + $ref: '#/components/schemas/GCPSTSDelegateAccountResponse' description: OK - '400': - $ref: '#/components/responses/BadRequestResponse' '403': - $ref: '#/components/responses/ForbiddenResponse' - '404': - $ref: '#/components/responses/NotFoundResponse' + $ref: '#/components/responses/NotAuthorizedResponse' + '409': + $ref: '#/components/responses/ConflictResponse' '429': $ref: '#/components/responses/TooManyRequestsResponse' - summary: Update resource in Confluent account + summary: Create a Datadog GCP principal tags: - - Confluent Cloud + - GCP Integration x-codegen-request-body-name: body x-permission: operator: OR permissions: - - manage_integrations - /api/v2/integrations/fastly/accounts: + - gcp_configuration_edit + /api/v2/integration/google-chat/organizations: get: - description: List Fastly accounts. - operationId: ListFastlyAccounts + description: Get a list of all Google Chat organization bindings in the Datadog Google Chat integration. + operationId: ListGoogleChatOrganizations responses: '200': content: application/json: + examples: + default: + value: + data: + - attributes: + domain_id: fake-domain-id + domain_name: example.com + id: 00000000-0000-0000-0000-000000000001 + relationships: + delegated_user: + data: + id: 00000000-0000-0000-0000-000000000002 + type: google-chat-delegated-user + type: google-chat-organization + - attributes: + domain_id: fake-domain-id-2 + domain_name: example2.com + id: 00000000-0000-0000-0000-000000000003 + type: google-chat-organization schema: - $ref: '#/components/schemas/FastlyAccountsResponse' + $ref: '#/components/schemas/GoogleChatOrganizationsResponse' description: OK - '400': - $ref: '#/components/responses/BadRequestResponse' '403': $ref: '#/components/responses/ForbiddenResponse' - '404': - $ref: '#/components/responses/NotFoundResponse' '429': $ref: '#/components/responses/TooManyRequestsResponse' - summary: List Fastly accounts + summary: Get all Google Chat organization bindings tags: - - Fastly Integration - x-permission: - operator: OR - permissions: - - integrations_read - post: - description: Create a Fastly account. - operationId: CreateFastlyAccount - requestBody: - content: - application/json: - schema: - $ref: '#/components/schemas/FastlyAccountCreateRequest' - required: true + - Google Chat Integration + /api/v2/integration/google-chat/organizations/app/named-spaces/{domain_name}/{space_display_name}: + get: + description: Get the resource name and organization binding ID of a space in the Datadog Google Chat integration. + operationId: GetSpaceByDisplayName + parameters: + - $ref: '#/components/parameters/GoogleChatOrganizationDomainNamePathParameter' + - $ref: '#/components/parameters/GoogleChatOrganizationSpaceDisplayNamePathParameter' responses: - '201': + '200': content: application/json: + examples: + default: + value: + data: + attributes: + display_name: General + organization_binding_id: 00000000-0000-0000-0000-000000000006 + resource_name: spaces/AAAAAAAAA + space_uri: https://chat.google.com/room/AAAAAAAAA + id: 00000000-0000-0000-0000-000000000005 + type: google-chat-app-named-space schema: - $ref: '#/components/schemas/FastlyAccountResponse' - description: CREATED + $ref: '#/components/schemas/GoogleChatAppNamedSpaceResponse' + description: OK '400': $ref: '#/components/responses/BadRequestResponse' '403': @@ -1410,20 +2142,15 @@ paths: $ref: '#/components/responses/NotFoundResponse' '429': $ref: '#/components/responses/TooManyRequestsResponse' - summary: Add Fastly account + summary: Get space information by display name tags: - - Fastly Integration - x-codegen-request-body-name: body - x-permission: - operator: OR - permissions: - - manage_integrations - /api/v2/integrations/fastly/accounts/{account_id}: + - Google Chat Integration + /api/v2/integration/google-chat/organizations/{organization_binding_id}: delete: - description: Delete a Fastly account. - operationId: DeleteFastlyAccount + description: Delete a Google Chat organization binding from the Datadog Google Chat integration. + operationId: DeleteGoogleChatOrganization parameters: - - $ref: '#/components/parameters/FastlyAccountID' + - $ref: '#/components/parameters/GoogleChatOrganizationBindingIdPathParameter' responses: '204': description: OK @@ -1431,90 +2158,119 @@ paths: $ref: '#/components/responses/BadRequestResponse' '403': $ref: '#/components/responses/ForbiddenResponse' - '404': - $ref: '#/components/responses/NotFoundResponse' '429': $ref: '#/components/responses/TooManyRequestsResponse' - summary: Delete Fastly account + summary: Delete a Google Chat organization binding tags: - - Fastly Integration - x-permission: - operator: OR - permissions: - - manage_integrations + - Google Chat Integration get: - description: Get a Fastly account. - operationId: GetFastlyAccount + description: Get a Google Chat organization binding from the Datadog Google Chat integration. + operationId: GetGoogleChatOrganization parameters: - - $ref: '#/components/parameters/FastlyAccountID' + - $ref: '#/components/parameters/GoogleChatOrganizationBindingIdPathParameter' responses: '200': content: application/json: + examples: + default: + value: + data: + attributes: + domain_id: fake-domain-id + domain_name: example.com + id: 00000000-0000-0000-0000-000000000001 + relationships: + delegated_user: + data: + id: 00000000-0000-0000-0000-000000000002 + type: google-chat-delegated-user + type: google-chat-organization schema: - $ref: '#/components/schemas/FastlyAccountResponse' + $ref: '#/components/schemas/GoogleChatOrganizationResponse' description: OK - '400': - $ref: '#/components/responses/BadRequestResponse' '403': $ref: '#/components/responses/ForbiddenResponse' '404': $ref: '#/components/responses/NotFoundResponse' '429': $ref: '#/components/responses/TooManyRequestsResponse' - summary: Get Fastly account + summary: Get a Google Chat organization binding tags: - - Fastly Integration - x-permission: - operator: OR - permissions: - - integrations_read - patch: - description: Update a Fastly account. - operationId: UpdateFastlyAccount + - Google Chat Integration + /api/v2/integration/google-chat/organizations/{organization_binding_id}/delegated-user: + delete: + description: Delete the delegated user for a Google Chat organization binding from the Datadog Google Chat integration. + operationId: DeleteGoogleChatDelegatedUser parameters: - - $ref: '#/components/parameters/FastlyAccountID' - requestBody: - content: - application/json: - schema: - $ref: '#/components/schemas/FastlyAccountUpdateRequest' - required: true + - $ref: '#/components/parameters/GoogleChatOrganizationBindingIdPathParameter' + responses: + '204': + description: OK + '403': + $ref: '#/components/responses/ForbiddenResponse' + '404': + $ref: '#/components/responses/NotFoundResponse' + '429': + $ref: '#/components/responses/TooManyRequestsResponse' + summary: Delete the delegated user + tags: + - Google Chat Integration + get: + description: Get the delegated user for a Google Chat organization binding in the Datadog Google Chat integration. + operationId: GetGoogleChatDelegatedUser + parameters: + - $ref: '#/components/parameters/GoogleChatOrganizationBindingIdPathParameter' responses: '200': content: application/json: + examples: + default: + value: + data: + attributes: + display_name: fake-display-name + email: user@example.com + features: + - incident-automatic-space-creation + - workflow-space-creation + id: 00000000-0000-0000-0000-000000000002 + type: google-chat-delegated-user schema: - $ref: '#/components/schemas/FastlyAccountResponse' + $ref: '#/components/schemas/GoogleChatDelegatedUserResponse' description: OK - '400': - $ref: '#/components/responses/BadRequestResponse' '403': $ref: '#/components/responses/ForbiddenResponse' '404': $ref: '#/components/responses/NotFoundResponse' '429': $ref: '#/components/responses/TooManyRequestsResponse' - summary: Update Fastly account + summary: Get the delegated user tags: - - Fastly Integration - x-codegen-request-body-name: body - x-permission: - operator: OR - permissions: - - manage_integrations - /api/v2/integrations/fastly/accounts/{account_id}/services: + - Google Chat Integration + /api/v2/integration/google-chat/organizations/{organization_binding_id}/organization-handles: get: - description: List Fastly services for an account. - operationId: ListFastlyServices + description: Get a list of all organization handles from the Datadog Google Chat integration. + operationId: ListOrganizationHandles parameters: - - $ref: '#/components/parameters/FastlyAccountID' + - $ref: '#/components/parameters/GoogleChatOrganizationBindingIdPathParameter' responses: '200': content: application/json: + examples: + default: + value: + data: + - attributes: + name: example-handle + space_display_name: General + space_resource_name: spaces/AAAAAAAAA + id: 00000000-0000-0000-0000-000000000001 + type: google-chat-organization-handle schema: - $ref: '#/components/schemas/FastlyServicesResponse' + $ref: '#/components/schemas/GoogleChatOrganizationHandlesResponse' description: OK '400': $ref: '#/components/responses/BadRequestResponse' @@ -1524,30 +2280,45 @@ paths: $ref: '#/components/responses/NotFoundResponse' '429': $ref: '#/components/responses/TooManyRequestsResponse' - summary: List Fastly services + summary: Get all organization handles tags: - - Fastly Integration - x-permission: - operator: OR - permissions: - - integrations_read + - Google Chat Integration post: - description: Create a Fastly service for an account. - operationId: CreateFastlyService + description: Create an organization handle in the Datadog Google Chat integration. + operationId: CreateOrganizationHandle parameters: - - $ref: '#/components/parameters/FastlyAccountID' + - $ref: '#/components/parameters/GoogleChatOrganizationBindingIdPathParameter' requestBody: content: application/json: + examples: + default: + value: + data: + attributes: + name: fake-handle-name + space_resource_name: spaces/AAAAAAAAA + type: google-chat-organization-handle schema: - $ref: '#/components/schemas/FastlyServiceRequest' + $ref: '#/components/schemas/GoogleChatCreateOrganizationHandleRequest' + description: Organization handle payload. required: true responses: '201': content: application/json: + examples: + default: + value: + data: + attributes: + name: example-handle + space_display_name: General + space_resource_name: spaces/AAAAAAAAA + id: 00000000-0000-0000-0000-000000000002 + type: google-chat-organization-handle schema: - $ref: '#/components/schemas/FastlyServiceResponse' + $ref: '#/components/schemas/GoogleChatOrganizationHandleResponse' description: CREATED '400': $ref: '#/components/responses/BadRequestResponse' @@ -1555,23 +2326,31 @@ paths: $ref: '#/components/responses/ForbiddenResponse' '404': $ref: '#/components/responses/NotFoundResponse' + '409': + $ref: '#/components/responses/ConflictResponse' '429': $ref: '#/components/responses/TooManyRequestsResponse' - summary: Add Fastly service + summary: Create organization handle tags: - - Fastly Integration + - Google Chat Integration x-codegen-request-body-name: body - x-permission: - operator: OR - permissions: - - manage_integrations - /api/v2/integrations/fastly/accounts/{account_id}/services/{service_id}: + /api/v2/integration/google-chat/organizations/{organization_binding_id}/organization-handles/{handle_id}: delete: - description: Delete a Fastly service for an account. - operationId: DeleteFastlyService + description: Delete an organization handle from the Datadog Google Chat integration. + operationId: DeleteOrganizationHandle parameters: - - $ref: '#/components/parameters/FastlyAccountID' - - $ref: '#/components/parameters/FastlyServiceID' + - description: Your organization binding ID. + in: path + name: organization_binding_id + required: true + schema: + type: string + - description: Your organization handle ID. + in: path + name: handle_id + required: true + schema: + type: string responses: '204': description: OK @@ -1579,29 +2358,33 @@ paths: $ref: '#/components/responses/BadRequestResponse' '403': $ref: '#/components/responses/ForbiddenResponse' - '404': - $ref: '#/components/responses/NotFoundResponse' '429': $ref: '#/components/responses/TooManyRequestsResponse' - summary: Delete Fastly service + summary: Delete organization handle tags: - - Fastly Integration - x-permission: - operator: OR - permissions: - - manage_integrations + - Google Chat Integration get: - description: Get a Fastly service for an account. - operationId: GetFastlyService + description: Get an organization handle from the Datadog Google Chat integration. + operationId: GetOrganizationHandle parameters: - - $ref: '#/components/parameters/FastlyAccountID' - - $ref: '#/components/parameters/FastlyServiceID' + - $ref: '#/components/parameters/GoogleChatOrganizationBindingIdPathParameter' + - $ref: '#/components/parameters/GoogleChatHandleIdPathParameter' responses: '200': content: application/json: + examples: + default: + value: + data: + attributes: + name: example-handle + space_display_name: General + space_resource_name: spaces/AAAAAAAAA + id: 00000000-0000-0000-0000-000000000003 + type: google-chat-organization-handle schema: - $ref: '#/components/schemas/FastlyServiceResponse' + $ref: '#/components/schemas/GoogleChatOrganizationHandleResponse' description: OK '400': $ref: '#/components/responses/BadRequestResponse' @@ -1611,31 +2394,46 @@ paths: $ref: '#/components/responses/NotFoundResponse' '429': $ref: '#/components/responses/TooManyRequestsResponse' - summary: Get Fastly service + summary: Get organization handle tags: - - Fastly Integration - x-permission: - operator: OR - permissions: - - integrations_read + - Google Chat Integration patch: - description: Update a Fastly service for an account. - operationId: UpdateFastlyService + description: Update an organization handle from the Datadog Google Chat integration. + operationId: UpdateOrganizationHandle parameters: - - $ref: '#/components/parameters/FastlyAccountID' - - $ref: '#/components/parameters/FastlyServiceID' + - $ref: '#/components/parameters/GoogleChatOrganizationBindingIdPathParameter' + - $ref: '#/components/parameters/GoogleChatHandleIdPathParameter' requestBody: content: application/json: + examples: + default: + value: + data: + attributes: + name: fake-handle-name + space_resource_name: spaces/AAAAAAAAA + type: google-chat-organization-handle schema: - $ref: '#/components/schemas/FastlyServiceRequest' + $ref: '#/components/schemas/GoogleChatUpdateOrganizationHandleRequest' + description: Organization handle payload. required: true responses: '200': content: application/json: + examples: + default: + value: + data: + attributes: + name: example-handle + space_display_name: General + space_resource_name: spaces/AAAAAAAAA + id: 00000000-0000-0000-0000-000000000004 + type: google-chat-organization-handle schema: - $ref: '#/components/schemas/FastlyServiceResponse' + $ref: '#/components/schemas/GoogleChatOrganizationHandleResponse' description: OK '400': $ref: '#/components/responses/BadRequestResponse' @@ -1643,157 +2441,186 @@ paths: $ref: '#/components/responses/ForbiddenResponse' '404': $ref: '#/components/responses/NotFoundResponse' + '409': + $ref: '#/components/responses/ConflictResponse' '429': $ref: '#/components/responses/TooManyRequestsResponse' - summary: Update Fastly service + summary: Update organization handle tags: - - Fastly Integration + - Google Chat Integration x-codegen-request-body-name: body - x-permission: - operator: OR - permissions: - - manage_integrations - /api/v2/integrations/okta/accounts: + /api/v2/integration/google-chat/organizations/{organization_binding_id}/target-audiences: get: - description: List Okta accounts. - operationId: ListOktaAccounts + description: Get a list of all target audiences for a Google Chat organization binding in the Datadog Google Chat integration. + operationId: ListGoogleChatTargetAudiences + parameters: + - $ref: '#/components/parameters/GoogleChatOrganizationBindingIdPathParameter' responses: '200': content: application/json: + examples: + default: + value: + data: + - attributes: + audience_id: fake-audience-id-1 + audience_name: fake audience name 1 + id: 00000000-0000-0000-0000-000000000004 + type: google-chat-target-audience + - attributes: + audience_id: fake-audience-id-2 + audience_name: fake-audience-name-2 + id: 00000000-0000-0000-0000-000000000005 + type: google-chat-target-audience schema: - $ref: '#/components/schemas/OktaAccountsResponse' + $ref: '#/components/schemas/GoogleChatTargetAudiencesResponse' description: OK - '400': - $ref: '#/components/responses/BadRequestResponse' '403': $ref: '#/components/responses/ForbiddenResponse' '404': $ref: '#/components/responses/NotFoundResponse' '429': $ref: '#/components/responses/TooManyRequestsResponse' - summary: List Okta accounts + summary: Get all target audiences tags: - - Okta Integration - x-permission: - operator: OR - permissions: - - integrations_read + - Google Chat Integration post: - description: Create an Okta account. - operationId: CreateOktaAccount + description: Create a target audience for a Google Chat organization binding in the Datadog Google Chat integration. + operationId: CreateGoogleChatTargetAudience + parameters: + - $ref: '#/components/parameters/GoogleChatOrganizationBindingIdPathParameter' requestBody: content: application/json: + examples: + default: + value: + data: + attributes: + audience_id: fake-audience-id-1 + audience_name: fake audience name 1 + type: google-chat-target-audience schema: - $ref: '#/components/schemas/OktaAccountRequest' + $ref: '#/components/schemas/GoogleChatTargetAudienceCreateRequest' + description: Target audience payload. required: true responses: '201': content: application/json: + examples: + default: + value: + data: + attributes: + audience_id: fake-audience-id-1 + audience_name: fake audience name 1 + id: 00000000-0000-0000-0000-000000000004 + type: google-chat-target-audience schema: - $ref: '#/components/schemas/OktaAccountResponse' - description: OK + $ref: '#/components/schemas/GoogleChatTargetAudienceResponse' + description: CREATED '400': $ref: '#/components/responses/BadRequestResponse' '403': $ref: '#/components/responses/ForbiddenResponse' '404': $ref: '#/components/responses/NotFoundResponse' + '409': + $ref: '#/components/responses/ConflictResponse' '429': $ref: '#/components/responses/TooManyRequestsResponse' - summary: Add Okta account + summary: Create a target audience tags: - - Okta Integration + - Google Chat Integration x-codegen-request-body-name: body - x-permission: - operator: OR - permissions: - - manage_integrations - /api/v2/integrations/okta/accounts/{account_id}: + /api/v2/integration/google-chat/organizations/{organization_binding_id}/target-audiences/{target_audience_id}: delete: - description: Delete an Okta account. - operationId: DeleteOktaAccount + description: Delete a target audience from a Google Chat organization binding in the Datadog Google Chat integration. + operationId: DeleteGoogleChatTargetAudience parameters: - - description: None - in: path - name: account_id - required: true - schema: - type: string + - $ref: '#/components/parameters/GoogleChatOrganizationBindingIdPathParameter' + - $ref: '#/components/parameters/GoogleChatTargetAudienceIdPathParameter' responses: '204': description: OK - '400': - $ref: '#/components/responses/BadRequestResponse' '403': $ref: '#/components/responses/ForbiddenResponse' '404': $ref: '#/components/responses/NotFoundResponse' '429': $ref: '#/components/responses/TooManyRequestsResponse' - summary: Delete Okta account + summary: Delete a target audience tags: - - Okta Integration - x-permission: - operator: OR - permissions: - - manage_integrations + - Google Chat Integration get: - description: Get an Okta account. - operationId: GetOktaAccount + description: Get a target audience for a Google Chat organization binding in the Datadog Google Chat integration. + operationId: GetGoogleChatTargetAudience parameters: - - description: None - in: path - name: account_id - required: true - schema: - type: string + - $ref: '#/components/parameters/GoogleChatOrganizationBindingIdPathParameter' + - $ref: '#/components/parameters/GoogleChatTargetAudienceIdPathParameter' responses: '200': content: application/json: + examples: + default: + value: + data: + attributes: + audience_id: fake-audience-id-1 + audience_name: fake audience name 1 + id: 00000000-0000-0000-0000-000000000004 + type: google-chat-target-audience schema: - $ref: '#/components/schemas/OktaAccountResponse' + $ref: '#/components/schemas/GoogleChatTargetAudienceResponse' description: OK - '400': - $ref: '#/components/responses/BadRequestResponse' '403': $ref: '#/components/responses/ForbiddenResponse' '404': $ref: '#/components/responses/NotFoundResponse' '429': $ref: '#/components/responses/TooManyRequestsResponse' - summary: Get Okta account + summary: Get a target audience tags: - - Okta Integration - x-permission: - operator: OR - permissions: - - integrations_read + - Google Chat Integration patch: - description: Update an Okta account. - operationId: UpdateOktaAccount + description: Update a target audience for a Google Chat organization binding in the Datadog Google Chat integration. + operationId: UpdateGoogleChatTargetAudience parameters: - - description: None - in: path - name: account_id - required: true - schema: - type: string + - $ref: '#/components/parameters/GoogleChatOrganizationBindingIdPathParameter' + - $ref: '#/components/parameters/GoogleChatTargetAudienceIdPathParameter' requestBody: content: application/json: + examples: + default: + value: + data: + attributes: + audience_id: updated-audience-id + audience_name: updated-audience-name + type: google-chat-target-audience schema: - $ref: '#/components/schemas/OktaAccountUpdateRequest' + $ref: '#/components/schemas/GoogleChatTargetAudienceUpdateRequest' + description: Target audience payload. required: true responses: '200': content: application/json: + examples: + default: + value: + data: + attributes: + audience_id: updated-audience-id + audience_name: updated-audience-name + id: 00000000-0000-0000-0000-000000000004 + type: google-chat-target-audience schema: - $ref: '#/components/schemas/OktaAccountResponse' + $ref: '#/components/schemas/GoogleChatTargetAudienceResponse' description: OK '400': $ref: '#/components/responses/BadRequestResponse' @@ -1803,2169 +2630,15782 @@ paths: $ref: '#/components/responses/NotFoundResponse' '429': $ref: '#/components/responses/TooManyRequestsResponse' - summary: Update Okta account + summary: Update a target audience tags: - - Okta Integration + - Google Chat Integration x-codegen-request-body-name: body - x-permission: - operator: OR - permissions: - - manage_integrations -components: - schemas: - AWSAccountsResponse: - description: AWS Accounts response body. - properties: - data: - description: List of AWS Account Integration Configs. - items: - $ref: '#/components/schemas/AWSAccountResponseData' - type: array - required: - - data - type: object - AWSAccountCreateRequest: - description: AWS Account Create Request body. - properties: - data: - $ref: '#/components/schemas/AWSAccountCreateRequestData' - required: - - data - type: object - AWSAccountResponse: - description: AWS Account response body. - properties: - data: - $ref: '#/components/schemas/AWSAccountResponseData' - required: - - data - type: object - AWSAccountUpdateRequest: - description: AWS Account Update Request body. - properties: - data: - $ref: '#/components/schemas/AWSAccountUpdateRequestData' - required: - - data - type: object - AWSNamespacesResponse: - description: AWS Namespaces response body. - properties: - data: - $ref: '#/components/schemas/AWSNamespacesResponseData' - required: - - data - type: object + /api/v2/integration/jira/accounts: + get: + description: Get all Jira accounts for the organization. + operationId: ListJiraAccounts + responses: + '200': + content: + application/json: + examples: + default: + value: + data: + - attributes: + consumer_key: consumer-key-1 + instance_url: https://example.atlassian.net + id: account-1 + type: jira-account + meta: + public_key: c29tZSBkYXRhIHdpdGggACBhbmQg77u/ + schema: + $ref: '#/components/schemas/JiraAccountsResponse' + description: OK + '404': + content: + application/json: + schema: + $ref: '#/components/schemas/JSONAPIErrorResponse' + description: Not Found + '429': + $ref: '#/components/responses/TooManyRequestsResponse' + summary: List Jira accounts + tags: + - Jira Integration + x-unstable: |- + **Note**: This endpoint is in public beta and it's subject to change. + If you have any feedback, contact [Datadog support](https://docs.datadoghq.com/help/). + /api/v2/integration/jira/accounts/{account_id}: + delete: + description: Delete a Jira account by ID. + operationId: DeleteJiraAccount + parameters: + - description: The ID of the Jira account to delete + example: 65b3341b-0680-47f9-a6d4-134db45c603e + in: path + name: account_id + required: true + schema: + format: uuid + type: string + responses: + '204': + description: No Content + '400': + content: + application/json: + schema: + $ref: '#/components/schemas/JSONAPIErrorResponse' + description: Bad Request + '429': + $ref: '#/components/responses/TooManyRequestsResponse' + summary: Delete Jira account + tags: + - Jira Integration + x-unstable: |- + **Note**: This endpoint is in public beta and it's subject to change. + If you have any feedback, contact [Datadog support](https://docs.datadoghq.com/help/). + /api/v2/integration/jira/issue-templates: + get: + description: Get all Jira issue templates for the organization. + operationId: ListJiraIssueTemplates + responses: + '200': + content: + application/json: + examples: + default: + value: + data: + - attributes: + fields: + description: + payload: Test Description + type: json + issue_type_id: '456' + name: Bug Report Template + project_id: '123' + id: abc-123 + type: jira-issue-template + schema: + $ref: '#/components/schemas/JiraIssueTemplatesResponse' + description: OK + '429': + $ref: '#/components/responses/TooManyRequestsResponse' + summary: List Jira issue templates + tags: + - Jira Integration + x-unstable: |- + **Note**: This endpoint is in public beta and it's subject to change. + If you have any feedback, contact [Datadog support](https://docs.datadoghq.com/help/). + post: + description: Create a new Jira issue template. + operationId: CreateJiraIssueTemplate + requestBody: + content: + application/json: + examples: + default: + value: + data: + attributes: + fields: + description: + payload: Test + type: json + issue_type_id: '12730' + jira-account: + id: 80f16d40-1fba-486e-b1fc-983e6ca19bec + name: test-template + project_id: '10772' + type: jira-issue-template + schema: + $ref: '#/components/schemas/JiraIssueTemplateCreateRequest' + required: true + responses: + '201': + content: + application/json: + examples: + default: + value: + data: + attributes: + fields: + description: + payload: Test + type: json + issue_type_id: '456' + name: test-template + project_id: '123' + id: abc-123 + type: jira-issue-template + schema: + $ref: '#/components/schemas/JiraIssueTemplateResponse' + description: Created + '400': + content: + application/json: + schema: + $ref: '#/components/schemas/JSONAPIErrorResponse' + description: Bad Request + '429': + $ref: '#/components/responses/TooManyRequestsResponse' + summary: Create Jira issue template + tags: + - Jira Integration + x-unstable: |- + **Note**: This endpoint is in public beta and it's subject to change. + If you have any feedback, contact [Datadog support](https://docs.datadoghq.com/help/). + /api/v2/integration/jira/issue-templates/{issue_template_id}: + delete: + description: Delete a Jira issue template by ID. + operationId: DeleteJiraIssueTemplate + parameters: + - description: The ID of the Jira issue template to delete + example: 65b3341b-0680-47f9-a6d4-134db45c603e + in: path + name: issue_template_id + required: true + schema: + format: uuid + type: string + responses: + '204': + description: No Content + '429': + $ref: '#/components/responses/TooManyRequestsResponse' + summary: Delete Jira issue template + tags: + - Jira Integration + x-unstable: |- + **Note**: This endpoint is in public beta and it's subject to change. + If you have any feedback, contact [Datadog support](https://docs.datadoghq.com/help/). + get: + description: Get a Jira issue template by ID. + operationId: GetJiraIssueTemplate + parameters: + - description: The ID of the Jira issue template to retrieve + example: 65b3341b-0680-47f9-a6d4-134db45c603e + in: path + name: issue_template_id + required: true + schema: + format: uuid + type: string + responses: + '200': + content: + application/json: + examples: + default: + value: + data: + attributes: + fields: + description: + payload: Test Description + type: json + issue_type_id: '456' + name: test-template + project_id: '123' + id: abc-123 + type: jira-issue-template + schema: + $ref: '#/components/schemas/JiraIssueTemplateResponse' + description: OK + '400': + content: + application/json: + schema: + $ref: '#/components/schemas/JSONAPIErrorResponse' + description: Bad Request + '429': + $ref: '#/components/responses/TooManyRequestsResponse' + summary: Get Jira issue template + tags: + - Jira Integration + x-unstable: |- + **Note**: This endpoint is in public beta and it's subject to change. + If you have any feedback, contact [Datadog support](https://docs.datadoghq.com/help/). + patch: + description: Update a Jira issue template by ID. + operationId: UpdateJiraIssueTemplate + parameters: + - description: The ID of the Jira issue template to update + example: 65b3341b-0680-47f9-a6d4-134db45c603e + in: path + name: issue_template_id + required: true + schema: + format: uuid + type: string + requestBody: + content: + application/json: + examples: + default: + value: + data: + attributes: + fields: + description: + payload: Updated Description + type: json + name: test_template_updated + type: jira-issue-template + schema: + $ref: '#/components/schemas/JiraIssueTemplateUpdateRequest' + required: true + responses: + '200': + content: + application/json: + examples: + default: + value: + data: + attributes: + fields: + description: + payload: Updated Description + type: json + issue_type_id: '456' + name: test_template_updated + project_id: '123' + id: abc-123 + type: jira-issue-template + schema: + $ref: '#/components/schemas/JiraIssueTemplateResponse' + description: OK + '400': + content: + application/json: + schema: + $ref: '#/components/schemas/JSONAPIErrorResponse' + description: Bad Request + '429': + $ref: '#/components/responses/TooManyRequestsResponse' + summary: Update Jira issue template + tags: + - Jira Integration + x-unstable: |- + **Note**: This endpoint is in public beta and it's subject to change. + If you have any feedback, contact [Datadog support](https://docs.datadoghq.com/help/). + /api/v2/integration/ms-teams/configuration/channel/{tenant_name}/{team_name}/{channel_name}: + get: + description: Get the tenant, team, and channel ID of a channel in the Datadog Microsoft Teams integration. + operationId: GetChannelByName + parameters: + - $ref: '#/components/parameters/MicrosoftTeamsTenantNamePathParameter' + - $ref: '#/components/parameters/MicrosoftTeamsTeamNamePathParameter' + - $ref: '#/components/parameters/MicrosoftTeamsChannelNamePathParameter' + responses: + '200': + content: + application/json: + examples: + default: + value: + data: + attributes: + is_primary: true + team_id: 00000000-0000-0000-0000-000000000000 + tenant_id: 00000000-0000-0000-0000-000000000001 + id: 19:b41k24b14bn1nwffkernfkwrnfneubgkr@thread.tacv2 + type: ms-teams-channel-info + schema: + $ref: '#/components/schemas/MicrosoftTeamsGetChannelByNameResponse' + description: OK + '400': + $ref: '#/components/responses/BadRequestResponse' + '403': + $ref: '#/components/responses/ForbiddenResponse' + '404': + $ref: '#/components/responses/NotFoundResponse' + '429': + $ref: '#/components/responses/TooManyRequestsResponse' + summary: Get channel information by name + tags: + - Microsoft Teams Integration + /api/v2/integration/ms-teams/configuration/tenant-based-handles: + get: + description: Get a list of all tenant-based handles from the Datadog Microsoft Teams integration. + operationId: ListTenantBasedHandles + parameters: + - $ref: '#/components/parameters/MicrosoftTeamsTenantIDQueryParameter' + - $ref: '#/components/parameters/MicrosoftTeamsHandleNameQueryParameter' + responses: + '200': + content: + application/json: + examples: + default: + value: + data: + - attributes: + channel_id: fake-channel-id + name: fake-handle-name + team_id: 00000000-0000-0000-0000-000000000000 + tenant_id: 00000000-0000-0000-0000-000000000001 + id: 00000000-0000-0000-0000-000000000001 + type: ms-teams-tenant-based-handle-info + schema: + $ref: '#/components/schemas/MicrosoftTeamsTenantBasedHandlesResponse' + description: OK + '400': + $ref: '#/components/responses/BadRequestResponse' + '403': + $ref: '#/components/responses/ForbiddenResponse' + '404': + $ref: '#/components/responses/NotFoundResponse' + '412': + $ref: '#/components/responses/PreconditionFailedResponse' + '429': + $ref: '#/components/responses/TooManyRequestsResponse' + summary: Get all tenant-based handles + tags: + - Microsoft Teams Integration + post: + description: Create a tenant-based handle in the Datadog Microsoft Teams integration. + operationId: CreateTenantBasedHandle + requestBody: + content: + application/json: + examples: + default: + value: + data: + attributes: + channel_id: fake-channel-id + name: fake-handle-name + team_id: 00000000-0000-0000-0000-000000000000 + tenant_id: 00000000-0000-0000-0000-000000000001 + type: tenant-based-handle + schema: + $ref: '#/components/schemas/MicrosoftTeamsCreateTenantBasedHandleRequest' + description: Tenant-based handle payload. + required: true + responses: + '201': + content: + application/json: + examples: + default: + value: + data: + attributes: + channel_id: fake-channel-id + name: fake-handle-name + team_id: 00000000-0000-0000-0000-000000000000 + tenant_id: 00000000-0000-0000-0000-000000000001 + id: 00000000-0000-0000-0000-000000000002 + type: tenant-based-handle + schema: + $ref: '#/components/schemas/MicrosoftTeamsTenantBasedHandleResponse' + description: CREATED + '400': + $ref: '#/components/responses/BadRequestResponse' + '403': + $ref: '#/components/responses/ForbiddenResponse' + '404': + $ref: '#/components/responses/NotFoundResponse' + '409': + $ref: '#/components/responses/ConflictResponse' + '412': + $ref: '#/components/responses/PreconditionFailedResponse' + '429': + $ref: '#/components/responses/TooManyRequestsResponse' + summary: Create tenant-based handle + tags: + - Microsoft Teams Integration + x-codegen-request-body-name: body + /api/v2/integration/ms-teams/configuration/tenant-based-handles/{handle_id}: + delete: + description: Delete a tenant-based handle from the Datadog Microsoft Teams integration. + operationId: DeleteTenantBasedHandle + parameters: + - $ref: '#/components/parameters/MicrosoftTeamsTenantBasedHandleIDPathParameter' + responses: + '204': + description: OK + '400': + $ref: '#/components/responses/BadRequestResponse' + '403': + $ref: '#/components/responses/ForbiddenResponse' + '412': + $ref: '#/components/responses/PreconditionFailedResponse' + '429': + $ref: '#/components/responses/TooManyRequestsResponse' + summary: Delete tenant-based handle + tags: + - Microsoft Teams Integration + get: + description: Get the tenant, team, and channel information of a tenant-based handle from the Datadog Microsoft Teams integration. + operationId: GetTenantBasedHandle + parameters: + - $ref: '#/components/parameters/MicrosoftTeamsTenantBasedHandleIDPathParameter' + responses: + '200': + content: + application/json: + examples: + default: + value: + data: + attributes: + channel_id: fake-channel-id + name: fake-handle-name + team_id: 00000000-0000-0000-0000-000000000000 + tenant_id: 00000000-0000-0000-0000-000000000001 + id: 00000000-0000-0000-0000-000000000003 + type: tenant-based-handle + schema: + $ref: '#/components/schemas/MicrosoftTeamsTenantBasedHandleResponse' + description: OK + '400': + $ref: '#/components/responses/BadRequestResponse' + '403': + $ref: '#/components/responses/ForbiddenResponse' + '404': + $ref: '#/components/responses/NotFoundResponse' + '412': + $ref: '#/components/responses/PreconditionFailedResponse' + '429': + $ref: '#/components/responses/TooManyRequestsResponse' + summary: Get tenant-based handle information + tags: + - Microsoft Teams Integration + patch: + description: Update a tenant-based handle from the Datadog Microsoft Teams integration. + operationId: UpdateTenantBasedHandle + parameters: + - $ref: '#/components/parameters/MicrosoftTeamsTenantBasedHandleIDPathParameter' + requestBody: + content: + application/json: + examples: + default: + value: + data: + attributes: + channel_id: fake-channel-id + name: fake-handle-name + team_id: 00000000-0000-0000-0000-000000000000 + tenant_id: 00000000-0000-0000-0000-000000000001 + type: tenant-based-handle + schema: + $ref: '#/components/schemas/MicrosoftTeamsUpdateTenantBasedHandleRequest' + description: Tenant-based handle payload. + required: true + responses: + '200': + content: + application/json: + examples: + default: + value: + data: + attributes: + channel_id: fake-channel-id + name: fake-handle-name-updated + team_id: 00000000-0000-0000-0000-000000000000 + tenant_id: 00000000-0000-0000-0000-000000000001 + id: 00000000-0000-0000-0000-000000000004 + type: tenant-based-handle + schema: + $ref: '#/components/schemas/MicrosoftTeamsTenantBasedHandleResponse' + description: OK + '400': + $ref: '#/components/responses/BadRequestResponse' + '403': + $ref: '#/components/responses/ForbiddenResponse' + '404': + $ref: '#/components/responses/NotFoundResponse' + '409': + $ref: '#/components/responses/ConflictResponse' + '412': + $ref: '#/components/responses/PreconditionFailedResponse' + '429': + $ref: '#/components/responses/TooManyRequestsResponse' + summary: Update tenant-based handle + tags: + - Microsoft Teams Integration + x-codegen-request-body-name: body + /api/v2/integration/ms-teams/configuration/user-binding/{tenant_id}: + delete: + description: Delete the user binding for a given tenant from the Datadog Microsoft Teams integration. + operationId: DeleteMSTeamsUserBinding + parameters: + - $ref: '#/components/parameters/MicrosoftTeamsTenantIDPathParameter' + responses: + '204': + description: No Content + '400': + $ref: '#/components/responses/BadRequestResponse' + '403': + $ref: '#/components/responses/ForbiddenResponse' + '412': + $ref: '#/components/responses/PreconditionFailedResponse' + '429': + $ref: '#/components/responses/TooManyRequestsResponse' + summary: Delete user binding + tags: + - Microsoft Teams Integration + /api/v2/integration/ms-teams/configuration/workflows-webhook-handles: + get: + description: Get a list of all Workflows webhook handles from the Datadog Microsoft Teams integration. + operationId: ListWorkflowsWebhookHandles + parameters: + - $ref: '#/components/parameters/MicrosoftTeamsWorkflowsWebhookHandleNameQueryParameter' + responses: + '200': + content: + application/json: + examples: + default: + value: + data: + - attributes: + name: fake-handle-name + id: 00000000-0000-0000-0000-000000000005 + type: workflows-webhook-handle + schema: + $ref: '#/components/schemas/MicrosoftTeamsWorkflowsWebhookHandlesResponse' + description: OK + '400': + $ref: '#/components/responses/BadRequestResponse' + '403': + $ref: '#/components/responses/ForbiddenResponse' + '404': + $ref: '#/components/responses/NotFoundResponse' + '412': + $ref: '#/components/responses/PreconditionFailedResponse' + '429': + $ref: '#/components/responses/TooManyRequestsResponse' + summary: Get all Workflows webhook handles + tags: + - Microsoft Teams Integration + post: + description: Create a Workflows webhook handle in the Datadog Microsoft Teams integration. + operationId: CreateWorkflowsWebhookHandle + requestBody: + content: + application/json: + examples: + default: + value: + data: + attributes: + name: fake-handle-name + url: https://fake.url.com + type: workflows-webhook-handle + schema: + $ref: '#/components/schemas/MicrosoftTeamsCreateWorkflowsWebhookHandleRequest' + description: Workflows Webhook handle payload. + required: true + responses: + '201': + content: + application/json: + examples: + default: + value: + data: + attributes: + name: fake-handle-name + id: 00000000-0000-0000-0000-000000000006 + type: workflows-webhook-handle + schema: + $ref: '#/components/schemas/MicrosoftTeamsWorkflowsWebhookHandleResponse' + description: CREATED + '400': + $ref: '#/components/responses/BadRequestResponse' + '403': + $ref: '#/components/responses/ForbiddenResponse' + '404': + $ref: '#/components/responses/NotFoundResponse' + '409': + $ref: '#/components/responses/ConflictResponse' + '412': + $ref: '#/components/responses/PreconditionFailedResponse' + '429': + $ref: '#/components/responses/TooManyRequestsResponse' + summary: Create Workflows webhook handle + tags: + - Microsoft Teams Integration + x-codegen-request-body-name: body + /api/v2/integration/ms-teams/configuration/workflows-webhook-handles/{handle_id}: + delete: + description: Delete a Workflows webhook handle from the Datadog Microsoft Teams integration. + operationId: DeleteWorkflowsWebhookHandle + parameters: + - $ref: '#/components/parameters/MicrosoftTeamsWorkflowsWebhookHandleIDPathParameter' + responses: + '204': + description: OK + '400': + $ref: '#/components/responses/BadRequestResponse' + '403': + $ref: '#/components/responses/ForbiddenResponse' + '412': + $ref: '#/components/responses/PreconditionFailedResponse' + '429': + $ref: '#/components/responses/TooManyRequestsResponse' + summary: Delete Workflows webhook handle + tags: + - Microsoft Teams Integration + get: + description: Get the name of a Workflows webhook handle from the Datadog Microsoft Teams integration. + operationId: GetWorkflowsWebhookHandle + parameters: + - $ref: '#/components/parameters/MicrosoftTeamsWorkflowsWebhookHandleIDPathParameter' + responses: + '200': + content: + application/json: + examples: + default: + value: + data: + attributes: + name: fake-handle-name + id: 00000000-0000-0000-0000-000000000007 + type: workflows-webhook-handle + schema: + $ref: '#/components/schemas/MicrosoftTeamsWorkflowsWebhookHandleResponse' + description: OK + '400': + $ref: '#/components/responses/BadRequestResponse' + '403': + $ref: '#/components/responses/ForbiddenResponse' + '404': + $ref: '#/components/responses/NotFoundResponse' + '412': + $ref: '#/components/responses/PreconditionFailedResponse' + '429': + $ref: '#/components/responses/TooManyRequestsResponse' + summary: Get Workflows webhook handle information + tags: + - Microsoft Teams Integration + patch: + description: Update a Workflows webhook handle from the Datadog Microsoft Teams integration. + operationId: UpdateWorkflowsWebhookHandle + parameters: + - $ref: '#/components/parameters/MicrosoftTeamsWorkflowsWebhookHandleIDPathParameter' + requestBody: + content: + application/json: + examples: + default: + value: + data: + attributes: + name: fake-handle-name + url: https://fake.url.com + type: workflows-webhook-handle + schema: + $ref: '#/components/schemas/MicrosoftTeamsUpdateWorkflowsWebhookHandleRequest' + description: Workflows Webhook handle payload. + required: true + responses: + '200': + content: + application/json: + examples: + default: + value: + data: + attributes: + name: fake-handle-name-updated + id: 00000000-0000-0000-0000-000000000008 + type: workflows-webhook-handle + schema: + $ref: '#/components/schemas/MicrosoftTeamsWorkflowsWebhookHandleResponse' + description: OK + '400': + $ref: '#/components/responses/BadRequestResponse' + '403': + $ref: '#/components/responses/ForbiddenResponse' + '404': + $ref: '#/components/responses/NotFoundResponse' + '409': + $ref: '#/components/responses/ConflictResponse' + '412': + $ref: '#/components/responses/PreconditionFailedResponse' + '429': + $ref: '#/components/responses/TooManyRequestsResponse' + summary: Update Workflows webhook handle + tags: + - Microsoft Teams Integration + x-codegen-request-body-name: body + /api/v2/integration/oci/products: + get: + description: Lists the products for a given tenancy. Returns the enabled/disabled status of Datadog products (such as Cloud Security Posture Management) for specific OCI tenancies. + operationId: ListTenancyProducts + parameters: + - description: Comma-separated list of product keys to filter by. + in: query + name: productKeys + required: true + schema: + type: string + responses: + '200': + content: + application/json: + examples: + default: + value: + data: + - attributes: + products: + - enabled: true + product_key: CLOUD_SECURITY_POSTURE_MANAGEMENT + id: ocid.tenancy.test + type: oci_tenancy_product + schema: + $ref: '#/components/schemas/TenancyProductsList' + description: OK + '429': + $ref: '#/components/responses/TooManyRequestsResponse' + security: + - apiKeyAuth: [] + appKeyAuth: [] + summary: List tenancy products + tags: + - OCI Integration + /api/v2/integration/oci/tenancies: + get: + description: Get a list of all configured OCI tenancy integrations. Returns basic information about each tenancy including authentication credentials, region settings, and collection preferences for metrics, logs, and resources. + operationId: GetTenancyConfigs + responses: + '200': + content: + application/json: + examples: + default: + value: + data: + - attributes: + cost_collection_enabled: true + home_region: us-ashburn-1 + resource_collection_enabled: true + user_ocid: ocid.user.test + id: ocid.tenancy.test + type: oci_tenancy + schema: + $ref: '#/components/schemas/TenancyConfigList' + description: OK + '429': + $ref: '#/components/responses/TooManyRequestsResponse' + security: + - apiKeyAuth: [] + appKeyAuth: [] + summary: Get tenancy configs + tags: + - OCI Integration + x-unstable: '**Note**: This endpoint may be subject to changes.' + post: + description: 'Create a new tenancy config to establish monitoring and data collection from your OCI environment. Requires OCI authentication credentials and tenancy details. Warning: Datadog recommends interacting with this endpoint only through the Datadog web UI to ensure all necessary OCI resources have been created and configured properly.' + operationId: CreateTenancyConfig + requestBody: + content: + application/json: + examples: + default: + value: + data: + attributes: + auth_credentials: + fingerprint: '' + private_key: + cost_collection_enabled: true + dd_compartment_id: ocid.compartment.test + dd_stack_id: ocid.stack.test + home_region: us-ashburn-1 + logs_config: + compartment_tag_filters: + - datadog:true + - env:prod + enabled: true + enabled_services: + - service_1 + - service_2 + metrics_config: + compartment_tag_filters: + - datadog:true + - env:prod + enabled: true + excluded_services: + - service_1 + - service_2 + regions_config: + available: + - us-ashburn-1 + - us-phoenix-1 + disabled: + - us-phoenix-1 + enabled: + - us-ashburn-1 + resource_collection_enabled: true + user_ocid: ocid.user.test + id: ocid.tenancy.test + type: oci_tenancy + schema: + $ref: '#/components/schemas/CreateTenancyConfigRequest' + required: true + responses: + '201': + content: + application/json: + examples: + default: + value: + data: + attributes: + cost_collection_enabled: true + home_region: us-ashburn-1 + resource_collection_enabled: true + user_ocid: ocid.user.test + id: ocid.tenancy.test + type: oci_tenancy + schema: + $ref: '#/components/schemas/TenancyConfig' + description: Created + '429': + $ref: '#/components/responses/TooManyRequestsResponse' + security: + - apiKeyAuth: [] + appKeyAuth: [] + summary: Create tenancy config + tags: + - OCI Integration + x-unstable: '**Note**: This endpoint may be subject to changes.' + /api/v2/integration/oci/tenancies/{tenancy_ocid}: + delete: + description: Delete an existing tenancy config. This will stop all data collection from the specified OCI tenancy and remove the stored configuration. This operation cannot be undone. + operationId: DeleteTenancyConfig + parameters: + - description: The OCID of the tenancy config to delete. + in: path + name: tenancy_ocid + required: true + schema: + type: string + responses: + '204': + description: No Content + '429': + $ref: '#/components/responses/TooManyRequestsResponse' + security: + - apiKeyAuth: [] + appKeyAuth: [] + summary: Delete tenancy config + tags: + - OCI Integration + get: + description: Get a single tenancy config object by its OCID. Returns detailed configuration including authentication credentials, enabled services, region settings, and collection preferences. + operationId: GetTenancyConfig + parameters: + - description: The OCID of the tenancy config to retrieve. + in: path + name: tenancy_ocid + required: true + schema: + type: string + responses: + '200': + content: + application/json: + examples: + default: + value: + data: + attributes: + cost_collection_enabled: true + home_region: us-ashburn-1 + resource_collection_enabled: true + user_ocid: ocid.user.test + id: ocid.tenancy.test + type: oci_tenancy + schema: + $ref: '#/components/schemas/TenancyConfig' + description: OK + '429': + $ref: '#/components/responses/TooManyRequestsResponse' + security: + - apiKeyAuth: [] + appKeyAuth: [] + summary: Get tenancy config + tags: + - OCI Integration + patch: + description: 'Update an existing tenancy config. You can modify authentication credentials, enable/disable collection types, update service filters, and change region settings. Warning: We recommend using the Datadog web UI to avoid unintended update effects.' + operationId: UpdateTenancyConfig + parameters: + - description: The OCID of the tenancy config to update. + in: path + name: tenancy_ocid + required: true + schema: + type: string + requestBody: + content: + application/json: + examples: + default: + value: + data: + attributes: + auth_credentials: + fingerprint: '' + private_key: + cost_collection_enabled: true + home_region: us-ashburn-1 + logs_config: + compartment_tag_filters: + - datadog:true + - env:prod + enabled: true + enabled_services: + - service_1 + - service_2 + metrics_config: + compartment_tag_filters: + - datadog:true + - env:prod + enabled: true + excluded_services: + - service_1 + - service_2 + regions_config: + available: + - us-ashburn-1 + - us-phoenix-1 + disabled: + - us-phoenix-1 + enabled: + - us-ashburn-1 + resource_collection_enabled: true + user_ocid: ocid.user.test + id: ocid.tenancy.test + type: oci_tenancy + schema: + $ref: '#/components/schemas/UpdateTenancyConfigRequest' + required: true + responses: + '200': + content: + application/json: + examples: + default: + value: + data: + attributes: + cost_collection_enabled: true + home_region: us-ashburn-1 + resource_collection_enabled: true + user_ocid: ocid.user.test + id: ocid.tenancy.test + type: oci_tenancy + schema: + $ref: '#/components/schemas/TenancyConfig' + description: OK + '429': + $ref: '#/components/responses/TooManyRequestsResponse' + security: + - apiKeyAuth: [] + appKeyAuth: [] + summary: Update tenancy config + tags: + - OCI Integration + /api/v2/integration/opsgenie/accounts: + get: + description: Get a list of all Opsgenie accounts from the Datadog Opsgenie integration. + operationId: ListOpsgenieAccounts + responses: + '200': + content: + application/json: + examples: + default: + value: + data: + - attributes: + region: us + id: 00000000-0000-0000-0000-000000000001 + type: opsgenie-account + schema: + $ref: '#/components/schemas/OpsgenieAccountsResponse' + description: OK + '403': + $ref: '#/components/responses/ForbiddenResponse' + '429': + $ref: '#/components/responses/TooManyRequestsResponse' + summary: Get all Opsgenie accounts + tags: + - Opsgenie Integration + x-permission: + operator: OR + permissions: + - integrations_read + post: + description: Create a new Opsgenie account in the Datadog Opsgenie integration. + operationId: CreateOpsgenieAccount + requestBody: + content: + application/json: + examples: + default: + value: + data: + attributes: + api_key: 00000000-0000-0000-0000-000000000000 + region: us + type: opsgenie-account + schema: + $ref: '#/components/schemas/OpsgenieAccountCreateRequest' + description: Opsgenie account payload. + required: true + responses: + '201': + content: + application/json: + examples: + default: + value: + data: + attributes: + region: us + id: 00000000-0000-0000-0000-000000000002 + type: opsgenie-account + schema: + $ref: '#/components/schemas/OpsgenieAccountResponse' + description: CREATED + '400': + $ref: '#/components/responses/BadRequestResponse' + '403': + $ref: '#/components/responses/ForbiddenResponse' + '429': + $ref: '#/components/responses/TooManyRequestsResponse' + summary: Create a new Opsgenie account + tags: + - Opsgenie Integration + x-codegen-request-body-name: body + x-permission: + operator: OR + permissions: + - manage_integrations + /api/v2/integration/opsgenie/accounts/{account_id}: + delete: + description: Delete a single Opsgenie account from the Datadog Opsgenie integration. + operationId: DeleteOpsgenieAccount + parameters: + - $ref: '#/components/parameters/OpsgenieAccountIDPathParameter' + responses: + '204': + description: OK + '400': + $ref: '#/components/responses/BadRequestResponse' + '403': + $ref: '#/components/responses/ForbiddenResponse' + '404': + $ref: '#/components/responses/NotFoundResponse' + '429': + $ref: '#/components/responses/TooManyRequestsResponse' + summary: Delete an Opsgenie account + tags: + - Opsgenie Integration + x-permission: + operator: OR + permissions: + - manage_integrations + patch: + description: Update a single Opsgenie account in the Datadog Opsgenie integration. + operationId: UpdateOpsgenieAccount + parameters: + - $ref: '#/components/parameters/OpsgenieAccountIDPathParameter' + requestBody: + content: + application/json: + examples: + default: + value: + data: + attributes: + api_key: 00000000-0000-0000-0000-000000000000 + region: us + id: 596da4af-0563-4097-90ff-07230c3f9db3 + type: opsgenie-account + schema: + $ref: '#/components/schemas/OpsgenieAccountUpdateRequest' + description: Opsgenie account payload. + required: true + responses: + '200': + content: + application/json: + examples: + default: + value: + data: + attributes: + region: us + id: 00000000-0000-0000-0000-000000000003 + type: opsgenie-account + schema: + $ref: '#/components/schemas/OpsgenieAccountResponse' + description: OK + '400': + $ref: '#/components/responses/BadRequestResponse' + '403': + $ref: '#/components/responses/ForbiddenResponse' + '404': + $ref: '#/components/responses/NotFoundResponse' + '422': + $ref: '#/components/responses/UnprocessableEntityResponse' + '429': + $ref: '#/components/responses/TooManyRequestsResponse' + summary: Update an Opsgenie account + tags: + - Opsgenie Integration + x-codegen-request-body-name: body + x-permission: + operator: OR + permissions: + - manage_integrations + /api/v2/integration/opsgenie/services: + get: + description: Get a list of all services from the Datadog Opsgenie integration. + operationId: ListOpsgenieServices + responses: + '200': + content: + application/json: + examples: + default: + value: + data: + - attributes: + custom_url: null + name: fake-opsgenie-service-name + region: us + id: 00000000-0000-0000-0000-000000000001 + type: opsgenie-service + schema: + $ref: '#/components/schemas/OpsgenieServicesResponse' + description: OK + '403': + $ref: '#/components/responses/ForbiddenResponse' + '429': + $ref: '#/components/responses/TooManyRequestsResponse' + summary: Get all service objects + tags: + - Opsgenie Integration + x-permission: + operator: OR + permissions: + - integrations_read + post: + description: Create a new service object in the Opsgenie integration. + operationId: CreateOpsgenieService + requestBody: + content: + application/json: + examples: + default: + value: + data: + attributes: + custom_url: https://example.com + name: fake-opsgenie-service-name + opsgenie_api_key: 00000000-0000-0000-0000-000000000000 + region: us + type: opsgenie-service + schema: + $ref: '#/components/schemas/OpsgenieServiceCreateRequest' + description: Opsgenie service payload + required: true + responses: + '201': + content: + application/json: + examples: + default: + value: + data: + attributes: + custom_url: https://example.com + name: fake-opsgenie-service-name + region: us + id: 00000000-0000-0000-0000-000000000002 + type: opsgenie-service + schema: + $ref: '#/components/schemas/OpsgenieServiceResponse' + description: CREATED + '400': + $ref: '#/components/responses/BadRequestResponse' + '403': + $ref: '#/components/responses/ForbiddenResponse' + '409': + $ref: '#/components/responses/ConflictResponse' + '429': + $ref: '#/components/responses/TooManyRequestsResponse' + summary: Create a new service object + tags: + - Opsgenie Integration + x-codegen-request-body-name: body + x-permission: + operator: OR + permissions: + - manage_integrations + /api/v2/integration/opsgenie/services/{integration_service_id}: + delete: + description: Delete a single service object in the Datadog Opsgenie integration. + operationId: DeleteOpsgenieService + parameters: + - $ref: '#/components/parameters/OpsgenieServiceIDPathParameter' + responses: + '204': + description: OK + '400': + $ref: '#/components/responses/BadRequestResponse' + '403': + $ref: '#/components/responses/ForbiddenResponse' + '404': + $ref: '#/components/responses/NotFoundResponse' + '429': + $ref: '#/components/responses/TooManyRequestsResponse' + summary: Delete a single service object + tags: + - Opsgenie Integration + x-permission: + operator: OR + permissions: + - manage_integrations + get: + description: Get a single service from the Datadog Opsgenie integration. + operationId: GetOpsgenieService + parameters: + - $ref: '#/components/parameters/OpsgenieServiceIDPathParameter' + responses: + '200': + content: + application/json: + examples: + default: + value: + data: + attributes: + custom_url: null + name: fake-opsgenie-service-name + region: us + id: 00000000-0000-0000-0000-000000000003 + type: opsgenie-service + schema: + $ref: '#/components/schemas/OpsgenieServiceResponse' + description: OK + '400': + $ref: '#/components/responses/BadRequestResponse' + '403': + $ref: '#/components/responses/ForbiddenResponse' + '404': + $ref: '#/components/responses/NotFoundResponse' + '409': + $ref: '#/components/responses/ConflictResponse' + '429': + $ref: '#/components/responses/TooManyRequestsResponse' + summary: Get a single service object + tags: + - Opsgenie Integration + x-permission: + operator: OR + permissions: + - integrations_read + patch: + description: Update a single service object in the Datadog Opsgenie integration. + operationId: UpdateOpsgenieService + parameters: + - $ref: '#/components/parameters/OpsgenieServiceIDPathParameter' + requestBody: + content: + application/json: + examples: + default: + value: + data: + attributes: + custom_url: https://example.com + name: fake-opsgenie-service-name + opsgenie_api_key: 00000000-0000-0000-0000-000000000000 + region: us + id: 596da4af-0563-4097-90ff-07230c3f9db3 + type: opsgenie-service + schema: + $ref: '#/components/schemas/OpsgenieServiceUpdateRequest' + description: Opsgenie service payload. + required: true + responses: + '200': + content: + application/json: + examples: + default: + value: + data: + attributes: + custom_url: https://example.com + name: fake-opsgenie-service-name + region: us + id: 00000000-0000-0000-0000-000000000004 + type: opsgenie-service + schema: + $ref: '#/components/schemas/OpsgenieServiceResponse' + description: OK + '400': + $ref: '#/components/responses/BadRequestResponse' + '403': + $ref: '#/components/responses/ForbiddenResponse' + '404': + $ref: '#/components/responses/NotFoundResponse' + '409': + $ref: '#/components/responses/ConflictResponse' + '429': + $ref: '#/components/responses/TooManyRequestsResponse' + summary: Update a single service object + tags: + - Opsgenie Integration + x-codegen-request-body-name: body + x-permission: + operator: OR + permissions: + - manage_integrations + /api/v2/integration/salesforce-incidents/incident-templates: + get: + description: Get all Salesforce incident templates configured for your organization. + operationId: GetIncidentTemplates + responses: + '200': + content: + application/json: + examples: + default: + value: + data: + - attributes: + description: An incident was detected by Datadog monitors. + name: production-outage + owner_id: '005000000000000' + priority: High + salesforce_org_id: 596da4af-0563-4097-90ff-07230c3f9db3 + subject: 'Datadog Incident: Production Outage' + id: 00000000-0000-0000-0000-000000000001 + type: salesforce-incidents-incident-template + schema: + $ref: '#/components/schemas/SalesforceIncidentsTemplatesResponse' + description: OK + '403': + $ref: '#/components/responses/ForbiddenResponse' + '429': + $ref: '#/components/responses/TooManyRequestsResponse' + summary: Get all Salesforce incident templates + tags: + - Salesforce Integration + x-permission: + operator: OR + permissions: + - integrations_read + post: + description: |- + Create a new Salesforce incident template for your organization. Template + names must be unique within an organization. + operationId: CreateIncidentTemplate + requestBody: + content: + application/json: + examples: + default: + value: + data: + attributes: + description: An incident was detected by Datadog monitors. + name: production-outage + owner_id: '005000000000000' + priority: High + salesforce_org_id: 596da4af-0563-4097-90ff-07230c3f9db3 + subject: 'Datadog Incident: Production Outage' + type: salesforce-incidents-incident-template + schema: + $ref: '#/components/schemas/SalesforceIncidentsTemplateCreateRequest' + description: Salesforce incident template payload. + required: true + responses: + '201': + content: + application/json: + examples: + default: + value: + data: + attributes: + description: An incident was detected by Datadog monitors. + name: production-outage + owner_id: '005000000000000' + priority: High + salesforce_org_id: 596da4af-0563-4097-90ff-07230c3f9db3 + subject: 'Datadog Incident: Production Outage' + id: 00000000-0000-0000-0000-000000000002 + type: salesforce-incidents-incident-template + schema: + $ref: '#/components/schemas/SalesforceIncidentsTemplateResponse' + description: CREATED + '400': + $ref: '#/components/responses/BadRequestResponse' + '403': + $ref: '#/components/responses/ForbiddenResponse' + '404': + $ref: '#/components/responses/NotFoundResponse' + '409': + $ref: '#/components/responses/ConflictResponse' + '429': + $ref: '#/components/responses/TooManyRequestsResponse' + summary: Create a Salesforce incident template + tags: + - Salesforce Integration + x-codegen-request-body-name: body + x-permission: + operator: OR + permissions: + - manage_integrations + /api/v2/integration/salesforce-incidents/incident-templates/{incident_template_id}: + delete: + description: Delete a single Salesforce incident template from your organization. + operationId: DeleteIncidentTemplate + parameters: + - $ref: '#/components/parameters/SalesforceIncidentsTemplateIDPathParameter' + responses: + '204': + description: OK + '403': + $ref: '#/components/responses/ForbiddenResponse' + '404': + $ref: '#/components/responses/NotFoundResponse' + '429': + $ref: '#/components/responses/TooManyRequestsResponse' + summary: Delete a Salesforce incident template + tags: + - Salesforce Integration + x-permission: + operator: OR + permissions: + - manage_integrations + patch: + description: Update a single Salesforce incident template in your organization. + operationId: UpdateIncidentTemplate + parameters: + - $ref: '#/components/parameters/SalesforceIncidentsTemplateIDPathParameter' + requestBody: + content: + application/json: + examples: + default: + value: + data: + attributes: + name: production-outage-renamed + id: 596da4af-0563-4097-90ff-07230c3f9db3 + type: salesforce-incidents-incident-template + schema: + $ref: '#/components/schemas/SalesforceIncidentsTemplateUpdateRequest' + description: Salesforce incident template payload. + required: true + responses: + '200': + content: + application/json: + examples: + default: + value: + data: + attributes: + description: An incident was detected by Datadog monitors. + name: production-outage-renamed + owner_id: '005000000000000' + priority: High + salesforce_org_id: 596da4af-0563-4097-90ff-07230c3f9db3 + subject: 'Datadog Incident: Production Outage' + id: 00000000-0000-0000-0000-000000000003 + type: salesforce-incidents-incident-template + schema: + $ref: '#/components/schemas/SalesforceIncidentsTemplateResponse' + description: OK + '400': + $ref: '#/components/responses/BadRequestResponse' + '403': + $ref: '#/components/responses/ForbiddenResponse' + '404': + $ref: '#/components/responses/NotFoundResponse' + '409': + $ref: '#/components/responses/ConflictResponse' + '429': + $ref: '#/components/responses/TooManyRequestsResponse' + summary: Update a Salesforce incident template + tags: + - Salesforce Integration + x-codegen-request-body-name: body + x-permission: + operator: OR + permissions: + - manage_integrations + /api/v2/integration/salesforce-incidents/organizations: + get: + description: |- + Get all Salesforce organizations connected to your Datadog organization + through the Salesforce integration. Salesforce organizations are connected + through the OAuth setup flow in the Datadog Salesforce integration page. + operationId: GetSalesforceOrganizations + responses: + '200': + content: + application/json: + examples: + default: + value: + data: + - attributes: + instance_url: https://acme.my.salesforce.com + name: Acme Production Org + sfdc_org_id: 00D000000000000 + sfdc_org_type: Production + id: 00000000-0000-0000-0000-000000000001 + type: salesforce-incidents-org + schema: + $ref: '#/components/schemas/SalesforceIncidentsOrganizationsResponse' + description: OK + '400': + $ref: '#/components/responses/BadRequestResponse' + '403': + $ref: '#/components/responses/ForbiddenResponse' + '404': + $ref: '#/components/responses/NotFoundResponse' + '429': + $ref: '#/components/responses/TooManyRequestsResponse' + summary: Get all connected Salesforce organizations + tags: + - Salesforce Integration + x-permission: + operator: OR + permissions: + - integrations_read + /api/v2/integration/salesforce-incidents/organizations/{salesforce_org_id}: + delete: + description: |- + Disconnect a Salesforce organization from your Datadog organization. + This also deletes any incident templates referencing the organization. + operationId: DeleteSalesforceOrganization + parameters: + - $ref: '#/components/parameters/SalesforceIncidentsOrganizationIDPathParameter' + responses: + '204': + description: OK + '400': + $ref: '#/components/responses/BadRequestResponse' + '403': + $ref: '#/components/responses/ForbiddenResponse' + '404': + $ref: '#/components/responses/NotFoundResponse' + '429': + $ref: '#/components/responses/TooManyRequestsResponse' + summary: Delete a connected Salesforce organization + tags: + - Salesforce Integration + x-permission: + operator: OR + permissions: + - manage_integrations + /api/v2/integration/servicenow/assignment_groups/{instance_id}: + get: + description: Get all assignment groups for a ServiceNow instance. + operationId: ListServiceNowAssignmentGroups + parameters: + - description: The ID of the ServiceNow instance + example: 65b3341b-0680-47f9-a6d4-134db45c603e + in: path + name: instance_id + required: true + schema: + format: uuid + type: string + responses: + '200': + content: + application/json: + examples: + default: + value: + data: + - attributes: + assignment_group_name: Network Team + assignment_group_sys_id: abc-123 + instance_id: 00000000-0000-0000-0000-000000000001 + id: 00000000-0000-0000-0000-000000000001 + type: assignment_groups + schema: + $ref: '#/components/schemas/ServiceNowAssignmentGroupsResponse' + description: OK + '400': + content: + application/json: + schema: + $ref: '#/components/schemas/JSONAPIErrorResponse' + description: Bad Request + '404': + content: + application/json: + schema: + $ref: '#/components/schemas/JSONAPIErrorResponse' + description: Not Found + '429': + $ref: '#/components/responses/TooManyRequestsResponse' + summary: List ServiceNow assignment groups + tags: + - ServiceNow Integration + /api/v2/integration/servicenow/business_services/{instance_id}: + get: + description: Get all business services for a ServiceNow instance. + operationId: ListServiceNowBusinessServices + parameters: + - description: The ID of the ServiceNow instance + example: 65b3341b-0680-47f9-a6d4-134db45c603e + in: path + name: instance_id + required: true + schema: + format: uuid + type: string + responses: + '200': + content: + application/json: + examples: + default: + value: + data: + - attributes: + instance_id: 00000000-0000-0000-0000-000000000001 + service_name: IT Support + service_sys_id: abc-123 + id: 00000000-0000-0000-0000-000000000001 + type: business_services + schema: + $ref: '#/components/schemas/ServiceNowBusinessServicesResponse' + description: OK + '400': + content: + application/json: + schema: + $ref: '#/components/schemas/JSONAPIErrorResponse' + description: Bad Request + '404': + content: + application/json: + schema: + $ref: '#/components/schemas/JSONAPIErrorResponse' + description: Not Found + '429': + $ref: '#/components/responses/TooManyRequestsResponse' + summary: List ServiceNow business services + tags: + - ServiceNow Integration + /api/v2/integration/servicenow/handles: + get: + description: Get all ServiceNow templates for the organization. + operationId: ListServiceNowTemplates + responses: + '200': + content: + application/json: + examples: + default: + value: + data: + - attributes: + handle_name: incident-template + instance_id: 00000000-0000-0000-0000-000000000001 + servicenow_tablename: incident + id: 00000000-0000-0000-0000-000000000001 + type: servicenow_templates + schema: + $ref: '#/components/schemas/ServiceNowTemplatesResponse' + description: OK + '429': + $ref: '#/components/responses/TooManyRequestsResponse' + summary: List ServiceNow templates + tags: + - ServiceNow Integration + post: + description: Create a new ServiceNow template. + operationId: CreateServiceNowTemplate + requestBody: + content: + application/json: + examples: + default: + value: + data: + attributes: + assignment_group_id: 65b3341b-0680-47f9-a6d4-134db45c603e + business_service_id: 65b3341b-0680-47f9-a6d4-134db45c603e + fields_mapping: + category: software + priority: '1' + handle_name: incident-template + instance_id: 65b3341b-0680-47f9-a6d4-134db45c603e + servicenow_tablename: incident + user_id: 65b3341b-0680-47f9-a6d4-134db45c603e + type: servicenow_templates + schema: + $ref: '#/components/schemas/ServiceNowTemplateCreateRequest' + required: true + responses: + '201': + content: + application/json: + examples: + default: + value: + data: + attributes: + handle_name: incident-template + instance_id: 00000000-0000-0000-0000-000000000001 + servicenow_tablename: incident + id: 00000000-0000-0000-0000-000000000001 + type: servicenow_templates + schema: + $ref: '#/components/schemas/ServiceNowTemplateResponse' + description: Created + '400': + content: + application/json: + schema: + $ref: '#/components/schemas/JSONAPIErrorResponse' + description: Bad Request + '429': + $ref: '#/components/responses/TooManyRequestsResponse' + summary: Create ServiceNow template + tags: + - ServiceNow Integration + /api/v2/integration/servicenow/handles/{template_id}: + delete: + description: Delete a ServiceNow template by ID. + operationId: DeleteServiceNowTemplate + parameters: + - description: The ID of the ServiceNow template to delete + example: 65b3341b-0680-47f9-a6d4-134db45c603e + in: path + name: template_id + required: true + schema: + format: uuid + type: string + responses: + '200': + description: OK + '400': + content: + application/json: + schema: + $ref: '#/components/schemas/JSONAPIErrorResponse' + description: Bad Request + '404': + content: + application/json: + schema: + $ref: '#/components/schemas/JSONAPIErrorResponse' + description: Not Found + '429': + $ref: '#/components/responses/TooManyRequestsResponse' + summary: Delete ServiceNow template + tags: + - ServiceNow Integration + get: + description: Get a ServiceNow template by ID. + operationId: GetServiceNowTemplate + parameters: + - description: The ID of the ServiceNow template to retrieve + example: 65b3341b-0680-47f9-a6d4-134db45c603e + in: path + name: template_id + required: true + schema: + format: uuid + type: string + responses: + '200': + content: + application/json: + examples: + default: + value: + data: + attributes: + handle_name: incident-template + instance_id: 00000000-0000-0000-0000-000000000001 + servicenow_tablename: incident + id: 00000000-0000-0000-0000-000000000001 + type: servicenow_templates + schema: + $ref: '#/components/schemas/ServiceNowTemplateResponse' + description: OK + '400': + content: + application/json: + schema: + $ref: '#/components/schemas/JSONAPIErrorResponse' + description: Bad Request + '404': + content: + application/json: + schema: + $ref: '#/components/schemas/JSONAPIErrorResponse' + description: Not Found + '429': + $ref: '#/components/responses/TooManyRequestsResponse' + summary: Get ServiceNow template + tags: + - ServiceNow Integration + put: + description: Update a ServiceNow template by ID. + operationId: UpdateServiceNowTemplate + parameters: + - description: The ID of the ServiceNow template to update + example: 65b3341b-0680-47f9-a6d4-134db45c603e + in: path + name: template_id + required: true + schema: + format: uuid + type: string + requestBody: + content: + application/json: + examples: + default: + value: + data: + attributes: + assignment_group_id: 65b3341b-0680-47f9-a6d4-134db45c603e + business_service_id: 65b3341b-0680-47f9-a6d4-134db45c603e + fields_mapping: + category: hardware + priority: '2' + handle_name: incident-template-updated + instance_id: 65b3341b-0680-47f9-a6d4-134db45c603e + servicenow_tablename: incident + user_id: 65b3341b-0680-47f9-a6d4-134db45c603e + type: servicenow_templates + schema: + $ref: '#/components/schemas/ServiceNowTemplateUpdateRequest' + required: true + responses: + '200': + content: + application/json: + examples: + default: + value: + data: + attributes: + handle_name: incident-template-updated + instance_id: 00000000-0000-0000-0000-000000000001 + servicenow_tablename: incident + id: 00000000-0000-0000-0000-000000000001 + type: servicenow_templates + schema: + $ref: '#/components/schemas/ServiceNowTemplateResponse' + description: OK + '400': + content: + application/json: + schema: + $ref: '#/components/schemas/JSONAPIErrorResponse' + description: Bad Request + '404': + content: + application/json: + schema: + $ref: '#/components/schemas/JSONAPIErrorResponse' + description: Not Found + '429': + $ref: '#/components/responses/TooManyRequestsResponse' + summary: Update ServiceNow template + tags: + - ServiceNow Integration + /api/v2/integration/servicenow/instances: + get: + description: Get all ServiceNow instances for the organization. + operationId: ListServiceNowInstances + responses: + '200': + content: + application/json: + examples: + default: + value: + data: + - attributes: + instance_name: my-servicenow-instance + id: 00000000-0000-0000-0000-000000000001 + type: instance + schema: + $ref: '#/components/schemas/ServiceNowInstancesResponse' + description: OK + '404': + content: + application/json: + schema: + $ref: '#/components/schemas/JSONAPIErrorResponse' + description: Not Found + '429': + $ref: '#/components/responses/TooManyRequestsResponse' + summary: List ServiceNow instances + tags: + - ServiceNow Integration + /api/v2/integration/servicenow/users/{instance_id}: + get: + description: Get all users for a ServiceNow instance. + operationId: ListServiceNowUsers + parameters: + - description: The ID of the ServiceNow instance + example: 65b3341b-0680-47f9-a6d4-134db45c603e + in: path + name: instance_id + required: true + schema: + format: uuid + type: string + responses: + '200': + content: + application/json: + examples: + default: + value: + data: + - attributes: + email: test@example.com + full_name: Example Name + instance_id: 00000000-0000-0000-0000-000000000001 + user_name: example-handle + user_sys_id: 00000000-0000-0000-0000-000000000001 + id: 00000000-0000-0000-0000-000000000001 + type: users + schema: + $ref: '#/components/schemas/ServiceNowUsersResponse' + description: OK + '400': + content: + application/json: + schema: + $ref: '#/components/schemas/JSONAPIErrorResponse' + description: Bad Request + '404': + content: + application/json: + schema: + $ref: '#/components/schemas/JSONAPIErrorResponse' + description: Not Found + '429': + $ref: '#/components/responses/TooManyRequestsResponse' + summary: List ServiceNow users + tags: + - ServiceNow Integration + /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 + /api/v2/integration/statuspage/account: + delete: + description: Delete the Statuspage account configured for your organization. + operationId: DeleteStatuspageAccount + responses: + '204': + description: OK + '400': + $ref: '#/components/responses/BadRequestResponse' + '403': + $ref: '#/components/responses/ForbiddenResponse' + '404': + $ref: '#/components/responses/NotFoundResponse' + '429': + $ref: '#/components/responses/TooManyRequestsResponse' + summary: Delete the Statuspage account + tags: + - Statuspage Integration + x-permission: + operator: OR + permissions: + - manage_integrations + get: + description: Get the Statuspage account configured for your organization. + operationId: GetStatuspageAccount + responses: + '200': + content: + application/json: + examples: + default: + value: + data: + attributes: + api_key: '*****' + type: statuspage-account + schema: + $ref: '#/components/schemas/StatuspageAccountResponse' + description: OK + '403': + $ref: '#/components/responses/ForbiddenResponse' + '404': + $ref: '#/components/responses/NotFoundResponse' + '429': + $ref: '#/components/responses/TooManyRequestsResponse' + summary: Get the Statuspage account + tags: + - Statuspage Integration + x-permission: + operator: OR + permissions: + - integrations_read + patch: + description: Update the Statuspage account configured for your organization. + operationId: UpdateStatuspageAccount + requestBody: + content: + application/json: + examples: + default: + value: + data: + attributes: + api_key: 00000000-0000-0000-0000-000000000000 + type: statuspage-account + schema: + $ref: '#/components/schemas/StatuspageAccountUpdateRequest' + description: Statuspage account payload. + required: true + responses: + '200': + content: + application/json: + examples: + default: + value: + data: + attributes: + api_key: '*****' + type: statuspage-account + schema: + $ref: '#/components/schemas/StatuspageAccountResponse' + description: OK + '400': + $ref: '#/components/responses/BadRequestResponse' + '403': + $ref: '#/components/responses/ForbiddenResponse' + '404': + $ref: '#/components/responses/NotFoundResponse' + '429': + $ref: '#/components/responses/TooManyRequestsResponse' + summary: Update the Statuspage account + tags: + - Statuspage Integration + x-codegen-request-body-name: body + x-permission: + operator: OR + permissions: + - manage_integrations + post: + description: |- + Create a Statuspage account for your organization. Only one Statuspage + account can be configured per organization. + operationId: CreateStatuspageAccount + requestBody: + content: + application/json: + examples: + default: + value: + data: + attributes: + api_key: 00000000-0000-0000-0000-000000000000 + type: statuspage-account + schema: + $ref: '#/components/schemas/StatuspageAccountCreateRequest' + description: Statuspage account payload. + required: true + responses: + '201': + content: + application/json: + examples: + default: + value: + data: + attributes: + api_key: '*****' + type: statuspage-account + schema: + $ref: '#/components/schemas/StatuspageAccountResponse' + description: CREATED + '400': + $ref: '#/components/responses/BadRequestResponse' + '403': + $ref: '#/components/responses/ForbiddenResponse' + '409': + $ref: '#/components/responses/ConflictResponse' + '429': + $ref: '#/components/responses/TooManyRequestsResponse' + summary: Create the Statuspage account + tags: + - Statuspage Integration + x-codegen-request-body-name: body + x-permission: + operator: OR + permissions: + - manage_integrations + /api/v2/integration/statuspage/url_settings: + get: + description: Get all Statuspage URL settings configured for your organization. + operationId: ListStatuspageUrlSettings + responses: + '200': + content: + application/json: + examples: + default: + value: + data: + - attributes: + custom_tags: team:collaboration-integrations + url: https://example.statuspage.io + id: 00000000-0000-0000-0000-000000000001 + type: statuspage-url-setting + schema: + $ref: '#/components/schemas/StatuspageUrlSettingsResponse' + description: OK + '403': + $ref: '#/components/responses/ForbiddenResponse' + '404': + $ref: '#/components/responses/NotFoundResponse' + '429': + $ref: '#/components/responses/TooManyRequestsResponse' + summary: Get all Statuspage URL settings + tags: + - Statuspage Integration + x-permission: + operator: OR + permissions: + - integrations_read + post: + description: Create a Statuspage URL setting for your organization. + operationId: CreateStatuspageUrlSetting + requestBody: + content: + application/json: + examples: + default: + value: + data: + attributes: + custom_tags: team:collaboration-integrations + url: https://example.statuspage.io + type: statuspage-url-setting + schema: + $ref: '#/components/schemas/StatuspageUrlSettingCreateRequest' + description: Statuspage URL setting payload. + required: true + responses: + '201': + content: + application/json: + examples: + default: + value: + data: + attributes: + custom_tags: team:collaboration-integrations + url: https://example.statuspage.io + id: 00000000-0000-0000-0000-000000000002 + type: statuspage-url-setting + schema: + $ref: '#/components/schemas/StatuspageUrlSettingResponse' + description: CREATED + '400': + $ref: '#/components/responses/BadRequestResponse' + '403': + $ref: '#/components/responses/ForbiddenResponse' + '409': + $ref: '#/components/responses/ConflictResponse' + '429': + $ref: '#/components/responses/TooManyRequestsResponse' + summary: Create a Statuspage URL setting + tags: + - Statuspage Integration + x-codegen-request-body-name: body + x-permission: + operator: OR + permissions: + - manage_integrations + /api/v2/integration/statuspage/url_settings/{statuspage_url_setting_id}: + delete: + description: Delete a single Statuspage URL setting from your organization. + operationId: DeleteStatuspageUrlSetting + parameters: + - $ref: '#/components/parameters/StatuspageUrlSettingIDPathParameter' + responses: + '204': + description: OK + '400': + $ref: '#/components/responses/BadRequestResponse' + '403': + $ref: '#/components/responses/ForbiddenResponse' + '404': + $ref: '#/components/responses/NotFoundResponse' + '429': + $ref: '#/components/responses/TooManyRequestsResponse' + summary: Delete a Statuspage URL setting + tags: + - Statuspage Integration + x-permission: + operator: OR + permissions: + - manage_integrations + patch: + description: Update a single Statuspage URL setting in your organization. + operationId: UpdateStatuspageUrlSetting + parameters: + - $ref: '#/components/parameters/StatuspageUrlSettingIDPathParameter' + requestBody: + content: + application/json: + examples: + default: + value: + data: + attributes: + custom_tags: team:collaboration-integrations + url: https://example.statuspage.io + id: 596da4af-0563-4097-90ff-07230c3f9db3 + type: statuspage-url-setting + schema: + $ref: '#/components/schemas/StatuspageUrlSettingUpdateRequest' + description: Statuspage URL setting payload. + required: true + responses: + '200': + content: + application/json: + examples: + default: + value: + data: + attributes: + custom_tags: team:collaboration-integrations + url: https://example.statuspage.io + id: 00000000-0000-0000-0000-000000000003 + type: statuspage-url-setting + schema: + $ref: '#/components/schemas/StatuspageUrlSettingResponse' + description: OK + '400': + $ref: '#/components/responses/BadRequestResponse' + '403': + $ref: '#/components/responses/ForbiddenResponse' + '404': + $ref: '#/components/responses/NotFoundResponse' + '409': + $ref: '#/components/responses/ConflictResponse' + '429': + $ref: '#/components/responses/TooManyRequestsResponse' + summary: Update a Statuspage URL setting + tags: + - Statuspage Integration + x-codegen-request-body-name: body + x-permission: + operator: OR + permissions: + - manage_integrations + /api/v2/integration/webhooks/configuration/auth-method: + get: + description: |- + Get a list of all auth methods configured for the Webhooks integration in + your organization. + operationId: GetAllAuthMethods + parameters: + - $ref: '#/components/parameters/WebhooksAuthMethodInclude' + responses: + '200': + content: + application/json: + examples: + default: + value: + data: + - attributes: + protocol: oauth2-client-credentials + id: 00000000-0000-0000-0000-000000000001 + relationships: + oauth2-client-credentials: + data: + id: 00000000-0000-0000-0000-000000000001 + type: webhooks-auth-method-oauth2-client-credentials + type: webhooks-auth-method + schema: + $ref: '#/components/schemas/WebhooksAuthMethodsResponse' + description: OK + '403': + $ref: '#/components/responses/ForbiddenResponse' + '429': + $ref: '#/components/responses/TooManyRequestsResponse' + summary: Get all auth methods + tags: + - Webhooks Integration + x-permission: + operator: OR + permissions: + - integrations_read + /api/v2/integration/webhooks/configuration/auth-method/oauth2-client-credentials: + post: + description: |- + Create a new OAuth2 client credentials auth method for the Webhooks + integration. The `client_secret` is stored securely and never returned. + operationId: CreateOAuth2ClientCredentials + requestBody: + content: + application/json: + examples: + default: + value: + data: + attributes: + access_token_url: https://example.com/oauth/token + audience: https://api.example.com + client_id: my-client-id + client_secret: my-client-secret + name: my-oauth2-auth + scope: read:webhooks write:webhooks + type: webhooks-auth-method-oauth2-client-credentials + schema: + $ref: '#/components/schemas/WebhooksOAuth2ClientCredentialsCreateRequest' + description: OAuth2 client credentials payload. + required: true + responses: + '201': + content: + application/json: + examples: + default: + value: + data: + attributes: + access_token_url: https://example.com/oauth/token + audience: https://api.example.com + client_id: my-client-id + name: my-oauth2-auth + protocol: oauth2-client-credentials + scope: read:webhooks write:webhooks + id: 00000000-0000-0000-0000-000000000002 + type: webhooks-auth-method-oauth2-client-credentials + schema: + $ref: '#/components/schemas/WebhooksOAuth2ClientCredentialsResponse' + description: CREATED + '400': + $ref: '#/components/responses/BadRequestResponse' + '403': + $ref: '#/components/responses/ForbiddenResponse' + '409': + $ref: '#/components/responses/ConflictResponse' + '429': + $ref: '#/components/responses/TooManyRequestsResponse' + summary: Create an OAuth2 client credentials auth method + tags: + - Webhooks Integration + x-codegen-request-body-name: body + x-permission: + operator: OR + permissions: + - manage_integrations + /api/v2/integration/webhooks/configuration/auth-method/oauth2-client-credentials/{auth_method_id}: + delete: + description: Delete an OAuth2 client credentials auth method by ID. + operationId: DeleteOAuth2ClientCredentials + parameters: + - $ref: '#/components/parameters/WebhooksAuthMethodIDPathParameter' + responses: + '204': + description: OK + '403': + $ref: '#/components/responses/ForbiddenResponse' + '404': + $ref: '#/components/responses/NotFoundResponse' + '429': + $ref: '#/components/responses/TooManyRequestsResponse' + summary: Delete an OAuth2 client credentials auth method + tags: + - Webhooks Integration + x-permission: + operator: OR + permissions: + - manage_integrations + get: + description: Get a single OAuth2 client credentials auth method by ID. + operationId: GetOAuth2ClientCredentials + parameters: + - $ref: '#/components/parameters/WebhooksAuthMethodIDPathParameter' + responses: + '200': + content: + application/json: + examples: + default: + value: + data: + attributes: + access_token_url: https://example.com/oauth/token + audience: https://api.example.com + client_id: my-client-id + name: my-oauth2-auth + protocol: oauth2-client-credentials + scope: read:webhooks write:webhooks + id: 00000000-0000-0000-0000-000000000003 + type: webhooks-auth-method-oauth2-client-credentials + schema: + $ref: '#/components/schemas/WebhooksOAuth2ClientCredentialsResponse' + description: OK + '403': + $ref: '#/components/responses/ForbiddenResponse' + '404': + $ref: '#/components/responses/NotFoundResponse' + '429': + $ref: '#/components/responses/TooManyRequestsResponse' + summary: Get an OAuth2 client credentials auth method + tags: + - Webhooks Integration + x-permission: + operator: OR + permissions: + - integrations_read + patch: + description: Update an existing OAuth2 client credentials auth method. + operationId: UpdateOAuth2ClientCredentials + parameters: + - $ref: '#/components/parameters/WebhooksAuthMethodIDPathParameter' + requestBody: + content: + application/json: + examples: + default: + value: + data: + attributes: + name: my-oauth2-auth-renamed + type: webhooks-auth-method-oauth2-client-credentials + schema: + $ref: '#/components/schemas/WebhooksOAuth2ClientCredentialsUpdateRequest' + description: OAuth2 client credentials payload. + required: true + responses: + '200': + content: + application/json: + examples: + default: + value: + data: + attributes: + access_token_url: https://example.com/oauth/token + audience: https://api.example.com + client_id: my-client-id + name: my-oauth2-auth-renamed + protocol: oauth2-client-credentials + scope: read:webhooks write:webhooks + id: 00000000-0000-0000-0000-000000000004 + type: webhooks-auth-method-oauth2-client-credentials + schema: + $ref: '#/components/schemas/WebhooksOAuth2ClientCredentialsResponse' + description: OK + '400': + $ref: '#/components/responses/BadRequestResponse' + '403': + $ref: '#/components/responses/ForbiddenResponse' + '404': + $ref: '#/components/responses/NotFoundResponse' + '409': + $ref: '#/components/responses/ConflictResponse' + '429': + $ref: '#/components/responses/TooManyRequestsResponse' + summary: Update an OAuth2 client credentials auth method + tags: + - Webhooks Integration + x-codegen-request-body-name: body + x-permission: + operator: OR + permissions: + - manage_integrations + /api/v2/integrations: + get: + operationId: ListIntegrations + responses: + '200': + content: + application/json: + examples: + default: + value: + data: + - attributes: + categories: + - Category::Kubernetes + description: Calico is a networking and network security solution for containers. + installed: true + title: calico + id: calico + type: integration + schema: + $ref: '#/components/schemas/ListIntegrationsResponse' + description: Successful Response. + '429': + $ref: '#/components/responses/TooManyRequestsResponse' + security: + - apiKeyAuth: [] + appKeyAuth: [] + summary: List Integrations + tags: + - Integrations + /api/v2/integrations/cloudflare/accounts: + get: + description: List Cloudflare accounts. + operationId: ListCloudflareAccounts + responses: + '200': + content: + application/json: + examples: + default: + value: + data: + - attributes: + email: test@example.com + name: test-name + resources: + - web + - dns + - lb + - worker + zones: + - zone_id_1 + - zone_id_2 + id: abc-123 + type: cloudflare-accounts + schema: + $ref: '#/components/schemas/CloudflareAccountsResponse' + description: OK + '400': + $ref: '#/components/responses/BadRequestResponse' + '403': + $ref: '#/components/responses/ForbiddenResponse' + '404': + $ref: '#/components/responses/NotFoundResponse' + '429': + $ref: '#/components/responses/TooManyRequestsResponse' + summary: List Cloudflare accounts + tags: + - Cloudflare Integration + x-permission: + operator: OR + permissions: + - integrations_read + post: + description: Create a Cloudflare account. + operationId: CreateCloudflareAccount + requestBody: + content: + application/json: + examples: + default: + value: + data: + attributes: + api_key: EXAMPLE_API_KEY_abc123 + email: test-email@example.com + name: test-name + resources: + - web + - dns + - lb + - worker + zones: + - zone_id_1 + - zone_id_2 + type: cloudflare-accounts + schema: + $ref: '#/components/schemas/CloudflareAccountCreateRequest' + required: true + responses: + '201': + content: + application/json: + examples: + default: + value: + data: + attributes: + email: test@example.com + name: test-name + id: abc-123 + type: cloudflare-accounts + schema: + $ref: '#/components/schemas/CloudflareAccountResponse' + description: CREATED + '400': + $ref: '#/components/responses/BadRequestResponse' + '403': + $ref: '#/components/responses/ForbiddenResponse' + '404': + $ref: '#/components/responses/NotFoundResponse' + '429': + $ref: '#/components/responses/TooManyRequestsResponse' + summary: Add Cloudflare account + tags: + - Cloudflare Integration + x-codegen-request-body-name: body + x-permission: + operator: OR + permissions: + - manage_integrations + /api/v2/integrations/cloudflare/accounts/{account_id}: + delete: + description: Delete a Cloudflare account. + operationId: DeleteCloudflareAccount + parameters: + - description: None + in: path + name: account_id + required: true + schema: + type: string + responses: + '204': + description: OK + '400': + $ref: '#/components/responses/BadRequestResponse' + '403': + $ref: '#/components/responses/ForbiddenResponse' + '404': + $ref: '#/components/responses/NotFoundResponse' + '429': + $ref: '#/components/responses/TooManyRequestsResponse' + summary: Delete Cloudflare account + tags: + - Cloudflare Integration + x-permission: + operator: OR + permissions: + - manage_integrations + get: + description: Get a Cloudflare account. + operationId: GetCloudflareAccount + parameters: + - description: None + in: path + name: account_id + required: true + schema: + type: string + responses: + '200': + content: + application/json: + examples: + default: + value: + data: + attributes: + email: test@example.com + name: test-name + resources: + - web + - dns + - lb + - worker + zones: + - zone_id_1 + - zone_id_2 + id: abc-123 + type: cloudflare-accounts + schema: + $ref: '#/components/schemas/CloudflareAccountResponse' + description: OK + '400': + $ref: '#/components/responses/BadRequestResponse' + '403': + $ref: '#/components/responses/ForbiddenResponse' + '404': + $ref: '#/components/responses/NotFoundResponse' + '429': + $ref: '#/components/responses/TooManyRequestsResponse' + summary: Get Cloudflare account + tags: + - Cloudflare Integration + x-permission: + operator: OR + permissions: + - integrations_read + patch: + description: Update a Cloudflare account. + operationId: UpdateCloudflareAccount + parameters: + - description: None + in: path + name: account_id + required: true + schema: + type: string + requestBody: + content: + application/json: + examples: + default: + value: + data: + attributes: + api_key: EXAMPLE_API_KEY_abc123 + email: test-email@example.com + resources: + - web + - dns + - lb + - worker + zones: + - zone_id_1 + - zone_id_2 + type: cloudflare-accounts + schema: + $ref: '#/components/schemas/CloudflareAccountUpdateRequest' + required: true + responses: + '200': + content: + application/json: + examples: + default: + value: + data: + attributes: + email: test@example.com + name: test-name + resources: + - web + - dns + - lb + - worker + zones: + - zone_id_1 + - zone_id_2 + id: abc-123 + type: cloudflare-accounts + schema: + $ref: '#/components/schemas/CloudflareAccountResponse' + description: OK + '400': + $ref: '#/components/responses/BadRequestResponse' + '403': + $ref: '#/components/responses/ForbiddenResponse' + '404': + $ref: '#/components/responses/NotFoundResponse' + '429': + $ref: '#/components/responses/TooManyRequestsResponse' + summary: Update Cloudflare account + tags: + - Cloudflare Integration + x-codegen-request-body-name: body + x-permission: + operator: OR + permissions: + - manage_integrations + /api/v2/integrations/confluent-cloud/accounts: + get: + description: List Confluent accounts. + operationId: ListConfluentAccount + responses: + '200': + content: + application/json: + examples: + default: + value: + data: + - attributes: + api_key: abc-123-key + tags: + - myTag + id: abc-123 + type: confluent-cloud-accounts + schema: + $ref: '#/components/schemas/ConfluentAccountsResponse' + description: OK + '400': + $ref: '#/components/responses/BadRequestResponse' + '403': + $ref: '#/components/responses/ForbiddenResponse' + '404': + $ref: '#/components/responses/NotFoundResponse' + '429': + $ref: '#/components/responses/TooManyRequestsResponse' + summary: List Confluent accounts + tags: + - Confluent Cloud + x-permission: + operator: OR + permissions: + - integrations_read + post: + description: Create a Confluent account. + operationId: CreateConfluentAccount + requestBody: + content: + application/json: + examples: + default: + value: + data: + attributes: + api_key: TESTAPIKEY123 + api_secret: test-api-secret-123 + resources: + - enable_custom_metrics: false + id: resource-id-123 + resource_type: kafka + tags: + - myTag + - myTag2:myValue + tags: + - myTag + - myTag2:myValue + type: confluent-cloud-accounts + schema: + $ref: '#/components/schemas/ConfluentAccountCreateRequest' + description: Confluent payload + required: true + responses: + '201': + content: + application/json: + examples: + default: + value: + data: + attributes: + api_key: abc-123-key + tags: + - myTag + id: abc-123 + type: confluent-cloud-accounts + schema: + $ref: '#/components/schemas/ConfluentAccountResponse' + description: OK + '400': + $ref: '#/components/responses/BadRequestResponse' + '403': + $ref: '#/components/responses/ForbiddenResponse' + '404': + $ref: '#/components/responses/NotFoundResponse' + '429': + $ref: '#/components/responses/TooManyRequestsResponse' + summary: Add Confluent account + tags: + - Confluent Cloud + x-codegen-request-body-name: body + x-permission: + operator: OR + permissions: + - manage_integrations + /api/v2/integrations/confluent-cloud/accounts/{account_id}: + delete: + description: Delete a Confluent account with the provided account ID. + operationId: DeleteConfluentAccount + parameters: + - $ref: '#/components/parameters/ConfluentAccountID' + responses: + '204': + description: OK + '400': + $ref: '#/components/responses/BadRequestResponse' + '403': + $ref: '#/components/responses/ForbiddenResponse' + '404': + $ref: '#/components/responses/NotFoundResponse' + '429': + $ref: '#/components/responses/TooManyRequestsResponse' + summary: Delete Confluent account + tags: + - Confluent Cloud + x-permission: + operator: OR + permissions: + - manage_integrations + get: + description: Get the Confluent account with the provided account ID. + operationId: GetConfluentAccount + parameters: + - $ref: '#/components/parameters/ConfluentAccountID' + responses: + '200': + content: + application/json: + examples: + default: + value: + data: + attributes: + api_key: abc-123-key + tags: + - myTag + id: abc-123 + type: confluent-cloud-accounts + schema: + $ref: '#/components/schemas/ConfluentAccountResponse' + description: OK + '400': + $ref: '#/components/responses/BadRequestResponse' + '403': + $ref: '#/components/responses/ForbiddenResponse' + '404': + $ref: '#/components/responses/NotFoundResponse' + '429': + $ref: '#/components/responses/TooManyRequestsResponse' + summary: Get Confluent account + tags: + - Confluent Cloud + x-permission: + operator: OR + permissions: + - integrations_read + patch: + description: Update the Confluent account with the provided account ID. + operationId: UpdateConfluentAccount + parameters: + - $ref: '#/components/parameters/ConfluentAccountID' + requestBody: + content: + application/json: + examples: + default: + value: + data: + attributes: + api_key: TESTAPIKEY123 + api_secret: test-api-secret-123 + tags: + - myTag + - myTag2:myValue + type: confluent-cloud-accounts + schema: + $ref: '#/components/schemas/ConfluentAccountUpdateRequest' + description: Confluent payload + required: true + responses: + '200': + content: + application/json: + examples: + default: + value: + data: + attributes: + api_key: abc-123-key + tags: + - myTag + id: abc-123 + type: confluent-cloud-accounts + schema: + $ref: '#/components/schemas/ConfluentAccountResponse' + description: OK + '400': + $ref: '#/components/responses/BadRequestResponse' + '403': + $ref: '#/components/responses/ForbiddenResponse' + '404': + $ref: '#/components/responses/NotFoundResponse' + '429': + $ref: '#/components/responses/TooManyRequestsResponse' + summary: Update Confluent account + tags: + - Confluent Cloud + x-codegen-request-body-name: body + x-permission: + operator: OR + permissions: + - manage_integrations + /api/v2/integrations/confluent-cloud/accounts/{account_id}/resources: + get: + description: Get a Confluent resource for the account associated with the provided ID. + operationId: ListConfluentResource + parameters: + - $ref: '#/components/parameters/ConfluentAccountID' + responses: + '200': + content: + application/json: + examples: + default: + value: + data: + - attributes: + enable_custom_metrics: false + resource_type: kafka + tags: + - myTag + id: abc-123 + type: confluent-cloud-resources + schema: + $ref: '#/components/schemas/ConfluentResourcesResponse' + description: OK + '400': + $ref: '#/components/responses/BadRequestResponse' + '403': + $ref: '#/components/responses/ForbiddenResponse' + '404': + $ref: '#/components/responses/NotFoundResponse' + '429': + $ref: '#/components/responses/TooManyRequestsResponse' + summary: List Confluent Account resources + tags: + - Confluent Cloud + x-permission: + operator: OR + permissions: + - integrations_read + post: + description: Create a Confluent resource for the account associated with the provided ID. + operationId: CreateConfluentResource + parameters: + - $ref: '#/components/parameters/ConfluentAccountID' + requestBody: + content: + application/json: + examples: + default: + value: + data: + attributes: + enable_custom_metrics: false + resource_type: kafka + tags: + - myTag + - myTag2:myValue + id: resource-id-123 + type: confluent-cloud-resources + schema: + $ref: '#/components/schemas/ConfluentResourceRequest' + description: Confluent payload + required: true + responses: + '201': + content: + application/json: + examples: + default: + value: + data: + attributes: + enable_custom_metrics: false + resource_type: kafka + tags: + - myTag + id: abc-123 + type: confluent-cloud-resources + schema: + $ref: '#/components/schemas/ConfluentResourceResponse' + description: OK + '400': + $ref: '#/components/responses/BadRequestResponse' + '403': + $ref: '#/components/responses/ForbiddenResponse' + '404': + $ref: '#/components/responses/NotFoundResponse' + '429': + $ref: '#/components/responses/TooManyRequestsResponse' + summary: Add resource to Confluent account + tags: + - Confluent Cloud + x-codegen-request-body-name: body + x-permission: + operator: OR + permissions: + - manage_integrations + /api/v2/integrations/confluent-cloud/accounts/{account_id}/resources/{resource_id}: + delete: + description: Delete a Confluent resource with the provided resource id for the account associated with the provided account ID. + operationId: DeleteConfluentResource + parameters: + - $ref: '#/components/parameters/ConfluentAccountID' + - $ref: '#/components/parameters/ConfluentResourceID' + responses: + '204': + description: OK + '400': + $ref: '#/components/responses/BadRequestResponse' + '403': + $ref: '#/components/responses/ForbiddenResponse' + '404': + $ref: '#/components/responses/NotFoundResponse' + '429': + $ref: '#/components/responses/TooManyRequestsResponse' + summary: Delete resource from Confluent account + tags: + - Confluent Cloud + x-permission: + operator: OR + permissions: + - manage_integrations + get: + description: Get a Confluent resource with the provided resource id for the account associated with the provided account ID. + operationId: GetConfluentResource + parameters: + - $ref: '#/components/parameters/ConfluentAccountID' + - $ref: '#/components/parameters/ConfluentResourceID' + responses: + '200': + content: + application/json: + examples: + default: + value: + data: + attributes: + enable_custom_metrics: false + resource_type: kafka + tags: + - myTag + id: abc-123 + type: confluent-cloud-resources + schema: + $ref: '#/components/schemas/ConfluentResourceResponse' + description: OK + '400': + $ref: '#/components/responses/BadRequestResponse' + '403': + $ref: '#/components/responses/ForbiddenResponse' + '404': + $ref: '#/components/responses/NotFoundResponse' + '429': + $ref: '#/components/responses/TooManyRequestsResponse' + summary: Get resource from Confluent account + tags: + - Confluent Cloud + x-permission: + operator: OR + permissions: + - integrations_read + patch: + description: Update a Confluent resource with the provided resource id for the account associated with the provided account ID. + operationId: UpdateConfluentResource + parameters: + - $ref: '#/components/parameters/ConfluentAccountID' + - $ref: '#/components/parameters/ConfluentResourceID' + requestBody: + content: + application/json: + examples: + default: + value: + data: + attributes: + enable_custom_metrics: false + resource_type: kafka + tags: + - myTag + - myTag2:myValue + id: resource-id-123 + type: confluent-cloud-resources + schema: + $ref: '#/components/schemas/ConfluentResourceRequest' + description: Confluent payload + required: true + responses: + '200': + content: + application/json: + examples: + default: + value: + data: + attributes: + enable_custom_metrics: false + resource_type: kafka + tags: + - myTag + id: abc-123 + type: confluent-cloud-resources + schema: + $ref: '#/components/schemas/ConfluentResourceResponse' + description: OK + '400': + $ref: '#/components/responses/BadRequestResponse' + '403': + $ref: '#/components/responses/ForbiddenResponse' + '404': + $ref: '#/components/responses/NotFoundResponse' + '429': + $ref: '#/components/responses/TooManyRequestsResponse' + summary: Update resource in Confluent account + tags: + - Confluent Cloud + x-codegen-request-body-name: body + x-permission: + operator: OR + permissions: + - manage_integrations + /api/v2/integrations/fastly/accounts: + get: + description: List Fastly accounts. + operationId: ListFastlyAccounts + responses: + '200': + content: + application/json: + examples: + default: + value: + data: + - attributes: + name: test-name + services: [] + id: abc-123 + type: fastly-accounts + schema: + $ref: '#/components/schemas/FastlyAccountsResponse' + description: OK + '400': + $ref: '#/components/responses/BadRequestResponse' + '403': + $ref: '#/components/responses/ForbiddenResponse' + '404': + $ref: '#/components/responses/NotFoundResponse' + '429': + $ref: '#/components/responses/TooManyRequestsResponse' + summary: List Fastly accounts + tags: + - Fastly Integration + x-permission: + operator: OR + permissions: + - integrations_read + post: + description: Create a Fastly account. + operationId: CreateFastlyAccount + requestBody: + content: + application/json: + examples: + default: + value: + data: + attributes: + api_key: ABCDEFG123 + name: test-name + services: + - id: 6abc7de6893AbcDe9fghIj + tags: + - myTag + - myTag2:myValue + type: fastly-accounts + schema: + $ref: '#/components/schemas/FastlyAccountCreateRequest' + required: true + responses: + '201': + content: + application/json: + examples: + default: + value: + data: + attributes: + name: test-name + services: [] + id: abc-123 + type: fastly-accounts + schema: + $ref: '#/components/schemas/FastlyAccountResponse' + description: CREATED + '400': + $ref: '#/components/responses/BadRequestResponse' + '403': + $ref: '#/components/responses/ForbiddenResponse' + '404': + $ref: '#/components/responses/NotFoundResponse' + '429': + $ref: '#/components/responses/TooManyRequestsResponse' + summary: Add Fastly account + tags: + - Fastly Integration + x-codegen-request-body-name: body + x-permission: + operator: OR + permissions: + - manage_integrations + /api/v2/integrations/fastly/accounts/{account_id}: + delete: + description: Delete a Fastly account. + operationId: DeleteFastlyAccount + parameters: + - $ref: '#/components/parameters/FastlyAccountID' + responses: + '204': + description: OK + '400': + $ref: '#/components/responses/BadRequestResponse' + '403': + $ref: '#/components/responses/ForbiddenResponse' + '404': + $ref: '#/components/responses/NotFoundResponse' + '429': + $ref: '#/components/responses/TooManyRequestsResponse' + summary: Delete Fastly account + tags: + - Fastly Integration + x-permission: + operator: OR + permissions: + - manage_integrations + get: + description: Get a Fastly account. + operationId: GetFastlyAccount + parameters: + - $ref: '#/components/parameters/FastlyAccountID' + responses: + '200': + content: + application/json: + examples: + default: + value: + data: + attributes: + name: test-name + services: [] + id: abc-123 + type: fastly-accounts + schema: + $ref: '#/components/schemas/FastlyAccountResponse' + description: OK + '400': + $ref: '#/components/responses/BadRequestResponse' + '403': + $ref: '#/components/responses/ForbiddenResponse' + '404': + $ref: '#/components/responses/NotFoundResponse' + '429': + $ref: '#/components/responses/TooManyRequestsResponse' + summary: Get Fastly account + tags: + - Fastly Integration + x-permission: + operator: OR + permissions: + - integrations_read + patch: + description: Update a Fastly account. + operationId: UpdateFastlyAccount + parameters: + - $ref: '#/components/parameters/FastlyAccountID' + requestBody: + content: + application/json: + examples: + default: + value: + data: + attributes: + api_key: ABCDEFG123 + type: fastly-accounts + schema: + $ref: '#/components/schemas/FastlyAccountUpdateRequest' + required: true + responses: + '200': + content: + application/json: + examples: + default: + value: + data: + attributes: + name: test-name + services: [] + id: abc-123 + type: fastly-accounts + schema: + $ref: '#/components/schemas/FastlyAccountResponse' + description: OK + '400': + $ref: '#/components/responses/BadRequestResponse' + '403': + $ref: '#/components/responses/ForbiddenResponse' + '404': + $ref: '#/components/responses/NotFoundResponse' + '429': + $ref: '#/components/responses/TooManyRequestsResponse' + summary: Update Fastly account + tags: + - Fastly Integration + x-codegen-request-body-name: body + x-permission: + operator: OR + permissions: + - manage_integrations + /api/v2/integrations/fastly/accounts/{account_id}/services: + get: + description: List Fastly services for an account. + operationId: ListFastlyServices + parameters: + - $ref: '#/components/parameters/FastlyAccountID' + responses: + '200': + content: + application/json: + examples: + default: + value: + data: + - attributes: + tags: + - myTag + id: abc-123 + type: fastly-services + schema: + $ref: '#/components/schemas/FastlyServicesResponse' + description: OK + '400': + $ref: '#/components/responses/BadRequestResponse' + '403': + $ref: '#/components/responses/ForbiddenResponse' + '404': + $ref: '#/components/responses/NotFoundResponse' + '429': + $ref: '#/components/responses/TooManyRequestsResponse' + summary: List Fastly services + tags: + - Fastly Integration + x-permission: + operator: OR + permissions: + - integrations_read + post: + description: Create a Fastly service for an account. + operationId: CreateFastlyService + parameters: + - $ref: '#/components/parameters/FastlyAccountID' + requestBody: + content: + application/json: + examples: + default: + value: + data: + attributes: + tags: + - myTag + - myTag2:myValue + id: abc123 + type: fastly-services + schema: + $ref: '#/components/schemas/FastlyServiceRequest' + required: true + responses: + '201': + content: + application/json: + examples: + default: + value: + data: + attributes: + tags: + - myTag + id: abc-123 + type: fastly-services + schema: + $ref: '#/components/schemas/FastlyServiceResponse' + description: CREATED + '400': + $ref: '#/components/responses/BadRequestResponse' + '403': + $ref: '#/components/responses/ForbiddenResponse' + '404': + $ref: '#/components/responses/NotFoundResponse' + '429': + $ref: '#/components/responses/TooManyRequestsResponse' + summary: Add Fastly service + tags: + - Fastly Integration + x-codegen-request-body-name: body + x-permission: + operator: OR + permissions: + - manage_integrations + /api/v2/integrations/fastly/accounts/{account_id}/services/{service_id}: + delete: + description: Delete a Fastly service for an account. + operationId: DeleteFastlyService + parameters: + - $ref: '#/components/parameters/FastlyAccountID' + - $ref: '#/components/parameters/FastlyServiceID' + responses: + '204': + description: OK + '400': + $ref: '#/components/responses/BadRequestResponse' + '403': + $ref: '#/components/responses/ForbiddenResponse' + '404': + $ref: '#/components/responses/NotFoundResponse' + '429': + $ref: '#/components/responses/TooManyRequestsResponse' + summary: Delete Fastly service + tags: + - Fastly Integration + x-permission: + operator: OR + permissions: + - manage_integrations + get: + description: Get a Fastly service for an account. + operationId: GetFastlyService + parameters: + - $ref: '#/components/parameters/FastlyAccountID' + - $ref: '#/components/parameters/FastlyServiceID' + responses: + '200': + content: + application/json: + examples: + default: + value: + data: + attributes: + tags: + - myTag + id: abc-123 + type: fastly-services + schema: + $ref: '#/components/schemas/FastlyServiceResponse' + description: OK + '400': + $ref: '#/components/responses/BadRequestResponse' + '403': + $ref: '#/components/responses/ForbiddenResponse' + '404': + $ref: '#/components/responses/NotFoundResponse' + '429': + $ref: '#/components/responses/TooManyRequestsResponse' + summary: Get Fastly service + tags: + - Fastly Integration + x-permission: + operator: OR + permissions: + - integrations_read + patch: + description: Update a Fastly service for an account. + operationId: UpdateFastlyService + parameters: + - $ref: '#/components/parameters/FastlyAccountID' + - $ref: '#/components/parameters/FastlyServiceID' + requestBody: + content: + application/json: + examples: + default: + value: + data: + attributes: + tags: + - myTag + - myTag2:myValue + id: abc123 + type: fastly-services + schema: + $ref: '#/components/schemas/FastlyServiceRequest' + required: true + responses: + '200': + content: + application/json: + examples: + default: + value: + data: + attributes: + tags: + - myTag + id: abc-123 + type: fastly-services + schema: + $ref: '#/components/schemas/FastlyServiceResponse' + description: OK + '400': + $ref: '#/components/responses/BadRequestResponse' + '403': + $ref: '#/components/responses/ForbiddenResponse' + '404': + $ref: '#/components/responses/NotFoundResponse' + '429': + $ref: '#/components/responses/TooManyRequestsResponse' + summary: Update Fastly service + tags: + - Fastly Integration + x-codegen-request-body-name: body + x-permission: + operator: OR + permissions: + - manage_integrations + /api/v2/integrations/okta/accounts: + get: + description: List Okta accounts. + operationId: ListOktaAccounts + responses: + '200': + content: + application/json: + examples: + default: + value: + data: + - attributes: + auth_method: oauth + domain: https://example.okta.com/ + name: Okta-Prod + id: 00000000-0000-0000-0000-000000000001 + type: okta-accounts + schema: + $ref: '#/components/schemas/OktaAccountsResponse' + description: OK + '400': + $ref: '#/components/responses/BadRequestResponse' + '403': + $ref: '#/components/responses/ForbiddenResponse' + '404': + $ref: '#/components/responses/NotFoundResponse' + '429': + $ref: '#/components/responses/TooManyRequestsResponse' + summary: List Okta accounts + tags: + - Okta Integration + x-permission: + operator: OR + permissions: + - integrations_read + post: + description: Create an Okta account. + operationId: CreateOktaAccount + requestBody: + content: + application/json: + examples: + default: + value: + data: + attributes: + auth_method: oauth + client_id: client_id + client_secret: client_secret + domain: https://example.okta.com/ + name: Okta-Prod + id: f749daaf-682e-4208-a38d-c9b43162c609 + type: okta-accounts + schema: + $ref: '#/components/schemas/OktaAccountRequest' + required: true + responses: + '201': + content: + application/json: + examples: + default: + value: + data: + attributes: + auth_method: oauth + domain: https://example.okta.com/ + name: Okta-Prod + id: 00000000-0000-0000-0000-000000000002 + type: okta-accounts + schema: + $ref: '#/components/schemas/OktaAccountResponse' + description: OK + '400': + $ref: '#/components/responses/BadRequestResponse' + '403': + $ref: '#/components/responses/ForbiddenResponse' + '404': + $ref: '#/components/responses/NotFoundResponse' + '429': + $ref: '#/components/responses/TooManyRequestsResponse' + summary: Add Okta account + tags: + - Okta Integration + x-codegen-request-body-name: body + x-permission: + operator: OR + permissions: + - manage_integrations + /api/v2/integrations/okta/accounts/{account_id}: + delete: + description: Delete an Okta account. + operationId: DeleteOktaAccount + parameters: + - description: None + in: path + name: account_id + required: true + schema: + type: string + responses: + '204': + description: OK + '400': + $ref: '#/components/responses/BadRequestResponse' + '403': + $ref: '#/components/responses/ForbiddenResponse' + '404': + $ref: '#/components/responses/NotFoundResponse' + '429': + $ref: '#/components/responses/TooManyRequestsResponse' + summary: Delete Okta account + tags: + - Okta Integration + x-permission: + operator: OR + permissions: + - manage_integrations + get: + description: Get an Okta account. + operationId: GetOktaAccount + parameters: + - description: None + in: path + name: account_id + required: true + schema: + type: string + responses: + '200': + content: + application/json: + examples: + default: + value: + data: + attributes: + auth_method: oauth + domain: https://example.okta.com/ + name: Okta-Prod + id: 00000000-0000-0000-0000-000000000003 + type: okta-accounts + schema: + $ref: '#/components/schemas/OktaAccountResponse' + description: OK + '400': + $ref: '#/components/responses/BadRequestResponse' + '403': + $ref: '#/components/responses/ForbiddenResponse' + '404': + $ref: '#/components/responses/NotFoundResponse' + '429': + $ref: '#/components/responses/TooManyRequestsResponse' + summary: Get Okta account + tags: + - Okta Integration + x-permission: + operator: OR + permissions: + - integrations_read + patch: + description: Update an Okta account. + operationId: UpdateOktaAccount + parameters: + - description: None + in: path + name: account_id + required: true + schema: + type: string + requestBody: + content: + application/json: + examples: + default: + value: + data: + attributes: + auth_method: oauth + domain: https://example.okta.com/ + type: okta-accounts + schema: + $ref: '#/components/schemas/OktaAccountUpdateRequest' + required: true + responses: + '200': + content: + application/json: + examples: + default: + value: + data: + attributes: + auth_method: oauth + domain: https://example.okta.com/ + name: Okta-Prod + id: 00000000-0000-0000-0000-000000000004 + type: okta-accounts + schema: + $ref: '#/components/schemas/OktaAccountResponse' + description: OK + '400': + $ref: '#/components/responses/BadRequestResponse' + '403': + $ref: '#/components/responses/ForbiddenResponse' + '404': + $ref: '#/components/responses/NotFoundResponse' + '429': + $ref: '#/components/responses/TooManyRequestsResponse' + summary: Update Okta account + tags: + - Okta Integration + x-codegen-request-body-name: body + x-permission: + operator: OR + permissions: + - manage_integrations + /api/v2/reference-tables/queries/batch-rows: + post: + description: Batch query reference table rows by their primary key values. Returns only found rows in the included array. + operationId: BatchRowsQuery + requestBody: + content: + application/json: + examples: + default: + value: + data: + attributes: + row_ids: + - row_id_1 + - row_id_2 + table_id: 00000000-0000-0000-0000-000000000000 + type: reference-tables-batch-rows-query + happy_path: + summary: Batch query reference table rows by their primary key values. + value: + data: + attributes: + row_ids: + - row_id_1 + - row_id_2 + table_id: 00000000-0000-0000-0000-000000000000 + type: reference-tables-batch-rows-query + schema: + $ref: '#/components/schemas/BatchRowsQueryRequest' + required: true + responses: + '200': + content: + application/json: + examples: + default: + value: + data: + id: 00000000-0000-0000-0000-000000000000 + relationships: + rows: + data: + - id: row_id_1 + type: row + - id: row_id_2 + type: row + type: reference-tables-batch-rows-query + schema: + $ref: '#/components/schemas/BatchRowsQueryResponse' + description: Successfully retrieved rows. Some or all requested rows were found. Response includes found rows in the included section. + '400': + $ref: '#/components/responses/BadRequestResponse' + '403': + $ref: '#/components/responses/ForbiddenResponse' + '404': + $ref: '#/components/responses/NotFoundResponse' + '429': + $ref: '#/components/responses/TooManyRequestsResponse' + '500': + content: + application/json: + schema: + $ref: '#/components/schemas/APIErrorResponse' + description: Internal Server Error + security: + - apiKeyAuth: [] + appKeyAuth: [] + - AuthZ: [] + summary: Batch rows query + tags: + - Reference Tables + /api/v2/reference-tables/tables: + get: + description: List all reference tables in this organization. + operationId: ListTables + parameters: + - description: Number of tables to return. + example: 15 + in: query + name: page[limit] + required: false + schema: + default: 15 + format: int64 + maximum: 100 + minimum: 1 + type: integer + - description: Number of tables to skip for pagination. + example: 0 + in: query + name: page[offset] + required: false + schema: + default: 0 + format: int64 + minimum: 0 + type: integer + - description: Sort field and direction for the list of reference tables. Use field name for ascending, prefix with "-" for descending. + example: '-updated_at' + in: query + name: sort + required: false + schema: + $ref: '#/components/schemas/ReferenceTableSortType' + - description: Filter by table status. + example: DONE + in: query + name: filter[status] + required: false + schema: + type: string + - description: Filter by exact table name match. + example: my_reference_table + in: query + name: filter[table_name][exact] + required: false + schema: + type: string + - description: Filter by table name containing substring. + example: user + in: query + name: filter[table_name][contains] + required: false + schema: + type: string + responses: + '200': + content: + application/json: + examples: + default: + value: + data: + - attributes: + status: DONE + table_name: my_reference_table + id: abc-123 + type: reference_table + schema: + $ref: '#/components/schemas/TableResultV2Array' + description: OK + '403': + $ref: '#/components/responses/ForbiddenResponse' + '429': + $ref: '#/components/responses/TooManyRequestsResponse' + security: + - apiKeyAuth: [] + appKeyAuth: [] + - AuthZ: [] + summary: List tables + tags: + - Reference Tables + post: + description: |- + Creates a reference table. You can provide data in two ways: + 1. Call POST /api/v2/reference-tables/upload to get an upload ID. Then, PUT the CSV data + (not the file itself) in chunks to each URL in the request body. Finally, call this + POST endpoint with `upload_id` in `file_metadata`. + 2. Provide `access_details` in `file_metadata` pointing to a CSV file in cloud storage. + operationId: CreateReferenceTable + requestBody: + content: + application/json: + examples: + cloud_storage: + summary: Create table from cloud storage (S3) + value: + data: + attributes: + description: Customer reference data synced from S3 + file_metadata: + access_details: + aws_detail: + aws_account_id: '924305315327' + aws_bucket_name: my-data-bucket + file_path: customers.csv + sync_enabled: true + schema: + fields: + - name: customer_id + type: STRING + - name: customer_name + type: STRING + - name: email + type: STRING + primary_keys: + - customer_id + source: S3 + table_name: customer_reference_data + tags: + - team:data-platform + type: reference_table + default: + value: + data: + attributes: + description: Customer reference data synced from S3 + file_metadata: + access_details: + aws_detail: + aws_account_id: '924305315327' + aws_bucket_name: my-data-bucket + file_path: customers.csv + sync_enabled: true + schema: + fields: + - name: customer_id + type: STRING + - name: customer_name + type: STRING + - name: email + type: STRING + primary_keys: + - customer_id + source: S3 + table_name: customer_reference_data + tags: + - team:data-platform + type: reference_table + local_file: + summary: Create table from local file upload + value: + data: + attributes: + description: Product catalog uploaded via local file + file_metadata: + upload_id: 00000000-0000-0000-0000-000000000000 + schema: + fields: + - name: product_id + type: STRING + - name: product_name + type: STRING + - name: price + type: DOUBLE + primary_keys: + - product_id + source: LOCAL_FILE + table_name: product_catalog + tags: + - team:ecommerce + type: reference_table + schema: + $ref: '#/components/schemas/CreateTableRequest' + required: true + responses: + '201': + content: + application/json: + examples: + default: + value: + data: + attributes: + status: DONE + table_name: my_reference_table + id: abc-123 + type: reference_table + schema: + $ref: '#/components/schemas/TableResultV2' + description: Created + '400': + $ref: '#/components/responses/BadRequestResponse' + '403': + $ref: '#/components/responses/ForbiddenResponse' + '429': + $ref: '#/components/responses/TooManyRequestsResponse' + security: + - apiKeyAuth: [] + appKeyAuth: [] + - AuthZ: [] + summary: Create reference table + tags: + - Reference Tables + /api/v2/reference-tables/tables/{id}: + delete: + description: Delete a reference table by ID + operationId: DeleteTable + parameters: + - description: Unique identifier of the reference table to delete + in: path + name: id + required: true + schema: + type: string + responses: + '200': + description: OK + '403': + $ref: '#/components/responses/ForbiddenResponse' + '404': + $ref: '#/components/responses/NotFoundResponse' + '429': + $ref: '#/components/responses/TooManyRequestsResponse' + security: + - apiKeyAuth: [] + appKeyAuth: [] + - AuthZ: [] + summary: Delete table + tags: + - Reference Tables + get: + description: Get a reference table by ID + operationId: GetTable + parameters: + - description: Unique identifier of the reference table to retrieve + in: path + name: id + required: true + schema: + type: string + responses: + '200': + content: + application/json: + examples: + default: + value: + data: + attributes: + created_by: 00000000-0000-0000-0000-000000000000 + description: example description + file_metadata: + access_details: {} + sync_enabled: false + last_updated_by: 00000000-0000-0000-0000-000000000000 + row_count: 5 + schema: + fields: + - name: id + type: INT32 + - name: name + type: STRING + primary_keys: + - id + source: S3 + status: DONE + table_name: test_reference_table + tags: + - tag1 + updated_at: '2024-01-01T00:00:00+00:00' + id: 00000000-0000-0000-0000-000000000000 + type: reference_table + schema: + $ref: '#/components/schemas/TableResultV2' + description: OK + '403': + $ref: '#/components/responses/ForbiddenResponse' + '404': + $ref: '#/components/responses/NotFoundResponse' + '429': + $ref: '#/components/responses/TooManyRequestsResponse' + security: + - apiKeyAuth: [] + appKeyAuth: [] + - AuthZ: [] + summary: Get table + tags: + - Reference Tables + patch: + description: 'Update a reference table by ID. You can update the table''s data, description, and tags. Note: The source type cannot be changed after table creation. For data updates: For existing tables of type `source:LOCAL_FILE`, call POST api/v2/reference-tables/uploads first to get an upload ID, then PUT chunks of CSV data to each provided URL, and finally call this PATCH endpoint with the upload_id in file_metadata. For existing tables with `source:` types of `S3`, `GCS`, or `AZURE`, provide updated access_details in file_metadata pointing to a CSV file in the same type of cloud storage.' + operationId: UpdateReferenceTable + parameters: + - description: Unique identifier of the reference table to update + in: path + name: id + required: true + schema: + type: string + requestBody: + content: + application/json: + examples: + default: + value: + data: + attributes: + description: this is a cloud table generated via a cloud bucket sync + file_metadata: + access_details: + aws_detail: + aws_account_id: test-account-id + aws_bucket_name: test-bucket + file_path: test_rt.csv + sync_enabled: true + schema: + fields: + - name: id + type: INT32 + - name: name + type: STRING + primary_keys: + - id + tags: + - test_tag + type: reference_table + schema: + $ref: '#/components/schemas/PatchTableRequest' + required: true + responses: + '200': + description: OK + '400': + $ref: '#/components/responses/BadRequestResponse' + '403': + $ref: '#/components/responses/ForbiddenResponse' + '429': + $ref: '#/components/responses/TooManyRequestsResponse' + security: + - apiKeyAuth: [] + appKeyAuth: [] + - AuthZ: [] + summary: Update reference table + tags: + - Reference Tables + /api/v2/reference-tables/tables/{id}/rows: + delete: + description: Delete multiple rows from a Reference Table by their primary key values. + operationId: DeleteRows + parameters: + - description: Unique identifier of the reference table to delete rows from + in: path + name: id + required: true + schema: + type: string + requestBody: + content: + application/json: + examples: + default: + value: + data: + - id: primary_key_value + type: row + schema: + $ref: '#/components/schemas/BatchDeleteRowsRequestArray' + required: true + responses: + '200': + description: Rows deleted successfully + '400': + $ref: '#/components/responses/BadRequestResponse' + '403': + $ref: '#/components/responses/ForbiddenResponse' + '404': + $ref: '#/components/responses/NotFoundResponse' + '409': + $ref: '#/components/responses/ConflictResponse' + '412': + content: + application/json: + schema: + $ref: '#/components/schemas/APIErrorResponse' + description: Precondition Failed + '429': + $ref: '#/components/responses/TooManyRequestsResponse' + '500': + content: + application/json: + schema: + $ref: '#/components/schemas/APIErrorResponse' + description: Internal Server Error + security: + - apiKeyAuth: [] + appKeyAuth: [] + - AuthZ: [] + summary: Delete rows + tags: + - Reference Tables + get: + description: Get reference table rows by their primary key values. + operationId: GetRowsByID + parameters: + - description: Unique identifier of the reference table to get rows from + example: table-123 + in: path + name: id + required: true + schema: + type: string + - description: List of row IDs (primary key values) to retrieve from the reference table. + example: + - row1 + - row2 + explode: true + in: query + name: row_id + required: true + schema: + items: + type: string + type: array + responses: + '200': + content: + application/json: + examples: + default: + value: + data: + - attributes: + values: + id: 1 + name: Example Row + id: row_id_1 + type: row + schema: + $ref: '#/components/schemas/TableRowResourceArray' + description: Some or all requested rows were found. + '403': + $ref: '#/components/responses/ForbiddenResponse' + '404': + $ref: '#/components/responses/NotFoundResponse' + '429': + $ref: '#/components/responses/TooManyRequestsResponse' + security: + - apiKeyAuth: [] + appKeyAuth: [] + - AuthZ: [] + summary: Get rows by id + tags: + - Reference Tables + post: + description: Create or update rows in a Reference Table by their primary key values. If a row with the specified primary key exists, it is updated; otherwise, a new row is created. + operationId: UpsertRows + parameters: + - description: Unique identifier of the reference table to upsert rows into + in: path + name: id + required: true + schema: + type: string + requestBody: + content: + application/json: + examples: + default: + value: + data: + - attributes: + values: + age: 25 + example_key_value: primary_key_value + name: row_name + id: primary_key_value + type: row + happy_path: + summary: Upsert a row with mixed string and int values + value: + data: + - attributes: + values: + age: 25 + example_key_value: primary_key_value + name: row_name + id: primary_key_value + type: row + schema: + $ref: '#/components/schemas/BatchUpsertRowsRequestArray' + required: true + responses: + '200': + description: Rows created or updated successfully + '400': + $ref: '#/components/responses/BadRequestResponse' + '403': + $ref: '#/components/responses/ForbiddenResponse' + '404': + $ref: '#/components/responses/NotFoundResponse' + '409': + $ref: '#/components/responses/ConflictResponse' + '412': + content: + application/json: + schema: + $ref: '#/components/schemas/APIErrorResponse' + description: Precondition Failed + '429': + $ref: '#/components/responses/TooManyRequestsResponse' + '500': + content: + application/json: + schema: + $ref: '#/components/schemas/APIErrorResponse' + description: Internal Server Error + security: + - apiKeyAuth: [] + appKeyAuth: [] + - AuthZ: [] + summary: Upsert rows + tags: + - Reference Tables + /api/v2/reference-tables/tables/{id}/rows/list: + get: + description: List all rows in a reference table using cursor-based pagination. Pass the `page[continuation_token]` from the previous response to fetch the next page on the same consistent snapshot. Returns 400 for tables with more than 10,000,000 rows. + operationId: ListReferenceTableRows + parameters: + - description: Unique identifier of the reference table to list rows from. + example: 00000000-0000-0000-0000-000000000000 + in: path + name: id + required: true + schema: + type: string + - description: Number of rows to return per page. Defaults to 100, maximum is 1000. + example: 100 + in: query + name: page[limit] + required: false + schema: + default: 100 + format: int64 + maximum: 1000 + minimum: 1 + type: integer + - description: Opaque cursor from the previous response's next link. Pass this to retrieve the next page on the same consistent snapshot. + example: eyJzaWQiOjEyMzQ1LCJwayI6ImV4YW1wbGVfcGsifQ== + in: query + name: page[continuation_token] + required: false + schema: + type: string + responses: + '200': + content: + application/json: + examples: + default: + value: + data: + - attributes: + values: + category: tor + intention: suspicious + ip_address: 102.130.113.9 + id: 102.130.113.9 + type: row + links: + first: /api/v2/reference-tables/tables/00000000-0000-0000-0000-000000000000/rows/list?page%5Blimit%5D=100 + next: /api/v2/reference-tables/tables/00000000-0000-0000-0000-000000000000/rows/list?page%5Bcontinuation_token%5D=eyJzaWQiOjY5NzA0ODkwNDE4ODA3MTAzOTgsInBrIjoiMTAyLjEzMC4xMjcuMTE3In0%3D&page%5Blimit%5D=100 + self: /api/v2/reference-tables/tables/00000000-0000-0000-0000-000000000000/rows/list?page%5Bcontinuation_token%5D=eyJzaWQiOjEyMzQ1LCJwayI6ImV4YW1wbGVfcGsifQ%3D%3D&page%5Blimit%5D=100 + schema: + $ref: '#/components/schemas/ListRowsResponse' + description: OK + '400': + $ref: '#/components/responses/BadRequestResponse' + '403': + $ref: '#/components/responses/ForbiddenResponse' + '404': + $ref: '#/components/responses/NotFoundResponse' + '429': + $ref: '#/components/responses/TooManyRequestsResponse' + security: + - apiKeyAuth: [] + appKeyAuth: [] + - AuthZ: [] + summary: List rows + tags: + - Reference Tables + /api/v2/reference-tables/uploads: + post: + description: Create a reference table upload for bulk data ingestion + operationId: CreateReferenceTableUpload + requestBody: + content: + application/json: + examples: + default: + value: + data: + attributes: + headers: + - product_id + - product_name + - price + part_count: 3 + part_size: 10000000 + table_name: my_products_table + type: upload + schema: + $ref: '#/components/schemas/CreateUploadRequest' + required: true + responses: + '201': + content: + application/json: + examples: + default: + value: + data: + attributes: + part_urls: + - https://example.com/upload-part-1 + id: 00000000-0000-0000-0000-000000000000 + type: upload + schema: + $ref: '#/components/schemas/CreateUploadResponse' + description: Created + '400': + $ref: '#/components/responses/BadRequestResponse' + '403': + $ref: '#/components/responses/ForbiddenResponse' + '429': + $ref: '#/components/responses/TooManyRequestsResponse' + security: + - apiKeyAuth: [] + appKeyAuth: [] + - AuthZ: [] + summary: Create reference table upload + tags: + - Reference Tables + /api/v2/web-integrations/{integration_name}/accounts: + get: + description: List accounts for a given web integration. + operationId: ListWebIntegrationAccounts + parameters: + - description: The name of the integration (for example, `databricks`). + in: path + name: integration_name + required: true + schema: + type: string + responses: + '200': + content: + application/json: + examples: + default: + value: + data: + - attributes: + name: my-databricks-account + settings: + workspace_url: https://example.azuredatabricks.net + id: abc123def456 + type: Account + schema: + $ref: '#/components/schemas/WebIntegrationAccountsResponse' + description: OK + '400': + $ref: '#/components/responses/BadRequestResponse' + '403': + $ref: '#/components/responses/ForbiddenResponse' + '404': + $ref: '#/components/responses/NotFoundResponse' + '429': + $ref: '#/components/responses/TooManyRequestsResponse' + summary: List web integration accounts + tags: + - Web Integrations + x-permission: + operator: OR + permissions: + - integrations_read + x-unstable: '**Note**: This endpoint is for internal Datadog use only and is not part of the public API. It may change without notice.' + post: + description: Create a new account for a given web integration. + operationId: CreateWebIntegrationAccount + parameters: + - description: The name of the integration (for example, `databricks`). + in: path + name: integration_name + required: true + schema: + type: string + requestBody: + content: + application/json: + examples: + default: + value: + data: + attributes: + name: my-databricks-account + secrets: + client_secret: my-client-secret + settings: + workspace_url: https://example.azuredatabricks.net + type: Account + schema: + $ref: '#/components/schemas/WebIntegrationAccountCreateRequest' + required: true + responses: + '201': + content: + application/json: + examples: + default: + value: + data: + attributes: + name: my-databricks-account + settings: + workspace_url: https://example.azuredatabricks.net + id: abc123def456 + type: Account + schema: + $ref: '#/components/schemas/WebIntegrationAccountResponse' + description: CREATED + '400': + $ref: '#/components/responses/BadRequestResponse' + '403': + $ref: '#/components/responses/ForbiddenResponse' + '404': + $ref: '#/components/responses/NotFoundResponse' + '422': + $ref: '#/components/responses/UnprocessableEntityResponse' + '429': + $ref: '#/components/responses/TooManyRequestsResponse' + summary: Create a web integration account + tags: + - Web Integrations + x-codegen-request-body-name: body + x-permission: + operator: OR + permissions: + - manage_integrations + x-unstable: '**Note**: This endpoint is for internal Datadog use only and is not part of the public API. It may change without notice.' + /api/v2/web-integrations/{integration_name}/accounts/{account_id}: + delete: + description: Delete an account for a given web integration. + operationId: DeleteWebIntegrationAccount + parameters: + - description: The name of the integration (for example, `databricks`). + in: path + name: integration_name + required: true + schema: + type: string + - description: The unique identifier of the web integration account. + in: path + name: account_id + required: true + schema: + type: string + responses: + '204': + description: OK + '400': + $ref: '#/components/responses/BadRequestResponse' + '403': + $ref: '#/components/responses/ForbiddenResponse' + '404': + $ref: '#/components/responses/NotFoundResponse' + '429': + $ref: '#/components/responses/TooManyRequestsResponse' + summary: Delete a web integration account + tags: + - Web Integrations + x-permission: + operator: OR + permissions: + - manage_integrations + x-unstable: '**Note**: This endpoint is for internal Datadog use only and is not part of the public API. It may change without notice.' + get: + description: Get a single account for a given web integration. + operationId: GetWebIntegrationAccount + parameters: + - description: The name of the integration (for example, `databricks`). + in: path + name: integration_name + required: true + schema: + type: string + - description: The unique identifier of the web integration account. + in: path + name: account_id + required: true + schema: + type: string + responses: + '200': + content: + application/json: + examples: + default: + value: + data: + attributes: + name: my-databricks-account + settings: + workspace_url: https://example.azuredatabricks.net + id: abc123def456 + type: Account + schema: + $ref: '#/components/schemas/WebIntegrationAccountResponse' + description: OK + '400': + $ref: '#/components/responses/BadRequestResponse' + '403': + $ref: '#/components/responses/ForbiddenResponse' + '404': + $ref: '#/components/responses/NotFoundResponse' + '429': + $ref: '#/components/responses/TooManyRequestsResponse' + summary: Get a web integration account + tags: + - Web Integrations + x-permission: + operator: OR + permissions: + - integrations_read + x-unstable: '**Note**: This endpoint is for internal Datadog use only and is not part of the public API. It may change without notice.' + patch: + description: Update an existing account for a given web integration. + operationId: UpdateWebIntegrationAccount + parameters: + - description: The name of the integration (for example, `databricks`). + in: path + name: integration_name + required: true + schema: + type: string + - description: The unique identifier of the web integration account. + in: path + name: account_id + required: true + schema: + type: string + requestBody: + content: + application/json: + examples: + default: + value: + data: + attributes: + name: my-databricks-account + secrets: + client_secret: my-new-client-secret + settings: + workspace_url: https://updated.azuredatabricks.net + type: Account + schema: + $ref: '#/components/schemas/WebIntegrationAccountUpdateRequest' + required: true + responses: + '200': + content: + application/json: + examples: + default: + value: + data: + attributes: + name: my-databricks-account + settings: + workspace_url: https://updated.azuredatabricks.net + id: abc123def456 + type: Account + schema: + $ref: '#/components/schemas/WebIntegrationAccountResponse' + description: OK + '400': + $ref: '#/components/responses/BadRequestResponse' + '403': + $ref: '#/components/responses/ForbiddenResponse' + '404': + $ref: '#/components/responses/NotFoundResponse' + '422': + $ref: '#/components/responses/UnprocessableEntityResponse' + '429': + $ref: '#/components/responses/TooManyRequestsResponse' + summary: Update a web integration account + tags: + - Web Integrations + x-codegen-request-body-name: body + x-permission: + operator: OR + permissions: + - manage_integrations + x-unstable: '**Note**: This endpoint is for internal Datadog use only and is not part of the public API. It may change without notice.' + /api/v1/integration/aws: + delete: + deprecated: true + description: '**This endpoint is deprecated - use the V2 endpoints instead.** Delete a Datadog-AWS integration matching the specified `account_id` and `role_name parameters`.' + operationId: DeleteAWSAccountV1 + requestBody: + content: + application/json: + examples: + default: + value: + account_id: '123456789012' + role_name: DatadogAWSIntegrationRole + schema: + $ref: '#/components/schemas/AWSAccountDeleteRequest' + description: AWS request object + required: true + responses: + '200': + content: + application/json: + examples: + default: + value: {} + schema: + type: string + description: (opaque JSON object) + description: OK + '400': + content: + application/json: + schema: + $ref: '#/components/schemas/APIErrorResponseV1' + description: Bad Request + '403': + content: + application/json: + schema: + $ref: '#/components/schemas/APIErrorResponseV1' + description: Authentication Error + '409': + content: + application/json: + schema: + $ref: '#/components/schemas/APIErrorResponseV1' + description: Conflict Error + '429': + $ref: '#/components/responses/TooManyRequestsResponse' + summary: Delete an AWS integration + tags: + - AWS Integration + x-codegen-request-body-name: body + x-permission: + operator: OR + permissions: + - aws_configurations_manage + get: + deprecated: true + description: '**This endpoint is deprecated - use the V2 endpoints instead.** List all Datadog-AWS integrations available in your Datadog organization.' + operationId: ListAWSAccountsV1 + parameters: + - description: Only return AWS accounts that matches this `account_id`. + in: query + name: account_id + required: false + schema: + type: string + - description: Only return AWS accounts that matches this role_name. + in: query + name: role_name + required: false + schema: + type: string + - description: Only return AWS accounts that matches this `access_key_id`. + in: query + name: access_key_id + required: false + schema: + type: string + responses: + '200': + content: + application/json: + examples: + default: + value: + accounts: + - account_id: '123456789012' + account_specific_namespace_rules: + auto_scaling: false + cspm_resource_collection_enabled: true + excluded_regions: + - us-east-1 + extended_resource_collection_enabled: true + filter_tags: + - $KEY:$VALUE + host_tags: + - $KEY:$VALUE + metrics_collection_enabled: false + role_name: DatadogAWSIntegrationRole + schema: + $ref: '#/components/schemas/AWSAccountListResponse' + description: OK + '400': + content: + application/json: + schema: + $ref: '#/components/schemas/APIErrorResponseV1' + description: Bad Request + '403': + content: + application/json: + schema: + $ref: '#/components/schemas/APIErrorResponseV1' + description: Authentication Error + '429': + $ref: '#/components/responses/TooManyRequestsResponse' + summary: List all AWS integrations + tags: + - AWS Integration + x-permission: + operator: OR + permissions: + - aws_configuration_read + post: + deprecated: true + description: |- + **This endpoint is deprecated - use the V2 endpoints instead.** Create a Datadog-Amazon Web Services integration. + Using the `POST` method updates your integration configuration + by adding your new configuration to the existing one in your Datadog organization. + A unique AWS Account ID for role based authentication. + operationId: CreateAWSAccountV1 + requestBody: + content: + application/json: + examples: + default: + value: + account_id: '123456789012' + account_specific_namespace_rules: + auto_scaling: false + opswork: false + cspm_resource_collection_enabled: true + excluded_regions: + - us-east-1 + - us-west-2 + extended_resource_collection_enabled: true + filter_tags: + - $KEY:$VALUE + host_tags: + - $KEY:$VALUE + metrics_collection_enabled: false + role_name: DatadogAWSIntegrationRole + schema: + $ref: '#/components/schemas/AWSAccount' + description: AWS Request Object + required: true + responses: + '200': + content: + application/json: + examples: + default: + value: + external_id: abc-123 + schema: + $ref: '#/components/schemas/AWSAccountCreateResponse' + description: OK + '400': + content: + application/json: + schema: + $ref: '#/components/schemas/APIErrorResponseV1' + description: Bad Request + '403': + content: + application/json: + schema: + $ref: '#/components/schemas/APIErrorResponseV1' + description: Authentication Error + '409': + content: + application/json: + schema: + $ref: '#/components/schemas/APIErrorResponseV1' + description: Conflict Error + '429': + $ref: '#/components/responses/TooManyRequestsResponse' + summary: Create an AWS integration + tags: + - AWS Integration + x-codegen-request-body-name: body + x-permission: + operator: OR + permissions: + - aws_configurations_manage + put: + deprecated: true + description: '**This endpoint is deprecated - use the V2 endpoints instead.** Update a Datadog-Amazon Web Services integration.' + operationId: UpdateAWSAccountV1 + parameters: + - description: Only return AWS accounts that matches this `account_id`. + in: query + name: account_id + required: false + schema: + type: string + - description: |- + Only return AWS accounts that match this `role_name`. + Required if `account_id` is specified. + in: query + name: role_name + required: false + schema: + type: string + - description: |- + Only return AWS accounts that matches this `access_key_id`. + Required if none of the other two options are specified. + in: query + name: access_key_id + required: false + schema: + type: string + requestBody: + content: + application/json: + examples: + default: + value: + account_id: '123456789012' + account_specific_namespace_rules: + auto_scaling: false + opswork: false + cspm_resource_collection_enabled: true + excluded_regions: + - us-east-1 + - us-west-2 + extended_resource_collection_enabled: true + filter_tags: + - $KEY:$VALUE + host_tags: + - $KEY:$VALUE + metrics_collection_enabled: false + role_name: DatadogAWSIntegrationRole + schema: + $ref: '#/components/schemas/AWSAccount' + description: AWS request object + required: true + responses: + '200': + content: + application/json: + examples: + default: + value: {} + schema: + type: string + description: (opaque JSON object) + description: OK + '400': + content: + application/json: + schema: + $ref: '#/components/schemas/APIErrorResponseV1' + description: Bad Request + '403': + content: + application/json: + schema: + $ref: '#/components/schemas/APIErrorResponseV1' + description: Authentication Error + '409': + content: + application/json: + schema: + $ref: '#/components/schemas/APIErrorResponseV1' + description: Conflict Error + '429': + $ref: '#/components/responses/TooManyRequestsResponse' + summary: Update an AWS integration + tags: + - AWS Integration + x-codegen-request-body-name: body + x-permission: + operator: OR + permissions: + - aws_configuration_edit + /api/v1/integration/aws/available_namespace_rules: + get: + deprecated: true + description: '**This endpoint is deprecated - use the V2 endpoints instead.** List all namespace rules for a given Datadog-AWS integration. This endpoint takes no arguments.' + operationId: ListAvailableAWSNamespaces + responses: + '200': + content: + application/json: + examples: + default: + value: + - namespace1 + - namespace2 + - namespace3 + schema: + type: array + items: + type: object + properties: + available_awsnamespace: + type: string + description: OK + '403': + content: + application/json: + schema: + $ref: '#/components/schemas/APIErrorResponseV1' + description: Authentication Error + '429': + $ref: '#/components/responses/TooManyRequestsResponse' + summary: List namespace rules + tags: + - AWS Integration + x-permission: + operator: OR + permissions: + - aws_configuration_read + /api/v1/integration/aws/event_bridge: + delete: + deprecated: true + description: '**This endpoint is deprecated - use the V2 endpoints instead.** Delete an Amazon EventBridge source.' + operationId: DeleteAWSEventBridgeSourceV1 + requestBody: + content: + application/json: + examples: + default: + value: + account_id: '123456789012' + event_generator_name: app-alerts-zyxw3210 + region: us-east-1 + schema: + $ref: '#/components/schemas/AWSEventBridgeDeleteRequestV1' + description: Delete the Amazon EventBridge source with the given name, region, and associated AWS account. + required: true + responses: + '200': + content: + application/json: + examples: + default: + value: + status: empty + schema: + $ref: '#/components/schemas/AWSEventBridgeDeleteResponseV1' + description: OK + '400': + content: + application/json: + schema: + $ref: '#/components/schemas/APIErrorResponseV1' + description: Bad Request + '403': + content: + application/json: + schema: + $ref: '#/components/schemas/APIErrorResponseV1' + description: Authentication Error + '429': + $ref: '#/components/responses/TooManyRequestsResponse' + summary: Delete an Amazon EventBridge source + tags: + - AWS Integration + x-codegen-request-body-name: body + x-permission: + operator: OR + permissions: + - manage_integrations + get: + deprecated: true + description: '**This endpoint is deprecated - use the V2 endpoints instead.** Get all Amazon EventBridge sources.' + operationId: ListAWSEventBridgeSourcesV1 + parameters: [] + responses: + '200': + content: + application/json: + examples: + default: + value: + accounts: + - accountId: '123456789012' + eventHubs: + - name: app-alerts-zyxw3210 + region: us-east-1 + tags: + - $KEY:$VALUE + isInstalled: true + schema: + $ref: '#/components/schemas/AWSEventBridgeListResponseV1' + description: OK + '400': + content: + application/json: + schema: + $ref: '#/components/schemas/APIErrorResponseV1' + description: Bad Request + '403': + content: + application/json: + schema: + $ref: '#/components/schemas/APIErrorResponseV1' + description: Authentication Error + '429': + $ref: '#/components/responses/TooManyRequestsResponse' + summary: Get all Amazon EventBridge sources + tags: + - AWS Integration + x-permission: + operator: OPEN + permissions: [] + post: + deprecated: true + description: '**This endpoint is deprecated - use the V2 endpoints instead.** Create an Amazon EventBridge source.' + operationId: CreateAWSEventBridgeSourceV1 + requestBody: + content: + application/json: + examples: + default: + value: + account_id: '123456789012' + create_event_bus: true + event_generator_name: app-alerts + region: us-east-1 + schema: + $ref: '#/components/schemas/AWSEventBridgeCreateRequestV1' + description: Create an Amazon EventBridge source for an AWS account with a given name and region. + required: true + responses: + '200': + content: + application/json: + examples: + default: + value: + event_source_name: app-alerts-zyxw3210 + has_bus: true + region: us-east-1 + status: created + schema: + $ref: '#/components/schemas/AWSEventBridgeCreateResponseV1' + description: OK + '400': + content: + application/json: + schema: + $ref: '#/components/schemas/APIErrorResponseV1' + description: Bad Request + '403': + content: + application/json: + schema: + $ref: '#/components/schemas/APIErrorResponseV1' + description: Authentication Error + '429': + $ref: '#/components/responses/TooManyRequestsResponse' + summary: Create an Amazon EventBridge source + tags: + - AWS Integration + x-codegen-request-body-name: body + x-permission: + operator: OR + permissions: + - manage_integrations + /api/v1/integration/aws/filtering: + delete: + deprecated: true + description: Delete a tag filtering entry. + operationId: DeleteAWSTagFilter + requestBody: + content: + application/json: + examples: + default: + value: + account_id: FAKEAC0FAKEAC2FAKEAC + namespace: elb + schema: + $ref: '#/components/schemas/AWSTagFilterDeleteRequest' + description: Delete a tag filtering entry for a given AWS account and `dd-aws` namespace. + required: true + responses: + '200': + content: + application/json: + examples: + default: + value: {} + schema: + example: {} + type: string + description: (opaque JSON object) + description: OK + '400': + content: + application/json: + schema: + $ref: '#/components/schemas/APIErrorResponseV1' + description: Bad Request + '403': + content: + application/json: + schema: + $ref: '#/components/schemas/APIErrorResponseV1' + description: Authentication Error + '429': + $ref: '#/components/responses/TooManyRequestsResponse' + summary: Delete a tag filtering entry + tags: + - AWS Integration + x-codegen-request-body-name: body + x-permission: + operator: OR + permissions: + - aws_configuration_edit + get: + deprecated: true + description: Get all AWS tag filters. + operationId: ListAWSTagFilters + parameters: + - description: Only return AWS filters that matches this `account_id`. + in: query + name: account_id + required: true + schema: + type: string + responses: + '200': + content: + application/json: + examples: + default: + value: + filters: + - namespace: elb + tag_filter_str: prod* + schema: + $ref: '#/components/schemas/AWSTagFilterListResponse' + description: OK + '400': + content: + application/json: + schema: + $ref: '#/components/schemas/APIErrorResponseV1' + description: Bad Request + '403': + content: + application/json: + schema: + $ref: '#/components/schemas/APIErrorResponseV1' + description: Authentication Error + '429': + $ref: '#/components/responses/TooManyRequestsResponse' + summary: Get all AWS tag filters + tags: + - AWS Integration + x-permission: + operator: OR + permissions: + - aws_configuration_read + post: + deprecated: true + description: Set an AWS tag filter. + operationId: CreateAWSTagFilter + requestBody: + content: + application/json: + examples: + default: + value: + account_id: '123456789012' + namespace: elb + tag_filter_str: prod* + schema: + $ref: '#/components/schemas/AWSTagFilterCreateRequest' + description: |- + Set an AWS tag filter using an `aws_account_identifier`, `namespace`, and filtering string. + Namespace options are `application_elb`, `elb`, `lambda`, `network_elb`, `rds`, `sqs`, and `custom`. + required: true + responses: + '200': + content: + application/json: + examples: + default: + value: {} + schema: + example: {} + type: string + description: (opaque JSON object) + description: OK + '400': + content: + application/json: + schema: + $ref: '#/components/schemas/APIErrorResponseV1' + description: Bad Request + '403': + content: + application/json: + schema: + $ref: '#/components/schemas/APIErrorResponseV1' + description: Authentication Error + '429': + $ref: '#/components/responses/TooManyRequestsResponse' + summary: Set an AWS tag filter + tags: + - AWS Integration + x-codegen-request-body-name: body + x-permission: + operator: OR + permissions: + - aws_configuration_edit + /api/v1/integration/aws/generate_new_external_id: + put: + deprecated: true + description: '**This endpoint is deprecated - use the V2 endpoints instead.** Generate a new AWS external ID for a given AWS account ID and role name pair.' + operationId: CreateNewAWSExternalIDV1 + requestBody: + content: + application/json: + examples: + default: + value: + account_id: '123456789012' + role_name: DatadogAWSIntegrationRole + schema: + $ref: '#/components/schemas/AWSAccount' + description: |- + Your Datadog role delegation name. + For more information about your AWS account Role name, + see the [Datadog AWS integration configuration info](https://docs.datadoghq.com/integrations/amazon_web_services/#setup). + required: true + responses: + '200': + content: + application/json: + examples: + default: + value: + external_id: abc-123 + schema: + $ref: '#/components/schemas/AWSAccountCreateResponse' + description: OK + '400': + content: + application/json: + schema: + $ref: '#/components/schemas/APIErrorResponseV1' + description: Bad Request + '403': + content: + application/json: + schema: + $ref: '#/components/schemas/APIErrorResponseV1' + description: Authentication Error + '429': + $ref: '#/components/responses/TooManyRequestsResponse' + summary: Generate a new external ID + tags: + - AWS Integration + x-codegen-request-body-name: body + x-permission: + operator: OR + permissions: + - aws_configuration_edit + /api/v1/integration/aws/logs: + delete: + deprecated: true + description: '**This endpoint is deprecated.** Delete a Datadog-AWS logs configuration by removing the specific Lambda ARN associated with a given AWS account.' + operationId: DeleteAWSLambdaARN + requestBody: + content: + application/json: + examples: + default: + value: + account_id: '1234567' + lambda_arn: arn:aws:lambda:us-east-1:1234567:function:LogsCollectionAPITest + schema: + $ref: '#/components/schemas/AWSAccountAndLambdaRequest' + description: Delete AWS Lambda ARN request body. + required: true + responses: + '200': + content: + application/json: + examples: + default: + value: {} + schema: + type: string + description: (opaque JSON object) + description: OK + '400': + content: + application/json: + schema: + $ref: '#/components/schemas/APIErrorResponseV1' + description: Bad Request + '403': + content: + application/json: + schema: + $ref: '#/components/schemas/APIErrorResponseV1' + description: Authentication Error + '429': + $ref: '#/components/responses/TooManyRequestsResponse' + summary: Delete an AWS Logs integration + tags: + - AWS Logs Integration + x-codegen-request-body-name: body + x-permission: + operator: OR + permissions: + - aws_configuration_edit + x-sunset: '2027-02-20' + get: + deprecated: true + description: List all Datadog-AWS Logs integrations configured in your Datadog account. + operationId: ListAWSLogsIntegrations + responses: + '200': + content: + application/json: + examples: + default: + value: + - account_id: '123456789101' + lambdas: [] + services: + - s3 + - elb + - elbv2 + - cloudfront + - redshift + - lambda + schema: + type: array + items: + $ref: '#/components/schemas/AWSLogsListResponse' + description: OK + '400': + content: + application/json: + schema: + $ref: '#/components/schemas/APIErrorResponseV1' + description: Bad Request + '403': + content: + application/json: + schema: + $ref: '#/components/schemas/APIErrorResponseV1' + description: Authentication Error + '429': + $ref: '#/components/responses/TooManyRequestsResponse' + summary: List all AWS Logs integrations + tags: + - AWS Logs Integration + x-permission: + operator: OR + permissions: + - aws_configuration_read + post: + deprecated: true + description: '**This endpoint is deprecated.** Attach the Lambda ARN of the Lambda created for the Datadog-AWS log collection to your AWS account ID to enable log collection.' + operationId: CreateAWSLambdaARN + requestBody: + content: + application/json: + examples: + default: + value: + account_id: '1234567' + lambda_arn: arn:aws:lambda:us-east-1:1234567:function:LogsCollectionAPITest + schema: + $ref: '#/components/schemas/AWSAccountAndLambdaRequest' + description: AWS Log Lambda Async request body. + required: true + responses: + '200': + content: + application/json: + examples: + default: + value: {} + schema: + type: string + description: (opaque JSON object) + description: OK + '400': + content: + application/json: + schema: + $ref: '#/components/schemas/APIErrorResponseV1' + description: Bad Request + '403': + content: + application/json: + schema: + $ref: '#/components/schemas/APIErrorResponseV1' + description: Authentication Error + '429': + $ref: '#/components/responses/TooManyRequestsResponse' + summary: Add AWS Log Lambda ARN + tags: + - AWS Logs Integration + x-codegen-request-body-name: body + x-permission: + operator: OR + permissions: + - aws_configuration_edit + x-sunset: '2027-02-20' + /api/v1/integration/aws/logs/check_async: + post: + deprecated: true + description: |- + **This endpoint is deprecated.** Test if permissions are present to add a log-forwarding triggers for the given services and AWS account. The input + is the same as for Enable an AWS service log collection. Subsequent requests will always repeat the above, so this + endpoint can be polled intermittently instead of blocking. + + - Returns a status of 'created' when it's checking if the Lambda exists in the account. + - Returns a status of 'waiting' while checking. + - Returns a status of 'checked and ok' if the Lambda exists. + - Returns a status of 'error' if the Lambda does not exist. + operationId: CheckAWSLogsLambdaAsync + requestBody: + content: + application/json: + examples: + default: + value: + account_id: '1234567' + lambda_arn: arn:aws:lambda:us-east-1:1234567:function:LogsCollectionAPITest + schema: + $ref: '#/components/schemas/AWSAccountAndLambdaRequest' + description: Check AWS Log Lambda Async request body. + required: true + responses: + '200': + content: + application/json: + examples: + default: + value: + errors: [] + status: created + schema: + $ref: '#/components/schemas/AWSLogsAsyncResponse' + description: OK + '400': + content: + application/json: + schema: + $ref: '#/components/schemas/APIErrorResponseV1' + description: Bad Request + '403': + content: + application/json: + schema: + $ref: '#/components/schemas/APIErrorResponseV1' + description: Authentication Error + '429': + $ref: '#/components/responses/TooManyRequestsResponse' + summary: Check that an AWS Lambda Function exists + tags: + - AWS Logs Integration + x-codegen-request-body-name: body + x-permission: + operator: OR + permissions: + - aws_configuration_read + x-sunset: '2027-02-20' + /api/v1/integration/aws/logs/services: + get: + deprecated: true + description: '**This endpoint is deprecated - use the V2 endpoint instead.** Get the list of current AWS services that Datadog offers automatic log collection. Use returned service IDs with the services parameter for the Enable an AWS service log collection API endpoint.' + operationId: ListAWSLogsServicesV1 + responses: + '200': + content: + application/json: + examples: + default: + value: + - id: s3 + label: S3 Access Logs + - id: elb + label: Classic ELB Access Logs + schema: + type: array + items: + $ref: '#/components/schemas/AWSLogsListServicesResponse' + description: OK + '403': + content: + application/json: + schema: + $ref: '#/components/schemas/APIErrorResponseV1' + description: Authentication Error + '429': + $ref: '#/components/responses/TooManyRequestsResponse' + summary: Get list of AWS log ready services + tags: + - AWS Logs Integration + x-permission: + operator: OR + permissions: + - aws_configuration_read + post: + deprecated: true + description: Enable automatic log collection for a list of services. This should be run after running `CreateAWSLambdaARN` to save the configuration. + operationId: EnableAWSLogServices + requestBody: + content: + application/json: + examples: + default: + value: + account_id: '1234567' + services: + - s3 + - elb + - elbv2 + - cloudfront + - redshift + - lambda + schema: + $ref: '#/components/schemas/AWSLogsServicesRequest' + description: Enable AWS Log Services request body. + required: true + responses: + '200': + content: + application/json: + examples: + default: + value: {} + schema: + type: string + description: (opaque JSON object) + description: OK + '400': + content: + application/json: + schema: + $ref: '#/components/schemas/APIErrorResponseV1' + description: Bad Request + '403': + content: + application/json: + schema: + $ref: '#/components/schemas/APIErrorResponseV1' + description: Authentication Error + '429': + $ref: '#/components/responses/TooManyRequestsResponse' + summary: Enable an AWS Logs integration + tags: + - AWS Logs Integration + x-codegen-request-body-name: body + x-permission: + operator: OR + permissions: + - aws_configuration_edit + /api/v1/integration/aws/logs/services_async: + post: + deprecated: true + description: |- + **This endpoint is deprecated.** Test if permissions are present to add log-forwarding triggers for the + given services and AWS account. Input is the same as for `EnableAWSLogServices`. + Done async, so can be repeatedly polled in a non-blocking fashion until + the async request completes. + + - Returns a status of `created` when it's checking if the permissions exists + in the AWS account. + - Returns a status of `waiting` while checking. + - Returns a status of `checked and ok` if the Lambda exists. + - Returns a status of `error` if the Lambda does not exist. + operationId: CheckAWSLogsServicesAsync + requestBody: + content: + application/json: + examples: + default: + value: + account_id: '1234567' + services: + - s3 + - elb + - elbv2 + - cloudfront + - redshift + - lambda + schema: + $ref: '#/components/schemas/AWSLogsServicesRequest' + description: Check AWS Logs Async Services request body. + required: true + responses: + '200': + content: + application/json: + examples: + default: + value: + errors: [] + status: created + schema: + $ref: '#/components/schemas/AWSLogsAsyncResponse' + description: OK + '400': + content: + application/json: + schema: + $ref: '#/components/schemas/APIErrorResponseV1' + description: Bad Request + '403': + content: + application/json: + schema: + $ref: '#/components/schemas/APIErrorResponseV1' + description: Authentication Error + '429': + $ref: '#/components/responses/TooManyRequestsResponse' + summary: Check permissions for log services + tags: + - AWS Logs Integration + x-codegen-request-body-name: body + x-permission: + operator: OR + permissions: + - aws_configuration_read + x-sunset: '2027-02-20' + /api/v1/integration/azure: + delete: + description: Delete a given Datadog-Azure integration from your Datadog account. + operationId: DeleteAzureIntegration + requestBody: + content: + application/json: + examples: + default: + value: + client_id: testc7f6-1234-5678-9101-3fcbf464test + tenant_name: testc44-1234-5678-9101-cc00736ftest + schema: + $ref: '#/components/schemas/AzureAccount' + description: Delete a given Datadog-Azure integration request body. + required: true + responses: + '200': + content: + application/json: + examples: + default: + value: {} + schema: + example: {} + type: string + description: (opaque JSON object) + description: OK + '400': + content: + application/json: + schema: + $ref: '#/components/schemas/APIErrorResponseV1' + description: Bad Request + '403': + content: + application/json: + schema: + $ref: '#/components/schemas/APIErrorResponseV1' + description: Authentication Error + '429': + $ref: '#/components/responses/TooManyRequestsResponse' + summary: Delete an Azure integration + tags: + - Azure Integration + x-codegen-request-body-name: body + x-permission: + operator: OR + permissions: + - azure_configurations_manage + get: + description: List all Datadog-Azure integrations configured in your Datadog account. + operationId: ListAzureIntegration + responses: + '200': + content: + application/json: + examples: + default: + value: + - client_id: testc7f6-1234-5678-9101-3fcbf464test + errors: [] + host_filters: key:value,filter:example + tenant_name: testc44-1234-5678-9101-cc00736ftest + schema: + type: array + items: + $ref: '#/components/schemas/AzureAccount' + description: OK + '400': + content: + application/json: + schema: + $ref: '#/components/schemas/APIErrorResponseV1' + description: Bad Request + '403': + content: + application/json: + schema: + $ref: '#/components/schemas/APIErrorResponseV1' + description: Authentication Error + '429': + $ref: '#/components/responses/TooManyRequestsResponse' + summary: List all Azure integrations + tags: + - Azure Integration + x-permission: + operator: OR + permissions: + - azure_configuration_read + post: + description: |- + Create a Datadog-Azure integration. + + Using the `POST` method updates your integration configuration by adding your new + configuration to the existing one in your Datadog organization. + + Using the `PUT` method updates your integration configuration by replacing your + current configuration with the new one sent to your Datadog organization. + operationId: CreateAzureIntegration + requestBody: + content: + application/json: + examples: + default: + value: + app_service_plan_filters: key:value,filter:example + automute: true + client_id: testc7f6-1234-5678-9101-3fcbf464test + client_secret: TestingRh2nx664kUy5dIApvM54T4AtO + container_app_filters: key:value,filter:example + cspm_enabled: true + custom_metrics_enabled: true + host_filters: key:value,filter:example + metrics_enabled: true + resource_collection_enabled: true + tenant_name: testc44-1234-5678-9101-cc00736ftest + schema: + $ref: '#/components/schemas/AzureAccount' + description: Create a Datadog-Azure integration for your Datadog account request body. + required: true + responses: + '200': + content: + application/json: + examples: + default: + value: {} + schema: + example: {} + type: string + description: (opaque JSON object) + description: OK + '400': + content: + application/json: + schema: + $ref: '#/components/schemas/APIErrorResponseV1' + description: Bad Request + '403': + content: + application/json: + schema: + $ref: '#/components/schemas/APIErrorResponseV1' + description: Authentication Error + '429': + $ref: '#/components/responses/TooManyRequestsResponse' + summary: Create an Azure integration + tags: + - Azure Integration + x-codegen-request-body-name: body + x-permission: + operator: OR + permissions: + - azure_configurations_manage + put: + description: |- + Update a Datadog-Azure integration. Requires an existing `tenant_name` and `client_id`. + Any other fields supplied will overwrite existing values. To overwrite `tenant_name` or `client_id`, + use `new_tenant_name` and `new_client_id`. To leave a field unchanged, do not supply that field in the payload. + operationId: UpdateAzureIntegration + requestBody: + content: + application/json: + examples: + default: + value: + automute: true + client_id: testc7f6-1234-5678-9101-3fcbf464test + client_secret: TestingRh2nx664kUy5dIApvM54T4AtO + cspm_enabled: true + host_filters: key:value,filter:example + metrics_enabled: true + new_client_id: new1c7f6-1234-5678-9101-3fcbf464test + new_tenant_name: new1c44-1234-5678-9101-cc00736ftest + resource_collection_enabled: true + tenant_name: testc44-1234-5678-9101-cc00736ftest + schema: + $ref: '#/components/schemas/AzureAccount' + description: Update a Datadog-Azure integration request body. + required: true + responses: + '200': + content: + application/json: + examples: + default: + value: {} + schema: + example: {} + type: string + description: (opaque JSON object) + description: OK + '400': + content: + application/json: + schema: + $ref: '#/components/schemas/APIErrorResponseV1' + description: Bad Request + '403': + content: + application/json: + schema: + $ref: '#/components/schemas/APIErrorResponseV1' + description: Authentication Error + '429': + $ref: '#/components/responses/TooManyRequestsResponse' + summary: Update an Azure integration + tags: + - Azure Integration + x-codegen-request-body-name: body + x-permission: + operator: OR + permissions: + - azure_configuration_edit + /api/v1/integration/azure/host_filters: + post: + description: Update the defined list of host filters for a given Datadog-Azure integration. + operationId: UpdateAzureHostFilters + requestBody: + content: + application/json: + examples: + default: + value: + client_id: testc7f6-1234-5678-9101-3fcbf464test + host_filters: key:value,filter:example + tenant_name: testc44-1234-5678-9101-cc00736ftest + schema: + $ref: '#/components/schemas/AzureAccount' + description: Update a Datadog-Azure integration's host filters request body. + required: true + responses: + '200': + content: + application/json: + examples: + default: + value: {} + schema: + example: {} + type: string + description: (opaque JSON object) + description: OK + '400': + content: + application/json: + schema: + $ref: '#/components/schemas/APIErrorResponseV1' + description: Bad Request + '403': + content: + application/json: + schema: + $ref: '#/components/schemas/APIErrorResponseV1' + description: Authentication Error + '429': + $ref: '#/components/responses/TooManyRequestsResponse' + summary: Update Azure integration host filters + tags: + - Azure Integration + x-codegen-request-body-name: body + x-permission: + operator: OR + permissions: + - azure_configuration_edit + /api/v1/integration/gcp: + delete: + deprecated: true + description: This endpoint is deprecated – use the V2 endpoints instead. Delete a given Datadog-GCP integration. + operationId: DeleteGCPIntegration + requestBody: + content: + application/json: + examples: + default: + value: + client_email: test@sandbox.iam.gserviceaccount.com + client_id: '123456712345671234567' + project_id: datadog-apitest + schema: + $ref: '#/components/schemas/GCPAccount' + description: Delete a given Datadog-GCP integration. + required: true + responses: + '200': + content: + application/json: + examples: + default: + value: {} + schema: + example: {} + type: string + description: (opaque JSON object) + description: OK + '400': + content: + application/json: + schema: + $ref: '#/components/schemas/APIErrorResponseV1' + description: Bad Request + '403': + content: + application/json: + schema: + $ref: '#/components/schemas/APIErrorResponseV1' + description: Authentication error + '429': + $ref: '#/components/responses/TooManyRequestsResponse' + summary: Delete a GCP integration + tags: + - GCP Integration + x-codegen-request-body-name: body + x-permission: + operator: OR + permissions: + - gcp_configurations_manage + get: + deprecated: true + description: This endpoint is deprecated – use the V2 endpoints instead. List all Datadog-GCP integrations configured in your Datadog account. + operationId: ListGCPIntegration + responses: + '200': + content: + application/json: + examples: + default: + value: + - client_email: test@example.com + client_id: '123456712345671234567' + errors: [] + project_id: datadog-apitest + type: service_account + schema: + type: array + items: + $ref: '#/components/schemas/GCPAccount' + description: OK + '400': + content: + application/json: + schema: + $ref: '#/components/schemas/APIErrorResponseV1' + description: Bad Request + '403': + content: + application/json: + schema: + $ref: '#/components/schemas/APIErrorResponseV1' + description: Authentication error + '429': + $ref: '#/components/responses/TooManyRequestsResponse' + summary: List all GCP integrations + tags: + - GCP Integration + x-permission: + operator: OR + permissions: + - gcp_configuration_read + post: + deprecated: true + description: This endpoint is deprecated – use the V2 endpoints instead. Create a Datadog-GCP integration. + operationId: CreateGCPIntegration + requestBody: + content: + application/json: + examples: + default: + value: + auth_provider_x509_cert_url: https://www.googleapis.com/oauth2/v1/certs + auth_uri: https://accounts.google.com/o/oauth2/auth + client_email: test@sandbox.iam.gserviceaccount.com + client_id: '123456712345671234567' + client_x509_cert_url: https://www.googleapis.com/robot/v1/metadata/x509/$CLIENT_EMAIL + host_filters: $KEY1:$VALUE1,$KEY2:$VALUE2 + is_cspm_enabled: true + private_key: private_key + private_key_id: 123456789abcdefghi123456789abcdefghijklm + project_id: datadog-apitest + resource_collection_enabled: true + token_uri: https://accounts.google.com/o/oauth2/token + type: service_account + schema: + $ref: '#/components/schemas/GCPAccount' + description: Create a Datadog-GCP integration. + required: true + responses: + '200': + content: + application/json: + examples: + default: + value: {} + schema: + example: {} + type: string + description: (opaque JSON object) + description: OK + '400': + content: + application/json: + schema: + $ref: '#/components/schemas/APIErrorResponseV1' + description: Bad Request + '403': + content: + application/json: + schema: + $ref: '#/components/schemas/APIErrorResponseV1' + description: Authentication error + '429': + $ref: '#/components/responses/TooManyRequestsResponse' + summary: Create a GCP integration + tags: + - GCP Integration + x-codegen-request-body-name: body + x-permission: + operator: OR + permissions: + - gcp_configurations_manage + put: + deprecated: true + description: |- + This endpoint is deprecated – use the V2 endpoints instead. Update a Datadog-GCP integrations host_filters and/or auto-mute. + Requires a `project_id` and `client_email`, however these fields cannot be updated. + If you need to update these fields, delete and use the create (`POST`) endpoint. + The unspecified fields will keep their original values. + operationId: UpdateGCPIntegration + requestBody: + content: + application/json: + examples: + default: + value: + client_email: test@sandbox.iam.gserviceaccount.com + client_id: '123456712345671234567' + host_filters: $KEY1:$VALUE1,$KEY2:$VALUE2 + is_cspm_enabled: true + project_id: datadog-apitest + resource_collection_enabled: true + schema: + $ref: '#/components/schemas/GCPAccount' + description: Update a Datadog-GCP integration. + required: true + responses: + '200': + content: + application/json: + examples: + default: + value: {} + schema: + example: {} + type: string + description: (opaque JSON object) + description: OK + '400': + content: + application/json: + schema: + $ref: '#/components/schemas/APIErrorResponseV1' + description: Bad Request + '403': + content: + application/json: + schema: + $ref: '#/components/schemas/APIErrorResponseV1' + description: Authentication error + '429': + $ref: '#/components/responses/TooManyRequestsResponse' + summary: Update a GCP integration + tags: + - GCP Integration + x-codegen-request-body-name: body + x-permission: + operator: OR + permissions: + - gcp_configuration_edit + /api/v1/integration/pagerduty/configuration/services: + post: + description: Create a new service object in the PagerDuty integration. + operationId: CreatePagerDutyIntegrationService + requestBody: + content: + application/json: + examples: + default: + value: + service_key: your-pagerduty-service-key + service_name: my-pagerduty-service + schema: + $ref: '#/components/schemas/PagerDutyService' + description: Create a new service object request body. + required: true + responses: + '201': + content: + application/json: + examples: + default: + value: + service_name: test-service + schema: + $ref: '#/components/schemas/PagerDutyServiceName' + description: OK + '400': + content: + application/json: + schema: + $ref: '#/components/schemas/APIErrorResponseV1' + description: Bad Request + '403': + content: + application/json: + schema: + $ref: '#/components/schemas/APIErrorResponseV1' + description: Authentication error + '429': + $ref: '#/components/responses/TooManyRequestsResponse' + summary: Create a new service object + tags: + - PagerDuty Integration + x-codegen-request-body-name: body + x-permission: + operator: OR + permissions: + - manage_integrations + /api/v1/integration/pagerduty/configuration/services/{service_name}: + delete: + description: Delete a single service object in the Datadog-PagerDuty integration. + operationId: DeletePagerDutyIntegrationService + parameters: + - description: The service name + in: path + name: service_name + required: true + schema: + type: string + responses: + '204': + description: No Content + '403': + content: + application/json: + schema: + $ref: '#/components/schemas/APIErrorResponseV1' + description: Authentication error + '404': + content: + application/json: + schema: + $ref: '#/components/schemas/APIErrorResponseV1' + description: Item Not Found + '429': + $ref: '#/components/responses/TooManyRequestsResponse' + summary: Delete a single service object + tags: + - PagerDuty Integration + x-permission: + operator: OR + permissions: + - manage_integrations + get: + description: Get service name in the Datadog-PagerDuty integration. + operationId: GetPagerDutyIntegrationService + parameters: + - description: The service name. + in: path + name: service_name + required: true + schema: + type: string + responses: + '200': + content: + application/json: + examples: + default: + value: + service_name: test-service + schema: + $ref: '#/components/schemas/PagerDutyServiceName' + description: OK + '403': + content: + application/json: + schema: + $ref: '#/components/schemas/APIErrorResponseV1' + description: Authentication error + '404': + content: + application/json: + schema: + $ref: '#/components/schemas/APIErrorResponseV1' + description: Item Not Found + '429': + $ref: '#/components/responses/TooManyRequestsResponse' + summary: Get a single service object + tags: + - PagerDuty Integration + x-permission: + operator: OR + permissions: + - integrations_read + put: + description: Update a single service object in the Datadog-PagerDuty integration. + operationId: UpdatePagerDutyIntegrationService + parameters: + - description: The service name + in: path + name: service_name + required: true + schema: + type: string + requestBody: + content: + application/json: + examples: + default: + value: + service_key: updated-pagerduty-service-key + schema: + $ref: '#/components/schemas/PagerDutyServiceKey' + description: Update an existing service object request body. + required: true + responses: + '200': + description: OK + '400': + content: + application/json: + schema: + $ref: '#/components/schemas/APIErrorResponseV1' + description: Bad Request + '403': + content: + application/json: + schema: + $ref: '#/components/schemas/APIErrorResponseV1' + description: Authentication error + '404': + content: + application/json: + schema: + $ref: '#/components/schemas/APIErrorResponseV1' + description: Item Not Found + '429': + $ref: '#/components/responses/TooManyRequestsResponse' + summary: Update a single service object + tags: + - PagerDuty Integration + x-codegen-request-body-name: body + x-permission: + operator: OR + permissions: + - manage_integrations + /api/v1/integration/slack/configuration/accounts/{account_name}/channels: + get: + description: Get a list of all channels configured for your Datadog-Slack integration. + operationId: GetSlackIntegrationChannels + parameters: + - $ref: '#/components/parameters/SlackAccountNamePathParameter' + responses: + '200': + content: + application/json: + examples: + default: + value: + - display: + message: true + mute_buttons: false + notified: true + snapshot: true + tags: true + name: '#test-channel' + schema: + type: array + items: + $ref: '#/components/schemas/SlackIntegrationChannel' + description: OK + '400': + content: + application/json: + schema: + $ref: '#/components/schemas/APIErrorResponseV1' + description: Bad Request + '403': + content: + application/json: + schema: + $ref: '#/components/schemas/APIErrorResponseV1' + description: Authentication error + '404': + content: + application/json: + schema: + $ref: '#/components/schemas/APIErrorResponseV1' + description: Item Not Found + '429': + $ref: '#/components/responses/TooManyRequestsResponse' + summary: Get all channels in a Slack integration + tags: + - Slack Integration + x-permission: + operator: OR + permissions: + - integrations_read + post: + description: Add a channel to your Datadog-Slack integration. + operationId: CreateSlackIntegrationChannel + parameters: + - $ref: '#/components/parameters/SlackAccountNamePathParameter' + requestBody: + content: + application/json: + examples: + default: + value: + display: + message: true + mute_buttons: false + notified: true + snapshot: true + tags: true + name: '#general' + schema: + $ref: '#/components/schemas/SlackIntegrationChannel' + description: Payload describing Slack channel to be created + required: true + responses: + '200': + content: + application/json: + examples: + default: + value: + display: + message: true + mute_buttons: false + notified: true + snapshot: true + tags: true + name: '#test-channel' + schema: + $ref: '#/components/schemas/SlackIntegrationChannel' + description: OK + '400': + content: + application/json: + schema: + $ref: '#/components/schemas/APIErrorResponseV1' + description: Bad Request + '403': + content: + application/json: + schema: + $ref: '#/components/schemas/APIErrorResponseV1' + description: Authentication error + '404': + content: + application/json: + schema: + $ref: '#/components/schemas/APIErrorResponseV1' + description: Item Not Found + '429': + $ref: '#/components/responses/TooManyRequestsResponse' + summary: Create a Slack integration channel + tags: + - Slack Integration + x-codegen-request-body-name: body + x-permission: + operator: OR + permissions: + - manage_integrations + /api/v1/integration/slack/configuration/accounts/{account_name}/channels/{channel_name}: + delete: + description: Remove a channel from your Datadog-Slack integration. + operationId: RemoveSlackIntegrationChannel + parameters: + - $ref: '#/components/parameters/SlackAccountNamePathParameter' + - $ref: '#/components/parameters/SlackChannelNamePathParameter' + responses: + '204': + description: The channel was removed successfully. + '400': + content: + application/json: + schema: + $ref: '#/components/schemas/APIErrorResponseV1' + description: Bad Request + '403': + content: + application/json: + schema: + $ref: '#/components/schemas/APIErrorResponseV1' + description: Authentication error + '404': + content: + application/json: + schema: + $ref: '#/components/schemas/APIErrorResponseV1' + description: Item Not Found + '429': + $ref: '#/components/responses/TooManyRequestsResponse' + summary: Remove a Slack integration channel + tags: + - Slack Integration + x-permission: + operator: OR + permissions: + - manage_integrations + get: + description: Get a channel configured for your Datadog-Slack integration. + operationId: GetSlackIntegrationChannel + parameters: + - $ref: '#/components/parameters/SlackAccountNamePathParameter' + - $ref: '#/components/parameters/SlackChannelNamePathParameter' + responses: + '200': + content: + application/json: + examples: + default: + value: + display: + message: true + mute_buttons: false + notified: true + snapshot: true + tags: true + name: '#test-channel' + schema: + $ref: '#/components/schemas/SlackIntegrationChannel' + description: OK + '400': + content: + application/json: + schema: + $ref: '#/components/schemas/APIErrorResponseV1' + description: Bad Request + '403': + content: + application/json: + schema: + $ref: '#/components/schemas/APIErrorResponseV1' + description: Authentication error + '404': + content: + application/json: + schema: + $ref: '#/components/schemas/APIErrorResponseV1' + description: Item Not Found + '429': + $ref: '#/components/responses/TooManyRequestsResponse' + summary: Get a Slack integration channel + tags: + - Slack Integration + x-permission: + operator: OR + permissions: + - integrations_read + patch: + description: Update a channel used in your Datadog-Slack integration. + operationId: UpdateSlackIntegrationChannel + parameters: + - $ref: '#/components/parameters/SlackAccountNamePathParameter' + - $ref: '#/components/parameters/SlackChannelNamePathParameter' + requestBody: + content: + application/json: + examples: + default: + value: + display: + message: true + mute_buttons: false + notified: true + snapshot: true + tags: true + name: '#general' + schema: + $ref: '#/components/schemas/SlackIntegrationChannel' + description: Payload describing fields and values to be updated. + required: true + responses: + '200': + content: + application/json: + examples: + default: + value: + display: + message: true + mute_buttons: false + notified: true + snapshot: true + tags: true + name: '#test-channel' + schema: + $ref: '#/components/schemas/SlackIntegrationChannel' + description: OK + '400': + content: + application/json: + schema: + $ref: '#/components/schemas/APIErrorResponseV1' + description: Bad Request + '403': + content: + application/json: + schema: + $ref: '#/components/schemas/APIErrorResponseV1' + description: Authentication error + '404': + content: + application/json: + schema: + $ref: '#/components/schemas/APIErrorResponseV1' + description: Item Not Found + '429': + $ref: '#/components/responses/TooManyRequestsResponse' + summary: Update a Slack integration channel + tags: + - Slack Integration + x-codegen-request-body-name: body + x-permission: + operator: OR + permissions: + - manage_integrations + /api/v1/integration/webhooks/configuration/custom-variables: + post: + description: Creates an endpoint with the name ``. + operationId: CreateWebhooksIntegrationCustomVariable + requestBody: + content: + application/json: + examples: + default: + value: + is_secret: true + name: CUSTOM_VARIABLE_NAME + value: CUSTOM_VARIABLE_VALUE + schema: + $ref: '#/components/schemas/WebhooksIntegrationCustomVariable' + description: Define a custom variable request body. + required: true + responses: + '201': + content: + application/json: + examples: + default: + value: + is_secret: true + name: CUSTOM_VARIABLE_NAME + schema: + $ref: '#/components/schemas/WebhooksIntegrationCustomVariableResponse' + description: OK + '400': + content: + application/json: + schema: + $ref: '#/components/schemas/APIErrorResponseV1' + description: Bad Request + '403': + content: + application/json: + schema: + $ref: '#/components/schemas/APIErrorResponseV1' + description: Authentication error + '429': + $ref: '#/components/responses/TooManyRequestsResponse' + summary: Create a custom variable + tags: + - Webhooks Integration + x-codegen-request-body-name: body + x-permission: + operator: OR + permissions: + - manage_integrations + /api/v1/integration/webhooks/configuration/custom-variables/{custom_variable_name}: + delete: + description: Deletes the endpoint with the name ``. + operationId: DeleteWebhooksIntegrationCustomVariable + parameters: + - description: The name of the custom variable. + in: path + name: custom_variable_name + required: true + schema: + type: string + responses: + '200': + description: OK + '403': + content: + application/json: + schema: + $ref: '#/components/schemas/APIErrorResponseV1' + description: Authentication error + '404': + content: + application/json: + schema: + $ref: '#/components/schemas/APIErrorResponseV1' + description: Item Not Found + '429': + $ref: '#/components/responses/TooManyRequestsResponse' + summary: Delete a custom variable + tags: + - Webhooks Integration + x-permission: + operator: OR + permissions: + - manage_integrations + get: + description: |- + Shows the content of the custom variable with the name ``. + + If the custom variable is secret, the value does not return in the + response payload. + operationId: GetWebhooksIntegrationCustomVariable + parameters: + - description: The name of the custom variable. + in: path + name: custom_variable_name + required: true + schema: + type: string + responses: + '200': + content: + application/json: + examples: + default: + value: + is_secret: true + name: CUSTOM_VARIABLE_NAME + schema: + $ref: '#/components/schemas/WebhooksIntegrationCustomVariableResponse' + description: OK + '400': + content: + application/json: + schema: + $ref: '#/components/schemas/APIErrorResponseV1' + description: Bad Request + '403': + content: + application/json: + schema: + $ref: '#/components/schemas/APIErrorResponseV1' + description: Authentication error + '404': + content: + application/json: + schema: + $ref: '#/components/schemas/APIErrorResponseV1' + description: Item Not Found + '429': + $ref: '#/components/responses/TooManyRequestsResponse' + summary: Get a custom variable + tags: + - Webhooks Integration + x-permission: + operator: OR + permissions: + - integrations_read + put: + description: Updates the endpoint with the name ``. + operationId: UpdateWebhooksIntegrationCustomVariable + parameters: + - description: The name of the custom variable. + in: path + name: custom_variable_name + required: true + schema: + type: string + requestBody: + content: + application/json: + examples: + default: + value: + is_secret: true + name: CUSTOM_VARIABLE_NAME + value: CUSTOM_VARIABLE_VALUE + schema: + $ref: '#/components/schemas/WebhooksIntegrationCustomVariableUpdateRequest' + description: Update an existing custom variable request body. + required: true + responses: + '200': + content: + application/json: + examples: + default: + value: + is_secret: true + name: CUSTOM_VARIABLE_NAME + schema: + $ref: '#/components/schemas/WebhooksIntegrationCustomVariableResponse' + description: OK + '400': + content: + application/json: + schema: + $ref: '#/components/schemas/APIErrorResponseV1' + description: Bad Request + '403': + content: + application/json: + schema: + $ref: '#/components/schemas/APIErrorResponseV1' + description: Authentication error + '404': + content: + application/json: + schema: + $ref: '#/components/schemas/APIErrorResponseV1' + description: Item Not Found + '429': + $ref: '#/components/responses/TooManyRequestsResponse' + summary: Update a custom variable + tags: + - Webhooks Integration + x-codegen-request-body-name: body + x-permission: + operator: OR + permissions: + - manage_integrations + /api/v1/integration/webhooks/configuration/webhooks: + post: + description: Creates an endpoint with the name ``. + operationId: CreateWebhooksIntegration + requestBody: + content: + application/json: + examples: + default: + value: + encode_as: json + name: WEBHOOK_NAME + url: https://example.com/webhook + schema: + $ref: '#/components/schemas/WebhooksIntegration' + description: Create a webhooks integration request body. + required: true + responses: + '201': + content: + application/json: + examples: + default: + value: + encode_as: json + name: WEBHOOK_NAME + url: https://example.com/webhook + schema: + $ref: '#/components/schemas/WebhooksIntegration' + description: OK + '400': + content: + application/json: + schema: + $ref: '#/components/schemas/APIErrorResponseV1' + description: Bad Request + '403': + content: + application/json: + schema: + $ref: '#/components/schemas/APIErrorResponseV1' + description: Authentication error + '429': + $ref: '#/components/responses/TooManyRequestsResponse' + security: + - apiKeyAuth: [] + appKeyAuth: [] + - AuthZ: + - create_webhooks + summary: Create a webhooks integration + tags: + - Webhooks Integration + x-codegen-request-body-name: body + x-permission: + operator: OR + permissions: + - create_webhooks + /api/v1/integration/webhooks/configuration/webhooks/{webhook_name}: + delete: + description: Deletes the endpoint with the name ``. This action cannot be undone. + operationId: DeleteWebhooksIntegration + parameters: + - description: The name of the webhook. + in: path + name: webhook_name + required: true + schema: + type: string + responses: + '200': + description: OK + '403': + content: + application/json: + schema: + $ref: '#/components/schemas/APIErrorResponseV1' + description: Authentication error + '404': + content: + application/json: + schema: + $ref: '#/components/schemas/APIErrorResponseV1' + description: Item Not Found + '429': + $ref: '#/components/responses/TooManyRequestsResponse' + summary: Delete a webhook + tags: + - Webhooks Integration + x-permission: + operator: OR + permissions: + - manage_integrations + get: + description: Gets the content of the webhook with the name ``. + operationId: GetWebhooksIntegration + parameters: + - description: The name of the webhook. + in: path + name: webhook_name + required: true + schema: + type: string + responses: + '200': + content: + application/json: + examples: + default: + value: + encode_as: json + name: WEBHOOK_NAME + url: https://example.com/webhook + schema: + $ref: '#/components/schemas/WebhooksIntegration' + description: OK + '400': + content: + application/json: + schema: + $ref: '#/components/schemas/APIErrorResponseV1' + description: Bad Request + '403': + content: + application/json: + schema: + $ref: '#/components/schemas/APIErrorResponseV1' + description: Authentication error + '404': + content: + application/json: + schema: + $ref: '#/components/schemas/APIErrorResponseV1' + description: Item Not Found + '429': + $ref: '#/components/responses/TooManyRequestsResponse' + summary: Get a webhook integration + tags: + - Webhooks Integration + x-permission: + operator: OR + permissions: + - integrations_read + put: + description: Updates the endpoint with the name ``. + operationId: UpdateWebhooksIntegration + parameters: + - description: The name of the webhook. + in: path + name: webhook_name + required: true + schema: + type: string + requestBody: + content: + application/json: + examples: + default: + value: + encode_as: json + name: WEBHOOK_NAME + url: https://example.com/webhook + schema: + $ref: '#/components/schemas/WebhooksIntegrationUpdateRequest' + description: Update an existing Datadog-Webhooks integration. + required: true + responses: + '200': + content: + application/json: + examples: + default: + value: + encode_as: json + name: WEBHOOK_NAME + url: https://example.com/webhook + schema: + $ref: '#/components/schemas/WebhooksIntegration' + description: OK + '400': + content: + application/json: + schema: + $ref: '#/components/schemas/APIErrorResponseV1' + description: Bad Request + '403': + content: + application/json: + schema: + $ref: '#/components/schemas/APIErrorResponseV1' + description: Authentication error + '404': + content: + application/json: + schema: + $ref: '#/components/schemas/APIErrorResponseV1' + description: Item Not Found + '429': + $ref: '#/components/responses/TooManyRequestsResponse' + summary: Update a webhook + tags: + - Webhooks Integration + x-codegen-request-body-name: body + x-permission: + operator: OR + permissions: + - manage_integrations +components: + schemas: + AWSCloudAuthPersonaMappingsResponse: + description: Response containing a list of AWS cloud authentication persona mappings + properties: + data: + $ref: '#/components/schemas/AWSCloudAuthPersonaMappingsData' + example: + - attributes: + account_identifier: test@test.com + account_uuid: 12bbdc5c-5966-47e0-8733-285f9e44bcf4 + arn_pattern: arn:aws:iam::123456789012:user/testuser + id: c5c758c6-18c2-4484-ae3f-46b84128404a + type: aws_cloud_auth_config + required: + - data + type: object + JSONAPIErrorResponse: + description: API error response. + properties: + errors: + description: A list of errors. + items: + $ref: '#/components/schemas/JSONAPIErrorItem' + type: array + required: + - errors + type: object + AWSCloudAuthPersonaMappingCreateRequest: + description: Request used to create an AWS cloud authentication persona mapping + properties: + data: + $ref: '#/components/schemas/AWSCloudAuthPersonaMappingCreateData' + required: + - data + type: object + AWSCloudAuthPersonaMappingResponse: + description: Response containing a single AWS cloud authentication persona mapping + properties: + data: + $ref: '#/components/schemas/AWSCloudAuthPersonaMappingDataResponse' + required: + - data + type: object + EntityIntegrationConfigResponse: + description: JSON:API document containing a single entity integration configuration resource. + properties: + data: + $ref: '#/components/schemas/EntityIntegrationConfigData' + required: + - data + type: object + EntityIntegrationConfigRequest: + description: Request body used to create or replace the configuration for a given integration. + properties: + data: + $ref: '#/components/schemas/EntityIntegrationConfigRequestData' + required: + - data + type: object + ElasticCloudIntegrationAccountsResponse: + description: Response payload for a list of Elastic Cloud integration accounts. + properties: + data: + description: List of Elastic Cloud integration accounts. + items: + $ref: '#/components/schemas/ElasticCloudIntegrationAccountResponseData' + type: array + required: + - data + type: object + ElasticCloudIntegrationAccountCreateRequest: + description: Request payload to create an Elastic Cloud integration account. + properties: + data: + $ref: '#/components/schemas/ElasticCloudIntegrationAccountCreateData' + required: + - data + type: object + ElasticCloudIntegrationAccountResponse: + description: Response payload for a single Elastic Cloud integration account. + properties: + data: + $ref: '#/components/schemas/ElasticCloudIntegrationAccountResponseData' + required: + - data + type: object + ElasticCloudIntegrationAccountUpdateRequest: + description: Request payload to update an Elastic Cloud integration account. + properties: + data: + $ref: '#/components/schemas/ElasticCloudIntegrationAccountUpdateData' + required: + - data + type: object + TwilioIntegrationAccountsResponse: + description: Response payload for a list of Twilio integration accounts. + properties: + data: + description: List of Twilio integration accounts. + items: + $ref: '#/components/schemas/TwilioIntegrationAccountResponseData' + type: array + required: + - data + type: object + TwilioIntegrationAccountCreateRequest: + description: Request payload to create a Twilio integration account. + properties: + data: + $ref: '#/components/schemas/TwilioIntegrationAccountCreateData' + required: + - data + type: object + TwilioIntegrationAccountResponse: + description: Response payload for a single Twilio integration account. + properties: + data: + $ref: '#/components/schemas/TwilioIntegrationAccountResponseData' + required: + - data + type: object + TwilioIntegrationAccountUpdateRequest: + description: Request payload to update a Twilio integration account. + properties: + data: + $ref: '#/components/schemas/TwilioIntegrationAccountUpdateData' + required: + - data + type: object + AWSAccountsResponse: + description: AWS Accounts response body. + properties: + data: + description: List of AWS Account Integration Configs. + items: + $ref: '#/components/schemas/AWSAccountResponseData' + type: array + required: + - data + type: object + AWSAccountCreateRequest: + description: AWS Account Create Request body. + properties: + data: + $ref: '#/components/schemas/AWSAccountCreateRequestData' + required: + - data + type: object + AWSAccountResponse: + description: AWS Account response body. + properties: + data: + $ref: '#/components/schemas/AWSAccountResponseData' + required: + - data + type: object + AWSAccountUpdateRequest: + description: AWS Account Update Request body. + properties: + data: + $ref: '#/components/schemas/AWSAccountUpdateRequestData' + required: + - data + type: object + AWSCcmConfigResponse: + description: AWS CCM Config response body. + properties: + data: + $ref: '#/components/schemas/AWSCcmConfigResponseData' + required: + - data + type: object + AWSCcmConfigRequest: + description: AWS CCM Config Create/Update Request body. + properties: + data: + $ref: '#/components/schemas/AWSCcmConfigRequestData' + required: + - data + type: object + AWSMetricNameFilterPreviewResponse: + description: AWS metric name filter preview response body. + properties: + data: + $ref: '#/components/schemas/AWSMetricNameFilterPreviewResponseData' + required: + - data + type: object + AWSMetricNameFilterPreviewRequest: + description: AWS metric name filter preview request body. + properties: + data: + $ref: '#/components/schemas/AWSMetricNameFilterPreviewRequestData' + required: + - data + type: object + AWSNamespacesResponse: + description: AWS Namespaces response body. + properties: + data: + $ref: '#/components/schemas/AWSNamespacesResponseData' + required: + - data + type: object + AWSEventBridgeDeleteRequest: + description: Amazon EventBridge delete request body. + properties: + data: + $ref: '#/components/schemas/AWSEventBridgeDeleteRequestData' + required: + - data + type: object + AWSEventBridgeDeleteResponse: + description: Amazon EventBridge delete response body. + properties: + data: + $ref: '#/components/schemas/AWSEventBridgeDeleteResponseData' + required: + - data + type: object + AWSEventBridgeListResponse: + description: Amazon EventBridge list response body. + properties: + data: + $ref: '#/components/schemas/AWSEventBridgeListResponseData' + required: + - data + type: object + AWSEventBridgeCreateRequest: + description: Amazon EventBridge create request body. + properties: + data: + $ref: '#/components/schemas/AWSEventBridgeCreateRequestData' + required: + - data + type: object + AWSEventBridgeCreateResponse: + description: Amazon EventBridge create response body. + properties: + data: + $ref: '#/components/schemas/AWSEventBridgeCreateResponseData' + required: + - data + type: object AWSNewExternalIDResponse: description: AWS External ID response body. properties: - data: - $ref: '#/components/schemas/AWSNewExternalIDResponseData' + data: + $ref: '#/components/schemas/AWSNewExternalIDResponseData' + required: + - data + type: object + AWSIntegrationIamPermissionsResponse: + description: AWS Integration IAM Permissions response body. + properties: + data: + $ref: '#/components/schemas/AWSIntegrationIamPermissionsResponseData' + required: + - data + type: object + AWSLogsServicesResponse: + description: AWS Logs Services response body + properties: + data: + $ref: '#/components/schemas/AWSLogsServicesResponseData' + required: + - data + type: object + AWSCcmConfigValidationRequest: + description: AWS CCM config validation request body. + properties: + data: + $ref: '#/components/schemas/AWSCcmConfigValidationRequestData' + required: + - data + type: object + AWSCcmConfigValidationResponse: + description: AWS CCM config validation response body. + properties: + data: + $ref: '#/components/schemas/AWSCcmConfigValidationResponseData' + required: + - data + type: object + GCPSTSServiceAccountsResponse: + description: Object containing all your STS enabled accounts. + properties: + data: + description: Array of GCP STS enabled service accounts. + items: + $ref: '#/components/schemas/GCPSTSServiceAccount' + type: array + type: object + GCPSTSServiceAccountCreateRequest: + description: Data on your newly generated service account. + properties: + data: + $ref: '#/components/schemas/GCPSTSServiceAccountData' + type: object + GCPSTSServiceAccountResponse: + description: The account creation response. + properties: + data: + $ref: '#/components/schemas/GCPSTSServiceAccount' + type: object + GCPSTSServiceAccountUpdateRequest: + description: Service account info. + properties: + data: + $ref: '#/components/schemas/GCPSTSServiceAccountUpdateRequestData' + type: object + GCPSTSDelegateAccountResponse: + description: Your delegate service account response data. + properties: + data: + $ref: '#/components/schemas/GCPSTSDelegateAccount' + type: object + GoogleChatOrganizationsResponse: + description: Response containing a list of Google Chat organization bindings. + properties: + data: + description: An array of Google Chat organization bindings. + items: + $ref: '#/components/schemas/GoogleChatOrganizationData' + type: array + required: + - data + type: object + GoogleChatAppNamedSpaceResponse: + description: Response with Google Chat space information. + properties: + data: + $ref: '#/components/schemas/GoogleChatAppNamedSpaceResponseData' + required: + - data + type: object + GoogleChatOrganizationResponse: + description: Response containing a Google Chat organization binding. + properties: + data: + $ref: '#/components/schemas/GoogleChatOrganizationData' + required: + - data + type: object + GoogleChatDelegatedUserResponse: + description: Response containing a Google Chat delegated user. + properties: + data: + $ref: '#/components/schemas/GoogleChatDelegatedUserData' + required: + - data + type: object + GoogleChatOrganizationHandlesResponse: + description: List of organization handles for monitor notifications to Google Chat spaces within a Google organization. + properties: + data: + description: An array of organization handles. + example: + - attributes: + name: general-handle + space_display_name: General + space_resource_name: spaces/AAAAAAAAA + id: 596da4af-0563-4097-90ff-07230c3f9db3 + type: google-chat-organization-handle + - attributes: + name: general-handle-2 + space_display_name: General2 + space_resource_name: spaces/BBBBBBBBB + id: 596da4af-0563-4097-90ff-07230c3f9db4 + type: google-chat-organization-handle + items: + $ref: '#/components/schemas/GoogleChatOrganizationHandleResponseData' + type: array + required: + - data + type: object + GoogleChatCreateOrganizationHandleRequest: + description: Create organization handle request. + properties: + data: + $ref: '#/components/schemas/GoogleChatCreateOrganizationHandleRequestData' + type: + $ref: '#/components/schemas/GoogleChatOrganizationHandleType' + required: + - type + - data + type: object + GoogleChatOrganizationHandleResponse: + description: Organization handle for monitor notifications to a Google Chat space within a Google organization. + properties: + data: + $ref: '#/components/schemas/GoogleChatOrganizationHandleResponseData' + required: + - data + type: object + GoogleChatUpdateOrganizationHandleRequest: + description: Update organization handle request. + properties: + data: + $ref: '#/components/schemas/GoogleChatUpdateOrganizationHandleRequestData' + type: + $ref: '#/components/schemas/GoogleChatOrganizationHandleType' + required: + - type + - data + type: object + GoogleChatTargetAudiencesResponse: + description: Response containing a list of Google Chat target audiences. + properties: + data: + description: An array of Google Chat target audiences. + items: + $ref: '#/components/schemas/GoogleChatTargetAudienceData' + type: array + required: + - data + type: object + GoogleChatTargetAudienceCreateRequest: + description: Create target audience request. + properties: + data: + $ref: '#/components/schemas/GoogleChatTargetAudienceCreateRequestData' + required: + - data + type: object + GoogleChatTargetAudienceResponse: + description: Response containing a Google Chat target audience. + properties: + data: + $ref: '#/components/schemas/GoogleChatTargetAudienceData' + required: + - data + type: object + GoogleChatTargetAudienceUpdateRequest: + description: Update target audience request. + properties: + data: + $ref: '#/components/schemas/GoogleChatTargetAudienceUpdateRequestData' + required: + - data + type: object + JiraAccountsResponse: + description: Response containing Jira accounts + properties: + data: + $ref: '#/components/schemas/JiraAccountsData' + example: + - attributes: + consumer_key: consumer-key-1 + instance_url: https://example.atlassian.net + id: account-1 + type: jira-account + meta: + $ref: '#/components/schemas/JiraAccountsMeta' + required: + - data + type: object + JiraIssueTemplatesResponse: + description: Response containing Jira issue templates + properties: + data: + $ref: '#/components/schemas/JiraIssueTemplatesData' + example: + - attributes: + fields: + description: + payload: Test Description + type: json + issue_type_id: '10001' + name: Bug Report Template + project_id: PROJECT-1 + id: 65b3341b-0680-47f9-a6d4-134db45c603e + type: jira-issue-template + included: + $ref: '#/components/schemas/JiraAccountsData' + required: + - data + type: object + JiraIssueTemplateCreateRequest: + description: Request to create a Jira issue template + properties: + data: + $ref: '#/components/schemas/JiraIssueTemplateCreateRequestData' + type: object + JiraIssueTemplateResponse: + description: Response containing a single Jira issue template + properties: + data: + $ref: '#/components/schemas/JiraIssueTemplateData' + included: + $ref: '#/components/schemas/JiraAccountsData' + required: + - data + type: object + JiraIssueTemplateUpdateRequest: + description: Request to update a Jira issue template + properties: + data: + $ref: '#/components/schemas/JiraIssueTemplateUpdateRequestData' + required: + - data + type: object + MicrosoftTeamsGetChannelByNameResponse: + description: Response with channel, team, and tenant ID information. + properties: + data: + $ref: '#/components/schemas/MicrosoftTeamsChannelInfoResponseData' + type: object + MicrosoftTeamsTenantBasedHandlesResponse: + description: Response with a list of tenant-based handles. + properties: + data: + description: An array of tenant-based handles. + example: + - attributes: + channelId: 19:b41k24b14bn1nwffkernfkwrnfneubgkr@thread.tacv2 + channelName: General + name: general-handle + teamId: 00000000-0000-0000-0000-000000000000 + teamName: Example Team + tenantId: 00000000-0000-0000-0000-000000000001 + tenantName: Company, Inc. + id: 596da4af-0563-4097-90ff-07230c3f9db3 + type: ms-teams-tenant-based-handle-info + - attributes: + channelId: 19:b41k24b14bn1nwffkernfkwrnfneubgk1@thread.tacv2 + channelName: General2 + name: general-handle-2 + teamId: 00000000-0000-0000-0000-000000000002 + teamName: Example Team 2 + tenantId: 00000000-0000-0000-0000-000000000003 + tenantName: Company, Inc. + id: 596da4af-0563-4097-90ff-07230c3f9db4 + type: ms-teams-tenant-based-handle-info + items: + $ref: '#/components/schemas/MicrosoftTeamsTenantBasedHandleInfoResponseData' + type: array + required: + - data + type: object + MicrosoftTeamsCreateTenantBasedHandleRequest: + description: Create tenant-based handle request. + properties: + data: + $ref: '#/components/schemas/MicrosoftTeamsTenantBasedHandleRequestData' + required: + - data + type: object + MicrosoftTeamsTenantBasedHandleResponse: + description: Response of a tenant-based handle. + properties: + data: + $ref: '#/components/schemas/MicrosoftTeamsTenantBasedHandleResponseData' + required: + - data + type: object + MicrosoftTeamsUpdateTenantBasedHandleRequest: + description: Update tenant-based handle request. + properties: + data: + $ref: '#/components/schemas/MicrosoftTeamsUpdateTenantBasedHandleRequestData' + required: + - data + type: object + MicrosoftTeamsWorkflowsWebhookHandlesResponse: + description: Response with a list of Workflows webhook handles. + properties: + data: + description: An array of Workflows webhook handles. + example: + - attributes: + name: general-handle + id: 596da4af-0563-4097-90ff-07230c3f9db3 + type: workflows-webhook-handle + - attributes: + name: general-handle-2 + id: 596da4af-0563-4097-90ff-07230c3f9db4 + type: workflows-webhook-handle + items: + $ref: '#/components/schemas/MicrosoftTeamsWorkflowsWebhookHandleResponseData' + type: array + required: + - data + type: object + MicrosoftTeamsCreateWorkflowsWebhookHandleRequest: + description: Create Workflows webhook handle request. + properties: + data: + $ref: '#/components/schemas/MicrosoftTeamsWorkflowsWebhookHandleRequestData' + required: + - data + type: object + MicrosoftTeamsWorkflowsWebhookHandleResponse: + description: Response of a Workflows webhook handle. + properties: + data: + $ref: '#/components/schemas/MicrosoftTeamsWorkflowsWebhookHandleResponseData' + required: + - data + type: object + MicrosoftTeamsUpdateWorkflowsWebhookHandleRequest: + description: Update Workflows webhook handle request. + properties: + data: + $ref: '#/components/schemas/MicrosoftTeamsUpdateWorkflowsWebhookHandleRequestData' + required: + - data + type: object + TenancyProductsList: + description: Response containing a list of OCI tenancy product resources with their product enablement status. + example: + data: + - attributes: + products: + - enabled: true + product_key: CLOUD_SECURITY_POSTURE_MANAGEMENT + id: ocid.tenancy.test + type: oci_tenancy_product + properties: + data: + description: List of OCI tenancy product resource objects. + items: + $ref: '#/components/schemas/TenancyProductsData' + type: array + required: + - data + type: object + TenancyConfigList: + description: Response containing a list of OCI tenancy integration configurations. + example: + data: + - attributes: + config_version: 2 + cost_collection_enabled: true + dd_compartment_id: ocid.compartment.test + dd_stack_id: ocid.stack.test + home_region: us-ashburn-1 + logs_config: + compartment_tag_filters: + - compartment.test + enabled: true + enabled_services: + - compute + metrics_config: + compartment_tag_filters: + - compartment.test + enabled: true + excluded_services: + - compute + regions_config: + available: + - us-ashburn-1 + - us-phoenix-1 + disabled: + - us-phoenix-1 + enabled: + - us-ashburn-1 + resource_collection_enabled: true + user_ocid: ocid.user.test + id: ocid.tenancy.test + type: oci_tenancy + properties: + data: + description: List of OCI tenancy integration configuration objects. + items: + $ref: '#/components/schemas/TenancyConfigData' + type: array + required: + - data + type: object + CreateTenancyConfigRequest: + description: Request body for creating a new OCI tenancy integration configuration. + example: + data: + attributes: + auth_credentials: + fingerprint: '' + private_key: |- + ----BEGIN PRIVATE KEY----- + MIIEvgIBADANBgkqhkiG9w0BAQEFAASCBKgwggSkAgEAAoIBAQCdvSMmlfLyeD4M + QsA3WlrWBqKdWa5eVV3/uODyqT3wWMEMIJHcG3/quNs8nh9xrK1/JkQT2qoKEHqR + C5k59jN6Vp8em8ARJthMgam9K37ELt+IQ/G8ySTSuqZG8T4cHp/cs3fAclNqttOl + YnGr4RbVAgMBAAECggEAGZNLGbyCUbIRTW6Kh4d8ZVC+eZtJMqGmGJ3KfVaW8Pjn + QGWfSuJCEe2o2Y8G3phlidFauICnZ44enXA17Rhi+I/whnr7FIyQk2bR7rv+1Uhc + mOJygWX5eFFMsledgVAdIAl9Luk2nykx7Un3g6rtbl/Vs+5k4m7ITLFMpCHzsJLU + nm8kBzDOqY2JUkMd08nL88KL6QywWtal05UESzQpNFXd0e5kxYfexeMCsLsWP0mc + quMLRbn7NuBjCbe9VU2kmIvcfDDaWjurT7d5m1OXx1cc8p6P4PFZTVyCjdhiWOr3 + LQXZ4/vdZNR3zgEHypRoM6D9Yq99LWUOUEMrdiSLQQKBgQDQkh7C1OtAXnpy7F6R + W+/I3zBHici2p7A57UT7VECQ1IVGg37/uus83DkuOtdZ33JmHLAVrwLFJvUlbyjx + l6dc/1ms40L5HFdLgaVtd4k0rSPFeOSDr6evz0lX4yBuzlP0fEh+o3XHW7mwe2G+ + rWCULF/Uqza66fjbCSKMNgLIXQKBgQDBm9nZg/s4S0THWCFNWcB1tXBG0p/sH5eY + PC1H/VmTEINIixStrS4ufczf31X8rcoSjSbO7+vZDTTATdk7OLn1I2uGFVYl8M59 + 86BYT2Hi7cwp7YVzOc/cJigVeBAqSRW/iYYyWBEUTiW1gbkV0sRWwhPp67m+c0sP + XpY/iEZA2QKBgB1w8tynt4l/jKNaUEMOijt9ndALWATIiOy0XG9pxi9rgGCiwTOS + DBCsOXoYHjv2eayGUijNaoOv6xzcoxfvQ1WySdNIxTRq1ru20kYwgHKqGgmO9hrM + mcwMY5r/WZ2qjFlPjeAqbL62aPDLidGjoaVo2iIoBPK/gjxQ/5f0MS4N/YQ0zWoYBueSQ0DGs + -----END PRIVATE KEY----- + config_version: null + cost_collection_enabled: true + dd_compartment_id: ocid.compartment.test + dd_stack_id: ocid.stack.test + home_region: us-ashburn-1 + logs_config: + compartment_tag_filters: + - datadog:true + - env:prod + enabled: true + enabled_services: + - service_1 + - service_2 + metrics_config: + compartment_tag_filters: + - datadog:true + - env:prod + enabled: true + excluded_services: + - service_1 + - service_2 + regions_config: + available: + - us-ashburn-1 + - us-phoenix-1 + disabled: + - us-phoenix-1 + enabled: + - us-ashburn-1 + resource_collection_enabled: true + user_ocid: ocid.user.test + id: ocid.tenancy.test + type: oci_tenancy + properties: + data: + $ref: '#/components/schemas/CreateTenancyConfigData' + required: + - data + type: object + TenancyConfig: + description: Response containing a single OCI tenancy integration configuration. + example: + data: + attributes: + config_version: 2 + cost_collection_enabled: true + dd_compartment_id: ocid.compartment.test + dd_stack_id: ocid.stack.test + home_region: us-ashburn-1 + logs_config: + compartment_tag_filters: + - compartment.test + enabled: true + enabled_services: + - compute + metrics_config: + compartment_tag_filters: + - compartment.test + enabled: true + excluded_services: + - compute + regions_config: + available: + - us-ashburn-1 + - us-phoenix-1 + disabled: + - us-phoenix-1 + enabled: + - us-ashburn-1 + resource_collection_enabled: true + user_ocid: ocid.user.test + id: ocid.tenancy.test + type: oci_tenancy + properties: + data: + $ref: '#/components/schemas/TenancyConfigData' + type: object + UpdateTenancyConfigRequest: + description: Request body for updating an existing OCI tenancy integration configuration. + example: + data: + attributes: + auth_credentials: + fingerprint: '' + private_key: |- + ----BEGIN PRIVATE KEY----- + MIIEvgIBADANBgkqhkiG9w0BAQEFAASCBKgwggSkAgEAAoIBAQCdvSMmlfLyeD4M + QsA3WlrWBqKdWa5eVV3/uODyqT3wWMEMIJHcG3/quNs8nh9xrK1/JkQT2qoKEHqR + C5k59jN6Vp8em8ARJthMgam9K37ELt+IQ/G8ySTSuqZG8T4cHp/cs3fAclNqttOl + YnGr4RbVAgMBAAECggEAGZNLGbyCUbIRTW6Kh4d8ZVC+eZtJMqGmGJ3KfVaW8Pjn + QGWfSuJCEe2o2Y8G3phlidFauICnZ44enXA17Rhi+I/whnr7FIyQk2bR7rv+1Uhc + mOJygWX5eFFMsledgVAdIAl9Luk2nykx7Un3g6rtbl/Vs+5k4m7ITLFMpCHzsJLU + nm8kBzDOqY2JUkMd08nL88KL6QywWtal05UESzQpNFXd0e5kxYfexeMCsLsWP0mc + quMLRbn7NuBjCbe9VU2kmIvcfDDaWjurT7d5m1OXx1cc8p6P4PFZTVyCjdhiWOr3 + LQXZ4/vdZNR3zgEHypRoM6D9Yq99LWUOUEMrdiSLQQKBgQDQkh7C1OtAXnpy7F6R + W+/I3zBHici2p7A57UT7VECQ1IVGg37/uus83DkuOtdZ33JmHLAVrwLFJvUlbyjx + l6dc/1ms40L5HFdLgaVtd4k0rSPFeOSDr6evz0lX4yBuzlP0fEh+o3XHW7mwe2G+ + rWCULF/Uqza66fjbCSKMNgLIXQKBgQDBm9nZg/s4S0THWCFNWcB1tXBG0p/sH5eY + PC1H/VmTEINIixStrS4ufczf31X8rcoSjSbO7+vZDTTATdk7OLn1I2uGFVYl8M59 + 86BYT2Hi7cwp7YVzOc/cJigVeBAqSRW/iYYyWBEUTiW1gbkV0sRWwhPp67m+c0sP + XpY/iEZA2QKBgB1w8tynt4l/jKNaUEMOijt9ndALWATIiOy0XG9pxi9rgGCiwTOS + DBCsOXoYHjv2eayGUijNaoOv6xzcoxfvQ1WySdNIxTRq1ru20kYwgHKqGgmO9hrM + mcwMY5r/WZ2qjFlPjeAqbL62aPDLidGjoaVo2iIoBPK/gjxQ/5f0MS4N/YQ0zWoYBueSQ0DGs + -----END PRIVATE KEY----- + cost_collection_enabled: true + home_region: us-ashburn-1 + logs_config: + compartment_tag_filters: + - datadog:true + - env:prod + enabled: true + enabled_services: + - service_1 + - service_2 + metrics_config: + compartment_tag_filters: + - datadog:true + - env:prod + enabled: true + excluded_services: + - service_1 + - service_2 + regions_config: + available: + - us-ashburn-1 + - us-phoenix-1 + disabled: + - us-phoenix-1 + enabled: + - us-ashburn-1 + resource_collection_enabled: true + user_ocid: ocid.user.test + id: ocid.tenancy.test + type: oci_tenancy + properties: + data: + $ref: '#/components/schemas/UpdateTenancyConfigData' + required: + - data + type: object + OpsgenieAccountsResponse: + description: Response with a list of Opsgenie accounts. + properties: + data: + description: An array of Opsgenie accounts. + example: + - attributes: + region: us + id: 596da4af-0563-4097-90ff-07230c3f9db3 + type: opsgenie-account + - attributes: + region: eu + id: 0d2937f1-b561-44fa-914a-99910f848014 + type: opsgenie-account + items: + $ref: '#/components/schemas/OpsgenieAccountResponseData' + type: array + required: + - data + type: object + OpsgenieAccountCreateRequest: + description: Create request for an Opsgenie account. + properties: + data: + $ref: '#/components/schemas/OpsgenieAccountCreateData' + required: + - data + type: object + OpsgenieAccountResponse: + description: Response containing an Opsgenie account. + properties: + data: + $ref: '#/components/schemas/OpsgenieAccountResponseData' + required: + - data + type: object + OpsgenieAccountUpdateRequest: + description: Update request for an Opsgenie account. + properties: + data: + $ref: '#/components/schemas/OpsgenieAccountUpdateData' + required: + - data + type: object + OpsgenieServicesResponse: + description: Response with a list of Opsgenie services. + properties: + data: + description: An array of Opsgenie services. + example: + - attributes: + custom_url: null + name: fake-opsgenie-service-name + region: us + id: 596da4af-0563-4097-90ff-07230c3f9db3 + type: opsgenie-service + - attributes: + custom_url: null + name: fake-opsgenie-service-name-2 + region: eu + id: 0d2937f1-b561-44fa-914a-99910f848014 + type: opsgenie-service + items: + $ref: '#/components/schemas/OpsgenieServiceResponseData' + type: array + required: + - data + type: object + OpsgenieServiceCreateRequest: + description: Create request for an Opsgenie service. + properties: + data: + $ref: '#/components/schemas/OpsgenieServiceCreateData' + required: + - data + type: object + OpsgenieServiceResponse: + description: Response of an Opsgenie service. + properties: + data: + $ref: '#/components/schemas/OpsgenieServiceResponseData' + required: + - data + type: object + OpsgenieServiceUpdateRequest: + description: Update request for an Opsgenie service. + properties: + data: + $ref: '#/components/schemas/OpsgenieServiceUpdateData' + required: + - data + type: object + SalesforceIncidentsTemplatesResponse: + description: Response containing a list of Salesforce incident templates. + properties: + data: + description: An array of Salesforce incident templates. + items: + $ref: '#/components/schemas/SalesforceIncidentsTemplateResponseData' + type: array + required: + - data + type: object + SalesforceIncidentsTemplateCreateRequest: + description: Create request for a Salesforce incident template. + properties: + data: + $ref: '#/components/schemas/SalesforceIncidentsTemplateCreateData' + required: + - data + type: object + SalesforceIncidentsTemplateResponse: + description: Response containing a Salesforce incident template. + properties: + data: + $ref: '#/components/schemas/SalesforceIncidentsTemplateResponseData' + required: + - data + type: object + SalesforceIncidentsTemplateUpdateRequest: + description: Update request for a Salesforce incident template. + properties: + data: + $ref: '#/components/schemas/SalesforceIncidentsTemplateUpdateData' + required: + - data + type: object + SalesforceIncidentsOrganizationsResponse: + description: |- + Response containing a list of Salesforce organizations connected to the + Datadog Salesforce integration. + properties: + data: + description: An array of Salesforce organizations. + items: + $ref: '#/components/schemas/SalesforceIncidentsOrganizationResponseData' + type: array + required: + - data + type: object + ServiceNowAssignmentGroupsResponse: + description: Response containing ServiceNow assignment groups + properties: + data: + $ref: '#/components/schemas/ServiceNowAssignmentGroupsData' + example: + - attributes: + group_name: IT Operations + group_sys_id: abc123def456 + instance_id: 65b3341b-0680-47f9-a6d4-134db45c603e + id: 65b3341b-0680-47f9-a6d4-134db45c603e + type: assignment_groups + required: + - data + type: object + ServiceNowBusinessServicesResponse: + description: Response containing ServiceNow business services + properties: + data: + $ref: '#/components/schemas/ServiceNowBusinessServicesData' + example: + - attributes: + instance_id: 65b3341b-0680-47f9-a6d4-134db45c603e + service_name: IT Support + service_sys_id: abc123def456 + id: 65b3341b-0680-47f9-a6d4-134db45c603e + type: business_services + required: + - data + type: object + ServiceNowTemplatesResponse: + description: Response containing ServiceNow templates + properties: + data: + $ref: '#/components/schemas/ServiceNowTemplatesData' + example: + - attributes: + handle_name: incident-template + instance_id: 65b3341b-0680-47f9-a6d4-134db45c603e + servicenow_tablename: incident + id: 65b3341b-0680-47f9-a6d4-134db45c603e + type: servicenow_templates + required: + - data + type: object + ServiceNowTemplateCreateRequest: + description: Request to create a ServiceNow template + properties: + data: + $ref: '#/components/schemas/ServiceNowTemplateCreateRequestData' + required: + - data + type: object + ServiceNowTemplateResponse: + description: Response containing a single ServiceNow template + properties: + data: + $ref: '#/components/schemas/ServiceNowTemplateData' + required: + - data + type: object + ServiceNowTemplateUpdateRequest: + description: Request to update a ServiceNow template + properties: + data: + $ref: '#/components/schemas/ServiceNowTemplateUpdateRequestData' + required: + - data + type: object + ServiceNowInstancesResponse: + description: Response containing ServiceNow instances + properties: + data: + $ref: '#/components/schemas/ServiceNowInstancesData' + example: + - attributes: + instance_name: my-servicenow-instance + id: 65b3341b-0680-47f9-a6d4-134db45c603e + type: instance + required: + - data + type: object + ServiceNowUsersResponse: + description: Response containing ServiceNow users + properties: + data: + $ref: '#/components/schemas/ServiceNowUsersData' + example: + - attributes: + email: john.doe@example.com + instance_id: 65b3341b-0680-47f9-a6d4-134db45c603e + user_name: john.doe + user_sys_id: abc123def456 + id: 65b3341b-0680-47f9-a6d4-134db45c603e + type: users + required: + - data + type: object + 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 + StatuspageAccountResponse: + description: Response containing a Statuspage account. + properties: + data: + $ref: '#/components/schemas/StatuspageAccountResponseData' + required: + - data + type: object + StatuspageAccountUpdateRequest: + description: Update request for a Statuspage account. + properties: + data: + $ref: '#/components/schemas/StatuspageAccountUpdateData' + required: + - data + type: object + StatuspageAccountCreateRequest: + description: Create request for a Statuspage account. + properties: + data: + $ref: '#/components/schemas/StatuspageAccountCreateData' + required: + - data + type: object + StatuspageUrlSettingsResponse: + description: Response with a list of Statuspage URL settings. + properties: + data: + description: An array of Statuspage URL settings. + example: + - attributes: + custom_tags: team:collaboration-integrations + url: https://example.statuspage.io + id: 596da4af-0563-4097-90ff-07230c3f9db3 + type: statuspage-url-setting + items: + $ref: '#/components/schemas/StatuspageUrlSettingResponseData' + type: array + required: + - data + type: object + StatuspageUrlSettingCreateRequest: + description: Create request for a Statuspage URL setting. + properties: + data: + $ref: '#/components/schemas/StatuspageUrlSettingCreateData' + required: + - data + type: object + StatuspageUrlSettingResponse: + description: Response containing a Statuspage URL setting. + properties: + data: + $ref: '#/components/schemas/StatuspageUrlSettingResponseData' + required: + - data + type: object + StatuspageUrlSettingUpdateRequest: + description: Update request for a Statuspage URL setting. + properties: + data: + $ref: '#/components/schemas/StatuspageUrlSettingUpdateData' + required: + - data + type: object + WebhooksAuthMethodsResponse: + description: Response containing a list of webhooks auth methods. + properties: + data: + description: An array of webhooks auth methods. + items: + $ref: '#/components/schemas/WebhooksAuthMethodResponseData' + type: array + included: + description: Resources related to the auth methods, included when requested via the `include` query parameter. + items: + $ref: '#/components/schemas/WebhooksOAuth2ClientCredentialsResponseData' + type: array + required: + - data + type: object + WebhooksOAuth2ClientCredentialsCreateRequest: + description: Create request for an OAuth2 client credentials auth method. + properties: + data: + $ref: '#/components/schemas/WebhooksOAuth2ClientCredentialsCreateData' + required: + - data + type: object + WebhooksOAuth2ClientCredentialsResponse: + description: Response containing an OAuth2 client credentials auth method. + properties: + data: + $ref: '#/components/schemas/WebhooksOAuth2ClientCredentialsResponseData' + required: + - data + type: object + WebhooksOAuth2ClientCredentialsUpdateRequest: + description: Update request for an OAuth2 client credentials auth method. + properties: + data: + $ref: '#/components/schemas/WebhooksOAuth2ClientCredentialsUpdateData' + required: + - data + type: object + ListIntegrationsResponse: + description: Response containing information about multiple integrations. + properties: + data: + description: Array of integration objects. + items: + $ref: '#/components/schemas/Integration' + type: array + required: + - data + type: object + CloudflareAccountsResponse: + description: The expected response schema when getting Cloudflare accounts. + properties: + data: + description: The JSON:API data schema. + items: + $ref: '#/components/schemas/CloudflareAccountResponseData' + type: array + type: object + CloudflareAccountCreateRequest: + description: Payload schema when adding a Cloudflare account. + properties: + data: + $ref: '#/components/schemas/CloudflareAccountCreateRequestData' + required: + - data + type: object + CloudflareAccountResponse: + description: The expected response schema when getting a Cloudflare account. + properties: + data: + $ref: '#/components/schemas/CloudflareAccountResponseData' + type: object + CloudflareAccountUpdateRequest: + description: Payload schema when updating a Cloudflare account. + properties: + data: + $ref: '#/components/schemas/CloudflareAccountUpdateRequestData' + required: + - data + type: object + ConfluentAccountsResponse: + description: Confluent account returned by the API. + properties: + data: + description: The Confluent account. + items: + $ref: '#/components/schemas/ConfluentAccountResponseData' + type: array + type: object + ConfluentAccountCreateRequest: + description: Payload schema when adding a Confluent account. + properties: + data: + $ref: '#/components/schemas/ConfluentAccountCreateRequestData' + required: + - data + type: object + ConfluentAccountResponse: + description: The expected response schema when getting a Confluent account. + properties: + data: + $ref: '#/components/schemas/ConfluentAccountResponseData' + type: object + ConfluentAccountUpdateRequest: + description: The JSON:API request for updating a Confluent account. + properties: + data: + $ref: '#/components/schemas/ConfluentAccountUpdateRequestData' + required: + - data + type: object + ConfluentResourcesResponse: + description: Response schema when interacting with a list of Confluent resources. + properties: + data: + description: The JSON:API data attribute. + items: + $ref: '#/components/schemas/ConfluentResourceResponseData' + type: array + type: object + ConfluentResourceRequest: + description: The JSON:API request for updating a Confluent resource. + properties: + data: + $ref: '#/components/schemas/ConfluentResourceRequestData' + required: + - data + type: object + ConfluentResourceResponse: + description: Response schema when interacting with a Confluent resource. + properties: + data: + $ref: '#/components/schemas/ConfluentResourceResponseData' + type: object + FastlyAccountsResponse: + description: The expected response schema when getting Fastly accounts. + properties: + data: + description: The JSON:API data schema. + items: + $ref: '#/components/schemas/FastlyAccountResponseData' + type: array + type: object + FastlyAccountCreateRequest: + description: Payload schema when adding a Fastly account. + properties: + data: + $ref: '#/components/schemas/FastlyAccountCreateRequestData' + required: + - data + type: object + FastlyAccountResponse: + description: The expected response schema when getting a Fastly account. + properties: + data: + $ref: '#/components/schemas/FastlyAccountResponseData' + type: object + FastlyAccountUpdateRequest: + description: Payload schema when updating a Fastly account. + properties: + data: + $ref: '#/components/schemas/FastlyAccountUpdateRequestData' + required: + - data + type: object + FastlyServicesResponse: + description: The expected response schema when getting Fastly services. + properties: + data: + description: The JSON:API data schema. + items: + $ref: '#/components/schemas/FastlyServiceData' + type: array + type: object + FastlyServiceRequest: + description: Payload schema for Fastly service requests. + properties: + data: + $ref: '#/components/schemas/FastlyServiceData' + required: + - data + type: object + FastlyServiceResponse: + description: The expected response schema when getting a Fastly service. + properties: + data: + $ref: '#/components/schemas/FastlyServiceData' + type: object + OktaAccountsResponse: + description: The expected response schema when getting Okta accounts. + properties: + data: + description: List of Okta accounts. + items: + $ref: '#/components/schemas/OktaAccountResponseData' + type: array + type: object + OktaAccountRequest: + description: Request object for an Okta account. + properties: + data: + $ref: '#/components/schemas/OktaAccount' + required: + - data + type: object + OktaAccountResponse: + description: Response object for an Okta account. + properties: + data: + $ref: '#/components/schemas/OktaAccount' + type: object + OktaAccountUpdateRequest: + description: Payload schema when updating an Okta account. + properties: + data: + $ref: '#/components/schemas/OktaAccountUpdateRequestData' + required: + - data + type: object + BatchRowsQueryRequest: + description: Request object for querying multiple rows from a reference table by their identifiers. + properties: + data: + $ref: '#/components/schemas/BatchRowsQueryRequestData' + type: object + BatchRowsQueryResponse: + description: Response object for a batch rows query against a reference table. + example: + data: + id: 00000000-0000-0000-0000-000000000000 + relationships: + rows: + data: + - id: row_id_1 + type: row + - id: row_id_2 + type: row + type: reference-tables-batch-rows-query + included: + - attributes: + values: + ip_address: 102.130.113.9 + id: row_id_1 + type: row + - attributes: + values: + ip_address: 102.130.113.10 + id: row_id_2 + type: row + properties: + data: + $ref: '#/components/schemas/BatchRowsQueryResponseData' + included: + description: Full row resources matching the query, included alongside the relationship references in `data`. + items: + $ref: '#/components/schemas/TableRowResourceData' + type: array + type: object + APIErrorResponse: + description: API error response. + properties: + errors: + description: A list of errors. + example: + - Bad Request + items: + description: A list of items. + example: Bad Request + type: string + type: array + required: + - errors + type: object + ReferenceTableSortType: + default: '-updated_at' + description: Sort field and direction for reference tables. Use field name for ascending, prefix with "-" for descending. + enum: + - updated_at + - table_name + - status + - '-updated_at' + - '-table_name' + - '-status' + type: string + x-enum-varnames: + - UPDATED_AT + - TABLE_NAME + - STATUS + - MINUS_UPDATED_AT + - MINUS_TABLE_NAME + - MINUS_STATUS + TableResultV2Array: + description: List of reference tables. + example: + data: + - attributes: + created_by: 00000000-0000-0000-0000-000000000000 + description: example description + file_metadata: + access_details: {} + error_message: '' + error_row_count: 0 + upload_id: 00000000-0000-0000-0000-000000000000 + last_updated_by: '' + row_count: 5 + schema: + fields: + - name: id + type: INT32 + - name: name + type: STRING + primary_keys: + - id + source: LOCAL_FILE + status: DONE + table_name: test_reference_table + tags: + - tag1 + - tag2 + updated_at: '2000-01-01T01:00:00+00:00' + id: 00000000-0000-0000-0000-000000000000 + type: reference_table + - attributes: + created_by: 00000000-0000-0000-0000-000000000000 + description: example description + file_metadata: + access_details: + aws_detail: + aws_account_id: test-account-id + aws_bucket_name: test-bucket + file_path: test_rt.csv + error_message: '' + error_row_count: 0 + sync_enabled: true + last_updated_by: 00000000-0000-0000-0000-000000000000 + row_count: 5 + schema: + fields: + - name: location + type: STRING + - name: file_name + type: STRING + primary_keys: + - location + source: S3 + status: DONE + table_name: test_reference_table_2 + tags: + - test_tag1 + - tag2 + - '3' + updated_at: '2000-01-01T01:00:00+00:00' + id: 00000000-0000-0000-0000-000000000000 + type: reference_table + properties: + data: + description: The reference tables. + items: + $ref: '#/components/schemas/TableResultV2Data' + type: array + required: + - data + type: object + CreateTableRequest: + description: Request body for creating a new reference table from a local file or cloud storage. + properties: + data: + $ref: '#/components/schemas/CreateTableRequestData' + type: object + TableResultV2: + description: A reference table resource containing its full configuration and state. + example: + data: + attributes: + created_by: 00000000-0000-0000-0000-000000000000 + description: example description + file_metadata: + access_details: + aws_detail: + aws_account_id: '123456789000' + aws_bucket_name: my-bucket + file_path: path/to/file.csv + sync_enabled: true + last_updated_by: 00000000-0000-0000-0000-000000000000 + row_count: 5 + schema: + fields: + - name: id + type: INT32 + - name: name + type: STRING + primary_keys: + - id + source: S3 + status: DONE + table_name: test_reference_table + tags: + - tag1 + - tag2 + updated_at: '2000-01-01T01:00:00+00:00' + id: 00000000-0000-0000-0000-000000000000 + type: reference_table + properties: + data: + $ref: '#/components/schemas/TableResultV2Data' + type: object + PatchTableRequest: + description: Request body for updating an existing reference table. + example: + data: + attributes: + description: this is a cloud table generated via a cloud bucket sync + file_metadata: + access_details: + aws_detail: + aws_account_id: test-account-id + aws_bucket_name: test-bucket + file_path: test_rt.csv + sync_enabled: true + schema: + fields: + - name: id + type: INT32 + - name: name + type: STRING + primary_keys: + - id + tags: + - test_tag + type: reference_table + properties: + data: + $ref: '#/components/schemas/PatchTableRequestData' + type: object + BatchDeleteRowsRequestArray: + description: The request body for deleting multiple rows from a reference table. + properties: + data: + description: List of row resources to delete from the reference table. + items: + $ref: '#/components/schemas/TableRowResourceIdentifier' + maxItems: 200 + type: array + required: + - data + type: object + TableRowResourceArray: + description: List of rows from a reference table query. + properties: + data: + description: The rows. + items: + $ref: '#/components/schemas/TableRowResourceData' + type: array + required: + - data + type: object + BatchUpsertRowsRequestArray: + description: The request body for creating or updating multiple rows into a reference table. + properties: + data: + description: List of row resources to create or update in the reference table. + items: + $ref: '#/components/schemas/BatchUpsertRowsRequestData' + maxItems: 200 + type: array + required: + - data + type: object + ListRowsResponse: + description: Paginated list of reference table rows. + example: + data: + - attributes: + values: + category: tor + intention: suspicious + ip_address: 102.130.113.9 + id: 102.130.113.9 + type: row + links: + first: /api/v2/reference-tables/tables/00000000-0000-0000-0000-000000000000/rows/list?page%5Blimit%5D=100 + self: /api/v2/reference-tables/tables/00000000-0000-0000-0000-000000000000/rows/list?page%5Bcontinuation_token%5D=eyJzaWQiOjEyMzQ1LCJwayI6ImV4YW1wbGVfcGsifQ%3D%3D&page%5Blimit%5D=100 + meta: + page: + next_continuation_token: eyJzaWQiOjEyMzQ1LCJwayI6ImV4YW1wbGVfcGsifQ== + properties: + data: + description: The rows. + items: + $ref: '#/components/schemas/TableRowResourceData' + type: array + links: + $ref: '#/components/schemas/ListRowsResponseLinks' + meta: + $ref: '#/components/schemas/ListRowsResponseMeta' + required: + - data + - links + type: object + CreateUploadRequest: + description: Request to create an upload for a file to be ingested into a reference table. + example: + data: + attributes: + headers: + - product_id + - product_name + - price + part_count: 3 + part_size: 10000000 + table_name: my_products_table + type: upload + properties: + data: + $ref: '#/components/schemas/CreateUploadRequestData' + type: object + CreateUploadResponse: + description: Information about the upload created containing the upload ID and pre-signed URLs to PUT chunks of the CSV file to. + properties: + data: + $ref: '#/components/schemas/CreateUploadResponseData' + type: object + WebIntegrationAccountsResponse: + description: The expected response schema when listing web integration accounts. + properties: + data: + description: The JSON:API data array. + items: + $ref: '#/components/schemas/WebIntegrationAccountResponseData' + type: array + type: object + WebIntegrationAccountCreateRequest: + description: Payload schema when adding a web integration account. + properties: + data: + $ref: '#/components/schemas/WebIntegrationAccountCreateRequestData' + required: + - data + type: object + WebIntegrationAccountResponse: + description: The expected response schema when getting a single web integration account. + properties: + data: + $ref: '#/components/schemas/WebIntegrationAccountResponseData' + type: object + WebIntegrationAccountUpdateRequest: + description: Payload schema when updating a web integration account. + properties: + data: + $ref: '#/components/schemas/WebIntegrationAccountUpdateRequestData' + required: + - data + type: object + AWSAccountDeleteRequest: + description: List of AWS accounts to delete. + properties: + access_key_id: + description: Your AWS access key ID. Only required if your AWS account is a GovCloud or China account. + type: string + account_id: + description: Your AWS Account ID without dashes. + example: '123456789012' + type: string + role_name: + description: Your Datadog role delegation name. + example: DatadogAWSIntegrationRole + type: string + type: object + APIErrorResponseV1: + description: Error response object. + properties: + errors: + description: Array of errors returned by the API. + example: + - Bad Request + items: + description: Error description. + example: Bad Request + type: string + type: array + required: + - errors + type: object + AWSAccountListResponse: + description: List of enabled AWS accounts. + properties: + accounts: + description: List of enabled AWS accounts. + items: + $ref: '#/components/schemas/AWSAccount' + type: array + type: object + AWSAccount: + description: Returns the AWS account associated with this integration. + properties: + access_key_id: + description: Your AWS access key ID. Only required if your AWS account is a GovCloud or China account. + type: string + account_id: + description: Your AWS Account ID without dashes. + example: '123456789012' + type: string + account_specific_namespace_rules: + additionalProperties: + description: A list of additional properties. + type: boolean + description: |- + An object (in the form `{"namespace1":true/false, "namespace2":true/false}`) containing user-supplied overrides + for AWS namespace metric collection. **Important**: This field only contains namespaces explicitly configured through API calls, + not the comprehensive enabled or disabled status of all namespaces. If a namespace is absent from this field, it uses Datadog's + internal defaults (all namespaces enabled by default, except `AWS/SQS`, `AWS/ElasticMapReduce`, and `AWS/Usage`). + For a complete view of all namespace statuses, use the V2 AWS Integration API instead. + example: + auto_scaling: false + opswork: false + type: object + cspm_resource_collection_enabled: + default: false + description: Whether Datadog collects cloud security posture management resources from your AWS account. This includes additional resources not covered under the general `resource_collection`. + example: true + type: boolean + excluded_regions: + description: |- + An array of [AWS regions](https://docs.aws.amazon.com/general/latest/gr/rande.html#regional-endpoints) + to exclude from metrics collection. + example: + - us-east-1 + - us-west-2 + items: + description: Regions to exclude. + type: string + type: array + extended_resource_collection_enabled: + default: false + description: Whether Datadog collects additional attributes and configuration information about the resources in your AWS account. Required for `cspm_resource_collection`. + example: true + type: boolean + filter_tags: + description: |- + The array of EC2 tags (in the form `key:value`) defines a filter that Datadog uses when collecting metrics from EC2. + Wildcards, such as `?` (for single characters) and `*` (for multiple characters) can also be used. + Only hosts that match one of the defined tags + will be imported into Datadog. The rest will be ignored. + Host matching a given tag can also be excluded by adding `!` before the tag. + For example, `env:production,instance-type:c1.*,!region:us-east-1` + example: + - $KEY:$VALUE + items: + description: The list of the filter_tags. + type: string + type: array + host_tags: + description: |- + Array of tags (in the form `key:value`) to add to all hosts + and metrics reporting through this integration. + example: + - $KEY:$VALUE + items: + description: The list of the host_tags. + type: string + type: array + metrics_collection_enabled: + default: true + description: Whether Datadog collects metrics for this AWS account. + example: false + type: boolean + resource_collection_enabled: + default: false + deprecated: true + description: Deprecated in favor of 'extended_resource_collection_enabled'. Whether Datadog collects a standard set of resources from your AWS account. + example: true + type: boolean + role_name: + description: Your Datadog role delegation name. + example: DatadogAWSIntegrationRole + type: string + secret_access_key: + description: Your AWS secret access key. Only required if your AWS account is a GovCloud or China account. + type: string + type: object + AWSAccountCreateResponse: + description: The Response returned by the AWS Create Account call. + properties: + external_id: + description: AWS external_id. + type: string + type: object + AWSEventBridgeDeleteRequestV1: + description: An object used to delete an EventBridge source. + properties: + account_id: + description: Your AWS Account ID without dashes. + example: '123456789012' + type: string + event_generator_name: + description: The event source name. + example: app-alerts-zyxw3210 + type: string + region: + description: The event source's [AWS region](https://docs.aws.amazon.com/general/latest/gr/rande.html#regional-endpoints). + example: us-east-1 + type: string + type: object + AWSEventBridgeDeleteResponseV1: + description: An indicator of the successful deletion of an EventBridge source. + properties: + status: + $ref: '#/components/schemas/AWSEventBridgeDeleteStatus' + type: object + AWSEventBridgeListResponseV1: + description: An object describing the EventBridge configuration for multiple accounts. + properties: + accounts: + description: List of accounts with their event sources. + items: + $ref: '#/components/schemas/AWSEventBridgeAccountConfigurationV1' + type: array + isInstalled: + description: True if the EventBridge sub-integration is enabled for your organization. + type: boolean + type: object + AWSEventBridgeCreateRequestV1: + description: An object used to create an EventBridge source. + properties: + account_id: + description: Your AWS Account ID without dashes. + example: '123456789012' + type: string + create_event_bus: + description: |- + True if Datadog should create the event bus in addition to the event + source. Requires the `events:CreateEventBus` permission. + example: true + type: boolean + event_generator_name: + description: |- + The given part of the event source name, which is then combined with an + assigned suffix to form the full name. + example: app-alerts + type: string + region: + description: The event source's [AWS region](https://docs.aws.amazon.com/general/latest/gr/rande.html#regional-endpoints). + example: us-east-1 + type: string + type: object + AWSEventBridgeCreateResponseV1: + description: A created EventBridge source. + properties: + event_source_name: + description: The event source name. + example: app-alerts-zyxw3210 + type: string + has_bus: + description: True if the event bus was created in addition to the source. + example: true + type: boolean + region: + description: The event source's [AWS region](https://docs.aws.amazon.com/general/latest/gr/rande.html#regional-endpoints). + example: us-east-1 + type: string + status: + $ref: '#/components/schemas/AWSEventBridgeCreateStatus' + type: object + AWSTagFilterDeleteRequest: + description: The objects used to delete an AWS tag filter entry. + properties: + account_id: + description: The unique identifier of your AWS account. + example: FAKEAC0FAKEAC2FAKEAC + type: string + namespace: + $ref: '#/components/schemas/AWSNamespace' + type: object + AWSTagFilterListResponse: + description: An array of tag filter rules by `namespace` and tag filter string. + properties: + filters: + description: An array of tag filters. + items: + $ref: '#/components/schemas/AWSTagFilter' + type: array + type: object + AWSTagFilterCreateRequest: + description: The objects used to set an AWS tag filter. + properties: + account_id: + description: Your AWS Account ID without dashes. + example: '123456789012' + type: string + namespace: + $ref: '#/components/schemas/AWSNamespace' + tag_filter_str: + description: The tag filter string. + example: prod* + type: string + type: object + AWSAccountAndLambdaRequest: + description: AWS account ID and Lambda ARN. + properties: + account_id: + description: Your AWS Account ID without dashes. + example: '1234567' + type: string + lambda_arn: + description: ARN of the Datadog Lambda created during the Datadog-Amazon Web services Log collection setup. + example: arn:aws:lambda:us-east-1:1234567:function:LogsCollectionAPITest + type: string + required: + - account_id + - lambda_arn + type: object + AWSLogsListResponse: + description: A list of all Datadog-AWS logs integrations available in your Datadog organization. + properties: + account_id: + description: Your AWS Account ID without dashes. + example: '1234567' + type: string + lambdas: + description: List of ARNs configured in your Datadog account. + example: + - arn: arn:aws:lambda:us-east-1:1234567:function:LogsCollectionAPITest + items: + $ref: '#/components/schemas/AWSLogsLambda' + type: array + services: + description: Array of services IDs. + example: + - s3 + - elb + - elbv2 + - cloudfront + - redshift + - lambda + items: + description: Description of the services. + type: string + type: array + type: object + AWSLogsAsyncResponse: + description: A list of all Datadog-AWS logs integrations available in your Datadog organization. + properties: + errors: + description: List of errors. + items: + $ref: '#/components/schemas/AWSLogsAsyncError' + type: array + status: + description: Status of the properties. + example: created + type: string + type: object + AWSLogsListServicesResponse: + description: The list of current AWS services for which Datadog offers automatic log collection. + properties: + id: + description: Key value in returned object. + example: s3 + type: string + label: + description: Name of service available for configuration with Datadog logs. + example: S3 Access Logs + type: string + type: object + AWSLogsServicesRequest: + description: A list of current AWS services for which Datadog offers automatic log collection. + properties: + account_id: + description: Your AWS Account ID without dashes. + example: '1234567' + type: string + services: + description: Array of services IDs set to enable automatic log collection. Discover the list of available services with the get list of AWS log ready services API endpoint. + example: + - s3 + - elb + - elbv2 + - cloudfront + - redshift + - lambda + items: + description: Description of services. + type: string + type: array + required: + - account_id + - services + type: object + AzureAccount: + description: Datadog-Azure integrations configured for your organization. + properties: + app_service_plan_filters: + description: |- + Limit the Azure app service plans that are pulled into Datadog using tags. + Only app service plans that match one of the defined tags are imported into Datadog. + example: key:value,filter:example + type: string + automute: + description: Silence monitors for expected Azure VM shutdowns. + example: true + type: boolean + client_id: + description: Your Azure web application ID. + example: testc7f6-1234-5678-9101-3fcbf464test + type: string + client_secret: + description: Your Azure web application secret key. + example: TestingRh2nx664kUy5dIApvM54T4AtO + type: string + container_app_filters: + description: |- + Limit the Azure container apps that are pulled into Datadog using tags. + Only container apps that match one of the defined tags are imported into Datadog. + example: key:value,filter:example + type: string + cspm_enabled: + description: |- + When enabled, Datadog’s Cloud Security Management product scans resource configurations monitored by this app registration. + Note: This requires resource_collection_enabled to be set to true. + example: true + type: boolean + custom_metrics_enabled: + description: Enable custom metrics for your organization. + example: true + type: boolean + errors: + description: Errors in your configuration. + example: + - '*' + items: + description: List of errors. + readOnly: true + type: string + type: array + host_filters: + description: |- + Limit the Azure instances that are pulled into Datadog by using tags. + Only hosts that match one of the defined tags are imported into Datadog. + example: key:value,filter:example + type: string + metrics_enabled: + description: Enable Azure metrics for your organization. + example: true + type: boolean + metrics_enabled_default: + description: Enable Azure metrics for your organization for resource providers where no resource provider config is specified. + example: true + type: boolean + new_client_id: + description: Your New Azure web application ID. + example: new1c7f6-1234-5678-9101-3fcbf464test + type: string + new_tenant_name: + description: Your New Azure Active Directory ID. + example: new1c44-1234-5678-9101-cc00736ftest + type: string + resource_collection_enabled: + description: When enabled, Datadog collects metadata and configuration info from cloud resources (compute instances, databases, load balancers, etc.) monitored by this app registration. + example: true + type: boolean + resource_provider_configs: + description: Configuration settings applied to resources from the specified Azure resource providers. + items: + $ref: '#/components/schemas/ResourceProviderConfig' + type: array + secretless_auth_enabled: + description: (Preview) When enabled, Datadog authenticates with this app registration using federated workload identity credentials instead of a client secret. + example: true + type: boolean + tenant_name: + description: Your Azure Active Directory ID. + example: testc44-1234-5678-9101-cc00736ftest + type: string + usage_metrics_enabled: + description: Enable azure.usage metrics for your organization. + example: true + type: boolean + type: object + AzureAccountListResponse: + description: Accounts configured for your organization. + items: + $ref: '#/components/schemas/AzureAccount' + type: array + GCPAccount: + description: Your Google Cloud Platform Account. + properties: + auth_provider_x509_cert_url: + description: Should be `https://www.googleapis.com/oauth2/v1/certs`. + example: https://www.googleapis.com/oauth2/v1/certs + type: string + auth_uri: + description: Should be `https://accounts.google.com/o/oauth2/auth`. + example: https://accounts.google.com/o/oauth2/auth + type: string + automute: + description: Silence monitors for expected GCE instance shutdowns. + type: boolean + client_email: + description: Your email found in your JSON service account key. + example: api-dev@datadog-sandbox.iam.gserviceaccount.com + type: string + client_id: + description: Your ID found in your JSON service account key. + example: '123456712345671234567' + type: string + client_x509_cert_url: + description: |- + Should be `https://www.googleapis.com/robot/v1/metadata/x509/$CLIENT_EMAIL` + where `$CLIENT_EMAIL` is the email found in your JSON service account key. + example: https://www.googleapis.com/robot/v1/metadata/x509/$CLIENT_EMAIL + type: string + cloud_run_revision_filters: + deprecated: true + description: |- + List of filters to limit the Cloud Run revisions that are pulled into Datadog by using tags. + Only Cloud Run revision resources that apply to specified filters are imported into Datadog. + **Note:** This field is deprecated. Instead, use `monitored_resource_configs` with `type=cloud_run_revision` + example: + - $KEY:$VALUE + items: + description: Cloud Run revision filters + type: string + type: array + errors: + description: An array of errors. + example: + - '*' + items: + description: String representation of one error. + readOnly: true + type: string + type: array + host_filters: + deprecated: true + description: |- + A comma-separated list of filters to limit the VM instances that are pulled into Datadog by using tags. + Only VM instance resources that apply to specified filters are imported into Datadog. + **Note:** This field is deprecated. Instead, use `monitored_resource_configs` with `type=gce_instance` + example: $KEY1:$VALUE1,$KEY2:$VALUE2 + type: string + is_cspm_enabled: + description: 'When enabled, Datadog will activate the Cloud Security Monitoring product for this service account. Note: This requires resource_collection_enabled to be set to true.' + example: true + type: boolean + is_resource_change_collection_enabled: + default: false + description: When enabled, Datadog scans for all resource change data in your Google Cloud environment. + example: true + type: boolean + is_security_command_center_enabled: + default: false + description: 'When enabled, Datadog will attempt to collect Security Command Center Findings. Note: This requires additional permissions on the service account.' + example: true + type: boolean + monitored_resource_configs: + description: Configurations for GCP monitored resources. + example: + - filters: + - $KEY:$VALUE + type: gce_instance + items: + $ref: '#/components/schemas/GCPMonitoredResourceConfig' + type: array + private_key: + description: Your private key name found in your JSON service account key. + example: private_key + type: string + private_key_id: + description: Your private key ID found in your JSON service account key. + example: 123456789abcdefghi123456789abcdefghijklm + type: string + project_id: + description: Your Google Cloud project ID found in your JSON service account key. + example: datadog-apitest + type: string + resource_collection_enabled: + description: When enabled, Datadog scans for all resources in your GCP environment. + example: true + type: boolean + token_uri: + description: Should be `https://accounts.google.com/o/oauth2/token`. + example: https://accounts.google.com/o/oauth2/token + type: string + type: + description: The value for service_account found in your JSON service account key. + example: service_account + type: string + type: object + GCPAccountListResponse: + description: Array of GCP account responses. + items: + $ref: '#/components/schemas/GCPAccount' + type: array + PagerDutyService: + description: The PagerDuty service that is available for integration with Datadog. + properties: + service_key: + description: Your service key in PagerDuty. + example: '' + type: string + service_name: + description: Your service name associated with a service key in PagerDuty. + example: '' + type: string + required: + - service_name + - service_key + type: object + PagerDutyServiceName: + description: PagerDuty service object name. + properties: + service_name: + description: Your service name associated service key in PagerDuty. + example: '' + type: string + required: + - service_name + type: object + PagerDutyServiceKey: + description: PagerDuty service object key. + properties: + service_key: + description: Your service key in PagerDuty. + example: '' + type: string + required: + - service_key + type: object + SlackIntegrationChannels: + description: A list of configured Slack channels. + example: + - display: + message: true + mute_buttons: true + notified: true + snapshot: true + tags: true + name: '#channel_name_main_account' + - display: + message: true + mute_buttons: true + notified: true + snapshot: false + tags: true + name: '#channel_name_doghouse' + items: + $ref: '#/components/schemas/SlackIntegrationChannel' + type: array + SlackIntegrationChannel: + description: The Slack channel configuration. + properties: + display: + $ref: '#/components/schemas/SlackIntegrationChannelDisplay' + name: + description: Your channel name. + example: '#general' + type: string + type: object + WebhooksIntegrationCustomVariable: + description: Custom variable for Webhook integration. + properties: + is_secret: + description: |- + Make custom variable is secret or not. + If the custom variable is secret, the value is not returned in the response payload. + example: true + type: boolean + name: + description: The name of the variable. It corresponds with ``. + example: CUSTOM_VARIABLE_NAME + type: string + value: + description: Value of the custom variable. + example: CUSTOM_VARIABLE_VALUE + type: string + required: + - name + - value + - is_secret + type: object + WebhooksIntegrationCustomVariableResponse: + description: Custom variable for Webhook integration. + properties: + is_secret: + description: |- + Make custom variable is secret or not. + If the custom variable is secret, the value is not returned in the response payload. + example: true + type: boolean + name: + description: The name of the variable. It corresponds with ``. It must only contains upper-case characters, integers or underscores. + example: CUSTOM_VARIABLE_NAME + type: string + value: + description: Value of the custom variable. It won't be returned if the variable is secret. + example: CUSTOM_VARIABLE_VALUE + type: string + required: + - name + - is_secret + type: object + WebhooksIntegrationCustomVariableUpdateRequest: + description: |- + Update request of a custom variable object. + + *All properties are optional.* + properties: + is_secret: + description: |- + Make custom variable is secret or not. + If the custom variable is secret, the value is not returned in the response payload. + type: boolean + name: + description: The name of the variable. It corresponds with ``. It must only contains upper-case characters, integers or underscores. + example: CUSTOM_VARIABLE_NAME + type: string + value: + description: Value of the custom variable. + example: CUSTOM_VARIABLE_VALUE + type: string + type: object + WebhooksIntegration: + description: Datadog-Webhooks integration. + properties: + custom_headers: + description: |- + If `null`, uses no header. + If given a JSON payload, these will be headers attached to your webhook. + nullable: true + type: string + encode_as: + $ref: '#/components/schemas/WebhooksIntegrationEncoding' + name: + description: |- + The name of the webhook. It corresponds with ``. + Learn more on how to use it in + [monitor notifications](https://docs.datadoghq.com/monitors/notify). + example: WEBHOOK_NAME + type: string + payload: + description: |- + If `null`, uses the default payload. + If given a JSON payload, the webhook returns the payload + specified by the given payload. + [Webhooks variable usage](https://docs.datadoghq.com/integrations/webhooks/#usage). + nullable: true + type: string + url: + description: URL of the webhook. + example: https://example.com/webhook + type: string + required: + - name + - url + type: object + WebhooksIntegrationUpdateRequest: + description: |- + Update request of a Webhooks integration object. + + *All properties are optional.* + properties: + custom_headers: + description: |- + If `null`, uses no header. + If given a JSON payload, these will be headers attached to your webhook. + type: string + encode_as: + $ref: '#/components/schemas/WebhooksIntegrationEncoding' + name: + description: |- + The name of the webhook. It corresponds with ``. + Learn more on how to use it in + [monitor notifications](https://docs.datadoghq.com/monitors/notify). + example: WEBHOOK_NAME + type: string + payload: + description: |- + If `null`, uses the default payload. + If given a JSON payload, the webhook returns the payload + specified by the given payload. + [Webhooks variable usage](https://docs.datadoghq.com/integrations/webhooks/#usage). + nullable: true + type: string + url: + description: URL of the webhook. + example: https://example.com/webhook + type: string + type: object + AWSCloudAuthPersonaMappingsData: + description: List of AWS cloud authentication persona mappings + items: + $ref: '#/components/schemas/AWSCloudAuthPersonaMappingDataResponse' + type: array + JSONAPIErrorItem: + description: API error response body + properties: + detail: + description: A human-readable explanation specific to this occurrence of the error. + example: Missing required attribute in body + type: string + meta: + additionalProperties: {} + description: Non-standard meta-information about the error + type: object + source: + $ref: '#/components/schemas/JSONAPIErrorItemSource' + status: + description: Status code of the response. + example: '400' + type: string + title: + description: Short human-readable summary of the error. + example: Bad Request + type: string + type: object + AWSCloudAuthPersonaMappingCreateData: + description: Data for creating an AWS cloud authentication persona mapping + properties: + attributes: + $ref: '#/components/schemas/AWSCloudAuthPersonaMappingCreateAttributes' + type: + $ref: '#/components/schemas/AWSCloudAuthPersonaMappingType' + required: + - type + - attributes + type: object + AWSCloudAuthPersonaMappingDataResponse: + description: Data for AWS cloud authentication persona mapping response + properties: + attributes: + $ref: '#/components/schemas/AWSCloudAuthPersonaMappingAttributesResponse' + id: + description: Unique identifier for the persona mapping + example: c5c758c6-18c2-4484-ae3f-46b84128404a + type: string + type: + $ref: '#/components/schemas/AWSCloudAuthPersonaMappingType' + required: + - id + - type + - attributes + type: object + EntityIntegrationConfigData: + description: JSON:API resource object for an entity integration configuration. + properties: + attributes: + $ref: '#/components/schemas/EntityIntegrationConfigAttributes' + id: + description: Unique identifier of the entity integration configuration. + example: 01HJABCD12345678ABCDEFGHIJ + type: string + type: + $ref: '#/components/schemas/EntityIntegrationConfigType' + required: + - id + - type + - attributes + type: object + EntityIntegrationConfigRequestData: + description: JSON:API resource object used in a request to create or update an entity integration configuration. + properties: + attributes: + $ref: '#/components/schemas/EntityIntegrationConfigRequestAttributes' + type: + $ref: '#/components/schemas/EntityIntegrationConfigRequestType' + required: + - type + - attributes + type: object + ElasticCloudIntegrationAccountResponseData: + description: Data envelope of an Elastic Cloud integration account, including server-assigned identity. + properties: + attributes: + $ref: '#/components/schemas/ElasticCloudIntegrationAccountResponseAttributes' + id: + description: Server-generated unique identifier of the Elastic Cloud integration account. + example: 953a0060-81ec-4221-aed4-d4733b59cd96 + readOnly: true + type: string + type: + $ref: '#/components/schemas/IntegrationAccountType' + required: + - id + - attributes + - type + type: object + ElasticCloudIntegrationAccountCreateData: + description: Data envelope for creating an Elastic Cloud integration account. + properties: + attributes: + $ref: '#/components/schemas/ElasticCloudIntegrationAccountCreateAttributes' + type: + $ref: '#/components/schemas/IntegrationAccountType' + required: + - type + - attributes + type: object + ElasticCloudIntegrationAccountUpdateData: + description: Data envelope for updating an Elastic Cloud integration account. + properties: + attributes: + $ref: '#/components/schemas/ElasticCloudIntegrationAccountUpdateAttributes' + id: + description: Unique identifier of the Elastic Cloud integration account to update. + example: 953a0060-81ec-4221-aed4-d4733b59cd96 + type: string + type: + $ref: '#/components/schemas/IntegrationAccountType' + required: + - id + - type + - attributes + type: object + TwilioIntegrationAccountResponseData: + description: Data envelope of a Twilio integration account, including server-assigned identity. + properties: + attributes: + $ref: '#/components/schemas/TwilioIntegrationAccountResponseAttributes' + id: + description: Server-generated unique identifier of the Twilio integration account. + example: 953a0060-81ec-4221-aed4-d4733b59cd96 + readOnly: true + type: string + type: + $ref: '#/components/schemas/IntegrationAccountType' + required: + - id + - attributes + - type + type: object + TwilioIntegrationAccountCreateData: + description: Data envelope for creating a Twilio integration account. + properties: + attributes: + $ref: '#/components/schemas/TwilioIntegrationAccountCreateAttributes' + type: + $ref: '#/components/schemas/IntegrationAccountType' + required: + - type + - attributes + type: object + TwilioIntegrationAccountUpdateData: + description: Data envelope for updating a Twilio integration account. + properties: + attributes: + $ref: '#/components/schemas/TwilioIntegrationAccountUpdateAttributes' + id: + description: Unique identifier of the Twilio integration account to update. + example: 953a0060-81ec-4221-aed4-d4733b59cd96 + type: string + type: + $ref: '#/components/schemas/IntegrationAccountType' + required: + - id + - type + - attributes + type: object + AWSAccountResponseData: + description: AWS Account response data. + properties: + attributes: + $ref: '#/components/schemas/AWSAccountResponseAttributes' + id: + $ref: '#/components/schemas/AWSAccountConfigID' + type: + $ref: '#/components/schemas/AWSAccountType' + required: + - id + - type + type: object + AWSAccountCreateRequestData: + description: AWS Account Create Request data. + properties: + attributes: + $ref: '#/components/schemas/AWSAccountCreateRequestAttributes' + type: + $ref: '#/components/schemas/AWSAccountType' + required: + - attributes + - type + type: object + AWSAccountUpdateRequestData: + description: AWS Account Update Request data. + properties: + attributes: + $ref: '#/components/schemas/AWSAccountUpdateRequestAttributes' + id: + $ref: '#/components/schemas/AWSAccountConfigID' + type: + $ref: '#/components/schemas/AWSAccountType' + required: + - attributes + - type + type: object + AWSCcmConfigResponseData: + description: AWS CCM Config response data. + properties: + attributes: + $ref: '#/components/schemas/AWSCcmConfigResponseAttributes' + id: + $ref: '#/components/schemas/AWSAccountConfigID' + type: + $ref: '#/components/schemas/AWSCcmConfigType' + required: + - type + type: object + AWSCcmConfigRequestData: + description: AWS CCM Config Create/Update Request data. + properties: + attributes: + $ref: '#/components/schemas/AWSCcmConfigRequestAttributes' + type: + $ref: '#/components/schemas/AWSCcmConfigType' + required: + - attributes + - type + type: object + AWSMetricNameFilterPreviewResponseData: + description: AWS metric name filter preview response data. + properties: + attributes: + $ref: '#/components/schemas/AWSMetricNameFilterPreviewResponseAttributes' + id: + $ref: '#/components/schemas/AWSAccountConfigID' + type: + $ref: '#/components/schemas/AWSMetricNameFilterPreviewType' + required: + - id + - type + - attributes + type: object + AWSMetricNameFilterPreviewRequestData: + description: AWS metric name filter preview request data. + properties: + attributes: + $ref: '#/components/schemas/AWSMetricNameFilterPreviewRequestAttributes' + type: + $ref: '#/components/schemas/AWSMetricNameFilterPreviewType' + required: + - type + - attributes + type: object + AWSNamespacesResponseData: + description: AWS Namespaces response data. + properties: + attributes: + $ref: '#/components/schemas/AWSNamespacesResponseAttributes' + id: + default: namespaces + description: The `AWSNamespacesResponseData` `id`. + example: namespaces + type: string + type: + $ref: '#/components/schemas/AWSNamespacesResponseDataType' + required: + - id + - type + type: object + AWSEventBridgeDeleteRequestData: + description: Amazon EventBridge delete request data. + properties: + attributes: + $ref: '#/components/schemas/AWSEventBridgeDeleteRequestAttributes' + type: + $ref: '#/components/schemas/AWSEventBridgeType' + required: + - attributes + - type + type: object + AWSEventBridgeDeleteResponseData: + description: Amazon EventBridge delete response data. + properties: + attributes: + $ref: '#/components/schemas/AWSEventBridgeDeleteResponseAttributes' + id: + default: delete_event_bridge + description: The ID of the Amazon EventBridge list response data. + example: delete_event_bridge + type: string + type: + $ref: '#/components/schemas/AWSEventBridgeType' + required: + - attributes + - type + type: object + AWSEventBridgeListResponseData: + description: Amazon EventBridge list response data. + properties: + attributes: + $ref: '#/components/schemas/AWSEventBridgeListResponseAttributes' + id: + default: get_event_bridge + description: The ID of the Amazon EventBridge list response data. + example: get_event_bridge + type: string + type: + $ref: '#/components/schemas/AWSEventBridgeType' + required: + - attributes + - id + - type + type: object + AWSEventBridgeCreateRequestData: + description: Amazon EventBridge create request data. + properties: + attributes: + $ref: '#/components/schemas/AWSEventBridgeCreateRequestAttributes' + type: + $ref: '#/components/schemas/AWSEventBridgeType' + required: + - attributes + - type + type: object + AWSEventBridgeCreateResponseData: + description: Amazon EventBridge create response data. + properties: + attributes: + $ref: '#/components/schemas/AWSEventBridgeCreateResponseAttributes' + id: + default: create_event_bridge + description: The ID of the Amazon EventBridge create response data. + example: create_event_bridge + type: string + type: + $ref: '#/components/schemas/AWSEventBridgeType' + required: + - attributes + - type + type: object + AWSNewExternalIDResponseData: + description: AWS External ID response body. + properties: + attributes: + $ref: '#/components/schemas/AWSNewExternalIDResponseAttributes' + id: + default: external_id + description: The `AWSNewExternalIDResponseData` `id`. + example: external_id + type: string + type: + $ref: '#/components/schemas/AWSNewExternalIDResponseDataType' + required: + - id + - type + type: object + AWSIntegrationIamPermissionsResponseData: + description: AWS Integration IAM Permissions response data. + properties: + attributes: + $ref: '#/components/schemas/AWSIntegrationIamPermissionsResponseAttributes' + id: + default: permissions + description: The `AWSIntegrationIamPermissionsResponseData` `id`. + example: permissions + type: string + type: + $ref: '#/components/schemas/AWSIntegrationIamPermissionsResponseDataType' + type: object + AWSLogsServicesResponseData: + description: AWS Logs Services response body + properties: + attributes: + $ref: '#/components/schemas/AWSLogsServicesResponseAttributes' + id: + default: logs_services + description: The `AWSLogsServicesResponseData` `id`. + example: logs_services + type: string + type: + $ref: '#/components/schemas/AWSLogsServicesResponseDataType' + required: + - id + - type + type: object + AWSCcmConfigValidationRequestData: + description: AWS CCM config validation request data. + properties: + attributes: + $ref: '#/components/schemas/AWSCcmConfigValidationRequestAttributes' + type: + $ref: '#/components/schemas/AWSCcmConfigValidationType' + required: + - attributes + - type + type: object + AWSCcmConfigValidationResponseData: + description: AWS CCM config validation response data. + properties: + attributes: + $ref: '#/components/schemas/AWSCcmConfigValidationResponseAttributes' + id: + description: AWS CCM config validation resource identifier. + example: ccm_config_validation + type: string + type: + $ref: '#/components/schemas/AWSCcmConfigValidationType' + required: + - attributes + - id + - type + type: object + GCPSTSServiceAccount: + description: Info on your service account. + properties: + attributes: + $ref: '#/components/schemas/GCPSTSServiceAccountAttributes' + id: + description: Your service account's unique ID. + example: d291291f-12c2-22g4-j290-123456678897 + type: string + meta: + $ref: '#/components/schemas/GCPServiceAccountMeta' + type: + $ref: '#/components/schemas/GCPServiceAccountType' + type: object + GCPSTSServiceAccountData: + description: Additional metadata on your generated service account. + properties: + attributes: + $ref: '#/components/schemas/GCPSTSServiceAccountAttributes' + type: + $ref: '#/components/schemas/GCPServiceAccountType' + type: object + GCPSTSServiceAccountUpdateRequestData: + description: Data on your service account. + properties: + attributes: + $ref: '#/components/schemas/GCPSTSServiceAccountAttributes' + id: + description: Your service account's unique ID. + example: d291291f-12c2-22g4-j290-123456678897 + type: string + type: + $ref: '#/components/schemas/GCPServiceAccountType' + type: object + GCPSTSDelegateAccount: + description: Datadog principal service account info. + properties: + attributes: + $ref: '#/components/schemas/GCPSTSDelegateAccountAttributes' + id: + description: The ID of the delegate service account. + example: ddgci-1a19n28hb1a812221893@datadog-gci-sts-us5-prod.iam.gserviceaccount.com + type: string + type: + $ref: '#/components/schemas/GCPSTSDelegateAccountType' + type: object + GoogleChatOrganizationData: + description: Google Chat organization data from a response. + properties: + attributes: + $ref: '#/components/schemas/GoogleChatOrganizationAttributes' + id: + description: The ID of the Google Chat organization binding. + example: 5ce87709-a12f-4086-fcc8-147045b73a19 + maxLength: 100 + minLength: 1 + type: string + relationships: + $ref: '#/components/schemas/GoogleChatOrganizationRelationships' + type: + $ref: '#/components/schemas/GoogleChatOrganizationType' + type: object + GoogleChatAppNamedSpaceResponseData: + description: Google Chat space data from a response. + properties: + attributes: + $ref: '#/components/schemas/GoogleChatAppNamedSpaceResponseAttributes' + id: + description: The ID of the Google Chat space. + example: 596da4af-0563-4097-90ff-07230c3f9db3 + maxLength: 100 + minLength: 1 + type: string + type: + $ref: '#/components/schemas/GoogleChatAppNamedSpaceType' + type: object + GoogleChatDelegatedUserData: + description: Google Chat delegated user data from a response. + properties: + attributes: + $ref: '#/components/schemas/GoogleChatDelegatedUserAttributes' + id: + description: The ID of the delegated user. + example: 2b3c4d5e-6f78-9012-bcde-f23456789012 + maxLength: 100 + minLength: 1 + type: string + type: + $ref: '#/components/schemas/GoogleChatDelegatedUserType' + type: object + GoogleChatOrganizationHandleResponseData: + description: Organization handle data from a response. + properties: + attributes: + $ref: '#/components/schemas/GoogleChatOrganizationHandleResponseAttributes' + id: + description: The ID of the organization handle. + example: 596da4af-0563-4097-90ff-07230c3f9db3 + maxLength: 100 + minLength: 1 + type: string + type: + $ref: '#/components/schemas/GoogleChatOrganizationHandleType' + type: object + GoogleChatCreateOrganizationHandleRequestData: + description: Organization handle data for a create request. + properties: + attributes: + $ref: '#/components/schemas/GoogleChatCreateOrganizationHandleRequestAttributes' + required: + - attributes + type: object + GoogleChatOrganizationHandleType: + default: google-chat-organization-handle + description: Organization handle resource type. + enum: + - google-chat-organization-handle + example: google-chat-organization-handle + type: string + x-enum-varnames: + - GOOGLE_CHAT_ORGANIZATION_HANDLE_TYPE + GoogleChatUpdateOrganizationHandleRequestData: + description: Organization handle data for an update request. + properties: + attributes: + $ref: '#/components/schemas/GoogleChatUpdateOrganizationHandleRequestAttributes' + required: + - attributes + type: object + GoogleChatTargetAudienceData: + description: Google Chat target audience data from a response. + properties: + attributes: + $ref: '#/components/schemas/GoogleChatTargetAudienceAttributes' + id: + description: The ID of the target audience. + example: 1f3e5ce6-944a-4075-97ae-105b5920b5cb + maxLength: 100 + minLength: 1 + type: string + type: + $ref: '#/components/schemas/GoogleChatTargetAudienceType' + type: object + GoogleChatTargetAudienceCreateRequestData: + description: Data for a create target audience request. + properties: + attributes: + $ref: '#/components/schemas/GoogleChatTargetAudienceCreateRequestAttributes' + type: + $ref: '#/components/schemas/GoogleChatTargetAudienceType' + required: + - type + - attributes + type: object + GoogleChatTargetAudienceUpdateRequestData: + description: Data for an update target audience request. + properties: + attributes: + $ref: '#/components/schemas/GoogleChatTargetAudienceUpdateRequestAttributes' + type: + $ref: '#/components/schemas/GoogleChatTargetAudienceType' + required: + - type + - attributes + type: object + JiraAccountsData: + description: Array of Jira account data objects + items: + $ref: '#/components/schemas/JiraAccountData' + type: array + JiraAccountsMeta: + description: Metadata for Jira accounts response + properties: + public_key: + description: Public key for the Jira integration + example: c29tZSBkYXRhIHdpdGggACBhbmQg77u/ + type: string + type: object + JiraIssueTemplatesData: + description: Array of Jira issue template data objects + items: + $ref: '#/components/schemas/JiraIssueTemplateData' + type: array + JiraIssueTemplateCreateRequestData: + description: Data object for creating a Jira issue template + properties: + attributes: + $ref: '#/components/schemas/JiraIssueTemplateCreateRequestAttributes' + type: + $ref: '#/components/schemas/JiraIssueTemplateType' + type: object + JiraIssueTemplateData: + description: Data object for a Jira issue template + properties: + attributes: + $ref: '#/components/schemas/JiraIssueTemplateDataAttributes' + id: + description: Unique identifier for the Jira issue template + example: 65b3341b-0680-47f9-a6d4-134db45c603e + format: uuid + type: string + relationships: + $ref: '#/components/schemas/JiraIssueTemplateDataRelationships' + type: + $ref: '#/components/schemas/JiraIssueTemplateType' + required: + - id + - type + - attributes + type: object + JiraIssueTemplateUpdateRequestData: + description: Data object for updating a Jira issue template + properties: + attributes: + $ref: '#/components/schemas/JiraIssueTemplateUpdateRequestAttributes' + type: + $ref: '#/components/schemas/JiraIssueTemplateType' + required: + - type + - attributes + type: object + MicrosoftTeamsChannelInfoResponseData: + description: Channel data from a response. + properties: + attributes: + $ref: '#/components/schemas/MicrosoftTeamsChannelInfoResponseAttributes' + id: + description: The ID of the channel. + example: 19:b41k24b14bn1nwffkernfkwrnfneubgkr@thread.tacv2 + maxLength: 255 + minLength: 1 + type: string + type: + $ref: '#/components/schemas/MicrosoftTeamsChannelInfoType' + type: object + MicrosoftTeamsTenantBasedHandleInfoResponseData: + description: Tenant-based handle data from a response. + properties: + attributes: + $ref: '#/components/schemas/MicrosoftTeamsTenantBasedHandleInfoResponseAttributes' + id: + description: The ID of the tenant-based handle. + example: 596da4af-0563-4097-90ff-07230c3f9db3 + maxLength: 100 + minLength: 1 + type: string + type: + $ref: '#/components/schemas/MicrosoftTeamsTenantBasedHandleInfoType' + type: object + MicrosoftTeamsTenantBasedHandleRequestData: + description: Tenant-based handle data from a response. + properties: + attributes: + $ref: '#/components/schemas/MicrosoftTeamsTenantBasedHandleRequestAttributes' + type: + $ref: '#/components/schemas/MicrosoftTeamsTenantBasedHandleType' + required: + - type + - attributes + type: object + MicrosoftTeamsTenantBasedHandleResponseData: + description: Tenant-based handle data from a response. + properties: + attributes: + $ref: '#/components/schemas/MicrosoftTeamsTenantBasedHandleAttributes' + id: + description: The ID of the tenant-based handle. + example: 596da4af-0563-4097-90ff-07230c3f9db3 + maxLength: 100 + minLength: 1 + type: string + type: + $ref: '#/components/schemas/MicrosoftTeamsTenantBasedHandleType' + type: object + MicrosoftTeamsUpdateTenantBasedHandleRequestData: + description: Tenant-based handle data from a response. + properties: + attributes: + $ref: '#/components/schemas/MicrosoftTeamsTenantBasedHandleAttributes' + type: + $ref: '#/components/schemas/MicrosoftTeamsTenantBasedHandleType' + required: + - type + - attributes + type: object + MicrosoftTeamsWorkflowsWebhookHandleResponseData: + description: Workflows Webhook handle data from a response. + properties: + attributes: + $ref: '#/components/schemas/MicrosoftTeamsWorkflowsWebhookResponseAttributes' + id: + description: The ID of the Workflows webhook handle. + example: 596da4af-0563-4097-90ff-07230c3f9db3 + maxLength: 100 + minLength: 1 + type: string + type: + $ref: '#/components/schemas/MicrosoftTeamsWorkflowsWebhookHandleType' + type: object + MicrosoftTeamsWorkflowsWebhookHandleRequestData: + description: Workflows Webhook handle data from a response. + properties: + attributes: + $ref: '#/components/schemas/MicrosoftTeamsWorkflowsWebhookHandleRequestAttributes' + type: + $ref: '#/components/schemas/MicrosoftTeamsWorkflowsWebhookHandleType' + required: + - type + - attributes + type: object + MicrosoftTeamsUpdateWorkflowsWebhookHandleRequestData: + description: Workflows Webhook handle data from a response. + properties: + attributes: + $ref: '#/components/schemas/MicrosoftTeamsWorkflowsWebhookHandleAttributes' + type: + $ref: '#/components/schemas/MicrosoftTeamsWorkflowsWebhookHandleType' + required: + - type + - attributes + type: object + TenancyProductsData: + description: A single OCI tenancy product resource object containing the tenancy ID, type, and product attributes. + properties: + attributes: + $ref: '#/components/schemas/TenancyProductsDataAttributes' + id: + description: The OCID of the OCI tenancy. + type: string + type: + $ref: '#/components/schemas/TenancyProductsDataType' + required: + - type + type: object + TenancyConfigData: + description: A single OCI tenancy integration configuration resource object containing the tenancy ID, type, and configuration attributes. + properties: + attributes: + $ref: '#/components/schemas/TenancyConfigDataAttributes' + id: + description: The OCID of the OCI tenancy. + type: string + type: + $ref: '#/components/schemas/UpdateTenancyConfigDataType' + required: + - type + type: object + CreateTenancyConfigData: + description: The data object for creating a new OCI tenancy integration configuration, including the tenancy ID, type, and configuration attributes. + properties: + attributes: + $ref: '#/components/schemas/CreateTenancyConfigDataAttributes' + id: + description: The OCID of the OCI tenancy to configure. + example: '' + type: string + type: + $ref: '#/components/schemas/UpdateTenancyConfigDataType' + required: + - type + - id + type: object + UpdateTenancyConfigData: + description: The data object for updating an existing OCI tenancy integration configuration, including the tenancy ID, type, and updated attributes. + properties: + attributes: + $ref: '#/components/schemas/UpdateTenancyConfigDataAttributes' + id: + description: The OCID of the OCI tenancy to update. + example: '' + type: string + type: + $ref: '#/components/schemas/UpdateTenancyConfigDataType' + required: + - type + - id + type: object + OpsgenieAccountResponseData: + description: Opsgenie account data from a response. + properties: + attributes: + $ref: '#/components/schemas/OpsgenieAccountResponseAttributes' + id: + description: The ID of the Opsgenie account. + example: 596da4af-0563-4097-90ff-07230c3f9db3 + maxLength: 100 + minLength: 1 + type: string + type: + $ref: '#/components/schemas/OpsgenieAccountType' + required: + - id + - type + - attributes + type: object + OpsgenieAccountCreateData: + description: Opsgenie account data for a create request. + properties: + attributes: + $ref: '#/components/schemas/OpsgenieAccountCreateAttributes' + type: + $ref: '#/components/schemas/OpsgenieAccountType' + required: + - type + - attributes + type: object + OpsgenieAccountUpdateData: + description: Opsgenie account data for an update request. + properties: + attributes: + $ref: '#/components/schemas/OpsgenieAccountUpdateAttributes' + id: + description: The ID of the Opsgenie account. + example: 596da4af-0563-4097-90ff-07230c3f9db3 + maxLength: 100 + minLength: 1 + type: string + type: + $ref: '#/components/schemas/OpsgenieAccountType' + required: + - id + - type + - attributes + type: object + OpsgenieServiceResponseData: + description: Opsgenie service data from a response. + properties: + attributes: + $ref: '#/components/schemas/OpsgenieServiceResponseAttributes' + id: + description: The ID of the Opsgenie service. + example: 596da4af-0563-4097-90ff-07230c3f9db3 + maxLength: 100 + minLength: 1 + type: string + type: + $ref: '#/components/schemas/OpsgenieServiceType' + required: + - id + - type + - attributes + type: object + OpsgenieServiceCreateData: + description: Opsgenie service data for a create request. + properties: + attributes: + $ref: '#/components/schemas/OpsgenieServiceCreateAttributes' + type: + $ref: '#/components/schemas/OpsgenieServiceType' + required: + - type + - attributes + type: object + OpsgenieServiceUpdateData: + description: Opsgenie service for an update request. + properties: + attributes: + $ref: '#/components/schemas/OpsgenieServiceUpdateAttributes' + id: + description: The ID of the Opsgenie service. + example: 596da4af-0563-4097-90ff-07230c3f9db3 + maxLength: 100 + minLength: 1 + type: string + type: + $ref: '#/components/schemas/OpsgenieServiceType' + required: + - id + - type + - attributes + type: object + SalesforceIncidentsTemplateResponseData: + description: Salesforce incident template data from a response. + properties: + attributes: + $ref: '#/components/schemas/SalesforceIncidentsTemplateResponseAttributes' + id: + description: The ID of the Salesforce incident template. + example: 596da4af-0563-4097-90ff-07230c3f9db3 + maxLength: 100 + minLength: 1 + type: string + type: + $ref: '#/components/schemas/SalesforceIncidentsTemplateType' + required: + - id + - type + - attributes + type: object + SalesforceIncidentsTemplateCreateData: + description: Salesforce incident template data for a create request. + properties: + attributes: + $ref: '#/components/schemas/SalesforceIncidentsTemplateCreateAttributes' + type: + $ref: '#/components/schemas/SalesforceIncidentsTemplateType' + required: + - type + - attributes + type: object + SalesforceIncidentsTemplateUpdateData: + description: Salesforce incident template data for an update request. + properties: + attributes: + $ref: '#/components/schemas/SalesforceIncidentsTemplateUpdateAttributes' + id: + description: The ID of the Salesforce incident template being updated. Must match the path parameter. + example: 596da4af-0563-4097-90ff-07230c3f9db3 + maxLength: 100 + minLength: 1 + type: string + type: + $ref: '#/components/schemas/SalesforceIncidentsTemplateType' + required: + - id + - type + - attributes + type: object + SalesforceIncidentsOrganizationResponseData: + description: Salesforce organization data from a response. + properties: + attributes: + $ref: '#/components/schemas/SalesforceIncidentsOrganizationResponseAttributes' + id: + description: The Datadog-assigned ID of the connected Salesforce organization. + example: 596da4af-0563-4097-90ff-07230c3f9db3 + maxLength: 100 + minLength: 1 + type: string + type: + $ref: '#/components/schemas/SalesforceIncidentsOrganizationType' + required: + - id + - type + - attributes + type: object + ServiceNowAssignmentGroupsData: + description: Array of ServiceNow assignment group data objects + items: + $ref: '#/components/schemas/ServiceNowAssignmentGroupData' + type: array + ServiceNowBusinessServicesData: + description: Array of ServiceNow business service data objects + items: + $ref: '#/components/schemas/ServiceNowBusinessServiceData' + type: array + ServiceNowTemplatesData: + description: Array of ServiceNow template data objects + items: + $ref: '#/components/schemas/ServiceNowTemplateData' + type: array + ServiceNowTemplateCreateRequestData: + description: Data object for creating a ServiceNow template + properties: + attributes: + $ref: '#/components/schemas/ServiceNowTemplateCreateRequestAttributes' + type: + $ref: '#/components/schemas/ServiceNowTemplateType' + required: + - type + - attributes + type: object + ServiceNowTemplateData: + description: Data object for a ServiceNow template + properties: + attributes: + $ref: '#/components/schemas/ServiceNowTemplateAttributes' + id: + description: Unique identifier for the ServiceNow template + example: 65b3341b-0680-47f9-a6d4-134db45c603e + format: uuid + type: string + type: + $ref: '#/components/schemas/ServiceNowTemplateType' + required: + - id + - type + - attributes + type: object + ServiceNowTemplateUpdateRequestData: + description: Data object for updating a ServiceNow template + properties: + attributes: + $ref: '#/components/schemas/ServiceNowTemplateUpdateRequestAttributes' + type: + $ref: '#/components/schemas/ServiceNowTemplateType' + required: + - type + - attributes + type: object + ServiceNowInstancesData: + description: Array of ServiceNow instance data objects + items: + $ref: '#/components/schemas/ServiceNowInstanceData' + type: array + ServiceNowUsersData: + description: Array of ServiceNow user data objects + items: + $ref: '#/components/schemas/ServiceNowUserData' + type: array + 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 + StatuspageAccountResponseData: + description: Statuspage account data from a response. + properties: + attributes: + $ref: '#/components/schemas/StatuspageAccountResponseAttributes' + type: + $ref: '#/components/schemas/StatuspageAccountType' + required: + - type + - attributes + type: object + StatuspageAccountUpdateData: + description: Statuspage account data for an update request. + properties: + attributes: + $ref: '#/components/schemas/StatuspageAccountUpdateAttributes' + type: + $ref: '#/components/schemas/StatuspageAccountType' + required: + - type + - attributes + type: object + StatuspageAccountCreateData: + description: Statuspage account data for a create request. + properties: + attributes: + $ref: '#/components/schemas/StatuspageAccountCreateAttributes' + type: + $ref: '#/components/schemas/StatuspageAccountType' + required: + - type + - attributes + type: object + StatuspageUrlSettingResponseData: + description: Statuspage URL setting data from a response. + properties: + attributes: + $ref: '#/components/schemas/StatuspageUrlSettingResponseAttributes' + id: + description: The ID of the Statuspage URL setting. + example: 596da4af-0563-4097-90ff-07230c3f9db3 + maxLength: 100 + minLength: 1 + type: string + type: + $ref: '#/components/schemas/StatuspageUrlSettingType' + required: + - id + - type + - attributes + type: object + StatuspageUrlSettingCreateData: + description: Statuspage URL setting data for a create request. + properties: + attributes: + $ref: '#/components/schemas/StatuspageUrlSettingCreateAttributes' + type: + $ref: '#/components/schemas/StatuspageUrlSettingType' + required: + - type + - attributes + type: object + StatuspageUrlSettingUpdateData: + description: Statuspage URL setting data for an update request. + properties: + attributes: + $ref: '#/components/schemas/StatuspageUrlSettingUpdateAttributes' + id: + description: The ID of the Statuspage URL setting. + example: 596da4af-0563-4097-90ff-07230c3f9db3 + maxLength: 100 + minLength: 1 + type: string + type: + $ref: '#/components/schemas/StatuspageUrlSettingType' + required: + - id + - type + - attributes + type: object + WebhooksAuthMethodProtocol: + description: Authentication protocol used by the auth method. + enum: + - oauth2-client-credentials + example: oauth2-client-credentials + type: string + x-enum-varnames: + - OAUTH2_CLIENT_CREDENTIALS + WebhooksAuthMethodResponseData: + description: Webhooks auth method data from a response. + properties: + attributes: + $ref: '#/components/schemas/WebhooksAuthMethodAttributes' + id: + description: The ID of the auth method. + example: 596da4af-0563-4097-90ff-07230c3f9db3 + type: string + relationships: + $ref: '#/components/schemas/WebhooksAuthMethodRelationships' + type: + $ref: '#/components/schemas/WebhooksAuthMethodType' + required: + - id + - type + - attributes + type: object + WebhooksOAuth2ClientCredentialsResponseData: + description: OAuth2 client credentials data from a response. + properties: + attributes: + $ref: '#/components/schemas/WebhooksOAuth2ClientCredentialsResponseAttributes' + id: + description: The ID of the OAuth2 client credentials auth method. + example: 596da4af-0563-4097-90ff-07230c3f9db3 + type: string + type: + $ref: '#/components/schemas/WebhooksOAuth2ClientCredentialsType' + required: + - id + - type + - attributes + type: object + WebhooksOAuth2ClientCredentialsCreateData: + description: OAuth2 client credentials data for a create request. + properties: + attributes: + $ref: '#/components/schemas/WebhooksOAuth2ClientCredentialsCreateAttributes' + type: + $ref: '#/components/schemas/WebhooksOAuth2ClientCredentialsType' + required: + - type + - attributes + type: object + WebhooksOAuth2ClientCredentialsUpdateData: + description: OAuth2 client credentials data for an update request. + properties: + attributes: + $ref: '#/components/schemas/WebhooksOAuth2ClientCredentialsUpdateAttributes' + type: + $ref: '#/components/schemas/WebhooksOAuth2ClientCredentialsType' + required: + - type + - attributes + type: object + Integration: + description: Integration resource object. + properties: + attributes: + $ref: '#/components/schemas/IntegrationAttributes' + id: + description: The unique identifier of the integration. + example: calico + type: string + links: + $ref: '#/components/schemas/IntegrationLinks' + type: + $ref: '#/components/schemas/IntegrationType' + required: + - type + - id + - attributes + type: object + CloudflareAccountResponseData: + description: Data object of a Cloudflare account. + properties: + attributes: + $ref: '#/components/schemas/CloudflareAccountResponseAttributes' + id: + description: The ID of the Cloudflare account, a hash of the account name. + example: c1a8e059bfd1e911cf10b626340c9a54 + type: string + type: + $ref: '#/components/schemas/CloudflareAccountType' + required: + - attributes + - id + - type + type: object + CloudflareAccountCreateRequestData: + description: Data object for creating a Cloudflare account. + properties: + attributes: + $ref: '#/components/schemas/CloudflareAccountCreateRequestAttributes' + type: + $ref: '#/components/schemas/CloudflareAccountType' + required: + - attributes + - type + type: object + CloudflareAccountUpdateRequestData: + description: Data object for updating a Cloudflare account. + properties: + attributes: + $ref: '#/components/schemas/CloudflareAccountUpdateRequestAttributes' + type: + $ref: '#/components/schemas/CloudflareAccountType' + type: object + ConfluentAccountResponseData: + description: An API key and API secret pair that represents a Confluent account. + properties: + attributes: + $ref: '#/components/schemas/ConfluentAccountResponseAttributes' + id: + description: A randomly generated ID associated with a Confluent account. + example: account_id_abc123 + type: string + type: + $ref: '#/components/schemas/ConfluentAccountType' + required: + - attributes + - id + - type + type: object + ConfluentAccountCreateRequestData: + description: The data body for adding a Confluent account. + properties: + attributes: + $ref: '#/components/schemas/ConfluentAccountCreateRequestAttributes' + type: + $ref: '#/components/schemas/ConfluentAccountType' + required: + - attributes + - type + type: object + ConfluentAccountUpdateRequestData: + description: Data object for updating a Confluent account. + properties: + attributes: + $ref: '#/components/schemas/ConfluentAccountUpdateRequestAttributes' + type: + $ref: '#/components/schemas/ConfluentAccountType' + required: + - attributes + - type + type: object + ConfluentResourceResponseData: + description: Confluent Cloud resource data. + properties: + attributes: + $ref: '#/components/schemas/ConfluentResourceResponseAttributes' + id: + description: The ID associated with the Confluent resource. + example: resource_id_abc123 + type: string + type: + $ref: '#/components/schemas/ConfluentResourceType' + required: + - attributes + - type + - id + type: object + ConfluentResourceRequestData: + description: JSON:API request for updating a Confluent resource. + properties: + attributes: + $ref: '#/components/schemas/ConfluentResourceRequestAttributes' + id: + description: The ID associated with a Confluent resource. + example: resource-id-123 + type: string + type: + $ref: '#/components/schemas/ConfluentResourceType' + required: + - attributes + - type + - id + type: object + FastlyAccountResponseData: + description: Data object of a Fastly account. + properties: + attributes: + $ref: '#/components/schemas/FastlyAccounResponseAttributes' + id: + description: The ID of the Fastly account, a hash of the account name. + example: abc123 + type: string + type: + $ref: '#/components/schemas/FastlyAccountType' + required: + - attributes + - id + - type + type: object + FastlyAccountCreateRequestData: + description: Data object for creating a Fastly account. + properties: + attributes: + $ref: '#/components/schemas/FastlyAccountCreateRequestAttributes' + type: + $ref: '#/components/schemas/FastlyAccountType' + required: + - attributes + - type + type: object + FastlyAccountUpdateRequestData: + description: Data object for updating a Fastly account. + properties: + attributes: + $ref: '#/components/schemas/FastlyAccountUpdateRequestAttributes' + type: + $ref: '#/components/schemas/FastlyAccountType' + type: object + FastlyServiceData: + description: Data object for Fastly service requests. + properties: + attributes: + $ref: '#/components/schemas/FastlyServiceAttributes' + id: + description: The ID of the Fastly service. + example: abc123 + type: string + type: + $ref: '#/components/schemas/FastlyServiceType' + required: + - id + - type + type: object + OktaAccountResponseData: + description: Data object of an Okta account + properties: + attributes: + $ref: '#/components/schemas/OktaAccountAttributes' + id: + description: The ID of the Okta account, a UUID hash of the account name. + example: f749daaf-682e-4208-a38d-c9b43162c609 + type: string + type: + $ref: '#/components/schemas/OktaAccountType' + required: + - attributes + - id + - type + type: object + OktaAccount: + description: Schema for an Okta account. + properties: + attributes: + $ref: '#/components/schemas/OktaAccountAttributes' + id: + description: The ID of the Okta account, a UUID hash of the account name. + example: f749daaf-682e-4208-a38d-c9b43162c609 + type: string + type: + $ref: '#/components/schemas/OktaAccountType' + required: + - attributes + - type + type: object + OktaAccountUpdateRequestData: + description: Data object for updating an Okta account. + properties: + attributes: + $ref: '#/components/schemas/OktaAccountUpdateRequestAttributes' + type: + $ref: '#/components/schemas/OktaAccountType' + type: object + BatchRowsQueryRequestData: + description: Data object for a batch rows query request. + properties: + attributes: + $ref: '#/components/schemas/BatchRowsQueryRequestDataAttributes' + type: + $ref: '#/components/schemas/BatchRowsQueryDataType' + required: + - type + type: object + BatchRowsQueryResponseData: + description: Data object for a batch rows query response. + properties: + id: + description: Unique identifier of the batch query. + type: string + relationships: + $ref: '#/components/schemas/BatchRowsQueryResponseDataRelationships' + type: + $ref: '#/components/schemas/BatchRowsQueryDataType' + required: + - type + type: object + TableRowResourceData: + additionalProperties: false + description: The data object containing the row column names and values. + properties: + attributes: + $ref: '#/components/schemas/TableRowResourceDataAttributes' + id: + description: Row identifier, corresponding to the primary key value. + type: string + type: + $ref: '#/components/schemas/TableRowResourceDataType' + required: + - type + type: object + TableResultV2Data: + additionalProperties: false + description: The data object containing the reference table configuration and state. + properties: + attributes: + $ref: '#/components/schemas/TableResultV2DataAttributes' + id: + description: Unique identifier for the reference table. + type: string + type: + $ref: '#/components/schemas/TableResultV2DataType' + required: + - type + type: object + CreateTableRequestData: + additionalProperties: false + description: The data object containing the table definition. + properties: + attributes: + $ref: '#/components/schemas/CreateTableRequestDataAttributes' + type: + $ref: '#/components/schemas/CreateTableRequestDataType' + required: + - type + type: object + PatchTableRequestData: + additionalProperties: false + description: The data object containing the partial table definition updates. + properties: + attributes: + $ref: '#/components/schemas/PatchTableRequestDataAttributes' + type: + $ref: '#/components/schemas/PatchTableRequestDataType' + required: + - type + type: object + TableRowResourceIdentifier: + description: Row resource containing a single row identifier. + properties: + id: + description: The primary key value that uniquely identifies the row to delete. + example: primary_key_value + type: string + type: + $ref: '#/components/schemas/TableRowResourceDataType' + required: + - type + - id + type: object + BatchUpsertRowsRequestData: + description: Row resource containing a single row identifier and its column values. + properties: + attributes: + $ref: '#/components/schemas/BatchUpsertRowsRequestDataAttributes' + id: + description: The primary key value that uniquely identifies the row to create or update. + example: primary_key_value + type: string + type: + $ref: '#/components/schemas/TableRowResourceDataType' + required: + - type + - id + type: object + ListRowsResponseLinks: + description: Pagination links for the list rows response. + properties: + first: + description: Link to the first page of results. + example: /api/v2/reference-tables/tables/00000000-0000-0000-0000-000000000000/rows/list?page%5Blimit%5D=100 + type: string + next: + description: Link to the next page of results. Only present when more rows are available. + example: /api/v2/reference-tables/tables/00000000-0000-0000-0000-000000000000/rows/list?page%5Bcontinuation_token%5D=eyJzaWQiOjEyMzQ1LCJwayI6ImV4YW1wbGVfcGsifQ%3D%3D&page%5Blimit%5D=100 + type: string + self: + description: Link to the current page of results. + example: /api/v2/reference-tables/tables/00000000-0000-0000-0000-000000000000/rows/list?page%5Bcontinuation_token%5D=eyJzaWQiOjEyMzQ1LCJwayI6ImV4YW1wbGVfcGsifQ%3D%3D&page%5Blimit%5D=100 + type: string + required: + - self + - first + type: object + ListRowsResponseMeta: + description: Contains pagination details, including the continuation token for fetching additional rows. + properties: + page: + $ref: '#/components/schemas/ListRowsResponseMetaPage' + type: object + CreateUploadRequestData: + additionalProperties: false + description: Request data for creating an upload for a file to be ingested into a reference table. + properties: + attributes: + $ref: '#/components/schemas/CreateUploadRequestDataAttributes' + type: + $ref: '#/components/schemas/CreateUploadRequestDataType' + required: + - type + type: object + CreateUploadResponseData: + additionalProperties: false + description: Upload ID and attributes of the created upload. + properties: + attributes: + $ref: '#/components/schemas/CreateUploadResponseDataAttributes' + id: + description: Unique identifier for this upload. Use this ID when creating the reference table. + type: string + type: + $ref: '#/components/schemas/CreateUploadResponseDataType' + required: + - type + type: object + WebIntegrationAccountResponseData: + description: Data object of a web integration account. + properties: + attributes: + $ref: '#/components/schemas/WebIntegrationAccountResponseAttributes' + id: + description: The unique identifier of the web integration account. + example: abc123def456 + type: string + type: + $ref: '#/components/schemas/WebIntegrationAccountType' + required: + - attributes + - id + - type + type: object + WebIntegrationAccountCreateRequestData: + description: Data object for creating a web integration account. + properties: + attributes: + $ref: '#/components/schemas/WebIntegrationAccountCreateRequestAttributes' + type: + $ref: '#/components/schemas/WebIntegrationAccountType' + required: + - attributes + - type + type: object + WebIntegrationAccountUpdateRequestData: + description: Data object for updating a web integration account. + properties: + attributes: + $ref: '#/components/schemas/WebIntegrationAccountUpdateRequestAttributes' + type: + $ref: '#/components/schemas/WebIntegrationAccountType' + required: + - attributes + - type + type: object + AWSEventBridgeDeleteStatus: + description: The event source status "empty". + enum: + - empty + example: empty + type: string + x-enum-varnames: + - EMPTY + AWSEventBridgeAccountConfigurationV1: + description: The EventBridge configuration for one AWS account. + properties: + accountId: + description: Your AWS Account ID without dashes. + example: '123456789012' + type: string + eventHubs: + description: Array of AWS event sources associated with this account. + items: + $ref: '#/components/schemas/AWSEventBridgeSourceV1' + type: array + tags: + description: |- + Array of tags (in the form `key:value`) which are added to all hosts + and metrics reporting through the main AWS integration. + example: + - $KEY:$VALUE + items: + description: The list of the host_tags. + type: string + type: array + type: object + AWSEventBridgeCreateStatus: + description: The event source status "created". + enum: + - created + example: created + type: string + x-enum-varnames: + - CREATED + AWSNamespace: + description: The namespace associated with the tag filter entry. + enum: + - elb + - application_elb + - sqs + - rds + - custom + - network_elb + - lambda + - step_functions + type: string + x-enum-varnames: + - ELB + - APPLICATION_ELB + - SQS + - RDS + - CUSTOM + - NETWORK_ELB + - LAMBDA + - STEP_FUNCTIONS + AWSTagFilter: + description: A tag filter. + properties: + namespace: + $ref: '#/components/schemas/AWSNamespace' + tag_filter_str: + description: The tag filter string. + example: prod* + type: string + type: object + AWSLogsLambda: + description: Description of the Lambdas. + properties: + arn: + description: Available ARN IDs. + type: string + type: object + AWSLogsAsyncError: + description: Description of errors. + properties: + code: + description: Code properties + example: no_such_config + type: string + message: + description: Message content. + example: AWS account 12345 has no Lambda config to update + type: string + type: object + ResourceProviderConfig: + description: Configuration settings applied to resources from the specified Azure resource provider. + properties: + metrics_enabled: + description: Collect metrics for resources from this provider. + example: true + type: boolean + namespace: + description: The provider namespace to apply this configuration to. + example: Microsoft.Compute + type: string + type: object + GCPMonitoredResourceConfig: + description: Configuration for a GCP monitored resource. + properties: + filters: + description: |- + List of filters to limit the monitored resources that are pulled into Datadog by using tags. + Only monitored resources that apply to specified filters are imported into Datadog. + example: + - $KEY:$VALUE + items: + description: A monitored resource filter + type: string + type: array + type: + $ref: '#/components/schemas/GCPMonitoredResourceConfigType' + type: object + SlackIntegrationChannelDisplay: + description: Configuration options for what is shown in an alert event message. + properties: + message: + default: true + description: Show the main body of the alert event. + type: boolean + mute_buttons: + default: false + description: Show interactive buttons to mute the alerting monitor. + type: boolean + notified: + default: true + description: Show the list of @-handles in the alert event. + type: boolean + snapshot: + default: true + description: Show the alert event's snapshot image. + type: boolean + tags: + default: true + description: Show the scopes on which the monitor alerted. + type: boolean + type: object + WebhooksIntegrationEncoding: + default: json + description: Encoding type. Can be given either `json` or `form`. + enum: + - json + - form + type: string + x-enum-varnames: + - JSON + - FORM + JSONAPIErrorItemSource: + description: References to the source of the error. + properties: + header: + description: A string indicating the name of a single request header which caused the error. + example: Authorization + type: string + parameter: + description: A string indicating which URI query parameter caused the error. + example: limit + type: string + pointer: + description: A JSON pointer to the value in the request document that caused the error. + example: /data/attributes/title + type: string + type: object + AWSCloudAuthPersonaMappingCreateAttributes: + description: Attributes for creating an AWS cloud authentication persona mapping + properties: + account_identifier: + description: Datadog account identifier (email or handle) mapped to the AWS principal + example: test@test.com + type: string + arn_pattern: + description: AWS IAM ARN pattern to match for authentication + example: arn:aws:iam::123456789012:user/testuser + type: string + required: + - arn_pattern + - account_identifier + type: object + AWSCloudAuthPersonaMappingType: + description: Type identifier for AWS cloud authentication persona mapping + enum: + - aws_cloud_auth_config + example: aws_cloud_auth_config + type: string + x-enum-varnames: + - AWS_CLOUD_AUTH_CONFIG + AWSCloudAuthPersonaMappingAttributesResponse: + description: Attributes for AWS cloud authentication persona mapping response + properties: + account_identifier: + description: Datadog account identifier (email or handle) mapped to the AWS principal + example: test@test.com + type: string + account_uuid: + description: Datadog account UUID + example: 12bbdc5c-5966-47e0-8733-285f9e44bcf4 + type: string + arn_pattern: + description: AWS IAM ARN pattern to match for authentication + example: arn:aws:iam::123456789012:user/testuser + type: string + required: + - arn_pattern + - account_identifier + - account_uuid + type: object + EntityIntegrationConfigAttributes: + description: The organization ID, integration identifier, and integration-specific configuration payload for an entity integration configuration. + properties: + config: + $ref: '#/components/schemas/EntityIntegrationConfigPayload' + integration_id: + description: The identifier of the integration this configuration applies to (for example, `github`, `jira`, or `pagerduty`). + example: github + type: string + org_id: + description: The Datadog organization identifier that owns this configuration. + example: 1234 + format: int64 + type: integer + required: + - org_id + - integration_id + - config + type: object + EntityIntegrationConfigType: + default: entity_integration_configs + description: JSON:API resource type for an entity integration configuration. Always `entity_integration_configs`. + enum: + - entity_integration_configs + example: entity_integration_configs + type: string + x-enum-varnames: + - ENTITY_INTEGRATION_CONFIGS + EntityIntegrationConfigRequestAttributes: + description: Attributes used to create or update an entity integration configuration. + properties: + config: + $ref: '#/components/schemas/EntityIntegrationConfigPayload' + required: + - config + type: object + EntityIntegrationConfigRequestType: + default: entity_integration_config_requests + description: JSON:API resource type for the entity integration configuration create or update request. Always `entity_integration_config_requests`. + enum: + - entity_integration_config_requests + example: entity_integration_config_requests + type: string + x-enum-varnames: + - ENTITY_INTEGRATION_CONFIG_REQUESTS + ElasticCloudIntegrationAccountResponseAttributes: + description: Attributes of an Elastic Cloud integration account returned in responses. + properties: + authentication: + $ref: '#/components/schemas/ElasticCloudIntegrationAccountAuthenticationResponse' + dataflows: + $ref: '#/components/schemas/ElasticCloudIntegrationDataflowsResponse' + name: + description: Human-readable name of the Elastic Cloud integration account. + example: elastic-cloud-prod + type: string + settings: + $ref: '#/components/schemas/ElasticCloudIntegrationAccountSettingsResponse' + required: + - name + - settings + type: object + IntegrationAccountType: + default: integration-account + description: The type of the integration account resource. Always `integration-account`. + enum: + - integration-account + example: integration-account + type: string + x-enum-varnames: + - INTEGRATION_ACCOUNT + ElasticCloudIntegrationAccountCreateAttributes: + description: Writable attributes used to create an Elastic Cloud integration account. + properties: + authentication: + $ref: '#/components/schemas/ElasticCloudIntegrationAccountAuthenticationRequest' + dataflows: + $ref: '#/components/schemas/ElasticCloudIntegrationDataflowsRequest' + name: + description: Human-readable name of the Elastic Cloud integration account. + example: elastic-cloud-prod + type: string + settings: + $ref: '#/components/schemas/ElasticCloudIntegrationAccountSettingsRequest' + required: + - name + - authentication + - settings + type: object + ElasticCloudIntegrationAccountUpdateAttributes: + description: Writable attributes used to update an Elastic Cloud integration account. Every field is optional; only the fields provided are changed. When `dataflows` is provided, only the dataflow ids included in the request are modified; dataflows omitted from the map keep their current configuration. + properties: + authentication: + $ref: '#/components/schemas/ElasticCloudIntegrationAccountAuthenticationUpdate' + dataflows: + $ref: '#/components/schemas/ElasticCloudIntegrationDataflowsRequest' + name: + description: Human-readable name of the Elastic Cloud integration account. + example: elastic-cloud-prod + type: string + settings: + $ref: '#/components/schemas/ElasticCloudIntegrationAccountSettingsUpdate' + type: object + TwilioIntegrationAccountResponseAttributes: + description: Attributes of a Twilio integration account returned in responses. + properties: + authentication: + $ref: '#/components/schemas/TwilioIntegrationAccountAuthenticationResponse' + dataflows: + $ref: '#/components/schemas/TwilioIntegrationDataflowsResponse' + name: + description: Human-readable name of the Twilio integration account. + example: twilio-prod + type: string + settings: + $ref: '#/components/schemas/TwilioIntegrationAccountSettingsResponse' + required: + - name + - settings + type: object + TwilioIntegrationAccountCreateAttributes: + description: Writable attributes used to create a Twilio integration account. + properties: + authentication: + $ref: '#/components/schemas/TwilioIntegrationAccountAuthenticationRequest' + dataflows: + $ref: '#/components/schemas/TwilioIntegrationDataflowsRequest' + name: + description: Human-readable name of the Twilio integration account. + example: twilio-prod + type: string + settings: + $ref: '#/components/schemas/TwilioIntegrationAccountSettingsRequest' + required: + - name + - authentication + - settings + type: object + TwilioIntegrationAccountUpdateAttributes: + description: Writable attributes used to update a Twilio integration account. Every field is optional; only the fields provided are changed. When `dataflows` is provided, only the dataflow ids included in the request are modified; dataflows omitted from the map keep their current configuration. + properties: + authentication: + $ref: '#/components/schemas/TwilioIntegrationAccountAuthenticationUpdate' + dataflows: + $ref: '#/components/schemas/TwilioIntegrationDataflowsRequest' + name: + description: Human-readable name of the Twilio integration account. + example: twilio-prod + type: string + settings: + $ref: '#/components/schemas/TwilioIntegrationAccountSettingsUpdate' + type: object + AWSAccountResponseAttributes: + description: AWS Account response attributes. + properties: + account_tags: + $ref: '#/components/schemas/AWSAccountTags' + auth_config: + $ref: '#/components/schemas/AWSAuthConfig' + aws_account_id: + $ref: '#/components/schemas/AWSAccountID' + aws_partition: + $ref: '#/components/schemas/AWSAccountPartition' + aws_regions: + $ref: '#/components/schemas/AWSRegions' + created_at: + description: Timestamp of when the account integration was created. + format: date-time + readOnly: true + type: string + logs_config: + $ref: '#/components/schemas/AWSLogsConfig' + metrics_config: + $ref: '#/components/schemas/AWSMetricsConfig' + modified_at: + description: Timestamp of when the account integration was updated. + format: date-time + readOnly: true + type: string + resources_config: + $ref: '#/components/schemas/AWSResourcesConfig' + traces_config: + $ref: '#/components/schemas/AWSTracesConfig' + required: + - aws_account_id + type: object + AWSAccountConfigID: + description: |- + Unique Datadog ID of the AWS Account Integration Config. + To get the config ID for an account, use the + [List all AWS integrations](https://docs.datadoghq.com/api/latest/aws-integration/#list-all-aws-integrations) + endpoint and query by AWS Account ID. + example: 00000000-abcd-0001-0000-000000000000 + type: string + AWSAccountType: + default: account + description: AWS Account resource type. + enum: + - account + example: account + type: string + x-enum-varnames: + - ACCOUNT + AWSAccountCreateRequestAttributes: + description: The AWS Account Integration Config to be created. + properties: + account_tags: + $ref: '#/components/schemas/AWSAccountTags' + auth_config: + $ref: '#/components/schemas/AWSAuthConfig' + aws_account_id: + $ref: '#/components/schemas/AWSAccountID' + aws_partition: + $ref: '#/components/schemas/AWSAccountPartition' + aws_regions: + $ref: '#/components/schemas/AWSRegions' + logs_config: + $ref: '#/components/schemas/AWSLogsConfig' + metrics_config: + $ref: '#/components/schemas/AWSMetricsConfig' + resources_config: + $ref: '#/components/schemas/AWSResourcesConfig' + traces_config: + $ref: '#/components/schemas/AWSTracesConfig' + required: + - aws_account_id + - aws_partition + - auth_config + type: object + AWSAccountUpdateRequestAttributes: + description: The AWS Account Integration Config to be updated. + properties: + account_tags: + $ref: '#/components/schemas/AWSAccountTags' + auth_config: + $ref: '#/components/schemas/AWSAuthConfig' + aws_account_id: + $ref: '#/components/schemas/AWSAccountID' + aws_partition: + $ref: '#/components/schemas/AWSAccountPartition' + aws_regions: + $ref: '#/components/schemas/AWSRegions' + logs_config: + $ref: '#/components/schemas/AWSLogsConfig' + metrics_config: + $ref: '#/components/schemas/AWSMetricsConfig' + resources_config: + $ref: '#/components/schemas/AWSResourcesConfig' + traces_config: + $ref: '#/components/schemas/AWSTracesConfig' + required: + - aws_account_id + type: object + AWSCcmConfigResponseAttributes: + description: AWS CCM Config response attributes. + properties: + data_export_configs: + description: List of data export configurations for Cost and Usage Reports. + items: + $ref: '#/components/schemas/DataExportConfig' + type: array + type: object + AWSCcmConfigType: + default: ccm_config + description: AWS CCM Config resource type. + enum: + - ccm_config + example: ccm_config + type: string + x-enum-varnames: + - CCM_CONFIG + AWSCcmConfigRequestAttributes: + description: AWS CCM Config attributes for Create/Update requests. + properties: + ccm_config: + $ref: '#/components/schemas/AWSCcmConfig' + required: + - ccm_config + type: object + AWSMetricNameFilterPreviewResponseAttributes: + description: AWS metric name filter preview response attributes. + properties: + namespaces: + description: The list of namespaces affected by the previewed metric name filters. + items: + $ref: '#/components/schemas/AWSMetricNameFilterPreviewNamespace' + type: array + required: + - namespaces + type: object + AWSMetricNameFilterPreviewType: + default: metric_name_filter_preview + description: The `AWSMetricNameFilterPreviewResponseData` `type`. + enum: + - metric_name_filter_preview + example: metric_name_filter_preview + type: string + x-enum-varnames: + - METRIC_NAME_FILTER_PREVIEW + AWSMetricNameFilterPreviewRequestAttributes: + description: AWS metric name filter preview request attributes. + properties: + metric_name_filters: + description: The metric name filters to preview. + items: + $ref: '#/components/schemas/AWSMetricNameFilters' + type: array + required: + - metric_name_filters + type: object + AWSNamespacesResponseAttributes: + description: AWS Namespaces response attributes. + properties: + namespaces: + description: AWS CloudWatch namespace. + example: + - AWS/ApiGateway + items: + description: An AWS CloudWatch namespace name. + example: AWS/ApiGateway + type: string + type: array + required: + - namespaces + type: object + AWSNamespacesResponseDataType: + default: namespaces + description: The `AWSNamespacesResponseData` `type`. + enum: + - namespaces + example: namespaces + type: string + x-enum-varnames: + - NAMESPACES + AWSEventBridgeDeleteRequestAttributes: + description: The EventBridge source to be deleted. + properties: + account_id: + $ref: '#/components/schemas/AWSAccountID' + event_generator_name: + description: The event source name. + example: app-alerts-zyxw3210 + type: string + region: + description: |- + The event source's + [AWS region](https://docs.aws.amazon.com/general/latest/gr/rande.html#regional-endpoints). + example: us-east-1 + type: string + required: + - account_id + - event_generator_name + - region + type: object + AWSEventBridgeType: + default: event_bridge + description: Amazon EventBridge resource type. + enum: + - event_bridge + example: event_bridge + type: string + x-enum-varnames: + - EVENT_BRIDGE + AWSEventBridgeDeleteResponseAttributes: + description: The EventBridge source delete response attributes. + properties: + status: + $ref: '#/components/schemas/AWSEventBridgeDeleteStatus' + type: object + AWSEventBridgeListResponseAttributes: + description: An object describing the EventBridge configuration for multiple accounts. + properties: + accounts: + description: List of accounts with their event sources. + items: + $ref: '#/components/schemas/AWSEventBridgeAccountConfiguration' + type: array + is_installed: + description: True if the EventBridge integration is enabled for your organization. + type: boolean + type: object + AWSEventBridgeCreateRequestAttributes: + description: The EventBridge source to be created. + properties: + account_id: + $ref: '#/components/schemas/AWSAccountID' + create_event_bus: + description: |- + Set to true if Datadog should create the event bus in addition to the event + source. Requires the `events:CreateEventBus` permission. + example: true + type: boolean + event_generator_name: + description: |- + The given part of the event source name, which is then combined with an + assigned suffix to form the full name. + example: app-alerts + type: string + region: + description: |- + The event source's + [AWS region](https://docs.aws.amazon.com/general/latest/gr/rande.html#regional-endpoints). + example: us-east-1 + type: string + required: + - account_id + - event_generator_name + - region + type: object + AWSEventBridgeCreateResponseAttributes: + description: A created EventBridge source. + properties: + event_source_name: + description: The event source name. + example: app-alerts-zyxw3210 + type: string + has_bus: + description: True if the event bus was created in addition to the source. + example: true + type: boolean + region: + description: |- + The event source's + [AWS region](https://docs.aws.amazon.com/general/latest/gr/rande.html#regional-endpoints). + example: us-east-1 + type: string + status: + $ref: '#/components/schemas/AWSEventBridgeCreateStatus' + type: object + AWSNewExternalIDResponseAttributes: + description: AWS External ID response body. + properties: + external_id: + description: AWS IAM External ID for associated role. + example: acb8f6b8a844443dbb726d07dcb1a870 + type: string + required: + - external_id + type: object + AWSNewExternalIDResponseDataType: + default: external_id + description: The `AWSNewExternalIDResponseData` `type`. + enum: + - external_id + example: external_id + type: string + x-enum-varnames: + - EXTERNAL_ID + AWSIntegrationIamPermissionsResponseAttributes: + description: AWS Integration IAM Permissions response attributes. + properties: + permissions: + description: List of AWS IAM permissions required for the integration. + example: + - account:GetContactInformation + - amplify:ListApps + - amplify:ListArtifacts + - amplify:ListBackendEnvironments + - amplify:ListBranches + items: + description: An AWS IAM permission required for the Datadog integration. + example: account:GetContactInformation + type: string + type: array + required: + - permissions + type: object + AWSIntegrationIamPermissionsResponseDataType: + default: permissions + description: The `AWSIntegrationIamPermissionsResponseData` `type`. + enum: + - permissions + example: permissions + type: string + x-enum-varnames: + - PERMISSIONS + AWSLogsServicesResponseAttributes: + description: AWS Logs Services response body + properties: + logs_services: + description: List of AWS services that can send logs to Datadog + example: + - s3 + items: + description: The name of an AWS service that can send logs to Datadog. + example: s3 + type: string + type: array + required: + - logs_services + type: object + AWSLogsServicesResponseDataType: + default: logs_services + description: The `AWSLogsServicesResponseData` `type`. + enum: + - logs_services + example: logs_services + type: string + x-enum-varnames: + - LOGS_SERVICES + AWSCcmConfigValidationRequestAttributes: + description: Attributes for an AWS CCM config validation request. + properties: + account_id: + description: Your AWS Account ID without dashes. + example: '123456789012' + type: string + bucket_name: + description: Name of the S3 bucket where the Cost and Usage Report is stored. + example: billing + type: string + bucket_region: + description: AWS region of the S3 bucket. + example: us-east-1 + type: string + report_name: + description: Name of the Cost and Usage Report. + example: cost-and-usage-report + type: string + report_prefix: + description: S3 prefix where the Cost and Usage Report is stored. + example: reports + type: string + required: + - account_id + - bucket_name + - bucket_region + - report_name + type: object + AWSCcmConfigValidationType: + default: ccm_config_validation + description: AWS CCM config validation resource type. + enum: + - ccm_config_validation + example: ccm_config_validation + type: string + x-enum-varnames: + - CCM_CONFIG_VALIDATION + AWSCcmConfigValidationResponseAttributes: + description: Attributes for an AWS CCM config validation response. + properties: + account_id: + description: Your AWS Account ID without dashes. + example: '123456789012' + type: string + issues: + $ref: '#/components/schemas/AWSCcmConfigValidationIssues' + required: + - account_id + - issues + type: object + GCPSTSServiceAccountAttributes: + description: Attributes associated with your service account. + properties: + account_tags: + description: Tags to be associated with GCP metrics and service checks from your account. + items: + description: Account Level Tag + type: string + type: array + automute: + description: Silence monitors for expected GCE instance shutdowns. + type: boolean + client_email: + description: Your service account email address. + example: datadog-service-account@test-project.iam.gserviceaccount.com + type: string + cloud_run_revision_filters: + deprecated: true + description: |- + List of filters to limit the Cloud Run revisions that are pulled into Datadog by using tags. + Only Cloud Run revision resources that apply to specified filters are imported into Datadog. + **Note:** This field is deprecated. Instead, use `monitored_resource_configs` with `type=cloud_run_revision` + example: + - $KEY:$VALUE + items: + description: Cloud Run revision filters + type: string + type: array + host_filters: + deprecated: true + description: |- + List of filters to limit the VM instances that are pulled into Datadog by using tags. + Only VM instance resources that apply to specified filters are imported into Datadog. + **Note:** This field is deprecated. Instead, use `monitored_resource_configs` with `type=gce_instance` + example: + - $KEY:$VALUE + items: + description: VM instance filters + type: string + type: array + is_cspm_enabled: + description: 'When enabled, Datadog will activate the Cloud Security Monitoring product for this service account. Note: This requires resource_collection_enabled to be set to true.' + type: boolean + is_global_location_enabled: + default: true + description: When enabled, Datadog collects metrics where location is explicitly stated as "global" or where location information cannot be deduced from GCP labels. + example: true + type: boolean + is_per_project_quota_enabled: + default: false + description: When enabled, Datadog applies the `X-Goog-User-Project` header, attributing Google Cloud billing and quota usage to the project being monitored rather than the default service account project. + example: true + type: boolean + is_resource_change_collection_enabled: + default: false + description: When enabled, Datadog scans for all resource change data in your Google Cloud environment. + example: true + type: boolean + is_security_command_center_enabled: + default: false + description: 'When enabled, Datadog will attempt to collect Security Command Center Findings. Note: This requires additional permissions on the service account.' + example: true + type: boolean + metric_namespace_configs: + description: Configurations for GCP metric namespaces. + example: + - disabled: true + id: aiplatform + - filters: + - snapshot.* + - '!*_by_region' + id: pubsub + items: + $ref: '#/components/schemas/GCPMetricNamespaceConfig' + type: array + monitored_resource_configs: + description: Configurations for GCP monitored resources. + example: + - filters: + - $KEY:$VALUE + type: gce_instance + items: + $ref: '#/components/schemas/GCPMonitoredResourceConfig' + type: array + region_filter_configs: + description: Configurations for GCP location filtering, such as region, multi-region, or zone. Only monitored resources that match the specified regions are imported into Datadog. By default, Datadog collects from all locations. + example: + - nam4 + - europe-north1 + items: + description: Region Filter Configs + type: string + type: array + resource_collection_enabled: + description: When enabled, Datadog scans for all resources in your GCP environment. + type: boolean + type: object + GCPServiceAccountMeta: + description: Additional information related to your service account. + properties: + accessible_projects: + description: The current list of projects accessible from your service account. + items: + description: List of GCP projects. + type: string + type: array + type: object + GCPServiceAccountType: + default: gcp_service_account + description: The type of account. + enum: + - gcp_service_account + example: gcp_service_account + type: string + x-enum-varnames: + - GCP_SERVICE_ACCOUNT + GCPSTSDelegateAccountAttributes: + description: Your delegate account attributes. + properties: + delegate_account_email: + description: Your organization's Datadog principal email address. + example: ddgci-1a19n28hb1a812221893@datadog-gci-sts-us5-prod.iam.gserviceaccount.com + type: string + type: object + GCPSTSDelegateAccountType: + default: gcp_sts_delegate + description: The type of account. + enum: + - gcp_sts_delegate + example: gcp_sts_delegate + type: string + x-enum-varnames: + - GCP_STS_DELEGATE + GoogleChatOrganizationAttributes: + description: Google Chat organization attributes. + properties: + domain_id: + description: The Google Chat organization domain ID. + example: fake-domain-id + maxLength: 255 + type: string + domain_name: + description: The Google Chat organization domain name. + example: example.com + maxLength: 255 + type: string + type: object + GoogleChatOrganizationRelationships: + description: Google Chat organization relationships. + properties: + delegated_user: + $ref: '#/components/schemas/GoogleChatOrganizationRelationshipsDelegatedUser' + type: object + GoogleChatOrganizationType: + default: google-chat-organization + description: Google Chat organization resource type. + enum: + - google-chat-organization + example: google-chat-organization + type: string + x-enum-varnames: + - GOOGLE_CHAT_ORGANIZATION_TYPE + GoogleChatAppNamedSpaceResponseAttributes: + description: Google Chat space attributes. + properties: + display_name: + description: Google space display name. + example: Fake Space Name + maxLength: 255 + type: string + organization_binding_id: + description: Organization binding ID. + example: 2f18a894-adb5-4c53-8248-39fd3f5386a5 + maxLength: 255 + type: string + resource_name: + description: Google space resource name. + example: spaces/AAAAAAAAA + maxLength: 255 + type: string + space_uri: + description: Google space URI. + example: https://chat.google.com/room/AAAAAAAAA + maxLength: 255 + type: string + type: object + GoogleChatAppNamedSpaceType: + default: google-chat-app-named-space + description: Google Chat space resource type. + enum: + - google-chat-app-named-space + example: google-chat-app-named-space + type: string + x-enum-varnames: + - GOOGLE_CHAT_APP_NAMED_SPACE_TYPE + GoogleChatDelegatedUserAttributes: + description: Google Chat delegated user attributes. + properties: + display_name: + description: The delegated user's display name. + example: fake-display-name + type: string + email: + description: The delegated user's email address. + example: user@example.com + type: string + features: + description: The list of features enabled for the delegated user. + items: + type: string + type: array + type: object + GoogleChatDelegatedUserType: + default: google-chat-delegated-user + description: Google Chat delegated user resource type. + enum: + - google-chat-delegated-user + example: google-chat-delegated-user + type: string + x-enum-varnames: + - GOOGLE_CHAT_DELEGATED_USER_TYPE + GoogleChatOrganizationHandleResponseAttributes: + description: Organization handle attributes. + properties: + name: + description: Organization handle name. + example: fake-handle-name + maxLength: 255 + type: string + space_display_name: + description: Google space display name. + example: Fake Space Name + maxLength: 255 + type: string + space_resource_name: + description: Google space resource name. + example: spaces/AAAAAAAAA + maxLength: 255 + type: string + type: object + GoogleChatCreateOrganizationHandleRequestAttributes: + description: Organization handle attributes for a create request. + properties: + name: + description: Organization handle name. + example: fake-handle-name + maxLength: 255 + type: string + space_resource_name: + description: Google space resource name. + example: spaces/AAAAAAAAA + maxLength: 255 + type: string + required: + - name + - space_resource_name + type: object + GoogleChatUpdateOrganizationHandleRequestAttributes: + description: Organization handle attributes for an update request. + properties: + name: + description: Organization handle name. + example: fake-handle-name + maxLength: 255 + type: string + space_resource_name: + description: Google space resource name. + example: spaces/AAAAAAAAA + maxLength: 255 + type: string + type: object + GoogleChatTargetAudienceAttributes: + description: Google Chat target audience attributes. + properties: + audience_id: + description: The audience ID. + example: fake-audience-id-1 + maxLength: 255 + type: string + audience_name: + description: The audience name. + example: fake audience name 1 + maxLength: 255 + type: string + required: + - audience_name + - audience_id + type: object + GoogleChatTargetAudienceType: + default: google-chat-target-audience + description: Google Chat target audience resource type. + enum: + - google-chat-target-audience + example: google-chat-target-audience + type: string + x-enum-varnames: + - GOOGLE_CHAT_TARGET_AUDIENCE_TYPE + GoogleChatTargetAudienceCreateRequestAttributes: + description: Attributes for creating a Google Chat target audience. + properties: + audience_id: + description: The audience ID. + example: fake-audience-id-1 + maxLength: 255 + type: string + audience_name: + description: The audience name. + example: fake audience name 1 + maxLength: 255 + type: string + required: + - audience_name + - audience_id + type: object + GoogleChatTargetAudienceUpdateRequestAttributes: + description: Attributes for updating a Google Chat target audience. + properties: + audience_id: + description: The audience ID. + example: fake-audience-id-1 + maxLength: 255 + type: string + audience_name: + description: The audience name. + example: fake audience name 1 + maxLength: 255 + type: string + type: object + JiraAccountData: + description: Data object for a Jira account + properties: + attributes: + $ref: '#/components/schemas/JiraAccountAttributes' + id: + description: Unique identifier for the Jira account + example: account-1 + type: string + type: + $ref: '#/components/schemas/JiraAccountType' required: - - data + - id + - type + - attributes type: object - AWSIntegrationIamPermissionsResponse: - description: AWS Integration IAM Permissions response body. + JiraIssueTemplateCreateRequestAttributes: + description: Attributes for creating a Jira issue template properties: - data: - $ref: '#/components/schemas/AWSIntegrationIamPermissionsResponseData' + fields: + additionalProperties: {} + description: Custom fields for the Jira issue template + example: + description: + payload: Test + type: json + type: object + issue_type_id: + description: The ID of the Jira issue type + example: '12730' + type: string + jira-account: + $ref: '#/components/schemas/JiraIssueTemplateCreateRequestAttributesJiraAccount' + name: + description: The name of the issue template + example: test-template + type: string + project_id: + description: The ID of the Jira project + example: '10772' + type: string + type: object + JiraIssueTemplateType: + description: Type identifier for Jira issue template resources + enum: + - jira-issue-template + example: jira-issue-template + type: string + x-enum-varnames: + - JIRA_ISSUE_TEMPLATE + JiraIssueTemplateDataAttributes: + description: Attributes of a Jira issue template + properties: + fields: + additionalProperties: {} + description: Custom fields for the Jira issue template + example: + description: + payload: Test Description + type: json + type: object + issue_type_id: + description: The ID of the Jira issue type + example: '456' + type: string + name: + description: The name of the issue template + example: Test Template + type: string + project_id: + description: The ID of the Jira project + example: '123' + type: string required: - - data + - name + - project_id + - issue_type_id + - fields type: object - AWSLogsServicesResponse: - description: AWS Logs Services response body + JiraIssueTemplateDataRelationships: + description: Relationships of a Jira issue template properties: - data: - $ref: '#/components/schemas/AWSLogsServicesResponseData' + jira-account: + $ref: '#/components/schemas/JiraAccountRelationship' required: - - data + - jira-account type: object - GCPSTSServiceAccountsResponse: - description: Object containing all your STS enabled accounts. + JiraIssueTemplateUpdateRequestAttributes: + description: Attributes for updating a Jira issue template properties: - data: - description: Array of GCP STS enabled service accounts. - items: - $ref: '#/components/schemas/GCPSTSServiceAccount' - type: array + fields: + additionalProperties: {} + description: Custom fields for the Jira issue template + example: + description: + payload: Updated Description + type: json + type: object + name: + description: The name of the issue template + example: test_template_updated + type: string type: object - GCPSTSServiceAccountCreateRequest: - description: Data on your newly generated service account. + MicrosoftTeamsChannelInfoResponseAttributes: + description: Channel attributes. properties: - data: - $ref: '#/components/schemas/GCPSTSServiceAccountData' + is_primary: + description: Indicates if this is the primary channel. + example: true + maxLength: 255 + type: boolean + team_id: + description: Team id. + example: 00000000-0000-0000-0000-000000000000 + maxLength: 255 + type: string + tenant_id: + description: Tenant id. + example: 00000000-0000-0000-0000-000000000001 + maxLength: 255 + type: string type: object - GCPSTSServiceAccountResponse: - description: The account creation response. + MicrosoftTeamsChannelInfoType: + default: ms-teams-channel-info + description: Channel info resource type. + enum: + - ms-teams-channel-info + example: ms-teams-channel-info + type: string + x-enum-varnames: + - MS_TEAMS_CHANNEL_INFO + MicrosoftTeamsTenantBasedHandleInfoResponseAttributes: + description: Tenant-based handle attributes. properties: - data: - $ref: '#/components/schemas/GCPSTSServiceAccount' + channel_id: + description: Channel id. + example: fake-channel-id + maxLength: 255 + type: string + channel_name: + description: Channel name. + example: fake-channel-name + maxLength: 255 + type: string + name: + description: Tenant-based handle name. + example: fake-handle-name + maxLength: 255 + type: string + team_id: + description: Team id. + example: 00000000-0000-0000-0000-000000000000 + maxLength: 255 + type: string + team_name: + description: Team name. + example: fake-team-name + maxLength: 255 + type: string + tenant_id: + description: Tenant id. + example: 00000000-0000-0000-0000-000000000001 + maxLength: 255 + type: string + tenant_name: + description: Tenant name. + example: fake-tenant-name + maxLength: 255 + type: string type: object - GCPSTSServiceAccountUpdateRequest: - description: Service account info. + MicrosoftTeamsTenantBasedHandleInfoType: + default: ms-teams-tenant-based-handle-info + description: Tenant-based handle resource type. + enum: + - ms-teams-tenant-based-handle-info + example: ms-teams-tenant-based-handle-info + type: string + x-enum-varnames: + - MS_TEAMS_TENANT_BASED_HANDLE_INFO + MicrosoftTeamsTenantBasedHandleRequestAttributes: + description: Tenant-based handle attributes. properties: - data: - $ref: '#/components/schemas/GCPSTSServiceAccountUpdateRequestData' + channel_id: + description: Channel id. + example: fake-channel-id + maxLength: 255 + type: string + name: + description: Tenant-based handle name. + example: fake-handle-name + maxLength: 255 + type: string + team_id: + description: Team id. + example: 00000000-0000-0000-0000-000000000000 + maxLength: 255 + type: string + tenant_id: + description: Tenant id. + example: 00000000-0000-0000-0000-000000000001 + maxLength: 255 + type: string + required: + - name + - channel_id + - team_id + - tenant_id type: object - GCPSTSDelegateAccountResponse: - description: Your delegate service account response data. + MicrosoftTeamsTenantBasedHandleType: + default: tenant-based-handle + description: Specifies the tenant-based handle resource type. + enum: + - tenant-based-handle + example: tenant-based-handle + type: string + x-enum-varnames: + - TENANT_BASED_HANDLE + MicrosoftTeamsTenantBasedHandleAttributes: + description: Tenant-based handle attributes. properties: - data: - $ref: '#/components/schemas/GCPSTSDelegateAccount' + channel_id: + description: Channel id. + example: fake-channel-id + maxLength: 255 + type: string + name: + description: Tenant-based handle name. + example: fake-handle-name + maxLength: 255 + type: string + team_id: + description: Team id. + example: 00000000-0000-0000-0000-000000000000 + maxLength: 255 + type: string + tenant_id: + description: Tenant id. + example: 00000000-0000-0000-0000-000000000001 + maxLength: 255 + type: string type: object - MicrosoftTeamsGetChannelByNameResponse: - description: Response with channel, team, and tenant ID information. + MicrosoftTeamsWorkflowsWebhookResponseAttributes: + description: Workflows Webhook handle attributes. properties: - data: - $ref: '#/components/schemas/MicrosoftTeamsChannelInfoResponseData' + name: + description: Workflows Webhook handle name. + example: fake-handle-name + maxLength: 255 + type: string type: object - MicrosoftTeamsTenantBasedHandlesResponse: - description: Response with a list of tenant-based handles. + MicrosoftTeamsWorkflowsWebhookHandleType: + default: workflows-webhook-handle + description: Specifies the Workflows webhook handle resource type. + enum: + - workflows-webhook-handle + example: workflows-webhook-handle + type: string + x-enum-varnames: + - WORKFLOWS_WEBHOOK_HANDLE + MicrosoftTeamsWorkflowsWebhookHandleRequestAttributes: + description: Workflows Webhook handle attributes. properties: - data: - description: An array of tenant-based handles. - example: - - attributes: - channelId: 19:b41k24b14bn1nwffkernfkwrnfneubgkr@thread.tacv2 - channelName: General - name: general-handle - teamId: 00000000-0000-0000-0000-000000000000 - teamName: Example Team - tenantId: 00000000-0000-0000-0000-000000000001 - tenantName: Company, Inc. - id: 596da4af-0563-4097-90ff-07230c3f9db3 - type: ms-teams-tenant-based-handle-info - - attributes: - channelId: 19:b41k24b14bn1nwffkernfkwrnfneubgk1@thread.tacv2 - channelName: General2 - name: general-handle-2 - teamId: 00000000-0000-0000-0000-000000000002 - teamName: Example Team 2 - tenantId: 00000000-0000-0000-0000-000000000003 - tenantName: Company, Inc. - id: 596da4af-0563-4097-90ff-07230c3f9db4 - type: ms-teams-tenant-based-handle-info + name: + description: Workflows Webhook handle name. + example: fake-handle-name + maxLength: 255 + type: string + url: + description: Workflows Webhook URL. + example: https://fake.url.com + maxLength: 255 + type: string + required: + - name + - url + type: object + MicrosoftTeamsWorkflowsWebhookHandleAttributes: + description: Workflows Webhook handle attributes. + properties: + name: + description: Workflows Webhook handle name. + example: fake-handle-name + maxLength: 255 + type: string + url: + description: Workflows Webhook URL. + example: https://fake.url.com + maxLength: 255 + type: string + type: object + TenancyProductsDataAttributes: + description: Attributes of an OCI tenancy product resource, containing the list of available products and their enablement status. + properties: + products: + description: List of Datadog products and their enablement status for the tenancy. items: - $ref: >- - #/components/schemas/MicrosoftTeamsTenantBasedHandleInfoResponseData + $ref: '#/components/schemas/TenancyProductsDataAttributesProductsItems' type: array - required: - - data type: object - MicrosoftTeamsCreateTenantBasedHandleRequest: - description: Create tenant-based handle request. + TenancyProductsDataType: + default: oci_tenancy_product + description: OCI tenancy product resource type. + enum: + - oci_tenancy_product + example: oci_tenancy_product + type: string + x-enum-varnames: + - OCI_TENANCY_PRODUCT + TenancyConfigDataAttributes: + description: Attributes of an OCI tenancy integration configuration, including authentication details, region settings, and collection options. properties: - data: - $ref: '#/components/schemas/MicrosoftTeamsTenantBasedHandleRequestData' - required: - - data + billing_plan_id: + description: The identifier of the billing plan associated with the OCI tenancy. + format: int32 + maximum: 2147483647 + type: integer + config_version: + description: Version number of the integration the tenancy is integrated with + format: int64 + type: integer + cost_collection_enabled: + description: Whether cost data collection from OCI is enabled for the tenancy. + type: boolean + dd_compartment_id: + description: The OCID of the OCI compartment used by the Datadog integration stack. + type: string + dd_stack_id: + description: The OCID of the OCI Resource Manager stack used by the Datadog integration. + type: string + home_region: + description: The home region of the OCI tenancy (for example, us-ashburn-1). + type: string + logs_config: + $ref: '#/components/schemas/TenancyConfigDataAttributesLogsConfig' + metrics_config: + $ref: '#/components/schemas/TenancyConfigDataAttributesMetricsConfig' + parent_tenancy_name: + description: The name of the parent OCI tenancy, if applicable. + type: string + regions_config: + $ref: '#/components/schemas/TenancyConfigDataAttributesRegionsConfig' + resource_collection_enabled: + description: Whether resource collection from OCI is enabled for the tenancy. + type: boolean + tenancy_name: + description: The human-readable name of the OCI tenancy. + type: string + user_ocid: + description: The OCID of the OCI user used by the Datadog integration for authentication. + type: string type: object - MicrosoftTeamsTenantBasedHandleResponse: - description: Response of a tenant-based handle. + UpdateTenancyConfigDataType: + default: oci_tenancy + description: OCI tenancy resource type. + enum: + - oci_tenancy + example: oci_tenancy + type: string + x-enum-varnames: + - OCI_TENANCY + CreateTenancyConfigDataAttributes: + description: Attributes for creating a new OCI tenancy integration configuration, including credentials, region settings, and collection options. properties: - data: - $ref: '#/components/schemas/MicrosoftTeamsTenantBasedHandleResponseData' + auth_credentials: + $ref: '#/components/schemas/CreateTenancyConfigDataAttributesAuthCredentials' + config_version: + description: Version number of the integration the tenancy is integrated with + format: int64 + nullable: true + type: integer + cost_collection_enabled: + description: Whether cost data collection from OCI is enabled for the tenancy. + type: boolean + dd_compartment_id: + description: The OCID of the OCI compartment used by the Datadog integration stack. + type: string + dd_stack_id: + description: The OCID of the OCI Resource Manager stack used by the Datadog integration. + type: string + home_region: + description: The home region of the OCI tenancy (for example, us-ashburn-1). + example: '' + type: string + logs_config: + $ref: '#/components/schemas/CreateTenancyConfigDataAttributesLogsConfig' + metrics_config: + $ref: '#/components/schemas/CreateTenancyConfigDataAttributesMetricsConfig' + regions_config: + $ref: '#/components/schemas/CreateTenancyConfigDataAttributesRegionsConfig' + resource_collection_enabled: + description: Whether resource collection from OCI is enabled for the tenancy. + type: boolean + user_ocid: + description: The OCID of the OCI user used by the Datadog integration for authentication. + example: '' + type: string required: - - data + - auth_credentials + - home_region + - user_ocid type: object - MicrosoftTeamsUpdateTenantBasedHandleRequest: - description: Update tenant-based handle request. + UpdateTenancyConfigDataAttributes: + description: Attributes for updating an existing OCI tenancy integration configuration, including optional credentials, region settings, and collection options. properties: - data: - $ref: >- - #/components/schemas/MicrosoftTeamsUpdateTenantBasedHandleRequestData - required: - - data + auth_credentials: + $ref: '#/components/schemas/UpdateTenancyConfigDataAttributesAuthCredentials' + cost_collection_enabled: + description: Whether cost data collection from OCI is enabled for the tenancy. + type: boolean + home_region: + description: The home region of the OCI tenancy (for example, us-ashburn-1). + type: string + logs_config: + $ref: '#/components/schemas/UpdateTenancyConfigDataAttributesLogsConfig' + metrics_config: + $ref: '#/components/schemas/UpdateTenancyConfigDataAttributesMetricsConfig' + regions_config: + $ref: '#/components/schemas/UpdateTenancyConfigDataAttributesRegionsConfig' + resource_collection_enabled: + description: Whether resource collection from OCI is enabled for the tenancy. + type: boolean + user_ocid: + description: The OCID of the OCI user used by the Datadog integration for authentication. + type: string type: object - MicrosoftTeamsWorkflowsWebhookHandlesResponse: - description: Response with a list of Workflows webhook handles. + OpsgenieAccountResponseAttributes: + description: The attributes from an Opsgenie account response. properties: - data: - description: An array of Workflows webhook handles. - example: - - attributes: - name: general-handle - id: 596da4af-0563-4097-90ff-07230c3f9db3 - type: workflows-webhook-handle - - attributes: - name: general-handle-2 - id: 596da4af-0563-4097-90ff-07230c3f9db4 - type: workflows-webhook-handle - items: - $ref: >- - #/components/schemas/MicrosoftTeamsWorkflowsWebhookHandleResponseData - type: array - required: - - data + region: + $ref: '#/components/schemas/OpsgenieServiceRegionType' type: object - MicrosoftTeamsCreateWorkflowsWebhookHandleRequest: - description: Create Workflows webhook handle request. + OpsgenieAccountType: + default: opsgenie-account + description: Opsgenie account resource type. + enum: + - opsgenie-account + example: opsgenie-account + type: string + x-enum-varnames: + - OPSGENIE_ACCOUNT + OpsgenieAccountCreateAttributes: + description: The Opsgenie account attributes for a create request. properties: - data: - $ref: '#/components/schemas/MicrosoftTeamsWorkflowsWebhookHandleRequestData' + api_key: + description: The Opsgenie API key for your Opsgenie account. + example: 00000000-0000-0000-0000-000000000000 + minLength: 1 + type: string + region: + $ref: '#/components/schemas/OpsgenieServiceRegionType' required: - - data + - api_key + - region type: object - MicrosoftTeamsWorkflowsWebhookHandleResponse: - description: Response of a Workflows webhook handle. + OpsgenieAccountUpdateAttributes: + description: The Opsgenie account attributes for an update request. properties: - data: - $ref: >- - #/components/schemas/MicrosoftTeamsWorkflowsWebhookHandleResponseData - required: - - data + api_key: + description: The Opsgenie API key for your Opsgenie account. + example: 00000000-0000-0000-0000-000000000000 + minLength: 1 + type: string + region: + $ref: '#/components/schemas/OpsgenieServiceRegionType' type: object - MicrosoftTeamsUpdateWorkflowsWebhookHandleRequest: - description: Update Workflows webhook handle request. + OpsgenieServiceResponseAttributes: + description: The attributes from an Opsgenie service response. properties: - data: - $ref: >- - #/components/schemas/MicrosoftTeamsUpdateWorkflowsWebhookHandleRequestData - required: - - data + custom_url: + description: The custom URL for a custom region. + example: null + nullable: true + type: string + name: + description: The name for the Opsgenie service. + example: fake-opsgenie-service-name + maxLength: 100 + type: string + region: + $ref: '#/components/schemas/OpsgenieServiceRegionType' type: object - OpsgenieServicesResponse: - description: Response with a list of Opsgenie services. + OpsgenieServiceType: + default: opsgenie-service + description: Opsgenie service resource type. + enum: + - opsgenie-service + example: opsgenie-service + type: string + x-enum-varnames: + - OPSGENIE_SERVICE + OpsgenieServiceCreateAttributes: + description: The Opsgenie service attributes for a create request. properties: - data: - description: An array of Opsgenie services. - example: - - attributes: - custom_url: null - name: fake-opsgenie-service-name - region: us - id: 596da4af-0563-4097-90ff-07230c3f9db3 - type: opsgenie-service - - attributes: - custom_url: null - name: fake-opsgenie-service-name-2 - region: eu - id: 0d2937f1-b561-44fa-914a-99910f848014 - type: opsgenie-service - items: - $ref: '#/components/schemas/OpsgenieServiceResponseData' - type: array + custom_url: + description: The custom URL for a custom region. + example: https://example.com + type: string + name: + description: The name for the Opsgenie service. + example: fake-opsgenie-service-name + maxLength: 100 + type: string + opsgenie_api_key: + description: The Opsgenie API key for your Opsgenie service. + example: 00000000-0000-0000-0000-000000000000 + type: string + region: + $ref: '#/components/schemas/OpsgenieServiceRegionType' required: - - data + - name + - opsgenie_api_key + - region type: object - OpsgenieServiceCreateRequest: - description: Create request for an Opsgenie service. + OpsgenieServiceUpdateAttributes: + description: The Opsgenie service attributes for an update request. properties: - data: - $ref: '#/components/schemas/OpsgenieServiceCreateData' - required: - - data + custom_url: + description: The custom URL for a custom region. + example: https://example.com + nullable: true + type: string + name: + description: The name for the Opsgenie service. + example: fake-opsgenie-service-name + maxLength: 100 + type: string + opsgenie_api_key: + description: The Opsgenie API key for your Opsgenie service. + example: 00000000-0000-0000-0000-000000000000 + type: string + region: + $ref: '#/components/schemas/OpsgenieServiceRegionType' type: object - OpsgenieServiceResponse: - description: Response of an Opsgenie service. + SalesforceIncidentsTemplateResponseAttributes: + description: Salesforce incident template attributes returned by the API. properties: - data: - $ref: '#/components/schemas/OpsgenieServiceResponseData' + description: + description: Long-form description body for Salesforce incidents created from this template. + example: An incident was detected by Datadog monitors. + type: string + name: + description: Human-readable name for this incident template. + example: production-outage + type: string + owner_id: + description: The Salesforce user ID that owns incidents created from this template. + example: '005000000000000' + type: string + priority: + $ref: '#/components/schemas/SalesforceIncidentsTemplatePriority' + salesforce_org_id: + description: The Datadog-assigned ID of the Salesforce organization this template belongs to. + example: 596da4af-0563-4097-90ff-07230c3f9db3 + format: uuid + type: string + subject: + description: Subject line for Salesforce incidents created from this template. + example: 'Datadog Incident: Production Outage' + type: string + type: object + SalesforceIncidentsTemplateType: + default: salesforce-incidents-incident-template + description: Salesforce incident template resource type. + enum: + - salesforce-incidents-incident-template + example: salesforce-incidents-incident-template + type: string + x-enum-varnames: + - SALESFORCE_INCIDENTS_INCIDENT_TEMPLATE + SalesforceIncidentsTemplateCreateAttributes: + description: Salesforce incident template attributes for a create request. + properties: + description: + description: Long-form description body for Salesforce incidents created from this template. + example: An incident was detected by Datadog monitors. + maxLength: 2048 + minLength: 1 + type: string + name: + description: Human-readable name for this incident template. Must be unique within your organization. + example: production-outage + maxLength: 100 + minLength: 1 + type: string + owner_id: + description: The Salesforce user ID that owns incidents created from this template. + example: '005000000000000' + maxLength: 255 + minLength: 1 + type: string + priority: + $ref: '#/components/schemas/SalesforceIncidentsTemplatePriority' + salesforce_org_id: + description: The Datadog-assigned ID of the Salesforce organization this template belongs to. + example: 596da4af-0563-4097-90ff-07230c3f9db3 + format: uuid + type: string + subject: + description: Subject line for Salesforce incidents created from this template. + example: 'Datadog Incident: Production Outage' + maxLength: 255 + minLength: 1 + type: string required: - - data + - salesforce_org_id + - name + - subject + - description + - owner_id + - priority + type: object + SalesforceIncidentsTemplateUpdateAttributes: + description: Salesforce incident template attributes for an update request. + properties: + description: + description: Long-form description body for Salesforce incidents created from this template. + example: An incident was detected by Datadog monitors. + maxLength: 2048 + minLength: 1 + type: string + name: + description: Human-readable name for this incident template. + example: production-outage + maxLength: 100 + minLength: 1 + type: string + owner_id: + description: The Salesforce user ID that owns incidents created from this template. + example: '005000000000000' + maxLength: 255 + minLength: 1 + type: string + priority: + $ref: '#/components/schemas/SalesforceIncidentsTemplatePriority' + salesforce_org_id: + description: The Datadog-assigned ID of the Salesforce organization this template belongs to. + example: 596da4af-0563-4097-90ff-07230c3f9db3 + format: uuid + type: string + subject: + description: Subject line for Salesforce incidents created from this template. + example: 'Datadog Incident: Production Outage' + maxLength: 255 + minLength: 1 + type: string type: object - OpsgenieServiceUpdateRequest: - description: Update request for an Opsgenie service. + SalesforceIncidentsOrganizationResponseAttributes: + description: Attributes of a Salesforce organization connected to the Datadog Salesforce integration. properties: - data: - $ref: '#/components/schemas/OpsgenieServiceUpdateData' - required: - - data + instance_url: + description: The Salesforce instance URL used to call this organization's APIs. + example: https://acme.my.salesforce.com + type: string + name: + description: Human-readable name of the Salesforce organization. + example: Acme Production Org + type: string + sfdc_org_id: + description: The Salesforce organization identifier (15- or 18-character Salesforce org ID). + example: 00D000000000000 + type: string + sfdc_org_type: + description: The Salesforce organization type (for example, `Production` or `Sandbox`). + example: Production + type: string type: object - CloudflareAccountsResponse: - description: The expected response schema when getting Cloudflare accounts. + SalesforceIncidentsOrganizationType: + default: salesforce-incidents-org + description: Salesforce organization resource type. + enum: + - salesforce-incidents-org + example: salesforce-incidents-org + type: string + x-enum-varnames: + - SALESFORCE_INCIDENTS_ORG + ServiceNowAssignmentGroupData: + description: Data object for a ServiceNow assignment group properties: - data: - description: The JSON:API data schema. - items: - $ref: '#/components/schemas/CloudflareAccountResponseData' - type: array + attributes: + $ref: '#/components/schemas/ServiceNowAssignmentGroupAttributes' + id: + description: Unique identifier for the ServiceNow assignment group + example: 65b3341b-0680-47f9-a6d4-134db45c603e + format: uuid + type: string + type: + $ref: '#/components/schemas/ServiceNowAssignmentGroupType' + required: + - id + - type + - attributes type: object - CloudflareAccountCreateRequest: - description: Payload schema when adding a Cloudflare account. + ServiceNowBusinessServiceData: + description: Data object for a ServiceNow business service properties: - data: - $ref: '#/components/schemas/CloudflareAccountCreateRequestData' + attributes: + $ref: '#/components/schemas/ServiceNowBusinessServiceAttributes' + id: + description: Unique identifier for the ServiceNow business service + example: 65b3341b-0680-47f9-a6d4-134db45c603e + format: uuid + type: string + type: + $ref: '#/components/schemas/ServiceNowBusinessServiceType' required: - - data + - id + - type + - attributes type: object - CloudflareAccountResponse: - description: The expected response schema when getting a Cloudflare account. + ServiceNowTemplateCreateRequestAttributes: + description: Attributes for creating a ServiceNow template properties: - data: - $ref: '#/components/schemas/CloudflareAccountResponseData' + assignment_group_id: + description: The ID of the assignment group + example: 65b3341b-0680-47f9-a6d4-134db45c603e + format: uuid + type: string + business_service_id: + description: The ID of the business service + example: 65b3341b-0680-47f9-a6d4-134db45c603e + format: uuid + type: string + fields_mapping: + additionalProperties: + type: string + description: Custom field mappings for the template + example: + category: software + priority: '1' + type: object + handle_name: + description: The handle name of the template + example: incident-template + type: string + instance_id: + description: The ID of the ServiceNow instance + example: 65b3341b-0680-47f9-a6d4-134db45c603e + format: uuid + type: string + servicenow_tablename: + description: The name of the destination ServiceNow table + example: incident + type: string + user_id: + description: The ID of the user + example: 65b3341b-0680-47f9-a6d4-134db45c603e + format: uuid + type: string + required: + - instance_id + - handle_name + - servicenow_tablename type: object - CloudflareAccountUpdateRequest: - description: Payload schema when updating a Cloudflare account. + ServiceNowTemplateType: + description: Type identifier for ServiceNow template resources + enum: + - servicenow_templates + example: servicenow_templates + type: string + x-enum-varnames: + - SERVICENOW_TEMPLATES + ServiceNowTemplateAttributes: + description: Attributes of a ServiceNow template properties: - data: - $ref: '#/components/schemas/CloudflareAccountUpdateRequestData' + assignment_group_id: + description: The ID of the assignment group + example: 65b3341b-0680-47f9-a6d4-134db45c603e + format: uuid + type: string + business_service_id: + description: The ID of the business service + example: 65b3341b-0680-47f9-a6d4-134db45c603e + format: uuid + type: string + fields_mapping: + additionalProperties: + type: string + description: Custom field mappings for the template + example: + category: software + priority: '1' + type: object + handle_name: + description: The handle name of the template + example: incident-template + type: string + instance_id: + description: The ID of the ServiceNow instance + example: 65b3341b-0680-47f9-a6d4-134db45c603e + format: uuid + type: string + servicenow_tablename: + description: The name of the destination ServiceNow table + example: incident + type: string + user_id: + description: The ID of the user + example: 65b3341b-0680-47f9-a6d4-134db45c603e + format: uuid + type: string required: - - data + - instance_id + - handle_name + - servicenow_tablename type: object - ConfluentAccountsResponse: - description: Confluent account returned by the API. + ServiceNowTemplateUpdateRequestAttributes: + description: Attributes for updating a ServiceNow template properties: - data: - description: The Confluent account. - items: - $ref: '#/components/schemas/ConfluentAccountResponseData' - type: array + assignment_group_id: + description: The ID of the assignment group + example: 65b3341b-0680-47f9-a6d4-134db45c603e + format: uuid + type: string + business_service_id: + description: The ID of the business service + example: 65b3341b-0680-47f9-a6d4-134db45c603e + format: uuid + type: string + fields_mapping: + additionalProperties: + type: string + description: Custom field mappings for the template + example: + category: hardware + priority: '2' + type: object + handle_name: + description: The handle name of the template + example: incident-template-updated + type: string + instance_id: + description: The ID of the ServiceNow instance + example: 65b3341b-0680-47f9-a6d4-134db45c603e + format: uuid + type: string + servicenow_tablename: + description: The name of the destination ServiceNow table + example: incident + type: string + user_id: + description: The ID of the user + example: 65b3341b-0680-47f9-a6d4-134db45c603e + format: uuid + type: string + required: + - instance_id + - handle_name + - servicenow_tablename type: object - ConfluentAccountCreateRequest: - description: Payload schema when adding a Confluent account. + ServiceNowInstanceData: + description: Data object for a ServiceNow instance properties: - data: - $ref: '#/components/schemas/ConfluentAccountCreateRequestData' + attributes: + $ref: '#/components/schemas/ServiceNowInstanceAttributes' + id: + description: Unique identifier for the ServiceNow instance + example: 65b3341b-0680-47f9-a6d4-134db45c603e + format: uuid + type: string + type: + $ref: '#/components/schemas/ServiceNowInstanceType' required: - - data + - id + - type + - attributes type: object - ConfluentAccountResponse: - description: The expected response schema when getting a Confluent account. + ServiceNowUserData: + description: Data object for a ServiceNow user properties: - data: - $ref: '#/components/schemas/ConfluentAccountResponseData' + attributes: + $ref: '#/components/schemas/ServiceNowUserAttributes' + id: + description: Unique identifier for the ServiceNow user + example: 65b3341b-0680-47f9-a6d4-134db45c603e + format: uuid + type: string + type: + $ref: '#/components/schemas/ServiceNowUserType' + required: + - id + - type + - attributes type: object - ConfluentAccountUpdateRequest: - description: The JSON:API request for updating a Confluent account. + SlackUserBindingType: + default: team_id + description: Slack user binding resource type. + enum: + - team_id + example: team_id + type: string + x-enum-varnames: + - TEAM_ID + StatuspageAccountResponseAttributes: + description: The attributes from a Statuspage account response. properties: - data: - $ref: '#/components/schemas/ConfluentAccountUpdateRequestData' - required: - - data + api_key: + description: The Statuspage API key for your Statuspage account. The value is always returned masked. + example: '*****' + type: string type: object - ConfluentResourcesResponse: - description: Response schema when interacting with a list of Confluent resources. + StatuspageAccountType: + default: statuspage-account + description: Statuspage account resource type. + enum: + - statuspage-account + example: statuspage-account + type: string + x-enum-varnames: + - STATUSPAGE_ACCOUNT + StatuspageAccountUpdateAttributes: + description: The Statuspage account attributes for an update request. properties: - data: - description: The JSON:API data attribute. - items: - $ref: '#/components/schemas/ConfluentResourceResponseData' - type: array + api_key: + description: The Statuspage API key for your Statuspage account. + example: 00000000-0000-0000-0000-000000000000 + minLength: 1 + type: string type: object - ConfluentResourceRequest: - description: The JSON:API request for updating a Confluent resource. + StatuspageAccountCreateAttributes: + description: The Statuspage account attributes for a create request. properties: - data: - $ref: '#/components/schemas/ConfluentResourceRequestData' + api_key: + description: The Statuspage API key for your Statuspage account. + example: 00000000-0000-0000-0000-000000000000 + minLength: 1 + type: string required: - - data + - api_key type: object - ConfluentResourceResponse: - description: Response schema when interacting with a Confluent resource. + StatuspageUrlSettingResponseAttributes: + description: The attributes from a Statuspage URL setting response. properties: - data: - $ref: '#/components/schemas/ConfluentResourceResponseData' + custom_tags: + description: Comma-separated list of custom tags applied to events generated from this Statuspage URL. + example: team:collaboration-integrations,env:prod + type: string + url: + description: The Statuspage URL being monitored. + example: https://example.statuspage.io + type: string type: object - FastlyAccountsResponse: - description: The expected response schema when getting Fastly accounts. + StatuspageUrlSettingType: + default: statuspage-url-setting + description: Statuspage URL setting resource type. + enum: + - statuspage-url-setting + example: statuspage-url-setting + type: string + x-enum-varnames: + - STATUSPAGE_URL_SETTING + StatuspageUrlSettingCreateAttributes: + description: The Statuspage URL setting attributes for a create request. properties: - data: - description: The JSON:API data schema. - items: - $ref: '#/components/schemas/FastlyAccountResponseData' - type: array + custom_tags: + description: Comma-separated list of custom tags to apply to events generated from this Statuspage URL. + example: team:collaboration-integrations,env:prod + minLength: 1 + type: string + url: + description: The Statuspage URL to monitor. Must be a `status.io` or `statuspage.com` URL. + example: https://example.statuspage.io + minLength: 1 + type: string + required: + - url + - custom_tags type: object - FastlyAccountCreateRequest: - description: Payload schema when adding a Fastly account. + StatuspageUrlSettingUpdateAttributes: + description: The Statuspage URL setting attributes for an update request. properties: - data: - $ref: '#/components/schemas/FastlyAccountCreateRequestData' - required: - - data + custom_tags: + description: Comma-separated list of custom tags to apply to events generated from this Statuspage URL. + example: team:collaboration-integrations,env:prod + minLength: 1 + type: string + url: + description: The Statuspage URL to monitor. + example: https://example.statuspage.io + minLength: 1 + type: string type: object - FastlyAccountResponse: - description: The expected response schema when getting a Fastly account. + WebhooksAuthMethodAttributes: + description: Attributes of a webhooks auth method. properties: - data: - $ref: '#/components/schemas/FastlyAccountResponseData' + protocol: + $ref: '#/components/schemas/WebhooksAuthMethodProtocol' type: object - FastlyAccountUpdateRequest: - description: Payload schema when updating a Fastly account. + WebhooksAuthMethodRelationships: + description: Relationships of a webhooks auth method to its protocol-specific resource. properties: - data: - $ref: '#/components/schemas/FastlyAccountUpdateRequestData' - required: - - data + oauth2-client-credentials: + $ref: '#/components/schemas/WebhooksOAuth2ClientCredentialsRelationship' type: object - FastlyServicesResponse: - description: The expected response schema when getting Fastly services. + WebhooksAuthMethodType: + default: webhooks-auth-method + description: Webhooks auth method resource type. + enum: + - webhooks-auth-method + example: webhooks-auth-method + type: string + x-enum-varnames: + - WEBHOOKS_AUTH_METHOD + WebhooksOAuth2ClientCredentialsResponseAttributes: + description: OAuth2 client credentials attributes returned by the API. The `client_secret` is never echoed. properties: - data: - description: The JSON:API data schema. - items: - $ref: '#/components/schemas/FastlyServiceData' - type: array + access_token_url: + description: URL of the OAuth2 access token endpoint. + example: https://example.com/oauth/token + type: string + audience: + description: The intended audience for the OAuth2 access token. + example: https://api.example.com + nullable: true + type: string + client_id: + description: The OAuth2 client ID issued by the authorization server. + example: my-client-id + type: string + name: + description: Human-readable name for this auth method. + example: my-oauth2-auth + type: string + protocol: + $ref: '#/components/schemas/WebhooksAuthMethodProtocol' + scope: + description: Space-separated list of OAuth2 scopes to request. + example: read:webhooks write:webhooks + nullable: true + type: string type: object - FastlyServiceRequest: - description: Payload schema for Fastly service requests. + WebhooksOAuth2ClientCredentialsType: + default: webhooks-auth-method-oauth2-client-credentials + description: OAuth2 client credentials resource type. + enum: + - webhooks-auth-method-oauth2-client-credentials + example: webhooks-auth-method-oauth2-client-credentials + type: string + x-enum-varnames: + - WEBHOOKS_AUTH_METHOD_OAUTH2_CLIENT_CREDENTIALS + WebhooksOAuth2ClientCredentialsCreateAttributes: + description: OAuth2 client credentials attributes for a create request. properties: - data: - $ref: '#/components/schemas/FastlyServiceData' + access_token_url: + description: URL of the OAuth2 access token endpoint. + example: https://example.com/oauth/token + maxLength: 2048 + minLength: 1 + type: string + audience: + description: The intended audience for the OAuth2 access token. + example: https://api.example.com + maxLength: 2048 + minLength: 1 + nullable: true + type: string + client_id: + description: The OAuth2 client ID issued by the authorization server. + example: my-client-id + maxLength: 2048 + minLength: 1 + type: string + client_secret: + description: |- + The OAuth2 client secret issued by the authorization server. + Write-only; never returned by the API. + example: my-client-secret + maxLength: 2048 + minLength: 1 + type: string + name: + description: Human-readable name for this auth method. Must be unique within your organization. + example: my-oauth2-auth + maxLength: 100 + minLength: 1 + type: string + scope: + description: Space-separated list of OAuth2 scopes to request. + example: read:webhooks write:webhooks + maxLength: 2048 + minLength: 1 + nullable: true + type: string required: - - data + - name + - access_token_url + - client_id + - client_secret type: object - FastlyServiceResponse: - description: The expected response schema when getting a Fastly service. + WebhooksOAuth2ClientCredentialsUpdateAttributes: + description: OAuth2 client credentials attributes for an update request. properties: - data: - $ref: '#/components/schemas/FastlyServiceData' + access_token_url: + description: URL of the OAuth2 access token endpoint. + example: https://example.com/oauth/token + maxLength: 2048 + minLength: 1 + type: string + audience: + description: The intended audience for the OAuth2 access token. + example: https://api.example.com + maxLength: 2048 + minLength: 1 + nullable: true + type: string + client_id: + description: The OAuth2 client ID issued by the authorization server. + example: my-client-id + maxLength: 2048 + minLength: 1 + type: string + client_secret: + description: |- + The OAuth2 client secret issued by the authorization server. + Write-only; never returned by the API. + example: my-client-secret + maxLength: 2048 + minLength: 1 + type: string + name: + description: Human-readable name for this auth method. + example: my-oauth2-auth + maxLength: 100 + minLength: 1 + type: string + scope: + description: Space-separated list of OAuth2 scopes to request. + example: read:webhooks write:webhooks + maxLength: 2048 + minLength: 1 + nullable: true + type: string type: object - OktaAccountsResponse: - description: The expected response schema when getting Okta accounts. + IntegrationAttributes: + description: Attributes for an integration. properties: - data: - description: List of Okta accounts. + categories: + description: List of categories associated with the integration. + example: + - Category::Kubernetes + - Category::Log Collection items: - $ref: '#/components/schemas/OktaAccountResponseData' + description: A category associated with the integration. + type: string type: array + description: + description: A description of the integration. + example: Calico is a networking and network security solution for containers. + type: string + installed: + description: Whether the integration is installed. + example: true + type: boolean + title: + description: The name of the integration. + example: calico + type: string + required: + - title + - description + - categories + - installed type: object - OktaAccountRequest: - description: Request object for an Okta account. + IntegrationLinks: + description: Links for the integration resource. properties: - data: - $ref: '#/components/schemas/OktaAccount' - required: - - data + self: + description: Link to the integration resource. + example: /integrations?integrationId=calico + type: string type: object - OktaAccountResponse: - description: Response object for an Okta account. + IntegrationType: + default: integration + description: Integration resource type. + enum: + - integration + example: integration + type: string + x-enum-varnames: + - INTEGRATION + CloudflareAccountResponseAttributes: + description: Attributes object of a Cloudflare account. properties: - data: - $ref: '#/components/schemas/OktaAccount' + email: + description: The email associated with the Cloudflare account. + example: test-email@example.com + type: string + name: + description: The name of the Cloudflare account. + example: test-name + type: string + resources: + description: An allowlist of resources, such as `web`, `dns`, `lb` (load balancer), `worker`, that restricts pulling metrics from those resources. + example: + - web + - dns + - lb + - worker + items: + description: A Cloudflare resource type (for example, `web`, `dns`, `lb`, `worker`). + type: string + type: array + zones: + description: An allowlist of zones to restrict pulling metrics for. + example: + - zone_id_1 + - zone_id_2 + items: + description: A Cloudflare zone ID to restrict pulling metrics for. + type: string + type: array + required: + - name type: object - OktaAccountUpdateRequest: - description: Payload schema when updating an Okta account. + CloudflareAccountType: + default: cloudflare-accounts + description: The JSON:API type for this API. Should always be `cloudflare-accounts`. + enum: + - cloudflare-accounts + example: cloudflare-accounts + type: string + x-enum-varnames: + - CLOUDFLARE_ACCOUNTS + CloudflareAccountCreateRequestAttributes: + description: Attributes object for creating a Cloudflare account. properties: - data: - $ref: '#/components/schemas/OktaAccountUpdateRequestData' + api_key: + description: The API key (or token) for the Cloudflare account. + example: a94a8fe5ccb19ba61c4c0873d391e987982fbbd3 + type: string + email: + description: The email associated with the Cloudflare account. If an API key is provided (and not a token), this field is also required. + example: test-email@example.com + type: string + name: + description: The name of the Cloudflare account. + example: test-name + type: string + resources: + description: An allowlist of resources to restrict pulling metrics for including `'web', 'dns', 'lb' (load balancer), 'worker'`. + example: + - web + - dns + - lb + - worker + items: + description: A Cloudflare resource type (for example, `web`, `dns`, `lb`, `worker`). + type: string + type: array + zones: + description: An allowlist of zones to restrict pulling metrics for. + example: + - zone_id_1 + - zone_id_2 + items: + description: A Cloudflare zone ID to restrict pulling metrics for. + type: string + type: array required: - - data + - api_key + - name type: object - AWSAccountResponseData: - description: AWS Account response data. + CloudflareAccountUpdateRequestAttributes: + description: Attributes object for updating a Cloudflare account. properties: - attributes: - $ref: '#/components/schemas/AWSAccountResponseAttributes' - id: - $ref: '#/components/schemas/AWSAccountConfigID' - type: - $ref: '#/components/schemas/AWSAccountType' + api_key: + description: The API key of the Cloudflare account. + example: a94a8fe5ccb19ba61c4c0873d391e987982fbbd3 + type: string + email: + description: The email associated with the Cloudflare account. If an API key is provided (and not a token), this field is also required. + example: test-email@example.com + type: string + name: + description: The name of the Cloudflare account. + type: string + resources: + description: An allowlist of resources to restrict pulling metrics for including `'web', 'dns', 'lb' (load balancer), 'worker'`. + example: + - web + - dns + - lb + - worker + items: + description: A Cloudflare resource type (for example, `web`, `dns`, `lb`, `worker`). + type: string + type: array + zones: + description: An allowlist of zones to restrict pulling metrics for. + example: + - zone_id_1 + - zone_id_2 + items: + description: A Cloudflare zone ID to restrict pulling metrics for. + type: string + type: array required: - - id - - type + - api_key type: object - APIErrorResponse: - description: API error response. + ConfluentAccountResponseAttributes: + description: The attributes of a Confluent account. properties: - errors: - description: A list of errors. + api_key: + description: The API key associated with your Confluent account. + example: TESTAPIKEY123 + type: string + resources: + description: A list of Confluent resources associated with the Confluent account. + items: + $ref: '#/components/schemas/ConfluentResourceResponseAttributes' + type: array + tags: + description: A list of strings representing tags. Can be a single key, or key-value pairs separated by a colon. example: - - Bad Request + - myTag + - myTag2:myValue items: - description: A list of items. - example: Bad Request + description: A tag for the Confluent resource. Can be a single key or a key-value pair separated by a colon. type: string type: array required: - - errors + - api_key type: object - AWSAccountCreateRequestData: - description: AWS Account Create Request data. + ConfluentAccountType: + default: confluent-cloud-accounts + description: The JSON:API type for this API. Should always be `confluent-cloud-accounts`. + enum: + - confluent-cloud-accounts + example: confluent-cloud-accounts + type: string + x-enum-varnames: + - CONFLUENT_CLOUD_ACCOUNTS + ConfluentAccountCreateRequestAttributes: + description: Attributes associated with the account creation request. properties: - attributes: - $ref: '#/components/schemas/AWSAccountCreateRequestAttributes' - type: - $ref: '#/components/schemas/AWSAccountType' + api_key: + description: The API key associated with your Confluent account. + example: TESTAPIKEY123 + type: string + api_secret: + description: The API secret associated with your Confluent account. + example: test-api-secret-123 + type: string + resources: + description: A list of Confluent resources associated with the Confluent account. + items: + $ref: '#/components/schemas/ConfluentAccountResourceAttributes' + type: array + tags: + description: A list of strings representing tags. Can be a single key, or key-value pairs separated by a colon. + example: + - myTag + - myTag2:myValue + items: + description: A tag for the Confluent resource. Can be a single key or a key-value pair separated by a colon. + type: string + type: array required: - - attributes - - type + - api_key + - api_secret type: object - AWSAccountUpdateRequestData: - description: AWS Account Update Request data. + ConfluentAccountUpdateRequestAttributes: + description: Attributes object for updating a Confluent account. properties: - attributes: - $ref: '#/components/schemas/AWSAccountUpdateRequestAttributes' - id: - $ref: '#/components/schemas/AWSAccountConfigID' - type: - $ref: '#/components/schemas/AWSAccountType' + api_key: + description: The API key associated with your Confluent account. + example: TESTAPIKEY123 + type: string + api_secret: + description: The API secret associated with your Confluent account. + example: test-api-secret-123 + type: string + tags: + description: A list of strings representing tags. Can be a single key, or key-value pairs separated by a colon. + example: + - myTag + - myTag2:myValue + items: + description: A tag for the Confluent resource. Can be a single key or a key-value pair separated by a colon. + type: string + type: array required: - - attributes - - type + - api_key + - api_secret type: object - AWSNamespacesResponseData: - description: AWS Namespaces response data. + ConfluentResourceResponseAttributes: + description: Model representation of a Confluent Cloud resource. properties: - attributes: - $ref: '#/components/schemas/AWSNamespacesResponseAttributes' + enable_custom_metrics: + default: false + description: Enable the `custom.consumer_lag_offset` metric, which contains extra metric tags. + example: false + type: boolean id: - default: namespaces - description: The `AWSNamespacesResponseData` `id`. - example: namespaces + description: The ID associated with the Confluent resource. + example: resource_id_abc123 + type: string + resource_type: + description: The resource type of the Resource. Can be `kafka`, `connector`, `ksql`, or `schema_registry`. + example: kafka type: string - type: - $ref: '#/components/schemas/AWSNamespacesResponseDataType' + tags: + description: A list of strings representing tags. Can be a single key, or key-value pairs separated by a colon. + example: + - myTag + - myTag2:myValue + items: + description: A tag for the Confluent resource. Can be a single key or a key-value pair separated by a colon. + type: string + type: array required: - - id - - type + - resource_type type: object - AWSNewExternalIDResponseData: - description: AWS External ID response body. + ConfluentResourceType: + default: confluent-cloud-resources + description: The JSON:API type for this request. + enum: + - confluent-cloud-resources + example: confluent-cloud-resources + type: string + x-enum-varnames: + - CONFLUENT_CLOUD_RESOURCES + ConfluentResourceRequestAttributes: + description: Attributes object for updating a Confluent resource. properties: - attributes: - $ref: '#/components/schemas/AWSNewExternalIDResponseAttributes' - id: - default: external_id - description: The `AWSNewExternalIDResponseData` `id`. - example: external_id + enable_custom_metrics: + default: false + description: Enable the `custom.consumer_lag_offset` metric, which contains extra metric tags. + example: false + type: boolean + resource_type: + description: The resource type of the Resource. Can be `kafka`, `connector`, `ksql`, or `schema_registry`. + example: kafka type: string - type: - $ref: '#/components/schemas/AWSNewExternalIDResponseDataType' + tags: + description: A list of strings representing tags. Can be a single key, or key-value pairs separated by a colon. + example: + - myTag + - myTag2:myValue + items: + description: A tag for the Confluent resource. Can be a single key or a key-value pair separated by a colon. + type: string + type: array required: - - id - - type + - resource_type type: object - AWSIntegrationIamPermissionsResponseData: - description: AWS Integration IAM Permissions response data. + FastlyAccounResponseAttributes: + description: Attributes object of a Fastly account. properties: - attributes: - $ref: '#/components/schemas/AWSIntegrationIamPermissionsResponseAttributes' - id: - default: permissions - description: The `AWSIntegrationIamPermissionsResponseData` `id`. - example: permissions + name: + description: The name of the Fastly account. + example: test-name type: string - type: - $ref: '#/components/schemas/AWSIntegrationIamPermissionsResponseDataType' + services: + description: A list of services belonging to the parent account. + items: + $ref: '#/components/schemas/FastlyService' + type: array + required: + - name type: object - AWSLogsServicesResponseData: - description: AWS Logs Services response body + FastlyAccountType: + default: fastly-accounts + description: The JSON:API type for this API. Should always be `fastly-accounts`. + enum: + - fastly-accounts + example: fastly-accounts + type: string + x-enum-varnames: + - FASTLY_ACCOUNTS + FastlyAccountCreateRequestAttributes: + description: Attributes object for creating a Fastly account. properties: - attributes: - $ref: '#/components/schemas/AWSLogsServicesResponseAttributes' - id: - default: logs_services - description: The `AWSLogsServicesResponseData` `id`. - example: logs_services + api_key: + description: The API key for the Fastly account. + example: ABCDEFG123 type: string - type: - $ref: '#/components/schemas/AWSLogsServicesResponseDataType' + name: + description: The name of the Fastly account. + example: test-name + type: string + services: + description: A list of services belonging to the parent account. + items: + $ref: '#/components/schemas/FastlyService' + type: array required: - - id - - type + - api_key + - name type: object - GCPSTSServiceAccount: - description: Info on your service account. + FastlyAccountUpdateRequestAttributes: + description: Attributes object for updating a Fastly account. properties: - attributes: - $ref: '#/components/schemas/GCPSTSServiceAccountAttributes' - id: - description: Your service account's unique ID. - example: d291291f-12c2-22g4-j290-123456678897 + api_key: + description: The API key of the Fastly account. + example: ABCDEFG123 + type: string + name: + description: The name of the Fastly account. type: string - meta: - $ref: '#/components/schemas/GCPServiceAccountMeta' - type: - $ref: '#/components/schemas/GCPServiceAccountType' type: object - GCPSTSServiceAccountData: - description: Additional metadata on your generated service account. + FastlyServiceAttributes: + description: Attributes object for Fastly service requests. properties: - attributes: - $ref: '#/components/schemas/GCPSTSServiceAccountAttributes' - type: - $ref: '#/components/schemas/GCPServiceAccountType' + tags: + description: A list of tags for the Fastly service. + example: + - myTag + - myTag2:myValue + items: + description: A tag for the Fastly service. + type: string + type: array type: object - GCPSTSServiceAccountUpdateRequestData: - description: Data on your service account. + FastlyServiceType: + default: fastly-services + description: The JSON:API type for this API. Should always be `fastly-services`. + enum: + - fastly-services + example: fastly-services + type: string + x-enum-varnames: + - FASTLY_SERVICES + OktaAccountAttributes: + description: Attributes object for an Okta account. properties: - attributes: - $ref: '#/components/schemas/GCPSTSServiceAccountAttributes' - id: - description: Your service account's unique ID. - example: d291291f-12c2-22g4-j290-123456678897 + api_key: + description: The API key of the Okta account. type: string - type: - $ref: '#/components/schemas/GCPServiceAccountType' - type: object - GCPSTSDelegateAccount: - description: Datadog principal service account info. - properties: - attributes: - $ref: '#/components/schemas/GCPSTSDelegateAccountAttributes' - id: - description: The ID of the delegate service account. - example: >- - ddgci-1a19n28hb1a812221893@datadog-gci-sts-us5-prod.iam.gserviceaccount.com + writeOnly: true + auth_method: + description: The authorization method for an Okta account. + example: oauth type: string - type: - $ref: '#/components/schemas/GCPSTSDelegateAccountType' - type: object - MicrosoftTeamsChannelInfoResponseData: - description: Channel data from a response. - properties: - attributes: - $ref: '#/components/schemas/MicrosoftTeamsChannelInfoResponseAttributes' - id: - description: The ID of the channel. - example: 19:b41k24b14bn1nwffkernfkwrnfneubgkr@thread.tacv2 - maxLength: 255 - minLength: 1 + client_id: + description: The Client ID of an Okta app integration. type: string - type: - $ref: '#/components/schemas/MicrosoftTeamsChannelInfoType' - type: object - MicrosoftTeamsTenantBasedHandleInfoResponseData: - description: Tenant-based handle data from a response. - properties: - attributes: - $ref: >- - #/components/schemas/MicrosoftTeamsTenantBasedHandleInfoResponseAttributes - id: - description: The ID of the tenant-based handle. - example: 596da4af-0563-4097-90ff-07230c3f9db3 - maxLength: 100 - minLength: 1 + client_secret: + description: The client secret of an Okta app integration. type: string - type: - $ref: '#/components/schemas/MicrosoftTeamsTenantBasedHandleInfoType' + writeOnly: true + domain: + description: The domain of the Okta account. + example: https://example.okta.com/ + type: string + name: + description: The name of the Okta account. + example: Okta-Prod + type: string + required: + - auth_method + - domain + - name type: object - MicrosoftTeamsTenantBasedHandleRequestData: - description: Tenant-based handle data from a response. + OktaAccountType: + default: okta-accounts + description: Account type for an Okta account. + enum: + - okta-accounts + example: okta-accounts + type: string + x-enum-varnames: + - OKTA_ACCOUNTS + OktaAccountUpdateRequestAttributes: + description: Attributes object for updating an Okta account. properties: - attributes: - $ref: >- - #/components/schemas/MicrosoftTeamsTenantBasedHandleRequestAttributes - type: - $ref: '#/components/schemas/MicrosoftTeamsTenantBasedHandleType' + api_key: + description: The API key of the Okta account. + type: string + writeOnly: true + auth_method: + description: The authorization method for an Okta account. + example: oauth + type: string + client_id: + description: The Client ID of an Okta app integration. + type: string + client_secret: + description: The client secret of an Okta app integration. + type: string + writeOnly: true + domain: + description: The domain associated with an Okta account. + example: https://dev-test.okta.com/ + type: string required: - - type - - attributes + - auth_method + - domain type: object - MicrosoftTeamsTenantBasedHandleResponseData: - description: Tenant-based handle data from a response. + BatchRowsQueryRequestDataAttributes: + description: Attributes for a batch rows query request. properties: - attributes: - $ref: '#/components/schemas/MicrosoftTeamsTenantBasedHandleAttributes' - id: - description: The ID of the tenant-based handle. - example: 596da4af-0563-4097-90ff-07230c3f9db3 - maxLength: 100 - minLength: 1 + row_ids: + description: List of row identifiers to query from the reference table. + example: + - row_id_1 + - row_id_2 + items: + description: A single row identifier. + type: string + type: array + table_id: + description: Unique identifier of the reference table to query. + example: 00000000-0000-0000-0000-000000000000 type: string - type: - $ref: '#/components/schemas/MicrosoftTeamsTenantBasedHandleType' + required: + - row_ids + - table_id type: object - MicrosoftTeamsUpdateTenantBasedHandleRequestData: - description: Tenant-based handle data from a response. + BatchRowsQueryDataType: + default: reference-tables-batch-rows-query + description: Resource type identifier for batch queries of reference table rows. + enum: + - reference-tables-batch-rows-query + example: reference-tables-batch-rows-query + type: string + x-enum-varnames: + - REFERENCE_TABLES_BATCH_ROWS_QUERY + BatchRowsQueryResponseDataRelationships: + description: Relationships of the batch rows query response data. properties: - attributes: - $ref: '#/components/schemas/MicrosoftTeamsTenantBasedHandleAttributes' - type: - $ref: '#/components/schemas/MicrosoftTeamsTenantBasedHandleType' - required: - - type - - attributes + rows: + $ref: '#/components/schemas/BatchRowsQueryResponseDataRelationshipsRows' type: object - MicrosoftTeamsWorkflowsWebhookHandleResponseData: - description: Workflows Webhook handle data from a response. + TableRowResourceDataAttributes: + additionalProperties: false + description: Column values for this row in the reference table. properties: - attributes: - $ref: >- - #/components/schemas/MicrosoftTeamsWorkflowsWebhookResponseAttributes - id: - description: The ID of the Workflows webhook handle. - example: 596da4af-0563-4097-90ff-07230c3f9db3 - maxLength: 100 - minLength: 1 + values: + description: Key-value pairs representing the row data, where keys are field names from the schema. (opaque JSON object) type: string - type: - $ref: '#/components/schemas/MicrosoftTeamsWorkflowsWebhookHandleType' type: object - MicrosoftTeamsWorkflowsWebhookHandleRequestData: - description: Workflows Webhook handle data from a response. + TableRowResourceDataType: + default: row + description: Row resource type. + enum: + - row + example: row + type: string + x-enum-varnames: + - ROW + TableResultV2DataAttributes: + description: Attributes that define the reference table's configuration and properties. properties: - attributes: - $ref: >- - #/components/schemas/MicrosoftTeamsWorkflowsWebhookHandleRequestAttributes - type: - $ref: '#/components/schemas/MicrosoftTeamsWorkflowsWebhookHandleType' - required: - - type - - attributes + created_by: + description: UUID of the user who created the reference table. + example: 00000000-0000-0000-0000-000000000000 + type: string + description: + description: Optional text describing the purpose or contents of this reference table. + example: example description + type: string + file_metadata: + $ref: '#/components/schemas/TableResultV2DataAttributesFileMetadata' + last_updated_by: + description: UUID of the user who last updated the reference table. + example: 00000000-0000-0000-0000-000000000000 + type: string + row_count: + description: The number of successfully processed rows in the reference table. + example: 5 + format: int64 + type: integer + schema: + $ref: '#/components/schemas/TableResultV2DataAttributesSchema' + source: + $ref: '#/components/schemas/ReferenceTableSourceType' + status: + description: The processing status of the table. + example: DONE + type: string + table_name: + description: Unique name to identify this reference table. Used in enrichment processors and API calls. + example: table_1 + type: string + tags: + description: Tags for organizing and filtering reference tables. + example: + - tag_1 + - tag_2 + items: + description: A tag associated with the reference table. + type: string + type: array + updated_at: + description: When the reference table was last updated, in ISO 8601 format. + example: '2000-01-01T01:00:00+00:00' + type: string type: object - MicrosoftTeamsUpdateWorkflowsWebhookHandleRequestData: - description: Workflows Webhook handle data from a response. + TableResultV2DataType: + default: reference_table + description: Reference table resource type. + enum: + - reference_table + example: reference_table + type: string + x-enum-varnames: + - REFERENCE_TABLE + CreateTableRequestDataAttributes: + description: Attributes that define the reference table's configuration and properties. properties: - attributes: - $ref: '#/components/schemas/MicrosoftTeamsWorkflowsWebhookHandleAttributes' - type: - $ref: '#/components/schemas/MicrosoftTeamsWorkflowsWebhookHandleType' + description: + description: Optional text describing the purpose or contents of this reference table. + type: string + file_metadata: + $ref: '#/components/schemas/CreateTableRequestDataAttributesFileMetadata' + schema: + $ref: '#/components/schemas/CreateTableRequestDataAttributesSchema' + source: + $ref: '#/components/schemas/ReferenceTableCreateSourceType' + table_name: + description: Name to identify this reference table. + example: table_1 + type: string + tags: + description: Tags for organizing and filtering reference tables. + example: + - tag_1 + - tag_2 + items: + description: A tag associated with the reference table. + type: string + type: array required: - - type - - attributes + - table_name + - schema + - source type: object - OpsgenieServiceResponseData: - description: Opsgenie service data from a response. + CreateTableRequestDataType: + default: reference_table + description: Reference table resource type. + enum: + - reference_table + example: reference_table + type: string + x-enum-varnames: + - REFERENCE_TABLE + PatchTableRequestDataAttributes: + description: Attributes that define the updates to the reference table's configuration and properties. properties: - attributes: - $ref: '#/components/schemas/OpsgenieServiceResponseAttributes' - id: - description: The ID of the Opsgenie service. - example: 596da4af-0563-4097-90ff-07230c3f9db3 - maxLength: 100 - minLength: 1 + description: + description: Optional text describing the purpose or contents of this reference table. + example: example description type: string - type: - $ref: '#/components/schemas/OpsgenieServiceType' - required: - - id - - type - - attributes + file_metadata: + $ref: '#/components/schemas/PatchTableRequestDataAttributesFileMetadata' + schema: + $ref: '#/components/schemas/PatchTableRequestDataAttributesSchema' + tags: + description: Tags for organizing and filtering reference tables. + example: + - tag_1 + - tag_2 + items: + description: A tag associated with the reference table. + type: string + type: array type: object - OpsgenieServiceCreateData: - description: Opsgenie service data for a create request. + PatchTableRequestDataType: + default: reference_table + description: Reference table resource type. + enum: + - reference_table + example: reference_table + type: string + x-enum-varnames: + - REFERENCE_TABLE + BatchUpsertRowsRequestDataAttributes: + description: Attributes containing row data values for row creation or update operations. + example: + values: {} properties: - attributes: - $ref: '#/components/schemas/OpsgenieServiceCreateAttributes' - type: - $ref: '#/components/schemas/OpsgenieServiceType' + values: + additionalProperties: + $ref: '#/components/schemas/BatchUpsertRowsRequestDataAttributesValue' + description: Key-value pairs representing row data, where keys are schema field names and values match the corresponding column types. + type: object required: - - type - - attributes + - values type: object - OpsgenieServiceUpdateData: - description: Opsgenie service for an update request. + ListRowsResponseMetaPage: + description: Contains the continuation token for navigating to the next page of rows. properties: - attributes: - $ref: '#/components/schemas/OpsgenieServiceUpdateAttributes' - id: - description: The ID of the Opsgenie service. - example: 596da4af-0563-4097-90ff-07230c3f9db3 - maxLength: 100 - minLength: 1 + next_continuation_token: + description: Opaque token to pass as the `page[continuation_token]` query parameter to fetch the next page of results. Only present when more rows are available. + example: eyJzaWQiOjEyMzQ1LCJwayI6ImV4YW1wbGVfcGsifQ== type: string - type: - $ref: '#/components/schemas/OpsgenieServiceType' - required: - - id - - type - - attributes type: object - CloudflareAccountResponseData: - description: Data object of a Cloudflare account. + CreateUploadRequestDataAttributes: + description: Upload configuration specifying how data is uploaded by the user, and properties of the table to associate the upload with. properties: - attributes: - $ref: '#/components/schemas/CloudflareAccountResponseAttributes' - id: - description: The ID of the Cloudflare account, a hash of the account name. - example: c1a8e059bfd1e911cf10b626340c9a54 + headers: + description: The CSV file headers that define the schema fields, provided in the same order as the columns in the uploaded file. Maximum of 200 columns. + example: + - field_1 + - field_2 + items: + description: A column header name from the CSV file. + type: string + maxItems: 200 + type: array + part_count: + description: Number of parts to split the file into for multipart upload. + example: 3 + format: int32 + maximum: 20 + type: integer + part_size: + description: The size of each part in the upload in bytes. All parts except the last one must be at least 5,000,000 bytes. + example: 10000000 + format: int64 + type: integer + table_name: + description: Name of the table to associate with this upload. + example: '' type: string - type: - $ref: '#/components/schemas/CloudflareAccountType' - required: - - attributes - - id - - type - type: object - CloudflareAccountCreateRequestData: - description: Data object for creating a Cloudflare account. - properties: - attributes: - $ref: '#/components/schemas/CloudflareAccountCreateRequestAttributes' - type: - $ref: '#/components/schemas/CloudflareAccountType' required: - - attributes - - type + - headers + - table_name + - part_count + - part_size type: object - CloudflareAccountUpdateRequestData: - description: Data object for updating a Cloudflare account. + CreateUploadRequestDataType: + default: upload + description: Upload resource type. + enum: + - upload + example: upload + type: string + x-enum-varnames: + - UPLOAD + CreateUploadResponseDataAttributes: + description: Pre-signed URLs for uploading parts of the file. properties: - attributes: - $ref: '#/components/schemas/CloudflareAccountUpdateRequestAttributes' - type: - $ref: '#/components/schemas/CloudflareAccountType' + part_urls: + description: The pre-signed URLs for uploading parts. These URLs expire after 5 minutes. + items: + description: A pre-signed URL for uploading a single file part. + type: string + type: array type: object - ConfluentAccountResponseData: - description: An API key and API secret pair that represents a Confluent account. + CreateUploadResponseDataType: + default: upload + description: Upload resource type. + enum: + - upload + example: upload + type: string + x-enum-varnames: + - UPLOAD + WebIntegrationAccountResponseAttributes: + description: Attributes object of a web integration account. Secrets are never returned. properties: - attributes: - $ref: '#/components/schemas/ConfluentAccountResponseAttributes' - id: - description: A randomly generated ID associated with a Confluent account. - example: account_id_abc123 + name: + description: A human-readable name for the account. + example: my-databricks-account type: string - type: - $ref: '#/components/schemas/ConfluentAccountType' + settings: + $ref: '#/components/schemas/WebIntegrationAccountSettings' required: - - attributes - - id - - type + - name type: object - ConfluentAccountCreateRequestData: - description: The data body for adding a Confluent account. + WebIntegrationAccountType: + default: Account + description: Account resource type. + enum: + - Account + example: Account + type: string + x-enum-varnames: + - ACCOUNT + WebIntegrationAccountCreateRequestAttributes: + description: Attributes object for creating a web integration account. properties: - attributes: - $ref: '#/components/schemas/ConfluentAccountCreateRequestAttributes' - type: - $ref: '#/components/schemas/ConfluentAccountType' + name: + description: A human-readable name for the account. Must be unique among accounts of the same integration. + example: my-databricks-account + type: string + secrets: + $ref: '#/components/schemas/WebIntegrationAccountSecrets' + settings: + $ref: '#/components/schemas/WebIntegrationAccountSettings' required: - - attributes - - type + - name + - settings + - secrets type: object - ConfluentAccountUpdateRequestData: - description: Data object for updating a Confluent account. + WebIntegrationAccountUpdateRequestAttributes: + description: Attributes object for updating a web integration account. properties: - attributes: - $ref: '#/components/schemas/ConfluentAccountUpdateRequestAttributes' - type: - $ref: '#/components/schemas/ConfluentAccountType' - required: - - attributes - - type + name: + description: A human-readable name for the account. + example: my-databricks-account + type: string + secrets: + $ref: '#/components/schemas/WebIntegrationAccountSecrets' + settings: + $ref: '#/components/schemas/WebIntegrationAccountSettings' type: object - ConfluentResourceResponseData: - description: Confluent Cloud resource data. + AWSEventBridgeSourceV1: + description: An EventBridge source. properties: - attributes: - $ref: '#/components/schemas/ConfluentResourceResponseAttributes' - id: - description: The ID associated with the Confluent resource. - example: resource_id_abc123 + name: + description: The event source name. + type: string + region: + description: The event source's [AWS region](https://docs.aws.amazon.com/general/latest/gr/rande.html#regional-endpoints). type: string - type: - $ref: '#/components/schemas/ConfluentResourceType' - required: - - attributes - - type - - id type: object - ConfluentResourceRequestData: - description: JSON:API request for updating a Confluent resource. + GCPMonitoredResourceConfigType: + description: The GCP monitored resource type. Only a subset of resource types are supported. + enum: + - cloud_function + - cloud_run_revision + - gce_instance + example: gce_instance + type: string + x-enum-varnames: + - CLOUD_FUNCTION + - CLOUD_RUN_REVISION + - GCE_INSTANCE + EntityIntegrationConfigPayload: + additionalProperties: {} + description: Integration-specific configuration payload. The shape of this object depends on the integration identified by the path parameter. For `github`, the object must contain an `enabled_repos` array. For `jira`, it must contain an `enabled_projects` array. For `pagerduty`, it must contain an `accounts` array. + example: + enabled_repos: + - github_org_name: myorg + hostname: github.com + repo_name: myrepo + type: object + ElasticCloudIntegrationAccountAuthenticationResponse: + description: Authentication configured on the Elastic Cloud integration account. properties: - attributes: - $ref: '#/components/schemas/ConfluentResourceRequestAttributes' - id: - description: The ID associated with a Confluent resource. - example: resource-id-123 + auth_type: + $ref: '#/components/schemas/IntegrationAccountBasicAuthType' + username: + description: Non-secret username or public identifier for the credential pair. + example: datadog type: string - type: - $ref: '#/components/schemas/ConfluentResourceType' required: - - attributes - - type - - id + - auth_type + - username type: object - FastlyAccountResponseData: - description: Data object of a Fastly account. + ElasticCloudIntegrationDataflowsResponse: + description: Dataflows configured on the Elastic Cloud integration account, keyed by dataflow id. properties: - attributes: - $ref: '#/components/schemas/FastlyAccounResponseAttributes' - id: - description: The ID of the Fastly account, a hash of the account name. - example: abc123 + elastic-cloud-detailed-index-stats: + $ref: '#/components/schemas/ElasticCloudDetailedIndexStatsIntegrationDataflowResponse' + elastic-cloud-index-stats: + $ref: '#/components/schemas/ElasticCloudIndexStatsIntegrationDataflowResponse' + elastic-cloud-metrics: + $ref: '#/components/schemas/ElasticCloudMetricsIntegrationDataflowResponse' + elastic-cloud-pending-task-stats: + $ref: '#/components/schemas/ElasticCloudPendingTaskStatsIntegrationDataflowResponse' + elastic-cloud-primary-shard-graceful-timeout: + $ref: '#/components/schemas/ElasticCloudPrimaryShardGracefulTimeoutIntegrationDataflowResponse' + elastic-cloud-primary-shard-stats: + $ref: '#/components/schemas/ElasticCloudPrimaryShardStatsIntegrationDataflowResponse' + elastic-cloud-shard-allocation-stats: + $ref: '#/components/schemas/ElasticCloudShardAllocationStatsIntegrationDataflowResponse' + elastic-cloud-slm-stats: + $ref: '#/components/schemas/ElasticCloudSlmStatsIntegrationDataflowResponse' + type: object + ElasticCloudIntegrationAccountSettingsResponse: + description: Settings configured on the Elastic Cloud integration account. + properties: + tags: + description: Comma-separated list of custom tags for this Elastic Cloud deployment. + example: env:prod,team:saasint + type: string + url: + description: Elastic Cloud deployment URL. + example: https://example.es.us-central1.gcp.cloud.es.io:9243 type: string - type: - $ref: '#/components/schemas/FastlyAccountType' required: - - attributes - - id - - type + - url type: object - FastlyAccountCreateRequestData: - description: Data object for creating a Fastly account. + ElasticCloudIntegrationAccountAuthenticationRequest: + description: Authentication for creating the Elastic Cloud integration account. Exactly one method is set. properties: - attributes: - $ref: '#/components/schemas/FastlyAccountCreateRequestAttributes' - type: - $ref: '#/components/schemas/FastlyAccountType' + auth_type: + $ref: '#/components/schemas/IntegrationAccountBasicAuthType' + password: + description: Secret password or private key. + example: your-password + type: string + writeOnly: true + username: + description: Non-secret username or public identifier for the credential pair. + example: datadog + type: string required: - - attributes - - type + - auth_type + - username + - password type: object - FastlyAccountUpdateRequestData: - description: Data object for updating a Fastly account. + ElasticCloudIntegrationDataflowsRequest: + additionalProperties: false + description: Dataflows to configure on the Elastic Cloud integration account, keyed by dataflow id. properties: - attributes: - $ref: '#/components/schemas/FastlyAccountUpdateRequestAttributes' - type: - $ref: '#/components/schemas/FastlyAccountType' + elastic-cloud-detailed-index-stats: + $ref: '#/components/schemas/ElasticCloudDetailedIndexStatsIntegrationDataflowRequest' + elastic-cloud-index-stats: + $ref: '#/components/schemas/ElasticCloudIndexStatsIntegrationDataflowRequest' + elastic-cloud-pending-task-stats: + $ref: '#/components/schemas/ElasticCloudPendingTaskStatsIntegrationDataflowRequest' + elastic-cloud-primary-shard-graceful-timeout: + $ref: '#/components/schemas/ElasticCloudPrimaryShardGracefulTimeoutIntegrationDataflowRequest' + elastic-cloud-primary-shard-stats: + $ref: '#/components/schemas/ElasticCloudPrimaryShardStatsIntegrationDataflowRequest' + elastic-cloud-shard-allocation-stats: + $ref: '#/components/schemas/ElasticCloudShardAllocationStatsIntegrationDataflowRequest' + elastic-cloud-slm-stats: + $ref: '#/components/schemas/ElasticCloudSlmStatsIntegrationDataflowRequest' type: object - FastlyServiceData: - description: Data object for Fastly service requests. + ElasticCloudIntegrationAccountSettingsRequest: + description: Settings for creating the Elastic Cloud integration account. properties: - attributes: - $ref: '#/components/schemas/FastlyServiceAttributes' - id: - description: The ID of the Fastly service. - example: abc123 + tags: + description: Comma-separated list of custom tags for this Elastic Cloud deployment. + example: env:prod,team:saasint + type: string + url: + description: Elastic Cloud deployment URL. + example: https://example.es.us-central1.gcp.cloud.es.io:9243 type: string - type: - $ref: '#/components/schemas/FastlyServiceType' required: - - id - - type + - url type: object - OktaAccountResponseData: - description: Data object of an Okta account + ElasticCloudIntegrationAccountAuthenticationUpdate: + description: Authentication for updating the Elastic Cloud integration account. Exactly one method is set. properties: - attributes: - $ref: '#/components/schemas/OktaAccountAttributes' - id: - description: The ID of the Okta account, a UUID hash of the account name. - example: f749daaf-682e-4208-a38d-c9b43162c609 + auth_type: + $ref: '#/components/schemas/IntegrationAccountBasicAuthType' + password: + description: Secret password or private key. + example: your-password + type: string + writeOnly: true + username: + description: Non-secret username or public identifier for the credential pair. + example: datadog type: string - type: - $ref: '#/components/schemas/OktaAccountType' required: - - attributes - - id - - type + - auth_type type: object - OktaAccount: - description: Schema for an Okta account. + ElasticCloudIntegrationAccountSettingsUpdate: + description: Settings for updating the Elastic Cloud integration account. Only the fields provided are changed. properties: - attributes: - $ref: '#/components/schemas/OktaAccountAttributes' - id: - description: The ID of the Okta account, a UUID hash of the account name. - example: f749daaf-682e-4208-a38d-c9b43162c609 + tags: + description: Comma-separated list of custom tags for this Elastic Cloud deployment. + example: env:prod,team:saasint + type: string + url: + description: Elastic Cloud deployment URL. + example: https://example.es.us-central1.gcp.cloud.es.io:9243 + type: string + type: object + TwilioIntegrationAccountAuthenticationResponse: + description: Authentication configured on the Twilio integration account. + properties: + auth_type: + $ref: '#/components/schemas/IntegrationAccountBasicAuthType' + username: + description: Non-secret username or public identifier for the credential pair. + example: datadog type: string - type: - $ref: '#/components/schemas/OktaAccountType' required: - - attributes - - type + - auth_type + - username type: object - OktaAccountUpdateRequestData: - description: Data object for updating an Okta account. + TwilioIntegrationDataflowsResponse: + description: Dataflows configured on the Twilio integration account, keyed by dataflow id. properties: - attributes: - $ref: '#/components/schemas/OktaAccountUpdateRequestAttributes' - type: - $ref: '#/components/schemas/OktaAccountType' + twilio-alerts-logs: + $ref: '#/components/schemas/TwilioAlertsLogsIntegrationDataflowResponse' + twilio-call-summaries-logs: + $ref: '#/components/schemas/TwilioCallSummariesLogsIntegrationDataflowResponse' + twilio-cloud-cost-metrics: + $ref: '#/components/schemas/TwilioCloudCostMetricsIntegrationDataflowResponse' + twilio-events-logs: + $ref: '#/components/schemas/TwilioEventsLogsIntegrationDataflowResponse' + twilio-messages-logs: + $ref: '#/components/schemas/TwilioMessagesLogsIntegrationDataflowResponse' type: object - AWSAccountResponseAttributes: - description: AWS Account response attributes. + TwilioIntegrationAccountSettingsResponse: + description: Settings configured on the Twilio integration account. properties: - account_tags: - $ref: '#/components/schemas/AWSAccountTags' - auth_config: - $ref: '#/components/schemas/AWSAuthConfig' - aws_account_id: - $ref: '#/components/schemas/AWSAccountID' - aws_partition: - $ref: '#/components/schemas/AWSAccountPartition' - aws_regions: - $ref: '#/components/schemas/AWSRegions' - created_at: - description: Timestamp of when the account integration was created. - format: date-time - readOnly: true - type: string - logs_config: - $ref: '#/components/schemas/AWSLogsConfig' - metrics_config: - $ref: '#/components/schemas/AWSMetricsConfig' - modified_at: - description: Timestamp of when the account integration was updated. - format: date-time - readOnly: true + account_sid: + description: Twilio Account SID that uniquely identifies your Twilio account. + example: ACxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx type: string - resources_config: - $ref: '#/components/schemas/AWSResourcesConfig' - traces_config: - $ref: '#/components/schemas/AWSTracesConfig' + censor_logs: + description: When enabled, Twilio phone numbers in the `to` field and SMS message bodies are censored for privacy. + example: true + type: boolean required: - - aws_account_id + - account_sid type: object - AWSAccountConfigID: - description: >- - Unique Datadog ID of the AWS Account Integration Config. - - To get the config ID for an account, use the [List all AWS - integrations](https://docs.datadoghq.com/api/latest/aws-integration/#list-all-aws-integrations) - - endpoint and query by AWS Account ID. - example: 00000000-abcd-0001-0000-000000000000 - type: string - AWSAccountType: - default: account - description: AWS Account resource type. - enum: - - account - example: account - type: string - x-enum-varnames: - - ACCOUNT - AWSAccountCreateRequestAttributes: - description: The AWS Account Integration Config to be created. + TwilioIntegrationAccountAuthenticationRequest: + description: Authentication for creating the Twilio integration account. Exactly one method is set. properties: - account_tags: - $ref: '#/components/schemas/AWSAccountTags' - auth_config: - $ref: '#/components/schemas/AWSAuthConfig' - aws_account_id: - $ref: '#/components/schemas/AWSAccountID' - aws_partition: - $ref: '#/components/schemas/AWSAccountPartition' - aws_regions: - $ref: '#/components/schemas/AWSRegions' - logs_config: - $ref: '#/components/schemas/AWSLogsConfig' - metrics_config: - $ref: '#/components/schemas/AWSMetricsConfig' - resources_config: - $ref: '#/components/schemas/AWSResourcesConfig' - traces_config: - $ref: '#/components/schemas/AWSTracesConfig' + auth_type: + $ref: '#/components/schemas/IntegrationAccountBasicAuthType' + password: + description: Secret password or private key. + example: your-password + type: string + writeOnly: true + username: + description: Non-secret username or public identifier for the credential pair. + example: datadog + type: string required: - - aws_account_id - - aws_partition - - auth_config + - auth_type + - username + - password type: object - AWSAccountUpdateRequestAttributes: - description: The AWS Account Integration Config to be updated. + TwilioIntegrationDataflowsRequest: + additionalProperties: false + description: Dataflows to configure on the Twilio integration account, keyed by dataflow id. properties: - account_tags: - $ref: '#/components/schemas/AWSAccountTags' - auth_config: - $ref: '#/components/schemas/AWSAuthConfig' - aws_account_id: - $ref: '#/components/schemas/AWSAccountID' - aws_partition: - $ref: '#/components/schemas/AWSAccountPartition' - aws_regions: - $ref: '#/components/schemas/AWSRegions' - logs_config: - $ref: '#/components/schemas/AWSLogsConfig' - metrics_config: - $ref: '#/components/schemas/AWSMetricsConfig' - resources_config: - $ref: '#/components/schemas/AWSResourcesConfig' - traces_config: - $ref: '#/components/schemas/AWSTracesConfig' - required: - - aws_account_id + twilio-alerts-logs: + $ref: '#/components/schemas/TwilioAlertsLogsIntegrationDataflowRequest' + twilio-call-summaries-logs: + $ref: '#/components/schemas/TwilioCallSummariesLogsIntegrationDataflowRequest' + twilio-cloud-cost-metrics: + $ref: '#/components/schemas/TwilioCloudCostMetricsIntegrationDataflowRequest' + twilio-events-logs: + $ref: '#/components/schemas/TwilioEventsLogsIntegrationDataflowRequest' + twilio-messages-logs: + $ref: '#/components/schemas/TwilioMessagesLogsIntegrationDataflowRequest' type: object - AWSNamespacesResponseAttributes: - description: AWS Namespaces response attributes. + TwilioIntegrationAccountSettingsRequest: + description: Settings for creating the Twilio integration account. properties: - namespaces: - description: AWS CloudWatch namespace. - example: - - AWS/ApiGateway - items: - example: AWS/ApiGateway - type: string - type: array + account_sid: + description: Twilio Account SID that uniquely identifies your Twilio account. + example: ACxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx + type: string + censor_logs: + description: When enabled, Twilio phone numbers in the `to` field and SMS message bodies are censored for privacy. + example: true + type: boolean required: - - namespaces + - account_sid type: object - AWSNamespacesResponseDataType: - default: namespaces - description: The `AWSNamespacesResponseData` `type`. - enum: - - namespaces - example: namespaces - type: string - x-enum-varnames: - - NAMESPACES - AWSNewExternalIDResponseAttributes: - description: AWS External ID response body. + TwilioIntegrationAccountAuthenticationUpdate: + description: Authentication for updating the Twilio integration account. Exactly one method is set. properties: - external_id: - description: AWS IAM External ID for associated role. - example: acb8f6b8a844443dbb726d07dcb1a870 + auth_type: + $ref: '#/components/schemas/IntegrationAccountBasicAuthType' + password: + description: Secret password or private key. + example: your-password + type: string + writeOnly: true + username: + description: Non-secret username or public identifier for the credential pair. + example: datadog type: string required: - - external_id + - auth_type type: object - AWSNewExternalIDResponseDataType: - default: external_id - description: The `AWSNewExternalIDResponseData` `type`. - enum: - - external_id - example: external_id - type: string - x-enum-varnames: - - EXTERNAL_ID - AWSIntegrationIamPermissionsResponseAttributes: - description: AWS Integration IAM Permissions response attributes. + TwilioIntegrationAccountSettingsUpdate: + description: Settings for updating the Twilio integration account. Only the fields provided are changed. properties: - permissions: - description: List of AWS IAM permissions required for the integration. - example: - - account:GetContactInformation - - amplify:ListApps - - amplify:ListArtifacts - - amplify:ListBackendEnvironments - - amplify:ListBranches - items: - example: account:GetContactInformation - type: string - type: array + account_sid: + description: Twilio Account SID that uniquely identifies your Twilio account. + example: ACxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx + type: string + censor_logs: + description: When enabled, Twilio phone numbers in the `to` field and SMS message bodies are censored for privacy. + example: true + type: boolean + type: object + AWSAccountTags: + description: Tags to apply to all hosts and metrics reporting for this account. Defaults to `[]`. + items: + description: Tag in the form `key:value`. + example: env:prod + type: string + nullable: true + type: array + AWSAuthConfig: + description: AWS Authentication config. + properties: + access_key_id: + description: AWS Access Key ID. + example: AKIAIOSFODNN7EXAMPLE + type: string + secret_access_key: + description: AWS Secret Access Key. + example: wJalrXUtnFEMI/K7MDENG/bPxRfiCYEXAMPLEKEY + minLength: 1 + type: string + writeOnly: true + external_id: + description: AWS IAM External ID for associated role. + type: string + role_name: + description: AWS IAM Role name. + example: DatadogIntegrationRole + maxLength: 576 + minLength: 1 + type: string required: - - permissions + - access_key_id + - role_name type: object - AWSIntegrationIamPermissionsResponseDataType: - default: permissions - description: The `AWSIntegrationIamPermissionsResponseData` `type`. + AWSAccountID: + description: AWS Account ID. + example: '123456789012' + type: string + AWSAccountPartition: + description: |- + AWS partition your AWS account is scoped to. Defaults to `aws`. + See [Partitions](https://docs.aws.amazon.com/whitepapers/latest/aws-fault-isolation-boundaries/partitions.html) + in the AWS documentation for more information. enum: - - permissions - example: permissions + - aws + - aws-cn + - aws-us-gov + example: aws type: string x-enum-varnames: - - PERMISSIONS - AWSLogsServicesResponseAttributes: - description: AWS Logs Services response body + - AWS + - AWS_CN + - AWS_US_GOV + AWSRegions: + description: AWS Regions to collect data from. Defaults to `include_all`. properties: - logs_services: - description: List of AWS services that can send logs to Datadog + include_all: + description: Include all regions. + example: true + type: boolean + include_only: + description: Include only these regions. example: - - s3 + - us-east-1 items: - example: s3 + description: An AWS region to include in metrics collection. + example: us-east-1 type: string type: array required: - - logs_services + - include_all + - include_only type: object - AWSLogsServicesResponseDataType: - default: logs_services - description: The `AWSLogsServicesResponseData` `type`. - enum: - - logs_services - example: logs_services - type: string - x-enum-varnames: - - LOGS_SERVICES - GCPSTSServiceAccountAttributes: - description: Attributes associated with your service account. + AWSLogsConfig: + description: AWS Logs Collection config. properties: - account_tags: - description: >- - Tags to be associated with GCP metrics and service checks from your - account. - items: - description: Account Level Tag - type: string - type: array - automute: - description: Silence monitors for expected GCE instance shutdowns. - type: boolean - client_email: - description: Your service account email address. - example: datadog-service-account@test-project.iam.gserviceaccount.com - type: string - cloud_run_revision_filters: - deprecated: true - description: >- - List of filters to limit the Cloud Run revisions that are pulled - into Datadog by using tags. - - Only Cloud Run revision resources that apply to specified filters - are imported into Datadog. - - **Note:** This field is deprecated. Instead, use - `monitored_resource_configs` with `type=cloud_run_revision` - example: - - $KEY:$VALUE - items: - description: Cloud Run revision filters - type: string - type: array - host_filters: - deprecated: true - description: >- - List of filters to limit the VM instances that are pulled into - Datadog by using tags. - - Only VM instance resources that apply to specified filters are - imported into Datadog. - - **Note:** This field is deprecated. Instead, use - `monitored_resource_configs` with `type=gce_instance` - example: - - $KEY:$VALUE - items: - description: VM instance filters - type: string - type: array - is_cspm_enabled: - description: >- - When enabled, Datadog will activate the Cloud Security Monitoring - product for this service account. Note: This requires - resource_collection_enabled to be set to true. - type: boolean - is_per_project_quota_enabled: - default: false - description: >- - When enabled, Datadog applies the `X-Goog-User-Project` header, - attributing Google Cloud billing and quota usage to the project - being monitored rather than the default service account project. + lambda_forwarder: + $ref: '#/components/schemas/AWSLambdaForwarderConfig' + type: object + AWSMetricsConfig: + description: AWS Metrics Collection config. + properties: + automute_enabled: + description: Enable EC2 automute for AWS metrics. Defaults to `true`. example: true type: boolean - is_resource_change_collection_enabled: - default: false - description: >- - When enabled, Datadog scans for all resource change data in your - Google Cloud environment. - example: true + collect_cloudwatch_alarms: + description: Enable CloudWatch alarms collection. Defaults to `false`. + example: false type: boolean - is_security_command_center_enabled: - default: false - description: >- - When enabled, Datadog will attempt to collect Security Command - Center Findings. Note: This requires additional permissions on the - service account. + collect_custom_metrics: + description: Enable custom metrics collection. Defaults to `false`. + example: false + type: boolean + enabled: + description: Enable AWS metrics collection. Defaults to `true`. example: true type: boolean - metric_namespace_configs: - description: Configurations for GCP metric namespaces. - example: - - disabled: true - id: aiplatform - items: - $ref: '#/components/schemas/GCPMetricNamespaceConfig' - type: array - monitored_resource_configs: - description: Configurations for GCP monitored resources. - example: - - filters: - - $KEY:$VALUE - type: gce_instance + metric_name_filters: + description: |- + AWS CloudWatch metric name filters. Each filter applies to a single namespace. + Exactly one of `include_only` or `exclude_only` must be set on each filter. items: - $ref: '#/components/schemas/GCPMonitoredResourceConfig' + $ref: '#/components/schemas/AWSMetricNameFilters' type: array - resource_collection_enabled: - description: >- - When enabled, Datadog scans for all resources in your GCP - environment. - type: boolean - type: object - GCPServiceAccountMeta: - description: Additional information related to your service account. - properties: - accessible_projects: - description: The current list of projects accessible from your service account. + namespace_filters: + $ref: '#/components/schemas/AWSNamespaceFilters' + tag_filters: + description: AWS Metrics collection tag filters list. Defaults to `[]`. items: - description: List of GCP projects. - type: string + $ref: '#/components/schemas/AWSNamespaceTagFilter' type: array type: object - GCPServiceAccountType: - default: gcp_service_account - description: The type of account. - enum: - - gcp_service_account - example: gcp_service_account - type: string - x-enum-varnames: - - GCP_SERVICE_ACCOUNT - GCPSTSDelegateAccountAttributes: - description: Your delegate account attributes. - properties: - delegate_account_email: - description: Your organization's Datadog principal email address. - example: >- - ddgci-1a19n28hb1a812221893@datadog-gci-sts-us5-prod.iam.gserviceaccount.com - type: string - type: object - GCPSTSDelegateAccountType: - default: gcp_sts_delegate - description: The type of account. - enum: - - gcp_sts_delegate - example: gcp_sts_delegate - type: string - x-enum-varnames: - - GCP_STS_DELEGATE - MicrosoftTeamsChannelInfoResponseAttributes: - description: Channel attributes. + AWSResourcesConfig: + description: AWS Resources Collection config. properties: - is_primary: - description: Indicates if this is the primary channel. + cloud_security_posture_management_collection: + description: |- + Enable Cloud Security Management to scan AWS resources for vulnerabilities, misconfigurations, + identity risks, and compliance violations. Defaults to `false`. + Requires `extended_collection` to be set to `true`. + example: false + type: boolean + extended_collection: + description: |- + Whether Datadog collects additional attributes and configuration information about the resources + in your AWS account. Defaults to `true`. Required for `cloud_security_posture_management_collection`. example: true - maxLength: 255 type: boolean - team_id: - description: Team id. - example: 00000000-0000-0000-0000-000000000000 - maxLength: 255 - type: string - tenant_id: - description: Tenant id. - example: 00000000-0000-0000-0000-000000000001 - maxLength: 255 - type: string type: object - MicrosoftTeamsChannelInfoType: - default: ms-teams-channel-info - description: Channel info resource type. - enum: - - ms-teams-channel-info - example: ms-teams-channel-info - type: string - x-enum-varnames: - - MS_TEAMS_CHANNEL_INFO - MicrosoftTeamsTenantBasedHandleInfoResponseAttributes: - description: Tenant-based handle attributes. + AWSTracesConfig: + description: AWS Traces Collection config. properties: - channel_id: - description: Channel id. - example: fake-channel-id - maxLength: 255 - type: string - channel_name: - description: Channel name. - example: fake-channel-name - maxLength: 255 - type: string - name: - description: Tenant-based handle name. - example: fake-handle-name - maxLength: 255 - type: string - team_id: - description: Team id. - example: 00000000-0000-0000-0000-000000000000 - maxLength: 255 - type: string - team_name: - description: Team name. - example: fake-team-name - maxLength: 255 - type: string - tenant_id: - description: Tenant id. - example: 00000000-0000-0000-0000-000000000001 - maxLength: 255 - type: string - tenant_name: - description: Tenant name. - example: fake-tenant-name - maxLength: 255 - type: string + xray_services: + $ref: '#/components/schemas/XRayServicesList' type: object - MicrosoftTeamsTenantBasedHandleInfoType: - default: ms-teams-tenant-based-handle-info - description: Tenant-based handle resource type. - enum: - - ms-teams-tenant-based-handle-info - example: ms-teams-tenant-based-handle-info - type: string - x-enum-varnames: - - MS_TEAMS_TENANT_BASED_HANDLE_INFO - MicrosoftTeamsTenantBasedHandleRequestAttributes: - description: Tenant-based handle attributes. + DataExportConfig: + description: AWS Cost and Usage Report data export configuration. properties: - channel_id: - description: Channel id. - example: fake-channel-id - maxLength: 255 + bucket_name: + description: Name of the S3 bucket where the Cost and Usage Report is stored. + example: billing type: string - name: - description: Tenant-based handle name. - example: fake-handle-name - maxLength: 255 + bucket_region: + description: AWS region of the S3 bucket. + example: us-east-1 type: string - team_id: - description: Team id. - example: 00000000-0000-0000-0000-000000000000 - maxLength: 255 + report_name: + description: Name of the Cost and Usage Report. + example: cost-and-usage-report type: string - tenant_id: - description: Tenant id. - example: 00000000-0000-0000-0000-000000000001 - maxLength: 255 + report_prefix: + description: S3 prefix where the Cost and Usage Report is stored. + example: reports + type: string + report_type: + description: Type of the Cost and Usage Report. Currently only `CUR2.0` is supported. + example: CUR2.0 type: string required: - - name - - channel_id - - team_id - - tenant_id + - report_name + - report_prefix + - report_type + - bucket_name + - bucket_region type: object - MicrosoftTeamsTenantBasedHandleType: - default: tenant-based-handle - description: Specifies the tenant-based handle resource type. - enum: - - tenant-based-handle - example: tenant-based-handle - type: string - x-enum-varnames: - - TENANT_BASED_HANDLE - MicrosoftTeamsTenantBasedHandleAttributes: - description: Tenant-based handle attributes. + AWSCcmConfig: + description: AWS Cloud Cost Management config. properties: - channel_id: - description: Channel id. - example: fake-channel-id - maxLength: 255 - type: string - name: - description: Tenant-based handle name. - example: fake-handle-name - maxLength: 255 - type: string - team_id: - description: Team id. - example: 00000000-0000-0000-0000-000000000000 - maxLength: 255 - type: string - tenant_id: - description: Tenant id. - example: 00000000-0000-0000-0000-000000000001 - maxLength: 255 - type: string + data_export_configs: + description: List of data export configurations for Cost and Usage Reports. + items: + $ref: '#/components/schemas/DataExportConfig' + type: array + required: + - data_export_configs type: object - MicrosoftTeamsWorkflowsWebhookResponseAttributes: - description: Workflows Webhook handle attributes. + AWSMetricNameFilterPreviewNamespace: + description: The metric name filter preview for a single namespace. properties: - name: - description: Workflows Webhook handle name. - example: fake-handle-name - maxLength: 255 + filters: + description: The metric name filter patterns evaluated for this namespace and how many metrics they matched. + items: + $ref: '#/components/schemas/AWSMetricNameFilterPreviewFilterMatch' + type: array + metrics: + description: |- + The CloudWatch metrics collected for this namespace and whether each resulting + Datadog metric is filtered. + items: + $ref: '#/components/schemas/AWSMetricNameFilterPreviewMetric' + type: array + namespace: + description: The AWS CloudWatch namespace. + example: AWS/EC2 type: string + required: + - namespace + - filters + - metrics type: object - MicrosoftTeamsWorkflowsWebhookHandleType: - default: workflows-webhook-handle - description: Specifies the Workflows webhook handle resource type. - enum: - - workflows-webhook-handle - example: workflows-webhook-handle - type: string - x-enum-varnames: - - WORKFLOWS_WEBHOOK_HANDLE - MicrosoftTeamsWorkflowsWebhookHandleRequestAttributes: - description: Workflows Webhook handle attributes. + AWSMetricNameFilters: + description: |- + AWS CloudWatch metric name filter for a single namespace. + Exactly one of `include_only` or `exclude_only` must be set. properties: - name: - description: Workflows Webhook handle name. - example: fake-handle-name - maxLength: 255 - type: string - url: - description: Workflows Webhook URL. - example: https://fake.url.com - maxLength: 255 + include_only: + description: Include only metric names matching one of these patterns. + example: + - aws.ec2.network_in + items: + description: A metric name pattern to include. + example: aws.ec2.network_in + type: string + type: array + namespace: + description: The AWS CloudWatch namespace to which this metric name filter applies. + example: AWS/EC2 type: string + exclude_only: + description: Exclude metric names matching one of these patterns. + example: + - aws.ec2.network_in + items: + description: A metric name pattern to exclude. + example: aws.ec2.network_in + type: string + type: array required: - - name - - url + - namespace + - include_only + - exclude_only type: object - MicrosoftTeamsWorkflowsWebhookHandleAttributes: - description: Workflows Webhook handle attributes. + AWSEventBridgeAccountConfiguration: + description: The EventBridge configuration for one AWS account. properties: - name: - description: Workflows Webhook handle name. - example: fake-handle-name - maxLength: 255 + account_id: + description: Your AWS Account ID without dashes. + example: '123456789012' type: string - url: - description: Workflows Webhook URL. - example: https://fake.url.com - maxLength: 255 + event_hubs: + description: Array of AWS event sources associated with this account. + items: + $ref: '#/components/schemas/AWSEventBridgeSource' + type: array + tags: + description: |- + Array of tags (in the form `key:value`) which are added to all hosts + and metrics reporting through the main AWS integration. + example: + - $KEY:$VALUE + items: + description: The list of the host_tags. + type: string + type: array + type: object + AWSCcmConfigValidationIssues: + description: List of validation issues found for the Cost and Usage Report (CUR) 2.0 configuration. Empty when the configuration is valid. + items: + $ref: '#/components/schemas/AWSCcmConfigValidationIssue' + type: array + GCPMetricNamespaceConfig: + description: Configuration for a GCP metric namespace. + properties: + disabled: + default: false + description: When disabled, Datadog does not collect metrics that are related to this GCP metric namespace. + example: true + type: boolean + filters: + description: When enabled, Datadog applies these additional filters to limit metric collection. A metric is collected only if it does not match all exclusion filters and matches at least one allow filter. + example: + - snapshot.* + - '!*_by_region' + items: + description: A metric namespace filter + type: string + type: array + id: + description: The id of the GCP metric namespace. + example: pubsub type: string type: object - OpsgenieServiceResponseAttributes: - description: The attributes from an Opsgenie service response. + GoogleChatOrganizationRelationshipsDelegatedUser: + description: The delegated user relationship. properties: - custom_url: - description: The custom URL for a custom region. - example: null - nullable: true + data: + $ref: '#/components/schemas/GoogleChatOrganizationRelationshipsDelegatedUserData' + type: object + JiraAccountAttributes: + description: Attributes of a Jira account + properties: + consumer_key: + description: The consumer key for the Jira account + example: consumer-key-1 type: string - name: - description: The name for the Opsgenie service. - example: fake-opsgenie-service-name - maxLength: 100 + instance_url: + description: The URL of the Jira instance + example: https://example.atlassian.net type: string - region: - $ref: '#/components/schemas/OpsgenieServiceRegionType' + last_webhook_timestamp: + description: Timestamp of the last webhook received + example: '2024-01-15T10:30:00Z' + format: date-time + type: string + required: + - consumer_key + - instance_url type: object - OpsgenieServiceType: - default: opsgenie-service - description: Opsgenie service resource type. + JiraAccountType: + description: Type identifier for Jira account resources enum: - - opsgenie-service - example: opsgenie-service + - jira-account + example: jira-account type: string x-enum-varnames: - - OPSGENIE_SERVICE - OpsgenieServiceCreateAttributes: - description: The Opsgenie service attributes for a create request. + - JIRA_ACCOUNT + JiraIssueTemplateCreateRequestAttributesJiraAccount: + description: Reference to the Jira account properties: - custom_url: - description: The custom URL for a custom region. - example: https://example.com - type: string - name: - description: The name for the Opsgenie service. - example: fake-opsgenie-service-name - maxLength: 100 - type: string - opsgenie_api_key: - description: The Opsgenie API key for your Opsgenie service. - example: 00000000-0000-0000-0000-000000000000 + id: + description: The ID of the Jira account + example: 80f16d40-1fba-486e-b1fc-983e6ca19bec + format: uuid type: string - region: - $ref: '#/components/schemas/OpsgenieServiceRegionType' required: - - name - - opsgenie_api_key - - region + - id type: object - OpsgenieServiceUpdateAttributes: - description: The Opsgenie service attributes for an update request. + JiraAccountRelationship: + description: Relationship to a Jira account properties: - custom_url: - description: The custom URL for a custom region. - example: https://example.com - nullable: true - type: string - name: - description: The name for the Opsgenie service. - example: fake-opsgenie-service-name - maxLength: 100 - type: string - opsgenie_api_key: - description: The Opsgenie API key for your Opsgenie service. - example: 00000000-0000-0000-0000-000000000000 + data: + $ref: '#/components/schemas/JiraAccountData' + required: + - data + type: object + TenancyProductsDataAttributesProductsItems: + description: An individual Datadog product with its enablement status for a tenancy. + properties: + enabled: + description: Indicates whether the product is enabled for the tenancy. + type: boolean + product_key: + description: The unique key identifying the Datadog product (for example, CLOUD_SECURITY_POSTURE_MANAGEMENT). type: string - region: - $ref: '#/components/schemas/OpsgenieServiceRegionType' type: object - CloudflareAccountResponseAttributes: - description: Attributes object of a Cloudflare account. + TenancyConfigDataAttributesLogsConfig: + description: Log collection configuration for an OCI tenancy, indicating which compartments and services have log collection enabled. + properties: + compartment_tag_filters: + description: List of compartment tag filters scoping log collection to specific compartments. + items: + description: A compartment tag filter in key:value format (for example, datadog:true). + type: string + type: array + enabled: + description: Whether log collection is enabled for the tenancy. + type: boolean + enabled_services: + description: List of OCI service names for which log collection is enabled. + items: + description: An OCI service name for which log collection is enabled (for example, compute). + type: string + type: array + type: object + TenancyConfigDataAttributesMetricsConfig: + description: Metrics collection configuration for an OCI tenancy, indicating which compartments and services are included or excluded. + properties: + compartment_tag_filters: + description: List of compartment tag filters scoping metrics collection to specific compartments. + items: + description: A compartment tag filter in key:value format (for example, datadog:true). + type: string + type: array + enabled: + description: Whether metrics collection is enabled for the tenancy. + type: boolean + excluded_services: + description: List of OCI service names excluded from metrics collection. + items: + description: An OCI service name excluded from metrics collection (for example, compute). + type: string + type: array + type: object + TenancyConfigDataAttributesRegionsConfig: + description: Region configuration for an OCI tenancy, indicating which regions are available, enabled, or disabled for data collection. + properties: + available: + description: List of OCI regions available for data collection in the tenancy. + items: + description: An OCI region identifier (for example, us-ashburn-1). + type: string + type: array + disabled: + description: List of OCI regions explicitly disabled for data collection. + items: + description: An OCI region identifier (for example, us-phoenix-1). + type: string + type: array + enabled: + description: List of OCI regions enabled for data collection. + items: + description: An OCI region identifier (for example, us-ashburn-1). + type: string + type: array + type: object + CreateTenancyConfigDataAttributesAuthCredentials: + description: OCI API signing key credentials used to authenticate the Datadog integration with the OCI tenancy. properties: - email: - description: The email associated with the Cloudflare account. - example: test-email@example.com + fingerprint: + description: The fingerprint of the OCI API signing key used for authentication. type: string - name: - description: The name of the Cloudflare account. - example: test-name + private_key: + description: The PEM-encoded private key corresponding to the OCI API signing key fingerprint. + example: '' type: string - resources: - description: >- - An allowlist of resources, such as `web`, `dns`, `lb` (load - balancer), `worker`, that restricts pulling metrics from those - resources. - example: - - web - - dns - - lb - - worker + required: + - private_key + type: object + CreateTenancyConfigDataAttributesLogsConfig: + description: Log collection configuration for an OCI tenancy, controlling which compartments and services have log collection enabled. + properties: + compartment_tag_filters: + description: List of compartment tag filters to scope log collection to specific compartments. items: + description: A compartment tag filter in key:value format (for example, datadog:true). type: string type: array - zones: - description: An allowlist of zones to restrict pulling metrics for. - example: - - zone_id_1 - - zone_id_2 + enabled: + description: Whether log collection is enabled for the tenancy. + type: boolean + enabled_services: + description: List of OCI service names for which log collection is enabled. items: + description: An OCI service name for which log collection is enabled (for example, compute). type: string type: array - required: - - name type: object - CloudflareAccountType: - default: cloudflare-accounts - description: The JSON:API type for this API. Should always be `cloudflare-accounts`. - enum: - - cloudflare-accounts - example: cloudflare-accounts - type: string - x-enum-varnames: - - CLOUDFLARE_ACCOUNTS - CloudflareAccountCreateRequestAttributes: - description: Attributes object for creating a Cloudflare account. + CreateTenancyConfigDataAttributesMetricsConfig: + description: Metrics collection configuration for an OCI tenancy, controlling which compartments and services are included or excluded. properties: - api_key: - description: The API key (or token) for the Cloudflare account. - example: a94a8fe5ccb19ba61c4c0873d391e987982fbbd3 - type: string - email: - description: >- - The email associated with the Cloudflare account. If an API key is - provided (and not a token), this field is also required. - example: test-email@example.com - type: string - name: - description: The name of the Cloudflare account. - example: test-name - type: string - resources: - description: >- - An allowlist of resources to restrict pulling metrics for including - `'web', 'dns', 'lb' (load balancer), 'worker'`. - example: - - web - - dns - - lb - - worker + compartment_tag_filters: + description: List of compartment tag filters to scope metrics collection to specific compartments. items: + description: A compartment tag filter in key:value format (for example, datadog:true). type: string type: array - zones: - description: An allowlist of zones to restrict pulling metrics for. - example: - - zone_id_1 - - zone_id_2 + enabled: + description: Whether metrics collection is enabled for the tenancy. + type: boolean + excluded_services: + description: List of OCI service names to exclude from metrics collection. items: + description: An OCI service name to exclude from metrics collection (for example, compute). type: string type: array - required: - - api_key - - name type: object - CloudflareAccountUpdateRequestAttributes: - description: Attributes object for updating a Cloudflare account. + CreateTenancyConfigDataAttributesRegionsConfig: + description: Region configuration for an OCI tenancy, specifying which regions are available, enabled, or disabled for data collection. properties: - api_key: - description: The API key of the Cloudflare account. - example: a94a8fe5ccb19ba61c4c0873d391e987982fbbd3 - type: string - email: - description: >- - The email associated with the Cloudflare account. If an API key is - provided (and not a token), this field is also required. - example: test-email@example.com + available: + description: List of OCI regions available for data collection in the tenancy. + items: + description: An OCI region identifier (for example, us-ashburn-1). + type: string + type: array + disabled: + description: List of OCI regions explicitly disabled for data collection. + items: + description: An OCI region identifier (for example, us-phoenix-1). + type: string + type: array + enabled: + description: List of OCI regions enabled for data collection. + items: + description: An OCI region identifier (for example, us-ashburn-1). + type: string + type: array + type: object + UpdateTenancyConfigDataAttributesAuthCredentials: + description: OCI API signing key credentials used to update the Datadog integration's authentication with the OCI tenancy. + properties: + fingerprint: + description: The fingerprint of the OCI API signing key used for authentication. type: string - name: - description: The name of the Cloudflare account. + private_key: + description: The PEM-encoded private key corresponding to the OCI API signing key fingerprint. + example: '' type: string - resources: - description: >- - An allowlist of resources to restrict pulling metrics for including - `'web', 'dns', 'lb' (load balancer), 'worker'`. - example: - - web - - dns - - lb - - worker + required: + - private_key + type: object + UpdateTenancyConfigDataAttributesLogsConfig: + description: Log collection configuration for updating an OCI tenancy, controlling which compartments and services have log collection enabled. + properties: + compartment_tag_filters: + description: List of compartment tag filters to scope log collection to specific compartments. items: + description: A compartment tag filter in key:value format (for example, datadog:true). type: string type: array - zones: - description: An allowlist of zones to restrict pulling metrics for. - example: - - zone_id_1 - - zone_id_2 + enabled: + description: Whether log collection is enabled for the tenancy. + type: boolean + enabled_services: + description: List of OCI service names for which log collection is enabled. items: + description: An OCI service name for which log collection is enabled (for example, compute). type: string type: array - required: - - api_key type: object - ConfluentAccountResponseAttributes: - description: The attributes of a Confluent account. + UpdateTenancyConfigDataAttributesMetricsConfig: + description: Metrics collection configuration for updating an OCI tenancy, controlling which compartments and services are included or excluded. properties: - api_key: - description: The API key associated with your Confluent account. - example: TESTAPIKEY123 - type: string - resources: - description: A list of Confluent resources associated with the Confluent account. + compartment_tag_filters: + description: List of compartment tag filters to scope metrics collection to specific compartments. items: - $ref: '#/components/schemas/ConfluentResourceResponseAttributes' + description: A compartment tag filter in key:value format (for example, datadog:true). + type: string type: array - tags: - description: >- - A list of strings representing tags. Can be a single key, or - key-value pairs separated by a colon. - example: - - myTag - - myTag2:myValue + enabled: + description: Whether metrics collection is enabled for the tenancy. + type: boolean + excluded_services: + description: List of OCI service names to exclude from metrics collection. + items: + description: An OCI service name to exclude from metrics collection (for example, compute). + type: string + type: array + type: object + UpdateTenancyConfigDataAttributesRegionsConfig: + description: Region configuration for updating an OCI tenancy, specifying which regions are available, enabled, or disabled for data collection. + properties: + available: + description: List of OCI regions available for data collection in the tenancy. + items: + description: An OCI region identifier (for example, us-ashburn-1). + type: string + type: array + disabled: + description: List of OCI regions explicitly disabled for data collection. items: + description: An OCI region identifier (for example, us-phoenix-1). type: string type: array + enabled: + description: List of OCI regions enabled for data collection. + items: + description: An OCI region identifier (for example, us-ashburn-1). + type: string + type: array + type: object + OpsgenieServiceRegionType: + description: The region for the Opsgenie service. + enum: + - us + - eu + - custom + example: us + type: string + x-enum-varnames: + - US + - EU + - CUSTOM + SalesforceIncidentsTemplatePriority: + description: Priority of the Salesforce incident created from this template. + enum: + - Critical + - High + - Moderate + - Low + example: High + type: string + x-enum-varnames: + - CRITICAL + - HIGH + - MODERATE + - LOW + ServiceNowAssignmentGroupAttributes: + description: Attributes of a ServiceNow assignment group + properties: + assignment_group_name: + description: The name of the assignment group + example: Network Team + type: string + assignment_group_sys_id: + description: The system ID of the assignment group in ServiceNow + example: abc123def456 + type: string + instance_id: + description: The ID of the ServiceNow instance + example: 65b3341b-0680-47f9-a6d4-134db45c603e + format: uuid + type: string required: - - api_key + - instance_id + - assignment_group_name + - assignment_group_sys_id type: object - ConfluentAccountType: - default: confluent-cloud-accounts - description: >- - The JSON:API type for this API. Should always be - `confluent-cloud-accounts`. + ServiceNowAssignmentGroupType: + description: Type identifier for ServiceNow assignment group resources enum: - - confluent-cloud-accounts - example: confluent-cloud-accounts + - assignment_groups + example: assignment_groups type: string x-enum-varnames: - - CONFLUENT_CLOUD_ACCOUNTS - ConfluentAccountCreateRequestAttributes: - description: Attributes associated with the account creation request. + - ASSIGNMENT_GROUPS + ServiceNowBusinessServiceAttributes: + description: Attributes of a ServiceNow business service properties: - api_key: - description: The API key associated with your Confluent account. - example: TESTAPIKEY123 + instance_id: + description: The ID of the ServiceNow instance + example: 65b3341b-0680-47f9-a6d4-134db45c603e + format: uuid type: string - api_secret: - description: The API secret associated with your Confluent account. - example: test-api-secret-123 + service_name: + description: The name of the business service + example: IT Support + type: string + service_sys_id: + description: The system ID of the business service in ServiceNow + example: abc123def456 type: string - resources: - description: A list of Confluent resources associated with the Confluent account. - items: - $ref: '#/components/schemas/ConfluentAccountResourceAttributes' - type: array - tags: - description: >- - A list of strings representing tags. Can be a single key, or - key-value pairs separated by a colon. - example: - - myTag - - myTag2:myValue - items: - type: string - type: array required: - - api_key - - api_secret + - instance_id + - service_name + - service_sys_id type: object - ConfluentAccountUpdateRequestAttributes: - description: Attributes object for updating a Confluent account. + ServiceNowBusinessServiceType: + description: Type identifier for ServiceNow business service resources + enum: + - business_services + example: business_services + type: string + x-enum-varnames: + - BUSINESS_SERVICES + ServiceNowInstanceAttributes: + description: Attributes of a ServiceNow instance properties: - api_key: - description: The API key associated with your Confluent account. - example: TESTAPIKEY123 + instance_name: + description: The name of the ServiceNow instance + example: my-servicenow-instance type: string - api_secret: - description: The API secret associated with your Confluent account. - example: test-api-secret-123 + required: + - instance_name + type: object + ServiceNowInstanceType: + description: Type identifier for ServiceNow instance resources + enum: + - instance + example: instance + type: string + x-enum-varnames: + - INSTANCE + ServiceNowUserAttributes: + description: Attributes of a ServiceNow user + properties: + email: + description: The email address of the user + example: john.doe@example.com + type: string + full_name: + description: The full name of the user + example: John Doe + type: string + instance_id: + description: The ID of the ServiceNow instance + example: 65b3341b-0680-47f9-a6d4-134db45c603e + format: uuid + type: string + user_name: + description: The username of the ServiceNow user + example: john.doe + type: string + user_sys_id: + description: The system ID of the user in ServiceNow + example: abc123def456 type: string - tags: - description: >- - A list of strings representing tags. Can be a single key, or - key-value pairs separated by a colon. - example: - - myTag - - myTag2:myValue - items: - type: string - type: array required: - - api_key - - api_secret + - instance_id + - user_name + - user_sys_id + - email type: object - ConfluentResourceResponseAttributes: - description: Model representation of a Confluent Cloud resource. + ServiceNowUserType: + description: Type identifier for ServiceNow user resources + enum: + - users + example: users + type: string + x-enum-varnames: + - USERS + WebhooksOAuth2ClientCredentialsRelationship: + description: Relationship pointing to the OAuth2 client credentials resource for this auth method. + properties: + data: + $ref: '#/components/schemas/WebhooksOAuth2ClientCredentialsRelationshipData' + type: object + ConfluentAccountResourceAttributes: + description: Attributes object for updating a Confluent resource. properties: enable_custom_metrics: default: false - description: >- - Enable the `custom.consumer_lag_offset` metric, which contains extra - metric tags. + description: Enable the `custom.consumer_lag_offset` metric, which contains extra metric tags. example: false type: boolean id: - description: The ID associated with the Confluent resource. - example: resource_id_abc123 + description: The ID associated with a Confluent resource. + example: resource-id-123 type: string resource_type: - description: >- - The resource type of the Resource. Can be `kafka`, `connector`, - `ksql`, or `schema_registry`. + description: The resource type of the Resource. Can be `kafka`, `connector`, `ksql`, or `schema_registry`. example: kafka type: string tags: - description: >- - A list of strings representing tags. Can be a single key, or - key-value pairs separated by a colon. + description: A list of strings representing tags. Can be a single key, or key-value pairs separated by a colon. example: - myTag - myTag2:myValue items: + description: A tag for the Confluent resource. Can be a single key or a key-value pair separated by a colon. type: string type: array required: - resource_type type: object - ConfluentResourceType: - default: confluent-cloud-resources - description: The JSON:API type for this request. - enum: - - confluent-cloud-resources - example: confluent-cloud-resources - type: string - x-enum-varnames: - - CONFLUENT_CLOUD_RESOURCES - ConfluentResourceRequestAttributes: - description: Attributes object for updating a Confluent resource. + FastlyService: + description: The schema representation of a Fastly service. properties: - enable_custom_metrics: - default: false - description: >- - Enable the `custom.consumer_lag_offset` metric, which contains extra - metric tags. - example: false - type: boolean - resource_type: - description: >- - The resource type of the Resource. Can be `kafka`, `connector`, - `ksql`, or `schema_registry`. - example: kafka + id: + description: The ID of the Fastly service + example: 6abc7de6893AbcDe9fghIj type: string tags: - description: >- - A list of strings representing tags. Can be a single key, or - key-value pairs separated by a colon. + description: A list of tags for the Fastly service. example: - myTag - myTag2:myValue items: + description: A tag for the Fastly service. type: string type: array required: - - resource_type + - id + type: object + BatchRowsQueryResponseDataRelationshipsRows: + description: Relationship data containing the list of matching rows. + properties: + data: + items: + $ref: '#/components/schemas/TableRowResourceIdentifier' + type: array type: object - FastlyAccounResponseAttributes: - description: Attributes object of a Fastly account. + TableResultV2DataAttributesFileMetadata: + additionalProperties: false + description: |- + Metadata specifying where and how to access the reference table's data file. + + For cloud storage tables (S3/GCS/Azure): + - sync_enabled and access_details will always be present + - error fields (error_message, error_row_count, error_type) are present only when errors occur + + For local file tables: + - error fields (error_message, error_row_count) are present only when errors occur + - sync_enabled, access_details are never present properties: - name: - description: The name of the Fastly account. - example: test-name + access_details: + $ref: '#/components/schemas/TableResultV2DataAttributesFileMetadataOneOfAccessDetails' + description: Cloud storage access configuration. Only present for cloud storage sources (S3, GCS, Azure). + error_message: + description: The error message returned from the last operation (sync for cloud storage, upload for local file). type: string - services: - description: A list of services belonging to the parent account. + error_row_count: + description: The number of rows that failed to process. + format: int64 + type: integer + error_type: + $ref: '#/components/schemas/TableResultV2DataAttributesFileMetadataCloudStorageErrorType' + description: The type of error that occurred during file processing. Only applicable for cloud storage sources. + sync_enabled: + description: Whether this table is synced automatically from cloud storage. Only applicable for cloud storage sources. + type: boolean + title: FileMetadataV2 + type: object + TableResultV2DataAttributesSchema: + description: Schema defining the structure and columns of the reference table. + properties: + fields: + description: The schema fields. Maximum of 200 columns. items: - $ref: '#/components/schemas/FastlyService' + $ref: '#/components/schemas/TableResultV2DataAttributesSchemaFieldsItems' + maxItems: 200 + minItems: 1 + type: array + primary_keys: + description: List of field names that serve as primary keys for the table. Only one primary key is supported, and it is used as an ID to retrieve rows. + example: + - field_1 + items: + description: A field name used as a primary key. + type: string type: array required: - - name + - fields + - primary_keys type: object - FastlyAccountType: - default: fastly-accounts - description: The JSON:API type for this API. Should always be `fastly-accounts`. + ReferenceTableSourceType: + description: The source type for reference table data. Includes all possible source types that can appear in responses. enum: - - fastly-accounts - example: fastly-accounts + - LOCAL_FILE + - S3 + - GCS + - AZURE + - SERVICENOW + - SALESFORCE + - DATABRICKS + - SNOWFLAKE + example: LOCAL_FILE type: string x-enum-varnames: - - FASTLY_ACCOUNTS - FastlyAccountCreateRequestAttributes: - description: Attributes object for creating a Fastly account. + - LOCAL_FILE + - S3 + - GCS + - AZURE + - SERVICENOW + - SALESFORCE + - DATABRICKS + - SNOWFLAKE + CreateTableRequestDataAttributesFileMetadata: + description: Metadata specifying where and how to access the reference table's data file. + additionalProperties: false properties: - api_key: - description: The API key for the Fastly account. - example: ABCDEFG123 - type: string - name: - description: The name of the Fastly account. - example: test-name + access_details: + $ref: '#/components/schemas/CreateTableRequestDataAttributesFileMetadataOneOfAccessDetails' + sync_enabled: + description: Whether this table is synced automatically. + example: false + type: boolean + upload_id: + description: The upload ID. + example: 00000000-0000-0000-0000-000000000000 type: string - services: - description: A list of services belonging to the parent account. + required: + - access_details + - sync_enabled + - upload_id + title: CloudFileMetadataV2 + type: object + CreateTableRequestDataAttributesSchema: + description: Schema defining the structure and columns of the reference table. + properties: + fields: + description: The schema fields. Maximum of 200 columns. items: - $ref: '#/components/schemas/FastlyService' + $ref: '#/components/schemas/CreateTableRequestDataAttributesSchemaFieldsItems' + maxItems: 200 + minItems: 1 + type: array + primary_keys: + description: List of field names that serve as primary keys for the table. Only one primary key is supported, and it is used as an ID to retrieve rows. + example: + - field_1 + items: + description: A field name used as a primary key. + type: string type: array required: - - api_key - - name + - fields + - primary_keys type: object - FastlyAccountUpdateRequestAttributes: - description: Attributes object for updating a Fastly account. + ReferenceTableCreateSourceType: + description: The source type for creating reference table data. Only these source types can be created through this API. + enum: + - LOCAL_FILE + - S3 + - GCS + - AZURE + example: LOCAL_FILE + type: string + x-enum-varnames: + - LOCAL_FILE + - S3 + - GCS + - AZURE + PatchTableRequestDataAttributesFileMetadata: + description: Metadata specifying where and how to access the reference table's data file. + additionalProperties: false properties: - api_key: - description: The API key of the Fastly account. - example: ABCDEFG123 - type: string - name: - description: The name of the Fastly account. + access_details: + $ref: '#/components/schemas/PatchTableRequestDataAttributesFileMetadataOneOfAccessDetails' + sync_enabled: + description: Whether this table is synced automatically. + example: false + type: boolean + upload_id: + description: The upload ID. + example: 00000000-0000-0000-0000-000000000000 type: string + title: CloudFileMetadataV2 type: object - FastlyServiceAttributes: - description: Attributes object for Fastly service requests. + required: + - upload_id + PatchTableRequestDataAttributesSchema: + description: Schema defining the updates to the structure and columns of the reference table. Schema fields cannot be deleted or renamed. properties: - tags: - description: A list of tags for the Fastly service. + fields: + description: The schema fields. Maximum of 200 columns. + items: + $ref: '#/components/schemas/PatchTableRequestDataAttributesSchemaFieldsItems' + maxItems: 200 + minItems: 1 + type: array + primary_keys: + description: List of field names that serve as primary keys for the table. Only one primary key is supported, and it is used as an ID to retrieve rows. Primary keys cannot be changed after table creation. example: - - myTag - - myTag2:myValue + - field_1 items: + description: A field name used as a primary key. type: string type: array + required: + - fields + - primary_keys type: object - FastlyServiceType: - default: fastly-services - description: The JSON:API type for this API. Should always be `fastly-services`. - enum: - - fastly-services - example: fastly-services + BatchUpsertRowsRequestDataAttributesValue: + description: Types allowed for Reference Table row values. + example: row_name type: string - x-enum-varnames: - - FASTLY_SERVICES - OktaAccountAttributes: - description: Attributes object for an Okta account. + format: int32 + maximum: 2147483647 + WebIntegrationAccountSettings: + additionalProperties: {} + description: Integration-specific settings. The shape of this object varies by integration. + example: + workspace_url: https://example.azuredatabricks.net + type: object + WebIntegrationAccountSecrets: + additionalProperties: {} + description: |- + Integration-specific secrets. The shape of this object varies by integration. Secrets + are write-only and never returned by the API. + example: + client_secret: my-client-secret + type: object + IntegrationAccountBasicAuthResponse: + description: The basic authentication method and username configured on the account. properties: - api_key: - description: The API key of the Okta account. - type: string - writeOnly: true - auth_method: - description: The authorization method for an Okta account. - example: oauth - type: string - client_id: - description: The Client ID of an Okta app integration. - type: string - client_secret: - description: The client secret of an Okta app integration. - type: string - writeOnly: true - domain: - description: The domain of the Okta account. - example: https://example.okta.com/ - type: string - name: - description: The name of the Okta account. - example: Okta-Prod + auth_type: + $ref: '#/components/schemas/IntegrationAccountBasicAuthType' + username: + description: Non-secret username or public identifier for the credential pair. + example: datadog type: string required: - - auth_method - - domain - - name + - auth_type + - username type: object - OktaAccountType: - default: okta-accounts - description: Account type for an Okta account. - enum: - - okta-accounts - example: okta-accounts - type: string - x-enum-varnames: - - OKTA_ACCOUNTS - OktaAccountUpdateRequestAttributes: - description: Attributes object for updating an Okta account. + ElasticCloudDetailedIndexStatsIntegrationDataflowResponse: + description: The Elastic Cloud detailed index stats dataflow. properties: - api_key: - description: The API key of the Okta account. - type: string - writeOnly: true - auth_method: - description: The authorization method for an Okta account. - example: oauth - type: string - client_id: - description: The Client ID of an Okta app integration. - type: string - client_secret: - description: The client secret of an Okta app integration. + enabled: + description: Whether the Elastic Cloud dataflow is enabled. + example: true + type: boolean + status: + $ref: '#/components/schemas/IntegrationAccountDataflowStatus' + type: object + ElasticCloudIndexStatsIntegrationDataflowResponse: + description: The Elastic Cloud index stats dataflow. + properties: + enabled: + description: Whether the Elastic Cloud dataflow is enabled. + example: true + type: boolean + status: + $ref: '#/components/schemas/IntegrationAccountDataflowStatus' + type: object + ElasticCloudMetricsIntegrationDataflowResponse: + description: The Elastic Cloud metrics dataflow. + properties: + enabled: + description: Whether the Elastic Cloud dataflow is enabled. + example: true + readOnly: true + type: boolean + status: + $ref: '#/components/schemas/IntegrationAccountDataflowStatus' + type: object + ElasticCloudPendingTaskStatsIntegrationDataflowResponse: + description: The Elastic Cloud pending task stats dataflow. + properties: + enabled: + description: Whether the Elastic Cloud dataflow is enabled. + example: true + type: boolean + status: + $ref: '#/components/schemas/IntegrationAccountDataflowStatus' + type: object + ElasticCloudPrimaryShardGracefulTimeoutIntegrationDataflowResponse: + description: The Elastic Cloud primary shard graceful timeout dataflow. + properties: + enabled: + description: Whether the Elastic Cloud dataflow is enabled. + example: true + type: boolean + status: + $ref: '#/components/schemas/IntegrationAccountDataflowStatus' + type: object + ElasticCloudPrimaryShardStatsIntegrationDataflowResponse: + description: The Elastic Cloud primary shard stats dataflow. + properties: + enabled: + description: Whether the Elastic Cloud dataflow is enabled. + example: true + type: boolean + status: + $ref: '#/components/schemas/IntegrationAccountDataflowStatus' + type: object + ElasticCloudShardAllocationStatsIntegrationDataflowResponse: + description: The Elastic Cloud shard allocation stats dataflow. + properties: + enabled: + description: Whether the Elastic Cloud dataflow is enabled. + example: true + type: boolean + status: + $ref: '#/components/schemas/IntegrationAccountDataflowStatus' + type: object + ElasticCloudSlmStatsIntegrationDataflowResponse: + description: The Elastic Cloud snapshot lifecycle management stats dataflow. + properties: + enabled: + description: Whether the Elastic Cloud dataflow is enabled. + example: true + type: boolean + status: + $ref: '#/components/schemas/IntegrationAccountDataflowStatus' + type: object + IntegrationAccountBasicAuthRequest: + description: Username and password authentication. + properties: + auth_type: + $ref: '#/components/schemas/IntegrationAccountBasicAuthType' + password: + description: Secret password or private key. + example: your-password type: string writeOnly: true - domain: - description: The domain associated with an Okta account. - example: https://dev-test.okta.com/ + username: + description: Non-secret username or public identifier for the credential pair. + example: datadog type: string required: - - auth_method - - domain + - auth_type + - username + - password type: object - AWSAccountTags: - description: >- - Tags to apply to all hosts and metrics reporting for this account. - Defaults to `[]`. - items: - description: Tag in the form `key:value`. - example: env:prod - type: string - nullable: true - type: array - AWSAuthConfig: - description: AWS Authentication config. - oneOf: - - $ref: '#/components/schemas/AWSAuthConfigKeys' - - $ref: '#/components/schemas/AWSAuthConfigRole' - AWSAccountID: - description: AWS Account ID. - example: '123456789012' - type: string - AWSAccountPartition: - description: >- - AWS partition your AWS account is scoped to. Defaults to `aws`. - - See - [Partitions](https://docs.aws.amazon.com/whitepapers/latest/aws-fault-isolation-boundaries/partitions.html) - in the AWS documentation for more information. - enum: - - aws - - aws-cn - - aws-us-gov - example: aws - type: string - x-enum-varnames: - - AWS - - AWS_CN - - AWS_US_GOV - AWSRegions: - description: AWS Regions to collect data from. Defaults to `include_all`. - oneOf: - - $ref: '#/components/schemas/AWSRegionsIncludeAll' - - $ref: '#/components/schemas/AWSRegionsIncludeOnly' - AWSLogsConfig: - description: AWS Logs Collection config. + ElasticCloudDetailedIndexStatsIntegrationDataflowRequest: + description: The Elastic Cloud detailed index stats dataflow. properties: - lambda_forwarder: - $ref: '#/components/schemas/AWSLambdaForwarderConfig' + enabled: + description: Whether the Elastic Cloud dataflow is enabled. + example: true + type: boolean type: object - AWSMetricsConfig: - description: AWS Metrics Collection config. + ElasticCloudIndexStatsIntegrationDataflowRequest: + description: The Elastic Cloud index stats dataflow. properties: - automute_enabled: - description: Enable EC2 automute for AWS metrics. Defaults to `true`. + enabled: + description: Whether the Elastic Cloud dataflow is enabled. example: true type: boolean - collect_cloudwatch_alarms: - description: Enable CloudWatch alarms collection. Defaults to `false`. - example: false + type: object + ElasticCloudPendingTaskStatsIntegrationDataflowRequest: + description: The Elastic Cloud pending task stats dataflow. + properties: + enabled: + description: Whether the Elastic Cloud dataflow is enabled. + example: true + type: boolean + type: object + ElasticCloudPrimaryShardGracefulTimeoutIntegrationDataflowRequest: + description: The Elastic Cloud primary shard graceful timeout dataflow. + properties: + enabled: + description: Whether the Elastic Cloud dataflow is enabled. + example: true + type: boolean + type: object + ElasticCloudPrimaryShardStatsIntegrationDataflowRequest: + description: The Elastic Cloud primary shard stats dataflow. + properties: + enabled: + description: Whether the Elastic Cloud dataflow is enabled. + example: true + type: boolean + type: object + ElasticCloudShardAllocationStatsIntegrationDataflowRequest: + description: The Elastic Cloud shard allocation stats dataflow. + properties: + enabled: + description: Whether the Elastic Cloud dataflow is enabled. + example: true + type: boolean + type: object + ElasticCloudSlmStatsIntegrationDataflowRequest: + description: The Elastic Cloud snapshot lifecycle management stats dataflow. + properties: + enabled: + description: Whether the Elastic Cloud dataflow is enabled. + example: true + type: boolean + type: object + IntegrationAccountBasicAuthUpdate: + description: Username and password authentication. Only the fields provided are changed; omit `password` to keep the stored one. + properties: + auth_type: + $ref: '#/components/schemas/IntegrationAccountBasicAuthType' + password: + description: Secret password or private key. + example: your-password + type: string + writeOnly: true + username: + description: Non-secret username or public identifier for the credential pair. + example: datadog + type: string + required: + - auth_type + type: object + TwilioAlertsLogsIntegrationDataflowResponse: + description: The Twilio alerts logs dataflow. + properties: + enabled: + description: Whether the Twilio dataflow is enabled. + example: true type: boolean - collect_custom_metrics: - description: Enable custom metrics collection. Defaults to `false`. - example: false + status: + $ref: '#/components/schemas/IntegrationAccountDataflowStatus' + type: object + TwilioCallSummariesLogsIntegrationDataflowResponse: + description: The Twilio call summaries logs dataflow. + properties: + enabled: + description: Whether the Twilio dataflow is enabled. + example: true type: boolean + status: + $ref: '#/components/schemas/IntegrationAccountDataflowStatus' + type: object + TwilioCloudCostMetricsIntegrationDataflowResponse: + description: The Twilio cloud cost metrics dataflow. + properties: enabled: - description: Enable AWS metrics collection. Defaults to `true`. + description: Whether the Twilio dataflow is enabled. example: true type: boolean - namespace_filters: - $ref: '#/components/schemas/AWSNamespaceFilters' - tag_filters: - description: AWS Metrics collection tag filters list. Defaults to `[]`. - items: - $ref: '#/components/schemas/AWSNamespaceTagFilter' - type: array + status: + $ref: '#/components/schemas/IntegrationAccountDataflowStatus' type: object - AWSResourcesConfig: - description: AWS Resources Collection config. + TwilioEventsLogsIntegrationDataflowResponse: + description: The Twilio events logs dataflow. properties: - cloud_security_posture_management_collection: - description: >- - Enable Cloud Security Management to scan AWS resources for - vulnerabilities, misconfigurations, identity risks, and compliance - violations. Defaults to `false`. Requires `extended_collection` to - be set to `true`. - example: false + enabled: + description: Whether the Twilio dataflow is enabled. + example: true type: boolean - extended_collection: - description: >- - Whether Datadog collects additional attributes and configuration - information about the resources in your AWS account. Defaults to - `true`. Required for `cloud_security_posture_management_collection`. + status: + $ref: '#/components/schemas/IntegrationAccountDataflowStatus' + type: object + TwilioMessagesLogsIntegrationDataflowResponse: + description: The Twilio messages logs dataflow. + properties: + enabled: + description: Whether the Twilio dataflow is enabled. example: true type: boolean + status: + $ref: '#/components/schemas/IntegrationAccountDataflowStatus' type: object - AWSTracesConfig: - description: AWS Traces Collection config. + TwilioAlertsLogsIntegrationDataflowRequest: + description: The Twilio alerts logs dataflow. properties: - xray_services: - $ref: '#/components/schemas/XRayServicesList' + enabled: + description: Whether the Twilio dataflow is enabled. + example: true + type: boolean type: object - GCPMetricNamespaceConfig: - description: Configuration for a GCP metric namespace. + TwilioCallSummariesLogsIntegrationDataflowRequest: + description: The Twilio call summaries logs dataflow. properties: - disabled: - default: false - description: >- - When disabled, Datadog does not collect metrics that are related to - this GCP metric namespace. + enabled: + description: Whether the Twilio dataflow is enabled. example: true type: boolean - id: - description: The id of the GCP metric namespace. - example: aiplatform - type: string type: object - GCPMonitoredResourceConfig: - description: Configuration for a GCP monitored resource. + TwilioCloudCostMetricsIntegrationDataflowRequest: + description: The Twilio cloud cost metrics dataflow. properties: - filters: - description: >- - List of filters to limit the monitored resources that are pulled - into Datadog by using tags. - - Only monitored resources that apply to specified filters are - imported into Datadog. - example: - - $KEY:$VALUE - items: - description: A monitored resource filter - type: string - type: array - type: - $ref: '#/components/schemas/GCPMonitoredResourceConfigType' + enabled: + description: Whether the Twilio dataflow is enabled. + example: true + type: boolean type: object - OpsgenieServiceRegionType: - description: The region for the Opsgenie service. - enum: - - us - - eu - - custom - example: us - type: string - x-enum-varnames: - - US - - EU - - CUSTOM - ConfluentAccountResourceAttributes: - description: Attributes object for updating a Confluent resource. + TwilioEventsLogsIntegrationDataflowRequest: + description: The Twilio events logs dataflow. properties: - enable_custom_metrics: - default: false - description: >- - Enable the `custom.consumer_lag_offset` metric, which contains extra - metric tags. - example: false + enabled: + description: Whether the Twilio dataflow is enabled. + example: true type: boolean - id: - description: The ID associated with a Confluent resource. - example: resource-id-123 - type: string - resource_type: - description: >- - The resource type of the Resource. Can be `kafka`, `connector`, - `ksql`, or `schema_registry`. - example: kafka - type: string - tags: - description: >- - A list of strings representing tags. Can be a single key, or - key-value pairs separated by a colon. - example: - - myTag - - myTag2:myValue - items: - type: string - type: array - required: - - resource_type type: object - FastlyService: - description: The schema representation of a Fastly service. + TwilioMessagesLogsIntegrationDataflowRequest: + description: The Twilio messages logs dataflow. properties: - id: - description: The ID of the Fastly service - example: 6abc7de6893AbcDe9fghIj - type: string - tags: - description: A list of tags for the Fastly service. - example: - - myTag - - myTag2:myValue - items: - type: string - type: array - required: - - id + enabled: + description: Whether the Twilio dataflow is enabled. + example: true + type: boolean type: object AWSAuthConfigKeys: - description: >- - AWS Authentication config to integrate your account using an access key - pair. + description: AWS Authentication config to integrate your account using an access key pair. properties: access_key_id: description: AWS Access Key ID. @@ -4013,6 +18453,7 @@ components: example: - us-east-1 items: + description: An AWS region to include in metrics collection. example: us-east-1 type: string type: array @@ -4020,95 +18461,375 @@ components: - include_only type: object AWSLambdaForwarderConfig: - description: >- - Log Autosubscription configuration for Datadog Forwarder Lambda - functions. Automatically set up triggers for existing - - and new logs for some services, ensuring no logs from new resources are - missed and saving time spent on manual configuration. + description: |- + Log Autosubscription configuration for Datadog Forwarder Lambda functions. + Automatically set up triggers for existing and new logs for some services, + ensuring no logs from new resources are missed and saving time spent on manual configuration. properties: lambdas: - description: >- - List of Datadog Lambda Log Forwarder ARNs in your AWS account. - Defaults to `[]`. + description: List of Datadog Lambda Log Forwarder ARNs in your AWS account. Defaults to `[]`. items: - example: >- - arn:aws:lambda:us-east-1:123456789012:function:DatadogLambdaLogForwarder + description: The ARN of a Datadog Lambda Log Forwarder function. + example: arn:aws:lambda:us-east-1:123456789012:function:DatadogLambdaLogForwarder type: string type: array log_source_config: $ref: '#/components/schemas/AWSLambdaForwarderConfigLogSourceConfig' sources: - description: >- - List of service IDs set to enable automatic log collection. Discover - the list of available services with the - + description: |- + List of service IDs set to enable automatic log collection. + Discover the list of available services with the [Get list of AWS log ready services](https://docs.datadoghq.com/api/latest/aws-logs-integration/#get-list-of-aws-log-ready-services) endpoint. items: + description: An AWS service ID for which automatic log collection is enabled. example: s3 type: string type: array type: object - AWSNamespaceFilters: - description: AWS Metrics namespace filters. Defaults to `exclude_only`. - oneOf: - - $ref: '#/components/schemas/AWSNamespaceFiltersExcludeOnly' - - $ref: '#/components/schemas/AWSNamespaceFiltersIncludeOnly' - AWSNamespaceTagFilter: - description: >- - AWS Metrics Collection tag filters list. Defaults to `[]`. - - The array of custom AWS resource tags (in the form `key:value`) defines - a filter that Datadog uses when collecting metrics from a specified - service. - - Wildcards, such as `?` (match a single character) and `*` (match - multiple characters), and exclusion using `!` before the tag are - supported. - - For EC2, only hosts that match one of the defined tags will be imported - into Datadog. The rest will be ignored. - - For example, `env:production,instance-type:c?.*,!region:us-east-1`. + AWSNamespaceFilters: + description: AWS Metrics namespace filters. Defaults to `exclude_only`. + properties: + exclude_only: + description: |- + Exclude only these namespaces from metrics collection. + Defaults to `["AWS/SQS", "AWS/ElasticMapReduce", "AWS/Usage"]`. + `AWS/SQS`, `AWS/ElasticMapReduce`, and `AWS/Usage` are excluded by default + to reduce your AWS CloudWatch costs from `GetMetricData` API calls. + example: + - AWS/SQS + - AWS/ElasticMapReduce + - AWS/Usage + items: + description: An AWS CloudWatch namespace to exclude from metrics collection. + example: AWS/SQS + type: string + type: array + include_only: + description: Include only these namespaces. + example: + - AWS/EC2 + items: + description: An AWS CloudWatch namespace to include in metrics collection. + example: AWS/EC2 + type: string + type: array + required: + - exclude_only + - include_only + type: object + AWSNamespaceTagFilter: + description: |- + AWS Metrics Collection tag filters list. Defaults to `[]`. + The array of custom AWS resource tags (in the form `key:value`) defines a filter that Datadog uses + when collecting metrics from a specified service. + Wildcards, such as `?` (match a single character) and `*` (match multiple characters), + and exclusion using `!` before the tag are supported. + For EC2, only hosts that match one of the defined tags are imported into Datadog. + The rest are ignored. For example, `env:production,instance-type:c?.*,!region:us-east-1`. + properties: + namespace: + description: The AWS service for which the tag filters defined in `tags` will be applied. + example: AWS/EC2 + type: string + tags: + description: The AWS resource tags to filter on for the service specified by `namespace`. + items: + description: Tag in the form `key:value`. + example: datadog:true + type: string + nullable: true + type: array + type: object + XRayServicesList: + description: AWS X-Ray services to collect traces from. Defaults to `include_only`. + properties: + include_all: + description: Include all services. + example: false + type: boolean + include_only: + description: Include only these services. + example: + - AWS/AppSync + items: + description: An AWS X-Ray service name to include in traces collection. + example: AWS/AppSync + type: string + type: array + required: + - include_all + - include_only + type: object + nullable: true + AWSMetricNameFilterPreviewFilterMatch: + description: A metric name filter pattern and how many metrics it matched. + properties: + match_count: + description: The number of Datadog metric names matched by this pattern. + example: 1 + format: int64 + type: integer + pattern: + description: The metric name filter pattern. + example: aws.ec2.network_in + type: string + required: + - pattern + - match_count + type: object + AWSMetricNameFilterPreviewMetric: + description: A CloudWatch metric and the Datadog metric names it produces. + properties: + cw_name: + description: The CloudWatch metric name. + example: NetworkIn + type: string + dd_names: + description: The Datadog metric names produced from this CloudWatch metric. + items: + $ref: '#/components/schemas/AWSMetricNameFilterPreviewDDName' + type: array + required: + - cw_name + - dd_names + type: object + AWSMetricNameFiltersIncludeOnly: + description: Include only metric names matching one of these patterns for a single namespace. + properties: + include_only: + description: Include only metric names matching one of these patterns. + example: + - aws.ec2.network_in + items: + description: A metric name pattern to include. + example: aws.ec2.network_in + type: string + type: array + namespace: + description: The AWS CloudWatch namespace to which this metric name filter applies. + example: AWS/EC2 + type: string + required: + - namespace + - include_only + type: object + AWSMetricNameFiltersExcludeOnly: + description: Exclude metric names matching one of these patterns for a single namespace. + properties: + exclude_only: + description: Exclude metric names matching one of these patterns. + example: + - aws.ec2.network_in + items: + description: A metric name pattern to exclude. + example: aws.ec2.network_in + type: string + type: array + namespace: + description: The AWS CloudWatch namespace to which this metric name filter applies. + example: AWS/EC2 + type: string + required: + - namespace + - exclude_only + type: object + AWSEventBridgeSource: + description: An EventBridge source. + properties: + name: + description: The event source name. + example: app-alerts-zyxw3210 + type: string + region: + description: |- + The event source's + [AWS region](https://docs.aws.amazon.com/general/latest/gr/rande.html#regional-endpoints). + example: us-east-1 + type: string + type: object + AWSCcmConfigValidationIssue: + description: A single validation issue found while validating an AWS Cost and Usage Report (CUR) 2.0 configuration. + properties: + code: + $ref: '#/components/schemas/AWSCcmConfigValidationIssueCode' + description: + description: Human-readable description of the validation issue. + example: no CUR 2.0 export named "cost-and-usage-report" found + type: string + required: + - code + - description + type: object + GoogleChatOrganizationRelationshipsDelegatedUserData: + description: Delegated user relationship data. + properties: + id: + description: The ID of the delegated user. + example: 2b3c4d5e-6f78-9012-bcde-f23456789012 + type: string + type: + $ref: '#/components/schemas/GoogleChatDelegatedUserType' + type: object + WebhooksOAuth2ClientCredentialsRelationshipData: + description: Relationship data referencing an OAuth2 client credentials resource. + properties: + id: + description: The ID of the OAuth2 client credentials resource. + example: 596da4af-0563-4097-90ff-07230c3f9db3 + type: string + type: + $ref: '#/components/schemas/WebhooksOAuth2ClientCredentialsType' + type: object + TableResultV2DataAttributesFileMetadataOneOfAccessDetails: + description: Cloud storage access configuration for the reference table data file. + properties: + aws_detail: + $ref: '#/components/schemas/TableResultV2DataAttributesFileMetadataOneOfAccessDetailsAwsDetail' + azure_detail: + $ref: '#/components/schemas/TableResultV2DataAttributesFileMetadataOneOfAccessDetailsAzureDetail' + gcp_detail: + $ref: '#/components/schemas/TableResultV2DataAttributesFileMetadataOneOfAccessDetailsGcpDetail' + type: object + TableResultV2DataAttributesFileMetadataCloudStorageErrorType: + description: The type of error that occurred during file processing. This field provides high-level error categories for easier troubleshooting and is only present when there are errors. + enum: + - TABLE_SCHEMA_ERROR + - FILE_FORMAT_ERROR + - CONFIGURATION_ERROR + - QUOTA_EXCEEDED + - CONFLICT_ERROR + - VALIDATION_ERROR + - STATE_ERROR + - OPERATION_ERROR + - SYSTEM_ERROR + type: string + x-enum-varnames: + - TABLE_SCHEMA_ERROR + - FILE_FORMAT_ERROR + - CONFIGURATION_ERROR + - QUOTA_EXCEEDED + - CONFLICT_ERROR + - VALIDATION_ERROR + - STATE_ERROR + - OPERATION_ERROR + - SYSTEM_ERROR + TableResultV2DataAttributesSchemaFieldsItems: + description: A single field (column) in the reference table schema to be returned. + properties: + name: + description: The field name. + example: field_1 + type: string + type: + $ref: '#/components/schemas/ReferenceTableSchemaFieldType' + required: + - name + - type + type: object + CreateTableRequestDataAttributesFileMetadataCloudStorage: + additionalProperties: false + description: Cloud storage file metadata for create requests. Both access_details and sync_enabled are required. + properties: + access_details: + $ref: '#/components/schemas/CreateTableRequestDataAttributesFileMetadataOneOfAccessDetails' + sync_enabled: + description: Whether this table is synced automatically. + example: false + type: boolean + required: + - access_details + - sync_enabled + title: CloudFileMetadataV2 + type: object + CreateTableRequestDataAttributesFileMetadataLocalFile: + additionalProperties: false + description: Local file metadata for create requests using the upload ID. + properties: + upload_id: + description: The upload ID. + example: 00000000-0000-0000-0000-000000000000 + type: string + required: + - upload_id + title: LocalFileMetadataV2 + type: object + CreateTableRequestDataAttributesSchemaFieldsItems: + description: A single field (column) in the reference table schema to be created. + properties: + name: + description: The field name. + example: field_1 + type: string + type: + $ref: '#/components/schemas/ReferenceTableSchemaFieldType' + required: + - name + - type + type: object + PatchTableRequestDataAttributesFileMetadataCloudStorage: + additionalProperties: false + description: Cloud storage file metadata for patch requests. Allows partial updates of access_details and sync_enabled. properties: - namespace: - description: >- - The AWS service for which the tag filters defined in `tags` will be - applied. - example: AWS/EC2 + access_details: + $ref: '#/components/schemas/PatchTableRequestDataAttributesFileMetadataOneOfAccessDetails' + sync_enabled: + description: Whether this table is synced automatically. + example: false + type: boolean + title: CloudFileMetadataV2 + type: object + PatchTableRequestDataAttributesFileMetadataLocalFile: + additionalProperties: false + description: Local file metadata for patch requests using upload ID. + properties: + upload_id: + description: The upload ID. + example: 00000000-0000-0000-0000-000000000000 type: string - tags: - description: >- - The AWS resource tags to filter on for the service specified by - `namespace`. - items: - description: Tag in the form `key:value`. - example: datadog:true - type: string - nullable: true - type: array + required: + - upload_id + title: LocalFileMetadataV2 type: object - XRayServicesList: - description: AWS X-Ray services to collect traces from. Defaults to `include_only`. - oneOf: - - $ref: '#/components/schemas/XRayServicesIncludeAll' - - $ref: '#/components/schemas/XRayServicesIncludeOnly' - GCPMonitoredResourceConfigType: - description: >- - The GCP monitored resource type. Only a subset of resource types are - supported. + PatchTableRequestDataAttributesSchemaFieldsItems: + description: A single field (column) in the reference table schema to be updated. Schema fields cannot be deleted or renamed. + properties: + name: + description: The field name. + example: field_1 + type: string + type: + $ref: '#/components/schemas/ReferenceTableSchemaFieldType' + required: + - name + - type + type: object + IntegrationAccountBasicAuthType: + default: basic + description: The authentication method type. enum: - - cloud_function - - cloud_run_revision - - gce_instance - example: gce_instance + - basic + example: basic type: string x-enum-varnames: - - CLOUD_FUNCTION - - CLOUD_RUN_REVISION - - GCE_INSTANCE + - BASIC + IntegrationAccountDataflowStatus: + description: Read-only collection status of a dataflow. + properties: + health: + $ref: '#/components/schemas/IntegrationAccountDataflowHealth' + message: + description: Human-readable detail, populated when the dataflow is not healthy. + example: '' + type: string + updated_at: + description: Time the status was last computed. + example: '2026-06-25T08:30:50Z' + format: date-time + type: string + readOnly: true + type: object AWSLambdaForwarderConfigLogSourceConfig: description: Log source configuration. properties: @@ -4119,27 +18840,24 @@ components: type: array type: object AWSNamespaceFiltersExcludeOnly: - description: >- - Exclude only these namespaces from metrics collection. Defaults to - `["AWS/SQS", "AWS/ElasticMapReduce", "AWS/Usage"]`. - - `AWS/SQS`, `AWS/ElasticMapReduce`, and `AWS/Usage` are excluded by - default to reduce your AWS CloudWatch costs from `GetMetricData` API - calls. + description: |- + Exclude only these namespaces from metrics collection. + Defaults to `["AWS/SQS", "AWS/ElasticMapReduce", "AWS/Usage"]`. + `AWS/SQS`, `AWS/ElasticMapReduce`, and `AWS/Usage` are excluded by default + to reduce your AWS CloudWatch costs from `GetMetricData` API calls. properties: exclude_only: - description: >- - Exclude only these namespaces from metrics collection. Defaults to - `["AWS/SQS", "AWS/ElasticMapReduce", "AWS/Usage"]`. - - `AWS/SQS`, `AWS/ElasticMapReduce`, and `AWS/Usage` are excluded by - default to reduce your AWS CloudWatch costs from `GetMetricData` API - calls. + description: |- + Exclude only these namespaces from metrics collection. + Defaults to `["AWS/SQS", "AWS/ElasticMapReduce", "AWS/Usage"]`. + `AWS/SQS`, `AWS/ElasticMapReduce`, and `AWS/Usage` are excluded by default + to reduce your AWS CloudWatch costs from `GetMetricData` API calls. example: - AWS/SQS - AWS/ElasticMapReduce - AWS/Usage items: + description: An AWS CloudWatch namespace to exclude from metrics collection. example: AWS/SQS type: string type: array @@ -4154,6 +18872,7 @@ components: example: - AWS/EC2 items: + description: An AWS CloudWatch namespace to include in metrics collection. example: AWS/EC2 type: string type: array @@ -4179,38 +18898,193 @@ components: example: - AWS/AppSync items: + description: An AWS X-Ray service name to include in traces collection. example: AWS/AppSync type: string type: array required: - include_only type: object + AWSMetricNameFilterPreviewDDName: + description: A Datadog metric name and whether it is filtered. + properties: + filtered: + description: Whether this Datadog metric name is filtered out. + example: true + type: boolean + name: + description: The Datadog metric name. + example: aws.ec2.network_in + type: string + required: + - name + - filtered + type: object + AWSCcmConfigValidationIssueCode: + description: Identifies the specific reason a Cost and Usage Report (CUR) 2.0 configuration failed validation. + enum: + - ISSUE_CODE_UNSPECIFIED + - CREDENTIAL_ERROR + - BUCKET_NAME_INVALID_GOVCLOUD + - S3_LIST_PERMISSION_MISSING + - S3_GET_PERMISSION_MISSING + - S3_BUCKET_REGION_MISMATCH + - S3_BUCKET_NOT_ACCESSIBLE + - EXPORT_LIST_PERMISSION_MISSING + - EXPORT_GET_PERMISSION_MISSING + - EXPORT_NOT_FOUND + - EXPORT_STATUS_UNHEALTHY + - TIME_GRANULARITY_INVALID + - FILE_FORMAT_INVALID + - INCLUDE_RESOURCES_DISABLED + - REFRESH_CADENCE_INVALID + - OVERWRITE_MODE_INVALID + - QUERY_STATEMENT_INVALID + example: EXPORT_NOT_FOUND + type: string + x-enum-varnames: + - ISSUE_CODE_UNSPECIFIED + - CREDENTIAL_ERROR + - BUCKET_NAME_INVALID_GOVCLOUD + - S3_LIST_PERMISSION_MISSING + - S3_GET_PERMISSION_MISSING + - S3_BUCKET_REGION_MISMATCH + - S3_BUCKET_NOT_ACCESSIBLE + - EXPORT_LIST_PERMISSION_MISSING + - EXPORT_GET_PERMISSION_MISSING + - EXPORT_NOT_FOUND + - EXPORT_STATUS_UNHEALTHY + - TIME_GRANULARITY_INVALID + - FILE_FORMAT_INVALID + - INCLUDE_RESOURCES_DISABLED + - REFRESH_CADENCE_INVALID + - OVERWRITE_MODE_INVALID + - QUERY_STATEMENT_INVALID + TableResultV2DataAttributesFileMetadataOneOfAccessDetailsAwsDetail: + description: Amazon Web Services S3 storage access configuration. + properties: + aws_account_id: + description: AWS account ID where the S3 bucket is located. + example: '123456789000' + type: string + aws_bucket_name: + description: S3 bucket containing the CSV file. + example: example-data-bucket + type: string + file_path: + description: The relative file path from the S3 bucket root to the CSV file. + example: reference-tables/users.csv + type: string + type: object + x-oneOf-parent: + - AwsDetail + TableResultV2DataAttributesFileMetadataOneOfAccessDetailsAzureDetail: + description: Azure Blob Storage access configuration. + properties: + azure_client_id: + description: Azure service principal (application) client ID with permissions to read from the container. + example: aaaaaaaa-1111-2222-3333-bbbbbbbbbbbb + type: string + azure_container_name: + description: Azure Blob Storage container containing the CSV file. + example: reference-data + type: string + azure_storage_account_name: + description: Azure storage account where the container is located. + example: examplestorageaccount + type: string + azure_tenant_id: + description: Azure Active Directory tenant ID. + example: cccccccc-4444-5555-6666-dddddddddddd + type: string + file_path: + description: The relative file path from the Azure container root to the CSV file. + example: tables/users.csv + type: string + type: object + x-oneOf-parent: + - AzureDetail + TableResultV2DataAttributesFileMetadataOneOfAccessDetailsGcpDetail: + description: Google Cloud Platform storage access configuration. + properties: + file_path: + description: The relative file path from the GCS bucket root to the CSV file. + example: data/reference_tables/users.csv + type: string + gcp_bucket_name: + description: GCP bucket containing the CSV file. + example: example-data-bucket + type: string + gcp_project_id: + description: GCP project ID where the bucket is located. + example: example-gcp-project-12345 + type: string + gcp_service_account_email: + description: Service account email with read permissions for the GCS bucket. + example: example-service@example-gcp-project-12345.iam.gserviceaccount.com + type: string + type: object + x-oneOf-parent: + - GcpDetail + ReferenceTableSchemaFieldType: + description: The field type for reference table schema fields. + enum: + - STRING + - INT32 + example: STRING + type: string + x-enum-varnames: + - STRING + - INT32 + CreateTableRequestDataAttributesFileMetadataOneOfAccessDetails: + description: Cloud storage access configuration for the reference table data file. + properties: + aws_detail: + $ref: '#/components/schemas/CreateTableRequestDataAttributesFileMetadataOneOfAccessDetailsAwsDetail' + azure_detail: + $ref: '#/components/schemas/CreateTableRequestDataAttributesFileMetadataOneOfAccessDetailsAzureDetail' + gcp_detail: + $ref: '#/components/schemas/CreateTableRequestDataAttributesFileMetadataOneOfAccessDetailsGcpDetail' + type: object + PatchTableRequestDataAttributesFileMetadataOneOfAccessDetails: + description: Cloud storage access configuration for the reference table data file. + properties: + aws_detail: + $ref: '#/components/schemas/PatchTableRequestDataAttributesFileMetadataOneOfAccessDetailsAwsDetail' + azure_detail: + $ref: '#/components/schemas/PatchTableRequestDataAttributesFileMetadataOneOfAccessDetailsAzureDetail' + gcp_detail: + $ref: '#/components/schemas/PatchTableRequestDataAttributesFileMetadataOneOfAccessDetailsGcpDetail' + type: object + IntegrationAccountDataflowHealth: + description: Collection health of a single dataflow. + enum: + - DATAFLOW_HEALTH_OK + - DATAFLOW_HEALTH_BROKEN + - DATAFLOW_HEALTH_UNKNOWN + example: DATAFLOW_HEALTH_OK + type: string + x-enum-varnames: + - OK + - BROKEN + - UNKNOWN AWSLogSourceTagFilter: - description: >- + description: |- AWS log source tag filter list. Defaults to `[]`. - - Array of log source to AWS resource tag mappings. Each mapping contains - a log source and its associated AWS resource tags (in `key:value` - format) used to filter logs submitted to Datadog. - - Tag filters are applied for tags on the AWS resource emitting logs; tags - associated with the log storage entity (such as a CloudWatch Log Group - or S3 Bucket) are not considered. - - For more information on resource tag filter syntax, [see AWS resource - exclusion](https://docs.datadoghq.com/account_management/billing/aws/#aws-resource-exclusion) + Array of log source to AWS resource tag mappings. Each mapping contains a log source and its + associated AWS resource tags (in `key:value` format) used to filter logs submitted to Datadog. + Tag filters are applied for tags on the AWS resource emitting logs; tags associated with the + log storage entity (such as a CloudWatch Log Group or S3 Bucket) are not considered. + For more information on resource tag filter syntax, + [see AWS resource exclusion](https://docs.datadoghq.com/account_management/billing/aws/#aws-resource-exclusion) in the AWS integration billing page. properties: source: - description: >- - The AWS log source to which the tag filters defined in `tags` are - applied. + description: The AWS log source to which the tag filters defined in `tags` are applied. example: s3 type: string tags: - description: >- - The AWS resource tags to filter on for the log source specified by - `source`. + description: The AWS resource tags to filter on for the log source specified by `source`. items: description: Tag in the form `key:value`. example: env:prod @@ -4218,43 +19092,196 @@ components: nullable: true type: array type: object + CreateTableRequestDataAttributesFileMetadataOneOfAccessDetailsAwsDetail: + description: Amazon Web Services S3 storage access configuration. + properties: + aws_account_id: + description: AWS account ID where the S3 bucket is located. + example: '123456789000' + type: string + aws_bucket_name: + description: S3 bucket containing the CSV file. + example: example-data-bucket + type: string + file_path: + description: The relative file path from the S3 bucket root to the CSV file. + example: reference-tables/users.csv + type: string + required: + - aws_account_id + - aws_bucket_name + - file_path + type: object + x-oneOf-parent: + - AwsDetail + CreateTableRequestDataAttributesFileMetadataOneOfAccessDetailsAzureDetail: + description: Azure Blob Storage access configuration. + properties: + azure_client_id: + description: Azure service principal (application) client ID with permissions to read from the container. + example: aaaaaaaa-1111-2222-3333-bbbbbbbbbbbb + type: string + azure_container_name: + description: Azure Blob Storage container containing the CSV file. + example: reference-data + type: string + azure_storage_account_name: + description: Azure storage account where the container is located. + example: examplestorageaccount + type: string + azure_tenant_id: + description: Azure Active Directory tenant ID. + example: cccccccc-4444-5555-6666-dddddddddddd + type: string + file_path: + description: The relative file path from the Azure container root to the CSV file. + example: tables/users.csv + type: string + required: + - azure_client_id + - azure_container_name + - azure_storage_account_name + - azure_tenant_id + - file_path + type: object + x-oneOf-parent: + - AzureDetail + CreateTableRequestDataAttributesFileMetadataOneOfAccessDetailsGcpDetail: + description: Google Cloud Platform storage access configuration. + properties: + file_path: + description: The relative file path from the GCS bucket root to the CSV file. + example: data/reference_tables/users.csv + type: string + gcp_bucket_name: + description: GCP bucket containing the CSV file. + example: example-data-bucket + type: string + gcp_project_id: + description: GCP project ID where the bucket is located. + example: example-gcp-project-12345 + type: string + gcp_service_account_email: + description: Service account email with read permissions for the GCS bucket. + example: example-service@example-gcp-project-12345.iam.gserviceaccount.com + type: string + required: + - file_path + - gcp_bucket_name + - gcp_project_id + - gcp_service_account_email + type: object + x-oneOf-parent: + - GcpDetail + PatchTableRequestDataAttributesFileMetadataOneOfAccessDetailsAwsDetail: + description: Amazon Web Services S3 storage access configuration. + properties: + aws_account_id: + description: AWS account ID where the S3 bucket is located. + example: '123456789000' + type: string + aws_bucket_name: + description: S3 bucket containing the CSV file. + example: example-data-bucket + type: string + file_path: + description: The relative file path from the S3 bucket root to the CSV file. + example: reference-tables/users.csv + type: string + type: object + x-oneOf-parent: + - AwsDetail + PatchTableRequestDataAttributesFileMetadataOneOfAccessDetailsAzureDetail: + description: Azure Blob Storage access configuration. + properties: + azure_client_id: + description: Azure service principal (application) client ID with permissions to read from the container. + example: aaaaaaaa-1111-2222-3333-bbbbbbbbbbbb + type: string + azure_container_name: + description: Azure Blob Storage container containing the CSV file. + example: reference-data + type: string + azure_storage_account_name: + description: Azure storage account where the container is located. + example: examplestorageaccount + type: string + azure_tenant_id: + description: Azure Active Directory tenant ID. + example: cccccccc-4444-5555-6666-dddddddddddd + type: string + file_path: + description: The relative file path from the Azure container root to the CSV file. + example: tables/users.csv + type: string + type: object + x-oneOf-parent: + - AzureDetail + PatchTableRequestDataAttributesFileMetadataOneOfAccessDetailsGcpDetail: + description: Google Cloud Platform storage access configuration. + properties: + file_path: + description: The relative file path from the GCS bucket root to the CSV file. + example: data/reference_tables/users.csv + type: string + gcp_bucket_name: + description: GCP bucket containing the CSV file. + example: example-data-bucket + type: string + gcp_project_id: + description: GCP project ID where the bucket is located. + example: example-gcp-project-12345 + type: string + gcp_service_account_email: + description: Service account email with read permissions for the GCS bucket. + example: example-service@example-gcp-project-12345.iam.gserviceaccount.com + type: string + type: object + x-oneOf-parent: + - GcpDetail responses: - ForbiddenResponse: + TooManyRequestsResponse: content: application/json: schema: $ref: '#/components/schemas/APIErrorResponse' - description: Forbidden - TooManyRequestsResponse: + description: Too many requests + NotAuthorizedResponse: content: application/json: schema: $ref: '#/components/schemas/APIErrorResponse' - description: Too many requests + description: Not Authorized BadRequestResponse: content: application/json: schema: $ref: '#/components/schemas/APIErrorResponse' description: Bad Request - ConflictResponse: + ForbiddenResponse: content: application/json: schema: $ref: '#/components/schemas/APIErrorResponse' - description: Conflict + description: Forbidden NotFoundResponse: content: application/json: schema: $ref: '#/components/schemas/APIErrorResponse' description: Not Found - NotAuthorizedResponse: + UnprocessableEntityResponse: + content: + application/json: + schema: + $ref: '#/components/schemas/JSONAPIErrorResponse' + description: The server cannot process the request because it contains invalid data. + ConflictResponse: content: application/json: schema: $ref: '#/components/schemas/APIErrorResponse' - description: Not Authorized + description: Conflict UnauthorizedResponse: content: application/json: @@ -4268,13 +19295,33 @@ components: $ref: '#/components/schemas/APIErrorResponse' description: Failed Precondition parameters: + PersonaMappingID: + description: The ID of the persona mapping + example: c5c758c6-18c2-4484-ae3f-46b84128404a + in: path + name: persona_mapping_id + required: true + schema: + type: string + EntityIntegrationConfigID: + description: The identifier of the integration whose configuration is being managed. Supported values are `github`, `jira`, and `pagerduty`. + in: path + name: integration_id + required: true + schema: + example: github + type: string + IntegrationAccountIdParameter: + description: Unique identifier of the integration account. + in: path + name: account_id + required: true + schema: + type: string AWSAccountConfigIDPathParameter: - description: >- - Unique Datadog ID of the AWS Account Integration Config. To get the - config ID for an account, use the - - [List all AWS - integrations](https://docs.datadoghq.com/api/latest/aws-integration/#list-all-aws-integrations) + description: |- + Unique Datadog ID of the AWS Account Integration Config. To get the config ID for an account, use the + [List all AWS integrations](https://docs.datadoghq.com/api/latest/aws-integration/#list-all-aws-integrations) endpoint and query by AWS Account ID. in: path name: aws_account_config_id @@ -4288,6 +19335,41 @@ components: required: true schema: type: string + GoogleChatOrganizationDomainNamePathParameter: + description: The Google Chat domain name. + in: path + name: domain_name + required: true + schema: + type: string + GoogleChatOrganizationSpaceDisplayNamePathParameter: + description: The Google Chat space display name. + in: path + name: space_display_name + required: true + schema: + type: string + GoogleChatOrganizationBindingIdPathParameter: + description: Your organization binding ID. + in: path + name: organization_binding_id + required: true + schema: + type: string + GoogleChatHandleIdPathParameter: + description: Your organization handle ID. + in: path + name: handle_id + required: true + schema: + type: string + GoogleChatTargetAudienceIdPathParameter: + description: Your target audience ID. + in: path + name: target_audience_id + required: true + schema: + type: string MicrosoftTeamsTenantNamePathParameter: description: Your tenant name. in: path @@ -4330,6 +19412,13 @@ components: required: true schema: type: string + MicrosoftTeamsTenantIDPathParameter: + description: Your tenant id. + in: path + name: tenant_id + required: true + schema: + type: string MicrosoftTeamsWorkflowsWebhookHandleNameQueryParameter: description: Your Workflows webhook handle name. in: query @@ -4344,6 +19433,13 @@ components: required: true schema: type: string + OpsgenieAccountIDPathParameter: + description: The UUID of the Opsgenie account. + in: path + name: account_id + required: true + schema: + type: string OpsgenieServiceIDPathParameter: description: The UUID of the service. in: path @@ -4351,6 +19447,50 @@ components: required: true schema: type: string + SalesforceIncidentsTemplateIDPathParameter: + description: The ID of the Salesforce incident template. + in: path + name: incident_template_id + required: true + schema: + type: string + SalesforceIncidentsOrganizationIDPathParameter: + description: The Datadog-assigned ID of the connected Salesforce organization. + in: path + name: salesforce_org_id + required: true + schema: + type: string + 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 + StatuspageUrlSettingIDPathParameter: + description: The UUID of the Statuspage URL setting. + in: path + name: statuspage_url_setting_id + required: true + schema: + type: string + WebhooksAuthMethodInclude: + description: Comma-separated list of relationships to include in the response. + explode: true + in: query + name: include + required: false + schema: + $ref: '#/components/schemas/WebhooksAuthMethodProtocol' + WebhooksAuthMethodIDPathParameter: + description: The UUID of the auth method. + in: path + name: auth_method_id + required: true + schema: + type: string ConfluentAccountID: description: Confluent Account ID. in: path @@ -4379,391 +19519,1786 @@ components: required: true schema: type: string + SlackAccountNamePathParameter: + description: Your Slack account name. + in: path + name: account_name + required: true + schema: + type: string + SlackChannelNamePathParameter: + description: The name of the Slack channel being operated on. + in: path + name: channel_name + required: true + schema: + type: string x-stackQL-resources: + aws_persona_mappings: + id: datadog.integrations.aws_persona_mappings + name: aws_persona_mappings + title: Aws Persona Mappings + methods: + list_awscloud_auth_persona_mappings: + operation: + $ref: '#/paths/~1api~1v2~1cloud_auth~1aws~1persona_mapping/get' + response: + mediaType: application/json + openAPIDocKey: '200' + objectKey: $.data + request: + nativeCasing: camel + create_awscloud_auth_persona_mapping: + config: + requestBodyTranslate: + algorithm: naive + operation: + $ref: '#/paths/~1api~1v2~1cloud_auth~1aws~1persona_mapping/post' + response: + mediaType: application/json + openAPIDocKey: '201' + request: + nativeCasing: camel + delete_awscloud_auth_persona_mapping: + operation: + $ref: '#/paths/~1api~1v2~1cloud_auth~1aws~1persona_mapping~1{persona_mapping_id}/delete' + response: + mediaType: application/json + openAPIDocKey: '204' + request: + nativeCasing: camel + get_awscloud_auth_persona_mapping: + operation: + $ref: '#/paths/~1api~1v2~1cloud_auth~1aws~1persona_mapping~1{persona_mapping_id}/get' + response: + mediaType: application/json + openAPIDocKey: '200' + objectKey: $.data + request: + nativeCasing: camel + sqlVerbs: + select: + - $ref: '#/components/x-stackQL-resources/aws_persona_mappings/methods/get_awscloud_auth_persona_mapping' + - $ref: '#/components/x-stackQL-resources/aws_persona_mappings/methods/list_awscloud_auth_persona_mappings' + insert: + - $ref: '#/components/x-stackQL-resources/aws_persona_mappings/methods/create_awscloud_auth_persona_mapping' + update: [] + delete: + - $ref: '#/components/x-stackQL-resources/aws_persona_mappings/methods/delete_awscloud_auth_persona_mapping' + replace: [] + entity_integration_configs: + id: datadog.integrations.entity_integration_configs + name: entity_integration_configs + title: Entity Integration Configs + methods: + delete_entity_integration_config: + operation: + $ref: '#/paths/~1api~1v2~1idp~1entity_integrations~1{integration_id}/delete' + response: + mediaType: application/json + openAPIDocKey: '204' + request: + nativeCasing: camel + get_entity_integration_config: + operation: + $ref: '#/paths/~1api~1v2~1idp~1entity_integrations~1{integration_id}/get' + response: + mediaType: application/json + openAPIDocKey: '200' + objectKey: $.data + request: + nativeCasing: camel + update_entity_integration_config: + config: + requestBodyTranslate: + algorithm: naive + operation: + $ref: '#/paths/~1api~1v2~1idp~1entity_integrations~1{integration_id}/put' + response: + mediaType: application/json + openAPIDocKey: '200' + request: + nativeCasing: camel + sqlVerbs: + select: + - $ref: '#/components/x-stackQL-resources/entity_integration_configs/methods/get_entity_integration_config' + insert: [] + update: [] + delete: + - $ref: '#/components/x-stackQL-resources/entity_integration_configs/methods/delete_entity_integration_config' + replace: + - $ref: '#/components/x-stackQL-resources/entity_integration_configs/methods/update_entity_integration_config' + elastic_cloud_accounts: + id: datadog.integrations.elastic_cloud_accounts + name: elastic_cloud_accounts + title: Elastic Cloud Accounts + methods: + list_elastic_cloud_integration_accounts: + operation: + $ref: '#/paths/~1api~1v2~1integration-interfaces~1elastic-cloud~1accounts/get' + response: + mediaType: application/json + openAPIDocKey: '200' + objectKey: $.data + request: + nativeCasing: camel + create_elastic_cloud_integration_account: + config: + requestBodyTranslate: + algorithm: naive + operation: + $ref: '#/paths/~1api~1v2~1integration-interfaces~1elastic-cloud~1accounts/post' + response: + mediaType: application/json + openAPIDocKey: '201' + request: + nativeCasing: camel + delete_elastic_cloud_integration_account: + operation: + $ref: '#/paths/~1api~1v2~1integration-interfaces~1elastic-cloud~1accounts~1{account_id}/delete' + response: + mediaType: application/json + openAPIDocKey: '200' + request: + nativeCasing: camel + get_elastic_cloud_integration_account: + operation: + $ref: '#/paths/~1api~1v2~1integration-interfaces~1elastic-cloud~1accounts~1{account_id}/get' + response: + mediaType: application/json + openAPIDocKey: '200' + objectKey: $.data + request: + nativeCasing: camel + update_elastic_cloud_integration_account: + config: + requestBodyTranslate: + algorithm: naive + operation: + $ref: '#/paths/~1api~1v2~1integration-interfaces~1elastic-cloud~1accounts~1{account_id}/patch' + response: + mediaType: application/json + openAPIDocKey: '200' + request: + nativeCasing: camel + sqlVerbs: + select: + - $ref: '#/components/x-stackQL-resources/elastic_cloud_accounts/methods/get_elastic_cloud_integration_account' + - $ref: '#/components/x-stackQL-resources/elastic_cloud_accounts/methods/list_elastic_cloud_integration_accounts' + insert: + - $ref: '#/components/x-stackQL-resources/elastic_cloud_accounts/methods/create_elastic_cloud_integration_account' + update: + - $ref: '#/components/x-stackQL-resources/elastic_cloud_accounts/methods/update_elastic_cloud_integration_account' + delete: + - $ref: '#/components/x-stackQL-resources/elastic_cloud_accounts/methods/delete_elastic_cloud_integration_account' + replace: [] + twilio_accounts: + id: datadog.integrations.twilio_accounts + name: twilio_accounts + title: Twilio Accounts + methods: + list_twilio_integration_accounts: + operation: + $ref: '#/paths/~1api~1v2~1integration-interfaces~1twilio~1accounts/get' + response: + mediaType: application/json + openAPIDocKey: '200' + objectKey: $.data + request: + nativeCasing: camel + create_twilio_integration_account: + config: + requestBodyTranslate: + algorithm: naive + operation: + $ref: '#/paths/~1api~1v2~1integration-interfaces~1twilio~1accounts/post' + response: + mediaType: application/json + openAPIDocKey: '201' + request: + nativeCasing: camel + delete_twilio_integration_account: + operation: + $ref: '#/paths/~1api~1v2~1integration-interfaces~1twilio~1accounts~1{account_id}/delete' + response: + mediaType: application/json + openAPIDocKey: '200' + request: + nativeCasing: camel + get_twilio_integration_account: + operation: + $ref: '#/paths/~1api~1v2~1integration-interfaces~1twilio~1accounts~1{account_id}/get' + response: + mediaType: application/json + openAPIDocKey: '200' + objectKey: $.data + request: + nativeCasing: camel + update_twilio_integration_account: + config: + requestBodyTranslate: + algorithm: naive + operation: + $ref: '#/paths/~1api~1v2~1integration-interfaces~1twilio~1accounts~1{account_id}/patch' + response: + mediaType: application/json + openAPIDocKey: '200' + request: + nativeCasing: camel + sqlVerbs: + select: + - $ref: '#/components/x-stackQL-resources/twilio_accounts/methods/get_twilio_integration_account' + - $ref: '#/components/x-stackQL-resources/twilio_accounts/methods/list_twilio_integration_accounts' + insert: + - $ref: '#/components/x-stackQL-resources/twilio_accounts/methods/create_twilio_integration_account' + update: + - $ref: '#/components/x-stackQL-resources/twilio_accounts/methods/update_twilio_integration_account' + delete: + - $ref: '#/components/x-stackQL-resources/twilio_accounts/methods/delete_twilio_integration_account' + replace: [] aws_accounts: id: datadog.integrations.aws_accounts name: aws_accounts title: Aws Accounts methods: - list_awsaccounts: + list_awsaccounts: + operation: + $ref: '#/paths/~1api~1v2~1integration~1aws~1accounts/get' + response: + mediaType: application/json + openAPIDocKey: '200' + objectKey: $.data + request: + nativeCasing: camel + create_awsaccount: + config: + requestBodyTranslate: + algorithm: naive + operation: + $ref: '#/paths/~1api~1v2~1integration~1aws~1accounts/post' + response: + mediaType: application/json + openAPIDocKey: '200' + request: + nativeCasing: camel + delete_awsaccount: + operation: + $ref: '#/paths/~1api~1v2~1integration~1aws~1accounts~1{aws_account_config_id}/delete' + response: + mediaType: application/json + openAPIDocKey: '204' + request: + nativeCasing: camel + get_awsaccount: + operation: + $ref: '#/paths/~1api~1v2~1integration~1aws~1accounts~1{aws_account_config_id}/get' + response: + mediaType: application/json + openAPIDocKey: '200' + objectKey: $.data + request: + nativeCasing: camel + update_awsaccount: + config: + requestBodyTranslate: + algorithm: naive + operation: + $ref: '#/paths/~1api~1v2~1integration~1aws~1accounts~1{aws_account_config_id}/patch' + response: + mediaType: application/json + openAPIDocKey: '200' + request: + nativeCasing: camel + preview_awsmetric_name_filter: + config: + requestBodyTranslate: + algorithm: naive + operation: + $ref: '#/paths/~1api~1v2~1integration~1aws~1accounts~1{aws_account_config_id}~1metric_name_filter_preview/post' + response: + mediaType: application/json + openAPIDocKey: '200' + request: + nativeCasing: camel + create_new_awsexternal_id: + operation: + $ref: '#/paths/~1api~1v2~1integration~1aws~1generate_new_external_id/post' + response: + mediaType: application/json + openAPIDocKey: '200' + request: + nativeCasing: camel + validate_awsccmconfig: + config: + requestBodyTranslate: + algorithm: naive + operation: + $ref: '#/paths/~1api~1v2~1integration~1aws~1validate_ccm_config/post' + response: + mediaType: application/json + openAPIDocKey: '200' + request: + nativeCasing: camel + sqlVerbs: + select: + - $ref: '#/components/x-stackQL-resources/aws_accounts/methods/get_awsaccount' + - $ref: '#/components/x-stackQL-resources/aws_accounts/methods/list_awsaccounts' + insert: + - $ref: '#/components/x-stackQL-resources/aws_accounts/methods/create_awsaccount' + update: + - $ref: '#/components/x-stackQL-resources/aws_accounts/methods/update_awsaccount' + delete: + - $ref: '#/components/x-stackQL-resources/aws_accounts/methods/delete_awsaccount' + replace: [] + aws_account_ccm_configs: + id: datadog.integrations.aws_account_ccm_configs + name: aws_account_ccm_configs + title: Aws Account Ccm Configs + methods: + delete_awsaccount_ccmconfig: + operation: + $ref: '#/paths/~1api~1v2~1integration~1aws~1accounts~1{aws_account_config_id}~1ccm_config/delete' + response: + mediaType: application/json + openAPIDocKey: '204' + request: + nativeCasing: camel + get_awsaccount_ccmconfig: + operation: + $ref: '#/paths/~1api~1v2~1integration~1aws~1accounts~1{aws_account_config_id}~1ccm_config/get' + response: + mediaType: application/json + openAPIDocKey: '200' + objectKey: $.data + request: + nativeCasing: camel + update_awsaccount_ccmconfig: + config: + requestBodyTranslate: + algorithm: naive + operation: + $ref: '#/paths/~1api~1v2~1integration~1aws~1accounts~1{aws_account_config_id}~1ccm_config/patch' + response: + mediaType: application/json + openAPIDocKey: '200' + request: + nativeCasing: camel + create_awsaccount_ccmconfig: + config: + requestBodyTranslate: + algorithm: naive + operation: + $ref: '#/paths/~1api~1v2~1integration~1aws~1accounts~1{aws_account_config_id}~1ccm_config/post' + response: + mediaType: application/json + openAPIDocKey: '200' + request: + nativeCasing: camel + sqlVerbs: + select: + - $ref: '#/components/x-stackQL-resources/aws_account_ccm_configs/methods/get_awsaccount_ccmconfig' + insert: + - $ref: '#/components/x-stackQL-resources/aws_account_ccm_configs/methods/create_awsaccount_ccmconfig' + update: + - $ref: '#/components/x-stackQL-resources/aws_account_ccm_configs/methods/update_awsaccount_ccmconfig' + delete: + - $ref: '#/components/x-stackQL-resources/aws_account_ccm_configs/methods/delete_awsaccount_ccmconfig' + replace: [] + aws_account_metric_name_filter_previews: + id: datadog.integrations.aws_account_metric_name_filter_previews + name: aws_account_metric_name_filter_previews + title: Aws Account Metric Name Filter Previews + methods: + get_awsmetric_name_filter_preview: + operation: + $ref: '#/paths/~1api~1v2~1integration~1aws~1accounts~1{aws_account_config_id}~1metric_name_filter_preview/get' + response: + mediaType: application/json + openAPIDocKey: '200' + objectKey: $.data + request: + nativeCasing: camel + sqlVerbs: + select: + - $ref: '#/components/x-stackQL-resources/aws_account_metric_name_filter_previews/methods/get_awsmetric_name_filter_preview' + insert: [] + update: [] + delete: [] + replace: [] + aws_namespaces: + id: datadog.integrations.aws_namespaces + name: aws_namespaces + title: Aws Namespaces + methods: + list_awsnamespaces: + operation: + $ref: '#/paths/~1api~1v2~1integration~1aws~1available_namespaces/get' + response: + mediaType: application/json + openAPIDocKey: '200' + objectKey: $.data + request: + nativeCasing: camel + sqlVerbs: + select: + - $ref: '#/components/x-stackQL-resources/aws_namespaces/methods/list_awsnamespaces' + insert: [] + update: [] + delete: [] + replace: [] + aws_event_bridges: + id: datadog.integrations.aws_event_bridges + name: aws_event_bridges + title: Aws Event Bridges + methods: + delete_awsevent_bridge_source: + operation: + $ref: '#/paths/~1api~1v2~1integration~1aws~1event_bridge/delete' + response: + mediaType: application/json + openAPIDocKey: '200' + request: + nativeCasing: camel + list_awsevent_bridge_sources: + operation: + $ref: '#/paths/~1api~1v2~1integration~1aws~1event_bridge/get' + response: + mediaType: application/json + openAPIDocKey: '200' + objectKey: $.data + request: + nativeCasing: camel + create_awsevent_bridge_source: + config: + requestBodyTranslate: + algorithm: naive + operation: + $ref: '#/paths/~1api~1v2~1integration~1aws~1event_bridge/post' + response: + mediaType: application/json + openAPIDocKey: '200' + request: + nativeCasing: camel + sqlVerbs: + select: + - $ref: '#/components/x-stackQL-resources/aws_event_bridges/methods/list_awsevent_bridge_sources' + insert: + - $ref: '#/components/x-stackQL-resources/aws_event_bridges/methods/create_awsevent_bridge_source' + update: [] + delete: + - $ref: '#/components/x-stackQL-resources/aws_event_bridges/methods/delete_awsevent_bridge_source' + replace: [] + aws_iam_permissions: + id: datadog.integrations.aws_iam_permissions + name: aws_iam_permissions + title: Aws Iam Permissions + methods: + get_awsintegration_iampermissions: + operation: + $ref: '#/paths/~1api~1v2~1integration~1aws~1iam_permissions/get' + response: + mediaType: application/json + openAPIDocKey: '200' + objectKey: $.data + request: + nativeCasing: camel + sqlVerbs: + select: + - $ref: '#/components/x-stackQL-resources/aws_iam_permissions/methods/get_awsintegration_iampermissions' + insert: [] + update: [] + delete: [] + replace: [] + aws_iam_permission_resource_collections: + id: datadog.integrations.aws_iam_permission_resource_collections + name: aws_iam_permission_resource_collections + title: Aws Iam Permission Resource Collections + methods: + get_awsintegration_iampermissions_resource_collection: + operation: + $ref: '#/paths/~1api~1v2~1integration~1aws~1iam_permissions~1resource_collection/get' + response: + mediaType: application/json + openAPIDocKey: '200' + objectKey: $.data + request: + nativeCasing: camel + sqlVerbs: + select: + - $ref: '#/components/x-stackQL-resources/aws_iam_permission_resource_collections/methods/get_awsintegration_iampermissions_resource_collection' + insert: [] + update: [] + delete: [] + replace: [] + aws_iam_permission_standards: + id: datadog.integrations.aws_iam_permission_standards + name: aws_iam_permission_standards + title: Aws Iam Permission Standards + methods: + get_awsintegration_iampermissions_standard: + operation: + $ref: '#/paths/~1api~1v2~1integration~1aws~1iam_permissions~1standard/get' + response: + mediaType: application/json + openAPIDocKey: '200' + objectKey: $.data + request: + nativeCasing: camel + sqlVerbs: + select: + - $ref: '#/components/x-stackQL-resources/aws_iam_permission_standards/methods/get_awsintegration_iampermissions_standard' + insert: [] + update: [] + delete: [] + replace: [] + aws_logs_services: + id: datadog.integrations.aws_logs_services + name: aws_logs_services + title: Aws Logs Services + methods: + list_awslogs_services: + operation: + $ref: '#/paths/~1api~1v2~1integration~1aws~1logs~1services/get' + response: + mediaType: application/json + openAPIDocKey: '200' + objectKey: $.data + request: + nativeCasing: camel + sqlVerbs: + select: + - $ref: '#/components/x-stackQL-resources/aws_logs_services/methods/list_awslogs_services' + insert: [] + update: [] + delete: [] + replace: [] + gcp_accounts: + id: datadog.integrations.gcp_accounts + name: gcp_accounts + title: Gcp Accounts + methods: + list_gcpstsaccounts: + operation: + $ref: '#/paths/~1api~1v2~1integration~1gcp~1accounts/get' + response: + mediaType: application/json + openAPIDocKey: '200' + objectKey: $.data + request: + nativeCasing: camel + create_gcpstsaccount: + config: + requestBodyTranslate: + algorithm: naive + operation: + $ref: '#/paths/~1api~1v2~1integration~1gcp~1accounts/post' + response: + mediaType: application/json + openAPIDocKey: '201' + request: + nativeCasing: camel + delete_gcpstsaccount: + operation: + $ref: '#/paths/~1api~1v2~1integration~1gcp~1accounts~1{account_id}/delete' + response: + mediaType: application/json + openAPIDocKey: '204' + request: + nativeCasing: camel + update_gcpstsaccount: + config: + requestBodyTranslate: + algorithm: naive + operation: + $ref: '#/paths/~1api~1v2~1integration~1gcp~1accounts~1{account_id}/patch' + response: + mediaType: application/json + openAPIDocKey: '201' + request: + nativeCasing: camel + sqlVerbs: + select: + - $ref: '#/components/x-stackQL-resources/gcp_accounts/methods/list_gcpstsaccounts' + insert: + - $ref: '#/components/x-stackQL-resources/gcp_accounts/methods/create_gcpstsaccount' + update: + - $ref: '#/components/x-stackQL-resources/gcp_accounts/methods/update_gcpstsaccount' + delete: + - $ref: '#/components/x-stackQL-resources/gcp_accounts/methods/delete_gcpstsaccount' + replace: [] + gcp_sts_delegate: + id: datadog.integrations.gcp_sts_delegate + name: gcp_sts_delegate + title: Gcp Sts Delegate + methods: + get_gcpstsdelegate: + operation: + $ref: '#/paths/~1api~1v2~1integration~1gcp~1sts_delegate/get' + response: + mediaType: application/json + openAPIDocKey: '200' + objectKey: $.data + request: + nativeCasing: camel + make_gcpstsdelegate: + config: + requestBodyTranslate: + algorithm: naive + operation: + $ref: '#/paths/~1api~1v2~1integration~1gcp~1sts_delegate/post' + response: + mediaType: application/json + openAPIDocKey: '200' + request: + nativeCasing: camel + sqlVerbs: + select: + - $ref: '#/components/x-stackQL-resources/gcp_sts_delegate/methods/get_gcpstsdelegate' + insert: [] + update: [] + delete: [] + replace: [] + google_chat_organizations: + id: datadog.integrations.google_chat_organizations + name: google_chat_organizations + title: Google Chat Organizations + methods: + list_google_chat_organizations: + operation: + $ref: '#/paths/~1api~1v2~1integration~1google-chat~1organizations/get' + response: + mediaType: application/json + openAPIDocKey: '200' + objectKey: $.data + request: + nativeCasing: camel + delete_google_chat_organization: + operation: + $ref: '#/paths/~1api~1v2~1integration~1google-chat~1organizations~1{organization_binding_id}/delete' + response: + mediaType: application/json + openAPIDocKey: '204' + request: + nativeCasing: camel + get_google_chat_organization: + operation: + $ref: '#/paths/~1api~1v2~1integration~1google-chat~1organizations~1{organization_binding_id}/get' + response: + mediaType: application/json + openAPIDocKey: '200' + objectKey: $.data + request: + nativeCasing: camel + sqlVerbs: + select: + - $ref: '#/components/x-stackQL-resources/google_chat_organizations/methods/get_google_chat_organization' + - $ref: '#/components/x-stackQL-resources/google_chat_organizations/methods/list_google_chat_organizations' + insert: [] + update: [] + delete: + - $ref: '#/components/x-stackQL-resources/google_chat_organizations/methods/delete_google_chat_organization' + replace: [] + google_chat_organization_app_named_spaces: + id: datadog.integrations.google_chat_organization_app_named_spaces + name: google_chat_organization_app_named_spaces + title: Google Chat Organization App Named Spaces + methods: + get_space_by_display_name: + operation: + $ref: '#/paths/~1api~1v2~1integration~1google-chat~1organizations~1app~1named-spaces~1{domain_name}~1{space_display_name}/get' + response: + mediaType: application/json + openAPIDocKey: '200' + objectKey: $.data + request: + nativeCasing: camel + sqlVerbs: + select: + - $ref: '#/components/x-stackQL-resources/google_chat_organization_app_named_spaces/methods/get_space_by_display_name' + insert: [] + update: [] + delete: [] + replace: [] + google_chat_organization_delegated_users: + id: datadog.integrations.google_chat_organization_delegated_users + name: google_chat_organization_delegated_users + title: Google Chat Organization Delegated Users + methods: + delete_google_chat_delegated_user: + operation: + $ref: '#/paths/~1api~1v2~1integration~1google-chat~1organizations~1{organization_binding_id}~1delegated-user/delete' + response: + mediaType: application/json + openAPIDocKey: '204' + request: + nativeCasing: camel + get_google_chat_delegated_user: + operation: + $ref: '#/paths/~1api~1v2~1integration~1google-chat~1organizations~1{organization_binding_id}~1delegated-user/get' + response: + mediaType: application/json + openAPIDocKey: '200' + objectKey: $.data + request: + nativeCasing: camel + sqlVerbs: + select: + - $ref: '#/components/x-stackQL-resources/google_chat_organization_delegated_users/methods/get_google_chat_delegated_user' + insert: [] + update: [] + delete: + - $ref: '#/components/x-stackQL-resources/google_chat_organization_delegated_users/methods/delete_google_chat_delegated_user' + replace: [] + google_chat_organization_organization_handles: + id: datadog.integrations.google_chat_organization_organization_handles + name: google_chat_organization_organization_handles + title: Google Chat Organization Organization Handles + methods: + list_organization_handles: + operation: + $ref: '#/paths/~1api~1v2~1integration~1google-chat~1organizations~1{organization_binding_id}~1organization-handles/get' + response: + mediaType: application/json + openAPIDocKey: '200' + objectKey: $.data + request: + nativeCasing: camel + create_organization_handle: + config: + requestBodyTranslate: + algorithm: naive + operation: + $ref: '#/paths/~1api~1v2~1integration~1google-chat~1organizations~1{organization_binding_id}~1organization-handles/post' + response: + mediaType: application/json + openAPIDocKey: '201' + request: + nativeCasing: camel + delete_organization_handle: + operation: + $ref: '#/paths/~1api~1v2~1integration~1google-chat~1organizations~1{organization_binding_id}~1organization-handles~1{handle_id}/delete' + response: + mediaType: application/json + openAPIDocKey: '204' + request: + nativeCasing: camel + get_organization_handle: + operation: + $ref: '#/paths/~1api~1v2~1integration~1google-chat~1organizations~1{organization_binding_id}~1organization-handles~1{handle_id}/get' + response: + mediaType: application/json + openAPIDocKey: '200' + objectKey: $.data + request: + nativeCasing: camel + update_organization_handle: + config: + requestBodyTranslate: + algorithm: naive + operation: + $ref: '#/paths/~1api~1v2~1integration~1google-chat~1organizations~1{organization_binding_id}~1organization-handles~1{handle_id}/patch' + response: + mediaType: application/json + openAPIDocKey: '200' + request: + nativeCasing: camel + sqlVerbs: + select: + - $ref: '#/components/x-stackQL-resources/google_chat_organization_organization_handles/methods/get_organization_handle' + - $ref: '#/components/x-stackQL-resources/google_chat_organization_organization_handles/methods/list_organization_handles' + insert: + - $ref: '#/components/x-stackQL-resources/google_chat_organization_organization_handles/methods/create_organization_handle' + update: + - $ref: '#/components/x-stackQL-resources/google_chat_organization_organization_handles/methods/update_organization_handle' + delete: + - $ref: '#/components/x-stackQL-resources/google_chat_organization_organization_handles/methods/delete_organization_handle' + replace: [] + google_chat_organization_target_audiences: + id: datadog.integrations.google_chat_organization_target_audiences + name: google_chat_organization_target_audiences + title: Google Chat Organization Target Audiences + methods: + list_google_chat_target_audiences: + operation: + $ref: '#/paths/~1api~1v2~1integration~1google-chat~1organizations~1{organization_binding_id}~1target-audiences/get' + response: + mediaType: application/json + openAPIDocKey: '200' + objectKey: $.data + request: + nativeCasing: camel + create_google_chat_target_audience: + config: + requestBodyTranslate: + algorithm: naive + operation: + $ref: '#/paths/~1api~1v2~1integration~1google-chat~1organizations~1{organization_binding_id}~1target-audiences/post' + response: + mediaType: application/json + openAPIDocKey: '201' + request: + nativeCasing: camel + delete_google_chat_target_audience: + operation: + $ref: '#/paths/~1api~1v2~1integration~1google-chat~1organizations~1{organization_binding_id}~1target-audiences~1{target_audience_id}/delete' + response: + mediaType: application/json + openAPIDocKey: '204' + request: + nativeCasing: camel + get_google_chat_target_audience: + operation: + $ref: '#/paths/~1api~1v2~1integration~1google-chat~1organizations~1{organization_binding_id}~1target-audiences~1{target_audience_id}/get' + response: + mediaType: application/json + openAPIDocKey: '200' + objectKey: $.data + request: + nativeCasing: camel + update_google_chat_target_audience: + config: + requestBodyTranslate: + algorithm: naive + operation: + $ref: '#/paths/~1api~1v2~1integration~1google-chat~1organizations~1{organization_binding_id}~1target-audiences~1{target_audience_id}/patch' + response: + mediaType: application/json + openAPIDocKey: '200' + request: + nativeCasing: camel + sqlVerbs: + select: + - $ref: '#/components/x-stackQL-resources/google_chat_organization_target_audiences/methods/get_google_chat_target_audience' + - $ref: '#/components/x-stackQL-resources/google_chat_organization_target_audiences/methods/list_google_chat_target_audiences' + insert: + - $ref: '#/components/x-stackQL-resources/google_chat_organization_target_audiences/methods/create_google_chat_target_audience' + update: + - $ref: '#/components/x-stackQL-resources/google_chat_organization_target_audiences/methods/update_google_chat_target_audience' + delete: + - $ref: '#/components/x-stackQL-resources/google_chat_organization_target_audiences/methods/delete_google_chat_target_audience' + replace: [] + jira_accounts: + id: datadog.integrations.jira_accounts + name: jira_accounts + title: Jira Accounts + methods: + list_jira_accounts: + operation: + $ref: '#/paths/~1api~1v2~1integration~1jira~1accounts/get' + response: + mediaType: application/json + openAPIDocKey: '200' + objectKey: $.data + request: + nativeCasing: camel + delete_jira_account: + operation: + $ref: '#/paths/~1api~1v2~1integration~1jira~1accounts~1{account_id}/delete' + response: + mediaType: application/json + openAPIDocKey: '204' + request: + nativeCasing: camel + sqlVerbs: + select: + - $ref: '#/components/x-stackQL-resources/jira_accounts/methods/list_jira_accounts' + insert: [] + update: [] + delete: + - $ref: '#/components/x-stackQL-resources/jira_accounts/methods/delete_jira_account' + replace: [] + jira_issue_templates: + id: datadog.integrations.jira_issue_templates + name: jira_issue_templates + title: Jira Issue Templates + methods: + list_jira_issue_templates: + operation: + $ref: '#/paths/~1api~1v2~1integration~1jira~1issue-templates/get' + response: + mediaType: application/json + openAPIDocKey: '200' + objectKey: $.data + request: + nativeCasing: camel + create_jira_issue_template: + config: + requestBodyTranslate: + algorithm: naive + operation: + $ref: '#/paths/~1api~1v2~1integration~1jira~1issue-templates/post' + response: + mediaType: application/json + openAPIDocKey: '201' + request: + nativeCasing: camel + delete_jira_issue_template: + operation: + $ref: '#/paths/~1api~1v2~1integration~1jira~1issue-templates~1{issue_template_id}/delete' + response: + mediaType: application/json + openAPIDocKey: '204' + request: + nativeCasing: camel + get_jira_issue_template: + operation: + $ref: '#/paths/~1api~1v2~1integration~1jira~1issue-templates~1{issue_template_id}/get' + response: + mediaType: application/json + openAPIDocKey: '200' + objectKey: $.data + request: + nativeCasing: camel + update_jira_issue_template: + config: + requestBodyTranslate: + algorithm: naive + operation: + $ref: '#/paths/~1api~1v2~1integration~1jira~1issue-templates~1{issue_template_id}/patch' + response: + mediaType: application/json + openAPIDocKey: '200' + request: + nativeCasing: camel + sqlVerbs: + select: + - $ref: '#/components/x-stackQL-resources/jira_issue_templates/methods/get_jira_issue_template' + - $ref: '#/components/x-stackQL-resources/jira_issue_templates/methods/list_jira_issue_templates' + insert: + - $ref: '#/components/x-stackQL-resources/jira_issue_templates/methods/create_jira_issue_template' + update: + - $ref: '#/components/x-stackQL-resources/jira_issue_templates/methods/update_jira_issue_template' + delete: + - $ref: '#/components/x-stackQL-resources/jira_issue_templates/methods/delete_jira_issue_template' + replace: [] + ms_teams_channels: + id: datadog.integrations.ms_teams_channels + name: ms_teams_channels + title: Ms Teams Channels + methods: + get_channel_by_name: + operation: + $ref: '#/paths/~1api~1v2~1integration~1ms-teams~1configuration~1channel~1{tenant_name}~1{team_name}~1{channel_name}/get' + response: + mediaType: application/json + openAPIDocKey: '200' + objectKey: $.data + request: + nativeCasing: camel + sqlVerbs: + select: + - $ref: '#/components/x-stackQL-resources/ms_teams_channels/methods/get_channel_by_name' + insert: [] + update: [] + delete: [] + replace: [] + ms_teams_tenant_based_handles: + id: datadog.integrations.ms_teams_tenant_based_handles + name: ms_teams_tenant_based_handles + title: Ms Teams Tenant Based Handles + methods: + list_tenant_based_handles: + operation: + $ref: '#/paths/~1api~1v2~1integration~1ms-teams~1configuration~1tenant-based-handles/get' + response: + mediaType: application/json + openAPIDocKey: '200' + objectKey: $.data + request: + nativeCasing: camel + create_tenant_based_handle: + config: + requestBodyTranslate: + algorithm: naive + operation: + $ref: '#/paths/~1api~1v2~1integration~1ms-teams~1configuration~1tenant-based-handles/post' + response: + mediaType: application/json + openAPIDocKey: '201' + request: + nativeCasing: camel + delete_tenant_based_handle: + operation: + $ref: '#/paths/~1api~1v2~1integration~1ms-teams~1configuration~1tenant-based-handles~1{handle_id}/delete' + response: + mediaType: application/json + openAPIDocKey: '204' + request: + nativeCasing: camel + get_tenant_based_handle: operation: - $ref: '#/paths/~1api~1v2~1integration~1aws~1accounts/get' + $ref: '#/paths/~1api~1v2~1integration~1ms-teams~1configuration~1tenant-based-handles~1{handle_id}/get' response: mediaType: application/json openAPIDocKey: '200' objectKey: $.data - create_awsaccount: + request: + nativeCasing: camel + update_tenant_based_handle: + config: + requestBodyTranslate: + algorithm: naive operation: - $ref: '#/paths/~1api~1v2~1integration~1aws~1accounts/post' + $ref: '#/paths/~1api~1v2~1integration~1ms-teams~1configuration~1tenant-based-handles~1{handle_id}/patch' response: mediaType: application/json openAPIDocKey: '200' - delete_awsaccount: + request: + nativeCasing: camel + sqlVerbs: + select: + - $ref: '#/components/x-stackQL-resources/ms_teams_tenant_based_handles/methods/get_tenant_based_handle' + - $ref: '#/components/x-stackQL-resources/ms_teams_tenant_based_handles/methods/list_tenant_based_handles' + insert: + - $ref: '#/components/x-stackQL-resources/ms_teams_tenant_based_handles/methods/create_tenant_based_handle' + update: + - $ref: '#/components/x-stackQL-resources/ms_teams_tenant_based_handles/methods/update_tenant_based_handle' + delete: + - $ref: '#/components/x-stackQL-resources/ms_teams_tenant_based_handles/methods/delete_tenant_based_handle' + replace: [] + ms_team_user_bindings: + id: datadog.integrations.ms_team_user_bindings + name: ms_team_user_bindings + title: Ms Team User Bindings + methods: + delete_msteams_user_binding: operation: - $ref: >- - #/paths/~1api~1v2~1integration~1aws~1accounts~1{aws_account_config_id}/delete + $ref: '#/paths/~1api~1v2~1integration~1ms-teams~1configuration~1user-binding~1{tenant_id}/delete' response: mediaType: application/json openAPIDocKey: '204' - get_awsaccount: + request: + nativeCasing: camel + sqlVerbs: + select: [] + insert: [] + update: [] + delete: + - $ref: '#/components/x-stackQL-resources/ms_team_user_bindings/methods/delete_msteams_user_binding' + replace: [] + ms_teams_workflows_webhook_handles: + id: datadog.integrations.ms_teams_workflows_webhook_handles + name: ms_teams_workflows_webhook_handles + title: Ms Teams Workflows Webhook Handles + methods: + list_workflows_webhook_handles: operation: - $ref: >- - #/paths/~1api~1v2~1integration~1aws~1accounts~1{aws_account_config_id}/get + $ref: '#/paths/~1api~1v2~1integration~1ms-teams~1configuration~1workflows-webhook-handles/get' response: mediaType: application/json openAPIDocKey: '200' objectKey: $.data - update_awsaccount: + request: + nativeCasing: camel + create_workflows_webhook_handle: + config: + requestBodyTranslate: + algorithm: naive + operation: + $ref: '#/paths/~1api~1v2~1integration~1ms-teams~1configuration~1workflows-webhook-handles/post' + response: + mediaType: application/json + openAPIDocKey: '201' + request: + nativeCasing: camel + delete_workflows_webhook_handle: + operation: + $ref: '#/paths/~1api~1v2~1integration~1ms-teams~1configuration~1workflows-webhook-handles~1{handle_id}/delete' + response: + mediaType: application/json + openAPIDocKey: '204' + request: + nativeCasing: camel + get_workflows_webhook_handle: operation: - $ref: >- - #/paths/~1api~1v2~1integration~1aws~1accounts~1{aws_account_config_id}/patch + $ref: '#/paths/~1api~1v2~1integration~1ms-teams~1configuration~1workflows-webhook-handles~1{handle_id}/get' response: mediaType: application/json openAPIDocKey: '200' - create_new_awsexternal_id: + objectKey: $.data + request: + nativeCasing: camel + update_workflows_webhook_handle: + config: + requestBodyTranslate: + algorithm: naive operation: - $ref: '#/paths/~1api~1v2~1integration~1aws~1generate_new_external_id/post' + $ref: '#/paths/~1api~1v2~1integration~1ms-teams~1configuration~1workflows-webhook-handles~1{handle_id}/patch' response: mediaType: application/json openAPIDocKey: '200' + request: + nativeCasing: camel sqlVerbs: select: - - $ref: >- - #/components/x-stackQL-resources/aws_accounts/methods/get_awsaccount - - $ref: >- - #/components/x-stackQL-resources/aws_accounts/methods/list_awsaccounts + - $ref: '#/components/x-stackQL-resources/ms_teams_workflows_webhook_handles/methods/get_workflows_webhook_handle' + - $ref: '#/components/x-stackQL-resources/ms_teams_workflows_webhook_handles/methods/list_workflows_webhook_handles' insert: - - $ref: >- - #/components/x-stackQL-resources/aws_accounts/methods/create_awsaccount + - $ref: '#/components/x-stackQL-resources/ms_teams_workflows_webhook_handles/methods/create_workflows_webhook_handle' update: - - $ref: >- - #/components/x-stackQL-resources/aws_accounts/methods/update_awsaccount + - $ref: '#/components/x-stackQL-resources/ms_teams_workflows_webhook_handles/methods/update_workflows_webhook_handle' delete: - - $ref: >- - #/components/x-stackQL-resources/aws_accounts/methods/delete_awsaccount + - $ref: '#/components/x-stackQL-resources/ms_teams_workflows_webhook_handles/methods/delete_workflows_webhook_handle' replace: [] - aws_namespaces: - id: datadog.integrations.aws_namespaces - name: aws_namespaces - title: Aws Namespaces + oci_products: + id: datadog.integrations.oci_products + name: oci_products + title: Oci Products methods: - list_awsnamespaces: + list_tenancy_products: operation: - $ref: '#/paths/~1api~1v2~1integration~1aws~1available_namespaces/get' + $ref: '#/paths/~1api~1v2~1integration~1oci~1products/get' response: mediaType: application/json openAPIDocKey: '200' objectKey: $.data + request: + nativeCasing: camel sqlVerbs: select: - - $ref: >- - #/components/x-stackQL-resources/aws_namespaces/methods/list_awsnamespaces + - $ref: '#/components/x-stackQL-resources/oci_products/methods/list_tenancy_products' insert: [] update: [] delete: [] replace: [] - aws_iam_permissions: - id: datadog.integrations.aws_iam_permissions - name: aws_iam_permissions - title: Aws Iam Permissions + oci_tenancies: + id: datadog.integrations.oci_tenancies + name: oci_tenancies + title: Oci Tenancies methods: - get_awsintegration_iampermissions: + get_tenancy_configs: operation: - $ref: '#/paths/~1api~1v2~1integration~1aws~1iam_permissions/get' + $ref: '#/paths/~1api~1v2~1integration~1oci~1tenancies/get' + response: + mediaType: application/json + openAPIDocKey: '200' + objectKey: $.data + request: + nativeCasing: camel + create_tenancy_config: + config: + requestBodyTranslate: + algorithm: naive + operation: + $ref: '#/paths/~1api~1v2~1integration~1oci~1tenancies/post' + response: + mediaType: application/json + openAPIDocKey: '201' + request: + nativeCasing: camel + delete_tenancy_config: + operation: + $ref: '#/paths/~1api~1v2~1integration~1oci~1tenancies~1{tenancy_ocid}/delete' + response: + mediaType: application/json + openAPIDocKey: '204' + request: + nativeCasing: camel + get_tenancy_config: + operation: + $ref: '#/paths/~1api~1v2~1integration~1oci~1tenancies~1{tenancy_ocid}/get' response: mediaType: application/json openAPIDocKey: '200' objectKey: $.data + request: + nativeCasing: camel + update_tenancy_config: + config: + requestBodyTranslate: + algorithm: naive + operation: + $ref: '#/paths/~1api~1v2~1integration~1oci~1tenancies~1{tenancy_ocid}/patch' + response: + mediaType: application/json + openAPIDocKey: '200' + request: + nativeCasing: camel sqlVerbs: select: - - $ref: >- - #/components/x-stackQL-resources/aws_iam_permissions/methods/get_awsintegration_iampermissions - insert: [] - update: [] - delete: [] + - $ref: '#/components/x-stackQL-resources/oci_tenancies/methods/get_tenancy_config' + - $ref: '#/components/x-stackQL-resources/oci_tenancies/methods/get_tenancy_configs' + insert: + - $ref: '#/components/x-stackQL-resources/oci_tenancies/methods/create_tenancy_config' + update: + - $ref: '#/components/x-stackQL-resources/oci_tenancies/methods/update_tenancy_config' + delete: + - $ref: '#/components/x-stackQL-resources/oci_tenancies/methods/delete_tenancy_config' replace: [] - aws_logs_services: - id: datadog.integrations.aws_logs_services - name: aws_logs_services - title: Aws Logs Services + opsgenie_accounts: + id: datadog.integrations.opsgenie_accounts + name: opsgenie_accounts + title: Opsgenie Accounts methods: - list_awslogs_services: + list_opsgenie_accounts: operation: - $ref: '#/paths/~1api~1v2~1integration~1aws~1logs~1services/get' + $ref: '#/paths/~1api~1v2~1integration~1opsgenie~1accounts/get' response: mediaType: application/json openAPIDocKey: '200' objectKey: $.data + request: + nativeCasing: camel + create_opsgenie_account: + config: + requestBodyTranslate: + algorithm: naive + operation: + $ref: '#/paths/~1api~1v2~1integration~1opsgenie~1accounts/post' + response: + mediaType: application/json + openAPIDocKey: '201' + request: + nativeCasing: camel + delete_opsgenie_account: + operation: + $ref: '#/paths/~1api~1v2~1integration~1opsgenie~1accounts~1{account_id}/delete' + response: + mediaType: application/json + openAPIDocKey: '204' + request: + nativeCasing: camel + update_opsgenie_account: + config: + requestBodyTranslate: + algorithm: naive + operation: + $ref: '#/paths/~1api~1v2~1integration~1opsgenie~1accounts~1{account_id}/patch' + response: + mediaType: application/json + openAPIDocKey: '200' + request: + nativeCasing: camel sqlVerbs: select: - - $ref: >- - #/components/x-stackQL-resources/aws_logs_services/methods/list_awslogs_services - insert: [] - update: [] - delete: [] + - $ref: '#/components/x-stackQL-resources/opsgenie_accounts/methods/list_opsgenie_accounts' + insert: + - $ref: '#/components/x-stackQL-resources/opsgenie_accounts/methods/create_opsgenie_account' + update: + - $ref: '#/components/x-stackQL-resources/opsgenie_accounts/methods/update_opsgenie_account' + delete: + - $ref: '#/components/x-stackQL-resources/opsgenie_accounts/methods/delete_opsgenie_account' replace: [] - gcp_accounts: - id: datadog.integrations.gcp_accounts - name: gcp_accounts - title: Gcp Accounts + opsgenie_services: + id: datadog.integrations.opsgenie_services + name: opsgenie_services + title: Opsgenie Services methods: - list_gcpstsaccounts: + list_opsgenie_services: operation: - $ref: '#/paths/~1api~1v2~1integration~1gcp~1accounts/get' + $ref: '#/paths/~1api~1v2~1integration~1opsgenie~1services/get' response: mediaType: application/json openAPIDocKey: '200' objectKey: $.data - create_gcpstsaccount: + request: + nativeCasing: camel + create_opsgenie_service: + config: + requestBodyTranslate: + algorithm: naive operation: - $ref: '#/paths/~1api~1v2~1integration~1gcp~1accounts/post' + $ref: '#/paths/~1api~1v2~1integration~1opsgenie~1services/post' response: mediaType: application/json openAPIDocKey: '201' - delete_gcpstsaccount: + request: + nativeCasing: camel + delete_opsgenie_service: operation: - $ref: '#/paths/~1api~1v2~1integration~1gcp~1accounts~1{account_id}/delete' + $ref: '#/paths/~1api~1v2~1integration~1opsgenie~1services~1{integration_service_id}/delete' response: mediaType: application/json openAPIDocKey: '204' - update_gcpstsaccount: + request: + nativeCasing: camel + get_opsgenie_service: operation: - $ref: '#/paths/~1api~1v2~1integration~1gcp~1accounts~1{account_id}/patch' + $ref: '#/paths/~1api~1v2~1integration~1opsgenie~1services~1{integration_service_id}/get' + response: + mediaType: application/json + openAPIDocKey: '200' + objectKey: $.data + request: + nativeCasing: camel + update_opsgenie_service: + config: + requestBodyTranslate: + algorithm: naive + operation: + $ref: '#/paths/~1api~1v2~1integration~1opsgenie~1services~1{integration_service_id}/patch' + response: + mediaType: application/json + openAPIDocKey: '200' + request: + nativeCasing: camel + sqlVerbs: + select: + - $ref: '#/components/x-stackQL-resources/opsgenie_services/methods/get_opsgenie_service' + - $ref: '#/components/x-stackQL-resources/opsgenie_services/methods/list_opsgenie_services' + insert: + - $ref: '#/components/x-stackQL-resources/opsgenie_services/methods/create_opsgenie_service' + update: + - $ref: '#/components/x-stackQL-resources/opsgenie_services/methods/update_opsgenie_service' + delete: + - $ref: '#/components/x-stackQL-resources/opsgenie_services/methods/delete_opsgenie_service' + replace: [] + salesforce_incident_incident_templates: + id: datadog.integrations.salesforce_incident_incident_templates + name: salesforce_incident_incident_templates + title: Salesforce Incident Incident Templates + methods: + get_incident_templates: + operation: + $ref: '#/paths/~1api~1v2~1integration~1salesforce-incidents~1incident-templates/get' + response: + mediaType: application/json + openAPIDocKey: '200' + objectKey: $.data + request: + nativeCasing: camel + create_incident_template: + config: + requestBodyTranslate: + algorithm: naive + operation: + $ref: '#/paths/~1api~1v2~1integration~1salesforce-incidents~1incident-templates/post' response: mediaType: application/json openAPIDocKey: '201' + request: + nativeCasing: camel + delete_incident_template: + operation: + $ref: '#/paths/~1api~1v2~1integration~1salesforce-incidents~1incident-templates~1{incident_template_id}/delete' + response: + mediaType: application/json + openAPIDocKey: '204' + request: + nativeCasing: camel + update_incident_template: + config: + requestBodyTranslate: + algorithm: naive + operation: + $ref: '#/paths/~1api~1v2~1integration~1salesforce-incidents~1incident-templates~1{incident_template_id}/patch' + response: + mediaType: application/json + openAPIDocKey: '200' + request: + nativeCasing: camel sqlVerbs: select: - - $ref: >- - #/components/x-stackQL-resources/gcp_accounts/methods/list_gcpstsaccounts + - $ref: '#/components/x-stackQL-resources/salesforce_incident_incident_templates/methods/get_incident_templates' insert: - - $ref: >- - #/components/x-stackQL-resources/gcp_accounts/methods/create_gcpstsaccount + - $ref: '#/components/x-stackQL-resources/salesforce_incident_incident_templates/methods/create_incident_template' update: - - $ref: >- - #/components/x-stackQL-resources/gcp_accounts/methods/update_gcpstsaccount + - $ref: '#/components/x-stackQL-resources/salesforce_incident_incident_templates/methods/update_incident_template' delete: - - $ref: >- - #/components/x-stackQL-resources/gcp_accounts/methods/delete_gcpstsaccount + - $ref: '#/components/x-stackQL-resources/salesforce_incident_incident_templates/methods/delete_incident_template' replace: [] - gcp_sts_delegate: - id: datadog.integrations.gcp_sts_delegate - name: gcp_sts_delegate - title: Gcp Sts Delegate + salesforce_incident_organizations: + id: datadog.integrations.salesforce_incident_organizations + name: salesforce_incident_organizations + title: Salesforce Incident Organizations methods: - get_gcpstsdelegate: + get_salesforce_organizations: operation: - $ref: '#/paths/~1api~1v2~1integration~1gcp~1sts_delegate/get' + $ref: '#/paths/~1api~1v2~1integration~1salesforce-incidents~1organizations/get' response: mediaType: application/json openAPIDocKey: '200' objectKey: $.data - make_gcpstsdelegate: + request: + nativeCasing: camel + delete_salesforce_organization: operation: - $ref: '#/paths/~1api~1v2~1integration~1gcp~1sts_delegate/post' + $ref: '#/paths/~1api~1v2~1integration~1salesforce-incidents~1organizations~1{salesforce_org_id}/delete' + response: + mediaType: application/json + openAPIDocKey: '204' + request: + nativeCasing: camel + sqlVerbs: + select: + - $ref: '#/components/x-stackQL-resources/salesforce_incident_organizations/methods/get_salesforce_organizations' + insert: [] + update: [] + delete: + - $ref: '#/components/x-stackQL-resources/salesforce_incident_organizations/methods/delete_salesforce_organization' + replace: [] + servicenow_assignment_groups: + id: datadog.integrations.servicenow_assignment_groups + name: servicenow_assignment_groups + title: Servicenow Assignment Groups + methods: + list_service_now_assignment_groups: + operation: + $ref: '#/paths/~1api~1v2~1integration~1servicenow~1assignment_groups~1{instance_id}/get' response: mediaType: application/json openAPIDocKey: '200' + objectKey: $.data + request: + nativeCasing: camel sqlVerbs: select: - - $ref: >- - #/components/x-stackQL-resources/gcp_sts_delegate/methods/get_gcpstsdelegate + - $ref: '#/components/x-stackQL-resources/servicenow_assignment_groups/methods/list_service_now_assignment_groups' insert: [] update: [] delete: [] replace: [] - ms_teams_channels: - id: datadog.integrations.ms_teams_channels - name: ms_teams_channels - title: Ms Teams Channels + servicenow_business_services: + id: datadog.integrations.servicenow_business_services + name: servicenow_business_services + title: Servicenow Business Services methods: - get_channel_by_name: + list_service_now_business_services: operation: - $ref: >- - #/paths/~1api~1v2~1integration~1ms-teams~1configuration~1channel~1{tenant_name}~1{team_name}~1{channel_name}/get + $ref: '#/paths/~1api~1v2~1integration~1servicenow~1business_services~1{instance_id}/get' response: mediaType: application/json openAPIDocKey: '200' objectKey: $.data + request: + nativeCasing: camel sqlVerbs: select: - - $ref: >- - #/components/x-stackQL-resources/ms_teams_channels/methods/get_channel_by_name + - $ref: '#/components/x-stackQL-resources/servicenow_business_services/methods/list_service_now_business_services' insert: [] update: [] delete: [] replace: [] - ms_teams_tenant_based_handles: - id: datadog.integrations.ms_teams_tenant_based_handles - name: ms_teams_tenant_based_handles - title: Ms Teams Tenant Based Handles + servicenow_handles: + id: datadog.integrations.servicenow_handles + name: servicenow_handles + title: Servicenow Handles methods: - list_tenant_based_handles: + list_service_now_templates: operation: - $ref: >- - #/paths/~1api~1v2~1integration~1ms-teams~1configuration~1tenant-based-handles/get + $ref: '#/paths/~1api~1v2~1integration~1servicenow~1handles/get' response: mediaType: application/json openAPIDocKey: '200' objectKey: $.data - create_tenant_based_handle: + request: + nativeCasing: camel + create_service_now_template: + config: + requestBodyTranslate: + algorithm: naive operation: - $ref: >- - #/paths/~1api~1v2~1integration~1ms-teams~1configuration~1tenant-based-handles/post + $ref: '#/paths/~1api~1v2~1integration~1servicenow~1handles/post' response: mediaType: application/json openAPIDocKey: '201' - delete_tenant_based_handle: + request: + nativeCasing: camel + delete_service_now_template: operation: - $ref: >- - #/paths/~1api~1v2~1integration~1ms-teams~1configuration~1tenant-based-handles~1{handle_id}/delete + $ref: '#/paths/~1api~1v2~1integration~1servicenow~1handles~1{template_id}/delete' response: mediaType: application/json - openAPIDocKey: '204' - get_tenant_based_handle: + openAPIDocKey: '200' + request: + nativeCasing: camel + get_service_now_template: operation: - $ref: >- - #/paths/~1api~1v2~1integration~1ms-teams~1configuration~1tenant-based-handles~1{handle_id}/get + $ref: '#/paths/~1api~1v2~1integration~1servicenow~1handles~1{template_id}/get' response: mediaType: application/json openAPIDocKey: '200' objectKey: $.data - update_tenant_based_handle: + request: + nativeCasing: camel + update_service_now_template: + config: + requestBodyTranslate: + algorithm: naive operation: - $ref: >- - #/paths/~1api~1v2~1integration~1ms-teams~1configuration~1tenant-based-handles~1{handle_id}/patch + $ref: '#/paths/~1api~1v2~1integration~1servicenow~1handles~1{template_id}/put' response: mediaType: application/json openAPIDocKey: '200' + request: + nativeCasing: camel sqlVerbs: select: - - $ref: >- - #/components/x-stackQL-resources/ms_teams_tenant_based_handles/methods/get_tenant_based_handle - - $ref: >- - #/components/x-stackQL-resources/ms_teams_tenant_based_handles/methods/list_tenant_based_handles + - $ref: '#/components/x-stackQL-resources/servicenow_handles/methods/get_service_now_template' + - $ref: '#/components/x-stackQL-resources/servicenow_handles/methods/list_service_now_templates' insert: - - $ref: >- - #/components/x-stackQL-resources/ms_teams_tenant_based_handles/methods/create_tenant_based_handle - update: - - $ref: >- - #/components/x-stackQL-resources/ms_teams_tenant_based_handles/methods/update_tenant_based_handle + - $ref: '#/components/x-stackQL-resources/servicenow_handles/methods/create_service_now_template' + update: [] delete: - - $ref: >- - #/components/x-stackQL-resources/ms_teams_tenant_based_handles/methods/delete_tenant_based_handle + - $ref: '#/components/x-stackQL-resources/servicenow_handles/methods/delete_service_now_template' + replace: + - $ref: '#/components/x-stackQL-resources/servicenow_handles/methods/update_service_now_template' + servicenow_instances: + id: datadog.integrations.servicenow_instances + name: servicenow_instances + title: Servicenow Instances + methods: + list_service_now_instances: + operation: + $ref: '#/paths/~1api~1v2~1integration~1servicenow~1instances/get' + response: + mediaType: application/json + openAPIDocKey: '200' + objectKey: $.data + request: + nativeCasing: camel + sqlVerbs: + select: + - $ref: '#/components/x-stackQL-resources/servicenow_instances/methods/list_service_now_instances' + insert: [] + update: [] + delete: [] replace: [] - ms_teams_workflows_webhook_handles: - id: datadog.integrations.ms_teams_workflows_webhook_handles - name: ms_teams_workflows_webhook_handles - title: Ms Teams Workflows Webhook Handles + servicenow_users: + id: datadog.integrations.servicenow_users + name: servicenow_users + title: Servicenow Users methods: - list_workflows_webhook_handles: + list_service_now_users: operation: - $ref: >- - #/paths/~1api~1v2~1integration~1ms-teams~1configuration~1workflows-webhook-handles/get + $ref: '#/paths/~1api~1v2~1integration~1servicenow~1users~1{instance_id}/get' response: mediaType: application/json openAPIDocKey: '200' objectKey: $.data - create_workflows_webhook_handle: + request: + nativeCasing: camel + sqlVerbs: + select: + - $ref: '#/components/x-stackQL-resources/servicenow_users/methods/list_service_now_users' + insert: [] + update: [] + delete: [] + replace: [] + slack_user_bindings: + id: datadog.integrations.slack_user_bindings + name: slack_user_bindings + title: Slack User Bindings + methods: + list_slack_user_bindings: operation: - $ref: >- - #/paths/~1api~1v2~1integration~1ms-teams~1configuration~1workflows-webhook-handles/post + $ref: '#/paths/~1api~1v2~1integration~1slack~1user-bindings/get' response: mediaType: application/json - openAPIDocKey: '201' - delete_workflows_webhook_handle: + openAPIDocKey: '200' + objectKey: $.data + request: + nativeCasing: camel + sqlVerbs: + select: + - $ref: '#/components/x-stackQL-resources/slack_user_bindings/methods/list_slack_user_bindings' + insert: [] + update: [] + delete: [] + replace: [] + statuspage_accounts: + id: datadog.integrations.statuspage_accounts + name: statuspage_accounts + title: Statuspage Accounts + methods: + delete_statuspage_account: operation: - $ref: >- - #/paths/~1api~1v2~1integration~1ms-teams~1configuration~1workflows-webhook-handles~1{handle_id}/delete + $ref: '#/paths/~1api~1v2~1integration~1statuspage~1account/delete' response: mediaType: application/json openAPIDocKey: '204' - get_workflows_webhook_handle: + request: + nativeCasing: camel + get_statuspage_account: + operation: + $ref: '#/paths/~1api~1v2~1integration~1statuspage~1account/get' + response: + mediaType: application/json + openAPIDocKey: '200' + objectKey: $.data + request: + nativeCasing: camel + update_statuspage_account: + config: + requestBodyTranslate: + algorithm: naive + operation: + $ref: '#/paths/~1api~1v2~1integration~1statuspage~1account/patch' + response: + mediaType: application/json + openAPIDocKey: '200' + request: + nativeCasing: camel + create_statuspage_account: + config: + requestBodyTranslate: + algorithm: naive + operation: + $ref: '#/paths/~1api~1v2~1integration~1statuspage~1account/post' + response: + mediaType: application/json + openAPIDocKey: '201' + request: + nativeCasing: camel + sqlVerbs: + select: + - $ref: '#/components/x-stackQL-resources/statuspage_accounts/methods/get_statuspage_account' + insert: + - $ref: '#/components/x-stackQL-resources/statuspage_accounts/methods/create_statuspage_account' + update: + - $ref: '#/components/x-stackQL-resources/statuspage_accounts/methods/update_statuspage_account' + delete: + - $ref: '#/components/x-stackQL-resources/statuspage_accounts/methods/delete_statuspage_account' + replace: [] + statuspage_url_settings: + id: datadog.integrations.statuspage_url_settings + name: statuspage_url_settings + title: Statuspage Url Settings + methods: + list_statuspage_url_settings: + operation: + $ref: '#/paths/~1api~1v2~1integration~1statuspage~1url_settings/get' + response: + mediaType: application/json + openAPIDocKey: '200' + objectKey: $.data + request: + nativeCasing: camel + create_statuspage_url_setting: + config: + requestBodyTranslate: + algorithm: naive + operation: + $ref: '#/paths/~1api~1v2~1integration~1statuspage~1url_settings/post' + response: + mediaType: application/json + openAPIDocKey: '201' + request: + nativeCasing: camel + delete_statuspage_url_setting: operation: - $ref: >- - #/paths/~1api~1v2~1integration~1ms-teams~1configuration~1workflows-webhook-handles~1{handle_id}/get + $ref: '#/paths/~1api~1v2~1integration~1statuspage~1url_settings~1{statuspage_url_setting_id}/delete' response: mediaType: application/json - openAPIDocKey: '200' - objectKey: $.data - update_workflows_webhook_handle: + openAPIDocKey: '204' + request: + nativeCasing: camel + update_statuspage_url_setting: + config: + requestBodyTranslate: + algorithm: naive operation: - $ref: >- - #/paths/~1api~1v2~1integration~1ms-teams~1configuration~1workflows-webhook-handles~1{handle_id}/patch + $ref: '#/paths/~1api~1v2~1integration~1statuspage~1url_settings~1{statuspage_url_setting_id}/patch' response: mediaType: application/json openAPIDocKey: '200' + request: + nativeCasing: camel sqlVerbs: select: - - $ref: >- - #/components/x-stackQL-resources/ms_teams_workflows_webhook_handles/methods/get_workflows_webhook_handle - - $ref: >- - #/components/x-stackQL-resources/ms_teams_workflows_webhook_handles/methods/list_workflows_webhook_handles + - $ref: '#/components/x-stackQL-resources/statuspage_url_settings/methods/list_statuspage_url_settings' insert: - - $ref: >- - #/components/x-stackQL-resources/ms_teams_workflows_webhook_handles/methods/create_workflows_webhook_handle + - $ref: '#/components/x-stackQL-resources/statuspage_url_settings/methods/create_statuspage_url_setting' update: - - $ref: >- - #/components/x-stackQL-resources/ms_teams_workflows_webhook_handles/methods/update_workflows_webhook_handle + - $ref: '#/components/x-stackQL-resources/statuspage_url_settings/methods/update_statuspage_url_setting' delete: - - $ref: >- - #/components/x-stackQL-resources/ms_teams_workflows_webhook_handles/methods/delete_workflows_webhook_handle + - $ref: '#/components/x-stackQL-resources/statuspage_url_settings/methods/delete_statuspage_url_setting' replace: [] - opsgenie_services: - id: datadog.integrations.opsgenie_services - name: opsgenie_services - title: Opsgenie Services + webhook_auth_methods: + id: datadog.integrations.webhook_auth_methods + name: webhook_auth_methods + title: Webhook Auth Methods methods: - list_opsgenie_services: + get_all_auth_methods: operation: - $ref: '#/paths/~1api~1v2~1integration~1opsgenie~1services/get' + $ref: '#/paths/~1api~1v2~1integration~1webhooks~1configuration~1auth-method/get' response: mediaType: application/json openAPIDocKey: '200' objectKey: $.data - create_opsgenie_service: + request: + nativeCasing: camel + sqlVerbs: + select: + - $ref: '#/components/x-stackQL-resources/webhook_auth_methods/methods/get_all_auth_methods' + insert: [] + update: [] + delete: [] + replace: [] + webhook_oauth2_client_credentials: + id: datadog.integrations.webhook_oauth2_client_credentials + name: webhook_oauth2_client_credentials + title: Webhook Oauth2 Client Credentials + methods: + create_oauth2_client_credentials: + config: + requestBodyTranslate: + algorithm: naive operation: - $ref: '#/paths/~1api~1v2~1integration~1opsgenie~1services/post' + $ref: '#/paths/~1api~1v2~1integration~1webhooks~1configuration~1auth-method~1oauth2-client-credentials/post' response: mediaType: application/json openAPIDocKey: '201' - delete_opsgenie_service: + request: + nativeCasing: camel + delete_oauth2_client_credentials: operation: - $ref: >- - #/paths/~1api~1v2~1integration~1opsgenie~1services~1{integration_service_id}/delete + $ref: '#/paths/~1api~1v2~1integration~1webhooks~1configuration~1auth-method~1oauth2-client-credentials~1{auth_method_id}/delete' response: mediaType: application/json openAPIDocKey: '204' - get_opsgenie_service: + request: + nativeCasing: camel + get_oauth2_client_credentials: operation: - $ref: >- - #/paths/~1api~1v2~1integration~1opsgenie~1services~1{integration_service_id}/get + $ref: '#/paths/~1api~1v2~1integration~1webhooks~1configuration~1auth-method~1oauth2-client-credentials~1{auth_method_id}/get' response: mediaType: application/json openAPIDocKey: '200' objectKey: $.data - update_opsgenie_service: + request: + nativeCasing: camel + update_oauth2_client_credentials: + config: + requestBodyTranslate: + algorithm: naive operation: - $ref: >- - #/paths/~1api~1v2~1integration~1opsgenie~1services~1{integration_service_id}/patch + $ref: '#/paths/~1api~1v2~1integration~1webhooks~1configuration~1auth-method~1oauth2-client-credentials~1{auth_method_id}/patch' response: mediaType: application/json openAPIDocKey: '200' + request: + nativeCasing: camel sqlVerbs: select: - - $ref: >- - #/components/x-stackQL-resources/opsgenie_services/methods/get_opsgenie_service - - $ref: >- - #/components/x-stackQL-resources/opsgenie_services/methods/list_opsgenie_services + - $ref: '#/components/x-stackQL-resources/webhook_oauth2_client_credentials/methods/get_oauth2_client_credentials' insert: - - $ref: >- - #/components/x-stackQL-resources/opsgenie_services/methods/create_opsgenie_service + - $ref: '#/components/x-stackQL-resources/webhook_oauth2_client_credentials/methods/create_oauth2_client_credentials' update: - - $ref: >- - #/components/x-stackQL-resources/opsgenie_services/methods/update_opsgenie_service + - $ref: '#/components/x-stackQL-resources/webhook_oauth2_client_credentials/methods/update_oauth2_client_credentials' delete: - - $ref: >- - #/components/x-stackQL-resources/opsgenie_services/methods/delete_opsgenie_service + - $ref: '#/components/x-stackQL-resources/webhook_oauth2_client_credentials/methods/delete_oauth2_client_credentials' + replace: [] + integrations: + id: datadog.integrations.integrations + name: integrations + title: Integrations + methods: + list_integrations: + operation: + $ref: '#/paths/~1api~1v2~1integrations/get' + response: + mediaType: application/json + openAPIDocKey: '200' + objectKey: $.data + request: + nativeCasing: camel + sqlVerbs: + select: + - $ref: '#/components/x-stackQL-resources/integrations/methods/list_integrations' + insert: [] + update: [] + delete: [] replace: [] cloudflare_accounts: id: datadog.integrations.cloudflare_accounts @@ -4777,49 +21312,57 @@ components: mediaType: application/json openAPIDocKey: '200' objectKey: $.data + request: + nativeCasing: camel create_cloudflare_account: + config: + requestBodyTranslate: + algorithm: naive operation: $ref: '#/paths/~1api~1v2~1integrations~1cloudflare~1accounts/post' response: mediaType: application/json openAPIDocKey: '201' + request: + nativeCasing: camel delete_cloudflare_account: operation: - $ref: >- - #/paths/~1api~1v2~1integrations~1cloudflare~1accounts~1{account_id}/delete + $ref: '#/paths/~1api~1v2~1integrations~1cloudflare~1accounts~1{account_id}/delete' response: mediaType: application/json openAPIDocKey: '204' + request: + nativeCasing: camel get_cloudflare_account: operation: - $ref: >- - #/paths/~1api~1v2~1integrations~1cloudflare~1accounts~1{account_id}/get + $ref: '#/paths/~1api~1v2~1integrations~1cloudflare~1accounts~1{account_id}/get' response: mediaType: application/json openAPIDocKey: '200' objectKey: $.data + request: + nativeCasing: camel update_cloudflare_account: + config: + requestBodyTranslate: + algorithm: naive operation: - $ref: >- - #/paths/~1api~1v2~1integrations~1cloudflare~1accounts~1{account_id}/patch + $ref: '#/paths/~1api~1v2~1integrations~1cloudflare~1accounts~1{account_id}/patch' response: mediaType: application/json openAPIDocKey: '200' + request: + nativeCasing: camel sqlVerbs: select: - - $ref: >- - #/components/x-stackQL-resources/cloudflare_accounts/methods/get_cloudflare_account - - $ref: >- - #/components/x-stackQL-resources/cloudflare_accounts/methods/list_cloudflare_accounts + - $ref: '#/components/x-stackQL-resources/cloudflare_accounts/methods/get_cloudflare_account' + - $ref: '#/components/x-stackQL-resources/cloudflare_accounts/methods/list_cloudflare_accounts' insert: - - $ref: >- - #/components/x-stackQL-resources/cloudflare_accounts/methods/create_cloudflare_account + - $ref: '#/components/x-stackQL-resources/cloudflare_accounts/methods/create_cloudflare_account' update: - - $ref: >- - #/components/x-stackQL-resources/cloudflare_accounts/methods/update_cloudflare_account + - $ref: '#/components/x-stackQL-resources/cloudflare_accounts/methods/update_cloudflare_account' delete: - - $ref: >- - #/components/x-stackQL-resources/cloudflare_accounts/methods/delete_cloudflare_account + - $ref: '#/components/x-stackQL-resources/cloudflare_accounts/methods/delete_cloudflare_account' replace: [] confluent_accounts: id: datadog.integrations.confluent_accounts @@ -4833,49 +21376,57 @@ components: mediaType: application/json openAPIDocKey: '200' objectKey: $.data + request: + nativeCasing: camel create_confluent_account: + config: + requestBodyTranslate: + algorithm: naive operation: $ref: '#/paths/~1api~1v2~1integrations~1confluent-cloud~1accounts/post' response: mediaType: application/json openAPIDocKey: '201' + request: + nativeCasing: camel delete_confluent_account: operation: - $ref: >- - #/paths/~1api~1v2~1integrations~1confluent-cloud~1accounts~1{account_id}/delete + $ref: '#/paths/~1api~1v2~1integrations~1confluent-cloud~1accounts~1{account_id}/delete' response: mediaType: application/json openAPIDocKey: '204' + request: + nativeCasing: camel get_confluent_account: operation: - $ref: >- - #/paths/~1api~1v2~1integrations~1confluent-cloud~1accounts~1{account_id}/get + $ref: '#/paths/~1api~1v2~1integrations~1confluent-cloud~1accounts~1{account_id}/get' response: mediaType: application/json openAPIDocKey: '200' objectKey: $.data + request: + nativeCasing: camel update_confluent_account: + config: + requestBodyTranslate: + algorithm: naive operation: - $ref: >- - #/paths/~1api~1v2~1integrations~1confluent-cloud~1accounts~1{account_id}/patch + $ref: '#/paths/~1api~1v2~1integrations~1confluent-cloud~1accounts~1{account_id}/patch' response: mediaType: application/json openAPIDocKey: '200' + request: + nativeCasing: camel sqlVerbs: select: - - $ref: >- - #/components/x-stackQL-resources/confluent_accounts/methods/get_confluent_account - - $ref: >- - #/components/x-stackQL-resources/confluent_accounts/methods/list_confluent_account + - $ref: '#/components/x-stackQL-resources/confluent_accounts/methods/get_confluent_account' + - $ref: '#/components/x-stackQL-resources/confluent_accounts/methods/list_confluent_account' insert: - - $ref: >- - #/components/x-stackQL-resources/confluent_accounts/methods/create_confluent_account + - $ref: '#/components/x-stackQL-resources/confluent_accounts/methods/create_confluent_account' update: - - $ref: >- - #/components/x-stackQL-resources/confluent_accounts/methods/update_confluent_account + - $ref: '#/components/x-stackQL-resources/confluent_accounts/methods/update_confluent_account' delete: - - $ref: >- - #/components/x-stackQL-resources/confluent_accounts/methods/delete_confluent_account + - $ref: '#/components/x-stackQL-resources/confluent_accounts/methods/delete_confluent_account' replace: [] confluent_resources: id: datadog.integrations.confluent_resources @@ -4884,56 +21435,62 @@ components: methods: list_confluent_resource: operation: - $ref: >- - #/paths/~1api~1v2~1integrations~1confluent-cloud~1accounts~1{account_id}~1resources/get + $ref: '#/paths/~1api~1v2~1integrations~1confluent-cloud~1accounts~1{account_id}~1resources/get' response: mediaType: application/json openAPIDocKey: '200' objectKey: $.data + request: + nativeCasing: camel create_confluent_resource: + config: + requestBodyTranslate: + algorithm: naive operation: - $ref: >- - #/paths/~1api~1v2~1integrations~1confluent-cloud~1accounts~1{account_id}~1resources/post + $ref: '#/paths/~1api~1v2~1integrations~1confluent-cloud~1accounts~1{account_id}~1resources/post' response: mediaType: application/json openAPIDocKey: '201' + request: + nativeCasing: camel delete_confluent_resource: operation: - $ref: >- - #/paths/~1api~1v2~1integrations~1confluent-cloud~1accounts~1{account_id}~1resources~1{resource_id}/delete + $ref: '#/paths/~1api~1v2~1integrations~1confluent-cloud~1accounts~1{account_id}~1resources~1{resource_id}/delete' response: mediaType: application/json openAPIDocKey: '204' + request: + nativeCasing: camel get_confluent_resource: operation: - $ref: >- - #/paths/~1api~1v2~1integrations~1confluent-cloud~1accounts~1{account_id}~1resources~1{resource_id}/get + $ref: '#/paths/~1api~1v2~1integrations~1confluent-cloud~1accounts~1{account_id}~1resources~1{resource_id}/get' response: mediaType: application/json openAPIDocKey: '200' objectKey: $.data + request: + nativeCasing: camel update_confluent_resource: + config: + requestBodyTranslate: + algorithm: naive operation: - $ref: >- - #/paths/~1api~1v2~1integrations~1confluent-cloud~1accounts~1{account_id}~1resources~1{resource_id}/patch + $ref: '#/paths/~1api~1v2~1integrations~1confluent-cloud~1accounts~1{account_id}~1resources~1{resource_id}/patch' response: mediaType: application/json openAPIDocKey: '200' + request: + nativeCasing: camel sqlVerbs: select: - - $ref: >- - #/components/x-stackQL-resources/confluent_resources/methods/get_confluent_resource - - $ref: >- - #/components/x-stackQL-resources/confluent_resources/methods/list_confluent_resource + - $ref: '#/components/x-stackQL-resources/confluent_resources/methods/get_confluent_resource' + - $ref: '#/components/x-stackQL-resources/confluent_resources/methods/list_confluent_resource' insert: - - $ref: >- - #/components/x-stackQL-resources/confluent_resources/methods/create_confluent_resource + - $ref: '#/components/x-stackQL-resources/confluent_resources/methods/create_confluent_resource' update: - - $ref: >- - #/components/x-stackQL-resources/confluent_resources/methods/update_confluent_resource + - $ref: '#/components/x-stackQL-resources/confluent_resources/methods/update_confluent_resource' delete: - - $ref: >- - #/components/x-stackQL-resources/confluent_resources/methods/delete_confluent_resource + - $ref: '#/components/x-stackQL-resources/confluent_resources/methods/delete_confluent_resource' replace: [] fastly_accounts: id: datadog.integrations.fastly_accounts @@ -4947,49 +21504,57 @@ components: mediaType: application/json openAPIDocKey: '200' objectKey: $.data + request: + nativeCasing: camel create_fastly_account: + config: + requestBodyTranslate: + algorithm: naive operation: $ref: '#/paths/~1api~1v2~1integrations~1fastly~1accounts/post' response: mediaType: application/json openAPIDocKey: '201' + request: + nativeCasing: camel delete_fastly_account: operation: - $ref: >- - #/paths/~1api~1v2~1integrations~1fastly~1accounts~1{account_id}/delete + $ref: '#/paths/~1api~1v2~1integrations~1fastly~1accounts~1{account_id}/delete' response: mediaType: application/json openAPIDocKey: '204' + request: + nativeCasing: camel get_fastly_account: operation: - $ref: >- - #/paths/~1api~1v2~1integrations~1fastly~1accounts~1{account_id}/get + $ref: '#/paths/~1api~1v2~1integrations~1fastly~1accounts~1{account_id}/get' response: mediaType: application/json openAPIDocKey: '200' objectKey: $.data + request: + nativeCasing: camel update_fastly_account: + config: + requestBodyTranslate: + algorithm: naive operation: - $ref: >- - #/paths/~1api~1v2~1integrations~1fastly~1accounts~1{account_id}/patch + $ref: '#/paths/~1api~1v2~1integrations~1fastly~1accounts~1{account_id}/patch' response: mediaType: application/json openAPIDocKey: '200' + request: + nativeCasing: camel sqlVerbs: select: - - $ref: >- - #/components/x-stackQL-resources/fastly_accounts/methods/get_fastly_account - - $ref: >- - #/components/x-stackQL-resources/fastly_accounts/methods/list_fastly_accounts + - $ref: '#/components/x-stackQL-resources/fastly_accounts/methods/get_fastly_account' + - $ref: '#/components/x-stackQL-resources/fastly_accounts/methods/list_fastly_accounts' insert: - - $ref: >- - #/components/x-stackQL-resources/fastly_accounts/methods/create_fastly_account + - $ref: '#/components/x-stackQL-resources/fastly_accounts/methods/create_fastly_account' update: - - $ref: >- - #/components/x-stackQL-resources/fastly_accounts/methods/update_fastly_account + - $ref: '#/components/x-stackQL-resources/fastly_accounts/methods/update_fastly_account' delete: - - $ref: >- - #/components/x-stackQL-resources/fastly_accounts/methods/delete_fastly_account + - $ref: '#/components/x-stackQL-resources/fastly_accounts/methods/delete_fastly_account' replace: [] fastly_services: id: datadog.integrations.fastly_services @@ -4998,56 +21563,62 @@ components: methods: list_fastly_services: operation: - $ref: >- - #/paths/~1api~1v2~1integrations~1fastly~1accounts~1{account_id}~1services/get + $ref: '#/paths/~1api~1v2~1integrations~1fastly~1accounts~1{account_id}~1services/get' response: mediaType: application/json openAPIDocKey: '200' objectKey: $.data + request: + nativeCasing: camel create_fastly_service: + config: + requestBodyTranslate: + algorithm: naive operation: - $ref: >- - #/paths/~1api~1v2~1integrations~1fastly~1accounts~1{account_id}~1services/post + $ref: '#/paths/~1api~1v2~1integrations~1fastly~1accounts~1{account_id}~1services/post' response: mediaType: application/json openAPIDocKey: '201' + request: + nativeCasing: camel delete_fastly_service: operation: - $ref: >- - #/paths/~1api~1v2~1integrations~1fastly~1accounts~1{account_id}~1services~1{service_id}/delete + $ref: '#/paths/~1api~1v2~1integrations~1fastly~1accounts~1{account_id}~1services~1{service_id}/delete' response: mediaType: application/json openAPIDocKey: '204' + request: + nativeCasing: camel get_fastly_service: operation: - $ref: >- - #/paths/~1api~1v2~1integrations~1fastly~1accounts~1{account_id}~1services~1{service_id}/get + $ref: '#/paths/~1api~1v2~1integrations~1fastly~1accounts~1{account_id}~1services~1{service_id}/get' response: mediaType: application/json openAPIDocKey: '200' objectKey: $.data + request: + nativeCasing: camel update_fastly_service: + config: + requestBodyTranslate: + algorithm: naive operation: - $ref: >- - #/paths/~1api~1v2~1integrations~1fastly~1accounts~1{account_id}~1services~1{service_id}/patch + $ref: '#/paths/~1api~1v2~1integrations~1fastly~1accounts~1{account_id}~1services~1{service_id}/patch' response: mediaType: application/json openAPIDocKey: '200' + request: + nativeCasing: camel sqlVerbs: select: - - $ref: >- - #/components/x-stackQL-resources/fastly_services/methods/get_fastly_service - - $ref: >- - #/components/x-stackQL-resources/fastly_services/methods/list_fastly_services + - $ref: '#/components/x-stackQL-resources/fastly_services/methods/get_fastly_service' + - $ref: '#/components/x-stackQL-resources/fastly_services/methods/list_fastly_services' insert: - - $ref: >- - #/components/x-stackQL-resources/fastly_services/methods/create_fastly_service + - $ref: '#/components/x-stackQL-resources/fastly_services/methods/create_fastly_service' update: - - $ref: >- - #/components/x-stackQL-resources/fastly_services/methods/update_fastly_service + - $ref: '#/components/x-stackQL-resources/fastly_services/methods/update_fastly_service' delete: - - $ref: >- - #/components/x-stackQL-resources/fastly_services/methods/delete_fastly_service + - $ref: '#/components/x-stackQL-resources/fastly_services/methods/delete_fastly_service' replace: [] okta_accounts: id: datadog.integrations.okta_accounts @@ -5061,19 +21632,27 @@ components: mediaType: application/json openAPIDocKey: '200' objectKey: $.data + request: + nativeCasing: camel create_okta_account: + config: + requestBodyTranslate: + algorithm: naive operation: $ref: '#/paths/~1api~1v2~1integrations~1okta~1accounts/post' response: mediaType: application/json openAPIDocKey: '201' + request: + nativeCasing: camel delete_okta_account: operation: - $ref: >- - #/paths/~1api~1v2~1integrations~1okta~1accounts~1{account_id}/delete + $ref: '#/paths/~1api~1v2~1integrations~1okta~1accounts~1{account_id}/delete' response: mediaType: application/json openAPIDocKey: '204' + request: + nativeCasing: camel get_okta_account: operation: $ref: '#/paths/~1api~1v2~1integrations~1okta~1accounts~1{account_id}/get' @@ -5081,32 +21660,556 @@ components: mediaType: application/json openAPIDocKey: '200' objectKey: $.data + request: + nativeCasing: camel update_okta_account: + config: + requestBodyTranslate: + algorithm: naive + operation: + $ref: '#/paths/~1api~1v2~1integrations~1okta~1accounts~1{account_id}/patch' + response: + mediaType: application/json + openAPIDocKey: '200' + request: + nativeCasing: camel + sqlVerbs: + select: + - $ref: '#/components/x-stackQL-resources/okta_accounts/methods/get_okta_account' + - $ref: '#/components/x-stackQL-resources/okta_accounts/methods/list_okta_accounts' + insert: + - $ref: '#/components/x-stackQL-resources/okta_accounts/methods/create_okta_account' + update: + - $ref: '#/components/x-stackQL-resources/okta_accounts/methods/update_okta_account' + delete: + - $ref: '#/components/x-stackQL-resources/okta_accounts/methods/delete_okta_account' + replace: [] + reference_table_rows: + id: datadog.integrations.reference_table_rows + name: reference_table_rows + title: Reference Table Rows + methods: + batch_rows_query: + config: + requestBodyTranslate: + algorithm: naive + operation: + $ref: '#/paths/~1api~1v2~1reference-tables~1queries~1batch-rows/post' + response: + mediaType: application/json + openAPIDocKey: '200' + request: + nativeCasing: camel + delete_rows: + operation: + $ref: '#/paths/~1api~1v2~1reference-tables~1tables~1{id}~1rows/delete' + response: + mediaType: application/json + openAPIDocKey: '200' + request: + nativeCasing: camel + get_rows_by_id: + operation: + $ref: '#/paths/~1api~1v2~1reference-tables~1tables~1{id}~1rows/get' + response: + mediaType: application/json + openAPIDocKey: '200' + objectKey: $.data + request: + nativeCasing: camel + upsert_rows: + config: + requestBodyTranslate: + algorithm: naive + operation: + $ref: '#/paths/~1api~1v2~1reference-tables~1tables~1{id}~1rows/post' + response: + mediaType: application/json + openAPIDocKey: '200' + request: + nativeCasing: camel + list_reference_table_rows: + operation: + $ref: '#/paths/~1api~1v2~1reference-tables~1tables~1{id}~1rows~1list/get' + response: + mediaType: application/json + openAPIDocKey: '200' + objectKey: $.data + request: + nativeCasing: camel + config: + queryParamPushdown: + top: + paramName: page[limit] + maxValue: 1000 + sqlVerbs: + select: + - $ref: '#/components/x-stackQL-resources/reference_table_rows/methods/get_rows_by_id' + - $ref: '#/components/x-stackQL-resources/reference_table_rows/methods/list_reference_table_rows' + insert: [] + update: [] + delete: + - $ref: '#/components/x-stackQL-resources/reference_table_rows/methods/delete_rows' + replace: [] + reference_tables: + id: datadog.integrations.reference_tables + name: reference_tables + title: Reference Tables + methods: + list_tables: + operation: + $ref: '#/paths/~1api~1v2~1reference-tables~1tables/get' + response: + mediaType: application/json + openAPIDocKey: '200' + objectKey: $.data + request: + nativeCasing: camel + config: + queryParamPushdown: + top: + paramName: page[limit] + maxValue: 100 + skip: + paramName: page[offset] + create_reference_table: + config: + requestBodyTranslate: + algorithm: naive + operation: + $ref: '#/paths/~1api~1v2~1reference-tables~1tables/post' + response: + mediaType: application/json + openAPIDocKey: '201' + request: + nativeCasing: camel + delete_table: + operation: + $ref: '#/paths/~1api~1v2~1reference-tables~1tables~1{id}/delete' + response: + mediaType: application/json + openAPIDocKey: '200' + request: + nativeCasing: camel + get_table: + operation: + $ref: '#/paths/~1api~1v2~1reference-tables~1tables~1{id}/get' + response: + mediaType: application/json + openAPIDocKey: '200' + objectKey: $.data + request: + nativeCasing: camel + update_reference_table: + config: + requestBodyTranslate: + algorithm: naive + operation: + $ref: '#/paths/~1api~1v2~1reference-tables~1tables~1{id}/patch' + response: + mediaType: application/json + openAPIDocKey: '200' + request: + nativeCasing: camel + sqlVerbs: + select: + - $ref: '#/components/x-stackQL-resources/reference_tables/methods/get_table' + - $ref: '#/components/x-stackQL-resources/reference_tables/methods/list_tables' + insert: + - $ref: '#/components/x-stackQL-resources/reference_tables/methods/create_reference_table' + update: + - $ref: '#/components/x-stackQL-resources/reference_tables/methods/update_reference_table' + delete: + - $ref: '#/components/x-stackQL-resources/reference_tables/methods/delete_table' + replace: [] + reference_table_uploads: + id: datadog.integrations.reference_table_uploads + name: reference_table_uploads + title: Reference Table Uploads + methods: + create_reference_table_upload: + config: + requestBodyTranslate: + algorithm: naive + operation: + $ref: '#/paths/~1api~1v2~1reference-tables~1uploads/post' + response: + mediaType: application/json + openAPIDocKey: '201' + request: + nativeCasing: camel + sqlVerbs: + select: [] + insert: + - $ref: '#/components/x-stackQL-resources/reference_table_uploads/methods/create_reference_table_upload' + update: [] + delete: [] + replace: [] + web_integration_accounts: + id: datadog.integrations.web_integration_accounts + name: web_integration_accounts + title: Web Integration Accounts + methods: + list_web_integration_accounts: + operation: + $ref: '#/paths/~1api~1v2~1web-integrations~1{integration_name}~1accounts/get' + response: + mediaType: application/json + openAPIDocKey: '200' + objectKey: $.data + request: + nativeCasing: camel + create_web_integration_account: + config: + requestBodyTranslate: + algorithm: naive + operation: + $ref: '#/paths/~1api~1v2~1web-integrations~1{integration_name}~1accounts/post' + response: + mediaType: application/json + openAPIDocKey: '201' + request: + nativeCasing: camel + delete_web_integration_account: + operation: + $ref: '#/paths/~1api~1v2~1web-integrations~1{integration_name}~1accounts~1{account_id}/delete' + response: + mediaType: application/json + openAPIDocKey: '204' + request: + nativeCasing: camel + get_web_integration_account: + operation: + $ref: '#/paths/~1api~1v2~1web-integrations~1{integration_name}~1accounts~1{account_id}/get' + response: + mediaType: application/json + openAPIDocKey: '200' + objectKey: $.data + request: + nativeCasing: camel + update_web_integration_account: + config: + requestBodyTranslate: + algorithm: naive + operation: + $ref: '#/paths/~1api~1v2~1web-integrations~1{integration_name}~1accounts~1{account_id}/patch' + response: + mediaType: application/json + openAPIDocKey: '200' + request: + nativeCasing: camel + sqlVerbs: + select: + - $ref: '#/components/x-stackQL-resources/web_integration_accounts/methods/get_web_integration_account' + - $ref: '#/components/x-stackQL-resources/web_integration_accounts/methods/list_web_integration_accounts' + insert: + - $ref: '#/components/x-stackQL-resources/web_integration_accounts/methods/create_web_integration_account' + update: + - $ref: '#/components/x-stackQL-resources/web_integration_accounts/methods/update_web_integration_account' + delete: + - $ref: '#/components/x-stackQL-resources/web_integration_accounts/methods/delete_web_integration_account' + replace: [] + azure_accounts: + id: datadog.integrations.azure_accounts + name: azure_accounts + title: Azure Accounts + methods: + delete_azure_integration: + operation: + $ref: '#/paths/~1api~1v1~1integration~1azure/delete' + response: + mediaType: application/json + openAPIDocKey: '200' + request: + nativeCasing: camel + list_azure_integration: + operation: + $ref: '#/paths/~1api~1v1~1integration~1azure/get' + response: + mediaType: application/json + openAPIDocKey: '200' + request: + nativeCasing: camel + create_azure_integration: + config: + requestBodyTranslate: + algorithm: naive + operation: + $ref: '#/paths/~1api~1v1~1integration~1azure/post' + response: + mediaType: application/json + openAPIDocKey: '200' + request: + nativeCasing: camel + update_azure_integration: + config: + requestBodyTranslate: + algorithm: naive + operation: + $ref: '#/paths/~1api~1v1~1integration~1azure/put' + response: + mediaType: application/json + openAPIDocKey: '200' + request: + nativeCasing: camel + sqlVerbs: + select: + - $ref: '#/components/x-stackQL-resources/azure_accounts/methods/list_azure_integration' + insert: + - $ref: '#/components/x-stackQL-resources/azure_accounts/methods/create_azure_integration' + update: [] + delete: + - $ref: '#/components/x-stackQL-resources/azure_accounts/methods/delete_azure_integration' + replace: + - $ref: '#/components/x-stackQL-resources/azure_accounts/methods/update_azure_integration' + azure_host_filters: + id: datadog.integrations.azure_host_filters + name: azure_host_filters + title: Azure Host Filters + methods: + update_azure_host_filters: + config: + requestBodyTranslate: + algorithm: naive + operation: + $ref: '#/paths/~1api~1v1~1integration~1azure~1host_filters/post' + response: + mediaType: application/json + openAPIDocKey: '200' + request: + nativeCasing: camel + sqlVerbs: + select: [] + insert: + - $ref: '#/components/x-stackQL-resources/azure_host_filters/methods/update_azure_host_filters' + update: [] + delete: [] + replace: [] + pagerduty_services: + id: datadog.integrations.pagerduty_services + name: pagerduty_services + title: Pagerduty Services + methods: + create_pager_duty_integration_service: + config: + requestBodyTranslate: + algorithm: naive + operation: + $ref: '#/paths/~1api~1v1~1integration~1pagerduty~1configuration~1services/post' + response: + mediaType: application/json + openAPIDocKey: '201' + request: + nativeCasing: camel + delete_pager_duty_integration_service: + operation: + $ref: '#/paths/~1api~1v1~1integration~1pagerduty~1configuration~1services~1{service_name}/delete' + response: + mediaType: application/json + openAPIDocKey: '204' + request: + nativeCasing: camel + get_pager_duty_integration_service: + operation: + $ref: '#/paths/~1api~1v1~1integration~1pagerduty~1configuration~1services~1{service_name}/get' + response: + mediaType: application/json + openAPIDocKey: '200' + request: + nativeCasing: camel + update_pager_duty_integration_service: + config: + requestBodyTranslate: + algorithm: naive + operation: + $ref: '#/paths/~1api~1v1~1integration~1pagerduty~1configuration~1services~1{service_name}/put' + response: + mediaType: application/json + openAPIDocKey: '200' + request: + nativeCasing: camel + sqlVerbs: + select: + - $ref: '#/components/x-stackQL-resources/pagerduty_services/methods/get_pager_duty_integration_service' + insert: + - $ref: '#/components/x-stackQL-resources/pagerduty_services/methods/create_pager_duty_integration_service' + update: [] + delete: + - $ref: '#/components/x-stackQL-resources/pagerduty_services/methods/delete_pager_duty_integration_service' + replace: + - $ref: '#/components/x-stackQL-resources/pagerduty_services/methods/update_pager_duty_integration_service' + slack_channels: + id: datadog.integrations.slack_channels + name: slack_channels + title: Slack Channels + methods: + get_slack_integration_channels: + operation: + $ref: '#/paths/~1api~1v1~1integration~1slack~1configuration~1accounts~1{account_name}~1channels/get' + response: + mediaType: application/json + openAPIDocKey: '200' + request: + nativeCasing: camel + create_slack_integration_channel: + config: + requestBodyTranslate: + algorithm: naive + operation: + $ref: '#/paths/~1api~1v1~1integration~1slack~1configuration~1accounts~1{account_name}~1channels/post' + response: + mediaType: application/json + openAPIDocKey: '200' + request: + nativeCasing: camel + remove_slack_integration_channel: + operation: + $ref: '#/paths/~1api~1v1~1integration~1slack~1configuration~1accounts~1{account_name}~1channels~1{channel_name}/delete' + response: + mediaType: application/json + openAPIDocKey: '204' + request: + nativeCasing: camel + get_slack_integration_channel: operation: - $ref: >- - #/paths/~1api~1v2~1integrations~1okta~1accounts~1{account_id}/patch + $ref: '#/paths/~1api~1v1~1integration~1slack~1configuration~1accounts~1{account_name}~1channels~1{channel_name}/get' response: mediaType: application/json openAPIDocKey: '200' + request: + nativeCasing: camel + update_slack_integration_channel: + config: + requestBodyTranslate: + algorithm: naive + operation: + $ref: '#/paths/~1api~1v1~1integration~1slack~1configuration~1accounts~1{account_name}~1channels~1{channel_name}/patch' + response: + mediaType: application/json + openAPIDocKey: '200' + request: + nativeCasing: camel sqlVerbs: select: - - $ref: >- - #/components/x-stackQL-resources/okta_accounts/methods/get_okta_account - - $ref: >- - #/components/x-stackQL-resources/okta_accounts/methods/list_okta_accounts + - $ref: '#/components/x-stackQL-resources/slack_channels/methods/get_slack_integration_channel' + - $ref: '#/components/x-stackQL-resources/slack_channels/methods/get_slack_integration_channels' insert: - - $ref: >- - #/components/x-stackQL-resources/okta_accounts/methods/create_okta_account + - $ref: '#/components/x-stackQL-resources/slack_channels/methods/create_slack_integration_channel' update: - - $ref: >- - #/components/x-stackQL-resources/okta_accounts/methods/update_okta_account + - $ref: '#/components/x-stackQL-resources/slack_channels/methods/update_slack_integration_channel' delete: - - $ref: >- - #/components/x-stackQL-resources/okta_accounts/methods/delete_okta_account + - $ref: '#/components/x-stackQL-resources/slack_channels/methods/remove_slack_integration_channel' replace: [] + webhook_custom_variables: + id: datadog.integrations.webhook_custom_variables + name: webhook_custom_variables + title: Webhook Custom Variables + methods: + create_webhooks_integration_custom_variable: + config: + requestBodyTranslate: + algorithm: naive + operation: + $ref: '#/paths/~1api~1v1~1integration~1webhooks~1configuration~1custom-variables/post' + response: + mediaType: application/json + openAPIDocKey: '201' + request: + nativeCasing: camel + delete_webhooks_integration_custom_variable: + operation: + $ref: '#/paths/~1api~1v1~1integration~1webhooks~1configuration~1custom-variables~1{custom_variable_name}/delete' + response: + mediaType: application/json + openAPIDocKey: '200' + request: + nativeCasing: camel + get_webhooks_integration_custom_variable: + operation: + $ref: '#/paths/~1api~1v1~1integration~1webhooks~1configuration~1custom-variables~1{custom_variable_name}/get' + response: + mediaType: application/json + openAPIDocKey: '200' + request: + nativeCasing: camel + update_webhooks_integration_custom_variable: + config: + requestBodyTranslate: + algorithm: naive + operation: + $ref: '#/paths/~1api~1v1~1integration~1webhooks~1configuration~1custom-variables~1{custom_variable_name}/put' + response: + mediaType: application/json + openAPIDocKey: '200' + request: + nativeCasing: camel + sqlVerbs: + select: + - $ref: '#/components/x-stackQL-resources/webhook_custom_variables/methods/get_webhooks_integration_custom_variable' + insert: + - $ref: '#/components/x-stackQL-resources/webhook_custom_variables/methods/create_webhooks_integration_custom_variable' + update: [] + delete: + - $ref: '#/components/x-stackQL-resources/webhook_custom_variables/methods/delete_webhooks_integration_custom_variable' + replace: + - $ref: '#/components/x-stackQL-resources/webhook_custom_variables/methods/update_webhooks_integration_custom_variable' + webhooks: + id: datadog.integrations.webhooks + name: webhooks + title: Webhooks + methods: + create_webhooks_integration: + config: + requestBodyTranslate: + algorithm: naive + operation: + $ref: '#/paths/~1api~1v1~1integration~1webhooks~1configuration~1webhooks/post' + response: + mediaType: application/json + openAPIDocKey: '201' + request: + nativeCasing: camel + delete_webhooks_integration: + operation: + $ref: '#/paths/~1api~1v1~1integration~1webhooks~1configuration~1webhooks~1{webhook_name}/delete' + response: + mediaType: application/json + openAPIDocKey: '200' + request: + nativeCasing: camel + get_webhooks_integration: + operation: + $ref: '#/paths/~1api~1v1~1integration~1webhooks~1configuration~1webhooks~1{webhook_name}/get' + response: + mediaType: application/json + openAPIDocKey: '200' + request: + nativeCasing: camel + update_webhooks_integration: + config: + requestBodyTranslate: + algorithm: naive + operation: + $ref: '#/paths/~1api~1v1~1integration~1webhooks~1configuration~1webhooks~1{webhook_name}/put' + response: + mediaType: application/json + openAPIDocKey: '200' + request: + nativeCasing: camel + sqlVerbs: + select: + - $ref: '#/components/x-stackQL-resources/webhooks/methods/get_webhooks_integration' + insert: + - $ref: '#/components/x-stackQL-resources/webhooks/methods/create_webhooks_integration' + update: [] + delete: + - $ref: '#/components/x-stackQL-resources/webhooks/methods/delete_webhooks_integration' + replace: + - $ref: '#/components/x-stackQL-resources/webhooks/methods/update_webhooks_integration' servers: - - url: >- - https://{region:^(?:[^\:/]+(?:\:[0-9]+)?|[0-9]+\.[0-9]+\.[0-9]+\.[0-9]+(?:\:[0-9]+)?)$}/ + - url: https://api.{site:.+} variables: - region: + site: default: datadoghq.com + description: The Datadog site (region) for your organization, for example datadoghq.com, us3.datadoghq.com, us5.datadoghq.com, ap1.datadoghq.com, ap2.datadoghq.com, datadoghq.eu, ddog-gov.com. Resolved from the DD_SITE environment variable when set. + x-stackQL-envVar: DD_SITE diff --git a/providers/src/datadog/v00.00.00000/services/llm_observability.yaml b/providers/src/datadog/v00.00.00000/services/llm_observability.yaml new file mode 100644 index 00000000..bba8c896 --- /dev/null +++ b/providers/src/datadog/v00.00.00000/services/llm_observability.yaml @@ -0,0 +1,15844 @@ +openapi: 3.0.0 +info: + title: llm_observability API + description: datadog llm_observability API + version: '1.0' +paths: + /api/unstable/llm-obs/config/evaluators/custom: + get: + description: List all custom Agent Observability evaluator configurations for the organization. + operationId: ListLLMObsCustomEvalConfigs + responses: + '200': + content: + application/json: + examples: + default: + value: + data: + - attributes: + category: Custom + created_at: '2024-01-15T10:30:00Z' + created_by: + email: user@example.com + eval_name: my-custom-evaluator + last_updated_by: + email: user@example.com + llm_judge_config: + inference_params: + max_tokens: 1024 + temperature: 0.7 + parsing_type: structured_output + llm_provider: + integration_provider: openai + model_name: gpt-4o + target: + application_name: my-llm-app + enabled: true + sampling_percentage: 50 + updated_at: '2024-01-15T10:30:00Z' + id: my-custom-evaluator + type: evaluator_config + schema: + $ref: '#/components/schemas/LLMObsCustomEvalConfigListResponse' + description: OK + '401': + content: + application/json: + schema: + $ref: '#/components/schemas/JSONAPIErrorResponse' + description: Unauthorized + '403': + content: + application/json: + schema: + $ref: '#/components/schemas/JSONAPIErrorResponse' + description: Forbidden + '429': + $ref: '#/components/responses/TooManyRequestsResponse' + security: + - apiKeyAuth: [] + appKeyAuth: [] + summary: List custom evaluator configurations + tags: + - Agent Observability + x-unstable: |- + **Note**: This endpoint is in preview and is subject to change. + If you have any feedback, contact [Datadog support](https://docs.datadoghq.com/help/). + /api/unstable/llm-obs/config/evaluators/custom/{eval_name}: + delete: + description: Delete a custom Agent Observability evaluator configuration by its name. + operationId: DeleteLLMObsCustomEvalConfig + parameters: + - $ref: '#/components/parameters/LLMObsEvalNamePathParameter' + responses: + '204': + description: No Content + '400': + content: + application/json: + schema: + $ref: '#/components/schemas/JSONAPIErrorResponse' + description: Bad Request + '401': + content: + application/json: + schema: + $ref: '#/components/schemas/JSONAPIErrorResponse' + description: Unauthorized + '403': + content: + application/json: + schema: + $ref: '#/components/schemas/JSONAPIErrorResponse' + description: Forbidden + '404': + content: + application/json: + schema: + $ref: '#/components/schemas/JSONAPIErrorResponse' + description: Not Found + '429': + $ref: '#/components/responses/TooManyRequestsResponse' + security: + - apiKeyAuth: [] + appKeyAuth: [] + summary: Delete a custom evaluator configuration + tags: + - Agent Observability + x-unstable: |- + **Note**: This endpoint is in preview and is subject to change. + If you have any feedback, contact [Datadog support](https://docs.datadoghq.com/help/). + get: + description: Retrieve a custom Agent Observability evaluator configuration by its name. + operationId: GetLLMObsCustomEvalConfig + parameters: + - $ref: '#/components/parameters/LLMObsEvalNamePathParameter' + responses: + '200': + content: + application/json: + examples: + default: + value: + data: + attributes: + category: Custom + created_at: '2024-01-15T10:30:00Z' + created_by: + email: user@example.com + eval_name: my-custom-evaluator + last_updated_by: + email: user@example.com + llm_judge_config: + inference_params: + max_tokens: 1024 + temperature: 0.7 + parsing_type: structured_output + llm_provider: + integration_provider: openai + model_name: gpt-4o + target: + application_name: my-llm-app + enabled: true + sampling_percentage: 50 + updated_at: '2024-01-15T10:30:00Z' + id: my-custom-evaluator + type: evaluator_config + schema: + $ref: '#/components/schemas/LLMObsCustomEvalConfigResponse' + description: OK + '400': + content: + application/json: + schema: + $ref: '#/components/schemas/JSONAPIErrorResponse' + description: Bad Request + '401': + content: + application/json: + schema: + $ref: '#/components/schemas/JSONAPIErrorResponse' + description: Unauthorized + '403': + content: + application/json: + schema: + $ref: '#/components/schemas/JSONAPIErrorResponse' + description: Forbidden + '404': + content: + application/json: + schema: + $ref: '#/components/schemas/JSONAPIErrorResponse' + description: Not Found + '429': + $ref: '#/components/responses/TooManyRequestsResponse' + security: + - apiKeyAuth: [] + appKeyAuth: [] + summary: Get a custom evaluator configuration + tags: + - Agent Observability + x-unstable: |- + **Note**: This endpoint is in preview and is subject to change. + If you have any feedback, contact [Datadog support](https://docs.datadoghq.com/help/). + put: + description: Create or update a custom Agent Observability evaluator configuration by its name. + operationId: UpdateLLMObsCustomEvalConfig + parameters: + - $ref: '#/components/parameters/LLMObsEvalNamePathParameter' + requestBody: + content: + application/json: + examples: + default: + value: + data: + attributes: + llm_judge_config: + inference_params: + max_tokens: 1024 + temperature: 0.7 + parsing_type: structured_output + llm_provider: + integration_provider: openai + model_name: gpt-4o + target: + application_name: my-llm-app + enabled: true + sampling_percentage: 50 + id: my-custom-evaluator + type: evaluator_config + full: + summary: Full example with prompt template, output schema, and assessment criteria + value: + data: + attributes: + category: Custom + eval_name: my-custom-evaluator + llm_judge_config: + assessment_criteria: + pass_when: false + inference_params: + frequency_penalty: 0 + max_tokens: 4096 + presence_penalty: 0 + temperature: 1 + top_p: 1 + output_schema: + name: boolean_eval + strict: true + parsing_type: structured_output + prompt_template: + - content: You are a judge LLM. + role: system + - content: '{{span_output}}' + role: user + llm_provider: + integration_account_id: your-account-uuid + integration_provider: openai + model_name: gpt-4o + target: + application_name: my-llm-app + enabled: true + eval_scope: span + filter: '@meta.span.kind:llm' + root_spans_only: false + sampling_percentage: 100 + id: my-custom-evaluator + type: evaluator_config + schema: + $ref: '#/components/schemas/LLMObsCustomEvalConfigUpdateRequest' + description: Custom evaluator configuration payload. + required: true + responses: + '200': + description: OK + '400': + content: + application/json: + schema: + $ref: '#/components/schemas/JSONAPIErrorResponse' + description: Bad Request + '401': + content: + application/json: + schema: + $ref: '#/components/schemas/JSONAPIErrorResponse' + description: Unauthorized + '403': + content: + application/json: + schema: + $ref: '#/components/schemas/JSONAPIErrorResponse' + description: Forbidden + '404': + content: + application/json: + schema: + $ref: '#/components/schemas/JSONAPIErrorResponse' + description: Not Found + '422': + content: + application/json: + schema: + $ref: '#/components/schemas/JSONAPIErrorResponse' + description: Unprocessable Entity + '429': + $ref: '#/components/responses/TooManyRequestsResponse' + security: + - apiKeyAuth: [] + appKeyAuth: [] + summary: Create or update a custom evaluator configuration + tags: + - Agent Observability + x-unstable: |- + **Note**: This endpoint is in preview and is subject to change. + If you have any feedback, contact [Datadog support](https://docs.datadoghq.com/help/). + /api/v2/llm-obs/v1/annotated-interactions: + get: + description: |- + Returns annotated interactions across all annotation queues for the given content IDs. + Results include queue metadata (ID and name) for each interaction. + operationId: GetLLMObsAnnotatedInteractionsByTraceIDs + parameters: + - description: One or more content IDs to retrieve annotated interactions for. At least one is required. + in: query + name: contentIds + required: true + schema: + items: + type: string + type: array + - description: Pagination offset. Must be >= 0. Defaults to 0. + in: query + name: offset + schema: + default: 0 + format: int32 + maximum: 2147483647 + minimum: 0 + type: integer + - description: Maximum number of results to return. Must be > 0. Defaults to 100. + in: query + name: limit + schema: + default: 100 + format: int32 + maximum: 2147483647 + minimum: 1 + type: integer + responses: + '200': + content: + application/json: + examples: + default: + value: + data: + attributes: + annotated_interactions: + - annotations: + - created_at: '0001-01-01T00:00:00Z' + created_by: 00000000-0000-0000-0000-000000000002 + id: annotation-789 + interaction_id: interaction-456 + label_values: + - label_schema_id: abc-123 + value: good + modified_at: '0001-01-01T00:00:00Z' + modified_by: 00000000-0000-0000-0000-000000000002 + content_id: trace-abc-123 + created_at: '2025-06-01T12:00:00Z' + id: interaction-456 + modified_at: '2025-06-01T12:00:00Z' + queue_id: queue-uuid-001 + queue_name: My Annotation Queue + type: trace + total_count: 1 + id: trace-query + type: annotated_interactions_by_trace + schema: + $ref: '#/components/schemas/LLMObsAnnotatedInteractionsByTraceResponse' + description: OK + '400': + content: + application/json: + schema: + $ref: '#/components/schemas/JSONAPIErrorResponse' + description: Bad Request + '401': + content: + application/json: + schema: + $ref: '#/components/schemas/JSONAPIErrorResponse' + description: Unauthorized + '403': + content: + application/json: + schema: + $ref: '#/components/schemas/JSONAPIErrorResponse' + description: Forbidden + '429': + $ref: '#/components/responses/TooManyRequestsResponse' + '500': + content: + application/json: + schema: + $ref: '#/components/schemas/JSONAPIErrorResponse' + description: Internal Server Error + security: + - apiKeyAuth: [] + appKeyAuth: [] + summary: Get annotated interactions by content IDs + tags: + - Agent Observability + x-unstable: |- + **Note**: This endpoint is in preview and is subject to change. + If you have any feedback, contact [Datadog support](https://docs.datadoghq.com/help/). + /api/v2/llm-obs/v1/annotation-queues: + get: + description: |- + List annotation queues. Optionally filter by project ID or queue IDs. These parameters are mutually exclusive. + If neither is provided, all queues in the organization are returned. + operationId: ListLLMObsAnnotationQueues + parameters: + - description: Filter annotation queues by project ID. Cannot be used together with `queueIds`. + in: query + name: projectId + schema: + type: string + - description: Filter annotation queues by queue IDs (comma-separated). Cannot be used together with `projectId`. + in: query + name: queueIds + schema: + items: + type: string + type: array + responses: + '200': + content: + application/json: + examples: + default: + value: + data: + - attributes: + created_at: '2024-01-15T10:30:00Z' + created_by: 00000000-0000-0000-0000-000000000002 + description: Queue for annotating customer support traces + modified_at: '2024-01-15T10:30:00Z' + modified_by: 00000000-0000-0000-0000-000000000002 + name: My annotation queue + owned_by: 00000000-0000-0000-0000-000000000002 + project_id: 00000000-0000-0000-0000-000000000002 + id: 00000000-0000-0000-0000-000000000001 + type: queues + schema: + $ref: '#/components/schemas/LLMObsAnnotationQueuesResponse' + description: OK + '400': + content: + application/json: + schema: + $ref: '#/components/schemas/JSONAPIErrorResponse' + description: Bad Request + '401': + content: + application/json: + schema: + $ref: '#/components/schemas/JSONAPIErrorResponse' + description: Unauthorized + '403': + content: + application/json: + schema: + $ref: '#/components/schemas/JSONAPIErrorResponse' + description: Forbidden + '429': + $ref: '#/components/responses/TooManyRequestsResponse' + security: + - apiKeyAuth: [] + appKeyAuth: [] + summary: List Agent Observability annotation queues + tags: + - Agent Observability + x-unstable: |- + **Note**: This endpoint is in preview and is subject to change. + If you have any feedback, contact [Datadog support](https://docs.datadoghq.com/help/). + post: + description: |- + Create an annotation queue. The `name` and `project_id` fields are required. + An optional `annotation_schema` can be provided to define the labels for the queue. + Fields such as `created_by`, `owned_by`, `created_at`, `modified_by`, + and `modified_at` are inferred by the backend. + operationId: CreateLLMObsAnnotationQueue + requestBody: + content: + application/json: + examples: + default: + value: + data: + attributes: + description: Queue for annotating customer support traces + name: My annotation queue + project_id: 00000000-0000-0000-0000-000000000002 + type: queues + with_schema: + summary: Create queue with annotation schema + value: + data: + attributes: + annotation_schema: + label_schemas: + - is_required: true + max: 5 + min: 0 + name: quality + type: score + - name: sentiment + type: categorical + values: + - positive + - negative + - neutral + description: Queue for annotating customer support traces + name: My annotation queue + project_id: 00000000-0000-0000-0000-000000000002 + type: queues + schema: + $ref: '#/components/schemas/LLMObsAnnotationQueueRequest' + description: Create annotation queue payload. + required: true + responses: + '201': + content: + application/json: + examples: + default: + value: + data: + attributes: + created_at: '2024-01-15T10:30:00Z' + created_by: 00000000-0000-0000-0000-000000000002 + description: Queue for annotating customer support traces + modified_at: '2024-01-15T10:30:00Z' + modified_by: 00000000-0000-0000-0000-000000000002 + name: My annotation queue + owned_by: 00000000-0000-0000-0000-000000000002 + project_id: 00000000-0000-0000-0000-000000000002 + id: 00000000-0000-0000-0000-000000000001 + type: queues + schema: + $ref: '#/components/schemas/LLMObsAnnotationQueueResponse' + description: Created + '400': + content: + application/json: + schema: + $ref: '#/components/schemas/JSONAPIErrorResponse' + description: Bad Request + '401': + content: + application/json: + schema: + $ref: '#/components/schemas/JSONAPIErrorResponse' + description: Unauthorized + '403': + content: + application/json: + schema: + $ref: '#/components/schemas/JSONAPIErrorResponse' + description: Forbidden + '429': + $ref: '#/components/responses/TooManyRequestsResponse' + security: + - apiKeyAuth: [] + appKeyAuth: [] + summary: Create an Agent Observability annotation queue + tags: + - Agent Observability + x-unstable: |- + **Note**: This endpoint is in preview and is subject to change. + If you have any feedback, contact [Datadog support](https://docs.datadoghq.com/help/). + /api/v2/llm-obs/v1/annotation-queues/{queue_id}: + delete: + description: Delete an annotation queue by its ID. + operationId: DeleteLLMObsAnnotationQueue + parameters: + - $ref: '#/components/parameters/LLMObsAnnotationQueueIDPathParameter' + responses: + '204': + description: No Content + '401': + content: + application/json: + schema: + $ref: '#/components/schemas/JSONAPIErrorResponse' + description: Unauthorized + '403': + content: + application/json: + schema: + $ref: '#/components/schemas/JSONAPIErrorResponse' + description: Forbidden + '404': + content: + application/json: + schema: + $ref: '#/components/schemas/JSONAPIErrorResponse' + description: Not Found + '429': + $ref: '#/components/responses/TooManyRequestsResponse' + security: + - apiKeyAuth: [] + appKeyAuth: [] + summary: Delete an Agent Observability annotation queue + tags: + - Agent Observability + x-unstable: |- + **Note**: This endpoint is in preview and is subject to change. + If you have any feedback, contact [Datadog support](https://docs.datadoghq.com/help/). + patch: + description: Partially update an annotation queue. The `name`, `description`, and `annotation_schema` fields can be updated. + operationId: UpdateLLMObsAnnotationQueue + parameters: + - $ref: '#/components/parameters/LLMObsAnnotationQueueIDPathParameter' + requestBody: + content: + application/json: + examples: + default: + value: + data: + attributes: + description: Updated description + name: Updated queue name + type: queues + schema: + $ref: '#/components/schemas/LLMObsAnnotationQueueUpdateRequest' + description: Update annotation queue payload. + required: true + responses: + '200': + content: + application/json: + examples: + default: + value: + data: + attributes: + created_at: '2024-01-15T10:30:00Z' + created_by: 00000000-0000-0000-0000-000000000002 + description: Queue for annotating customer support traces + modified_at: '2024-01-15T10:30:00Z' + modified_by: 00000000-0000-0000-0000-000000000002 + name: My annotation queue + owned_by: 00000000-0000-0000-0000-000000000002 + project_id: 00000000-0000-0000-0000-000000000002 + id: 00000000-0000-0000-0000-000000000001 + type: queues + schema: + $ref: '#/components/schemas/LLMObsAnnotationQueueResponse' + description: OK + '400': + content: + application/json: + schema: + $ref: '#/components/schemas/JSONAPIErrorResponse' + description: Bad Request + '401': + content: + application/json: + schema: + $ref: '#/components/schemas/JSONAPIErrorResponse' + description: Unauthorized + '403': + content: + application/json: + schema: + $ref: '#/components/schemas/JSONAPIErrorResponse' + description: Forbidden + '404': + content: + application/json: + schema: + $ref: '#/components/schemas/JSONAPIErrorResponse' + description: Not Found + '429': + $ref: '#/components/responses/TooManyRequestsResponse' + security: + - apiKeyAuth: [] + appKeyAuth: [] + summary: Update an Agent Observability annotation queue + tags: + - Agent Observability + x-unstable: |- + **Note**: This endpoint is in preview and is subject to change. + If you have any feedback, contact [Datadog support](https://docs.datadoghq.com/help/). + /api/v2/llm-obs/v1/annotation-queues/{queue_id}/annotated-interactions: + get: + description: Retrieve all interactions (traces and sessions) and their annotations for a given annotation queue. + operationId: GetLLMObsAnnotatedInteractions + parameters: + - $ref: '#/components/parameters/LLMObsAnnotationQueueIDPathParameter' + responses: + '200': + content: + application/json: + examples: + default: + value: + data: + attributes: + annotated_interactions: + - annotations: [] + content_id: trace-abc-123 + id: interaction-456 + type: trace + id: 00000000-0000-0000-0000-000000000001 + type: annotated_interactions + schema: + $ref: '#/components/schemas/LLMObsAnnotatedInteractionsResponse' + description: OK + '400': + content: + application/json: + schema: + $ref: '#/components/schemas/JSONAPIErrorResponse' + description: Bad Request + '401': + content: + application/json: + schema: + $ref: '#/components/schemas/JSONAPIErrorResponse' + description: Unauthorized + '403': + content: + application/json: + schema: + $ref: '#/components/schemas/JSONAPIErrorResponse' + description: Forbidden + '404': + content: + application/json: + schema: + $ref: '#/components/schemas/JSONAPIErrorResponse' + description: Not Found + '429': + $ref: '#/components/responses/TooManyRequestsResponse' + security: + - apiKeyAuth: [] + appKeyAuth: [] + summary: Get annotated queue interactions + tags: + - Agent Observability + x-unstable: |- + **Note**: This endpoint is in preview and is subject to change. + If you have any feedback, contact [Datadog support](https://docs.datadoghq.com/help/). + /api/v2/llm-obs/v1/annotation-queues/{queue_id}/annotations: + post: + description: |- + Create or update annotations on interactions in a queue. Each annotation is matched + by `interaction_id` and the requesting user's identity. + Results and errors in the response are linked to request items by `interaction_id`. + Errors for individual items are returned in the `errors` field without blocking the rest of the batch. + operationId: UpsertLLMObsAnnotations + parameters: + - $ref: '#/components/parameters/LLMObsAnnotationQueueIDPathParameter' + requestBody: + content: + application/json: + examples: + default: + value: + data: + attributes: + annotations: + - interaction_id: 00000000-0000-0000-0000-000000000001 + label_values: + - label_schema_id: abc-123 + value: good + - label_schema_id: ef56gh78 + value: positive + type: annotations + schema: + $ref: '#/components/schemas/LLMObsAnnotationsRequest' + description: Payload for creating or updating annotations. + required: true + responses: + '200': + content: + application/json: + examples: + default: + value: + data: + attributes: + annotations: + - created_at: '2024-01-15T10:30:00Z' + created_by: 00000000-0000-0000-0000-000000000002 + id: 00000000-0000-0000-0000-000000000000 + interaction_id: 00000000-0000-0000-0000-000000000001 + label_values: + - label_schema_id: abc-123 + value: good + modified_at: '2024-01-15T10:30:00Z' + modified_by: 00000000-0000-0000-0000-000000000002 + id: 00000000-0000-0000-0000-000000000001 + type: annotations + schema: + $ref: '#/components/schemas/LLMObsAnnotationsResponse' + description: OK — annotations created or updated. Per-item errors are listed in `errors`. + '400': + content: + application/json: + schema: + $ref: '#/components/schemas/JSONAPIErrorResponse' + description: Bad Request + '401': + content: + application/json: + schema: + $ref: '#/components/schemas/JSONAPIErrorResponse' + description: Unauthorized + '403': + content: + application/json: + schema: + $ref: '#/components/schemas/JSONAPIErrorResponse' + description: Forbidden + '404': + content: + application/json: + schema: + $ref: '#/components/schemas/JSONAPIErrorResponse' + description: Not Found — the queue does not exist. + '429': + $ref: '#/components/responses/TooManyRequestsResponse' + security: + - apiKeyAuth: [] + appKeyAuth: [] + summary: Create or update annotations + tags: + - Agent Observability + x-unstable: |- + **Note**: This endpoint is in preview and is subject to change. + If you have any feedback, contact [Datadog support](https://docs.datadoghq.com/help/). + /api/v2/llm-obs/v1/annotation-queues/{queue_id}/annotations/delete: + post: + description: Delete one or more annotations from an annotation queue. + operationId: DeleteLLMObsAnnotations + parameters: + - $ref: '#/components/parameters/LLMObsAnnotationQueueIDPathParameter' + requestBody: + content: + application/json: + examples: + default: + value: + data: + attributes: + annotation_ids: + - 00000000-0000-0000-0000-000000000000 + type: annotations + schema: + $ref: '#/components/schemas/LLMObsDeleteAnnotationsRequest' + description: Delete annotations payload. + required: true + responses: + '200': + content: + application/json: + examples: + default: + value: + data: + attributes: + annotation_ids: + - 00000000-0000-0000-0000-000000000000 + errors: [] + id: 00000000-0000-0000-0000-000000000001 + type: annotations + partial_failure: + summary: Some annotation IDs were not found + value: + data: + attributes: + annotation_ids: + - 00000000-0000-0000-0000-000000000000 + errors: + - annotation_id: 00000000-0000-0000-0000-000000000001 + error: annotation not found + id: 00000000-0000-0000-0000-000000000001 + type: annotations + schema: + $ref: '#/components/schemas/LLMObsDeleteAnnotationsResponse' + description: OK — annotations deleted. Errors for annotations that could not be deleted are listed in `errors`. + '400': + content: + application/json: + schema: + $ref: '#/components/schemas/JSONAPIErrorResponse' + description: Bad Request + '401': + content: + application/json: + schema: + $ref: '#/components/schemas/JSONAPIErrorResponse' + description: Unauthorized + '403': + content: + application/json: + schema: + $ref: '#/components/schemas/JSONAPIErrorResponse' + description: Forbidden + '404': + content: + application/json: + schema: + $ref: '#/components/schemas/JSONAPIErrorResponse' + description: Not Found — the queue does not exist. + '429': + $ref: '#/components/responses/TooManyRequestsResponse' + security: + - apiKeyAuth: [] + appKeyAuth: [] + summary: Delete annotations + tags: + - Agent Observability + x-unstable: |- + **Note**: This endpoint is in preview and is subject to change. + If you have any feedback, contact [Datadog support](https://docs.datadoghq.com/help/). + /api/v2/llm-obs/v1/annotation-queues/{queue_id}/interactions: + post: + description: |- + Add one or more interactions to an annotation queue. At least one + interaction must be provided. Each interaction has a `type`: + + - `trace`, `experiment_trace`, `session`: `content_id` references the + upstream entity; the server fetches the actual content. + - `display_block`: omit `content_id` and provide the rendered content + in `display_block`. The server generates `content_id` as a + deterministic hash of the block list. + + Items of different types can be mixed in a single request. + operationId: CreateLLMObsAnnotationQueueInteractions + parameters: + - $ref: '#/components/parameters/LLMObsAnnotationQueueIDPathParameter' + requestBody: + content: + application/json: + examples: + default: + value: + data: + attributes: + interactions: + - content_id: trace-abc-123 + type: trace + type: interactions + display_block: + summary: Add a display_block interaction + value: + data: + attributes: + interactions: + - display_block: + - content: '## Triage Instructions' + type: markdown + - content: Inputs + level: md + type: header + - content: + experiment_id: abc-123 + label: Experiments + type: json + type: display_block + type: interactions + schema: + $ref: '#/components/schemas/LLMObsAnnotationQueueInteractionsRequest' + description: Add interactions payload. + required: true + responses: + '201': + content: + application/json: + examples: + default: + value: + data: + attributes: + interactions: + - already_existed: false + content_id: trace-abc-123 + id: 00000000-0000-0000-0000-000000000000 + type: trace + id: 00000000-0000-0000-0000-000000000001 + type: interactions + display_block: + summary: display_block response + value: + data: + attributes: + interactions: + - already_existed: false + content_id: 9a87f3e2b1d4c5a6f8b3e2d1c4a7b5f6e3d2a1c4b7e5f8a3d6c2e1b4a7d5f8c2 + display_block: + - content: '## Triage Instructions' + type: markdown + id: 00000000-0000-0000-0000-000000000000 + type: display_block + id: 00000000-0000-0000-0000-000000000001 + type: interactions + schema: + $ref: '#/components/schemas/LLMObsAnnotationQueueInteractionsResponse' + description: Created + '400': + content: + application/json: + schema: + $ref: '#/components/schemas/JSONAPIErrorResponse' + description: Bad Request + '401': + content: + application/json: + schema: + $ref: '#/components/schemas/JSONAPIErrorResponse' + description: Unauthorized + '403': + content: + application/json: + schema: + $ref: '#/components/schemas/JSONAPIErrorResponse' + description: Forbidden + '404': + content: + application/json: + schema: + $ref: '#/components/schemas/JSONAPIErrorResponse' + description: Not Found + '429': + $ref: '#/components/responses/TooManyRequestsResponse' + security: + - apiKeyAuth: [] + appKeyAuth: [] + summary: Add annotation queue interactions + tags: + - Agent Observability + x-unstable: |- + **Note**: This endpoint is in preview and is subject to change. + If you have any feedback, contact [Datadog support](https://docs.datadoghq.com/help/). + /api/v2/llm-obs/v1/annotation-queues/{queue_id}/interactions/delete: + post: + description: Delete one or more interactions from an annotation queue. + operationId: DeleteLLMObsAnnotationQueueInteractions + parameters: + - $ref: '#/components/parameters/LLMObsAnnotationQueueIDPathParameter' + requestBody: + content: + application/json: + examples: + default: + value: + data: + attributes: + interaction_ids: + - 00000000-0000-0000-0000-000000000000 + - 00000000-0000-0000-0000-000000000001 + type: interactions + schema: + $ref: '#/components/schemas/LLMObsDeleteAnnotationQueueInteractionsRequest' + description: Delete interactions payload. + required: true + responses: + '204': + description: No Content + '400': + content: + application/json: + schema: + $ref: '#/components/schemas/JSONAPIErrorResponse' + description: Bad Request + '401': + content: + application/json: + schema: + $ref: '#/components/schemas/JSONAPIErrorResponse' + description: Unauthorized + '403': + content: + application/json: + schema: + $ref: '#/components/schemas/JSONAPIErrorResponse' + description: Forbidden + '404': + content: + application/json: + schema: + $ref: '#/components/schemas/JSONAPIErrorResponse' + description: Not Found + '429': + $ref: '#/components/responses/TooManyRequestsResponse' + security: + - apiKeyAuth: [] + appKeyAuth: [] + summary: Delete annotation queue interactions + tags: + - Agent Observability + x-unstable: |- + **Note**: This endpoint is in preview and is subject to change. + If you have any feedback, contact [Datadog support](https://docs.datadoghq.com/help/). + /api/v2/llm-obs/v1/annotation-queues/{queue_id}/label-schema: + get: + description: Retrieve the label schema for a given annotation queue. + operationId: GetLLMObsAnnotationQueueLabelSchema + parameters: + - $ref: '#/components/parameters/LLMObsAnnotationQueueIDPathParameter' + responses: + '200': + content: + application/json: + examples: + default: + value: + data: + attributes: + annotation_schema: + label_schemas: + - id: abc-123 + is_required: true + max: 5 + min: 0 + name: quality + type: score + - id: ef56gh78 + name: sentiment + type: categorical + values: + - positive + - negative + - neutral + id: 00000000-0000-0000-0000-000000000001 + type: queues + schema: + $ref: '#/components/schemas/LLMObsAnnotationQueueLabelSchemaResponse' + description: OK + '401': + content: + application/json: + schema: + $ref: '#/components/schemas/JSONAPIErrorResponse' + description: Unauthorized + '403': + content: + application/json: + schema: + $ref: '#/components/schemas/JSONAPIErrorResponse' + description: Forbidden + '404': + content: + application/json: + schema: + $ref: '#/components/schemas/JSONAPIErrorResponse' + description: Not Found + '429': + $ref: '#/components/responses/TooManyRequestsResponse' + '500': + content: + application/json: + schema: + $ref: '#/components/schemas/JSONAPIErrorResponse' + description: Internal Server Error + security: + - apiKeyAuth: [] + appKeyAuth: [] + summary: Get annotation queue label schema + tags: + - Agent Observability + x-unstable: |- + **Note**: This endpoint is in preview and is subject to change. + If you have any feedback, contact [Datadog support](https://docs.datadoghq.com/help/). + put: + description: |- + Create or replace the label schema for a given annotation queue. + The label schema defines the labels annotators can apply to interactions in the queue. + Label names must be unique within the queue and match the pattern `^[a-zA-Z0-9_-]+$`. + Each label must have a valid type: score, categorical, boolean, or text. + operationId: UpdateLLMObsAnnotationQueueLabelSchema + parameters: + - $ref: '#/components/parameters/LLMObsAnnotationQueueIDPathParameter' + requestBody: + content: + application/json: + examples: + boolean_label: + summary: Boolean label schema + value: + data: + attributes: + annotation_schema: + label_schemas: + - has_assessment: true + is_assessment: true + is_required: true + name: is_correct + type: boolean + type: queues + categorical_label: + summary: Categorical label schema + value: + data: + attributes: + annotation_schema: + label_schemas: + - is_required: true + name: sentiment + type: categorical + values: + - positive + - negative + - neutral + type: queues + default: + value: + data: + attributes: + annotation_schema: + label_schemas: + - is_required: true + max: 5 + min: 0 + name: quality + type: score + type: queues + score_label: + summary: Score label schema + value: + data: + attributes: + annotation_schema: + label_schemas: + - has_reasoning: true + is_required: true + max: 5 + min: 0 + name: quality + type: score + type: queues + text_label: + summary: Text label schema + value: + data: + attributes: + annotation_schema: + label_schemas: + - is_required: false + name: feedback + type: text + type: queues + schema: + $ref: '#/components/schemas/LLMObsAnnotationQueueLabelSchemaUpdateRequest' + description: Update label schema payload. + required: true + responses: + '200': + content: + application/json: + examples: + default: + value: + data: + attributes: + annotation_schema: + label_schemas: + - id: abc-123 + is_required: true + max: 5 + min: 0 + name: quality + type: score + id: 00000000-0000-0000-0000-000000000001 + type: queues + schema: + $ref: '#/components/schemas/LLMObsAnnotationQueueLabelSchemaResponse' + description: OK + '400': + content: + application/json: + schema: + $ref: '#/components/schemas/JSONAPIErrorResponse' + description: Bad Request + '401': + content: + application/json: + schema: + $ref: '#/components/schemas/JSONAPIErrorResponse' + description: Unauthorized + '403': + content: + application/json: + schema: + $ref: '#/components/schemas/JSONAPIErrorResponse' + description: Forbidden + '404': + content: + application/json: + schema: + $ref: '#/components/schemas/JSONAPIErrorResponse' + description: Not Found + '429': + $ref: '#/components/responses/TooManyRequestsResponse' + '500': + content: + application/json: + schema: + $ref: '#/components/schemas/JSONAPIErrorResponse' + description: Internal Server Error + security: + - apiKeyAuth: [] + appKeyAuth: [] + summary: Update annotation queue label schema + tags: + - Agent Observability + x-unstable: |- + **Note**: This endpoint is in preview and is subject to change. + If you have any feedback, contact [Datadog support](https://docs.datadoghq.com/help/). + /api/v2/llm-obs/v1/experimentation/analytics: + post: + description: |- + Execute an analytics aggregation over Agent Observability experimentation data. + Use this endpoint to compute metrics (for example average eval scores) grouped by fields such as `span_id` or `experiment_id`. + + At least one `compute` definition and one `index` must be provided. + operationId: AggregateLLMObsExperimentation + requestBody: + content: + application/json: + examples: + default: + value: + data: + attributes: + aggregate: + compute: + - metric: score_value + name: avg_faithfulness + group_by: + - field: span_id + indexes: + - experiment-evals + search: + query: '@experiment_id:3fd6b5e0-8910-4b1c-a7d0-5b84de329012 @label:faithfulness' + type: experimentation + schema: + $ref: '#/components/schemas/LLMObsExperimentationAnalyticsRequest' + description: Analytics payload. + required: true + responses: + '200': + content: + application/json: + examples: + default: + value: + data: + attributes: + hit_count: 42 + result: + values: + - by: + span_id: span-7a1b2c3d + metrics: + avg_faithfulness: 0.87 + id: 00000000-0000-0000-0000-000000000001 + type: experimentation + schema: + $ref: '#/components/schemas/LLMObsExperimentationAnalyticsResponse' + description: OK + '400': + content: + application/json: + schema: + $ref: '#/components/schemas/JSONAPIErrorResponse' + description: Bad Request + '401': + content: + application/json: + schema: + $ref: '#/components/schemas/JSONAPIErrorResponse' + description: Unauthorized + '403': + content: + application/json: + schema: + $ref: '#/components/schemas/JSONAPIErrorResponse' + description: Forbidden + '429': + $ref: '#/components/responses/TooManyRequestsResponse' + '500': + content: + application/json: + schema: + $ref: '#/components/schemas/JSONAPIErrorResponse' + description: Internal Server Error + security: + - apiKeyAuth: [] + appKeyAuth: [] + summary: Aggregate Agent Observability experimentation + tags: + - Agent Observability + x-unstable: |- + **Note**: This endpoint is in preview and is subject to change. + If you have any feedback, contact [Datadog support](https://docs.datadoghq.com/help/). + /api/v2/llm-obs/v1/experimentation/search: + post: + description: |- + Search across Agent Observability experimentation entities — projects, datasets, dataset records, experiments, and experiment runs — using cursor-based pagination. + + The `filter.scope` field controls which entity types are returned. At least one valid scope must be provided. + + Returns `200 OK` when all results fit in a single page. Returns `206 Partial Content` with a cursor in `meta.after` when additional pages are available. + operationId: SearchLLMObsExperimentation + requestBody: + content: + application/json: + examples: + default: + value: + data: + attributes: + filter: + query: '@project_id:a33671aa-24fd-4dcd-9b33-a8ec7dde7751' + scope: + - experiments + page: + limit: 50 + type: experimentation + schema: + $ref: '#/components/schemas/LLMObsExperimentationSearchRequest' + description: Experimentation search payload. + required: true + responses: + '200': + content: + application/json: + examples: + default: + value: + data: + attributes: + experiments: + - created_at: '2024-01-01T00:00:00+00:00' + dataset_id: 9f64e5c7-dc5a-45c8-a17c-1b85f0bec97d + description: '' + id: 3fd6b5e0-8910-4b1c-a7d0-5b84de329012 + name: My Experiment v1 + project_id: a33671aa-24fd-4dcd-9b33-a8ec7dde7751 + updated_at: '2024-01-01T00:00:00+00:00' + id: 00000000-0000-0000-0000-000000000001 + type: experimentation + meta: + after: null + schema: + $ref: '#/components/schemas/LLMObsExperimentationSearchResponse' + description: OK — all results returned in a single page. + '206': + content: + application/json: + examples: + default: + value: + data: + attributes: + experiments: + - created_at: '2024-01-01T00:00:00+00:00' + dataset_id: 9f64e5c7-dc5a-45c8-a17c-1b85f0bec97d + description: '' + id: 3fd6b5e0-8910-4b1c-a7d0-5b84de329012 + name: My Experiment v1 + project_id: a33671aa-24fd-4dcd-9b33-a8ec7dde7751 + updated_at: '2024-01-01T00:00:00+00:00' + id: 00000000-0000-0000-0000-000000000001 + type: experimentation + meta: + after: eyJpZCI6ImFiYzEyMyJ9 + schema: + $ref: '#/components/schemas/LLMObsExperimentationSearchResponse' + description: Partial Content — more results are available. Use `meta.after` as the next `page.cursor`. + '400': + content: + application/json: + schema: + $ref: '#/components/schemas/JSONAPIErrorResponse' + description: Bad Request + '401': + content: + application/json: + schema: + $ref: '#/components/schemas/JSONAPIErrorResponse' + description: Unauthorized + '403': + content: + application/json: + schema: + $ref: '#/components/schemas/JSONAPIErrorResponse' + description: Forbidden + '429': + $ref: '#/components/responses/TooManyRequestsResponse' + '500': + content: + application/json: + schema: + $ref: '#/components/schemas/JSONAPIErrorResponse' + description: Internal Server Error + security: + - apiKeyAuth: [] + appKeyAuth: [] + summary: Search Agent Observability experimentation + tags: + - Agent Observability + x-unstable: |- + **Note**: This endpoint is in preview and is subject to change. + If you have any feedback, contact [Datadog support](https://docs.datadoghq.com/help/). + /api/v2/llm-obs/v1/experimentation/simple-search: + post: + description: |- + Search across Agent Observability experimentation entities using offset-based (page-number) pagination. + Use this endpoint when you need total page count or want to navigate to a specific page number. + + The `filter.scope` field controls which entity types are returned. At least one valid scope must be provided. + operationId: SimpleSearchLLMObsExperimentation + requestBody: + content: + application/json: + examples: + default: + value: + data: + attributes: + filter: + query: '@project_id:a33671aa-24fd-4dcd-9b33-a8ec7dde7751' + scope: + - experiments + page: + limit: 50 + number: 1 + sort: + - direction: desc + field: created_at + type: experimentation + schema: + $ref: '#/components/schemas/LLMObsExperimentationSimpleSearchRequest' + description: Simple search payload. + required: true + responses: + '200': + content: + application/json: + examples: + default: + value: + data: + attributes: + experiments: + - created_at: '2024-01-01T00:00:00+00:00' + description: '' + id: 3fd6b5e0-8910-4b1c-a7d0-5b84de329012 + name: My Experiment v1 + project_id: a33671aa-24fd-4dcd-9b33-a8ec7dde7751 + updated_at: '2024-01-01T00:00:00+00:00' + id: 00000000-0000-0000-0000-000000000001 + type: experimentation + meta: + page: + current: 1 + limit: 50 + total_count: 63 + total_pages: 2 + schema: + $ref: '#/components/schemas/LLMObsExperimentationSimpleSearchResponse' + description: OK + '400': + content: + application/json: + schema: + $ref: '#/components/schemas/JSONAPIErrorResponse' + description: Bad Request + '401': + content: + application/json: + schema: + $ref: '#/components/schemas/JSONAPIErrorResponse' + description: Unauthorized + '403': + content: + application/json: + schema: + $ref: '#/components/schemas/JSONAPIErrorResponse' + description: Forbidden + '429': + $ref: '#/components/responses/TooManyRequestsResponse' + '500': + content: + application/json: + schema: + $ref: '#/components/schemas/JSONAPIErrorResponse' + description: Internal Server Error + security: + - apiKeyAuth: [] + appKeyAuth: [] + summary: Simple search experimentation entities + tags: + - Agent Observability + x-unstable: |- + **Note**: This endpoint is in preview and is subject to change. + If you have any feedback, contact [Datadog support](https://docs.datadoghq.com/help/). + /api/v2/llm-obs/v1/experiments: + get: + description: List all Agent Observability experiments sorted by creation date, newest first. + operationId: ListLLMObsExperiments + parameters: + - description: Filter experiments by project ID. Required if `filter[dataset_id]` is not provided. + in: query + name: filter[project_id] + schema: + type: string + - description: Filter experiments by dataset ID. + in: query + name: filter[dataset_id] + schema: + type: string + - description: Filter experiments by experiment ID. Can be specified multiple times. + in: query + name: filter[id] + schema: + type: string + - description: Filter experiments by their exact run name. + in: query + name: filter[name] + schema: + type: string + - description: Filter by logical experiment name. This is the `name` field set when creating an experiment through `POST /experiments`. Returns all experiment runs that share the same name, enabling cross-commit and cross-branch comparisons. + in: query + name: filter[experiment] + schema: + type: string + - description: |- + Filter by JSONB metadata containment. Provide a JSON object string where + experiments whose metadata contains all specified key-value pairs are returned. + For example: `{"commit":"abc123","branch":"main"}`. + in: query + name: filter[metadata] + schema: + type: string + - description: Filter experiments by the ID of their parent (baseline) experiment. Returns all experiments that were run against the given baseline. Can be specified multiple times. + in: query + name: filter[parent_experiment_id] + schema: + type: string + - description: When `true`, return only soft-deleted experiments. Defaults to `false`. + in: query + name: filter[is_deleted] + schema: + type: boolean + - description: When `true`, enrich each experiment with its author's user data in the `author` field. + in: query + name: include[user_data] + schema: + type: boolean + - description: When `true`, enrich each experiment with its dataset name in the `dataset_name` field. + in: query + name: include[dataset_names] + schema: + type: boolean + - description: Use the pagination cursor returned in `meta.after` to retrieve the next page of results. + in: query + name: page[cursor] + schema: + type: string + - description: |- + Maximum number of results to return per page. Values above 5000 are clamped + to 5000. Defaults to 5000. + in: query + name: page[limit] + schema: + format: int64 + maximum: 5000 + type: integer + responses: + '200': + content: + application/json: + examples: + default: + value: + data: + - attributes: + config: null + created_at: '2024-01-01T00:00:00+00:00' + dataset_id: 00000000-0000-0000-0000-000000000011 + description: '' + metadata: null + name: My Experiment v1 + project_id: 00000000-0000-0000-0000-000000000010 + updated_at: '2024-01-01T00:00:00+00:00' + id: 00000000-0000-0000-0000-000000000009 + type: experiments + schema: + $ref: '#/components/schemas/LLMObsExperimentsResponse' + description: OK + '400': + content: + application/json: + schema: + $ref: '#/components/schemas/JSONAPIErrorResponse' + description: Bad Request + '401': + content: + application/json: + schema: + $ref: '#/components/schemas/JSONAPIErrorResponse' + description: Unauthorized + '403': + content: + application/json: + schema: + $ref: '#/components/schemas/JSONAPIErrorResponse' + description: Forbidden + '429': + $ref: '#/components/responses/TooManyRequestsResponse' + security: + - apiKeyAuth: [] + appKeyAuth: [] + summary: List Agent Observability experiments + tags: + - Agent Observability + x-unstable: |- + **Note**: This endpoint is in preview and is subject to change. + If you have any feedback, contact [Datadog support](https://docs.datadoghq.com/help/). + post: + description: Create a new Agent Observability experiment. + operationId: CreateLLMObsExperiment + requestBody: + content: + application/json: + examples: + default: + value: + data: + attributes: + dataset_id: 9f64e5c7-dc5a-45c8-a17c-1b85f0bec97d + name: My Experiment v1 + project_id: a33671aa-24fd-4dcd-9b33-a8ec7dde7751 + type: experiments + schema: + $ref: '#/components/schemas/LLMObsExperimentRequest' + description: Create experiment payload. + required: true + responses: + '200': + content: + application/json: + examples: + default: + value: + data: + attributes: + config: null + created_at: '2024-01-01T00:00:00+00:00' + dataset_id: 00000000-0000-0000-0000-000000000014 + description: '' + metadata: null + name: My Experiment v1 + project_id: 00000000-0000-0000-0000-000000000013 + updated_at: '2024-01-01T00:00:00+00:00' + id: 00000000-0000-0000-0000-000000000012 + type: experiments + schema: + $ref: '#/components/schemas/LLMObsExperimentResponse' + description: OK + '201': + content: + application/json: + examples: + default: + value: + data: + attributes: + config: null + created_at: '2024-01-01T00:00:00+00:00' + dataset_id: 00000000-0000-0000-0000-000000000017 + description: '' + metadata: null + name: My Experiment v1 + project_id: 00000000-0000-0000-0000-000000000016 + updated_at: '2024-01-01T00:00:00+00:00' + id: 00000000-0000-0000-0000-000000000015 + type: experiments + schema: + $ref: '#/components/schemas/LLMObsExperimentResponse' + description: Created + '400': + content: + application/json: + schema: + $ref: '#/components/schemas/JSONAPIErrorResponse' + description: Bad Request + '401': + content: + application/json: + schema: + $ref: '#/components/schemas/JSONAPIErrorResponse' + description: Unauthorized + '403': + content: + application/json: + schema: + $ref: '#/components/schemas/JSONAPIErrorResponse' + description: Forbidden + '429': + $ref: '#/components/responses/TooManyRequestsResponse' + security: + - apiKeyAuth: [] + appKeyAuth: [] + summary: Create an Agent Observability experiment + tags: + - Agent Observability + x-unstable: |- + **Note**: This endpoint is in preview and is subject to change. + If you have any feedback, contact [Datadog support](https://docs.datadoghq.com/help/). + /api/v2/llm-obs/v1/experiments/delete: + post: + description: Delete one or more Agent Observability experiments. + operationId: DeleteLLMObsExperiments + requestBody: + content: + application/json: + examples: + default: + value: + data: + attributes: + experiment_ids: + - 3fd6b5e0-8910-4b1c-a7d0-5b84de329012 + type: experiments + schema: + $ref: '#/components/schemas/LLMObsDeleteExperimentsRequest' + description: Delete experiments payload. + required: true + responses: + '204': + description: No Content + '400': + content: + application/json: + schema: + $ref: '#/components/schemas/JSONAPIErrorResponse' + description: Bad Request + '401': + content: + application/json: + schema: + $ref: '#/components/schemas/JSONAPIErrorResponse' + description: Unauthorized + '403': + content: + application/json: + schema: + $ref: '#/components/schemas/JSONAPIErrorResponse' + description: Forbidden + '429': + $ref: '#/components/responses/TooManyRequestsResponse' + security: + - apiKeyAuth: [] + appKeyAuth: [] + summary: Delete Agent Observability experiments + tags: + - Agent Observability + x-unstable: |- + **Note**: This endpoint is in preview and is subject to change. + If you have any feedback, contact [Datadog support](https://docs.datadoghq.com/help/). + /api/v2/llm-obs/v1/experiments/{experiment_id}: + patch: + description: Partially update an existing Agent Observability experiment. + operationId: UpdateLLMObsExperiment + parameters: + - $ref: '#/components/parameters/LLMObsExperimentIDPathParameter' + requestBody: + content: + application/json: + examples: + default: + value: + data: + type: experiments + schema: + $ref: '#/components/schemas/LLMObsExperimentUpdateRequest' + description: Update experiment payload. + required: true + responses: + '200': + content: + application/json: + examples: + default: + value: + data: + attributes: + config: null + created_at: '2024-01-01T00:00:00+00:00' + dataset_id: 00000000-0000-0000-0000-000000000020 + description: '' + metadata: null + name: My Experiment v1 + project_id: 00000000-0000-0000-0000-000000000019 + updated_at: '2024-01-01T00:00:00+00:00' + id: 00000000-0000-0000-0000-000000000018 + type: experiments + schema: + $ref: '#/components/schemas/LLMObsExperimentResponse' + description: OK + '400': + content: + application/json: + schema: + $ref: '#/components/schemas/JSONAPIErrorResponse' + description: Bad Request + '401': + content: + application/json: + schema: + $ref: '#/components/schemas/JSONAPIErrorResponse' + description: Unauthorized + '403': + content: + application/json: + schema: + $ref: '#/components/schemas/JSONAPIErrorResponse' + description: Forbidden + '404': + content: + application/json: + schema: + $ref: '#/components/schemas/JSONAPIErrorResponse' + description: Not Found + '429': + $ref: '#/components/responses/TooManyRequestsResponse' + security: + - apiKeyAuth: [] + appKeyAuth: [] + summary: Update an Agent Observability experiment + tags: + - Agent Observability + x-unstable: |- + **Note**: This endpoint is in preview and is subject to change. + If you have any feedback, contact [Datadog support](https://docs.datadoghq.com/help/). + /api/v2/llm-obs/v1/experiments/{experiment_id}/events: + get: + deprecated: true + description: Retrieve spans with their evaluation metrics for a given experiment. Returns spans only, with no summary metrics and no pagination. Deprecated in favor of `ListLLMObsExperimentEventsV3`. + operationId: ListLLMObsExperimentEventsV1 + parameters: + - $ref: '#/components/parameters/LLMObsExperimentIDPathParameter' + responses: + '200': + content: + application/json: + examples: + default: + value: + data: + - attributes: + duration: 1500000000 + eval_metrics: [] + name: llm_call + span_id: span-7a1b2c3d + start_ns: 1705314600000000000 + status: ok + tags: [] + trace_id: abc123def456 + id: 00000000-0000-0000-0000-000000000001 + type: experiments + schema: + $ref: '#/components/schemas/LLMObsExperimentSpansResponse' + description: OK + '400': + content: + application/json: + schema: + $ref: '#/components/schemas/JSONAPIErrorResponse' + description: Bad Request + '401': + content: + application/json: + schema: + $ref: '#/components/schemas/JSONAPIErrorResponse' + description: Unauthorized + '403': + content: + application/json: + schema: + $ref: '#/components/schemas/JSONAPIErrorResponse' + description: Forbidden + '404': + content: + application/json: + schema: + $ref: '#/components/schemas/JSONAPIErrorResponse' + description: Not Found + '429': + $ref: '#/components/responses/TooManyRequestsResponse' + '500': + content: + application/json: + schema: + $ref: '#/components/schemas/JSONAPIErrorResponse' + description: Internal Server Error + security: + - apiKeyAuth: [] + appKeyAuth: [] + summary: List Agent Observability experiment spans (v1) + tags: + - Agent Observability + x-unstable: |- + **Note**: This endpoint is in preview and is subject to change. + If you have any feedback, contact [Datadog support](https://docs.datadoghq.com/help/). + post: + description: Push spans and metrics for an Agent Observability experiment. + operationId: CreateLLMObsExperimentEvents + parameters: + - $ref: '#/components/parameters/LLMObsExperimentIDPathParameter' + requestBody: + content: + application/json: + examples: + default: + value: + data: + attributes: + metrics: + - assessment: pass + label: faithfulness + metric_type: score + span_id: span-7a1b2c3d + timestamp_ms: 1705314600000 + spans: + - dataset_id: 9f64e5c7-dc5a-45c8-a17c-1b85f0bec97d + duration: 1500000000 + name: llm_call + project_id: a33671aa-24fd-4dcd-9b33-a8ec7dde7751 + span_id: span-7a1b2c3d + start_ns: 1705314600000000000 + status: ok + trace_id: abc123def456 + type: events + schema: + $ref: '#/components/schemas/LLMObsExperimentEventsRequest' + description: Experiment events payload. + required: true + responses: + '202': + description: Accepted + '400': + content: + application/json: + schema: + $ref: '#/components/schemas/JSONAPIErrorResponse' + description: Bad Request + '401': + content: + application/json: + schema: + $ref: '#/components/schemas/JSONAPIErrorResponse' + description: Unauthorized + '403': + content: + application/json: + schema: + $ref: '#/components/schemas/JSONAPIErrorResponse' + description: Forbidden + '404': + content: + application/json: + schema: + $ref: '#/components/schemas/JSONAPIErrorResponse' + description: Not Found + '429': + $ref: '#/components/responses/TooManyRequestsResponse' + security: + - apiKeyAuth: [] + appKeyAuth: [] + summary: Push events for an Agent Observability experiment + tags: + - Agent Observability + x-unstable: |- + **Note**: This endpoint is in preview and is subject to change. + If you have any feedback, contact [Datadog support](https://docs.datadoghq.com/help/). + /api/v2/llm-obs/v1/integrations/{integration}/accounts: + get: + description: Retrieve the list of configured accounts for the specified LLM provider integration. + operationId: ListLLMObsIntegrationAccounts + parameters: + - $ref: '#/components/parameters/LLMObsIntegrationPathParameter' + responses: + '200': + content: + application/json: + examples: + default: + value: + - account_id: org-XYZ123 + account_name: Production OpenAI + account_region: '' + id: account-abc123 + integration: openai + schema: + type: array + items: + $ref: '#/components/schemas/LLMObsIntegrationAccount' + description: OK + '400': + content: + application/json: + schema: + $ref: '#/components/schemas/JSONAPIErrorResponse' + description: Bad Request + '401': + content: + application/json: + schema: + $ref: '#/components/schemas/JSONAPIErrorResponse' + description: Unauthorized + '403': + content: + application/json: + schema: + $ref: '#/components/schemas/JSONAPIErrorResponse' + description: Forbidden + '429': + $ref: '#/components/responses/TooManyRequestsResponse' + security: + - apiKeyAuth: [] + appKeyAuth: [] + summary: List LLM integration accounts + tags: + - Agent Observability + x-unstable: |- + **Note**: This endpoint is in Preview and is subject to change. + If you have any feedback, contact [Datadog support](https://docs.datadoghq.com/help/). + /api/v2/llm-obs/v1/integrations/{integration}/{account_id}/inference: + post: + description: Run an LLM inference request through the specified integration and account, returning the model response and token usage. + operationId: CreateLLMObsIntegrationInference + parameters: + - $ref: '#/components/parameters/LLMObsIntegrationPathParameter' + - $ref: '#/components/parameters/LLMObsAccountIDPathParameter' + requestBody: + content: + application/json: + examples: + default: + value: + max_tokens: 256 + messages: + - content: What is the capital of France? + role: user + model_id: gpt-4o + temperature: 0.7 + schema: + $ref: '#/components/schemas/LLMObsIntegrationInferenceRequest' + description: Inference request parameters. + required: true + responses: + '200': + content: + application/json: + examples: + default: + value: + max_tokens: 256 + messages: + - content: What is the capital of France? + role: user + model_id: gpt-4o + response: + assessment: pass + content: The capital of France is Paris. + finish_reason: stop + inference_codes: [] + input_tokens: 15 + latency: 843 + output_tokens: 9 + tools: [] + total_tokens: 24 + temperature: 0.7 + schema: + $ref: '#/components/schemas/LLMObsIntegrationInferenceResponse' + description: OK + '400': + content: + application/json: + schema: + $ref: '#/components/schemas/JSONAPIErrorResponse' + description: Bad Request + '401': + content: + application/json: + schema: + $ref: '#/components/schemas/JSONAPIErrorResponse' + description: Unauthorized + '403': + content: + application/json: + schema: + $ref: '#/components/schemas/JSONAPIErrorResponse' + description: Forbidden + '429': + $ref: '#/components/responses/TooManyRequestsResponse' + '500': + content: + application/json: + schema: + $ref: '#/components/schemas/JSONAPIErrorResponse' + description: Internal Server Error + security: + - apiKeyAuth: [] + appKeyAuth: [] + summary: Run an LLM inference + tags: + - Agent Observability + x-unstable: |- + **Note**: This endpoint is in Preview and is subject to change. + If you have any feedback, contact [Datadog support](https://docs.datadoghq.com/help/). + /api/v2/llm-obs/v1/integrations/{integration}/{account_id}/models: + get: + description: Retrieve the list of models available for the specified LLM provider integration and account. + operationId: ListLLMObsIntegrationModels + parameters: + - $ref: '#/components/parameters/LLMObsIntegrationPathParameter' + - $ref: '#/components/parameters/LLMObsAccountIDPathParameter' + responses: + '200': + content: + application/json: + examples: + default: + value: + - has_access: true + id: gpt-4o + integration: openai + integration_display_name: OpenAI + json_schema: true + model_display_name: GPT-4o + model_id: gpt-4o + provider: openai + provider_display_name: OpenAI + schema: + type: array + items: + $ref: '#/components/schemas/LLMObsIntegrationModel' + description: OK + '400': + content: + application/json: + schema: + $ref: '#/components/schemas/JSONAPIErrorResponse' + description: Bad Request + '401': + content: + application/json: + schema: + $ref: '#/components/schemas/JSONAPIErrorResponse' + description: Unauthorized + '403': + content: + application/json: + schema: + $ref: '#/components/schemas/JSONAPIErrorResponse' + description: Forbidden + '429': + $ref: '#/components/responses/TooManyRequestsResponse' + security: + - apiKeyAuth: [] + appKeyAuth: [] + summary: List LLM integration models + tags: + - Agent Observability + x-unstable: |- + **Note**: This endpoint is in Preview and is subject to change. + If you have any feedback, contact [Datadog support](https://docs.datadoghq.com/help/). + /api/v2/llm-obs/v1/projects: + get: + description: List all Agent Observability projects sorted by creation date, newest first. + operationId: ListLLMObsProjects + parameters: + - description: Filter projects by project ID. + in: query + name: filter[id] + schema: + type: string + - description: Filter projects by name. + in: query + name: filter[name] + schema: + type: string + - description: Use the Pagination cursor to retrieve the next page of results. + in: query + name: page[cursor] + schema: + type: string + - description: Maximum number of results to return per page. + in: query + name: page[limit] + schema: + format: int64 + type: integer + responses: + '200': + content: + application/json: + examples: + default: + value: + data: + - attributes: + created_at: '2024-01-01T00:00:00+00:00' + description: '' + name: My LLM Project + updated_at: '2024-01-01T00:00:00+00:00' + id: 00000000-0000-0000-0000-000000000001 + type: projects + schema: + $ref: '#/components/schemas/LLMObsProjectsResponse' + description: OK + '400': + content: + application/json: + schema: + $ref: '#/components/schemas/JSONAPIErrorResponse' + description: Bad Request + '401': + content: + application/json: + schema: + $ref: '#/components/schemas/JSONAPIErrorResponse' + description: Unauthorized + '403': + content: + application/json: + schema: + $ref: '#/components/schemas/JSONAPIErrorResponse' + description: Forbidden + '429': + $ref: '#/components/responses/TooManyRequestsResponse' + security: + - apiKeyAuth: [] + appKeyAuth: [] + summary: List Agent Observability projects + tags: + - Agent Observability + x-unstable: |- + **Note**: This endpoint is in preview and is subject to change. + If you have any feedback, contact [Datadog support](https://docs.datadoghq.com/help/). + post: + description: Create a new Agent Observability project. Returns the existing project if a name conflict occurs. + operationId: CreateLLMObsProject + requestBody: + content: + application/json: + examples: + default: + value: + data: + attributes: + name: My LLM Project + type: projects + schema: + $ref: '#/components/schemas/LLMObsProjectRequest' + description: Create project payload. + required: true + responses: + '200': + content: + application/json: + examples: + default: + value: + data: + attributes: + created_at: '2024-01-01T00:00:00+00:00' + description: '' + name: My LLM Project + updated_at: '2024-01-01T00:00:00+00:00' + id: 00000000-0000-0000-0000-000000000002 + type: projects + schema: + $ref: '#/components/schemas/LLMObsProjectResponse' + description: OK + '201': + content: + application/json: + examples: + default: + value: + data: + attributes: + created_at: '2024-01-01T00:00:00+00:00' + description: '' + name: My LLM Project + updated_at: '2024-01-01T00:00:00+00:00' + id: 00000000-0000-0000-0000-000000000003 + type: projects + schema: + $ref: '#/components/schemas/LLMObsProjectResponse' + description: Created + '400': + content: + application/json: + schema: + $ref: '#/components/schemas/JSONAPIErrorResponse' + description: Bad Request + '401': + content: + application/json: + schema: + $ref: '#/components/schemas/JSONAPIErrorResponse' + description: Unauthorized + '403': + content: + application/json: + schema: + $ref: '#/components/schemas/JSONAPIErrorResponse' + description: Forbidden + '429': + $ref: '#/components/responses/TooManyRequestsResponse' + security: + - apiKeyAuth: [] + appKeyAuth: [] + summary: Create an Agent Observability project + tags: + - Agent Observability + x-unstable: |- + **Note**: This endpoint is in preview and is subject to change. + If you have any feedback, contact [Datadog support](https://docs.datadoghq.com/help/). + /api/v2/llm-obs/v1/projects/delete: + post: + description: Delete one or more Agent Observability projects. + operationId: DeleteLLMObsProjects + requestBody: + content: + application/json: + examples: + default: + value: + data: + attributes: + project_ids: + - a33671aa-24fd-4dcd-9b33-a8ec7dde7751 + type: projects + schema: + $ref: '#/components/schemas/LLMObsDeleteProjectsRequest' + description: Delete projects payload. + required: true + responses: + '204': + description: No Content + '400': + content: + application/json: + schema: + $ref: '#/components/schemas/JSONAPIErrorResponse' + description: Bad Request + '401': + content: + application/json: + schema: + $ref: '#/components/schemas/JSONAPIErrorResponse' + description: Unauthorized + '403': + content: + application/json: + schema: + $ref: '#/components/schemas/JSONAPIErrorResponse' + description: Forbidden + '429': + $ref: '#/components/responses/TooManyRequestsResponse' + security: + - apiKeyAuth: [] + appKeyAuth: [] + summary: Delete Agent Observability projects + tags: + - Agent Observability + x-unstable: |- + **Note**: This endpoint is in preview and is subject to change. + If you have any feedback, contact [Datadog support](https://docs.datadoghq.com/help/). + /api/v2/llm-obs/v1/projects/{project_id}: + patch: + description: Partially update an existing Agent Observability project. + operationId: UpdateLLMObsProject + parameters: + - $ref: '#/components/parameters/LLMObsProjectIDPathParameter' + requestBody: + content: + application/json: + examples: + default: + value: + data: + type: projects + schema: + $ref: '#/components/schemas/LLMObsProjectUpdateRequest' + description: Update project payload. + required: true + responses: + '200': + content: + application/json: + examples: + default: + value: + data: + attributes: + created_at: '2024-01-01T00:00:00+00:00' + description: '' + name: My LLM Project + updated_at: '2024-01-01T00:00:00+00:00' + id: 00000000-0000-0000-0000-000000000004 + type: projects + schema: + $ref: '#/components/schemas/LLMObsProjectResponse' + description: OK + '400': + content: + application/json: + schema: + $ref: '#/components/schemas/JSONAPIErrorResponse' + description: Bad Request + '401': + content: + application/json: + schema: + $ref: '#/components/schemas/JSONAPIErrorResponse' + description: Unauthorized + '403': + content: + application/json: + schema: + $ref: '#/components/schemas/JSONAPIErrorResponse' + description: Forbidden + '404': + content: + application/json: + schema: + $ref: '#/components/schemas/JSONAPIErrorResponse' + description: Not Found + '429': + $ref: '#/components/responses/TooManyRequestsResponse' + security: + - apiKeyAuth: [] + appKeyAuth: [] + summary: Update an Agent Observability project + tags: + - Agent Observability + x-unstable: |- + **Note**: This endpoint is in preview and is subject to change. + If you have any feedback, contact [Datadog support](https://docs.datadoghq.com/help/). + /api/v2/llm-obs/v1/prompts: + get: + description: List all Agent Observability prompts in the prompt registry for the organization. + operationId: ListLLMObsPrompts + parameters: + - description: Optional filter for prompts by prompt ID. + example: customer-support-assistant + in: query + name: filter[prompt_id] + schema: + type: string + responses: + '200': + content: + application/json: + examples: + default: + value: + data: + - attributes: + author: 3b12f1df-14fd-4e12-bd6f-4a2f5c8b3d1e + created_at: '2025-01-15T10:00:00Z' + created_from: sdk-registry + description: Answers customer questions using the company knowledge base. + in_registry: true + last_version_created_at: '2025-02-01T14:30:00Z' + num_versions: 2 + prompt_id: customer-support-assistant + source: registry + title: Customer Support Assistant + id: 4a1a28ff-8a25-5f0f-946f-f48264d772eb + type: prompt-templates + schema: + $ref: '#/components/schemas/LLMObsPromptsResponse' + description: OK + '401': + content: + application/json: + schema: + $ref: '#/components/schemas/JSONAPIErrorResponse' + description: Unauthorized + '403': + content: + application/json: + schema: + $ref: '#/components/schemas/JSONAPIErrorResponse' + description: Forbidden + '429': + $ref: '#/components/responses/TooManyRequestsResponse' + security: + - apiKeyAuth: [] + appKeyAuth: [] + summary: List Agent Observability prompts + tags: + - Agent Observability + x-permission: + operator: OR + permissions: + - llm_observability_read + x-unstable: |- + **Note**: This endpoint is in preview and is subject to change. + If you have any feedback, contact [Datadog support](https://docs.datadoghq.com/help/). + post: + description: Create a new prompt (and its first version) in the Agent Observability prompt registry. + operationId: CreateLLMObsPrompt + requestBody: + content: + application/json: + examples: + default: + value: + data: + attributes: + description: Answers customer questions using the company knowledge base. + prompt_id: customer-support-assistant + template: + - content: You are a helpful customer support assistant for {{company_name}}. + role: system + - content: 'Help {{customer_name}} with this question: {{question}}' + role: user + title: Customer Support Assistant + type: prompt-templates + schema: + $ref: '#/components/schemas/LLMObsCreatePromptRequest' + description: Create prompt payload. + required: true + responses: + '200': + content: + application/json: + examples: + default: + value: + data: + attributes: + author: 3b12f1df-14fd-4e12-bd6f-4a2f5c8b3d1e + created_at: '2025-01-15T10:00:00Z' + created_from: sdk-registry + description: Answers customer questions using the company knowledge base. + in_registry: true + last_version_created_at: '2025-01-15T10:00:00Z' + num_versions: 1 + prompt_id: customer-support-assistant + source: registry + title: Customer Support Assistant + id: 4a1a28ff-8a25-5f0f-946f-f48264d772eb + type: prompt-templates + schema: + $ref: '#/components/schemas/LLMObsPromptResponse' + description: OK + '400': + content: + application/json: + schema: + $ref: '#/components/schemas/JSONAPIErrorResponse' + description: Bad Request + '401': + content: + application/json: + schema: + $ref: '#/components/schemas/JSONAPIErrorResponse' + description: Unauthorized + '403': + content: + application/json: + schema: + $ref: '#/components/schemas/JSONAPIErrorResponse' + description: Forbidden + '409': + content: + application/json: + schema: + $ref: '#/components/schemas/JSONAPIErrorResponse' + description: Conflict + '429': + $ref: '#/components/responses/TooManyRequestsResponse' + security: + - apiKeyAuth: [] + appKeyAuth: [] + summary: Create an Agent Observability prompt + tags: + - Agent Observability + x-permission: + operator: AND + permissions: + - llm_observability_read + - llm_observability_write + - feature_flag_config_read + - feature_flag_config_write + - feature_flag_environment_config_read + x-unstable: |- + **Note**: This endpoint is in preview and is subject to change. + If you have any feedback, contact [Datadog support](https://docs.datadoghq.com/help/). + /api/v2/llm-obs/v1/prompts/{prompt_id}: + delete: + description: Soft-delete an Agent Observability prompt. The prompt's version rows are retained, but they are no longer accessible through the public prompt registry endpoints. + operationId: DeleteLLMObsPrompt + parameters: + - $ref: '#/components/parameters/LLMObsPromptIDPathParameter' + responses: + '200': + content: + application/json: + examples: + default: + value: + data: + attributes: + deleted_at: '2025-02-10T09:15:00Z' + prompt_id: customer-support-assistant + id: 4a1a28ff-8a25-5f0f-946f-f48264d772eb + type: prompt-templates + schema: + $ref: '#/components/schemas/LLMObsDeletedPromptResponse' + description: OK + '401': + content: + application/json: + schema: + $ref: '#/components/schemas/JSONAPIErrorResponse' + description: Unauthorized + '403': + content: + application/json: + schema: + $ref: '#/components/schemas/JSONAPIErrorResponse' + description: Forbidden + '404': + content: + application/json: + schema: + $ref: '#/components/schemas/JSONAPIErrorResponse' + description: Not Found + '429': + $ref: '#/components/responses/TooManyRequestsResponse' + security: + - apiKeyAuth: [] + appKeyAuth: [] + summary: Delete an Agent Observability prompt + tags: + - Agent Observability + x-permission: + operator: AND + permissions: + - llm_observability_read + - llm_observability_write + - feature_flag_config_read + - feature_flag_config_write + - feature_flag_environment_config_read + x-unstable: |- + **Note**: This endpoint is in preview and is subject to change. + If you have any feedback, contact [Datadog support](https://docs.datadoghq.com/help/). + get: + description: Get the latest version of an Agent Observability prompt by prompt ID. + operationId: GetLLMObsPrompt + parameters: + - $ref: '#/components/parameters/LLMObsPromptIDPathParameter' + - $ref: '#/components/parameters/LLMObsPromptLabelQueryParameter' + responses: + '200': + content: + application/json: + examples: + default: + value: + data: + attributes: + chat_template: + - content: You are a helpful customer support assistant for {{company_name}}. + role: system + - content: 'Help {{customer_name}} with this question: {{question}}' + role: user + prompt_id: customer-support-assistant + prompt_version_uuid: d83ab666-61cc-5545-a83b-2424bb85467b + version: '2' + id: 4a1a28ff-8a25-5f0f-946f-f48264d772eb + type: prompt-templates + schema: + $ref: '#/components/schemas/LLMObsPromptSDKResponse' + description: OK + '401': + content: + application/json: + schema: + $ref: '#/components/schemas/JSONAPIErrorResponse' + description: Unauthorized + '403': + content: + application/json: + schema: + $ref: '#/components/schemas/JSONAPIErrorResponse' + description: Forbidden + '404': + content: + application/json: + schema: + $ref: '#/components/schemas/JSONAPIErrorResponse' + description: Not Found + '429': + $ref: '#/components/responses/TooManyRequestsResponse' + security: + - apiKeyAuth: [] + appKeyAuth: [] + summary: Get an Agent Observability prompt + tags: + - Agent Observability + x-permission: + operator: OR + permissions: + - llm_observability_read + x-unstable: |- + **Note**: This endpoint is in preview and is subject to change. + If you have any feedback, contact [Datadog support](https://docs.datadoghq.com/help/). + patch: + description: Update the title, the description, or both, for an Agent Observability prompt. + operationId: UpdateLLMObsPrompt + parameters: + - $ref: '#/components/parameters/LLMObsPromptIDPathParameter' + requestBody: + content: + application/json: + examples: + default: + value: + data: + attributes: + description: Answers customer questions using the company knowledge base. + title: Customer Support Assistant + type: prompt-templates + schema: + $ref: '#/components/schemas/LLMObsUpdatePromptRequest' + description: Update prompt payload. + required: true + responses: + '200': + content: + application/json: + examples: + default: + value: + data: + attributes: + author: 3b12f1df-14fd-4e12-bd6f-4a2f5c8b3d1e + created_at: '2025-01-15T10:00:00Z' + created_from: sdk-registry + description: Answers customer questions using the company knowledge base. + in_registry: true + last_version_created_at: '2025-01-15T10:00:00Z' + num_versions: 1 + prompt_id: customer-support-assistant + source: registry + title: Customer Support Assistant + id: 4a1a28ff-8a25-5f0f-946f-f48264d772eb + type: prompt-templates + schema: + $ref: '#/components/schemas/LLMObsPromptResponse' + description: OK + '400': + content: + application/json: + schema: + $ref: '#/components/schemas/JSONAPIErrorResponse' + description: Bad Request + '401': + content: + application/json: + schema: + $ref: '#/components/schemas/JSONAPIErrorResponse' + description: Unauthorized + '403': + content: + application/json: + schema: + $ref: '#/components/schemas/JSONAPIErrorResponse' + description: Forbidden + '404': + content: + application/json: + schema: + $ref: '#/components/schemas/JSONAPIErrorResponse' + description: Not Found + '429': + $ref: '#/components/responses/TooManyRequestsResponse' + security: + - apiKeyAuth: [] + appKeyAuth: [] + summary: Update an Agent Observability prompt + tags: + - Agent Observability + x-permission: + operator: AND + permissions: + - llm_observability_read + - llm_observability_write + - feature_flag_config_read + - feature_flag_config_write + - feature_flag_environment_config_read + x-unstable: |- + **Note**: This endpoint is in preview and is subject to change. + If you have any feedback, contact [Datadog support](https://docs.datadoghq.com/help/). + /api/v2/llm-obs/v1/prompts/{prompt_id}/versions: + get: + description: List all versions of an Agent Observability prompt, ordered newest to oldest. If the prompt does not exist, is not registered, or is archived, the response contains an empty list. + operationId: ListLLMObsPromptVersions + parameters: + - $ref: '#/components/parameters/LLMObsPromptIDPathParameter' + responses: + '200': + content: + application/json: + examples: + default: + value: + data: + - attributes: + author: 3b12f1df-14fd-4e12-bd6f-4a2f5c8b3d1e + created_at: '2025-02-01T14:30:00Z' + description: Give concise answers and cite relevant help-center articles. + prompt_id: customer-support-assistant + prompt_uuid: 4a1a28ff-8a25-5f0f-946f-f48264d772eb + version: 2 + version_created_at: '2025-02-01T14:30:00Z' + id: d83ab666-61cc-5545-a83b-2424bb85467b + type: prompt-template-versions + - attributes: + author: 3b12f1df-14fd-4e12-bd6f-4a2f5c8b3d1e + created_at: '2025-01-15T10:00:00Z' + description: Initial customer support prompt. + prompt_id: customer-support-assistant + prompt_uuid: 4a1a28ff-8a25-5f0f-946f-f48264d772eb + version: 1 + version_created_at: '2025-01-15T10:00:00Z' + id: 20e5280b-c75d-5699-8a70-a2773a751428 + type: prompt-template-versions + schema: + $ref: '#/components/schemas/LLMObsPromptVersionsResponse' + description: OK + '401': + content: + application/json: + schema: + $ref: '#/components/schemas/JSONAPIErrorResponse' + description: Unauthorized + '403': + content: + application/json: + schema: + $ref: '#/components/schemas/JSONAPIErrorResponse' + description: Forbidden + '429': + $ref: '#/components/responses/TooManyRequestsResponse' + security: + - apiKeyAuth: [] + appKeyAuth: [] + summary: List versions of an Agent Observability prompt + tags: + - Agent Observability + x-permission: + operator: OR + permissions: + - llm_observability_read + x-unstable: |- + **Note**: This endpoint is in preview and is subject to change. + If you have any feedback, contact [Datadog support](https://docs.datadoghq.com/help/). + post: + description: Create a new version of an existing Agent Observability prompt. + operationId: CreateLLMObsPromptVersion + parameters: + - $ref: '#/components/parameters/LLMObsPromptIDPathParameter' + requestBody: + content: + application/json: + examples: + default: + value: + data: + attributes: + description: Give concise answers and cite relevant help-center articles. + template: + - content: You are a helpful customer support assistant for {{company_name}}. + role: system + - content: 'Help {{customer_name}} with this question: {{question}}' + role: user + type: prompt-template-versions + schema: + $ref: '#/components/schemas/LLMObsCreatePromptVersionRequest' + description: Create prompt version payload. + required: true + responses: + '200': + content: + application/json: + examples: + default: + value: + data: + attributes: + author: 3b12f1df-14fd-4e12-bd6f-4a2f5c8b3d1e + created_at: '2025-02-01T14:30:00Z' + description: Give concise answers and cite relevant help-center articles. + prompt_id: customer-support-assistant + prompt_uuid: 4a1a28ff-8a25-5f0f-946f-f48264d772eb + template: + - content: You are a helpful customer support assistant for {{company_name}}. + role: system + - content: 'Help {{customer_name}} with this question: {{question}}' + role: user + version: 2 + version_created_at: '2025-02-01T14:30:00Z' + id: d83ab666-61cc-5545-a83b-2424bb85467b + type: prompt-template-versions + schema: + $ref: '#/components/schemas/LLMObsPromptVersionResponse' + description: OK + '400': + content: + application/json: + schema: + $ref: '#/components/schemas/JSONAPIErrorResponse' + description: Bad Request + '401': + content: + application/json: + schema: + $ref: '#/components/schemas/JSONAPIErrorResponse' + description: Unauthorized + '403': + content: + application/json: + schema: + $ref: '#/components/schemas/JSONAPIErrorResponse' + description: Forbidden + '404': + content: + application/json: + schema: + $ref: '#/components/schemas/JSONAPIErrorResponse' + description: Not Found + '429': + $ref: '#/components/responses/TooManyRequestsResponse' + security: + - apiKeyAuth: [] + appKeyAuth: [] + summary: Create a new Agent Observability prompt version + tags: + - Agent Observability + x-permission: + operator: AND + permissions: + - llm_observability_read + - llm_observability_write + - feature_flag_config_read + - feature_flag_config_write + - feature_flag_environment_config_read + x-unstable: |- + **Note**: This endpoint is in preview and is subject to change. + If you have any feedback, contact [Datadog support](https://docs.datadoghq.com/help/). + /api/v2/llm-obs/v1/prompts/{prompt_id}/versions/{version}: + get: + description: Get the full template of a single, specific version of an Agent Observability prompt. + operationId: GetLLMObsPromptVersion + parameters: + - $ref: '#/components/parameters/LLMObsPromptIDPathParameter' + - $ref: '#/components/parameters/LLMObsPromptVersionPathParameter' + responses: + '200': + content: + application/json: + examples: + default: + value: + data: + attributes: + author: 3b12f1df-14fd-4e12-bd6f-4a2f5c8b3d1e + created_at: '2025-02-01T14:30:00Z' + description: Give concise answers and cite relevant help-center articles. + prompt_id: customer-support-assistant + prompt_uuid: 4a1a28ff-8a25-5f0f-946f-f48264d772eb + template: + - content: You are a helpful customer support assistant for {{company_name}}. + role: system + - content: 'Help {{customer_name}} with this question: {{question}}' + role: user + version: 2 + version_created_at: '2025-02-01T14:30:00Z' + id: d83ab666-61cc-5545-a83b-2424bb85467b + type: prompt-template-versions + schema: + $ref: '#/components/schemas/LLMObsPromptVersionResponse' + description: OK + '400': + content: + application/json: + schema: + $ref: '#/components/schemas/JSONAPIErrorResponse' + description: Bad Request + '401': + content: + application/json: + schema: + $ref: '#/components/schemas/JSONAPIErrorResponse' + description: Unauthorized + '403': + content: + application/json: + schema: + $ref: '#/components/schemas/JSONAPIErrorResponse' + description: Forbidden + '404': + content: + application/json: + schema: + $ref: '#/components/schemas/JSONAPIErrorResponse' + description: Not Found + '429': + $ref: '#/components/responses/TooManyRequestsResponse' + security: + - apiKeyAuth: [] + appKeyAuth: [] + summary: Get a specific Agent Observability prompt version + tags: + - Agent Observability + x-permission: + operator: OR + permissions: + - llm_observability_read + x-unstable: |- + **Note**: This endpoint is in preview and is subject to change. + If you have any feedback, contact [Datadog support](https://docs.datadoghq.com/help/). + patch: + description: Update the description, the feature-flag environments, or both, for a specific version of an Agent Observability prompt. + operationId: UpdateLLMObsPromptVersion + parameters: + - $ref: '#/components/parameters/LLMObsPromptIDPathParameter' + - $ref: '#/components/parameters/LLMObsPromptVersionPathParameter' + requestBody: + content: + application/json: + examples: + default: + value: + data: + attributes: + description: Give concise answers and cite relevant help-center articles. + type: prompt-template-versions + schema: + $ref: '#/components/schemas/LLMObsUpdatePromptVersionRequest' + description: Update prompt version payload. + required: true + responses: + '200': + content: + application/json: + examples: + default: + value: + data: + attributes: + author: 3b12f1df-14fd-4e12-bd6f-4a2f5c8b3d1e + created_at: '2025-02-01T14:30:00Z' + description: Give concise answers and cite relevant help-center articles. + prompt_id: customer-support-assistant + prompt_uuid: 4a1a28ff-8a25-5f0f-946f-f48264d772eb + template: + - content: You are a helpful customer support assistant for {{company_name}}. + role: system + - content: 'Help {{customer_name}} with this question: {{question}}' + role: user + version: 2 + version_created_at: '2025-02-01T14:30:00Z' + id: d83ab666-61cc-5545-a83b-2424bb85467b + type: prompt-template-versions + schema: + $ref: '#/components/schemas/LLMObsPromptVersionResponse' + description: OK + '400': + content: + application/json: + schema: + $ref: '#/components/schemas/JSONAPIErrorResponse' + description: Bad Request + '401': + content: + application/json: + schema: + $ref: '#/components/schemas/JSONAPIErrorResponse' + description: Unauthorized + '403': + content: + application/json: + schema: + $ref: '#/components/schemas/JSONAPIErrorResponse' + description: Forbidden + '404': + content: + application/json: + schema: + $ref: '#/components/schemas/JSONAPIErrorResponse' + description: Not Found + '429': + $ref: '#/components/responses/TooManyRequestsResponse' + security: + - apiKeyAuth: [] + appKeyAuth: [] + summary: Update an Agent Observability prompt version + tags: + - Agent Observability + x-permission: + operator: AND + permissions: + - llm_observability_read + - llm_observability_write + - feature_flag_config_read + - feature_flag_config_write + - feature_flag_environment_config_read + x-unstable: |- + **Note**: This endpoint is in preview and is subject to change. + If you have any feedback, contact [Datadog support](https://docs.datadoghq.com/help/). + /api/v2/llm-obs/v1/spans/events: + get: + description: List Agent Observability spans matching the specified filters. + operationId: ListLLMObsSpans + parameters: + - description: Start of the time range. Accepts ISO 8601 or relative format (e.g., `now-15m`). Defaults to `now-15m`. + in: query + name: filter[from] + schema: + example: now-900s + type: string + - description: End of the time range. Accepts ISO 8601 or relative format. Defaults to `now`. + in: query + name: filter[to] + schema: + example: now + type: string + - description: Search query using Agent Observability query syntax. Supports attribute filters using the field:value syntax (e.g. session_id, trace_id, ml_app, meta.span.kind). When provided, structured field filters (`filter[span_id]`, `filter[trace_id]`, etc.) are ignored. + in: query + name: filter[query] + schema: + example: '@session_id:abc123def456' + type: string + - description: Filter by exact span ID. + in: query + name: filter[span_id] + schema: + type: string + - description: Filter by exact trace ID. + in: query + name: filter[trace_id] + schema: + type: string + - description: Filter by span kind (e.g., llm, agent, tool, task, workflow). + in: query + name: filter[span_kind] + schema: + type: string + - description: Filter by span name. + in: query + name: filter[span_name] + schema: + type: string + - description: Filter by ML application name. + in: query + name: filter[ml_app] + schema: + type: string + - description: Maximum number of spans to return. Defaults to `10`. + in: query + name: page[limit] + schema: + format: int64 + type: integer + - description: Cursor from the previous response to retrieve the next page. + in: query + name: page[cursor] + schema: + type: string + - description: Sort order for the results. + in: query + name: sort + schema: + type: string + - description: Whether to include attachment data in the response. Defaults to `true`. + in: query + name: include_attachments + schema: + type: boolean + responses: + '200': + content: + application/json: + examples: + default: + summary: List spans for an ML app + value: + data: + - attributes: + duration: 1500000000 + ml_app: my-llm-app + model_name: gpt-4o + model_provider: openai + name: llm_call + span_id: abc123def456 + span_kind: llm + start_ns: 1705314600000000000 + status: ok + trace_id: trace-9a8b7c6d5e4f + id: abc123def456 + type: span + meta: + elapsed: 132 + page: {} + request_id: req-abc123 + status: done + session_id: + summary: List spans filtered by session ID + value: + data: + - attributes: + duration: 1500000000 + ml_app: my-llm-app + name: llm_call + span_id: abc123def456 + span_kind: llm + start_ns: 1705314600000000000 + status: ok + tags: + - session_id:abc123def456 + trace_id: trace-9a8b7c6d5e4f + id: abc123def456 + type: span + meta: + elapsed: 87 + page: {} + request_id: req-def456 + status: done + schema: + $ref: '#/components/schemas/LLMObsSpansResponse' + description: OK + '400': + content: + application/json: + schema: + $ref: '#/components/schemas/JSONAPIErrorResponse' + description: Bad Request + '401': + content: + application/json: + schema: + $ref: '#/components/schemas/JSONAPIErrorResponse' + description: Unauthorized + '403': + content: + application/json: + schema: + $ref: '#/components/schemas/JSONAPIErrorResponse' + description: Forbidden + '429': + $ref: '#/components/responses/TooManyRequestsResponse' + security: + - apiKeyAuth: [] + appKeyAuth: [] + summary: List Agent Observability spans + tags: + - Agent Observability + x-unstable: |- + **Note**: This endpoint is in preview and is subject to change. + If you have any feedback, contact [Datadog support](https://docs.datadoghq.com/help/). + /api/v2/llm-obs/v1/spans/events/search: + post: + description: Search Agent Observability spans using structured filters in the request body. + operationId: SearchLLMObsSpans + requestBody: + content: + application/json: + examples: + default: + summary: Search spans for an ML app + value: + data: + attributes: + filter: + from: now-900s + ml_app: my-llm-app + span_kind: llm + to: now + options: + include_attachments: true + page: + limit: 10 + type: spans + session_id: + summary: Search all spans in a session + value: + data: + attributes: + filter: + from: now-900s + query: '@session_id:abc123def456' + to: now + options: + include_attachments: true + page: + limit: 50 + type: spans + schema: + $ref: '#/components/schemas/LLMObsSearchSpansRequest' + description: Search spans payload. + required: true + responses: + '200': + content: + application/json: + examples: + default: + value: + data: + - attributes: + duration: 1500000000 + ml_app: my-llm-app + model_name: gpt-4o + model_provider: openai + name: llm_call + span_id: abc123def456 + span_kind: llm + start_ns: 1705314600000000000 + status: ok + trace_id: trace-9a8b7c6d5e4f + id: abc123def456 + type: span + meta: + elapsed: 132 + page: {} + request_id: req-abc123 + status: done + schema: + $ref: '#/components/schemas/LLMObsSpansResponse' + description: OK + '400': + content: + application/json: + schema: + $ref: '#/components/schemas/JSONAPIErrorResponse' + description: Bad Request + '401': + content: + application/json: + schema: + $ref: '#/components/schemas/JSONAPIErrorResponse' + description: Unauthorized + '403': + content: + application/json: + schema: + $ref: '#/components/schemas/JSONAPIErrorResponse' + description: Forbidden + '429': + $ref: '#/components/responses/TooManyRequestsResponse' + security: + - apiKeyAuth: [] + appKeyAuth: [] + summary: Search Agent Observability spans + tags: + - Agent Observability + x-unstable: |- + **Note**: This endpoint is in preview and is subject to change. + If you have any feedback, contact [Datadog support](https://docs.datadoghq.com/help/). + /api/v2/llm-obs/v1/topic-discovery-clustered-points: + get: + description: |- + List the data points grouped into a topic. For a parent topic, points from all + of its leaf topics are returned. + operationId: ListLLMObsPatternsClusteredPoints + parameters: + - $ref: '#/components/parameters/LLMObsPatternsTopicIDQueryParameter' + - $ref: '#/components/parameters/LLMObsPatternsPageSizeQueryParameter' + - $ref: '#/components/parameters/LLMObsPatternsPageTokenQueryParameter' + responses: + '200': + content: + application/json: + examples: + default: + value: + data: + attributes: + next_page_token: eyJvZmZzZXQiOjUwfQ== + points: + - event_id: AAAAAYabc123 + id: 9b0c1d2e-3f40-5a61-b728-c9d0e1f2a3b4 + input: How do I get a refund? + is_included: false + is_suggested: true + session_id: session-7c3f5a1b + span_id: '1234567890123456789' + topic_id: 5c1fae90-2b6d-4e3a-9f12-7a0c4d8e6b21 + topic_id: 5c1fae90-2b6d-4e3a-9f12-7a0c4d8e6b21 + id: 5c1fae90-2b6d-4e3a-9f12-7a0c4d8e6b21 + type: clustered_points_response + schema: + $ref: '#/components/schemas/LLMObsPatternsClusteredPointsResponse' + description: OK + '400': + content: + application/json: + schema: + $ref: '#/components/schemas/JSONAPIErrorResponse' + description: Bad Request + '401': + content: + application/json: + schema: + $ref: '#/components/schemas/JSONAPIErrorResponse' + description: Unauthorized + '403': + content: + application/json: + schema: + $ref: '#/components/schemas/JSONAPIErrorResponse' + description: Forbidden + '404': + content: + application/json: + schema: + $ref: '#/components/schemas/JSONAPIErrorResponse' + description: Not Found + '429': + $ref: '#/components/responses/TooManyRequestsResponse' + '500': + content: + application/json: + schema: + $ref: '#/components/schemas/JSONAPIErrorResponse' + description: Internal Server Error + security: + - apiKeyAuth: [] + appKeyAuth: [] + summary: List patterns clustered points + tags: + - Agent Observability + x-unstable: |- + **Note**: This endpoint is in preview and is subject to change. + If you have any feedback, contact [Datadog support](https://docs.datadoghq.com/help/). + /api/v2/llm-obs/v1/topic-discovery-configs: + get: + description: List all patterns configurations for the organization. + operationId: ListLLMObsPatternsConfigs + responses: + '200': + content: + application/json: + examples: + default: + value: + data: + attributes: + configs: + - created_at: '2024-01-15T10:30:00Z' + evp_query: '@ml_app:support-bot' + hierarchy_depth: 2 + id: a7c8d9e0-1234-5678-9abc-def012345678 + name: Support chatbot topics + num_records: 1000 + sampling_ratio: 0.1 + scope: '' + updated_at: '2024-01-15T10:30:00Z' + id: '1000000001' + type: list_topic_discovery_configs_response + schema: + $ref: '#/components/schemas/LLMObsPatternsConfigsResponse' + description: OK + '400': + content: + application/json: + schema: + $ref: '#/components/schemas/JSONAPIErrorResponse' + description: Bad Request + '401': + content: + application/json: + schema: + $ref: '#/components/schemas/JSONAPIErrorResponse' + description: Unauthorized + '403': + content: + application/json: + schema: + $ref: '#/components/schemas/JSONAPIErrorResponse' + description: Forbidden + '429': + $ref: '#/components/responses/TooManyRequestsResponse' + '500': + content: + application/json: + schema: + $ref: '#/components/schemas/JSONAPIErrorResponse' + description: Internal Server Error + security: + - apiKeyAuth: [] + appKeyAuth: [] + summary: List patterns configurations + tags: + - Agent Observability + x-unstable: |- + **Note**: This endpoint is in preview and is subject to change. + If you have any feedback, contact [Datadog support](https://docs.datadoghq.com/help/). + put: + description: Create a new patterns configuration, or update an existing one when a configuration ID is provided. + operationId: UpsertLLMObsPatternsConfig + requestBody: + content: + application/json: + examples: + default: + value: + data: + attributes: + evp_query: '@ml_app:support-bot' + hierarchy_depth: 2 + name: Support chatbot topics + num_records: 1000 + sampling_ratio: 0.1 + type: topic_discovery_configs + schema: + $ref: '#/components/schemas/LLMObsPatternsConfigUpsertRequest' + description: Patterns configuration payload. + required: true + responses: + '200': + content: + application/json: + examples: + default: + value: + data: + attributes: + created_at: '2024-01-15T10:30:00Z' + evp_query: '@ml_app:support-bot' + hierarchy_depth: 2 + name: Support chatbot topics + num_records: 1000 + sampling_ratio: 0.1 + scope: '' + updated_at: '2024-01-15T10:30:00Z' + id: a7c8d9e0-1234-5678-9abc-def012345678 + type: topic_discovery_configs + schema: + $ref: '#/components/schemas/LLMObsPatternsConfigResponse' + description: OK + '400': + content: + application/json: + schema: + $ref: '#/components/schemas/JSONAPIErrorResponse' + description: Bad Request + '401': + content: + application/json: + schema: + $ref: '#/components/schemas/JSONAPIErrorResponse' + description: Unauthorized + '403': + content: + application/json: + schema: + $ref: '#/components/schemas/JSONAPIErrorResponse' + description: Forbidden + '404': + content: + application/json: + schema: + $ref: '#/components/schemas/JSONAPIErrorResponse' + description: Not Found + '429': + $ref: '#/components/responses/TooManyRequestsResponse' + '500': + content: + application/json: + schema: + $ref: '#/components/schemas/JSONAPIErrorResponse' + description: Internal Server Error + security: + - apiKeyAuth: [] + appKeyAuth: [] + summary: Create or update a patterns configuration + tags: + - Agent Observability + x-unstable: |- + **Note**: This endpoint is in preview and is subject to change. + If you have any feedback, contact [Datadog support](https://docs.datadoghq.com/help/). + /api/v2/llm-obs/v1/topic-discovery-configs/latest: + get: + description: Retrieve the patterns configuration for the organization. + operationId: GetLLMObsPatternsConfig + responses: + '200': + content: + application/json: + examples: + default: + value: + data: + attributes: + created_at: '2024-01-15T10:30:00Z' + evp_query: '@ml_app:support-bot' + hierarchy_depth: 2 + name: Support chatbot topics + num_records: 1000 + sampling_ratio: 0.1 + scope: '' + updated_at: '2024-01-15T10:30:00Z' + id: a7c8d9e0-1234-5678-9abc-def012345678 + type: topic_discovery_configs + schema: + $ref: '#/components/schemas/LLMObsPatternsConfigResponse' + description: OK + '400': + content: + application/json: + schema: + $ref: '#/components/schemas/JSONAPIErrorResponse' + description: Bad Request + '401': + content: + application/json: + schema: + $ref: '#/components/schemas/JSONAPIErrorResponse' + description: Unauthorized + '403': + content: + application/json: + schema: + $ref: '#/components/schemas/JSONAPIErrorResponse' + description: Forbidden + '404': + content: + application/json: + schema: + $ref: '#/components/schemas/JSONAPIErrorResponse' + description: Not Found + '429': + $ref: '#/components/responses/TooManyRequestsResponse' + '500': + content: + application/json: + schema: + $ref: '#/components/schemas/JSONAPIErrorResponse' + description: Internal Server Error + security: + - apiKeyAuth: [] + appKeyAuth: [] + summary: Get a patterns configuration + tags: + - Agent Observability + x-unstable: |- + **Note**: This endpoint is in preview and is subject to change. + If you have any feedback, contact [Datadog support](https://docs.datadoghq.com/help/). + /api/v2/llm-obs/v1/topic-discovery-configs/{config_id}: + delete: + description: Delete a patterns configuration by its ID. + operationId: DeleteLLMObsPatternsConfig + parameters: + - $ref: '#/components/parameters/LLMObsPatternsConfigIDPathParameter' + responses: + '204': + description: No Content + '400': + content: + application/json: + schema: + $ref: '#/components/schemas/JSONAPIErrorResponse' + description: Bad Request + '401': + content: + application/json: + schema: + $ref: '#/components/schemas/JSONAPIErrorResponse' + description: Unauthorized + '403': + content: + application/json: + schema: + $ref: '#/components/schemas/JSONAPIErrorResponse' + description: Forbidden + '404': + content: + application/json: + schema: + $ref: '#/components/schemas/JSONAPIErrorResponse' + description: Not Found + '429': + $ref: '#/components/responses/TooManyRequestsResponse' + '500': + content: + application/json: + schema: + $ref: '#/components/schemas/JSONAPIErrorResponse' + description: Internal Server Error + security: + - apiKeyAuth: [] + appKeyAuth: [] + summary: Delete a patterns configuration + tags: + - Agent Observability + x-unstable: |- + **Note**: This endpoint is in preview and is subject to change. + If you have any feedback, contact [Datadog support](https://docs.datadoghq.com/help/). + /api/v2/llm-obs/v1/topic-discovery-runs: + get: + description: List the completed patterns runs for a configuration. + operationId: ListLLMObsPatternsRuns + parameters: + - $ref: '#/components/parameters/LLMObsPatternsConfigIDQueryParameter' + responses: + '200': + content: + application/json: + examples: + default: + value: + data: + attributes: + runs: + - completed_at: '2024-01-15T10:45:00Z' + created_at: '2024-01-15T10:30:00Z' + id: 3fd6b5e0-8910-4b1c-a7d0-5b84de329012 + status: completed + id: a7c8d9e0-1234-5678-9abc-def012345678 + type: list_topic_discovery_runs_response + schema: + $ref: '#/components/schemas/LLMObsPatternsRunsResponse' + description: OK + '400': + content: + application/json: + schema: + $ref: '#/components/schemas/JSONAPIErrorResponse' + description: Bad Request + '401': + content: + application/json: + schema: + $ref: '#/components/schemas/JSONAPIErrorResponse' + description: Unauthorized + '403': + content: + application/json: + schema: + $ref: '#/components/schemas/JSONAPIErrorResponse' + description: Forbidden + '404': + content: + application/json: + schema: + $ref: '#/components/schemas/JSONAPIErrorResponse' + description: Not Found + '429': + $ref: '#/components/responses/TooManyRequestsResponse' + '500': + content: + application/json: + schema: + $ref: '#/components/schemas/JSONAPIErrorResponse' + description: Internal Server Error + security: + - apiKeyAuth: [] + appKeyAuth: [] + summary: List patterns runs + tags: + - Agent Observability + x-unstable: |- + **Note**: This endpoint is in preview and is subject to change. + If you have any feedback, contact [Datadog support](https://docs.datadoghq.com/help/). + post: + description: Start a patterns run for a given configuration. The run executes asynchronously. + operationId: TriggerLLMObsPatterns + requestBody: + content: + application/json: + examples: + default: + value: + data: + attributes: + config_id: a7c8d9e0-1234-5678-9abc-def012345678 + type: topic_discovery + schema: + $ref: '#/components/schemas/LLMObsPatternsTriggerRequest' + description: Trigger patterns payload. + required: true + responses: + '202': + content: + application/json: + examples: + default: + value: + data: + attributes: + config_id: a7c8d9e0-1234-5678-9abc-def012345678 + run_id: 3fd6b5e0-8910-4b1c-a7d0-5b84de329012 + status: started + id: a7c8d9e0-1234-5678-9abc-def012345678 + type: topic_discovery_run + schema: + $ref: '#/components/schemas/LLMObsPatternsTriggerResponse' + description: Accepted + '400': + content: + application/json: + schema: + $ref: '#/components/schemas/JSONAPIErrorResponse' + description: Bad Request + '401': + content: + application/json: + schema: + $ref: '#/components/schemas/JSONAPIErrorResponse' + description: Unauthorized + '403': + content: + application/json: + schema: + $ref: '#/components/schemas/JSONAPIErrorResponse' + description: Forbidden + '404': + content: + application/json: + schema: + $ref: '#/components/schemas/JSONAPIErrorResponse' + description: Not Found + '429': + $ref: '#/components/responses/TooManyRequestsResponse' + '500': + content: + application/json: + schema: + $ref: '#/components/schemas/JSONAPIErrorResponse' + description: Internal Server Error + security: + - apiKeyAuth: [] + appKeyAuth: [] + summary: Trigger a patterns run + tags: + - Agent Observability + x-unstable: |- + **Note**: This endpoint is in preview and is subject to change. + If you have any feedback, contact [Datadog support](https://docs.datadoghq.com/help/). + /api/v2/llm-obs/v1/topic-discovery-runs/status: + get: + description: |- + Retrieve the status and step-by-step progress of the current or most recent + patterns run for a configuration. + operationId: GetLLMObsPatternsRunStatus + parameters: + - $ref: '#/components/parameters/LLMObsPatternsConfigIDQueryParameter' + responses: + '200': + content: + application/json: + examples: + default: + value: + data: + attributes: + created_at: '2024-01-15T10:30:00Z' + progress: + - name: query_evp + started_at: '2024-01-15T10:30:05Z' + status: completed + - name: generate_topics + started_at: '2024-01-15T10:32:00Z' + status: running + status: running + step: generate_topics + id: 3fd6b5e0-8910-4b1c-a7d0-5b84de329012 + type: topic_discovery_run_status + schema: + $ref: '#/components/schemas/LLMObsPatternsRunStatusResponse' + description: OK + '400': + content: + application/json: + schema: + $ref: '#/components/schemas/JSONAPIErrorResponse' + description: Bad Request + '401': + content: + application/json: + schema: + $ref: '#/components/schemas/JSONAPIErrorResponse' + description: Unauthorized + '403': + content: + application/json: + schema: + $ref: '#/components/schemas/JSONAPIErrorResponse' + description: Forbidden + '404': + content: + application/json: + schema: + $ref: '#/components/schemas/JSONAPIErrorResponse' + description: Not Found + '429': + $ref: '#/components/responses/TooManyRequestsResponse' + '500': + content: + application/json: + schema: + $ref: '#/components/schemas/JSONAPIErrorResponse' + description: Internal Server Error + security: + - apiKeyAuth: [] + appKeyAuth: [] + summary: Get patterns run status + tags: + - Agent Observability + x-unstable: |- + **Note**: This endpoint is in preview and is subject to change. + If you have any feedback, contact [Datadog support](https://docs.datadoghq.com/help/). + /api/v2/llm-obs/v1/topic-discovery-topics: + get: + description: |- + List the topics discovered by a patterns run. When no run is specified, + the most recent completed run is used. + operationId: ListLLMObsPatternsTopics + parameters: + - $ref: '#/components/parameters/LLMObsPatternsConfigIDQueryParameter' + - $ref: '#/components/parameters/LLMObsPatternsRunIDQueryParameter' + responses: + '200': + content: + application/json: + examples: + default: + value: + data: + attributes: + completed_at: '2024-01-15T10:45:00Z' + config_id: a7c8d9e0-1234-5678-9abc-def012345678 + created_at: '2024-01-15T10:30:00Z' + previous_run_id: '' + run_id: 3fd6b5e0-8910-4b1c-a7d0-5b84de329012 + topics: + - created_at: '2024-01-15T10:44:00Z' + description: Questions about invoices, charges, and refunds. + first_seen_at: '2024-01-15T10:44:00Z' + hierarchy_level: 0 + id: 5c1fae90-2b6d-4e3a-9f12-7a0c4d8e6b21 + is_validated: true + name: Billing questions + parent_topic_id: '' + point_count: 125 + run_id: 3fd6b5e0-8910-4b1c-a7d0-5b84de329012 + id: 3fd6b5e0-8910-4b1c-a7d0-5b84de329012 + type: get_topics_response + schema: + $ref: '#/components/schemas/LLMObsPatternsTopicsResponse' + description: OK + '400': + content: + application/json: + schema: + $ref: '#/components/schemas/JSONAPIErrorResponse' + description: Bad Request + '401': + content: + application/json: + schema: + $ref: '#/components/schemas/JSONAPIErrorResponse' + description: Unauthorized + '403': + content: + application/json: + schema: + $ref: '#/components/schemas/JSONAPIErrorResponse' + description: Forbidden + '404': + content: + application/json: + schema: + $ref: '#/components/schemas/JSONAPIErrorResponse' + description: Not Found + '429': + $ref: '#/components/responses/TooManyRequestsResponse' + '500': + content: + application/json: + schema: + $ref: '#/components/schemas/JSONAPIErrorResponse' + description: Internal Server Error + security: + - apiKeyAuth: [] + appKeyAuth: [] + summary: List patterns topics + tags: + - Agent Observability + x-unstable: |- + **Note**: This endpoint is in preview and is subject to change. + If you have any feedback, contact [Datadog support](https://docs.datadoghq.com/help/). + /api/v2/llm-obs/v1/topic-discovery-topics/with-cluster-points: + get: + description: |- + List the topics discovered by a patterns run, with the clustered points attached + inline to each leaf topic. When no run is specified, the most recent completed + run is used. + operationId: ListLLMObsPatternsTopicsWithClusteredPoints + parameters: + - $ref: '#/components/parameters/LLMObsPatternsConfigIDQueryParameter' + - $ref: '#/components/parameters/LLMObsPatternsRunIDQueryParameter' + - $ref: '#/components/parameters/LLMObsPatternsIncludeMetricsQueryParameter' + responses: + '200': + content: + application/json: + examples: + default: + value: + data: + attributes: + completed_at: '2024-01-15T10:45:00Z' + config_id: a7c8d9e0-1234-5678-9abc-def012345678 + created_at: '2024-01-15T10:30:00Z' + previous_run_id: '' + run_id: 3fd6b5e0-8910-4b1c-a7d0-5b84de329012 + topics: + - cluster_points: + - duration: 1500000 + estimated_total_cost: 0.0021 + evaluation: + sentiment: positive + input_tokens: 128 + output_tokens: 64 + span_id: '1234567890123456789' + status: ok + total_tokens: 192 + created_at: '2024-01-15T10:44:00Z' + description: Questions about invoices, charges, and refunds. + first_seen_at: '2024-01-15T10:44:00Z' + hierarchy_level: 0 + id: 5c1fae90-2b6d-4e3a-9f12-7a0c4d8e6b21 + is_validated: true + name: Billing questions + parent_topic_id: '' + point_count: 125 + run_id: 3fd6b5e0-8910-4b1c-a7d0-5b84de329012 + id: 3fd6b5e0-8910-4b1c-a7d0-5b84de329012 + type: get_topics_with_cluster_points_response + schema: + $ref: '#/components/schemas/LLMObsPatternsTopicsWithClusteredPointsResponse' + description: OK + '400': + content: + application/json: + schema: + $ref: '#/components/schemas/JSONAPIErrorResponse' + description: Bad Request + '401': + content: + application/json: + schema: + $ref: '#/components/schemas/JSONAPIErrorResponse' + description: Unauthorized + '403': + content: + application/json: + schema: + $ref: '#/components/schemas/JSONAPIErrorResponse' + description: Forbidden + '404': + content: + application/json: + schema: + $ref: '#/components/schemas/JSONAPIErrorResponse' + description: Not Found + '429': + $ref: '#/components/responses/TooManyRequestsResponse' + '500': + content: + application/json: + schema: + $ref: '#/components/schemas/JSONAPIErrorResponse' + description: Internal Server Error + security: + - apiKeyAuth: [] + appKeyAuth: [] + summary: List patterns topics with clustered points + tags: + - Agent Observability + x-unstable: |- + **Note**: This endpoint is in preview and is subject to change. + If you have any feedback, contact [Datadog support](https://docs.datadoghq.com/help/). + /api/v2/llm-obs/v1/{project_id}/datasets: + get: + description: List all Agent Observability datasets for a project, sorted by creation date, newest first. + operationId: ListLLMObsDatasets + parameters: + - $ref: '#/components/parameters/LLMObsProjectIDPathParameter' + - description: Filter datasets by name. + in: query + name: filter[name] + schema: + type: string + - description: Filter datasets by dataset ID. + in: query + name: filter[id] + schema: + type: string + - description: Use the Pagination cursor to retrieve the next page of results. + in: query + name: page[cursor] + schema: + type: string + - description: Maximum number of results to return per page. + in: query + name: page[limit] + schema: + format: int64 + type: integer + responses: + '200': + content: + application/json: + examples: + default: + value: + data: + - attributes: + created_at: '2024-01-01T00:00:00+00:00' + current_version: 1 + description: '' + metadata: null + name: My LLM Dataset + updated_at: '2024-01-01T00:00:00+00:00' + id: 00000000-0000-0000-0000-000000000005 + type: datasets + schema: + $ref: '#/components/schemas/LLMObsDatasetsResponse' + description: OK + '400': + content: + application/json: + schema: + $ref: '#/components/schemas/JSONAPIErrorResponse' + description: Bad Request + '401': + content: + application/json: + schema: + $ref: '#/components/schemas/JSONAPIErrorResponse' + description: Unauthorized + '403': + content: + application/json: + schema: + $ref: '#/components/schemas/JSONAPIErrorResponse' + description: Forbidden + '404': + content: + application/json: + schema: + $ref: '#/components/schemas/JSONAPIErrorResponse' + description: Not Found + '429': + $ref: '#/components/responses/TooManyRequestsResponse' + security: + - apiKeyAuth: [] + appKeyAuth: [] + summary: List Agent Observability datasets + tags: + - Agent Observability + x-unstable: |- + **Note**: This endpoint is in preview and is subject to change. + If you have any feedback, contact [Datadog support](https://docs.datadoghq.com/help/). + post: + description: Create a new Agent Observability dataset within the specified project. + operationId: CreateLLMObsDataset + parameters: + - $ref: '#/components/parameters/LLMObsProjectIDPathParameter' + requestBody: + content: + application/json: + examples: + default: + value: + data: + attributes: + name: My LLM Dataset + type: datasets + schema: + $ref: '#/components/schemas/LLMObsDatasetRequest' + description: Create dataset payload. + required: true + responses: + '200': + content: + application/json: + examples: + default: + value: + data: + attributes: + created_at: '2024-01-01T00:00:00+00:00' + current_version: 1 + description: '' + metadata: null + name: My LLM Dataset + updated_at: '2024-01-01T00:00:00+00:00' + id: 00000000-0000-0000-0000-000000000006 + type: datasets + schema: + $ref: '#/components/schemas/LLMObsDatasetResponse' + description: OK + '201': + content: + application/json: + examples: + default: + value: + data: + attributes: + created_at: '2024-01-01T00:00:00+00:00' + current_version: 1 + description: '' + metadata: null + name: My LLM Dataset + updated_at: '2024-01-01T00:00:00+00:00' + id: 00000000-0000-0000-0000-000000000007 + type: datasets + schema: + $ref: '#/components/schemas/LLMObsDatasetResponse' + description: Created + '400': + content: + application/json: + schema: + $ref: '#/components/schemas/JSONAPIErrorResponse' + description: Bad Request + '401': + content: + application/json: + schema: + $ref: '#/components/schemas/JSONAPIErrorResponse' + description: Unauthorized + '403': + content: + application/json: + schema: + $ref: '#/components/schemas/JSONAPIErrorResponse' + description: Forbidden + '404': + content: + application/json: + schema: + $ref: '#/components/schemas/JSONAPIErrorResponse' + description: Not Found + '429': + $ref: '#/components/responses/TooManyRequestsResponse' + security: + - apiKeyAuth: [] + appKeyAuth: [] + summary: Create an Agent Observability dataset + tags: + - Agent Observability + x-unstable: |- + **Note**: This endpoint is in preview and is subject to change. + If you have any feedback, contact [Datadog support](https://docs.datadoghq.com/help/). + /api/v2/llm-obs/v1/{project_id}/datasets/delete: + post: + description: Delete one or more Agent Observability datasets within the specified project. + operationId: DeleteLLMObsDatasets + parameters: + - $ref: '#/components/parameters/LLMObsProjectIDPathParameter' + requestBody: + content: + application/json: + examples: + default: + value: + data: + attributes: + dataset_ids: + - 9f64e5c7-dc5a-45c8-a17c-1b85f0bec97d + type: datasets + schema: + $ref: '#/components/schemas/LLMObsDeleteDatasetsRequest' + description: Delete datasets payload. + required: true + responses: + '204': + description: No Content + '400': + content: + application/json: + schema: + $ref: '#/components/schemas/JSONAPIErrorResponse' + description: Bad Request + '401': + content: + application/json: + schema: + $ref: '#/components/schemas/JSONAPIErrorResponse' + description: Unauthorized + '403': + content: + application/json: + schema: + $ref: '#/components/schemas/JSONAPIErrorResponse' + description: Forbidden + '404': + content: + application/json: + schema: + $ref: '#/components/schemas/JSONAPIErrorResponse' + description: Not Found + '429': + $ref: '#/components/responses/TooManyRequestsResponse' + security: + - apiKeyAuth: [] + appKeyAuth: [] + summary: Delete Agent Observability datasets + tags: + - Agent Observability + x-unstable: |- + **Note**: This endpoint is in preview and is subject to change. + If you have any feedback, contact [Datadog support](https://docs.datadoghq.com/help/). + /api/v2/llm-obs/v1/{project_id}/datasets/{dataset_id}: + patch: + description: Partially update an existing Agent Observability dataset within the specified project. + operationId: UpdateLLMObsDataset + parameters: + - $ref: '#/components/parameters/LLMObsProjectIDPathParameter' + - $ref: '#/components/parameters/LLMObsDatasetIDPathParameter' + requestBody: + content: + application/json: + examples: + default: + value: + data: + type: datasets + schema: + $ref: '#/components/schemas/LLMObsDatasetUpdateRequest' + description: Update dataset payload. + required: true + responses: + '200': + content: + application/json: + examples: + default: + value: + data: + attributes: + created_at: '2024-01-01T00:00:00+00:00' + current_version: 1 + description: '' + metadata: null + name: My LLM Dataset + updated_at: '2024-01-01T00:00:00+00:00' + id: 00000000-0000-0000-0000-000000000008 + type: datasets + schema: + $ref: '#/components/schemas/LLMObsDatasetResponse' + description: OK + '400': + content: + application/json: + schema: + $ref: '#/components/schemas/JSONAPIErrorResponse' + description: Bad Request + '401': + content: + application/json: + schema: + $ref: '#/components/schemas/JSONAPIErrorResponse' + description: Unauthorized + '403': + content: + application/json: + schema: + $ref: '#/components/schemas/JSONAPIErrorResponse' + description: Forbidden + '404': + content: + application/json: + schema: + $ref: '#/components/schemas/JSONAPIErrorResponse' + description: Not Found + '429': + $ref: '#/components/responses/TooManyRequestsResponse' + security: + - apiKeyAuth: [] + appKeyAuth: [] + summary: Update an Agent Observability dataset + tags: + - Agent Observability + x-unstable: |- + **Note**: This endpoint is in preview and is subject to change. + If you have any feedback, contact [Datadog support](https://docs.datadoghq.com/help/). + /api/v2/llm-obs/v1/{project_id}/datasets/{dataset_id}/batch_update: + post: + description: Insert, update, and delete records in a single dataset operation. By default, a new dataset version is created when the batch is applied. + operationId: BatchUpdateLLMObsDataset + parameters: + - description: The ID of the Agent Observability project. + example: a33671aa-24fd-4dcd-9b33-a8ec7dde7751 + in: path + name: project_id + required: true + schema: + type: string + - description: The ID of the Agent Observability dataset. + example: 9f64e5c7-dc5a-45c8-a17c-1b85f0bec97d + in: path + name: dataset_id + required: true + schema: + type: string + requestBody: + content: + application/json: + examples: + default: + value: + data: + attributes: + create_new_version: true + delete_records: + - rec-old-record-1 + insert_records: + - expected_output: + answer: Paris + input: + question: What is the capital of France? + tags: + - topic:geography + update_records: + - expected_output: + answer: Paris, France + id: rec-7c3f5a1b-9e2d-4f8a-b1c6-3d7e9f0a2b4c + id: 9f64e5c7-dc5a-45c8-a17c-1b85f0bec97d + type: datasets + schema: + $ref: '#/components/schemas/LLMObsDatasetBatchUpdateRequest' + description: Batch update payload. + required: true + responses: + '200': + content: + application/json: + examples: + default: + value: + data: + - records: + - created_at: '2024-01-15T10:30:00Z' + dataset_id: 9f64e5c7-dc5a-45c8-a17c-1b85f0bec97d + expected_output: + answer: Paris, France + id: rec-7c3f5a1b-9e2d-4f8a-b1c6-3d7e9f0a2b4c + input: + question: What is the capital of France? + metadata: null + updated_at: '2024-01-15T10:30:00Z' + schema: + $ref: '#/components/schemas/LLMObsDatasetRecordsMutationResponse' + description: OK + '400': + content: + application/json: + schema: + $ref: '#/components/schemas/JSONAPIErrorResponse' + description: Bad Request + '401': + content: + application/json: + schema: + $ref: '#/components/schemas/JSONAPIErrorResponse' + description: Unauthorized + '403': + content: + application/json: + schema: + $ref: '#/components/schemas/JSONAPIErrorResponse' + description: Forbidden + '404': + content: + application/json: + schema: + $ref: '#/components/schemas/JSONAPIErrorResponse' + description: Not Found + '413': + content: + application/json: + schema: + $ref: '#/components/schemas/JSONAPIErrorResponse' + description: Payload Too Large + '429': + $ref: '#/components/responses/TooManyRequestsResponse' + '500': + content: + application/json: + schema: + $ref: '#/components/schemas/JSONAPIErrorResponse' + description: Internal Server Error + security: + - apiKeyAuth: [] + appKeyAuth: [] + summary: Batch update Agent Observability dataset records + tags: + - Agent Observability + x-unstable: |- + **Note**: This endpoint is in preview and is subject to change. + If you have any feedback, contact [Datadog support](https://docs.datadoghq.com/help/). + /api/v2/llm-obs/v1/{project_id}/datasets/{dataset_id}/clone: + post: + description: Clone a dataset, copying its current records into a new dataset within the same project. + operationId: CloneLLMObsDataset + parameters: + - description: The ID of the Agent Observability project. + example: a33671aa-24fd-4dcd-9b33-a8ec7dde7751 + in: path + name: project_id + required: true + schema: + type: string + - description: The ID of the source Agent Observability dataset to clone. + example: 9f64e5c7-dc5a-45c8-a17c-1b85f0bec97d + in: path + name: dataset_id + required: true + schema: + type: string + requestBody: + content: + application/json: + examples: + default: + value: + data: + attributes: + description: Clone of the original dataset for experimentation. + name: My cloned dataset + id: 9f64e5c7-dc5a-45c8-a17c-1b85f0bec97d + type: datasets + schema: + $ref: '#/components/schemas/LLMObsDatasetCloneRequest' + description: Clone dataset payload. + required: true + responses: + '200': + content: + application/json: + examples: + default: + value: + data: + attributes: + created_at: '2024-01-15T10:30:00Z' + current_version: 0 + description: Clone of the original dataset for experimentation. + metadata: null + name: My cloned dataset + updated_at: '2024-01-15T10:30:00Z' + id: 7c8d4e9a-1234-5678-9abc-def012345678 + type: datasets + schema: + $ref: '#/components/schemas/LLMObsDatasetResponse' + description: OK + '400': + content: + application/json: + schema: + $ref: '#/components/schemas/JSONAPIErrorResponse' + description: Bad Request + '401': + content: + application/json: + schema: + $ref: '#/components/schemas/JSONAPIErrorResponse' + description: Unauthorized + '403': + content: + application/json: + schema: + $ref: '#/components/schemas/JSONAPIErrorResponse' + description: Forbidden + '404': + content: + application/json: + schema: + $ref: '#/components/schemas/JSONAPIErrorResponse' + description: Not Found + '429': + $ref: '#/components/responses/TooManyRequestsResponse' + '500': + content: + application/json: + schema: + $ref: '#/components/schemas/JSONAPIErrorResponse' + description: Internal Server Error + security: + - apiKeyAuth: [] + appKeyAuth: [] + summary: Clone an Agent Observability dataset + tags: + - Agent Observability + x-unstable: |- + **Note**: This endpoint is in preview and is subject to change. + If you have any feedback, contact [Datadog support](https://docs.datadoghq.com/help/). + /api/v2/llm-obs/v1/{project_id}/datasets/{dataset_id}/draft_state: + get: + description: Retrieve the draft state of a dataset, including whether it is currently locked for editing and which user holds the lock. + operationId: GetLLMObsDatasetDraftState + parameters: + - description: The ID of the Agent Observability project. + example: a33671aa-24fd-4dcd-9b33-a8ec7dde7751 + in: path + name: project_id + required: true + schema: + type: string + - description: The ID of the Agent Observability dataset. + example: 9f64e5c7-dc5a-45c8-a17c-1b85f0bec97d + in: path + name: dataset_id + required: true + schema: + type: string + responses: + '200': + content: + application/json: + examples: + default: + value: + data: + attributes: + drafting_since: '2024-01-15T10:30:00Z' + user: + email: jane.doe@example.com + handle: jane.doe@example.com + id: 00000000-0000-0000-0000-000000000010 + name: Jane Doe + id: 9f64e5c7-dc5a-45c8-a17c-1b85f0bec97d + type: draft_state_data + schema: + $ref: '#/components/schemas/LLMObsDatasetDraftStateResponse' + description: OK + '400': + content: + application/json: + schema: + $ref: '#/components/schemas/JSONAPIErrorResponse' + description: Bad Request + '401': + content: + application/json: + schema: + $ref: '#/components/schemas/JSONAPIErrorResponse' + description: Unauthorized + '403': + content: + application/json: + schema: + $ref: '#/components/schemas/JSONAPIErrorResponse' + description: Forbidden + '404': + content: + application/json: + schema: + $ref: '#/components/schemas/JSONAPIErrorResponse' + description: Not Found + '429': + $ref: '#/components/responses/TooManyRequestsResponse' + '500': + content: + application/json: + schema: + $ref: '#/components/schemas/JSONAPIErrorResponse' + description: Internal Server Error + security: + - apiKeyAuth: [] + appKeyAuth: [] + summary: Get Agent Observability dataset draft state + tags: + - Agent Observability + x-unstable: |- + **Note**: This endpoint is in preview and is subject to change. + If you have any feedback, contact [Datadog support](https://docs.datadoghq.com/help/). + /api/v2/llm-obs/v1/{project_id}/datasets/{dataset_id}/draft_state/lock: + patch: + description: Acquire the draft lock on a dataset for the calling user. The lock prevents other users from concurrently editing the dataset draft. + operationId: LockLLMObsDatasetDraftState + parameters: + - description: The ID of the Agent Observability project. + example: a33671aa-24fd-4dcd-9b33-a8ec7dde7751 + in: path + name: project_id + required: true + schema: + type: string + - description: The ID of the Agent Observability dataset. + example: 9f64e5c7-dc5a-45c8-a17c-1b85f0bec97d + in: path + name: dataset_id + required: true + schema: + type: string + responses: + '200': + content: + application/json: + examples: + default: + value: + data: + attributes: + drafting_since: '2024-01-15T10:30:00Z' + user: + email: jane.doe@example.com + handle: jane.doe@example.com + id: 00000000-0000-0000-0000-000000000010 + name: Jane Doe + id: 9f64e5c7-dc5a-45c8-a17c-1b85f0bec97d + type: draft_state_data + schema: + $ref: '#/components/schemas/LLMObsDatasetDraftStateResponse' + description: OK + '400': + content: + application/json: + schema: + $ref: '#/components/schemas/JSONAPIErrorResponse' + description: Bad Request + '401': + content: + application/json: + schema: + $ref: '#/components/schemas/JSONAPIErrorResponse' + description: Unauthorized + '403': + content: + application/json: + schema: + $ref: '#/components/schemas/JSONAPIErrorResponse' + description: Forbidden + '404': + content: + application/json: + schema: + $ref: '#/components/schemas/JSONAPIErrorResponse' + description: Not Found + '429': + $ref: '#/components/responses/TooManyRequestsResponse' + '500': + content: + application/json: + schema: + $ref: '#/components/schemas/JSONAPIErrorResponse' + description: Internal Server Error + security: + - apiKeyAuth: [] + appKeyAuth: [] + summary: Lock Agent Observability dataset draft state + tags: + - Agent Observability + x-unstable: |- + **Note**: This endpoint is in preview and is subject to change. + If you have any feedback, contact [Datadog support](https://docs.datadoghq.com/help/). + /api/v2/llm-obs/v1/{project_id}/datasets/{dataset_id}/draft_state/unlock: + patch: + description: Release the draft lock on a dataset held by the calling user, allowing other users to edit the dataset draft. + operationId: UnlockLLMObsDatasetDraftState + parameters: + - description: The ID of the Agent Observability project. + example: a33671aa-24fd-4dcd-9b33-a8ec7dde7751 + in: path + name: project_id + required: true + schema: + type: string + - description: The ID of the Agent Observability dataset. + example: 9f64e5c7-dc5a-45c8-a17c-1b85f0bec97d + in: path + name: dataset_id + required: true + schema: + type: string + responses: + '200': + description: OK + '400': + content: + application/json: + schema: + $ref: '#/components/schemas/JSONAPIErrorResponse' + description: Bad Request + '401': + content: + application/json: + schema: + $ref: '#/components/schemas/JSONAPIErrorResponse' + description: Unauthorized + '403': + content: + application/json: + schema: + $ref: '#/components/schemas/JSONAPIErrorResponse' + description: Forbidden + '404': + content: + application/json: + schema: + $ref: '#/components/schemas/JSONAPIErrorResponse' + description: Not Found + '429': + $ref: '#/components/responses/TooManyRequestsResponse' + '500': + content: + application/json: + schema: + $ref: '#/components/schemas/JSONAPIErrorResponse' + description: Internal Server Error + security: + - apiKeyAuth: [] + appKeyAuth: [] + summary: Unlock Agent Observability dataset draft state + tags: + - Agent Observability + x-unstable: |- + **Note**: This endpoint is in preview and is subject to change. + If you have any feedback, contact [Datadog support](https://docs.datadoghq.com/help/). + /api/v2/llm-obs/v1/{project_id}/datasets/{dataset_id}/export: + get: + description: Download the contents of a dataset as a CSV file. The download is streamed and includes one row per dataset record. + operationId: ExportLLMObsDataset + parameters: + - description: The ID of the Agent Observability project. + example: a33671aa-24fd-4dcd-9b33-a8ec7dde7751 + in: path + name: project_id + required: true + schema: + type: string + - description: The ID of the Agent Observability dataset. + example: 9f64e5c7-dc5a-45c8-a17c-1b85f0bec97d + in: path + name: dataset_id + required: true + schema: + type: string + - description: Export format for the dataset contents. Only `csv` is currently supported. + in: query + name: format + schema: + $ref: '#/components/schemas/LLMObsDatasetExportFormat' + - description: Version of the dataset to export. If omitted, the current version is used. Must be between 0 and the current version of the dataset, inclusive. + in: query + name: version + schema: + format: int64 + maximum: 2147483647 + type: integer + responses: + '200': + content: + text/csv: + examples: + default: + value: |- + id,input,expected_output,metadata,tags + rec-1,"What is 2+2?","4",{},"" + schema: + type: string + description: OK + '400': + content: + application/json: + schema: + $ref: '#/components/schemas/JSONAPIErrorResponse' + description: Bad Request + '401': + content: + application/json: + schema: + $ref: '#/components/schemas/JSONAPIErrorResponse' + description: Unauthorized + '403': + content: + application/json: + schema: + $ref: '#/components/schemas/JSONAPIErrorResponse' + description: Forbidden + '404': + content: + application/json: + schema: + $ref: '#/components/schemas/JSONAPIErrorResponse' + description: Not Found + '429': + $ref: '#/components/responses/TooManyRequestsResponse' + '500': + content: + application/json: + schema: + $ref: '#/components/schemas/JSONAPIErrorResponse' + description: Internal Server Error + security: + - apiKeyAuth: [] + appKeyAuth: [] + summary: Export an Agent Observability dataset + tags: + - Agent Observability + x-unstable: |- + **Note**: This endpoint is in preview and is subject to change. + If you have any feedback, contact [Datadog support](https://docs.datadoghq.com/help/). + /api/v2/llm-obs/v1/{project_id}/datasets/{dataset_id}/records: + get: + description: List all records in an Agent Observability dataset, sorted by creation date, newest first. + operationId: ListLLMObsDatasetRecords + parameters: + - $ref: '#/components/parameters/LLMObsProjectIDPathParameter' + - $ref: '#/components/parameters/LLMObsDatasetIDPathParameter' + - description: Retrieve records from a specific dataset version. Defaults to the current version. + in: query + name: filter[version] + schema: + format: int64 + type: integer + - description: Use the Pagination cursor to retrieve the next page of results. + in: query + name: page[cursor] + schema: + type: string + - description: Maximum number of results to return per page. + in: query + name: page[limit] + schema: + format: int64 + type: integer + responses: + '200': + content: + application/json: + examples: + default: + value: + data: + - created_at: '2024-01-01T00:00:00+00:00' + dataset_id: 00000000-0000-0000-0000-000000000022 + expected_output: + answer: Paris + id: 00000000-0000-0000-0000-000000000021 + input: + question: What is the capital of France? + metadata: null + updated_at: '2024-01-01T00:00:00+00:00' + schema: + $ref: '#/components/schemas/LLMObsDatasetRecordsListResponse' + description: OK + '400': + content: + application/json: + schema: + $ref: '#/components/schemas/JSONAPIErrorResponse' + description: Bad Request + '401': + content: + application/json: + schema: + $ref: '#/components/schemas/JSONAPIErrorResponse' + description: Unauthorized + '403': + content: + application/json: + schema: + $ref: '#/components/schemas/JSONAPIErrorResponse' + description: Forbidden + '404': + content: + application/json: + schema: + $ref: '#/components/schemas/JSONAPIErrorResponse' + description: Not Found + '429': + $ref: '#/components/responses/TooManyRequestsResponse' + security: + - apiKeyAuth: [] + appKeyAuth: [] + summary: List Agent Observability dataset records + tags: + - Agent Observability + x-unstable: |- + **Note**: This endpoint is in preview and is subject to change. + If you have any feedback, contact [Datadog support](https://docs.datadoghq.com/help/). + patch: + description: Update one or more existing records in an Agent Observability dataset. + operationId: UpdateLLMObsDatasetRecords + parameters: + - $ref: '#/components/parameters/LLMObsProjectIDPathParameter' + - $ref: '#/components/parameters/LLMObsDatasetIDPathParameter' + requestBody: + content: + application/json: + examples: + default: + value: + data: + attributes: + records: + - id: rec-7c3f5a1b-9e2d-4f8a-b1c6-3d7e9f0a2b4c + type: records + schema: + $ref: '#/components/schemas/LLMObsDatasetRecordsUpdateRequest' + description: Update records payload. + required: true + responses: + '200': + content: + application/json: + examples: + default: + value: + data: + - records: + - created_at: '2024-01-01T00:00:00+00:00' + dataset_id: 00000000-0000-0000-0000-000000000028 + expected_output: + answer: Paris + id: 00000000-0000-0000-0000-000000000027 + input: + question: What is the capital of France? + metadata: null + updated_at: '2024-01-01T00:00:00+00:00' + schema: + $ref: '#/components/schemas/LLMObsDatasetRecordsMutationResponse' + description: OK + '400': + content: + application/json: + schema: + $ref: '#/components/schemas/JSONAPIErrorResponse' + description: Bad Request + '401': + content: + application/json: + schema: + $ref: '#/components/schemas/JSONAPIErrorResponse' + description: Unauthorized + '403': + content: + application/json: + schema: + $ref: '#/components/schemas/JSONAPIErrorResponse' + description: Forbidden + '404': + content: + application/json: + schema: + $ref: '#/components/schemas/JSONAPIErrorResponse' + description: Not Found + '429': + $ref: '#/components/responses/TooManyRequestsResponse' + security: + - apiKeyAuth: [] + appKeyAuth: [] + summary: Update Agent Observability dataset records + tags: + - Agent Observability + x-unstable: |- + **Note**: This endpoint is in preview and is subject to change. + If you have any feedback, contact [Datadog support](https://docs.datadoghq.com/help/). + post: + description: Append one or more records to an Agent Observability dataset. + operationId: CreateLLMObsDatasetRecords + parameters: + - $ref: '#/components/parameters/LLMObsProjectIDPathParameter' + - $ref: '#/components/parameters/LLMObsDatasetIDPathParameter' + requestBody: + content: + application/json: + examples: + default: + value: + data: + type: records + schema: + $ref: '#/components/schemas/LLMObsDatasetRecordsRequest' + description: Append records payload. + required: true + responses: + '200': + content: + application/json: + examples: + default: + value: + data: + - records: + - created_at: '2024-01-01T00:00:00+00:00' + dataset_id: 00000000-0000-0000-0000-000000000024 + expected_output: + answer: Paris + id: 00000000-0000-0000-0000-000000000023 + input: + question: What is the capital of France? + metadata: null + updated_at: '2024-01-01T00:00:00+00:00' + schema: + $ref: '#/components/schemas/LLMObsDatasetRecordsMutationResponse' + description: OK + '201': + content: + application/json: + examples: + default: + value: + data: + - records: + - created_at: '2024-01-01T00:00:00+00:00' + dataset_id: 00000000-0000-0000-0000-000000000026 + expected_output: + answer: Paris + id: 00000000-0000-0000-0000-000000000025 + input: + question: What is the capital of France? + metadata: null + updated_at: '2024-01-01T00:00:00+00:00' + schema: + $ref: '#/components/schemas/LLMObsDatasetRecordsMutationResponse' + description: Created + '400': + content: + application/json: + schema: + $ref: '#/components/schemas/JSONAPIErrorResponse' + description: Bad Request + '401': + content: + application/json: + schema: + $ref: '#/components/schemas/JSONAPIErrorResponse' + description: Unauthorized + '403': + content: + application/json: + schema: + $ref: '#/components/schemas/JSONAPIErrorResponse' + description: Forbidden + '404': + content: + application/json: + schema: + $ref: '#/components/schemas/JSONAPIErrorResponse' + description: Not Found + '429': + $ref: '#/components/responses/TooManyRequestsResponse' + security: + - apiKeyAuth: [] + appKeyAuth: [] + summary: Append records to an Agent Observability dataset + tags: + - Agent Observability + x-unstable: |- + **Note**: This endpoint is in preview and is subject to change. + If you have any feedback, contact [Datadog support](https://docs.datadoghq.com/help/). + /api/v2/llm-obs/v1/{project_id}/datasets/{dataset_id}/records/delete: + post: + description: Delete one or more records from an Agent Observability dataset. + operationId: DeleteLLMObsDatasetRecords + parameters: + - $ref: '#/components/parameters/LLMObsProjectIDPathParameter' + - $ref: '#/components/parameters/LLMObsDatasetIDPathParameter' + requestBody: + content: + application/json: + examples: + default: + value: + data: + attributes: + record_ids: + - rec-7c3f5a1b-9e2d-4f8a-b1c6-3d7e9f0a2b4c + type: records + schema: + $ref: '#/components/schemas/LLMObsDeleteDatasetRecordsRequest' + description: Delete records payload. + required: true + responses: + '204': + description: No Content + '400': + content: + application/json: + schema: + $ref: '#/components/schemas/JSONAPIErrorResponse' + description: Bad Request + '401': + content: + application/json: + schema: + $ref: '#/components/schemas/JSONAPIErrorResponse' + description: Unauthorized + '403': + content: + application/json: + schema: + $ref: '#/components/schemas/JSONAPIErrorResponse' + description: Forbidden + '404': + content: + application/json: + schema: + $ref: '#/components/schemas/JSONAPIErrorResponse' + description: Not Found + '429': + $ref: '#/components/responses/TooManyRequestsResponse' + security: + - apiKeyAuth: [] + appKeyAuth: [] + summary: Delete Agent Observability dataset records + tags: + - Agent Observability + x-unstable: |- + **Note**: This endpoint is in preview and is subject to change. + If you have any feedback, contact [Datadog support](https://docs.datadoghq.com/help/). + /api/v2/llm-obs/v1/{project_id}/datasets/{dataset_id}/restore: + post: + description: Restore a dataset to a previous version. The dataset's current version is bumped, and its records are replaced with the records from the specified prior version. + operationId: RestoreLLMObsDatasetVersion + parameters: + - description: The ID of the Agent Observability project. + example: a33671aa-24fd-4dcd-9b33-a8ec7dde7751 + in: path + name: project_id + required: true + schema: + type: string + - description: The ID of the Agent Observability dataset. + example: 9f64e5c7-dc5a-45c8-a17c-1b85f0bec97d + in: path + name: dataset_id + required: true + schema: + type: string + requestBody: + content: + application/json: + examples: + default: + value: + data: + attributes: + dataset_version: 1 + id: 9f64e5c7-dc5a-45c8-a17c-1b85f0bec97d + type: datasets + schema: + $ref: '#/components/schemas/LLMObsDatasetRestoreVersionRequest' + description: Restore dataset version payload. + required: true + responses: + '200': + description: OK + '400': + content: + application/json: + schema: + $ref: '#/components/schemas/JSONAPIErrorResponse' + description: Bad Request + '401': + content: + application/json: + schema: + $ref: '#/components/schemas/JSONAPIErrorResponse' + description: Unauthorized + '403': + content: + application/json: + schema: + $ref: '#/components/schemas/JSONAPIErrorResponse' + description: Forbidden + '404': + content: + application/json: + schema: + $ref: '#/components/schemas/JSONAPIErrorResponse' + description: Not Found + '429': + $ref: '#/components/responses/TooManyRequestsResponse' + '500': + content: + application/json: + schema: + $ref: '#/components/schemas/JSONAPIErrorResponse' + description: Internal Server Error + security: + - apiKeyAuth: [] + appKeyAuth: [] + summary: Restore an Agent Observability dataset version + tags: + - Agent Observability + x-unstable: |- + **Note**: This endpoint is in preview and is subject to change. + If you have any feedback, contact [Datadog support](https://docs.datadoghq.com/help/). + /api/v2/llm-obs/v1/{project_id}/datasets/{dataset_id}/versions: + get: + description: List the active versions of a dataset. A version is created each time a dataset is referenced by an experiment run. + operationId: ListLLMObsDatasetVersions + parameters: + - description: The ID of the Agent Observability project. + example: a33671aa-24fd-4dcd-9b33-a8ec7dde7751 + in: path + name: project_id + required: true + schema: + type: string + - description: The ID of the Agent Observability dataset. + example: 9f64e5c7-dc5a-45c8-a17c-1b85f0bec97d + in: path + name: dataset_id + required: true + schema: + type: string + responses: + '200': + content: + application/json: + examples: + default: + value: + data: + - attributes: + dataset_id: 9f64e5c7-dc5a-45c8-a17c-1b85f0bec97d + last_used: '2024-01-15T10:30:00Z' + version_number: 1 + id: 3fd6b5e0-8910-4b1c-a7d0-5b84de329012 + type: dataset_version + - attributes: + dataset_id: 9f64e5c7-dc5a-45c8-a17c-1b85f0bec97d + last_used: '2024-02-20T14:45:00Z' + version_number: 2 + id: 4ee7c6f1-9a01-5c2d-b8e1-6c95ef43a123 + type: dataset_version + schema: + $ref: '#/components/schemas/LLMObsDatasetVersionsResponse' + description: OK + '400': + content: + application/json: + schema: + $ref: '#/components/schemas/JSONAPIErrorResponse' + description: Bad Request + '401': + content: + application/json: + schema: + $ref: '#/components/schemas/JSONAPIErrorResponse' + description: Unauthorized + '403': + content: + application/json: + schema: + $ref: '#/components/schemas/JSONAPIErrorResponse' + description: Forbidden + '404': + content: + application/json: + schema: + $ref: '#/components/schemas/JSONAPIErrorResponse' + description: Not Found + '429': + $ref: '#/components/responses/TooManyRequestsResponse' + '500': + content: + application/json: + schema: + $ref: '#/components/schemas/JSONAPIErrorResponse' + description: Internal Server Error + security: + - apiKeyAuth: [] + appKeyAuth: [] + summary: List Agent Observability dataset versions + tags: + - Agent Observability + x-unstable: |- + **Note**: This endpoint is in preview and is subject to change. + If you have any feedback, contact [Datadog support](https://docs.datadoghq.com/help/). + /api/v2/llm-obs/v2/experiments/{experiment_id}/events: + get: + deprecated: true + description: 'Retrieve spans and experiment-level summary metrics for a given experiment. Returns the full events payload without pagination. Deprecated: use `ListLLMObsExperimentEventsV3` instead.' + operationId: ListLLMObsExperimentEventsV2 + parameters: + - $ref: '#/components/parameters/LLMObsExperimentIDPathParameter' + responses: + '200': + content: + application/json: + examples: + default: + value: + data: + attributes: + spans: + - duration: 1500000000 + eval_metrics: [] + id: 00000000-0000-0000-0000-000000000002 + name: llm_call + span_id: span-7a1b2c3d + start_ns: 1705314600000000000 + status: ok + tags: [] + trace_id: abc123def456 + summary_metrics: [] + id: 00000000-0000-0000-0000-000000000001 + type: experiment_events + schema: + $ref: '#/components/schemas/LLMObsExperimentEventsV2Response' + description: OK + '400': + content: + application/json: + schema: + $ref: '#/components/schemas/JSONAPIErrorResponse' + description: Bad Request + '401': + content: + application/json: + schema: + $ref: '#/components/schemas/JSONAPIErrorResponse' + description: Unauthorized + '403': + content: + application/json: + schema: + $ref: '#/components/schemas/JSONAPIErrorResponse' + description: Forbidden + '404': + content: + application/json: + schema: + $ref: '#/components/schemas/JSONAPIErrorResponse' + description: Not Found + '429': + $ref: '#/components/responses/TooManyRequestsResponse' + '500': + content: + application/json: + schema: + $ref: '#/components/schemas/JSONAPIErrorResponse' + description: Internal Server Error + security: + - apiKeyAuth: [] + appKeyAuth: [] + summary: List Agent Observability experiment events (v2) + tags: + - Agent Observability + x-unstable: |- + **Note**: This endpoint is in preview and is subject to change. + If you have any feedback, contact [Datadog support](https://docs.datadoghq.com/help/). + /api/v2/llm-obs/v2/{project_id}/datasets/{dataset_id}/records/upload: + post: + description: |- + Upload records to a dataset from a file. The request is a `multipart/form-data` upload containing a single `file` part. + Currently only CSV is supported. The CSV must include an `input` column. Optional columns are `id`, `expected_output`, `metadata`, and `tags`. + + The response is a Server-Sent Events stream (`text/event-stream`) emitting progress updates while records are processed. The stream emits the following named events: + - `progress`: incremental record counts written so far. + - `completed`: terminal event with a JSON body containing `records_created`. + - `error`: terminal event with a JSON body containing an error `message`. + operationId: UploadLLMObsDatasetRecordsFile + parameters: + - description: The ID of the Agent Observability project. + example: a33671aa-24fd-4dcd-9b33-a8ec7dde7751 + in: path + name: project_id + required: true + schema: + type: string + - description: The ID of the Agent Observability dataset. + example: 9f64e5c7-dc5a-45c8-a17c-1b85f0bec97d + in: path + name: dataset_id + required: true + schema: + type: string + - description: Whether to skip records whose `input` already exists in the dataset. Defaults to `false`. + in: query + name: deduplicate + schema: + default: false + type: boolean + - description: Whether to overwrite existing records that share the same user-provided `id`. Defaults to `true`. + in: query + name: overwrite + schema: + default: true + type: boolean + - description: Tags to apply to every uploaded record, in addition to any tags defined on individual rows. Can be repeated, e.g. `tags=env:prod&tags=team:ai`. + in: query + name: tags + schema: + items: + type: string + type: array + - description: Whether to enrich the response with user metadata. + in: query + name: include[user_data] + schema: + type: boolean + requestBody: + content: + multipart/form-data: + examples: + default: + value: + file: records.csv + schema: + $ref: '#/components/schemas/LLMObsDatasetRecordsUploadFile' + description: Multipart upload payload containing the records file. + required: true + responses: + '200': + description: OK + '400': + content: + application/json: + schema: + $ref: '#/components/schemas/JSONAPIErrorResponse' + description: Bad Request + '401': + content: + application/json: + schema: + $ref: '#/components/schemas/JSONAPIErrorResponse' + description: Unauthorized + '403': + content: + application/json: + schema: + $ref: '#/components/schemas/JSONAPIErrorResponse' + description: Forbidden + '404': + content: + application/json: + schema: + $ref: '#/components/schemas/JSONAPIErrorResponse' + description: Not Found + '429': + $ref: '#/components/responses/TooManyRequestsResponse' + '500': + content: + application/json: + schema: + $ref: '#/components/schemas/JSONAPIErrorResponse' + description: Internal Server Error + security: + - apiKeyAuth: [] + appKeyAuth: [] + summary: Upload records to an Agent Observability dataset + tags: + - Agent Observability + x-unstable: |- + **Note**: This endpoint is in preview and is subject to change. + If you have any feedback, contact [Datadog support](https://docs.datadoghq.com/help/). + /api/v2/llm-obs/v3/experiments/{experiment_id}/events: + get: + description: Retrieve spans and experiment-level summary metrics for a given experiment with cursor-based pagination. + operationId: ListLLMObsExperimentEvents + parameters: + - $ref: '#/components/parameters/LLMObsExperimentIDPathParameter' + - description: Maximum number of spans to return per page. Defaults to 5000. + in: query + name: page[limit] + schema: + default: 5000 + format: int64 + type: integer + - description: Opaque cursor from a previous response to fetch the next page of results. + in: query + name: page[cursor] + schema: + type: string + responses: + '200': + content: + application/json: + examples: + default: + value: + data: + attributes: + spans: + - duration: 1500000000 + eval_metrics: [] + id: 00000000-0000-0000-0000-000000000002 + name: llm_call + span_id: span-7a1b2c3d + start_ns: 1705314600000000000 + status: ok + tags: [] + trace_id: abc123def456 + summary_metrics: [] + id: 00000000-0000-0000-0000-000000000001 + type: experiment_events + meta: + after: null + schema: + $ref: '#/components/schemas/LLMObsExperimentEventsV2Response' + description: OK + '400': + content: + application/json: + schema: + $ref: '#/components/schemas/JSONAPIErrorResponse' + description: Bad Request + '401': + content: + application/json: + schema: + $ref: '#/components/schemas/JSONAPIErrorResponse' + description: Unauthorized + '403': + content: + application/json: + schema: + $ref: '#/components/schemas/JSONAPIErrorResponse' + description: Forbidden + '404': + content: + application/json: + schema: + $ref: '#/components/schemas/JSONAPIErrorResponse' + description: Not Found + '429': + $ref: '#/components/responses/TooManyRequestsResponse' + '500': + content: + application/json: + schema: + $ref: '#/components/schemas/JSONAPIErrorResponse' + description: Internal Server Error + security: + - apiKeyAuth: [] + appKeyAuth: [] + summary: List events for an Agent Observability experiment + tags: + - Agent Observability + x-unstable: |- + **Note**: This endpoint is in preview and is subject to change. + If you have any feedback, contact [Datadog support](https://docs.datadoghq.com/help/). + /api/v2/model-lab-api/artifacts/content: + get: + description: Download the raw content of a Model Lab artifact file. + operationId: GetModelLabArtifactContent + parameters: + - description: ID of the project. + in: query + name: project_id + required: true + schema: + example: '1' + type: string + - description: Path to the artifact relative to the project directory. + in: query + name: artifact_path + required: true + schema: + example: runs/42/model/weights.pt + type: string + responses: + '200': + content: + application/octet-stream: + examples: + default: + value: + schema: + format: binary + type: string + description: OK + '400': + content: + application/json: + schema: + $ref: '#/components/schemas/JSONAPIErrorResponse' + description: Bad Request + '429': + $ref: '#/components/responses/TooManyRequestsResponse' + '500': + content: + application/json: + schema: + $ref: '#/components/schemas/JSONAPIErrorResponse' + description: Internal Server Error + summary: Get Model Lab artifact content + tags: + - Model Lab API + x-unstable: |- + **Note**: This endpoint is in preview and is subject to change. + If you have any feedback, contact [Datadog support](https://docs.datadoghq.com/help/). + /api/v2/model-lab-api/facet-keys: + get: + description: List all available facet keys for filtering Model Lab runs. + operationId: ListModelLabRunFacetKeys + parameters: + - description: Filter by project ID. + in: query + name: filter[project_id] + required: true + schema: + example: 101 + format: int64 + type: integer + responses: + '200': + content: + application/json: + examples: + default: + value: + data: + attributes: + metrics: + - accuracy + - loss + parameters: + - learning_rate + - algorithm + tags: + - model + - stage + id: '1' + type: facet_keys + schema: + $ref: '#/components/schemas/ModelLabFacetKeysResponse' + description: OK + '400': + content: + application/json: + schema: + $ref: '#/components/schemas/JSONAPIErrorResponse' + description: Bad Request + '404': + content: + application/json: + schema: + $ref: '#/components/schemas/JSONAPIErrorResponse' + description: Not Found + '429': + $ref: '#/components/responses/TooManyRequestsResponse' + '500': + content: + application/json: + schema: + $ref: '#/components/schemas/JSONAPIErrorResponse' + description: Internal Server Error + summary: List Model Lab run facet keys + tags: + - Model Lab API + x-unstable: |- + **Note**: This endpoint is in preview and is subject to change. + If you have any feedback, contact [Datadog support](https://docs.datadoghq.com/help/). + /api/v2/model-lab-api/facet-values: + get: + description: List available facet values for a specific run facet key. + operationId: ListModelLabRunFacetValues + parameters: + - description: Filter by project ID. + in: query + name: filter[project_id] + required: true + schema: + example: 101 + format: int64 + type: integer + - description: 'Facet type. Valid values: parameter, attribute, tag, metric.' + in: query + name: facet_type + required: true + schema: + $ref: '#/components/schemas/ModelLabFacetType' + - description: Facet name. + in: query + name: facet_name + required: true + schema: + example: algorithm + type: string + responses: + '200': + content: + application/json: + examples: + default: + value: + data: + attributes: + facet_name: algorithm + facet_type: parameter + values: + - gpt4 + - dbscan + id: '1' + type: facet_values + schema: + $ref: '#/components/schemas/ModelLabFacetValuesResponse' + description: OK + '400': + content: + application/json: + schema: + $ref: '#/components/schemas/JSONAPIErrorResponse' + description: Bad Request + '404': + content: + application/json: + schema: + $ref: '#/components/schemas/JSONAPIErrorResponse' + description: Not Found + '429': + $ref: '#/components/responses/TooManyRequestsResponse' + '500': + content: + application/json: + schema: + $ref: '#/components/schemas/JSONAPIErrorResponse' + description: Internal Server Error + summary: List Model Lab run facet values + tags: + - Model Lab API + x-unstable: |- + **Note**: This endpoint is in preview and is subject to change. + If you have any feedback, contact [Datadog support](https://docs.datadoghq.com/help/). + /api/v2/model-lab-api/project-facet-keys: + get: + description: List all available facet keys for filtering Model Lab projects. + operationId: ListModelLabProjectFacetKeys + responses: + '200': + content: + application/json: + examples: + default: + value: + data: + attributes: + metrics: [] + parameters: [] + tags: + - model + - stage + id: '1' + type: facet_keys + schema: + $ref: '#/components/schemas/ModelLabFacetKeysResponse' + description: OK + '429': + $ref: '#/components/responses/TooManyRequestsResponse' + '500': + content: + application/json: + schema: + $ref: '#/components/schemas/JSONAPIErrorResponse' + description: Internal Server Error + summary: List Model Lab project facet keys + tags: + - Model Lab API + x-unstable: |- + **Note**: This endpoint is in preview and is subject to change. + If you have any feedback, contact [Datadog support](https://docs.datadoghq.com/help/). + /api/v2/model-lab-api/project-facet-values: + get: + description: List available facet values for a specific project facet key. + operationId: ListModelLabProjectFacetValues + parameters: + - description: 'Facet type. Valid values: tag.' + in: query + name: facet_type + required: true + schema: + $ref: '#/components/schemas/ModelLabProjectFacetType' + - description: Facet name. + in: query + name: facet_name + required: true + schema: + example: model + type: string + responses: + '200': + content: + application/json: + examples: + default: + value: + data: + attributes: + facet_name: model + facet_type: tag + values: + - opus + - gpt4 + id: '1' + type: facet_values + schema: + $ref: '#/components/schemas/ModelLabFacetValuesResponse' + description: OK + '400': + content: + application/json: + schema: + $ref: '#/components/schemas/JSONAPIErrorResponse' + description: Bad Request + '429': + $ref: '#/components/responses/TooManyRequestsResponse' + '500': + content: + application/json: + schema: + $ref: '#/components/schemas/JSONAPIErrorResponse' + description: Internal Server Error + summary: List Model Lab project facet values + tags: + - Model Lab API + x-unstable: |- + **Note**: This endpoint is in preview and is subject to change. + If you have any feedback, contact [Datadog support](https://docs.datadoghq.com/help/). + /api/v2/model-lab-api/projects: + get: + description: List all Model Lab projects for the current organization. + operationId: ListModelLabProjects + parameters: + - description: Text search filter for project name or description. + in: query + name: filter + required: false + schema: + type: string + - description: Filter by owner UUID. + in: query + name: filter[owner_id] + required: false + schema: + format: uuid + type: string + - description: 'Filter by tags. Format: key:value,key2:value2.' + in: query + name: filter[tags] + required: false + schema: + type: string + - description: 'Sort field. Valid values: name, created_at, updated_at. Prefix with ''-'' for descending order (e.g., -updated_at).' + in: query + name: sort + required: false + schema: + default: '-updated_at' + type: string + - description: Number of items per page. Maximum is 100. + in: query + name: page[size] + required: false + schema: + default: 25 + format: int64 + maximum: 100 + type: integer + - description: Page number (1-indexed). + in: query + name: page[number] + required: false + schema: + default: 1 + format: int64 + type: integer + responses: + '200': + content: + application/json: + examples: + default: + value: + data: + - attributes: + artifact_storage_location: s3://bucket/active-project + created_at: '2024-01-20T10:00:00Z' + description: A machine learning training project. + is_starred: false + name: active-project + tags: + - key: model + value: opus + updated_at: '2024-01-20T11:00:00Z' + id: '2' + type: projects + meta: + page: + number: 1 + size: 25 + total: 1 + schema: + $ref: '#/components/schemas/ModelLabProjectsResponse' + description: OK + '400': + content: + application/json: + schema: + $ref: '#/components/schemas/JSONAPIErrorResponse' + description: Bad Request + '429': + $ref: '#/components/responses/TooManyRequestsResponse' + '500': + content: + application/json: + schema: + $ref: '#/components/schemas/JSONAPIErrorResponse' + description: Internal Server Error + summary: List Model Lab projects + tags: + - Model Lab API + x-unstable: |- + **Note**: This endpoint is in preview and is subject to change. + If you have any feedback, contact [Datadog support](https://docs.datadoghq.com/help/). + /api/v2/model-lab-api/projects/{project_id}: + get: + description: Get a single Model Lab project by its ID. + operationId: GetModelLabProject + parameters: + - $ref: '#/components/parameters/ModelLabProjectIDPathParameter' + responses: + '200': + content: + application/json: + examples: + default: + value: + data: + attributes: + artifact_storage_location: s3://bucket/active-project + created_at: '2024-01-20T10:00:00Z' + description: A machine learning training project. + is_starred: false + name: active-project + tags: + - key: model + value: opus + updated_at: '2024-01-20T11:00:00Z' + id: '2' + type: projects + schema: + $ref: '#/components/schemas/ModelLabProjectResponse' + description: OK + '400': + content: + application/json: + schema: + $ref: '#/components/schemas/JSONAPIErrorResponse' + description: Bad Request + '404': + content: + application/json: + schema: + $ref: '#/components/schemas/JSONAPIErrorResponse' + description: Not Found + '429': + $ref: '#/components/responses/TooManyRequestsResponse' + '500': + content: + application/json: + schema: + $ref: '#/components/schemas/JSONAPIErrorResponse' + description: Internal Server Error + summary: Get a Model Lab project + tags: + - Model Lab API + x-unstable: |- + **Note**: This endpoint is in preview and is subject to change. + If you have any feedback, contact [Datadog support](https://docs.datadoghq.com/help/). + /api/v2/model-lab-api/projects/{project_id}/artifacts: + get: + description: List all artifact files for a specific Model Lab project. + operationId: ListModelLabProjectArtifacts + parameters: + - $ref: '#/components/parameters/ModelLabProjectIDPathParameter' + responses: + '200': + content: + application/json: + examples: + default: + value: + data: + attributes: + files: + - artifact_path: projects/1/artifacts/model.pkl + created_at: '2024-01-20T10:00:00Z' + file_size: 204800 + filename: model.pkl + id: '1' + type: project_files + schema: + $ref: '#/components/schemas/ModelLabProjectArtifactsResponse' + description: OK + '400': + content: + application/json: + schema: + $ref: '#/components/schemas/JSONAPIErrorResponse' + description: Bad Request + '429': + $ref: '#/components/responses/TooManyRequestsResponse' + '500': + content: + application/json: + schema: + $ref: '#/components/schemas/JSONAPIErrorResponse' + description: Internal Server Error + summary: List Model Lab project artifacts + tags: + - Model Lab API + x-unstable: |- + **Note**: This endpoint is in preview and is subject to change. + If you have any feedback, contact [Datadog support](https://docs.datadoghq.com/help/). + /api/v2/model-lab-api/projects/{project_id}/star: + delete: + description: Remove the star from a Model Lab project for the current user. + operationId: UnstarModelLabProject + parameters: + - $ref: '#/components/parameters/ModelLabProjectIDPathParameter' + responses: + '204': + description: No Content + '400': + content: + application/json: + schema: + $ref: '#/components/schemas/JSONAPIErrorResponse' + description: Bad Request + '403': + content: + application/json: + schema: + $ref: '#/components/schemas/JSONAPIErrorResponse' + description: Forbidden + '404': + content: + application/json: + schema: + $ref: '#/components/schemas/JSONAPIErrorResponse' + description: Not Found + '429': + $ref: '#/components/responses/TooManyRequestsResponse' + '500': + content: + application/json: + schema: + $ref: '#/components/schemas/JSONAPIErrorResponse' + description: Internal Server Error + summary: Remove star from a Model Lab project + tags: + - Model Lab API + x-unstable: |- + **Note**: This endpoint is in preview and is subject to change. + If you have any feedback, contact [Datadog support](https://docs.datadoghq.com/help/). + post: + description: Star a Model Lab project for the current user. + operationId: StarModelLabProject + parameters: + - $ref: '#/components/parameters/ModelLabProjectIDPathParameter' + responses: + '204': + description: No Content + '400': + content: + application/json: + schema: + $ref: '#/components/schemas/JSONAPIErrorResponse' + description: Bad Request + '403': + content: + application/json: + schema: + $ref: '#/components/schemas/JSONAPIErrorResponse' + description: Forbidden + '404': + content: + application/json: + schema: + $ref: '#/components/schemas/JSONAPIErrorResponse' + description: Not Found + '429': + $ref: '#/components/responses/TooManyRequestsResponse' + '500': + content: + application/json: + schema: + $ref: '#/components/schemas/JSONAPIErrorResponse' + description: Internal Server Error + summary: Star a Model Lab project + tags: + - Model Lab API + x-unstable: |- + **Note**: This endpoint is in preview and is subject to change. + If you have any feedback, contact [Datadog support](https://docs.datadoghq.com/help/). + /api/v2/model-lab-api/runs: + get: + description: List all Model Lab runs for the current organization. + operationId: ListModelLabRuns + parameters: + - description: Filter by run ID(s). Comma-separated list for multiple IDs. + in: query + name: filter[id] + required: false + schema: + type: string + - description: Text search filter for run name or description. + in: query + name: filter + required: false + schema: + type: string + - description: Filter by owner UUID. + in: query + name: filter[owner_id] + required: false + schema: + type: string + - description: 'Filter by run status. Valid values: pending, running, completed, failed, killed, unresponsive, paused.' + in: query + name: filter[status] + required: false + schema: + $ref: '#/components/schemas/ModelLabRunStatus' + - description: Filter by project ID. + in: query + name: filter[project_id] + required: false + schema: + format: int64 + type: integer + - description: 'Filter by tags. Format: key:value,key2:value2.' + in: query + name: filter[tags] + required: false + schema: + type: string + - description: 'Filter by params. Format: key:value,key2:>0.5,key3:true.' + in: query + name: filter[params] + required: false + schema: + type: string + - description: Filter by parent run ID. Use 'null' to return only root runs (runs with no parent). + in: query + name: filter[parent_run_id] + required: false + schema: + type: string + - description: Sort pinned runs before non-pinned runs. Pinned runs are ordered by pin time descending. + in: query + name: pinned_first + required: false + schema: + type: boolean + - description: Include all runs pinned by the current user, regardless of other filters. + in: query + name: include_pinned + required: false + schema: + type: boolean + - description: When true, also return runs whose descendants match the active filters. The descendant_match field in each result indicates whether the run was included via a descendant match. + in: query + name: include_descendant_matches + required: false + schema: + type: boolean + - description: 'Sort field. Valid values: name, created_at, updated_at, duration. Prefix with ''-'' for descending order (e.g., -updated_at).' + in: query + name: sort + required: false + schema: + default: '-updated_at' + type: string + - description: Number of items per page. Maximum is 100. + in: query + name: page[size] + required: false + schema: + default: 25 + format: int64 + maximum: 100 + type: integer + - description: Page number (1-indexed). + in: query + name: page[number] + required: false + schema: + default: 1 + format: int64 + type: integer + responses: + '200': + content: + application/json: + examples: + default: + value: + data: + - attributes: + created_at: '2024-01-20T10:00:00Z' + descendant_match: false + description: Fine-tuning run with custom hyperparameters. + has_children: false + is_pinned: false + metric_summaries: [] + mlflow_artifact_location: s3://bucket/active-run + name: active-run + params: + - key: algorithm + value: gpt4 + project_id: 101 + started_at: '2024-01-20T10:00:00Z' + status: running + tags: + - key: model + value: opus + updated_at: '2024-01-20T11:00:00Z' + id: '2' + type: runs + meta: + page: + number: 1 + size: 25 + total: 1 + schema: + $ref: '#/components/schemas/ModelLabRunsResponse' + description: OK + '400': + content: + application/json: + schema: + $ref: '#/components/schemas/JSONAPIErrorResponse' + description: Bad Request + '429': + $ref: '#/components/responses/TooManyRequestsResponse' + '500': + content: + application/json: + schema: + $ref: '#/components/schemas/JSONAPIErrorResponse' + description: Internal Server Error + summary: List Model Lab runs + tags: + - Model Lab API + x-unstable: |- + **Note**: This endpoint is in preview and is subject to change. + If you have any feedback, contact [Datadog support](https://docs.datadoghq.com/help/). + /api/v2/model-lab-api/runs/{run_id}: + delete: + description: Delete a Model Lab run by its ID. + operationId: DeleteModelLabRun + parameters: + - $ref: '#/components/parameters/ModelLabRunIDPathParameter' + responses: + '204': + description: No Content + '400': + content: + application/json: + schema: + $ref: '#/components/schemas/JSONAPIErrorResponse' + description: Bad Request + '404': + content: + application/json: + schema: + $ref: '#/components/schemas/JSONAPIErrorResponse' + description: Not Found + '429': + $ref: '#/components/responses/TooManyRequestsResponse' + '500': + content: + application/json: + schema: + $ref: '#/components/schemas/JSONAPIErrorResponse' + description: Internal Server Error + summary: Delete a Model Lab run + tags: + - Model Lab API + x-unstable: |- + **Note**: This endpoint is in preview and is subject to change. + If you have any feedback, contact [Datadog support](https://docs.datadoghq.com/help/). + get: + description: Get a single Model Lab run by its ID. + operationId: GetModelLabRun + parameters: + - $ref: '#/components/parameters/ModelLabRunIDPathParameter' + responses: + '200': + content: + application/json: + examples: + default: + value: + data: + attributes: + created_at: '2024-01-20T10:00:00Z' + descendant_match: false + description: Fine-tuning run with custom hyperparameters. + has_children: false + is_pinned: false + metric_summaries: [] + mlflow_artifact_location: s3://bucket/active-run + name: active-run + params: + - key: algorithm + value: gpt4 + project_id: 101 + started_at: '2024-01-20T10:00:00Z' + status: running + tags: + - key: model + value: opus + updated_at: '2024-01-20T11:00:00Z' + id: '2' + type: runs + schema: + $ref: '#/components/schemas/ModelLabRunResponse' + description: OK + '400': + content: + application/json: + schema: + $ref: '#/components/schemas/JSONAPIErrorResponse' + description: Bad Request + '404': + content: + application/json: + schema: + $ref: '#/components/schemas/JSONAPIErrorResponse' + description: Not Found + '429': + $ref: '#/components/responses/TooManyRequestsResponse' + '500': + content: + application/json: + schema: + $ref: '#/components/schemas/JSONAPIErrorResponse' + description: Internal Server Error + summary: Get a Model Lab run + tags: + - Model Lab API + x-unstable: |- + **Note**: This endpoint is in preview and is subject to change. + If you have any feedback, contact [Datadog support](https://docs.datadoghq.com/help/). + /api/v2/model-lab-api/runs/{run_id}/artifacts: + get: + description: List artifact files for a specific Model Lab run. + operationId: ListModelLabRunArtifacts + parameters: + - $ref: '#/components/parameters/ModelLabRunIDPathParameter' + - description: Optional subdirectory path within the run's artifacts. + in: query + name: path + required: false + schema: + type: string + responses: + '200': + content: + application/json: + examples: + default: + value: + data: + attributes: + files: + - file_size: 204800 + is_dir: false + path: model/weights.pt + - is_dir: true + path: model + path_in_project: runs/42 + id: '42' + type: artifacts + schema: + $ref: '#/components/schemas/ModelLabRunArtifactsResponse' + description: OK + '400': + content: + application/json: + schema: + $ref: '#/components/schemas/JSONAPIErrorResponse' + description: Bad Request + '404': + content: + application/json: + schema: + $ref: '#/components/schemas/JSONAPIErrorResponse' + description: Not Found + '429': + $ref: '#/components/responses/TooManyRequestsResponse' + '500': + content: + application/json: + schema: + $ref: '#/components/schemas/JSONAPIErrorResponse' + description: Internal Server Error + summary: List Model Lab run artifacts + tags: + - Model Lab API + x-unstable: |- + **Note**: This endpoint is in preview and is subject to change. + If you have any feedback, contact [Datadog support](https://docs.datadoghq.com/help/). + /api/v2/model-lab-api/runs/{run_id}/pin: + delete: + description: Remove the pin from a Model Lab run for the current user. + operationId: UnpinModelLabRun + parameters: + - $ref: '#/components/parameters/ModelLabRunIDPathParameter' + responses: + '204': + description: No Content + '400': + content: + application/json: + schema: + $ref: '#/components/schemas/JSONAPIErrorResponse' + description: Bad Request + '403': + content: + application/json: + schema: + $ref: '#/components/schemas/JSONAPIErrorResponse' + description: Forbidden + '404': + content: + application/json: + schema: + $ref: '#/components/schemas/JSONAPIErrorResponse' + description: Not Found + '429': + $ref: '#/components/responses/TooManyRequestsResponse' + '500': + content: + application/json: + schema: + $ref: '#/components/schemas/JSONAPIErrorResponse' + description: Internal Server Error + summary: Unpin a Model Lab run + tags: + - Model Lab API + x-unstable: |- + **Note**: This endpoint is in preview and is subject to change. + If you have any feedback, contact [Datadog support](https://docs.datadoghq.com/help/). + post: + description: Pin a Model Lab run for the current user. + operationId: PinModelLabRun + parameters: + - $ref: '#/components/parameters/ModelLabRunIDPathParameter' + responses: + '204': + description: No Content + '400': + content: + application/json: + schema: + $ref: '#/components/schemas/JSONAPIErrorResponse' + description: Bad Request + '403': + content: + application/json: + schema: + $ref: '#/components/schemas/JSONAPIErrorResponse' + description: Forbidden + '404': + content: + application/json: + schema: + $ref: '#/components/schemas/JSONAPIErrorResponse' + description: Not Found + '429': + $ref: '#/components/responses/TooManyRequestsResponse' + '500': + content: + application/json: + schema: + $ref: '#/components/schemas/JSONAPIErrorResponse' + description: Internal Server Error + summary: Pin a Model Lab run + tags: + - Model Lab API + x-unstable: |- + **Note**: This endpoint is in preview and is subject to change. + If you have any feedback, contact [Datadog support](https://docs.datadoghq.com/help/). +components: + schemas: + LLMObsCustomEvalConfigListResponse: + description: Response containing a list of custom Agent Observability evaluator configurations. + properties: + data: + description: List of custom evaluator configuration data objects. + items: + $ref: '#/components/schemas/LLMObsCustomEvalConfigData' + type: array + required: + - data + type: object + JSONAPIErrorResponse: + description: API error response. + properties: + errors: + description: A list of errors. + items: + $ref: '#/components/schemas/JSONAPIErrorItem' + type: array + required: + - errors + type: object + LLMObsCustomEvalConfigResponse: + description: Response containing a custom Agent Observability evaluator configuration. + properties: + data: + $ref: '#/components/schemas/LLMObsCustomEvalConfigData' + required: + - data + type: object + LLMObsCustomEvalConfigUpdateRequest: + description: Request to create or update a custom Agent Observability evaluator configuration. + properties: + data: + $ref: '#/components/schemas/LLMObsCustomEvalConfigUpdateData' + required: + - data + type: object + LLMObsAnnotatedInteractionsByTraceResponse: + description: Response containing annotated interactions across all queues for the requested content IDs. + properties: + data: + $ref: '#/components/schemas/LLMObsAnnotatedInteractionsByTraceDataResponse' + required: + - data + type: object + LLMObsAnnotationQueuesResponse: + description: Response containing a list of Agent Observability annotation queues. + properties: + data: + description: List of annotation queues. + items: + $ref: '#/components/schemas/LLMObsAnnotationQueueDataResponse' + type: array + required: + - data + type: object + LLMObsAnnotationQueueRequest: + description: Request to create an Agent Observability annotation queue. + properties: + data: + $ref: '#/components/schemas/LLMObsAnnotationQueueDataRequest' + required: + - data + type: object + LLMObsAnnotationQueueResponse: + description: Response containing a single Agent Observability annotation queue. + properties: + data: + $ref: '#/components/schemas/LLMObsAnnotationQueueDataResponse' + required: + - data + type: object + LLMObsAnnotationQueueUpdateRequest: + description: Request to update an Agent Observability annotation queue. + properties: + data: + $ref: '#/components/schemas/LLMObsAnnotationQueueUpdateDataRequest' + required: + - data + type: object + LLMObsAnnotatedInteractionsResponse: + description: Response containing the annotated interactions for an annotation queue. + properties: + data: + $ref: '#/components/schemas/LLMObsAnnotatedInteractionsDataResponse' + required: + - data + type: object + LLMObsAnnotationsRequest: + description: Request to create or update annotations on interactions in an annotation queue. + properties: + data: + $ref: '#/components/schemas/LLMObsAnnotationsDataRequest' + required: + - data + type: object + LLMObsAnnotationsResponse: + description: Response containing the created or updated annotations. + properties: + data: + $ref: '#/components/schemas/LLMObsAnnotationsDataResponse' + required: + - data + type: object + LLMObsDeleteAnnotationsRequest: + description: Request to delete annotations from an annotation queue. + properties: + data: + $ref: '#/components/schemas/LLMObsDeleteAnnotationsDataRequest' + required: + - data + type: object + LLMObsDeleteAnnotationsResponse: + description: |- + Response for a batch annotation deletion. Partial errors are listed in the + response if any annotations could not be deleted. + properties: + data: + $ref: '#/components/schemas/LLMObsDeleteAnnotationsDataResponse' + required: + - data + type: object + LLMObsAnnotationQueueInteractionsRequest: + description: Request to add interactions to an Agent Observability annotation queue. + properties: + data: + $ref: '#/components/schemas/LLMObsAnnotationQueueInteractionsDataRequest' + required: + - data + type: object + LLMObsAnnotationQueueInteractionsResponse: + description: Response containing the result of adding interactions to an annotation queue. + properties: + data: + $ref: '#/components/schemas/LLMObsAnnotationQueueInteractionsDataResponse' + required: + - data + type: object + LLMObsDeleteAnnotationQueueInteractionsRequest: + description: Request to delete interactions from an Agent Observability annotation queue. + properties: + data: + $ref: '#/components/schemas/LLMObsDeleteAnnotationQueueInteractionsDataRequest' + required: + - data + type: object + LLMObsAnnotationQueueLabelSchemaResponse: + description: Response containing the label schema of an annotation queue. + properties: + data: + $ref: '#/components/schemas/LLMObsAnnotationQueueLabelSchemaData' + required: + - data + type: object + LLMObsAnnotationQueueLabelSchemaUpdateRequest: + description: Request to update the label schema of an annotation queue. + properties: + data: + $ref: '#/components/schemas/LLMObsAnnotationQueueLabelSchemaUpdateData' + required: + - data + type: object + LLMObsExperimentationAnalyticsRequest: + description: Request to run an analytics aggregation over Agent Observability experimentation data. + properties: + data: + $ref: '#/components/schemas/LLMObsExperimentationAnalyticsDataRequest' + required: + - data + type: object + LLMObsExperimentationAnalyticsResponse: + description: Response to an analytics query. + properties: + data: + $ref: '#/components/schemas/LLMObsExperimentationAnalyticsDataResponse' + required: + - data + type: object + LLMObsExperimentationSearchRequest: + description: Request to search across Agent Observability experimentation entities using cursor-based pagination. + properties: + data: + $ref: '#/components/schemas/LLMObsExperimentationSearchDataRequest' + required: + - data + type: object + LLMObsExperimentationSearchResponse: + description: Response to a cursor-based experimentation search. Returns `200 OK` when all results fit in one page; `206 Partial Content` when a next-page cursor is available. + properties: + data: + $ref: '#/components/schemas/LLMObsExperimentationSearchDataResponse' + meta: + $ref: '#/components/schemas/LLMObsCursorMeta' + required: + - data + type: object + LLMObsExperimentationSimpleSearchRequest: + description: Request to search across Agent Observability experimentation entities using offset-based pagination. + properties: + data: + $ref: '#/components/schemas/LLMObsExperimentationSimpleSearchDataRequest' + required: + - data + type: object + LLMObsExperimentationSimpleSearchResponse: + description: Response to an offset-based experimentation simple search. + properties: + data: + $ref: '#/components/schemas/LLMObsExperimentationSimpleSearchDataResponse' + meta: + $ref: '#/components/schemas/LLMObsExperimentationSimpleSearchMeta' + required: + - data + type: object + LLMObsExperimentsResponse: + description: Response containing a list of Agent Observability experiments. + properties: + data: + description: List of experiments. + items: + $ref: '#/components/schemas/LLMObsExperimentDataResponse' + type: array + meta: + $ref: '#/components/schemas/LLMObsCursorMeta' + required: + - data + type: object + LLMObsExperimentRequest: + description: Request to create an Agent Observability experiment. + properties: + data: + $ref: '#/components/schemas/LLMObsExperimentDataRequest' + required: + - data + type: object + LLMObsExperimentResponse: + description: Response containing a single Agent Observability experiment. + properties: + data: + $ref: '#/components/schemas/LLMObsExperimentDataResponse' + required: + - data + type: object + LLMObsDeleteExperimentsRequest: + description: Request to delete one or more Agent Observability experiments. + properties: + data: + $ref: '#/components/schemas/LLMObsDeleteExperimentsDataRequest' + required: + - data + type: object + LLMObsExperimentUpdateRequest: + description: Request to partially update an Agent Observability experiment. + properties: + data: + $ref: '#/components/schemas/LLMObsExperimentUpdateDataRequest' + required: + - data + type: object + LLMObsExperimentSpansResponse: + description: Response for listing experiment spans (v1). Returns only spans with their evaluation metrics. No summary metrics or pagination are included. Deprecated in favor of `ListLLMObsExperimentEventsV3`. + properties: + data: + description: List of experiment spans with their evaluation metrics. + items: + $ref: '#/components/schemas/LLMObsExperimentSpanDataResponse' + type: array + required: + - data + type: object + LLMObsExperimentEventsRequest: + description: Request to push spans and metrics for an Agent Observability experiment. + properties: + data: + $ref: '#/components/schemas/LLMObsExperimentEventsDataRequest' + required: + - data + type: object + LLMObsIntegrationAccount: + description: A configured account for an LLM provider integration. + properties: + account_id: + description: Provider-specific account identifier. + example: org-XYZ123 + type: string + account_name: + description: Human-readable name for the integration account. + example: Production OpenAI + type: string + account_region: + description: Provider region associated with the account, if applicable. + example: us-east-1 + type: string + azure_openai_metadata: + $ref: '#/components/schemas/LLMObsAzureOpenAIMetadata' + id: + description: Unique identifier for the integration account. + example: account-abc123 + type: string + integration: + description: The name of the LLM provider integration. + example: openai + type: string + vertex_ai_metadata: + $ref: '#/components/schemas/LLMObsVertexAIMetadata' + required: + - id + - account_id + - account_name + - integration + type: object + LLMObsIntegrationInferenceRequest: + description: Parameters for an LLM inference request. + properties: + anthropic_metadata: + $ref: '#/components/schemas/LLMObsAnthropicMetadata' + nullable: true + azure_openai_metadata: + $ref: '#/components/schemas/LLMObsAzureOpenAIMetadata' + nullable: true + bedrock_metadata: + $ref: '#/components/schemas/LLMObsBedrockMetadata' + nullable: true + frequency_penalty: + description: Penalty for token frequency to reduce repetition. + example: 0 + format: double + nullable: true + type: number + json_schema: + description: JSON schema for structured output, if supported by the model. + example: '{"type":"object","properties":{"answer":{"type":"string"}}}' + nullable: true + type: string + max_completion_tokens: + description: Maximum number of completion tokens to generate (alternative to max_tokens for some providers). + example: 1024 + format: int64 + nullable: true + type: integer + max_tokens: + description: Maximum number of tokens to generate. + example: 1024 + format: int64 + nullable: true + type: integer + messages: + $ref: '#/components/schemas/LLMObsInferenceMessagesList' + model_id: + description: The model identifier to use for inference. + example: gpt-4o + type: string + openai_metadata: + $ref: '#/components/schemas/LLMObsOpenAIMetadata' + nullable: true + presence_penalty: + description: Penalty for token presence to encourage topic diversity. + example: 0 + format: double + nullable: true + type: number + temperature: + description: Sampling temperature between 0 and 2. Higher values produce more random output. + example: 0.7 + format: double + nullable: true + type: number + tools: + $ref: '#/components/schemas/LLMObsInferenceToolsList' + top_k: + description: Top-K sampling parameter. + example: 50 + format: int64 + nullable: true + type: integer + top_p: + description: Nucleus sampling probability mass. + example: 1 + format: double + nullable: true + type: number + vertex_ai_metadata: + $ref: '#/components/schemas/LLMObsVertexAIMetadata' + nullable: true + required: + - model_id + - messages + type: object + LLMObsIntegrationInferenceResponse: + description: The result of an LLM inference request, including input parameters and the model response. + properties: + anthropic_metadata: + $ref: '#/components/schemas/LLMObsAnthropicMetadata' + nullable: true + azure_openai_metadata: + $ref: '#/components/schemas/LLMObsAzureOpenAIMetadata' + nullable: true + bedrock_metadata: + $ref: '#/components/schemas/LLMObsBedrockMetadata' + nullable: true + error_response: + $ref: '#/components/schemas/LLMObsInferenceErrorResponse' + frequency_penalty: + description: Frequency penalty that was applied. + example: 0 + format: double + nullable: true + type: number + json_schema: + description: JSON schema that was applied for structured output. + example: '{"type":"object","properties":{"answer":{"type":"string"}}}' + nullable: true + type: string + max_completion_tokens: + description: Maximum number of completion tokens that were configured. + example: 1024 + format: int64 + nullable: true + type: integer + max_tokens: + description: Maximum number of tokens that were configured. + example: 1024 + format: int64 + nullable: true + type: integer + messages: + $ref: '#/components/schemas/LLMObsInferenceMessagesList' + model_id: + description: The model identifier used for inference. + example: gpt-4o + type: string + openai_metadata: + $ref: '#/components/schemas/LLMObsOpenAIMetadata' + nullable: true + presence_penalty: + description: Presence penalty that was applied. + example: 0 + format: double + nullable: true + type: number + response: + $ref: '#/components/schemas/LLMObsInferenceRunResult' + temperature: + description: Sampling temperature that was used. + example: 0.7 + format: double + nullable: true + type: number + tools: + $ref: '#/components/schemas/LLMObsInferenceToolsList' + top_k: + description: Top-K sampling parameter that was used. + example: 50 + format: int64 + nullable: true + type: integer + top_p: + description: Nucleus sampling parameter that was used. + example: 1 + format: double + nullable: true + type: number + vertex_ai_metadata: + $ref: '#/components/schemas/LLMObsVertexAIMetadata' + nullable: true + required: + - model_id + - messages + - response + type: object + LLMObsIntegrationModel: + description: A model available for a given LLM provider integration and account. + properties: + has_access: + description: Whether the account has access to this model. + example: true + type: boolean + id: + description: Unique identifier for the model entry. + example: gpt-4o + type: string + integration: + description: The name of the LLM provider integration. + example: openai + type: string + integration_display_name: + description: Human-readable name of the LLM provider integration. + example: OpenAI + type: string + json_schema: + description: Whether the model supports structured output via JSON schema. + example: true + type: boolean + model_display_name: + description: Human-readable model name. + example: GPT-4o + type: string + model_id: + description: Provider-specific model identifier used in inference calls. + example: gpt-4o + type: string + provider: + description: The underlying model provider. + example: openai + type: string + provider_display_name: + description: Human-readable name of the underlying model provider. + example: OpenAI + type: string + region_prefix_overrides: + $ref: '#/components/schemas/LLMObsIntegrationModelRegionPrefixOverrides' + required: + - id + - model_id + - model_display_name + - integration + - integration_display_name + - provider + - provider_display_name + - json_schema + - has_access + type: object + LLMObsProjectsResponse: + description: Response containing a list of Agent Observability projects. + properties: + data: + description: List of projects. + items: + $ref: '#/components/schemas/LLMObsProjectDataResponse' + type: array + meta: + $ref: '#/components/schemas/LLMObsCursorMeta' + required: + - data + type: object + LLMObsProjectRequest: + description: Request to create an Agent Observability project. + properties: + data: + $ref: '#/components/schemas/LLMObsProjectDataRequest' + required: + - data + type: object + LLMObsProjectResponse: + description: Response containing a single Agent Observability project. + properties: + data: + $ref: '#/components/schemas/LLMObsProjectDataResponse' + required: + - data + type: object + LLMObsDeleteProjectsRequest: + description: Request to delete one or more Agent Observability projects. + properties: + data: + $ref: '#/components/schemas/LLMObsDeleteProjectsDataRequest' + required: + - data + type: object + LLMObsProjectUpdateRequest: + description: Request to partially update an Agent Observability project. + properties: + data: + $ref: '#/components/schemas/LLMObsProjectUpdateDataRequest' + required: + - data + type: object + LLMObsPromptsResponse: + description: Response containing a list of Agent Observability prompts. + example: + data: + - attributes: + author: 3b12f1df-14fd-4e12-bd6f-4a2f5c8b3d1e + created_at: '2025-01-15T10:00:00Z' + created_from: sdk-registry + description: Answers customer questions using the company knowledge base. + in_registry: true + last_version_created_at: '2025-02-01T14:30:00Z' + num_versions: 2 + prompt_id: customer-support-assistant + source: registry + title: Customer Support Assistant + id: 4a1a28ff-8a25-5f0f-946f-f48264d772eb + type: prompt-templates + properties: + data: + description: List of Agent Observability prompts. + items: + $ref: '#/components/schemas/LLMObsPromptData' + type: array + required: + - data + type: object + LLMObsCreatePromptRequest: + description: Request to create an Agent Observability prompt. + properties: + data: + $ref: '#/components/schemas/LLMObsCreatePromptData' + required: + - data + type: object + LLMObsPromptResponse: + description: Response containing a single Agent Observability prompt. + example: + data: + attributes: + author: 3b12f1df-14fd-4e12-bd6f-4a2f5c8b3d1e + created_at: '2025-01-15T10:00:00Z' + created_from: sdk-registry + description: Answers customer questions using the company knowledge base. + in_registry: true + last_version_created_at: '2025-01-15T10:00:00Z' + num_versions: 1 + prompt_id: customer-support-assistant + source: registry + title: Customer Support Assistant + id: 4a1a28ff-8a25-5f0f-946f-f48264d772eb + type: prompt-templates + properties: + data: + $ref: '#/components/schemas/LLMObsPromptData' + required: + - data + type: object + LLMObsDeletedPromptResponse: + description: Response confirming that an Agent Observability prompt was deleted. + example: + data: + attributes: + deleted_at: '2025-02-10T09:15:00Z' + prompt_id: customer-support-assistant + id: 4a1a28ff-8a25-5f0f-946f-f48264d772eb + type: prompt-templates + properties: + data: + $ref: '#/components/schemas/LLMObsDeletedPromptData' + required: + - data + type: object + LLMObsPromptSDKResponse: + description: Response containing a flattened Agent Observability prompt version for SDK consumption. + example: + data: + attributes: + chat_template: + - content: You are a helpful customer support assistant for {{company_name}}. + role: system + - content: 'Help {{customer_name}} with this question: {{question}}' + role: user + prompt_id: customer-support-assistant + prompt_version_uuid: d83ab666-61cc-5545-a83b-2424bb85467b + version: '2' + id: 4a1a28ff-8a25-5f0f-946f-f48264d772eb + type: prompt-templates + properties: + data: + $ref: '#/components/schemas/LLMObsPromptSDKData' + required: + - data + type: object + LLMObsUpdatePromptRequest: + description: Request to update an Agent Observability prompt's metadata. + properties: + data: + $ref: '#/components/schemas/LLMObsUpdatePromptData' + required: + - data + type: object + LLMObsPromptVersionsResponse: + description: Response containing the versions of an Agent Observability prompt. + example: + data: + - attributes: + author: 3b12f1df-14fd-4e12-bd6f-4a2f5c8b3d1e + created_at: '2025-02-01T14:30:00Z' + description: Give concise answers and cite relevant help-center articles. + prompt_id: customer-support-assistant + prompt_uuid: 4a1a28ff-8a25-5f0f-946f-f48264d772eb + version: 2 + version_created_at: '2025-02-01T14:30:00Z' + id: d83ab666-61cc-5545-a83b-2424bb85467b + type: prompt-template-versions + - attributes: + author: 3b12f1df-14fd-4e12-bd6f-4a2f5c8b3d1e + created_at: '2025-01-15T10:00:00Z' + description: Initial customer support prompt. + prompt_id: customer-support-assistant + prompt_uuid: 4a1a28ff-8a25-5f0f-946f-f48264d772eb + version: 1 + version_created_at: '2025-01-15T10:00:00Z' + id: 20e5280b-c75d-5699-8a70-a2773a751428 + type: prompt-template-versions + properties: + data: + description: Prompt versions ordered from newest to oldest. + items: + $ref: '#/components/schemas/LLMObsPromptVersionListData' + type: array + required: + - data + type: object + LLMObsCreatePromptVersionRequest: + description: Request to create a new version of an Agent Observability prompt. + properties: + data: + $ref: '#/components/schemas/LLMObsCreatePromptVersionData' + required: + - data + type: object + LLMObsPromptVersionResponse: + description: Response containing a specific version of an Agent Observability prompt. + example: + data: + attributes: + author: 3b12f1df-14fd-4e12-bd6f-4a2f5c8b3d1e + created_at: '2025-02-01T14:30:00Z' + description: Give concise answers and cite relevant help-center articles. + prompt_id: customer-support-assistant + prompt_uuid: 4a1a28ff-8a25-5f0f-946f-f48264d772eb + template: + - content: You are a helpful customer support assistant for {{company_name}}. + role: system + - content: 'Help {{customer_name}} with this question: {{question}}' + role: user + version: 2 + version_created_at: '2025-02-01T14:30:00Z' + id: d83ab666-61cc-5545-a83b-2424bb85467b + type: prompt-template-versions + properties: + data: + $ref: '#/components/schemas/LLMObsPromptVersionData' + required: + - data + type: object + LLMObsUpdatePromptVersionRequest: + description: Request to update an Agent Observability prompt version's metadata or feature-flag environments. + properties: + data: + $ref: '#/components/schemas/LLMObsUpdatePromptVersionData' + required: + - data + type: object + LLMObsSpansResponse: + description: Response containing a list of Agent Observability spans. + properties: + data: + description: List of spans matching the query. + items: + $ref: '#/components/schemas/LLMObsSpanData' + type: array + links: + $ref: '#/components/schemas/LLMObsSpansResponseLinks' + meta: + $ref: '#/components/schemas/LLMObsSpansResponseMeta' + required: + - data + - meta + type: object + LLMObsSearchSpansRequest: + description: Request body for searching Agent Observability spans. + properties: + data: + $ref: '#/components/schemas/LLMObsSearchSpansRequestData' + required: + - data + type: object + LLMObsPatternsClusteredPointsResponse: + description: Response containing the clustered points of an Agent Observability topic. + properties: + data: + $ref: '#/components/schemas/LLMObsPatternsClusteredPointsResponseData' + required: + - data + type: object + LLMObsPatternsConfigsResponse: + description: Response containing a list of Agent Observability patterns configurations. + properties: + data: + $ref: '#/components/schemas/LLMObsPatternsConfigsResponseData' + required: + - data + type: object + LLMObsPatternsConfigUpsertRequest: + description: Request to create or update an Agent Observability patterns configuration. + properties: + data: + $ref: '#/components/schemas/LLMObsPatternsConfigUpsertRequestData' + required: + - data + type: object + LLMObsPatternsConfigResponse: + description: Response containing a single Agent Observability patterns configuration. + properties: + data: + $ref: '#/components/schemas/LLMObsPatternsConfigResponseData' + required: + - data + type: object + LLMObsPatternsRunsResponse: + description: Response containing the completed runs of an Agent Observability patterns configuration. + properties: + data: + $ref: '#/components/schemas/LLMObsPatternsRunsResponseData' + required: + - data + type: object + LLMObsPatternsTriggerRequest: + description: Request to trigger an Agent Observability patterns run. + properties: + data: + $ref: '#/components/schemas/LLMObsPatternsTriggerRequestData' + required: + - data + type: object + LLMObsPatternsTriggerResponse: + description: Response after triggering an Agent Observability patterns run. + properties: + data: + $ref: '#/components/schemas/LLMObsPatternsTriggerResponseData' + required: + - data + type: object + LLMObsPatternsRunStatusResponse: + description: Response containing the status of an Agent Observability patterns run. + properties: + data: + $ref: '#/components/schemas/LLMObsPatternsRunStatusResponseData' + required: + - data + type: object + LLMObsPatternsTopicsResponse: + description: Response containing the topics discovered by an Agent Observability patterns run. + properties: + data: + $ref: '#/components/schemas/LLMObsPatternsTopicsResponseData' + required: + - data + type: object + LLMObsPatternsTopicsWithClusteredPointsResponse: + description: |- + Response containing the topics, and the clustered points of their leaf topics, + discovered by an Agent Observability patterns run. + properties: + data: + $ref: '#/components/schemas/LLMObsPatternsTopicsWithClusteredPointsResponseData' + required: + - data + type: object + LLMObsDatasetsResponse: + description: Response containing a list of Agent Observability datasets. + properties: + data: + description: List of datasets. + items: + $ref: '#/components/schemas/LLMObsDatasetDataResponse' + type: array + meta: + $ref: '#/components/schemas/LLMObsCursorMeta' + required: + - data + type: object + LLMObsDatasetRequest: + description: Request to create an Agent Observability dataset. + properties: + data: + $ref: '#/components/schemas/LLMObsDatasetDataRequest' + required: + - data + type: object + LLMObsDatasetResponse: + description: Response containing a single Agent Observability dataset. + properties: + data: + $ref: '#/components/schemas/LLMObsDatasetDataResponse' + required: + - data + type: object + LLMObsDeleteDatasetsRequest: + description: Request to delete one or more Agent Observability datasets. + properties: + data: + $ref: '#/components/schemas/LLMObsDeleteDatasetsDataRequest' + required: + - data + type: object + LLMObsDatasetUpdateRequest: + description: Request to partially update an Agent Observability dataset. + properties: + data: + $ref: '#/components/schemas/LLMObsDatasetUpdateDataRequest' + required: + - data + type: object + LLMObsDatasetBatchUpdateRequest: + description: Request to batch-insert, update, and delete records in an Agent Observability dataset. + properties: + data: + $ref: '#/components/schemas/LLMObsDatasetBatchUpdateDataRequest' + required: + - data + type: object + LLMObsDatasetRecordsMutationResponse: + description: Response containing records after a create or update operation. + properties: + data: + description: List of affected dataset records. + items: + $ref: '#/components/schemas/LLMObsDatasetRecordsMutationData' + type: array + required: + - data + type: object + LLMObsDatasetCloneRequest: + description: Request to clone an Agent Observability dataset. + properties: + data: + $ref: '#/components/schemas/LLMObsDatasetCloneDataRequest' + required: + - data + type: object + LLMObsDatasetDraftStateResponse: + description: Response containing the draft state of an Agent Observability dataset. + properties: + data: + $ref: '#/components/schemas/LLMObsDatasetDraftStateData' + required: + - data + type: object + LLMObsDatasetExportFormat: + default: csv + description: Supported export format for an Agent Observability dataset. + enum: + - csv + example: csv + type: string + x-enum-varnames: + - CSV + LLMObsDatasetRecordsListResponse: + description: Response containing a paginated list of Agent Observability dataset records. + properties: + data: + description: List of dataset records. + items: + $ref: '#/components/schemas/LLMObsDatasetRecordDataResponse' + type: array + meta: + $ref: '#/components/schemas/LLMObsCursorMeta' + required: + - data + type: object + LLMObsDatasetRecordsUpdateRequest: + description: Request to update records in an Agent Observability dataset. + properties: + data: + $ref: '#/components/schemas/LLMObsDatasetRecordsUpdateDataRequest' + required: + - data + type: object + LLMObsDatasetRecordsRequest: + description: Request to append records to an Agent Observability dataset. + properties: + data: + $ref: '#/components/schemas/LLMObsDatasetRecordsDataRequest' + required: + - data + type: object + LLMObsDeleteDatasetRecordsRequest: + description: Request to delete records from an Agent Observability dataset. + properties: + data: + $ref: '#/components/schemas/LLMObsDeleteDatasetRecordsDataRequest' + required: + - data + type: object + LLMObsDatasetRestoreVersionRequest: + description: Request to restore an Agent Observability dataset to a previous version. + properties: + data: + $ref: '#/components/schemas/LLMObsDatasetRestoreVersionDataRequest' + required: + - data + type: object + LLMObsDatasetVersionsResponse: + description: Response containing the active versions of an Agent Observability dataset. + properties: + data: + $ref: '#/components/schemas/LLMObsDatasetVersionsResponseData' + required: + - data + type: object + LLMObsExperimentEventsV2Response: + description: Response for listing experiment events (v2/v3). Returns spans and summary metrics in a single resource. + properties: + data: + $ref: '#/components/schemas/LLMObsExperimentEventsV2DataResponse' + meta: + $ref: '#/components/schemas/LLMObsCursorMeta' + required: + - data + type: object + LLMObsDatasetRecordsUploadFile: + description: Multipart payload for uploading dataset records from a file. + properties: + file: + description: The records file to upload. Currently only CSV is supported. The file must include an `input` column. Optional columns include `id`, `expected_output`, `metadata`, and `tags`. + format: binary + type: string + type: object + ModelLabFacetKeysResponse: + description: Response containing available facet keys. + properties: + data: + $ref: '#/components/schemas/ModelLabFacetKeysData' + required: + - data + type: object + ModelLabFacetType: + description: The type of facet for filtering Model Lab runs. + enum: + - parameter + - attribute + - tag + - metric + example: tag + type: string + x-enum-varnames: + - PARAMETER + - ATTRIBUTE + - TAG + - METRIC + ModelLabFacetValuesResponse: + description: Response containing available values for a facet key. + properties: + data: + $ref: '#/components/schemas/ModelLabFacetValuesData' + required: + - data + type: object + ModelLabProjectFacetType: + description: The type of facet for filtering Model Lab projects. + enum: + - tag + example: tag + type: string + x-enum-varnames: + - TAG + ModelLabProjectsResponse: + description: Response containing a list of Model Lab projects with pagination metadata. + properties: + data: + description: The list of projects. + items: + $ref: '#/components/schemas/ModelLabProjectData' + type: array + links: + $ref: '#/components/schemas/ModelLabPaginationLinks' + meta: + $ref: '#/components/schemas/ModelLabPageMeta' + required: + - data + - meta + type: object + ModelLabProjectResponse: + description: Response containing a single Model Lab project. + properties: + data: + $ref: '#/components/schemas/ModelLabProjectData' + required: + - data + type: object + ModelLabProjectArtifactsResponse: + description: Response containing the artifact listing for a Model Lab project. + properties: + data: + $ref: '#/components/schemas/ModelLabProjectArtifactsData' + required: + - data + type: object + ModelLabRunStatus: + description: The status of a Model Lab run. + enum: + - pending + - running + - completed + - failed + - killed + - unresponsive + - paused + example: running + type: string + x-enum-varnames: + - PENDING + - RUNNING + - COMPLETED + - FAILED + - KILLED + - UNRESPONSIVE + - PAUSED + ModelLabRunsResponse: + description: Response containing a list of Model Lab runs with pagination metadata. + properties: + data: + description: The list of runs. + items: + $ref: '#/components/schemas/ModelLabRunData' + type: array + links: + $ref: '#/components/schemas/ModelLabPaginationLinks' + meta: + $ref: '#/components/schemas/ModelLabPageMeta' + required: + - data + - meta + type: object + ModelLabRunResponse: + description: Response containing a single Model Lab run. + properties: + data: + $ref: '#/components/schemas/ModelLabRunData' + required: + - data + type: object + ModelLabRunArtifactsResponse: + description: Response containing the artifact listing for a Model Lab run. + properties: + data: + $ref: '#/components/schemas/ModelLabRunArtifactsData' + required: + - data + type: object + LLMObsCustomEvalConfigData: + description: Data object for a custom Agent Observability evaluator configuration. + properties: + attributes: + $ref: '#/components/schemas/LLMObsCustomEvalConfigAttributes' + id: + description: Unique name identifier of the evaluator configuration. + example: my-custom-evaluator + type: string + type: + $ref: '#/components/schemas/LLMObsCustomEvalConfigType' + required: + - id + - type + - attributes + type: object + JSONAPIErrorItem: + description: API error response body + properties: + detail: + description: A human-readable explanation specific to this occurrence of the error. + example: Missing required attribute in body + type: string + meta: + additionalProperties: {} + description: Non-standard meta-information about the error + type: object + source: + $ref: '#/components/schemas/JSONAPIErrorItemSource' + status: + description: Status code of the response. + example: '400' + type: string + title: + description: Short human-readable summary of the error. + example: Bad Request + type: string + type: object + APIErrorResponse: + description: API error response. + properties: + errors: + description: A list of errors. + example: + - Bad Request + items: + description: A list of items. + example: Bad Request + type: string + type: array + required: + - errors + type: object + LLMObsCustomEvalConfigUpdateData: + description: Data object for creating or updating a custom Agent Observability evaluator configuration. + properties: + attributes: + $ref: '#/components/schemas/LLMObsCustomEvalConfigUpdateAttributes' + id: + description: Name of the evaluator. If provided, must match the eval_name path parameter. + example: my-custom-evaluator + type: string + type: + $ref: '#/components/schemas/LLMObsCustomEvalConfigType' + required: + - type + - attributes + type: object + LLMObsAnnotatedInteractionsByTraceDataResponse: + description: Data object for the cross-queue annotated interactions response. + properties: + attributes: + $ref: '#/components/schemas/LLMObsAnnotatedInteractionsByTraceDataAttributesResponse' + id: + description: Opaque identifier for the response object. + example: trace-query + type: string + type: + $ref: '#/components/schemas/LLMObsAnnotatedInteractionsByTraceType' + required: + - id + - type + - attributes + type: object + LLMObsAnnotationQueueDataResponse: + description: Data object for an Agent Observability annotation queue. + properties: + attributes: + $ref: '#/components/schemas/LLMObsAnnotationQueueDataAttributesResponse' + id: + description: Unique identifier of the annotation queue. + example: 00000000-0000-0000-0000-000000000001 + type: string + type: + $ref: '#/components/schemas/LLMObsAnnotationQueueType' + required: + - id + - type + - attributes + type: object + LLMObsAnnotationQueueDataRequest: + description: Data object for creating an Agent Observability annotation queue. + properties: + attributes: + $ref: '#/components/schemas/LLMObsAnnotationQueueDataAttributesRequest' + type: + $ref: '#/components/schemas/LLMObsAnnotationQueueType' + required: + - type + - attributes + type: object + LLMObsAnnotationQueueUpdateDataRequest: + description: Data object for updating an Agent Observability annotation queue. + properties: + attributes: + $ref: '#/components/schemas/LLMObsAnnotationQueueUpdateDataAttributesRequest' + type: + $ref: '#/components/schemas/LLMObsAnnotationQueueType' + required: + - type + - attributes + type: object + LLMObsAnnotatedInteractionsDataResponse: + description: Data object for annotated interactions. + properties: + attributes: + $ref: '#/components/schemas/LLMObsAnnotatedInteractionsDataAttributesResponse' + id: + description: The annotation queue ID. + example: 00000000-0000-0000-0000-000000000001 + type: string + type: + $ref: '#/components/schemas/LLMObsAnnotatedInteractionsType' + required: + - id + - type + - attributes + type: object + LLMObsAnnotationsDataRequest: + description: Data object for creating or updating annotations. + properties: + attributes: + $ref: '#/components/schemas/LLMObsAnnotationsDataAttributesRequest' + type: + $ref: '#/components/schemas/LLMObsAnnotationsType' + required: + - type + - attributes + type: object + LLMObsAnnotationsDataResponse: + description: Data object for the annotations response. + properties: + attributes: + $ref: '#/components/schemas/LLMObsAnnotationsDataAttributesResponse' + id: + description: The annotation queue ID. + example: 00000000-0000-0000-0000-000000000001 + type: string + type: + $ref: '#/components/schemas/LLMObsAnnotationsType' + required: + - id + - type + - attributes + type: object + LLMObsDeleteAnnotationsDataRequest: + description: Data object for deleting annotations. + properties: + attributes: + $ref: '#/components/schemas/LLMObsDeleteAnnotationsDataAttributesRequest' + type: + $ref: '#/components/schemas/LLMObsAnnotationsType' + required: + - type + - attributes + type: object + LLMObsDeleteAnnotationsDataResponse: + description: Data object for the annotation deletion response. + properties: + attributes: + $ref: '#/components/schemas/LLMObsDeleteAnnotationsDataAttributesResponse' + id: + description: The annotation queue ID. + example: 00000000-0000-0000-0000-000000000001 + type: string + type: + $ref: '#/components/schemas/LLMObsAnnotationsType' + required: + - id + - type + - attributes + type: object + LLMObsAnnotationQueueInteractionsDataRequest: + description: Data object for adding interactions to an annotation queue. + properties: + attributes: + $ref: '#/components/schemas/LLMObsAnnotationQueueInteractionsDataAttributesRequest' + type: + $ref: '#/components/schemas/LLMObsAnnotationQueueInteractionsType' + required: + - type + - attributes + type: object + LLMObsAnnotationQueueInteractionsDataResponse: + description: Data object for the interaction addition response. + properties: + attributes: + $ref: '#/components/schemas/LLMObsAnnotationQueueInteractionsDataAttributesResponse' + id: + description: The queue ID the interactions were added to. + example: 00000000-0000-0000-0000-000000000001 + type: string + type: + $ref: '#/components/schemas/LLMObsAnnotationQueueInteractionsType' + required: + - id + - type + - attributes + type: object + LLMObsDeleteAnnotationQueueInteractionsDataRequest: + description: Data object for deleting interactions from an annotation queue. + properties: + attributes: + $ref: '#/components/schemas/LLMObsDeleteAnnotationQueueInteractionsDataAttributesRequest' + type: + $ref: '#/components/schemas/LLMObsAnnotationQueueInteractionsType' + required: + - type + - attributes + type: object + LLMObsAnnotationQueueLabelSchemaData: + description: Data object for an annotation queue label schema. + properties: + attributes: + $ref: '#/components/schemas/LLMObsAnnotationQueueLabelSchemaAttributes' + id: + description: Unique identifier of the annotation queue. + example: 00000000-0000-0000-0000-000000000001 + type: string + type: + $ref: '#/components/schemas/LLMObsAnnotationQueueType' + required: + - id + - type + - attributes + type: object + LLMObsAnnotationQueueLabelSchemaUpdateData: + description: Data object for updating an annotation queue label schema. + properties: + attributes: + $ref: '#/components/schemas/LLMObsAnnotationQueueLabelSchemaUpdateAttributes' + type: + $ref: '#/components/schemas/LLMObsAnnotationQueueType' + required: + - type + - attributes + type: object + LLMObsExperimentationAnalyticsDataRequest: + description: Data object for an analytics request. + properties: + attributes: + $ref: '#/components/schemas/LLMObsExperimentationAnalyticsDataAttributesRequest' + type: + $ref: '#/components/schemas/LLMObsExperimentationType' + required: + - type + - attributes + type: object + LLMObsExperimentationAnalyticsDataResponse: + description: JSON:API data object for an analytics response. + properties: + attributes: + $ref: '#/components/schemas/LLMObsExperimentationAnalyticsDataAttributesResponse' + id: + description: Server-generated identifier for this analytics result. + example: 00000000-0000-0000-0000-000000000001 + type: string + type: + $ref: '#/components/schemas/LLMObsExperimentationType' + required: + - id + - type + - attributes + type: object + LLMObsExperimentationSearchDataRequest: + description: Data object for an experimentation search request. + properties: + attributes: + $ref: '#/components/schemas/LLMObsExperimentationSearchDataAttributesRequest' + type: + $ref: '#/components/schemas/LLMObsExperimentationType' + required: + - type + - attributes + type: object + LLMObsExperimentationSearchDataResponse: + description: JSON:API data object for an experimentation search response. + properties: + attributes: + $ref: '#/components/schemas/LLMObsExperimentationSearchResults' + id: + description: Server-generated identifier for this search result. + example: 00000000-0000-0000-0000-000000000001 + type: string + type: + $ref: '#/components/schemas/LLMObsExperimentationType' + required: + - id + - type + - attributes + type: object + LLMObsCursorMeta: + description: Pagination cursor metadata. + properties: + after: + description: Cursor for the next page of results. + nullable: true + type: string + type: object + LLMObsExperimentationSimpleSearchDataRequest: + description: Data object for an experimentation simple search request. + properties: + attributes: + $ref: '#/components/schemas/LLMObsExperimentationSimpleSearchDataAttributesRequest' + type: + $ref: '#/components/schemas/LLMObsExperimentationType' + required: + - type + - attributes + type: object + LLMObsExperimentationSimpleSearchDataResponse: + description: JSON:API data object for a simple search response. + properties: + attributes: + $ref: '#/components/schemas/LLMObsExperimentationSearchResults' + id: + description: Server-generated identifier for this search result. + example: 00000000-0000-0000-0000-000000000001 + type: string + type: + $ref: '#/components/schemas/LLMObsExperimentationType' + required: + - id + - type + - attributes + type: object + LLMObsExperimentationSimpleSearchMeta: + description: Pagination metadata for a simple search response. + properties: + page: + $ref: '#/components/schemas/LLMObsExperimentationSimpleSearchMetaPage' + type: object + LLMObsExperimentDataResponse: + description: Data object for an Agent Observability experiment. + properties: + attributes: + $ref: '#/components/schemas/LLMObsExperimentDataAttributesResponse' + id: + description: Unique identifier of the experiment. + example: 3fd6b5e0-8910-4b1c-a7d0-5b84de329012 + type: string + type: + $ref: '#/components/schemas/LLMObsExperimentType' + required: + - id + - type + - attributes + type: object + LLMObsExperimentDataRequest: + description: Data object for creating an Agent Observability experiment. + properties: + attributes: + $ref: '#/components/schemas/LLMObsExperimentDataAttributesRequest' + type: + $ref: '#/components/schemas/LLMObsExperimentType' + required: + - type + - attributes + type: object + LLMObsDeleteExperimentsDataRequest: + description: Data object for deleting Agent Observability experiments. + properties: + attributes: + $ref: '#/components/schemas/LLMObsDeleteExperimentsDataAttributesRequest' + type: + $ref: '#/components/schemas/LLMObsExperimentType' + required: + - type + - attributes + type: object + LLMObsExperimentUpdateDataRequest: + description: Data object for updating an Agent Observability experiment. + properties: + attributes: + $ref: '#/components/schemas/LLMObsExperimentUpdateDataAttributesRequest' + type: + $ref: '#/components/schemas/LLMObsExperimentType' + required: + - type + - attributes + type: object + LLMObsExperimentSpanDataResponse: + description: JSON:API data item wrapping a single experiment span with evaluations. + properties: + attributes: + $ref: '#/components/schemas/LLMObsExperimentSpanWithEvals' + id: + description: Unique identifier of the span. + example: 00000000-0000-0000-0000-000000000001 + type: string + type: + $ref: '#/components/schemas/LLMObsExperimentSpanType' + required: + - id + - type + - attributes + type: object + LLMObsExperimentEventsDataRequest: + description: Data object for pushing experiment events. + properties: + attributes: + $ref: '#/components/schemas/LLMObsExperimentEventsDataAttributesRequest' + type: + $ref: '#/components/schemas/LLMObsEventType' + required: + - type + - attributes + type: object + LLMObsIntegrationName: + description: The name of a supported LLM provider integration. + enum: + - openai + - amazon_bedrock + - anthropic + - azure_openai + - vertex_ai + - llmproxy + example: openai + type: string + x-enum-varnames: + - OPENAI + - AMAZON_BEDROCK + - ANTHROPIC + - AZURE_OPENAI + - VERTEX_AI + - LLMPROXY + LLMObsAzureOpenAIMetadata: + description: Azure OpenAI-specific metadata for an integration account or inference request. + properties: + deployment_id: + description: The Azure OpenAI deployment ID. + example: my-gpt4-deployment + type: string + model_version: + description: The model version deployed in Azure. + example: '0613' + type: string + resource_name: + description: The Azure OpenAI resource name. + example: my-azure-resource + type: string + type: object + LLMObsVertexAIMetadata: + description: Vertex AI-specific metadata for an integration account or inference request. + properties: + location: + description: The Vertex AI region. + example: us-central1 + type: string + project: + description: The Google Cloud project ID. + example: my-gcp-project + type: string + project_ids: + description: List of Google Cloud project IDs available to the service account. + example: + - my-gcp-project + items: + type: string + type: array + type: object + LLMObsAnthropicMetadata: + description: Anthropic-specific metadata for an inference request. + properties: + effort: + $ref: '#/components/schemas/LLMObsAnthropicEffort' + thinking: + $ref: '#/components/schemas/LLMObsAnthropicThinkingConfig' + nullable: true + type: object + LLMObsBedrockMetadata: + description: Amazon Bedrock-specific metadata for an inference request. + properties: + region: + description: The AWS region for the Bedrock request. + example: us-east-1 + type: string + type: object + LLMObsInferenceMessagesList: + description: List of messages in an inference conversation. + items: + $ref: '#/components/schemas/LLMObsInferenceMessage' + type: array + LLMObsOpenAIMetadata: + description: OpenAI-specific metadata for an inference request. + properties: + reasoning_effort: + $ref: '#/components/schemas/LLMObsOpenAIReasoningEffort' + reasoning_summary: + $ref: '#/components/schemas/LLMObsOpenAIReasoningSummary' + type: object + LLMObsInferenceToolsList: + description: List of tools available to the model. + items: + $ref: '#/components/schemas/LLMObsInferenceTool' + type: array + LLMObsInferenceErrorResponse: + description: Error details returned when an inference provider returns an error. + properties: + message: + description: A human-readable description of the error. + example: The model does not exist. + type: string + type: + description: The provider-specific error type. + example: invalid_request_error + type: string + required: + - type + - message + type: object + LLMObsInferenceRunResult: + description: The output of a completed LLM inference call. + properties: + assessment: + description: An optional assessment of the inference output quality. + example: pass + nullable: true + type: string + content: + description: The text content of the model response. + example: The capital of France is Paris. + type: string + finish_reason: + description: The reason the model stopped generating tokens. + example: stop + type: string + inference_codes: + $ref: '#/components/schemas/LLMObsIntegrationInferenceCodesResponse' + input_tokens: + description: Number of input tokens consumed. + example: 15 + format: int64 + type: integer + internal_reasoning: + $ref: '#/components/schemas/LLMObsInternalReasoning' + nullable: true + latency: + description: Request latency in milliseconds. + example: 843 + format: int64 + type: integer + output_tokens: + description: Number of output tokens generated. + example: 10 + format: int64 + type: integer + tools: + $ref: '#/components/schemas/LLMObsInferenceToolsList' + total_tokens: + description: Total tokens used (input plus output). + example: 25 + format: int64 + type: integer + required: + - content + - input_tokens + - output_tokens + - total_tokens + - latency + - finish_reason + - inference_codes + - tools + - assessment + type: object + LLMObsIntegrationModelRegionPrefixOverrides: + additionalProperties: + type: string + description: Map of region-specific model ID prefix overrides. + example: + us-east-1: us. + type: object + LLMObsProjectDataResponse: + description: Data object for an Agent Observability project. + properties: + attributes: + $ref: '#/components/schemas/LLMObsProjectDataAttributesResponse' + id: + description: Unique identifier of the project. + example: a33671aa-24fd-4dcd-9b33-a8ec7dde7751 + type: string + type: + $ref: '#/components/schemas/LLMObsProjectType' + required: + - id + - type + - attributes + type: object + LLMObsProjectDataRequest: + description: Data object for creating an Agent Observability project. + properties: + attributes: + $ref: '#/components/schemas/LLMObsProjectDataAttributesRequest' + type: + $ref: '#/components/schemas/LLMObsProjectType' + required: + - type + - attributes + type: object + LLMObsDeleteProjectsDataRequest: + description: Data object for deleting Agent Observability projects. + properties: + attributes: + $ref: '#/components/schemas/LLMObsDeleteProjectsDataAttributesRequest' + type: + $ref: '#/components/schemas/LLMObsProjectType' + required: + - type + - attributes + type: object + LLMObsProjectUpdateDataRequest: + description: Data object for updating an Agent Observability project. + properties: + attributes: + $ref: '#/components/schemas/LLMObsProjectUpdateDataAttributesRequest' + type: + $ref: '#/components/schemas/LLMObsProjectType' + required: + - type + - attributes + type: object + LLMObsPromptData: + description: Data object for an Agent Observability prompt. + properties: + attributes: + $ref: '#/components/schemas/LLMObsPromptDataAttributes' + id: + description: Unique identifier of the prompt. + example: 4a1a28ff-8a25-5f0f-946f-f48264d772eb + type: string + type: + $ref: '#/components/schemas/LLMObsPromptType' + required: + - id + - type + - attributes + type: object + LLMObsCreatePromptData: + description: Data object for creating an Agent Observability prompt. + properties: + attributes: + $ref: '#/components/schemas/LLMObsCreatePromptDataAttributes' + type: + $ref: '#/components/schemas/LLMObsPromptType' + required: + - type + - attributes + type: object + LLMObsDeletedPromptData: + description: Data object confirming that an Agent Observability prompt was deleted. + properties: + attributes: + $ref: '#/components/schemas/LLMObsDeletedPromptDataAttributes' + id: + description: Unique identifier of the deleted prompt. + example: 4a1a28ff-8a25-5f0f-946f-f48264d772eb + type: string + type: + $ref: '#/components/schemas/LLMObsPromptType' + required: + - id + - type + - attributes + type: object + LLMObsPromptSDKData: + description: Data object for a flattened Agent Observability prompt version returned for SDK consumption. + properties: + attributes: + $ref: '#/components/schemas/LLMObsPromptSDKDataAttributes' + id: + description: Unique identifier of the prompt. + example: 4a1a28ff-8a25-5f0f-946f-f48264d772eb + type: string + type: + $ref: '#/components/schemas/LLMObsPromptType' + required: + - id + - type + - attributes + type: object + LLMObsUpdatePromptData: + description: Data object for updating an Agent Observability prompt. + properties: + attributes: + $ref: '#/components/schemas/LLMObsUpdatePromptDataAttributes' + type: + $ref: '#/components/schemas/LLMObsPromptType' + required: + - type + - attributes + type: object + LLMObsPromptVersionListData: + description: Data object for a prompt version returned in a list. + properties: + attributes: + $ref: '#/components/schemas/LLMObsPromptVersionListDataAttributes' + id: + description: Unique identifier of the prompt version. + example: d83ab666-61cc-5545-a83b-2424bb85467b + type: string + type: + $ref: '#/components/schemas/LLMObsPromptVersionType' + required: + - id + - type + - attributes + type: object + LLMObsCreatePromptVersionData: + description: Data object for creating an Agent Observability prompt version. + properties: + attributes: + $ref: '#/components/schemas/LLMObsCreatePromptVersionDataAttributes' + type: + $ref: '#/components/schemas/LLMObsPromptVersionType' + required: + - type + - attributes + type: object + LLMObsPromptVersionData: + description: Data object for a specific version of an Agent Observability prompt. + properties: + attributes: + $ref: '#/components/schemas/LLMObsPromptVersionDataAttributes' + id: + description: Unique identifier of the prompt version. + example: d83ab666-61cc-5545-a83b-2424bb85467b + type: string + type: + $ref: '#/components/schemas/LLMObsPromptVersionType' + required: + - id + - type + - attributes + type: object + LLMObsUpdatePromptVersionData: + description: Data object for updating an Agent Observability prompt version. + properties: + attributes: + $ref: '#/components/schemas/LLMObsUpdatePromptVersionDataAttributes' + type: + $ref: '#/components/schemas/LLMObsPromptVersionType' + required: + - type + - attributes + type: object + LLMObsSpanData: + description: A single Agent Observability span. + properties: + attributes: + $ref: '#/components/schemas/LLMObsSpanAttributes' + id: + description: Unique identifier of the span. + example: abc123def456 + type: string + type: + $ref: '#/components/schemas/LLMObsSpanType' + required: + - id + - type + - attributes + type: object + LLMObsSpansResponseLinks: + description: Pagination links accompanying the spans response. + properties: + next: + description: URL to retrieve the next page of results. + example: https://api.datadoghq.com/api/v2/llm-obs/v1/spans/events?page[cursor]=eyJzdGFydCI6MTAwfQ== + type: string + type: object + LLMObsSpansResponseMeta: + description: Metadata accompanying the spans response. + properties: + elapsed: + description: Time elapsed for the query in milliseconds. + example: 132 + format: int64 + type: integer + page: + $ref: '#/components/schemas/LLMObsSpansResponsePage' + request_id: + description: Unique identifier for the request. + example: req-abc123 + type: string + status: + description: Status of the query execution. + example: done + type: string + required: + - elapsed + - request_id + - status + - page + type: object + LLMObsSearchSpansRequestData: + description: Data object for an Agent Observability spans search request. + properties: + attributes: + $ref: '#/components/schemas/LLMObsSearchSpansRequestAttributes' + type: + $ref: '#/components/schemas/LLMObsSearchSpansRequestType' + required: + - type + - attributes + type: object + LLMObsPatternsClusteredPointsResponseData: + description: Data object of an Agent Observability patterns clustered points response. + properties: + attributes: + $ref: '#/components/schemas/LLMObsPatternsClusteredPointsResponseAttributes' + id: + description: Identifier of the topic the points belong to. + example: 5c1fae90-2b6d-4e3a-9f12-7a0c4d8e6b21 + type: string + type: + $ref: '#/components/schemas/LLMObsPatternsClusteredPointsType' + required: + - id + - type + - attributes + type: object + LLMObsPatternsConfigsResponseData: + description: Data object of a list of Agent Observability patterns configurations. + properties: + attributes: + $ref: '#/components/schemas/LLMObsPatternsConfigsResponseAttributes' + id: + description: Identifier of the list response. + example: '1000000001' + type: string + type: + $ref: '#/components/schemas/LLMObsPatternsConfigsListType' + required: + - id + - type + - attributes + type: object + LLMObsPatternsConfigUpsertRequestData: + description: Data object for creating or updating an Agent Observability patterns configuration. + properties: + attributes: + $ref: '#/components/schemas/LLMObsPatternsConfigUpsertRequestAttributes' + type: + $ref: '#/components/schemas/LLMObsPatternsConfigType' + required: + - type + - attributes + type: object + LLMObsPatternsConfigResponseData: + description: Data object of an Agent Observability patterns configuration. + properties: + attributes: + $ref: '#/components/schemas/LLMObsPatternsConfigAttributes' + id: + description: Unique identifier of the configuration. + example: a7c8d9e0-1234-5678-9abc-def012345678 + type: string + type: + $ref: '#/components/schemas/LLMObsPatternsConfigType' + required: + - id + - type + - attributes + type: object + LLMObsPatternsRunsResponseData: + description: Data object of an Agent Observability patterns runs response. + properties: + attributes: + $ref: '#/components/schemas/LLMObsPatternsRunsResponseAttributes' + id: + description: Identifier of the configuration the runs belong to. + example: a7c8d9e0-1234-5678-9abc-def012345678 + type: string + type: + $ref: '#/components/schemas/LLMObsPatternsRunsListType' + required: + - id + - type + - attributes + type: object + LLMObsPatternsTriggerRequestData: + description: Data object for triggering an Agent Observability patterns run. + properties: + attributes: + $ref: '#/components/schemas/LLMObsPatternsTriggerRequestAttributes' + type: + $ref: '#/components/schemas/LLMObsPatternsRequestType' + required: + - type + - attributes + type: object + LLMObsPatternsTriggerResponseData: + description: Data object of an Agent Observability patterns trigger response. + properties: + attributes: + $ref: '#/components/schemas/LLMObsPatternsTriggerResponseAttributes' + id: + description: The ID of the patterns configuration that was run. + example: a7c8d9e0-1234-5678-9abc-def012345678 + type: string + type: + $ref: '#/components/schemas/LLMObsPatternsTriggerResponseType' + required: + - id + - type + - attributes + type: object + LLMObsPatternsRunStatusResponseData: + description: Data object of an Agent Observability patterns run status response. + properties: + attributes: + $ref: '#/components/schemas/LLMObsPatternsRunStatusResponseAttributes' + id: + description: The ID of the patterns run. + example: 3fd6b5e0-8910-4b1c-a7d0-5b84de329012 + type: string + type: + $ref: '#/components/schemas/LLMObsPatternsRunStatusType' + required: + - id + - type + - attributes + type: object + LLMObsPatternsTopicsResponseData: + description: Data object of an Agent Observability patterns topics response. + properties: + attributes: + $ref: '#/components/schemas/LLMObsPatternsTopicsResponseAttributes' + id: + description: Identifier of the run the topics belong to. + example: 3fd6b5e0-8910-4b1c-a7d0-5b84de329012 + type: string + type: + $ref: '#/components/schemas/LLMObsPatternsTopicsType' + required: + - id + - type + - attributes + type: object + LLMObsPatternsTopicsWithClusteredPointsResponseData: + description: Data object of an Agent Observability patterns topics-with-clustered-points response. + properties: + attributes: + $ref: '#/components/schemas/LLMObsPatternsTopicsWithClusteredPointsResponseAttributes' + id: + description: Identifier of the run the topics belong to. + example: 3fd6b5e0-8910-4b1c-a7d0-5b84de329012 + type: string + type: + $ref: '#/components/schemas/LLMObsPatternsTopicsWithClusteredPointsType' + required: + - id + - type + - attributes + type: object + LLMObsDatasetDataResponse: + description: Data object for an Agent Observability dataset. + properties: + attributes: + $ref: '#/components/schemas/LLMObsDatasetDataAttributesResponse' + id: + description: Unique identifier of the dataset. + example: 9f64e5c7-dc5a-45c8-a17c-1b85f0bec97d + type: string + type: + $ref: '#/components/schemas/LLMObsDatasetType' + required: + - id + - type + - attributes + type: object + LLMObsDatasetDataRequest: + description: Data object for creating an Agent Observability dataset. + properties: + attributes: + $ref: '#/components/schemas/LLMObsDatasetDataAttributesRequest' + type: + $ref: '#/components/schemas/LLMObsDatasetType' + required: + - type + - attributes + type: object + LLMObsDeleteDatasetsDataRequest: + description: Data object for deleting Agent Observability datasets. + properties: + attributes: + $ref: '#/components/schemas/LLMObsDeleteDatasetsDataAttributesRequest' + type: + $ref: '#/components/schemas/LLMObsDatasetType' + required: + - type + - attributes + type: object + LLMObsDatasetUpdateDataRequest: + description: Data object for updating an Agent Observability dataset. + properties: + attributes: + $ref: '#/components/schemas/LLMObsDatasetUpdateDataAttributesRequest' + type: + $ref: '#/components/schemas/LLMObsDatasetType' + required: + - type + - attributes + type: object + LLMObsDatasetBatchUpdateDataRequest: + description: Data object for batch-updating records in an Agent Observability dataset. + properties: + attributes: + $ref: '#/components/schemas/LLMObsDatasetBatchUpdateDataAttributesRequest' + id: + description: Unique identifier of the dataset. + example: 9f64e5c7-dc5a-45c8-a17c-1b85f0bec97d + type: string + type: + $ref: '#/components/schemas/LLMObsDatasetType' + required: + - id + - type + - attributes + type: object + LLMObsDatasetRecordsMutationData: + description: Response containing records after a create or update operation. + properties: + records: + description: List of affected dataset records. + items: + $ref: '#/components/schemas/LLMObsDatasetRecordDataResponse' + type: array + required: + - records + type: object + LLMObsDatasetCloneDataRequest: + description: Data object for cloning an Agent Observability dataset. + properties: + attributes: + $ref: '#/components/schemas/LLMObsDatasetCloneDataAttributesRequest' + id: + description: Identifier of the source dataset to clone. + example: 9f64e5c7-dc5a-45c8-a17c-1b85f0bec97d + type: string + type: + $ref: '#/components/schemas/LLMObsDatasetType' + required: + - id + - type + - attributes + type: object + LLMObsDatasetDraftStateData: + description: Data object for an Agent Observability dataset draft state. + properties: + attributes: + $ref: '#/components/schemas/LLMObsDatasetDraftStateDataAttributes' + id: + description: Unique identifier of the dataset draft state. Matches the dataset ID. + example: 9f64e5c7-dc5a-45c8-a17c-1b85f0bec97d + type: string + type: + $ref: '#/components/schemas/LLMObsDatasetDraftStateType' + required: + - id + - type + - attributes + type: object + LLMObsDatasetRecordDataResponse: + description: A single Agent Observability dataset record. + properties: + created_at: + description: Timestamp when the record was created. + example: '2024-01-15T10:30:00Z' + format: date-time + type: string + dataset_id: + description: Identifier of the dataset this record belongs to. + example: 9f64e5c7-dc5a-45c8-a17c-1b85f0bec97d + type: string + expected_output: + $ref: '#/components/schemas/AnyValue' + id: + description: Unique identifier of the record. + example: rec-7c3f5a1b-9e2d-4f8a-b1c6-3d7e9f0a2b4c + type: string + input: + $ref: '#/components/schemas/AnyValue' + metadata: + additionalProperties: {} + description: Arbitrary metadata associated with the record. + nullable: true + type: object + updated_at: + description: Timestamp when the record was last updated. + example: '2024-01-15T10:30:00Z' + format: date-time + type: string + required: + - id + - dataset_id + - input + - expected_output + - metadata + - created_at + - updated_at + type: object + LLMObsDatasetRecordsUpdateDataRequest: + description: Data object for updating records in an Agent Observability dataset. + properties: + attributes: + $ref: '#/components/schemas/LLMObsDatasetRecordsUpdateDataAttributesRequest' + type: + $ref: '#/components/schemas/LLMObsRecordType' + required: + - type + - attributes + type: object + LLMObsDatasetRecordsDataRequest: + description: Data object for appending records to an Agent Observability dataset. + properties: + attributes: + $ref: '#/components/schemas/LLMObsDatasetRecordsDataAttributesRequest' + type: + $ref: '#/components/schemas/LLMObsRecordType' + required: + - type + - attributes + type: object + LLMObsDeleteDatasetRecordsDataRequest: + description: Data object for deleting records from an Agent Observability dataset. + properties: + attributes: + $ref: '#/components/schemas/LLMObsDeleteDatasetRecordsDataAttributesRequest' + type: + $ref: '#/components/schemas/LLMObsRecordType' + required: + - type + - attributes + type: object + LLMObsDatasetRestoreVersionDataRequest: + description: Data object for restoring an Agent Observability dataset to a previous version. + properties: + attributes: + $ref: '#/components/schemas/LLMObsDatasetRestoreVersionDataAttributesRequest' + id: + description: Unique identifier of the dataset to restore. + example: 9f64e5c7-dc5a-45c8-a17c-1b85f0bec97d + type: string + type: + $ref: '#/components/schemas/LLMObsDatasetType' + required: + - id + - type + - attributes + type: object + LLMObsDatasetVersionsResponseData: + description: List of dataset versions. + items: + $ref: '#/components/schemas/LLMObsDatasetVersionData' + type: array + LLMObsExperimentEventsV2DataResponse: + description: JSON:API data object for an experiment events response. + properties: + attributes: + $ref: '#/components/schemas/LLMObsExperimentEventsV2DataAttributesResponse' + id: + description: Identifier for this events resource. + example: 3fd6b5e0-8910-4b1c-a7d0-5b84de329012 + type: string + type: + $ref: '#/components/schemas/LLMObsExperimentEventsType' + required: + - id + - type + - attributes + type: object + ModelLabFacetKeysData: + description: A facet keys JSON:API resource object. + properties: + attributes: + $ref: '#/components/schemas/ModelLabFacetKeysAttributes' + id: + description: The unique identifier of the facet keys resource. + example: '1' + type: string + type: + $ref: '#/components/schemas/ModelLabFacetKeysType' + required: + - id + - type + - attributes + type: object + ModelLabFacetValuesData: + description: A facet values JSON:API resource object. + properties: + attributes: + $ref: '#/components/schemas/ModelLabFacetValuesAttributes' + id: + description: The unique identifier of the facet values resource. + example: '1' + type: string + type: + $ref: '#/components/schemas/ModelLabFacetValuesType' + required: + - id + - type + - attributes + type: object + ModelLabProjectData: + description: A Model Lab project JSON:API resource object. + properties: + attributes: + $ref: '#/components/schemas/ModelLabProjectAttributes' + id: + description: The unique identifier of the project. + example: '2' + type: string + type: + $ref: '#/components/schemas/ModelLabProjectType' + required: + - id + - type + - attributes + type: object + ModelLabPaginationLinks: + description: Pagination links for navigating list responses. + properties: + first: + description: Link to the first page. + type: string + last: + description: Link to the last page. + type: string + next: + description: Link to the next page. + nullable: true + type: string + prev: + description: Link to the previous page. + nullable: true + type: string + self: + description: Link to the current page. + type: string + type: object + ModelLabPageMeta: + description: Pagination metadata for a list response. + properties: + page: + $ref: '#/components/schemas/ModelLabPageMetaPage' + required: + - page + type: object + ModelLabProjectArtifactsData: + description: A project artifacts JSON:API resource object. + properties: + attributes: + $ref: '#/components/schemas/ModelLabProjectArtifactsAttributes' + id: + description: The unique identifier of the project artifacts resource. + example: '1' + type: string + type: + $ref: '#/components/schemas/ModelLabProjectArtifactsType' + required: + - id + - type + - attributes + type: object + ModelLabRunData: + description: A Model Lab run JSON:API resource object. + properties: + attributes: + $ref: '#/components/schemas/ModelLabRunAttributes' + id: + description: The unique identifier of the run. + example: '42' + type: string + type: + $ref: '#/components/schemas/ModelLabRunType' + required: + - id + - type + - attributes + type: object + ModelLabRunArtifactsData: + description: A run artifacts JSON:API resource object. + properties: + attributes: + $ref: '#/components/schemas/ModelLabRunArtifactsAttributes' + id: + description: The unique identifier of the artifacts resource. + example: '42' + type: string + type: + $ref: '#/components/schemas/ModelLabRunArtifactsType' + required: + - id + - type + - attributes + type: object + LLMObsCustomEvalConfigAttributes: + description: Attributes of a custom Agent Observability evaluator configuration. + properties: + category: + description: Category of the evaluator. + example: Custom + type: string + created_at: + description: Timestamp when the evaluator configuration was created. + example: '2024-01-15T10:30:00Z' + format: date-time + type: string + created_by: + $ref: '#/components/schemas/LLMObsCustomEvalConfigUser' + eval_name: + description: Name of the custom evaluator. + example: my-custom-evaluator + type: string + last_updated_by: + $ref: '#/components/schemas/LLMObsCustomEvalConfigUser' + llm_judge_config: + $ref: '#/components/schemas/LLMObsCustomEvalConfigLLMJudgeConfig' + llm_provider: + $ref: '#/components/schemas/LLMObsCustomEvalConfigLLMProvider' + target: + $ref: '#/components/schemas/LLMObsCustomEvalConfigTarget' + updated_at: + description: Timestamp when the evaluator configuration was last updated. + example: '2024-01-15T10:30:00Z' + format: date-time + type: string + required: + - eval_name + - created_at + - updated_at + type: object + LLMObsCustomEvalConfigType: + description: Type of the custom Agent Observability evaluator configuration resource. + enum: + - evaluator_config + example: evaluator_config + type: string + x-enum-varnames: + - EVALUATOR_CONFIG + JSONAPIErrorItemSource: + description: References to the source of the error. + properties: + header: + description: A string indicating the name of a single request header which caused the error. + example: Authorization + type: string + parameter: + description: A string indicating which URI query parameter caused the error. + example: limit + type: string + pointer: + description: A JSON pointer to the value in the request document that caused the error. + example: /data/attributes/title + type: string + type: object + LLMObsCustomEvalConfigUpdateAttributes: + description: Attributes for creating or updating a custom Agent Observability evaluator configuration. + properties: + category: + description: Category of the evaluator. + example: Custom + type: string + eval_name: + description: Name of the custom evaluator. If provided, must match the eval_name path parameter. + example: my-custom-evaluator + type: string + llm_judge_config: + $ref: '#/components/schemas/LLMObsCustomEvalConfigLLMJudgeConfig' + llm_provider: + $ref: '#/components/schemas/LLMObsCustomEvalConfigLLMProvider' + target: + $ref: '#/components/schemas/LLMObsCustomEvalConfigTarget' + required: + - target + type: object + LLMObsAnnotatedInteractionsByTraceDataAttributesResponse: + description: Attributes of the cross-queue annotated interactions response. + properties: + annotated_interactions: + description: List of annotated interactions across all queues for the requested content IDs. + items: + $ref: '#/components/schemas/LLMObsAnnotatedInteractionByTraceItem' + type: array + total_count: + description: Total number of annotated interactions matching the query. + example: 1 + format: int32 + maximum: 2147483647 + type: integer + required: + - annotated_interactions + - total_count + type: object + LLMObsAnnotatedInteractionsByTraceType: + description: Resource type for cross-queue annotated interactions lookup. + enum: + - annotated_interactions_by_trace + example: annotated_interactions_by_trace + type: string + x-enum-varnames: + - ANNOTATED_INTERACTIONS_BY_TRACE + LLMObsAnnotationQueueDataAttributesResponse: + description: Attributes of an Agent Observability annotation queue. + properties: + annotation_schema: + $ref: '#/components/schemas/LLMObsAnnotationSchema' + created_at: + description: Timestamp when the queue was created. + example: '2024-01-15T10:30:00Z' + format: date-time + type: string + created_by: + description: Identifier of the user who created the queue. + example: 00000000-0000-0000-0000-000000000002 + type: string + description: + description: Description of the annotation queue. + example: Queue for annotating customer support traces + type: string + modified_at: + description: Timestamp when the queue was last modified. + example: '2024-01-15T10:30:00Z' + format: date-time + type: string + modified_by: + description: Identifier of the user who last modified the queue. + example: 00000000-0000-0000-0000-000000000002 + type: string + name: + description: Name of the annotation queue. + example: My annotation queue + type: string + owned_by: + description: Identifier of the user who owns the queue. + example: 00000000-0000-0000-0000-000000000002 + type: string + project_id: + description: Identifier of the project this queue belongs to. + example: 00000000-0000-0000-0000-000000000002 + type: string + required: + - name + - project_id + - description + - created_by + - created_at + - modified_by + - modified_at + - owned_by + type: object + LLMObsAnnotationQueueType: + description: Resource type of an Agent Observability annotation queue. + enum: + - queues + example: queues + type: string + x-enum-varnames: + - QUEUES + LLMObsAnnotationQueueDataAttributesRequest: + description: Attributes for creating an Agent Observability annotation queue. + properties: + annotation_schema: + $ref: '#/components/schemas/LLMObsAnnotationSchema' + description: + description: Description of the annotation queue. + example: Queue for annotating customer support traces + type: string + name: + description: Name of the annotation queue. + example: My annotation queue + type: string + project_id: + description: Identifier of the project this queue belongs to. + example: 00000000-0000-0000-0000-000000000002 + type: string + required: + - name + - project_id + type: object + LLMObsAnnotationQueueUpdateDataAttributesRequest: + description: Attributes for updating an Agent Observability annotation queue. All fields are optional. + properties: + annotation_schema: + $ref: '#/components/schemas/LLMObsAnnotationSchema' + description: + description: Updated description of the annotation queue. + example: Updated description + type: string + name: + description: Updated name of the annotation queue. + example: Updated queue name + type: string + type: object + LLMObsAnnotatedInteractionsDataAttributesResponse: + description: Attributes containing the list of annotated interactions. + properties: + annotated_interactions: + description: List of interactions with their annotations. + example: + - annotations: [] + content_id: trace-abc-123 + id: interaction-456 + type: trace + items: + $ref: '#/components/schemas/LLMObsAnnotatedInteractionItem' + type: array + required: + - annotated_interactions + type: object + LLMObsAnnotatedInteractionsType: + description: Resource type for annotated interactions. + enum: + - annotated_interactions + example: annotated_interactions + type: string + x-enum-varnames: + - ANNOTATED_INTERACTIONS + LLMObsAnnotationsDataAttributesRequest: + description: Attributes for creating or updating annotations. + properties: + annotations: + description: List of annotations to create or update. Must contain at least one item. + items: + $ref: '#/components/schemas/LLMObsUpsertAnnotationItem' + minItems: 1 + type: array + required: + - annotations + type: object + LLMObsAnnotationsType: + description: Resource type for Agent Observability annotations. + enum: + - annotations + example: annotations + type: string + x-enum-varnames: + - ANNOTATIONS + LLMObsAnnotationsDataAttributesResponse: + description: Attributes of the annotations response. + properties: + annotations: + description: Successfully created or updated annotations. + items: + $ref: '#/components/schemas/LLMObsAnnotationItemResponse' + type: array + errors: + description: Partial errors for annotations that could not be processed. + items: + $ref: '#/components/schemas/LLMObsAnnotationError' + type: array + required: + - annotations + type: object + LLMObsDeleteAnnotationsDataAttributesRequest: + description: Attributes for deleting annotations. + properties: + annotation_ids: + description: IDs of the annotations to delete. Must contain at least one item. + example: + - 00000000-0000-0000-0000-000000000000 + - 00000000-0000-0000-0000-000000000001 + items: + type: string + minItems: 1 + type: array + required: + - annotation_ids + type: object + LLMObsDeleteAnnotationsDataAttributesResponse: + description: Attributes of the annotation deletion response. + properties: + annotation_ids: + description: IDs of the successfully deleted annotations. + example: + - 00000000-0000-0000-0000-000000000000 + items: + type: string + type: array + errors: + description: Errors for annotations that could not be deleted. + items: + $ref: '#/components/schemas/LLMObsDeleteAnnotationError' + type: array + required: + - annotation_ids + - errors + type: object + LLMObsAnnotationQueueInteractionsDataAttributesRequest: + description: Attributes for adding interactions to an annotation queue. + properties: + interactions: + description: List of interactions to add to the queue. Must contain at least one item. + example: + - content_id: trace-abc-123 + type: trace + items: + $ref: '#/components/schemas/LLMObsAnnotationQueueInteractionItem' + minItems: 1 + type: array + required: + - interactions + type: object + LLMObsAnnotationQueueInteractionsType: + description: Resource type for annotation queue interactions. + enum: + - interactions + example: interactions + type: string + x-enum-varnames: + - INTERACTIONS + LLMObsAnnotationQueueInteractionsDataAttributesResponse: + description: Attributes of the interaction addition response. + properties: + interactions: + description: List of interactions that were processed. + example: + - already_existed: false + content_id: trace-abc-123 + id: 00000000-0000-0000-0000-000000000000 + type: trace + items: + $ref: '#/components/schemas/LLMObsAnnotationQueueInteractionResponseItem' + type: array + required: + - interactions + type: object + LLMObsDeleteAnnotationQueueInteractionsDataAttributesRequest: + description: Attributes for deleting interactions from an annotation queue. + properties: + interaction_ids: + description: List of interaction IDs to delete. Must contain at least one item. + example: + - 00000000-0000-0000-0000-000000000000 + - 00000000-0000-0000-0000-000000000001 + items: + description: An interaction ID to delete. + type: string + minItems: 1 + type: array + required: + - interaction_ids + type: object + LLMObsAnnotationQueueLabelSchemaAttributes: + description: Attributes of an annotation queue label schema. + properties: + annotation_schema: + $ref: '#/components/schemas/LLMObsAnnotationSchema' + required: + - annotation_schema + type: object + LLMObsAnnotationQueueLabelSchemaUpdateAttributes: + description: Attributes for updating an annotation queue label schema. + properties: + annotation_schema: + $ref: '#/components/schemas/LLMObsAnnotationSchema' + required: + - annotation_schema + type: object + LLMObsExperimentationAnalyticsDataAttributesRequest: + description: Attributes for an analytics request. + properties: + aggregate: + $ref: '#/components/schemas/LLMObsExperimentationAnalyticsAggregate' + required: + - aggregate + type: object + LLMObsExperimentationType: + description: Resource type for experimentation search and analytics operations. + enum: + - experimentation + example: experimentation + type: string + x-enum-varnames: + - EXPERIMENTATION + LLMObsExperimentationAnalyticsDataAttributesResponse: + description: Attributes of an analytics response. + properties: + hit_count: + description: Total number of events matched by the query before grouping. + example: 1500 + format: int64 + type: integer + result: + $ref: '#/components/schemas/LLMObsExperimentationAnalyticsResult' + required: + - hit_count + - result + type: object + LLMObsExperimentationSearchDataAttributesRequest: + description: Attributes for an experimentation search request. + properties: + content_preview: + $ref: '#/components/schemas/LLMObsExperimentationContentPreview' + filter: + $ref: '#/components/schemas/LLMObsExperimentationFilter' + include: + $ref: '#/components/schemas/LLMObsExperimentationInclude' + page: + $ref: '#/components/schemas/LLMObsExperimentationCursorPage' + required: + - filter + type: object + LLMObsExperimentationSearchResults: + description: The matching experimentation entities grouped by type. + properties: + dataset_records: + description: Matching dataset records. Present when `dataset_records` is included in `filter.scope`. + items: + $ref: '#/components/schemas/LLMObsDatasetRecordDataResponse' + nullable: true + type: array + datasets: + description: Matching datasets. Present when `datasets` is included in `filter.scope`. + items: + $ref: '#/components/schemas/LLMObsDatasetDataResponse' + nullable: true + type: array + experiment_runs: + description: Matching experiment runs. Present when `experiment_runs` is included in `filter.scope`. + items: + $ref: '#/components/schemas/LLMObsExperimentRunDataResponse' + nullable: true + type: array + experiments: + description: Matching experiments. Present when `experiments` is included in `filter.scope`. + items: + $ref: '#/components/schemas/LLMObsExperimentDataAttributesResponse' + nullable: true + type: array + projects: + description: Matching projects. Present when `projects` is included in `filter.scope`. + items: + $ref: '#/components/schemas/LLMObsProjectDataResponse' + nullable: true + type: array + type: object + LLMObsExperimentationSimpleSearchDataAttributesRequest: + description: Attributes for an experimentation simple search request. + properties: + content_preview: + $ref: '#/components/schemas/LLMObsExperimentationContentPreview' + filter: + $ref: '#/components/schemas/LLMObsExperimentationFilter' + include: + $ref: '#/components/schemas/LLMObsExperimentationInclude' + page: + $ref: '#/components/schemas/LLMObsExperimentationNumberPage' + sort: + description: Sort order for results. + items: + $ref: '#/components/schemas/LLMObsExperimentationSortField' + type: array + required: + - filter + type: object + LLMObsExperimentationSimpleSearchMetaPage: + description: Page metadata. + properties: + current: + description: Current page number. + example: 1 + format: int32 + maximum: 2147483647 + type: integer + limit: + description: Page size used for this response. + example: 50 + format: int32 + maximum: 2147483647 + type: integer + total_count: + description: Total number of matching results (capped at the maximum search limit). + example: 193 + format: int32 + maximum: 2147483647 + type: integer + total_pages: + description: Total number of pages available. + example: 4 + format: int32 + maximum: 2147483647 + type: integer + type: object + LLMObsExperimentDataAttributesResponse: + description: Attributes of an Agent Observability experiment. + properties: + aggregate_data: + additionalProperties: {} + description: Pre-computed aggregate metrics for this experiment run, including eval score distributions, token costs, and error rates. + nullable: true + type: object + author: + $ref: '#/components/schemas/LLMObsExperimentUser' + config: + additionalProperties: {} + description: Configuration parameters for the experiment. + nullable: true + type: object + created_at: + description: Timestamp when the experiment was created. + example: '2024-01-15T10:30:00Z' + format: date-time + type: string + dataset_id: + description: Identifier of the dataset used in this experiment. + example: 9f64e5c7-dc5a-45c8-a17c-1b85f0bec97d + type: string + dataset_name: + description: |- + Name of the dataset used in this experiment. + Only present when `include[dataset_names]` is `true`. + nullable: true + type: string + dataset_version: + description: Version of the dataset used in this experiment. + format: int64 + type: integer + deleted_at: + description: Timestamp when the experiment was soft-deleted, if applicable. + format: date-time + nullable: true + type: string + description: + description: Description of the experiment. + example: '' + nullable: true + type: string + error: + description: Error message describing why the experiment failed, if applicable. + nullable: true + type: string + experiment: + description: Logical name of the experiment, shared across all runs of the same pipeline. + example: my-pipeline + type: string + metadata: + additionalProperties: {} + description: Arbitrary metadata associated with the experiment. + nullable: true + type: object + name: + description: Name of the experiment. + example: My Experiment v1 + type: string + parent_experiment_id: + description: Identifier of the parent (baseline) experiment this experiment was run against, if any. + example: 3fd6b5e0-8910-4b1c-a7d0-5b84de329012 + nullable: true + type: string + project_id: + description: Identifier of the project this experiment belongs to. + example: a33671aa-24fd-4dcd-9b33-a8ec7dde7751 + type: string + run_count: + description: Expected number of runs for this experiment. + format: int32 + maximum: 2147483647 + type: integer + status: + $ref: '#/components/schemas/LLMObsExperimentStatus' + updated_at: + description: Timestamp when the experiment was last updated. + example: '2024-01-15T10:30:00Z' + format: date-time + type: string + required: + - project_id + - dataset_id + - name + - description + - metadata + - config + - created_at + - updated_at + type: object + LLMObsExperimentType: + description: Resource type of an Agent Observability experiment. + enum: + - experiments + example: experiments + type: string + x-enum-varnames: + - EXPERIMENTS + LLMObsExperimentDataAttributesRequest: + description: Attributes for creating an Agent Observability experiment. + properties: + config: + additionalProperties: {} + description: Configuration parameters for the experiment. + type: object + dataset_id: + description: Identifier of the dataset used in this experiment. + example: 9f64e5c7-dc5a-45c8-a17c-1b85f0bec97d + type: string + dataset_version: + description: Version of the dataset to use. Defaults to the current version if not specified. + format: int64 + type: integer + description: + description: Description of the experiment. + type: string + ensure_unique: + description: Whether to ensure the experiment name is unique. Defaults to `true`. + type: boolean + metadata: + additionalProperties: {} + description: Arbitrary metadata associated with the experiment. + type: object + name: + description: Name of the experiment. + example: My Experiment v1 + type: string + parent_experiment_id: + description: Identifier of the parent (baseline) experiment this experiment is run against. + example: 3fd6b5e0-8910-4b1c-a7d0-5b84de329012 + type: string + project_id: + description: Identifier of the project this experiment belongs to. + example: a33671aa-24fd-4dcd-9b33-a8ec7dde7751 + type: string + run_count: + description: Number of runs configured for this experiment. + format: int32 + maximum: 2147483647 + type: integer + required: + - project_id + - name + type: object + LLMObsDeleteExperimentsDataAttributesRequest: + description: Attributes for deleting Agent Observability experiments. + properties: + experiment_ids: + description: List of experiment IDs to delete. + example: + - 3fd6b5e0-8910-4b1c-a7d0-5b84de329012 + items: + description: An experiment ID to delete. + type: string + type: array + required: + - experiment_ids + type: object + LLMObsExperimentUpdateDataAttributesRequest: + description: Attributes for updating an Agent Observability experiment. + properties: + dataset_id: + description: Updated identifier of the dataset used in this experiment. + example: 9f64e5c7-dc5a-45c8-a17c-1b85f0bec97d + type: string + description: + description: Updated description of the experiment. + type: string + error: + description: Error message describing why the experiment failed, if applicable. + type: string + metadata: + additionalProperties: {} + description: Updated arbitrary metadata associated with the experiment. + type: object + name: + description: Updated name of the experiment. + type: string + status: + $ref: '#/components/schemas/LLMObsExperimentStatus' + type: object + LLMObsExperimentSpanWithEvals: + description: An experiment span enriched with its associated evaluation metrics. + properties: + dataset_record_id: + description: ID of the dataset record this span evaluated. + nullable: true + type: string + duration: + description: Duration of the span in nanoseconds. + example: 1500000000 + format: double + type: number + eval_metrics: + description: Evaluation metrics associated with this span. + items: + $ref: '#/components/schemas/LLMObsExperimentEvalMetricEvent' + type: array + id: + description: Unique identifier of the span. + example: 00000000-0000-0000-0000-000000000001 + type: string + meta: + $ref: '#/components/schemas/LLMObsExperimentSpanMeta' + metrics: + additionalProperties: + format: double + type: number + description: Numeric metrics attached to the span. + type: object + name: + description: Name of the span. + example: llm_call + type: string + parent_id: + description: Parent span ID, if any. + type: string + span_id: + description: Span ID. + example: span-7a1b2c3d + type: string + start_ns: + description: Start time in nanoseconds since Unix epoch. + example: 1705314600000000000 + format: int64 + type: integer + status: + $ref: '#/components/schemas/LLMObsExperimentSpanStatus' + tags: + description: Tags associated with the span. + items: + type: string + type: array + trace_id: + description: Trace ID. + example: abc123def456 + type: string + type: object + LLMObsExperimentSpanType: + description: Resource type for a span item in an experiment spans response. + enum: + - experiments + example: experiments + type: string + x-enum-varnames: + - EXPERIMENTS_SPAN + LLMObsExperimentEventsDataAttributesRequest: + description: Attributes for pushing experiment events including spans and metrics. + properties: + metrics: + description: List of metrics to push for the experiment. + items: + $ref: '#/components/schemas/LLMObsExperimentMetric' + type: array + spans: + description: List of spans to push for the experiment. + items: + $ref: '#/components/schemas/LLMObsExperimentSpan' + type: array + type: object + LLMObsEventType: + description: Resource type for Agent Observability experiment events. + enum: + - events + example: events + type: string + x-enum-varnames: + - EVENTS + LLMObsAnthropicEffort: + description: The effort level for Anthropic inference. + enum: + - low + - medium + - high + - max + example: medium + nullable: true + type: string + x-enum-varnames: + - LOW + - MEDIUM + - HIGH + - MAX + LLMObsAnthropicThinkingConfig: + description: Configuration for Anthropic extended thinking feature. + properties: + budget_tokens: + description: Maximum token budget for extended thinking. Required when type is `enabled`. + example: 1024 + format: int64 + nullable: true + type: integer + type: + $ref: '#/components/schemas/LLMObsAnthropicThinkingType' + required: + - type + type: object + LLMObsInferenceMessage: + description: A single message in an LLM inference conversation. + properties: + content: + description: Plain text content of the message. + example: What is the capital of France? + type: string + contents: + $ref: '#/components/schemas/LLMObsInferenceContentList' + id: + description: Unique identifier for the message. + example: msg_001 + type: string + role: + description: The role of the message author. + example: user + type: string + tool_calls: + $ref: '#/components/schemas/LLMObsInferenceToolCallsList' + tool_results: + $ref: '#/components/schemas/LLMObsInferenceToolResultsList' + type: object + LLMObsOpenAIReasoningEffort: + description: The reasoning effort level for OpenAI models that support it. + enum: + - none + - low + - medium + - high + - xhigh + example: medium + nullable: true + type: string + x-enum-varnames: + - NONE + - LOW + - MEDIUM + - HIGH + - XHIGH + LLMObsOpenAIReasoningSummary: + description: The verbosity of the reasoning summary. + enum: + - auto + - concise + - detailed + example: auto + nullable: true + type: string + x-enum-varnames: + - AUTO + - CONCISE + - DETAILED + LLMObsInferenceTool: + description: A tool definition available to the model during inference. + properties: + function: + $ref: '#/components/schemas/LLMObsInferenceFunction' + type: + description: The type of tool. + example: function + type: string + required: + - type + - function + type: object + LLMObsIntegrationInferenceCodesResponse: + description: List of generated code snippets for the inference configuration. + items: + $ref: '#/components/schemas/LLMObsInferenceCode' + type: array + LLMObsInternalReasoning: + description: The model's internal reasoning or thinking output, if available. + properties: + reasoning_tokens: + description: Number of tokens used for internal reasoning. + example: 256 + format: int64 + nullable: true + type: integer + text: + description: The reasoning text produced by the model. + example: Let me think about this step by step... + type: string + required: + - text + type: object + LLMObsProjectDataAttributesResponse: + description: Attributes of an Agent Observability project. + properties: + created_at: + description: Timestamp when the project was created. + example: '2024-01-15T10:30:00Z' + format: date-time + type: string + description: + description: Description of the project. + example: '' + nullable: true + type: string + name: + description: Name of the project. + example: My LLM Project + type: string + updated_at: + description: Timestamp when the project was last updated. + example: '2024-01-15T10:30:00Z' + format: date-time + type: string + required: + - name + - description + - created_at + - updated_at + type: object + LLMObsProjectType: + description: Resource type of an Agent Observability project. + enum: + - projects + example: projects + type: string + x-enum-varnames: + - PROJECTS + LLMObsProjectDataAttributesRequest: + description: Attributes for creating an Agent Observability project. + properties: + description: + description: Description of the project. + type: string + name: + description: Name of the project. + example: My LLM Project + type: string + required: + - name + type: object + LLMObsDeleteProjectsDataAttributesRequest: + description: Attributes for deleting Agent Observability projects. + properties: + project_ids: + description: List of project IDs to delete. + example: + - a33671aa-24fd-4dcd-9b33-a8ec7dde7751 + items: + description: A project ID to delete. + type: string + type: array + required: + - project_ids + type: object + LLMObsProjectUpdateDataAttributesRequest: + description: Attributes for updating an Agent Observability project. + properties: + description: + description: Updated description of the project. + type: string + name: + description: Updated name of the project. + type: string + type: object + LLMObsPromptDataAttributes: + description: Attributes of an Agent Observability prompt registry entry. + properties: + author: + description: UUID of the user who authored the prompt. + type: string + created_at: + description: Timestamp when the prompt was created. + format: date-time + type: string + created_from: + description: Source that created the prompt, such as `ui-registry`, `sdk-registry`, or `sdk-instrumentation`. + example: sdk-registry + type: string + datasets: + description: Datasets observed in runs associated with this prompt. + items: + $ref: '#/components/schemas/LLMObsPromptDataset' + type: array + description: + description: Description of the prompt. + type: string + extracted_from: + description: Source prompt from which this prompt was extracted, when applicable. + type: string + in_registry: + description: Whether the prompt is a registry entry (as opposed to a code-discovered prompt). + example: true + type: boolean + last_seen_at: + description: Timestamp of the most recent observed run of this prompt. + format: date-time + type: string + last_version_created_at: + description: Timestamp when the most recent version of the prompt was created. + format: date-time + type: string + ml_app: + description: The ML application this prompt is associated with. + type: string + ml_apps: + description: ML applications observed running this prompt. + items: + type: string + type: array + num_versions: + description: Number of versions of the prompt. + example: 2 + format: int64 + type: integer + prompt_id: + description: Customer-provided identifier of the prompt. + example: customer-support-assistant + type: string + source: + $ref: '#/components/schemas/LLMObsPromptResponseSource' + tags: + description: Tags observed on runs of this prompt. + items: + type: string + type: array + title: + description: Title of the prompt. + type: string + required: + - prompt_id + - source + - num_versions + - in_registry + - created_from + type: object + LLMObsPromptType: + description: Resource type of an Agent Observability prompt. + enum: + - prompt-templates + example: prompt-templates + type: string + x-enum-varnames: + - PROMPT_TEMPLATES + LLMObsCreatePromptDataAttributes: + description: Attributes for creating an Agent Observability prompt and its first version. `prompt_id` and `template` are required; all other attributes are optional. + properties: + description: + description: Optional description of the prompt. + type: string + env_ids: + description: Optional feature-flag environment UUIDs the service attempts to enable and configure to use the first version as their default after creation. + items: + type: string + type: array + labels: + deprecated: true + description: Optional labels to attach to the first version. Do not use this attribute for new integrations. + items: + $ref: '#/components/schemas/LLMObsPromptVersionLabel' + type: array + prompt_id: + description: Customer-provided identifier for the new prompt. + example: customer-support-assistant + minLength: 1 + type: string + template: + $ref: '#/components/schemas/LLMObsPromptTemplate' + title: + description: Optional title of the prompt. + type: string + user_version: + description: Optional user-supplied version identifier for the first version. + type: string + required: + - prompt_id + - template + type: object + LLMObsDeletedPromptDataAttributes: + description: Attributes confirming that an Agent Observability prompt was deleted. + properties: + deleted_at: + description: Timestamp when the prompt was deleted. + example: '2025-02-10T09:15:00Z' + format: date-time + type: string + prompt_id: + description: Customer-provided identifier of the deleted prompt. + example: customer-support-assistant + type: string + required: + - prompt_id + - deleted_at + type: object + LLMObsPromptSDKDataAttributes: + description: Attributes of a flattened prompt version returned for SDK consumption. Exactly one of `template` and `chat_template` is returned. + properties: + chat_template: + description: Chat template for this prompt version, as a list of role and content messages. Omitted for text templates. + items: + $ref: '#/components/schemas/LLMObsPromptChatMessage' + type: array + labels: + deprecated: true + description: Labels attached to the selected version. + items: + type: string + type: array + prompt_id: + description: Customer-provided identifier of the prompt. + example: customer-support-assistant + type: string + prompt_version_uuid: + description: Unique identifier of this prompt version. + example: d83ab666-61cc-5545-a83b-2424bb85467b + type: string + template: + description: Text template for this prompt version. Omitted for chat templates. + type: string + version: + description: Version identifier for this prompt version. This is the sequential version number unless a user-supplied version identifier was set, in which case that identifier is used instead. + example: '2' + type: string + type: object + LLMObsUpdatePromptDataAttributes: + additionalProperties: false + description: Attributes for updating an Agent Observability prompt. At least one of `title` or `description` must be provided; both attributes are optional individually. + minProperties: 1 + properties: + description: + description: Optional new description for the prompt. + type: string + title: + description: Optional new title for the prompt. + type: string + type: object + LLMObsPromptVersionListDataAttributes: + description: Attributes of a prompt version returned in a list, excluding its template. + properties: + author: + description: UUID of the user who authored this version. + type: string + created_at: + description: Timestamp stored on this prompt version. + format: date-time + type: string + datasets: + description: Datasets observed in runs associated with this prompt version. + items: + $ref: '#/components/schemas/LLMObsPromptDataset' + type: array + description: + description: Description of this version. + type: string + labels: + deprecated: true + description: Labels attached to this version (for example `development`, `staging`, `production`). + items: + type: string + type: array + last_seen_at: + description: Timestamp of the most recent observed run of this prompt version. + format: date-time + type: string + ml_app: + description: The ML application this prompt is associated with. + type: string + ml_apps: + description: ML applications observed running this prompt version. + items: + type: string + type: array + prompt_id: + description: Customer-provided identifier of the parent prompt. + example: customer-support-assistant + type: string + prompt_uuid: + description: Unique identifier of the parent prompt. + example: 4a1a28ff-8a25-5f0f-946f-f48264d772eb + type: string + tags: + description: Tags observed on runs of this prompt version. + items: + type: string + type: array + user_version: + description: User-supplied identifier for this version. + type: string + version: + description: Sequential version number. + example: 1 + format: int64 + minimum: 1 + type: integer + version_created_at: + description: Timestamp when this version was created. + format: date-time + type: string + required: + - prompt_uuid + - prompt_id + - version + type: object + LLMObsPromptVersionType: + description: Resource type of an Agent Observability prompt version. + enum: + - prompt-template-versions + example: prompt-template-versions + type: string + x-enum-varnames: + - PROMPT_TEMPLATE_VERSIONS + LLMObsCreatePromptVersionDataAttributes: + description: Attributes for creating a new version of an Agent Observability prompt. `template` is required; all other attributes are optional. + properties: + description: + description: Optional description of this version. + type: string + env_ids: + description: Optional feature-flag environment UUIDs the service attempts to enable and configure to use this version as their default after creation. + items: + type: string + type: array + labels: + deprecated: true + description: Optional labels to attach to this version. Do not use this attribute for new integrations. + items: + $ref: '#/components/schemas/LLMObsPromptVersionLabel' + type: array + template: + $ref: '#/components/schemas/LLMObsPromptTemplate' + user_version: + description: Optional user-supplied version identifier for this version. + type: string + required: + - template + type: object + LLMObsPromptVersionDataAttributes: + description: Attributes of a specific version of an Agent Observability prompt. + properties: + author: + description: UUID of the user who authored this version. + type: string + created_at: + description: Timestamp stored on this prompt version. + format: date-time + type: string + datasets: + description: Datasets observed in runs associated with this prompt version. + items: + $ref: '#/components/schemas/LLMObsPromptDataset' + type: array + description: + description: Description of this version. + type: string + labels: + deprecated: true + description: Labels attached to this version (for example `development`, `staging`, `production`). + items: + type: string + type: array + last_seen_at: + description: Timestamp of the most recent observed run of this prompt version. + format: date-time + type: string + ml_app: + description: The ML application this prompt is associated with. + type: string + ml_apps: + description: ML applications observed running this prompt version. + items: + type: string + type: array + prompt_id: + description: Customer-provided identifier of the parent prompt. + example: customer-support-assistant + type: string + prompt_uuid: + description: Unique identifier of the parent prompt. + example: 4a1a28ff-8a25-5f0f-946f-f48264d772eb + type: string + tags: + description: Tags observed on runs of this prompt version. + items: + type: string + type: array + template: + $ref: '#/components/schemas/LLMObsPromptTemplate' + user_version: + description: User-supplied identifier for this version. + type: string + version: + description: Sequential version number. + example: 1 + format: int64 + minimum: 1 + type: integer + version_created_at: + description: Timestamp when this version was created. + format: date-time + type: string + required: + - prompt_uuid + - prompt_id + - template + - version + type: object + LLMObsUpdatePromptVersionDataAttributes: + additionalProperties: false + description: Attributes for updating an Agent Observability prompt version. At least one of `description`, `labels`, or `env_ids` must be provided; all three attributes are optional individually. + minProperties: 1 + properties: + description: + description: Optional new description for this version. + type: string + env_ids: + description: Optional feature-flag environment UUIDs the service attempts to enable and configure to use this version as their default. + items: + type: string + type: array + labels: + deprecated: true + description: Optional new labels for this version. Do not use this attribute for new integrations. + items: + $ref: '#/components/schemas/LLMObsPromptVersionLabel' + type: array + type: object + LLMObsSpanAttributes: + description: Attributes of an Agent Observability span. + properties: + duration: + description: Duration of the span in nanoseconds. + example: 1500000000 + format: double + type: number + evaluation: + additionalProperties: + $ref: '#/components/schemas/LLMObsSpanEvaluationMetric' + description: Evaluation metrics keyed by evaluator name. + type: object + input: + $ref: '#/components/schemas/LLMObsSpanIO' + intent: + description: Detected intent of the span. + type: string + metadata: + additionalProperties: {} + description: Arbitrary metadata associated with the span. + type: object + metrics: + additionalProperties: + format: double + type: number + description: Numeric metrics associated with the span (e.g., token counts). + type: object + ml_app: + description: Name of the ML application this span belongs to. + example: my-llm-app + type: string + model_name: + description: Name of the model used in this span. + example: gpt-4o + type: string + model_provider: + description: Provider of the model used in this span. + example: openai + type: string + name: + description: Name of the span. + example: llm_call + type: string + output: + $ref: '#/components/schemas/LLMObsSpanIO' + parent_id: + description: Identifier of the parent span, if any. + type: string + span_id: + description: Unique identifier of the span. + example: abc123def456 + type: string + span_kind: + description: Kind of span (e.g., llm, agent, tool, task, workflow). + example: llm + type: string + start_ns: + description: Start time of the span in nanoseconds since Unix epoch. + example: 1705314600000000000 + format: int64 + type: integer + status: + description: Status of the span (e.g., ok, error). + example: ok + type: string + tags: + description: Tags associated with the span. + items: + type: string + type: array + tool_definitions: + description: Tool definitions available to the span. + items: + $ref: '#/components/schemas/LLMObsSpanToolDefinition' + type: array + trace_id: + description: Trace identifier this span belongs to. + example: trace-9a8b7c6d5e4f + type: string + required: + - span_id + - trace_id + - name + - status + - start_ns + - duration + - ml_app + - span_kind + type: object + LLMObsSpanType: + description: Resource type for an Agent Observability span. + enum: + - span + example: span + type: string + x-enum-varnames: + - SPAN + LLMObsSpansResponsePage: + description: Pagination cursor for the spans response. + properties: + after: + description: Cursor to retrieve the next page of results. Absent when there are no more results. + example: eyJzdGFydCI6MTAwfQ== + type: string + type: object + LLMObsSearchSpansRequestAttributes: + description: Attributes of an Agent Observability spans search request. + properties: + filter: + $ref: '#/components/schemas/LLMObsSpanFilter' + options: + $ref: '#/components/schemas/LLMObsSpanSearchOptions' + page: + $ref: '#/components/schemas/LLMObsSpanPageQuery' + sort: + description: Sort order for the results. Use `-` prefix for descending order. + example: '-start_ns' + type: string + type: object + LLMObsSearchSpansRequestType: + description: Resource type for an Agent Observability spans search request. + enum: + - spans + example: spans + type: string + x-enum-varnames: + - SPANS + LLMObsPatternsClusteredPointsResponseAttributes: + description: Attributes of an Agent Observability patterns clustered points response. + properties: + next_page_token: + description: Pagination token for the next page of points. Null if there are no more pages. + example: eyJvZmZzZXQiOjUwfQ== + nullable: true + type: string + points: + $ref: '#/components/schemas/LLMObsPatternsClusteredPointsList' + topic_id: + description: Identifier of the topic the points belong to. + example: 5c1fae90-2b6d-4e3a-9f12-7a0c4d8e6b21 + type: string + required: + - topic_id + - next_page_token + - points + type: object + LLMObsPatternsClusteredPointsType: + description: Resource type of an Agent Observability patterns clustered points response. + enum: + - clustered_points_response + example: clustered_points_response + type: string + x-enum-varnames: + - CLUSTERED_POINTS_RESPONSE + LLMObsPatternsConfigsResponseAttributes: + description: Attributes of a list of Agent Observability patterns configurations. + properties: + configs: + $ref: '#/components/schemas/LLMObsPatternsConfigItemsList' + required: + - configs + type: object + LLMObsPatternsConfigsListType: + description: Resource type of a list of Agent Observability patterns configurations. + enum: + - list_topic_discovery_configs_response + example: list_topic_discovery_configs_response + type: string + x-enum-varnames: + - LIST_TOPIC_DISCOVERY_CONFIGS_RESPONSE + LLMObsPatternsConfigUpsertRequestAttributes: + description: Attributes for creating or updating an Agent Observability patterns configuration. + properties: + account_id: + description: Integration account ID for a bring-your-own-model configuration. + example: '1000000001' + type: string + config_id: + description: The ID of an existing configuration to update. If omitted, a new configuration is created. + example: a7c8d9e0-1234-5678-9abc-def012345678 + type: string + evp_query: + description: Query that selects the spans the patterns run analyzes. + example: '@ml_app:support-bot' + type: string + hierarchy_depth: + description: Depth of the topic hierarchy to generate. + example: 2 + format: int32 + maximum: 2147483647 + type: integer + integration_provider: + description: Integration provider for a bring-your-own-model configuration. + example: openai + type: string + model_name: + description: Model name for a bring-your-own-model configuration. + example: gpt-4o + type: string + name: + description: Name of the configuration. + example: Support chatbot topics + type: string + num_records: + description: Maximum number of records to process for the run. + example: 1000 + format: int32 + maximum: 2147483647 + type: integer + sampling_ratio: + description: Fraction of matching spans to sample for the run. + example: 0.1 + format: double + type: number + scope: + description: Scope of the configuration. + example: '' + type: string + template: + description: Template used to guide topic generation. + example: '' + type: string + required: + - name + - evp_query + - sampling_ratio + - num_records + - hierarchy_depth + type: object + LLMObsPatternsConfigType: + description: Resource type of an Agent Observability patterns configuration. + enum: + - topic_discovery_configs + example: topic_discovery_configs + type: string + x-enum-varnames: + - TOPIC_DISCOVERY_CONFIGS + LLMObsPatternsConfigAttributes: + description: Attributes of an Agent Observability patterns configuration. + properties: + account_id: + description: Integration account ID for a bring-your-own-model configuration. + example: '1000000001' + nullable: true + type: string + created_at: + description: Timestamp when the configuration was created. + example: '2024-01-15T10:30:00Z' + format: date-time + type: string + evp_query: + description: Query that selects the spans the patterns run analyzes. + example: '@ml_app:support-bot' + type: string + hierarchy_depth: + description: Depth of the topic hierarchy to generate. + example: 2 + format: int32 + maximum: 2147483647 + type: integer + integration_provider: + description: Integration provider for a bring-your-own-model configuration. + example: openai + nullable: true + type: string + model_name: + description: Model name for a bring-your-own-model configuration. + example: gpt-4o + nullable: true + type: string + name: + description: Name of the configuration. + example: Support chatbot topics + type: string + num_records: + description: Maximum number of records to process for the run. + example: 1000 + format: int32 + maximum: 2147483647 + type: integer + sampling_ratio: + description: Fraction of matching spans to sample for the run. + example: 0.1 + format: double + type: number + scope: + description: Scope of the configuration. + example: '' + type: string + template: + description: Template used to guide topic generation. + example: '' + nullable: true + type: string + updated_at: + description: Timestamp when the configuration was last updated. + example: '2024-01-15T10:30:00Z' + format: date-time + type: string + required: + - name + - evp_query + - sampling_ratio + - num_records + - hierarchy_depth + - scope + - created_at + - updated_at + type: object + LLMObsPatternsRunsResponseAttributes: + description: Attributes of an Agent Observability patterns runs response. + properties: + runs: + $ref: '#/components/schemas/LLMObsPatternsRunsList' + required: + - runs + type: object + LLMObsPatternsRunsListType: + description: Resource type of a list of Agent Observability patterns runs. + enum: + - list_topic_discovery_runs_response + example: list_topic_discovery_runs_response + type: string + x-enum-varnames: + - LIST_TOPIC_DISCOVERY_RUNS_RESPONSE + LLMObsPatternsTriggerRequestAttributes: + description: Attributes for triggering an Agent Observability patterns run. + properties: + config_id: + description: The ID of the patterns configuration to run. + example: a7c8d9e0-1234-5678-9abc-def012345678 + type: string + required: + - config_id + type: object + LLMObsPatternsRequestType: + description: Resource type for triggering an Agent Observability patterns run. + enum: + - topic_discovery + example: topic_discovery + type: string + x-enum-varnames: + - TOPIC_DISCOVERY + LLMObsPatternsTriggerResponseAttributes: + description: Attributes of an Agent Observability patterns trigger response. + properties: + config_id: + description: The ID of the patterns configuration that was run. + example: a7c8d9e0-1234-5678-9abc-def012345678 + type: string + run_id: + description: The ID of the patterns run that was started. + example: 3fd6b5e0-8910-4b1c-a7d0-5b84de329012 + type: string + status: + description: Status of the patterns run. + example: started + type: string + required: + - run_id + - config_id + - status + type: object + LLMObsPatternsTriggerResponseType: + description: Resource type of an Agent Observability patterns trigger response. + enum: + - topic_discovery_run + example: topic_discovery_run + type: string + x-enum-varnames: + - TOPIC_DISCOVERY_RUN + LLMObsPatternsRunStatusResponseAttributes: + description: Attributes of an Agent Observability patterns run status. + properties: + created_at: + description: Timestamp when the run was created. + example: '2024-01-15T10:30:00Z' + format: date-time + type: string + progress: + $ref: '#/components/schemas/LLMObsPatternsProgressList' + status: + description: Overall status of the run. + example: running + type: string + step: + description: The current step of the run. + example: generate_topics + type: string + required: + - created_at + - status + - step + - progress + type: object + LLMObsPatternsRunStatusType: + description: Resource type of an Agent Observability patterns run status. + enum: + - topic_discovery_run_status + example: topic_discovery_run_status + type: string + x-enum-varnames: + - TOPIC_DISCOVERY_RUN_STATUS + LLMObsPatternsTopicsResponseAttributes: + description: Attributes of an Agent Observability patterns topics response. + properties: + completed_at: + description: Timestamp when the run completed. Null if the run has not completed. + example: '2024-01-15T10:45:00Z' + format: date-time + nullable: true + type: string + config_id: + description: Identifier of the configuration that produced the run. + example: a7c8d9e0-1234-5678-9abc-def012345678 + type: string + config_snapshot: + $ref: '#/components/schemas/LLMObsPatternsConfigSnapshot' + created_at: + description: Timestamp when the run was created. + example: '2024-01-15T10:30:00Z' + format: date-time + type: string + previous_run_id: + description: Identifier of the run that completed immediately before this one. Empty if none. + example: '' + type: string + run_id: + description: Identifier of the run that produced the topics. + example: 3fd6b5e0-8910-4b1c-a7d0-5b84de329012 + type: string + topics: + $ref: '#/components/schemas/LLMObsPatternsTopicsList' + required: + - run_id + - config_id + - previous_run_id + - created_at + - topics + type: object + LLMObsPatternsTopicsType: + description: Resource type of an Agent Observability patterns topics response. + enum: + - get_topics_response + example: get_topics_response + type: string + x-enum-varnames: + - GET_TOPICS_RESPONSE + LLMObsPatternsTopicsWithClusteredPointsResponseAttributes: + description: Attributes of an Agent Observability patterns topics-with-clustered-points response. + properties: + completed_at: + description: Timestamp when the run completed. Null if the run has not completed. + example: '2024-01-15T10:45:00Z' + format: date-time + nullable: true + type: string + config_id: + description: Identifier of the configuration that produced the run. + example: a7c8d9e0-1234-5678-9abc-def012345678 + type: string + config_snapshot: + $ref: '#/components/schemas/LLMObsPatternsConfigSnapshot' + created_at: + description: Timestamp when the run was created. + example: '2024-01-15T10:30:00Z' + format: date-time + type: string + previous_run_id: + description: Identifier of the run that completed immediately before this one. Empty if none. + example: '' + type: string + run_id: + description: Identifier of the run that produced the topics. + example: 3fd6b5e0-8910-4b1c-a7d0-5b84de329012 + type: string + topics: + $ref: '#/components/schemas/LLMObsPatternsTopicsWithClusteredPointsList' + required: + - run_id + - config_id + - previous_run_id + - created_at + - topics + type: object + LLMObsPatternsTopicsWithClusteredPointsType: + description: Resource type of an Agent Observability patterns topics-with-clustered-points response. + enum: + - get_topics_with_cluster_points_response + example: get_topics_with_cluster_points_response + type: string + x-enum-varnames: + - GET_TOPICS_WITH_CLUSTER_POINTS_RESPONSE + LLMObsDatasetDataAttributesResponse: + description: Attributes of an Agent Observability dataset. + properties: + created_at: + description: Timestamp when the dataset was created. + example: '2024-01-15T10:30:00Z' + format: date-time + type: string + current_version: + description: Current version number of the dataset. + example: 1 + format: int64 + type: integer + description: + description: Description of the dataset. + example: '' + nullable: true + type: string + metadata: + additionalProperties: {} + description: Arbitrary metadata associated with the dataset. + nullable: true + type: object + name: + description: Name of the dataset. + example: My LLM Dataset + type: string + updated_at: + description: Timestamp when the dataset was last updated. + example: '2024-01-15T10:30:00Z' + format: date-time + type: string + required: + - name + - description + - metadata + - current_version + - created_at + - updated_at + type: object + LLMObsDatasetType: + description: Resource type of an Agent Observability dataset. + enum: + - datasets + example: datasets + type: string + x-enum-varnames: + - DATASETS + LLMObsDatasetDataAttributesRequest: + description: Attributes for creating an Agent Observability dataset. + properties: + description: + description: Description of the dataset. + type: string + metadata: + additionalProperties: {} + description: Arbitrary metadata associated with the dataset. + type: object + name: + description: Name of the dataset. + example: My LLM Dataset + type: string + required: + - name + type: object + LLMObsDeleteDatasetsDataAttributesRequest: + description: Attributes for deleting Agent Observability datasets. + properties: + dataset_ids: + description: List of dataset IDs to delete. + example: + - 9f64e5c7-dc5a-45c8-a17c-1b85f0bec97d + items: + description: A dataset ID to delete. + type: string + type: array + required: + - dataset_ids + type: object + LLMObsDatasetUpdateDataAttributesRequest: + description: Attributes for updating an Agent Observability dataset. + properties: + description: + description: Updated description of the dataset. + type: string + metadata: + additionalProperties: {} + description: Updated metadata associated with the dataset. + type: object + name: + description: Updated name of the dataset. + type: string + type: object + LLMObsDatasetBatchUpdateDataAttributesRequest: + description: Attributes for batch-updating records in an Agent Observability dataset. + properties: + create_new_version: + description: Whether to create a new dataset version when applying the batch update. Defaults to `true`. + example: true + type: boolean + delete_records: + $ref: '#/components/schemas/LLMObsDatasetBatchUpdateDeleteRecords' + insert_records: + $ref: '#/components/schemas/LLMObsDatasetBatchUpdateInsertRecords' + tags: + $ref: '#/components/schemas/LLMObsDatasetRecordTagsList' + update_records: + $ref: '#/components/schemas/LLMObsDatasetBatchUpdateUpdateRecords' + type: object + LLMObsDatasetCloneDataAttributesRequest: + description: Attributes for cloning an Agent Observability dataset. + properties: + description: + description: Description of the cloned dataset. + example: Clone of the original dataset for experimentation. + type: string + name: + description: Name of the cloned dataset. + example: My cloned dataset + type: string + required: + - name + type: object + LLMObsDatasetDraftStateDataAttributes: + description: Attributes of an Agent Observability dataset draft state. + properties: + drafting_since: + description: Timestamp when the dataset draft session started. + example: '2024-01-15T10:30:00Z' + format: date-time + type: string + user: + $ref: '#/components/schemas/LLMObsDatasetDraftStateUser' + required: + - user + - drafting_since + type: object + LLMObsDatasetDraftStateType: + description: Resource type of an Agent Observability dataset draft state. + enum: + - draft_state_data + example: draft_state_data + type: string + x-enum-varnames: + - DRAFT_STATE_DATA + AnyValue: + description: Represents any valid JSON value. + nullable: true + type: object + format: double + additionalProperties: {} + items: + $ref: '#/components/schemas/AnyValueItem' + LLMObsDatasetRecordsUpdateDataAttributesRequest: + description: Attributes for updating records in an Agent Observability dataset. + properties: + records: + description: List of records to update. + items: + $ref: '#/components/schemas/LLMObsDatasetRecordUpdateItem' + type: array + required: + - records + type: object + LLMObsRecordType: + description: Resource type of Agent Observability dataset records. + enum: + - records + example: records + type: string + x-enum-varnames: + - RECORDS + LLMObsDatasetRecordsDataAttributesRequest: + description: Attributes for appending records to an Agent Observability dataset. + properties: + deduplicate: + description: Whether to deduplicate records before appending. Defaults to `true`. + type: boolean + records: + description: List of records to append to the dataset. + items: + $ref: '#/components/schemas/LLMObsDatasetRecordItem' + type: array + required: + - records + type: object + LLMObsDeleteDatasetRecordsDataAttributesRequest: + description: Attributes for deleting records from an Agent Observability dataset. + properties: + record_ids: + description: List of record IDs to delete. + example: + - rec-7c3f5a1b-9e2d-4f8a-b1c6-3d7e9f0a2b4c + items: + description: A record ID to delete. + type: string + type: array + required: + - record_ids + type: object + LLMObsDatasetRestoreVersionDataAttributesRequest: + description: Attributes for restoring an Agent Observability dataset to a previous version. + properties: + dataset_version: + description: Version number of the dataset to restore. Must be between 0 and the current version of the dataset, inclusive. + example: 1 + format: int32 + maximum: 2147483647 + type: integer + required: + - dataset_version + type: object + LLMObsDatasetVersionData: + description: Data object for an Agent Observability dataset version. + properties: + attributes: + $ref: '#/components/schemas/LLMObsDatasetVersionDataAttributes' + id: + description: Unique identifier of the dataset version. + example: 3fd6b5e0-8910-4b1c-a7d0-5b84de329012 + type: string + type: + $ref: '#/components/schemas/LLMObsDatasetVersionType' + required: + - id + - type + - attributes + type: object + LLMObsExperimentEventsV2DataAttributesResponse: + description: Attributes of an experiment events response. + properties: + spans: + description: Experiment spans, each enriched with their associated evaluation metrics. + items: + $ref: '#/components/schemas/LLMObsExperimentSpanWithEvals' + type: array + summary_metrics: + description: Experiment-level summary evaluation metrics (not tied to individual spans). + items: + $ref: '#/components/schemas/LLMObsExperimentEvalMetricEvent' + type: array + required: + - spans + - summary_metrics + type: object + LLMObsExperimentEventsType: + description: Resource type for an experiment events collection. + enum: + - experiment_events + example: experiment_events + type: string + x-enum-varnames: + - EXPERIMENT_EVENTS + ModelLabFacetKeysAttributes: + description: Available facet key names for filtering resources. + properties: + metrics: + description: The list of available metric facet keys. + example: + - accuracy + items: + type: string + nullable: true + type: array + parameters: + description: The list of available parameter facet keys. + example: + - learning_rate + items: + type: string + type: array + tags: + description: The list of available tag facet keys. + example: + - model + items: + type: string + type: array + required: + - parameters + - tags + - metrics + type: object + ModelLabFacetKeysType: + description: The JSON:API type for a facet keys resource. + enum: + - facet_keys + example: facet_keys + type: string + x-enum-varnames: + - FACET_KEYS + ModelLabFacetValuesAttributes: + description: Available values for a specific facet key. + properties: + facet_name: + description: The name of the facet. + example: model + type: string + facet_type: + description: The type of the facet. + example: tag + type: string + metric_stat_ranges: + description: The ranges for each metric statistic. + items: + $ref: '#/components/schemas/ModelLabMetricStatRange' + type: array + numeric_range: + $ref: '#/components/schemas/ModelLabNumericRange' + values: + description: The list of available string values for this facet. + example: + - gpt4 + items: + type: string + type: array + required: + - facet_type + - facet_name + - values + type: object + ModelLabFacetValuesType: + description: The JSON:API type for a facet values resource. + enum: + - facet_values + example: facet_values + type: string + x-enum-varnames: + - FACET_VALUES + ModelLabProjectAttributes: + description: Attributes of a Model Lab project. + properties: + artifact_storage_location: + description: The storage location for project artifacts. + example: s3://bucket/active-project + type: string + created_at: + description: The date and time the project was created. + example: '2024-01-20T10:00:00Z' + format: date-time + type: string + deleted_at: + description: The date and time the project was soft-deleted. + format: date-time + nullable: true + type: string + description: + description: A description of the project. + example: A machine learning training project. + type: string + external_url: + description: An optional external URL associated with the project. + nullable: true + type: string + is_starred: + description: Whether the project is starred by the current user. + example: false + type: boolean + name: + description: The name of the project. + example: active-project + type: string + owner_id: + description: The UUID of the project owner. + nullable: true + type: string + tags: + description: The list of tags associated with the project. + items: + $ref: '#/components/schemas/ModelLabTag' + type: array + updated_at: + description: The date and time the project was last updated. + example: '2024-01-20T11:00:00Z' + format: date-time + type: string + required: + - name + - description + - artifact_storage_location + - created_at + - updated_at + - tags + - is_starred + type: object + ModelLabProjectType: + description: The JSON:API type for a Model Lab project resource. + enum: + - projects + example: projects + type: string + x-enum-varnames: + - PROJECTS + ModelLabPageMetaPage: + description: Pagination details for a list response. + properties: + first_number: + description: The first page number. + format: int64 + type: integer + last_number: + description: The last page number. + format: int64 + type: integer + next_number: + description: The next page number. + format: int64 + nullable: true + type: integer + number: + description: The current page number. + example: 1 + format: int64 + type: integer + prev_number: + description: The previous page number. + format: int64 + nullable: true + type: integer + size: + description: The number of items per page. + example: 25 + format: int64 + type: integer + total: + description: The total number of items. + example: 100 + format: int64 + type: integer + type: + description: The pagination type. + type: string + required: + - number + - size + - total + type: object + ModelLabProjectArtifactsAttributes: + description: Artifact listing for a Model Lab project. + properties: + files: + description: The list of artifact files associated with the project. + items: + $ref: '#/components/schemas/ModelLabArtifactInfo' + type: array + required: + - files + type: object + ModelLabProjectArtifactsType: + description: The JSON:API type for a project artifacts resource. + enum: + - project_files + example: project_files + type: string + x-enum-varnames: + - PROJECT_FILES + ModelLabRunAttributes: + description: Attributes of a Model Lab run. + properties: + completed_at: + description: The date and time the run completed. + format: date-time + nullable: true + type: string + created_at: + description: The date and time the run was created. + example: '2024-01-20T10:00:00Z' + format: date-time + type: string + deleted_at: + description: The date and time the run was soft-deleted. + format: date-time + nullable: true + type: string + descendant_match: + description: Whether a descendant run matched the applied filters. + example: false + type: boolean + description: + description: A description of the run. + example: Fine-tuning run with custom hyperparameters. + type: string + duration: + description: The duration of the run in seconds. + format: double + nullable: true + type: number + external_url: + description: An optional external URL associated with the run. + nullable: true + type: string + has_children: + description: Whether the run has child runs. + example: false + type: boolean + is_pinned: + description: Whether the run is pinned by the current user. + example: false + type: boolean + metric_summaries: + description: Summary statistics for metrics recorded during the run. + items: + $ref: '#/components/schemas/ModelLabMetricSummary' + type: array + mlflow_artifact_location: + description: The MLflow artifact storage location for this run. + example: s3://bucket/active-run + type: string + name: + description: The name of the run. + example: training-run-1 + type: string + owner_id: + description: The UUID of the run owner. + nullable: true + type: string + params: + description: The list of parameters used for the run. + items: + $ref: '#/components/schemas/ModelLabRunParam' + nullable: true + type: array + project_id: + description: The ID of the project this run belongs to. + example: 101 + format: int64 + type: integer + started_at: + description: The date and time the run started. + example: '2024-01-20T10:00:00Z' + format: date-time + type: string + status: + $ref: '#/components/schemas/ModelLabRunStatus' + tags: + description: The list of tags associated with the run. + items: + $ref: '#/components/schemas/ModelLabTag' + type: array + updated_at: + description: The date and time the run was last updated. + example: '2024-01-20T11:00:00Z' + format: date-time + type: string + required: + - project_id + - name + - description + - status + - mlflow_artifact_location + - started_at + - created_at + - updated_at + - tags + - params + - metric_summaries + - is_pinned + - has_children + - descendant_match + type: object + ModelLabRunType: + description: The JSON:API type for a Model Lab run resource. + enum: + - runs + example: runs + type: string + x-enum-varnames: + - RUNS + ModelLabRunArtifactsAttributes: + description: Artifact listing for a Model Lab run. + properties: + files: + description: The list of artifact files and directories. + items: + $ref: '#/components/schemas/ModelLabArtifactObjectInfo' + type: array + path_in_project: + description: The path of the run's artifacts relative to the project's artifact root. + example: runs/42 + type: string + required: + - path_in_project + - files + type: object + ModelLabRunArtifactsType: + description: The JSON:API type for a run artifacts resource. + enum: + - artifacts + example: artifacts + type: string + x-enum-varnames: + - ARTIFACTS + LLMObsCustomEvalConfigUser: + description: A Datadog user associated with a custom evaluator configuration. + properties: + email: + description: Email address of the user. + example: user@example.com + type: string + type: object + LLMObsCustomEvalConfigLLMJudgeConfig: + description: LLM judge configuration for a custom evaluator. + properties: + assessment_criteria: + $ref: '#/components/schemas/LLMObsCustomEvalConfigAssessmentCriteria' + context_query: + description: Query used to extract additional context for the evaluation. + example: '@input.context' + nullable: true + type: string + inference_params: + $ref: '#/components/schemas/LLMObsCustomEvalConfigInferenceParams' + last_used_library_prompt_template_name: + description: Name of the last library prompt template used. + example: sentiment-analysis-v1 + nullable: true + type: string + modified_library_prompt_template: + description: Whether the library prompt template was modified. + example: false + nullable: true + type: boolean + output_schema: + additionalProperties: {} + description: JSON schema describing the expected output format of the LLM judge. + nullable: true + type: object + parsing_type: + $ref: '#/components/schemas/LLMObsCustomEvalConfigParsingType' + prompt_template: + description: List of messages forming the LLM judge prompt template. + items: + $ref: '#/components/schemas/LLMObsCustomEvalConfigPromptMessage' + type: array + target_query: + description: Query used to extract the target value to evaluate. + example: '@output.value' + nullable: true + type: string + user_specified_json_post_processing_function: + description: User-provided function applied to post-process the JSON output of the LLM judge. + nullable: true + type: string + required: + - inference_params + type: object + LLMObsCustomEvalConfigLLMProvider: + description: LLM provider configuration for a custom evaluator. + properties: + bedrock: + $ref: '#/components/schemas/LLMObsCustomEvalConfigBedrockOptions' + integration_account_id: + description: Integration account identifier. + example: my-account-id + type: string + integration_provider: + $ref: '#/components/schemas/LLMObsCustomEvalConfigIntegrationProvider' + model_name: + description: Name of the LLM model. + example: gpt-4o + type: string + vertex_ai: + $ref: '#/components/schemas/LLMObsCustomEvalConfigVertexAIOptions' + type: object + LLMObsCustomEvalConfigTarget: + description: Target application configuration for a custom evaluator. + properties: + application_name: + description: Name of the ML application this evaluator targets. + example: my-llm-app + type: string + enabled: + description: Whether the evaluator is active for the target application. + example: true + type: boolean + eval_scope: + $ref: '#/components/schemas/LLMObsCustomEvalConfigEvalScope' + nullable: true + experiment_project_ids: + description: Experiment project IDs this evaluator is scoped to. + items: + description: An experiment project ID. + format: uuid + type: string + type: array + filter: + description: Filter expression to select which spans to evaluate. + example: '@service:my-service' + nullable: true + type: string + root_spans_only: + description: When true, only root spans are evaluated. + example: true + nullable: true + type: boolean + sampling_percentage: + description: Percentage of traces to evaluate. Must be greater than 0 and at most 100. + example: 50 + format: double + nullable: true + type: number + required: + - application_name + - enabled + type: object + LLMObsAnnotatedInteractionByTraceItem: + description: An annotated interaction returned by the cross-queue lookup, including the source queue metadata. + properties: + annotations: + description: List of annotations for this interaction. + items: + $ref: '#/components/schemas/LLMObsAnnotationItem' + type: array + content_id: + description: Upstream entity identifier (trace ID, session ID, or deterministic display_block ID). + example: trace-abc-123 + type: string + created_at: + description: Timestamp when the interaction was added to the queue. + example: '2025-06-01T12:00:00Z' + format: date-time + type: string + display_block: + $ref: '#/components/schemas/LLMObsContentBlocks' + id: + description: Unique identifier of the interaction. + example: interaction-456 + type: string + modified_at: + description: Timestamp when the interaction was last updated. + example: '2025-06-01T12:00:00Z' + format: date-time + type: string + queue_id: + description: Identifier of the annotation queue this interaction belongs to. + example: queue-uuid-001 + type: string + queue_name: + description: Name of the annotation queue this interaction belongs to. + example: My Annotation Queue + type: string + type: + $ref: '#/components/schemas/LLMObsAnyInteractionType' + required: + - id + - type + - content_id + - created_at + - modified_at + - queue_id + - queue_name + - annotations + type: object + LLMObsAnnotationSchema: + description: Schema defining the labels for an annotation queue. + properties: + label_schemas: + description: List of label schema definitions. + items: + $ref: '#/components/schemas/LLMObsLabelSchema' + type: array + required: + - label_schemas + type: object + LLMObsAnnotatedInteractionItem: + description: An interaction with its associated annotations. + properties: + annotations: + description: List of annotations for this interaction. + items: + $ref: '#/components/schemas/LLMObsAnnotationItem' + type: array + content_id: + description: Upstream entity identifier supplied by the caller. + example: trace-abc-123 + type: string + created_at: + description: Timestamp when the interaction was added to the queue. + example: '2024-01-15T10:30:00Z' + format: date-time + type: string + id: + description: Unique identifier of the interaction. + example: interaction-456 + type: string + modified_at: + description: Timestamp when the interaction was last updated. + example: '2024-01-15T10:30:00Z' + format: date-time + type: string + type: + $ref: '#/components/schemas/LLMObsTraceInteractionType' + display_block: + $ref: '#/components/schemas/LLMObsContentBlocks' + required: + - id + - type + - content_id + - created_at + - modified_at + - annotations + - display_block + type: object + LLMObsUpsertAnnotationItem: + description: |- + A single annotation to create or update. The annotation is matched by + `interaction_id` and the requesting user's identity. + properties: + interaction_id: + description: ID of the interaction to annotate. + example: 00000000-0000-0000-0000-000000000001 + type: string + label_values: + description: |- + Label values for this annotation. Each entry references a label schema by ID + and provides the corresponding value validated against the schema type constraints. + example: + - label_schema_id: abc-123 + value: good + - label_schema_id: ef56gh78 + value: positive + items: + $ref: '#/components/schemas/LLMObsAnnotationLabelValue' + minItems: 1 + type: array + required: + - interaction_id + - label_values + type: object + LLMObsAnnotationItemResponse: + description: A single annotation on an interaction, as returned by the API. + properties: + created_at: + description: Timestamp when the annotation was created. + example: '2024-01-15T10:30:00Z' + format: date-time + type: string + created_by: + description: Identifier of the user who created the annotation. + example: 00000000-0000-0000-0000-000000000002 + type: string + id: + description: Unique identifier of the annotation. + example: annotation-789 + type: string + interaction_id: + description: Identifier of the interaction this annotation belongs to. + example: interaction-456 + type: string + label_values: + description: |- + Label values for this annotation. Each entry references a label schema by ID + and provides the corresponding value. + example: + - label_schema_id: abc-123 + value: good + items: + $ref: '#/components/schemas/LLMObsAnnotationLabelValueResponse' + type: array + modified_at: + description: Timestamp when the annotation was last modified. + example: '2024-01-15T10:30:00Z' + format: date-time + type: string + modified_by: + description: Identifier of the user who last modified the annotation. + example: 00000000-0000-0000-0000-000000000002 + type: string + required: + - id + - interaction_id + - label_values + - created_by + - created_at + - modified_by + - modified_at + type: object + LLMObsAnnotationError: + description: A partial error for a single annotation that could not be processed. + properties: + annotation_id: + description: ID of the annotation that failed, if applicable. + example: 00000000-0000-0000-0000-000000000000 + type: string + error: + description: Error message. + example: interaction not found + type: string + interaction_id: + description: ID of the interaction that failed. + example: 00000000-0000-0000-0000-000000000001 + type: string + required: + - interaction_id + - error + type: object + LLMObsDeleteAnnotationError: + description: A partial error for a single annotation that could not be deleted. + properties: + annotation_id: + description: ID of the annotation that could not be deleted. + example: 00000000-0000-0000-0000-000000000000 + type: string + error: + description: Error message. + example: annotation not found + type: string + required: + - annotation_id + - error + type: object + LLMObsAnnotationQueueInteractionItem: + description: A single interaction to add to an annotation queue. + properties: + content_id: + description: Upstream entity identifier (trace, experiment trace, or session ID). + example: trace-abc-123 + type: string + type: + $ref: '#/components/schemas/LLMObsTraceInteractionType' + display_block: + $ref: '#/components/schemas/LLMObsContentBlocks' + required: + - type + - content_id + - display_block + type: object + LLMObsAnnotationQueueInteractionResponseItem: + description: A single interaction result. + properties: + already_existed: + description: Whether this interaction already existed in the queue. + example: false + type: boolean + content_id: + description: Upstream entity identifier supplied by the caller. + example: trace-abc-123 + type: string + created_at: + description: Timestamp when the interaction was added to the queue. + example: '2024-01-15T10:30:00Z' + format: date-time + type: string + id: + description: Unique identifier of the interaction. + example: 00000000-0000-0000-0000-000000000000 + type: string + modified_at: + description: Timestamp when the interaction was last updated. + example: '2024-01-15T10:30:00Z' + format: date-time + type: string + type: + $ref: '#/components/schemas/LLMObsTraceInteractionType' + display_block: + $ref: '#/components/schemas/LLMObsContentBlocks' + required: + - id + - type + - content_id + - already_existed + - created_at + - modified_at + - display_block + type: object + LLMObsExperimentationAnalyticsAggregate: + description: Analytics aggregation parameters. + properties: + compute: + description: List of metric computations to perform. + items: + $ref: '#/components/schemas/LLMObsExperimentationAnalyticsCompute' + minItems: 1 + type: array + dataset_version: + description: Filter to a specific dataset version. + format: int64 + nullable: true + type: integer + group_by: + description: Fields to group results by. + items: + $ref: '#/components/schemas/LLMObsExperimentationAnalyticsGroupBy' + type: array + indexes: + description: Data indexes to query. At least one is required. + example: + - experiment-evals + items: + type: string + minItems: 1 + type: array + limit: + description: Maximum number of results to return. + example: 1000 + format: int32 + maximum: 2147483647 + nullable: true + type: integer + search: + $ref: '#/components/schemas/LLMObsExperimentationAnalyticsSearch' + time: + $ref: '#/components/schemas/LLMObsExperimentationAnalyticsTimeRange' + required: + - compute + - indexes + - search + type: object + LLMObsExperimentationAnalyticsResult: + description: Analytics query result containing all buckets. + properties: + values: + description: List of result buckets. + items: + $ref: '#/components/schemas/LLMObsExperimentationAnalyticsValue' + type: array + required: + - values + type: object + LLMObsExperimentationContentPreview: + description: Options to control content preview truncation. + properties: + limit: + description: Maximum number of characters to include in content previews. + example: 500 + format: int64 + type: integer + type: object + LLMObsExperimentationFilter: + description: Filter criteria for an experimentation search request. + properties: + include_deleted: + default: false + description: When `true`, include soft-deleted entities alongside active ones. + type: boolean + is_deleted: + default: false + description: When `true`, return only soft-deleted entities. + type: boolean + query: + description: Free-text search query. + example: my experiment + type: string + scope: + description: Entity types to search. Valid values are `projects`, `datasets`, `dataset_records`, `experiments`, and `experiment_runs`. + example: + - experiments + items: + example: experiments + type: string + type: array + version: + description: Filter dataset records by a specific dataset version. + format: int64 + nullable: true + type: integer + required: + - scope + type: object + LLMObsExperimentationInclude: + description: Additional data to include in the response. + properties: + user_data: + default: false + description: When `true`, enrich results with author user data (name and email). + type: boolean + type: object + LLMObsExperimentationCursorPage: + description: Cursor-based pagination parameters. + properties: + cursor: + description: Opaque cursor returned from a previous response to fetch the next page. + type: string + limit: + description: Maximum number of results per page. + example: 100 + format: int64 + type: integer + type: object + LLMObsExperimentRunDataResponse: + description: Data object for an Agent Observability experiment run. + properties: + aggregate_data: + additionalProperties: {} + description: Aggregated metric data for this run. + nullable: true + type: object + created_at: + description: Timestamp when the run was created. + example: '2024-01-15T10:30:00Z' + format: date-time + type: string + experiment_id: + description: Identifier of the experiment this run belongs to. + example: 3fd6b5e0-8910-4b1c-a7d0-5b84de329012 + type: string + id: + description: Unique identifier of the experiment run. + example: 7a1b2c3d-4e5f-6789-abcd-ef0123456789 + type: string + run_number: + description: Sequential number of this run within the experiment. + example: 1 + format: int32 + maximum: 2147483647 + type: integer + type: object + LLMObsExperimentationNumberPage: + description: Offset-based pagination parameters for simple search. + properties: + limit: + description: Maximum number of results per page. + example: 50 + format: int32 + maximum: 2147483647 + type: integer + number: + description: Page number to retrieve (1-indexed). + example: 1 + format: int32 + maximum: 2147483647 + minimum: 1 + type: integer + type: object + LLMObsExperimentationSortField: + description: A field and direction to sort results by. + properties: + direction: + $ref: '#/components/schemas/LLMObsExperimentationSortFieldDirection' + field: + description: The field name to sort on. + example: created_at + type: string + required: + - field + type: object + LLMObsExperimentUser: + description: User data for the author of an experiment. Only present when `include[user_data]` is `true`. + properties: + email: + description: Email address of the user. + example: jane.doe@example.com + type: string + handle: + description: Username or handle associated with the user's Datadog account. + example: jane.doe@example.com + type: string + icon: + description: URL of the user's icon. + example: https://example.com/icon.png + type: string + id: + description: Unique identifier of the user. + example: 00000000-0000-0000-0000-000000000010 + type: string + name: + description: Display name of the user. + example: Jane Doe + type: string + type: object + LLMObsExperimentStatus: + description: Execution status of an Agent Observability experiment. + enum: + - running + - completed + - failed + - interrupted + example: completed + type: string + x-enum-varnames: + - RUNNING + - COMPLETED + - FAILED + - INTERRUPTED + LLMObsExperimentEvalMetricEvent: + description: An evaluation metric event associated with an experiment span. + properties: + assessment: + $ref: '#/components/schemas/LLMObsMetricAssessment' + boolean_value: + description: Boolean value. Present when `metric_type` is `boolean`. + nullable: true + type: boolean + categorical_value: + description: Categorical value. Present when `metric_type` is `categorical`. + nullable: true + type: string + eval_source_type: + description: Source type of the evaluation. + example: managed + type: string + id: + description: Unique identifier of the evaluation metric event. + example: 00000000-0000-0000-0000-000000000001 + type: string + json_value: + additionalProperties: {} + description: JSON value. Present when `metric_type` is `json`. + nullable: true + type: object + label: + description: Label or name for the metric. + example: faithfulness + type: string + metadata: + additionalProperties: {} + description: Arbitrary metadata associated with the metric. + nullable: true + type: object + metric_source: + description: Source of the metric. Either `custom` (user-submitted) or `summary` (experiment-level aggregate). + example: custom + type: string + metric_type: + $ref: '#/components/schemas/LLMObsMetricScoreType' + reasoning: + description: Human-readable reasoning for the metric value. + nullable: true + type: string + score_value: + description: Numeric score. Present when `metric_type` is `score`. + format: double + nullable: true + type: number + span_id: + description: Span ID this metric is associated with. + example: span-7a1b2c3d + type: string + tags: + description: Tags associated with the metric. + items: + type: string + type: array + timestamp_ms: + description: Timestamp when the metric was recorded, in milliseconds since Unix epoch. + example: 1705314600000 + format: int64 + type: integer + trace_id: + description: Trace ID linking this metric to a span. + example: abc123def456 + type: string + type: object + LLMObsExperimentSpanMeta: + description: Metadata associated with an experiment span. + properties: + error: + $ref: '#/components/schemas/LLMObsExperimentSpanError' + expected_output: + additionalProperties: {} + description: Expected output for the span, used for evaluation. + type: object + input: + $ref: '#/components/schemas/AnyValue' + output: + $ref: '#/components/schemas/AnyValue' + type: object + LLMObsExperimentSpanStatus: + description: Status of the span. + enum: + - ok + - error + example: ok + type: string + x-enum-varnames: + - OK + - ERROR + LLMObsExperimentMetric: + description: A metric associated with an Agent Observability experiment span. + properties: + assessment: + $ref: '#/components/schemas/LLMObsMetricAssessment' + boolean_value: + description: Boolean value. Used when `metric_type` is `boolean`. + type: boolean + categorical_value: + description: Categorical value. Used when `metric_type` is `categorical`. + type: string + error: + $ref: '#/components/schemas/LLMObsExperimentMetricError' + json_value: + additionalProperties: {} + description: JSON value. Used when `metric_type` is `json`. + type: object + label: + description: Label or name for the metric. + example: faithfulness + type: string + metadata: + additionalProperties: {} + description: Arbitrary metadata associated with the metric. + type: object + metric_type: + $ref: '#/components/schemas/LLMObsMetricScoreType' + reasoning: + description: Human-readable reasoning for the metric value. + type: string + score_value: + description: Numeric score value. Used when `metric_type` is `score`. + format: double + type: number + span_id: + description: The ID of the span this metric measures. + example: span-7a1b2c3d + type: string + tags: + description: List of tags associated with the metric. + items: + description: A tag string in `key:value` format. + type: string + type: array + timestamp_ms: + description: Timestamp when the metric was recorded, in milliseconds since Unix epoch. + example: 1705314600000 + format: int64 + type: integer + required: + - span_id + - metric_type + - timestamp_ms + - label + type: object + LLMObsExperimentSpan: + description: A span associated with an Agent Observability experiment. + properties: + dataset_id: + description: Dataset ID associated with this span. + example: 9f64e5c7-dc5a-45c8-a17c-1b85f0bec97d + type: string + duration: + description: Duration of the span in nanoseconds. + example: 1500000000 + format: int64 + type: integer + meta: + $ref: '#/components/schemas/LLMObsExperimentSpanMeta' + name: + description: Name of the span. + example: llm_call + type: string + project_id: + description: Project ID associated with this span. + example: a33671aa-24fd-4dcd-9b33-a8ec7dde7751 + type: string + span_id: + description: Unique identifier of the span. + example: span-7a1b2c3d + type: string + start_ns: + description: Start time of the span in nanoseconds since Unix epoch. + example: 1705314600000000000 + format: int64 + type: integer + status: + $ref: '#/components/schemas/LLMObsExperimentSpanStatus' + tags: + description: List of tags associated with the span. + items: + description: A tag string in `key:value` format. + type: string + type: array + trace_id: + description: Trace ID for the span. + example: abc123def456 + type: string + required: + - trace_id + - span_id + - project_id + - dataset_id + - name + - start_ns + - duration + - status + type: object + LLMObsAnthropicThinkingType: + description: The thinking mode for Anthropic extended thinking. + enum: + - enabled + - disabled + - adaptive + example: enabled + type: string + x-enum-varnames: + - ENABLED + - DISABLED + - ADAPTIVE + LLMObsInferenceContentList: + description: List of structured content blocks in a message. + items: + $ref: '#/components/schemas/LLMObsInferenceContent' + type: array + LLMObsInferenceToolCallsList: + description: List of tool calls in a message. + items: + $ref: '#/components/schemas/LLMObsInferenceToolCall' + type: array + LLMObsInferenceToolResultsList: + description: List of tool results in a message. + items: + $ref: '#/components/schemas/LLMObsInferenceToolResult' + type: array + LLMObsInferenceFunction: + description: A function definition for a tool available to the model. + properties: + description: + description: A description of what the function does. + example: Get the current weather for a location. + type: string + name: + description: The name of the function. + example: get_weather + type: string + parameters: + additionalProperties: {} + description: JSON schema describing the function parameters. + example: + properties: + location: + type: string + type: object + type: object + required: + - name + - parameters + type: object + LLMObsInferenceCode: + description: A generated code snippet for running an inference request programmatically. + properties: + code: + description: The generated code content. + example: |- + import openai + client = openai.OpenAI() + ... + type: string + id: + description: Unique identifier for the code snippet. + example: code-python-001 + type: string + type: + description: The programming language or SDK type of the code snippet. + example: python + type: string + required: + - id + - type + - code + type: object + LLMObsPromptDataset: + description: A dataset observed in runs associated with a prompt or prompt version. + properties: + id: + description: Unique identifier of the dataset. + example: '' + type: string + name: + description: Name of the dataset. + type: string + required: + - id + type: object + LLMObsPromptResponseSource: + description: Whether the prompt was created from the registry or discovered from observed LLM calls. + enum: + - registry + - code + example: registry + type: string + x-enum-varnames: + - REGISTRY + - CODE + LLMObsPromptVersionLabel: + description: A label attached to an Agent Observability prompt version. + enum: + - production + - development + type: string + x-enum-varnames: + - PRODUCTION + - DEVELOPMENT + LLMObsPromptTemplate: + description: A text template or a list of chat messages. + example: You are a helpful assistant for {{audience}}. + minLength: 1 + pattern: .*\S.* + type: string + items: + $ref: '#/components/schemas/LLMObsPromptChatMessage' + minItems: 1 + x-generate-alias-as-model: true + LLMObsPromptChatMessage: + description: A single chat message in a prompt template. + properties: + content: + description: Content of the message. + example: You are a helpful customer support assistant for {{company_name}}. + type: string + role: + description: Role of the message (for example `system`, `user`, or `assistant`). + example: system + type: string + required: + - role + - content + type: object + LLMObsSpanEvaluationMetric: + description: An evaluation metric associated with an Agent Observability span. + properties: + assessment: + description: Assessment result (e.g., pass or fail). + example: pass + type: string + eval_metric_type: + description: Type of the evaluation metric (e.g., score, categorical, boolean). + example: score + type: string + reasoning: + description: Human-readable reasoning for the evaluation result. + type: string + status: + description: Status of the evaluation execution. + type: string + tags: + description: Tags associated with the evaluation metric. + items: + type: string + type: array + value: + description: Value of the evaluation result. + type: object + LLMObsSpanIO: + description: Input or output content of an Agent Observability span. + properties: + messages: + description: List of messages in the input or output. + items: + $ref: '#/components/schemas/LLMObsSpanMessage' + type: array + value: + description: Plain-text value of the input or output. + type: string + type: object + LLMObsSpanToolDefinition: + description: A tool definition available to an LLM span. + properties: + description: + description: Description of what the tool does. + type: string + name: + description: Name of the tool. + type: string + schema: + additionalProperties: {} + description: JSON schema describing the tool's input parameters. + type: object + version: + description: Version of the tool definition. + type: string + type: object + LLMObsSpanFilter: + description: Filter criteria for an Agent Observability span search. + properties: + from: + description: Start of the time range. Accepts ISO 8601 or relative format (e.g., `now-15m`). Defaults to `now-15m`. + example: now-900s + type: string + ml_app: + description: Filter by ML application name. + example: my-llm-app + type: string + query: + description: Search query using Agent Observability query syntax. Supports attribute filters using the field:value syntax (e.g. session_id, trace_id, ml_app, meta.span.kind). When provided, structured field filters (`span_id`, `trace_id`, etc.) are ignored. + example: '@session_id:abc123def456' + type: string + span_id: + description: Filter by exact span ID. + example: abc123def456 + type: string + span_kind: + description: Filter by span kind (e.g., llm, agent, tool, task, workflow). + example: llm + type: string + span_name: + description: Filter by span name. + example: llm_call + type: string + tags: + additionalProperties: + type: string + description: Filter by tag key-value pairs. + type: object + to: + description: End of the time range. Accepts ISO 8601 or relative format (e.g., `now`). Defaults to `now`. + example: now + type: string + trace_id: + description: Filter by exact trace ID. + example: trace-9a8b7c6d5e4f + type: string + type: object + LLMObsSpanSearchOptions: + description: Additional options for a span search request. + properties: + include_attachments: + description: Whether to include attachment data in the response. Defaults to `true`. + example: true + type: boolean + time_offset: + description: Offset in seconds applied to both `from` and `to` timestamps. + example: 0 + format: int64 + type: integer + type: object + LLMObsSpanPageQuery: + description: Pagination settings for a span search request. + properties: + cursor: + description: Cursor from the previous response to retrieve the next page. + example: eyJzdGFydCI6MTAwfQ== + type: string + limit: + description: Maximum number of spans to return. Defaults to `10`. + example: 10 + format: int64 + type: integer + type: object + LLMObsPatternsClusteredPointsList: + description: List of clustered points. + items: + $ref: '#/components/schemas/LLMObsPatternsClusteredPoint' + type: array + LLMObsPatternsConfigItemsList: + description: List of patterns configurations. + items: + $ref: '#/components/schemas/LLMObsPatternsConfigItem' + type: array + LLMObsPatternsRunsList: + description: List of patterns runs. + items: + $ref: '#/components/schemas/LLMObsPatternsRunSummary' + type: array + LLMObsPatternsProgressList: + description: List of step-by-step progress entries for a patterns run. + items: + $ref: '#/components/schemas/LLMObsPatternsActivityProgress' + type: array + LLMObsPatternsConfigSnapshot: + description: Snapshot of the configuration used for a patterns run. + properties: + account_id: + description: Integration account ID used for a bring-your-own-model run. + example: '1000000001' + type: string + evp_query: + description: Query that selected the spans for the run. + example: '@ml_app:support-bot' + type: string + hierarchy_depth: + description: Depth of the topic hierarchy generated. + example: 2 + format: int32 + maximum: 2147483647 + type: integer + integration_provider: + description: Integration provider used for a bring-your-own-model run. + example: openai + type: string + model_name: + description: Model name used for a bring-your-own-model run. + example: gpt-4o + type: string + num_records: + description: Maximum number of records processed for the run. + example: 1000 + format: int32 + maximum: 2147483647 + type: integer + sampling_ratio: + description: Fraction of matching spans sampled for the run. + example: 0.1 + format: double + type: number + type: object + LLMObsPatternsTopicsList: + description: List of discovered topics. + items: + $ref: '#/components/schemas/LLMObsPatternsTopic' + type: array + LLMObsPatternsTopicsWithClusteredPointsList: + description: List of discovered topics with their clustered points. + items: + $ref: '#/components/schemas/LLMObsPatternsTopicWithClusteredPoints' + type: array + LLMObsDatasetBatchUpdateDeleteRecords: + description: Record IDs to delete. + items: + description: A record ID to delete. + type: string + type: array + LLMObsDatasetBatchUpdateInsertRecords: + description: Records to insert. + items: + $ref: '#/components/schemas/LLMObsDatasetBatchUpdateInsertRecord' + type: array + LLMObsDatasetRecordTagsList: + description: List of tag strings. + items: + description: A tag. + type: string + type: array + LLMObsDatasetBatchUpdateUpdateRecords: + description: Records to update by ID. + items: + $ref: '#/components/schemas/LLMObsDatasetBatchUpdateUpdateRecord' + type: array + LLMObsDatasetDraftStateUser: + description: User information associated with a dataset draft state. + properties: + email: + description: Email address of the user. + example: jane.doe@example.com + type: string + handle: + description: Handle of the user. + example: jane.doe@example.com + type: string + icon: + description: Icon for the user. + example: '' + type: string + id: + description: Unique identifier of the user holding the draft lock. + example: 00000000-0000-0000-0000-000000000010 + type: string + name: + description: Display name of the user. + example: Jane Doe + type: string + required: + - id + type: object + AnyValueString: + description: A scalar value represented as a string. + type: string + AnyValueNumber: + description: A scalar numeric value. + format: double + type: number + AnyValueObject: + additionalProperties: {} + description: An arbitrary object value with additional properties. + type: object + AnyValueArray: + description: An array of arbitrary values. + items: + $ref: '#/components/schemas/AnyValueItem' + type: array + AnyValueBoolean: + description: A scalar boolean value. + type: boolean + LLMObsDatasetRecordUpdateItem: + description: A record update payload for an Agent Observability dataset. + properties: + expected_output: + $ref: '#/components/schemas/AnyValue' + id: + description: Unique identifier of the record to update. + example: rec-7c3f5a1b-9e2d-4f8a-b1c6-3d7e9f0a2b4c + type: string + input: + $ref: '#/components/schemas/AnyValue' + metadata: + additionalProperties: {} + description: Updated metadata associated with the record. + type: object + required: + - id + type: object + LLMObsDatasetRecordItem: + description: A single record to append to an Agent Observability dataset. + properties: + expected_output: + $ref: '#/components/schemas/AnyValue' + input: + $ref: '#/components/schemas/AnyValue' + metadata: + additionalProperties: {} + description: Arbitrary metadata associated with the record. + type: object + required: + - input + type: object + LLMObsDatasetVersionDataAttributes: + description: Attributes of an Agent Observability dataset version. + properties: + dataset_id: + description: Unique identifier of the dataset this version belongs to. + example: 9f64e5c7-dc5a-45c8-a17c-1b85f0bec97d + type: string + last_used: + description: Timestamp when this dataset version was last referenced. Null if the version has never been used. + example: '2024-01-15T10:30:00Z' + format: date-time + nullable: true + type: string + version_number: + description: Sequential version number for this dataset version. + example: 1 + format: int32 + maximum: 2147483647 + type: integer + required: + - dataset_id + - version_number + - last_used + type: object + LLMObsDatasetVersionType: + description: Resource type of an Agent Observability dataset version. + enum: + - dataset_version + example: dataset_version + type: string + x-enum-varnames: + - DATASET_VERSION + ModelLabMetricStatRange: + description: The range of values for a specific metric statistic. + properties: + max: + description: The maximum value of the statistic. + example: 1 + format: double + type: number + min: + description: The minimum value of the statistic. + example: 0 + format: double + type: number + stat: + description: The metric statistic name. + example: mean + type: string + required: + - stat + - min + - max + type: object + ModelLabNumericRange: + description: The numeric range of values for a facet. + properties: + max: + description: The maximum value. + example: 1 + format: double + type: number + min: + description: The minimum value. + example: 0 + format: double + type: number + required: + - min + - max + type: object + ModelLabTag: + description: A key-value tag attached to a resource. + properties: + key: + description: The tag key. + example: model + type: string + value: + description: The tag value. + example: opus + type: string + required: + - key + - value + type: object + ModelLabArtifactInfo: + description: Information about a project-level artifact file. + properties: + artifact_path: + description: The full artifact path relative to the project's artifact root. + example: projects/1/artifacts/model.pkl + type: string + created_at: + description: The date and time the artifact was created. + example: '2024-01-20T10:00:00Z' + format: date-time + type: string + file_size: + description: The size of the file in bytes. + format: int64 + nullable: true + type: integer + filename: + description: The filename of the artifact. + example: model.pkl + type: string + required: + - filename + - artifact_path + - created_at + type: object + ModelLabMetricSummary: + description: Summary statistics for a metric recorded during a Model Lab run. + properties: + count: + description: The total number of recorded values. + example: 100 + format: int64 + type: integer + first_step: + description: The first step at which the metric was recorded. + format: int64 + nullable: true + type: integer + key: + description: The metric name. + example: accuracy + type: string + last_step: + description: The last step at which the metric was recorded. + format: int64 + nullable: true + type: integer + latest: + description: The most recently recorded value. + format: double + nullable: true + type: number + max: + description: The maximum recorded value. + format: double + nullable: true + type: number + mean: + description: The mean of recorded values. + format: double + nullable: true + type: number + min: + description: The minimum recorded value. + format: double + nullable: true + type: number + stddev: + description: The standard deviation of recorded values. + format: double + nullable: true + type: number + required: + - key + - count + type: object + ModelLabRunParam: + description: A key-value parameter for a Model Lab run. + properties: + key: + description: The parameter key. + example: algorithm + type: string + value: + description: The parameter value. + example: gpt4 + type: string + required: + - key + - value + type: object + ModelLabArtifactObjectInfo: + description: Information about an artifact file or directory within a run. + properties: + file_size: + description: The size of the file in bytes. + format: int64 + nullable: true + type: integer + is_dir: + description: Whether this artifact entry is a directory. + example: false + type: boolean + path: + description: The path of the artifact relative to the run's artifact root. + example: model/weights.pt + type: string + required: + - path + - is_dir + type: object + LLMObsCustomEvalConfigAssessmentCriteria: + description: Criteria used to assess the pass/fail result of a custom evaluator. + properties: + max_threshold: + description: Maximum numeric threshold for a passing result. + example: 1 + format: double + nullable: true + type: number + min_threshold: + description: Minimum numeric threshold for a passing result. + example: 0.7 + format: double + nullable: true + type: number + pass_values: + description: Specific output values considered as a passing result. + example: + - pass + - 'yes' + items: + description: A value considered as a passing result. + type: string + nullable: true + type: array + pass_when: + description: When true, a boolean output of true is treated as passing. + example: true + nullable: true + type: boolean + type: object + LLMObsCustomEvalConfigInferenceParams: + description: LLM inference parameters for a custom evaluator. + properties: + frequency_penalty: + description: Frequency penalty to reduce repetition. + example: 0 + format: double + type: number + max_tokens: + description: Maximum number of tokens to generate. + example: 1024 + format: int64 + type: integer + presence_penalty: + description: Presence penalty to reduce repetition. + example: 0 + format: double + type: number + temperature: + description: Sampling temperature for the LLM. + example: 0.7 + format: double + type: number + top_k: + description: Top-k sampling parameter. + example: 50 + format: int64 + type: integer + top_p: + description: Top-p (nucleus) sampling parameter. + example: 1 + format: double + type: number + type: object + LLMObsCustomEvalConfigParsingType: + description: Output parsing type for a custom LLM judge evaluator. + enum: + - structured_output + - json + - keyword_search + example: structured_output + type: string + x-enum-varnames: + - STRUCTURED_OUTPUT + - JSON + - KEYWORD_SEARCH + LLMObsCustomEvalConfigPromptMessage: + description: A message in the prompt template for a custom LLM judge evaluator. + properties: + content: + description: Text content of the message. + example: 'Rate the quality of the following response:' + type: string + contents: + description: Multi-part content blocks for the message. + items: + $ref: '#/components/schemas/LLMObsCustomEvalConfigPromptContent' + type: array + role: + description: Role of the message author. + example: user + type: string + required: + - role + type: object + LLMObsCustomEvalConfigBedrockOptions: + description: AWS Bedrock-specific options for LLM provider configuration. + properties: + inference_profile: + description: Bedrock inference profile identifier, such as an application inference profile ARN. + example: arn:aws:bedrock:us-east-1:123456789012:application-inference-profile/abc123 + type: string + region: + description: AWS region for Bedrock. + example: us-east-1 + type: string + type: object + LLMObsCustomEvalConfigIntegrationProvider: + description: Name of the LLM integration provider. + enum: + - openai + - amazon-bedrock + - anthropic + - azure-openai + - vertex-ai + - llm-proxy + example: openai + type: string + x-enum-varnames: + - OPENAI + - AMAZON_BEDROCK + - ANTHROPIC + - AZURE_OPENAI + - VERTEX_AI + - LLM_PROXY + LLMObsCustomEvalConfigVertexAIOptions: + description: Google Vertex AI-specific options for LLM provider configuration. + properties: + location: + description: Google Cloud region. + example: us-central1 + type: string + project: + description: Google Cloud project ID. + example: my-gcp-project + type: string + type: object + LLMObsCustomEvalConfigEvalScope: + description: Scope at which to evaluate spans. + enum: + - span + - trace + - session + example: span + type: string + x-enum-varnames: + - SPAN + - TRACE + - SESSION + LLMObsAnnotationItem: + description: A single annotation on an interaction. + properties: + created_at: + description: Timestamp when the annotation was created. + example: '2024-01-15T10:30:00Z' + format: date-time + type: string + created_by: + description: Identifier of the user who created the annotation. + example: 00000000-0000-0000-0000-000000000002 + type: string + id: + description: Unique identifier of the annotation. + example: annotation-789 + type: string + interaction_id: + description: Identifier of the interaction this annotation belongs to. + example: interaction-456 + type: string + label_values: + additionalProperties: {} + description: Label values for this annotation. + example: + - label_schema_id: abc-123 + value: good + type: object + modified_at: + description: Timestamp when the annotation was last modified. + example: '2024-01-15T10:30:00Z' + format: date-time + type: string + modified_by: + description: Identifier of the user who last modified the annotation. + example: 00000000-0000-0000-0000-000000000002 + type: string + required: + - id + - interaction_id + - label_values + - created_by + - created_at + - modified_by + - modified_at + type: object + LLMObsContentBlocks: + description: |- + List of content blocks that make up a `display_block` interaction. + Must contain at least one block. + items: + $ref: '#/components/schemas/LLMObsContentBlock' + minItems: 1 + type: array + LLMObsAnyInteractionType: + description: Type of an annotated interaction. + enum: + - trace + - experiment_trace + - session + - display_block + example: trace + type: string + x-enum-varnames: + - TRACE + - EXPERIMENT_TRACE + - SESSION + - DISPLAY_BLOCK + LLMObsLabelSchema: + description: Schema definition for a single label in an annotation queue. + properties: + description: + description: Description of the label. + example: Rating of the response quality. + type: string + has_assessment: + description: Whether this label includes an assessment field. + example: false + type: boolean + has_reasoning: + description: Whether this label includes a reasoning field. + example: false + type: boolean + id: + description: Unique identifier of the label schema. Assigned by the server if not provided. + example: abc-123 + type: string + is_assessment: + description: Whether the boolean label represents an assessment. Requires `has_assessment` to be true. + example: false + type: boolean + is_integer: + description: Whether score values must be integers. Applicable to score-type labels. + example: false + type: boolean + is_required: + description: Whether this label is required for an annotation. + example: true + type: boolean + max: + description: Maximum value for score-type labels. + example: 5 + format: double + type: number + min: + description: Minimum value for score-type labels. + example: 0 + format: double + type: number + name: + description: Name of the label. Must match the pattern `^[a-zA-Z0-9_-]+$` and be unique within the queue. + example: quality + type: string + type: + $ref: '#/components/schemas/LLMObsLabelSchemaType' + values: + description: Allowed values for categorical-type labels. Must contain at least one non-empty, unique value. + example: + - good + - bad + - neutral + items: + description: An allowed value for a categorical label. + type: string + type: array + required: + - name + - type + type: object + LLMObsTraceAnnotatedInteractionItem: + description: A trace, experiment trace, or session interaction with its associated annotations. + properties: + annotations: + description: List of annotations for this interaction. + items: + $ref: '#/components/schemas/LLMObsAnnotationItem' + type: array + content_id: + description: Upstream entity identifier supplied by the caller. + example: trace-abc-123 + type: string + created_at: + description: Timestamp when the interaction was added to the queue. + example: '2024-01-15T10:30:00Z' + format: date-time + type: string + id: + description: Unique identifier of the interaction. + example: interaction-456 + type: string + modified_at: + description: Timestamp when the interaction was last updated. + example: '2024-01-15T10:30:00Z' + format: date-time + type: string + type: + $ref: '#/components/schemas/LLMObsTraceInteractionType' + required: + - id + - type + - content_id + - created_at + - modified_at + - annotations + type: object + LLMObsDisplayBlockAnnotatedInteractionItem: + description: A display_block interaction with its associated annotations. + properties: + annotations: + description: List of annotations for this interaction. + items: + $ref: '#/components/schemas/LLMObsAnnotationItem' + type: array + content_id: + description: Server-generated deterministic identifier derived from the block list. + example: 9a87f3e2b1d4c5a6f8b3e2d1c4a7b5f6e3d2a1c4b7e5f8a3d6c2e1b4a7d5f8c2 + type: string + display_block: + $ref: '#/components/schemas/LLMObsContentBlocks' + id: + description: Unique identifier of the interaction. + example: interaction-456 + type: string + type: + $ref: '#/components/schemas/LLMObsDisplayBlockInteractionType' + required: + - id + - type + - content_id + - annotations + - display_block + type: object + LLMObsAnnotationLabelValue: + description: |- + A single label value entry in an annotation. + The `value` type must match the label schema type: + - `score`: a number within the schema `min`/`max` range (integer if `is_integer` is `true`). + - `categorical`: a string that is one of the schema `values`. + - `boolean`: `true` or `false`. + - `text`: any non-empty string. + properties: + assessment: + $ref: '#/components/schemas/LLMObsAnnotationAssessment' + label_schema_id: + description: ID of the label schema this value corresponds to. + example: abc-123 + type: string + reasoning: + description: Free text reasoning for this label value. + example: The response was accurate and well-structured. + type: string + value: + $ref: '#/components/schemas/LLMObsAnnotationLabelValueValue' + required: + - label_schema_id + - value + type: object + LLMObsAnnotationLabelValueResponse: + description: |- + A single label value entry in an annotation response. + In addition to the submitted fields, the server populates `type` and + `name_when_saved` to mirror the schema state at the time the annotation + was created — these help clients display values correctly when the schema + has since changed. + properties: + assessment: + $ref: '#/components/schemas/LLMObsAnnotationAssessment' + label_schema_id: + description: ID of the label schema this value corresponds to. + example: abc-123 + type: string + name_when_saved: + description: Name of the label schema at the time the annotation was created. + example: quality + type: string + reasoning: + description: Free text reasoning for this label value. + example: The response was accurate and well-structured. + type: string + type: + $ref: '#/components/schemas/LLMObsLabelSchemaType' + value: + $ref: '#/components/schemas/LLMObsAnnotationLabelValueValue' + required: + - label_schema_id + - value + type: object + LLMObsTraceInteractionItem: + description: An interaction that references an upstream trace, experiment trace, or session. + properties: + content_id: + description: Upstream entity identifier (trace, experiment trace, or session ID). + example: trace-abc-123 + type: string + type: + $ref: '#/components/schemas/LLMObsTraceInteractionType' + required: + - type + - content_id + type: object + LLMObsDisplayBlockInteractionItem: + description: |- + An interaction whose rendered content is supplied directly as a list + of display blocks. The server generates `content_id` deterministically + from the block list. + properties: + display_block: + $ref: '#/components/schemas/LLMObsContentBlocks' + type: + $ref: '#/components/schemas/LLMObsDisplayBlockInteractionType' + required: + - type + - display_block + type: object + LLMObsTraceInteractionResponseItem: + description: A trace, experiment trace, or session interaction result. + properties: + already_existed: + description: Whether this interaction already existed in the queue. + example: false + type: boolean + content_id: + description: Upstream entity identifier supplied by the caller. + example: trace-abc-123 + type: string + created_at: + description: Timestamp when the interaction was added to the queue. + example: '2024-01-15T10:30:00Z' + format: date-time + type: string + id: + description: Unique identifier of the interaction. + example: 00000000-0000-0000-0000-000000000000 + type: string + modified_at: + description: Timestamp when the interaction was last updated. + example: '2024-01-15T10:30:00Z' + format: date-time + type: string + type: + $ref: '#/components/schemas/LLMObsTraceInteractionType' + required: + - id + - type + - content_id + - already_existed + - created_at + - modified_at + type: object + LLMObsDisplayBlockInteractionResponseItem: + description: A display_block interaction result. + properties: + already_existed: + description: Whether this interaction already existed in the queue. + example: false + type: boolean + content_id: + description: Server-generated deterministic identifier derived from the block list. + example: 9a87f3e2b1d4c5a6f8b3e2d1c4a7b5f6e3d2a1c4b7e5f8a3d6c2e1b4a7d5f8c2 + type: string + display_block: + $ref: '#/components/schemas/LLMObsContentBlocks' + id: + description: Unique identifier of the interaction. + example: 00000000-0000-0000-0000-000000000000 + type: string + type: + $ref: '#/components/schemas/LLMObsDisplayBlockInteractionType' + required: + - id + - type + - content_id + - already_existed + - display_block + type: object + LLMObsExperimentationAnalyticsCompute: + description: A single metric computation definition. + properties: + metric: + description: Name of the metric to compute. + example: score_value + type: string + name: + description: Optional alias for this computation in the response. + example: avg_faithfulness + type: string + required: + - metric + type: object + LLMObsExperimentationAnalyticsGroupBy: + description: A field to group analytics results by. + properties: + field: + description: Field name to group by. + example: span_id + type: string + required: + - field + type: object + LLMObsExperimentationAnalyticsSearch: + description: Search query for filtering analytics data. + properties: + query: + description: Filter expression. + example: '@experiment_id:3fd6b5e0-8910-4b1c-a7d0-5b84de329012' + type: string + required: + - query + type: object + LLMObsExperimentationAnalyticsTimeRange: + description: Unix-millisecond time range for filtering analytics data. + properties: + from: + description: Start of the time range in milliseconds since Unix epoch. + example: 1705312200000 + format: int64 + type: integer + to: + description: End of the time range in milliseconds since Unix epoch. + example: 1705315800000 + format: int64 + type: integer + required: + - from + - to + type: object + LLMObsExperimentationAnalyticsValue: + description: A single analytics result bucket. + properties: + by: + additionalProperties: {} + description: The group-by field values for this bucket. + example: + span_id: span-7a1b2c3d + type: object + metrics: + additionalProperties: {} + description: Computed metric values for this bucket. + example: + score_value: 0.85 + type: object + required: + - metrics + type: object + LLMObsExperimentationSortFieldDirection: + description: Sort direction. + enum: + - asc + - desc + example: desc + type: string + x-enum-varnames: + - ASC + - DESC + LLMObsMetricAssessment: + description: Assessment result for an Agent Observability experiment metric. + enum: + - pass + - fail + example: pass + type: string + x-enum-varnames: + - PASS + - FAIL + LLMObsMetricScoreType: + description: Type of metric recorded for an Agent Observability experiment. + enum: + - score + - categorical + - boolean + - json + example: score + type: string + x-enum-varnames: + - SCORE + - CATEGORICAL + - BOOLEAN + - JSON + LLMObsExperimentSpanError: + description: Error details for an experiment span. + properties: + message: + description: Error message. + example: Model response timed out + type: string + stack: + description: Stack trace of the error. + example: |- + Traceback (most recent call last): + File "main.py", line 10, in + response = model.generate(input) + File "model.py", line 45, in generate + raise TimeoutError("Model response timed out") + TimeoutError: Model response timed out + type: string + type: + description: The error type or exception class name. + example: TimeoutError + type: string + type: object + LLMObsExperimentMetricError: + description: Error details for an experiment metric evaluation. + properties: + message: + description: Error message associated with the metric evaluation. + type: string + type: object + LLMObsInferenceContent: + description: A structured content block within a message. + properties: + type: + description: The content block type. + example: text + type: string + value: + $ref: '#/components/schemas/LLMObsInferenceContentValue' + required: + - type + - value + type: object + LLMObsInferenceToolCall: + description: A tool call made during LLM inference. + properties: + arguments: + additionalProperties: {} + description: The arguments passed to the tool. + example: + location: San Francisco + type: object + name: + description: The name of the tool being called. + example: get_weather + type: string + tool_id: + description: Unique identifier for the tool call. + example: call_abc123 + type: string + type: + description: The type of tool call. + example: function + type: string + type: object + LLMObsInferenceToolResult: + description: The result returned by a tool call during LLM inference. + properties: + name: + description: The name of the tool that produced this result. + example: get_weather + type: string + result: + description: The result content returned by the tool. + example: The weather in San Francisco is 68°F and sunny. + type: string + tool_id: + description: Identifier matching the corresponding tool call. + example: call_abc123 + type: string + type: + description: The type of tool result. + example: function + type: string + type: object + LLMObsPromptTextTemplate: + description: A text prompt template. + minLength: 1 + pattern: .*\S.* + type: string + LLMObsPromptChatTemplate: + description: A chat prompt template. + items: + $ref: '#/components/schemas/LLMObsPromptChatMessage' + minItems: 1 + type: array + x-generate-alias-as-model: true + LLMObsSpanMessage: + description: A single message in a span input or output. + properties: + content: + description: Text content of the message. + type: string + id: + description: Unique identifier of the message. + type: string + role: + description: Role of the message sender (e.g., user, assistant, system). + type: string + tool_calls: + description: Tool calls made in this message. + items: + $ref: '#/components/schemas/LLMObsSpanToolCall' + type: array + tool_results: + description: Tool results returned in this message. + items: + $ref: '#/components/schemas/LLMObsSpanToolResult' + type: array + type: object + LLMObsPatternsClusteredPoint: + description: A single data point grouped into a topic. + properties: + event_id: + description: Identifier of the source event. + example: AAAAAYabc123 + type: string + id: + description: Unique identifier of the clustered point. + example: 9b0c1d2e-3f40-5a61-b728-c9d0e1f2a3b4 + type: string + input: + description: Input text of the source span. + example: How do I get a refund? + type: string + is_included: + description: Whether the point is included in the patterns dataset. + example: false + type: boolean + is_suggested: + description: Whether the point is suggested for inclusion in the patterns dataset. + example: true + type: boolean + session_id: + description: Identifier of the source session. + example: session-7c3f5a1b + type: string + span_id: + description: Identifier of the source span. + example: '1234567890123456789' + type: string + topic_id: + description: Identifier of the topic the point belongs to. + example: 5c1fae90-2b6d-4e3a-9f12-7a0c4d8e6b21 + type: string + required: + - id + - event_id + - topic_id + - span_id + - session_id + - input + - is_suggested + - is_included + type: object + LLMObsPatternsConfigItem: + description: A single Agent Observability patterns configuration in a list response. + properties: + account_id: + description: Integration account ID for a bring-your-own-model configuration. + example: '1000000001' + nullable: true + type: string + created_at: + description: Timestamp when the configuration was created. + example: '2024-01-15T10:30:00Z' + format: date-time + type: string + evp_query: + description: Query that selects the spans the patterns run analyzes. + example: '@ml_app:support-bot' + type: string + hierarchy_depth: + description: Depth of the topic hierarchy to generate. + example: 2 + format: int32 + maximum: 2147483647 + type: integer + id: + description: Unique identifier of the configuration. + example: a7c8d9e0-1234-5678-9abc-def012345678 + type: string + integration_provider: + description: Integration provider for a bring-your-own-model configuration. + example: openai + nullable: true + type: string + model_name: + description: Model name for a bring-your-own-model configuration. + example: gpt-4o + nullable: true + type: string + name: + description: Name of the configuration. + example: Support chatbot topics + type: string + num_records: + description: Maximum number of records to process for the run. + example: 1000 + format: int32 + maximum: 2147483647 + type: integer + sampling_ratio: + description: Fraction of matching spans to sample for the run. + example: 0.1 + format: double + type: number + scope: + description: Scope of the configuration. + example: '' + type: string + template: + description: Template used to guide topic generation. + example: '' + nullable: true + type: string + updated_at: + description: Timestamp when the configuration was last updated. + example: '2024-01-15T10:30:00Z' + format: date-time + type: string + required: + - id + - name + - evp_query + - sampling_ratio + - num_records + - hierarchy_depth + - scope + - created_at + - updated_at + type: object + LLMObsPatternsRunSummary: + description: Summary of an Agent Observability patterns run. + properties: + completed_at: + description: Timestamp when the run completed. Null if the run has not completed. + example: '2024-01-15T10:45:00Z' + format: date-time + nullable: true + type: string + config_snapshot: + $ref: '#/components/schemas/LLMObsPatternsConfigSnapshot' + created_at: + description: Timestamp when the run was created. + example: '2024-01-15T10:30:00Z' + format: date-time + type: string + id: + description: Unique identifier of the run. + example: 3fd6b5e0-8910-4b1c-a7d0-5b84de329012 + type: string + status: + description: Status of the run. + example: completed + type: string + required: + - id + - status + - created_at + type: object + LLMObsPatternsActivityProgress: + description: Progress information for a single step of a patterns run. + properties: + name: + description: Name of the step. + example: generate_topics + type: string + started_at: + description: Timestamp when the step started. Null if the step has not started. + example: '2024-01-15T10:30:00Z' + format: date-time + nullable: true + type: string + status: + description: Status of the step. + example: completed + type: string + required: + - name + - status + type: object + LLMObsPatternsTopic: + description: A topic discovered by an Agent Observability patterns run. + properties: + created_at: + description: Timestamp when the topic was created. + example: '2024-01-15T10:30:00Z' + format: date-time + type: string + description: + description: Description of the topic. + example: Questions about invoices, charges, and refunds. + type: string + first_seen_at: + description: Timestamp when the topic was first seen. + example: '2024-01-15T10:30:00Z' + format: date-time + type: string + hierarchy_level: + description: Level of the topic in the hierarchy. Level 0 is a leaf topic. + example: 0 + format: int64 + type: integer + id: + description: Unique identifier of the topic. + example: 5c1fae90-2b6d-4e3a-9f12-7a0c4d8e6b21 + type: string + is_validated: + description: Whether the topic has been validated. + example: true + type: boolean + name: + description: Name of the topic. + example: Billing questions + type: string + parent_topic_id: + description: Identifier of the parent topic. Empty for top-level topics. + example: '' + type: string + point_count: + description: Number of data points assigned to the topic. + example: 125 + format: int64 + type: integer + run_id: + description: Identifier of the run that produced the topic. + example: 3fd6b5e0-8910-4b1c-a7d0-5b84de329012 + type: string + required: + - id + - run_id + - parent_topic_id + - hierarchy_level + - name + - description + - is_validated + - created_at + - point_count + - first_seen_at + type: object + LLMObsPatternsTopicWithClusteredPoints: + description: |- + A topic discovered by an Agent Observability patterns run, including the + clustered points attached to leaf topics. + properties: + cluster_points: + $ref: '#/components/schemas/LLMObsPatternsClusteredPointRefsList' + created_at: + description: Timestamp when the topic was created. + example: '2024-01-15T10:30:00Z' + format: date-time + type: string + description: + description: Description of the topic. + example: Questions about invoices, charges, and refunds. + type: string + first_seen_at: + description: Timestamp when the topic was first seen. + example: '2024-01-15T10:30:00Z' + format: date-time + type: string + hierarchy_level: + description: Level of the topic in the hierarchy. Level 0 is a leaf topic. + example: 0 + format: int64 + type: integer + id: + description: Unique identifier of the topic. + example: 5c1fae90-2b6d-4e3a-9f12-7a0c4d8e6b21 + type: string + is_validated: + description: Whether the topic has been validated. + example: true + type: boolean + name: + description: Name of the topic. + example: Billing questions + type: string + parent_topic_id: + description: Identifier of the parent topic. Empty for top-level topics. + example: '' + type: string + point_count: + description: Number of data points assigned to the topic. + example: 125 + format: int64 + type: integer + run_id: + description: Identifier of the run that produced the topic. + example: 3fd6b5e0-8910-4b1c-a7d0-5b84de329012 + type: string + required: + - id + - run_id + - parent_topic_id + - hierarchy_level + - name + - description + - is_validated + - created_at + - point_count + - first_seen_at + type: object + LLMObsDatasetBatchUpdateInsertRecord: + description: A record to insert as part of a batch update on an Agent Observability dataset. + properties: + expected_output: + $ref: '#/components/schemas/AnyValue' + id: + description: Optional user-provided identifier for the record. If omitted, the server generates an identifier. + example: rec-7c3f5a1b-9e2d-4f8a-b1c6-3d7e9f0a2b4c + type: string + input: + $ref: '#/components/schemas/AnyValue' + metadata: + additionalProperties: {} + description: Arbitrary metadata associated with the record. + type: object + tag_operations: + $ref: '#/components/schemas/LLMObsDatasetRecordTagOperations' + tags: + $ref: '#/components/schemas/LLMObsDatasetRecordTagsList' + required: + - input + type: object + LLMObsDatasetBatchUpdateUpdateRecord: + description: A record update payload as part of a batch update on an Agent Observability dataset. + properties: + expected_output: + $ref: '#/components/schemas/AnyValue' + id: + description: Unique identifier of the record to update. + example: rec-7c3f5a1b-9e2d-4f8a-b1c6-3d7e9f0a2b4c + type: string + input: + $ref: '#/components/schemas/AnyValue' + metadata: + additionalProperties: {} + description: Updated metadata associated with the record. + type: object + tag_operations: + $ref: '#/components/schemas/LLMObsDatasetRecordTagOperations' + required: + - id + type: object + AnyValueItem: + description: A single item in an array of arbitrary values, which can be a string, number, object, or boolean. + type: string + format: double + additionalProperties: {} + LLMObsCustomEvalConfigPromptContent: + description: A content block within a prompt message. + properties: + type: + description: Content block type. + example: text + type: string + value: + $ref: '#/components/schemas/LLMObsCustomEvalConfigPromptContentValue' + required: + - type + - value + type: object + LLMObsContentBlock: + description: |- + A single content block rendered inside a `display_block` interaction. + `type` discriminates which other fields are meaningful: + + - `markdown` / `text`: `content` must be a string. + - `header`: `content` must be a string; `level`, when set, must be one of `sm`, `md`, `lg`, `xl`. + - `json`: `content` must be a well-formed JSON value (object, array, or scalar). + - `image`: `url` is required. + - `widget`: `tileDef` is required (any well-formed JSON; the frontend owns the renderable schema). + - `llmobs_trace`: `traceId` is required; `interactionType`, when set, must be `trace` or `experiment_trace`. + + `height`, when set, must be positive. + properties: + alt: + description: Alternative text for an `image` block. + example: Example image + type: string + content: + description: |- + Block payload. A string for `markdown`, `header`, and `text`; an + arbitrary JSON value (object, array, or scalar) for `json`. Omitted + for `image`, `widget`, and `llmobs_trace`. + example: '## Triage Instructions' + height: + description: Optional rendered height. Must be positive when set. + example: 240 + format: int64 + type: integer + interactionType: + $ref: '#/components/schemas/LLMObsContentBlockLLMObsTraceInteractionType' + label: + description: Optional label rendered alongside the block. + example: Triage Instructions + type: string + level: + $ref: '#/components/schemas/LLMObsContentBlockHeaderLevel' + tileDef: + description: |- + Tile definition for a `widget` block. Required for `widget`. The + schema is owned by the frontend renderer. + example: + requests: + - queries: + - data_source: metrics + name: q + query: avg:system.cpu.user{*} + response_format: timeseries + type: line + viz: timeseries + timeFrame: + $ref: '#/components/schemas/LLMObsContentBlockTimeFrame' + traceId: + description: Trace identifier. Required for `llmobs_trace` blocks. + example: 69fcc2bb0000000003113989d83069ba + type: string + type: + $ref: '#/components/schemas/LLMObsContentBlockType' + url: + description: URL of the image. Required for `image` blocks. + example: https://example.com/image.png + type: string + required: + - type + type: object + LLMObsLabelSchemaType: + description: Type of a label in an annotation queue label schema. + enum: + - score + - categorical + - boolean + - text + example: score + type: string + x-enum-varnames: + - SCORE + - CATEGORICAL + - BOOLEAN + - TEXT + LLMObsTraceInteractionType: + description: Type of an upstream-entity interaction. + enum: + - trace + - experiment_trace + - session + example: trace + type: string + x-enum-varnames: + - TRACE + - EXPERIMENT_TRACE + - SESSION + LLMObsDisplayBlockInteractionType: + description: Type discriminator for a `display_block` interaction. + enum: + - display_block + example: display_block + type: string + x-enum-varnames: + - DISPLAY_BLOCK + LLMObsAnnotationAssessment: + description: Assessment result for a label value. + enum: + - pass + - fail + example: pass + type: string + x-enum-varnames: + - PASS + - FAIL + LLMObsAnnotationLabelValueValue: + description: The value for this label. Must comply with the label schema type constraints. + example: 0 + format: double + type: number + items: + type: string + LLMObsInferenceContentValue: + description: The typed value of a message content block. + properties: + text: + description: Plain text content. + example: Hello, how can I help you? + type: string + tool_call: + $ref: '#/components/schemas/LLMObsInferenceToolCall' + tool_call_result: + $ref: '#/components/schemas/LLMObsInferenceToolResult' + type: object + LLMObsSpanToolCall: + description: A tool call made during a span. + properties: + arguments: + additionalProperties: {} + description: Arguments passed to the tool. + type: object + name: + description: Name of the tool called. + type: string + tool_id: + description: Identifier of the tool call. + type: string + type: + description: Type of the tool call. + type: string + type: object + LLMObsSpanToolResult: + description: A result returned from a tool call during a span. + properties: + name: + description: Name of the tool that produced this result. + type: string + result: + description: Result value returned by the tool. + type: string + tool_id: + description: Identifier of the corresponding tool call. + type: string + type: + description: Type of the tool result. + type: string + type: object + LLMObsPatternsClusteredPointRefsList: + description: List of clustered points attached to a topic. + items: + $ref: '#/components/schemas/LLMObsPatternsClusteredPointRef' + type: array + LLMObsDatasetRecordTagOperations: + description: Explicit tag operations for updating records. Operations are applied in order, Remove then Add then Set. `set` is the final override; if specified, the result of `remove` and `add` is discarded. + properties: + add: + $ref: '#/components/schemas/LLMObsDatasetRecordTagsList' + remove: + $ref: '#/components/schemas/LLMObsDatasetRecordTagsList' + set: + $ref: '#/components/schemas/LLMObsDatasetRecordTagsList' + type: object + LLMObsCustomEvalConfigPromptContentValue: + description: Value of a prompt message content block. + properties: + text: + description: Text content of the message block. + example: What is the sentiment of this review? + type: string + tool_call: + $ref: '#/components/schemas/LLMObsCustomEvalConfigPromptToolCall' + tool_call_result: + $ref: '#/components/schemas/LLMObsCustomEvalConfigPromptToolResult' + type: object + LLMObsContentBlockLLMObsTraceInteractionType: + description: |- + Upstream interaction type referenced by an `llmobs_trace` block. + Restricted to `trace` or `experiment_trace`. + enum: + - trace + - experiment_trace + example: trace + type: string + x-enum-varnames: + - TRACE + - EXPERIMENT_TRACE + LLMObsContentBlockHeaderLevel: + description: Visual size for a `header` block. + enum: + - sm + - md + - lg + - xl + example: md + type: string + x-enum-varnames: + - SM + - MD + - LG + - XL + LLMObsContentBlockTimeFrame: + description: Unix-millis time range used by chart blocks. + properties: + end: + description: End of the range, in Unix milliseconds. + example: 1705315800000 + format: int64 + type: integer + start: + description: Start of the range, in Unix milliseconds. + example: 1705312200000 + format: int64 + type: integer + required: + - start + - end + type: object + LLMObsContentBlockType: + description: |- + Discriminator for a single `display_block` content block. Adding a + variant requires coordinated changes in the frontend renderer. + enum: + - markdown + - header + - text + - json + - image + - widget + - llmobs_trace + example: markdown + type: string + x-enum-varnames: + - MARKDOWN + - HEADER + - TEXT + - JSON + - IMAGE + - WIDGET + - LLMOBS_TRACE + LLMObsAnnotationLabelValueStringArray: + description: For categorical-type labels allowing multiple selections. + items: + type: string + type: array + LLMObsPatternsClusteredPointRef: + description: |- + A clustered point attached inline to a topic. The metric fields are populated + only when the request includes `include_metrics=true`. + properties: + duration: + description: Duration of the source span in nanoseconds. Included only when metrics are requested. + example: 1500000 + format: double + type: number + estimated_total_cost: + description: Estimated total cost of the source span. Included only when metrics are requested. + example: 0.0021 + format: double + type: number + evaluation: + additionalProperties: {} + description: |- + Evaluation results for the source span keyed by evaluation name. Included + only when metrics are requested. + type: object + input_tokens: + description: Number of input tokens of the source span. Included only when metrics are requested. + example: 128 + format: double + type: number + output_tokens: + description: Number of output tokens of the source span. Included only when metrics are requested. + example: 64 + format: double + type: number + span_id: + description: Identifier of the source span. + example: '1234567890123456789' + type: string + status: + description: Status of the source span. Included only when metrics are requested. + example: ok + type: string + total_tokens: + description: Total number of tokens of the source span. Included only when metrics are requested. + example: 192 + format: double + type: number + required: + - span_id + type: object + LLMObsCustomEvalConfigPromptToolCall: + description: A tool call within a prompt message. + properties: + arguments: + description: JSON-encoded arguments for the tool call. + example: '{"location": "San Francisco"}' + type: string + id: + description: Unique identifier of the tool call. + example: call_abc123 + type: string + name: + description: Name of the tool being called. + example: get_weather + type: string + type: + description: Type of the tool call. + example: function + type: string + type: object + LLMObsCustomEvalConfigPromptToolResult: + description: A tool call result within a prompt message. + properties: + name: + description: Name of the tool that produced this result. + example: get_weather + type: string + result: + description: The result returned by the tool. + example: sunny, 72F + type: string + tool_id: + description: Identifier of the tool call this result corresponds to. + example: call_abc123 + type: string + type: + description: Type of the tool result. + example: function + type: string + type: object + responses: + TooManyRequestsResponse: + content: + application/json: + schema: + $ref: '#/components/schemas/APIErrorResponse' + description: Too many requests + parameters: + LLMObsEvalNamePathParameter: + description: The name of the custom Agent Observability evaluator configuration. + example: my-custom-evaluator + in: path + name: eval_name + required: true + schema: + type: string + LLMObsAnnotationQueueIDPathParameter: + description: The ID of the Agent Observability annotation queue. + example: 00000000-0000-0000-0000-000000000001 + in: path + name: queue_id + required: true + schema: + type: string + LLMObsExperimentIDPathParameter: + description: The ID of the Agent Observability experiment. + example: 3fd6b5e0-8910-4b1c-a7d0-5b84de329012 + in: path + name: experiment_id + required: true + schema: + type: string + LLMObsIntegrationPathParameter: + description: The name of the LLM integration. + example: openai + in: path + name: integration + required: true + schema: + $ref: '#/components/schemas/LLMObsIntegrationName' + LLMObsAccountIDPathParameter: + description: The ID of the integration account. + example: account-abc123 + in: path + name: account_id + required: true + schema: + type: string + LLMObsProjectIDPathParameter: + description: The ID of the Agent Observability project. + example: a33671aa-24fd-4dcd-9b33-a8ec7dde7751 + in: path + name: project_id + required: true + schema: + type: string + LLMObsPromptIDPathParameter: + description: The customer-provided identifier of the Agent Observability prompt. + example: customer-support-assistant + in: path + name: prompt_id + required: true + schema: + type: string + LLMObsPromptLabelQueryParameter: + description: '**Deprecated.** Optional label of the prompt version to return. Do not use this parameter for new integrations. If omitted, the latest version is returned. If the prompt has no labels, the latest version is returned even when a label is requested. If the prompt has labels but none match the requested label, a 404 response is returned.' + in: query + name: label + required: false + schema: + type: string + LLMObsPromptVersionPathParameter: + description: The version number of the Agent Observability prompt. + example: 1 + in: path + name: version + required: true + schema: + format: int64 + minimum: 1 + type: integer + LLMObsPatternsTopicIDQueryParameter: + description: The ID of the topic to retrieve clustered points for. + example: 5c1fae90-2b6d-4e3a-9f12-7a0c4d8e6b21 + in: query + name: topic_id + required: true + schema: + type: string + LLMObsPatternsPageSizeQueryParameter: + description: Maximum number of clustered points to return per page. + in: query + name: page_size + schema: + format: int64 + type: integer + LLMObsPatternsPageTokenQueryParameter: + description: Pagination token to retrieve the next page of clustered points. + in: query + name: page_token + schema: + type: string + LLMObsPatternsConfigIDPathParameter: + description: The ID of the patterns configuration. + example: a7c8d9e0-1234-5678-9abc-def012345678 + in: path + name: config_id + required: true + schema: + type: string + LLMObsPatternsConfigIDQueryParameter: + description: The ID of the patterns configuration. + example: a7c8d9e0-1234-5678-9abc-def012345678 + in: query + name: config_id + required: true + schema: + type: string + LLMObsPatternsRunIDQueryParameter: + description: The ID of a specific patterns run. Defaults to the most recent completed run. + example: 3fd6b5e0-8910-4b1c-a7d0-5b84de329012 + in: query + name: run_id + schema: + type: string + LLMObsPatternsIncludeMetricsQueryParameter: + description: |- + When true, enrich each clustered point with span metrics such as status, + duration, token counts, estimated cost, and evaluations. + in: query + name: include_metrics + schema: + type: boolean + LLMObsDatasetIDPathParameter: + description: The ID of the Agent Observability dataset. + example: 9f64e5c7-dc5a-45c8-a17c-1b85f0bec97d + in: path + name: dataset_id + required: true + schema: + type: string + ModelLabProjectIDPathParameter: + description: The ID of the Model Lab project. + in: path + name: project_id + required: true + schema: + example: 1 + format: int64 + type: integer + ModelLabRunIDPathParameter: + description: The ID of the Model Lab run. + in: path + name: run_id + required: true + schema: + example: 42 + format: int64 + type: integer + x-stackQL-resources: + evaluator_customs: + id: datadog.llm_observability.evaluator_customs + name: evaluator_customs + title: Evaluator Customs + methods: + list_llmobs_custom_eval_configs: + operation: + $ref: '#/paths/~1api~1unstable~1llm-obs~1config~1evaluators~1custom/get' + response: + mediaType: application/json + openAPIDocKey: '200' + objectKey: $.data + request: + nativeCasing: camel + delete_llmobs_custom_eval_config: + operation: + $ref: '#/paths/~1api~1unstable~1llm-obs~1config~1evaluators~1custom~1{eval_name}/delete' + response: + mediaType: application/json + openAPIDocKey: '204' + request: + nativeCasing: camel + get_llmobs_custom_eval_config: + operation: + $ref: '#/paths/~1api~1unstable~1llm-obs~1config~1evaluators~1custom~1{eval_name}/get' + response: + mediaType: application/json + openAPIDocKey: '200' + objectKey: $.data + request: + nativeCasing: camel + update_llmobs_custom_eval_config: + config: + requestBodyTranslate: + algorithm: naive + operation: + $ref: '#/paths/~1api~1unstable~1llm-obs~1config~1evaluators~1custom~1{eval_name}/put' + response: + mediaType: application/json + openAPIDocKey: '200' + request: + nativeCasing: camel + sqlVerbs: + select: + - $ref: '#/components/x-stackQL-resources/evaluator_customs/methods/get_llmobs_custom_eval_config' + - $ref: '#/components/x-stackQL-resources/evaluator_customs/methods/list_llmobs_custom_eval_configs' + insert: [] + update: [] + delete: + - $ref: '#/components/x-stackQL-resources/evaluator_customs/methods/delete_llmobs_custom_eval_config' + replace: + - $ref: '#/components/x-stackQL-resources/evaluator_customs/methods/update_llmobs_custom_eval_config' + annotated_interactions: + id: datadog.llm_observability.annotated_interactions + name: annotated_interactions + title: Annotated Interactions + methods: + get_llmobs_annotated_interactions_by_trace_ids: + operation: + $ref: '#/paths/~1api~1v2~1llm-obs~1v1~1annotated-interactions/get' + response: + mediaType: application/json + openAPIDocKey: '200' + objectKey: $.data + request: + nativeCasing: camel + config: + queryParamPushdown: + top: + paramName: limit + maxValue: 2147483647 + skip: + paramName: offset + sqlVerbs: + select: + - $ref: '#/components/x-stackQL-resources/annotated_interactions/methods/get_llmobs_annotated_interactions_by_trace_ids' + insert: [] + update: [] + delete: [] + replace: [] + annotation_queues: + id: datadog.llm_observability.annotation_queues + name: annotation_queues + title: Annotation Queues + methods: + list_llmobs_annotation_queues: + operation: + $ref: '#/paths/~1api~1v2~1llm-obs~1v1~1annotation-queues/get' + response: + mediaType: application/json + openAPIDocKey: '200' + objectKey: $.data + request: + nativeCasing: camel + create_llmobs_annotation_queue: + config: + requestBodyTranslate: + algorithm: naive + operation: + $ref: '#/paths/~1api~1v2~1llm-obs~1v1~1annotation-queues/post' + response: + mediaType: application/json + openAPIDocKey: '201' + request: + nativeCasing: camel + delete_llmobs_annotation_queue: + operation: + $ref: '#/paths/~1api~1v2~1llm-obs~1v1~1annotation-queues~1{queue_id}/delete' + response: + mediaType: application/json + openAPIDocKey: '204' + request: + nativeCasing: camel + update_llmobs_annotation_queue: + config: + requestBodyTranslate: + algorithm: naive + operation: + $ref: '#/paths/~1api~1v2~1llm-obs~1v1~1annotation-queues~1{queue_id}/patch' + response: + mediaType: application/json + openAPIDocKey: '200' + request: + nativeCasing: camel + sqlVerbs: + select: + - $ref: '#/components/x-stackQL-resources/annotation_queues/methods/list_llmobs_annotation_queues' + insert: + - $ref: '#/components/x-stackQL-resources/annotation_queues/methods/create_llmobs_annotation_queue' + update: + - $ref: '#/components/x-stackQL-resources/annotation_queues/methods/update_llmobs_annotation_queue' + delete: + - $ref: '#/components/x-stackQL-resources/annotation_queues/methods/delete_llmobs_annotation_queue' + replace: [] + annotation_queue_annotated_interactions: + id: datadog.llm_observability.annotation_queue_annotated_interactions + name: annotation_queue_annotated_interactions + title: Annotation Queue Annotated Interactions + methods: + get_llmobs_annotated_interactions: + operation: + $ref: '#/paths/~1api~1v2~1llm-obs~1v1~1annotation-queues~1{queue_id}~1annotated-interactions/get' + response: + mediaType: application/json + openAPIDocKey: '200' + objectKey: $.data + request: + nativeCasing: camel + sqlVerbs: + select: + - $ref: '#/components/x-stackQL-resources/annotation_queue_annotated_interactions/methods/get_llmobs_annotated_interactions' + insert: [] + update: [] + delete: [] + replace: [] + annotation_queue_annotations: + id: datadog.llm_observability.annotation_queue_annotations + name: annotation_queue_annotations + title: Annotation Queue Annotations + methods: + upsert_llmobs_annotations: + config: + requestBodyTranslate: + algorithm: naive + operation: + $ref: '#/paths/~1api~1v2~1llm-obs~1v1~1annotation-queues~1{queue_id}~1annotations/post' + response: + mediaType: application/json + openAPIDocKey: '200' + request: + nativeCasing: camel + delete_llmobs_annotations: + config: + requestBodyTranslate: + algorithm: naive + operation: + $ref: '#/paths/~1api~1v2~1llm-obs~1v1~1annotation-queues~1{queue_id}~1annotations~1delete/post' + response: + mediaType: application/json + openAPIDocKey: '200' + request: + nativeCasing: camel + sqlVerbs: + select: [] + insert: + - $ref: '#/components/x-stackQL-resources/annotation_queue_annotations/methods/upsert_llmobs_annotations' + update: [] + delete: [] + replace: [] + annotation_queue_interactions: + id: datadog.llm_observability.annotation_queue_interactions + name: annotation_queue_interactions + title: Annotation Queue Interactions + methods: + create_llmobs_annotation_queue_interactions: + config: + requestBodyTranslate: + algorithm: naive + operation: + $ref: '#/paths/~1api~1v2~1llm-obs~1v1~1annotation-queues~1{queue_id}~1interactions/post' + response: + mediaType: application/json + openAPIDocKey: '201' + request: + nativeCasing: camel + delete_llmobs_annotation_queue_interactions: + config: + requestBodyTranslate: + algorithm: naive + operation: + $ref: '#/paths/~1api~1v2~1llm-obs~1v1~1annotation-queues~1{queue_id}~1interactions~1delete/post' + response: + mediaType: application/json + openAPIDocKey: '204' + request: + nativeCasing: camel + sqlVerbs: + select: [] + insert: + - $ref: '#/components/x-stackQL-resources/annotation_queue_interactions/methods/create_llmobs_annotation_queue_interactions' + update: [] + delete: [] + replace: [] + annotation_queue_label_schemas: + id: datadog.llm_observability.annotation_queue_label_schemas + name: annotation_queue_label_schemas + title: Annotation Queue Label Schemas + methods: + get_llmobs_annotation_queue_label_schema: + operation: + $ref: '#/paths/~1api~1v2~1llm-obs~1v1~1annotation-queues~1{queue_id}~1label-schema/get' + response: + mediaType: application/json + openAPIDocKey: '200' + objectKey: $.data + request: + nativeCasing: camel + update_llmobs_annotation_queue_label_schema: + config: + requestBodyTranslate: + algorithm: naive + operation: + $ref: '#/paths/~1api~1v2~1llm-obs~1v1~1annotation-queues~1{queue_id}~1label-schema/put' + response: + mediaType: application/json + openAPIDocKey: '200' + request: + nativeCasing: camel + sqlVerbs: + select: + - $ref: '#/components/x-stackQL-resources/annotation_queue_label_schemas/methods/get_llmobs_annotation_queue_label_schema' + insert: [] + update: [] + delete: [] + replace: + - $ref: '#/components/x-stackQL-resources/annotation_queue_label_schemas/methods/update_llmobs_annotation_queue_label_schema' + experiments: + id: datadog.llm_observability.experiments + name: experiments + title: Experiments + methods: + aggregate_llmobs_experimentation: + config: + requestBodyTranslate: + algorithm: naive + operation: + $ref: '#/paths/~1api~1v2~1llm-obs~1v1~1experimentation~1analytics/post' + response: + mediaType: application/json + openAPIDocKey: '200' + request: + nativeCasing: camel + search_llmobs_experimentation: + config: + requestBodyTranslate: + algorithm: naive + operation: + $ref: '#/paths/~1api~1v2~1llm-obs~1v1~1experimentation~1search/post' + response: + mediaType: application/json + openAPIDocKey: '200' + request: + nativeCasing: camel + simple_search_llmobs_experimentation: + config: + requestBodyTranslate: + algorithm: naive + operation: + $ref: '#/paths/~1api~1v2~1llm-obs~1v1~1experimentation~1simple-search/post' + response: + mediaType: application/json + openAPIDocKey: '200' + request: + nativeCasing: camel + list_llmobs_experiments: + operation: + $ref: '#/paths/~1api~1v2~1llm-obs~1v1~1experiments/get' + response: + mediaType: application/json + openAPIDocKey: '200' + objectKey: $.data + request: + nativeCasing: camel + config: + queryParamPushdown: + top: + paramName: page[limit] + maxValue: 5000 + create_llmobs_experiment: + config: + requestBodyTranslate: + algorithm: naive + operation: + $ref: '#/paths/~1api~1v2~1llm-obs~1v1~1experiments/post' + response: + mediaType: application/json + openAPIDocKey: '200' + request: + nativeCasing: camel + delete_llmobs_experiments: + config: + requestBodyTranslate: + algorithm: naive + operation: + $ref: '#/paths/~1api~1v2~1llm-obs~1v1~1experiments~1delete/post' + response: + mediaType: application/json + openAPIDocKey: '204' + request: + nativeCasing: camel + update_llmobs_experiment: + config: + requestBodyTranslate: + algorithm: naive + operation: + $ref: '#/paths/~1api~1v2~1llm-obs~1v1~1experiments~1{experiment_id}/patch' + response: + mediaType: application/json + openAPIDocKey: '200' + request: + nativeCasing: camel + sqlVerbs: + select: + - $ref: '#/components/x-stackQL-resources/experiments/methods/list_llmobs_experiments' + insert: + - $ref: '#/components/x-stackQL-resources/experiments/methods/create_llmobs_experiment' + update: + - $ref: '#/components/x-stackQL-resources/experiments/methods/update_llmobs_experiment' + delete: [] + replace: [] + experiment_events: + id: datadog.llm_observability.experiment_events + name: experiment_events + title: Experiment Events + methods: + create_llmobs_experiment_events: + config: + requestBodyTranslate: + algorithm: naive + operation: + $ref: '#/paths/~1api~1v2~1llm-obs~1v1~1experiments~1{experiment_id}~1events/post' + response: + mediaType: application/json + openAPIDocKey: '202' + request: + nativeCasing: camel + sqlVerbs: + select: [] + insert: + - $ref: '#/components/x-stackQL-resources/experiment_events/methods/create_llmobs_experiment_events' + update: [] + delete: [] + replace: [] + integration_accounts: + id: datadog.llm_observability.integration_accounts + name: integration_accounts + title: Integration Accounts + methods: + list_llmobs_integration_accounts: + operation: + $ref: '#/paths/~1api~1v2~1llm-obs~1v1~1integrations~1{integration}~1accounts/get' + response: + mediaType: application/json + openAPIDocKey: '200' + request: + nativeCasing: camel + sqlVerbs: + select: + - $ref: '#/components/x-stackQL-resources/integration_accounts/methods/list_llmobs_integration_accounts' + insert: [] + update: [] + delete: [] + replace: [] + integration_inferences: + id: datadog.llm_observability.integration_inferences + name: integration_inferences + title: Integration Inferences + methods: + create_llmobs_integration_inference: + config: + requestBodyTranslate: + algorithm: naive + operation: + $ref: '#/paths/~1api~1v2~1llm-obs~1v1~1integrations~1{integration}~1{account_id}~1inference/post' + response: + mediaType: application/json + openAPIDocKey: '200' + request: + nativeCasing: camel + sqlVerbs: + select: [] + insert: + - $ref: '#/components/x-stackQL-resources/integration_inferences/methods/create_llmobs_integration_inference' + update: [] + delete: [] + replace: [] + integration_models: + id: datadog.llm_observability.integration_models + name: integration_models + title: Integration Models + methods: + list_llmobs_integration_models: + operation: + $ref: '#/paths/~1api~1v2~1llm-obs~1v1~1integrations~1{integration}~1{account_id}~1models/get' + response: + mediaType: application/json + openAPIDocKey: '200' + request: + nativeCasing: camel + sqlVerbs: + select: + - $ref: '#/components/x-stackQL-resources/integration_models/methods/list_llmobs_integration_models' + insert: [] + update: [] + delete: [] + replace: [] + projects: + id: datadog.llm_observability.projects + name: projects + title: Projects + methods: + list_llmobs_projects: + operation: + $ref: '#/paths/~1api~1v2~1llm-obs~1v1~1projects/get' + response: + mediaType: application/json + openAPIDocKey: '200' + objectKey: $.data + request: + nativeCasing: camel + config: + queryParamPushdown: + top: + paramName: page[limit] + create_llmobs_project: + config: + requestBodyTranslate: + algorithm: naive + operation: + $ref: '#/paths/~1api~1v2~1llm-obs~1v1~1projects/post' + response: + mediaType: application/json + openAPIDocKey: '200' + request: + nativeCasing: camel + delete_llmobs_projects: + config: + requestBodyTranslate: + algorithm: naive + operation: + $ref: '#/paths/~1api~1v2~1llm-obs~1v1~1projects~1delete/post' + response: + mediaType: application/json + openAPIDocKey: '204' + request: + nativeCasing: camel + update_llmobs_project: + config: + requestBodyTranslate: + algorithm: naive + operation: + $ref: '#/paths/~1api~1v2~1llm-obs~1v1~1projects~1{project_id}/patch' + response: + mediaType: application/json + openAPIDocKey: '200' + request: + nativeCasing: camel + sqlVerbs: + select: + - $ref: '#/components/x-stackQL-resources/projects/methods/list_llmobs_projects' + insert: + - $ref: '#/components/x-stackQL-resources/projects/methods/create_llmobs_project' + update: + - $ref: '#/components/x-stackQL-resources/projects/methods/update_llmobs_project' + delete: [] + replace: [] + prompts: + id: datadog.llm_observability.prompts + name: prompts + title: Prompts + methods: + list_llmobs_prompts: + operation: + $ref: '#/paths/~1api~1v2~1llm-obs~1v1~1prompts/get' + response: + mediaType: application/json + openAPIDocKey: '200' + objectKey: $.data + request: + nativeCasing: camel + create_llmobs_prompt: + config: + requestBodyTranslate: + algorithm: naive + operation: + $ref: '#/paths/~1api~1v2~1llm-obs~1v1~1prompts/post' + response: + mediaType: application/json + openAPIDocKey: '200' + request: + nativeCasing: camel + delete_llmobs_prompt: + operation: + $ref: '#/paths/~1api~1v2~1llm-obs~1v1~1prompts~1{prompt_id}/delete' + response: + mediaType: application/json + openAPIDocKey: '200' + request: + nativeCasing: camel + get_llmobs_prompt: + operation: + $ref: '#/paths/~1api~1v2~1llm-obs~1v1~1prompts~1{prompt_id}/get' + response: + mediaType: application/json + openAPIDocKey: '200' + objectKey: $.data + request: + nativeCasing: camel + update_llmobs_prompt: + config: + requestBodyTranslate: + algorithm: naive + operation: + $ref: '#/paths/~1api~1v2~1llm-obs~1v1~1prompts~1{prompt_id}/patch' + response: + mediaType: application/json + openAPIDocKey: '200' + request: + nativeCasing: camel + sqlVerbs: + select: + - $ref: '#/components/x-stackQL-resources/prompts/methods/get_llmobs_prompt' + - $ref: '#/components/x-stackQL-resources/prompts/methods/list_llmobs_prompts' + insert: + - $ref: '#/components/x-stackQL-resources/prompts/methods/create_llmobs_prompt' + update: + - $ref: '#/components/x-stackQL-resources/prompts/methods/update_llmobs_prompt' + delete: + - $ref: '#/components/x-stackQL-resources/prompts/methods/delete_llmobs_prompt' + replace: [] + prompt_versions: + id: datadog.llm_observability.prompt_versions + name: prompt_versions + title: Prompt Versions + methods: + list_llmobs_prompt_versions: + operation: + $ref: '#/paths/~1api~1v2~1llm-obs~1v1~1prompts~1{prompt_id}~1versions/get' + response: + mediaType: application/json + openAPIDocKey: '200' + objectKey: $.data + request: + nativeCasing: camel + create_llmobs_prompt_version: + config: + requestBodyTranslate: + algorithm: naive + operation: + $ref: '#/paths/~1api~1v2~1llm-obs~1v1~1prompts~1{prompt_id}~1versions/post' + response: + mediaType: application/json + openAPIDocKey: '200' + request: + nativeCasing: camel + get_llmobs_prompt_version: + operation: + $ref: '#/paths/~1api~1v2~1llm-obs~1v1~1prompts~1{prompt_id}~1versions~1{version}/get' + response: + mediaType: application/json + openAPIDocKey: '200' + objectKey: $.data + request: + nativeCasing: camel + update_llmobs_prompt_version: + config: + requestBodyTranslate: + algorithm: naive + operation: + $ref: '#/paths/~1api~1v2~1llm-obs~1v1~1prompts~1{prompt_id}~1versions~1{version}/patch' + response: + mediaType: application/json + openAPIDocKey: '200' + request: + nativeCasing: camel + sqlVerbs: + select: + - $ref: '#/components/x-stackQL-resources/prompt_versions/methods/get_llmobs_prompt_version' + - $ref: '#/components/x-stackQL-resources/prompt_versions/methods/list_llmobs_prompt_versions' + insert: + - $ref: '#/components/x-stackQL-resources/prompt_versions/methods/create_llmobs_prompt_version' + update: + - $ref: '#/components/x-stackQL-resources/prompt_versions/methods/update_llmobs_prompt_version' + delete: [] + replace: [] + span_events: + id: datadog.llm_observability.span_events + name: span_events + title: Span Events + methods: + list_llmobs_spans: + operation: + $ref: '#/paths/~1api~1v2~1llm-obs~1v1~1spans~1events/get' + response: + mediaType: application/json + openAPIDocKey: '200' + objectKey: $.data + request: + nativeCasing: camel + config: + queryParamPushdown: + top: + paramName: page[limit] + search_llmobs_spans: + config: + requestBodyTranslate: + algorithm: naive + operation: + $ref: '#/paths/~1api~1v2~1llm-obs~1v1~1spans~1events~1search/post' + response: + mediaType: application/json + openAPIDocKey: '200' + request: + nativeCasing: camel + sqlVerbs: + select: + - $ref: '#/components/x-stackQL-resources/span_events/methods/list_llmobs_spans' + insert: [] + update: [] + delete: [] + replace: [] + topic_discovery_clustered_points: + id: datadog.llm_observability.topic_discovery_clustered_points + name: topic_discovery_clustered_points + title: Topic Discovery Clustered Points + methods: + list_llmobs_patterns_clustered_points: + operation: + $ref: '#/paths/~1api~1v2~1llm-obs~1v1~1topic-discovery-clustered-points/get' + response: + mediaType: application/json + openAPIDocKey: '200' + objectKey: $.data + request: + nativeCasing: camel + config: + queryParamPushdown: + top: + paramName: page_size + sqlVerbs: + select: + - $ref: '#/components/x-stackQL-resources/topic_discovery_clustered_points/methods/list_llmobs_patterns_clustered_points' + insert: [] + update: [] + delete: [] + replace: [] + topic_discovery_configs: + id: datadog.llm_observability.topic_discovery_configs + name: topic_discovery_configs + title: Topic Discovery Configs + methods: + list_llmobs_patterns_configs: + operation: + $ref: '#/paths/~1api~1v2~1llm-obs~1v1~1topic-discovery-configs/get' + response: + mediaType: application/json + openAPIDocKey: '200' + objectKey: $.data + request: + nativeCasing: camel + upsert_llmobs_patterns_config: + config: + requestBodyTranslate: + algorithm: naive + operation: + $ref: '#/paths/~1api~1v2~1llm-obs~1v1~1topic-discovery-configs/put' + response: + mediaType: application/json + openAPIDocKey: '200' + request: + nativeCasing: camel + delete_llmobs_patterns_config: + operation: + $ref: '#/paths/~1api~1v2~1llm-obs~1v1~1topic-discovery-configs~1{config_id}/delete' + response: + mediaType: application/json + openAPIDocKey: '204' + request: + nativeCasing: camel + sqlVerbs: + select: + - $ref: '#/components/x-stackQL-resources/topic_discovery_configs/methods/list_llmobs_patterns_configs' + insert: [] + update: [] + delete: + - $ref: '#/components/x-stackQL-resources/topic_discovery_configs/methods/delete_llmobs_patterns_config' + replace: + - $ref: '#/components/x-stackQL-resources/topic_discovery_configs/methods/upsert_llmobs_patterns_config' + topic_discovery_latest_configs: + id: datadog.llm_observability.topic_discovery_latest_configs + name: topic_discovery_latest_configs + title: Topic Discovery Latest Configs + methods: + get_llmobs_patterns_config: + operation: + $ref: '#/paths/~1api~1v2~1llm-obs~1v1~1topic-discovery-configs~1latest/get' + response: + mediaType: application/json + openAPIDocKey: '200' + objectKey: $.data + request: + nativeCasing: camel + sqlVerbs: + select: + - $ref: '#/components/x-stackQL-resources/topic_discovery_latest_configs/methods/get_llmobs_patterns_config' + insert: [] + update: [] + delete: [] + replace: [] + topic_discovery_runs: + id: datadog.llm_observability.topic_discovery_runs + name: topic_discovery_runs + title: Topic Discovery Runs + methods: + list_llmobs_patterns_runs: + operation: + $ref: '#/paths/~1api~1v2~1llm-obs~1v1~1topic-discovery-runs/get' + response: + mediaType: application/json + openAPIDocKey: '200' + objectKey: $.data + request: + nativeCasing: camel + trigger_llmobs_patterns: + config: + requestBodyTranslate: + algorithm: naive + operation: + $ref: '#/paths/~1api~1v2~1llm-obs~1v1~1topic-discovery-runs/post' + response: + mediaType: application/json + openAPIDocKey: '202' + request: + nativeCasing: camel + sqlVerbs: + select: + - $ref: '#/components/x-stackQL-resources/topic_discovery_runs/methods/list_llmobs_patterns_runs' + insert: + - $ref: '#/components/x-stackQL-resources/topic_discovery_runs/methods/trigger_llmobs_patterns' + update: [] + delete: [] + replace: [] + topic_discovery_run_statuses: + id: datadog.llm_observability.topic_discovery_run_statuses + name: topic_discovery_run_statuses + title: Topic Discovery Run Statuses + methods: + get_llmobs_patterns_run_status: + operation: + $ref: '#/paths/~1api~1v2~1llm-obs~1v1~1topic-discovery-runs~1status/get' + response: + mediaType: application/json + openAPIDocKey: '200' + objectKey: $.data + request: + nativeCasing: camel + sqlVerbs: + select: + - $ref: '#/components/x-stackQL-resources/topic_discovery_run_statuses/methods/get_llmobs_patterns_run_status' + insert: [] + update: [] + delete: [] + replace: [] + topic_discovery_topics: + id: datadog.llm_observability.topic_discovery_topics + name: topic_discovery_topics + title: Topic Discovery Topics + methods: + list_llmobs_patterns_topics: + operation: + $ref: '#/paths/~1api~1v2~1llm-obs~1v1~1topic-discovery-topics/get' + response: + mediaType: application/json + openAPIDocKey: '200' + objectKey: $.data + request: + nativeCasing: camel + sqlVerbs: + select: + - $ref: '#/components/x-stackQL-resources/topic_discovery_topics/methods/list_llmobs_patterns_topics' + insert: [] + update: [] + delete: [] + replace: [] + topic_discovery_topic_with_cluster_points: + id: datadog.llm_observability.topic_discovery_topic_with_cluster_points + name: topic_discovery_topic_with_cluster_points + title: Topic Discovery Topic With Cluster Points + methods: + list_llmobs_patterns_topics_with_clustered_points: + operation: + $ref: '#/paths/~1api~1v2~1llm-obs~1v1~1topic-discovery-topics~1with-cluster-points/get' + response: + mediaType: application/json + openAPIDocKey: '200' + objectKey: $.data + request: + nativeCasing: camel + sqlVerbs: + select: + - $ref: '#/components/x-stackQL-resources/topic_discovery_topic_with_cluster_points/methods/list_llmobs_patterns_topics_with_clustered_points' + insert: [] + update: [] + delete: [] + replace: [] + datasets: + id: datadog.llm_observability.datasets + name: datasets + title: Datasets + methods: + list_llmobs_datasets: + operation: + $ref: '#/paths/~1api~1v2~1llm-obs~1v1~1{project_id}~1datasets/get' + response: + mediaType: application/json + openAPIDocKey: '200' + objectKey: $.data + request: + nativeCasing: camel + config: + queryParamPushdown: + top: + paramName: page[limit] + create_llmobs_dataset: + config: + requestBodyTranslate: + algorithm: naive + operation: + $ref: '#/paths/~1api~1v2~1llm-obs~1v1~1{project_id}~1datasets/post' + response: + mediaType: application/json + openAPIDocKey: '200' + request: + nativeCasing: camel + delete_llmobs_datasets: + config: + requestBodyTranslate: + algorithm: naive + operation: + $ref: '#/paths/~1api~1v2~1llm-obs~1v1~1{project_id}~1datasets~1delete/post' + response: + mediaType: application/json + openAPIDocKey: '204' + request: + nativeCasing: camel + update_llmobs_dataset: + config: + requestBodyTranslate: + algorithm: naive + operation: + $ref: '#/paths/~1api~1v2~1llm-obs~1v1~1{project_id}~1datasets~1{dataset_id}/patch' + response: + mediaType: application/json + openAPIDocKey: '200' + request: + nativeCasing: camel + batch_update_llmobs_dataset: + config: + requestBodyTranslate: + algorithm: naive + operation: + $ref: '#/paths/~1api~1v2~1llm-obs~1v1~1{project_id}~1datasets~1{dataset_id}~1batch_update/post' + response: + mediaType: application/json + openAPIDocKey: '200' + request: + nativeCasing: camel + clone_llmobs_dataset: + config: + requestBodyTranslate: + algorithm: naive + operation: + $ref: '#/paths/~1api~1v2~1llm-obs~1v1~1{project_id}~1datasets~1{dataset_id}~1clone/post' + response: + mediaType: application/json + openAPIDocKey: '200' + request: + nativeCasing: camel + restore_llmobs_dataset_version: + config: + requestBodyTranslate: + algorithm: naive + operation: + $ref: '#/paths/~1api~1v2~1llm-obs~1v1~1{project_id}~1datasets~1{dataset_id}~1restore/post' + response: + mediaType: application/json + openAPIDocKey: '200' + request: + nativeCasing: camel + sqlVerbs: + select: + - $ref: '#/components/x-stackQL-resources/datasets/methods/list_llmobs_datasets' + insert: + - $ref: '#/components/x-stackQL-resources/datasets/methods/create_llmobs_dataset' + update: + - $ref: '#/components/x-stackQL-resources/datasets/methods/update_llmobs_dataset' + delete: [] + replace: [] + dataset_draft_states: + id: datadog.llm_observability.dataset_draft_states + name: dataset_draft_states + title: Dataset Draft States + methods: + get_llmobs_dataset_draft_state: + operation: + $ref: '#/paths/~1api~1v2~1llm-obs~1v1~1{project_id}~1datasets~1{dataset_id}~1draft_state/get' + response: + mediaType: application/json + openAPIDocKey: '200' + objectKey: $.data + request: + nativeCasing: camel + lock_llmobs_dataset_draft_state: + operation: + $ref: '#/paths/~1api~1v2~1llm-obs~1v1~1{project_id}~1datasets~1{dataset_id}~1draft_state~1lock/patch' + response: + mediaType: application/json + openAPIDocKey: '200' + request: + nativeCasing: camel + unlock_llmobs_dataset_draft_state: + operation: + $ref: '#/paths/~1api~1v2~1llm-obs~1v1~1{project_id}~1datasets~1{dataset_id}~1draft_state~1unlock/patch' + response: + mediaType: application/json + openAPIDocKey: '200' + request: + nativeCasing: camel + sqlVerbs: + select: + - $ref: '#/components/x-stackQL-resources/dataset_draft_states/methods/get_llmobs_dataset_draft_state' + insert: [] + update: [] + delete: [] + replace: [] + dataset_records: + id: datadog.llm_observability.dataset_records + name: dataset_records + title: Dataset Records + methods: + list_llmobs_dataset_records: + operation: + $ref: '#/paths/~1api~1v2~1llm-obs~1v1~1{project_id}~1datasets~1{dataset_id}~1records/get' + response: + mediaType: application/json + openAPIDocKey: '200' + objectKey: $.data + request: + nativeCasing: camel + config: + queryParamPushdown: + top: + paramName: page[limit] + update_llmobs_dataset_records: + config: + requestBodyTranslate: + algorithm: naive + operation: + $ref: '#/paths/~1api~1v2~1llm-obs~1v1~1{project_id}~1datasets~1{dataset_id}~1records/patch' + response: + mediaType: application/json + openAPIDocKey: '200' + request: + nativeCasing: camel + create_llmobs_dataset_records: + config: + requestBodyTranslate: + algorithm: naive + operation: + $ref: '#/paths/~1api~1v2~1llm-obs~1v1~1{project_id}~1datasets~1{dataset_id}~1records/post' + response: + mediaType: application/json + openAPIDocKey: '200' + request: + nativeCasing: camel + delete_llmobs_dataset_records: + config: + requestBodyTranslate: + algorithm: naive + operation: + $ref: '#/paths/~1api~1v2~1llm-obs~1v1~1{project_id}~1datasets~1{dataset_id}~1records~1delete/post' + response: + mediaType: application/json + openAPIDocKey: '204' + request: + nativeCasing: camel + sqlVerbs: + select: + - $ref: '#/components/x-stackQL-resources/dataset_records/methods/list_llmobs_dataset_records' + insert: + - $ref: '#/components/x-stackQL-resources/dataset_records/methods/create_llmobs_dataset_records' + update: + - $ref: '#/components/x-stackQL-resources/dataset_records/methods/update_llmobs_dataset_records' + delete: [] + replace: [] + dataset_versions: + id: datadog.llm_observability.dataset_versions + name: dataset_versions + title: Dataset Versions + methods: + list_llmobs_dataset_versions: + operation: + $ref: '#/paths/~1api~1v2~1llm-obs~1v1~1{project_id}~1datasets~1{dataset_id}~1versions/get' + response: + mediaType: application/json + openAPIDocKey: '200' + objectKey: $.data + request: + nativeCasing: camel + sqlVerbs: + select: + - $ref: '#/components/x-stackQL-resources/dataset_versions/methods/list_llmobs_dataset_versions' + insert: [] + update: [] + delete: [] + replace: [] + experiment_events_v3: + id: datadog.llm_observability.experiment_events_v3 + name: experiment_events_v3 + title: Experiment Events V3 + methods: + list_llmobs_experiment_events: + operation: + $ref: '#/paths/~1api~1v2~1llm-obs~1v3~1experiments~1{experiment_id}~1events/get' + response: + mediaType: application/json + openAPIDocKey: '200' + objectKey: $.data + request: + nativeCasing: camel + config: + queryParamPushdown: + top: + paramName: page[limit] + sqlVerbs: + select: + - $ref: '#/components/x-stackQL-resources/experiment_events_v3/methods/list_llmobs_experiment_events' + insert: [] + update: [] + delete: [] + replace: [] + model_lab_facet_keys: + id: datadog.llm_observability.model_lab_facet_keys + name: model_lab_facet_keys + title: Model Lab Facet Keys + methods: + list_model_lab_run_facet_keys: + operation: + $ref: '#/paths/~1api~1v2~1model-lab-api~1facet-keys/get' + response: + mediaType: application/json + openAPIDocKey: '200' + objectKey: $.data + request: + nativeCasing: camel + sqlVerbs: + select: + - $ref: '#/components/x-stackQL-resources/model_lab_facet_keys/methods/list_model_lab_run_facet_keys' + insert: [] + update: [] + delete: [] + replace: [] + model_lab_facet_values: + id: datadog.llm_observability.model_lab_facet_values + name: model_lab_facet_values + title: Model Lab Facet Values + methods: + list_model_lab_run_facet_values: + operation: + $ref: '#/paths/~1api~1v2~1model-lab-api~1facet-values/get' + response: + mediaType: application/json + openAPIDocKey: '200' + objectKey: $.data + request: + nativeCasing: camel + sqlVerbs: + select: + - $ref: '#/components/x-stackQL-resources/model_lab_facet_values/methods/list_model_lab_run_facet_values' + insert: [] + update: [] + delete: [] + replace: [] + model_lab_project_facet_keys: + id: datadog.llm_observability.model_lab_project_facet_keys + name: model_lab_project_facet_keys + title: Model Lab Project Facet Keys + methods: + list_model_lab_project_facet_keys: + operation: + $ref: '#/paths/~1api~1v2~1model-lab-api~1project-facet-keys/get' + response: + mediaType: application/json + openAPIDocKey: '200' + objectKey: $.data + request: + nativeCasing: camel + sqlVerbs: + select: + - $ref: '#/components/x-stackQL-resources/model_lab_project_facet_keys/methods/list_model_lab_project_facet_keys' + insert: [] + update: [] + delete: [] + replace: [] + model_lab_project_facet_values: + id: datadog.llm_observability.model_lab_project_facet_values + name: model_lab_project_facet_values + title: Model Lab Project Facet Values + methods: + list_model_lab_project_facet_values: + operation: + $ref: '#/paths/~1api~1v2~1model-lab-api~1project-facet-values/get' + response: + mediaType: application/json + openAPIDocKey: '200' + objectKey: $.data + request: + nativeCasing: camel + sqlVerbs: + select: + - $ref: '#/components/x-stackQL-resources/model_lab_project_facet_values/methods/list_model_lab_project_facet_values' + insert: [] + update: [] + delete: [] + replace: [] + model_lab_projects: + id: datadog.llm_observability.model_lab_projects + name: model_lab_projects + title: Model Lab Projects + methods: + list_model_lab_projects: + operation: + $ref: '#/paths/~1api~1v2~1model-lab-api~1projects/get' + response: + mediaType: application/json + openAPIDocKey: '200' + objectKey: $.data + request: + nativeCasing: camel + config: + queryParamPushdown: + top: + paramName: page[size] + maxValue: 100 + get_model_lab_project: + operation: + $ref: '#/paths/~1api~1v2~1model-lab-api~1projects~1{project_id}/get' + response: + mediaType: application/json + openAPIDocKey: '200' + objectKey: $.data + request: + nativeCasing: camel + unstar_model_lab_project: + operation: + $ref: '#/paths/~1api~1v2~1model-lab-api~1projects~1{project_id}~1star/delete' + response: + mediaType: application/json + openAPIDocKey: '204' + request: + nativeCasing: camel + star_model_lab_project: + operation: + $ref: '#/paths/~1api~1v2~1model-lab-api~1projects~1{project_id}~1star/post' + response: + mediaType: application/json + openAPIDocKey: '204' + request: + nativeCasing: camel + sqlVerbs: + select: + - $ref: '#/components/x-stackQL-resources/model_lab_projects/methods/get_model_lab_project' + - $ref: '#/components/x-stackQL-resources/model_lab_projects/methods/list_model_lab_projects' + insert: [] + update: [] + delete: + - $ref: '#/components/x-stackQL-resources/model_lab_projects/methods/unstar_model_lab_project' + replace: [] + model_lab_project_artifacts: + id: datadog.llm_observability.model_lab_project_artifacts + name: model_lab_project_artifacts + title: Model Lab Project Artifacts + methods: + list_model_lab_project_artifacts: + operation: + $ref: '#/paths/~1api~1v2~1model-lab-api~1projects~1{project_id}~1artifacts/get' + response: + mediaType: application/json + openAPIDocKey: '200' + objectKey: $.data + request: + nativeCasing: camel + sqlVerbs: + select: + - $ref: '#/components/x-stackQL-resources/model_lab_project_artifacts/methods/list_model_lab_project_artifacts' + insert: [] + update: [] + delete: [] + replace: [] + model_lab_runs: + id: datadog.llm_observability.model_lab_runs + name: model_lab_runs + title: Model Lab Runs + methods: + list_model_lab_runs: + operation: + $ref: '#/paths/~1api~1v2~1model-lab-api~1runs/get' + response: + mediaType: application/json + openAPIDocKey: '200' + objectKey: $.data + request: + nativeCasing: camel + config: + queryParamPushdown: + top: + paramName: page[size] + maxValue: 100 + delete_model_lab_run: + operation: + $ref: '#/paths/~1api~1v2~1model-lab-api~1runs~1{run_id}/delete' + response: + mediaType: application/json + openAPIDocKey: '204' + request: + nativeCasing: camel + get_model_lab_run: + operation: + $ref: '#/paths/~1api~1v2~1model-lab-api~1runs~1{run_id}/get' + response: + mediaType: application/json + openAPIDocKey: '200' + objectKey: $.data + request: + nativeCasing: camel + sqlVerbs: + select: + - $ref: '#/components/x-stackQL-resources/model_lab_runs/methods/get_model_lab_run' + - $ref: '#/components/x-stackQL-resources/model_lab_runs/methods/list_model_lab_runs' + insert: [] + update: [] + delete: + - $ref: '#/components/x-stackQL-resources/model_lab_runs/methods/delete_model_lab_run' + replace: [] + model_lab_run_artifacts: + id: datadog.llm_observability.model_lab_run_artifacts + name: model_lab_run_artifacts + title: Model Lab Run Artifacts + methods: + list_model_lab_run_artifacts: + operation: + $ref: '#/paths/~1api~1v2~1model-lab-api~1runs~1{run_id}~1artifacts/get' + response: + mediaType: application/json + openAPIDocKey: '200' + objectKey: $.data + request: + nativeCasing: camel + sqlVerbs: + select: + - $ref: '#/components/x-stackQL-resources/model_lab_run_artifacts/methods/list_model_lab_run_artifacts' + insert: [] + update: [] + delete: [] + replace: [] + model_lab_run_pins: + id: datadog.llm_observability.model_lab_run_pins + name: model_lab_run_pins + title: Model Lab Run Pins + methods: + unpin_model_lab_run: + operation: + $ref: '#/paths/~1api~1v2~1model-lab-api~1runs~1{run_id}~1pin/delete' + response: + mediaType: application/json + openAPIDocKey: '204' + request: + nativeCasing: camel + pin_model_lab_run: + operation: + $ref: '#/paths/~1api~1v2~1model-lab-api~1runs~1{run_id}~1pin/post' + response: + mediaType: application/json + openAPIDocKey: '204' + request: + nativeCasing: camel + sqlVerbs: + select: [] + insert: + - $ref: '#/components/x-stackQL-resources/model_lab_run_pins/methods/pin_model_lab_run' + update: [] + delete: + - $ref: '#/components/x-stackQL-resources/model_lab_run_pins/methods/unpin_model_lab_run' + replace: [] +servers: + - url: https://api.{site:.+} + variables: + site: + default: datadoghq.com + description: The Datadog site (region) for your organization, for example datadoghq.com, us3.datadoghq.com, us5.datadoghq.com, ap1.datadoghq.com, ap2.datadoghq.com, datadoghq.eu, ddog-gov.com. Resolved from the DD_SITE environment variable when set. + x-stackQL-envVar: DD_SITE diff --git a/providers/src/datadog/v00.00.00000/services/logs.yaml b/providers/src/datadog/v00.00.00000/services/logs.yaml index 50f440dd..27d6d981 100644 --- a/providers/src/datadog/v00.00.00000/services/logs.yaml +++ b/providers/src/datadog/v00.00.00000/services/logs.yaml @@ -1,64 +1,36 @@ openapi: 3.0.0 info: title: logs API - description: datadog logs API + description: Search your logs and send them to your Datadog platform over HTTP. See the [Log Management page](https://docs.datadoghq.com/logs/) for more information. version: '1.0' paths: /api/v2/logs: post: - description: >- - Send your logs to your Datadog platform over HTTP. Limits per HTTP - request are: - + description: |- + Send your logs to your Datadog platform over HTTP. Limits per HTTP request are: - Maximum content size per payload (uncompressed): 5MB - - Maximum size for a single log: 1MB - - Maximum array size if sending multiple logs in an array: 1000 entries - Any log exceeding 1MB is accepted and truncated by Datadog: - - - For a single log request, the API truncates the log at 1MB and returns - a 2xx. - - - For a multi-logs request, the API processes all logs, truncates only - logs larger than 1MB, and returns a 2xx. - + - For a single log request, the API truncates the log at 1MB and returns a 2xx. + - For a multi-logs request, the API processes all logs, truncates only logs larger than 1MB, and returns a 2xx. Datadog recommends sending your logs compressed. - - Add the `Content-Encoding: gzip` header to the request when sending - compressed logs. - - Log events can be submitted with a timestamp that is up to 18 hours in - the past. - + Add the `Content-Encoding: gzip` header to the request when sending compressed logs. + Log events can be submitted with a timestamp that is up to 18 hours in the past. The status codes answered by the HTTP API are: - - 202: Accepted: the request has been accepted for processing - - 400: Bad request (likely an issue in the payload formatting) - - 401: Unauthorized (likely a missing API Key) - - 403: Permission issue (likely using an invalid API Key) - - 408: Request Timeout, request should be retried after some time - - 413: Payload too large (batch is above 5MB uncompressed) - - 429: Too Many Requests, request should be retried after some time - - - 500: Internal Server Error, the server encountered an unexpected - condition that prevented it from fulfilling the request, request should - be retried after some time - - - 503: Service Unavailable, the server is not ready to handle the - request probably because it is overloaded, request should be retried - after some time + - 500: Internal Server Error, the server encountered an unexpected condition that prevented it from fulfilling the request, request should be retried after some time + - 503: Service Unavailable, the server is not ready to handle the request probably because it is overloaded, request should be retried after some time operationId: SubmitLog parameters: - description: HTTP header used to compress the media-type. @@ -67,9 +39,7 @@ paths: required: false schema: $ref: '#/components/schemas/ContentEncoding' - - description: >- - Log tags can be passed as query parameters with `text/plain` content - type. + - description: Log tags can be passed as query parameters with `text/plain` content type. example: env:prod,user:my-user in: query name: ddtags @@ -80,6 +50,13 @@ paths: content: application/json: examples: + default: + value: + ddsource: nginx + ddtags: env:staging,version:5.1 + hostname: i-012345678 + message: 2019-11-19T14:37:58,995 INFO [process.name][20081] Hello World + service: payment multi-json-messages: description: Pass multiple log objects at once. summary: Multi JSON Messages @@ -95,22 +72,26 @@ paths: message: 2019-11-19T14:37:58,995 INFO [process.name][20081] World service: payment simple-json-message: - description: >- - Log attributes can be passed as `key:value` pairs in valid - JSON messages. + description: Log attributes can be passed as `key:value` pairs in valid JSON messages. summary: Simple JSON Message value: ddsource: nginx ddtags: env:staging,version:5.1 hostname: i-012345678 - message: >- - 2019-11-19T14:37:58,995 INFO [process.name][20081] Hello - World + message: 2019-11-19T14:37:58,995 INFO [process.name][20081] Hello World service: payment schema: $ref: '#/components/schemas/HTTPLog' application/logplex-1: examples: + default: + value: + multi-raw-message: + description: Submit log messages. + summary: Multi Logplex Messages + value: |- + 2019-11-19T14:37:58,995 INFO [process.name][20081] Hello + 2019-11-19T14:37:58,995 INFO [process.name][20081] World multi-raw-message: description: Submit log messages. summary: Multi Logplex Messages @@ -125,18 +106,22 @@ paths: type: string text/plain: examples: + default: + value: + multi-raw-message: + description: Submit log string. + summary: Multi Raw Messages + value: |- + 2019-11-19T14:37:58,995 INFO [process.name][20081] Hello + 2019-11-19T14:37:58,995 INFO [process.name][20081] World multi-raw-message: description: Submit log string. summary: Multi Raw Messages - value: | + value: |- 2019-11-19T14:37:58,995 INFO [process.name][20081] Hello 2019-11-19T14:37:58,995 INFO [process.name][20081] World simple-raw-message: - description: >- - Submit log string. Log attributes can be passed as query - parameters in the URL. This enables the addition of tags or - the source by using the `ddtags` and `ddsource` parameters: - `?host=my-hostname&service=my-service&ddsource=my-source&ddtags=env:prod,user:my-user`. + description: 'Submit log string. Log attributes can be passed as query parameters in the URL. This enables the addition of tags or the source by using the `ddtags` and `ddsource` parameters: `?host=my-hostname&service=my-service&ddsource=my-source&ddtags=env:prod,user:my-user`.' summary: Simple Raw Message value: 2019-11-19T14:37:58,995 INFO [process.name][20081] Hello World schema: @@ -147,8 +132,12 @@ paths: '202': content: application/json: + examples: + default: + value: {} schema: - type: object + type: string + description: (opaque JSON object) description: Request accepted for processing (always 202 empty JSON). '400': content: @@ -200,52 +189,53 @@ paths: description: Service Unavailable security: - apiKeyAuth: [] - servers: - - url: https://{subdomain}.{site} - variables: - site: - default: datadoghq.com - description: The regional site for customers. - enum: - - datadoghq.com - - us3.datadoghq.com - - us5.datadoghq.com - - ap1.datadoghq.com - - ap2.datadoghq.com - - datadoghq.eu - - ddog-gov.com - subdomain: - default: http-intake.logs - description: The subdomain where the API is deployed. - - url: '{protocol}://{name}' - variables: - name: - default: http-intake.logs.datadoghq.com - description: Full site DNS name. - protocol: - default: https - description: The protocol for accessing the API. - - url: https://{subdomain}.{site} - variables: - site: - default: datadoghq.com - description: Any Datadog deployment. - subdomain: - default: http-intake.logs - description: The subdomain where the API is deployed. summary: Send logs tags: - Logs x-codegen-request-body-name: body + servers: + - url: https://http-intake.logs.{site:.+} + variables: + site: + default: datadoghq.com + description: The regional site for customers. + x-stackQL-envVar: DD_SITE /api/v2/logs/analytics/aggregate: post: - description: >- - The API endpoint to aggregate events into buckets and compute metrics - and timeseries. + description: The API endpoint to aggregate events into buckets and compute metrics and timeseries. operationId: AggregateLogs requestBody: content: application/json: + examples: + default: + value: + compute: + - aggregation: pc90 + interval: 5m + metric: '@duration' + type: timeseries + filter: + from: now-15m + indexes: + - main + - web + query: service:web* AND @http.status_code:[200 TO 299] + storage_tier: indexes + to: now + group_by: + - facet: host + histogram: + interval: 10 + max: 100 + min: 50 + sort: + aggregation: count + order: asc + options: + timezone: GMT + page: + cursor: eyJzdGFydEF0IjoiQVFBQUFYS2tMS3pPbm40NGV3QUFBQUJCV0V0clRFdDZVbG8zY3pCRmNsbHJiVmxDWlEifQ== schema: $ref: '#/components/schemas/LogsAggregateRequest' required: true @@ -253,6 +243,18 @@ paths: '200': content: application/json: + examples: + default: + value: + data: + buckets: + - by: + host: my-hostname + computes: + c0: 19 + meta: + elapsed: 132 + status: done schema: $ref: '#/components/schemas/LogsAggregateResponse' description: OK @@ -262,6 +264,11 @@ paths: $ref: '#/components/responses/NotAuthorizedResponse' '429': $ref: '#/components/responses/TooManyRequestsResponse' + security: + - apiKeyAuth: [] + appKeyAuth: [] + - AuthZ: + - logs_read_data summary: Aggregate events tags: - Logs @@ -280,6 +287,16 @@ paths: '200': content: application/json: + examples: + default: + value: + data: + attributes: + archive_ids: + - a2zcMylnM4OCHpYusxIi1g + - a2zcMylnM4OCHpYusxIi2g + - a2zcMylnM4OCHpYusxIi3g + type: archive_order schema: $ref: '#/components/schemas/LogsArchiveOrder' description: OK @@ -299,21 +316,26 @@ paths: permissions: - logs_read_config put: - description: >- - Update the order of your archives. Since logs are processed - sequentially, reordering an archive may change - + description: |- + Update the order of your archives. Since logs are processed sequentially, reordering an archive may change the structure and content of the data processed by other archives. - - **Note**: Using the `PUT` method updates your archive's order by - replacing the current order - + **Note**: Using the `PUT` method updates your archive's order by replacing the current order with the new one. operationId: UpdateLogsArchiveOrder requestBody: content: application/json: + examples: + default: + value: + data: + attributes: + archive_ids: + - a2zcMylnM4OCHpYusxIi1g + - a2zcMylnM4OCHpYusxIi2g + - a2zcMylnM4OCHpYusxIi3g + type: archive_order schema: $ref: '#/components/schemas/LogsArchiveOrder' description: An object containing the new ordered list of archive IDs. @@ -322,6 +344,16 @@ paths: '200': content: application/json: + examples: + default: + value: + data: + attributes: + archive_ids: + - a2zcMylnM4OCHpYusxIi1g + - a2zcMylnM4OCHpYusxIi2g + - a2zcMylnM4OCHpYusxIi3g + type: archive_order schema: $ref: '#/components/schemas/LogsArchiveOrder' description: OK @@ -361,6 +393,23 @@ paths: '200': content: application/json: + examples: + default: + value: + data: + - attributes: + destination: + bucket: my-bucket + integration: + account_id: '123456789012' + role_name: my-role + type: s3 + include_tags: false + name: Nginx Archive + query: source:nginx + state: WORKING + id: 00000000-0000-0000-0000-000000000001 + type: archives schema: $ref: '#/components/schemas/LogsArchives' description: OK @@ -385,6 +434,36 @@ paths: requestBody: content: application/json: + examples: + default: + value: + data: + attributes: + compression_method: GZIP + destination: + container: container-name + storage_account: account-name + type: azure + include_tags: false + name: Nginx Archive + query: source:nginx + rehydration_max_scan_size_in_gb: 100 + rehydration_tags: + - team:intake + - team:app + type: archives + s3_access_key_id: + value: + data: + attributes: + destination: + bucket: my-bucket + integration: + access_key_id: AKIAIOSFODNN7EXAMPLE + type: s3 + name: Nginx Archive + query: source:nginx + type: archives schema: $ref: '#/components/schemas/LogsArchiveCreateRequest' description: The definition of the new archive. @@ -393,6 +472,38 @@ paths: '200': content: application/json: + examples: + default: + value: + data: + attributes: + destination: + bucket: my-bucket + integration: + account_id: '123456789012' + role_name: my-role + type: s3 + include_tags: false + name: Nginx Archive + query: source:nginx + state: WORKING + id: 00000000-0000-0000-0000-000000000002 + type: archives + s3_access_key_id: + value: + data: + attributes: + destination: + bucket: my-bucket + integration: + access_key_id: AKIAIOSFODNN7EXAMPLE + type: s3 + include_tags: false + name: Nginx Archive + query: source:nginx + state: WORKING + id: 00000000-0000-0000-0000-000000000002 + type: archives schema: $ref: '#/components/schemas/LogsArchive' description: OK @@ -463,6 +574,23 @@ paths: '200': content: application/json: + examples: + default: + value: + data: + attributes: + destination: + bucket: my-bucket + integration: + account_id: '123456789012' + role_name: my-role + type: s3 + include_tags: false + name: Nginx Archive + query: source:nginx + state: WORKING + id: 00000000-0000-0000-0000-000000000003 + type: archives schema: $ref: '#/components/schemas/LogsArchive' description: OK @@ -494,21 +622,47 @@ paths: permissions: - logs_read_archives put: - description: >- + description: |- Update a given archive configuration. - - **Note**: Using this method updates your archive configuration by - **replacing** - - your current configuration with the new one sent to your Datadog - organization. + **Note**: Using this method updates your archive configuration by **replacing** + your current configuration with the new one sent to your Datadog organization. operationId: UpdateLogsArchive parameters: - $ref: '#/components/parameters/ArchiveID' requestBody: content: application/json: + examples: + default: + value: + data: + attributes: + compression_method: GZIP + destination: + container: container-name + storage_account: account-name + type: azure + include_tags: false + name: Nginx Archive + query: source:nginx + rehydration_max_scan_size_in_gb: 100 + rehydration_tags: + - team:intake + - team:app + type: archives + s3_access_key_id: + value: + data: + attributes: + destination: + bucket: my-bucket + integration: + access_key_id: AKIAIOSFODNN7EXAMPLE + type: s3 + name: Nginx Archive + query: source:nginx + type: archives schema: $ref: '#/components/schemas/LogsArchiveCreateRequest' description: New definition of the archive. @@ -517,6 +671,38 @@ paths: '200': content: application/json: + examples: + default: + value: + data: + attributes: + destination: + bucket: my-bucket + integration: + account_id: '123456789012' + role_name: my-role + type: s3 + include_tags: false + name: Nginx Archive + query: source:nginx + state: WORKING + id: 00000000-0000-0000-0000-000000000004 + type: archives + s3_access_key_id: + value: + data: + attributes: + destination: + bucket: my-bucket + integration: + access_key_id: AKIAIOSFODNN7EXAMPLE + type: s3 + include_tags: false + name: Nginx Archive + query: source:nginx + state: WORKING + id: 00000000-0000-0000-0000-000000000004 + type: archives schema: $ref: '#/components/schemas/LogsArchive' description: OK @@ -550,15 +736,19 @@ paths: - logs_write_archives /api/v2/logs/config/archives/{archive_id}/readers: delete: - description: >- - Removes a role from an archive. ([Roles - API](https://docs.datadoghq.com/api/v2/roles/)) + description: Removes a role from an archive. ([Roles API](https://docs.datadoghq.com/api/v2/roles/)) operationId: RemoveRoleFromArchive parameters: - $ref: '#/components/parameters/ArchiveID' requestBody: content: application/json: + examples: + default: + value: + data: + id: 3653d3c6-0c75-11ea-ad28-fb5701eabc7d + type: roles schema: $ref: '#/components/schemas/RelationshipToRole' required: true @@ -602,6 +792,14 @@ paths: '200': content: application/json: + examples: + default: + value: + data: + - attributes: + name: Example Role + id: 00000000-0000-0000-0000-000000000005 + type: roles schema: $ref: '#/components/schemas/RolesResponse' description: OK @@ -634,15 +832,19 @@ paths: permissions: - logs_read_config post: - description: >- - Adds a read role to an archive. ([Roles - API](https://docs.datadoghq.com/api/v2/roles/)) + description: Adds a read role to an archive. ([Roles API](https://docs.datadoghq.com/api/v2/roles/)) operationId: AddReadRoleToArchive parameters: - $ref: '#/components/parameters/ArchiveID' requestBody: content: application/json: + examples: + default: + value: + data: + id: 3653d3c6-0c75-11ea-ad28-fb5701eabc7d + type: roles schema: $ref: '#/components/schemas/RelationshipToRole' required: true @@ -679,14 +881,32 @@ paths: - logs_write_archives /api/v2/logs/config/custom-destinations: get: - description: >- - Get the list of configured custom destinations in your organization with - their definitions. + description: Get the list of configured custom destinations in your organization with their definitions. operationId: ListLogsCustomDestinations responses: '200': content: application/json: + examples: + default: + value: + data: + - attributes: + enabled: true + forward_tags: true + forward_tags_restriction_list: + - datacenter + - host + forward_tags_restriction_list_type: ALLOW_LIST + forwarder_destination: + auth: + type: basic + endpoint: https://example.com + type: http + name: Nginx logs + query: source:nginx + id: 00000000-0000-0000-0000-000000000001 + type: custom_destination schema: $ref: '#/components/schemas/CustomDestinationsResponse' description: OK @@ -712,6 +932,23 @@ paths: requestBody: content: application/json: + examples: + default: + value: + data: + attributes: + enabled: true + forward_tags: true + forward_tags_restriction_list: + - datacenter + - host + forward_tags_restriction_list_type: ALLOW_LIST + forwarder_destination: + endpoint: https://example.com + type: http + name: Nginx logs + query: source:nginx + type: custom_destination schema: $ref: '#/components/schemas/CustomDestinationCreateRequest' description: The definition of the new custom destination. @@ -720,6 +957,26 @@ paths: '200': content: application/json: + examples: + default: + value: + data: + attributes: + enabled: true + forward_tags: true + forward_tags_restriction_list: + - datacenter + - host + forward_tags_restriction_list_type: ALLOW_LIST + forwarder_destination: + auth: + type: basic + endpoint: https://example.com + type: http + name: Nginx logs + query: source:nginx + id: 00000000-0000-0000-0000-000000000002 + type: custom_destination schema: $ref: '#/components/schemas/CustomDestinationResponse' description: OK @@ -772,6 +1029,26 @@ paths: '200': content: application/json: + examples: + default: + value: + data: + attributes: + enabled: true + forward_tags: true + forward_tags_restriction_list: + - datacenter + - host + forward_tags_restriction_list_type: ALLOW_LIST + forwarder_destination: + auth: + type: basic + endpoint: https://example.com + type: http + name: Nginx logs + query: source:nginx + id: 00000000-0000-0000-0000-000000000003 + type: custom_destination schema: $ref: '#/components/schemas/CustomDestinationResponse' description: OK @@ -792,15 +1069,31 @@ paths: - logs_read_config - logs_read_data patch: - description: >- - Update the given fields of a specific custom destination in your - organization. + description: Update the given fields of a specific custom destination in your organization. operationId: UpdateLogsCustomDestination parameters: - $ref: '#/components/parameters/CustomDestinationId' requestBody: content: application/json: + examples: + default: + value: + data: + attributes: + enabled: true + forward_tags: true + forward_tags_restriction_list: + - datacenter + - host + forward_tags_restriction_list_type: ALLOW_LIST + forwarder_destination: + endpoint: https://example.com + type: http + name: Nginx logs + query: source:nginx + id: be5d7a69-d0c8-4d4d-8ee8-bba292d98139 + type: custom_destination schema: $ref: '#/components/schemas/CustomDestinationUpdateRequest' description: New definition of the custom destination's fields. @@ -809,6 +1102,26 @@ paths: '200': content: application/json: + examples: + default: + value: + data: + attributes: + enabled: true + forward_tags: true + forward_tags_restriction_list: + - datacenter + - host + forward_tags_restriction_list_type: ALLOW_LIST + forwarder_destination: + auth: + type: basic + endpoint: https://example.com + type: http + name: Nginx logs + query: source:nginx + id: 00000000-0000-0000-0000-000000000004 + type: custom_destination schema: $ref: '#/components/schemas/CustomDestinationResponse' description: OK @@ -838,6 +1151,22 @@ paths: '200': content: application/json: + examples: + default: + value: + data: + - attributes: + compute: + aggregation_type: distribution + include_percentiles: true + path: '@duration' + filter: + query: service:web* AND @http.status_code:[200 TO 299] + group_by: + - path: '@http.status_code' + tag_name: status_code + id: logs.page.load.count + type: logs_metrics schema: $ref: '#/components/schemas/LogsMetricsResponse' description: OK @@ -853,15 +1182,29 @@ paths: permissions: - logs_read_config post: - description: >- + description: |- Create a metric based on your ingested logs in your organization. - - Returns the log-based metric object from the request body when the - request is successful. + Returns the log-based metric object from the request body when the request is successful. operationId: CreateLogsMetric requestBody: content: application/json: + examples: + default: + value: + data: + attributes: + compute: + aggregation_type: distribution + include_percentiles: true + path: '@duration' + filter: + query: service:web* AND @http.status_code:[200 TO 299] + group_by: + - path: '@http.status_code' + tag_name: status_code + id: logs.page.load.count + type: logs_metrics schema: $ref: '#/components/schemas/LogsMetricCreateRequest' description: The definition of the new log-based metric. @@ -870,6 +1213,22 @@ paths: '200': content: application/json: + examples: + default: + value: + data: + attributes: + compute: + aggregation_type: distribution + include_percentiles: true + path: '@duration' + filter: + query: service:web* AND @http.status_code:[200 TO 299] + group_by: + - path: '@http.status_code' + tag_name: status_code + id: logs.page.load.count + type: logs_metrics schema: $ref: '#/components/schemas/LogsMetricResponse' description: OK @@ -920,6 +1279,22 @@ paths: '200': content: application/json: + examples: + default: + value: + data: + attributes: + compute: + aggregation_type: distribution + include_percentiles: true + path: '@duration' + filter: + query: service:web* AND @http.status_code:[200 TO 299] + group_by: + - path: '@http.status_code' + tag_name: status_code + id: logs.page.load.count + type: logs_metrics schema: $ref: '#/components/schemas/LogsMetricResponse' description: OK @@ -937,17 +1312,28 @@ paths: permissions: - logs_read_config patch: - description: >- + description: |- Update a specific log-based metric from your organization. - - Returns the log-based metric object from the request body when the - request is successful. + Returns the log-based metric object from the request body when the request is successful. operationId: UpdateLogsMetric parameters: - $ref: '#/components/parameters/MetricID' requestBody: content: application/json: + examples: + default: + value: + data: + attributes: + compute: + include_percentiles: true + filter: + query: service:web* AND @http.status_code:[200 TO 299] + group_by: + - path: '@http.status_code' + tag_name: status_code + type: logs_metrics schema: $ref: '#/components/schemas/LogsMetricUpdateRequest' description: New definition of the log-based metric. @@ -956,6 +1342,22 @@ paths: '200': content: application/json: + examples: + default: + value: + data: + attributes: + compute: + aggregation_type: distribution + include_percentiles: true + path: '@duration' + filter: + query: service:web* AND @http.status_code:[200 TO 299] + group_by: + - path: '@http.status_code' + tag_name: status_code + id: logs.page.load.count + type: logs_metrics schema: $ref: '#/components/schemas/LogsMetricResponse' description: OK @@ -975,2380 +1377,14435 @@ paths: operator: OR permissions: - logs_generate_metrics - /api/v2/logs/events: + /api/v2/logs/config/restriction_queries: get: - description: >- - List endpoint returns logs that match a log search query. - - [Results are paginated][1]. - - - Use this endpoint to search and filter your logs. - - - **If you are considering archiving logs for your organization, - - consider use of the Datadog archive capabilities instead of the log list - API. - - See [Datadog Logs Archive documentation][2].** - - - [1]: /logs/guide/collect-multiple-logs-with-pagination - - [2]: https://docs.datadoghq.com/logs/archives - operationId: ListLogsGet + description: Returns all restriction queries, including their names and IDs. + operationId: ListRestrictionQueries parameters: - - description: Search query following logs syntax. - example: '@datacenter:us @role:db' - in: query - name: filter[query] - required: false - schema: - type: string - - description: |- - For customers with multiple indexes, the indexes to search. - Defaults to '*' which means all indexes - example: - - main - - web - explode: false - in: query - name: filter[indexes] - required: false - schema: - items: - description: The name of a log index. - type: string - type: array - - description: Minimum timestamp for requested logs. - example: '2019-01-02T09:42:36.320Z' - in: query - name: filter[from] - required: false - schema: - format: date-time - type: string - - description: Maximum timestamp for requested logs. - example: '2019-01-03T09:42:36.320Z' - in: query - name: filter[to] - required: false - schema: - format: date-time - type: string - - description: Specifies the storage type to be used - example: indexes - in: query - name: filter[storage_tier] - required: false - schema: - $ref: '#/components/schemas/LogsStorageTier' - - description: Order of logs in results. - in: query - name: sort - required: false - schema: - $ref: '#/components/schemas/LogsSort' - - description: List following results with a cursor provided in the previous query. - example: >- - eyJzdGFydEF0IjoiQVFBQUFYS2tMS3pPbm40NGV3QUFBQUJCV0V0clRFdDZVbG8zY3pCRmNsbHJiVmxDWlEifQ== - in: query - name: page[cursor] - required: false - schema: - type: string - - description: Maximum number of logs in the response. - example: 25 - in: query - name: page[limit] - required: false - schema: - default: 10 - format: int32 - maximum: 1000 - type: integer + - $ref: '#/components/parameters/PageSize' + - $ref: '#/components/parameters/PageNumber' responses: '200': content: application/json: + examples: + default: + value: + data: + - attributes: + created_at: '2024-01-01T00:00:00+00:00' + modified_at: '2024-01-01T00:00:00+00:00' + restriction_query: env:sandbox + id: 00000000-0000-0000-0000-000000000001 + type: logs_restriction_queries schema: - $ref: '#/components/schemas/LogsListResponse' + $ref: '#/components/schemas/RestrictionQueryListResponse' description: OK - '400': - $ref: '#/components/responses/BadRequestResponse' '403': - $ref: '#/components/responses/NotAuthorizedResponse' + content: + application/json: + schema: + $ref: '#/components/schemas/APIErrorResponse' + description: Authentication error '429': $ref: '#/components/responses/TooManyRequestsResponse' - summary: Search logs (GET) + summary: List restriction queries tags: - - Logs - x-pagination: - cursorParam: page[cursor] - cursorPath: meta.page.after - limitParam: page[limit] - resultsPath: data + - Logs Restriction Queries x-permission: operator: OR permissions: - - logs_read_data - /api/v2/logs/events/search: + - logs_read_config + x-unstable: |- + **Note**: This endpoint is in public beta. + If you have any feedback, contact [Datadog support](https://docs.datadoghq.com/help/). post: - description: >- - List endpoint returns logs that match a log search query. - - [Results are paginated][1]. - - - Use this endpoint to search and filter your logs. - - - **If you are considering archiving logs for your organization, - - consider use of the Datadog archive capabilities instead of the log list - API. - - See [Datadog Logs Archive documentation][2].** - - - [1]: /logs/guide/collect-multiple-logs-with-pagination - - [2]: https://docs.datadoghq.com/logs/archives - operationId: ListLogs + description: Create a new restriction query for your organization. + operationId: CreateRestrictionQuery requestBody: content: application/json: + examples: + default: + value: + data: + attributes: + restriction_query: env:sandbox + type: logs_restriction_queries schema: - $ref: '#/components/schemas/LogsListRequest' - required: false + $ref: '#/components/schemas/RestrictionQueryCreatePayload' + required: true responses: '200': content: application/json: + examples: + default: + value: + data: + attributes: + restriction_query: env:sandbox + id: 00000000-0000-0000-0000-000000000002 + type: logs_restriction_queries schema: - $ref: '#/components/schemas/LogsListResponse' + $ref: '#/components/schemas/RestrictionQueryWithoutRelationshipsResponse' description: OK '400': - $ref: '#/components/responses/BadRequestResponse' + content: + application/json: + schema: + $ref: '#/components/schemas/APIErrorResponse' + description: Bad Request '403': - $ref: '#/components/responses/NotAuthorizedResponse' + content: + application/json: + schema: + $ref: '#/components/schemas/APIErrorResponse' + description: Authentication error '429': $ref: '#/components/responses/TooManyRequestsResponse' - summary: Search logs (POST) + summary: Create a restriction query tags: - - Logs + - Logs Restriction Queries x-codegen-request-body-name: body - x-pagination: - cursorParam: body.page.cursor - cursorPath: meta.page.after - limitParam: body.page.limit - resultsPath: data x-permission: operator: OR permissions: - - logs_read_data -components: - schemas: - ContentEncoding: - description: HTTP header used to compress the media-type. - enum: - - identity - - gzip - - deflate - type: string - x-enum-varnames: - - IDENTITY - - GZIP - - DEFLATE - HTTPLog: - description: Structured log message. - items: - $ref: '#/components/schemas/HTTPLogItem' - type: array - HTTPLogErrors: - description: Invalid query performed. - properties: - errors: - description: Structured errors. - items: - $ref: '#/components/schemas/HTTPLogError' - type: array - type: object - LogsAggregateRequest: - description: >- - The object sent with the request to retrieve a list of logs from your - organization. - properties: - compute: - description: >- - The list of metrics or timeseries to compute for the retrieved - buckets. - items: - $ref: '#/components/schemas/LogsCompute' - type: array - filter: - $ref: '#/components/schemas/LogsQueryFilter' - group_by: - description: The rules for the group by - items: - $ref: '#/components/schemas/LogsGroupBy' - type: array - options: - $ref: '#/components/schemas/LogsQueryOptions' - page: - $ref: '#/components/schemas/LogsAggregateRequestPage' - type: object - LogsAggregateResponse: + - user_access_manage + x-unstable: |- + **Note**: This endpoint is in public beta. + If you have any feedback, contact [Datadog support](https://docs.datadoghq.com/help/). + /api/v2/logs/config/restriction_queries/role/{role_id}: + get: + description: Get restriction query for a given role. + operationId: GetRoleRestrictionQuery + parameters: + - $ref: '#/components/parameters/RestrictionQueryRoleID' + responses: + '200': + content: + application/json: + examples: + default: + value: + data: + - attributes: + created_at: '2024-01-01T00:00:00+00:00' + modified_at: '2024-01-01T00:00:00+00:00' + restriction_query: env:sandbox + id: 00000000-0000-0000-0000-000000000007 + type: logs_restriction_queries + schema: + $ref: '#/components/schemas/RestrictionQueryListResponse' + description: OK + '400': + content: + application/json: + schema: + $ref: '#/components/schemas/APIErrorResponse' + description: Bad Request + '403': + content: + application/json: + schema: + $ref: '#/components/schemas/APIErrorResponse' + description: Authentication error + '404': + content: + application/json: + schema: + $ref: '#/components/schemas/APIErrorResponse' + description: Not found + '429': + $ref: '#/components/responses/TooManyRequestsResponse' + summary: Get restriction query for a given role + tags: + - Logs Restriction Queries + x-permission: + operator: OR + permissions: + - logs_read_config + x-unstable: |- + **Note**: This endpoint is in public beta. + If you have any feedback, contact [Datadog support](https://docs.datadoghq.com/help/). + /api/v2/logs/config/restriction_queries/user/{user_id}: + get: + description: Get all restriction queries for a given user. + operationId: ListUserRestrictionQueries + parameters: + - $ref: '#/components/parameters/RestrictionQueryUserID' + responses: + '200': + content: + application/json: + examples: + default: + value: + data: + - attributes: + created_at: '2024-01-01T00:00:00+00:00' + modified_at: '2024-01-01T00:00:00+00:00' + restriction_query: env:sandbox + id: 00000000-0000-0000-0000-000000000006 + type: logs_restriction_queries + schema: + $ref: '#/components/schemas/RestrictionQueryListResponse' + description: OK + '400': + content: + application/json: + schema: + $ref: '#/components/schemas/APIErrorResponse' + description: Bad Request + '403': + content: + application/json: + schema: + $ref: '#/components/schemas/APIErrorResponse' + description: Authentication error + '404': + content: + application/json: + schema: + $ref: '#/components/schemas/APIErrorResponse' + description: Not found + '429': + $ref: '#/components/responses/TooManyRequestsResponse' + summary: Get all restriction queries for a given user + tags: + - Logs Restriction Queries + x-permission: + operator: OR + permissions: + - logs_read_config + x-unstable: |- + **Note**: This endpoint is in public beta. + If you have any feedback, contact [Datadog support](https://docs.datadoghq.com/help/). + /api/v2/logs/config/restriction_queries/{restriction_query_id}: + delete: + description: Deletes a restriction query. + operationId: DeleteRestrictionQuery + parameters: + - $ref: '#/components/parameters/RestrictionQueryID' + responses: + '204': + description: OK + '400': + content: + application/json: + schema: + $ref: '#/components/schemas/APIErrorResponse' + description: Bad Request + '403': + content: + application/json: + schema: + $ref: '#/components/schemas/APIErrorResponse' + description: Authentication error + '404': + content: + application/json: + schema: + $ref: '#/components/schemas/APIErrorResponse' + description: Not found + '429': + $ref: '#/components/responses/TooManyRequestsResponse' + summary: Delete a restriction query + tags: + - Logs Restriction Queries + x-codegen-request-body-name: body + x-permission: + operator: OR + permissions: + - user_access_manage + x-unstable: |- + **Note**: This endpoint is in public beta. + If you have any feedback, contact [Datadog support](https://docs.datadoghq.com/help/). + get: + description: Get a restriction query in the organization specified by the restriction query's `restriction_query_id`. + operationId: GetRestrictionQuery + parameters: + - $ref: '#/components/parameters/RestrictionQueryID' + responses: + '200': + content: + application/json: + examples: + default: + value: + data: + attributes: + restriction_query: env:sandbox + id: 00000000-0000-0000-0000-000000000003 + relationships: {} + type: logs_restriction_queries + included: [] + schema: + $ref: '#/components/schemas/RestrictionQueryWithRelationshipsResponse' + description: OK + '400': + content: + application/json: + schema: + $ref: '#/components/schemas/APIErrorResponse' + description: Bad Request + '403': + content: + application/json: + schema: + $ref: '#/components/schemas/APIErrorResponse' + description: Authentication error + '404': + content: + application/json: + schema: + $ref: '#/components/schemas/APIErrorResponse' + description: Not found + '429': + $ref: '#/components/responses/TooManyRequestsResponse' + summary: Get a restriction query + tags: + - Logs Restriction Queries + x-codegen-request-body-name: body + x-permission: + operator: OR + permissions: + - logs_read_config + x-unstable: |- + **Note**: This endpoint is in public beta. + If you have any feedback, contact [Datadog support](https://docs.datadoghq.com/help/). + patch: + description: Edit a restriction query. + operationId: UpdateRestrictionQuery + parameters: + - $ref: '#/components/parameters/RestrictionQueryID' + requestBody: + content: + application/json: + examples: + default: + value: + data: + attributes: + restriction_query: env:sandbox + type: logs_restriction_queries + schema: + $ref: '#/components/schemas/RestrictionQueryUpdatePayload' + required: true + responses: + '200': + content: + application/json: + examples: + default: + value: + data: + attributes: + restriction_query: env:sandbox + id: 00000000-0000-0000-0000-000000000004 + type: logs_restriction_queries + schema: + $ref: '#/components/schemas/RestrictionQueryWithoutRelationshipsResponse' + description: OK + '400': + content: + application/json: + schema: + $ref: '#/components/schemas/APIErrorResponse' + description: Bad Request + '403': + content: + application/json: + schema: + $ref: '#/components/schemas/APIErrorResponse' + description: Authentication error + '404': + content: + application/json: + schema: + $ref: '#/components/schemas/APIErrorResponse' + description: Not found + '429': + $ref: '#/components/responses/TooManyRequestsResponse' + summary: Update a restriction query + tags: + - Logs Restriction Queries + x-codegen-request-body-name: body + x-permission: + operator: OR + permissions: + - user_access_manage + x-unstable: |- + **Note**: This endpoint is in public beta. + If you have any feedback, contact [Datadog support](https://docs.datadoghq.com/help/). + put: + description: Replace a restriction query. + operationId: ReplaceRestrictionQuery + parameters: + - $ref: '#/components/parameters/RestrictionQueryID' + requestBody: + content: + application/json: + examples: + default: + value: + data: + attributes: + restriction_query: env:sandbox + type: logs_restriction_queries + schema: + $ref: '#/components/schemas/RestrictionQueryUpdatePayload' + required: true + responses: + '200': + content: + application/json: + examples: + default: + value: + data: + attributes: + restriction_query: env:sandbox + id: 00000000-0000-0000-0000-000000000005 + type: logs_restriction_queries + schema: + $ref: '#/components/schemas/RestrictionQueryWithoutRelationshipsResponse' + description: OK + '400': + content: + application/json: + schema: + $ref: '#/components/schemas/APIErrorResponse' + description: Bad Request + '403': + content: + application/json: + schema: + $ref: '#/components/schemas/APIErrorResponse' + description: Authentication error + '404': + content: + application/json: + schema: + $ref: '#/components/schemas/APIErrorResponse' + description: Not found + '429': + $ref: '#/components/responses/TooManyRequestsResponse' + summary: Replace a restriction query + tags: + - Logs Restriction Queries + x-codegen-request-body-name: body + x-permission: + operator: OR + permissions: + - user_access_manage + x-unstable: |- + **Note**: This endpoint is in public beta. + If you have any feedback, contact [Datadog support](https://docs.datadoghq.com/help/). + /api/v2/logs/config/restriction_queries/{restriction_query_id}/roles: + delete: + description: Removes a role from a restriction query. + operationId: RemoveRoleFromRestrictionQuery + parameters: + - $ref: '#/components/parameters/RestrictionQueryID' + requestBody: + content: + application/json: + examples: + default: + value: + data: + id: 3653d3c6-0c75-11ea-ad28-fb5701eabc7d + type: roles + schema: + $ref: '#/components/schemas/RelationshipToRole' + required: true + responses: + '204': + description: OK + '400': + content: + application/json: + schema: + $ref: '#/components/schemas/APIErrorResponse' + description: Bad Request + '403': + content: + application/json: + schema: + $ref: '#/components/schemas/APIErrorResponse' + description: Authentication error + '404': + content: + application/json: + schema: + $ref: '#/components/schemas/APIErrorResponse' + description: Not found + '429': + $ref: '#/components/responses/TooManyRequestsResponse' + summary: Revoke role from a restriction query + tags: + - Logs Restriction Queries + x-codegen-request-body-name: body + x-permission: + operator: OR + permissions: + - user_access_manage + x-unstable: |- + **Note**: This endpoint is in public beta. + If you have any feedback, contact [Datadog support](https://docs.datadoghq.com/help/). + get: + description: Returns all roles that have a given restriction query. + operationId: ListRestrictionQueryRoles + parameters: + - $ref: '#/components/parameters/RestrictionQueryID' + - $ref: '#/components/parameters/PageSize' + - $ref: '#/components/parameters/PageNumber' + responses: + '200': + content: + application/json: + examples: + default: + value: + data: + - attributes: + name: Datadog Admin Role + id: 00000000-0000-0000-0000-000000000008 + type: roles + schema: + $ref: '#/components/schemas/RestrictionQueryRolesResponse' + description: OK + '400': + content: + application/json: + schema: + $ref: '#/components/schemas/APIErrorResponse' + description: Bad Request + '403': + content: + application/json: + schema: + $ref: '#/components/schemas/APIErrorResponse' + description: Authentication error + '404': + content: + application/json: + schema: + $ref: '#/components/schemas/APIErrorResponse' + description: Not found + '429': + $ref: '#/components/responses/TooManyRequestsResponse' + summary: List roles for a restriction query + tags: + - Logs Restriction Queries + x-codegen-request-body-name: body + x-permission: + operator: OR + permissions: + - logs_read_config + x-unstable: |- + **Note**: This endpoint is in public beta. + If you have any feedback, contact [Datadog support](https://docs.datadoghq.com/help/). + post: + description: |- + Adds a role to a restriction query. + + **Note**: This operation automatically grants the `logs_read_data` permission to the role if it doesn't already have it. + operationId: AddRoleToRestrictionQuery + parameters: + - $ref: '#/components/parameters/RestrictionQueryID' + requestBody: + content: + application/json: + examples: + default: + value: + data: + id: 3653d3c6-0c75-11ea-ad28-fb5701eabc7d + type: roles + schema: + $ref: '#/components/schemas/RelationshipToRole' + required: true + responses: + '204': + description: OK + '400': + content: + application/json: + schema: + $ref: '#/components/schemas/APIErrorResponse' + description: Bad Request + '403': + content: + application/json: + schema: + $ref: '#/components/schemas/APIErrorResponse' + description: Authentication error + '404': + content: + application/json: + schema: + $ref: '#/components/schemas/APIErrorResponse' + description: Not found + '429': + $ref: '#/components/responses/TooManyRequestsResponse' + summary: Grant role to a restriction query + tags: + - Logs Restriction Queries + x-codegen-request-body-name: body + x-permission: + operator: OR + permissions: + - user_access_manage + x-unstable: |- + **Note**: This endpoint is in public beta. + If you have any feedback, contact [Datadog support](https://docs.datadoghq.com/help/). + /api/v2/logs/events: + get: + description: |- + List endpoint returns logs that match a log search query. + [Results are paginated][1]. + + Use this endpoint to search and filter your logs. + + **If you are considering archiving logs for your organization, + consider use of the Datadog archive capabilities instead of the log list API. + See [Datadog Logs Archive documentation][2].** + + [1]: /logs/guide/collect-multiple-logs-with-pagination + [2]: https://docs.datadoghq.com/logs/archives + operationId: ListLogsGet + parameters: + - description: Search query following logs syntax. + example: '@datacenter:us @role:db' + in: query + name: filter[query] + required: false + schema: + type: string + - description: |- + For customers with multiple indexes, the indexes to search. + Defaults to '*' which means all indexes + example: + - main + - web + explode: false + in: query + name: filter[indexes] + required: false + schema: + items: + description: The name of a log index. + type: string + type: array + - description: Minimum timestamp for requested logs. + example: '2019-01-02T09:42:36.320Z' + in: query + name: filter[from] + required: false + schema: + format: date-time + type: string + - description: Maximum timestamp for requested logs. + example: '2019-01-03T09:42:36.320Z' + in: query + name: filter[to] + required: false + schema: + format: date-time + type: string + - description: Specifies the storage type to be used + example: indexes + in: query + name: filter[storage_tier] + required: false + schema: + $ref: '#/components/schemas/LogsStorageTier' + - description: Order of logs in results. + in: query + name: sort + required: false + schema: + $ref: '#/components/schemas/LogsSort' + - description: List following results with a cursor provided in the previous query. + example: eyJzdGFydEF0IjoiQVFBQUFYS2tMS3pPbm40NGV3QUFBQUJCV0V0clRFdDZVbG8zY3pCRmNsbHJiVmxDWlEifQ== + in: query + name: page[cursor] + required: false + schema: + type: string + - description: Maximum number of logs in the response. + example: 25 + in: query + name: page[limit] + required: false + schema: + default: 10 + format: int32 + maximum: 1000 + type: integer + responses: + '200': + content: + application/json: + examples: + default: + value: + data: + - attributes: + message: Hello World + service: web-app + tags: + - env:prod + timestamp: '2024-01-01T00:00:00+00:00' + id: AAAAAWgN8Xwgr1vKDQAAAABBV2dOOFh3ZzZobm1mWXJFYTR0OA + type: log + meta: + elapsed: 132 + status: done + schema: + $ref: '#/components/schemas/LogsListResponse' + description: OK + '400': + $ref: '#/components/responses/BadRequestResponse' + '403': + $ref: '#/components/responses/NotAuthorizedResponse' + '429': + $ref: '#/components/responses/TooManyRequestsResponse' + summary: Search logs (GET) + tags: + - Logs + x-pagination: + cursorParam: page[cursor] + cursorPath: meta.page.after + limitParam: page[limit] + resultsPath: data + x-permission: + operator: OR + permissions: + - logs_read_data + /api/v2/logs/events/search: + post: + description: |- + List endpoint returns logs that match a log search query. + [Results are paginated][1]. + + Use this endpoint to search and filter your logs. + + **If you are considering archiving logs for your organization, + consider use of the Datadog archive capabilities instead of the log list API. + See [Datadog Logs Archive documentation][2].** + + [1]: /logs/guide/collect-multiple-logs-with-pagination + [2]: https://docs.datadoghq.com/logs/archives + operationId: ListLogs + requestBody: + content: + application/json: + examples: + default: + value: + filter: + from: now-15m + indexes: + - main + - web + query: service:web* AND @http.status_code:[200 TO 299] + storage_tier: indexes + to: now + options: + timezone: GMT + page: + cursor: eyJzdGFydEF0IjoiQVFBQUFYS2tMS3pPbm40NGV3QUFBQUJCV0V0clRFdDZVbG8zY3pCRmNsbHJiVmxDWlEifQ== + limit: 25 + sort: timestamp + schema: + $ref: '#/components/schemas/LogsListRequest' + required: false + responses: + '200': + content: + application/json: + examples: + default: + value: + data: + - attributes: + message: Host connected to remote + service: test-service + status: INFO + id: AAAAAWgN8Xwgr1vKDQAAAABBV2dOOFh3ZzZobm1mWXJFYTR0OA + type: log + meta: + elapsed: 132 + status: done + schema: + $ref: '#/components/schemas/LogsListResponse' + description: OK + '400': + $ref: '#/components/responses/BadRequestResponse' + '403': + $ref: '#/components/responses/NotAuthorizedResponse' + '429': + $ref: '#/components/responses/TooManyRequestsResponse' + security: + - apiKeyAuth: [] + appKeyAuth: [] + - AuthZ: + - logs_read_data + summary: Search logs (POST) + tags: + - Logs + x-codegen-request-body-name: body + x-pagination: + cursorParam: body.page.cursor + cursorPath: meta.page.after + limitParam: body.page.limit + resultsPath: data + x-permission: + operator: OR + permissions: + - logs_read_data + /api/v2/obs-pipelines/pipelines: + get: + description: Retrieve a list of pipelines. + operationId: ListPipelines + parameters: + - $ref: '#/components/parameters/PageSize' + - $ref: '#/components/parameters/PageNumber' + responses: + '200': + content: + application/json: + examples: + default: + value: + data: + - attributes: + config: + destinations: + - id: datadog-logs-destination + inputs: + - datadog-agent-source + type: datadog_logs + sources: + - id: datadog-agent-source + type: datadog_agent + name: Main Observability Pipeline + id: 00000000-0000-0000-0000-000000000001 + type: pipelines + schema: + $ref: '#/components/schemas/ListPipelinesResponse' + description: OK + '400': + $ref: '#/components/responses/BadRequestResponse' + '403': + $ref: '#/components/responses/NotAuthorizedResponse' + '429': + $ref: '#/components/responses/TooManyRequestsResponse' + summary: List pipelines + tags: + - Observability Pipelines + x-permission: + operator: OR + permissions: + - observability_pipelines_read + post: + description: Create a new pipeline. + operationId: CreatePipeline + requestBody: + content: + application/json: + examples: + default: + value: + data: + attributes: + config: + destinations: + - id: datadog-logs-destination + inputs: + - my-processor-group + type: datadog_logs + pipeline_type: logs + processor_groups: + - enabled: true + id: my-processor-group + include: service:my-service + inputs: + - datadog-agent-source + processors: + - enabled: true + id: filter-processor + include: status:error + type: filter + - enabled: true + field: message + id: json-processor + include: '*' + type: parse_json + processors: [] + sources: + - id: datadog-agent-source + type: datadog_agent + name: Main Observability Pipeline + type: pipelines + schema: + $ref: '#/components/schemas/ObservabilityPipelineSpec' + required: true + responses: + '201': + content: + application/json: + examples: + default: + value: + data: + attributes: + config: + destinations: + - id: datadog-logs-destination + inputs: + - datadog-agent-source + type: datadog_logs + sources: + - id: datadog-agent-source + type: datadog_agent + name: Main Observability Pipeline + id: 00000000-0000-0000-0000-000000000002 + type: pipelines + schema: + $ref: '#/components/schemas/ObservabilityPipeline' + description: OK + '400': + $ref: '#/components/responses/BadRequestResponse' + '403': + $ref: '#/components/responses/NotAuthorizedResponse' + '409': + $ref: '#/components/responses/ConflictResponse' + '429': + $ref: '#/components/responses/TooManyRequestsResponse' + summary: Create a new pipeline + tags: + - Observability Pipelines + x-permission: + operator: OR + permissions: + - observability_pipelines_deploy + /api/v2/obs-pipelines/pipelines/validate: + post: + description: |- + Validates a pipeline configuration without creating or updating any resources. + Returns a list of validation errors, if any. + operationId: ValidatePipeline + requestBody: + content: + application/json: + examples: + default: + value: + data: + attributes: + config: + destinations: + - id: datadog-logs-destination + inputs: + - my-processor-group + type: datadog_logs + pipeline_type: logs + processor_groups: + - enabled: true + id: my-processor-group + include: service:my-service + inputs: + - datadog-agent-source + processors: + - enabled: true + id: filter-processor + include: status:error + type: filter + - enabled: true + field: message + id: json-processor + include: '*' + type: parse_json + processors: [] + sources: + - id: datadog-agent-source + type: datadog_agent + name: Main Observability Pipeline + type: pipelines + schema: + $ref: '#/components/schemas/ObservabilityPipelineSpec' + required: true + responses: + '200': + content: + application/json: + examples: + default: + value: + errors: [] + schema: + $ref: '#/components/schemas/ValidationResponse' + description: OK + '400': + $ref: '#/components/responses/BadRequestResponse' + '403': + $ref: '#/components/responses/NotAuthorizedResponse' + '429': + $ref: '#/components/responses/TooManyRequestsResponse' + summary: Validate an observability pipeline + tags: + - Observability Pipelines + x-permission: + operator: OR + permissions: + - observability_pipelines_read + /api/v2/obs-pipelines/pipelines/{pipeline_id}: + delete: + description: Delete a pipeline. + operationId: DeletePipeline + parameters: + - description: The ID of the pipeline to delete. + in: path + name: pipeline_id + required: true + schema: + type: string + responses: + '204': + description: OK + '403': + content: + application/json: + schema: + $ref: '#/components/schemas/APIErrorResponse' + description: Forbidden + '404': + content: + application/json: + schema: + $ref: '#/components/schemas/APIErrorResponse' + description: Not Found + '409': + content: + application/json: + schema: + $ref: '#/components/schemas/APIErrorResponse' + description: Conflict + '429': + $ref: '#/components/responses/TooManyRequestsResponse' + summary: Delete a pipeline + tags: + - Observability Pipelines + x-permission: + operator: OR + permissions: + - observability_pipelines_delete + get: + description: Get a specific pipeline by its ID. + operationId: GetPipeline + parameters: + - description: The ID of the pipeline to retrieve. + in: path + name: pipeline_id + required: true + schema: + type: string + responses: + '200': + content: + application/json: + examples: + default: + value: + data: + attributes: + config: + destinations: + - id: datadog-logs-destination + inputs: + - datadog-agent-source + type: datadog_logs + sources: + - id: datadog-agent-source + type: datadog_agent + name: Main Observability Pipeline + id: 00000000-0000-0000-0000-000000000003 + type: pipelines + schema: + $ref: '#/components/schemas/ObservabilityPipeline' + description: OK + '403': + content: + application/json: + schema: + $ref: '#/components/schemas/APIErrorResponse' + description: Forbidden + '429': + $ref: '#/components/responses/TooManyRequestsResponse' + summary: Get a specific pipeline + tags: + - Observability Pipelines + x-permission: + operator: OR + permissions: + - observability_pipelines_read + put: + description: Update a pipeline. + operationId: UpdatePipeline + parameters: + - description: The ID of the pipeline to update. + in: path + name: pipeline_id + required: true + schema: + type: string + requestBody: + content: + application/json: + examples: + default: + value: + data: + attributes: + config: + destinations: + - id: datadog-logs-destination + inputs: + - my-processor-group + type: datadog_logs + pipeline_type: logs + processor_groups: + - enabled: true + id: my-processor-group + include: service:my-service + inputs: + - datadog-agent-source + processors: + - enabled: true + id: filter-processor + include: status:error + type: filter + - enabled: true + field: message + id: json-processor + include: '*' + type: parse_json + processors: [] + sources: + - id: datadog-agent-source + type: datadog_agent + name: Main Observability Pipeline + id: 3fa85f64-5717-4562-b3fc-2c963f66afa6 + type: pipelines + schema: + $ref: '#/components/schemas/ObservabilityPipeline' + required: true + responses: + '200': + content: + application/json: + examples: + default: + value: + data: + attributes: + config: + destinations: + - id: datadog-logs-destination + inputs: + - datadog-agent-source + type: datadog_logs + sources: + - id: datadog-agent-source + type: datadog_agent + name: My Updated Pipeline + id: 00000000-0000-0000-0000-000000000004 + type: pipelines + schema: + $ref: '#/components/schemas/ObservabilityPipeline' + description: OK + '400': + $ref: '#/components/responses/BadRequestResponse' + '403': + $ref: '#/components/responses/NotAuthorizedResponse' + '404': + $ref: '#/components/responses/NotFoundResponse' + '409': + $ref: '#/components/responses/ConflictResponse' + '429': + $ref: '#/components/responses/TooManyRequestsResponse' + summary: Update a pipeline + tags: + - Observability Pipelines + x-permission: + operator: OR + permissions: + - observability_pipelines_deploy + /api/v1/logs-queries/list: + post: + description: |- + List endpoint returns logs that match a log search query. + [Results are paginated][1]. + + **If you are considering archiving logs for your organization, + consider use of the Datadog archive capabilities instead of the log list API. + See [Datadog Logs Archive documentation][2].** + + **Note**: This endpoint is enabled by default for logs customers. To disable it, contact [Datadog support](https://docs.datadoghq.com/help/). + + [1]: /logs/guide/collect-multiple-logs-with-pagination + [2]: https://docs.datadoghq.com/logs/archives + operationId: ListLogsV1 + requestBody: + content: + application/json: + examples: + default: + value: + index: retention-3,retention-15 + limit: 25 + query: service:web* AND @http.status_code:[200 TO 299] + sort: desc + time: + from: '2020-02-02T02:02:02.202Z' + to: '2020-02-20T02:02:02.202Z' + schema: + $ref: '#/components/schemas/LogsListRequestV1' + description: Logs filter + required: true + responses: + '200': + content: + application/json: + examples: + default: + value: + logs: + - content: + attributes: + customAttribute: 123 + host: i-0123 + service: test-service + tags: + - team:A + timestamp: '2020-05-26T13:36:14Z' + id: AAAAAWgN8Xwgr1vKDQAAAABBV2dOOFh3ZzZobm1mWXJFYTR0OA + status: done + schema: + $ref: '#/components/schemas/LogsListResponseV1' + description: OK + '400': + content: + application/json: + schema: + $ref: '#/components/schemas/LogsAPIErrorResponse' + description: Bad Request + '403': + content: + application/json: + schema: + $ref: '#/components/schemas/APIErrorResponseV1' + description: Authentication error + '429': + $ref: '#/components/responses/TooManyRequestsResponse' + security: + - apiKeyAuth: [] + appKeyAuth: [] + - AuthZ: [] + summary: Search logs + tags: + - Logs + x-codegen-request-body-name: body + x-permission: + operator: OR + permissions: + - logs_read_data + /api/v1/logs/config/index-order: + get: + description: Get the current order of your log indexes. This endpoint takes no JSON arguments. + operationId: GetLogsIndexOrder + responses: + '200': + content: + application/json: + examples: + default: + value: + index_names: + - main + - payments + - web + schema: + $ref: '#/components/schemas/LogsIndexesOrder' + description: OK + '403': + content: + application/json: + schema: + $ref: '#/components/schemas/APIErrorResponseV1' + description: Forbidden + '429': + $ref: '#/components/responses/TooManyRequestsResponse' + summary: Get indexes order + tags: + - Logs Indexes + x-permission: + operator: OR + permissions: + - logs_read_config + put: + description: |- + This endpoint updates the index order of your organization. + It returns the index order object passed in the request body when the request is successful. + operationId: UpdateLogsIndexOrder + requestBody: + content: + application/json: + examples: + default: + value: + index_names: + - main + - payments + - web + schema: + $ref: '#/components/schemas/LogsIndexesOrder' + description: Object containing the new ordered list of index names + required: true + responses: + '200': + content: + application/json: + examples: + default: + value: + index_names: + - main + - payments + - web + schema: + $ref: '#/components/schemas/LogsIndexesOrder' + description: OK + '400': + content: + application/json: + schema: + $ref: '#/components/schemas/LogsAPIErrorResponse' + description: Bad Request + '403': + content: + application/json: + schema: + $ref: '#/components/schemas/APIErrorResponseV1' + description: Forbidden + '429': + $ref: '#/components/responses/TooManyRequestsResponse' + summary: Update indexes order + tags: + - Logs Indexes + x-codegen-request-body-name: body + x-permission: + operator: OR + permissions: + - logs_modify_indexes + /api/v1/logs/config/indexes: + get: + description: |- + The Index object describes the configuration of a log index. + This endpoint returns an array of the `LogIndex` objects of your organization. + operationId: ListLogIndexes + responses: + '200': + content: + application/json: + examples: + default: + value: + indexes: + - daily_limit: 300000000 + filter: + query: source:python + is_rate_limited: false + name: main + num_retention_days: 15 + schema: + $ref: '#/components/schemas/LogsIndexListResponse' + description: OK + '403': + content: + application/json: + schema: + $ref: '#/components/schemas/APIErrorResponseV1' + description: Forbidden + '429': + $ref: '#/components/responses/TooManyRequestsResponse' + summary: Get all indexes + tags: + - Logs Indexes + x-permission: + operator: OR + permissions: + - logs_read_config + post: + description: Creates a new index. Returns the Index object passed in the request body when the request is successful. + operationId: CreateLogsIndex + requestBody: + content: + application/json: + examples: + default: + value: + daily_limit: 300000000 + daily_limit_warning_threshold_percentage: 70 + exclusion_filters: + - filter: + query: '*' + sample_rate: 1 + is_enabled: true + name: payment + filter: + query: source:python + name: main + num_retention_days: 15 + schema: + $ref: '#/components/schemas/LogsIndex' + description: Object containing the new index. + required: true + responses: + '200': + content: + application/json: + examples: + default: + value: + daily_limit: 300000000 + filter: + query: source:python + is_rate_limited: false + name: main + num_retention_days: 15 + schema: + $ref: '#/components/schemas/LogsIndex' + description: OK + '400': + content: + application/json: + schema: + $ref: '#/components/schemas/LogsAPIErrorResponse' + description: Invalid Parameter Error + '403': + content: + application/json: + schema: + $ref: '#/components/schemas/APIErrorResponseV1' + description: Forbidden + '422': + content: + application/json: + schema: + $ref: '#/components/schemas/LogsAPILimitReachedResponse' + description: Unprocessable Entity + '429': + $ref: '#/components/responses/TooManyRequestsResponse' + summary: Create an index + tags: + - Logs Indexes + x-codegen-request-body-name: body + x-permission: + operator: OR + permissions: + - logs_modify_indexes + /api/v1/logs/config/indexes/{name}: + delete: + description: |- + Delete an existing index from your organization. Index deletions are permanent and cannot be reverted. + You cannot recreate an index with the same name as deleted ones. + operationId: DeleteLogsIndex + parameters: + - description: Name of the log index. + in: path + name: name + required: true + schema: + type: string + responses: + '200': + description: OK + '403': + content: + application/json: + schema: + $ref: '#/components/schemas/APIErrorResponseV1' + description: Forbidden + '404': + content: + application/json: + schema: + $ref: '#/components/schemas/LogsAPIErrorResponse' + description: Not Found + '429': + $ref: '#/components/responses/TooManyRequestsResponse' + summary: Delete an index + tags: + - Logs Indexes + x-permission: + operator: OR + permissions: + - logs_modify_indexes + get: + description: Get one log index from your organization. This endpoint takes no JSON arguments. + operationId: GetLogsIndex + parameters: + - description: Name of the log index. + in: path + name: name + required: true + schema: + type: string + responses: + '200': + content: + application/json: + examples: + default: + value: + daily_limit: 300000000 + filter: + query: source:python + is_rate_limited: false + name: main + num_retention_days: 15 + schema: + $ref: '#/components/schemas/LogsIndex' + description: OK + '403': + content: + application/json: + schema: + $ref: '#/components/schemas/APIErrorResponseV1' + description: Forbidden + '404': + content: + application/json: + schema: + $ref: '#/components/schemas/LogsAPIErrorResponse' + description: Not Found + '429': + $ref: '#/components/responses/TooManyRequestsResponse' + summary: Get an index + tags: + - Logs Indexes + x-permission: + operator: OR + permissions: + - logs_read_config + put: + description: |- + Update an index as identified by its name. + Returns the Index object passed in the request body when the request is successful. + + Using the `PUT` method updates your index's configuration by **replacing** + your current configuration with the new one sent to your Datadog organization. + operationId: UpdateLogsIndex + parameters: + - description: Name of the log index. + in: path + name: name + required: true + schema: + type: string + requestBody: + content: + application/json: + examples: + default: + value: + daily_limit: 300000000 + daily_limit_warning_threshold_percentage: 70 + disable_daily_limit: false + exclusion_filters: + - filter: + query: '*' + sample_rate: 1 + is_enabled: true + name: payment + filter: + query: source:python + num_retention_days: 15 + schema: + $ref: '#/components/schemas/LogsIndexUpdateRequest' + description: Object containing the new `LogsIndexUpdateRequest`. + required: true + responses: + '200': + content: + application/json: + examples: + default: + value: + daily_limit: 300000000 + filter: + query: source:python + is_rate_limited: false + name: main + num_retention_days: 15 + schema: + $ref: '#/components/schemas/LogsIndex' + description: OK + '400': + content: + application/json: + schema: + $ref: '#/components/schemas/LogsAPIErrorResponse' + description: Invalid Parameter Error + '403': + content: + application/json: + schema: + $ref: '#/components/schemas/APIErrorResponseV1' + description: Forbidden + '429': + content: + application/json: + schema: + $ref: '#/components/schemas/LogsAPIErrorResponse' + description: Too Many Requests + summary: Update an index + tags: + - Logs Indexes + x-codegen-request-body-name: body + /api/v1/logs/config/pipeline-order: + get: + description: |- + Get the current order of your pipelines. + This endpoint takes no JSON arguments. + operationId: GetLogsPipelineOrder + responses: + '200': + content: + application/json: + examples: + default: + value: + pipeline_ids: + - tags + - org_ids + - products + schema: + $ref: '#/components/schemas/LogsPipelinesOrder' + description: OK + '403': + content: + application/json: + schema: + $ref: '#/components/schemas/APIErrorResponseV1' + description: Forbidden + '429': + $ref: '#/components/responses/TooManyRequestsResponse' + summary: Get pipeline order + tags: + - Logs Pipelines + x-permission: + operator: OR + permissions: + - logs_read_config + put: + description: |- + Update the order of your pipelines. Since logs are processed sequentially, reordering a pipeline may change + the structure and content of the data processed by other pipelines and their processors. + + **Note**: Using the `PUT` method updates your pipeline order by replacing your current order + with the new one sent to your Datadog organization. + operationId: UpdateLogsPipelineOrder + requestBody: + content: + application/json: + examples: + default: + value: + pipeline_ids: + - tags + - org_ids + - products + schema: + $ref: '#/components/schemas/LogsPipelinesOrder' + description: Object containing the new ordered list of pipeline IDs. + required: true + responses: + '200': + content: + application/json: + examples: + default: + value: + pipeline_ids: + - tags + - org_ids + - products + schema: + $ref: '#/components/schemas/LogsPipelinesOrder' + description: OK + '400': + content: + application/json: + schema: + $ref: '#/components/schemas/LogsAPIErrorResponse' + description: Bad Request + '403': + content: + application/json: + schema: + $ref: '#/components/schemas/APIErrorResponseV1' + description: Forbidden + '422': + content: + application/json: + schema: + $ref: '#/components/schemas/LogsAPIErrorResponse' + description: Unprocessable Entity + '429': + $ref: '#/components/responses/TooManyRequestsResponse' + summary: Update pipeline order + tags: + - Logs Pipelines + x-codegen-request-body-name: body + x-permission: + operator: OR + permissions: + - logs_write_pipelines + /api/v1/logs/config/pipelines: + get: + description: |- + Get all pipelines from your organization. + This endpoint takes no JSON arguments. + operationId: ListLogsPipelines + responses: + '200': + content: + application/json: + examples: + default: + value: + - filter: + query: source:python + id: abc-123 + is_enabled: true + is_read_only: false + name: My Pipeline + processors: [] + schema: + type: array + items: + $ref: '#/components/schemas/LogsPipeline' + description: OK + '403': + content: + application/json: + schema: + $ref: '#/components/schemas/APIErrorResponseV1' + description: Forbidden + '429': + $ref: '#/components/responses/TooManyRequestsResponse' + summary: Get all pipelines + tags: + - Logs Pipelines + x-permission: + operator: OR + permissions: + - logs_read_config + post: + description: Create a pipeline in your organization. + operationId: CreateLogsPipeline + requestBody: + content: + application/json: + examples: + default: + value: + filter: + query: source:python + is_enabled: true + name: My Pipeline + processors: [] + schema: + $ref: '#/components/schemas/LogsPipeline' + description: Definition of the new pipeline. + required: true + responses: + '200': + content: + application/json: + examples: + default: + value: + filter: + query: source:python + id: abc-123 + is_enabled: true + is_read_only: false + name: My Pipeline + processors: [] + schema: + $ref: '#/components/schemas/LogsPipeline' + description: OK + '400': + content: + application/json: + schema: + $ref: '#/components/schemas/LogsAPIErrorResponse' + description: Bad Request + '403': + content: + application/json: + schema: + $ref: '#/components/schemas/APIErrorResponseV1' + description: Forbidden + '429': + $ref: '#/components/responses/TooManyRequestsResponse' + summary: Create a pipeline + tags: + - Logs Pipelines + x-codegen-request-body-name: body + x-permission: + operator: OR + permissions: + - logs_write_pipelines + /api/v1/logs/config/pipelines/{pipeline_id}: + delete: + description: |- + Delete a given pipeline from your organization. + This endpoint takes no JSON arguments. + operationId: DeleteLogsPipeline + parameters: + - description: ID of the pipeline to delete. + in: path + name: pipeline_id + required: true + schema: + type: string + responses: + '200': + description: OK + '400': + content: + application/json: + schema: + $ref: '#/components/schemas/LogsAPIErrorResponse' + description: Bad Request + '403': + content: + application/json: + schema: + $ref: '#/components/schemas/APIErrorResponseV1' + description: Forbidden + '429': + $ref: '#/components/responses/TooManyRequestsResponse' + summary: Delete a pipeline + tags: + - Logs Pipelines + x-permission: + operator: OR + permissions: + - logs_write_pipelines + get: + description: |- + Get a specific pipeline from your organization. + This endpoint takes no JSON arguments. + operationId: GetLogsPipeline + parameters: + - description: ID of the pipeline to get. + in: path + name: pipeline_id + required: true + schema: + type: string + responses: + '200': + content: + application/json: + examples: + default: + value: + filter: + query: source:python + id: abc-123 + is_enabled: true + is_read_only: false + name: My Pipeline + processors: [] + schema: + $ref: '#/components/schemas/LogsPipeline' + description: OK + '400': + content: + application/json: + schema: + $ref: '#/components/schemas/LogsAPIErrorResponse' + description: Bad Request + '403': + content: + application/json: + schema: + $ref: '#/components/schemas/APIErrorResponseV1' + description: Forbidden + '429': + $ref: '#/components/responses/TooManyRequestsResponse' + summary: Get a pipeline + tags: + - Logs Pipelines + x-permission: + operator: OR + permissions: + - logs_read_config + put: + description: |- + Update a given pipeline configuration to change it’s processors or their order. + + **Note**: Using this method updates your pipeline configuration by **replacing** + your current configuration with the new one sent to your Datadog organization. + operationId: UpdateLogsPipeline + parameters: + - description: ID of the pipeline to delete. + in: path + name: pipeline_id + required: true + schema: + type: string + requestBody: + content: + application/json: + examples: + default: + value: + filter: + query: source:python + is_enabled: true + name: My Pipeline + processors: [] + schema: + $ref: '#/components/schemas/LogsPipeline' + description: New definition of the pipeline. + required: true + responses: + '200': + content: + application/json: + examples: + default: + value: + filter: + query: source:python + id: abc-123 + is_enabled: true + is_read_only: false + name: My Pipeline + processors: [] + schema: + $ref: '#/components/schemas/LogsPipeline' + description: OK + '400': + content: + application/json: + schema: + $ref: '#/components/schemas/LogsAPIErrorResponse' + description: Bad Request + '403': + content: + application/json: + schema: + $ref: '#/components/schemas/APIErrorResponseV1' + description: Forbidden + '429': + $ref: '#/components/responses/TooManyRequestsResponse' + summary: Update a pipeline + tags: + - Logs Pipelines + x-codegen-request-body-name: body + x-permission: + operator: OR + permissions: + - logs_write_pipelines + /v1/input: + post: + deprecated: true + description: |- + Send your logs to your Datadog platform over HTTP. Limits per HTTP request are: + + - Maximum content size per payload (uncompressed): 5MB + - Maximum size for a single log: 1MB + - Maximum array size if sending multiple logs in an array: 1000 entries + + Any log exceeding 1MB is accepted and truncated by Datadog: + - For a single log request, the API truncates the log at 1MB and returns a 2xx. + - For a multi-logs request, the API processes all logs, truncates only logs larger than 1MB, and returns a 2xx. + + Datadog recommends sending your logs compressed. + Add the `Content-Encoding: gzip` header to the request when sending compressed logs. + + The status codes answered by the HTTP API are: + - 200: OK + - 400: Bad request (likely an issue in the payload formatting) + - 403: Permission issue (likely using an invalid API Key) + - 413: Payload too large (batch is above 5MB uncompressed) + - 5xx: Internal error, request should be retried after some time + operationId: SubmitLogV1 + parameters: + - description: HTTP header used to compress the media-type. + in: header + name: Content-Encoding + required: false + schema: + $ref: '#/components/schemas/ContentEncodingV1' + - description: Log tags can be passed as query parameters with `text/plain` content type. + example: env:prod,user:my-user + in: query + name: ddtags + required: false + schema: + type: string + requestBody: + content: + application/json: + examples: + default: + value: + - ddsource: nginx + ddtags: env:staging,version:5.1 + hostname: i-012345678 + message: 2019-11-19T14:37:58,995 INFO [process.name][20081] Hello World + service: payment + multi-json-messages: + description: Pass multiple log objects at once. + summary: Multi JSON Messages + value: + - message: hello + - message: world + schema: + $ref: '#/components/schemas/HTTPLog' + application/json;simple: + examples: + default: + value: + ddsource: nginx + ddtags: env:staging,version:5.1 + hostname: i-012345678 + message: 2019-11-19T14:37:58,995 INFO [process.name][20081] Hello World + service: payment + simple-json-message: + description: Log attributes can be passed as `key:value` pairs in valid JSON messages. + summary: Simple JSON Message + value: + ddsource: agent + ddtags: env:prod,user:joe.doe + hostname: fa1e1e739d95 + message: hello world + schema: + $ref: '#/components/schemas/HTTPLogItemV1' + application/logplex-1: + examples: + default: + value: 2019-11-19T14:37:58,995 INFO [process.name][20081] Hello World + multi-raw-message: + description: Submit log messages. + summary: Multi Logplex Messages + value: |- + hello + world + simple-logplex-message: + description: Submit log string. + summary: Simple Logplex Message + value: hello world + schema: + type: string + text/plain: + examples: + default: + value: 2019-11-19T14:37:58,995 INFO [process.name][20081] Hello World + multi-raw-message: + description: Submit log string. + summary: Multi Raw Messages + value: |- + hello + world + simple-raw-message: + description: 'Submit log string. Log attributes can be passed as query parameters in the URL. This enables the addition of tags or the source by using the `ddtags` and `ddsource` parameters: `?host=my-hostname&service=my-service&ddsource=my-source&ddtags=env:prod,user:my-user`.' + summary: Simple Raw Message + value: hello world + schema: + type: string + description: Log to send (JSON format). + required: true + responses: + '200': + content: + application/json: + examples: + default: + value: {} + schema: + type: string + description: (opaque JSON object) + description: Response from server (always 200 empty JSON). + '400': + content: + application/json: + schema: + $ref: '#/components/schemas/HTTPLogErrorV1' + description: unexpected error + '429': + $ref: '#/components/responses/TooManyRequestsResponse' + security: + - apiKeyAuth: [] + summary: Send logs + tags: + - Logs + x-codegen-request-body-name: body + servers: + - url: https://http-intake.logs.{site:.+} + variables: + site: + default: datadoghq.com + description: The regional site for Datadog customers. + x-stackQL-envVar: DD_SITE +components: + schemas: + ContentEncoding: + description: HTTP header used to compress the media-type. + enum: + - identity + - gzip + - deflate + type: string + x-enum-varnames: + - IDENTITY + - GZIP + - DEFLATE + HTTPLog: + description: Structured log message. + items: + $ref: '#/components/schemas/HTTPLogItem' + type: array + HTTPLogErrors: + description: Invalid query performed. + properties: + errors: + description: Structured errors. + items: + $ref: '#/components/schemas/HTTPLogError' + type: array + type: object + LogsAggregateRequest: + description: The object sent with the request to retrieve a list of logs from your organization. + properties: + compute: + description: The list of metrics or timeseries to compute for the retrieved buckets. + items: + $ref: '#/components/schemas/LogsCompute' + type: array + filter: + $ref: '#/components/schemas/LogsQueryFilter' + group_by: + description: The rules for the group by + items: + $ref: '#/components/schemas/LogsGroupBy' + type: array + options: + $ref: '#/components/schemas/LogsQueryOptions' + page: + $ref: '#/components/schemas/LogsAggregateRequestPage' + type: object + LogsAggregateResponse: description: The response object for the logs aggregate API endpoint properties: - data: - $ref: '#/components/schemas/LogsAggregateResponseData' - meta: - $ref: '#/components/schemas/LogsResponseMetadata' + data: + $ref: '#/components/schemas/LogsAggregateResponseData' + meta: + $ref: '#/components/schemas/LogsResponseMetadata' + type: object + LogsArchiveOrder: + description: A ordered list of archive IDs. + properties: + data: + $ref: '#/components/schemas/LogsArchiveOrderDefinition' + type: object + APIErrorResponse: + description: API error response. + properties: + errors: + description: A list of errors. + example: + - Bad Request + items: + description: A list of items. + example: Bad Request + type: string + type: array + required: + - errors + type: object + LogsArchives: + description: The available archives. + properties: + data: + description: A list of archives. + items: + $ref: '#/components/schemas/LogsArchiveDefinition' + type: array + type: object + LogsArchiveCreateRequest: + description: The logs archive. + properties: + data: + $ref: '#/components/schemas/LogsArchiveCreateRequestDefinition' + type: object + LogsArchive: + description: The logs archive. + properties: + data: + $ref: '#/components/schemas/LogsArchiveDefinition' + type: object + RelationshipToRole: + description: Relationship to role. + properties: + data: + $ref: '#/components/schemas/RelationshipToRoleData' + type: object + RolesResponse: + description: Response containing information about multiple roles. + properties: + data: + description: Array of returned roles. + items: + $ref: '#/components/schemas/Role' + type: array + meta: + $ref: '#/components/schemas/ResponseMetaAttributes' + type: object + CustomDestinationsResponse: + description: The available custom destinations. + properties: + data: + description: A list of custom destinations. + items: + $ref: '#/components/schemas/CustomDestinationResponseDefinition' + type: array + type: object + CustomDestinationCreateRequest: + description: The custom destination. + properties: + data: + $ref: '#/components/schemas/CustomDestinationCreateRequestDefinition' + type: object + CustomDestinationResponse: + description: The custom destination. + properties: + data: + $ref: '#/components/schemas/CustomDestinationResponseDefinition' + type: object + CustomDestinationUpdateRequest: + description: The custom destination. + properties: + data: + $ref: '#/components/schemas/CustomDestinationUpdateRequestDefinition' + type: object + LogsMetricsResponse: + description: All the available log-based metric objects. + properties: + data: + description: A list of log-based metric objects. + items: + $ref: '#/components/schemas/LogsMetricResponseData' + type: array + type: object + LogsMetricCreateRequest: + description: The new log-based metric body. + properties: + data: + $ref: '#/components/schemas/LogsMetricCreateData' + required: + - data + type: object + LogsMetricResponse: + description: The log-based metric object. + properties: + data: + $ref: '#/components/schemas/LogsMetricResponseData' + type: object + LogsMetricUpdateRequest: + description: The new log-based metric body. + properties: + data: + $ref: '#/components/schemas/LogsMetricUpdateData' + required: + - data + type: object + RestrictionQueryListResponse: + description: Response containing information about multiple restriction queries. + properties: + data: + description: Array of returned restriction queries. + items: + $ref: '#/components/schemas/RestrictionQueryWithoutRelationships' + type: array + type: object + RestrictionQueryCreatePayload: + description: Create a restriction query. + properties: + data: + $ref: '#/components/schemas/RestrictionQueryCreateData' + type: object + RestrictionQueryWithoutRelationshipsResponse: + description: Response containing information about a single restriction query. + properties: + data: + $ref: '#/components/schemas/RestrictionQueryWithoutRelationships' + type: object + RestrictionQueryWithRelationshipsResponse: + description: Response containing information about a single restriction query. + properties: + data: + $ref: '#/components/schemas/RestrictionQueryWithRelationships' + included: + description: Array of objects related to the restriction query. + items: + $ref: '#/components/schemas/RestrictionQueryResponseIncludedItem' + type: array + type: object + RestrictionQueryUpdatePayload: + description: Update a restriction query. + properties: + data: + $ref: '#/components/schemas/RestrictionQueryUpdateData' + type: object + RestrictionQueryRolesResponse: + description: Response containing information about roles attached to a restriction query. + properties: + data: + description: Array of roles. + items: + $ref: '#/components/schemas/RestrictionQueryRole' + type: array + type: object + LogsStorageTier: + default: indexes + description: Specifies storage type as indexes, online-archives or flex + enum: + - indexes + - online-archives + - flex + example: indexes + type: string + x-enum-varnames: + - INDEXES + - ONLINE_ARCHIVES + - FLEX + LogsSort: + description: Sort parameters when querying logs. + enum: + - timestamp + - '-timestamp' + type: string + x-enum-varnames: + - TIMESTAMP_ASCENDING + - TIMESTAMP_DESCENDING + LogsListResponse: + description: Response object with all logs matching the request and pagination information. + properties: + data: + description: Array of logs matching the request. + items: + $ref: '#/components/schemas/Log' + type: array + links: + $ref: '#/components/schemas/LogsListResponseLinks' + meta: + $ref: '#/components/schemas/LogsResponseMetadata' + type: object + LogsListRequest: + description: The request for a logs list. + properties: + filter: + $ref: '#/components/schemas/LogsQueryFilter' + options: + $ref: '#/components/schemas/LogsQueryOptions' + page: + $ref: '#/components/schemas/LogsListRequestPage' + sort: + $ref: '#/components/schemas/LogsSort' + type: object + ListPipelinesResponse: + description: Represents the response payload containing a list of pipelines and associated metadata. + properties: + data: + description: The `schema` `data`. + items: + $ref: '#/components/schemas/ObservabilityPipelineData' + type: array + meta: + $ref: '#/components/schemas/ListPipelinesResponseMeta' + required: + - data + type: object + ObservabilityPipelineSpec: + description: Input schema representing an observability pipeline configuration. Used in create and validate requests. + properties: + data: + $ref: '#/components/schemas/ObservabilityPipelineSpecData' + required: + - data + type: object + ObservabilityPipeline: + description: Top-level schema representing a pipeline. + properties: + data: + $ref: '#/components/schemas/ObservabilityPipelineData' + required: + - data + type: object + ValidationResponse: + description: Response containing validation errors. + example: + errors: + - meta: + field: region + id: datadog-agent-source + message: Field 'region' is required + title: Field 'region' is required + properties: + errors: + description: The `ValidationResponse` `errors`. + items: + $ref: '#/components/schemas/ValidationError' + type: array + type: object + LogsListRequestV1: + description: Object to send with the request to retrieve a list of logs from your Organization. + properties: + index: + description: |- + The log index on which the request is performed. For multi-index organizations, + the default is all live indexes. Historical indexes of rehydrated logs must be specified. + example: retention-3,retention-15 + type: string + limit: + description: Number of logs return in the response. + format: int32 + maximum: 1000 + type: integer + query: + description: The search query - following the log search syntax. + example: service:web* AND @http.status_code:[200 TO 299] + type: string + sort: + $ref: '#/components/schemas/LogsSortV1' + startAt: + description: |- + Hash identifier of the first log to return in the list, available in a log `id` attribute. + This parameter is used for the pagination feature. + + **Note**: This parameter is ignored if the corresponding log + is out of the scope of the specified time window. + type: string + time: + $ref: '#/components/schemas/LogsListRequestTime' + required: + - time + type: object + LogsListResponseV1: + description: Response object with all logs matching the request and pagination information. + properties: + logs: + description: Array of logs matching the request and the `nextLogId` if sent. + items: + $ref: '#/components/schemas/LogV1' + type: array + nextLogId: + description: |- + Hash identifier of the next log to return in the list. + This parameter is used for the pagination feature. + nullable: true + type: string + status: + description: Status of the response. + type: string + type: object + LogsAPIErrorResponse: + description: Response returned by the Logs API when errors occur. + properties: + error: + $ref: '#/components/schemas/LogsAPIError' + type: object + APIErrorResponseV1: + description: Error response object. + properties: + errors: + description: Array of errors returned by the API. + example: + - Bad Request + items: + description: Error description. + example: Bad Request + type: string + type: array + required: + - errors + type: object + LogsIndexesOrder: + description: Object containing the ordered list of log index names. + properties: + index_names: + description: |- + Array of strings identifying by their name(s) the index(es) of your organization. + Logs are tested against the query filter of each index one by one, following the order of the array. + Logs are eventually stored in the first matching index. + example: + - main + - payments + - web + items: + description: An index name. + type: string + type: array + required: + - index_names + type: object + LogsIndexListResponse: + description: Object with all Index configurations for a given organization. + properties: + indexes: + description: Array of Log index configurations. + items: + $ref: '#/components/schemas/LogsIndex' + type: array + type: object + LogsIndex: + description: Object describing a Datadog Log index. + properties: + daily_limit: + description: The number of log events you can send in this index per day before you are rate-limited. + example: 300000000 + format: int64 + type: integer + daily_limit_reset: + $ref: '#/components/schemas/LogsDailyLimitReset' + daily_limit_warning_threshold_percentage: + description: A percentage threshold of the daily quota at which a Datadog warning event is generated. + example: 70 + format: double + maximum: 99.99 + minimum: 50 + type: number + exclusion_filters: + description: |- + An array of exclusion objects. The logs are tested against the query of each filter, + following the order of the array. Only the first matching active exclusion matters, + others (if any) are ignored. + items: + $ref: '#/components/schemas/LogsExclusion' + type: array + filter: + $ref: '#/components/schemas/LogsFilter' + is_rate_limited: + description: |- + A boolean stating if the index is rate limited, meaning more logs than the daily limit have been sent. + Rate limit is reset every-day at 2pm UTC. + example: false + readOnly: true + type: boolean + name: + description: The name of the index. + example: main + type: string + num_flex_logs_retention_days: + description: |- + The total number of days logs are stored in Standard and Flex Tier before being deleted from the index. + If Standard Tier is enabled on this index, logs are first retained in Standard Tier for the number of days specified through `num_retention_days`, + and then stored in Flex Tier until the number of days specified in `num_flex_logs_retention_days` is reached. + The available values depend on retention plans specified in your organization's contract/subscriptions. + example: 360 + format: int64 + type: integer + num_retention_days: + description: |- + The number of days logs are stored in Standard Tier before aging into the Flex Tier or being deleted from the index. + The available values depend on retention plans specified in your organization's contract/subscriptions. + example: 15 + format: int64 + type: integer + tags: + description: A list of tags associated with the index. Tags must be in `key:value` format. + example: + - team:backend + - env:production + items: + description: A single tag using the format `key:value`. + type: string + type: array + required: + - name + - filter + type: object + LogsAPILimitReachedResponse: + description: Response returned by the Logs API when the max limit has been reached. + properties: + error: + $ref: '#/components/schemas/LogsAPIError' + type: object + LogsIndexUpdateRequest: + description: Object for updating a Datadog Log index. + properties: + daily_limit: + description: The number of log events you can send in this index per day before you are rate-limited. + example: 300000000 + format: int64 + type: integer + daily_limit_reset: + $ref: '#/components/schemas/LogsDailyLimitReset' + daily_limit_warning_threshold_percentage: + description: A percentage threshold of the daily quota at which a Datadog warning event is generated. + example: 70 + format: double + maximum: 99.99 + minimum: 50 + type: number + disable_daily_limit: + description: |- + If true, sets the `daily_limit` value to null and the index is not limited on a daily basis (any + specified `daily_limit` value in the request is ignored). If false or omitted, the index's current + `daily_limit` is maintained. + example: false + type: boolean + exclusion_filters: + description: |- + An array of exclusion objects. The logs are tested against the query of each filter, + following the order of the array. Only the first matching active exclusion matters, + others (if any) are ignored. + items: + $ref: '#/components/schemas/LogsExclusion' + type: array + filter: + $ref: '#/components/schemas/LogsFilter' + num_flex_logs_retention_days: + description: |- + The total number of days logs are stored in Standard and Flex Tier before being deleted from the index. + If Standard Tier is enabled on this index, logs are first retained in Standard Tier for the number of days specified through `num_retention_days`, + and then stored in Flex Tier until the number of days specified in `num_flex_logs_retention_days` is reached. + The available values depend on retention plans specified in your organization's contract/subscriptions. + + **Note**: Changing this value affects all logs already in this index. It may also affect billing. + example: 360 + format: int64 + type: integer + num_retention_days: + description: |- + The number of days logs are stored in Standard Tier before aging into the Flex Tier or being deleted from the index. + The available values depend on retention plans specified in your organization's contract/subscriptions. + + **Note**: Changing this value affects all logs already in this index. It may also affect billing. + example: 15 + format: int64 + type: integer + tags: + description: A list of tags associated with the index. Tags must be in `key:value` format. + example: + - team:backend + - env:production + items: + description: A single tag using the format `key:value`. + type: string + type: array + required: + - filter + type: object + LogsPipelinesOrder: + description: Object containing the ordered list of pipeline IDs. + properties: + pipeline_ids: + description: |- + Ordered Array of `` strings, the order of pipeline IDs in the array + define the overall Pipelines order for Datadog. + example: + - tags + - org_ids + - products + items: + description: A given pipeline ID. + type: string + type: array + required: + - pipeline_ids + type: object + LogsPipelineList: + description: Array of all log pipeline objects configured for the organization. + items: + $ref: '#/components/schemas/LogsPipeline' + type: array + LogsPipeline: + description: |- + Pipelines and processors operate on incoming logs, + parsing and transforming them into structured attributes for easier querying. + + **Note**: These endpoints are only available for admin users. + Make sure to use an application key created by an admin. + properties: + description: + description: A description of the pipeline. + type: string + filter: + $ref: '#/components/schemas/LogsFilter' + id: + description: ID of the pipeline. + readOnly: true + type: string + is_enabled: + description: Whether or not the pipeline is enabled. + type: boolean + is_read_only: + description: Whether or not the pipeline can be edited. + readOnly: true + type: boolean + name: + description: Name of the pipeline. + example: '' + type: string + processors: + description: Ordered list of processors in this pipeline. + items: + $ref: '#/components/schemas/LogsProcessor' + type: array + tags: + description: A list of tags associated with the pipeline. + items: + description: A single tag using the format `key:value`. + type: string + type: array + type: + description: Type of pipeline. + example: pipeline + readOnly: true + type: string + required: + - name + type: object + ContentEncodingV1: + description: HTTP header used to compress the media-type. + enum: + - gzip + - deflate + type: string + x-enum-varnames: + - GZIP + - DEFLATE + HTTPLogItemV1: + additionalProperties: + description: Additional log attributes. + type: string + description: Logs that are sent over HTTP. + properties: + ddsource: + description: |- + The integration name associated with your log: the technology from which the log originated. + When it matches an integration name, Datadog automatically installs the corresponding parsers and facets. + See [reserved attributes](https://docs.datadoghq.com/logs/log_collection/#reserved-attributes). + example: nginx + type: string + ddtags: + description: Tags associated with your logs. + example: env:staging,version:5.1 + type: string + hostname: + description: The name of the originating host of the log. + example: i-012345678 + type: string + message: + description: |- + The message [reserved attribute](https://docs.datadoghq.com/logs/log_collection/#reserved-attributes) + of your log. By default, Datadog ingests the value of the message attribute as the body of the log entry. + That value is then highlighted and displayed in the Logstream, where it is indexed for full text search. + example: 2019-11-19T14:37:58,995 INFO [process.name][20081] Hello World + type: string + service: + description: |- + The name of the application or service generating the log events. + It is used to switch from Logs to APM, so make sure you define the same value when you use both products. + See [reserved attributes](https://docs.datadoghq.com/logs/log_collection/#reserved-attributes). + example: payment + type: string + required: + - message + type: object + HTTPLogErrorV1: + description: Invalid query performed. + properties: + code: + description: Error code. + example: 0 + format: int32 + maximum: 2147483647 + type: integer + message: + description: Error message. + example: Your browser sent an invalid request. + type: string + required: + - code + - message + type: object + HTTPLogItem: + additionalProperties: + description: Additional log attributes. + description: Logs that are sent over HTTP. + properties: + ddsource: + description: |- + The integration name associated with your log: the technology from which the log originated. + When it matches an integration name, Datadog automatically installs the corresponding parsers and facets. + See [reserved attributes](https://docs.datadoghq.com/logs/log_configuration/attributes_naming_convention/#reserved-attributes). + example: nginx + type: string + ddtags: + description: Tags associated with your logs. + example: env:staging,version:5.1 + type: string + hostname: + description: The name of the originating host of the log. + example: i-012345678 + type: string + message: + description: |- + The message [reserved attribute](https://docs.datadoghq.com/logs/log_configuration/attributes_naming_convention/#reserved-attributes) + of your log. By default, Datadog ingests the value of the message attribute as the body of the log entry. + That value is then highlighted and displayed in the Logstream, where it is indexed for full text search. + example: 2019-11-19T14:37:58,995 INFO [process.name][20081] Hello World + type: string + service: + description: |- + The name of the application or service generating the log events. + It is used to switch from Logs to APM, so make sure you define the same value when you use both products. + See [reserved attributes](https://docs.datadoghq.com/logs/log_configuration/attributes_naming_convention/#reserved-attributes). + example: payment + type: string + required: + - message + type: object + HTTPLogError: + description: List of errors. + properties: + detail: + description: Error message. + example: Malformed payload + type: string + status: + description: Error code. + example: '400' + type: string + title: + description: Error title. + example: Bad Request + type: string + type: object + LogsCompute: + description: A compute rule to compute metrics or timeseries + properties: + aggregation: + $ref: '#/components/schemas/LogsAggregationFunction' + interval: + description: |- + The time buckets' size (only used for type=timeseries) + Defaults to a resolution of 150 points + example: 5m + type: string + metric: + description: The metric to use + example: '@duration' + type: string + type: + $ref: '#/components/schemas/LogsComputeType' + required: + - aggregation + type: object + LogsQueryFilter: + description: The search and filter query settings + properties: + from: + default: now-15m + description: The minimum time for the requested logs, supports date math and regular timestamps (milliseconds). + example: now-15m + type: string + indexes: + default: + - '*' + description: For customers with multiple indexes, the indexes to search. Defaults to ['*'] which means all indexes. + example: + - main + - web + items: + description: The name of a log index. + type: string + type: array + query: + default: '*' + description: The search query - following the log search syntax. + example: service:web* AND @http.status_code:[200 TO 299] + type: string + storage_tier: + $ref: '#/components/schemas/LogsStorageTier' + to: + default: now + description: The maximum time for the requested logs, supports date math and regular timestamps (milliseconds). + example: now + type: string + type: object + LogsGroupBy: + description: A group by rule + properties: + facet: + description: The name of the facet to use (required) + example: host + type: string + histogram: + $ref: '#/components/schemas/LogsGroupByHistogram' + limit: + default: 10 + description: |- + The maximum buckets to return for this group by. Note: at most 10000 buckets are allowed. + If grouping by multiple facets, the product of limits must not exceed 10000. + format: int64 + type: integer + missing: + $ref: '#/components/schemas/LogsGroupByMissing' + sort: + $ref: '#/components/schemas/LogsAggregateSort' + total: + $ref: '#/components/schemas/LogsGroupByTotal' + required: + - facet + type: object + LogsQueryOptions: + deprecated: true + description: |- + Global query options that are used during the query. + Note: These fields are currently deprecated and do not affect the query results. + properties: + timeOffset: + description: The time offset (in seconds) to apply to the query. + format: int64 + type: integer + timezone: + default: UTC + description: The timezone can be specified as GMT, UTC, an offset from UTC (like UTC+1), or as a Timezone Database identifier (like America/New_York). + example: GMT + type: string + type: object + LogsAggregateRequestPage: + description: Paging settings + properties: + cursor: + description: 'The returned paging point to use to get the next results. Note: at most 1000 results can be paged.' + example: eyJzdGFydEF0IjoiQVFBQUFYS2tMS3pPbm40NGV3QUFBQUJCV0V0clRFdDZVbG8zY3pCRmNsbHJiVmxDWlEifQ== + type: string + type: object + LogsAggregateResponseData: + description: The query results + properties: + buckets: + description: The list of matching buckets, one item per bucket + items: + $ref: '#/components/schemas/LogsAggregateBucket' + type: array + type: object + LogsResponseMetadata: + description: The metadata associated with a request + properties: + elapsed: + description: The time elapsed in milliseconds + example: 132 + format: int64 + type: integer + page: + $ref: '#/components/schemas/LogsResponseMetadataPage' + request_id: + description: The identifier of the request + example: MWlFUjVaWGZTTTZPYzM0VXp1OXU2d3xLSVpEMjZKQ0VKUTI0dEYtM3RSOFVR + type: string + status: + $ref: '#/components/schemas/LogsAggregateResponseStatus' + warnings: + description: |- + A list of warnings (non fatal errors) encountered, partial results might be returned if + warnings are present in the response. + items: + $ref: '#/components/schemas/LogsWarning' + type: array + type: object + LogsArchiveOrderDefinition: + description: The definition of an archive order. + properties: + attributes: + $ref: '#/components/schemas/LogsArchiveOrderAttributes' + type: + $ref: '#/components/schemas/LogsArchiveOrderDefinitionType' + required: + - type + - attributes + type: object + LogsArchiveDefinition: + description: The definition of an archive. + properties: + attributes: + $ref: '#/components/schemas/LogsArchiveAttributes' + id: + description: The archive ID. + example: a2zcMylnM4OCHpYusxIi3g + readOnly: true + type: string + type: + default: archives + description: The type of the resource. The value should always be archives. + example: archives + readOnly: true + type: string + required: + - type + type: object + LogsArchiveCreateRequestDefinition: + description: The definition of an archive. + properties: + attributes: + $ref: '#/components/schemas/LogsArchiveCreateRequestAttributes' + type: + default: archives + description: The type of the resource. The value should always be archives. + example: archives + type: string + required: + - type + type: object + RelationshipToRoleData: + description: Relationship to role object. + properties: + id: + description: The unique identifier of the role. + example: 3653d3c6-0c75-11ea-ad28-fb5701eabc7d + type: string + type: + $ref: '#/components/schemas/RolesType' + type: object + Role: + description: Role object returned by the API. + properties: + attributes: + $ref: '#/components/schemas/RoleAttributes' + id: + description: The unique identifier of the role. + type: string + relationships: + $ref: '#/components/schemas/RoleResponseRelationships' + type: + $ref: '#/components/schemas/RolesType' + required: + - type + type: object + ResponseMetaAttributes: + description: Object describing meta attributes of response. + properties: + page: + $ref: '#/components/schemas/Pagination' + type: object + CustomDestinationResponseDefinition: + description: The definition of a custom destination. + properties: + attributes: + $ref: '#/components/schemas/CustomDestinationResponseAttributes' + id: + description: The custom destination ID. + example: be5d7a69-d0c8-4d4d-8ee8-bba292d98139 + readOnly: true + type: string + type: + $ref: '#/components/schemas/CustomDestinationType' + type: object + CustomDestinationCreateRequestDefinition: + description: The definition of a custom destination. + properties: + attributes: + $ref: '#/components/schemas/CustomDestinationCreateRequestAttributes' + type: + $ref: '#/components/schemas/CustomDestinationType' + required: + - type + - attributes + type: object + CustomDestinationUpdateRequestDefinition: + description: The definition of a custom destination. + properties: + attributes: + $ref: '#/components/schemas/CustomDestinationUpdateRequestAttributes' + id: + description: The custom destination ID. + example: be5d7a69-d0c8-4d4d-8ee8-bba292d98139 + type: string + type: + $ref: '#/components/schemas/CustomDestinationType' + required: + - type + - id + type: object + LogsMetricResponseData: + description: The log-based metric properties. + properties: + attributes: + $ref: '#/components/schemas/LogsMetricResponseAttributes' + id: + $ref: '#/components/schemas/LogsMetricID' + type: + $ref: '#/components/schemas/LogsMetricType' + type: object + LogsMetricCreateData: + description: The new log-based metric properties. + properties: + attributes: + $ref: '#/components/schemas/LogsMetricCreateAttributes' + id: + $ref: '#/components/schemas/LogsMetricID' + type: + $ref: '#/components/schemas/LogsMetricType' + required: + - id + - type + - attributes + type: object + LogsMetricUpdateData: + description: The new log-based metric properties. + properties: + attributes: + $ref: '#/components/schemas/LogsMetricUpdateAttributes' + type: + $ref: '#/components/schemas/LogsMetricType' + required: + - type + - attributes + type: object + RestrictionQueryWithoutRelationships: + description: Restriction query object returned by the API. + properties: + attributes: + $ref: '#/components/schemas/RestrictionQueryAttributes' + id: + description: ID of the restriction query. + example: 79a0e60a-644a-11ea-ad29-43329f7f58b5 + type: string + type: + default: logs_restriction_queries + description: Restriction queries type. + example: logs_restriction_queries + readOnly: true + type: string + type: object + RestrictionQueryCreateData: + description: Data related to the creation of a restriction query. + properties: + attributes: + $ref: '#/components/schemas/RestrictionQueryCreateAttributes' + type: + $ref: '#/components/schemas/LogsRestrictionQueriesType' + type: object + RestrictionQueryWithRelationships: + description: Restriction query object returned by the API. + properties: + attributes: + $ref: '#/components/schemas/RestrictionQueryAttributes' + id: + description: ID of the restriction query. + example: 79a0e60a-644a-11ea-ad29-43329f7f58b5 + type: string + relationships: + $ref: '#/components/schemas/UserRelationships' + type: + $ref: '#/components/schemas/LogsRestrictionQueriesType' + type: object + RestrictionQueryResponseIncludedItem: + description: An object related to a restriction query. + properties: + attributes: + $ref: '#/components/schemas/RestrictionQueryRoleAttribute' + id: + description: ID of the role. + example: + type: string + type: + $ref: '#/components/schemas/RolesType' + required: + - type + - id + - attributes + type: object + RestrictionQueryUpdateData: + description: Data related to the update of a restriction query. + properties: + attributes: + $ref: '#/components/schemas/RestrictionQueryUpdateAttributes' + type: + $ref: '#/components/schemas/LogsRestrictionQueriesType' + type: object + RestrictionQueryRole: + description: Partial role object. + properties: + attributes: + $ref: '#/components/schemas/RestrictionQueryRoleAttribute' + id: + description: ID of the role. + example: + type: string + type: + $ref: '#/components/schemas/RolesType' + required: + - type + - id + - attributes + type: object + Log: + description: Object description of a log after being processed and stored by Datadog. + properties: + attributes: + $ref: '#/components/schemas/LogAttributes' + id: + description: Unique ID of the Log. + example: AAAAAWgN8Xwgr1vKDQAAAABBV2dOOFh3ZzZobm1mWXJFYTR0OA + type: string + type: + $ref: '#/components/schemas/LogType' + type: object + LogsListResponseLinks: + description: Links attributes. + properties: + next: + description: |- + Link for the next set of results. Note that the request can also be made using the + POST endpoint. + example: https://app.datadoghq.com/api/v2/logs/event?filter[query]=foo&page[cursor]=eyJzdGFydEF0IjoiQVFBQUFYS2tMS3pPbm40NGV3QUFBQUJCV0V0clRFdDZVbG8zY3pCRmNsbHJiVmxDWlEifQ== + type: string + type: object + LogsListRequestPage: + description: Paging attributes for listing logs. + properties: + cursor: + description: List following results with a cursor provided in the previous query. + example: eyJzdGFydEF0IjoiQVFBQUFYS2tMS3pPbm40NGV3QUFBQUJCV0V0clRFdDZVbG8zY3pCRmNsbHJiVmxDWlEifQ== + type: string + limit: + default: 10 + description: Maximum number of logs in the response. + example: 25 + format: int32 + maximum: 1000 + type: integer + type: object + ObservabilityPipelineData: + description: Contains the pipeline’s ID, type, and configuration attributes. + properties: + attributes: + $ref: '#/components/schemas/ObservabilityPipelineDataAttributes' + id: + description: Unique identifier for the pipeline. + example: 3fa85f64-5717-4562-b3fc-2c963f66afa6 + type: string + type: + default: pipelines + description: The resource type identifier. For pipeline resources, this should always be set to `pipelines`. + example: pipelines + type: string + required: + - id + - type + - attributes + type: object + ListPipelinesResponseMeta: + description: Metadata about the response. + properties: + totalCount: + description: The total number of pipelines. + example: 42 + format: int64 + type: integer + type: object + ObservabilityPipelineSpecData: + description: Contains the the pipeline configuration. + properties: + attributes: + $ref: '#/components/schemas/ObservabilityPipelineDataAttributes' + type: + default: pipelines + description: The resource type identifier. For pipeline resources, this should always be set to `pipelines`. + example: pipelines + type: string + required: + - type + - attributes + type: object + ValidationError: + description: Represents a single validation error, including a human-readable title and metadata. + properties: + meta: + $ref: '#/components/schemas/ValidationErrorMeta' + title: + description: A short, human-readable summary of the error. + example: Field 'region' is required + type: string + required: + - title + - meta + type: object + LogsSortV1: + description: Time-ascending `asc` or time-descending `desc` results. + enum: + - asc + - desc + type: string + x-enum-varnames: + - TIME_ASCENDING + - TIME_DESCENDING + LogsListRequestTime: + description: Timeframe to retrieve the log from. + properties: + from: + description: Minimum timestamp for requested logs. + example: '2020-02-02T02:02:02.202Z' + format: date-time + type: string + timezone: + description: |- + Timezone can be specified both as an offset (for example "UTC+03:00") + or a regional zone (for example "Europe/Paris"). + type: string + to: + description: Maximum timestamp for requested logs. + example: '2020-02-20T02:02:02.202Z' + format: date-time + type: string + required: + - from + - to + type: object + LogV1: + description: Object describing a log after being processed and stored by Datadog. + properties: + content: + $ref: '#/components/schemas/LogContent' + id: + description: ID of the Log. + example: AAAAAWgN8Xwgr1vKDQAAAABBV2dOOFh3ZzZobm1mWXJFYTR0OA + type: string + type: object + LogsAPIError: + description: Error returned by the Logs API + properties: + code: + description: Code identifying the error + type: string + details: + description: Additional error details + items: + $ref: '#/components/schemas/LogsAPIError' + type: array + message: + description: Error message + type: string + type: object + LogsDailyLimitReset: + description: Object containing options to override the default daily limit reset time. + properties: + reset_time: + description: String in `HH:00` format representing the time of day the daily limit should be reset. The hours must be between 00 and 23 (inclusive). + example: '14:00' + type: string + reset_utc_offset: + description: String in `(-|+)HH:00` format representing the UTC offset to apply to the given reset time. The hours must be between -12 and +14 (inclusive). + example: '+02:00' + type: string + type: object + LogsExclusion: + description: Represents the index exclusion filter object from configuration API. + properties: + filter: + $ref: '#/components/schemas/LogsExclusionFilter' + is_enabled: + description: Whether or not the exclusion filter is active. + type: boolean + name: + description: Name of the index exclusion filter. + example: payment + type: string + required: + - name + type: object + LogsFilter: + description: Filter for logs. + properties: + query: + description: The filter query. + example: source:python + type: string + type: object + LogsProcessor: + description: Definition of a logs processor. + properties: + grok: + $ref: '#/components/schemas/LogsGrokParserRules' + is_enabled: + default: false + description: Whether or not the processor is enabled. + type: boolean + name: + description: Name of the processor. + type: string + samples: + description: List of sample logs to test this grok parser. + items: + description: A log sample that is used to test the grok parser. + maxLength: 5000 + type: string + maxItems: 5 + type: array + source: + default: message + description: Name of the log attribute to parse. + example: message + type: string + type: + $ref: '#/components/schemas/LogsGrokParserType' + sources: + description: Array of source attributes. + example: + - web + - gateway + items: + description: Attribute used as a source to define the log associated date. + type: string + type: array + override_on_conflict: + default: false + description: Whether to override the target element if it's already set. + type: boolean + preserve_source: + default: false + description: Remove or preserve the remapped source element. + type: boolean + source_type: + default: attribute + description: Defines if the sources are from log `attribute` or `tag`. + type: string + target: + description: Final attribute or tag name to remap the sources to. + example: operation_id + type: string + target_format: + $ref: '#/components/schemas/TargetFormatType' + target_type: + default: attribute + description: Defines if the final attribute or tag name is from log `attribute` or `tag`. + type: string + normalize_ending_slashes: + default: false + description: Normalize the ending slashes or not. + nullable: true + type: boolean + is_encoded: + default: false + description: Define if the source attribute is URL encoded or not. + type: boolean + categories: + description: |- + Array of filters to match or not a log and their + corresponding `name` to assign a custom value to the log. + example: [] + items: + $ref: '#/components/schemas/LogsCategoryProcessorCategory' + type: array + expression: + description: Arithmetic operation between one or more log attributes. + example: '' + type: string + is_replace_missing: + default: false + description: |- + If `true`, it replaces all missing attributes of expression by `0`, `false` + skip the operation if an attribute is missing. + type: boolean + template: + description: A formula with one or more attributes and raw text. + example: '' + type: string + description: + description: A description of the pipeline. + type: string + filter: + $ref: '#/components/schemas/LogsFilter' + processors: + description: Ordered list of processors in this pipeline. + items: + $ref: '#/components/schemas/LogsProcessor' + type: array + tags: + description: A list of tags associated with the pipeline. + items: + description: A single tag using the format `key:value`. + type: string + type: array + default_lookup: + description: Value to set the target attribute if the source value is not found in the list. + type: string + lookup_table: + description: |- + Mapping table of values for the source attribute and their associated target attribute values, + formatted as `["source_key1,target_value1", "source_key2,target_value2"]` + example: + - source_key1,target_value1 + - source_key2,target_value2 + items: + description: Mapping between a source and a value, it should follow the format `","`. + type: string + type: array + lookup_enrichment_table: + description: Name of the Reference Table for the source attribute and their associated target attribute values. + example: service_id_to_service_name_table + type: string + operation: + $ref: '#/components/schemas/LogsArrayProcessorOperation' + binary_to_text_encoding: + $ref: '#/components/schemas/LogsDecoderProcessorBinaryToTextEncoding' + input_representation: + $ref: '#/components/schemas/LogsDecoderProcessorInputRepresentation' + mappers: + description: The `LogsSchemaProcessor` `mappers`. + example: + - name: Map userIdentity to ocsf.user.uid + sources: + - userIdentity.principalId + target: ocsf.user.uid + type: schema-remapper + items: + $ref: '#/components/schemas/LogsSchemaMapper' + type: array + schema: + $ref: '#/components/schemas/LogsSchemaData' + attribute_to_exclude: + description: Name of the log attribute to remove from the log event. + example: foo + type: string + required: + - source + - grok + - type + - sources + - target + - categories + - expression + - template + - lookup_table + - lookup_enrichment_table + - operation + - binary_to_text_encoding + - input_representation + - name + - mappers + - schema + - attribute_to_exclude + - processors + type: object + LogsAggregationFunction: + description: An aggregation function + enum: + - count + - cardinality + - pc75 + - pc90 + - pc95 + - pc98 + - pc99 + - sum + - min + - max + - avg + - median + example: pc90 + type: string + x-enum-varnames: + - COUNT + - CARDINALITY + - PERCENTILE_75 + - PERCENTILE_90 + - PERCENTILE_95 + - PERCENTILE_98 + - PERCENTILE_99 + - SUM + - MIN + - MAX + - AVG + - MEDIAN + LogsComputeType: + default: total + description: The type of compute + enum: + - timeseries + - total + type: string + x-enum-varnames: + - TIMESERIES + - TOTAL + LogsGroupByHistogram: + description: |- + Used to perform a histogram computation (only for measure facets). + Note: at most 100 buckets are allowed, the number of buckets is (max - min)/interval. + properties: + interval: + description: The bin size of the histogram buckets + example: 10 + format: double + type: number + max: + description: |- + The maximum value for the measure used in the histogram + (values greater than this one are filtered out) + example: 100 + format: double + type: number + min: + description: |- + The minimum value for the measure used in the histogram + (values smaller than this one are filtered out) + example: 50 + format: double + type: number + required: + - interval + - min + - max + type: object + LogsGroupByMissing: + description: The value to use for logs that don't have the facet used to group by + type: string + format: double + LogsAggregateSort: + description: A sort rule + example: + aggregation: count + order: asc + properties: + aggregation: + $ref: '#/components/schemas/LogsAggregationFunction' + metric: + description: The metric to sort by (only used for `type=measure`) + example: '@duration' + type: string + order: + $ref: '#/components/schemas/LogsSortOrder' + type: + $ref: '#/components/schemas/LogsAggregateSortType' + type: object + LogsGroupByTotal: + default: false + description: A resulting object to put the given computes in over all the matching records. + type: boolean + format: double + LogsAggregateBucket: + description: A bucket values + properties: + by: + additionalProperties: + description: The values for each group by + description: The key, value pairs for each group by + example: + '@state': success + '@version': abc + type: object + computes: + additionalProperties: + $ref: '#/components/schemas/LogsAggregateBucketValue' + description: A map of the metric name -> value for regular compute or list of values for a timeseries + type: object + type: object + LogsResponseMetadataPage: + description: Paging attributes. + properties: + after: + description: |- + The cursor to use to get the next results, if any. To make the next request, use the same + parameters with the addition of the `page[cursor]`. + example: eyJzdGFydEF0IjoiQVFBQUFYS2tMS3pPbm40NGV3QUFBQUJCV0V0clRFdDZVbG8zY3pCRmNsbHJiVmxDWlEifQ== + type: string + type: object + LogsAggregateResponseStatus: + description: The status of the response + enum: + - done + - timeout + example: done + type: string + x-enum-varnames: + - DONE + - TIMEOUT + LogsWarning: + description: A warning message indicating something that went wrong with the query + properties: + code: + description: A unique code for this type of warning + example: unknown_index + type: string + detail: + description: A detailed explanation of this specific warning + example: 'indexes: foo, bar' + type: string + title: + description: A short human-readable summary of the warning + example: One or several indexes are missing or invalid, results hold data from the other indexes + type: string + type: object + LogsArchiveOrderAttributes: + description: The attributes associated with the archive order. + properties: + archive_ids: + description: |- + An ordered array of `` strings, the order of archive IDs in the array + define the overall archives order for Datadog. + example: + - a2zcMylnM4OCHpYusxIi1g + - a2zcMylnM4OCHpYusxIi2g + - a2zcMylnM4OCHpYusxIi3g + items: + description: A given archive ID. + type: string + type: array + required: + - archive_ids + type: object + LogsArchiveOrderDefinitionType: + default: archive_order + description: Type of the archive order definition. + enum: + - archive_order + example: archive_order + type: string + x-enum-varnames: + - ARCHIVE_ORDER + LogsArchiveAttributes: + description: The attributes associated with the archive. + properties: + compression_method: + $ref: '#/components/schemas/LogsArchiveAttributesCompressionMethod' + destination: + $ref: '#/components/schemas/LogsArchiveDestination' + include_tags: + default: false + description: |- + To store the tags in the archive, set the value "true". + If it is set to "false", the tags will be deleted when the logs are sent to the archive. + example: false + type: boolean + lookup_attributes: + description: An array of attributes to use as lookup keys for the archive. + example: + - trace_id + - user_id + items: + description: A lookup attribute name. + type: string + type: array + name: + description: The archive name. + example: Nginx Archive + type: string + partitioning_attributes: + description: An array of attributes to use as partition keys for the archive. The attribute used most frequently for querying should be first. + example: + - service + - status + items: + description: A partition attribute name. + type: string + type: array + query: + description: The archive query/filter. Logs matching this query are included in the archive. + example: source:nginx + type: string + rehydration_max_scan_size_in_gb: + description: Maximum scan size for rehydration from this archive. + example: 100 + format: int64 + nullable: true + type: integer + rehydration_tags: + description: An array of tags to add to rehydrated logs from an archive. + example: + - team:intake + - team:app + items: + description: A given tag in the `:` format. + type: string + type: array + state: + $ref: '#/components/schemas/LogsArchiveState' + required: + - name + - query + - destination + type: object + LogsArchiveCreateRequestAttributes: + description: The attributes associated with the archive. + properties: + compression_method: + $ref: '#/components/schemas/LogsArchiveAttributesCompressionMethod' + destination: + $ref: '#/components/schemas/LogsArchiveCreateRequestDestination' + include_tags: + default: false + description: |- + To store the tags in the archive, set the value "true". + If it is set to "false", the tags will be deleted when the logs are sent to the archive. + example: false + type: boolean + lookup_attributes: + description: An array of attributes to use as lookup keys for the archive. + example: + - trace_id + - user_id + items: + description: A lookup attribute name. + type: string + type: array + name: + description: The archive name. + example: Nginx Archive + type: string + partitioning_attributes: + description: An array of attributes to use as partition keys for the archive. The attribute used most frequently for querying should be first. + example: + - service + - status + items: + description: A partition attribute name. + type: string + type: array + query: + description: The archive query/filter. Logs matching this query are included in the archive. + example: source:nginx + type: string + rehydration_max_scan_size_in_gb: + description: Maximum scan size for rehydration from this archive. + example: 100 + format: int64 + nullable: true + type: integer + rehydration_tags: + description: An array of tags to add to rehydrated logs from an archive. + example: + - team:intake + - team:app + items: + description: A given tag in the `:` format. + type: string + type: array + required: + - name + - query + - destination + type: object + RolesType: + default: roles + description: Roles type. + enum: + - roles + example: roles + type: string + x-enum-varnames: + - ROLES + RoleAttributes: + additionalProperties: {} + description: Attributes of the role. + properties: + created_at: + description: Creation time of the role. + format: date-time + readOnly: true + type: string + modified_at: + description: Time of last role modification. + format: date-time + readOnly: true + type: string + name: + description: The name of the role. The name is neither unique nor a stable identifier of the role. + type: string + receives_permissions_from: + description: |- + The managed role from which this role automatically inherits new permissions. + Specify one of the following: "Datadog Admin Role", "Datadog Standard Role", or "Datadog Read Only Role". + If empty or not specified, the role does not automatically inherit permissions from any managed role. + items: + description: Name of a managed role to inherit permissions from. + type: string + type: array + user_count: + description: Number of users with that role. + format: int64 + readOnly: true + type: integer + type: object + RoleResponseRelationships: + description: Relationships of the role object returned by the API. + properties: + permissions: + $ref: '#/components/schemas/RelationshipToPermissions' + type: object + Pagination: + description: Pagination object. + properties: + total_count: + description: Total count. + format: int64 + type: integer + total_filtered_count: + description: Total count of elements matched by the filter. + format: int64 + type: integer + type: object + CustomDestinationResponseAttributes: + description: The attributes associated with the custom destination. + properties: + enabled: + default: true + description: Whether logs matching this custom destination should be forwarded or not. + example: true + type: boolean + forward_tags: + default: true + description: Whether tags from the forwarded logs should be forwarded or not. + example: true + type: boolean + forward_tags_restriction_list: + default: [] + description: |- + List of [keys of tags](https://docs.datadoghq.com/getting_started/tagging/#define-tags) to be filtered. + + An empty list represents no restriction is in place and either all or no tags will be + forwarded depending on `forward_tags_restriction_list_type` parameter. + example: + - datacenter + - host + items: + description: The [key part of a tag](https://docs.datadoghq.com/getting_started/tagging/#define-tags). + type: string + maxItems: 10 + minItems: 0 + type: array + forward_tags_restriction_list_type: + $ref: '#/components/schemas/CustomDestinationAttributeTagsRestrictionListType' + forwarder_destination: + $ref: '#/components/schemas/CustomDestinationResponseForwardDestination' + name: + description: The custom destination name. + example: Nginx logs + type: string + query: + default: '' + description: The custom destination query filter. Logs matching this query are forwarded to the destination. + example: source:nginx + type: string + type: object + CustomDestinationType: + default: custom_destination + description: The type of the resource. The value should always be `custom_destination`. + enum: + - custom_destination + example: custom_destination + type: string + x-enum-varnames: + - CUSTOM_DESTINATION + CustomDestinationCreateRequestAttributes: + description: The attributes associated with the custom destination. + properties: + enabled: + default: true + description: Whether logs matching this custom destination should be forwarded or not. + example: true + type: boolean + forward_tags: + default: true + description: Whether tags from the forwarded logs should be forwarded or not. + example: true + type: boolean + forward_tags_restriction_list: + default: [] + description: |- + List of [keys of tags](https://docs.datadoghq.com/getting_started/tagging/#define-tags) to be filtered. + + An empty list represents no restriction is in place and either all or no tags will be + forwarded depending on `forward_tags_restriction_list_type` parameter. + example: + - datacenter + - host + items: + description: The [key part of a tag](https://docs.datadoghq.com/getting_started/tagging/#define-tags). + type: string + maxItems: 10 + minItems: 0 + type: array + forward_tags_restriction_list_type: + $ref: '#/components/schemas/CustomDestinationAttributeTagsRestrictionListType' + forwarder_destination: + $ref: '#/components/schemas/CustomDestinationForwardDestination' + name: + description: The custom destination name. + example: Nginx logs + type: string + query: + default: '' + description: The custom destination query and filter. Logs matching this query are forwarded to the destination. + example: source:nginx + type: string + required: + - name + - forwarder_destination + type: object + CustomDestinationUpdateRequestAttributes: + description: The attributes associated with the custom destination. + properties: + enabled: + default: true + description: Whether logs matching this custom destination should be forwarded or not. + example: true + type: boolean + forward_tags: + default: true + description: Whether tags from the forwarded logs should be forwarded or not. + example: true + type: boolean + forward_tags_restriction_list: + default: [] + description: |- + List of [keys of tags](https://docs.datadoghq.com/getting_started/tagging/#define-tags) to be restricted from being forwarded. + An empty list represents no restriction is in place and either all or no tags will be forwarded depending on `forward_tags_restriction_list_type` parameter. + example: + - datacenter + - host + items: + description: The [key part of a tag](https://docs.datadoghq.com/getting_started/tagging/#define-tags). + type: string + maxItems: 10 + minItems: 0 + type: array + forward_tags_restriction_list_type: + $ref: '#/components/schemas/CustomDestinationAttributeTagsRestrictionListType' + forwarder_destination: + $ref: '#/components/schemas/CustomDestinationForwardDestination' + name: + description: The custom destination name. + example: Nginx logs + type: string + query: + default: '' + description: The custom destination query and filter. Logs matching this query are forwarded to the destination. + example: source:nginx + type: string + type: object + LogsMetricResponseAttributes: + description: The object describing a Datadog log-based metric. + properties: + compute: + $ref: '#/components/schemas/LogsMetricResponseCompute' + filter: + $ref: '#/components/schemas/LogsMetricResponseFilter' + group_by: + description: The rules for the group by. + items: + $ref: '#/components/schemas/LogsMetricResponseGroupBy' + type: array + type: object + LogsMetricID: + description: The name of the log-based metric. + example: logs.page.load.count + type: string + LogsMetricType: + default: logs_metrics + description: The type of the resource. The value should always be logs_metrics. + enum: + - logs_metrics + example: logs_metrics + type: string + x-enum-varnames: + - LOGS_METRICS + LogsMetricCreateAttributes: + description: The object describing the Datadog log-based metric to create. + properties: + compute: + $ref: '#/components/schemas/LogsMetricCompute' + filter: + $ref: '#/components/schemas/LogsMetricFilter' + group_by: + description: The rules for the group by. + items: + $ref: '#/components/schemas/LogsMetricGroupBy' + type: array + required: + - compute + type: object + LogsMetricUpdateAttributes: + description: The log-based metric properties that will be updated. + properties: + compute: + $ref: '#/components/schemas/LogsMetricUpdateCompute' + filter: + $ref: '#/components/schemas/LogsMetricFilter' + group_by: + description: The rules for the group by. + items: + $ref: '#/components/schemas/LogsMetricGroupBy' + type: array + type: object + RestrictionQueryAttributes: + description: Attributes of the restriction query. + properties: + created_at: + description: Creation time of the restriction query. + example: '2020-03-17T21:06:44.000Z' + format: date-time + readOnly: true + type: string + last_modifier_email: + description: Email of the user who last modified this restriction query. + example: user@example.com + readOnly: true + type: string + last_modifier_name: + description: Name of the user who last modified this restriction query. + example: John Doe + readOnly: true + type: string + modified_at: + description: Time of last restriction query modification. + example: '2020-03-17T21:15:15.000Z' + format: date-time + readOnly: true + type: string + restriction_query: + description: The query that defines the restriction. Only the content matching the query can be returned. + example: env:sandbox + type: string + role_count: + description: Number of roles associated with this restriction query. + example: 3 + format: int64 + readOnly: true + type: integer + user_count: + description: Number of users associated with this restriction query. + example: 5 + format: int64 + readOnly: true + type: integer + type: object + RestrictionQueryCreateAttributes: + description: Attributes of the created restriction query. + properties: + restriction_query: + description: The restriction query. + example: env:sandbox + type: string + required: + - restriction_query + type: object + LogsRestrictionQueriesType: + default: logs_restriction_queries + description: Restriction query resource type. + enum: + - logs_restriction_queries + example: logs_restriction_queries + type: string + x-enum-varnames: + - LOGS_RESTRICTION_QUERIES + UserRelationships: + description: Relationships of the user object. + properties: + roles: + $ref: '#/components/schemas/RelationshipToRoles' + type: object + RestrictionQueryUpdateAttributes: + description: Attributes of the edited restriction query. + properties: + restriction_query: + description: The restriction query. + example: env:sandbox + type: string + required: + - restriction_query + type: object + RestrictionQueryRoleAttribute: + description: Attributes of the role for a restriction query. + properties: + name: + description: The role name. + example: Datadog Admin Role + type: string + type: object + LogAttributes: + description: JSON object containing all log attributes and their associated values. + properties: + attributes: + additionalProperties: {} + description: JSON object of attributes from your log. + example: + customAttribute: 123 + duration: 2345 + type: object + host: + description: Name of the machine from where the logs are being sent. + example: i-0123 + type: string + message: + description: |- + The message [reserved attribute](https://docs.datadoghq.com/logs/log_collection/#reserved-attributes) + of your log. By default, Datadog ingests the value of the message attribute as the body of the log entry. + That value is then highlighted and displayed in the Logstream, where it is indexed for full text search. + example: Host connected to remote + type: string + service: + description: |- + The name of the application or service generating the log events. + It is used to switch from Logs to APM, so make sure you define the same + value when you use both products. + example: agent + type: string + status: + description: Status of the message associated with your log. + example: INFO + type: string + tags: + description: Array of tags associated with your log. + example: + - team:A + items: + description: Tag associated with your log. + type: string + type: array + timestamp: + description: Timestamp of your log. + example: '2019-01-02T09:42:36.320Z' + format: date-time + type: string + type: object + LogType: + default: log + description: Type of the event. + enum: + - log + example: log + type: string + x-enum-varnames: + - LOG + ObservabilityPipelineDataAttributes: + description: Defines the pipeline’s name and its components (sources, processors, and destinations). + properties: + config: + $ref: '#/components/schemas/ObservabilityPipelineConfig' + name: + description: Name of the pipeline. + example: Main Observability Pipeline + type: string + required: + - name + - config + type: object + ValidationErrorMeta: + description: Describes additional metadata for validation errors, including field names and error messages. + properties: + field: + description: The field name that caused the error. + example: region + type: string + id: + description: The ID of the component in which the error occurred. + example: datadog-agent-source + type: string + message: + description: The detailed error message. + example: Field 'region' is required + type: string + required: + - message + type: object + LogContent: + description: JSON object containing all log attributes and their associated values. + properties: + attributes: + additionalProperties: {} + description: JSON object of attributes from your log. + example: + customAttribute: 123 + duration: 2345 + type: object + host: + description: Name of the machine from where the logs are being sent. + example: i-0123 + type: string + message: + description: |- + The message [reserved attribute](https://docs.datadoghq.com/logs/log_collection/#reserved-attributes) + of your log. By default, Datadog ingests the value of the message attribute as the body of the log entry. + That value is then highlighted and displayed in the Logstream, where it is indexed for full text search. + example: Host connected to remote + type: string + service: + description: |- + The name of the application or service generating the log events. + It is used to switch from Logs to APM, so make sure you define the same + value when you use both products. + example: agent + type: string + tags: + description: Array of tags associated with your log. + example: + - team:A + items: + description: Tag associated with your log. + type: string + type: array + timestamp: + description: Timestamp of your log. + example: '2020-05-26T13:36:14Z' + format: date-time + type: string + type: object + LogsExclusionFilter: + description: Exclusion filter is defined by a query, a sampling rule, and a active/inactive toggle. + properties: + query: + description: |- + Default query is `*`, meaning all logs flowing in the index would be excluded. + Scope down exclusion filter to only a subset of logs with a log query. + example: '*' + type: string + sample_attribute: + description: |- + Sample attribute to use for the sampling of logs going through this exclusion filter. + When set, only the logs with the specified attribute are sampled. + example: '@ci.job_id' + type: string + sample_rate: + description: |- + Sample rate to apply to logs going through this exclusion filter, + a value of 1.0 excludes all logs matching the query. + example: 1 + format: double + type: number + required: + - sample_rate + type: object + LogsGrokParser: + description: |- + Create custom grok rules to parse the full message or [a specific attribute of your raw event](https://docs.datadoghq.com/logs/log_configuration/parsing/#advanced-settings). + For more information, see the [parsing section](https://docs.datadoghq.com/logs/log_configuration/parsing). + properties: + grok: + $ref: '#/components/schemas/LogsGrokParserRules' + is_enabled: + default: false + description: Whether or not the processor is enabled. + type: boolean + name: + description: Name of the processor. + type: string + samples: + description: List of sample logs to test this grok parser. + items: + description: A log sample that is used to test the grok parser. + maxLength: 5000 + type: string + maxItems: 5 + type: array + source: + default: message + description: Name of the log attribute to parse. + example: message + type: string + type: + $ref: '#/components/schemas/LogsGrokParserType' + required: + - source + - grok + - type + type: object + LogsDateRemapper: + description: |- + As Datadog receives logs, it timestamps them using the value(s) from any of these default attributes. + + - `timestamp` + - `date` + - `_timestamp` + - `Timestamp` + - `eventTime` + - `published_date` + + If your logs put their dates in an attribute not in this list, + use the log date Remapper Processor to define their date attribute as the official log timestamp. + The recognized date formats are ISO8601, UNIX (the milliseconds EPOCH format), and RFC3164. + + **Note:** If your logs don’t contain any of the default attributes + and you haven’t defined your own date attribute, Datadog timestamps + the logs with the date it received them. + + If multiple log date remapper processors can be applied to a given log, + only the first one (according to the pipelines order) is taken into account. + properties: + is_enabled: + default: false + description: Whether or not the processor is enabled. + type: boolean + name: + description: Name of the processor. + type: string + sources: + description: Array of source attributes. + example: + - web + - gateway + items: + description: Attribute used as a source to define the log associated date. + type: string + type: array + type: + $ref: '#/components/schemas/LogsDateRemapperType' + required: + - sources + - type + type: object + LogsStatusRemapper: + description: |- + Use this Processor if you want to assign some attributes as the official status. + + Each incoming status value is mapped as follows. + + - Integers from 0 to 7 map to the Syslog severity standards + - Strings beginning with `emerg` or f (case-insensitive) map to `emerg` (0) + - Strings beginning with `a` (case-insensitive) map to `alert` (1) + - Strings beginning with `c` (case-insensitive) map to `critical` (2) + - Strings beginning with `err` (case-insensitive) map to `error` (3) + - Strings beginning with `w` (case-insensitive) map to `warning` (4) + - Strings beginning with `n` (case-insensitive) map to `notice` (5) + - Strings beginning with `i` (case-insensitive) map to `info` (6) + - Strings beginning with `d`, `trace` or `verbose` (case-insensitive) map to `debug` (7) + - Strings beginning with `o` or matching `OK` or `Success` (case-insensitive) map to OK + - All others map to `info` (6) + + **Note:** If multiple log status remapper processors can be applied to a given log, + only the first one (according to the pipelines order) is taken into account. + properties: + is_enabled: + default: false + description: Whether or not the processor is enabled. + type: boolean + name: + description: Name of the processor. + type: string + sources: + description: Array of source attributes. + example: [] + items: + description: Attribute used as a source to define the log associated status. + type: string + type: array + type: + $ref: '#/components/schemas/LogsStatusRemapperType' + required: + - sources + - type + type: object + LogsServiceRemapper: + description: |- + Use this processor if you want to assign one or more attributes as the official service. + + **Note:** If multiple service remapper processors can be applied to a given log, + only the first one (according to the pipeline order) is taken into account. + properties: + is_enabled: + default: false + description: Whether or not the processor is enabled. + type: boolean + name: + description: Name of the processor. + type: string + sources: + description: Array of source attributes. + example: + - web + - gateway + items: + description: Attribute used as a source to define the log associated service. + type: string + type: array + type: + $ref: '#/components/schemas/LogsServiceRemapperType' + required: + - sources + - type + type: object + LogsMessageRemapper: + description: |- + The message is a key attribute in Datadog. + It is displayed in the message column of the Log Explorer and you can do full string search on it. + Use this Processor to define one or more attributes as the official log message. + + **Note:** If multiple log message remapper processors can be applied to a given log, + only the first one (according to the pipeline order) is taken into account. + properties: + is_enabled: + default: false + description: Whether or not the processor is enabled. + type: boolean + name: + description: Name of the processor. + type: string + sources: + default: + - msg + description: Array of source attributes. + example: + - msg + items: + description: Attribute used as a source to define the log associated message. + type: string + type: array + type: + $ref: '#/components/schemas/LogsMessageRemapperType' + required: + - sources + - type + type: object + LogsAttributeRemapper: + description: |- + The remapper processor remaps any source attribute(s) or tag to another target attribute or tag. + Constraints on the tag/attribute name are explained in the [Tag Best Practice documentation](https://docs.datadoghq.com/logs/guide/log-parsing-best-practice). + Some additional constraints are applied as `:` or `,` are not allowed in the target tag/attribute name. + properties: + is_enabled: + default: false + description: Whether or not the processor is enabled. + type: boolean + name: + description: Name of the processor. + type: string + override_on_conflict: + default: false + description: Whether to override the target element if it's already set. + type: boolean + preserve_source: + default: false + description: Remove or preserve the remapped source element. + type: boolean + source_type: + default: attribute + description: Defines if the sources are from log `attribute` or `tag`. + type: string + sources: + description: Array of source attributes. + example: + - web + - gateway + items: + description: Attribute used as a source to remap its value to the target attribute. + type: string + type: array + target: + description: Final attribute or tag name to remap the sources to. + example: operation_id + type: string + target_format: + $ref: '#/components/schemas/TargetFormatType' + target_type: + default: attribute + description: Defines if the final attribute or tag name is from log `attribute` or `tag`. + type: string + type: + $ref: '#/components/schemas/LogsAttributeRemapperType' + required: + - sources + - target + - type + type: object + LogsURLParser: + description: This processor extracts query parameters and other important parameters from a URL. + properties: + is_enabled: + default: false + description: Whether or not the processor is enabled. + type: boolean + name: + description: Name of the processor. + type: string + normalize_ending_slashes: + default: false + description: Normalize the ending slashes or not. + nullable: true + type: boolean + sources: + default: + - http.url + description: Array of source attributes. + example: + - http.url + items: + description: Attribute to extract the URL from. + type: string + type: array + target: + default: http.url_details + description: Name of the parent attribute that contains all the extracted details from the `sources`. + example: http.url_details + type: string + type: + $ref: '#/components/schemas/LogsURLParserType' + required: + - sources + - target + - type + type: object + LogsUserAgentParser: + description: |- + The User-Agent parser takes a User-Agent attribute and extracts the OS, browser, device, and other user data. + It recognizes major bots like the Google Bot, Yahoo Slurp, and Bing. + properties: + is_enabled: + default: false + description: Whether or not the processor is enabled. + type: boolean + is_encoded: + default: false + description: Define if the source attribute is URL encoded or not. + type: boolean + name: + description: Name of the processor. + type: string + sources: + default: + - http.useragent + description: Array of source attributes. + example: + - http.useragent + items: + description: Attribute to extract the User-Agent from. + type: string + type: array + target: + default: http.useragent_details + description: Name of the parent attribute that contains all the extracted details from the `sources`. + example: http.useragent_details + type: string + type: + $ref: '#/components/schemas/LogsUserAgentParserType' + required: + - sources + - target + - type + type: object + LogsCategoryProcessor: + description: |- + Use the Category Processor to add a new attribute (without spaces or special characters in the new attribute name) + to a log matching a provided search query. Use categories to create groups for an analytical view. + For example, URL groups, machine groups, environments, and response time buckets. + + **Notes**: + + - The syntax of the query is the one of Logs Explorer search bar. + The query can be done on any log attribute or tag, whether it is a facet or not. + Wildcards can also be used inside your query. + - Once the log has matched one of the Processor queries, it stops. + Make sure they are properly ordered in case a log could match several queries. + - The names of the categories must be unique. + - Once defined in the Category Processor, you can map categories to log status using the Log Status Remapper. + properties: + categories: + description: |- + Array of filters to match or not a log and their + corresponding `name` to assign a custom value to the log. + example: [] + items: + $ref: '#/components/schemas/LogsCategoryProcessorCategory' + type: array + is_enabled: + default: false + description: Whether or not the processor is enabled. + type: boolean + name: + description: Name of the processor. + type: string + target: + description: Name of the target attribute which value is defined by the matching category. + example: '' + type: string + type: + $ref: '#/components/schemas/LogsCategoryProcessorType' + required: + - categories + - target + - type + type: object + LogsArithmeticProcessor: + description: |- + Use the Arithmetic Processor to add a new attribute (without spaces or special characters + in the new attribute name) to a log with the result of the provided formula. + This enables you to remap different time attributes with different units into a single attribute, + or to compute operations on attributes within the same log. + + The formula can use parentheses and the basic arithmetic operators `-`, `+`, `*`, `/`. + + By default, the calculation is skipped if an attribute is missing. + Select “Replace missing attribute by 0” to automatically populate + missing attribute values with 0 to ensure that the calculation is done. + An attribute is missing if it is not found in the log attributes, + or if it cannot be converted to a number. + + *Notes*: + + - The operator `-` needs to be space split in the formula as it can also be contained in attribute names. + - If the target attribute already exists, it is overwritten by the result of the formula. + - Results are rounded up to the 9th decimal. For example, if the result of the formula is `0.1234567891`, + the actual value stored for the attribute is `0.123456789`. + - If you need to scale a unit of measure, + see [Scale Filter](https://docs.datadoghq.com/logs/log_configuration/parsing/?tab=filter#matcher-and-filter). + properties: + expression: + description: Arithmetic operation between one or more log attributes. + example: '' + type: string + is_enabled: + default: false + description: Whether or not the processor is enabled. + type: boolean + is_replace_missing: + default: false + description: |- + If `true`, it replaces all missing attributes of expression by `0`, `false` + skip the operation if an attribute is missing. + type: boolean + name: + description: Name of the processor. + type: string + target: + description: Name of the attribute that contains the result of the arithmetic operation. + example: '' + type: string + type: + $ref: '#/components/schemas/LogsArithmeticProcessorType' + required: + - target + - expression + - type + type: object + LogsStringBuilderProcessor: + description: |- + Use the string builder processor to add a new attribute (without spaces or special characters) + to a log with the result of the provided template. + This enables aggregation of different attributes or raw strings into a single attribute. + + The template is defined by both raw text and blocks with the syntax `%{attribute_path}`. + + **Notes**: + + - The processor only accepts attributes with values or an array of values in the blocks. + - If an attribute cannot be used (object or array of object), + it is replaced by an empty string or the entire operation is skipped depending on your selection. + - If the target attribute already exists, it is overwritten by the result of the template. + - Results of the template cannot exceed 256 characters. + properties: + is_enabled: + default: false + description: Whether or not the processor is enabled. + type: boolean + is_replace_missing: + default: false + description: |- + If true, it replaces all missing attributes of `template` by an empty string. + If `false` (default), skips the operation for missing attributes. + type: boolean + name: + description: Name of the processor. + type: string + target: + description: The name of the attribute that contains the result of the template. + example: '' + type: string + template: + description: A formula with one or more attributes and raw text. + example: '' + type: string + type: + $ref: '#/components/schemas/LogsStringBuilderProcessorType' + required: + - target + - template + - type + type: object + LogsPipelineProcessor: + description: |- + Nested Pipelines are pipelines within a pipeline. Use Nested Pipelines to split the processing into two steps. + For example, first use a high-level filtering such as team and then a second level of filtering based on the + integration, service, or any other tag or attribute. + + A pipeline can contain Nested Pipelines and Processors whereas a Nested Pipeline can only contain Processors. + properties: + description: + description: A description of the pipeline. + type: string + filter: + $ref: '#/components/schemas/LogsFilter' + is_enabled: + default: false + description: Whether or not the processor is enabled. + type: boolean + name: + description: Name of the processor. + type: string + processors: + description: Ordered list of processors in this pipeline. + items: + $ref: '#/components/schemas/LogsProcessor' + type: array + tags: + description: A list of tags associated with the pipeline. + items: + description: A single tag using the format `key:value`. + type: string + type: array + type: + $ref: '#/components/schemas/LogsPipelineProcessorType' + required: + - type + type: object + LogsGeoIPParser: + description: |- + The GeoIP parser takes an IP address attribute and extracts if available + the Continent, Country, Subdivision, and City information in the target attribute path. + properties: + is_enabled: + default: false + description: Whether or not the processor is enabled. + type: boolean + name: + description: Name of the processor. + type: string + sources: + default: + - network.client.ip + description: Array of source attributes. + example: + - network.client.ip + items: + description: Attribute to geo-localize the IP from. + type: string + type: array + target: + default: network.client.geoip + description: Name of the parent attribute that contains all the extracted details from the `sources`. + example: network.client.geoip + type: string + type: + $ref: '#/components/schemas/LogsGeoIPParserType' + required: + - sources + - target + - type + type: object + LogsLookupProcessor: + description: |- + Use the Lookup Processor to define a mapping between a log attribute + and a human readable value saved in the processors mapping table. + For example, you can use the Lookup Processor to map an internal service ID + into a human readable service name. Alternatively, you could also use it to check + if the MAC address that just attempted to connect to the production + environment belongs to your list of stolen machines. + properties: + default_lookup: + description: Value to set the target attribute if the source value is not found in the list. + type: string + is_enabled: + default: false + description: Whether or not the processor is enabled. + type: boolean + lookup_table: + description: |- + Mapping table of values for the source attribute and their associated target attribute values, + formatted as `["source_key1,target_value1", "source_key2,target_value2"]` + example: + - source_key1,target_value1 + - source_key2,target_value2 + items: + description: Mapping between a source and a value, it should follow the format `","`. + type: string + type: array + name: + description: Name of the processor. + type: string + source: + description: Source attribute used to perform the lookup. + example: service_id + type: string + target: + description: |- + Name of the attribute that contains the corresponding value in the mapping list + or the `default_lookup` if not found in the mapping list. + example: service + type: string + type: + $ref: '#/components/schemas/LogsLookupProcessorType' + required: + - source + - target + - lookup_table + - type + type: object + ReferenceTableLogsLookupProcessor: + description: |- + **Note**: Reference Tables are in public beta. + Use the Lookup Processor to define a mapping between a log attribute + and a human readable value saved in a Reference Table. + For example, you can use the Lookup Processor to map an internal service ID + into a human readable service name. Alternatively, you could also use it to check + if the MAC address that just attempted to connect to the production + environment belongs to your list of stolen machines. + properties: + is_enabled: + default: false + description: Whether or not the processor is enabled. + type: boolean + lookup_enrichment_table: + description: Name of the Reference Table for the source attribute and their associated target attribute values. + example: service_id_to_service_name_table + type: string + name: + description: Name of the processor. + type: string + source: + description: Source attribute used to perform the lookup. + example: service_id + type: string + target: + description: Name of the attribute that contains the corresponding value in the mapping list. + example: service + type: string + type: + $ref: '#/components/schemas/LogsLookupProcessorType' + required: + - source + - target + - lookup_enrichment_table + - type + type: object + LogsTraceRemapper: + description: |- + There are two ways to improve correlation between application traces and logs. + + 1. Follow the documentation on [how to inject a trace ID in the application logs](https://docs.datadoghq.com/tracing/connect_logs_and_traces) + and by default log integrations take care of all the rest of the setup. + + 2. Use the Trace remapper processor to define a log attribute as its associated trace ID. + properties: + is_enabled: + default: false + description: Whether or not the processor is enabled. + type: boolean + name: + description: Name of the processor. + type: string + sources: + default: + - dd.trace_id + description: Array of source attributes. + items: + description: Attribute to extract the trace ID from. + type: string + type: array + type: + $ref: '#/components/schemas/LogsTraceRemapperType' + required: + - type + type: object + LogsSpanRemapper: + description: |- + There are two ways to define correlation between application spans and logs: + + 1. Follow the documentation on [how to inject a span ID in the application logs](https://docs.datadoghq.com/tracing/connect_logs_and_traces). + Log integrations automatically handle all remaining setup steps by default. + + 2. Use the span remapper processor to define a log attribute as its associated span ID. + properties: + is_enabled: + default: false + description: Whether or not the processor is enabled. + type: boolean + name: + description: Name of the processor. + type: string + sources: + default: + - dd.span_id + description: Array of source attributes. + items: + description: Attribute to extract the span ID from. + type: string + type: array + type: + $ref: '#/components/schemas/LogsSpanRemapperType' + required: + - type + type: object + LogsArrayProcessor: + description: |- + A processor for extracting, aggregating, or transforming values from JSON arrays within your logs. + Supported operations are: + - Select value from matching element + - Compute array length + - Append a value to an array + - Extract key-value pairs from an array + properties: + is_enabled: + default: false + description: Whether or not the processor is enabled. + type: boolean + name: + description: Name of the processor. + type: string + operation: + $ref: '#/components/schemas/LogsArrayProcessorOperation' + type: + $ref: '#/components/schemas/LogsArrayProcessorType' + required: + - operation + - type + type: object + LogsDecoderProcessor: + description: |- + The decoder processor decodes any source attribute containing a + base64/base16-encoded UTF-8/ASCII string back to its original value, storing the + result in a target attribute. + properties: + binary_to_text_encoding: + $ref: '#/components/schemas/LogsDecoderProcessorBinaryToTextEncoding' + input_representation: + $ref: '#/components/schemas/LogsDecoderProcessorInputRepresentation' + is_enabled: + default: false + description: Whether the processor is enabled. + type: boolean + name: + description: Name of the processor. + type: string + source: + description: Name of the log attribute with the encoded data. + example: encoded.field + type: string + target: + description: Name of the log attribute that contains the decoded data. + example: decoded.field + type: string + type: + $ref: '#/components/schemas/LogsDecoderProcessorType' + required: + - source + - target + - binary_to_text_encoding + - input_representation + - type + type: object + LogsSchemaProcessor: + description: A processor that has additional validations and checks for a given schema. Currently supported schema types include OCSF. + properties: + is_enabled: + default: false + description: Whether or not the processor is enabled. + type: boolean + mappers: + description: The `LogsSchemaProcessor` `mappers`. + example: + - name: Map userIdentity to ocsf.user.uid + sources: + - userIdentity.principalId + target: ocsf.user.uid + type: schema-remapper + items: + $ref: '#/components/schemas/LogsSchemaMapper' + type: array + name: + description: Name of the processor. + example: Map additionalEventData.LoginTo to ocsf.dst_endpoint.svc_name + type: string + schema: + $ref: '#/components/schemas/LogsSchemaData' + type: + $ref: '#/components/schemas/LogsSchemaProcessorType' + required: + - name + - mappers + - type + - schema + type: object + LogsExcludeAttributeProcessor: + description: |- + Use this processor to remove an attribute from a log during processing. + The processor strips the specified attribute from the log event, which is useful + when the attribute contains sensitive data or is no longer needed downstream. + properties: + attribute_to_exclude: + description: Name of the log attribute to remove from the log event. + example: foo + type: string + is_enabled: + default: false + description: Whether or not the processor is enabled. + type: boolean + name: + description: Name of the processor. + type: string + type: + $ref: '#/components/schemas/LogsExcludeAttributeProcessorType' + required: + - type + - attribute_to_exclude + type: object + LogsArrayMapProcessor: + description: |- + The array-map processor transforms each element of a source array by applying + sub-processors in order and collecting the results into a target array. + Results can be written to a new array, to the source array (in-place), or to + an existing target array. Sub-processors can read from `$sourceElem.` + (object element field), bare `$sourceElem` (primitive element), or any parent + log attribute path. Sub-processors write to `$targetElem.` (object + output field) or bare `$targetElem` (primitive output). + properties: + is_enabled: + default: false + description: Whether or not the processor is enabled. + type: boolean + name: + description: Name of the processor. + type: string + preserve_source: + default: true + description: |- + When `false` and `source != target`, the source attribute is removed after + processing. Cannot be `false` when `source == target`. + type: boolean + processors: + description: |- + Sub-processors applied to each element. Allowed types: `attribute-remapper`, + `string-builder-processor`, `arithmetic-processor`, `category-processor`. + items: + $ref: '#/components/schemas/LogsArrayMapSubProcessor' + type: array + source: + description: |- + Attribute path of the source array. Elements are read-only via `$sourceElem` + inside sub-processors. + example: detail.resource.s3BucketDetails + type: string + target: + description: |- + Attribute path of the output array. Sub-processors write to `$targetElem` + (or `$targetElem.`) to build each output element. + example: ocsf.resources + type: string + type: + $ref: '#/components/schemas/LogsArrayMapProcessorType' + required: + - source + - target + - processors + - type + type: object + LogsGroupByMissingString: + description: The missing value to use if there is string valued facet. + type: string + LogsGroupByMissingNumber: + description: The missing value to use if there is a number valued facet. + format: double + type: number + LogsSortOrder: + description: The order to use, ascending or descending + enum: + - asc + - desc + example: asc + type: string + x-enum-varnames: + - ASCENDING + - DESCENDING + LogsAggregateSortType: + default: alphabetical + description: The type of sorting algorithm + enum: + - alphabetical + - measure + type: string + x-enum-varnames: + - ALPHABETICAL + - MEASURE + LogsGroupByTotalBoolean: + description: If set to true, creates an additional bucket labeled "$facet_total" + type: boolean + LogsGroupByTotalString: + description: A string to use as the key value for the total bucket + type: string + LogsGroupByTotalNumber: + description: A number to use as the key value for the total bucket + format: double + type: number + LogsAggregateBucketValue: + description: A bucket value, can be either a timeseries or a single value + type: string + format: double + items: + $ref: '#/components/schemas/LogsAggregateBucketValueTimeseriesPoint' + x-generate-alias-as-model: true + LogsArchiveAttributesCompressionMethod: + default: GZIP + description: The type of compression for the archive. + enum: + - GZIP + - ZSTD + example: GZIP + type: string + x-enum-varnames: + - GZIP + - ZSTD + LogsArchiveDestination: + description: An archive's destination. + nullable: true + type: object + properties: + container: + description: The container where the archive will be stored. + example: container-name + type: string + integration: + $ref: '#/components/schemas/LogsArchiveIntegrationAzure' + path: + description: The archive path. + type: string + region: + description: The region where the archive will be stored. + type: string + storage_account: + description: The associated storage account. + example: account-name + type: string + type: + $ref: '#/components/schemas/LogsArchiveDestinationAzureType' + bucket: + description: The bucket where the archive will be stored. + example: bucket-name + type: string + encryption: + $ref: '#/components/schemas/LogsArchiveEncryptionS3' + storage_class: + $ref: '#/components/schemas/LogsArchiveStorageClassS3Type' + required: + - storage_account + - container + - integration + - type + - bucket + LogsArchiveState: + description: The state of the archive. + enum: + - UNKNOWN + - WORKING + - FAILING + - WORKING_AUTH_LEGACY + example: WORKING + type: string + x-enum-varnames: + - UNKNOWN + - WORKING + - FAILING + - WORKING_AUTH_LEGACY + LogsArchiveCreateRequestDestination: + description: An archive's destination. + properties: + container: + description: The container where the archive will be stored. + example: container-name + type: string + integration: + $ref: '#/components/schemas/LogsArchiveIntegrationAzure' + path: + description: The archive path. + type: string + region: + description: The region where the archive will be stored. + type: string + storage_account: + description: The associated storage account. + example: account-name + type: string + type: + $ref: '#/components/schemas/LogsArchiveDestinationAzureType' + bucket: + description: The bucket where the archive will be stored. + example: bucket-name + type: string + encryption: + $ref: '#/components/schemas/LogsArchiveEncryptionS3' + storage_class: + $ref: '#/components/schemas/LogsArchiveStorageClassS3Type' + required: + - storage_account + - container + - integration + - type + - bucket + type: object + RelationshipToPermissions: + description: Relationship to multiple permissions objects. + properties: + data: + description: Relationships to permission objects. + items: + $ref: '#/components/schemas/RelationshipToPermissionData' + type: array + type: object + CustomDestinationAttributeTagsRestrictionListType: + default: ALLOW_LIST + description: |- + How `forward_tags_restriction_list` parameter should be interpreted. + If `ALLOW_LIST`, then only tags whose keys on the forwarded logs match the ones on the restriction list + are forwarded. + + `BLOCK_LIST` works the opposite way. It does not forward the tags matching the ones on the list. + enum: + - ALLOW_LIST + - BLOCK_LIST + example: ALLOW_LIST + type: string + x-enum-varnames: + - ALLOW_LIST + - BLOCK_LIST + CustomDestinationResponseForwardDestination: + description: A custom destination's location to forward logs. + properties: + auth: + $ref: '#/components/schemas/CustomDestinationResponseHttpDestinationAuth' + endpoint: + description: |- + The destination for which logs will be forwarded to. + Must have HTTPS scheme and forwarding back to Datadog is not allowed. + example: https://example.com + type: string + type: + $ref: '#/components/schemas/CustomDestinationResponseForwardDestinationHttpType' + sourcetype: + description: |- + The Splunk sourcetype for the events sent to this Splunk destination. + + If the field is absent from the request and no sourcetype has been previously set on this destination, the default sourcetype `_json` is used. + On update, if the field is absent from the request but a sourcetype was previously set, the previous value is kept. + If set to `null`, the sourcetype field is omitted from the forwarded event entirely. + Otherwise, the provided string value is used as the sourcetype. + example: my-source + nullable: true + type: string + index_name: + description: Name of the Elasticsearch index (must follow [Elasticsearch's criteria](https://www.elastic.co/guide/en/elasticsearch/reference/8.11/indices-create-index.html#indices-create-api-path-params)). + example: nginx-logs + type: string + index_rotation: + description: |- + Date pattern with US locale and UTC timezone to be appended to the index name after adding `-` + (that is, `${index_name}-${indexPattern}`). + You can customize the index rotation naming pattern by choosing one of these options: + - Hourly: `yyyy-MM-dd-HH` (as an example, it would render: `2022-10-19-09`) + - Daily: `yyyy-MM-dd` (as an example, it would render: `2022-10-19`) + - Weekly: `yyyy-'W'ww` (as an example, it would render: `2022-W42`) + - Monthly: `yyyy-MM` (as an example, it would render: `2022-10`) + + If this field is missing or is blank, it means that the index name will always be the same + (that is, no rotation). + example: yyyy-MM-dd + type: string + client_id: + description: Client ID from the Datadog Azure integration. + example: 9a2f4d83-2b5e-429e-a35a-2b3c4182db71 + type: string + data_collection_endpoint: + description: Azure data collection endpoint. + example: https://my-dce-5kyl.eastus-1.ingest.monitor.azure.com + type: string + data_collection_rule_id: + description: Azure data collection rule ID. + example: dcr-000a00a000a00000a000000aa000a0aa + type: string + stream_name: + description: Azure stream name. + example: Custom-MyTable + type: string + writeOnly: true + tenant_id: + description: Tenant ID from the Datadog Azure integration. + example: f3c9a8a1-4c2e-4d2e-b911-9f3c28c3c8b2 + type: string + required: + - type + - endpoint + - auth + - index_name + - tenant_id + - client_id + - data_collection_endpoint + - data_collection_rule_id + - stream_name + type: object + CustomDestinationForwardDestination: + description: A custom destination's location to forward logs. + properties: + auth: + $ref: '#/components/schemas/CustomDestinationHttpDestinationAuth' + endpoint: + description: |- + The destination for which logs will be forwarded to. + Must have HTTPS scheme and forwarding back to Datadog is not allowed. + example: https://example.com + type: string + type: + $ref: '#/components/schemas/CustomDestinationForwardDestinationHttpType' + access_token: + description: Access token of the Splunk HTTP Event Collector. This field is not returned by the API. + example: splunk_access_token + type: string + writeOnly: true + sourcetype: + description: |- + The Splunk sourcetype for the events sent to this Splunk destination. + + If the field is absent from the request and no sourcetype has been previously set on this destination, the default sourcetype `_json` is used. + On update, if the field is absent from the request but a sourcetype was previously set, the previous value is kept. + If set to `null`, the sourcetype field is omitted from the forwarded event entirely. + Otherwise, the provided string value is used as the sourcetype. + example: my-source + nullable: true + type: string + index_name: + description: Name of the Elasticsearch index (must follow [Elasticsearch's criteria](https://www.elastic.co/guide/en/elasticsearch/reference/8.11/indices-create-index.html#indices-create-api-path-params)). + example: nginx-logs + type: string + index_rotation: + description: |- + Date pattern with US locale and UTC timezone to be appended to the index name after adding `-` + (that is, `${index_name}-${indexPattern}`). + You can customize the index rotation naming pattern by choosing one of these options: + - Hourly: `yyyy-MM-dd-HH` (as an example, it would render: `2022-10-19-09`) + - Daily: `yyyy-MM-dd` (as an example, it would render: `2022-10-19`) + - Weekly: `yyyy-'W'ww` (as an example, it would render: `2022-W42`) + - Monthly: `yyyy-MM` (as an example, it would render: `2022-10`) + + If this field is missing or is blank, it means that the index name will always be the same + (that is, no rotation). + example: yyyy-MM-dd + type: string + client_id: + description: Client ID from the Datadog Azure integration. + example: 9a2f4d83-2b5e-429e-a35a-2b3c4182db71 + type: string + data_collection_endpoint: + description: Azure data collection endpoint. + example: https://my-dce-5kyl.eastus-1.ingest.monitor.azure.com + type: string + data_collection_rule_id: + description: Azure data collection rule ID. + example: dcr-000a00a000a00000a000000aa000a0aa + type: string + stream_name: + description: Azure stream name. + example: Custom-MyTable + type: string + writeOnly: true + tenant_id: + description: Tenant ID from the Datadog Azure integration. + example: f3c9a8a1-4c2e-4d2e-b911-9f3c28c3c8b2 + type: string + required: + - type + - endpoint + - auth + - access_token + - index_name + - tenant_id + - client_id + - data_collection_endpoint + - data_collection_rule_id + - stream_name + type: object + LogsMetricResponseCompute: + description: The compute rule to compute the log-based metric. + properties: + aggregation_type: + $ref: '#/components/schemas/LogsMetricResponseComputeAggregationType' + include_percentiles: + $ref: '#/components/schemas/LogsMetricComputeIncludePercentiles' + path: + description: The path to the value the log-based metric will aggregate on (only used if the aggregation type is a "distribution"). + example: '@duration' + type: string + type: object + LogsMetricResponseFilter: + description: The log-based metric filter. Logs matching this filter will be aggregated in this metric. + properties: + query: + description: The search query - following the log search syntax. + example: service:web* AND @http.status_code:[200 TO 299] + type: string + type: object + LogsMetricResponseGroupBy: + description: A group by rule. + properties: + path: + description: The path to the value the log-based metric will be aggregated over. + example: '@http.status_code' + type: string + tag_name: + description: Eventual name of the tag that gets created. By default, the path attribute is used as the tag name. + example: status_code + type: string + type: object + LogsMetricCompute: + description: The compute rule to compute the log-based metric. + properties: + aggregation_type: + $ref: '#/components/schemas/LogsMetricComputeAggregationType' + include_percentiles: + $ref: '#/components/schemas/LogsMetricComputeIncludePercentiles' + path: + description: The path to the value the log-based metric will aggregate on (only used if the aggregation type is a "distribution"). + example: '@duration' + type: string + required: + - aggregation_type + type: object + LogsMetricFilter: + description: The log-based metric filter. Logs matching this filter will be aggregated in this metric. + properties: + query: + default: '*' + description: The search query - following the log search syntax. + example: service:web* AND @http.status_code:[200 TO 299] + type: string + type: object + LogsMetricGroupBy: + description: A group by rule. + properties: + path: + description: The path to the value the log-based metric will be aggregated over. + example: '@http.status_code' + type: string + tag_name: + description: Eventual name of the tag that gets created. By default, the path attribute is used as the tag name. + example: status_code + type: string + required: + - path + type: object + LogsMetricUpdateCompute: + description: The compute rule to compute the log-based metric. + properties: + include_percentiles: + $ref: '#/components/schemas/LogsMetricComputeIncludePercentiles' + type: object + RelationshipToRoles: + description: Relationship to roles. + properties: + data: + description: An array containing type and the unique identifier of a role. + items: + $ref: '#/components/schemas/RelationshipToRoleData' + type: array + type: object + ObservabilityPipelineConfig: + description: Specifies the pipeline's configuration, including its sources, processors, and destinations. + properties: + destinations: + description: A list of destination components where processed logs are sent. + example: + - id: datadog-logs-destination + inputs: + - my-processor-group + type: datadog_logs + items: + $ref: '#/components/schemas/ObservabilityPipelineConfigDestinationItem' + type: array + pipeline_type: + $ref: '#/components/schemas/ObservabilityPipelineConfigPipelineType' + processor_groups: + description: A list of processor groups that transform or enrich log data. + example: + - enabled: true + id: my-processor-group + include: service:my-service + inputs: + - datadog-agent-source + processors: + - enabled: true + id: filter-processor + include: status:error + type: filter + - enabled: true + field: message + id: json-processor + include: '*' + type: parse_json + items: + $ref: '#/components/schemas/ObservabilityPipelineConfigProcessorGroup' + type: array + processors: + deprecated: true + description: |- + A list of processor groups that transform or enrich log data. + + **Deprecated:** This field is deprecated, you should now use the processor_groups field. + example: [] + items: + $ref: '#/components/schemas/ObservabilityPipelineConfigProcessorGroup' + type: array + sources: + description: A list of configured data sources for the pipeline. + example: + - id: datadog-agent-source + type: datadog_agent + items: + $ref: '#/components/schemas/ObservabilityPipelineConfigSourceItem' + type: array + use_legacy_search_syntax: + description: |- + Set to `true` to continue using the legacy search syntax while migrating filter queries. After migrating all queries to the new syntax, set to `false`. + The legacy syntax is deprecated and will eventually be removed. + Requires Observability Pipelines Worker 2.11 or later. + Only applies to `logs` pipelines. This field is ignored for `metrics` pipelines. + See [Upgrade Your Filter Queries to the New Search Syntax](https://docs.datadoghq.com/observability_pipelines/guide/upgrade_your_filter_queries_to_the_new_search_syntax/) for more information. + type: boolean + required: + - sources + - destinations + type: object + LogsGrokParserRules: + description: Set of rules for the grok parser. + properties: + match_rules: + description: List of match rules for the grok parser, separated by a new line. + example: |- + rule_name_1 foo + rule_name_2 bar + type: string + support_rules: + default: '' + description: List of support rules for the grok parser, separated by a new line. + example: |- + rule_name_1 foo + rule_name_2 bar + type: string + required: + - match_rules + type: object + LogsGrokParserType: + default: grok-parser + description: Type of logs grok parser. + enum: + - grok-parser + example: grok-parser + type: string + x-enum-varnames: + - GROK_PARSER + LogsDateRemapperType: + default: date-remapper + description: Type of logs date remapper. + enum: + - date-remapper + example: date-remapper + type: string + x-enum-varnames: + - DATE_REMAPPER + LogsStatusRemapperType: + default: status-remapper + description: Type of logs status remapper. + enum: + - status-remapper + example: status-remapper + type: string + x-enum-varnames: + - STATUS_REMAPPER + LogsServiceRemapperType: + default: service-remapper + description: Type of logs service remapper. + enum: + - service-remapper + example: service-remapper + type: string + x-enum-varnames: + - SERVICE_REMAPPER + LogsMessageRemapperType: + default: message-remapper + description: Type of logs message remapper. + enum: + - message-remapper + example: message-remapper + type: string + x-enum-varnames: + - MESSAGE_REMAPPER + TargetFormatType: + description: |- + If the `target_type` of the remapper is `attribute`, try to cast the value to a new specific type. + If the cast is not possible, the original type is kept. `string`, `integer`, or `double` are the possible types. + If the `target_type` is `tag`, this parameter may not be specified. + enum: + - auto + - string + - integer + - double + type: string + x-enum-varnames: + - AUTO + - STRING + - INTEGER + - DOUBLE + LogsAttributeRemapperType: + default: attribute-remapper + description: Type of logs attribute remapper. + enum: + - attribute-remapper + example: attribute-remapper + type: string + x-enum-varnames: + - ATTRIBUTE_REMAPPER + LogsURLParserType: + default: url-parser + description: Type of logs URL parser. + enum: + - url-parser + example: url-parser + type: string + x-enum-varnames: + - URL_PARSER + LogsUserAgentParserType: + default: user-agent-parser + description: Type of logs User-Agent parser. + enum: + - user-agent-parser + example: user-agent-parser + type: string + x-enum-varnames: + - USER_AGENT_PARSER + LogsCategoryProcessorCategory: + description: Object describing the logs filter. + properties: + filter: + $ref: '#/components/schemas/LogsFilter' + name: + description: Value to assign to the target attribute. + type: string + type: object + LogsCategoryProcessorType: + default: category-processor + description: Type of logs category processor. + enum: + - category-processor + example: category-processor + type: string + x-enum-varnames: + - CATEGORY_PROCESSOR + LogsArithmeticProcessorType: + default: arithmetic-processor + description: Type of logs arithmetic processor. + enum: + - arithmetic-processor + example: arithmetic-processor + type: string + x-enum-varnames: + - ARITHMETIC_PROCESSOR + LogsStringBuilderProcessorType: + default: string-builder-processor + description: Type of logs string builder processor. + enum: + - string-builder-processor + example: string-builder-processor + type: string + x-enum-varnames: + - STRING_BUILDER_PROCESSOR + LogsPipelineProcessorType: + default: pipeline + description: Type of logs pipeline processor. + enum: + - pipeline + example: pipeline + type: string + x-enum-varnames: + - PIPELINE + LogsGeoIPParserType: + default: geo-ip-parser + description: Type of GeoIP parser. + enum: + - geo-ip-parser + example: geo-ip-parser + type: string + x-enum-varnames: + - GEO_IP_PARSER + LogsLookupProcessorType: + default: lookup-processor + description: Type of logs lookup processor. + enum: + - lookup-processor + example: lookup-processor + type: string + x-enum-varnames: + - LOOKUP_PROCESSOR + LogsTraceRemapperType: + default: trace-id-remapper + description: Type of logs trace remapper. + enum: + - trace-id-remapper + example: trace-id-remapper + type: string + x-enum-varnames: + - TRACE_ID_REMAPPER + LogsSpanRemapperType: + default: span-id-remapper + description: Type of logs span remapper. + enum: + - span-id-remapper + example: span-id-remapper + type: string + x-enum-varnames: + - SPAN_ID_REMAPPER + LogsArrayProcessorOperation: + description: Configuration of the array processor operation to perform. + properties: + preserve_source: + default: true + description: Remove or preserve the remapped source element. + type: boolean + source: + description: Attribute path containing the value to append. + example: network.client.ip + type: string + target: + description: Attribute path of the array to append to. + example: sourceIps + type: string + type: + $ref: '#/components/schemas/LogsArrayProcessorOperationAppendType' + filter: + description: Filter condition expressed as `key:value` used to find the matching element. + example: name:Referrer + type: string + value_to_extract: + description: Key of the value to extract from the matching element. + example: value + type: string + key_to_extract: + description: Key of the attribute in each array element that holds the name to use for the extracted attribute. + example: name + type: string + override_on_conflict: + default: false + description: Whether to override the target element if it's already set. + type: boolean + required: + - type + - source + - target + - filter + - value_to_extract + - key_to_extract + type: object + LogsArrayProcessorType: + default: array-processor + description: Type of logs array processor. + enum: + - array-processor + example: array-processor + type: string + x-enum-varnames: + - ARRAY_PROCESSOR + LogsDecoderProcessorBinaryToTextEncoding: + description: The encoding used to represent the binary data. + enum: + - base64 + - base16 + example: base64 + type: string + x-enum-varnames: + - BASE64 + - BASE16 + LogsDecoderProcessorInputRepresentation: + description: The original representation of input string. + enum: + - utf_8 + - integer + example: utf_8 + type: string + x-enum-varnames: + - UTF_8 + - INTEGER + LogsDecoderProcessorType: + default: decoder-processor + description: Type of logs decoder processor. + enum: + - decoder-processor + example: decoder-processor + type: string + x-enum-varnames: + - DECODER_PROCESSOR + LogsSchemaMapper: + description: Configuration of the schema processor mapper to use. + properties: + name: + description: Name of the logs schema remapper. + example: Map userIdentity.principalId, responseElements.role.roleId, responseElements.user.userId to ocsf.user.uid + type: string + override_on_conflict: + default: false + description: Whether to override the target element if it's already set. + type: boolean + preserve_source: + default: false + description: Remove or preserve the remapped source element. + type: boolean + sources: + description: Array of source attributes. + example: + - userIdentity.principalId + - responseElements.role.roleId + - responseElements.user.userId + items: + description: Attribute used as a source to remap its value to the target attribute. + type: string + type: array + target: + description: Target field to map log source field to. + example: ocsf.user.uid + type: string + target_format: + $ref: '#/components/schemas/TargetFormatType' + type: + $ref: '#/components/schemas/LogsSchemaRemapperType' + categories: + description: |- + Array of filters to match or not a log and their + corresponding `name` to assign a custom value to the log. + example: + - filter: + query: '@eventName:(ConsoleLogin OR ExternalIdPDirectoryLogin OR UserAuthentication OR Authenticate)' + id: 1 + name: Logon + - filter: + query: '@eventName:*' + id: 99 + name: Other + items: + $ref: '#/components/schemas/LogsSchemaCategoryMapperCategory' + type: array + fallback: + $ref: '#/components/schemas/LogsSchemaCategoryMapperFallback' + targets: + $ref: '#/components/schemas/LogsSchemaCategoryMapperTargets' + required: + - name + - sources + - target + - type + - categories + - targets + type: object + LogsSchemaData: + description: Configuration of the schema data to use. + properties: + class_name: + description: Class name of the schema to use. + example: Account Change + type: string + class_uid: + description: Class UID of the schema to use. + example: 3001 + format: int64 + type: integer + profiles: + description: Optional list of profiles to modify the schema. + example: + - security_control + - host + items: + description: A profile name that modifies the schema behavior. + type: string + type: array + schema_type: + description: Type of schema to use. + example: ocsf + type: string + version: + description: Version of the schema to use. + example: 1.5.0 + type: string + required: + - schema_type + - version + - class_uid + - class_name + type: object + LogsSchemaProcessorType: + default: schema-processor + description: Type of logs schema processor. + enum: + - schema-processor + example: schema-processor + type: string + x-enum-varnames: + - SCHEMA_PROCESSOR + LogsExcludeAttributeProcessorType: + default: exclude-attribute + description: Type of logs exclude attribute processor. + enum: + - exclude-attribute + example: exclude-attribute + type: string + x-enum-varnames: + - EXCLUDE_ATTRIBUTE + LogsArrayMapSubProcessor: + description: |- + A sub-processor used inside an array-map processor. + Allowed types: `attribute-remapper`, `string-builder-processor`, + `arithmetic-processor`, `category-processor`. + properties: + name: + description: Name of the sub-processor. + type: string + override_on_conflict: + default: false + description: Override the target element if already set. + type: boolean + preserve_source: + default: false + description: Remove or preserve the remapped source element. + type: boolean + sources: + description: Array of source attribute paths. + example: + - $sourceElem.id + items: + type: string + type: array + target: + description: Target attribute path. + example: $targetElem.uid + type: string + target_format: + $ref: '#/components/schemas/TargetFormatType' + type: + $ref: '#/components/schemas/LogsAttributeRemapperType' + expression: + description: Arithmetic operation to perform. + example: $sourceElem.count * 2 + type: string + is_replace_missing: + default: false + description: Replace missing attribute values with 0. + type: boolean + template: + description: Formula with one or more attributes and raw text. + example: item-%{$sourceElem.id} + type: string + categories: + description: Array of filters to match against a log and the corresponding value to assign. + items: + $ref: '#/components/schemas/LogsCategoryProcessorCategory' + type: array + required: + - sources + - target + - type + - expression + - template + - categories + type: object + LogsArrayMapProcessorType: + default: array-map-processor + description: Type of logs array-map processor. + enum: + - array-map-processor + example: array-map-processor + type: string + x-enum-varnames: + - ARRAY_MAP_PROCESSOR + LogsAggregateBucketValueSingleString: + description: A single string value + type: string + LogsAggregateBucketValueSingleNumber: + description: A single number value + format: double + type: number + LogsAggregateBucketValueTimeseries: + description: A timeseries array + items: + $ref: '#/components/schemas/LogsAggregateBucketValueTimeseriesPoint' + type: array + x-generate-alias-as-model: true + LogsArchiveDestinationAzure: + description: The Azure archive destination. + properties: + container: + description: The container where the archive will be stored. + example: container-name + type: string + integration: + $ref: '#/components/schemas/LogsArchiveIntegrationAzure' + path: + description: The archive path. + type: string + region: + description: The region where the archive will be stored. + type: string + storage_account: + description: The associated storage account. + example: account-name + type: string + type: + $ref: '#/components/schemas/LogsArchiveDestinationAzureType' + required: + - storage_account + - container + - integration + - type + type: object + LogsArchiveDestinationGCS: + description: The GCS archive destination. + properties: + bucket: + description: The bucket where the archive will be stored. + example: bucket-name + type: string + integration: + $ref: '#/components/schemas/LogsArchiveIntegrationGCS' + path: + description: The archive path. + type: string + type: + $ref: '#/components/schemas/LogsArchiveDestinationGCSType' + required: + - bucket + - integration + - type + type: object + LogsArchiveDestinationS3: + description: The S3 archive destination. + properties: + bucket: + description: The bucket where the archive will be stored. + example: bucket-name + type: string + encryption: + $ref: '#/components/schemas/LogsArchiveEncryptionS3' + integration: + $ref: '#/components/schemas/LogsArchiveIntegrationS3' + path: + description: The archive path. + type: string + storage_class: + $ref: '#/components/schemas/LogsArchiveStorageClassS3Type' + type: + $ref: '#/components/schemas/LogsArchiveDestinationS3Type' + required: + - bucket + - integration + - type + type: object + RelationshipToPermissionData: + description: Relationship to permission object. + properties: + id: + description: ID of the permission. + type: string + type: + $ref: '#/components/schemas/PermissionsType' + type: object + CustomDestinationResponseForwardDestinationHttp: + description: The HTTP destination. + properties: + auth: + $ref: '#/components/schemas/CustomDestinationResponseHttpDestinationAuth' + endpoint: + description: |- + The destination for which logs will be forwarded to. + Must have HTTPS scheme and forwarding back to Datadog is not allowed. + example: https://example.com + type: string + type: + $ref: '#/components/schemas/CustomDestinationResponseForwardDestinationHttpType' + required: + - type + - endpoint + - auth + type: object + CustomDestinationResponseForwardDestinationSplunk: + description: The Splunk HTTP Event Collector (HEC) destination. + properties: + endpoint: + description: |- + The destination for which logs will be forwarded to. + Must have HTTPS scheme and forwarding back to Datadog is not allowed. + example: https://example.com + type: string + sourcetype: + description: |- + The Splunk sourcetype for the events sent to this Splunk destination. + + If the field is absent from the request and no sourcetype has been previously set on this destination, the default sourcetype `_json` is used. + On update, if the field is absent from the request but a sourcetype was previously set, the previous value is kept. + If set to `null`, the sourcetype field is omitted from the forwarded event entirely. + Otherwise, the provided string value is used as the sourcetype. + example: my-source + nullable: true + type: string + type: + $ref: '#/components/schemas/CustomDestinationResponseForwardDestinationSplunkType' + required: + - type + - endpoint + type: object + CustomDestinationResponseForwardDestinationElasticsearch: + description: The Elasticsearch destination. + properties: + auth: + $ref: '#/components/schemas/CustomDestinationResponseElasticsearchDestinationAuth' + endpoint: + description: |- + The destination for which logs will be forwarded to. + Must have HTTPS scheme and forwarding back to Datadog is not allowed. + example: https://example.com + type: string + index_name: + description: Name of the Elasticsearch index (must follow [Elasticsearch's criteria](https://www.elastic.co/guide/en/elasticsearch/reference/8.11/indices-create-index.html#indices-create-api-path-params)). + example: nginx-logs + type: string + index_rotation: + description: |- + Date pattern with US locale and UTC timezone to be appended to the index name after adding `-` + (that is, `${index_name}-${indexPattern}`). + You can customize the index rotation naming pattern by choosing one of these options: + - Hourly: `yyyy-MM-dd-HH` (as an example, it would render: `2022-10-19-09`) + - Daily: `yyyy-MM-dd` (as an example, it would render: `2022-10-19`) + - Weekly: `yyyy-'W'ww` (as an example, it would render: `2022-W42`) + - Monthly: `yyyy-MM` (as an example, it would render: `2022-10`) + + If this field is missing or is blank, it means that the index name will always be the same + (that is, no rotation). + example: yyyy-MM-dd + type: string + type: + $ref: '#/components/schemas/CustomDestinationResponseForwardDestinationElasticsearchType' + required: + - type + - endpoint + - auth + - index_name + type: object + CustomDestinationResponseForwardDestinationMicrosoftSentinel: + description: The Microsoft Sentinel destination. + properties: + client_id: + description: Client ID from the Datadog Azure integration. + example: 9a2f4d83-2b5e-429e-a35a-2b3c4182db71 + type: string + data_collection_endpoint: + description: Azure data collection endpoint. + example: https://my-dce-5kyl.eastus-1.ingest.monitor.azure.com + type: string + data_collection_rule_id: + description: Azure data collection rule ID. + example: dcr-000a00a000a00000a000000aa000a0aa + type: string + stream_name: + description: Azure stream name. + example: Custom-MyTable + type: string + writeOnly: true + tenant_id: + description: Tenant ID from the Datadog Azure integration. + example: f3c9a8a1-4c2e-4d2e-b911-9f3c28c3c8b2 + type: string + type: + $ref: '#/components/schemas/CustomDestinationResponseForwardDestinationMicrosoftSentinelType' + required: + - type + - tenant_id + - client_id + - data_collection_endpoint + - data_collection_rule_id + - stream_name + type: object + CustomDestinationForwardDestinationHttp: + description: The HTTP destination. + properties: + auth: + $ref: '#/components/schemas/CustomDestinationHttpDestinationAuth' + endpoint: + description: |- + The destination for which logs will be forwarded to. + Must have HTTPS scheme and forwarding back to Datadog is not allowed. + example: https://example.com + type: string + type: + $ref: '#/components/schemas/CustomDestinationForwardDestinationHttpType' + required: + - type + - endpoint + - auth + type: object + CustomDestinationForwardDestinationSplunk: + description: The Splunk HTTP Event Collector (HEC) destination. + properties: + access_token: + description: Access token of the Splunk HTTP Event Collector. This field is not returned by the API. + example: splunk_access_token + type: string + writeOnly: true + endpoint: + description: |- + The destination for which logs will be forwarded to. + Must have HTTPS scheme and forwarding back to Datadog is not allowed. + example: https://example.com + type: string + sourcetype: + description: |- + The Splunk sourcetype for the events sent to this Splunk destination. + + If the field is absent from the request and no sourcetype has been previously set on this destination, the default sourcetype `_json` is used. + On update, if the field is absent from the request but a sourcetype was previously set, the previous value is kept. + If set to `null`, the sourcetype field is omitted from the forwarded event entirely. + Otherwise, the provided string value is used as the sourcetype. + example: my-source + nullable: true + type: string + type: + $ref: '#/components/schemas/CustomDestinationForwardDestinationSplunkType' + required: + - type + - endpoint + - access_token + type: object + CustomDestinationForwardDestinationElasticsearch: + description: The Elasticsearch destination. + properties: + auth: + $ref: '#/components/schemas/CustomDestinationElasticsearchDestinationAuth' + endpoint: + description: |- + The destination for which logs will be forwarded to. + Must have HTTPS scheme and forwarding back to Datadog is not allowed. + example: https://example.com + type: string + index_name: + description: Name of the Elasticsearch index (must follow [Elasticsearch's criteria](https://www.elastic.co/guide/en/elasticsearch/reference/8.11/indices-create-index.html#indices-create-api-path-params)). + example: nginx-logs + type: string + index_rotation: + description: |- + Date pattern with US locale and UTC timezone to be appended to the index name after adding `-` + (that is, `${index_name}-${indexPattern}`). + You can customize the index rotation naming pattern by choosing one of these options: + - Hourly: `yyyy-MM-dd-HH` (as an example, it would render: `2022-10-19-09`) + - Daily: `yyyy-MM-dd` (as an example, it would render: `2022-10-19`) + - Weekly: `yyyy-'W'ww` (as an example, it would render: `2022-W42`) + - Monthly: `yyyy-MM` (as an example, it would render: `2022-10`) + + If this field is missing or is blank, it means that the index name will always be the same + (that is, no rotation). + example: yyyy-MM-dd + type: string + type: + $ref: '#/components/schemas/CustomDestinationForwardDestinationElasticsearchType' + required: + - type + - endpoint + - auth + - index_name + type: object + CustomDestinationForwardDestinationMicrosoftSentinel: + description: The Microsoft Sentinel destination. + properties: + client_id: + description: Client ID from the Datadog Azure integration. + example: 9a2f4d83-2b5e-429e-a35a-2b3c4182db71 + type: string + data_collection_endpoint: + description: Azure data collection endpoint. + example: https://my-dce-5kyl.eastus-1.ingest.monitor.azure.com + type: string + data_collection_rule_id: + description: Azure data collection rule ID. + example: dcr-000a00a000a00000a000000aa000a0aa + type: string + stream_name: + description: Azure stream name. + example: Custom-MyTable + type: string + writeOnly: true + tenant_id: + description: Tenant ID from the Datadog Azure integration. + example: f3c9a8a1-4c2e-4d2e-b911-9f3c28c3c8b2 + type: string + type: + $ref: '#/components/schemas/CustomDestinationForwardDestinationMicrosoftSentinelType' + required: + - type + - tenant_id + - client_id + - data_collection_endpoint + - data_collection_rule_id + - stream_name + type: object + LogsMetricResponseComputeAggregationType: + description: The type of aggregation to use. + enum: + - count + - distribution + example: distribution + type: string + x-enum-varnames: + - COUNT + - DISTRIBUTION + LogsMetricComputeIncludePercentiles: + description: |- + Toggle to include or exclude percentile aggregations for distribution metrics. + Only present when the `aggregation_type` is `distribution`. + example: true + type: boolean + LogsMetricComputeAggregationType: + description: The type of aggregation to use. + enum: + - count + - distribution + example: distribution + type: string + x-enum-varnames: + - COUNT + - DISTRIBUTION + ObservabilityPipelineConfigDestinationItem: + description: A destination for the pipeline. + properties: + api_version: + $ref: '#/components/schemas/ObservabilityPipelineElasticsearchDestinationApiVersion' + auth: + $ref: '#/components/schemas/ObservabilityPipelineElasticsearchDestinationAuth' + buffer: + $ref: '#/components/schemas/ObservabilityPipelineBufferOptions' + bulk_index: + description: The name of the index to write events to in Elasticsearch. + example: logs-index + type: string + compression: + $ref: '#/components/schemas/ObservabilityPipelineElasticsearchDestinationCompression' + data_stream: + $ref: '#/components/schemas/ObservabilityPipelineElasticsearchDestinationDataStream' + endpoint_url_key: + description: Name of the environment variable or secret that holds the Elasticsearch endpoint URL. + example: ELASTICSEARCH_ENDPOINT_URL + type: string + id: + description: The unique identifier for this component. + example: elasticsearch-destination + type: string + id_key: + description: The name of the field used as the document ID in Elasticsearch. + example: id + type: string + inputs: + description: A list of component IDs whose output is used as the `input` for this component. + example: + - filter-processor + items: + description: The ID of a component whose output is used as input for this destination. + type: string + type: array + pipeline: + description: The name of an Elasticsearch ingest pipeline to apply to events before indexing. + example: my-pipeline + type: string + request_retry_partial: + description: When `true`, retries failed partial bulk requests when some events in a batch fail while others succeed. + type: boolean + tls: + $ref: '#/components/schemas/ObservabilityPipelineTls' + type: + $ref: '#/components/schemas/ObservabilityPipelineElasticsearchDestinationType' + auth_strategy: + $ref: '#/components/schemas/ObservabilityPipelineHttpClientDestinationAuthStrategy' + custom_key: + description: Name of the environment variable or secret that holds a custom header value (used with custom auth strategies). + example: HTTP_AUTH_CUSTOM_HEADER + type: string + encoding: + $ref: '#/components/schemas/ObservabilityPipelineHttpClientDestinationEncoding' + password_key: + description: Name of the environment variable or secret that holds the password (used when `auth_strategy` is `basic`). + example: HTTP_AUTH_PASSWORD + type: string + token_key: + description: Name of the environment variable or secret that holds the bearer token (used when `auth_strategy` is `bearer`). + example: HTTP_AUTH_TOKEN + type: string + uri_key: + description: Name of the environment variable or secret that holds the HTTP endpoint URI. + example: HTTP_DESTINATION_URI + type: string + username_key: + description: Name of the environment variable or secret that holds the username (used when `auth_strategy` is `basic`). + example: HTTP_AUTH_USERNAME + type: string + bucket: + description: S3 bucket name. + example: error-logs + type: string + key_prefix: + description: Optional prefix for object keys. + type: string + region: + description: AWS region of the S3 bucket. + example: us-east-1 + type: string + server_side_encryption: + $ref: '#/components/schemas/ObservabilityPipelineAmazonS3DestinationServerSideEncryption' + ssekms_key_id: + description: |- + The AWS KMS key ID used for SSE-KMS encryption. + Only applies when `server_side_encryption` is set to `aws:kms`. + example: arn:aws:kms:us-east-1:123456789012:key/mrk-abc123 + type: string + storage_class: + $ref: '#/components/schemas/ObservabilityPipelineAmazonS3DestinationStorageClass' + batch_settings: + $ref: '#/components/schemas/ObservabilityPipelineAmazonS3GenericBatchSettings' + custom_source_name: + description: Custom source name for the logs in Security Lake. + example: my-custom-source + type: string + blob_prefix: + description: Optional prefix for blobs written to the container. + example: logs/ + type: string + connection_string_key: + description: Name of the environment variable or secret that holds the Azure Storage connection string. + example: AZURE_STORAGE_CONNECTION_STRING + type: string + container_name: + description: The name of the Azure Blob Storage container to store logs in. + example: my-log-container + type: string + batch: + $ref: '#/components/schemas/ObservabilityPipelineClickhouseDestinationBatch' + batch_encoding: + $ref: '#/components/schemas/ObservabilityPipelineClickhouseDestinationBatchEncoding' + database: + description: Optional ClickHouse database name. If omitted, the user's default database on the ClickHouse server is used. + example: my_database + type: string + date_time_best_effort: + description: When `true`, enables flexible DateTime parsing on the ClickHouse server side. + example: false + type: boolean + format: + $ref: '#/components/schemas/ObservabilityPipelineClickhouseDestinationFormat' + skip_unknown_fields: + description: |- + When `true`, fields not present in the target table schema are dropped instead of causing insert errors. + When unset, the ClickHouse server's own `input_format_skip_unknown_fields` setting applies. + example: true + nullable: true + type: boolean + table: + description: Target ClickHouse table name. Events are inserted into this table. + example: application_logs + type: string + routes: + description: A list of routing rules that forward matching logs to Datadog using dedicated API keys. + example: + - api_key_key: API_KEY_IDENTIFIER + include: service:api + route_id: datadog-logs-route-us1 + site: us1 + items: + $ref: '#/components/schemas/ObservabilityPipelineDatadogLogsDestinationRoute' + maxItems: 100 + type: array + customer_id: + description: The Google Chronicle customer ID. + example: abcdefg123456789 + type: string + log_type: + description: The log type metadata associated with the Chronicle destination. + example: nginx_logs + type: string + acl: + $ref: '#/components/schemas/ObservabilityPipelineGoogleCloudStorageDestinationAcl' + metadata: + description: Custom metadata to attach to each object uploaded to the GCS bucket. + items: + $ref: '#/components/schemas/ObservabilityPipelineMetadataEntry' + type: array + project: + description: The Google Cloud project ID that owns the Pub/Sub topic. + example: my-gcp-project + type: string + topic: + description: The Pub/Sub topic name to publish logs to. + example: logs-subscription + type: string + bootstrap_servers_key: + description: Name of the environment variable or secret that holds the Kafka bootstrap servers list. + example: KAFKA_BOOTSTRAP_SERVERS + type: string + headers_key: + description: The field name to use for Kafka message headers. + example: headers + type: string + key_field: + description: The field name to use as the Kafka message key. + example: message_id + type: string + librdkafka_options: + description: Optional list of advanced Kafka producer configuration options, defined as key-value pairs. + items: + $ref: '#/components/schemas/ObservabilityPipelineKafkaLibrdkafkaOption' + type: array + message_timeout_ms: + description: Maximum time in milliseconds to wait for message delivery confirmation. + example: 300000 + format: int64 + minimum: 1 + type: integer + rate_limit_duration_secs: + description: Duration in seconds for the rate limit window. + example: 1 + format: int64 + minimum: 1 + type: integer + rate_limit_num: + description: Maximum number of messages allowed per rate limit duration. + example: 1000 + format: int64 + minimum: 1 + type: integer + sasl: + $ref: '#/components/schemas/ObservabilityPipelineKafkaSasl' + socket_timeout_ms: + description: Socket timeout in milliseconds for network requests. + example: 60000 + format: int64 + maximum: 300000 + minimum: 10 + type: integer + client_id: + description: Azure AD client ID used for authentication. + example: a1b2c3d4-5678-90ab-cdef-1234567890ab + type: string + client_secret_key: + description: Name of the environment variable or secret that holds the Azure AD client secret. + example: AZURE_CLIENT_SECRET + type: string + dce_uri_key: + description: Name of the environment variable or secret that holds the Data Collection Endpoint (DCE) URI. + example: DCE_URI + type: string + dcr_immutable_id: + description: The immutable ID of the Data Collection Rule (DCR). + example: dcr-uuid-1234 + type: string + tenant_id: + description: Azure AD tenant ID. + example: abcdef12-3456-7890-abcd-ef1234567890 + type: string + account_id_key: + description: Name of the environment variable or secret that holds the New Relic account ID. + example: NEW_RELIC_ACCOUNT_ID + type: string + license_key_key: + description: Name of the environment variable or secret that holds the New Relic license key. + example: NEW_RELIC_LICENSE_KEY + type: string + keepalive: + description: Optional socket keepalive duration in milliseconds. + example: 60000 + format: int64 + minimum: 0 + type: integer + address_key: + description: Name of the environment variable or secret that holds the socket address (host:port). + example: SOCKET_ADDRESS + type: string + framing: + $ref: '#/components/schemas/ObservabilityPipelineSocketDestinationFraming' + mode: + $ref: '#/components/schemas/ObservabilityPipelineSocketDestinationMode' + auto_extract_timestamp: + description: |- + If `true`, Splunk tries to extract timestamps from incoming log events. + If `false`, Splunk assigns the time the event was received. + example: true + type: boolean + index: + description: Optional name of the Splunk index where logs are written. + example: main + type: string + indexed_fields: + description: List of log field names to send as indexed fields to Splunk HEC. Available only when `encoding` is `json`. + example: + - service + - host + items: + description: A log field name to index in Splunk. + type: string + type: array + sourcetype: + description: The Splunk sourcetype to assign to log events. + example: custom_sourcetype + type: string + token_strategy: + $ref: '#/components/schemas/ObservabilityPipelineSplunkHecDestinationTokenStrategy' + header_custom_fields: + description: A list of custom headers to include in the request to Sumo Logic. + items: + $ref: '#/components/schemas/ObservabilityPipelineSumoLogicDestinationHeaderCustomFieldsItem' + type: array + header_host_name: + description: Optional override for the host name header. + example: host-123 + type: string + header_source_category: + description: Optional override for the source category header. + example: source-category + type: string + header_source_name: + description: Optional override for the source name header. + example: source-name + type: string + ingestion_endpoint_key: + description: Name of the environment variable or the secret identifier that references the Databricks Zerobus ingestion endpoint, which is used to stream data directly into your Databricks Lakehouse. + example: DD_OP_DESTINATION_DATABRICKS_ZEROBUS_INGESTION_ENDPOINT + type: string + table_name: + description: The fully qualified name of your target Databricks table. Make sure this table already exists in your Databricks workspace before deploying. + example: catalog.schema.table + type: string + unity_catalog_endpoint_key: + description: Name of the environment variable or the secret identifier that references your Databricks workspace URL, which is used to communicate with the Unity Catalog API. + example: DD_OP_DESTINATION_DATABRICKS_ZEROBUS_UNITY_CATALOG_ENDPOINT + type: string + default_namespace: + description: Optional default namespace for metrics sent to Splunk HEC. + example: custom_namespace + type: string + source: + description: The Splunk source field value for metric events. + example: observability_pipelines + type: string + required: + - id + - type + - inputs + - encoding + - auth + - bucket + - region + - storage_class + - compression + - custom_source_name + - container_name + - table + - customer_id + - project + - topic + - client_id + - tenant_id + - dcr_immutable_id + - framing + - mode + - table_name + type: object + x-pipeline-types: + - logs + - metrics + ObservabilityPipelineConfigPipelineType: + default: logs + description: The type of data being ingested. Defaults to `logs` if not specified. + enum: + - logs + - metrics + example: logs + type: string + x-enum-varnames: + - LOGS + - METRICS + ObservabilityPipelineConfigProcessorGroup: + description: A group of processors. + example: + enabled: true + id: my-processor-group + include: service:my-service + inputs: + - datadog-agent-source + processors: + - enabled: true + fields: + - name: env + value: prod + id: add-fields-processor + include: '*' + type: add_fields + - enabled: true + id: filter-processor + include: status:error + type: filter + properties: + display_name: + $ref: '#/components/schemas/ObservabilityPipelineComponentDisplayName' + enabled: + description: Whether this processor group is enabled. + example: true + type: boolean + id: + description: The unique identifier for the processor group. + example: grouped-processors + type: string + include: + description: Conditional expression for when this processor group should execute. + example: service:my-service + type: string + inputs: + description: A list of IDs for components whose output is used as the input for this processor group. + example: + - datadog-agent-source + items: + description: The ID of a component whose output is used as input. + type: string + type: array + processors: + description: Processors applied sequentially within this group. Events flow through each processor in order. + example: + - enabled: true + fields: + - name: env + value: prod + id: add-fields-processor + include: '*' + type: add_fields + - enabled: true + id: filter-processor + include: status:error + type: filter + items: + $ref: '#/components/schemas/ObservabilityPipelineConfigProcessorItem' + type: array + required: + - id + - include + - inputs + - processors + - enabled + type: object + ObservabilityPipelineConfigSourceItem: + description: A data source for the pipeline. + properties: + address_key: + description: Name of the environment variable or secret that holds the listen address for the Datadog Agent source. + example: DATADOG_AGENT_ADDRESS + type: string + id: + description: The unique identifier for this component. Used in other parts of the pipeline to reference this component (for example, as the `input` to downstream components). + example: datadog-agent-source + type: string + tls: + $ref: '#/components/schemas/ObservabilityPipelineTls' + type: + $ref: '#/components/schemas/ObservabilityPipelineDatadogAgentSourceType' + auth: + $ref: '#/components/schemas/ObservabilityPipelineAwsAuth' + compression: + $ref: '#/components/schemas/ObservabilityPipelineAmazonS3SourceCompression' + region: + description: AWS region where the S3 bucket resides. + example: us-east-1 + type: string + url_key: + description: Name of the environment variable or secret that holds the S3 bucket URL. + example: S3_BUCKET_URL + type: string + decoding: + $ref: '#/components/schemas/ObservabilityPipelineDecoding' + project: + description: The Google Cloud project ID that owns the Pub/Sub subscription. + example: my-gcp-project + type: string + subscription: + description: The Pub/Sub subscription name from which messages are consumed. + example: logs-subscription + type: string + auth_strategy: + $ref: '#/components/schemas/ObservabilityPipelineHttpClientSourceAuthStrategy' + custom_key: + description: Name of the environment variable or secret that holds a custom header value (used with custom auth strategies). + example: HTTP_AUTH_CUSTOM_HEADER + type: string + endpoint_url_key: + description: Name of the environment variable or secret that holds the HTTP endpoint URL to scrape. + example: HTTP_ENDPOINT_URL + type: string + password_key: + description: Name of the environment variable or secret that holds the password (used when `auth_strategy` is `basic`). + example: HTTP_AUTH_PASSWORD + type: string + scrape_interval_secs: + description: The interval (in seconds) between HTTP scrape requests. + example: 60 + format: int64 + type: integer + scrape_timeout_secs: + description: The timeout (in seconds) for each scrape request. + example: 10 + format: int64 + type: integer + token_key: + description: Name of the environment variable or secret that holds the bearer token (used when `auth_strategy` is `bearer`). + example: HTTP_AUTH_TOKEN + type: string + username_key: + description: Name of the environment variable or secret that holds the username (used when `auth_strategy` is `basic`). + example: HTTP_AUTH_USERNAME + type: string + valid_tokens: + description: |- + A list of tokens that are accepted for authenticating incoming HTTP requests. When set, + the source rejects any request whose token does not match an enabled entry in this list. + Cannot be combined with the `plain` auth strategy. + items: + $ref: '#/components/schemas/ObservabilityPipelineHttpServerSourceValidToken' + maxItems: 1000 + minItems: 1 + type: array + bootstrap_servers_key: + description: Name of the environment variable or secret that holds the Kafka bootstrap servers list. + example: KAFKA_BOOTSTRAP_SERVERS + type: string + group_id: + description: Consumer group ID used by the Kafka client. + example: consumer-group-0 + type: string + librdkafka_options: + description: Optional list of advanced Kafka client configuration options, defined as key-value pairs. + items: + $ref: '#/components/schemas/ObservabilityPipelineKafkaLibrdkafkaOption' + type: array + sasl: + $ref: '#/components/schemas/ObservabilityPipelineKafkaSasl' + topics: + description: A list of Kafka topic names to subscribe to. The source ingests messages from each topic specified. + example: + - topic1 + - topic2 + items: + description: A Kafka topic name to subscribe to. + type: string + type: array + mode: + $ref: '#/components/schemas/ObservabilityPipelineSyslogSourceMode' + framing: + $ref: '#/components/schemas/ObservabilityPipelineSocketSourceFraming' + store_hec_token: + description: |- + When `true`, the Splunk HEC token from the incoming request is stored in the event metadata. + This allows downstream components to forward the token to other Splunk HEC destinations. + example: true + type: boolean + uri_key: + description: Name of the environment variable or secret that holds the WebSocket server URI (`ws://` or `wss://`). + example: WS_URI + type: string + grpc_address_key: + description: Environment variable name containing the gRPC server address for receiving OTLP data. Must be a valid environment variable name (alphanumeric characters and underscores only). + example: OTEL_GRPC_ADDRESS + type: string + http_address_key: + description: Environment variable name containing the HTTP server address for receiving OTLP data. Must be a valid environment variable name (alphanumeric characters and underscores only). + example: OTEL_HTTP_ADDRESS + type: string + required: + - id + - type + - region + - decoding + - project + - subscription + - auth_strategy + - group_id + - topics + - mode + - framing + type: object + x-pipeline-types: + - logs + - metrics + LogsArrayProcessorOperationAppend: + description: Operation that appends a value to a target array attribute. + properties: + preserve_source: + default: true + description: Remove or preserve the remapped source element. + type: boolean + source: + description: Attribute path containing the value to append. + example: network.client.ip + type: string + target: + description: Attribute path of the array to append to. + example: sourceIps + type: string + type: + $ref: '#/components/schemas/LogsArrayProcessorOperationAppendType' + required: + - type + - source + - target + type: object + LogsArrayProcessorOperationLength: + description: Operation that computes the length of a `source` array and stores the result in the `target` attribute. + properties: + source: + description: Attribute path of the array to measure. + example: tags + type: string + target: + description: Attribute that receives the computed length. + example: tagCount + type: string + type: + $ref: '#/components/schemas/LogsArrayProcessorOperationLengthType' + required: + - type + - source + - target + type: object + LogsArrayProcessorOperationSelect: + description: Operation that finds an object in a `source` array using a `filter`, and then extracts a specific value into the `target` attribute. + properties: + filter: + description: Filter condition expressed as `key:value` used to find the matching element. + example: name:Referrer + type: string + source: + description: Attribute path of the array to search into. + example: httpRequest.headers + type: string + target: + description: Attribute that receives the extracted value. + example: referrer + type: string + type: + $ref: '#/components/schemas/LogsArrayProcessorOperationSelectType' + value_to_extract: + description: Key of the value to extract from the matching element. + example: value + type: string + required: + - type + - source + - target + - filter + - value_to_extract + type: object + LogsArrayProcessorOperationExtractKeyValue: + description: Operation that extracts key-value pairs from a `source` array and stores the result in the `target` attribute. + properties: + key_to_extract: + description: Key of the attribute in each array element that holds the name to use for the extracted attribute. + example: name + type: string + override_on_conflict: + default: false + description: Whether to override the target element if it's already set. + type: boolean + source: + description: Attribute path of the array to extract key-value pairs from. + example: tags + type: string + target: + description: Attribute that receives the extracted key-value pairs. If not specified, the extracted attributes are added at the root level of the log. + example: extracted + type: string + type: + $ref: '#/components/schemas/LogsArrayProcessorOperationExtractKeyValueType' + value_to_extract: + description: Key of the attribute in each array element that holds the value to use for the extracted attribute. + example: value + type: string + required: + - type + - source + - key_to_extract + - value_to_extract + type: object + LogsSchemaRemapper: + description: The schema remapper maps source log fields to their correct fields. + properties: + name: + description: Name of the logs schema remapper. + example: Map userIdentity.principalId, responseElements.role.roleId, responseElements.user.userId to ocsf.user.uid + type: string + override_on_conflict: + default: false + description: Whether to override the target element if it's already set. + type: boolean + preserve_source: + default: false + description: Remove or preserve the remapped source element. + type: boolean + sources: + description: Array of source attributes. + example: + - userIdentity.principalId + - responseElements.role.roleId + - responseElements.user.userId + items: + description: Attribute used as a source to remap its value to the target attribute. + type: string + type: array + target: + description: Target field to map log source field to. + example: ocsf.user.uid + type: string + target_format: + $ref: '#/components/schemas/TargetFormatType' + type: + $ref: '#/components/schemas/LogsSchemaRemapperType' + required: + - name + - sources + - target + - type + type: object + LogsSchemaCategoryMapper: + description: |- + Use the Schema Category Mapper to categorize log event into enum fields. + In the case of OCSF, they can be used to map sibling fields which are composed of an ID and a name. + + **Notes**: + + - The syntax of the query is the one of Logs Explorer search bar. + The query can be done on any log attribute or tag, whether it is a facet or not. + Wildcards can also be used inside your query. + - Categories are executed in order and processing stops at the first match. + Make sure categories are properly ordered in case a log could match multiple queries. + - Sibling fields always have a numerical ID field and a human-readable string name. + - A fallback section handles cases where the name or ID value matches a specific value. + If the name matches "Other" or the ID matches 99, the value of the sibling name field will be pulled from a source field from the original log. + properties: + categories: + description: |- + Array of filters to match or not a log and their + corresponding `name` to assign a custom value to the log. + example: + - filter: + query: '@eventName:(ConsoleLogin OR ExternalIdPDirectoryLogin OR UserAuthentication OR Authenticate)' + id: 1 + name: Logon + - filter: + query: '@eventName:*' + id: 99 + name: Other + items: + $ref: '#/components/schemas/LogsSchemaCategoryMapperCategory' + type: array + fallback: + $ref: '#/components/schemas/LogsSchemaCategoryMapperFallback' + name: + description: Name of the logs schema category mapper. + example: activity_id and activity_name + type: string + targets: + $ref: '#/components/schemas/LogsSchemaCategoryMapperTargets' + type: + $ref: '#/components/schemas/LogsSchemaCategoryMapperType' + required: + - categories + - targets + - type + - name + type: object + LogsArrayMapAttributeRemapper: + description: |- + An attribute remapper sub-processor for use inside an array-map processor. + Unlike the top-level attribute remapper, `is_enabled`, `source_type`, and + `target_type` are not supported. + properties: + name: + description: Name of the sub-processor. + type: string + override_on_conflict: + default: false + description: Override the target element if already set. + type: boolean + preserve_source: + default: false + description: Remove or preserve the remapped source element. + type: boolean + sources: + description: Array of source attribute paths. + example: + - $sourceElem.id + items: + type: string + type: array + target: + description: Target attribute path. + example: $targetElem.uid + type: string + target_format: + $ref: '#/components/schemas/TargetFormatType' + type: + $ref: '#/components/schemas/LogsAttributeRemapperType' + required: + - sources + - target + - type + type: object + LogsArrayMapArithmeticSubProcessor: + description: |- + An arithmetic sub-processor for use inside an array-map processor. + Unlike the top-level arithmetic processor, `is_enabled` is not supported. + properties: + expression: + description: Arithmetic operation to perform. + example: $sourceElem.count * 2 + type: string + is_replace_missing: + default: false + description: Replace missing attribute values with 0. + type: boolean + name: + description: Name of the sub-processor. + type: string + target: + description: Target attribute path for the result. + example: $targetElem.doubled + type: string + type: + $ref: '#/components/schemas/LogsArithmeticProcessorType' + required: + - expression + - target + - type + type: object + LogsArrayMapStringBuilderSubProcessor: + description: |- + A string builder sub-processor for use inside an array-map processor. + Unlike the top-level string builder processor, `is_enabled` is not supported. + properties: + is_replace_missing: + default: false + description: Replace missing attribute values with an empty string. + type: boolean + name: + description: Name of the sub-processor. + type: string + target: + description: Target attribute path for the result. + example: $targetElem.label + type: string + template: + description: Formula with one or more attributes and raw text. + example: item-%{$sourceElem.id} + type: string + type: + $ref: '#/components/schemas/LogsStringBuilderProcessorType' + required: + - template + - target + - type + type: object + LogsArrayMapCategorySubProcessor: + description: |- + A category sub-processor for use inside an array-map processor. + Unlike the top-level category processor, `is_enabled` is not supported. + properties: + categories: + description: Array of filters to match against a log and the corresponding value to assign. + items: + $ref: '#/components/schemas/LogsCategoryProcessorCategory' + type: array + name: + description: Name of the sub-processor. + type: string + target: + description: Target attribute path for the category value. + example: $targetElem.level + type: string + type: + $ref: '#/components/schemas/LogsCategoryProcessorType' + required: + - categories + - target + - type + type: object + LogsAggregateBucketValueTimeseriesPoint: + description: A timeseries point + properties: + time: + description: The time value for this point + example: '2020-06-08T11:55:00Z' + type: string + value: + description: The value for this point + example: 19 + format: double + type: number + type: object + LogsArchiveIntegrationAzure: + description: The Azure archive's integration destination. + properties: + client_id: + description: A client ID. + example: aaaaaaaa-1a1a-1a1a-1a1a-aaaaaaaaaaaa + type: string + tenant_id: + description: A tenant ID. + example: aaaaaaaa-1a1a-1a1a-1a1a-aaaaaaaaaaaa + type: string + required: + - tenant_id + - client_id + type: object + LogsArchiveDestinationAzureType: + default: azure + description: Type of the Azure archive destination. + enum: + - azure + example: azure + type: string + x-enum-varnames: + - AZURE + LogsArchiveIntegrationGCS: + description: The GCS archive's integration destination. + properties: + client_email: + description: A client email. + example: youremail@example.com + type: string + project_id: + description: A project ID. + example: project-id + type: string + required: + - client_email + type: object + LogsArchiveDestinationGCSType: + default: gcs + description: Type of the GCS archive destination. + enum: + - gcs + example: gcs + type: string + x-enum-varnames: + - GCS + LogsArchiveEncryptionS3: + description: The S3 encryption settings. + properties: + key: + description: An Amazon Resource Name (ARN) used to identify an AWS KMS key. + example: arn:aws:kms:us-east-1:012345678901:key/DatadogIntegrationRoleKms + type: string + type: + $ref: '#/components/schemas/LogsArchiveEncryptionS3Type' + required: + - type + type: object + LogsArchiveIntegrationS3: + description: 'The S3 Archive''s integration destination. You must provide one of the following: `access_key_id` alone, or both `account_id` and `role_name` together.' + properties: + access_key_id: + description: The access key ID for the integration. + example: AKIAIOSFODNN7EXAMPLE + type: string + account_id: + description: The account ID for the integration. + example: '123456789012' + type: string + role_name: + description: The name of the role to assume for the integration. + example: role-name + type: string + required: + - access_key_id + - account_id + - role_name + type: object + LogsArchiveStorageClassS3Type: + default: STANDARD + description: The storage class where the archive will be stored. + enum: + - STANDARD + - STANDARD_IA + - ONEZONE_IA + - INTELLIGENT_TIERING + - GLACIER_IR + example: STANDARD + type: string + x-enum-varnames: + - STANDARD + - STANDARD_IA + - ONEZONE_IA + - INTELLIGENT_TIERING + - GLACIER_IR + LogsArchiveDestinationS3Type: + default: s3 + description: Type of the S3 archive destination. + enum: + - s3 + example: s3 + type: string + x-enum-varnames: + - S3 + PermissionsType: + default: permissions + description: Permissions resource type. + enum: + - permissions + example: permissions + type: string + x-enum-varnames: + - PERMISSIONS + CustomDestinationResponseHttpDestinationAuth: + description: Authentication method of the HTTP requests. + properties: + type: + $ref: '#/components/schemas/CustomDestinationResponseHttpDestinationAuthBasicType' + header_name: + description: The header name of the authentication. + example: CUSTOM-HEADER-NAME + type: string + required: + - type + - header_name + type: object + CustomDestinationResponseForwardDestinationHttpType: + default: http + description: Type of the HTTP destination. + enum: + - http + example: http + type: string + x-enum-varnames: + - HTTP + CustomDestinationResponseForwardDestinationSplunkType: + default: splunk_hec + description: Type of the Splunk HTTP Event Collector (HEC) destination. + enum: + - splunk_hec + example: splunk_hec + type: string + x-enum-varnames: + - SPLUNK_HEC + CustomDestinationResponseElasticsearchDestinationAuth: + additionalProperties: + description: Basic access authentication. + description: Basic access authentication. + type: object + CustomDestinationResponseForwardDestinationElasticsearchType: + default: elasticsearch + description: Type of the Elasticsearch destination. + enum: + - elasticsearch + example: elasticsearch + type: string + x-enum-varnames: + - ELASTICSEARCH + CustomDestinationResponseForwardDestinationMicrosoftSentinelType: + default: microsoft_sentinel + description: Type of the Microsoft Sentinel destination. + enum: + - microsoft_sentinel + example: microsoft_sentinel + type: string + x-enum-varnames: + - MICROSOFT_SENTINEL + CustomDestinationHttpDestinationAuth: + description: Authentication method of the HTTP requests. + properties: + password: + description: The password of the authentication. This field is not returned by the API. + example: datadog-custom-destination-password + type: string + writeOnly: true + type: + $ref: '#/components/schemas/CustomDestinationHttpDestinationAuthBasicType' + username: + description: The username of the authentication. This field is not returned by the API. + example: datadog-custom-destination-username + type: string + writeOnly: true + header_name: + description: The header name of the authentication. + example: CUSTOM-HEADER-NAME + type: string + header_value: + description: The header value of the authentication. This field is not returned by the API. + example: CUSTOM-HEADER-AUTHENTICATION-VALUE + type: string + writeOnly: true + required: + - type + - username + - password + - header_name + - header_value + type: object + CustomDestinationForwardDestinationHttpType: + default: http + description: Type of the HTTP destination. + enum: + - http + example: http + type: string + x-enum-varnames: + - HTTP + CustomDestinationForwardDestinationSplunkType: + default: splunk_hec + description: Type of the Splunk HTTP Event Collector (HEC) destination. + enum: + - splunk_hec + example: splunk_hec + type: string + x-enum-varnames: + - SPLUNK_HEC + CustomDestinationElasticsearchDestinationAuth: + description: Basic access authentication. + properties: + password: + description: The password of the authentication. This field is not returned by the API. + example: datadog-custom-destination-password + type: string + writeOnly: true + username: + description: The username of the authentication. This field is not returned by the API. + example: datadog-custom-destination-username + type: string + writeOnly: true + required: + - username + - password + type: object + CustomDestinationForwardDestinationElasticsearchType: + default: elasticsearch + description: Type of the Elasticsearch destination. + enum: + - elasticsearch + example: elasticsearch + type: string + x-enum-varnames: + - ELASTICSEARCH + CustomDestinationForwardDestinationMicrosoftSentinelType: + default: microsoft_sentinel + description: Type of the Microsoft Sentinel destination. + enum: + - microsoft_sentinel + example: microsoft_sentinel + type: string + x-enum-varnames: + - MICROSOFT_SENTINEL + ObservabilityPipelineElasticsearchDestination: + description: |- + The `elasticsearch` destination writes logs or metrics to an Elasticsearch cluster. + + **Supported pipeline types:** logs, metrics + properties: + api_version: + $ref: '#/components/schemas/ObservabilityPipelineElasticsearchDestinationApiVersion' + auth: + $ref: '#/components/schemas/ObservabilityPipelineElasticsearchDestinationAuth' + buffer: + $ref: '#/components/schemas/ObservabilityPipelineBufferOptions' + bulk_index: + description: The name of the index to write events to in Elasticsearch. + example: logs-index + type: string + compression: + $ref: '#/components/schemas/ObservabilityPipelineElasticsearchDestinationCompression' + data_stream: + $ref: '#/components/schemas/ObservabilityPipelineElasticsearchDestinationDataStream' + endpoint_url_key: + description: Name of the environment variable or secret that holds the Elasticsearch endpoint URL. + example: ELASTICSEARCH_ENDPOINT_URL + type: string + id: + description: The unique identifier for this component. + example: elasticsearch-destination + type: string + id_key: + description: The name of the field used as the document ID in Elasticsearch. + example: id + type: string + inputs: + description: A list of component IDs whose output is used as the `input` for this component. + example: + - filter-processor + items: + description: The ID of a component whose output is used as input for this destination. + type: string + type: array + pipeline: + description: The name of an Elasticsearch ingest pipeline to apply to events before indexing. + example: my-pipeline + type: string + request_retry_partial: + description: When `true`, retries failed partial bulk requests when some events in a batch fail while others succeed. + type: boolean + tls: + $ref: '#/components/schemas/ObservabilityPipelineTls' + type: + $ref: '#/components/schemas/ObservabilityPipelineElasticsearchDestinationType' + required: + - id + - type + - inputs + type: object + x-pipeline-types: + - logs + - metrics + ObservabilityPipelineHttpClientDestination: + description: |- + The `http_client` destination sends data to an HTTP endpoint. + + **Supported pipeline types:** logs, metrics + properties: + auth_strategy: + $ref: '#/components/schemas/ObservabilityPipelineHttpClientDestinationAuthStrategy' + buffer: + $ref: '#/components/schemas/ObservabilityPipelineBufferOptions' + compression: + $ref: '#/components/schemas/ObservabilityPipelineHttpClientDestinationCompression' + custom_key: + description: Name of the environment variable or secret that holds a custom header value (used with custom auth strategies). + example: HTTP_AUTH_CUSTOM_HEADER + type: string + encoding: + $ref: '#/components/schemas/ObservabilityPipelineHttpClientDestinationEncoding' + id: + description: The unique identifier for this component. + example: http-client-destination + type: string + inputs: + description: A list of component IDs whose output is used as the input for this component. + example: + - filter-processor + items: + description: The ID of a component whose output is used as input for this destination. + type: string + type: array + password_key: + description: Name of the environment variable or secret that holds the password (used when `auth_strategy` is `basic`). + example: HTTP_AUTH_PASSWORD + type: string + tls: + $ref: '#/components/schemas/ObservabilityPipelineClientTls' + token_key: + description: Name of the environment variable or secret that holds the bearer token (used when `auth_strategy` is `bearer`). + example: HTTP_AUTH_TOKEN + type: string + type: + $ref: '#/components/schemas/ObservabilityPipelineHttpClientDestinationType' + uri_key: + description: Name of the environment variable or secret that holds the HTTP endpoint URI. + example: HTTP_DESTINATION_URI + type: string + username_key: + description: Name of the environment variable or secret that holds the username (used when `auth_strategy` is `basic`). + example: HTTP_AUTH_USERNAME + type: string + required: + - id + - type + - inputs + - encoding + type: object + x-pipeline-types: + - logs + - metrics + ObservabilityPipelineAmazonOpenSearchDestination: + description: |- + The `amazon_opensearch` destination writes logs to Amazon OpenSearch. + + **Supported pipeline types:** logs + properties: + auth: + $ref: '#/components/schemas/ObservabilityPipelineAmazonOpenSearchDestinationAuth' + buffer: + $ref: '#/components/schemas/ObservabilityPipelineBufferOptions' + bulk_index: + description: The index to write logs to. + example: logs-index + type: string + id: + description: The unique identifier for this component. + example: elasticsearch-destination + type: string + inputs: + description: A list of component IDs whose output is used as the `input` for this component. + example: + - filter-processor + items: + description: The ID of a component whose output is used as input for this destination. + type: string + type: array + type: + $ref: '#/components/schemas/ObservabilityPipelineAmazonOpenSearchDestinationType' + required: + - id + - type + - inputs + - auth + type: object + x-pipeline-types: + - logs + ObservabilityPipelineAmazonS3Destination: + description: |- + The `amazon_s3` destination sends your logs in Datadog-rehydratable format to an Amazon S3 bucket for archiving. + + **Supported pipeline types:** logs + properties: + auth: + $ref: '#/components/schemas/ObservabilityPipelineAwsAuth' + bucket: + description: S3 bucket name. + example: error-logs + type: string + buffer: + $ref: '#/components/schemas/ObservabilityPipelineBufferOptions' + id: + description: Unique identifier for the destination component. + example: amazon-s3-destination + type: string + inputs: + description: A list of component IDs whose output is used as the `input` for this component. + example: + - datadog-agent-source + items: + description: The ID of a component whose output is used as input for this destination. + type: string + type: array + key_prefix: + description: Optional prefix for object keys. + type: string + region: + description: AWS region of the S3 bucket. + example: us-east-1 + type: string + server_side_encryption: + $ref: '#/components/schemas/ObservabilityPipelineAmazonS3DestinationServerSideEncryption' + ssekms_key_id: + description: |- + The AWS KMS key ID used for SSE-KMS encryption. + Only applies when `server_side_encryption` is set to `aws:kms`. + example: arn:aws:kms:us-east-1:123456789012:key/mrk-abc123 + type: string + storage_class: + $ref: '#/components/schemas/ObservabilityPipelineAmazonS3DestinationStorageClass' + tls: + $ref: '#/components/schemas/ObservabilityPipelineTls' + type: + $ref: '#/components/schemas/ObservabilityPipelineAmazonS3DestinationType' + required: + - id + - type + - inputs + - bucket + - region + - storage_class + type: object + x-pipeline-types: + - logs + ObservabilityPipelineAmazonS3GenericDestination: + description: |- + The `amazon_s3_generic` destination sends your logs to an Amazon S3 bucket. + + **Supported pipeline types:** logs + properties: + auth: + $ref: '#/components/schemas/ObservabilityPipelineAwsAuth' + batch_settings: + $ref: '#/components/schemas/ObservabilityPipelineAmazonS3GenericBatchSettings' + bucket: + description: S3 bucket name. + example: my-bucket + type: string + buffer: + $ref: '#/components/schemas/ObservabilityPipelineBufferOptions' + compression: + $ref: '#/components/schemas/ObservabilityPipelineAmazonS3GenericCompression' + encoding: + $ref: '#/components/schemas/ObservabilityPipelineAmazonS3GenericEncoding' + id: + description: Unique identifier for the destination component. + example: generic-s3-destination + type: string + inputs: + description: A list of component IDs whose output is used as the `input` for this component. + example: + - filter-processor + items: + description: A component ID referenced as an input source. + type: string + type: array + key_prefix: + description: Optional prefix for object keys. + type: string + region: + description: AWS region of the S3 bucket. + example: us-east-1 + type: string + server_side_encryption: + $ref: '#/components/schemas/ObservabilityPipelineAmazonS3DestinationServerSideEncryption' + ssekms_key_id: + description: |- + The AWS KMS key ID used for SSE-KMS encryption. + Only applies when `server_side_encryption` is set to `aws:kms`. + example: arn:aws:kms:us-east-1:123456789012:key/mrk-abc123 + type: string + storage_class: + $ref: '#/components/schemas/ObservabilityPipelineAmazonS3DestinationStorageClass' + type: + $ref: '#/components/schemas/ObservabilityPipelineAmazonS3GenericDestinationType' + required: + - id + - type + - inputs + - bucket + - region + - storage_class + - encoding + - compression + type: object + x-pipeline-types: + - logs + ObservabilityPipelineAmazonSecurityLakeDestination: + description: |- + The `amazon_security_lake` destination sends your logs to Amazon Security Lake. + + **Supported pipeline types:** logs + properties: + auth: + $ref: '#/components/schemas/ObservabilityPipelineAwsAuth' + bucket: + description: Name of the Amazon S3 bucket in Security Lake (3-63 characters). + example: security-lake-bucket + type: string + buffer: + $ref: '#/components/schemas/ObservabilityPipelineBufferOptions' + custom_source_name: + description: Custom source name for the logs in Security Lake. + example: my-custom-source + type: string + id: + description: Unique identifier for the destination component. + example: amazon-security-lake-destination + type: string + inputs: + description: A list of component IDs whose output is used as the `input` for this component. + example: + - filter-processor + items: + description: The ID of a component whose output is used as input for this destination. + type: string + type: array + region: + description: AWS region of the S3 bucket. + example: us-east-1 + type: string + tls: + $ref: '#/components/schemas/ObservabilityPipelineTls' + type: + $ref: '#/components/schemas/ObservabilityPipelineAmazonSecurityLakeDestinationType' + required: + - id + - type + - inputs + - bucket + - region + - custom_source_name + type: object + x-pipeline-types: + - logs + AzureStorageDestination: + description: |- + The `azure_storage` destination forwards logs to an Azure Blob Storage container. + + **Supported pipeline types:** logs + properties: + blob_prefix: + description: Optional prefix for blobs written to the container. + example: logs/ + type: string + buffer: + $ref: '#/components/schemas/ObservabilityPipelineBufferOptions' + connection_string_key: + description: Name of the environment variable or secret that holds the Azure Storage connection string. + example: AZURE_STORAGE_CONNECTION_STRING + type: string + container_name: + description: The name of the Azure Blob Storage container to store logs in. + example: my-log-container + type: string + id: + description: The unique identifier for this component. + example: azure-storage-destination + type: string + inputs: + description: A list of component IDs whose output is used as the `input` for this component. + example: + - processor-id + items: + description: The ID of a component whose output is used as input for this destination. + type: string + type: array + type: + $ref: '#/components/schemas/AzureStorageDestinationType' + required: + - id + - type + - inputs + - container_name + type: object + x-pipeline-types: + - logs + ObservabilityPipelineClickhouseDestination: + description: |- + The `clickhouse` destination sends log events to a ClickHouse database table over HTTP. + + **Supported pipeline types:** logs. + properties: + auth: + $ref: '#/components/schemas/ObservabilityPipelineClickhouseDestinationAuth' + batch: + $ref: '#/components/schemas/ObservabilityPipelineClickhouseDestinationBatch' + batch_encoding: + $ref: '#/components/schemas/ObservabilityPipelineClickhouseDestinationBatchEncoding' + buffer: + $ref: '#/components/schemas/ObservabilityPipelineBufferOptions' + compression: + $ref: '#/components/schemas/ObservabilityPipelineClickhouseDestinationCompression' + database: + description: Optional ClickHouse database name. If omitted, the user's default database on the ClickHouse server is used. + example: my_database + type: string + date_time_best_effort: + description: When `true`, enables flexible DateTime parsing on the ClickHouse server side. + example: false + type: boolean + endpoint_url_key: + description: |- + Name of the environment variable or secret that contains the ClickHouse HTTP endpoint URL. + Defaults to `DESTINATION_CLICKHOUSE_ENDPOINT_URL` (prefixed with `DD_OP_` at runtime). + example: CLICKHOUSE_ENDPOINT_URL + type: string + format: + $ref: '#/components/schemas/ObservabilityPipelineClickhouseDestinationFormat' + id: + description: The unique identifier for this component. + example: clickhouse-destination + type: string + inputs: + description: A list of component IDs whose output is used as the `input` for this component. + example: + - filter-processor + items: + description: The ID of a component whose output is used as input for this destination. + type: string + type: array + skip_unknown_fields: + description: |- + When `true`, fields not present in the target table schema are dropped instead of causing insert errors. + When unset, the ClickHouse server's own `input_format_skip_unknown_fields` setting applies. + example: true + nullable: true + type: boolean + table: + description: Target ClickHouse table name. Events are inserted into this table. + example: application_logs + type: string + tls: + $ref: '#/components/schemas/ObservabilityPipelineTls' + type: + $ref: '#/components/schemas/ObservabilityPipelineClickhouseDestinationType' + required: + - id + - type + - inputs + - table + type: object + x-pipeline-types: + - logs + ObservabilityPipelineCloudPremDestination: + description: |- + The `cloud_prem` destination sends logs to Datadog CloudPrem. + + **Supported pipeline types:** logs + properties: + buffer: + $ref: '#/components/schemas/ObservabilityPipelineBufferOptions' + endpoint_url_key: + description: Name of the environment variable or secret that holds the CloudPrem endpoint URL. + example: CLOUDPREM_ENDPOINT_URL + type: string + id: + description: The unique identifier for this component. + example: cloud-prem-destination + type: string + inputs: + description: A list of component IDs whose output is used as the `input` for this component. + example: + - filter-processor + items: + description: The ID of a component whose output is used as input for this destination. + type: string + type: array + tls: + $ref: '#/components/schemas/ObservabilityPipelineClientTls' + description: Configuration for TLS encryption. + type: + $ref: '#/components/schemas/ObservabilityPipelineCloudPremDestinationType' + required: + - id + - type + - inputs + type: object + x-pipeline-types: + - logs + ObservabilityPipelineCrowdStrikeNextGenSiemDestination: + description: |- + The `crowdstrike_next_gen_siem` destination forwards logs to CrowdStrike Next Gen SIEM. + + **Supported pipeline types:** logs + properties: + buffer: + $ref: '#/components/schemas/ObservabilityPipelineBufferOptions' + compression: + $ref: '#/components/schemas/ObservabilityPipelineCrowdStrikeNextGenSiemDestinationCompression' + encoding: + $ref: '#/components/schemas/ObservabilityPipelineCrowdStrikeNextGenSiemDestinationEncoding' + endpoint_url_key: + description: Name of the environment variable or secret that holds the CrowdStrike endpoint URL. + example: CROWDSTRIKE_ENDPOINT_URL + type: string + id: + description: The unique identifier for this component. + example: crowdstrike-ngsiem-destination + type: string + inputs: + description: A list of component IDs whose output is used as the `input` for this component. + example: + - filter-processor + items: + description: The ID of a component whose output is used as input for this destination. + type: string + type: array + tls: + $ref: '#/components/schemas/ObservabilityPipelineTls' + token_key: + description: Name of the environment variable or secret that holds the CrowdStrike API token. + example: CROWDSTRIKE_TOKEN + type: string + type: + $ref: '#/components/schemas/ObservabilityPipelineCrowdStrikeNextGenSiemDestinationType' + required: + - id + - type + - inputs + - encoding + type: object + x-pipeline-types: + - logs + ObservabilityPipelineDatadogLogsDestination: + description: |- + The `datadog_logs` destination forwards logs to Datadog Log Management. + + **Supported pipeline types:** logs + properties: + buffer: + $ref: '#/components/schemas/ObservabilityPipelineBufferOptions' + id: + description: The unique identifier for this component. + example: datadog-logs-destination + type: string + inputs: + description: A list of component IDs whose output is used as the `input` for this component. + example: + - filter-processor + items: + description: The ID of a component whose output is used as input for this destination. + type: string + type: array + routes: + description: A list of routing rules that forward matching logs to Datadog using dedicated API keys. + example: + - api_key_key: API_KEY_IDENTIFIER + include: service:api + route_id: datadog-logs-route-us1 + site: us1 + items: + $ref: '#/components/schemas/ObservabilityPipelineDatadogLogsDestinationRoute' + maxItems: 100 + type: array + type: + $ref: '#/components/schemas/ObservabilityPipelineDatadogLogsDestinationType' + required: + - id + - type + - inputs + type: object + x-pipeline-types: + - logs + ObservabilityPipelineGoogleChronicleDestination: + description: |- + The `google_chronicle` destination sends logs to Google Chronicle. + + **Supported pipeline types:** logs + properties: + auth: + $ref: '#/components/schemas/ObservabilityPipelineGcpAuth' + buffer: + $ref: '#/components/schemas/ObservabilityPipelineBufferOptions' + customer_id: + description: The Google Chronicle customer ID. + example: abcdefg123456789 + type: string + encoding: + $ref: '#/components/schemas/ObservabilityPipelineGoogleChronicleDestinationEncoding' + endpoint_url_key: + description: Name of the environment variable or secret that holds the Google Chronicle endpoint URL. + example: CHRONICLE_ENDPOINT_URL + type: string + id: + description: The unique identifier for this component. + example: google-chronicle-destination + type: string + inputs: + description: A list of component IDs whose output is used as the `input` for this component. + example: + - parse-json-processor + items: + description: The ID of a component whose output is used as input for this destination. + type: string + type: array + log_type: + description: The log type metadata associated with the Chronicle destination. + example: nginx_logs + type: string + type: + $ref: '#/components/schemas/ObservabilityPipelineGoogleChronicleDestinationType' + required: + - id + - type + - inputs + - customer_id + type: object + x-pipeline-types: + - logs + ObservabilityPipelineGoogleCloudStorageDestination: + description: |- + The `google_cloud_storage` destination stores logs in a Google Cloud Storage (GCS) bucket. + It requires a bucket name, Google Cloud authentication, and metadata fields. + + **Supported pipeline types:** logs + properties: + acl: + $ref: '#/components/schemas/ObservabilityPipelineGoogleCloudStorageDestinationAcl' + auth: + $ref: '#/components/schemas/ObservabilityPipelineGcpAuth' + bucket: + description: Name of the GCS bucket. + example: error-logs + type: string + buffer: + $ref: '#/components/schemas/ObservabilityPipelineBufferOptions' + id: + description: Unique identifier for the destination component. + example: gcs-destination + type: string + inputs: + description: A list of component IDs whose output is used as the `input` for this component. + example: + - datadog-agent-source + items: + description: The ID of a component whose output is used as input for this destination. + type: string + type: array + key_prefix: + description: Optional prefix for object keys within the GCS bucket. + type: string + metadata: + description: Custom metadata to attach to each object uploaded to the GCS bucket. + items: + $ref: '#/components/schemas/ObservabilityPipelineMetadataEntry' + type: array + storage_class: + $ref: '#/components/schemas/ObservabilityPipelineGoogleCloudStorageDestinationStorageClass' + type: + $ref: '#/components/schemas/ObservabilityPipelineGoogleCloudStorageDestinationType' + required: + - id + - type + - inputs + - bucket + - storage_class + type: object + x-pipeline-types: + - logs + ObservabilityPipelineGooglePubSubDestination: + description: |- + The `google_pubsub` destination publishes logs to a Google Cloud Pub/Sub topic. + + **Supported pipeline types:** logs + properties: + auth: + $ref: '#/components/schemas/ObservabilityPipelineGcpAuth' + buffer: + $ref: '#/components/schemas/ObservabilityPipelineBufferOptions' + encoding: + $ref: '#/components/schemas/ObservabilityPipelineGooglePubSubDestinationEncoding' + endpoint_url_key: + description: Name of the environment variable or secret that holds the Google Cloud Pub/Sub endpoint URL. + example: GCP_PUBSUB_ENDPOINT_URL + type: string + id: + description: The unique identifier for this component. + example: google-pubsub-destination + type: string + inputs: + description: A list of component IDs whose output is used as the `input` for this component. + example: + - filter-processor + items: + description: The ID of a component whose output is used as input for this destination. + type: string + type: array + project: + description: The Google Cloud project ID that owns the Pub/Sub topic. + example: my-gcp-project + type: string + tls: + $ref: '#/components/schemas/ObservabilityPipelineTls' + topic: + description: The Pub/Sub topic name to publish logs to. + example: logs-subscription + type: string + type: + $ref: '#/components/schemas/ObservabilityPipelineGooglePubSubDestinationType' + required: + - id + - type + - inputs + - encoding + - project + - topic + type: object + x-pipeline-types: + - logs + ObservabilityPipelineKafkaDestination: + description: |- + The `kafka` destination sends logs to Apache Kafka topics. + + **Supported pipeline types:** logs + properties: + bootstrap_servers_key: + description: Name of the environment variable or secret that holds the Kafka bootstrap servers list. + example: KAFKA_BOOTSTRAP_SERVERS + type: string + buffer: + $ref: '#/components/schemas/ObservabilityPipelineBufferOptions' + compression: + $ref: '#/components/schemas/ObservabilityPipelineKafkaDestinationCompression' + encoding: + $ref: '#/components/schemas/ObservabilityPipelineKafkaDestinationEncoding' + headers_key: + description: The field name to use for Kafka message headers. + example: headers + type: string + id: + description: The unique identifier for this component. + example: kafka-destination + type: string + inputs: + description: A list of component IDs whose output is used as the `input` for this component. + example: + - filter-processor + items: + description: The ID of a component whose output is used as input for this destination. + type: string + type: array + key_field: + description: The field name to use as the Kafka message key. + example: message_id + type: string + librdkafka_options: + description: Optional list of advanced Kafka producer configuration options, defined as key-value pairs. + items: + $ref: '#/components/schemas/ObservabilityPipelineKafkaLibrdkafkaOption' + type: array + message_timeout_ms: + description: Maximum time in milliseconds to wait for message delivery confirmation. + example: 300000 + format: int64 + minimum: 1 + type: integer + rate_limit_duration_secs: + description: Duration in seconds for the rate limit window. + example: 1 + format: int64 + minimum: 1 + type: integer + rate_limit_num: + description: Maximum number of messages allowed per rate limit duration. + example: 1000 + format: int64 + minimum: 1 + type: integer + sasl: + $ref: '#/components/schemas/ObservabilityPipelineKafkaSasl' + socket_timeout_ms: + description: Socket timeout in milliseconds for network requests. + example: 60000 + format: int64 + maximum: 300000 + minimum: 10 + type: integer + tls: + $ref: '#/components/schemas/ObservabilityPipelineTls' + topic: + description: The Kafka topic name to publish logs to. + example: logs-topic + type: string + type: + $ref: '#/components/schemas/ObservabilityPipelineKafkaDestinationType' + required: + - id + - type + - inputs + - topic + - encoding + type: object + x-pipeline-types: + - logs + MicrosoftSentinelDestination: + description: |- + The `microsoft_sentinel` destination forwards logs to Microsoft Sentinel. + + **Supported pipeline types:** logs + properties: + buffer: + $ref: '#/components/schemas/ObservabilityPipelineBufferOptions' + client_id: + description: Azure AD client ID used for authentication. + example: a1b2c3d4-5678-90ab-cdef-1234567890ab + type: string + client_secret_key: + description: Name of the environment variable or secret that holds the Azure AD client secret. + example: AZURE_CLIENT_SECRET + type: string + dce_uri_key: + description: Name of the environment variable or secret that holds the Data Collection Endpoint (DCE) URI. + example: DCE_URI + type: string + dcr_immutable_id: + description: The immutable ID of the Data Collection Rule (DCR). + example: dcr-uuid-1234 + type: string + id: + description: The unique identifier for this component. + example: sentinel-destination + type: string + inputs: + description: A list of component IDs whose output is used as the `input` for this component. + example: + - filter-processor + items: + description: The ID of a component whose output is used as input for this destination. + type: string + type: array + table: + description: The name of the Log Analytics table where logs are sent. + example: CustomLogsTable + type: string + tenant_id: + description: Azure AD tenant ID. + example: abcdef12-3456-7890-abcd-ef1234567890 + type: string + type: + $ref: '#/components/schemas/MicrosoftSentinelDestinationType' + required: + - id + - type + - inputs + - client_id + - tenant_id + - dcr_immutable_id + - table + type: object + x-pipeline-types: + - logs + ObservabilityPipelineNewRelicDestination: + description: |- + The `new_relic` destination sends logs to the New Relic platform. + + **Supported pipeline types:** logs + properties: + account_id_key: + description: Name of the environment variable or secret that holds the New Relic account ID. + example: NEW_RELIC_ACCOUNT_ID + type: string + buffer: + $ref: '#/components/schemas/ObservabilityPipelineBufferOptions' + id: + description: The unique identifier for this component. + example: new-relic-destination + type: string + inputs: + description: A list of component IDs whose output is used as the `input` for this component. + example: + - parse-json-processor + items: + description: The ID of a component whose output is used as input for this destination. + type: string + type: array + license_key_key: + description: Name of the environment variable or secret that holds the New Relic license key. + example: NEW_RELIC_LICENSE_KEY + type: string + region: + $ref: '#/components/schemas/ObservabilityPipelineNewRelicDestinationRegion' + type: + $ref: '#/components/schemas/ObservabilityPipelineNewRelicDestinationType' + required: + - id + - type + - inputs + - region + type: object + x-pipeline-types: + - logs + ObservabilityPipelineOpenSearchDestination: + description: |- + The `opensearch` destination writes logs to an OpenSearch cluster. + + **Supported pipeline types:** logs + properties: + auth: + $ref: '#/components/schemas/ObservabilityPipelineElasticsearchDestinationAuth' + buffer: + $ref: '#/components/schemas/ObservabilityPipelineBufferOptions' + bulk_index: + description: The index to write logs to. + example: logs-index + type: string + data_stream: + $ref: '#/components/schemas/ObservabilityPipelineOpenSearchDestinationDataStream' + endpoint_url_key: + description: Name of the environment variable or secret that holds the OpenSearch endpoint URL. + example: OPENSEARCH_ENDPOINT_URL + type: string + id: + description: The unique identifier for this component. + example: opensearch-destination + type: string + inputs: + description: A list of component IDs whose output is used as the `input` for this component. + example: + - filter-processor + items: + description: The ID of a component whose output is used as input for this destination. + type: string + type: array + type: + $ref: '#/components/schemas/ObservabilityPipelineOpenSearchDestinationType' + required: + - id + - type + - inputs + type: object + x-pipeline-types: + - logs + ObservabilityPipelineRsyslogDestination: + description: |- + The `rsyslog` destination forwards logs to an external `rsyslog` server over TCP or UDP using the syslog protocol. + + **Supported pipeline types:** logs + properties: + buffer: + $ref: '#/components/schemas/ObservabilityPipelineBufferOptions' + endpoint_url_key: + description: Name of the environment variable or secret that holds the syslog server endpoint URL. + example: SYSLOG_ENDPOINT_URL + type: string + id: + description: The unique identifier for this component. + example: rsyslog-destination + type: string + inputs: + description: A list of component IDs whose output is used as the `input` for this component. + example: + - filter-processor + items: + description: The ID of a component whose output is used as input for this destination. + type: string + type: array + keepalive: + description: Optional socket keepalive duration in milliseconds. + example: 60000 + format: int64 + minimum: 0 + type: integer + tls: + $ref: '#/components/schemas/ObservabilityPipelineTls' + type: + $ref: '#/components/schemas/ObservabilityPipelineRsyslogDestinationType' + required: + - id + - type + - inputs + type: object + x-pipeline-types: + - logs + ObservabilityPipelineSentinelOneDestination: + description: |- + The `sentinel_one` destination sends logs to SentinelOne. + + **Supported pipeline types:** logs + properties: + buffer: + $ref: '#/components/schemas/ObservabilityPipelineBufferOptions' + id: + description: The unique identifier for this component. + example: sentinelone-destination + type: string + inputs: + description: A list of component IDs whose output is used as the `input` for this component. + example: + - filter-processor + items: + description: The ID of a component whose output is used as input for this destination. + type: string + type: array + region: + $ref: '#/components/schemas/ObservabilityPipelineSentinelOneDestinationRegion' + token_key: + description: Name of the environment variable or secret that holds the SentinelOne API token. + example: SENTINELONE_TOKEN + type: string + type: + $ref: '#/components/schemas/ObservabilityPipelineSentinelOneDestinationType' + required: + - id + - type + - inputs + - region + type: object + x-pipeline-types: + - logs + ObservabilityPipelineSocketDestination: + description: |- + The `socket` destination sends logs over TCP or UDP to a remote server. + + **Supported pipeline types:** logs + properties: + address_key: + description: Name of the environment variable or secret that holds the socket address (host:port). + example: SOCKET_ADDRESS + type: string + buffer: + $ref: '#/components/schemas/ObservabilityPipelineBufferOptions' + encoding: + $ref: '#/components/schemas/ObservabilityPipelineSocketDestinationEncoding' + framing: + $ref: '#/components/schemas/ObservabilityPipelineSocketDestinationFraming' + id: + description: The unique identifier for this component. + example: socket-destination + type: string + inputs: + description: A list of component IDs whose output is used as the `input` for this component. + example: + - filter-processor + items: + description: The ID of a component whose output is used as input for this destination. + type: string + type: array + mode: + $ref: '#/components/schemas/ObservabilityPipelineSocketDestinationMode' + tls: + $ref: '#/components/schemas/ObservabilityPipelineClientTls' + description: TLS configuration. Relevant only when `mode` is `tcp`. + type: + $ref: '#/components/schemas/ObservabilityPipelineSocketDestinationType' + required: + - id + - type + - inputs + - encoding + - framing + - mode + type: object + x-pipeline-types: + - logs + ObservabilityPipelineSplunkHecDestination: + description: |- + The `splunk_hec` destination forwards logs to Splunk using the HTTP Event Collector (HEC). + + **Supported pipeline types:** logs + properties: + auto_extract_timestamp: + description: |- + If `true`, Splunk tries to extract timestamps from incoming log events. + If `false`, Splunk assigns the time the event was received. + example: true + type: boolean + buffer: + $ref: '#/components/schemas/ObservabilityPipelineBufferOptions' + encoding: + $ref: '#/components/schemas/ObservabilityPipelineSplunkHecDestinationEncoding' + endpoint_url_key: + description: Name of the environment variable or secret that holds the Splunk HEC endpoint URL. + example: SPLUNK_HEC_ENDPOINT_URL + type: string + id: + description: The unique identifier for this component. Used in other parts of the pipeline to reference this component (for example, as the `input` to downstream components). + example: splunk-hec-destination + type: string + index: + description: Optional name of the Splunk index where logs are written. + example: main + type: string + indexed_fields: + description: List of log field names to send as indexed fields to Splunk HEC. Available only when `encoding` is `json`. + example: + - service + - host + items: + description: A log field name to index in Splunk. + type: string + type: array + inputs: + description: A list of component IDs whose output is used as the `input` for this component. + example: + - filter-processor + items: + description: The ID of a component whose output is used as input for this destination. + type: string + type: array + sourcetype: + description: The Splunk sourcetype to assign to log events. + example: custom_sourcetype + type: string + token_key: + description: Name of the environment variable or secret that holds the Splunk HEC token. + example: SPLUNK_HEC_TOKEN + type: string + token_strategy: + $ref: '#/components/schemas/ObservabilityPipelineSplunkHecDestinationTokenStrategy' + type: + $ref: '#/components/schemas/ObservabilityPipelineSplunkHecDestinationType' + required: + - id + - type + - inputs + type: object + x-pipeline-types: + - logs + ObservabilityPipelineSumoLogicDestination: + description: |- + The `sumo_logic` destination forwards logs to Sumo Logic. + + **Supported pipeline types:** logs + properties: + buffer: + $ref: '#/components/schemas/ObservabilityPipelineBufferOptions' + encoding: + $ref: '#/components/schemas/ObservabilityPipelineSumoLogicDestinationEncoding' + endpoint_url_key: + description: Name of the environment variable or secret that holds the Sumo Logic HTTP endpoint URL. + example: SUMO_LOGIC_ENDPOINT_URL + type: string + header_custom_fields: + description: A list of custom headers to include in the request to Sumo Logic. + items: + $ref: '#/components/schemas/ObservabilityPipelineSumoLogicDestinationHeaderCustomFieldsItem' + type: array + header_host_name: + description: Optional override for the host name header. + example: host-123 + type: string + header_source_category: + description: Optional override for the source category header. + example: source-category + type: string + header_source_name: + description: Optional override for the source name header. + example: source-name + type: string + id: + description: The unique identifier for this component. + example: sumo-logic-destination + type: string + inputs: + description: A list of component IDs whose output is used as the `input` for this component. + example: + - filter-processor + items: + description: The ID of a component whose output is used as input for this destination. + type: string + type: array + type: + $ref: '#/components/schemas/ObservabilityPipelineSumoLogicDestinationType' + required: + - id + - type + - inputs + type: object + x-pipeline-types: + - logs + ObservabilityPipelineSyslogNgDestination: + description: |- + The `syslog_ng` destination forwards logs to an external `syslog-ng` server over TCP or UDP using the syslog protocol. + + **Supported pipeline types:** logs + properties: + buffer: + $ref: '#/components/schemas/ObservabilityPipelineBufferOptions' + endpoint_url_key: + description: Name of the environment variable or secret that holds the syslog-ng server endpoint URL. + example: SYSLOG_ENDPOINT_URL + type: string + id: + description: The unique identifier for this component. + example: syslog-ng-destination + type: string + inputs: + description: A list of component IDs whose output is used as the `input` for this component. + example: + - filter-processor + items: + description: The ID of a component whose output is used as input for this destination. + type: string + type: array + keepalive: + description: Optional socket keepalive duration in milliseconds. + example: 60000 + format: int64 + minimum: 0 + type: integer + tls: + $ref: '#/components/schemas/ObservabilityPipelineClientTls' + type: + $ref: '#/components/schemas/ObservabilityPipelineSyslogNgDestinationType' + required: + - id + - type + - inputs + type: object + x-pipeline-types: + - logs + ObservabilityPipelineDatabricksZerobusDestination: + description: |- + The `databricks_zerobus` destination sends logs to Databricks using the Zerobus ingestion API, streaming data directly into your Databricks Lakehouse. + + **Supported pipeline types:** Logs, rehydration + properties: + auth: + $ref: '#/components/schemas/ObservabilityPipelineDatabricksZerobusDestinationAuth' + buffer: + $ref: '#/components/schemas/ObservabilityPipelineBufferOptions' + id: + description: The unique identifier for this component. + example: databricks-zerobus-destination + type: string + ingestion_endpoint_key: + description: Name of the environment variable or the secret identifier that references the Databricks Zerobus ingestion endpoint, which is used to stream data directly into your Databricks Lakehouse. + example: DD_OP_DESTINATION_DATABRICKS_ZEROBUS_INGESTION_ENDPOINT + type: string + inputs: + description: A list of component IDs whose output is used as the `input` for this component. + example: + - filter-processor + items: + description: The ID of a component whose output is used as input for this destination. + type: string + type: array + table_name: + description: The fully qualified name of your target Databricks table. Make sure this table already exists in your Databricks workspace before deploying. + example: catalog.schema.table + type: string + type: + $ref: '#/components/schemas/ObservabilityPipelineDatabricksZerobusDestinationType' + unity_catalog_endpoint_key: + description: Name of the environment variable or the secret identifier that references your Databricks workspace URL, which is used to communicate with the Unity Catalog API. + example: DD_OP_DESTINATION_DATABRICKS_ZEROBUS_UNITY_CATALOG_ENDPOINT + type: string + required: + - id + - type + - inputs + - table_name + - auth + type: object + x-pipeline-types: + - logs + - rehydration + ObservabilityPipelineDatadogMetricsDestination: + description: |- + The `datadog_metrics` destination forwards metrics to Datadog. + + **Supported pipeline types:** metrics + properties: + id: + description: The unique identifier for this component. + example: datadog-metrics-destination + type: string + inputs: + description: A list of component IDs whose output is used as the input for this component. + example: + - metric-tags-processor + items: + description: The ID of a component whose output is used as input for this destination. + type: string + type: array + type: + $ref: '#/components/schemas/ObservabilityPipelineDatadogMetricsDestinationType' + required: + - id + - type + - inputs + type: object + x-pipeline-types: + - metrics + ObservabilityPipelineSplunkHecMetricsDestination: + description: |- + The `splunk_hec_metrics` destination forwards metrics to Splunk using the HTTP Event Collector (HEC). + + **Supported pipeline types:** metrics + properties: + buffer: + $ref: '#/components/schemas/ObservabilityPipelineBufferOptions' + compression: + $ref: '#/components/schemas/ObservabilityPipelineSplunkHecMetricsDestinationCompression' + default_namespace: + description: Optional default namespace for metrics sent to Splunk HEC. + example: custom_namespace + type: string + endpoint_url_key: + description: Name of the environment variable or secret that holds the Splunk HEC endpoint URL. + example: SPLUNK_HEC_ENDPOINT_URL + type: string + id: + description: The unique identifier for this component. Used in other parts of the pipeline to reference this component (for example, as the `input` to downstream components). + example: splunk-hec-metrics-destination + type: string + index: + description: Optional name of the Splunk index where metrics are written. + example: metrics + type: string + inputs: + description: A list of component IDs whose output is used as the `input` for this component. + example: + - metrics-filter-processor + items: + description: The ID of a component whose output is used as input for this destination. + type: string + type: array + source: + description: The Splunk source field value for metric events. + example: observability_pipelines + type: string + sourcetype: + description: The Splunk sourcetype to assign to metric events. + example: custom_sourcetype + type: string + tls: + $ref: '#/components/schemas/ObservabilityPipelineTls' + token_key: + description: Name of the environment variable or secret that holds the Splunk HEC token. + example: SPLUNK_HEC_TOKEN + type: string + type: + $ref: '#/components/schemas/ObservabilityPipelineSplunkHecMetricsDestinationType' + required: + - id + - type + - inputs + type: object + x-pipeline-types: + - metrics + ObservabilityPipelineComponentDisplayName: + description: The display name for a component. + example: my component + type: string + ObservabilityPipelineConfigProcessorItem: + description: A processor for the pipeline. + properties: + display_name: + $ref: '#/components/schemas/ObservabilityPipelineComponentDisplayName' + enabled: + description: Indicates whether the processor is enabled. + example: true + type: boolean + id: + description: The unique identifier for this component. Used in other parts of the pipeline to reference this component (for example, as the `input` to downstream components). + example: filter-processor + type: string + include: + description: A Datadog search query used to determine which logs/metrics should pass through the filter. Logs/metrics that match this query continue to downstream components; others are dropped. + example: service:my-service + type: string + type: + $ref: '#/components/schemas/ObservabilityPipelineFilterProcessorType' + variables: + description: A list of environment variable mappings to apply to log fields. + items: + $ref: '#/components/schemas/ObservabilityPipelineAddEnvVarsProcessorVariable' + type: array + fields: + description: A list of static fields (key-value pairs) that is added to each log event processed by this component. + items: + $ref: '#/components/schemas/ObservabilityPipelineFieldValue' + type: array + remaps: + description: Array of VRL remap rules. + items: + $ref: '#/components/schemas/ObservabilityPipelineCustomProcessorRemap' + minItems: 1 + type: array + action: + $ref: '#/components/schemas/ObservabilityPipelineDatadogTagsProcessorAction' + keys: + description: A list of tag keys. + example: + - env + - service + - version + items: + description: A Datadog tag key to include or exclude. + type: string + type: array + mode: + $ref: '#/components/schemas/ObservabilityPipelineDatadogTagsProcessorMode' + cache: + $ref: '#/components/schemas/ObservabilityPipelineDedupeProcessorCache' + file: + $ref: '#/components/schemas/ObservabilityPipelineEnrichmentTableFile' + geoip: + $ref: '#/components/schemas/ObservabilityPipelineEnrichmentTableGeoIp' + reference_table: + $ref: '#/components/schemas/ObservabilityPipelineEnrichmentTableReferenceTable' + target: + description: Path where enrichment results should be stored in the log. + example: enriched.geoip + type: string + metrics: + description: Configuration for generating individual metrics. + items: + $ref: '#/components/schemas/ObservabilityPipelineGeneratedMetric' + type: array + keep_unmatched: + description: Whether to keep an event that does not match any of the mapping filters. + example: false + type: boolean + mappings: + description: A list of mapping rules to convert events to the OCSF format. + items: + $ref: '#/components/schemas/ObservabilityPipelineOcsfMapperProcessorMapping' + type: array + disable_library_rules: + default: false + description: If set to `true`, disables the default Grok rules provided by Datadog. + example: true + type: boolean + field: + default: message + description: The log field to parse with the Grok rules. + example: message + type: string + rules: + description: The list of Grok parsing rules selected by either source field or include query. + items: + $ref: '#/components/schemas/ObservabilityPipelineParseGrokProcessorRuleItem' + type: array + always_use_text_key: + description: Whether to always use a text key for element content. + type: boolean + attr_prefix: + description: The prefix to use for XML attributes in the parsed output. + type: string + include_attr: + description: Whether to include XML attributes in the parsed output. + type: boolean + parse_bool: + description: Whether to parse boolean values from strings. + type: boolean + parse_null: + description: Whether to parse null values. + type: boolean + parse_number: + description: Whether to parse numeric values from strings. + type: boolean + text_key: + description: The key name to use for text content within XML elements. Must be at least 1 character if specified. + minLength: 1 + type: string + drop_events: + description: 'If set to `true`, logs that match the quota filter and are sent after the quota is exceeded are dropped. Logs that do not match the filter continue through the pipeline. **Note**: You can set either `drop_events` or `overflow_action`, but not both.' + example: false + type: boolean + ignore_when_missing_partitions: + description: If `true`, the processor skips quota checks when partition fields are missing from the logs. + type: boolean + limit: + $ref: '#/components/schemas/ObservabilityPipelineQuotaProcessorLimit' + name: + description: Name of the quota. + example: MyQuota + type: string + overflow_action: + $ref: '#/components/schemas/ObservabilityPipelineQuotaProcessorOverflowAction' + overrides: + description: A list of alternate quota rules that apply to specific sets of events, identified by matching field values. Each override can define a custom limit. + items: + $ref: '#/components/schemas/ObservabilityPipelineQuotaProcessorOverride' + type: array + partition_fields: + description: A list of fields used to segment log traffic for quota enforcement. Quotas are tracked independently by unique combinations of these field values. + items: + description: The name of a log field used to partition quota enforcement. + type: string + type: array + too_many_buckets_action: + $ref: '#/components/schemas/ObservabilityPipelineQuotaProcessorOverflowAction' + group_by: + description: A list of fields used to group log events for merging. + example: + - log.user.id + - log.device.id + items: + description: A log field path used to group events for aggregation. + type: string + type: array + merge_strategies: + description: List of merge strategies defining how values from grouped events should be combined. + items: + $ref: '#/components/schemas/ObservabilityPipelineReduceProcessorMergeStrategy' + type: array + percentage: + description: The percentage of logs to sample. + example: 10 + format: double + type: number + arrays: + description: A list of array split configurations. + items: + $ref: '#/components/schemas/ObservabilityPipelineSplitArrayProcessorArrayConfig' + maxItems: 15 + minItems: 1 + type: array + threshold: + description: the number of events allowed in a given time window. Events sent after the threshold has been reached, are dropped. + example: 1000 + format: int64 + type: integer + window: + description: The time window in seconds over which the threshold applies. + example: 60 + format: double + type: number + tags: + description: A list of static tags (key-value pairs) added to each metric processed by this component. + items: + $ref: '#/components/schemas/ObservabilityPipelineFieldValue' + maxItems: 15 + type: array + interval_secs: + description: The interval, in seconds, over which metrics are aggregated. + example: 10 + format: int64 + maximum: 60 + minimum: 1 + type: integer + limit_exceeded_action: + $ref: '#/components/schemas/ObservabilityPipelineTagCardinalityLimitProcessorAction' + per_metric_limits: + description: A list of per-metric cardinality overrides that take precedence over the default `value_limit`. + items: + $ref: '#/components/schemas/ObservabilityPipelineTagCardinalityLimitProcessorPerMetricLimit' + maxItems: 100 + type: array + tracking_mode: + $ref: '#/components/schemas/ObservabilityPipelineTagCardinalityLimitProcessorTrackingMode' + value_limit: + description: The default maximum number of distinct tag value combinations allowed per metric. + example: 10000 + format: int64 + maximum: 1000000 + minimum: 0 + type: integer + required: + - id + - type + - include + - enabled + - variables + - fields + - remaps + - mode + - action + - keys + - target + - mappings + - rules + - field + - name + - limit + - group_by + - merge_strategies + - percentage + - arrays + - threshold + - window + - tags + - interval_secs + - limit_exceeded_action + - tracking_mode + - value_limit + type: object + x-pipeline-types: + - logs + - metrics + example: + id: parse-grok-processor + include: service:my-service + type: parse_grok + ObservabilityPipelineDatadogAgentSource: + description: |- + The `datadog_agent` source collects logs/metrics from the Datadog Agent. + + **Supported pipeline types:** logs, metrics + properties: + address_key: + description: Name of the environment variable or secret that holds the listen address for the Datadog Agent source. + example: DATADOG_AGENT_ADDRESS + type: string + id: + description: The unique identifier for this component. Used in other parts of the pipeline to reference this component (for example, as the `input` to downstream components). + example: datadog-agent-source + type: string + tls: + $ref: '#/components/schemas/ObservabilityPipelineTls' + type: + $ref: '#/components/schemas/ObservabilityPipelineDatadogAgentSourceType' + required: + - id + - type + type: object + x-pipeline-types: + - logs + - metrics + ObservabilityPipelineAmazonDataFirehoseSource: + description: |- + The `amazon_data_firehose` source ingests logs from AWS Data Firehose. + + **Supported pipeline types:** logs + properties: + address_key: + description: Name of the environment variable or secret that holds the Firehose delivery stream address. + example: FIREHOSE_ADDRESS + type: string + auth: + $ref: '#/components/schemas/ObservabilityPipelineAwsAuth' + id: + description: The unique identifier for this component. Used in other parts of the pipeline to reference this component (for example, as the `input` to downstream components). + example: amazon-firehose-source + type: string + tls: + $ref: '#/components/schemas/ObservabilityPipelineTls' + type: + $ref: '#/components/schemas/ObservabilityPipelineAmazonDataFirehoseSourceType' + required: + - id + - type + type: object + x-pipeline-types: + - logs + ObservabilityPipelineAmazonS3Source: + description: |- + The `amazon_s3` source ingests logs from an Amazon S3 bucket. + It supports AWS authentication, TLS encryption, and configurable compression. + + **Supported pipeline types:** logs + properties: + auth: + $ref: '#/components/schemas/ObservabilityPipelineAwsAuth' + compression: + $ref: '#/components/schemas/ObservabilityPipelineAmazonS3SourceCompression' + id: + description: The unique identifier for this component. Used in other parts of the pipeline to reference this component (for example, as the `input` to downstream components). + example: aws-s3-source + type: string + region: + description: AWS region where the S3 bucket resides. + example: us-east-1 + type: string + tls: + $ref: '#/components/schemas/ObservabilityPipelineTls' + type: + $ref: '#/components/schemas/ObservabilityPipelineAmazonS3SourceType' + url_key: + description: Name of the environment variable or secret that holds the S3 bucket URL. + example: S3_BUCKET_URL + type: string + required: + - id + - type + - region + type: object + x-pipeline-types: + - logs + ObservabilityPipelineFluentBitSource: + description: |- + The `fluent_bit` source ingests logs from Fluent Bit. + + **Supported pipeline types:** logs + properties: + address_key: + description: Name of the environment variable or secret that holds the listen address for the Fluent Bit receiver. + example: FLUENT_ADDRESS + type: string + id: + description: The unique identifier for this component. Used in other parts of the pipeline to reference this component (for example, as the `input` to downstream components). + example: fluent-source + type: string + tls: + $ref: '#/components/schemas/ObservabilityPipelineMtlsServerTls' + type: + $ref: '#/components/schemas/ObservabilityPipelineFluentBitSourceType' + required: + - id + - type + type: object + x-pipeline-types: + - logs + ObservabilityPipelineFluentdSource: + description: |- + The `fluentd` source ingests logs from a Fluentd-compatible service. + + **Supported pipeline types:** logs + properties: + address_key: + description: Name of the environment variable or secret that holds the listen address for the Fluent receiver. + example: FLUENT_ADDRESS + type: string + id: + description: The unique identifier for this component. Used in other parts of the pipeline to reference this component (for example, as the `input` to downstream components). + example: fluent-source + type: string + tls: + $ref: '#/components/schemas/ObservabilityPipelineMtlsServerTls' + type: + $ref: '#/components/schemas/ObservabilityPipelineFluentdSourceType' + required: + - id + - type + type: object + x-pipeline-types: + - logs + ObservabilityPipelineGooglePubSubSource: + description: |- + The `google_pubsub` source ingests logs from a Google Cloud Pub/Sub subscription. + + **Supported pipeline types:** logs + properties: + auth: + $ref: '#/components/schemas/ObservabilityPipelineGcpAuth' + decoding: + $ref: '#/components/schemas/ObservabilityPipelineDecoding' + id: + description: The unique identifier for this component. Used in other parts of the pipeline to reference this component (for example, as the `input` to downstream components). + example: google-pubsub-source + type: string + project: + description: The Google Cloud project ID that owns the Pub/Sub subscription. + example: my-gcp-project + type: string + subscription: + description: The Pub/Sub subscription name from which messages are consumed. + example: logs-subscription + type: string + tls: + $ref: '#/components/schemas/ObservabilityPipelineTls' + type: + $ref: '#/components/schemas/ObservabilityPipelineGooglePubSubSourceType' + required: + - id + - type + - decoding + - project + - subscription + type: object + x-pipeline-types: + - logs + ObservabilityPipelineHttpClientSource: + description: |- + The `http_client` source scrapes logs from HTTP endpoints at regular intervals. + + **Supported pipeline types:** logs + properties: + auth_strategy: + $ref: '#/components/schemas/ObservabilityPipelineHttpClientSourceAuthStrategy' + custom_key: + description: Name of the environment variable or secret that holds a custom header value (used with custom auth strategies). + example: HTTP_AUTH_CUSTOM_HEADER + type: string + decoding: + $ref: '#/components/schemas/ObservabilityPipelineDecoding' + endpoint_url_key: + description: Name of the environment variable or secret that holds the HTTP endpoint URL to scrape. + example: HTTP_ENDPOINT_URL + type: string + id: + description: The unique identifier for this component. Used in other parts of the pipeline to reference this component (for example, as the `input` to downstream components). + example: http-client-source + type: string + password_key: + description: Name of the environment variable or secret that holds the password (used when `auth_strategy` is `basic`). + example: HTTP_AUTH_PASSWORD + type: string + scrape_interval_secs: + description: The interval (in seconds) between HTTP scrape requests. + example: 60 + format: int64 + type: integer + scrape_timeout_secs: + description: The timeout (in seconds) for each scrape request. + example: 10 + format: int64 + type: integer + tls: + $ref: '#/components/schemas/ObservabilityPipelineClientTls' + token_key: + description: Name of the environment variable or secret that holds the bearer token (used when `auth_strategy` is `bearer`). + example: HTTP_AUTH_TOKEN + type: string + type: + $ref: '#/components/schemas/ObservabilityPipelineHttpClientSourceType' + username_key: + description: Name of the environment variable or secret that holds the username (used when `auth_strategy` is `basic`). + example: HTTP_AUTH_USERNAME + type: string + required: + - id + - type + - decoding + type: object + x-pipeline-types: + - logs + ObservabilityPipelineHttpServerSource: + description: |- + The `http_server` source collects logs over HTTP POST from external services. + + **Supported pipeline types:** logs + properties: + address_key: + description: Name of the environment variable or secret that holds the listen address for the HTTP server. + example: HTTP_SERVER_ADDRESS + type: string + auth_strategy: + $ref: '#/components/schemas/ObservabilityPipelineHttpServerSourceAuthStrategy' + custom_key: + description: Name of the environment variable or secret that holds a custom header value (used with custom auth strategies). + example: HTTP_AUTH_CUSTOM_HEADER + type: string + decoding: + $ref: '#/components/schemas/ObservabilityPipelineDecoding' + id: + description: Unique ID for the HTTP server source. + example: http-server-source + type: string + password_key: + description: Name of the environment variable or secret that holds the password (used when `auth_strategy` is `plain`). + example: HTTP_AUTH_PASSWORD + type: string + tls: + $ref: '#/components/schemas/ObservabilityPipelineMtlsServerTls' + type: + $ref: '#/components/schemas/ObservabilityPipelineHttpServerSourceType' + username_key: + description: Name of the environment variable or secret that holds the username (used when `auth_strategy` is `plain`). + example: HTTP_AUTH_USERNAME + type: string + valid_tokens: + description: |- + A list of tokens that are accepted for authenticating incoming HTTP requests. When set, + the source rejects any request whose token does not match an enabled entry in this list. + Cannot be combined with the `plain` auth strategy. + items: + $ref: '#/components/schemas/ObservabilityPipelineHttpServerSourceValidToken' + maxItems: 1000 + minItems: 1 + type: array + required: + - id + - type + - auth_strategy + - decoding + type: object + x-pipeline-types: + - logs + ObservabilityPipelineKafkaSource: + description: |- + The `kafka` source ingests data from Apache Kafka topics. + + **Supported pipeline types:** logs + properties: + bootstrap_servers_key: + description: Name of the environment variable or secret that holds the Kafka bootstrap servers list. + example: KAFKA_BOOTSTRAP_SERVERS + type: string + group_id: + description: Consumer group ID used by the Kafka client. + example: consumer-group-0 + type: string + id: + description: The unique identifier for this component. Used in other parts of the pipeline to reference this component (for example, as the `input` to downstream components). + example: kafka-source + type: string + librdkafka_options: + description: Optional list of advanced Kafka client configuration options, defined as key-value pairs. + items: + $ref: '#/components/schemas/ObservabilityPipelineKafkaLibrdkafkaOption' + type: array + sasl: + $ref: '#/components/schemas/ObservabilityPipelineKafkaSasl' + tls: + $ref: '#/components/schemas/ObservabilityPipelineTls' + topics: + description: A list of Kafka topic names to subscribe to. The source ingests messages from each topic specified. + example: + - topic1 + - topic2 + items: + description: A Kafka topic name to subscribe to. + type: string + type: array + type: + $ref: '#/components/schemas/ObservabilityPipelineKafkaSourceType' + required: + - id + - type + - group_id + - topics + type: object + x-pipeline-types: + - logs + ObservabilityPipelineLogstashSource: + description: |- + The `logstash` source ingests logs from a Logstash forwarder. + + **Supported pipeline types:** logs + properties: + address_key: + description: Name of the environment variable or secret that holds the listen address for the Logstash receiver. + example: LOGSTASH_ADDRESS + type: string + id: + description: The unique identifier for this component. Used in other parts of the pipeline to reference this component (for example, as the `input` to downstream components). + example: logstash-source + type: string + tls: + $ref: '#/components/schemas/ObservabilityPipelineMtlsServerTls' + type: + $ref: '#/components/schemas/ObservabilityPipelineLogstashSourceType' + required: + - id + - type + type: object + x-pipeline-types: + - logs + ObservabilityPipelineRsyslogSource: + description: |- + The `rsyslog` source listens for logs over TCP or UDP from an `rsyslog` server using the syslog protocol. + + **Supported pipeline types:** logs + properties: + address_key: + description: Name of the environment variable or secret that holds the listen address for the syslog receiver. + example: SYSLOG_ADDRESS + type: string + id: + description: The unique identifier for this component. Used in other parts of the pipeline to reference this component (for example, as the `input` to downstream components). + example: rsyslog-source + type: string + mode: + $ref: '#/components/schemas/ObservabilityPipelineSyslogSourceMode' + tls: + $ref: '#/components/schemas/ObservabilityPipelineMtlsServerTls' + type: + $ref: '#/components/schemas/ObservabilityPipelineRsyslogSourceType' + required: + - id + - type + - mode + type: object + x-pipeline-types: + - logs + ObservabilityPipelineSocketSource: + description: |- + The `socket` source ingests logs over TCP or UDP. + + **Supported pipeline types:** logs + properties: + address_key: + description: Name of the environment variable or secret that holds the listen address for the socket. + example: SOCKET_ADDRESS + type: string + framing: + $ref: '#/components/schemas/ObservabilityPipelineSocketSourceFraming' + id: + description: The unique identifier for this component. Used in other parts of the pipeline to reference this component (for example, as the `input` to downstream components). + example: socket-source + type: string + mode: + $ref: '#/components/schemas/ObservabilityPipelineSocketSourceMode' + tls: + $ref: '#/components/schemas/ObservabilityPipelineMtlsServerTls' + description: TLS configuration. Relevant only when `mode` is `tcp`. + type: + $ref: '#/components/schemas/ObservabilityPipelineSocketSourceType' + required: + - id + - type + - mode + - framing + type: object + x-pipeline-types: + - logs + ObservabilityPipelineSplunkHecSource: + description: |- + The `splunk_hec` source implements the Splunk HTTP Event Collector (HEC) API. + + **Supported pipeline types:** logs + properties: + address_key: + description: Name of the environment variable or secret that holds the listen address for the HEC API. + example: SPLUNK_HEC_ADDRESS + type: string + id: + description: The unique identifier for this component. Used in other parts of the pipeline to reference this component (for example, as the `input` to downstream components). + example: splunk-hec-source + type: string + store_hec_token: + description: |- + When `true`, the Splunk HEC token from the incoming request is stored in the event metadata. + This allows downstream components to forward the token to other Splunk HEC destinations. + example: true + type: boolean + tls: + $ref: '#/components/schemas/ObservabilityPipelineMtlsServerTls' + type: + $ref: '#/components/schemas/ObservabilityPipelineSplunkHecSourceType' + valid_tokens: + description: |- + A list of tokens that are accepted for authenticating incoming HEC requests. When set, the source + rejects any request whose HEC token does not match an enabled entry in this list. + items: + $ref: '#/components/schemas/ObservabilityPipelineSplunkHecSourceValidToken' + maxItems: 1000 + minItems: 1 + type: array + required: + - id + - type + type: object + x-pipeline-types: + - logs + ObservabilityPipelineSplunkTcpSource: + description: |- + The `splunk_tcp` source receives logs from a Splunk Universal Forwarder over TCP. + TLS is supported for secure transmission. + + **Supported pipeline types:** logs + properties: + address_key: + description: Name of the environment variable or secret that holds the listen address for the Splunk TCP receiver. + example: SPLUNK_TCP_ADDRESS + type: string + id: + description: The unique identifier for this component. Used in other parts of the pipeline to reference this component (for example, as the `input` to downstream components). + example: splunk-tcp-source + type: string + tls: + $ref: '#/components/schemas/ObservabilityPipelineMtlsServerTls' + type: + $ref: '#/components/schemas/ObservabilityPipelineSplunkTcpSourceType' + required: + - id + - type + type: object + x-pipeline-types: + - logs + ObservabilityPipelineSumoLogicSource: + description: |- + The `sumo_logic` source receives logs from Sumo Logic collectors. + + **Supported pipeline types:** logs + properties: + address_key: + description: Name of the environment variable or secret that holds the listen address for the Sumo Logic receiver. + example: SUMO_LOGIC_ADDRESS + type: string + id: + description: The unique identifier for this component. Used in other parts of the pipeline to reference this component (for example, as the `input` to downstream components). + example: sumo-logic-source + type: string + type: + $ref: '#/components/schemas/ObservabilityPipelineSumoLogicSourceType' + required: + - id + - type + type: object + x-pipeline-types: + - logs + ObservabilityPipelineSyslogNgSource: + description: |- + The `syslog_ng` source listens for logs over TCP or UDP from a `syslog-ng` server using the syslog protocol. + + **Supported pipeline types:** logs + properties: + address_key: + description: Name of the environment variable or secret that holds the listen address for the syslog-ng receiver. + example: SYSLOG_ADDRESS + type: string + id: + description: The unique identifier for this component. Used in other parts of the pipeline to reference this component (for example, as the `input` to downstream components). + example: syslog-ng-source + type: string + mode: + $ref: '#/components/schemas/ObservabilityPipelineSyslogSourceMode' + tls: + $ref: '#/components/schemas/ObservabilityPipelineMtlsServerTls' + type: + $ref: '#/components/schemas/ObservabilityPipelineSyslogNgSourceType' + required: + - id + - type + - mode + type: object + x-pipeline-types: + - logs + ObservabilityPipelineWebsocketSource: + description: |- + The `websocket` source ingests logs from a WebSocket server using the `ws://` or `wss://` protocol. + + **Supported pipeline types:** logs. + properties: + auth_strategy: + $ref: '#/components/schemas/ObservabilityPipelineWebsocketSourceAuthStrategy' + custom_key: + description: Name of the environment variable or secret that holds the custom authorization header value. Used when `auth_strategy` is `custom`. + example: WS_AUTH_CUSTOM_HEADER + type: string + decoding: + $ref: '#/components/schemas/ObservabilityPipelineDecoding' + id: + description: The unique identifier for this component. + example: websocket-source + type: string + password_key: + description: Name of the environment variable or secret that holds the password. Used when `auth_strategy` is `basic`. + example: WS_AUTH_PASSWORD + type: string + tls: + $ref: '#/components/schemas/ObservabilityPipelineWebsocketSourceTls' + token_key: + description: Name of the environment variable or secret that holds the bearer token. Used when `auth_strategy` is `bearer`. + example: WS_BEARER_TOKEN + type: string + type: + $ref: '#/components/schemas/ObservabilityPipelineWebsocketSourceType' + uri_key: + description: Name of the environment variable or secret that holds the WebSocket server URI (`ws://` or `wss://`). + example: WS_URI + type: string + username_key: + description: Name of the environment variable or secret that holds the username. Used when `auth_strategy` is `basic`. + example: WS_AUTH_USERNAME + type: string + required: + - id + - type + - decoding + - auth_strategy + type: object + x-pipeline-types: + - logs + ObservabilityPipelineOpentelemetrySource: + description: |- + The `opentelemetry` source receives telemetry data using the OpenTelemetry Protocol (OTLP) over gRPC and HTTP. + + **Supported pipeline types:** logs, metrics + properties: + grpc_address_key: + description: Environment variable name containing the gRPC server address for receiving OTLP data. Must be a valid environment variable name (alphanumeric characters and underscores only). + example: OTEL_GRPC_ADDRESS + type: string + http_address_key: + description: Environment variable name containing the HTTP server address for receiving OTLP data. Must be a valid environment variable name (alphanumeric characters and underscores only). + example: OTEL_HTTP_ADDRESS + type: string + id: + description: The unique identifier for this component. Used in other parts of the pipeline to reference this component (for example, as the `input` to downstream components). + example: opentelemetry-source + type: string + tls: + $ref: '#/components/schemas/ObservabilityPipelineMtlsServerTls' + type: + $ref: '#/components/schemas/ObservabilityPipelineOpentelemetrySourceType' + required: + - id + - type + type: object + x-pipeline-types: + - logs + - metrics + LogsArrayProcessorOperationAppendType: + description: Operation type. + enum: + - append + example: append + type: string + x-enum-varnames: + - APPEND + LogsArrayProcessorOperationLengthType: + description: Operation type. + enum: + - length + example: length + type: string + x-enum-varnames: + - LENGTH + LogsArrayProcessorOperationSelectType: + description: Operation type. + enum: + - select + example: select + type: string + x-enum-varnames: + - SELECT + LogsArrayProcessorOperationExtractKeyValueType: + description: Operation type. + enum: + - key-value + example: key-value + type: string + x-enum-varnames: + - KEY_VALUE + LogsSchemaRemapperType: + description: Type of logs schema remapper. + enum: + - schema-remapper + example: schema-remapper + type: string + x-enum-varnames: + - SCHEMA_REMAPPER + LogsSchemaCategoryMapperCategory: + description: Object describing the logs filter with corresponding category ID and name assignment. + properties: + filter: + $ref: '#/components/schemas/LogsFilter' + id: + description: ID to inject into the category. + example: 1 + format: int64 + type: integer + name: + description: Value to assign to target schema field. + example: Password Change + type: string + required: + - filter + - id + - name + type: object + LogsSchemaCategoryMapperFallback: + description: Used to override hardcoded category values with a value pulled from a source attribute on the log. + properties: + sources: + additionalProperties: + items: + description: A fallback source attribute name. + type: string + type: array + description: Fallback sources used to populate value of field. + example: {} + type: object + values: + additionalProperties: + type: string + description: Values that define when the fallback is used. + example: {} + type: object + type: object + LogsSchemaCategoryMapperTargets: + description: Name of the target attributes which value is defined by the matching category. + properties: + id: + description: ID of the field to map log attributes to. + example: ocsf.activity_id + type: string + name: + description: Name of the field to map log attributes to. + example: ocsf.activity_name + type: string + type: object + LogsSchemaCategoryMapperType: + description: Type of logs schema category mapper. + enum: + - schema-category-mapper + example: schema-category-mapper + type: string + x-enum-varnames: + - SCHEMA_CATEGORY_MAPPER + LogsArchiveEncryptionS3Type: + description: Type of S3 encryption for a destination. + enum: + - NO_OVERRIDE + - SSE_S3 + - SSE_KMS + example: SSE_S3 + type: string + x-enum-varnames: + - NO_OVERRIDE + - SSE_S3 + - SSE_KMS + LogsArchiveIntegrationS3AccessKey: + description: The S3 Archive's integration destination using an access key. + properties: + access_key_id: + description: The access key ID for the integration. + example: AKIAIOSFODNN7EXAMPLE + type: string + required: + - access_key_id + type: object + LogsArchiveIntegrationS3Role: + description: The S3 Archive's integration destination using an IAM role. + properties: + account_id: + description: The account ID for the integration. + example: '123456789012' + type: string + role_name: + description: The name of the role to assume for the integration. + example: role-name + type: string + required: + - account_id + - role_name + type: object + CustomDestinationResponseHttpDestinationAuthBasic: + description: Basic access authentication. + properties: + type: + $ref: '#/components/schemas/CustomDestinationResponseHttpDestinationAuthBasicType' + required: + - type + type: object + CustomDestinationResponseHttpDestinationAuthCustomHeader: + description: Custom header access authentication. + properties: + header_name: + description: The header name of the authentication. + example: CUSTOM-HEADER-NAME + type: string + type: + $ref: '#/components/schemas/CustomDestinationResponseHttpDestinationAuthCustomHeaderType' + required: + - type + - header_name + type: object + CustomDestinationHttpDestinationAuthBasic: + description: Basic access authentication. + properties: + password: + description: The password of the authentication. This field is not returned by the API. + example: datadog-custom-destination-password + type: string + writeOnly: true + type: + $ref: '#/components/schemas/CustomDestinationHttpDestinationAuthBasicType' + username: + description: The username of the authentication. This field is not returned by the API. + example: datadog-custom-destination-username + type: string + writeOnly: true + required: + - type + - username + - password + type: object + CustomDestinationHttpDestinationAuthCustomHeader: + description: Custom header access authentication. + properties: + header_name: + description: The header name of the authentication. + example: CUSTOM-HEADER-NAME + type: string + header_value: + description: The header value of the authentication. This field is not returned by the API. + example: CUSTOM-HEADER-AUTHENTICATION-VALUE + type: string + writeOnly: true + type: + $ref: '#/components/schemas/CustomDestinationHttpDestinationAuthCustomHeaderType' + required: + - type + - header_name + - header_value + type: object + ObservabilityPipelineElasticsearchDestinationApiVersion: + description: The Elasticsearch API version to use. Set to `auto` to auto-detect. + enum: + - auto + - v6 + - v7 + - v8 + example: auto + type: string + x-enum-varnames: + - AUTO + - V6 + - V7 + - V8 + ObservabilityPipelineElasticsearchDestinationAuth: + description: |- + Authentication settings for the Elasticsearch destination. + When `strategy` is `basic`, use `username_key` and `password_key` to reference credentials stored in environment variables or secrets. + properties: + password_key: + description: Name of the environment variable or secret that holds the Elasticsearch password (used when `strategy` is `basic`). + example: ELASTICSEARCH_PASSWORD + type: string + strategy: + $ref: '#/components/schemas/ObservabilityPipelineAmazonOpenSearchDestinationAuthStrategy' + username_key: + description: Name of the environment variable or secret that holds the Elasticsearch username (used when `strategy` is `basic`). + example: ELASTICSEARCH_USERNAME + type: string + required: + - strategy + type: object + ObservabilityPipelineBufferOptions: + description: Configuration for buffer settings on destination components. + properties: + max_size: + description: Maximum size of the disk buffer. + example: 4096 + format: int64 + type: integer + type: + $ref: '#/components/schemas/ObservabilityPipelineBufferOptionsDiskType' + when_full: + $ref: '#/components/schemas/ObservabilityPipelineBufferOptionsWhenFull' + max_events: + description: Maximum events for the memory buffer. + example: 500 + format: int64 + type: integer + required: + - max_size + - max_events + type: object + ObservabilityPipelineElasticsearchDestinationCompression: + description: Compression configuration for the Elasticsearch destination. + properties: + algorithm: + $ref: '#/components/schemas/ObservabilityPipelineElasticsearchDestinationCompressionAlgorithm' + level: + description: The compression level. Only applicable for `gzip`, `zlib`, and `zstd` algorithms. + example: 6 + format: int64 + type: integer + required: + - algorithm + type: object + ObservabilityPipelineElasticsearchDestinationDataStream: + description: Configuration options for writing to Elasticsearch Data Streams instead of a fixed index. + properties: + auto_routing: + description: When `true`, automatically routes events to the appropriate data stream based on the event content. + type: boolean + dataset: + description: The data stream dataset. This groups events by their source or application. + type: string + dtype: + description: The data stream type. This determines how events are categorized within the data stream. + type: string + namespace: + description: The data stream namespace. This separates events into different environments or domains. + type: string + sync_fields: + description: When `true`, synchronizes data stream fields with the Elasticsearch index mapping. + type: boolean + type: object + ObservabilityPipelineTls: + description: Configuration for enabling TLS encryption between the pipeline component and external services. + properties: + ca_file: + description: Path to the Certificate Authority (CA) file used to validate the server’s TLS certificate. + type: string + crt_file: + description: Path to the TLS client certificate file used to authenticate the pipeline component with upstream or downstream services. + example: /path/to/cert.crt + type: string + key_file: + description: Path to the private key file associated with the TLS client certificate. Used for mutual TLS authentication. + type: string + key_pass_key: + description: Name of the environment variable or secret that holds the passphrase for the private key file. + example: TLS_KEY_PASSPHRASE + type: string + required: + - crt_file + type: object + ObservabilityPipelineElasticsearchDestinationType: + default: elasticsearch + description: The destination type. The value should always be `elasticsearch`. + enum: + - elasticsearch + example: elasticsearch + type: string + x-enum-varnames: + - ELASTICSEARCH + ObservabilityPipelineHttpClientDestinationAuthStrategy: + description: HTTP authentication strategy. + enum: + - none + - basic + - bearer + example: basic + type: string + x-enum-varnames: + - NONE + - BASIC + - BEARER + ObservabilityPipelineHttpClientDestinationCompression: + description: Compression configuration for HTTP requests. + properties: + algorithm: + $ref: '#/components/schemas/ObservabilityPipelineHttpClientDestinationCompressionAlgorithm' + required: + - algorithm + type: object + ObservabilityPipelineHttpClientDestinationEncoding: + description: Encoding format for log events. + enum: + - json + example: json + type: string + x-enum-varnames: + - JSON + ObservabilityPipelineClientTls: + description: Configuration for enabling TLS encryption between the pipeline component and external services. + properties: + ca_file: + description: Path to the Certificate Authority (CA) file used to validate the server’s TLS certificate. + type: string + crt_file: + description: Path to the TLS client certificate file used to authenticate the pipeline component with upstream or downstream services. + example: /path/to/cert.crt + type: string + key_file: + description: Path to the private key file associated with the TLS client certificate. Used for mutual TLS authentication. + type: string + key_pass_key: + description: Name of the environment variable or secret that holds the passphrase for the private key file. + example: TLS_KEY_PASSPHRASE + type: string + server_name: + description: Server name to use for Server Name Indication (SNI) and to verify against the certificate presented by the remote host. Use this when the address you connect to doesn't match the certificate's Common Name or Subject Alternative Name. + example: server.example.com + maxLength: 253 + minLength: 1 + type: string + required: + - crt_file + type: object + ObservabilityPipelineHttpClientDestinationType: + default: http_client + description: The destination type. The value should always be `http_client`. + enum: + - http_client + example: http_client + type: string + x-enum-varnames: + - HTTP_CLIENT + ObservabilityPipelineAmazonOpenSearchDestinationAuth: + description: |- + Authentication settings for the Amazon OpenSearch destination. + The `strategy` field determines whether basic or AWS-based authentication is used. + properties: + assume_role: + description: The ARN of the role to assume (used with `aws` strategy). + type: string + aws_region: + description: AWS region + type: string + external_id: + description: External ID for the assumed role (used with `aws` strategy). + type: string + session_name: + description: Session name for the assumed role (used with `aws` strategy). + type: string + strategy: + $ref: '#/components/schemas/ObservabilityPipelineAmazonOpenSearchDestinationAuthStrategy' + required: + - strategy + type: object + ObservabilityPipelineAmazonOpenSearchDestinationType: + default: amazon_opensearch + description: The destination type. The value should always be `amazon_opensearch`. + enum: + - amazon_opensearch + example: amazon_opensearch + type: string + x-enum-varnames: + - AMAZON_OPENSEARCH + ObservabilityPipelineAwsAuth: + description: |- + AWS authentication credentials used for accessing AWS services such as S3. + If omitted, the system’s default credentials are used (for example, the IAM role and environment variables). + properties: + assume_role: + description: The Amazon Resource Name (ARN) of the role to assume. + type: string + external_id: + description: A unique identifier for cross-account role assumption. + type: string + session_name: + description: A session identifier used for logging and tracing the assumed role session. + type: string + type: object + ObservabilityPipelineAmazonS3DestinationServerSideEncryption: + description: Server-side encryption type for Amazon S3. + enum: + - aws:kms + - AES256 + example: aws:kms + type: string + x-enum-varnames: + - AWS_KMS + - AES256 + ObservabilityPipelineAmazonS3DestinationStorageClass: + description: S3 storage class. + enum: + - STANDARD + - REDUCED_REDUNDANCY + - INTELLIGENT_TIERING + - STANDARD_IA + - EXPRESS_ONEZONE + - ONEZONE_IA + - GLACIER + - GLACIER_IR + - DEEP_ARCHIVE + example: STANDARD + type: string + x-enum-varnames: + - STANDARD + - REDUCED_REDUNDANCY + - INTELLIGENT_TIERING + - STANDARD_IA + - EXPRESS_ONEZONE + - ONEZONE_IA + - GLACIER + - GLACIER_IR + - DEEP_ARCHIVE + ObservabilityPipelineAmazonS3DestinationType: + default: amazon_s3 + description: The destination type. Always `amazon_s3`. + enum: + - amazon_s3 + example: amazon_s3 + type: string + x-enum-varnames: + - AMAZON_S3 + ObservabilityPipelineAmazonS3GenericBatchSettings: + description: Event batching settings + properties: + batch_size: + description: Maximum batch size in bytes. + example: 100000000 + format: int64 + type: integer + timeout_secs: + description: Maximum number of seconds to wait before flushing the batch. + example: 900 + format: int64 + type: integer + type: object + ObservabilityPipelineAmazonS3GenericCompression: + description: Compression algorithm applied to encoded logs. + properties: + algorithm: + $ref: '#/components/schemas/ObservabilityPipelineAmazonS3GenericCompressionZstdType' + level: + description: Zstd compression level. + example: 3 + format: int64 + type: integer + required: + - algorithm + - level + type: object + ObservabilityPipelineAmazonS3GenericEncoding: + description: Encoding format for the destination. + properties: + type: + $ref: '#/components/schemas/ObservabilityPipelineAmazonS3GenericEncodingJsonType' + required: + - type + type: object + ObservabilityPipelineAmazonS3GenericDestinationType: + default: amazon_s3_generic + description: The destination type. Always `amazon_s3_generic`. + enum: + - amazon_s3_generic + example: amazon_s3_generic + type: string + x-enum-varnames: + - GENERIC_ARCHIVES_S3 + ObservabilityPipelineAmazonSecurityLakeDestinationType: + default: amazon_security_lake + description: The destination type. Always `amazon_security_lake`. + enum: + - amazon_security_lake + example: amazon_security_lake + type: string + x-enum-varnames: + - AMAZON_SECURITY_LAKE + AzureStorageDestinationType: + default: azure_storage + description: The destination type. The value should always be `azure_storage`. + enum: + - azure_storage + example: azure_storage + type: string + x-enum-varnames: + - AZURE_STORAGE + ObservabilityPipelineClickhouseDestinationAuth: + description: |- + HTTP Basic Authentication credentials for the ClickHouse destination. + When `strategy` is `basic`, provide `username_key` and `password_key` that reference environment variables or secrets containing the credentials. + properties: + password_key: + description: Name of the environment variable or secret that contains the ClickHouse password. + example: CLICKHOUSE_PASSWORD + type: string + strategy: + $ref: '#/components/schemas/ObservabilityPipelineClickhouseDestinationAuthStrategy' + username_key: + description: Name of the environment variable or secret that contains the ClickHouse username. + example: CLICKHOUSE_USERNAME + type: string + required: + - strategy + type: object + ObservabilityPipelineClickhouseDestinationBatch: + description: Batching configuration for ClickHouse inserts. + properties: + max_events: + description: Maximum number of events per batch before it is flushed. + example: 1000 + format: int64 + minimum: 1 + type: integer + timeout_secs: + description: Maximum number of seconds to wait before flushing a partial batch. + example: 1 + format: int64 + maximum: 65535 + minimum: 1 + type: integer + type: object + ObservabilityPipelineClickhouseDestinationBatchEncoding: + description: |- + Batch encoding configuration for the ClickHouse destination. + Required when `format` is `arrow_stream`. The `codec` field must be set to `arrow_stream`. + properties: + allow_nullable_fields: + description: |- + When `true`, null values are allowed for non-nullable fields in the ClickHouse schema. + When `false` (default), missing values for non-nullable columns cause encoding errors. + example: false + type: boolean + codec: + $ref: '#/components/schemas/ObservabilityPipelineClickhouseDestinationBatchEncodingCodec' + required: + - codec + type: object + ObservabilityPipelineClickhouseDestinationCompression: + description: |- + Compression setting for outbound HTTP requests to ClickHouse. + Can be specified as a shorthand string (`"gzip"` or `"none"`) or as an object + with an `algorithm` field and an optional `level` (gzip only, 1–9). + enum: + - gzip + - none + example: gzip + type: string + x-enum-varnames: + - GZIP + - NONE + properties: + algorithm: + $ref: '#/components/schemas/ObservabilityPipelineClickhouseDestinationCompressionAlgorithm' + level: + description: Compression level (1–9). Only applicable when `algorithm` is `gzip`. + example: 6 + format: int64 + maximum: 9 + minimum: 1 + type: integer + required: + - algorithm + ObservabilityPipelineClickhouseDestinationFormat: + description: |- + Insert format for events sent to ClickHouse. + - `json_each_row`: Maps event fields to columns by name (ClickHouse `JSONEachRow`). + - `json_as_object`: Inserts each event into a single `Object('json')` / `JSON` column (ClickHouse `JSONAsObject`). + - `json_as_string`: Inserts each event into a single `String`-typed column as raw JSON (ClickHouse `JSONAsString`). + - `arrow_stream`: Batches events using Apache Arrow IPC streaming format. Requires `batch_encoding`. + enum: + - json_each_row + - json_as_object + - json_as_string + - arrow_stream + example: json_each_row + type: string + x-enum-varnames: + - JSON_EACH_ROW + - JSON_AS_OBJECT + - JSON_AS_STRING + - ARROW_STREAM + ObservabilityPipelineClickhouseDestinationType: + default: clickhouse + description: The destination type. The value must be `clickhouse`. + enum: + - clickhouse + example: clickhouse + type: string + x-enum-varnames: + - CLICKHOUSE + ObservabilityPipelineCloudPremDestinationType: + default: cloud_prem + description: The destination type. The value should always be `cloud_prem`. + enum: + - cloud_prem + example: cloud_prem + type: string + x-enum-varnames: + - CLOUD_PREM + ObservabilityPipelineCrowdStrikeNextGenSiemDestinationCompression: + description: Compression configuration for log events. + properties: + algorithm: + $ref: '#/components/schemas/ObservabilityPipelineCrowdStrikeNextGenSiemDestinationCompressionAlgorithm' + level: + description: Compression level. + example: 6 + format: int64 + type: integer + required: + - algorithm type: object - LogsArchiveOrder: - description: A ordered list of archive IDs. + ObservabilityPipelineCrowdStrikeNextGenSiemDestinationEncoding: + description: Encoding format for log events. + enum: + - json + - raw_message + example: json + type: string + x-enum-varnames: + - JSON + - RAW_MESSAGE + ObservabilityPipelineCrowdStrikeNextGenSiemDestinationType: + default: crowdstrike_next_gen_siem + description: The destination type. The value should always be `crowdstrike_next_gen_siem`. + enum: + - crowdstrike_next_gen_siem + example: crowdstrike_next_gen_siem + type: string + x-enum-varnames: + - CROWDSTRIKE_NEXT_GEN_SIEM + ObservabilityPipelineDatadogLogsDestinationRoute: + description: Defines how the `datadog_logs` destination routes matching logs to a Datadog site using a specific API key. properties: - data: - $ref: '#/components/schemas/LogsArchiveOrderDefinition' + api_key_key: + description: Name of the environment variable or secret that stores the Datadog API key used by this route. + example: API_KEY_IDENTIFIER + type: string + include: + description: A Datadog search query that determines which logs are forwarded using this route. + example: service:api + type: string + route_id: + description: Unique identifier for this route within the destination. + example: datadog-logs-route-us + type: string + site: + description: Datadog site where matching logs are sent (for example, `us1`). + example: us1 + type: string + type: object + ObservabilityPipelineDatadogLogsDestinationType: + default: datadog_logs + description: The destination type. The value should always be `datadog_logs`. + enum: + - datadog_logs + example: datadog_logs + type: string + x-enum-varnames: + - DATADOG_LOGS + ObservabilityPipelineGcpAuth: + description: Google Cloud credentials used to authenticate with Google Cloud Storage. + properties: + credentials_file: + description: Path to the Google Cloud service account key file. + example: /var/secrets/gcp-credentials.json + type: string + required: + - credentials_file + type: object + ObservabilityPipelineGoogleChronicleDestinationEncoding: + description: The encoding format for the logs sent to Chronicle. + enum: + - json + - raw_message + example: json + type: string + x-enum-varnames: + - JSON + - RAW_MESSAGE + ObservabilityPipelineGoogleChronicleDestinationType: + default: google_chronicle + description: The destination type. The value should always be `google_chronicle`. + enum: + - google_chronicle + example: google_chronicle + type: string + x-enum-varnames: + - GOOGLE_CHRONICLE + ObservabilityPipelineGoogleCloudStorageDestinationAcl: + description: Access control list setting for objects written to the bucket. + enum: + - private + - project-private + - public-read + - authenticated-read + - bucket-owner-read + - bucket-owner-full-control + example: private + type: string + x-enum-varnames: + - PRIVATE + - PROJECTNOT_PRIVATE + - PUBLICNOT_READ + - AUTHENTICATEDNOT_READ + - BUCKETNOT_OWNERNOT_READ + - BUCKETNOT_OWNERNOT_FULLNOT_CONTROL + ObservabilityPipelineMetadataEntry: + description: A custom metadata entry. + properties: + name: + description: The metadata key. + example: environment + type: string + value: + description: The metadata value. + example: production + type: string + required: + - name + - value + type: object + ObservabilityPipelineGoogleCloudStorageDestinationStorageClass: + description: Storage class used for objects stored in GCS. + enum: + - STANDARD + - NEARLINE + - COLDLINE + - ARCHIVE + example: STANDARD + type: string + x-enum-varnames: + - STANDARD + - NEARLINE + - COLDLINE + - ARCHIVE + ObservabilityPipelineGoogleCloudStorageDestinationType: + default: google_cloud_storage + description: The destination type. Always `google_cloud_storage`. + enum: + - google_cloud_storage + example: google_cloud_storage + type: string + x-enum-varnames: + - GOOGLE_CLOUD_STORAGE + ObservabilityPipelineGooglePubSubDestinationEncoding: + description: Encoding format for log events. + enum: + - json + - raw_message + example: json + type: string + x-enum-varnames: + - JSON + - RAW_MESSAGE + ObservabilityPipelineGooglePubSubDestinationType: + default: google_pubsub + description: The destination type. The value should always be `google_pubsub`. + enum: + - google_pubsub + example: google_pubsub + type: string + x-enum-varnames: + - GOOGLE_PUBSUB + ObservabilityPipelineKafkaDestinationCompression: + description: Compression codec for Kafka messages. + enum: + - none + - gzip + - snappy + - lz4 + - zstd + example: gzip + type: string + x-enum-varnames: + - NONE + - GZIP + - SNAPPY + - LZ4 + - ZSTD + ObservabilityPipelineKafkaDestinationEncoding: + description: Encoding format for log events. + enum: + - json + - raw_message + example: json + type: string + x-enum-varnames: + - JSON + - RAW_MESSAGE + ObservabilityPipelineKafkaLibrdkafkaOption: + description: Represents a key-value pair used to configure low-level `librdkafka` client options for Kafka source and destination, such as timeouts, buffer sizes, and security settings. + properties: + name: + description: The name of the `librdkafka` configuration option to set. + example: fetch.message.max.bytes + type: string + value: + description: The value assigned to the specified `librdkafka` configuration option. + example: '1048576' + type: string + required: + - name + - value + type: object + ObservabilityPipelineKafkaSasl: + description: Specifies the SASL mechanism for authenticating with a Kafka cluster. + properties: + mechanism: + $ref: '#/components/schemas/ObservabilityPipelineKafkaSaslMechanism' + password_key: + description: Name of the environment variable or secret that holds the SASL password. + example: KAFKA_SASL_PASSWORD + type: string + username_key: + description: Name of the environment variable or secret that holds the SASL username. + example: KAFKA_SASL_USERNAME + type: string + type: object + ObservabilityPipelineKafkaDestinationType: + default: kafka + description: The destination type. The value should always be `kafka`. + enum: + - kafka + example: kafka + type: string + x-enum-varnames: + - KAFKA + MicrosoftSentinelDestinationType: + default: microsoft_sentinel + description: The destination type. The value should always be `microsoft_sentinel`. + enum: + - microsoft_sentinel + example: microsoft_sentinel + type: string + x-enum-varnames: + - MICROSOFT_SENTINEL + ObservabilityPipelineNewRelicDestinationRegion: + description: The New Relic region. + enum: + - us + - eu + example: us + type: string + x-enum-varnames: + - US + - EU + ObservabilityPipelineNewRelicDestinationType: + default: new_relic + description: The destination type. The value should always be `new_relic`. + enum: + - new_relic + example: new_relic + type: string + x-enum-varnames: + - NEW_RELIC + ObservabilityPipelineOpenSearchDestinationDataStream: + description: Configuration options for writing to OpenSearch Data Streams instead of a fixed index. + properties: + dataset: + description: The data stream dataset for your logs. This groups logs by their source or application. + type: string + dtype: + description: The data stream type for your logs. This determines how logs are categorized within the data stream. + type: string + namespace: + description: The data stream namespace for your logs. This separates logs into different environments or domains. + type: string + type: object + ObservabilityPipelineOpenSearchDestinationType: + default: opensearch + description: The destination type. The value should always be `opensearch`. + enum: + - opensearch + example: opensearch + type: string + x-enum-varnames: + - OPENSEARCH + ObservabilityPipelineRsyslogDestinationType: + default: rsyslog + description: The destination type. The value should always be `rsyslog`. + enum: + - rsyslog + example: rsyslog + type: string + x-enum-varnames: + - RSYSLOG + ObservabilityPipelineSentinelOneDestinationRegion: + description: The SentinelOne region to send logs to. + enum: + - us + - eu + - ca + - data_set_us + example: us + type: string + x-enum-varnames: + - US + - EU + - CA + - DATA_SET_US + ObservabilityPipelineSentinelOneDestinationType: + default: sentinel_one + description: The destination type. The value should always be `sentinel_one`. + enum: + - sentinel_one + example: sentinel_one + type: string + x-enum-varnames: + - SENTINEL_ONE + ObservabilityPipelineSocketDestinationEncoding: + description: Encoding format for log events. + enum: + - json + - raw_message + example: json + type: string + x-enum-varnames: + - JSON + - RAW_MESSAGE + ObservabilityPipelineSocketDestinationFraming: + description: Framing method configuration. + properties: + method: + $ref: '#/components/schemas/ObservabilityPipelineSocketDestinationFramingNewlineDelimitedMethod' + delimiter: + description: A single ASCII character used as a delimiter. + example: '|' + maxLength: 1 + minLength: 1 + type: string + required: + - method + - delimiter + type: object + ObservabilityPipelineSocketDestinationMode: + description: Protocol used to send logs. + enum: + - tcp + - udp + example: tcp + type: string + x-enum-varnames: + - TCP + - UDP + ObservabilityPipelineSocketDestinationType: + default: socket + description: The destination type. The value should always be `socket`. + enum: + - socket + example: socket + type: string + x-enum-varnames: + - SOCKET + ObservabilityPipelineSplunkHecDestinationEncoding: + description: Encoding format for log events. + enum: + - json + - raw_message + example: json + type: string + x-enum-varnames: + - JSON + - RAW_MESSAGE + ObservabilityPipelineSplunkHecDestinationTokenStrategy: + description: Controls how the Splunk HEC token is supplied. Use `custom` to provide a token with `token_key`, or `from_source` to forward the token received from an upstream Splunk HEC source. + enum: + - custom + - from_source + example: custom + type: string + x-enum-varnames: + - CUSTOM + - FROM_SOURCE + ObservabilityPipelineSplunkHecDestinationType: + default: splunk_hec + description: The destination type. Always `splunk_hec`. + enum: + - splunk_hec + example: splunk_hec + type: string + x-enum-varnames: + - SPLUNK_HEC + ObservabilityPipelineSumoLogicDestinationEncoding: + description: The output encoding format. + enum: + - json + - raw_message + - logfmt + example: json + type: string + x-enum-varnames: + - JSON + - RAW_MESSAGE + - LOGFMT + ObservabilityPipelineSumoLogicDestinationHeaderCustomFieldsItem: + description: Single key-value pair used as a custom log header for Sumo Logic. + properties: + name: + description: The header field name. + example: X-Sumo-Category + type: string + value: + description: The header field value. + example: my-app-logs + type: string + required: + - name + - value + type: object + ObservabilityPipelineSumoLogicDestinationType: + default: sumo_logic + description: The destination type. The value should always be `sumo_logic`. + enum: + - sumo_logic + example: sumo_logic + type: string + x-enum-varnames: + - SUMO_LOGIC + ObservabilityPipelineSyslogNgDestinationType: + default: syslog_ng + description: The destination type. The value should always be `syslog_ng`. + enum: + - syslog_ng + example: syslog_ng + type: string + x-enum-varnames: + - SYSLOG_NG + ObservabilityPipelineDatabricksZerobusDestinationAuth: + description: OAuth credentials for authenticating with the Databricks Zerobus ingestion API. + properties: + client_id: + description: Your service principal application ID (UUID). + example: 9a8b7c6d-1234-5678-abcd-ef0123456789 + type: string + client_secret_key: + description: Name of the environment variable or secret that holds the OAuth client secret used to authenticate with the Databricks ingestion endpoint. + example: DD_OP_DESTINATION_DATABRICKS_ZEROBUS_OAUTH_CLIENT_SECRET + type: string + required: + - client_id + type: object + ObservabilityPipelineDatabricksZerobusDestinationType: + default: databricks_zerobus + description: The destination type. The value must be `databricks_zerobus`. + enum: + - databricks_zerobus + example: databricks_zerobus + type: string + x-enum-varnames: + - DATABRICKS_ZEROBUS + ObservabilityPipelineDatadogMetricsDestinationType: + default: datadog_metrics + description: The destination type. The value should always be `datadog_metrics`. + enum: + - datadog_metrics + example: datadog_metrics + type: string + x-enum-varnames: + - DATADOG_METRICS + ObservabilityPipelineSplunkHecMetricsDestinationCompression: + default: none + description: Compression algorithm applied when sending metrics to Splunk HEC. + enum: + - none + - gzip + example: none + type: string + x-enum-varnames: + - NONE + - GZIP + ObservabilityPipelineSplunkHecMetricsDestinationType: + default: splunk_hec_metrics + description: The destination type. Always `splunk_hec_metrics`. + enum: + - splunk_hec_metrics + example: splunk_hec_metrics + type: string + x-enum-varnames: + - SPLUNK_HEC_METRICS + ObservabilityPipelineFilterProcessor: + description: |- + The `filter` processor allows conditional processing of logs/metrics based on a Datadog search query. Logs/metrics that match the `include` query are passed through; others are discarded. + + **Supported pipeline types:** logs, metrics + properties: + display_name: + $ref: '#/components/schemas/ObservabilityPipelineComponentDisplayName' + enabled: + description: Indicates whether the processor is enabled. + example: true + type: boolean + id: + description: The unique identifier for this component. Used in other parts of the pipeline to reference this component (for example, as the `input` to downstream components). + example: filter-processor + type: string + include: + description: A Datadog search query used to determine which logs/metrics should pass through the filter. Logs/metrics that match this query continue to downstream components; others are dropped. + example: service:my-service + type: string + type: + $ref: '#/components/schemas/ObservabilityPipelineFilterProcessorType' + required: + - id + - type + - include + - enabled + type: object + x-pipeline-types: + - logs + - metrics + ObservabilityPipelineAddEnvVarsProcessor: + description: |- + The `add_env_vars` processor adds environment variable values to log events. + + **Supported pipeline types:** logs + properties: + display_name: + $ref: '#/components/schemas/ObservabilityPipelineComponentDisplayName' + enabled: + description: Indicates whether the processor is enabled. + example: true + type: boolean + id: + description: The unique identifier for this component. Used to reference this processor in the pipeline. + example: add-env-vars-processor + type: string + include: + description: A Datadog search query used to determine which logs this processor targets. + example: service:my-service + type: string + type: + $ref: '#/components/schemas/ObservabilityPipelineAddEnvVarsProcessorType' + variables: + description: A list of environment variable mappings to apply to log fields. + items: + $ref: '#/components/schemas/ObservabilityPipelineAddEnvVarsProcessorVariable' + type: array + required: + - id + - type + - include + - variables + - enabled + type: object + x-pipeline-types: + - logs + ObservabilityPipelineAddFieldsProcessor: + description: |- + The `add_fields` processor adds static key-value fields to logs. + + **Supported pipeline types:** logs + properties: + display_name: + $ref: '#/components/schemas/ObservabilityPipelineComponentDisplayName' + enabled: + description: Indicates whether the processor is enabled. + example: true + type: boolean + fields: + description: A list of static fields (key-value pairs) that is added to each log event processed by this component. + items: + $ref: '#/components/schemas/ObservabilityPipelineFieldValue' + type: array + id: + description: The unique identifier for this component. Used in other parts of the pipeline to reference this component (for example, as the `input` to downstream components). + example: add-fields-processor + type: string + include: + description: A Datadog search query used to determine which logs this processor targets. + example: service:my-service + type: string + type: + $ref: '#/components/schemas/ObservabilityPipelineAddFieldsProcessorType' + required: + - id + - type + - include + - fields + - enabled + type: object + x-pipeline-types: + - logs + ObservabilityPipelineAddHostnameProcessor: + description: |- + The `add_hostname` processor adds the hostname to log events. + + **Supported pipeline types:** logs + properties: + display_name: + $ref: '#/components/schemas/ObservabilityPipelineComponentDisplayName' + enabled: + description: Indicates whether the processor is enabled. + example: true + type: boolean + id: + description: The unique identifier for this component. Used in other parts of the pipeline to reference this component (for example, as the `input` to downstream components). + example: add-hostname-processor + type: string + include: + description: A Datadog search query used to determine which logs this processor targets. + example: service:my-service + type: string + type: + $ref: '#/components/schemas/ObservabilityPipelineAddHostnameProcessorType' + required: + - id + - type + - include + - enabled + type: object + x-pipeline-types: + - logs + ObservabilityPipelineCustomProcessor: + description: |- + The `custom_processor` processor transforms events using [Vector Remap Language (VRL)](https://vector.dev/docs/reference/vrl/) scripts with advanced filtering capabilities. + + **Supported pipeline types:** logs + properties: + display_name: + $ref: '#/components/schemas/ObservabilityPipelineComponentDisplayName' + enabled: + description: Indicates whether the processor is enabled. + example: true + type: boolean + id: + description: The unique identifier for this processor. + example: remap-vrl-processor + type: string + include: + default: '*' + description: A Datadog search query used to determine which logs this processor targets. This field should always be set to `*` for the custom_processor processor. + example: '*' + type: string + remaps: + description: Array of VRL remap rules. + items: + $ref: '#/components/schemas/ObservabilityPipelineCustomProcessorRemap' + minItems: 1 + type: array + type: + $ref: '#/components/schemas/ObservabilityPipelineCustomProcessorType' + required: + - id + - type + - include + - remaps + - enabled type: object - APIErrorResponse: - description: API error response. + x-pipeline-types: + - logs + ObservabilityPipelineDatadogTagsProcessor: + description: |- + The `datadog_tags` processor includes or excludes specific Datadog tags in your logs. + + **Supported pipeline types:** logs properties: - errors: - description: A list of errors. + action: + $ref: '#/components/schemas/ObservabilityPipelineDatadogTagsProcessorAction' + display_name: + $ref: '#/components/schemas/ObservabilityPipelineComponentDisplayName' + enabled: + description: Indicates whether the processor is enabled. + example: true + type: boolean + id: + description: The unique identifier for this component. Used in other parts of the pipeline to reference this component (for example, as the `input` to downstream components). + example: datadog-tags-processor + type: string + include: + description: A Datadog search query used to determine which logs this processor targets. + example: service:my-service + type: string + keys: + description: A list of tag keys. example: - - Bad Request + - env + - service + - version items: - description: A list of items. - example: Bad Request + description: A Datadog tag key to include or exclude. type: string type: array + mode: + $ref: '#/components/schemas/ObservabilityPipelineDatadogTagsProcessorMode' + type: + $ref: '#/components/schemas/ObservabilityPipelineDatadogTagsProcessorType' required: - - errors + - id + - type + - include + - mode + - action + - keys + - enabled type: object - LogsArchives: - description: The available archives. + x-pipeline-types: + - logs + ObservabilityPipelineDedupeProcessor: + description: |- + The `dedupe` processor removes duplicate fields in log events. + + **Supported pipeline types:** logs properties: - data: - description: A list of archives. + cache: + $ref: '#/components/schemas/ObservabilityPipelineDedupeProcessorCache' + display_name: + $ref: '#/components/schemas/ObservabilityPipelineComponentDisplayName' + enabled: + description: Indicates whether the processor is enabled. + example: true + type: boolean + fields: + description: A list of log field paths to check for duplicates. + example: + - log.message + - log.error items: - $ref: '#/components/schemas/LogsArchiveDefinition' + description: A log field path to evaluate for duplicate values. + type: string type: array + id: + description: The unique identifier for this processor. + example: dedupe-processor + type: string + include: + description: A Datadog search query used to determine which logs this processor targets. + example: service:my-service + type: string + mode: + $ref: '#/components/schemas/ObservabilityPipelineDedupeProcessorMode' + type: + $ref: '#/components/schemas/ObservabilityPipelineDedupeProcessorType' + required: + - id + - type + - include + - fields + - mode + - enabled type: object - LogsArchiveCreateRequest: - description: The logs archive. - properties: - data: - $ref: '#/components/schemas/LogsArchiveCreateRequestDefinition' - type: object - LogsArchive: - description: The logs archive. - properties: - data: - $ref: '#/components/schemas/LogsArchiveDefinition' - type: object - RelationshipToRole: - description: Relationship to role. + x-pipeline-types: + - logs + ObservabilityPipelineEnrichmentTableProcessor: + description: |- + The `enrichment_table` processor enriches logs using a static CSV file, GeoIP database, or reference table. Exactly one of `file`, `geoip`, or `reference_table` must be configured. + + **Supported pipeline types:** logs properties: - data: - $ref: '#/components/schemas/RelationshipToRoleData' + display_name: + $ref: '#/components/schemas/ObservabilityPipelineComponentDisplayName' + enabled: + description: Indicates whether the processor is enabled. + example: true + type: boolean + file: + $ref: '#/components/schemas/ObservabilityPipelineEnrichmentTableFile' + geoip: + $ref: '#/components/schemas/ObservabilityPipelineEnrichmentTableGeoIp' + id: + description: The unique identifier for this processor. + example: enrichment-table-processor + type: string + include: + description: A Datadog search query used to determine which logs this processor targets. + example: source:my-source + type: string + reference_table: + $ref: '#/components/schemas/ObservabilityPipelineEnrichmentTableReferenceTable' + target: + description: Path where enrichment results should be stored in the log. + example: enriched.geoip + type: string + type: + $ref: '#/components/schemas/ObservabilityPipelineEnrichmentTableProcessorType' + required: + - id + - type + - include + - target + - enabled type: object - RolesResponse: - description: Response containing information about multiple roles. + x-pipeline-types: + - logs + ObservabilityPipelineGenerateMetricsProcessor: + description: |- + The `generate_datadog_metrics` processor creates custom metrics from logs and sends them to Datadog. + Metrics can be counters, gauges, or distributions and optionally grouped by log fields. + + **Supported pipeline types:** logs properties: - data: - description: Array of returned roles. + display_name: + $ref: '#/components/schemas/ObservabilityPipelineComponentDisplayName' + enabled: + description: Indicates whether the processor is enabled. + example: true + type: boolean + id: + description: The unique identifier for this component. Used to reference this component in other parts of the pipeline. + example: generate-metrics-processor + type: string + include: + description: A Datadog search query used to determine which logs this processor targets. + example: service:my-service + type: string + metrics: + description: Configuration for generating individual metrics. items: - $ref: '#/components/schemas/Role' + $ref: '#/components/schemas/ObservabilityPipelineGeneratedMetric' type: array - meta: - $ref: '#/components/schemas/ResponseMetaAttributes' + type: + $ref: '#/components/schemas/ObservabilityPipelineGenerateMetricsProcessorType' + required: + - id + - type + - enabled type: object - CustomDestinationsResponse: - description: The available custom destinations. + x-pipeline-types: + - logs + ObservabilityPipelineGenerateMetricsV2Processor: + description: |- + The `generate_metrics` processor creates custom metrics from logs. + Metrics can be counters, gauges, or distributions and optionally grouped by log fields. + The generated metrics must be routed to a metrics destination using the input `.metrics`. + + **Supported pipeline types:** logs properties: - data: - description: A list of custom destinations. + display_name: + $ref: '#/components/schemas/ObservabilityPipelineComponentDisplayName' + enabled: + description: Indicates whether the processor is enabled. + example: true + type: boolean + id: + description: The unique identifier for this component. Used to reference this component in other parts of the pipeline. + example: generate-metrics-processor + type: string + include: + description: A Datadog search query used to determine which logs this processor targets. + example: service:my-service + type: string + metrics: + description: Configuration for generating individual metrics. items: - $ref: '#/components/schemas/CustomDestinationResponseDefinition' + $ref: '#/components/schemas/ObservabilityPipelineGeneratedMetric' type: array + type: + $ref: '#/components/schemas/ObservabilityPipelineGenerateMetricsV2ProcessorType' + required: + - id + - type + - enabled type: object - CustomDestinationCreateRequest: - description: The custom destination. - properties: - data: - $ref: '#/components/schemas/CustomDestinationCreateRequestDefinition' - type: object - CustomDestinationResponse: - description: The custom destination. - properties: - data: - $ref: '#/components/schemas/CustomDestinationResponseDefinition' - type: object - CustomDestinationUpdateRequest: - description: The custom destination. - properties: - data: - $ref: '#/components/schemas/CustomDestinationUpdateRequestDefinition' - type: object - LogsMetricsResponse: - description: All the available log-based metric objects. + x-pipeline-types: + - logs + ObservabilityPipelineOcsfMapperProcessor: + description: |- + The `ocsf_mapper` processor transforms logs into the OCSF schema using a predefined mapping configuration. + + **Supported pipeline types:** logs properties: - data: - description: A list of log-based metric objects. + display_name: + $ref: '#/components/schemas/ObservabilityPipelineComponentDisplayName' + enabled: + description: Indicates whether the processor is enabled. + example: true + type: boolean + id: + description: The unique identifier for this component. Used to reference this component in other parts of the pipeline. + example: ocsf-mapper-processor + type: string + include: + description: A Datadog search query used to determine which logs this processor targets. + example: service:my-service + type: string + keep_unmatched: + description: Whether to keep an event that does not match any of the mapping filters. + example: false + type: boolean + mappings: + description: A list of mapping rules to convert events to the OCSF format. items: - $ref: '#/components/schemas/LogsMetricResponseData' + $ref: '#/components/schemas/ObservabilityPipelineOcsfMapperProcessorMapping' type: array - type: object - LogsMetricCreateRequest: - description: The new log-based metric body. - properties: - data: - $ref: '#/components/schemas/LogsMetricCreateData' + type: + $ref: '#/components/schemas/ObservabilityPipelineOcsfMapperProcessorType' required: - - data - type: object - LogsMetricResponse: - description: The log-based metric object. - properties: - data: - $ref: '#/components/schemas/LogsMetricResponseData' + - id + - type + - include + - mappings + - enabled type: object - LogsMetricUpdateRequest: - description: The new log-based metric body. + x-pipeline-types: + - logs + ObservabilityPipelineParseGrokProcessor: + description: |- + The `parse_grok` processor extracts structured fields from unstructured log messages using Grok patterns. + + **Supported pipeline types:** logs + example: + id: parse-grok-processor + include: service:my-service + type: parse_grok properties: - data: - $ref: '#/components/schemas/LogsMetricUpdateData' + disable_library_rules: + default: false + description: If set to `true`, disables the default Grok rules provided by Datadog. + example: true + type: boolean + display_name: + $ref: '#/components/schemas/ObservabilityPipelineComponentDisplayName' + enabled: + description: Indicates whether the processor is enabled. + example: true + type: boolean + field: + default: message + description: The log field to parse with the Grok rules. + example: message + type: string + id: + description: A unique identifier for this processor. + example: parse-grok-processor + type: string + include: + description: A Datadog search query used to determine which logs this processor targets. + example: service:my-service + type: string + rules: + description: The list of Grok parsing rules selected by either source field or include query. + items: + $ref: '#/components/schemas/ObservabilityPipelineParseGrokProcessorRuleItem' + type: array + type: + $ref: '#/components/schemas/ObservabilityPipelineParseGrokProcessorType' required: - - data + - id + - type + - include + - rules + - enabled type: object - LogsStorageTier: - default: indexes - description: Specifies storage type as indexes, online-archives or flex - enum: - - indexes - - online-archives - - flex - example: indexes - type: string - x-enum-varnames: - - INDEXES - - ONLINE_ARCHIVES - - FLEX - LogsSort: - description: Sort parameters when querying logs. - enum: - - timestamp - - '-timestamp' - type: string - x-enum-varnames: - - TIMESTAMP_ASCENDING - - TIMESTAMP_DESCENDING - LogsListResponse: - description: >- - Response object with all logs matching the request and pagination - information. + x-pipeline-types: + - logs + ObservabilityPipelineParseJSONProcessor: + description: |- + The `parse_json` processor extracts JSON from a specified field and flattens it into the event. This is useful when logs contain embedded JSON as a string. + + **Supported pipeline types:** logs properties: - data: - description: Array of logs matching the request. - items: - $ref: '#/components/schemas/Log' - type: array - links: - $ref: '#/components/schemas/LogsListResponseLinks' - meta: - $ref: '#/components/schemas/LogsResponseMetadata' + display_name: + $ref: '#/components/schemas/ObservabilityPipelineComponentDisplayName' + enabled: + description: Indicates whether the processor is enabled. + example: true + type: boolean + field: + description: The name of the log field that contains a JSON string. + example: message + type: string + id: + description: A unique identifier for this component. Used to reference this component in other parts of the pipeline (e.g., as input to downstream components). + example: parse-json-processor + type: string + include: + description: A Datadog search query used to determine which logs this processor targets. + example: service:my-service + type: string + type: + $ref: '#/components/schemas/ObservabilityPipelineParseJSONProcessorType' + required: + - id + - type + - include + - field + - enabled type: object - LogsListRequest: - description: The request for a logs list. + x-pipeline-types: + - logs + ObservabilityPipelineParseXMLProcessor: + description: |- + The `parse_xml` processor parses XML from a specified field and extracts it into the event. + + **Supported pipeline types:** logs properties: - filter: - $ref: '#/components/schemas/LogsQueryFilter' - options: - $ref: '#/components/schemas/LogsQueryOptions' - page: - $ref: '#/components/schemas/LogsListRequestPage' - sort: - $ref: '#/components/schemas/LogsSort' + always_use_text_key: + description: Whether to always use a text key for element content. + type: boolean + attr_prefix: + description: The prefix to use for XML attributes in the parsed output. + type: string + display_name: + $ref: '#/components/schemas/ObservabilityPipelineComponentDisplayName' + enabled: + description: Indicates whether the processor is enabled. + example: true + type: boolean + field: + description: The name of the log field that contains an XML string. + example: message + type: string + id: + description: The unique identifier for this component. Used in other parts of the pipeline to reference this component (for example, as the `input` to downstream components). + example: parse-xml-processor + type: string + include: + description: A Datadog search query used to determine which logs this processor targets. + example: service:my-service + type: string + include_attr: + description: Whether to include XML attributes in the parsed output. + type: boolean + parse_bool: + description: Whether to parse boolean values from strings. + type: boolean + parse_null: + description: Whether to parse null values. + type: boolean + parse_number: + description: Whether to parse numeric values from strings. + type: boolean + text_key: + description: The key name to use for text content within XML elements. Must be at least 1 character if specified. + minLength: 1 + type: string + type: + $ref: '#/components/schemas/ObservabilityPipelineParseXMLProcessorType' + required: + - id + - type + - include + - field + - enabled type: object - HTTPLogItem: - additionalProperties: - description: Additional log attributes. - description: Logs that are sent over HTTP. - properties: - ddsource: - description: >- - The integration name associated with your log: the technology from - which the log originated. - - When it matches an integration name, Datadog automatically installs - the corresponding parsers and facets. + x-pipeline-types: + - logs + ObservabilityPipelineQuotaProcessor: + description: |- + The `quota` processor measures logging traffic for logs that match a specified filter. When the configured daily quota is met, the processor can drop or alert. - See [reserved - attributes](https://docs.datadoghq.com/logs/log_configuration/attributes_naming_convention/#reserved-attributes). - example: nginx + **Supported pipeline types:** logs + properties: + display_name: + $ref: '#/components/schemas/ObservabilityPipelineComponentDisplayName' + drop_events: + description: 'If set to `true`, logs that match the quota filter and are sent after the quota is exceeded are dropped. Logs that do not match the filter continue through the pipeline. **Note**: You can set either `drop_events` or `overflow_action`, but not both.' + example: false + type: boolean + enabled: + description: Indicates whether the processor is enabled. + example: true + type: boolean + id: + description: The unique identifier for this component. Used in other parts of the pipeline to reference this component (for example, as the `input` to downstream components). + example: quota-processor type: string - ddtags: - description: Tags associated with your logs. - example: env:staging,version:5.1 + ignore_when_missing_partitions: + description: If `true`, the processor skips quota checks when partition fields are missing from the logs. + type: boolean + include: + description: A Datadog search query used to determine which logs this processor targets. + example: service:my-service type: string - hostname: - description: The name of the originating host of the log. - example: i-012345678 + limit: + $ref: '#/components/schemas/ObservabilityPipelineQuotaProcessorLimit' + name: + description: Name of the quota. + example: MyQuota type: string - message: - description: >- - The message [reserved - attribute](https://docs.datadoghq.com/logs/log_configuration/attributes_naming_convention/#reserved-attributes) - - of your log. By default, Datadog ingests the value of the message - attribute as the body of the log entry. + overflow_action: + $ref: '#/components/schemas/ObservabilityPipelineQuotaProcessorOverflowAction' + overrides: + description: A list of alternate quota rules that apply to specific sets of events, identified by matching field values. Each override can define a custom limit. + items: + $ref: '#/components/schemas/ObservabilityPipelineQuotaProcessorOverride' + type: array + partition_fields: + description: A list of fields used to segment log traffic for quota enforcement. Quotas are tracked independently by unique combinations of these field values. + items: + description: The name of a log field used to partition quota enforcement. + type: string + type: array + too_many_buckets_action: + $ref: '#/components/schemas/ObservabilityPipelineQuotaProcessorOverflowAction' + type: + $ref: '#/components/schemas/ObservabilityPipelineQuotaProcessorType' + required: + - id + - type + - include + - name + - limit + - enabled + type: object + x-pipeline-types: + - logs + ObservabilityPipelineReduceProcessor: + description: |- + The `reduce` processor aggregates and merges logs based on matching keys and merge strategies. - That value is then highlighted and displayed in the Logstream, where - it is indexed for full text search. - example: 2019-11-19T14:37:58,995 INFO [process.name][20081] Hello World + **Supported pipeline types:** logs + properties: + display_name: + $ref: '#/components/schemas/ObservabilityPipelineComponentDisplayName' + enabled: + description: Indicates whether the processor is enabled. + example: true + type: boolean + group_by: + description: A list of fields used to group log events for merging. + example: + - log.user.id + - log.device.id + items: + description: A log field path used to group events for aggregation. + type: string + type: array + id: + description: The unique identifier for this processor. + example: reduce-processor type: string - service: - description: >- - The name of the application or service generating the log events. - - It is used to switch from Logs to APM, so make sure you define the - same value when you use both products. - - See [reserved - attributes](https://docs.datadoghq.com/logs/log_configuration/attributes_naming_convention/#reserved-attributes). - example: payment + include: + description: A Datadog search query used to determine which logs this processor targets. + example: env:prod type: string + merge_strategies: + description: List of merge strategies defining how values from grouped events should be combined. + items: + $ref: '#/components/schemas/ObservabilityPipelineReduceProcessorMergeStrategy' + type: array + type: + $ref: '#/components/schemas/ObservabilityPipelineReduceProcessorType' required: - - message + - id + - type + - include + - group_by + - merge_strategies + - enabled type: object - HTTPLogError: - description: List of errors. + x-pipeline-types: + - logs + ObservabilityPipelineRemoveFieldsProcessor: + description: |- + The `remove_fields` processor deletes specified fields from logs. + + **Supported pipeline types:** logs properties: - detail: - description: Error message. - example: Malformed payload - type: string - status: - description: Error code. - example: '400' + display_name: + $ref: '#/components/schemas/ObservabilityPipelineComponentDisplayName' + enabled: + description: Indicates whether the processor is enabled. + example: true + type: boolean + fields: + description: A list of field names to be removed from each log event. + example: + - field1 + - field2 + items: + description: The name of a field to remove from the log event. + type: string + type: array + id: + description: The unique identifier for this component. Used in other parts of the pipeline to reference this component (for example, as the `input` to downstream components). + example: remove-fields-processor type: string - title: - description: Error title. - example: Bad Request + include: + description: A Datadog search query used to determine which logs this processor targets. + example: service:my-service type: string + type: + $ref: '#/components/schemas/ObservabilityPipelineRemoveFieldsProcessorType' + required: + - id + - type + - include + - fields + - enabled type: object - LogsCompute: - description: A compute rule to compute metrics or timeseries + x-pipeline-types: + - logs + ObservabilityPipelineRenameFieldsProcessor: + description: |- + The `rename_fields` processor changes field names. + + **Supported pipeline types:** logs properties: - aggregation: - $ref: '#/components/schemas/LogsAggregationFunction' - interval: - description: |- - The time buckets' size (only used for type=timeseries) - Defaults to a resolution of 150 points - example: 5m + display_name: + $ref: '#/components/schemas/ObservabilityPipelineComponentDisplayName' + enabled: + description: Indicates whether the processor is enabled. + example: true + type: boolean + fields: + description: A list of rename rules specifying which fields to rename in the event, what to rename them to, and whether to preserve the original fields. + items: + $ref: '#/components/schemas/ObservabilityPipelineRenameFieldsProcessorField' + type: array + id: + description: A unique identifier for this component. Used to reference this component in other parts of the pipeline (e.g., as input to downstream components). + example: rename-fields-processor type: string - metric: - description: The metric to use - example: '@duration' + include: + description: A Datadog search query used to determine which logs this processor targets. + example: service:my-service type: string type: - $ref: '#/components/schemas/LogsComputeType' + $ref: '#/components/schemas/ObservabilityPipelineRenameFieldsProcessorType' required: - - aggregation + - id + - type + - include + - fields + - enabled type: object - LogsQueryFilter: - description: The search and filter query settings + x-pipeline-types: + - logs + ObservabilityPipelineSampleProcessor: + description: |- + The `sample` processor allows probabilistic sampling of logs at a fixed rate. + + **Supported pipeline types:** logs properties: - from: - default: now-15m - description: >- - The minimum time for the requested logs, supports date math and - regular timestamps (milliseconds). - example: now-15m - type: string - indexes: - default: - - '*' - description: >- - For customers with multiple indexes, the indexes to search. Defaults - to ['*'] which means all indexes. + display_name: + $ref: '#/components/schemas/ObservabilityPipelineComponentDisplayName' + enabled: + description: Indicates whether the processor is enabled. + example: true + type: boolean + group_by: + description: Optional list of fields to group events by. Each group is sampled independently. example: - - main - - web + - service + - host items: - description: The name of a log index. + description: A log field name used to group events for independent sampling. type: string + minItems: 1 type: array - query: - default: '*' - description: The search query - following the log search syntax. - example: service:web* AND @http.status_code:[200 TO 299] + id: + description: The unique identifier for this component. Used in other parts of the pipeline to reference this component (for example, as the `input` to downstream components). + example: sample-processor type: string - storage_tier: - $ref: '#/components/schemas/LogsStorageTier' - to: - default: now - description: >- - The maximum time for the requested logs, supports date math and - regular timestamps (milliseconds). - example: now + include: + description: A Datadog search query used to determine which logs this processor targets. + example: service:my-service type: string + percentage: + description: The percentage of logs to sample. + example: 10 + format: double + type: number + type: + $ref: '#/components/schemas/ObservabilityPipelineSampleProcessorType' + required: + - id + - type + - include + - percentage + - enabled type: object - LogsGroupBy: - description: A group by rule + x-pipeline-types: + - logs + ObservabilityPipelineSensitiveDataScannerProcessor: + description: |- + The `sensitive_data_scanner` processor detects and optionally redacts sensitive data in log events. + + **Supported pipeline types:** logs properties: - facet: - description: The name of the facet to use (required) - example: host + display_name: + $ref: '#/components/schemas/ObservabilityPipelineComponentDisplayName' + enabled: + description: Indicates whether the processor is enabled. + example: true + type: boolean + id: + description: The unique identifier for this component. Used in other parts of the pipeline to reference this component (for example, as the `input` to downstream components). + example: sensitive-scanner type: string - histogram: - $ref: '#/components/schemas/LogsGroupByHistogram' - limit: - default: 10 - description: >- - The maximum buckets to return for this group by. Note: at most 10000 - buckets are allowed. + include: + description: A Datadog search query used to determine which logs this processor targets. + example: source:prod + type: string + rules: + description: A list of rules for identifying and acting on sensitive data patterns. + items: + $ref: '#/components/schemas/ObservabilityPipelineSensitiveDataScannerProcessorRule' + type: array + type: + $ref: '#/components/schemas/ObservabilityPipelineSensitiveDataScannerProcessorType' + required: + - id + - type + - include + - rules + - enabled + type: object + x-pipeline-types: + - logs + ObservabilityPipelineSplitArrayProcessor: + description: |- + The `split_array` processor splits array fields into separate events based on configured rules. - If grouping by multiple facets, the product of limits must not - exceed 10000. - format: int64 - type: integer - missing: - $ref: '#/components/schemas/LogsGroupByMissing' - sort: - $ref: '#/components/schemas/LogsAggregateSort' - total: - $ref: '#/components/schemas/LogsGroupByTotal' + **Supported pipeline types:** logs + properties: + arrays: + description: A list of array split configurations. + items: + $ref: '#/components/schemas/ObservabilityPipelineSplitArrayProcessorArrayConfig' + maxItems: 15 + minItems: 1 + type: array + display_name: + $ref: '#/components/schemas/ObservabilityPipelineComponentDisplayName' + enabled: + description: Indicates whether the processor is enabled. + example: true + type: boolean + id: + description: The unique identifier for this component. Used in other parts of the pipeline to reference this component (for example, as the `input` to downstream components). + example: split-array-processor + type: string + include: + description: A Datadog search query used to determine which logs this processor targets. For split_array, this should typically be `*`. + example: '*' + type: string + type: + $ref: '#/components/schemas/ObservabilityPipelineSplitArrayProcessorType' required: - - facet + - id + - type + - include + - arrays + - enabled type: object - LogsQueryOptions: - deprecated: true - description: >- - Global query options that are used during the query. + x-pipeline-types: + - logs + ObservabilityPipelineThrottleProcessor: + description: |- + The `throttle` processor limits the number of events that pass through over a given time window. - Note: These fields are currently deprecated and do not affect the query - results. + **Supported pipeline types:** logs properties: - timeOffset: - description: The time offset (in seconds) to apply to the query. + display_name: + $ref: '#/components/schemas/ObservabilityPipelineComponentDisplayName' + enabled: + description: Indicates whether the processor is enabled. + example: true + type: boolean + group_by: + description: Optional list of fields used to group events before the threshold has been reached. + example: + - log.user.id + items: + description: A log field name used to group events for independent throttling. + type: string + type: array + id: + description: The unique identifier for this processor. + example: throttle-processor + type: string + include: + description: A Datadog search query used to determine which logs this processor targets. + example: env:prod + type: string + threshold: + description: the number of events allowed in a given time window. Events sent after the threshold has been reached, are dropped. + example: 1000 format: int64 type: integer - timezone: - default: UTC - description: >- - The timezone can be specified as GMT, UTC, an offset from UTC (like - UTC+1), or as a Timezone Database identifier (like - America/New_York). - example: GMT + type: + $ref: '#/components/schemas/ObservabilityPipelineThrottleProcessorType' + window: + description: The time window in seconds over which the threshold applies. + example: 60 + format: double + type: number + required: + - id + - type + - include + - threshold + - window + - enabled + type: object + x-pipeline-types: + - logs + ObservabilityPipelineAddMetricTagsProcessor: + description: |- + The `add_metric_tags` processor adds static tags to metrics. + + **Supported pipeline types:** metrics + properties: + display_name: + $ref: '#/components/schemas/ObservabilityPipelineComponentDisplayName' + enabled: + description: Indicates whether the processor is enabled. + example: true + type: boolean + id: + description: The unique identifier for this component. Used in other parts of the pipeline to reference this component (for example, as the `input` to downstream components). + example: add-metric-tags-processor + type: string + include: + description: A Datadog search query used to determine which metrics this processor targets. + example: '*' type: string + tags: + description: A list of static tags (key-value pairs) added to each metric processed by this component. + items: + $ref: '#/components/schemas/ObservabilityPipelineFieldValue' + maxItems: 15 + type: array + type: + $ref: '#/components/schemas/ObservabilityPipelineAddMetricTagsProcessorType' + required: + - id + - type + - include + - tags + - enabled type: object - LogsAggregateRequestPage: - description: Paging settings + x-pipeline-types: + - metrics + ObservabilityPipelineAggregateProcessor: + description: |- + The `aggregate` processor combines metrics that share the same name and tags into a single metric over a configurable interval. + + **Supported pipeline types:** metrics properties: - cursor: - description: >- - The returned paging point to use to get the next results. Note: at - most 1000 results can be paged. - example: >- - eyJzdGFydEF0IjoiQVFBQUFYS2tMS3pPbm40NGV3QUFBQUJCV0V0clRFdDZVbG8zY3pCRmNsbHJiVmxDWlEifQ== + display_name: + $ref: '#/components/schemas/ObservabilityPipelineComponentDisplayName' + enabled: + description: Indicates whether the processor is enabled. + example: true + type: boolean + id: + description: The unique identifier for this component. Used in other parts of the pipeline to reference this component (for example, as the `input` to downstream components). + example: aggregate-processor type: string + include: + description: A Datadog search query used to determine which metrics this processor targets. + example: '*' + type: string + interval_secs: + description: The interval, in seconds, over which metrics are aggregated. + example: 10 + format: int64 + maximum: 60 + minimum: 1 + type: integer + mode: + $ref: '#/components/schemas/ObservabilityPipelineAggregateProcessorMode' + type: + $ref: '#/components/schemas/ObservabilityPipelineAggregateProcessorType' + required: + - id + - type + - include + - interval_secs + - mode + - enabled type: object - LogsAggregateResponseData: - description: The query results + x-pipeline-types: + - metrics + ObservabilityPipelineMetricTagsProcessor: + description: |- + The `metric_tags` processor filters metrics based on their tags using Datadog tag key patterns. + + **Supported pipeline types:** metrics properties: - buckets: - description: The list of matching buckets, one item per bucket + display_name: + $ref: '#/components/schemas/ObservabilityPipelineComponentDisplayName' + enabled: + description: Indicates whether the processor is enabled. + example: true + type: boolean + id: + description: The unique identifier for this component. Used in other parts of the pipeline to reference this component (for example, as the `input` to downstream components). + example: metric-tags-processor + type: string + include: + description: A Datadog search query that determines which metrics the processor targets. + example: '*' + type: string + rules: + description: A list of rules for filtering metric tags. items: - $ref: '#/components/schemas/LogsAggregateBucket' + $ref: '#/components/schemas/ObservabilityPipelineMetricTagsProcessorRule' + maxItems: 100 + minItems: 1 type: array + type: + $ref: '#/components/schemas/ObservabilityPipelineMetricTagsProcessorType' + required: + - id + - type + - include + - rules + - enabled type: object - LogsResponseMetadata: - description: The metadata associated with a request + x-pipeline-types: + - metrics + ObservabilityPipelineRenameMetricTagsProcessor: + description: |- + The `rename_metric_tags` processor changes the keys of tags on metrics. + + **Supported pipeline types:** metrics properties: - elapsed: - description: The time elapsed in milliseconds - example: 132 - format: int64 - type: integer - page: - $ref: '#/components/schemas/LogsResponseMetadataPage' - request_id: - description: The identifier of the request - example: MWlFUjVaWGZTTTZPYzM0VXp1OXU2d3xLSVpEMjZKQ0VKUTI0dEYtM3RSOFVR + display_name: + $ref: '#/components/schemas/ObservabilityPipelineComponentDisplayName' + enabled: + description: Indicates whether the processor is enabled. + example: true + type: boolean + id: + description: The unique identifier for this component. Used in other parts of the pipeline to reference this component (for example, as the `input` to downstream components). + example: rename-metric-tags-processor type: string - status: - $ref: '#/components/schemas/LogsAggregateResponseStatus' - warnings: - description: >- - A list of warnings (non fatal errors) encountered, partial results - might be returned if - - warnings are present in the response. + include: + description: A Datadog search query used to determine which metrics this processor targets. + example: '*' + type: string + tags: + description: A list of rename rules specifying which tag keys to rename on each metric. items: - $ref: '#/components/schemas/LogsWarning' + $ref: '#/components/schemas/ObservabilityPipelineRenameMetricTagsProcessorTag' + maxItems: 15 type: array - type: object - LogsArchiveOrderDefinition: - description: The definition of an archive order. - properties: - attributes: - $ref: '#/components/schemas/LogsArchiveOrderAttributes' type: - $ref: '#/components/schemas/LogsArchiveOrderDefinitionType' + $ref: '#/components/schemas/ObservabilityPipelineRenameMetricTagsProcessorType' required: + - id - type - - attributes + - include + - tags + - enabled type: object - LogsArchiveDefinition: - description: The definition of an archive. + x-pipeline-types: + - metrics + ObservabilityPipelineTagCardinalityLimitProcessor: + description: |- + The `tag_cardinality_limit` processor caps the number of distinct tag value combinations on metrics, dropping tags or events once the limit is exceeded. + + **Supported pipeline types:** metrics properties: - attributes: - $ref: '#/components/schemas/LogsArchiveAttributes' + display_name: + $ref: '#/components/schemas/ObservabilityPipelineComponentDisplayName' + enabled: + description: Indicates whether the processor is enabled. + example: true + type: boolean id: - description: The archive ID. - example: a2zcMylnM4OCHpYusxIi3g - readOnly: true + description: The unique identifier for this component. Used in other parts of the pipeline to reference this component (for example, as the `input` to downstream components). + example: tag-cardinality-limit-processor type: string - type: - default: archives - description: The type of the resource. The value should always be archives. - example: archives - readOnly: true + include: + description: A Datadog search query used to determine which metrics this processor targets. + example: '*' type: string + limit_exceeded_action: + $ref: '#/components/schemas/ObservabilityPipelineTagCardinalityLimitProcessorAction' + per_metric_limits: + description: A list of per-metric cardinality overrides that take precedence over the default `value_limit`. + items: + $ref: '#/components/schemas/ObservabilityPipelineTagCardinalityLimitProcessorPerMetricLimit' + maxItems: 100 + type: array + tracking_mode: + $ref: '#/components/schemas/ObservabilityPipelineTagCardinalityLimitProcessorTrackingMode' + type: + $ref: '#/components/schemas/ObservabilityPipelineTagCardinalityLimitProcessorType' + value_limit: + description: The default maximum number of distinct tag value combinations allowed per metric. + example: 10000 + format: int64 + maximum: 1000000 + minimum: 0 + type: integer required: + - id - type + - include + - limit_exceeded_action + - tracking_mode + - value_limit + - enabled type: object - LogsArchiveCreateRequestDefinition: - description: The definition of an archive. + x-pipeline-types: + - metrics + ObservabilityPipelineDatadogAgentSourceType: + default: datadog_agent + description: The source type. The value should always be `datadog_agent`. + enum: + - datadog_agent + example: datadog_agent + type: string + x-enum-varnames: + - DATADOG_AGENT + ObservabilityPipelineAmazonDataFirehoseSourceType: + default: amazon_data_firehose + description: The source type. The value should always be `amazon_data_firehose`. + enum: + - amazon_data_firehose + example: amazon_data_firehose + type: string + x-enum-varnames: + - AMAZON_DATA_FIREHOSE + ObservabilityPipelineAmazonS3SourceCompression: + description: Compression format for objects retrieved from the S3 bucket. Use `auto` to detect compression from the object's Content-Encoding header or file extension. + enum: + - auto + - none + - gzip + - zstd + example: gzip + type: string + x-enum-varnames: + - AUTO + - NONE + - GZIP + - ZSTD + ObservabilityPipelineAmazonS3SourceType: + default: amazon_s3 + description: The source type. Always `amazon_s3`. + enum: + - amazon_s3 + example: amazon_s3 + type: string + x-enum-varnames: + - AMAZON_S3 + ObservabilityPipelineMtlsServerTls: + description: Configuration for enabling TLS encryption between the pipeline component and external connecting clients. properties: - attributes: - $ref: '#/components/schemas/LogsArchiveCreateRequestAttributes' - type: - default: archives - description: The type of the resource. The value should always be archives. - example: archives + ca_file: + description: Path to the Certificate Authority (CA) file used to validate connecting clients' TLS certificates. + type: string + crt_file: + description: Path to the TLS server certificate file used to used to identify the pipeline component to connecting clients. + example: /path/to/cert.crt + type: string + key_file: + description: Path to the private key file associated with the TLS server certificate. + type: string + key_pass_key: + description: Name of the environment variable or secret that holds the passphrase for the private key file. + example: TLS_KEY_PASSPHRASE type: string + verify_certificate: + description: When `true`, requires client connections to present a valid certificate, enabling mutual TLS authentication. + type: boolean required: - - type + - crt_file type: object - RelationshipToRoleData: - description: Relationship to role object. + ObservabilityPipelineFluentBitSourceType: + default: fluent_bit + description: The source type. The value should always be `fluent_bit`. + enum: + - fluent_bit + example: fluent_bit + type: string + x-enum-varnames: + - FLUENT_BIT + ObservabilityPipelineFluentdSourceType: + default: fluentd + description: The source type. The value should always be `fluentd. + enum: + - fluentd + example: fluentd + type: string + x-enum-varnames: + - FLUENTD + ObservabilityPipelineDecoding: + description: The decoding format used to interpret incoming logs. + enum: + - bytes + - gelf + - json + - syslog + example: json + type: string + x-enum-varnames: + - DECODE_BYTES + - DECODE_GELF + - DECODE_JSON + - DECODE_SYSLOG + ObservabilityPipelineGooglePubSubSourceType: + default: google_pubsub + description: The source type. The value should always be `google_pubsub`. + enum: + - google_pubsub + example: google_pubsub + type: string + x-enum-varnames: + - GOOGLE_PUBSUB + ObservabilityPipelineHttpClientSourceAuthStrategy: + description: Optional authentication strategy for HTTP requests. + enum: + - none + - basic + - bearer + - custom + example: basic + type: string + x-enum-varnames: + - NONE + - BASIC + - BEARER + - CUSTOM + ObservabilityPipelineHttpClientSourceType: + default: http_client + description: The source type. The value should always be `http_client`. + enum: + - http_client + example: http_client + type: string + x-enum-varnames: + - HTTP_CLIENT + ObservabilityPipelineHttpServerSourceAuthStrategy: + description: HTTP authentication method. + enum: + - none + - plain + example: plain + type: string + x-enum-varnames: + - NONE + - PLAIN + ObservabilityPipelineHttpServerSourceType: + default: http_server + description: The source type. The value should always be `http_server`. + enum: + - http_server + example: http_server + type: string + x-enum-varnames: + - HTTP_SERVER + ObservabilityPipelineHttpServerSourceValidToken: + description: An accepted token used to authenticate incoming HTTP server requests. properties: - id: - description: The unique identifier of the role. - example: 3653d3c6-0c75-11ea-ad28-fb5701eabc7d + enabled: + default: true + description: |- + Indicates whether this token is currently accepted. Disabled tokens are rejected without + being removed from the configuration. + example: true + type: boolean + field_to_add: + $ref: '#/components/schemas/ObservabilityPipelineSourceValidTokenFieldToAdd' + path_to_token: + $ref: '#/components/schemas/ObservabilityPipelineHttpServerSourceValidTokenPathToToken' + token_key: + description: Name of the environment variable or secret that holds the expected token value. + example: HTTP_SERVER_TOKEN + pattern: ^[A-Za-z0-9_]+$ type: string - type: - $ref: '#/components/schemas/RolesType' + required: + - token_key type: object - Role: - description: Role object returned by the API. + ObservabilityPipelineKafkaSourceType: + default: kafka + description: The source type. The value should always be `kafka`. + enum: + - kafka + example: kafka + type: string + x-enum-varnames: + - KAFKA + ObservabilityPipelineLogstashSourceType: + default: logstash + description: The source type. The value should always be `logstash`. + enum: + - logstash + example: logstash + type: string + x-enum-varnames: + - LOGSTASH + ObservabilityPipelineSyslogSourceMode: + description: Protocol used by the syslog source to receive messages. + enum: + - tcp + - udp + example: tcp + type: string + x-enum-varnames: + - TCP + - UDP + ObservabilityPipelineRsyslogSourceType: + default: rsyslog + description: The source type. The value should always be `rsyslog`. + enum: + - rsyslog + example: rsyslog + type: string + x-enum-varnames: + - RSYSLOG + ObservabilityPipelineSocketSourceFraming: + description: Framing method configuration for the socket source. properties: - attributes: - $ref: '#/components/schemas/RoleAttributes' - id: - description: The unique identifier of the role. + method: + $ref: '#/components/schemas/ObservabilityPipelineSocketSourceFramingNewlineDelimitedMethod' + delimiter: + description: A single ASCII character used to delimit events. + example: '|' + maxLength: 1 + minLength: 1 type: string - relationships: - $ref: '#/components/schemas/RoleResponseRelationships' - type: - $ref: '#/components/schemas/RolesType' required: - - type + - method + - delimiter type: object - ResponseMetaAttributes: - description: Object describing meta attributes of response. + ObservabilityPipelineSocketSourceMode: + description: Protocol used to receive logs. + enum: + - tcp + - udp + example: tcp + type: string + x-enum-varnames: + - TCP + - UDP + ObservabilityPipelineSocketSourceType: + default: socket + description: The source type. The value should always be `socket`. + enum: + - socket + example: socket + type: string + x-enum-varnames: + - SOCKET + ObservabilityPipelineSplunkHecSourceType: + default: splunk_hec + description: The source type. Always `splunk_hec`. + enum: + - splunk_hec + example: splunk_hec + type: string + x-enum-varnames: + - SPLUNK_HEC + ObservabilityPipelineSplunkHecSourceValidToken: + description: An accepted HEC token used to authenticate incoming Splunk HEC requests. properties: - page: - $ref: '#/components/schemas/Pagination' + enabled: + default: true + description: |- + Indicates whether this token is currently accepted. Disabled tokens are rejected without + being removed from the configuration. + example: true + type: boolean + field_to_add: + $ref: '#/components/schemas/ObservabilityPipelineSourceValidTokenFieldToAdd' + token_key: + description: Name of the environment variable or secret that holds the expected HEC token value. + example: SPLUNK_HEC_TOKEN + pattern: ^[A-Za-z0-9_]+$ + type: string + required: + - token_key type: object - CustomDestinationResponseDefinition: - description: The definition of a custom destination. + ObservabilityPipelineSplunkTcpSourceType: + default: splunk_tcp + description: The source type. Always `splunk_tcp`. + enum: + - splunk_tcp + example: splunk_tcp + type: string + x-enum-varnames: + - SPLUNK_TCP + ObservabilityPipelineSumoLogicSourceType: + default: sumo_logic + description: The source type. The value should always be `sumo_logic`. + enum: + - sumo_logic + example: sumo_logic + type: string + x-enum-varnames: + - SUMO_LOGIC + ObservabilityPipelineSyslogNgSourceType: + default: syslog_ng + description: The source type. The value should always be `syslog_ng`. + enum: + - syslog_ng + example: syslog_ng + type: string + x-enum-varnames: + - SYSLOG_NG + ObservabilityPipelineWebsocketSourceAuthStrategy: + description: Authentication strategy for the WebSocket source connection. + enum: + - none + - basic + - bearer + - custom + example: bearer + type: string + x-enum-varnames: + - NONE + - BASIC + - BEARER + - CUSTOM + ObservabilityPipelineWebsocketSourceTls: + description: TLS configuration for the WebSocket source. Use `enabled` for standard `wss://` connections, or `with_client_cert` to present a client certificate for mutual TLS. + properties: + mode: + $ref: '#/components/schemas/ObservabilityPipelineWebsocketSourceTlsEnabledMode' + ca_file: + description: Path to the Certificate Authority (CA) file used to validate the remote server's TLS certificate. + example: /path/to/ca.crt + type: string + crt_file: + description: Path to the TLS client certificate file used to identify this source to the remote server. + example: /path/to/client.crt + type: string + key_file: + description: Path to the private key file associated with the client certificate. + example: /path/to/client.key + type: string + key_pass_key: + description: Name of the environment variable or secret that holds the passphrase for the private key file. + example: WS_TLS_KEY_PASSPHRASE + type: string + required: + - mode + - crt_file + type: object + ObservabilityPipelineWebsocketSourceType: + default: websocket + description: The source type. The value should always be `websocket`. + enum: + - websocket + example: websocket + type: string + x-enum-varnames: + - WEBSOCKET + ObservabilityPipelineOpentelemetrySourceType: + default: opentelemetry + description: The source type. The value should always be `opentelemetry`. + enum: + - opentelemetry + example: opentelemetry + type: string + x-enum-varnames: + - OPENTELEMETRY + CustomDestinationResponseHttpDestinationAuthBasicType: + default: basic + description: Type of the basic access authentication. + enum: + - basic + example: basic + type: string + x-enum-varnames: + - BASIC + CustomDestinationResponseHttpDestinationAuthCustomHeaderType: + default: custom_header + description: Type of the custom header access authentication. + enum: + - custom_header + example: custom_header + type: string + x-enum-varnames: + - CUSTOM_HEADER + CustomDestinationHttpDestinationAuthBasicType: + default: basic + description: Type of the basic access authentication. + enum: + - basic + example: basic + type: string + x-enum-varnames: + - BASIC + CustomDestinationHttpDestinationAuthCustomHeaderType: + default: custom_header + description: Type of the custom header access authentication. + enum: + - custom_header + example: custom_header + type: string + x-enum-varnames: + - CUSTOM_HEADER + ObservabilityPipelineAmazonOpenSearchDestinationAuthStrategy: + description: The authentication strategy to use. + enum: + - basic + - aws + example: aws + type: string + x-enum-varnames: + - BASIC + - AWS + ObservabilityPipelineDiskBufferOptions: + description: Options for configuring a disk buffer. properties: - attributes: - $ref: '#/components/schemas/CustomDestinationResponseAttributes' - id: - description: The custom destination ID. - example: be5d7a69-d0c8-4d4d-8ee8-bba292d98139 - readOnly: true - type: string + max_size: + description: Maximum size of the disk buffer. + example: 4096 + format: int64 + type: integer type: - $ref: '#/components/schemas/CustomDestinationType' + $ref: '#/components/schemas/ObservabilityPipelineBufferOptionsDiskType' + when_full: + $ref: '#/components/schemas/ObservabilityPipelineBufferOptionsWhenFull' + required: + - max_size type: object - CustomDestinationCreateRequestDefinition: - description: The definition of a custom destination. + ObservabilityPipelineMemoryBufferOptions: + description: Options for configuring a memory buffer by byte size. properties: - attributes: - $ref: '#/components/schemas/CustomDestinationCreateRequestAttributes' + max_size: + description: Maximum size of the memory buffer. + example: 4096 + format: int64 + type: integer type: - $ref: '#/components/schemas/CustomDestinationType' + $ref: '#/components/schemas/ObservabilityPipelineBufferOptionsMemoryType' + when_full: + $ref: '#/components/schemas/ObservabilityPipelineBufferOptionsWhenFull' required: - - type - - attributes + - max_size type: object - CustomDestinationUpdateRequestDefinition: - description: The definition of a custom destination. + ObservabilityPipelineMemoryBufferSizeOptions: + description: Options for configuring a memory buffer by queue length. properties: - attributes: - $ref: '#/components/schemas/CustomDestinationUpdateRequestAttributes' - id: - description: The custom destination ID. - example: be5d7a69-d0c8-4d4d-8ee8-bba292d98139 - type: string + max_events: + description: Maximum events for the memory buffer. + example: 500 + format: int64 + type: integer type: - $ref: '#/components/schemas/CustomDestinationType' + $ref: '#/components/schemas/ObservabilityPipelineBufferOptionsMemoryType' + when_full: + $ref: '#/components/schemas/ObservabilityPipelineBufferOptionsWhenFull' required: - - type - - id + - max_events type: object - LogsMetricResponseData: - description: The log-based metric properties. + ObservabilityPipelineElasticsearchDestinationCompressionAlgorithm: + description: The compression algorithm applied when sending data to Elasticsearch. + enum: + - none + - gzip + - zlib + - zstd + - snappy + example: gzip + type: string + x-enum-varnames: + - NONE + - GZIP + - ZLIB + - ZSTD + - SNAPPY + ObservabilityPipelineHttpClientDestinationCompressionAlgorithm: + description: Compression algorithm. + enum: + - gzip + example: gzip + type: string + x-enum-varnames: + - GZIP + ObservabilityPipelineAmazonS3GenericCompressionZstd: + description: Zstd compression. properties: - attributes: - $ref: '#/components/schemas/LogsMetricResponseAttributes' - id: - $ref: '#/components/schemas/LogsMetricID' - type: - $ref: '#/components/schemas/LogsMetricType' + algorithm: + $ref: '#/components/schemas/ObservabilityPipelineAmazonS3GenericCompressionZstdType' + level: + description: Zstd compression level. + example: 3 + format: int64 + type: integer + required: + - algorithm + - level type: object - LogsMetricCreateData: - description: The new log-based metric properties. + ObservabilityPipelineAmazonS3GenericCompressionGzip: + description: Gzip compression. properties: - attributes: - $ref: '#/components/schemas/LogsMetricCreateAttributes' - id: - $ref: '#/components/schemas/LogsMetricID' - type: - $ref: '#/components/schemas/LogsMetricType' + algorithm: + $ref: '#/components/schemas/ObservabilityPipelineAmazonS3GenericCompressionGzipType' + level: + description: Gzip compression level. + example: 6 + format: int64 + type: integer required: - - id - - type - - attributes + - algorithm + - level type: object - LogsMetricUpdateData: - description: The new log-based metric properties. + ObservabilityPipelineAmazonS3GenericCompressionSnappy: + description: Snappy compression. properties: - attributes: - $ref: '#/components/schemas/LogsMetricUpdateAttributes' - type: - $ref: '#/components/schemas/LogsMetricType' + algorithm: + $ref: '#/components/schemas/ObservabilityPipelineAmazonS3GenericCompressionSnappyType' required: - - type - - attributes + - algorithm type: object - Log: - description: Object description of a log after being processed and stored by Datadog. + ObservabilityPipelineAmazonS3GenericEncodingJson: + description: JSON encoding. properties: - attributes: - $ref: '#/components/schemas/LogAttributes' - id: - description: Unique ID of the Log. - example: AAAAAWgN8Xwgr1vKDQAAAABBV2dOOFh3ZzZobm1mWXJFYTR0OA - type: string type: - $ref: '#/components/schemas/LogType' - type: object - LogsListResponseLinks: - description: Links attributes. - properties: - next: - description: >- - Link for the next set of results. Note that the request can also be - made using the - - POST endpoint. - example: >- - https://app.datadoghq.com/api/v2/logs/event?filter[query]=foo&page[cursor]=eyJzdGFydEF0IjoiQVFBQUFYS2tMS3pPbm40NGV3QUFBQUJCV0V0clRFdDZVbG8zY3pCRmNsbHJiVmxDWlEifQ== - type: string + $ref: '#/components/schemas/ObservabilityPipelineAmazonS3GenericEncodingJsonType' + required: + - type type: object - LogsListRequestPage: - description: Paging attributes for listing logs. + ObservabilityPipelineAmazonS3GenericEncodingParquet: + description: Parquet encoding. properties: - cursor: - description: List following results with a cursor provided in the previous query. - example: >- - eyJzdGFydEF0IjoiQVFBQUFYS2tMS3pPbm40NGV3QUFBQUJCV0V0clRFdDZVbG8zY3pCRmNsbHJiVmxDWlEifQ== - type: string - limit: - default: 10 - description: Maximum number of logs in the response. - example: 25 - format: int32 - maximum: 1000 - type: integer + type: + $ref: '#/components/schemas/ObservabilityPipelineAmazonS3GenericEncodingParquetType' + required: + - type type: object - LogsAggregationFunction: - description: An aggregation function + ObservabilityPipelineClickhouseDestinationAuthStrategy: + description: The authentication strategy for ClickHouse HTTP requests. Only `basic` is supported. enum: - - count - - cardinality - - pc75 - - pc90 - - pc95 - - pc98 - - pc99 - - sum - - min - - max - - avg - - median - example: pc90 + - basic + example: basic type: string x-enum-varnames: - - COUNT - - CARDINALITY - - PERCENTILE_75 - - PERCENTILE_90 - - PERCENTILE_95 - - PERCENTILE_98 - - PERCENTILE_99 - - SUM - - MIN - - MAX - - AVG - - MEDIAN - LogsComputeType: - default: total - description: The type of compute + - BASIC + ObservabilityPipelineClickhouseDestinationBatchEncodingCodec: + description: The codec used for batch encoding. Only `arrow_stream` is supported. enum: - - timeseries - - total + - arrow_stream + example: arrow_stream type: string x-enum-varnames: - - TIMESERIES - - TOTAL - LogsGroupByHistogram: - description: >- - Used to perform a histogram computation (only for measure facets). - - Note: at most 100 buckets are allowed, the number of buckets is (max - - min)/interval. + - ARROW_STREAM + ObservabilityPipelineClickhouseDestinationCompressionAlgorithm: + description: The compression algorithm applied to outbound HTTP requests. + enum: + - gzip + - none + example: gzip + type: string + x-enum-varnames: + - GZIP + - NONE + ObservabilityPipelineClickhouseDestinationCompressionObject: + description: |- + Structured compression configuration for the ClickHouse destination. + Use `algorithm` to specify the compression type and `level` (optional, gzip only) to control compression strength. properties: - interval: - description: The bin size of the histogram buckets - example: 10 - format: double - type: number - max: - description: |- - The maximum value for the measure used in the histogram - (values greater than this one are filtered out) - example: 100 - format: double - type: number - min: - description: |- - The minimum value for the measure used in the histogram - (values smaller than this one are filtered out) - example: 50 - format: double - type: number + algorithm: + $ref: '#/components/schemas/ObservabilityPipelineClickhouseDestinationCompressionAlgorithm' + level: + description: Compression level (1–9). Only applicable when `algorithm` is `gzip`. + example: 6 + format: int64 + maximum: 9 + minimum: 1 + type: integer required: - - interval - - min - - max - type: object - LogsGroupByMissing: - description: The value to use for logs that don't have the facet used to group by - oneOf: - - $ref: '#/components/schemas/LogsGroupByMissingString' - - $ref: '#/components/schemas/LogsGroupByMissingNumber' - LogsAggregateSort: - description: A sort rule - example: - aggregation: count - order: asc - properties: - aggregation: - $ref: '#/components/schemas/LogsAggregationFunction' - metric: - description: The metric to sort by (only used for `type=measure`) - example: '@duration' - type: string - order: - $ref: '#/components/schemas/LogsSortOrder' - type: - $ref: '#/components/schemas/LogsAggregateSortType' - type: object - LogsGroupByTotal: - default: false - description: >- - A resulting object to put the given computes in over all the matching - records. - oneOf: - - $ref: '#/components/schemas/LogsGroupByTotalBoolean' - - $ref: '#/components/schemas/LogsGroupByTotalString' - - $ref: '#/components/schemas/LogsGroupByTotalNumber' - LogsAggregateBucket: - description: A bucket values - properties: - by: - additionalProperties: - description: The values for each group by - description: The key, value pairs for each group by - example: - '@state': success - '@version': abc - type: object - computes: - additionalProperties: - $ref: '#/components/schemas/LogsAggregateBucketValue' - description: >- - A map of the metric name -> value for regular compute or list of - values for a timeseries - type: object - type: object - LogsResponseMetadataPage: - description: Paging attributes. - properties: - after: - description: >- - The cursor to use to get the next results, if any. To make the next - request, use the same - - parameters with the addition of the `page[cursor]`. - example: >- - eyJzdGFydEF0IjoiQVFBQUFYS2tMS3pPbm40NGV3QUFBQUJCV0V0clRFdDZVbG8zY3pCRmNsbHJiVmxDWlEifQ== - type: string + - algorithm type: object - LogsAggregateResponseStatus: - description: The status of the response + ObservabilityPipelineCrowdStrikeNextGenSiemDestinationCompressionAlgorithm: + description: Compression algorithm for log events. enum: - - done - - timeout - example: done + - gzip + - zlib + example: gzip type: string x-enum-varnames: - - DONE - - TIMEOUT - LogsWarning: - description: A warning message indicating something that went wrong with the query + - GZIP + - ZLIB + ObservabilityPipelineKafkaSaslMechanism: + description: SASL mechanism used for Kafka authentication. + enum: + - PLAIN + - SCRAM-SHA-256 + - SCRAM-SHA-512 + type: string + x-enum-varnames: + - PLAIN + - SCRAMNOT_SHANOT_256 + - SCRAMNOT_SHANOT_512 + ObservabilityPipelineSocketDestinationFramingNewlineDelimited: + description: Each log event is delimited by a newline character. properties: - code: - description: A unique code for this type of warning - example: unknown_index - type: string - detail: - description: A detailed explanation of this specific warning - example: 'indexes: foo, bar' - type: string - title: - description: A short human-readable summary of the warning - example: >- - One or several indexes are missing or invalid, results hold data - from the other indexes - type: string + method: + $ref: '#/components/schemas/ObservabilityPipelineSocketDestinationFramingNewlineDelimitedMethod' + required: + - method + type: object + ObservabilityPipelineSocketDestinationFramingBytes: + description: Event data is not delimited at all. + properties: + method: + $ref: '#/components/schemas/ObservabilityPipelineSocketDestinationFramingBytesMethod' + required: + - method type: object - LogsArchiveOrderAttributes: - description: The attributes associated with the archive order. + ObservabilityPipelineSocketDestinationFramingCharacterDelimited: + description: Each log event is separated using the specified delimiter character. properties: - archive_ids: - description: >- - An ordered array of `` strings, the order of archive IDs - in the array - - define the overall archives order for Datadog. - example: - - a2zcMylnM4OCHpYusxIi1g - - a2zcMylnM4OCHpYusxIi2g - - a2zcMylnM4OCHpYusxIi3g - items: - description: A given archive ID. - type: string - type: array + delimiter: + description: A single ASCII character used as a delimiter. + example: '|' + maxLength: 1 + minLength: 1 + type: string + method: + $ref: '#/components/schemas/ObservabilityPipelineSocketDestinationFramingCharacterDelimitedMethod' required: - - archive_ids + - method + - delimiter type: object - LogsArchiveOrderDefinitionType: - default: archive_order - description: Type of the archive order definition. + ObservabilityPipelineFilterProcessorType: + default: filter + description: The processor type. The value should always be `filter`. enum: - - archive_order - example: archive_order + - filter + example: filter type: string x-enum-varnames: - - ARCHIVE_ORDER - LogsArchiveAttributes: - description: The attributes associated with the archive. + - FILTER + ObservabilityPipelineAddEnvVarsProcessorType: + default: add_env_vars + description: The processor type. The value should always be `add_env_vars`. + enum: + - add_env_vars + example: add_env_vars + type: string + x-enum-varnames: + - ADD_ENV_VARS + ObservabilityPipelineAddEnvVarsProcessorVariable: + description: Defines a mapping between an environment variable and a log field. properties: - destination: - $ref: '#/components/schemas/LogsArchiveDestination' - include_tags: - default: false - description: >- - To store the tags in the archive, set the value "true". - - If it is set to "false", the tags will be deleted when the logs are - sent to the archive. - example: false - type: boolean - name: - description: The archive name. - example: Nginx Archive + field: + description: The target field in the log event. + example: log.environment.region type: string - query: - description: >- - The archive query/filter. Logs matching this query are included in - the archive. - example: source:nginx + name: + description: The name of the environment variable to read. + example: AWS_REGION type: string - rehydration_max_scan_size_in_gb: - description: Maximum scan size for rehydration from this archive. - example: 100 - format: int64 - nullable: true - type: integer - rehydration_tags: - description: An array of tags to add to rehydrated logs from an archive. - example: - - team:intake - - team:app - items: - description: A given tag in the `:` format. - type: string - type: array - state: - $ref: '#/components/schemas/LogsArchiveState' required: + - field - name - - query - - destination type: object - LogsArchiveCreateRequestAttributes: - description: The attributes associated with the archive. + ObservabilityPipelineFieldValue: + description: Represents a static key-value pair used in various processors. properties: - destination: - $ref: '#/components/schemas/LogsArchiveCreateRequestDestination' - include_tags: - default: false - description: >- - To store the tags in the archive, set the value "true". - - If it is set to "false", the tags will be deleted when the logs are - sent to the archive. - example: false - type: boolean name: - description: The archive name. - example: Nginx Archive + description: The field name. + example: field_name type: string - query: - description: >- - The archive query/filter. Logs matching this query are included in - the archive. - example: source:nginx + value: + description: The field value. + example: field_value type: string - rehydration_max_scan_size_in_gb: - description: Maximum scan size for rehydration from this archive. - example: 100 - format: int64 - nullable: true - type: integer - rehydration_tags: - description: An array of tags to add to rehydrated logs from an archive. - example: - - team:intake - - team:app - items: - description: A given tag in the `:` format. - type: string - type: array required: - name - - query - - destination + - value type: object - RolesType: - default: roles - description: Roles type. + ObservabilityPipelineAddFieldsProcessorType: + default: add_fields + description: The processor type. The value should always be `add_fields`. enum: - - roles - example: roles + - add_fields + example: add_fields type: string x-enum-varnames: - - ROLES - RoleAttributes: - description: Attributes of the role. + - ADD_FIELDS + ObservabilityPipelineAddHostnameProcessorType: + default: add_hostname + description: The processor type. The value should always be `add_hostname`. + enum: + - add_hostname + example: add_hostname + type: string + x-enum-varnames: + - ADD_HOSTNAME + ObservabilityPipelineCustomProcessorRemap: + description: Defines a single VRL remap rule with its own filtering and transformation logic. properties: - created_at: - description: Creation time of the role. - format: date-time - readOnly: true - type: string - modified_at: - description: Time of last role modification. - format: date-time - readOnly: true + drop_on_error: + description: Whether to drop events that caused errors during processing. + example: false + type: boolean + enabled: + description: Whether this remap rule is enabled. + example: true + type: boolean + include: + description: A Datadog search query used to filter events for this specific remap rule. + example: service:web type: string name: - description: >- - The name of the role. The name is neither unique nor a stable - identifier of the role. + description: A descriptive name for this remap rule. + example: Parse JSON from message field type: string - user_count: - description: Number of users with that role. - format: int64 - readOnly: true - type: integer - type: object - RoleResponseRelationships: - description: Relationships of the role object returned by the API. - properties: - permissions: - $ref: '#/components/schemas/RelationshipToPermissions' + source: + description: The VRL script source code that defines the processing logic. + example: . = parse_json!(.message) + type: string + required: + - include + - name + - source + - drop_on_error type: object - Pagination: - description: Pagination object. + ObservabilityPipelineCustomProcessorType: + default: custom_processor + description: The processor type. The value should always be `custom_processor`. + enum: + - custom_processor + example: custom_processor + type: string + x-enum-varnames: + - CUSTOM_PROCESSOR + ObservabilityPipelineDatadogTagsProcessorAction: + description: The action to take on tags with matching keys. + enum: + - include + - exclude + example: include + type: string + x-enum-varnames: + - INCLUDE + - EXCLUDE + ObservabilityPipelineDatadogTagsProcessorMode: + description: The processing mode. + enum: + - filter + example: filter + type: string + x-enum-varnames: + - FILTER + ObservabilityPipelineDatadogTagsProcessorType: + default: datadog_tags + description: The processor type. The value should always be `datadog_tags`. + enum: + - datadog_tags + example: datadog_tags + type: string + x-enum-varnames: + - DATADOG_TAGS + ObservabilityPipelineDedupeProcessorCache: + description: Configuration for the cache used to detect duplicates. properties: - total_count: - description: Total count. - format: int64 - type: integer - total_filtered_count: - description: Total count of elements matched by the filter. + num_events: + description: The number of events to cache for duplicate detection. + example: 5000 format: int64 + maximum: 1000000000 + minimum: 1 type: integer + required: + - num_events type: object - CustomDestinationResponseAttributes: - description: The attributes associated with the custom destination. - properties: - enabled: - default: true - description: >- - Whether logs matching this custom destination should be forwarded or - not. - example: true - type: boolean - forward_tags: - default: true - description: Whether tags from the forwarded logs should be forwarded or not. - example: true - type: boolean - forward_tags_restriction_list: - default: [] - description: >- - List of [keys of - tags](https://docs.datadoghq.com/getting_started/tagging/#define-tags) - to be filtered. - - - An empty list represents no restriction is in place and either all - or no tags will be - - forwarded depending on `forward_tags_restriction_list_type` - parameter. - example: - - datacenter - - host - items: - description: >- - The [key part of a - tag](https://docs.datadoghq.com/getting_started/tagging/#define-tags). - type: string - maxItems: 10 - minItems: 0 - type: array - forward_tags_restriction_list_type: - $ref: >- - #/components/schemas/CustomDestinationAttributeTagsRestrictionListType - forwarder_destination: - $ref: '#/components/schemas/CustomDestinationResponseForwardDestination' - name: - description: The custom destination name. - example: Nginx logs - type: string - query: - default: '' - description: >- - The custom destination query filter. Logs matching this query are - forwarded to the destination. - example: source:nginx - type: string - type: object - CustomDestinationType: - default: custom_destination - description: >- - The type of the resource. The value should always be - `custom_destination`. + ObservabilityPipelineDedupeProcessorMode: + description: The deduplication mode to apply to the fields. enum: - - custom_destination - example: custom_destination + - match + - ignore + example: match type: string x-enum-varnames: - - CUSTOM_DESTINATION - CustomDestinationCreateRequestAttributes: - description: The attributes associated with the custom destination. + - MATCH + - IGNORE + ObservabilityPipelineDedupeProcessorType: + default: dedupe + description: The processor type. The value should always be `dedupe`. + enum: + - dedupe + example: dedupe + type: string + x-enum-varnames: + - DEDUPE + ObservabilityPipelineEnrichmentTableFile: + description: Defines a static enrichment table loaded from a CSV file. properties: - enabled: - default: true - description: >- - Whether logs matching this custom destination should be forwarded or - not. - example: true - type: boolean - forward_tags: - default: true - description: Whether tags from the forwarded logs should be forwarded or not. - example: true - type: boolean - forward_tags_restriction_list: - default: [] - description: >- - List of [keys of - tags](https://docs.datadoghq.com/getting_started/tagging/#define-tags) - to be filtered. - - - An empty list represents no restriction is in place and either all - or no tags will be - - forwarded depending on `forward_tags_restriction_list_type` - parameter. - example: - - datacenter - - host + encoding: + $ref: '#/components/schemas/ObservabilityPipelineEnrichmentTableFileEncoding' + key: + description: Key fields used to look up enrichment values. items: - description: >- - The [key part of a - tag](https://docs.datadoghq.com/getting_started/tagging/#define-tags). - type: string - maxItems: 10 - minItems: 0 + $ref: '#/components/schemas/ObservabilityPipelineEnrichmentTableFileKeyItems' type: array - forward_tags_restriction_list_type: - $ref: >- - #/components/schemas/CustomDestinationAttributeTagsRestrictionListType - forwarder_destination: - $ref: '#/components/schemas/CustomDestinationForwardDestination' - name: - description: The custom destination name. - example: Nginx logs - type: string - query: - default: '' - description: >- - The custom destination query and filter. Logs matching this query - are forwarded to the destination. - example: source:nginx + path: + description: Path to the CSV file. + example: /etc/enrichment/lookup.csv type: string + schema: + description: Schema defining column names and their types. + items: + $ref: '#/components/schemas/ObservabilityPipelineEnrichmentTableFileSchemaItems' + type: array required: - - name - - forwarder_destination + - encoding + - key + - path + - schema type: object - CustomDestinationUpdateRequestAttributes: - description: The attributes associated with the custom destination. + ObservabilityPipelineEnrichmentTableGeoIp: + description: Uses a GeoIP database to enrich logs based on an IP field. properties: - enabled: - default: true - description: >- - Whether logs matching this custom destination should be forwarded or - not. - example: true - type: boolean - forward_tags: - default: true - description: Whether tags from the forwarded logs should be forwarded or not. - example: true - type: boolean - forward_tags_restriction_list: - default: [] - description: >- - List of [keys of - tags](https://docs.datadoghq.com/getting_started/tagging/#define-tags) - to be restricted from being forwarded. - - An empty list represents no restriction is in place and either all - or no tags will be forwarded depending on - `forward_tags_restriction_list_type` parameter. - example: - - datacenter - - host + key_field: + description: Path to the IP field in the log. + example: log.source.ip + type: string + locale: + description: Locale used to resolve geographical names. + example: en + type: string + path: + description: Path to the GeoIP database file. + example: /etc/geoip/GeoLite2-City.mmdb + type: string + required: + - key_field + - locale + - path + type: object + ObservabilityPipelineEnrichmentTableReferenceTable: + description: Uses a Datadog reference table to enrich logs. + properties: + app_key_key: + description: Name of the environment variable or secret that holds the Datadog application key used to access the reference table. + example: DD_APP_KEY + type: string + columns: + description: List of column names to include from the reference table. If not provided, all columns are included. items: - description: >- - The [key part of a - tag](https://docs.datadoghq.com/getting_started/tagging/#define-tags). + description: The name of a column to include from the reference table. type: string - maxItems: 10 - minItems: 0 type: array - forward_tags_restriction_list_type: - $ref: >- - #/components/schemas/CustomDestinationAttributeTagsRestrictionListType - forwarder_destination: - $ref: '#/components/schemas/CustomDestinationForwardDestination' - name: - description: The custom destination name. - example: Nginx logs + key_field: + description: Path to the field in the log event to match against the reference table. + example: log.user.id type: string - query: - default: '' - description: >- - The custom destination query and filter. Logs matching this query - are forwarded to the destination. - example: source:nginx + table_id: + description: The unique identifier of the reference table. + example: 550e8400-e29b-41d4-a716-446655440000 type: string + required: + - key_field + - table_id type: object - LogsMetricResponseAttributes: - description: The object describing a Datadog log-based metric. + ObservabilityPipelineEnrichmentTableProcessorType: + default: enrichment_table + description: The processor type. The value should always be `enrichment_table`. + enum: + - enrichment_table + example: enrichment_table + type: string + x-enum-varnames: + - ENRICHMENT_TABLE + ObservabilityPipelineGeneratedMetric: + description: |- + Defines a log-based custom metric, including its name, type, filter, value computation strategy, + and optional grouping fields. properties: - compute: - $ref: '#/components/schemas/LogsMetricResponseCompute' - filter: - $ref: '#/components/schemas/LogsMetricResponseFilter' group_by: - description: The rules for the group by. + description: Optional fields used to group the metric series. + example: + - service + - env items: - $ref: '#/components/schemas/LogsMetricResponseGroupBy' + description: A log field name used to group the metric series. + type: string type: array + include: + description: Datadog filter query to match logs for metric generation. + example: service:billing + type: string + metric_type: + $ref: '#/components/schemas/ObservabilityPipelineGeneratedMetricMetricType' + name: + description: Name of the custom metric to be created. + example: logs.processed + type: string + value: + $ref: '#/components/schemas/ObservabilityPipelineMetricValue' + required: + - name + - include + - metric_type + - value type: object - LogsMetricID: - description: The name of the log-based metric. - example: logs.page.load.count + ObservabilityPipelineGenerateMetricsProcessorType: + default: generate_datadog_metrics + description: The processor type. Always `generate_datadog_metrics`. + enum: + - generate_datadog_metrics + example: generate_datadog_metrics type: string - LogsMetricType: - default: logs_metrics - description: The type of the resource. The value should always be logs_metrics. + x-enum-varnames: + - GENERATE_DATADOG_METRICS + ObservabilityPipelineGenerateMetricsV2ProcessorType: + default: generate_metrics + description: The processor type. Always `generate_metrics`. enum: - - logs_metrics - example: logs_metrics + - generate_metrics + example: generate_metrics type: string x-enum-varnames: - - LOGS_METRICS - LogsMetricCreateAttributes: - description: The object describing the Datadog log-based metric to create. + - GENERATE_METRICS + ObservabilityPipelineOcsfMapperProcessorMapping: + description: Defines how specific events are transformed to OCSF using a mapping configuration. properties: - compute: - $ref: '#/components/schemas/LogsMetricCompute' - filter: - $ref: '#/components/schemas/LogsMetricFilter' - group_by: - description: The rules for the group by. - items: - $ref: '#/components/schemas/LogsMetricGroupBy' - type: array + include: + description: A Datadog search query used to select the logs that this mapping should apply to. + example: service:my-service + type: string + mapping: + $ref: '#/components/schemas/ObservabilityPipelineOcsfMapperProcessorMappingMapping' required: - - compute + - include + - mapping type: object - LogsMetricUpdateAttributes: - description: The log-based metric properties that will be updated. + ObservabilityPipelineOcsfMapperProcessorType: + default: ocsf_mapper + description: The processor type. The value should always be `ocsf_mapper`. + enum: + - ocsf_mapper + example: ocsf_mapper + type: string + x-enum-varnames: + - OCSF_MAPPER + ObservabilityPipelineParseGrokProcessorRuleItem: + description: A single Grok parsing rule, selected by either source field or include query. properties: - compute: - $ref: '#/components/schemas/LogsMetricUpdateCompute' - filter: - $ref: '#/components/schemas/LogsMetricFilter' - group_by: - description: The rules for the group by. + match_rules: + description: |- + A list of Grok parsing rules that define how to extract fields from the source field. + Each rule must contain a name and a valid Grok pattern. + example: + - name: MyParsingRule + rule: '%{word:user} connected on %{date("MM/dd/yyyy"):date}' items: - $ref: '#/components/schemas/LogsMetricGroupBy' + $ref: '#/components/schemas/ObservabilityPipelineParseGrokProcessorRuleMatchRule' type: array - type: object - LogAttributes: - description: JSON object containing all log attributes and their associated values. - properties: - attributes: - additionalProperties: {} - description: JSON object of attributes from your log. - example: - customAttribute: 123 - duration: 2345 - type: object - host: - description: Name of the machine from where the logs are being sent. - example: i-0123 - type: string - message: - description: >- - The message [reserved - attribute](https://docs.datadoghq.com/logs/log_collection/#reserved-attributes) - - of your log. By default, Datadog ingests the value of the message - attribute as the body of the log entry. - - That value is then highlighted and displayed in the Logstream, where - it is indexed for full text search. - example: Host connected to remote - type: string - service: - description: >- - The name of the application or service generating the log events. - - It is used to switch from Logs to APM, so make sure you define the - same - - value when you use both products. - example: agent - type: string - status: - description: Status of the message associated with your log. - example: INFO + source: + description: The value of the source field in log events to be processed by the Grok rules. + example: message type: string - tags: - description: Array of tags associated with your log. + support_rules: + description: A list of Grok helper rules that can be referenced by the parsing rules. example: - - team:A + - name: user + rule: '%{word:user.name}' items: - description: Tag associated with your log. - type: string + $ref: '#/components/schemas/ObservabilityPipelineParseGrokProcessorRuleSupportRule' type: array - timestamp: - description: Timestamp of your log. - example: '2019-01-02T09:42:36.320Z' - format: date-time + include: + description: A Datadog search query used to determine which logs this Grok rule targets. + example: service:my-service type: string + required: + - source + - match_rules + - include type: object - LogType: - default: log - description: Type of the event. + ObservabilityPipelineParseGrokProcessorType: + default: parse_grok + description: The processor type. The value should always be `parse_grok`. enum: - - log - example: log + - parse_grok + example: parse_grok type: string x-enum-varnames: - - LOG - LogsGroupByMissingString: - description: The missing value to use if there is string valued facet. - type: string - LogsGroupByMissingNumber: - description: The missing value to use if there is a number valued facet. - format: double - type: number - LogsSortOrder: - description: The order to use, ascending or descending + - PARSE_GROK + ObservabilityPipelineParseJSONProcessorType: + default: parse_json + description: The processor type. The value should always be `parse_json`. enum: - - asc - - desc - example: asc + - parse_json + example: parse_json type: string x-enum-varnames: - - ASCENDING - - DESCENDING - LogsAggregateSortType: - default: alphabetical - description: The type of sorting algorithm + - PARSE_JSON + ObservabilityPipelineParseXMLProcessorType: + default: parse_xml + description: The processor type. The value should always be `parse_xml`. enum: - - alphabetical - - measure + - parse_xml + example: parse_xml type: string x-enum-varnames: - - ALPHABETICAL - - MEASURE - LogsGroupByTotalBoolean: - description: If set to true, creates an additional bucket labeled "$facet_total" - type: boolean - LogsGroupByTotalString: - description: A string to use as the key value for the total bucket - type: string - LogsGroupByTotalNumber: - description: A number to use as the key value for the total bucket - format: double - type: number - LogsAggregateBucketValue: - description: A bucket value, can be either a timeseries or a single value - oneOf: - - $ref: '#/components/schemas/LogsAggregateBucketValueSingleString' - - $ref: '#/components/schemas/LogsAggregateBucketValueSingleNumber' - - $ref: '#/components/schemas/LogsAggregateBucketValueTimeseries' - LogsArchiveDestination: - description: An archive's destination. - nullable: true - oneOf: - - $ref: '#/components/schemas/LogsArchiveDestinationAzure' - - $ref: '#/components/schemas/LogsArchiveDestinationGCS' - - $ref: '#/components/schemas/LogsArchiveDestinationS3' + - PARSE_XML + ObservabilityPipelineQuotaProcessorLimit: + description: The maximum amount of data or number of events allowed before the quota is enforced. Can be specified in bytes or events. + properties: + enforce: + $ref: '#/components/schemas/ObservabilityPipelineQuotaProcessorLimitEnforceType' + limit: + description: The limit for quota enforcement. + example: 1000 + format: int64 + type: integer + required: + - enforce + - limit type: object - LogsArchiveState: - description: The state of the archive. + ObservabilityPipelineQuotaProcessorOverflowAction: + description: |- + The action to take when the quota or bucket limit is exceeded. Options: + - `drop`: Drop the event. + - `no_action`: Let the event pass through. + - `overflow_routing`: Route to an overflow destination. enum: - - UNKNOWN - - WORKING - - FAILING - - WORKING_AUTH_LEGACY - example: WORKING + - drop + - no_action + - overflow_routing + example: drop type: string x-enum-varnames: - - UNKNOWN - - WORKING - - FAILING - - WORKING_AUTH_LEGACY - LogsArchiveCreateRequestDestination: - description: An archive's destination. - oneOf: - - $ref: '#/components/schemas/LogsArchiveDestinationAzure' - - $ref: '#/components/schemas/LogsArchiveDestinationGCS' - - $ref: '#/components/schemas/LogsArchiveDestinationS3' - RelationshipToPermissions: - description: Relationship to multiple permissions objects. + - DROP + - NO_ACTION + - OVERFLOW_ROUTING + ObservabilityPipelineQuotaProcessorOverride: + description: Defines a custom quota limit that applies to specific log events based on matching field values. properties: - data: - description: Relationships to permission objects. + fields: + description: A list of field matchers used to apply a specific override. If an event matches all listed key-value pairs, the corresponding override limit is enforced. items: - $ref: '#/components/schemas/RelationshipToPermissionData' + $ref: '#/components/schemas/ObservabilityPipelineFieldValue' type: array + limit: + $ref: '#/components/schemas/ObservabilityPipelineQuotaProcessorLimit' + required: + - fields + - limit type: object - CustomDestinationAttributeTagsRestrictionListType: - default: ALLOW_LIST - description: >- - How `forward_tags_restriction_list` parameter should be interpreted. - - If `ALLOW_LIST`, then only tags whose keys on the forwarded logs match - the ones on the restriction list - - are forwarded. - - - `BLOCK_LIST` works the opposite way. It does not forward the tags - matching the ones on the list. + ObservabilityPipelineQuotaProcessorType: + default: quota + description: The processor type. The value should always be `quota`. enum: - - ALLOW_LIST - - BLOCK_LIST - example: ALLOW_LIST + - quota + example: quota type: string x-enum-varnames: - - ALLOW_LIST - - BLOCK_LIST - CustomDestinationResponseForwardDestination: - description: A custom destination's location to forward logs. - oneOf: - - $ref: '#/components/schemas/CustomDestinationResponseForwardDestinationHttp' - - $ref: >- - #/components/schemas/CustomDestinationResponseForwardDestinationSplunk - - $ref: >- - #/components/schemas/CustomDestinationResponseForwardDestinationElasticsearch - - $ref: >- - #/components/schemas/CustomDestinationResponseForwardDestinationMicrosoftSentinel - CustomDestinationForwardDestination: - description: A custom destination's location to forward logs. - oneOf: - - $ref: '#/components/schemas/CustomDestinationForwardDestinationHttp' - - $ref: '#/components/schemas/CustomDestinationForwardDestinationSplunk' - - $ref: >- - #/components/schemas/CustomDestinationForwardDestinationElasticsearch - - $ref: >- - #/components/schemas/CustomDestinationForwardDestinationMicrosoftSentinel - LogsMetricResponseCompute: - description: The compute rule to compute the log-based metric. + - QUOTA + ObservabilityPipelineReduceProcessorMergeStrategy: + description: Defines how a specific field should be merged across grouped events. properties: - aggregation_type: - $ref: '#/components/schemas/LogsMetricResponseComputeAggregationType' - include_percentiles: - $ref: '#/components/schemas/LogsMetricComputeIncludePercentiles' path: - description: >- - The path to the value the log-based metric will aggregate on (only - used if the aggregation type is a "distribution"). - example: '@duration' - type: string - type: object - LogsMetricResponseFilter: - description: >- - The log-based metric filter. Logs matching this filter will be - aggregated in this metric. - properties: - query: - description: The search query - following the log search syntax. - example: service:web* AND @http.status_code:[200 TO 299] + description: The field path in the log event. + example: log.user.roles type: string + strategy: + $ref: '#/components/schemas/ObservabilityPipelineReduceProcessorMergeStrategyStrategy' + required: + - path + - strategy type: object - LogsMetricResponseGroupBy: - description: A group by rule. + ObservabilityPipelineReduceProcessorType: + default: reduce + description: The processor type. The value should always be `reduce`. + enum: + - reduce + example: reduce + type: string + x-enum-varnames: + - REDUCE + ObservabilityPipelineRemoveFieldsProcessorType: + default: remove_fields + description: The processor type. The value should always be `remove_fields`. + enum: + - remove_fields + example: remove_fields + type: string + x-enum-varnames: + - REMOVE_FIELDS + ObservabilityPipelineRenameFieldsProcessorField: + description: Defines how to rename a field in log events. properties: - path: - description: The path to the value the log-based metric will be aggregated over. - example: '@http.status_code' - type: string - tag_name: - description: >- - Eventual name of the tag that gets created. By default, the path - attribute is used as the tag name. - example: status_code + destination: + description: The field name to assign the renamed value to. + example: destination_field type: string - type: object - LogsMetricCompute: - description: The compute rule to compute the log-based metric. - properties: - aggregation_type: - $ref: '#/components/schemas/LogsMetricComputeAggregationType' - include_percentiles: - $ref: '#/components/schemas/LogsMetricComputeIncludePercentiles' - path: - description: >- - The path to the value the log-based metric will aggregate on (only - used if the aggregation type is a "distribution"). - example: '@duration' + preserve_source: + description: Indicates whether the original field, that is received from the source, should be kept (`true`) or removed (`false`) after renaming. + example: false + type: boolean + source: + description: The original field name in the log event that should be renamed. + example: source_field type: string required: - - aggregation_type + - source + - destination + - preserve_source type: object - LogsMetricFilter: - description: >- - The log-based metric filter. Logs matching this filter will be - aggregated in this metric. + ObservabilityPipelineRenameFieldsProcessorType: + default: rename_fields + description: The processor type. The value should always be `rename_fields`. + enum: + - rename_fields + example: rename_fields + type: string + x-enum-varnames: + - RENAME_FIELDS + ObservabilityPipelineSampleProcessorType: + default: sample + description: The processor type. The value should always be `sample`. + enum: + - sample + example: sample + type: string + x-enum-varnames: + - SAMPLE + ObservabilityPipelineSensitiveDataScannerProcessorRule: + description: Defines a rule for detecting sensitive data, including matching pattern, scope, and the action to take. properties: - query: - default: '*' - description: The search query - following the log search syntax. - example: service:web* AND @http.status_code:[200 TO 299] + keyword_options: + $ref: '#/components/schemas/ObservabilityPipelineSensitiveDataScannerProcessorKeywordOptions' + name: + description: A name identifying the rule. + example: Redact Credit Card Numbers type: string + on_match: + $ref: '#/components/schemas/ObservabilityPipelineSensitiveDataScannerProcessorAction' + pattern: + $ref: '#/components/schemas/ObservabilityPipelineSensitiveDataScannerProcessorPattern' + scope: + $ref: '#/components/schemas/ObservabilityPipelineSensitiveDataScannerProcessorScope' + tags: + description: Tags assigned to this rule for filtering and classification. + example: + - pii + - ccn + items: + description: A tag string used to classify and filter this sensitive data rule. + type: string + type: array + required: + - name + - pattern + - scope + - on_match type: object - LogsMetricGroupBy: - description: A group by rule. + ObservabilityPipelineSensitiveDataScannerProcessorType: + default: sensitive_data_scanner + description: The processor type. The value should always be `sensitive_data_scanner`. + enum: + - sensitive_data_scanner + example: sensitive_data_scanner + type: string + x-enum-varnames: + - SENSITIVE_DATA_SCANNER + ObservabilityPipelineSplitArrayProcessorArrayConfig: + description: Configuration for a single array split operation. properties: - path: - description: The path to the value the log-based metric will be aggregated over. - example: '@http.status_code' + field: + description: The path to the array field to split. + example: tags type: string - tag_name: - description: >- - Eventual name of the tag that gets created. By default, the path - attribute is used as the tag name. - example: status_code + include: + description: A Datadog search query used to determine which logs this array split operation targets. + example: '*' type: string required: - - path + - include + - field type: object - LogsMetricUpdateCompute: - description: The compute rule to compute the log-based metric. + ObservabilityPipelineSplitArrayProcessorType: + default: split_array + description: The processor type. The value should always be `split_array`. + enum: + - split_array + example: split_array + type: string + x-enum-varnames: + - SPLIT_ARRAY + ObservabilityPipelineThrottleProcessorType: + default: throttle + description: The processor type. The value should always be `throttle`. + enum: + - throttle + example: throttle + type: string + x-enum-varnames: + - THROTTLE + ObservabilityPipelineAddMetricTagsProcessorType: + default: add_metric_tags + description: The processor type. The value must be `add_metric_tags`. + enum: + - add_metric_tags + example: add_metric_tags + type: string + x-enum-varnames: + - ADD_METRIC_TAGS + ObservabilityPipelineAggregateProcessorMode: + description: The aggregation mode applied to metrics that share the same name and tags within the interval. + enum: + - auto + - sum + - latest + - count + - max + - min + - mean + example: auto + type: string + x-enum-varnames: + - AUTO + - SUM + - LATEST + - COUNT + - MAX + - MIN + - MEAN + ObservabilityPipelineAggregateProcessorType: + default: aggregate + description: The processor type. The value must be `aggregate`. + enum: + - aggregate + example: aggregate + type: string + x-enum-varnames: + - AGGREGATE + ObservabilityPipelineMetricTagsProcessorRule: + description: Defines a rule for filtering metric tags based on key patterns. properties: - include_percentiles: - $ref: '#/components/schemas/LogsMetricComputeIncludePercentiles' + action: + $ref: '#/components/schemas/ObservabilityPipelineMetricTagsProcessorRuleAction' + include: + description: A Datadog search query used to determine which metrics this rule targets. + example: '*' + type: string + keys: + description: A list of tag keys to include or exclude. + example: + - env + - service + - version + items: + description: A metric tag key to include or exclude based on the action. + type: string + type: array + mode: + $ref: '#/components/schemas/ObservabilityPipelineMetricTagsProcessorRuleMode' + required: + - include + - mode + - action + - keys type: object - LogsAggregateBucketValueSingleString: - description: A single string value + ObservabilityPipelineMetricTagsProcessorType: + default: metric_tags + description: The processor type. The value should always be `metric_tags`. + enum: + - metric_tags + example: metric_tags type: string - LogsAggregateBucketValueSingleNumber: - description: A single number value - format: double - type: number - LogsAggregateBucketValueTimeseries: - description: A timeseries array - items: - $ref: '#/components/schemas/LogsAggregateBucketValueTimeseriesPoint' - type: array - x-generate-alias-as-model: true - LogsArchiveDestinationAzure: - description: The Azure archive destination. + x-enum-varnames: + - METRIC_TAGS + ObservabilityPipelineRenameMetricTagsProcessorTag: + description: Defines how to rename a tag on metric events. properties: - container: - description: The container where the archive will be stored. - example: container-name - type: string - integration: - $ref: '#/components/schemas/LogsArchiveIntegrationAzure' - path: - description: The archive path. + rename_to: + description: The new tag key to assign in place of the original. + example: destination_tag type: string - region: - description: The region where the archive will be stored. - type: string - storage_account: - description: The associated storage account. - example: account-name + tag: + description: The original tag key on the metric event. + example: source_tag type: string - type: - $ref: '#/components/schemas/LogsArchiveDestinationAzureType' required: - - storage_account - - container - - integration - - type + - tag + - rename_to type: object - LogsArchiveDestinationGCS: - description: The GCS archive destination. + ObservabilityPipelineRenameMetricTagsProcessorType: + default: rename_metric_tags + description: The processor type. The value must be `rename_metric_tags`. + enum: + - rename_metric_tags + example: rename_metric_tags + type: string + x-enum-varnames: + - RENAME_METRIC_TAGS + ObservabilityPipelineTagCardinalityLimitProcessorAction: + description: The action to take when the cardinality limit is exceeded. + enum: + - drop_tag + - drop_event + example: drop_tag + type: string + x-enum-varnames: + - DROP_TAG + - DROP_EVENT + ObservabilityPipelineTagCardinalityLimitProcessorPerMetricLimit: + description: A cardinality override applied to a specific metric. properties: - bucket: - description: The bucket where the archive will be stored. - example: bucket-name - type: string - integration: - $ref: '#/components/schemas/LogsArchiveIntegrationGCS' - path: - description: The archive path. + limit_exceeded_action: + $ref: '#/components/schemas/ObservabilityPipelineTagCardinalityLimitProcessorAction' + metric_name: + description: The name of the metric this override applies to. + example: system.cpu.user type: string - type: - $ref: '#/components/schemas/LogsArchiveDestinationGCSType' + override_type: + $ref: '#/components/schemas/ObservabilityPipelineTagCardinalityLimitProcessorOverrideType' + per_tag_limits: + description: A list of per-tag cardinality overrides that apply within this metric. Must be omitted when `override_type` is `excluded`. + items: + $ref: '#/components/schemas/ObservabilityPipelineTagCardinalityLimitProcessorPerTagLimit' + maxItems: 50 + type: array + value_limit: + description: The maximum number of distinct tag value combinations allowed for this metric. Required when `override_type` is `limit_override`. Must be omitted when `override_type` is `excluded`. + example: 10000 + format: int64 + maximum: 1000000 + minimum: 0 + type: integer required: - - bucket - - integration - - type + - metric_name + - override_type type: object - LogsArchiveDestinationS3: - description: The S3 archive destination. + ObservabilityPipelineTagCardinalityLimitProcessorTrackingMode: + description: Controls whether the processor uses exact or probabilistic tag tracking. properties: - bucket: - description: The bucket where the archive will be stored. - example: bucket-name - type: string - encryption: - $ref: '#/components/schemas/LogsArchiveEncryptionS3' - integration: - $ref: '#/components/schemas/LogsArchiveIntegrationS3' - path: - description: The archive path. - type: string - storage_class: - $ref: '#/components/schemas/LogsArchiveStorageClassS3Type' - type: - $ref: '#/components/schemas/LogsArchiveDestinationS3Type' + mode: + $ref: '#/components/schemas/ObservabilityPipelineTagCardinalityLimitProcessorTrackingModeMode' required: - - bucket - - integration - - type + - mode type: object - RelationshipToPermissionData: - description: Relationship to permission object. + ObservabilityPipelineTagCardinalityLimitProcessorType: + default: tag_cardinality_limit + description: The processor type. The value must be `tag_cardinality_limit`. + enum: + - tag_cardinality_limit + example: tag_cardinality_limit + type: string + x-enum-varnames: + - TAG_CARDINALITY_LIMIT + ObservabilityPipelineSourceValidTokenFieldToAdd: + description: |- + An optional metadata field that is attached to every event authenticated by the + associated token. Both `key` and `value` must match `^[A-Za-z0-9_]+$`. properties: - id: - description: ID of the permission. + key: + description: The metadata field name to add to incoming events. + example: token_name + maxLength: 256 + pattern: ^[A-Za-z0-9_]+$ type: string - type: - $ref: '#/components/schemas/PermissionsType' + value: + description: The metadata field value to add to incoming events. + example: my_token + maxLength: 1024 + pattern: ^[A-Za-z0-9_]+$ + type: string + required: + - key + - value type: object - CustomDestinationResponseForwardDestinationHttp: - description: The HTTP destination. + ObservabilityPipelineHttpServerSourceValidTokenPathToToken: + description: |- + Specifies where the worker extracts the token from in the incoming HTTP request. + This can be either a built-in location (`path` or `address`) or an HTTP header object. + enum: + - path + - address + example: path + type: string + x-enum-varnames: + - PATH + - ADDRESS properties: - auth: - $ref: '#/components/schemas/CustomDestinationResponseHttpDestinationAuth' - endpoint: - description: >- - The destination for which logs will be forwarded to. - - Must have HTTPS scheme and forwarding back to Datadog is not - allowed. - example: https://example.com + header: + description: The name of the HTTP header that carries the token. + example: X-Token type: string - type: - $ref: >- - #/components/schemas/CustomDestinationResponseForwardDestinationHttpType required: - - type - - endpoint - - auth + - header + ObservabilityPipelineSocketSourceFramingNewlineDelimited: + description: Byte frames which are delimited by a newline character. + properties: + method: + $ref: '#/components/schemas/ObservabilityPipelineSocketSourceFramingNewlineDelimitedMethod' + required: + - method type: object - CustomDestinationResponseForwardDestinationSplunk: - description: The Splunk HTTP Event Collector (HEC) destination. + ObservabilityPipelineSocketSourceFramingBytes: + description: Byte frames are passed through as-is according to the underlying I/O boundaries (for example, split between messages or stream segments). properties: - endpoint: - description: >- - The destination for which logs will be forwarded to. - - Must have HTTPS scheme and forwarding back to Datadog is not - allowed. - example: https://example.com - type: string - type: - $ref: >- - #/components/schemas/CustomDestinationResponseForwardDestinationSplunkType + method: + $ref: '#/components/schemas/ObservabilityPipelineSocketSourceFramingBytesMethod' required: - - type - - endpoint + - method type: object - CustomDestinationResponseForwardDestinationElasticsearch: - description: The Elasticsearch destination. + ObservabilityPipelineSocketSourceFramingCharacterDelimited: + description: Byte frames which are delimited by a chosen character. properties: - auth: - $ref: >- - #/components/schemas/CustomDestinationResponseElasticsearchDestinationAuth - endpoint: - description: >- - The destination for which logs will be forwarded to. - - Must have HTTPS scheme and forwarding back to Datadog is not - allowed. - example: https://example.com - type: string - index_name: - description: >- - Name of the Elasticsearch index (must follow [Elasticsearch's - criteria](https://www.elastic.co/guide/en/elasticsearch/reference/8.11/indices-create-index.html#indices-create-api-path-params)). - example: nginx-logs - type: string - index_rotation: - description: >- - Date pattern with US locale and UTC timezone to be appended to the - index name after adding `-` - - (that is, `${index_name}-${indexPattern}`). - - You can customize the index rotation naming pattern by choosing one - of these options: - - - Hourly: `yyyy-MM-dd-HH` (as an example, it would render: - `2022-10-19-09`) - - - Daily: `yyyy-MM-dd` (as an example, it would render: `2022-10-19`) - - - Weekly: `yyyy-'W'ww` (as an example, it would render: `2022-W42`) - - - Monthly: `yyyy-MM` (as an example, it would render: `2022-10`) - - - If this field is missing or is blank, it means that the index name - will always be the same - - (that is, no rotation). - example: yyyy-MM-dd + delimiter: + description: A single ASCII character used to delimit events. + example: '|' + maxLength: 1 + minLength: 1 type: string - type: - $ref: >- - #/components/schemas/CustomDestinationResponseForwardDestinationElasticsearchType + method: + $ref: '#/components/schemas/ObservabilityPipelineSocketSourceFramingCharacterDelimitedMethod' required: - - type - - endpoint - - auth - - index_name + - method + - delimiter type: object - CustomDestinationResponseForwardDestinationMicrosoftSentinel: - description: The Microsoft Sentinel destination. + ObservabilityPipelineSocketSourceFramingOctetCounting: + description: Byte frames according to the octet counting format as per RFC6587. properties: - client_id: - description: Client ID from the Datadog Azure integration. - example: 9a2f4d83-2b5e-429e-a35a-2b3c4182db71 - type: string - data_collection_endpoint: - description: Azure data collection endpoint. - example: https://my-dce-5kyl.eastus-1.ingest.monitor.azure.com - type: string - data_collection_rule_id: - description: Azure data collection rule ID. - example: dcr-000a00a000a00000a000000aa000a0aa - type: string - stream_name: - description: Azure stream name. - example: Custom-MyTable - type: string - writeOnly: true - tenant_id: - description: Tenant ID from the Datadog Azure integration. - example: f3c9a8a1-4c2e-4d2e-b911-9f3c28c3c8b2 - type: string - type: - $ref: >- - #/components/schemas/CustomDestinationResponseForwardDestinationMicrosoftSentinelType + method: + $ref: '#/components/schemas/ObservabilityPipelineSocketSourceFramingOctetCountingMethod' required: - - type - - tenant_id - - client_id - - data_collection_endpoint - - data_collection_rule_id - - stream_name + - method type: object - CustomDestinationForwardDestinationHttp: - description: The HTTP destination. + ObservabilityPipelineSocketSourceFramingChunkedGelf: + description: Byte frames which are chunked GELF messages. properties: - auth: - $ref: '#/components/schemas/CustomDestinationHttpDestinationAuth' - endpoint: - description: >- - The destination for which logs will be forwarded to. - - Must have HTTPS scheme and forwarding back to Datadog is not - allowed. - example: https://example.com - type: string - type: - $ref: '#/components/schemas/CustomDestinationForwardDestinationHttpType' + method: + $ref: '#/components/schemas/ObservabilityPipelineSocketSourceFramingChunkedGelfMethod' required: - - type - - endpoint - - auth + - method type: object - CustomDestinationForwardDestinationSplunk: - description: The Splunk HTTP Event Collector (HEC) destination. + ObservabilityPipelineWebsocketSourceTlsEnabled: + description: TLS configuration that enables encryption without a client certificate. Use this for standard `wss://` connections that do not require mutual TLS. + properties: + mode: + $ref: '#/components/schemas/ObservabilityPipelineWebsocketSourceTlsEnabledMode' + required: + - mode + type: object + ObservabilityPipelineWebsocketSourceTlsWithClientCert: + description: TLS configuration that enables encryption and presents a client certificate for mutual TLS authentication. properties: - access_token: - description: >- - Access token of the Splunk HTTP Event Collector. This field is not - returned by the API. - example: splunk_access_token + ca_file: + description: Path to the Certificate Authority (CA) file used to validate the remote server's TLS certificate. + example: /path/to/ca.crt type: string - writeOnly: true - endpoint: - description: >- - The destination for which logs will be forwarded to. - - Must have HTTPS scheme and forwarding back to Datadog is not - allowed. - example: https://example.com + crt_file: + description: Path to the TLS client certificate file used to identify this source to the remote server. + example: /path/to/client.crt type: string - type: - $ref: '#/components/schemas/CustomDestinationForwardDestinationSplunkType' + key_file: + description: Path to the private key file associated with the client certificate. + example: /path/to/client.key + type: string + key_pass_key: + description: Name of the environment variable or secret that holds the passphrase for the private key file. + example: WS_TLS_KEY_PASSPHRASE + type: string + mode: + $ref: '#/components/schemas/ObservabilityPipelineWebsocketSourceTlsWithClientCertMode' required: - - type - - endpoint - - access_token + - mode + - crt_file type: object - CustomDestinationForwardDestinationElasticsearch: - description: The Elasticsearch destination. + ObservabilityPipelineBufferOptionsDiskType: + default: disk + description: The type of the buffer that will be configured, a disk buffer. + enum: + - disk + type: string + x-enum-varnames: + - DISK + ObservabilityPipelineBufferOptionsWhenFull: + default: block + description: Behavior when the buffer is full (block and stop accepting new events, or drop new events) + enum: + - block + - drop_newest + type: string + x-enum-varnames: + - BLOCK + - DROP_NEWEST + ObservabilityPipelineBufferOptionsMemoryType: + default: memory + description: The type of the buffer that will be configured, a memory buffer. + enum: + - memory + type: string + x-enum-varnames: + - MEMORY + ObservabilityPipelineAmazonS3GenericCompressionZstdType: + default: zstd + description: The compression type. Always `zstd`. + enum: + - zstd + example: zstd + type: string + x-enum-varnames: + - ZSTD + ObservabilityPipelineAmazonS3GenericCompressionGzipType: + default: gzip + description: The compression type. Always `gzip`. + enum: + - gzip + example: gzip + type: string + x-enum-varnames: + - GZIP + ObservabilityPipelineAmazonS3GenericCompressionSnappyType: + default: snappy + description: The compression type. Always `snappy`. + enum: + - snappy + example: snappy + type: string + x-enum-varnames: + - SNAPPY + ObservabilityPipelineAmazonS3GenericEncodingJsonType: + default: json + description: The encoding type. Always `json`. + enum: + - json + example: json + type: string + x-enum-varnames: + - JSON + ObservabilityPipelineAmazonS3GenericEncodingParquetType: + default: parquet + description: The encoding type. Always `parquet`. + enum: + - parquet + example: parquet + type: string + x-enum-varnames: + - PARQUET + ObservabilityPipelineSocketDestinationFramingNewlineDelimitedMethod: + description: The definition of `ObservabilityPipelineSocketDestinationFramingNewlineDelimitedMethod` object. + enum: + - newline_delimited + example: newline_delimited + type: string + x-enum-varnames: + - NEWLINE_DELIMITED + ObservabilityPipelineSocketDestinationFramingBytesMethod: + description: The definition of `ObservabilityPipelineSocketDestinationFramingBytesMethod` object. + enum: + - bytes + example: bytes + type: string + x-enum-varnames: + - BYTES + ObservabilityPipelineSocketDestinationFramingCharacterDelimitedMethod: + description: The definition of `ObservabilityPipelineSocketDestinationFramingCharacterDelimitedMethod` object. + enum: + - character_delimited + example: character_delimited + type: string + x-enum-varnames: + - CHARACTER_DELIMITED + ObservabilityPipelineEnrichmentTableFileEncoding: + description: File encoding format. properties: - auth: - $ref: '#/components/schemas/CustomDestinationElasticsearchDestinationAuth' - endpoint: - description: >- - The destination for which logs will be forwarded to. - - Must have HTTPS scheme and forwarding back to Datadog is not - allowed. - example: https://example.com - type: string - index_name: - description: >- - Name of the Elasticsearch index (must follow [Elasticsearch's - criteria](https://www.elastic.co/guide/en/elasticsearch/reference/8.11/indices-create-index.html#indices-create-api-path-params)). - example: nginx-logs - type: string - index_rotation: - description: >- - Date pattern with US locale and UTC timezone to be appended to the - index name after adding `-` - - (that is, `${index_name}-${indexPattern}`). - - You can customize the index rotation naming pattern by choosing one - of these options: - - - Hourly: `yyyy-MM-dd-HH` (as an example, it would render: - `2022-10-19-09`) - - - Daily: `yyyy-MM-dd` (as an example, it would render: `2022-10-19`) - - - Weekly: `yyyy-'W'ww` (as an example, it would render: `2022-W42`) - - - Monthly: `yyyy-MM` (as an example, it would render: `2022-10`) - - - If this field is missing or is blank, it means that the index name - will always be the same - - (that is, no rotation). - example: yyyy-MM-dd + delimiter: + description: The `encoding` `delimiter`. + example: ',' type: string + includes_headers: + description: The `encoding` `includes_headers`. + example: true + type: boolean type: - $ref: >- - #/components/schemas/CustomDestinationForwardDestinationElasticsearchType + $ref: '#/components/schemas/ObservabilityPipelineEnrichmentTableFileEncodingType' required: - type - - endpoint - - auth - - index_name + - delimiter + - includes_headers type: object - CustomDestinationForwardDestinationMicrosoftSentinel: - description: The Microsoft Sentinel destination. + ObservabilityPipelineEnrichmentTableFileKeyItems: + description: Defines how to map log fields to enrichment table columns during lookups. properties: - client_id: - description: Client ID from the Datadog Azure integration. - example: 9a2f4d83-2b5e-429e-a35a-2b3c4182db71 - type: string - data_collection_endpoint: - description: Azure data collection endpoint. - example: https://my-dce-5kyl.eastus-1.ingest.monitor.azure.com - type: string - data_collection_rule_id: - description: Azure data collection rule ID. - example: dcr-000a00a000a00000a000000aa000a0aa + column: + description: The `items` `column`. + example: user_id type: string - stream_name: - description: Azure stream name. - example: Custom-MyTable - type: string - writeOnly: true - tenant_id: - description: Tenant ID from the Datadog Azure integration. - example: f3c9a8a1-4c2e-4d2e-b911-9f3c28c3c8b2 + comparison: + $ref: '#/components/schemas/ObservabilityPipelineEnrichmentTableFileKeyItemsComparison' + field: + $ref: '#/components/schemas/ObservabilityPipelineEnrichmentTableFileKeyItemField' + required: + - column + - comparison + - field + type: object + ObservabilityPipelineEnrichmentTableFileSchemaItems: + description: Describes a single column and its type in an enrichment table schema. + properties: + column: + description: The `items` `column`. + example: region type: string type: - $ref: >- - #/components/schemas/CustomDestinationForwardDestinationMicrosoftSentinelType + $ref: '#/components/schemas/ObservabilityPipelineEnrichmentTableFileSchemaItemsType' required: + - column - type - - tenant_id - - client_id - - data_collection_endpoint - - data_collection_rule_id - - stream_name type: object - LogsMetricResponseComputeAggregationType: - description: The type of aggregation to use. + ObservabilityPipelineGeneratedMetricMetricType: + description: Type of metric to create. enum: - count + - gauge - distribution - example: distribution + example: count type: string x-enum-varnames: - COUNT + - GAUGE - DISTRIBUTION - LogsMetricComputeIncludePercentiles: - description: >- - Toggle to include or exclude percentile aggregations for distribution - metrics. - - Only present when the `aggregation_type` is `distribution`. - example: true - type: boolean - LogsMetricComputeAggregationType: - description: The type of aggregation to use. + ObservabilityPipelineMetricValue: + description: Specifies how the value of the generated metric is computed. + properties: + strategy: + $ref: '#/components/schemas/ObservabilityPipelineGeneratedMetricIncrementByOneStrategy' + field: + description: Name of the log field containing the numeric value to increment the metric by. + example: errors + type: string + required: + - strategy + - field + type: object + ObservabilityPipelineOcsfMapperProcessorMappingMapping: + description: Defines a single mapping rule for transforming logs into the OCSF schema. + example: CloudTrail Account Change enum: - - count - - distribution - example: distribution + - CloudTrail Account Change + - GCP Cloud Audit CreateBucket + - GCP Cloud Audit CreateSink + - GCP Cloud Audit SetIamPolicy + - GCP Cloud Audit UpdateSink + - Github Audit Log API Activity + - Google Workspace Admin Audit addPrivilege + - Microsoft 365 Defender Incident + - Microsoft 365 Defender UserLoggedIn + - Okta System Log Authentication + - Palo Alto Networks Firewall Traffic type: string x-enum-varnames: - - COUNT - - DISTRIBUTION - LogsAggregateBucketValueTimeseriesPoint: - description: A timeseries point + - CLOUDTRAIL_ACCOUNT_CHANGE + - GCP_CLOUD_AUDIT_CREATEBUCKET + - GCP_CLOUD_AUDIT_CREATESINK + - GCP_CLOUD_AUDIT_SETIAMPOLICY + - GCP_CLOUD_AUDIT_UPDATESINK + - GITHUB_AUDIT_LOG_API_ACTIVITY + - GOOGLE_WORKSPACE_ADMIN_AUDIT_ADDPRIVILEGE + - MICROSOFT_365_DEFENDER_INCIDENT + - MICROSOFT_365_DEFENDER_USERLOGGEDIN + - OKTA_SYSTEM_LOG_AUTHENTICATION + - PALO_ALTO_NETWORKS_FIREWALL_TRAFFIC properties: - time: - description: The time value for this point - example: '2020-06-08T11:55:00Z' + mapping: + description: A list of field mapping rules for transforming log fields to OCSF schema fields. + items: + $ref: '#/components/schemas/ObservabilityPipelineOcsfMappingCustomFieldMapping' + type: array + metadata: + $ref: '#/components/schemas/ObservabilityPipelineOcsfMappingCustomMetadata' + version: + description: The version of the custom mapping configuration. + example: 1 + format: int64 + type: integer + required: + - mapping + - metadata + - version + ObservabilityPipelineParseGrokProcessorRule: + description: |- + A Grok parsing rule used in the `parse_grok` processor. Each rule defines how to extract structured fields + from a specific log field using Grok patterns. + properties: + match_rules: + description: |- + A list of Grok parsing rules that define how to extract fields from the source field. + Each rule must contain a name and a valid Grok pattern. + example: + - name: MyParsingRule + rule: '%{word:user} connected on %{date("MM/dd/yyyy"):date}' + items: + $ref: '#/components/schemas/ObservabilityPipelineParseGrokProcessorRuleMatchRule' + type: array + source: + description: The value of the source field in log events to be processed by the Grok rules. + example: message type: string - value: - description: The value for this point - example: 19 - format: double - type: number + support_rules: + description: A list of Grok helper rules that can be referenced by the parsing rules. + example: + - name: user + rule: '%{word:user.name}' + items: + $ref: '#/components/schemas/ObservabilityPipelineParseGrokProcessorRuleSupportRule' + type: array + required: + - source + - match_rules type: object - LogsArchiveIntegrationAzure: - description: The Azure archive's integration destination. + ObservabilityPipelineParseGrokProcessorIncludeRule: + description: |- + A Grok parsing rule selected using the `include` query. Each rule defines how to extract structured fields + from logs matching a Datadog search query. properties: - client_id: - description: A client ID. - example: aaaaaaaa-1a1a-1a1a-1a1a-aaaaaaaaaaaa - type: string - tenant_id: - description: A tenant ID. - example: aaaaaaaa-1a1a-1a1a-1a1a-aaaaaaaaaaaa + include: + description: A Datadog search query used to determine which logs this Grok rule targets. + example: service:my-service type: string + match_rules: + description: |- + A list of Grok parsing rules that define how to extract fields from matching logs. + Each rule must contain a name and a valid Grok pattern. + example: + - name: MyParsingRule + rule: '%{word:user} connected on %{date("MM/dd/yyyy"):date}' + items: + $ref: '#/components/schemas/ObservabilityPipelineParseGrokProcessorRuleMatchRule' + type: array + support_rules: + description: A list of Grok helper rules that can be referenced by the parsing rules. + example: + - name: user + rule: '%{word:user.name}' + items: + $ref: '#/components/schemas/ObservabilityPipelineParseGrokProcessorRuleSupportRule' + type: array required: - - tenant_id - - client_id + - include + - match_rules type: object - LogsArchiveDestinationAzureType: - default: azure - description: Type of the Azure archive destination. + ObservabilityPipelineQuotaProcessorLimitEnforceType: + description: Unit for quota enforcement in bytes for data size or events for count. enum: - - azure - example: azure + - bytes + - events + example: bytes type: string x-enum-varnames: - - AZURE - LogsArchiveIntegrationGCS: - description: The GCS archive's integration destination. - properties: - client_email: - description: A client email. - example: youremail@example.com - type: string - project_id: - description: A project ID. - example: project-id - type: string - required: - - client_email - type: object - LogsArchiveDestinationGCSType: - default: gcs - description: Type of the GCS archive destination. + - BYTES + - EVENTS + ObservabilityPipelineReduceProcessorMergeStrategyStrategy: + description: The merge strategy to apply. enum: - - gcs - example: gcs + - discard + - retain + - sum + - max + - min + - array + - concat + - concat_newline + - concat_raw + - shortest_array + - longest_array + - flat_unique + example: flat_unique type: string x-enum-varnames: - - GCS - LogsArchiveEncryptionS3: - description: The S3 encryption settings. + - DISCARD + - RETAIN + - SUM + - MAX + - MIN + - ARRAY + - CONCAT + - CONCAT_NEWLINE + - CONCAT_RAW + - SHORTEST_ARRAY + - LONGEST_ARRAY + - FLAT_UNIQUE + ObservabilityPipelineSensitiveDataScannerProcessorKeywordOptions: + description: Configuration for keywords used to reinforce sensitive data pattern detection. properties: - key: - description: An Amazon Resource Name (ARN) used to identify an AWS KMS key. - example: arn:aws:kms:us-east-1:012345678901:key/DatadogIntegrationRoleKms - type: string + keywords: + description: A list of keywords to match near the sensitive pattern. + example: + - ssn + - card + - account + items: + description: A keyword string that reinforces detection when found near the sensitive pattern. + type: string + type: array + proximity: + description: Maximum number of tokens between a keyword and a sensitive value match. + example: 5 + format: int64 + type: integer + required: + - keywords + - proximity + type: object + ObservabilityPipelineSensitiveDataScannerProcessorAction: + description: Defines what action to take when sensitive data is matched. + properties: + action: + $ref: '#/components/schemas/ObservabilityPipelineSensitiveDataScannerProcessorActionRedactAction' + options: + $ref: '#/components/schemas/ObservabilityPipelineSensitiveDataScannerProcessorActionRedactOptions' + required: + - action + - options + type: object + ObservabilityPipelineSensitiveDataScannerProcessorPattern: + description: Pattern detection configuration for identifying sensitive data using either a custom regex or a library reference. + properties: + options: + $ref: '#/components/schemas/ObservabilityPipelineSensitiveDataScannerProcessorCustomPatternOptions' type: - $ref: '#/components/schemas/LogsArchiveEncryptionS3Type' + $ref: '#/components/schemas/ObservabilityPipelineSensitiveDataScannerProcessorCustomPatternType' required: - type + - options type: object - LogsArchiveIntegrationS3: - description: The S3 Archive's integration destination. + ObservabilityPipelineSensitiveDataScannerProcessorScope: + description: Determines which parts of the log the pattern-matching rule should be applied to. properties: - account_id: - description: The account ID for the integration. - example: '123456789012' + options: + $ref: '#/components/schemas/ObservabilityPipelineSensitiveDataScannerProcessorScopeOptions' + target: + $ref: '#/components/schemas/ObservabilityPipelineSensitiveDataScannerProcessorScopeIncludeTarget' + required: + - target + - options + type: object + ObservabilityPipelineMetricTagsProcessorRuleAction: + description: The action to take on tags with matching keys. + enum: + - include + - exclude + example: include + type: string + x-enum-varnames: + - INCLUDE + - EXCLUDE + ObservabilityPipelineMetricTagsProcessorRuleMode: + description: The processing mode for tag filtering. + enum: + - filter + example: filter + type: string + x-enum-varnames: + - FILTER + ObservabilityPipelineTagCardinalityLimitProcessorOverrideType: + description: How the override is applied. `limit_override` enforces a custom limit; `excluded` omits the metric or tag from cardinality tracking. + enum: + - limit_override + - excluded + example: limit_override + type: string + x-enum-varnames: + - LIMIT_OVERRIDE + - EXCLUDED + ObservabilityPipelineTagCardinalityLimitProcessorPerTagLimit: + description: A cardinality override for a specific tag key within a per-metric limit. + properties: + override_type: + $ref: '#/components/schemas/ObservabilityPipelineTagCardinalityLimitProcessorOverrideType' + tag_key: + description: The tag key this override applies to. + example: host type: string - role_name: - description: The path of the integration. - example: role-name + value_limit: + description: The maximum number of distinct values allowed for this tag. Required when `override_type` is `limit_override`. Must be omitted when `override_type` is `excluded`. + example: 5000 + format: int64 + maximum: 1000000 + minimum: 0 + type: integer + required: + - tag_key + - override_type + type: object + ObservabilityPipelineTagCardinalityLimitProcessorTrackingModeMode: + description: The cardinality tracking algorithm to use. + enum: + - exact_fingerprint + - probabilistic + example: exact_fingerprint + type: string + x-enum-varnames: + - EXACT_FINGERPRINT + - PROBABILISTIC + ObservabilityPipelineHttpServerSourceValidTokenPathToTokenLocation: + description: Built-in token location on the incoming HTTP request. + enum: + - path + - address + example: path + type: string + x-enum-varnames: + - PATH + - ADDRESS + ObservabilityPipelineHttpServerSourceValidTokenPathToTokenHeader: + description: Extract the token from a specific HTTP request header. + properties: + header: + description: The name of the HTTP header that carries the token. + example: X-Token type: string required: - - role_name - - account_id + - header type: object - LogsArchiveStorageClassS3Type: - default: STANDARD - description: The storage class where the archive will be stored. + ObservabilityPipelineSocketSourceFramingNewlineDelimitedMethod: + description: Byte frames which are delimited by a newline character. enum: - - STANDARD - - STANDARD_IA - - ONEZONE_IA - - INTELLIGENT_TIERING - - GLACIER_IR - example: STANDARD + - newline_delimited + example: newline_delimited type: string x-enum-varnames: - - STANDARD - - STANDARD_IA - - ONEZONE_IA - - INTELLIGENT_TIERING - - GLACIER_IR - LogsArchiveDestinationS3Type: - default: s3 - description: Type of the S3 archive destination. + - NEWLINE_DELIMITED + ObservabilityPipelineSocketSourceFramingBytesMethod: + description: Byte frames are passed through as-is according to the underlying I/O boundaries (for example, split between messages or stream segments). enum: - - s3 - example: s3 + - bytes + example: bytes type: string x-enum-varnames: - - S3 - PermissionsType: - default: permissions - description: Permissions resource type. + - BYTES + ObservabilityPipelineSocketSourceFramingCharacterDelimitedMethod: + description: Byte frames which are delimited by a chosen character. enum: - - permissions - example: permissions + - character_delimited + example: character_delimited type: string x-enum-varnames: - - PERMISSIONS - CustomDestinationResponseHttpDestinationAuth: - description: Authentication method of the HTTP requests. - oneOf: - - $ref: >- - #/components/schemas/CustomDestinationResponseHttpDestinationAuthBasic - - $ref: >- - #/components/schemas/CustomDestinationResponseHttpDestinationAuthCustomHeader - CustomDestinationResponseForwardDestinationHttpType: - default: http - description: Type of the HTTP destination. + - CHARACTER_DELIMITED + ObservabilityPipelineSocketSourceFramingOctetCountingMethod: + description: Byte frames according to the octet counting format as per RFC6587. enum: - - http - example: http + - octet_counting + example: octet_counting type: string x-enum-varnames: - - HTTP - CustomDestinationResponseForwardDestinationSplunkType: - default: splunk_hec - description: Type of the Splunk HTTP Event Collector (HEC) destination. + - OCTET_COUNTING + ObservabilityPipelineSocketSourceFramingChunkedGelfMethod: + description: Byte frames which are chunked GELF messages. enum: - - splunk_hec - example: splunk_hec + - chunked_gelf + example: chunked_gelf type: string x-enum-varnames: - - SPLUNK_HEC - CustomDestinationResponseElasticsearchDestinationAuth: - additionalProperties: - description: Basic access authentication. - description: Basic access authentication. - type: object - CustomDestinationResponseForwardDestinationElasticsearchType: - default: elasticsearch - description: Type of the Elasticsearch destination. + - CHUNKED_GELF + ObservabilityPipelineWebsocketSourceTlsEnabledMode: + description: TLS mode. Must be `enabled`. enum: - - elasticsearch - example: elasticsearch + - enabled + example: enabled type: string x-enum-varnames: - - ELASTICSEARCH - CustomDestinationResponseForwardDestinationMicrosoftSentinelType: - default: microsoft_sentinel - description: Type of the Microsoft Sentinel destination. + - ENABLED + ObservabilityPipelineWebsocketSourceTlsWithClientCertMode: + description: TLS mode. Must be `with_client_cert`. enum: - - microsoft_sentinel - example: microsoft_sentinel + - with_client_cert + example: with_client_cert type: string x-enum-varnames: - - MICROSOFT_SENTINEL - CustomDestinationHttpDestinationAuth: - description: Authentication method of the HTTP requests. - oneOf: - - $ref: '#/components/schemas/CustomDestinationHttpDestinationAuthBasic' - - $ref: >- - #/components/schemas/CustomDestinationHttpDestinationAuthCustomHeader - CustomDestinationForwardDestinationHttpType: - default: http - description: Type of the HTTP destination. + - WITH_CLIENT_CERT + ObservabilityPipelineEnrichmentTableFileEncodingType: + description: Specifies the encoding format (e.g., CSV) used for enrichment tables. enum: - - http - example: http + - csv + example: csv type: string x-enum-varnames: - - HTTP - CustomDestinationForwardDestinationSplunkType: - default: splunk_hec - description: Type of the Splunk HTTP Event Collector (HEC) destination. + - CSV + ObservabilityPipelineEnrichmentTableFileKeyItemsComparison: + description: Defines how to compare key fields for enrichment table lookups. enum: - - splunk_hec - example: splunk_hec + - equals + example: equals type: string x-enum-varnames: - - SPLUNK_HEC - CustomDestinationElasticsearchDestinationAuth: - description: Basic access authentication. + - EQUALS + ObservabilityPipelineEnrichmentTableFileKeyItemField: + description: |- + Specifies the source of the key value used for enrichment table lookups. + Can be a plain field path string or an object specifying `event`, `vrl`, or `secret`. + example: log.user.id + type: string properties: - password: - description: >- - The password of the authentication. This field is not returned by - the API. - example: datadog-custom-destination-password + event: + description: The path to the field in the log event to use as the lookup key. + example: log.user.id type: string - writeOnly: true - username: - description: >- - The username of the authentication. This field is not returned by - the API. - example: datadog-custom-destination-username + vrl: + description: A VRL expression that returns the value to use as the lookup key. + example: .log.user.id + type: string + secret: + description: The name of the secret containing the lookup key value. + example: MY_LOOKUP_SECRET type: string - writeOnly: true required: - - username - - password - type: object - CustomDestinationForwardDestinationElasticsearchType: - default: elasticsearch - description: Type of the Elasticsearch destination. - enum: - - elasticsearch - example: elasticsearch - type: string - x-enum-varnames: - - ELASTICSEARCH - CustomDestinationForwardDestinationMicrosoftSentinelType: - default: microsoft_sentinel - description: Type of the Microsoft Sentinel destination. + - event + - vrl + - secret + ObservabilityPipelineEnrichmentTableFileSchemaItemsType: + description: Declares allowed data types for enrichment table columns. enum: - - microsoft_sentinel - example: microsoft_sentinel + - string + - boolean + - integer + - float + - date + - timestamp + example: string type: string x-enum-varnames: - - MICROSOFT_SENTINEL - LogsArchiveEncryptionS3Type: - description: Type of S3 encryption for a destination. + - STRING + - BOOLEAN + - INTEGER + - FLOAT + - DATE + - TIMESTAMP + ObservabilityPipelineGeneratedMetricIncrementByOne: + description: Strategy that increments a generated metric by one for each matching event. + properties: + strategy: + $ref: '#/components/schemas/ObservabilityPipelineGeneratedMetricIncrementByOneStrategy' + required: + - strategy + type: object + ObservabilityPipelineGeneratedMetricIncrementByField: + description: Strategy that increments a generated metric based on the value of a log field. + properties: + field: + description: Name of the log field containing the numeric value to increment the metric by. + example: errors + type: string + strategy: + $ref: '#/components/schemas/ObservabilityPipelineGeneratedMetricIncrementByFieldStrategy' + required: + - strategy + - field + type: object + ObservabilityPipelineOcsfMappingLibrary: + description: Predefined library mappings for common log formats. enum: - - NO_OVERRIDE - - SSE_S3 - - SSE_KMS - example: SSE_S3 + - CloudTrail Account Change + - GCP Cloud Audit CreateBucket + - GCP Cloud Audit CreateSink + - GCP Cloud Audit SetIamPolicy + - GCP Cloud Audit UpdateSink + - Github Audit Log API Activity + - Google Workspace Admin Audit addPrivilege + - Microsoft 365 Defender Incident + - Microsoft 365 Defender UserLoggedIn + - Okta System Log Authentication + - Palo Alto Networks Firewall Traffic + example: CloudTrail Account Change type: string x-enum-varnames: - - NO_OVERRIDE - - SSE_S3 - - SSE_KMS - CustomDestinationResponseHttpDestinationAuthBasic: - description: Basic access authentication. + - CLOUDTRAIL_ACCOUNT_CHANGE + - GCP_CLOUD_AUDIT_CREATEBUCKET + - GCP_CLOUD_AUDIT_CREATESINK + - GCP_CLOUD_AUDIT_SETIAMPOLICY + - GCP_CLOUD_AUDIT_UPDATESINK + - GITHUB_AUDIT_LOG_API_ACTIVITY + - GOOGLE_WORKSPACE_ADMIN_AUDIT_ADDPRIVILEGE + - MICROSOFT_365_DEFENDER_INCIDENT + - MICROSOFT_365_DEFENDER_USERLOGGEDIN + - OKTA_SYSTEM_LOG_AUTHENTICATION + - PALO_ALTO_NETWORKS_FIREWALL_TRAFFIC + ObservabilityPipelineOcsfMappingCustom: + description: Custom OCSF mapping configuration for transforming logs. + properties: + mapping: + description: A list of field mapping rules for transforming log fields to OCSF schema fields. + items: + $ref: '#/components/schemas/ObservabilityPipelineOcsfMappingCustomFieldMapping' + type: array + metadata: + $ref: '#/components/schemas/ObservabilityPipelineOcsfMappingCustomMetadata' + version: + description: The version of the custom mapping configuration. + example: 1 + format: int64 + type: integer + required: + - mapping + - metadata + - version + type: object + ObservabilityPipelineParseGrokProcessorRuleMatchRule: + description: |- + Defines a Grok parsing rule, which extracts structured fields from log content using named Grok patterns. + Each rule must have a unique name and a valid Datadog Grok pattern that will be applied to the source field. + properties: + name: + description: The name of the rule. + example: MyParsingRule + type: string + rule: + description: The definition of the Grok rule. + example: '%{word:user} connected on %{date("MM/dd/yyyy"):date}' + type: string + required: + - name + - rule + type: object + ObservabilityPipelineParseGrokProcessorRuleSupportRule: + description: The Grok helper rule referenced in the parsing rules. + properties: + name: + description: The name of the Grok helper rule. + example: user + type: string + rule: + description: The definition of the Grok helper rule. + example: ' %{word:user.name}' + type: string + required: + - name + - rule + type: object + ObservabilityPipelineSensitiveDataScannerProcessorActionRedact: + description: Configuration for completely redacting matched sensitive data. + properties: + action: + $ref: '#/components/schemas/ObservabilityPipelineSensitiveDataScannerProcessorActionRedactAction' + options: + $ref: '#/components/schemas/ObservabilityPipelineSensitiveDataScannerProcessorActionRedactOptions' + required: + - action + - options + type: object + ObservabilityPipelineSensitiveDataScannerProcessorActionHash: + description: Configuration for hashing matched sensitive values. + properties: + action: + $ref: '#/components/schemas/ObservabilityPipelineSensitiveDataScannerProcessorActionHashAction' + options: + description: |- + Optional settings for the hash action. When omitted or empty, matched sensitive data is + replaced with a deterministic hashed value that preserves structure for analytics while + protecting the original content. Reserved for future hash configuration (for example, algorithm or salt). (opaque JSON object) + type: string + required: + - action + type: object + ObservabilityPipelineSensitiveDataScannerProcessorActionPartialRedact: + description: Configuration for partially redacting matched sensitive data. + properties: + action: + $ref: '#/components/schemas/ObservabilityPipelineSensitiveDataScannerProcessorActionPartialRedactAction' + options: + $ref: '#/components/schemas/ObservabilityPipelineSensitiveDataScannerProcessorActionPartialRedactOptions' + required: + - action + - options + type: object + ObservabilityPipelineSensitiveDataScannerProcessorCustomPattern: + description: Defines a custom regex-based pattern for identifying sensitive data in logs. properties: + options: + $ref: '#/components/schemas/ObservabilityPipelineSensitiveDataScannerProcessorCustomPatternOptions' type: - $ref: >- - #/components/schemas/CustomDestinationResponseHttpDestinationAuthBasicType + $ref: '#/components/schemas/ObservabilityPipelineSensitiveDataScannerProcessorCustomPatternType' required: - type + - options type: object - CustomDestinationResponseHttpDestinationAuthCustomHeader: - description: Custom header access authentication. + ObservabilityPipelineSensitiveDataScannerProcessorLibraryPattern: + description: Specifies a pattern from Datadog’s sensitive data detection library to match known sensitive data types. properties: - header_name: - description: The header name of the authentication. - example: CUSTOM-HEADER-NAME - type: string + options: + $ref: '#/components/schemas/ObservabilityPipelineSensitiveDataScannerProcessorLibraryPatternOptions' type: - $ref: >- - #/components/schemas/CustomDestinationResponseHttpDestinationAuthCustomHeaderType + $ref: '#/components/schemas/ObservabilityPipelineSensitiveDataScannerProcessorLibraryPatternType' required: - type - - header_name + - options type: object - CustomDestinationHttpDestinationAuthBasic: - description: Basic access authentication. + ObservabilityPipelineSensitiveDataScannerProcessorScopeInclude: + description: Includes only specific fields for sensitive data scanning. properties: - password: - description: >- - The password of the authentication. This field is not returned by - the API. - example: datadog-custom-destination-password + options: + $ref: '#/components/schemas/ObservabilityPipelineSensitiveDataScannerProcessorScopeOptions' + target: + $ref: '#/components/schemas/ObservabilityPipelineSensitiveDataScannerProcessorScopeIncludeTarget' + required: + - target + - options + type: object + ObservabilityPipelineSensitiveDataScannerProcessorScopeExclude: + description: Excludes specific fields from sensitive data scanning. + properties: + options: + $ref: '#/components/schemas/ObservabilityPipelineSensitiveDataScannerProcessorScopeOptions' + target: + $ref: '#/components/schemas/ObservabilityPipelineSensitiveDataScannerProcessorScopeExcludeTarget' + required: + - target + - options + type: object + ObservabilityPipelineSensitiveDataScannerProcessorScopeAll: + description: Applies scanning across all available fields. + properties: + target: + $ref: '#/components/schemas/ObservabilityPipelineSensitiveDataScannerProcessorScopeAllTarget' + required: + - target + type: object + ObservabilityPipelineEnrichmentTableFieldStringPath: + description: A plain field path in the log event, used as the lookup key. + example: log.user.id + type: string + ObservabilityPipelineEnrichmentTableFieldEventLookup: + description: Looks up a value from a field path in the log event. + properties: + event: + description: The path to the field in the log event to use as the lookup key. + example: log.user.id type: string - writeOnly: true - type: - $ref: '#/components/schemas/CustomDestinationHttpDestinationAuthBasicType' - username: - description: >- - The username of the authentication. This field is not returned by - the API. - example: datadog-custom-destination-username + required: + - event + type: object + ObservabilityPipelineEnrichmentTableFieldVrlLookup: + description: Evaluates a VRL expression to produce the lookup key. + properties: + vrl: + description: A VRL expression that returns the value to use as the lookup key. + example: .log.user.id type: string - writeOnly: true required: - - type - - username - - password + - vrl type: object - CustomDestinationHttpDestinationAuthCustomHeader: - description: Custom header access authentication. + ObservabilityPipelineEnrichmentTableFieldSecretLookup: + description: Looks up a value stored as a pipeline secret. properties: - header_name: - description: The header name of the authentication. - example: CUSTOM-HEADER-NAME + secret: + description: The name of the secret containing the lookup key value. + example: MY_LOOKUP_SECRET type: string - header_value: - description: >- - The header value of the authentication. This field is not returned - by the API. - example: CUSTOM-HEADER-AUTHENTICATION-VALUE + required: + - secret + type: object + ObservabilityPipelineGeneratedMetricIncrementByOneStrategy: + description: Increments the metric by 1 for each matching event. + enum: + - increment_by_one + example: increment_by_one + type: string + x-enum-varnames: + - INCREMENT_BY_ONE + ObservabilityPipelineGeneratedMetricIncrementByFieldStrategy: + description: Uses a numeric field in the log event as the metric increment. + enum: + - increment_by_field + example: increment_by_field + type: string + x-enum-varnames: + - INCREMENT_BY_FIELD + ObservabilityPipelineOcsfMappingCustomFieldMapping: + description: Defines a single field mapping rule for transforming a source field to an OCSF destination field. + properties: + default: + description: The default value to use if the source field is missing or empty. + example: '' + dest: + description: The destination OCSF field path. + example: device.type + type: string + lookup: + $ref: '#/components/schemas/ObservabilityPipelineOcsfMappingCustomLookup' + source: + description: The source field path from the log event. + example: host.type + sources: + description: Multiple source field paths for combined mapping. + example: + - field1 + - field2 + value: + description: A static value to use for the destination field. + example: static_value + required: + - dest + type: object + ObservabilityPipelineOcsfMappingCustomMetadata: + description: Metadata for the custom OCSF mapping. + properties: + class: + description: The OCSF event class name. + example: Device Inventory Info + type: string + profiles: + description: A list of OCSF profiles to apply. + example: + - container + items: + description: The name of an OCSF profile to apply to the event. + type: string + type: array + version: + description: The OCSF schema version. + example: 1.3.0 + type: string + required: + - class + - version + type: object + ObservabilityPipelineSensitiveDataScannerProcessorActionRedactAction: + description: Action type that completely replaces the matched sensitive data with a fixed replacement string to remove all visibility. + enum: + - redact + example: redact + type: string + x-enum-varnames: + - REDACT + ObservabilityPipelineSensitiveDataScannerProcessorActionRedactOptions: + description: Configuration for fully redacting sensitive data. + properties: + replace: + description: The string used to replace matched sensitive data (for example, "***" or "[REDACTED]"). + example: '***' + type: string + required: + - replace + type: object + ObservabilityPipelineSensitiveDataScannerProcessorActionHashAction: + description: Action type that replaces the matched sensitive data with a hashed representation, preserving structure while securing content. + enum: + - hash + example: hash + type: string + x-enum-varnames: + - HASH + ObservabilityPipelineSensitiveDataScannerProcessorActionPartialRedactAction: + description: Action type that redacts part of the sensitive data while preserving a configurable number of characters, typically used for masking purposes (e.g., show last 4 digits of a credit card). + enum: + - partial_redact + example: partial_redact + type: string + x-enum-varnames: + - PARTIAL_REDACT + ObservabilityPipelineSensitiveDataScannerProcessorActionPartialRedactOptions: + description: Controls how partial redaction is applied, including character count and direction. + properties: + characters: + description: Number of characters to leave visible from the start or end of the matched value; the rest are redacted. + example: 4 + format: int64 + type: integer + direction: + $ref: '#/components/schemas/ObservabilityPipelineSensitiveDataScannerProcessorActionPartialRedactOptionsDirection' + required: + - characters + - direction + type: object + ObservabilityPipelineSensitiveDataScannerProcessorCustomPatternOptions: + description: Options for defining a custom regex pattern. + properties: + description: + description: Human-readable description providing context about a sensitive data scanner rule + example: Custom regex for internal API keys + type: string + rule: + description: A regular expression used to detect sensitive values. Must be a valid regex. + example: \b\d{16}\b + type: string + required: + - rule + type: object + ObservabilityPipelineSensitiveDataScannerProcessorCustomPatternType: + description: Indicates a custom regular expression is used for matching. + enum: + - custom + example: custom + type: string + x-enum-varnames: + - CUSTOM + ObservabilityPipelineSensitiveDataScannerProcessorLibraryPatternOptions: + description: Options for selecting a predefined library pattern and enabling keyword support. + properties: + description: + description: Human-readable description providing context about a sensitive data scanner rule + example: Credit card pattern type: string - writeOnly: true - type: - $ref: >- - #/components/schemas/CustomDestinationHttpDestinationAuthCustomHeaderType + id: + description: Identifier for a predefined pattern from the sensitive data scanner pattern library. + example: credit_card + type: string + use_recommended_keywords: + description: Whether to augment the pattern with recommended keywords (optional). + type: boolean required: - - type - - header_name - - header_value + - id type: object - CustomDestinationResponseHttpDestinationAuthBasicType: - default: basic - description: Type of the basic access authentication. + ObservabilityPipelineSensitiveDataScannerProcessorLibraryPatternType: + description: Indicates that a predefined library pattern is used. enum: - - basic - example: basic + - library + example: library type: string x-enum-varnames: - - BASIC - CustomDestinationResponseHttpDestinationAuthCustomHeaderType: - default: custom_header - description: Type of the custom header access authentication. + - LIBRARY + ObservabilityPipelineSensitiveDataScannerProcessorScopeOptions: + description: Fields to which the scope rule applies. + properties: + fields: + description: List of log attribute names (field paths) to which the scope applies. Only these fields are included in or excluded from pattern matching. + example: + - '' + items: + description: A log field path to include or exclude from sensitive data scanning. + type: string + type: array + required: + - fields + type: object + ObservabilityPipelineSensitiveDataScannerProcessorScopeIncludeTarget: + description: Applies the rule only to included fields. enum: - - custom_header - example: custom_header + - include + example: include type: string x-enum-varnames: - - CUSTOM_HEADER - CustomDestinationHttpDestinationAuthBasicType: - default: basic - description: Type of the basic access authentication. + - INCLUDE + ObservabilityPipelineSensitiveDataScannerProcessorScopeExcludeTarget: + description: Excludes specific fields from processing. enum: - - basic - example: basic + - exclude + example: exclude type: string x-enum-varnames: - - BASIC - CustomDestinationHttpDestinationAuthCustomHeaderType: - default: custom_header - description: Type of the custom header access authentication. + - EXCLUDE + ObservabilityPipelineSensitiveDataScannerProcessorScopeAllTarget: + description: Applies the rule to all fields. enum: - - custom_header - example: custom_header + - all + example: all type: string x-enum-varnames: - - CUSTOM_HEADER + - ALL + ObservabilityPipelineOcsfMappingCustomLookup: + description: Lookup table configuration for mapping source values to destination values. + properties: + default: + description: The default value to use if no lookup match is found. + example: unknown + table: + description: A list of lookup table entries for value transformation. + items: + $ref: '#/components/schemas/ObservabilityPipelineOcsfMappingCustomLookupTableEntry' + type: array + type: object + ObservabilityPipelineSensitiveDataScannerProcessorActionPartialRedactOptionsDirection: + description: Indicates whether to redact characters from the first or last part of the matched value. + enum: + - first + - last + example: last + type: string + x-enum-varnames: + - FIRST + - LAST + ObservabilityPipelineOcsfMappingCustomLookupTableEntry: + description: A single entry in a lookup table for value transformation. + properties: + contains: + description: The substring to match in the source value. + example: Desktop + type: string + equals: + description: The exact value to match in the source. + example: desktop + equals_source: + description: The source field to match against. + example: device_type + type: string + matches: + description: A regex pattern to match in the source value. + example: ^Desktop.* + type: string + not_matches: + description: A regex pattern that must not match the source value. + example: ^Mobile.* + type: string + value: + description: The value to use when a match is found. + example: desktop + type: object responses: BadRequestResponse: content: @@ -3408,6 +15865,47 @@ components: required: true schema: type: string + PageSize: + description: Number of items to return per page. The maximum allowed value is 100. + in: query + name: page[size] + required: false + schema: + default: 10 + example: 10 + format: int64 + type: integer + PageNumber: + description: Specific page number to return. + in: query + name: page[number] + required: false + schema: + default: 0 + example: 0 + format: int64 + type: integer + RestrictionQueryRoleID: + description: The ID of the role. + in: path + name: role_id + required: true + schema: + type: string + RestrictionQueryUserID: + description: The ID of the user. + in: path + name: user_id + required: true + schema: + type: string + RestrictionQueryID: + description: The ID of the restriction query. + in: path + name: restriction_query_id + required: true + schema: + type: string x-stackQL-resources: logs: id: datadog.logs.logs @@ -3415,17 +15913,27 @@ components: title: Logs methods: submit_log: + config: + requestBodyTranslate: + algorithm: naive operation: $ref: '#/paths/~1api~1v2~1logs/post' response: mediaType: application/json openAPIDocKey: '202' + request: + nativeCasing: camel aggregate_logs: + config: + requestBodyTranslate: + algorithm: naive operation: $ref: '#/paths/~1api~1v2~1logs~1analytics~1aggregate/post' response: mediaType: application/json openAPIDocKey: '200' + request: + nativeCasing: camel list_logs_get: operation: $ref: '#/paths/~1api~1v2~1logs~1events/get' @@ -3433,18 +15941,35 @@ components: mediaType: application/json openAPIDocKey: '200' objectKey: $.data + request: + nativeCasing: camel + config: + pagination: + requestToken: + key: page[cursor] + location: query + responseToken: + key: $.meta.page.after + location: body + queryParamPushdown: + top: + paramName: page[limit] + maxValue: 1000 list_logs: + config: + requestBodyTranslate: + algorithm: naive operation: $ref: '#/paths/~1api~1v2~1logs~1events~1search/post' response: mediaType: application/json openAPIDocKey: '200' + request: + nativeCasing: camel sqlVerbs: select: - $ref: '#/components/x-stackQL-resources/logs/methods/list_logs_get' - insert: - - $ref: '#/components/x-stackQL-resources/logs/methods/submit_log' - - $ref: '#/components/x-stackQL-resources/logs/methods/list_logs' + insert: [] update: [] delete: [] replace: [] @@ -3460,22 +15985,27 @@ components: mediaType: application/json openAPIDocKey: '200' objectKey: $.data + request: + nativeCasing: camel update_logs_archive_order: + config: + requestBodyTranslate: + algorithm: naive operation: $ref: '#/paths/~1api~1v2~1logs~1config~1archive-order/put' response: mediaType: application/json openAPIDocKey: '200' + request: + nativeCasing: camel sqlVerbs: select: - - $ref: >- - #/components/x-stackQL-resources/archive_order/methods/get_logs_archive_order + - $ref: '#/components/x-stackQL-resources/archive_order/methods/get_logs_archive_order' insert: [] update: [] delete: [] replace: - - $ref: >- - #/components/x-stackQL-resources/archive_order/methods/update_logs_archive_order + - $ref: '#/components/x-stackQL-resources/archive_order/methods/update_logs_archive_order' archives: id: datadog.logs.archives name: archives @@ -3488,18 +16018,27 @@ components: mediaType: application/json openAPIDocKey: '200' objectKey: $.data + request: + nativeCasing: camel create_logs_archive: + config: + requestBodyTranslate: + algorithm: naive operation: $ref: '#/paths/~1api~1v2~1logs~1config~1archives/post' response: mediaType: application/json openAPIDocKey: '200' + request: + nativeCasing: camel delete_logs_archive: operation: $ref: '#/paths/~1api~1v2~1logs~1config~1archives~1{archive_id}/delete' response: mediaType: application/json openAPIDocKey: '204' + request: + nativeCasing: camel get_logs_archive: operation: $ref: '#/paths/~1api~1v2~1logs~1config~1archives~1{archive_id}/get' @@ -3507,27 +16046,30 @@ components: mediaType: application/json openAPIDocKey: '200' objectKey: $.data + request: + nativeCasing: camel update_logs_archive: + config: + requestBodyTranslate: + algorithm: naive operation: $ref: '#/paths/~1api~1v2~1logs~1config~1archives~1{archive_id}/put' response: mediaType: application/json openAPIDocKey: '200' + request: + nativeCasing: camel sqlVerbs: select: - $ref: '#/components/x-stackQL-resources/archives/methods/get_logs_archive' - - $ref: >- - #/components/x-stackQL-resources/archives/methods/list_logs_archives + - $ref: '#/components/x-stackQL-resources/archives/methods/list_logs_archives' insert: - - $ref: >- - #/components/x-stackQL-resources/archives/methods/create_logs_archive + - $ref: '#/components/x-stackQL-resources/archives/methods/create_logs_archive' update: [] delete: - - $ref: >- - #/components/x-stackQL-resources/archives/methods/delete_logs_archive + - $ref: '#/components/x-stackQL-resources/archives/methods/delete_logs_archive' replace: - - $ref: >- - #/components/x-stackQL-resources/archives/methods/update_logs_archive + - $ref: '#/components/x-stackQL-resources/archives/methods/update_logs_archive' archive_read_roles: id: datadog.logs.archive_read_roles name: archive_read_roles @@ -3535,37 +16077,40 @@ components: methods: remove_role_from_archive: operation: - $ref: >- - #/paths/~1api~1v2~1logs~1config~1archives~1{archive_id}~1readers/delete + $ref: '#/paths/~1api~1v2~1logs~1config~1archives~1{archive_id}~1readers/delete' response: mediaType: application/json openAPIDocKey: '204' + request: + nativeCasing: camel list_archive_read_roles: operation: - $ref: >- - #/paths/~1api~1v2~1logs~1config~1archives~1{archive_id}~1readers/get + $ref: '#/paths/~1api~1v2~1logs~1config~1archives~1{archive_id}~1readers/get' response: mediaType: application/json openAPIDocKey: '200' objectKey: $.data + request: + nativeCasing: camel add_read_role_to_archive: + config: + requestBodyTranslate: + algorithm: naive operation: - $ref: >- - #/paths/~1api~1v2~1logs~1config~1archives~1{archive_id}~1readers/post + $ref: '#/paths/~1api~1v2~1logs~1config~1archives~1{archive_id}~1readers/post' response: mediaType: application/json openAPIDocKey: '204' + request: + nativeCasing: camel sqlVerbs: select: - - $ref: >- - #/components/x-stackQL-resources/archive_read_roles/methods/list_archive_read_roles + - $ref: '#/components/x-stackQL-resources/archive_read_roles/methods/list_archive_read_roles' insert: - - $ref: >- - #/components/x-stackQL-resources/archive_read_roles/methods/add_read_role_to_archive + - $ref: '#/components/x-stackQL-resources/archive_read_roles/methods/add_read_role_to_archive' update: [] delete: - - $ref: >- - #/components/x-stackQL-resources/archive_read_roles/methods/remove_role_from_archive + - $ref: '#/components/x-stackQL-resources/archive_read_roles/methods/remove_role_from_archive' replace: [] custom_destinations: id: datadog.logs.custom_destinations @@ -3579,49 +16124,57 @@ components: mediaType: application/json openAPIDocKey: '200' objectKey: $.data + request: + nativeCasing: camel create_logs_custom_destination: + config: + requestBodyTranslate: + algorithm: naive operation: $ref: '#/paths/~1api~1v2~1logs~1config~1custom-destinations/post' response: mediaType: application/json openAPIDocKey: '200' + request: + nativeCasing: camel delete_logs_custom_destination: operation: - $ref: >- - #/paths/~1api~1v2~1logs~1config~1custom-destinations~1{custom_destination_id}/delete + $ref: '#/paths/~1api~1v2~1logs~1config~1custom-destinations~1{custom_destination_id}/delete' response: mediaType: application/json openAPIDocKey: '204' + request: + nativeCasing: camel get_logs_custom_destination: operation: - $ref: >- - #/paths/~1api~1v2~1logs~1config~1custom-destinations~1{custom_destination_id}/get + $ref: '#/paths/~1api~1v2~1logs~1config~1custom-destinations~1{custom_destination_id}/get' response: mediaType: application/json openAPIDocKey: '200' objectKey: $.data + request: + nativeCasing: camel update_logs_custom_destination: + config: + requestBodyTranslate: + algorithm: naive operation: - $ref: >- - #/paths/~1api~1v2~1logs~1config~1custom-destinations~1{custom_destination_id}/patch + $ref: '#/paths/~1api~1v2~1logs~1config~1custom-destinations~1{custom_destination_id}/patch' response: mediaType: application/json openAPIDocKey: '200' + request: + nativeCasing: camel sqlVerbs: select: - - $ref: >- - #/components/x-stackQL-resources/custom_destinations/methods/get_logs_custom_destination - - $ref: >- - #/components/x-stackQL-resources/custom_destinations/methods/list_logs_custom_destinations + - $ref: '#/components/x-stackQL-resources/custom_destinations/methods/get_logs_custom_destination' + - $ref: '#/components/x-stackQL-resources/custom_destinations/methods/list_logs_custom_destinations' insert: - - $ref: >- - #/components/x-stackQL-resources/custom_destinations/methods/create_logs_custom_destination + - $ref: '#/components/x-stackQL-resources/custom_destinations/methods/create_logs_custom_destination' update: - - $ref: >- - #/components/x-stackQL-resources/custom_destinations/methods/update_logs_custom_destination + - $ref: '#/components/x-stackQL-resources/custom_destinations/methods/update_logs_custom_destination' delete: - - $ref: >- - #/components/x-stackQL-resources/custom_destinations/methods/delete_logs_custom_destination + - $ref: '#/components/x-stackQL-resources/custom_destinations/methods/delete_logs_custom_destination' replace: [] metrics: id: datadog.logs.metrics @@ -3635,18 +16188,27 @@ components: mediaType: application/json openAPIDocKey: '200' objectKey: $.data + request: + nativeCasing: camel create_logs_metric: + config: + requestBodyTranslate: + algorithm: naive operation: $ref: '#/paths/~1api~1v2~1logs~1config~1metrics/post' response: mediaType: application/json openAPIDocKey: '200' + request: + nativeCasing: camel delete_logs_metric: operation: $ref: '#/paths/~1api~1v2~1logs~1config~1metrics~1{metric_id}/delete' response: mediaType: application/json openAPIDocKey: '204' + request: + nativeCasing: camel get_logs_metric: operation: $ref: '#/paths/~1api~1v2~1logs~1config~1metrics~1{metric_id}/get' @@ -3654,29 +16216,459 @@ components: mediaType: application/json openAPIDocKey: '200' objectKey: $.data + request: + nativeCasing: camel update_logs_metric: + config: + requestBodyTranslate: + algorithm: naive operation: $ref: '#/paths/~1api~1v2~1logs~1config~1metrics~1{metric_id}/patch' response: mediaType: application/json openAPIDocKey: '200' + request: + nativeCasing: camel sqlVerbs: select: - $ref: '#/components/x-stackQL-resources/metrics/methods/get_logs_metric' - $ref: '#/components/x-stackQL-resources/metrics/methods/list_logs_metrics' insert: - - $ref: >- - #/components/x-stackQL-resources/metrics/methods/create_logs_metric + - $ref: '#/components/x-stackQL-resources/metrics/methods/create_logs_metric' + update: + - $ref: '#/components/x-stackQL-resources/metrics/methods/update_logs_metric' + delete: + - $ref: '#/components/x-stackQL-resources/metrics/methods/delete_logs_metric' + replace: [] + restriction_queries: + id: datadog.logs.restriction_queries + name: restriction_queries + title: Restriction Queries + methods: + list_restriction_queries: + operation: + $ref: '#/paths/~1api~1v2~1logs~1config~1restriction_queries/get' + response: + mediaType: application/json + openAPIDocKey: '200' + objectKey: $.data + request: + nativeCasing: camel + config: + queryParamPushdown: + top: + paramName: page[size] + create_restriction_query: + config: + requestBodyTranslate: + algorithm: naive + operation: + $ref: '#/paths/~1api~1v2~1logs~1config~1restriction_queries/post' + response: + mediaType: application/json + openAPIDocKey: '200' + request: + nativeCasing: camel + delete_restriction_query: + operation: + $ref: '#/paths/~1api~1v2~1logs~1config~1restriction_queries~1{restriction_query_id}/delete' + response: + mediaType: application/json + openAPIDocKey: '204' + request: + nativeCasing: camel + get_restriction_query: + operation: + $ref: '#/paths/~1api~1v2~1logs~1config~1restriction_queries~1{restriction_query_id}/get' + response: + mediaType: application/json + openAPIDocKey: '200' + objectKey: $.data + request: + nativeCasing: camel + update_restriction_query: + config: + requestBodyTranslate: + algorithm: naive + operation: + $ref: '#/paths/~1api~1v2~1logs~1config~1restriction_queries~1{restriction_query_id}/patch' + response: + mediaType: application/json + openAPIDocKey: '200' + request: + nativeCasing: camel + replace_restriction_query: + config: + requestBodyTranslate: + algorithm: naive + operation: + $ref: '#/paths/~1api~1v2~1logs~1config~1restriction_queries~1{restriction_query_id}/put' + response: + mediaType: application/json + openAPIDocKey: '200' + request: + nativeCasing: camel + sqlVerbs: + select: + - $ref: '#/components/x-stackQL-resources/restriction_queries/methods/get_restriction_query' + - $ref: '#/components/x-stackQL-resources/restriction_queries/methods/list_restriction_queries' + insert: + - $ref: '#/components/x-stackQL-resources/restriction_queries/methods/create_restriction_query' update: - - $ref: >- - #/components/x-stackQL-resources/metrics/methods/update_logs_metric + - $ref: '#/components/x-stackQL-resources/restriction_queries/methods/update_restriction_query' + delete: + - $ref: '#/components/x-stackQL-resources/restriction_queries/methods/delete_restriction_query' + replace: + - $ref: '#/components/x-stackQL-resources/restriction_queries/methods/replace_restriction_query' + restriction_query_roles: + id: datadog.logs.restriction_query_roles + name: restriction_query_roles + title: Restriction Query Roles + methods: + get_role_restriction_query: + operation: + $ref: '#/paths/~1api~1v2~1logs~1config~1restriction_queries~1role~1{role_id}/get' + response: + mediaType: application/json + openAPIDocKey: '200' + objectKey: $.data + request: + nativeCasing: camel + remove_role_from_restriction_query: + operation: + $ref: '#/paths/~1api~1v2~1logs~1config~1restriction_queries~1{restriction_query_id}~1roles/delete' + response: + mediaType: application/json + openAPIDocKey: '204' + request: + nativeCasing: camel + list_restriction_query_roles: + operation: + $ref: '#/paths/~1api~1v2~1logs~1config~1restriction_queries~1{restriction_query_id}~1roles/get' + response: + mediaType: application/json + openAPIDocKey: '200' + objectKey: $.data + request: + nativeCasing: camel + config: + queryParamPushdown: + top: + paramName: page[size] + add_role_to_restriction_query: + config: + requestBodyTranslate: + algorithm: naive + operation: + $ref: '#/paths/~1api~1v2~1logs~1config~1restriction_queries~1{restriction_query_id}~1roles/post' + response: + mediaType: application/json + openAPIDocKey: '204' + request: + nativeCasing: camel + sqlVerbs: + select: + - $ref: '#/components/x-stackQL-resources/restriction_query_roles/methods/get_role_restriction_query' + - $ref: '#/components/x-stackQL-resources/restriction_query_roles/methods/list_restriction_query_roles' + insert: + - $ref: '#/components/x-stackQL-resources/restriction_query_roles/methods/add_role_to_restriction_query' + update: [] delete: - - $ref: >- - #/components/x-stackQL-resources/metrics/methods/delete_logs_metric + - $ref: '#/components/x-stackQL-resources/restriction_query_roles/methods/remove_role_from_restriction_query' replace: [] + restriction_query_users: + id: datadog.logs.restriction_query_users + name: restriction_query_users + title: Restriction Query Users + methods: + list_user_restriction_queries: + operation: + $ref: '#/paths/~1api~1v2~1logs~1config~1restriction_queries~1user~1{user_id}/get' + response: + mediaType: application/json + openAPIDocKey: '200' + objectKey: $.data + request: + nativeCasing: camel + sqlVerbs: + select: + - $ref: '#/components/x-stackQL-resources/restriction_query_users/methods/list_user_restriction_queries' + insert: [] + update: [] + delete: [] + replace: [] + observability_pipelines: + id: datadog.logs.observability_pipelines + name: observability_pipelines + title: Observability Pipelines + methods: + list_pipelines: + operation: + $ref: '#/paths/~1api~1v2~1obs-pipelines~1pipelines/get' + response: + mediaType: application/json + openAPIDocKey: '200' + objectKey: $.data + request: + nativeCasing: camel + config: + queryParamPushdown: + top: + paramName: page[size] + create_pipeline: + config: + requestBodyTranslate: + algorithm: naive + operation: + $ref: '#/paths/~1api~1v2~1obs-pipelines~1pipelines/post' + response: + mediaType: application/json + openAPIDocKey: '201' + request: + nativeCasing: camel + validate_pipeline: + config: + requestBodyTranslate: + algorithm: naive + operation: + $ref: '#/paths/~1api~1v2~1obs-pipelines~1pipelines~1validate/post' + response: + mediaType: application/json + openAPIDocKey: '200' + request: + nativeCasing: camel + delete_pipeline: + operation: + $ref: '#/paths/~1api~1v2~1obs-pipelines~1pipelines~1{pipeline_id}/delete' + response: + mediaType: application/json + openAPIDocKey: '204' + request: + nativeCasing: camel + get_pipeline: + operation: + $ref: '#/paths/~1api~1v2~1obs-pipelines~1pipelines~1{pipeline_id}/get' + response: + mediaType: application/json + openAPIDocKey: '200' + objectKey: $.data + request: + nativeCasing: camel + update_pipeline: + config: + requestBodyTranslate: + algorithm: naive + operation: + $ref: '#/paths/~1api~1v2~1obs-pipelines~1pipelines~1{pipeline_id}/put' + response: + mediaType: application/json + openAPIDocKey: '200' + request: + nativeCasing: camel + sqlVerbs: + select: + - $ref: '#/components/x-stackQL-resources/observability_pipelines/methods/get_pipeline' + - $ref: '#/components/x-stackQL-resources/observability_pipelines/methods/list_pipelines' + insert: + - $ref: '#/components/x-stackQL-resources/observability_pipelines/methods/create_pipeline' + update: [] + delete: + - $ref: '#/components/x-stackQL-resources/observability_pipelines/methods/delete_pipeline' + replace: + - $ref: '#/components/x-stackQL-resources/observability_pipelines/methods/update_pipeline' + index_order: + id: datadog.logs.index_order + name: index_order + title: Index Order + methods: + get_logs_index_order: + operation: + $ref: '#/paths/~1api~1v1~1logs~1config~1index-order/get' + response: + mediaType: application/json + openAPIDocKey: '200' + request: + nativeCasing: camel + update_logs_index_order: + config: + requestBodyTranslate: + algorithm: naive + operation: + $ref: '#/paths/~1api~1v1~1logs~1config~1index-order/put' + response: + mediaType: application/json + openAPIDocKey: '200' + request: + nativeCasing: camel + sqlVerbs: + select: + - $ref: '#/components/x-stackQL-resources/index_order/methods/get_logs_index_order' + insert: [] + update: [] + delete: [] + replace: + - $ref: '#/components/x-stackQL-resources/index_order/methods/update_logs_index_order' + indexes: + id: datadog.logs.indexes + name: indexes + title: Indexes + methods: + list_log_indexes: + operation: + $ref: '#/paths/~1api~1v1~1logs~1config~1indexes/get' + response: + mediaType: application/json + openAPIDocKey: '200' + objectKey: $.indexes + request: + nativeCasing: camel + create_logs_index: + config: + requestBodyTranslate: + algorithm: naive + operation: + $ref: '#/paths/~1api~1v1~1logs~1config~1indexes/post' + response: + mediaType: application/json + openAPIDocKey: '200' + request: + nativeCasing: camel + delete_logs_index: + operation: + $ref: '#/paths/~1api~1v1~1logs~1config~1indexes~1{name}/delete' + response: + mediaType: application/json + openAPIDocKey: '200' + request: + nativeCasing: camel + get_logs_index: + operation: + $ref: '#/paths/~1api~1v1~1logs~1config~1indexes~1{name}/get' + response: + mediaType: application/json + openAPIDocKey: '200' + request: + nativeCasing: camel + update_logs_index: + config: + requestBodyTranslate: + algorithm: naive + operation: + $ref: '#/paths/~1api~1v1~1logs~1config~1indexes~1{name}/put' + response: + mediaType: application/json + openAPIDocKey: '200' + request: + nativeCasing: camel + sqlVerbs: + select: + - $ref: '#/components/x-stackQL-resources/indexes/methods/get_logs_index' + - $ref: '#/components/x-stackQL-resources/indexes/methods/list_log_indexes' + insert: + - $ref: '#/components/x-stackQL-resources/indexes/methods/create_logs_index' + update: [] + delete: + - $ref: '#/components/x-stackQL-resources/indexes/methods/delete_logs_index' + replace: + - $ref: '#/components/x-stackQL-resources/indexes/methods/update_logs_index' + pipeline_order: + id: datadog.logs.pipeline_order + name: pipeline_order + title: Pipeline Order + methods: + get_logs_pipeline_order: + operation: + $ref: '#/paths/~1api~1v1~1logs~1config~1pipeline-order/get' + response: + mediaType: application/json + openAPIDocKey: '200' + request: + nativeCasing: camel + update_logs_pipeline_order: + config: + requestBodyTranslate: + algorithm: naive + operation: + $ref: '#/paths/~1api~1v1~1logs~1config~1pipeline-order/put' + response: + mediaType: application/json + openAPIDocKey: '200' + request: + nativeCasing: camel + sqlVerbs: + select: + - $ref: '#/components/x-stackQL-resources/pipeline_order/methods/get_logs_pipeline_order' + insert: [] + update: [] + delete: [] + replace: + - $ref: '#/components/x-stackQL-resources/pipeline_order/methods/update_logs_pipeline_order' + pipelines: + id: datadog.logs.pipelines + name: pipelines + title: Pipelines + methods: + list_logs_pipelines: + operation: + $ref: '#/paths/~1api~1v1~1logs~1config~1pipelines/get' + response: + mediaType: application/json + openAPIDocKey: '200' + request: + nativeCasing: camel + create_logs_pipeline: + config: + requestBodyTranslate: + algorithm: naive + operation: + $ref: '#/paths/~1api~1v1~1logs~1config~1pipelines/post' + response: + mediaType: application/json + openAPIDocKey: '200' + request: + nativeCasing: camel + delete_logs_pipeline: + operation: + $ref: '#/paths/~1api~1v1~1logs~1config~1pipelines~1{pipeline_id}/delete' + response: + mediaType: application/json + openAPIDocKey: '200' + request: + nativeCasing: camel + get_logs_pipeline: + operation: + $ref: '#/paths/~1api~1v1~1logs~1config~1pipelines~1{pipeline_id}/get' + response: + mediaType: application/json + openAPIDocKey: '200' + request: + nativeCasing: camel + update_logs_pipeline: + config: + requestBodyTranslate: + algorithm: naive + operation: + $ref: '#/paths/~1api~1v1~1logs~1config~1pipelines~1{pipeline_id}/put' + response: + mediaType: application/json + openAPIDocKey: '200' + request: + nativeCasing: camel + sqlVerbs: + select: + - $ref: '#/components/x-stackQL-resources/pipelines/methods/get_logs_pipeline' + - $ref: '#/components/x-stackQL-resources/pipelines/methods/list_logs_pipelines' + insert: + - $ref: '#/components/x-stackQL-resources/pipelines/methods/create_logs_pipeline' + update: [] + delete: + - $ref: '#/components/x-stackQL-resources/pipelines/methods/delete_logs_pipeline' + replace: + - $ref: '#/components/x-stackQL-resources/pipelines/methods/update_logs_pipeline' servers: - - url: >- - https://{region:^(?:[^\:/]+(?:\:[0-9]+)?|[0-9]+\.[0-9]+\.[0-9]+\.[0-9]+(?:\:[0-9]+)?)$}/ + - url: https://api.{site:.+} variables: - region: + site: default: datadoghq.com + description: The Datadog site (region) for your organization, for example datadoghq.com, us3.datadoghq.com, us5.datadoghq.com, ap1.datadoghq.com, ap2.datadoghq.com, datadoghq.eu, ddog-gov.com. Resolved from the DD_SITE environment variable when set. + x-stackQL-envVar: DD_SITE diff --git a/providers/src/datadog/v00.00.00000/services/metrics.yaml b/providers/src/datadog/v00.00.00000/services/metrics.yaml index 090b21f7..aa288b08 100644 --- a/providers/src/datadog/v00.00.00000/services/metrics.yaml +++ b/providers/src/datadog/v00.00.00000/services/metrics.yaml @@ -1,7 +1,22 @@ openapi: 3.0.0 info: title: metrics API - description: datadog metrics API + description: |- + The metrics endpoint allows you to: + + - Post metrics data so it can be graphed on Datadog’s dashboards + - Query metrics from any time period (timeseries and scalar) + - Modify tag configurations for metrics + - View tags and volumes for metrics + + **Note**: A graph can only contain a set number of points + and as the timeframe over which a metric is viewed increases, + aggregation between points occurs to stay below that set number. + + The Post, Patch, and Delete `manage_tags` API methods can only be performed by + a user who has the `Manage Tags for Metrics` permission. + + See the [Metrics page](https://docs.datadoghq.com/metrics/) for more information. version: '1.0' paths: /api/v2/datasets: @@ -12,6 +27,20 @@ paths: '200': content: application/json: + examples: + default: + value: + data: + - attributes: + name: Security Audit Dataset + principals: + - role:94172442-be03-11e9-a77a-3b7612558ac1 + product_filters: + - filters: + - source:cloudtrail + product: logs + id: 00000000-0000-0000-0000-000000000003 + type: dataset schema: $ref: '#/components/schemas/DatasetResponseMulti' description: OK @@ -40,17 +69,20 @@ paths: requestBody: content: application/json: - example: - data: - attributes: - name: Test RUM Dataset - principals: - - role:94172442-be03-11e9-a77a-3b7612558ac1 - product_filters: - - filters: - - '@application.id:application_123' - product: rum - type: dataset + examples: + default: + value: + data: + attributes: + name: Security Audit Dataset + principals: + - role:94172442-be03-11e9-a77a-3b7612558ac1 + product_filters: + - filters: + - source:cloudtrail + product: logs + restriction_query_id: 00000000-0000-0000-0000-000000000001 + type: dataset schema: $ref: '#/components/schemas/DatasetCreateRequest' description: Dataset payload @@ -59,6 +91,20 @@ paths: '200': content: application/json: + examples: + default: + value: + data: + attributes: + name: Security Audit Dataset + principals: + - role:abc-123 + product_filters: + - filters: + - source:cloudtrail + product: logs + id: 00000000-0000-0000-0000-000000000004 + type: dataset schema: $ref: '#/components/schemas/DatasetResponseSingle' description: OK @@ -127,6 +173,20 @@ paths: '200': content: application/json: + examples: + default: + value: + data: + attributes: + name: Security Audit Dataset + principals: + - role:94172442-be03-11e9-a77a-3b7612558ac1 + product_filters: + - filters: + - source:cloudtrail + product: logs + id: 00000000-0000-0000-0000-000000000001 + type: dataset schema: $ref: '#/components/schemas/DatasetResponseSingle' description: OK @@ -160,6 +220,19 @@ paths: requestBody: content: application/json: + examples: + default: + value: + data: + attributes: + name: Security Audit Dataset + principals: + - role:94172442-be03-11e9-a77a-3b7612558ac1 + product_filters: + - filters: + - '@application.id:ABCD' + product: logs + type: dataset schema: $ref: '#/components/schemas/DatasetUpdateRequest' description: Dataset payload @@ -168,6 +241,20 @@ paths: '200': content: application/json: + examples: + default: + value: + data: + attributes: + name: Security Audit Dataset + principals: + - role:94172442-be03-11e9-a77a-3b7612558ac1 + product_filters: + - filters: + - source:cloudtrail + product: logs + id: 00000000-0000-0000-0000-000000000002 + type: dataset schema: $ref: '#/components/schemas/DatasetResponseSingle' description: OK @@ -195,101 +282,326 @@ paths: x-unstable: |- **Note: Data Access is in preview. If you have any feedback, contact [Datadog support](https://docs.datadoghq.com/help/).** + /api/v2/ddsql/query/tabular: + post: + description: |- + Submit a DDSQL statement and return either a `running` state with an opaque `query_id` + for the client to poll, or a `completed` state with the column-major result set inlined + when the query finishes quickly enough to be served synchronously. + operationId: ExecuteDdsqlTabularQuery + requestBody: + content: + application/json: + examples: + default: + value: + data: + attributes: + query: SELECT cloud_provider, count(*) FROM dd.hosts group by cloud_provider + row_limit: 1000 + time: + from_timestamp: 1736942400000 + to_timestamp: 1736946000000 + type: ddsql_query_request + schema: + $ref: '#/components/schemas/DdsqlTabularQueryRequest' + required: true + responses: + '200': + content: + application/json: + examples: + completed: + summary: Query finished synchronously + value: + data: + attributes: + columns: + - name: service + type: VARCHAR + values: + - web-store + - checkout + - name: count + type: BIGINT + values: + - 1024 + - 512 + state: completed + id: 00000000-0000-0000-0000-000000000000 + type: ddsql_query_response + meta: + elapsed: 318 + request_id: req-7f3e7d2c-1a0b-4d3e-9b2a-3c4d5e6f7081 + default: + summary: Query finished synchronously + value: + data: + attributes: + columns: + - name: service + type: VARCHAR + values: + - web-store + - checkout + - name: count + type: BIGINT + values: + - 1024 + - 512 + state: completed + id: 00000000-0000-0000-0000-000000000000 + type: ddsql_query_response + meta: + elapsed: 318 + request_id: req-7f3e7d2c-1a0b-4d3e-9b2a-3c4d5e6f7081 + running: + summary: Query still executing + value: + data: + attributes: + query_id: eyJxdWVyeSI6ICJTRUxFQ1QgKiBGUk9NIGxvZ3MifQ== + state: running + id: 00000000-0000-0000-0000-000000000000 + type: ddsql_query_response + meta: + elapsed: 42 + request_id: req-7f3e7d2c-1a0b-4d3e-9b2a-3c4d5e6f7081 + schema: + $ref: '#/components/schemas/DdsqlTabularQueryResponse' + description: OK + '400': + content: + application/json: + schema: + $ref: '#/components/schemas/JSONAPIErrorResponse' + description: Bad Request + '403': + content: + application/json: + schema: + $ref: '#/components/schemas/JSONAPIErrorResponse' + description: Forbidden + '429': + $ref: '#/components/responses/TooManyRequestsResponse' + '500': + content: + application/json: + schema: + $ref: '#/components/schemas/JSONAPIErrorResponse' + description: Internal Server Error + summary: Execute a tabular DDSQL query + tags: + - DDSQL + /api/v2/ddsql/query/tabular/fetch: + post: + description: |- + Poll a previously submitted DDSQL query for results. Pass the opaque `query_id` returned + by a prior `ExecuteDdsqlTabularQuery` (or by a prior `FetchDdsqlTabularQuery` that + returned `state: running`) and the server returns either a `running` state to poll again + or a `completed` state with the column-major result set inlined. + operationId: FetchDdsqlTabularQuery + requestBody: + content: + application/json: + examples: + default: + value: + data: + attributes: + query_id: eyJxdWVyeSI6ICJTRUxFQ1QgKiBGUk9NIGxvZ3MifQ== + type: ddsql_query_fetch_request + schema: + $ref: '#/components/schemas/DdsqlTabularQueryFetchRequest' + required: true + responses: + '200': + content: + application/json: + examples: + completed: + summary: Query finished + value: + data: + attributes: + columns: + - name: service + type: VARCHAR + values: + - web-store + - checkout + - name: count + type: BIGINT + values: + - 1024 + - 512 + state: completed + id: 00000000-0000-0000-0000-000000000000 + type: ddsql_query_response + meta: + elapsed: 87 + request_id: req-7f3e7d2c-1a0b-4d3e-9b2a-3c4d5e6f7082 + default: + summary: Query finished + value: + data: + attributes: + columns: + - name: service + type: VARCHAR + values: + - web-store + - checkout + - name: count + type: BIGINT + values: + - 1024 + - 512 + state: completed + id: 00000000-0000-0000-0000-000000000000 + type: ddsql_query_response + meta: + elapsed: 87 + request_id: req-7f3e7d2c-1a0b-4d3e-9b2a-3c4d5e6f7082 + running: + summary: Query still executing + value: + data: + attributes: + query_id: eyJxdWVyeSI6ICJTRUxFQ1QgKiBGUk9NIGxvZ3MifQ== + state: running + id: 00000000-0000-0000-0000-000000000000 + type: ddsql_query_response + meta: + elapsed: 12 + request_id: req-7f3e7d2c-1a0b-4d3e-9b2a-3c4d5e6f7082 + schema: + $ref: '#/components/schemas/DdsqlTabularQueryResponse' + description: OK + '400': + content: + application/json: + schema: + $ref: '#/components/schemas/JSONAPIErrorResponse' + description: Bad Request + '403': + content: + application/json: + schema: + $ref: '#/components/schemas/JSONAPIErrorResponse' + description: Forbidden + '429': + $ref: '#/components/responses/TooManyRequestsResponse' + '500': + content: + application/json: + schema: + $ref: '#/components/schemas/JSONAPIErrorResponse' + description: Internal Server Error + summary: Fetch the result of a DDSQL query + tags: + - DDSQL /api/v2/metrics: get: - description: >- - Returns all metrics that can be configured in the Metrics Summary page - or with Metrics without Limits™ (matching additional filters if - specified). - - Optionally, paginate by using the `page[cursor]` and/or `page[size]` - query parameters. - - To fetch the first page, pass in a query parameter with either a valid - `page[size]` or an empty cursor like `page[cursor]=`. To fetch the next - page, pass in the `next_cursor` value from the response as the new - `page[cursor]` value. + description: |- + Get a list of actively reporting metrics for your organization. Pagination is optional using the `page[cursor]` and `page[size]` query parameters. - Once the `meta.pagination.next_cursor` value is null, all pages have - been retrieved. + Query parameters use bracket notation (for example, `filter[tags]`, `filter[queried][window][seconds]`). Pass them as standard URL query strings, URL-encoding the brackets if your client does not handle them. For example: `GET /api/v2/metrics?filter[tags]=env:prod&window[seconds]=86400&page[size]=500`. operationId: ListTagConfigurations parameters: - - description: Filter custom metrics that have configured tags. + - description: Only return custom metrics that have been configured (`true`) or not configured (`false`) with Metrics Without Limits. example: true in: query name: filter[configured] required: false schema: type: boolean - - description: Filter tag configurations by configured tags. - example: app + - description: Only return metrics that are eligible (`true`) or ineligible (`false`) for configuration with Metrics Without Limits. + example: true + in: query + name: filter[is_configurable] + required: false + schema: + type: boolean + - description: Only return metrics that have the given tag key(s) in their Metrics Without Limits configuration (included or excluded). + example: app,env in: query name: filter[tags_configured] required: false schema: description: Tag keys to filter by. type: string - - description: Filter metrics by metric type. + - description: Only return metrics of the given metric type. in: query name: filter[metric_type] required: false schema: $ref: '#/components/schemas/MetricTagConfigurationMetricTypeCategory' - - description: |- - Filter distributions with additional percentile - aggregations enabled or disabled. + - description: Only return distribution metrics that have percentile aggregations enabled (true) or disabled (false). example: true in: query name: filter[include_percentiles] required: false schema: type: boolean - - description: >- - (Preview) Filter custom metrics that have or have not been queried - in the specified window[seconds]. - - If no window is provided or the window is less than 2 hours, a - default of 2 hours will be applied. + - description: Only return metrics that have been queried (true) or not queried (false) in the look back window. Set the window with `filter[queried][window][seconds]`; if omitted, a default window is used. example: true in: query name: filter[queried] required: false schema: type: boolean - - description: >- - Filter metrics that have been submitted with the given tags. - Supports boolean and wildcard expressions. - - Can only be combined with the filter[queried] filter. - example: env IN (staging,test) AND service:web + - description: 'This parameter has no effect unless `filter[queried]` is also set. Only return metrics that have been queried or not queried in the specified window. The default value is 2,592,000 seconds (30 days), the maximum value is 15,552,000 seconds (180 days), and the minimum value is 1 second. For example: `filter[queried]=true&filter[queried][window][seconds]=604800`.' + example: 15552000 + in: query + name: filter[queried][window][seconds] + required: false + schema: + default: 2592000 + format: int64 + maximum: 15552000 + minimum: 1 + type: integer + - description: 'Only return metrics that were submitted with tags matching this expression. You can use AND, OR, IN, and wildcards. For example: `filter[tags]=env IN (staging,test) AND service:web*`.' + example: env IN (staging,test) AND service:web* in: query name: filter[tags] required: false schema: type: string - - description: >- - (Preview) Filter metrics that are used in dashboards, monitors, - notebooks, SLOs. + - description: Only return metrics that are used in at least one dashboard, monitor, notebook, or SLO. example: true in: query name: filter[related_assets] required: false schema: type: boolean - - description: >- - The number of seconds of look back (from now) to apply to a - filter[tag] or filter[queried] query. - - Default value is 3600 (1 hour), maximum value is 2,592,000 (30 - days). + - description: Include related resources in the response. Set to `metric_volumes` to include indexed and ingested volume counts for each metric. + example: metric_volumes + in: query + name: include + required: false + schema: + type: string + - description: 'Sort results by metric volume. Prefix a key with `-` for descending order. Supported keys: `metric_volumes.indexed_volume`, `metric_volumes.ingested_volume`, `metric_volumes.indexed_volume_delta`, `metric_volumes.ingested_volume_delta`. Requires a paginated request (`page[size]` or `page[cursor]`).' + example: '-metric_volumes.indexed_volume' + in: query + name: sort + required: false + schema: + type: string + - description: Only return metrics that have been actively reporting in the specified window. The default value is 3600 seconds (1 hour), the maximum value is 2,592,000 seconds (30 days), and the minimum value is 1 second. example: 3600 in: query name: window[seconds] required: false schema: + default: 3600 format: int64 + maximum: 2592000 + minimum: 1 type: integer - - description: Maximum number of results returned. + - description: Maximum number of results per page. Send `page[size]` on the first request to opt in to pagination. On each subsequent request, send `page[cursor]` set to the value of `meta.pagination.next_cursor` from the previous response. The default value is 10000, the maximum value is 10000, and the minimum value is 1. in: query name: page[size] required: false @@ -299,14 +611,7 @@ paths: maximum: 10000 minimum: 1 type: integer - - description: >- - String to query the next page of results. - - This key is provided with each valid response from the API in - `meta.pagination.next_cursor`. - - Once the `meta.pagination.next_cursor` key is null, all pages have - been retrieved. + - description: Cursor for pagination. Use `page[size]` to opt-in to pagination and get the first page; for subsequent pages, use the value from `meta.pagination.next_cursor` in the response. Pagination is complete when `next_cursor` is null. in: query name: page[cursor] required: false @@ -316,6 +621,52 @@ paths: '200': content: application/json: + examples: + default: + value: + data: + - id: system.cpu.user + type: metrics + - attributes: + created_at: '2020-03-25T09:48:37.463835Z' + metric_type: gauge + modified_at: '2020-04-25T09:48:37.463835Z' + tags: + - app + - datacenter + id: http.endpoint.request + type: manage_tags + meta: + pagination: + next_cursor: eyJhZnRlciI6Imh0dHAuZW5kcG9pbnQucmVxdWVzdCJ9 + with_metric_volumes: + value: + data: + - id: user.custom.cpu.usage + relationships: + metric_volumes: + data: + id: user.custom.cpu.usage + type: metric_volumes + type: metrics + - id: user.custom.mem.usage + relationships: + metric_volumes: + data: + id: user.custom.mem.usage + type: metric_volumes + type: metrics + included: + - attributes: + indexed_volume: 1000 + ingested_volume: 456 + id: user.custom.cpu.usage + type: metric_volumes + - attributes: + indexed_volume: 250 + ingested_volume: 1011 + id: user.custom.mem.usage + type: metric_volumes schema: $ref: '#/components/schemas/MetricsAndMetricTagConfigurationsResponse' description: Success @@ -356,21 +707,28 @@ paths: - metrics_read /api/v2/metrics/config/bulk-tags: delete: - description: >- - Delete all custom lists of queryable tag keys for a set of existing - count, gauge, rate, and distribution metrics. + deprecated: true + description: |- + **Note**: This endpoint is deprecated. Use [Tag Indexing Rules](/api/latest/metrics/#create-a-tag-indexing-rule) (`POST /api/v2/metrics/tag-indexing-rules`) instead. + Delete all custom lists of queryable tag keys for a set of existing count, gauge, rate, and distribution metrics. Metrics are selected by passing a metric name prefix. - - Results can be sent to a set of account email addresses, just like the - same operation in the Datadog web app. - - Can only be used with application keys of users with the `Manage Tags - for Metrics` permission. + Results can be sent to a set of account email addresses, just like the same operation in the Datadog web app. + Can only be used with application keys of users with the `Manage Tags for Metrics` permission. operationId: DeleteBulkTagsMetricsConfiguration requestBody: content: application/json: + examples: + default: + value: + data: + attributes: + emails: + - sue@example.com + - bob@example.com + id: kafka.lag + type: metric_bulk_configure_tags schema: $ref: '#/components/schemas/MetricBulkTagConfigDeleteRequest' required: true @@ -378,6 +736,16 @@ paths: '202': content: application/json: + examples: + default: + value: + data: + attributes: + emails: + - test@example.com + status: Accepted + id: kafka.lag + type: metric_bulk_configure_tags schema: $ref: '#/components/schemas/MetricBulkTagConfigResponse' description: Accepted @@ -413,32 +781,37 @@ paths: operator: OR permissions: - metric_tags_write + x-sunset: '2027-01-01' post: - description: >- - Create and define a list of queryable tag keys for a set of existing - count, gauge, rate, and distribution metrics. - - Metrics are selected by passing a metric name prefix. Use the Delete - method of this API path to remove tag configurations. - - Results can be sent to a set of account email addresses, just like the - same operation in the Datadog web app. - - If multiple calls include the same metric, the last configuration - applied (not by submit order) is used, do not - - expect deterministic ordering of concurrent calls. The - `exclude_tags_mode` value will set all metrics that match the prefix to - - the same exclusion state, metric tag configurations do not support mixed - inclusion and exclusion for tags on the same metric. + deprecated: true + description: |- + **Note**: This endpoint is deprecated. Use [Tag Indexing Rules](/api/latest/metrics/#create-a-tag-indexing-rule) (`POST /api/v2/metrics/tag-indexing-rules`) instead. - Can only be used with application keys of users with the `Manage Tags - for Metrics` permission. + Create and define a list of queryable tag keys for a set of existing count, gauge, rate, and distribution metrics. + Metrics are selected by passing a metric name prefix. Use the Delete method of this API path to remove tag configurations. + Results can be sent to a set of account email addresses, just like the same operation in the Datadog web app. + If multiple calls include the same metric, the last configuration applied (not by submit order) is used, do not + expect deterministic ordering of concurrent calls. The `exclude_tags_mode` value will set all metrics that match the prefix to + the same exclusion state, metric tag configurations do not support mixed inclusion and exclusion for tags on the same metric. + Can only be used with application keys of users with the `Manage Tags for Metrics` permission. operationId: CreateBulkTagsMetricsConfiguration requestBody: content: application/json: + examples: + default: + value: + data: + attributes: + emails: + - sue@example.com + - bob@example.com + tags: + - host + - pod_name + - is_shadow + id: kafka.lag + type: metric_bulk_configure_tags schema: $ref: '#/components/schemas/MetricBulkTagConfigCreateRequest' required: true @@ -446,6 +819,17 @@ paths: '202': content: application/json: + examples: + default: + value: + data: + attributes: + emails: + - test@example.com + tags: + - host + id: kafka.lag + type: metric_bulk_configure_tags schema: $ref: '#/components/schemas/MetricBulkTagConfigResponse' description: Accepted @@ -481,270 +865,365 @@ paths: operator: OR permissions: - metric_tags_write - /api/v2/metrics/{metric_name}/active-configurations: - get: - description: >- - List tags and aggregations that are actively queried on dashboards, - notebooks, monitors, the Metrics Explorer, and using the API for a given - metric name. - operationId: ListActiveMetricConfigurations - parameters: - - $ref: '#/components/parameters/MetricName' - - description: >- - The number of seconds of look back (from now). - - Default value is 604,800 (1 week), minimum value is 7200 (2 hours), - maximum value is 2,630,000 (1 month). - example: 7200 - in: query - name: window[seconds] - required: false - schema: - format: int64 - type: integer + x-sunset: '2027-01-01' + /api/v2/metrics/historical-metrics-configurations: + post: + description: |- + Enable historical metrics ingestion (late data ingestion) for a metric. Idempotent: + enabling an already-enabled metric returns 200 instead of 201. Not supported for + distribution metrics, metrics with an existing tag configuration, or most standard + (non-custom) metrics. + operationId: CreateHistoricalMetricsConfiguration + requestBody: + content: + application/json: + examples: + default: + value: + data: + id: dd.test.metric + type: historical_metrics_configurations + schema: + $ref: '#/components/schemas/HistoricalMetricsConfigurationCreateRequest' + required: true responses: '200': content: application/json: + examples: + default: + value: + data: + attributes: + created_at: '2024-01-15T12:00:00.000Z' + id: dd.test.metric + type: historical_metrics_configurations schema: - $ref: >- - #/components/schemas/MetricSuggestedTagsAndAggregationsResponse - description: Success - '400': + $ref: '#/components/schemas/HistoricalMetricsConfigurationResponse' + description: OK + '201': content: application/json: + examples: + default: + value: + data: + attributes: + created_at: '2024-01-15T12:00:00.000Z' + id: dd.test.metric + type: historical_metrics_configurations schema: - $ref: '#/components/schemas/APIErrorResponse' - description: Bad Request - '403': + $ref: '#/components/schemas/HistoricalMetricsConfigurationResponse' + description: Created + '400': content: application/json: schema: - $ref: '#/components/schemas/APIErrorResponse' - description: Forbidden + $ref: '#/components/schemas/JSONAPIErrorResponse' + description: Bad Request '404': content: application/json: schema: - $ref: '#/components/schemas/APIErrorResponse' + $ref: '#/components/schemas/JSONAPIErrorResponse' description: Not Found + '422': + content: + application/json: + schema: + $ref: '#/components/schemas/JSONAPIErrorResponse' + description: Unprocessable Entity '429': + $ref: '#/components/responses/TooManyRequestsResponse' + security: + - apiKeyAuth: [] + appKeyAuth: [] + - AuthZ: + - late_metrics_config_write + summary: Enable historical metrics ingestion + tags: + - Metrics + x-codegen-request-body-name: body + x-permission: + operator: OR + permissions: + - late_metrics_config_write + x-unstable: |- + **Note**: This endpoint is in preview and is subject to change. + If you have any feedback, contact [Datadog support](https://docs.datadoghq.com/help/). + /api/v2/metrics/historical-metrics-configurations/{metric_name}: + delete: + description: |- + Disable historical metrics ingestion for a metric. Idempotent: always returns 204, + whether or not the configuration existed or the metric itself still exists, so that + Terraform destroy succeeds for a metric removed out-of-band. + operationId: DeleteHistoricalMetricsConfiguration + parameters: + - $ref: '#/components/parameters/MetricName' + responses: + '204': + description: No Content + '400': content: application/json: schema: - $ref: '#/components/schemas/APIErrorResponse' - description: Too Many Requests - summary: List active tags and aggregations + $ref: '#/components/schemas/JSONAPIErrorResponse' + description: Bad Request + '429': + $ref: '#/components/responses/TooManyRequestsResponse' + security: + - apiKeyAuth: [] + appKeyAuth: [] + - AuthZ: + - late_metrics_config_write + summary: Delete a historical metrics configuration tags: - Metrics x-permission: operator: OR permissions: - - metrics_read - /api/v2/metrics/{metric_name}/all-tags: + - late_metrics_config_write + x-unstable: |- + **Note**: This endpoint is in preview and is subject to change. + If you have any feedback, contact [Datadog support](https://docs.datadoghq.com/help/). get: - description: >- - View indexed tag key-value pairs for a given metric name over the - previous hour. - operationId: ListTagsByMetricName + description: |- + Get the historical metrics ingestion configuration for a metric. Existence of the + resource means historical metrics ingestion is enabled; returns 404 when it is not + enabled for the metric. + operationId: GetHistoricalMetricsConfiguration parameters: - $ref: '#/components/parameters/MetricName' responses: '200': content: application/json: + examples: + default: + value: + data: + attributes: + created_at: '2024-01-15T12:00:00.000Z' + id: dd.test.metric + type: historical_metrics_configurations schema: - $ref: '#/components/schemas/MetricAllTagsResponse' - description: Success + $ref: '#/components/schemas/HistoricalMetricsConfigurationResponse' + description: OK '400': content: application/json: schema: - $ref: '#/components/schemas/APIErrorResponse' + $ref: '#/components/schemas/JSONAPIErrorResponse' description: Bad Request - '403': - content: - application/json: - schema: - $ref: '#/components/schemas/APIErrorResponse' - description: Forbidden '404': content: application/json: schema: - $ref: '#/components/schemas/APIErrorResponse' + $ref: '#/components/schemas/JSONAPIErrorResponse' description: Not Found '429': - content: - application/json: - schema: - $ref: '#/components/schemas/APIErrorResponse' - description: Too Many Requests + $ref: '#/components/responses/TooManyRequestsResponse' security: - apiKeyAuth: [] appKeyAuth: [] - AuthZ: - metrics_read - summary: List tags by metric name + summary: Get a historical metrics configuration tags: - Metrics x-permission: operator: OR permissions: - metrics_read - /api/v2/metrics/{metric_name}/assets: + x-unstable: |- + **Note**: This endpoint is in preview and is subject to change. + If you have any feedback, contact [Datadog support](https://docs.datadoghq.com/help/). + /api/v2/metrics/tag-indexing-rules: get: - description: >- - Returns dashboards, monitors, notebooks, and SLOs that a metric is - stored in, if any. Updated every 24 hours. - operationId: ListMetricAssets + description: List tag indexing rules for an org, sorted by `rule_order`, with offset/limit pagination. + operationId: ListTagIndexingRules parameters: - - $ref: '#/components/parameters/MetricName' + - description: Page size (1–1000, default 100). + in: query + name: page[limit] + schema: + format: int64 + type: integer + - description: Page offset from the start of the list (default 0). + in: query + name: page[offset] + schema: + format: int64 + type: integer + - description: Substring filter on rule name. + in: query + name: search + schema: + type: string responses: '200': content: application/json: + examples: + default: + value: + data: + - attributes: + exclude_tags_mode: false + metric_name_matches: + - dd.test.* + name: my-indexing-rule + rule_order: 1 + tags: + - env + - service + id: 00000000-0000-0000-0000-000000000001 + type: tag_indexing_rules + meta: + total: 1 schema: - $ref: '#/components/schemas/MetricAssetsResponse' - description: Success + $ref: '#/components/schemas/TagIndexingRulesResponse' + description: OK '400': content: application/json: schema: - $ref: '#/components/schemas/APIErrorResponse' - description: API error response. + $ref: '#/components/schemas/JSONAPIErrorResponse' + description: Bad Request '403': content: application/json: schema: - $ref: '#/components/schemas/APIErrorResponse' - description: API error response. - '404': - content: - application/json: - schema: - $ref: '#/components/schemas/APIErrorResponse' - description: API error response. + $ref: '#/components/schemas/JSONAPIErrorResponse' + description: Forbidden '429': content: application/json: schema: - $ref: '#/components/schemas/APIErrorResponse' + $ref: '#/components/schemas/JSONAPIErrorResponse' description: Too Many Requests security: - apiKeyAuth: [] appKeyAuth: [] - - AuthZ: [] - summary: Related Assets to a Metric + - AuthZ: + - metrics_read + summary: List tag indexing rules tags: - Metrics - /api/v2/metrics/{metric_name}/estimate: - get: - description: >- - Returns the estimated cardinality for a metric with a given tag, - percentile and number of aggregations configuration using Metrics - without Limits™. - operationId: EstimateMetricsOutputSeries - parameters: - - $ref: '#/components/parameters/MetricName' - - description: Filtered tag keys that the metric is configured to query with. - example: app,host - in: query - name: filter[groups] - required: false - schema: - type: string - - description: >- - The number of hours of look back (from now) to estimate cardinality - with. If unspecified, it defaults to 0 hours. - example: 49 - in: query - name: filter[hours_ago] - required: false - schema: - format: int32 - maximum: 2147483647 - minimum: 49 - type: integer - - description: Deprecated. Number of aggregations has no impact on volume. - example: 1 - in: query - name: filter[num_aggregations] - required: false - schema: - format: int32 - maximum: 9 - type: integer - - description: >- - A boolean, for distribution metrics only, to estimate cardinality if - the metric includes additional percentile aggregators. - example: true - in: query - name: filter[pct] - required: false - schema: - type: boolean - - description: >- - A window, in hours, from the look back to estimate cardinality with. - The minimum and default is 1 hour. - example: 6 - in: query - name: filter[timespan_h] - required: false - schema: - format: int32 - maximum: 2147483647 - type: integer + x-permission: + operator: OR + permissions: + - metrics_read + x-unstable: |- + **Note**: The Tag Indexing Rules feature is currently in Preview. + If you have any feedback, contact [Datadog support](https://docs.datadoghq.com/help/). + post: + description: |- + Create a tag indexing rule for the org. `rule_order` is assigned server-side as max+1 + among existing rules; use the reorder endpoint to change the evaluation order. + Requires the `Manage Tags for Metrics` permission. + operationId: CreateTagIndexingRule + requestBody: + content: + application/json: + examples: + default: + value: + data: + attributes: + metric_name_matches: + - dd.test.* + name: my-indexing-rule + tags: + - env + - service + type: tag_indexing_rules + schema: + $ref: '#/components/schemas/TagIndexingRuleCreateRequest' + required: true responses: - '200': + '201': content: application/json: + examples: + default: + value: + data: + attributes: + created_at: '2024-01-15T12:00:00.000Z' + exclude_tags_mode: false + metric_name_matches: + - dd.test.* + name: my-indexing-rule + rule_order: 1 + tags: + - env + - service + id: 00000000-0000-0000-0000-000000000001 + type: tag_indexing_rules schema: - $ref: '#/components/schemas/MetricEstimateResponse' - description: Success + $ref: '#/components/schemas/TagIndexingRuleResponse' + description: Created '400': content: application/json: schema: - $ref: '#/components/schemas/APIErrorResponse' - description: API error response. + $ref: '#/components/schemas/JSONAPIErrorResponse' + description: Bad Request '403': content: application/json: schema: - $ref: '#/components/schemas/APIErrorResponse' - description: API error response. - '404': - content: - application/json: - schema: - $ref: '#/components/schemas/APIErrorResponse' - description: API error response. + $ref: '#/components/schemas/JSONAPIErrorResponse' + description: Forbidden '429': content: application/json: schema: - $ref: '#/components/schemas/APIErrorResponse' + $ref: '#/components/schemas/JSONAPIErrorResponse' description: Too Many Requests - summary: Tag Configuration Cardinality Estimator + security: + - apiKeyAuth: [] + appKeyAuth: [] + - AuthZ: + - metric_tags_write + summary: Create a tag indexing rule tags: - Metrics + x-codegen-request-body-name: body x-permission: - operator: OPEN - permissions: [] - /api/v2/metrics/{metric_name}/tag-cardinalities: - get: - description: Returns the cardinality details of tags for a specific metric. - operationId: GetMetricTagCardinalityDetails - parameters: - - $ref: '#/components/parameters/MetricName' + operator: OR + permissions: + - metric_tags_write + x-unstable: |- + **Note**: The Tag Indexing Rules feature is currently in Preview. + If you have any feedback, contact [Datadog support](https://docs.datadoghq.com/help/). + /api/v2/metrics/tag-indexing-rules/order: + post: + description: |- + Atomically re-sequence the tag indexing rules for an org to match the supplied list of rule UUIDs. + The server assigns `rule_order` 1, 2, … matching each rule UUID by position in the list. + The UUIDs of all active rules must be provided; omitting any active rule UUID returns a 400 error. + Requires the `Manage Tags for Metrics` permission. + operationId: ReorderTagIndexingRules + requestBody: + content: + application/json: + examples: + default: + value: + data: + attributes: + rule_ids: + - 00000000-0000-0000-0000-000000000001 + - 00000000-0000-0000-0000-000000000002 + type: tag_indexing_rules + schema: + $ref: '#/components/schemas/TagIndexingRuleOrderRequest' + required: true responses: - '200': - content: - application/json: - schema: - $ref: '#/components/schemas/MetricTagCardinalitiesResponse' - description: Success + '204': + description: No Content '400': content: application/json: @@ -769,147 +1248,218 @@ paths: schema: $ref: '#/components/schemas/JSONAPIErrorResponse' description: Too Many Requests - summary: Get tag key cardinality details + security: + - apiKeyAuth: [] + appKeyAuth: [] + - AuthZ: + - metric_tags_write + summary: Reorder tag indexing rules tags: - Metrics + x-codegen-request-body-name: body x-permission: operator: OR permissions: - - metrics_read - /api/v2/metrics/{metric_name}/tags: + - metric_tags_write + x-unstable: |- + **Note**: The Tag Indexing Rules feature is currently in Preview. + If you have any feedback, contact [Datadog support](https://docs.datadoghq.com/help/). + /api/v2/metrics/tag-indexing-rules/{id}: delete: description: |- - Deletes a metric's tag configuration. Can only be used with application - keys from users with the `Manage Tags for Metrics` permission. - operationId: DeleteTagConfiguration + Soft-delete a tag indexing rule. Idempotent: returns 204 whether the rule existed or was already deleted. + Remaining rules in the org are automatically re-sequenced to keep `rule_order` dense and 1-based. + Requires the `Manage Tags for Metrics` permission. + operationId: DeleteTagIndexingRule parameters: - - $ref: '#/components/parameters/MetricName' + - $ref: '#/components/parameters/TagIndexingRuleId' responses: '204': description: No Content - '403': + '400': content: application/json: schema: - $ref: '#/components/schemas/APIErrorResponse' - description: Forbidden - '404': + $ref: '#/components/schemas/JSONAPIErrorResponse' + description: Bad Request + '403': content: application/json: schema: - $ref: '#/components/schemas/APIErrorResponse' - description: Not found + $ref: '#/components/schemas/JSONAPIErrorResponse' + description: Forbidden '429': content: application/json: schema: - $ref: '#/components/schemas/APIErrorResponse' + $ref: '#/components/schemas/JSONAPIErrorResponse' description: Too Many Requests - summary: Delete a tag configuration + security: + - apiKeyAuth: [] + appKeyAuth: [] + - AuthZ: + - metric_tags_write + summary: Delete a tag indexing rule tags: - Metrics x-permission: operator: OR permissions: - metric_tags_write + x-unstable: |- + **Note**: The Tag Indexing Rules feature is currently in Preview. + If you have any feedback, contact [Datadog support](https://docs.datadoghq.com/help/). get: - description: Returns the tag configuration for the given metric name. - operationId: ListTagConfigurationByName + description: Get a single tag indexing rule by its UUID. + operationId: GetTagIndexingRule parameters: - - $ref: '#/components/parameters/MetricName' + - $ref: '#/components/parameters/TagIndexingRuleId' responses: '200': content: application/json: + examples: + default: + value: + data: + attributes: + created_at: '2024-01-15T12:00:00.000Z' + exclude_tags_mode: false + metric_name_matches: + - dd.test.* + name: my-indexing-rule + rule_order: 1 + tags: + - env + - service + id: 00000000-0000-0000-0000-000000000001 + type: tag_indexing_rules schema: - $ref: '#/components/schemas/MetricTagConfigurationResponse' - description: Success + $ref: '#/components/schemas/TagIndexingRuleResponse' + description: OK + '400': + content: + application/json: + schema: + $ref: '#/components/schemas/JSONAPIErrorResponse' + description: Bad Request '403': content: application/json: schema: - $ref: '#/components/schemas/APIErrorResponse' + $ref: '#/components/schemas/JSONAPIErrorResponse' description: Forbidden '404': content: application/json: schema: - $ref: '#/components/schemas/APIErrorResponse' + $ref: '#/components/schemas/JSONAPIErrorResponse' description: Not Found '429': content: application/json: schema: - $ref: '#/components/schemas/APIErrorResponse' + $ref: '#/components/schemas/JSONAPIErrorResponse' description: Too Many Requests security: - apiKeyAuth: [] appKeyAuth: [] - AuthZ: - metrics_read - summary: List tag configuration by name + summary: Get a tag indexing rule tags: - Metrics x-permission: operator: OR permissions: - metrics_read - patch: - description: >- - Update the tag configuration of a metric or percentile aggregations of a - distribution metric or custom aggregations - - of a count, rate, or gauge metric. By setting `exclude_tags_mode` to - true the behavior is changed - - from an allow-list to a deny-list, and tags in the defined list will not - be queryable. - - Can only be used with application keys from users with the `Manage Tags - for Metrics` permission. This endpoint requires - - a tag configuration to be created first. - operationId: UpdateTagConfiguration + x-unstable: |- + **Note**: The Tag Indexing Rules feature is currently in Preview. + If you have any feedback, contact [Datadog support](https://docs.datadoghq.com/help/). + put: + description: |- + Partially update a tag indexing rule. Fields omitted from the request body are left unchanged. + Setting `rule_order` to a value already used by another rule returns 409; use the + reorder endpoint for atomic re-sequencing. Requires the `Manage Tags for Metrics` permission. + operationId: UpdateTagIndexingRule parameters: - - $ref: '#/components/parameters/MetricName' + - $ref: '#/components/parameters/TagIndexingRuleId' requestBody: content: application/json: + examples: + default: + value: + data: + attributes: + name: my-updated-rule + tags: + - env + - service + - version + type: tag_indexing_rules schema: - $ref: '#/components/schemas/MetricTagConfigurationUpdateRequest' + $ref: '#/components/schemas/TagIndexingRuleUpdateRequest' required: true responses: '200': content: application/json: + examples: + default: + value: + data: + attributes: + exclude_tags_mode: false + metric_name_matches: + - dd.test.* + name: my-updated-rule + rule_order: 1 + tags: + - env + - service + - version + id: 00000000-0000-0000-0000-000000000001 + type: tag_indexing_rules schema: - $ref: '#/components/schemas/MetricTagConfigurationResponse' + $ref: '#/components/schemas/TagIndexingRuleResponse' description: OK '400': content: application/json: schema: - $ref: '#/components/schemas/APIErrorResponse' + $ref: '#/components/schemas/JSONAPIErrorResponse' description: Bad Request '403': content: application/json: schema: - $ref: '#/components/schemas/APIErrorResponse' + $ref: '#/components/schemas/JSONAPIErrorResponse' description: Forbidden - '422': + '404': content: application/json: schema: - $ref: '#/components/schemas/APIErrorResponse' - description: Unprocessable Entity + $ref: '#/components/schemas/JSONAPIErrorResponse' + description: Not Found + '409': + content: + application/json: + schema: + $ref: '#/components/schemas/JSONAPIErrorResponse' + description: Conflict '429': content: application/json: schema: - $ref: '#/components/schemas/APIErrorResponse' + $ref: '#/components/schemas/JSONAPIErrorResponse' description: Too Many Requests - summary: Update a tag configuration + security: + - apiKeyAuth: [] + appKeyAuth: [] + - AuthZ: + - metric_tags_write + summary: Update a tag indexing rule tags: - Metrics x-codegen-request-body-name: body @@ -917,37 +1467,44 @@ paths: operator: OR permissions: - metric_tags_write - post: - description: >- - Create and define a list of queryable tag keys for an existing - count/gauge/rate/distribution metric. - - Optionally, include percentile aggregations on any distribution metric. - By setting `exclude_tags_mode` - - to true, the behavior is changed from an allow-list to a deny-list, and - tags in the defined list are - - not queryable. Can only be used with application keys of users with the - `Manage Tags for Metrics` - - permission. - operationId: CreateTagConfiguration + x-unstable: |- + **Note**: The Tag Indexing Rules feature is currently in Preview. + If you have any feedback, contact [Datadog support](https://docs.datadoghq.com/help/). + /api/v2/metrics/{metric_name}/active-configurations: + get: + description: List tags and aggregations that are actively queried on dashboards, notebooks, monitors, the Metrics Explorer, and using the API for a given metric name. + operationId: ListActiveMetricConfigurations parameters: - $ref: '#/components/parameters/MetricName' - requestBody: - content: - application/json: - schema: - $ref: '#/components/schemas/MetricTagConfigurationCreateRequest' - required: true + - description: |- + The number of seconds of look back (from now). + Default value is 604,800 (1 week), minimum value is 7200 (2 hours), maximum value is 2,630,000 (1 month). + example: 7200 + in: query + name: window[seconds] + required: false + schema: + format: int64 + type: integer responses: - '201': + '200': content: application/json: + examples: + default: + value: + data: + attributes: + active_aggregations: + - space: avg + time: avg + active_tags: + - app + id: http.endpoint.request + type: actively_queried_configurations schema: - $ref: '#/components/schemas/MetricTagConfigurationResponse' - description: Created + $ref: '#/components/schemas/MetricSuggestedTagsAndAggregationsResponse' + description: Success '400': content: application/json: @@ -960,422 +1517,1880 @@ paths: schema: $ref: '#/components/schemas/APIErrorResponse' description: Forbidden - '409': + '404': content: application/json: schema: $ref: '#/components/schemas/APIErrorResponse' - description: Conflict + description: Not Found '429': content: application/json: schema: $ref: '#/components/schemas/APIErrorResponse' description: Too Many Requests - summary: Create a tag configuration + summary: List active tags and aggregations tags: - Metrics - x-codegen-request-body-name: body x-permission: operator: OR permissions: - - metric_tags_write - /api/v2/metrics/{metric_name}/volumes: + - metrics_read + /api/v2/metrics/{metric_name}/all-tags: get: - description: >- - View distinct metrics volumes for the given metric name. - - - Custom metrics generated in-app from other products will return `null` - for ingested volumes. - operationId: ListVolumesByMetricName + description: |- + View indexed and ingested tags for a given metric name. + Results are filtered by the `window[seconds]` parameter, which defaults to 14400 (4 hours). + operationId: ListTagsByMetricName parameters: - $ref: '#/components/parameters/MetricName' - responses: - '200': - content: - application/json: - schema: - $ref: '#/components/schemas/MetricVolumesResponse' - description: Success - '400': - content: - application/json: - schema: - $ref: '#/components/schemas/APIErrorResponse' - description: Bad Request + - description: |- + The number of seconds of look back (from now) to query for tag data. + Default value is 14400 (4 hours), minimum value is 14400 (4 hours). + example: 14400 + in: query + name: window[seconds] + required: false + schema: + format: int64 + type: integer + - description: |- + Filter results to tags from data points that have the specified tags. + For example, `filter[tags]=env:staging,host:123` returns tags only from data points with both `env:staging` and `host:123`. + example: env:staging,host:123 + in: query + name: filter[tags] + required: false + schema: + type: string + - description: |- + Filter returned tags to those matching a substring. + For example, `filter[match]=env` returns tags like `env:prod`, `environment:staging`, etc. + example: env + in: query + name: filter[match] + required: false + schema: + type: string + - description: |- + Whether to include tag values in the response. + Defaults to true. + example: true + in: query + name: filter[include_tag_values] + required: false + schema: + type: boolean + - description: |- + Whether to allow partial results. + Defaults to false. + example: false + in: query + name: filter[allow_partial] + required: false + schema: + type: boolean + - description: Maximum number of results to return. + example: 1000 + in: query + name: page[limit] + required: false + schema: + default: 1000000 + format: int32 + maximum: 1000000 + minimum: 1 + type: integer + responses: + '200': + content: + application/json: + examples: + default: + value: + data: + attributes: + tags: + - env:prod + - host:myhost + id: system.cpu.user + type: metrics + schema: + $ref: '#/components/schemas/MetricAllTagsResponse' + description: Success + '400': + content: + application/json: + schema: + $ref: '#/components/schemas/APIErrorResponse' + description: Bad Request + '403': + content: + application/json: + schema: + $ref: '#/components/schemas/APIErrorResponse' + description: Forbidden + '404': + content: + application/json: + schema: + $ref: '#/components/schemas/APIErrorResponse' + description: Not Found + '429': + content: + application/json: + schema: + $ref: '#/components/schemas/APIErrorResponse' + description: Too Many Requests + security: + - apiKeyAuth: [] + appKeyAuth: [] + - AuthZ: + - metrics_read + summary: List tags by metric name + tags: + - Metrics + x-permission: + operator: OR + permissions: + - metrics_read + /api/v2/metrics/{metric_name}/assets: + get: + description: Returns dashboards, monitors, notebooks, and SLOs that a metric is stored in, if any. Updated every 24 hours. + operationId: ListMetricAssets + parameters: + - $ref: '#/components/parameters/MetricName' + responses: + '200': + content: + application/json: + examples: + default: + value: + data: + id: http.endpoint.request + relationships: + dashboards: + data: + - id: abc-def-xyz + type: dashboards + monitors: + data: + - id: '1775073' + type: monitors + notebooks: + data: [] + slos: + data: [] + type: metrics + included: + - attributes: + popularity: 3 + title: My Dashboard + url: /dashboard/abc-def-xyz + id: abc-def-xyz + type: dashboards + - attributes: + title: CPU utilization is high + url: /monitors/1775073 + id: '1775073' + type: monitors + schema: + $ref: '#/components/schemas/MetricAssetsResponse' + description: Success + '400': + content: + application/json: + schema: + $ref: '#/components/schemas/APIErrorResponse' + description: API error response. + '403': + content: + application/json: + schema: + $ref: '#/components/schemas/APIErrorResponse' + description: API error response. + '404': + content: + application/json: + schema: + $ref: '#/components/schemas/APIErrorResponse' + description: API error response. + '429': + content: + application/json: + schema: + $ref: '#/components/schemas/APIErrorResponse' + description: Too Many Requests + security: + - apiKeyAuth: [] + appKeyAuth: [] + - AuthZ: [] + summary: Related Assets to a Metric + tags: + - Metrics + /api/v2/metrics/{metric_name}/estimate: + get: + description: Returns the estimated cardinality for a metric with a given tag, percentile and number of aggregations configuration using Metrics without Limits™. + operationId: EstimateMetricsOutputSeries + parameters: + - $ref: '#/components/parameters/MetricName' + - description: 'Comma-separated list of tag keys that the metric is configured to query with. For example: `filter[groups]=app,host`.' + example: app,host + in: query + name: filter[groups] + required: false + schema: + type: string + - description: When `true`, `filter[groups]` is treated as an exclude list instead of an include list. Defaults to `false`. + example: false + in: query + name: filter[exclude_tags_mode] + required: false + schema: + type: boolean + - description: The number of hours of look back (from now) to estimate cardinality with. If unspecified, it defaults to 0 hours. + example: 49 + in: query + name: filter[hours_ago] + required: false + schema: + format: int32 + maximum: 2147483647 + minimum: 49 + type: integer + - description: Deprecated. Number of aggregations has no impact on volume. + example: 1 + in: query + name: filter[num_aggregations] + required: false + schema: + format: int32 + maximum: 9 + type: integer + - description: Deprecated. This query parameter has no effect on the estimate. + example: true + in: query + name: filter[pct] + required: false + schema: + type: boolean + - description: A window, in hours, from the look back to estimate cardinality with. The minimum and default is 1 hour. + example: 6 + in: query + name: filter[timespan_h] + required: false + schema: + format: int32 + maximum: 2147483647 + type: integer + responses: + '200': + content: + application/json: + examples: + default: + value: + data: + attributes: + estimate_type: count_or_gauge + estimated_at: '2024-01-01T00:00:00+00:00' + estimated_output_series: 50 + id: system.cpu.user + type: metric_cardinality_estimate + schema: + $ref: '#/components/schemas/MetricEstimateResponse' + description: Success + '400': + content: + application/json: + schema: + $ref: '#/components/schemas/APIErrorResponse' + description: API error response. + '403': + content: + application/json: + schema: + $ref: '#/components/schemas/APIErrorResponse' + description: API error response. + '404': + content: + application/json: + schema: + $ref: '#/components/schemas/APIErrorResponse' + description: API error response. + '429': + content: + application/json: + schema: + $ref: '#/components/schemas/APIErrorResponse' + description: Too Many Requests + summary: Tag Configuration Cardinality Estimator + tags: + - Metrics + x-permission: + operator: OPEN + permissions: [] + /api/v2/metrics/{metric_name}/tag-cardinalities: + get: + description: Returns the cardinality details of tags for a specific metric. + operationId: GetMetricTagCardinalityDetails + parameters: + - $ref: '#/components/parameters/MetricName' + responses: + '200': + content: + application/json: + examples: + default: + value: + data: + - attributes: + cardinality_delta: 25 + id: host + type: tag_cardinality + - attributes: + cardinality_delta: 5 + id: env + type: tag_cardinality + meta: + metric_name: system.cpu.user + schema: + $ref: '#/components/schemas/MetricTagCardinalitiesResponse' + description: Success + '400': + content: + application/json: + schema: + $ref: '#/components/schemas/JSONAPIErrorResponse' + description: Bad Request + '403': + content: + application/json: + schema: + $ref: '#/components/schemas/JSONAPIErrorResponse' + description: Forbidden + '404': + content: + application/json: + schema: + $ref: '#/components/schemas/JSONAPIErrorResponse' + description: Not Found + '429': + content: + application/json: + schema: + $ref: '#/components/schemas/JSONAPIErrorResponse' + description: Too Many Requests + summary: Get tag key cardinality details + tags: + - Metrics + x-permission: + operator: OR + permissions: + - metrics_read + /api/v2/metrics/{metric_name}/tag-indexing-rule-exemptions: + delete: + description: |- + Remove a metric's exemption from tag indexing rules. Idempotent: returns 204 whether or not + an exemption existed. Any associated legacy tag configuration record is also removed. + Requires the `Manage Tags for Metrics` permission. + operationId: DeleteTagIndexingRuleExemption + parameters: + - $ref: '#/components/parameters/MetricName' + responses: + '204': + description: No Content + '400': + content: + application/json: + schema: + $ref: '#/components/schemas/JSONAPIErrorResponse' + description: Bad Request + '403': + content: + application/json: + schema: + $ref: '#/components/schemas/JSONAPIErrorResponse' + description: Forbidden + '429': + content: + application/json: + schema: + $ref: '#/components/schemas/JSONAPIErrorResponse' + description: Too Many Requests + security: + - apiKeyAuth: [] + appKeyAuth: [] + - AuthZ: + - metric_tags_write + summary: Delete a tag indexing rule exemption + tags: + - Metrics + x-permission: + operator: OR + permissions: + - metric_tags_write + x-unstable: |- + **Note**: The Tag Indexing Rules feature is currently in Preview. + If you have any feedback, contact [Datadog support](https://docs.datadoghq.com/help/). + get: + description: |- + Returns why a metric is excluded from tag indexing rules. + Returns 200 with `kind=exemption` when an explicit exemption exists, 200 with + `kind=legacy_tag_configuration` when the metric has a legacy tag configuration acting as an + implicit exclusion, or 404 when neither applies. + operationId: GetTagIndexingRuleExemption + parameters: + - $ref: '#/components/parameters/MetricName' + responses: + '200': + content: + application/json: + examples: + default: + value: + data: + attributes: + created_at: '2024-01-15T12:00:00.000Z' + created_by_handle: user@datadoghq.com + kind: exemption + reason: This metric has a pre-existing tag configuration. + id: dd.test.metric + type: tag_indexing_rule_exemptions + schema: + $ref: '#/components/schemas/TagIndexingRuleExemptionResponse' + description: OK + '400': + content: + application/json: + schema: + $ref: '#/components/schemas/JSONAPIErrorResponse' + description: Bad Request + '403': + content: + application/json: + schema: + $ref: '#/components/schemas/JSONAPIErrorResponse' + description: Forbidden + '404': + content: + application/json: + schema: + $ref: '#/components/schemas/JSONAPIErrorResponse' + description: Not Found + '429': + content: + application/json: + schema: + $ref: '#/components/schemas/JSONAPIErrorResponse' + description: Too Many Requests + security: + - apiKeyAuth: [] + appKeyAuth: [] + - AuthZ: + - metrics_read + summary: Get a tag indexing rule exemption + tags: + - Metrics + x-permission: + operator: OR + permissions: + - metrics_read + x-unstable: |- + **Note**: The Tag Indexing Rules feature is currently in Preview. + If you have any feedback, contact [Datadog support](https://docs.datadoghq.com/help/). + post: + description: |- + Exempt a metric from all tag indexing rules. The response includes the created + exemption resource. Requires the `Manage Tags for Metrics` permission. + operationId: CreateTagIndexingRuleExemption + parameters: + - $ref: '#/components/parameters/MetricName' + requestBody: + content: + application/json: + examples: + default: + value: + data: + attributes: + reason: This metric has a pre-existing tag configuration. + type: tag_indexing_rule_exemptions + schema: + $ref: '#/components/schemas/TagIndexingRuleExemptionCreateRequest' + required: true + responses: + '201': + content: + application/json: + examples: + default: + value: + data: + attributes: + created_at: '2024-01-15T12:00:00.000Z' + created_by_handle: user@datadoghq.com + kind: exemption + reason: This metric has a pre-existing tag configuration. + id: dd.test.metric + type: tag_indexing_rule_exemptions + schema: + $ref: '#/components/schemas/TagIndexingRuleExemptionResponse' + description: Created + '400': + content: + application/json: + schema: + $ref: '#/components/schemas/JSONAPIErrorResponse' + description: Bad Request + '403': + content: + application/json: + schema: + $ref: '#/components/schemas/JSONAPIErrorResponse' + description: Forbidden + '429': + content: + application/json: + schema: + $ref: '#/components/schemas/JSONAPIErrorResponse' + description: Too Many Requests + security: + - apiKeyAuth: [] + appKeyAuth: [] + - AuthZ: + - metric_tags_write + summary: Create a tag indexing rule exemption + tags: + - Metrics + x-codegen-request-body-name: body + x-permission: + operator: OR + permissions: + - metric_tags_write + x-unstable: |- + **Note**: The Tag Indexing Rules feature is currently in Preview. + If you have any feedback, contact [Datadog support](https://docs.datadoghq.com/help/). + /api/v2/metrics/{metric_name}/tag-indexing-rules: + get: + description: |- + List the tag indexing rules that apply to a given metric, sorted by `rule_order`. + Matching is performed server-side using each rule's `metric_name_matches` glob patterns. + operationId: ListTagIndexingRulesForMetric + parameters: + - $ref: '#/components/parameters/MetricName' + responses: + '200': + content: + application/json: + examples: + default: + value: + data: [] + meta: + total: 0 + schema: + $ref: '#/components/schemas/TagIndexingRulesResponse' + description: OK + '400': + content: + application/json: + schema: + $ref: '#/components/schemas/JSONAPIErrorResponse' + description: Bad Request + '403': + content: + application/json: + schema: + $ref: '#/components/schemas/JSONAPIErrorResponse' + description: Forbidden + '429': + content: + application/json: + schema: + $ref: '#/components/schemas/JSONAPIErrorResponse' + description: Too Many Requests + security: + - apiKeyAuth: [] + appKeyAuth: [] + - AuthZ: + - metrics_read + summary: List tag indexing rules for a metric + tags: + - Metrics + x-permission: + operator: OR + permissions: + - metrics_read + x-unstable: |- + **Note**: The Tag Indexing Rules feature is currently in Preview. + If you have any feedback, contact [Datadog support](https://docs.datadoghq.com/help/). + /api/v2/metrics/{metric_name}/tags: + delete: + description: |- + Deletes a metric's tag configuration. Can only be used with application + keys from users with the `Manage Tags for Metrics` permission. + Note: This operation is irreversible. + operationId: DeleteTagConfiguration + parameters: + - $ref: '#/components/parameters/MetricName' + responses: + '204': + description: No Content + '403': + content: + application/json: + schema: + $ref: '#/components/schemas/APIErrorResponse' + description: Forbidden + '404': + content: + application/json: + schema: + $ref: '#/components/schemas/APIErrorResponse' + description: Not found + '429': + content: + application/json: + schema: + $ref: '#/components/schemas/APIErrorResponse' + description: Too Many Requests + summary: Delete a tag configuration + tags: + - Metrics + x-permission: + operator: OR + permissions: + - metric_tags_write + get: + description: |- + Returns the tag configuration for the given metric name. + + A metric may exist and submit data without having a tag configuration. If no tag configuration exists + for the metric, this endpoint returns `404 Not Found`. This response does not indicate that the metric + itself is missing. + operationId: ListTagConfigurationByName + parameters: + - $ref: '#/components/parameters/MetricName' + responses: + '200': + content: + application/json: + examples: + default: + value: + data: + attributes: + metric_type: distribution + tags: + - app + - datacenter + id: http.endpoint.request + type: manage_tags + schema: + $ref: '#/components/schemas/MetricTagConfigurationResponse' + description: Success + '403': + content: + application/json: + schema: + $ref: '#/components/schemas/APIErrorResponse' + description: Forbidden + '404': + content: + application/json: + schema: + $ref: '#/components/schemas/APIErrorResponse' + description: No tag configuration exists for the metric + '429': + content: + application/json: + schema: + $ref: '#/components/schemas/APIErrorResponse' + description: Too Many Requests + security: + - apiKeyAuth: [] + appKeyAuth: [] + - AuthZ: + - metrics_read + summary: List tag configuration by name + tags: + - Metrics + x-permission: + operator: OR + permissions: + - metrics_read + patch: + description: |- + Update the tag configuration of a metric or percentile aggregations of a distribution metric or custom aggregations + of a count, rate, or gauge metric. By setting `exclude_tags_mode` to true the behavior is changed + from an allow-list to a deny-list, and tags in the defined list will not be queryable. + Can only be used with application keys from users with the `Manage Tags for Metrics` permission. This endpoint requires + a tag configuration to be created first. + operationId: UpdateTagConfiguration + parameters: + - $ref: '#/components/parameters/MetricName' + requestBody: + content: + application/json: + examples: + default: + value: + data: + attributes: + group_by: + - app + - datacenter + include_percentiles: false + id: http.endpoint.request + type: manage_tags + schema: + $ref: '#/components/schemas/MetricTagConfigurationUpdateRequest' + required: true + responses: + '200': + content: + application/json: + examples: + default: + value: + data: + attributes: + metric_type: distribution + tags: + - app + - datacenter + id: http.endpoint.request + type: manage_tags + schema: + $ref: '#/components/schemas/MetricTagConfigurationResponse' + description: OK + '400': + content: + application/json: + schema: + $ref: '#/components/schemas/APIErrorResponse' + description: Bad Request + '403': + content: + application/json: + schema: + $ref: '#/components/schemas/APIErrorResponse' + description: Forbidden + '422': + content: + application/json: + schema: + $ref: '#/components/schemas/APIErrorResponse' + description: Unprocessable Entity + '429': + content: + application/json: + schema: + $ref: '#/components/schemas/APIErrorResponse' + description: Too Many Requests + summary: Update a tag configuration + tags: + - Metrics + x-codegen-request-body-name: body + x-permission: + operator: OR + permissions: + - metric_tags_write + post: + description: |- + Create and define a list of queryable tag keys for an existing count/gauge/rate/distribution metric. + Optionally, include percentile aggregations on any distribution metric. By setting `exclude_tags_mode` + to true, the behavior is changed from an allow-list to a deny-list, and tags in the defined list are + not queryable. Can only be used with application keys of users with the `Manage Tags for Metrics` + permission. + operationId: CreateTagConfiguration + parameters: + - $ref: '#/components/parameters/MetricName' + requestBody: + content: + application/json: + examples: + default: + value: + data: + attributes: + include_percentiles: false + metric_type: distribution + tags: + - app + - datacenter + id: http.endpoint.request + type: manage_tags + schema: + $ref: '#/components/schemas/MetricTagConfigurationCreateRequest' + required: true + responses: + '201': + content: + application/json: + examples: + default: + value: + data: + attributes: + metric_type: distribution + tags: + - app + - datacenter + id: http.endpoint.request + type: manage_tags + schema: + $ref: '#/components/schemas/MetricTagConfigurationResponse' + description: Created + '400': + content: + application/json: + schema: + $ref: '#/components/schemas/APIErrorResponse' + description: Bad Request + '403': + content: + application/json: + schema: + $ref: '#/components/schemas/APIErrorResponse' + description: Forbidden + '409': + content: + application/json: + schema: + $ref: '#/components/schemas/APIErrorResponse' + description: Conflict + '429': + content: + application/json: + schema: + $ref: '#/components/schemas/APIErrorResponse' + description: Too Many Requests + summary: Create a tag configuration + tags: + - Metrics + x-codegen-request-body-name: body + x-permission: + operator: OR + permissions: + - metric_tags_write + /api/v2/metrics/{metric_name}/volumes: + get: + description: |- + View hourly average cardinality for the given metric name over the look back period. + For Metric Name Pricing customers, view total point volume for the given metric name + over the look back period. + operationId: ListVolumesByMetricName + parameters: + - $ref: '#/components/parameters/MetricName' + - description: |- + The number of seconds of look back (from now). + Default value is 3,600 (1 hour), maximum value is 2,592,000 (1 month). + example: 7200 + in: query + name: window[seconds] + required: false + schema: + format: int64 + type: integer + responses: + '200': + content: + application/json: + examples: + default: + value: + data: + attributes: + indexed_volume: 100 + ingested_volume: 200 + id: http.endpoint.request + type: metric_volumes + schema: + $ref: '#/components/schemas/MetricVolumesResponse' + description: Success + '400': + content: + application/json: + schema: + $ref: '#/components/schemas/APIErrorResponse' + description: Bad Request + '403': + content: + application/json: + schema: + $ref: '#/components/schemas/APIErrorResponse' + description: Forbidden + '404': + content: + application/json: + schema: + $ref: '#/components/schemas/APIErrorResponse' + description: Not Found + '429': + content: + application/json: + schema: + $ref: '#/components/schemas/APIErrorResponse' + description: Too Many Requests + summary: List distinct metric volumes by metric name + tags: + - Metrics + x-permission: + operator: OPEN + permissions: [] + /api/v2/query/scalar: + post: + description: |- + Query scalar values (as seen on Query Value, Table, and Toplist widgets). + Multiple data sources are supported with the ability to + process the data using formulas and functions. + operationId: QueryScalarData + requestBody: + content: + application/json: + examples: + default: + value: + data: + attributes: + formulas: + - formula: a+b + limit: + count: 10 + from: 1568899800000 + queries: + - aggregator: avg + data_source: metrics + query: avg:system.cpu.user{*} by {env} + to: 1568923200000 + type: scalar_request + schema: + $ref: '#/components/schemas/ScalarFormulaQueryRequest' + required: true + responses: + '200': + content: + application/json: + examples: + default: + value: + data: + attributes: + columns: [] + type: scalar_response + schema: + $ref: '#/components/schemas/ScalarFormulaQueryResponse' + description: OK + '400': + $ref: '#/components/responses/BadRequestResponse' + '401': + $ref: '#/components/responses/UnauthorizedResponse' + '403': + $ref: '#/components/responses/ForbiddenResponse' + '429': + $ref: '#/components/responses/TooManyRequestsResponse' + security: + - apiKeyAuth: [] + appKeyAuth: [] + - AuthZ: + - timeseries_query + summary: Query scalar data across multiple products + tags: + - Metrics + x-codegen-request-body-name: body + x-permission: + operator: OR + permissions: + - timeseries_query + /api/v2/query/timeseries: + post: + description: |- + Query timeseries data across various data sources and + process the data by applying formulas and functions. Datadog recommends + using this endpoint over the v1 `/api/v1/query` endpoint for querying + timeseries data. + operationId: QueryTimeseriesData + requestBody: + content: + application/json: + examples: + default: + value: + data: + attributes: + formulas: + - formula: a+b + limit: + count: 10 + from: 1568899800000 + interval: 5000 + queries: + - data_source: metrics + query: avg:system.cpu.user{*} by {env} + to: 1568923200000 + type: timeseries_request + schema: + $ref: '#/components/schemas/TimeseriesFormulaQueryRequest' + required: true + responses: + '200': + content: + application/json: + examples: + default: + value: + data: + attributes: + series: [] + times: [] + values: [] + type: timeseries_response + schema: + $ref: '#/components/schemas/TimeseriesFormulaQueryResponse' + description: OK + '400': + $ref: '#/components/responses/BadRequestResponse' + '401': + $ref: '#/components/responses/UnauthorizedResponse' + '403': + $ref: '#/components/responses/ForbiddenResponse' + '429': + $ref: '#/components/responses/TooManyRequestsResponse' + security: + - apiKeyAuth: [] + appKeyAuth: [] + - AuthZ: + - timeseries_query + summary: Query timeseries data across multiple products + tags: + - Metrics + x-codegen-request-body-name: body + x-permission: + operator: OR + permissions: + - timeseries_query + /api/v2/series: + post: + description: |- + The metrics end-point allows you to post time-series data that can be graphed on Datadog’s dashboards. + The maximum payload size is 500 kilobytes (512000 bytes). Compressed payloads must have a decompressed size of less than 5 megabytes (5242880 bytes). + + If you’re submitting metrics directly to the Datadog API without using DogStatsD, expect: + + - 64 bits for the timestamp + - 64 bits for the value + - 20 bytes for the metric names + - 50 bytes for the timeseries + - The full payload is approximately 100 bytes. + + Host name is one of the resources in the Resources field. + operationId: SubmitMetrics + parameters: + - description: HTTP header used to compress the media-type. + in: header + name: Content-Encoding + required: false + schema: + $ref: '#/components/schemas/MetricContentEncoding' + requestBody: + content: + application/json: + examples: + default: + value: + series: + - metric: system.load.1 + points: + - timestamp: 1636629071 + value: 1.1 + resources: + - name: dummyhost + type: host + type: 0 + dynamic-points: + description: Post time-series data that can be graphed on Datadog’s dashboards. + externalValue: examples/metrics/dynamic-points.json.sh + summary: Dynamic Points + x-variables: + NOW: $(date +%s) + schema: + $ref: '#/components/schemas/MetricPayload' + required: true + responses: + '202': + content: + application/json: + examples: + default: + value: + errors: [] + schema: + $ref: '#/components/schemas/IntakePayloadAccepted' + description: Payload accepted + '400': + content: + application/json: + schema: + $ref: '#/components/schemas/APIErrorResponse' + description: Bad Request '403': content: application/json: schema: $ref: '#/components/schemas/APIErrorResponse' - description: Forbidden - '404': + description: Authentication error + '408': + content: + application/json: + schema: + $ref: '#/components/schemas/APIErrorResponse' + description: Request timeout + '413': content: application/json: schema: $ref: '#/components/schemas/APIErrorResponse' - description: Not Found + description: Payload too large '429': + $ref: '#/components/responses/TooManyRequestsResponse' + security: + - apiKeyAuth: [] + summary: Submit metrics + tags: + - Metrics + x-codegen-request-body-name: body + /api/v2/spans/analytics/aggregate: + post: + description: |- + The API endpoint to aggregate spans into buckets and compute metrics and timeseries. + This endpoint is rate limited to `300` requests per hour. + operationId: AggregateSpans + requestBody: + content: + application/json: + examples: + default: + value: + data: + attributes: + compute: + - aggregation: pc90 + interval: 5m + metric: '@duration' + type: timeseries + filter: + from: now-15m + query: service:web* AND @http.status_code:[200 TO 299] + to: now + group_by: + - facet: host + histogram: + interval: 10 + max: 100 + min: 50 + sort: + aggregation: count + order: asc + options: + timezone: GMT + type: aggregate_request + schema: + $ref: '#/components/schemas/SpansAggregateRequest' + required: true + responses: + '200': content: application/json: + examples: + default: + value: + data: + - attributes: + by: + host: my-hostname + computes: + c0: 19 + id: abc-123 + type: bucket + meta: + elapsed: 132 + status: done schema: - $ref: '#/components/schemas/APIErrorResponse' - description: Too Many Requests - summary: List distinct metric volumes by metric name + $ref: '#/components/schemas/SpansAggregateResponse' + description: OK + '400': + $ref: '#/components/responses/BadRequestResponse' + '403': + $ref: '#/components/responses/ForbiddenResponse' + '429': + $ref: '#/components/responses/TooManyRequestsResponse' + security: + - apiKeyAuth: [] + appKeyAuth: [] + - AuthZ: + - apm_read + summary: Aggregate spans tags: - - Metrics + - Spans + x-codegen-request-body-name: body x-permission: - operator: OPEN - permissions: [] - /api/v2/query/scalar: + operator: OR + permissions: + - apm_read + /api/v2/spans/events: + get: + description: |- + List endpoint returns spans that match a span search query. + [Results are paginated][1]. + + Use this endpoint to see your latest spans. + This endpoint is rate limited to `300` requests per hour. + + [1]: /logs/guide/collect-multiple-logs-with-pagination?tab=v2api + operationId: ListSpansGet + parameters: + - description: Search query following spans syntax. + example: '@datacenter:us @role:db' + in: query + name: filter[query] + required: false + schema: + type: string + - description: Minimum timestamp for requested spans. Supports date-time ISO8601, date math, and regular timestamps (milliseconds). + example: '2023-01-02T09:42:36.320Z' + in: query + name: filter[from] + required: false + schema: + type: string + - description: Maximum timestamp for requested spans. Supports date-time ISO8601, date math, and regular timestamps (milliseconds). + example: '2023-01-03T09:42:36.320Z' + in: query + name: filter[to] + required: false + schema: + type: string + - description: Order of spans in results. + in: query + name: sort + required: false + schema: + $ref: '#/components/schemas/SpansSort' + - description: List following results with a cursor provided in the previous query. + example: eyJzdGFydEF0IjoiQVFBQUFYS2tMS3pPbm40NGV3QUFBQUJCV0V0clRFdDZVbG8zY3pCRmNsbHJiVmxDWlEifQ== + in: query + name: page[cursor] + required: false + schema: + type: string + - description: Maximum number of spans in the response. + example: 25 + in: query + name: page[limit] + required: false + schema: + default: 10 + format: int32 + maximum: 1000 + type: integer + responses: + '200': + content: + application/json: + examples: + default: + value: + data: + - attributes: + service: web-store + id: abc-123 + type: spans + schema: + $ref: '#/components/schemas/SpansListResponse' + description: OK + '400': + $ref: '#/components/responses/SpansBadRequestResponse' + '403': + $ref: '#/components/responses/SpansForbiddenResponse' + '422': + $ref: '#/components/responses/SpansUnprocessableEntityResponse' + '429': + $ref: '#/components/responses/SpansTooManyRequestsResponse' + security: + - apiKeyAuth: [] + appKeyAuth: [] + - AuthZ: + - apm_read + summary: Get a list of spans + tags: + - Spans + x-pagination: + cursorParam: page[cursor] + cursorPath: meta.page.after + limitParam: page[limit] + resultsPath: data + /api/v2/spans/events/search: post: - description: >- - Query scalar values (as seen on Query Value, Table, and Toplist - widgets). + description: |- + List endpoint returns spans that match a span search query. + [Results are paginated][1]. - Multiple data sources are supported with the ability to + Use this endpoint to build complex spans filtering and search. + This endpoint is rate limited to `300` requests per hour. - process the data using formulas and functions. - operationId: QueryScalarData + [1]: /logs/guide/collect-multiple-logs-with-pagination?tab=v2api + operationId: ListSpans requestBody: content: application/json: + examples: + default: + value: + data: + attributes: + filter: + from: now-15m + query: service:web* AND @http.status_code:[200 TO 299] + to: now + options: + timezone: GMT + page: + cursor: eyJzdGFydEF0IjoiQVFBQUFYS2tMS3pPbm40NGV3QUFBQUJCV0V0clRFdDZVbG8zY3pCRmNsbHJiVmxDWlEifQ== + limit: 25 + sort: timestamp + type: search_request schema: - $ref: '#/components/schemas/ScalarFormulaQueryRequest' + $ref: '#/components/schemas/SpansListRequest' required: true responses: '200': content: application/json: + examples: + default: + value: + data: + - attributes: + env: prod + service: test-service + id: AAAAAWgN8Xwgr1vKDQAAAABBV2dOOFh3ZzZobm1mWXJFYTR0OA + type: spans + meta: + elapsed: 132 + status: done schema: - $ref: '#/components/schemas/ScalarFormulaQueryResponse' + $ref: '#/components/schemas/SpansListResponse' description: OK '400': - $ref: '#/components/responses/BadRequestResponse' - '401': - $ref: '#/components/responses/UnauthorizedResponse' + $ref: '#/components/responses/SpansBadRequestResponse' '403': - $ref: '#/components/responses/ForbiddenResponse' + $ref: '#/components/responses/SpansForbiddenResponse' + '422': + $ref: '#/components/responses/SpansUnprocessableEntityResponse' '429': - $ref: '#/components/responses/TooManyRequestsResponse' + $ref: '#/components/responses/SpansTooManyRequestsResponse' security: - apiKeyAuth: [] appKeyAuth: [] - AuthZ: - - timeseries_query - summary: Query scalar data across multiple products + - apm_read + summary: Search spans + tags: + - Spans + x-codegen-request-body-name: body + x-pagination: + cursorParam: body.data.attributes.page.cursor + cursorPath: meta.page.after + limitParam: body.data.attributes.page.limit + resultsPath: data + /api/v1/distribution_points: + post: + description: The distribution points end-point allows you to post distribution data that can be graphed on Datadog’s dashboards. + operationId: SubmitDistributionPoints + parameters: + - description: HTTP header used to compress the media-type. + in: header + name: Content-Encoding + required: false + schema: + $ref: '#/components/schemas/DistributionPointsContentEncoding' + requestBody: + content: + application/json: + examples: + default: + value: + series: + - host: test.example.com + metric: system.load.1 + points: + - - 1636629071 + - - 1 + - 2 + tags: + - environment:test + type: distribution + dynamic-points: + description: Post time-series data that can be graphed on Datadog’s dashboards. + externalValue: examples/metrics/distribution-points.json.sh + summary: Dynamic Points + x-variables: + NOW: $(date +%s) + schema: + $ref: '#/components/schemas/DistributionPointsPayload' + required: true + responses: + '202': + content: + text/json: + examples: + default: + value: + status: ok + schema: + $ref: '#/components/schemas/IntakePayloadAcceptedV1' + description: Payload accepted + '400': + content: + text/json: + schema: + $ref: '#/components/schemas/APIErrorResponseV1' + description: Bad Request + '403': + content: + text/json: + schema: + $ref: '#/components/schemas/APIErrorResponseV1' + description: Authentication error + '408': + content: + text/json: + schema: + $ref: '#/components/schemas/APIErrorResponseV1' + description: Request timeout + '413': + content: + text/json: + schema: + $ref: '#/components/schemas/APIErrorResponseV1' + description: Payload too large + '429': + $ref: '#/components/responses/TooManyRequestsResponse' + security: + - apiKeyAuth: [] + summary: Submit distribution points tags: - Metrics x-codegen-request-body-name: body + /api/v1/metrics: + get: + description: Get the list of actively reporting metrics from a given time until now. + operationId: ListActiveMetrics + parameters: + - description: Seconds since the Unix epoch. + in: query + name: from + required: true + schema: + format: int64 + type: integer + - description: |- + Hostname for filtering the list of metrics returned. + If set, metrics retrieved are those with the corresponding hostname tag. + in: query + name: host + required: false + schema: + type: string + - description: |- + Filter metrics that have been submitted with the given tags. Supports boolean and wildcard expressions. + Cannot be combined with other filters. + example: env IN (staging,test) AND service:web + in: query + name: tag_filter + required: false + schema: + type: string + responses: + '200': + content: + application/json: + examples: + default: + value: + from: '1567816237' + metrics: + - system.cpu.idle + - system.load.1 + schema: + $ref: '#/components/schemas/MetricsListResponse' + description: OK + '400': + content: + application/json: + schema: + $ref: '#/components/schemas/APIErrorResponseV1' + description: Bad Request + '403': + content: + application/json: + schema: + $ref: '#/components/schemas/APIErrorResponseV1' + description: Forbidden + '429': + $ref: '#/components/responses/TooManyRequestsResponse' + security: + - apiKeyAuth: [] + appKeyAuth: [] + - AuthZ: + - metrics_read + summary: Get active metrics list + tags: + - Metrics x-permission: operator: OR permissions: - - timeseries_query - /api/v2/query/timeseries: - post: - description: |- - Query timeseries data across various data sources and - process the data by applying formulas and functions. - operationId: QueryTimeseriesData - requestBody: - content: - application/json: - schema: - $ref: '#/components/schemas/TimeseriesFormulaQueryRequest' - required: true + - metrics_read + /api/v1/metrics/{metric_name}: + get: + description: Get metadata about a specific metric. + operationId: GetMetricMetadata + parameters: + - description: Name of the metric for which to get metadata. + in: path + name: metric_name + required: true + schema: + type: string responses: '200': content: application/json: + examples: + default: + value: + description: Number of requests received. + per_unit: second + type: count + unit: byte schema: - $ref: '#/components/schemas/TimeseriesFormulaQueryResponse' + $ref: '#/components/schemas/MetricMetadataV1' description: OK - '400': - $ref: '#/components/responses/BadRequestResponse' - '401': - $ref: '#/components/responses/UnauthorizedResponse' '403': - $ref: '#/components/responses/ForbiddenResponse' + content: + application/json: + schema: + $ref: '#/components/schemas/APIErrorResponseV1' + description: Forbidden + '404': + content: + application/json: + schema: + $ref: '#/components/schemas/APIErrorResponseV1' + description: Not Found '429': $ref: '#/components/responses/TooManyRequestsResponse' security: - apiKeyAuth: [] appKeyAuth: [] - AuthZ: - - timeseries_query - summary: Query timeseries data across multiple products + - metrics_read + summary: Get metric metadata tags: - Metrics - x-codegen-request-body-name: body x-permission: operator: OR permissions: - - timeseries_query - /api/v2/series: - post: - description: >- - The metrics end-point allows you to post time-series data that can be - graphed on Datadog’s dashboards. - - The maximum payload size is 500 kilobytes (512000 bytes). Compressed - payloads must have a decompressed size of less than 5 megabytes (5242880 - bytes). - - - If you’re submitting metrics directly to the Datadog API without using - DogStatsD, expect: - - - - 64 bits for the timestamp - - - 64 bits for the value - - - 20 bytes for the metric names - - - 50 bytes for the timeseries - - - The full payload is approximately 100 bytes. - - - Host name is one of the resources in the Resources field. - operationId: SubmitMetrics + - metrics_read + put: + description: Edit metadata of a specific metric. Find out more about [supported types](https://docs.datadoghq.com/developers/metrics). + operationId: UpdateMetricMetadata parameters: - - description: HTTP header used to compress the media-type. - in: header - name: Content-Encoding - required: false + - description: Name of the metric for which to edit metadata. + in: path + name: metric_name + required: true schema: - $ref: '#/components/schemas/MetricContentEncoding' + type: string requestBody: content: application/json: examples: - dynamic-points: - description: >- - Post time-series data that can be graphed on Datadog’s - dashboards. - externalValue: examples/metrics/dynamic-points.json.sh - summary: Dynamic Points - x-variables: - NOW: $(date +%s) + default: + value: + description: Number of requests received. + per_unit: second + type: count + unit: byte schema: - $ref: '#/components/schemas/MetricPayload' + $ref: '#/components/schemas/MetricMetadataV1' + description: New metadata. required: true responses: - '202': + '200': content: application/json: + examples: + default: + value: + description: Number of requests received. + per_unit: second + type: count + unit: byte schema: - $ref: '#/components/schemas/IntakePayloadAccepted' - description: Payload accepted + $ref: '#/components/schemas/MetricMetadataV1' + description: OK '400': content: application/json: schema: - $ref: '#/components/schemas/APIErrorResponse' + $ref: '#/components/schemas/APIErrorResponseV1' description: Bad Request '403': content: application/json: schema: - $ref: '#/components/schemas/APIErrorResponse' - description: Authentication error - '408': - content: - application/json: - schema: - $ref: '#/components/schemas/APIErrorResponse' - description: Request timeout - '413': + $ref: '#/components/schemas/APIErrorResponseV1' + description: Forbidden + '404': content: application/json: schema: - $ref: '#/components/schemas/APIErrorResponse' - description: Payload too large + $ref: '#/components/schemas/APIErrorResponseV1' + description: Not Found '429': $ref: '#/components/responses/TooManyRequestsResponse' - security: - - apiKeyAuth: [] - summary: Submit metrics + summary: Edit metric metadata tags: - Metrics x-codegen-request-body-name: body - /api/v2/spans/analytics/aggregate: - post: - description: >- - The API endpoint to aggregate spans into buckets and compute metrics and - timeseries. - - This endpoint is rate limited to `300` requests per hour. - operationId: AggregateSpans - requestBody: - content: - application/json: - schema: - $ref: '#/components/schemas/SpansAggregateRequest' - required: true + x-permission: + operator: OR + permissions: + - metrics_metadata_write + /api/v1/query: + get: + description: |- + Query timeseries points. Datadog recommends using the v2 + `/api/v2/query/timeseries` endpoint over this endpoint for + querying timeseries data. + operationId: QueryMetrics + parameters: + - description: Start of the queried time period, seconds since the Unix epoch. + in: query + name: from + required: true + schema: + format: int64 + type: integer + - description: End of the queried time period, seconds since the Unix epoch. + in: query + name: to + required: true + schema: + format: int64 + type: integer + - description: Query string. + in: query + name: query + required: true + schema: + type: string responses: '200': content: application/json: + examples: + default: + value: + query: avg:system.cpu.idle{*} + res_type: time_series + series: + - aggr: avg + display_name: system.cpu.idle + expression: avg:system.cpu.idle{*} + metric: system.cpu.idle + pointlist: + - - 1681683300000 + - 77.62145685254418 + scope: '*' + status: ok schema: - $ref: '#/components/schemas/SpansAggregateResponse' + $ref: '#/components/schemas/MetricsQueryResponse' description: OK '400': - $ref: '#/components/responses/BadRequestResponse' + content: + application/json: + schema: + $ref: '#/components/schemas/APIErrorResponseV1' + description: Bad Request '403': - $ref: '#/components/responses/ForbiddenResponse' + content: + application/json: + schema: + $ref: '#/components/schemas/APIErrorResponseV1' + description: Forbidden '429': $ref: '#/components/responses/TooManyRequestsResponse' security: - apiKeyAuth: [] appKeyAuth: [] - AuthZ: - - apm_read - summary: Aggregate spans + - timeseries_query + summary: Query timeseries points tags: - - Spans - x-codegen-request-body-name: body + - Metrics x-permission: operator: OR permissions: - - apm_read - /api/v2/spans/events: + - timeseries_query + /api/v1/search: get: + deprecated: true description: |- - List endpoint returns spans that match a span search query. - [Results are paginated][1]. + **Note**: This endpoint is deprecated. Use `/api/v2/metrics` instead. - Use this endpoint to see your latest spans. - This endpoint is rate limited to `300` requests per hour. - - [1]: /logs/guide/collect-multiple-logs-with-pagination?tab=v2api - operationId: ListSpansGet + Search for metrics from the last 24 hours in Datadog. + operationId: ListMetrics parameters: - - description: Search query following spans syntax. - example: '@datacenter:us @role:db' - in: query - name: filter[query] - required: false - schema: - type: string - - description: >- - Minimum timestamp for requested spans. Supports date-time ISO8601, - date math, and regular timestamps (milliseconds). - example: '2023-01-02T09:42:36.320Z' - in: query - name: filter[from] - required: false - schema: - type: string - - description: >- - Maximum timestamp for requested spans. Supports date-time ISO8601, - date math, and regular timestamps (milliseconds). - example: '2023-01-03T09:42:36.320Z' - in: query - name: filter[to] - required: false - schema: - type: string - - description: Order of spans in results. - in: query - name: sort - required: false - schema: - $ref: '#/components/schemas/SpansSort' - - description: List following results with a cursor provided in the previous query. - example: >- - eyJzdGFydEF0IjoiQVFBQUFYS2tMS3pPbm40NGV3QUFBQUJCV0V0clRFdDZVbG8zY3pCRmNsbHJiVmxDWlEifQ== + - description: Query string to search metrics upon. Can optionally be prefixed with `metrics:`. in: query - name: page[cursor] - required: false + name: q + required: true schema: type: string - - description: Maximum number of spans in the response. - example: 25 - in: query - name: page[limit] - required: false - schema: - default: 10 - format: int32 - maximum: 1000 - type: integer responses: '200': content: application/json: + examples: + default: + value: + results: + metrics: + - system.cpu.idle + - system.load.1 schema: - $ref: '#/components/schemas/SpansListResponse' + $ref: '#/components/schemas/MetricSearchResponse' description: OK '400': - $ref: '#/components/responses/SpansBadRequestResponse' + content: + application/json: + schema: + $ref: '#/components/schemas/APIErrorResponseV1' + description: Bad Request '403': - $ref: '#/components/responses/SpansForbiddenResponse' - '422': - $ref: '#/components/responses/SpansUnprocessableEntityResponse' + content: + application/json: + schema: + $ref: '#/components/schemas/APIErrorResponseV1' + description: Forbidden '429': - $ref: '#/components/responses/SpansTooManyRequestsResponse' + $ref: '#/components/responses/TooManyRequestsResponse' security: - apiKeyAuth: [] appKeyAuth: [] - AuthZ: - - apm_read - summary: Get a list of spans + - metrics_read + summary: Search metrics tags: - - Spans - x-pagination: - cursorParam: page[cursor] - cursorPath: meta.page.after - limitParam: page[limit] - resultsPath: data - /api/v2/spans/events/search: + - Metrics + x-permission: + operator: OR + permissions: + - metrics_read + /api/v1/series: post: description: |- - List endpoint returns spans that match a span search query. - [Results are paginated][1]. + The metrics end-point allows you to post time-series data that can be graphed on Datadog’s dashboards. + The maximum payload size is 3.2 megabytes (3200000 bytes). Compressed payloads must have a decompressed size of less than 62 megabytes (62914560 bytes). - Use this endpoint to build complex spans filtering and search. - This endpoint is rate limited to `300` requests per hour. + If you’re submitting metrics directly to the Datadog API without using DogStatsD, expect: - [1]: /logs/guide/collect-multiple-logs-with-pagination?tab=v2api - operationId: ListSpans + - 64 bits for the timestamp + - 64 bits for the value + - 40 bytes for the metric names + - 50 bytes for the timeseries + - The full payload is approximately 100 bytes. However, with the DogStatsD API, + compression is applied, which reduces the payload size. + operationId: SubmitMetricsV1 + parameters: + - description: HTTP header used to compress the media-type. + in: header + name: Content-Encoding + required: false + schema: + $ref: '#/components/schemas/MetricContentEncodingV1' requestBody: content: application/json: + examples: + default: + value: + series: + - host: test.example.com + metric: system.load.1 + points: + - - 1636629071 + - 0.7 + tags: + - environment:test + type: gauge + dynamic-points: + description: Post time-series data that can be graphed on Datadog’s dashboards. + externalValue: examples/metrics/dynamic-points.json.sh + summary: Dynamic Points + x-variables: + NOW: $(date +%s) schema: - $ref: '#/components/schemas/SpansListRequest' + $ref: '#/components/schemas/MetricsPayload' required: true responses: - '200': + '202': content: - application/json: + text/json: + examples: + default: + value: + status: ok schema: - $ref: '#/components/schemas/SpansListResponse' - description: OK + $ref: '#/components/schemas/IntakePayloadAcceptedV1' + description: Payload accepted '400': - $ref: '#/components/responses/SpansBadRequestResponse' + content: + text/json: + schema: + $ref: '#/components/schemas/APIErrorResponseV1' + description: Bad Request '403': - $ref: '#/components/responses/SpansForbiddenResponse' - '422': - $ref: '#/components/responses/SpansUnprocessableEntityResponse' + content: + text/json: + schema: + $ref: '#/components/schemas/APIErrorResponseV1' + description: Authentication error + '408': + content: + text/json: + schema: + $ref: '#/components/schemas/APIErrorResponseV1' + description: Request timeout + '413': + content: + text/json: + schema: + $ref: '#/components/schemas/APIErrorResponseV1' + description: Payload too large '429': - $ref: '#/components/responses/SpansTooManyRequestsResponse' + $ref: '#/components/responses/TooManyRequestsResponse' security: - apiKeyAuth: [] - appKeyAuth: [] - - AuthZ: - - apm_read - summary: Search spans + summary: Submit metrics tags: - - Spans + - Metrics x-codegen-request-body-name: body - x-pagination: - cursorParam: body.data.attributes.page.cursor - cursorPath: meta.page.after - limitParam: body.data.attributes.page.limit - resultsPath: data components: schemas: DatasetResponseMulti: @@ -1409,6 +3424,47 @@ components: required: - data type: object + DdsqlTabularQueryRequest: + description: Wrapper for a DDSQL tabular query execution request. + properties: + data: + $ref: '#/components/schemas/DdsqlTabularQueryRequestData' + required: + - data + type: object + DdsqlTabularQueryResponse: + description: |- + Response envelope for both the execute and fetch DDSQL tabular query endpoints. + Carries the JSON:API primary resource and a top-level `meta` block with + request-scoped observability handles. + properties: + data: + $ref: '#/components/schemas/DdsqlTabularQueryResponseData' + meta: + $ref: '#/components/schemas/DdsqlTabularQueryResponseMeta' + required: + - data + - meta + type: object + JSONAPIErrorResponse: + description: API error response. + properties: + errors: + description: A list of errors. + items: + $ref: '#/components/schemas/JSONAPIErrorItem' + type: array + required: + - errors + type: object + DdsqlTabularQueryFetchRequest: + description: Wrapper for a DDSQL tabular query fetch request. + properties: + data: + $ref: '#/components/schemas/DdsqlTabularQueryFetchRequestData' + required: + - data + type: object MetricTagConfigurationMetricTypeCategory: default: distribution description: The metric's type category. @@ -1428,6 +3484,11 @@ components: items: $ref: '#/components/schemas/MetricsAndMetricTagConfigurations' type: array + included: + description: Array of metric volume resources included when requested with `include=metric_volumes`. + items: + $ref: '#/components/schemas/MetricIngestedIndexedVolume' + type: array links: $ref: '#/components/schemas/MetricsListResponseLinks' meta: @@ -1471,26 +3532,82 @@ components: required: - data type: object + HistoricalMetricsConfigurationCreateRequest: + description: Request body for enabling historical metrics ingestion for a metric. + properties: + data: + $ref: '#/components/schemas/HistoricalMetricsConfigurationCreateData' + required: + - data + type: object + HistoricalMetricsConfigurationResponse: + description: Response containing a historical metrics configuration. + properties: + data: + $ref: '#/components/schemas/HistoricalMetricsConfigurationData' + readOnly: true + type: object + TagIndexingRulesResponse: + description: Response containing a page of tag indexing rules. + properties: + data: + description: Array of tag indexing rule objects. + items: + $ref: '#/components/schemas/TagIndexingRuleData' + type: array + links: + $ref: '#/components/schemas/MetricsListResponseLinks' + meta: + $ref: '#/components/schemas/TagIndexingRulesResponseMeta' + readOnly: true + type: object + TagIndexingRuleCreateRequest: + description: Request body for creating a tag indexing rule. + properties: + data: + $ref: '#/components/schemas/TagIndexingRuleCreateData' + required: + - data + type: object + TagIndexingRuleResponse: + description: Response containing a single tag indexing rule. + properties: + data: + $ref: '#/components/schemas/TagIndexingRuleData' + readOnly: true + type: object + TagIndexingRuleOrderRequest: + description: Request body for reordering tag indexing rules. + properties: + data: + $ref: '#/components/schemas/TagIndexingRuleOrderData' + required: + - data + type: object + TagIndexingRuleUpdateRequest: + description: Request body for updating a tag indexing rule. + properties: + data: + $ref: '#/components/schemas/TagIndexingRuleUpdateData' + required: + - data + type: object MetricSuggestedTagsAndAggregationsResponse: - description: >- - Response object that includes a single metric's actively queried tags - and aggregations. + description: Response object that includes a single metric's actively queried tags and aggregations. properties: data: $ref: '#/components/schemas/MetricSuggestedTagsAndAggregations' readOnly: true type: object MetricAllTagsResponse: - description: Response object that includes a single metric's indexed tags. + description: Response object that includes a single metric's indexed and ingested tags. properties: data: $ref: '#/components/schemas/MetricAllTags' readOnly: true type: object MetricAssetsResponse: - description: >- - Response object that includes related dashboards, monitors, notebooks, - and SLOs. + description: Response object that includes related dashboards, monitors, notebooks, and SLOs. properties: data: $ref: '#/components/schemas/MetricAssetResponseData' @@ -1507,9 +3624,7 @@ components: $ref: '#/components/schemas/MetricEstimate' type: object MetricTagCardinalitiesResponse: - description: > - Response object that includes an array of objects representing the - cardinality details of a metric's tags. + description: Response object that includes an array of objects representing the cardinality details of a metric's tags. properties: data: $ref: '#/components/schemas/MetricTagCardinalitiesData' @@ -1517,16 +3632,20 @@ components: $ref: '#/components/schemas/MetricTagCardinalitiesMeta' readOnly: true type: object - JSONAPIErrorResponse: - description: API error response. + TagIndexingRuleExemptionResponse: + description: Response containing a tag indexing rule exemption. properties: - errors: - description: A list of errors. - items: - $ref: '#/components/schemas/JSONAPIErrorItem' - type: array + data: + $ref: '#/components/schemas/TagIndexingRuleExemptionData' + readOnly: true + type: object + TagIndexingRuleExemptionCreateRequest: + description: Request body for creating a tag indexing rule exemption. + properties: + data: + $ref: '#/components/schemas/TagIndexingRuleExemptionCreateData' required: - - errors + - data type: object MetricTagConfigurationResponse: description: Response object which includes a single metric's tag configuration. @@ -1536,9 +3655,7 @@ components: readOnly: true type: object MetricTagConfigurationUpdateRequest: - description: >- - Request object that includes the metric that you would like to edit the - tag configuration on. + description: Request object that includes the metric that you would like to edit the tag configuration on. properties: data: $ref: '#/components/schemas/MetricTagConfigurationUpdateData' @@ -1546,9 +3663,7 @@ components: - data type: object MetricTagConfigurationCreateRequest: - description: >- - Request object that includes the metric that you would like to configure - tags for. + description: Request object that includes the metric that you would like to configure tags for. properties: data: $ref: '#/components/schemas/MetricTagConfigurationCreateData' @@ -1588,9 +3703,7 @@ components: - data type: object TimeseriesFormulaQueryResponse: - description: >- - A message containing one response to a timeseries query made with - timeseries formula query request. + description: A message containing one response to a timeseries query made with timeseries formula query request. properties: data: $ref: '#/components/schemas/TimeseriesResponse' @@ -1641,9 +3754,7 @@ components: type: array type: object SpansAggregateRequest: - description: >- - The object sent with the request to retrieve a list of aggregated spans - from your organization. + description: The object sent with the request to retrieve a list of aggregated spans from your organization. properties: data: $ref: '#/components/schemas/SpansAggregateData' @@ -1669,9 +3780,7 @@ components: - TIMESTAMP_ASCENDING - TIMESTAMP_DESCENDING SpansListResponse: - description: >- - Response object with all spans matching the request and pagination - information. + description: Response object with all spans matching the request and pagination information. properties: data: description: Array of spans matching the request. @@ -1689,6 +3798,184 @@ components: data: $ref: '#/components/schemas/SpansListRequestData' type: object + DistributionPointsContentEncoding: + description: HTTP header used to compress the media-type. + enum: + - deflate + type: string + x-enum-varnames: + - DEFLATE + DistributionPointsPayload: + description: The distribution points payload. + properties: + series: + description: A list of distribution points series to submit to Datadog. + example: + - metric: system.load.1 + points: + - - 1475317847 + - - 1 + - 2 + items: + $ref: '#/components/schemas/DistributionPointsSeries' + type: array + required: + - series + type: object + IntakePayloadAcceptedV1: + description: The payload accepted for intake. + properties: + status: + description: The status of the intake payload. + example: ok + type: string + type: object + APIErrorResponseV1: + description: Error response object. + properties: + errors: + description: Array of errors returned by the API. + example: + - Bad Request + items: + description: Error description. + example: Bad Request + type: string + type: array + required: + - errors + type: object + MetricsListResponse: + description: Object listing all metric names stored by Datadog since a given time. + example: + from: '1571011200' + metrics: + - system.cpu.idle + - system.mem.free + - aws.ec2.cpuutilization + properties: + from: + description: Time when the metrics were active, seconds since the Unix epoch. + type: string + metrics: + description: List of metric names. + items: + description: A metric name. + type: string + type: array + type: object + MetricMetadataV1: + description: Object with all metric related metadata. + properties: + description: + description: Metric description. + type: string + integration: + description: Name of the integration that sent the metric if applicable. + readOnly: true + type: string + per_unit: + description: Per unit of the metric such as `second` in `bytes per second`. + example: second + type: string + short_name: + description: A more human-readable and abbreviated version of the metric name. + type: string + statsd_interval: + description: StatsD flush interval of the metric in seconds if applicable. + format: int64 + type: integer + type: + description: Metric type such as `gauge` or `rate`. + example: count + type: string + unit: + description: Primary unit of the metric such as `byte` or `operation`. + example: byte + type: string + type: object + MetricsQueryResponse: + description: Response Object that includes your query and the list of metrics retrieved. + properties: + error: + description: Message indicating the errors if status is not `ok`. + readOnly: true + type: string + from_date: + description: Start of requested time window, milliseconds since Unix epoch. + format: int64 + readOnly: true + type: integer + group_by: + description: List of tag keys on which to group. + items: + description: Tag key to group by your metric. + type: string + readOnly: true + type: array + message: + description: Message indicating `success` if status is `ok`. + readOnly: true + type: string + query: + description: Query string + readOnly: true + type: string + res_type: + description: Type of response. + example: time_series + readOnly: true + type: string + series: + description: List of timeseries queried. + items: + $ref: '#/components/schemas/MetricsQueryMetadata' + readOnly: true + type: array + status: + description: Status of the query. + example: ok + readOnly: true + type: string + to_date: + description: End of requested time window, milliseconds since Unix epoch. + format: int64 + readOnly: true + type: integer + type: object + MetricSearchResponse: + description: Object containing the list of metrics matching the search query. + properties: + results: + $ref: '#/components/schemas/MetricSearchResponseResults' + type: object + MetricContentEncodingV1: + default: deflate + description: HTTP header used to compress the media-type. + enum: + - deflate + - gzip + example: deflate + type: string + x-enum-varnames: + - DEFLATE + - GZIP + MetricsPayload: + description: The metrics' payload. + properties: + series: + description: A list of timeseries to submit to Datadog. + example: + - metric: system.load.1 + points: + - - 1475317847 + - 0.7 + items: + $ref: '#/components/schemas/Series' + type: array + required: + - series + type: object DatasetResponse: description: |- **Datasets Object Constraints** @@ -1709,40 +3996,148 @@ components: description: Unique identifier for the dataset. example: 123e4567-e89b-12d3-a456-426614174000 type: string - type: - $ref: '#/components/schemas/DatasetType' + type: + $ref: '#/components/schemas/DatasetType' + type: object + DatasetRequest: + description: |- + **Datasets Object Constraints** + - **Tag limit per dataset**: + - Each restricted dataset supports a maximum of 10 key:value pairs per product. + + - **Tag key rules per telemetry type**: + - Only one tag key or attribute may be used to define access within a single telemetry type. + - The same or different tag key may be used across different telemetry types. + + - **Tag value uniqueness**: + - Tag values must be unique within a single dataset. + - A tag value used in one dataset cannot be reused in another dataset of the same telemetry type. + properties: + attributes: + $ref: '#/components/schemas/DatasetAttributesRequest' + type: + $ref: '#/components/schemas/DatasetType' + required: + - type + - attributes + type: object + DdsqlTabularQueryRequestData: + description: JSON:API resource object for a DDSQL tabular query execution request. + properties: + attributes: + $ref: '#/components/schemas/DdsqlTabularQueryRequestAttributes' + type: + $ref: '#/components/schemas/DdsqlTabularQueryRequestType' + required: + - type + - attributes + type: object + DdsqlTabularQueryResponseData: + description: JSON:API resource object for a DDSQL tabular query response. + properties: + attributes: + $ref: '#/components/schemas/DdsqlTabularQueryResponseAttributes' + id: + description: Stable identifier for the query response resource. + example: 00000000-0000-0000-0000-000000000000 + type: string + type: + $ref: '#/components/schemas/DdsqlTabularQueryResponseType' + required: + - id + - type + - attributes + type: object + DdsqlTabularQueryResponseMeta: + description: |- + Top-level JSON:API meta block accompanying every DDSQL tabular query response. + Carries standard observability handles for client-side correlation. + properties: + elapsed: + description: Server-side time spent serving this request, in milliseconds. + example: 87 + format: int64 + type: integer + request_id: + description: |- + Echo of the `DD-Request-ID` header assigned by Datadog's edge to this request, + for support correlation. + example: req-7f3e7d2c-1a0b-4d3e-9b2a-3c4d5e6f7082 + type: string + required: + - elapsed + - request_id + type: object + JSONAPIErrorItem: + description: API error response body + properties: + detail: + description: A human-readable explanation specific to this occurrence of the error. + example: Missing required attribute in body + type: string + meta: + additionalProperties: {} + description: Non-standard meta-information about the error + type: object + source: + $ref: '#/components/schemas/JSONAPIErrorItemSource' + status: + description: Status code of the response. + example: '400' + type: string + title: + description: Short human-readable summary of the error. + example: Bad Request + type: string type: object - DatasetRequest: - description: |- - **Datasets Object Constraints** - - **Tag limit per dataset**: - - Each restricted dataset supports a maximum of 10 key:value pairs per product. - - - **Tag key rules per telemetry type**: - - Only one tag key or attribute may be used to define access within a single telemetry type. - - The same or different tag key may be used across different telemetry types. - - - **Tag value uniqueness**: - - Tag values must be unique within a single dataset. - - A tag value used in one dataset cannot be reused in another dataset of the same telemetry type. + DdsqlTabularQueryFetchRequestData: + description: JSON:API resource object for a DDSQL tabular query fetch request. properties: attributes: - $ref: '#/components/schemas/DatasetAttributesRequest' + $ref: '#/components/schemas/DdsqlTabularQueryFetchRequestAttributes' type: - $ref: '#/components/schemas/DatasetType' + $ref: '#/components/schemas/DdsqlTabularQueryFetchRequestType' required: - type - attributes type: object MetricsAndMetricTagConfigurations: description: Object for a metrics and metric tag configurations. - oneOf: - - $ref: '#/components/schemas/Metric' - - $ref: '#/components/schemas/MetricTagConfiguration' + example: + id: metric.foo.bar + type: metrics + attributes: + aggregations: + - space: avg + time: avg + created_at: '2020-03-25T09:48:37.463835Z' + metric_type: gauge + modified_at: '2020-04-25T09:48:37.463835Z' + tags: + - app + - datacenter + properties: + id: + $ref: '#/components/schemas/MetricName' + relationships: + $ref: '#/components/schemas/MetricRelationships' + type: + $ref: '#/components/schemas/MetricType' + attributes: + $ref: '#/components/schemas/MetricTagConfigurationAttributes' + type: object + MetricIngestedIndexedVolume: + description: Object for a single metric's ingested and indexed volume. + properties: + attributes: + $ref: '#/components/schemas/MetricIngestedIndexedVolumeAttributes' + id: + $ref: '#/components/schemas/MetricName' + type: + $ref: '#/components/schemas/MetricIngestedIndexedVolumeType' + type: object MetricsListResponseLinks: - description: >- - Pagination links. Only present if pagination query parameters were - provided. + description: Pagination links. Only present if pagination query parameters were provided. properties: first: description: Link to the first page. @@ -1770,9 +4165,7 @@ components: $ref: '#/components/schemas/MetricMetaPage' type: object MetricBulkTagConfigDelete: - description: >- - Request object to bulk delete all tag configurations for metrics - matching the given prefix. + description: Request object to bulk delete all tag configurations for metrics matching the given prefix. properties: attributes: $ref: '#/components/schemas/MetricBulkTagConfigDeleteAttributes' @@ -1800,9 +4193,7 @@ components: - type type: object MetricBulkTagConfigCreate: - description: >- - Request object to bulk configure tags for metrics matching the given - prefix. + description: Request object to bulk configure tags for metrics matching the given prefix. properties: attributes: $ref: '#/components/schemas/MetricBulkTagConfigCreateAttributes' @@ -1814,6 +4205,84 @@ components: - id - type type: object + HistoricalMetricsConfigurationCreateData: + description: Data object for enabling historical metrics ingestion for a metric. + properties: + id: + description: The metric name, used as the resource ID. + example: dd.test.metric + type: string + type: + $ref: '#/components/schemas/HistoricalMetricsConfigurationType' + required: + - id + - type + type: object + HistoricalMetricsConfigurationData: + description: A historical metrics configuration resource object. Existence of this resource means historical metrics ingestion is enabled for the metric; there is no separate enabled attribute. + properties: + attributes: + $ref: '#/components/schemas/HistoricalMetricsConfigurationAttributes' + id: + description: The metric name, used as the resource ID. + example: dd.test.metric + type: string + type: + $ref: '#/components/schemas/HistoricalMetricsConfigurationType' + type: object + TagIndexingRuleData: + description: A tag indexing rule resource object. + properties: + attributes: + $ref: '#/components/schemas/TagIndexingRuleAttributes' + id: + description: The unique identifier (UUID) of the tag indexing rule. + example: 00000000-0000-0000-0000-000000000001 + type: string + type: + $ref: '#/components/schemas/TagIndexingRuleType' + type: object + TagIndexingRulesResponseMeta: + description: Pagination metadata for a list of tag indexing rules. + properties: + total: + description: Total number of tag indexing rules in the org. + example: 5 + format: int64 + type: integer + type: object + TagIndexingRuleCreateData: + description: Data object for creating a tag indexing rule. + properties: + attributes: + $ref: '#/components/schemas/TagIndexingRuleCreateAttributes' + type: + $ref: '#/components/schemas/TagIndexingRuleType' + required: + - type + - attributes + type: object + TagIndexingRuleOrderData: + description: Data object for the reorder operation. + properties: + attributes: + $ref: '#/components/schemas/TagIndexingRuleOrderAttributes' + type: + $ref: '#/components/schemas/TagIndexingRuleType' + required: + - type + - attributes + type: object + TagIndexingRuleUpdateData: + description: Data object for updating a tag indexing rule. + properties: + attributes: + $ref: '#/components/schemas/TagIndexingRuleUpdateAttributes' + type: + $ref: '#/components/schemas/TagIndexingRuleType' + required: + - type + type: object MetricSuggestedTagsAndAggregations: description: Object for a single metric's actively queried tags and aggregations. properties: @@ -1825,7 +4294,7 @@ components: $ref: '#/components/schemas/MetricActiveConfigurationType' type: object MetricAllTags: - description: Object for a single metric's indexed tags. + description: Object for a single metric's indexed and ingested tags. properties: attributes: $ref: '#/components/schemas/MetricAllTagsAttributes' @@ -1849,11 +4318,17 @@ components: type: object MetricAssetResponseIncluded: description: List of included assets with full set of attributes. - oneOf: - - $ref: '#/components/schemas/MetricDashboardAsset' - - $ref: '#/components/schemas/MetricMonitorAsset' - - $ref: '#/components/schemas/MetricNotebookAsset' - - $ref: '#/components/schemas/MetricSLOAsset' + properties: + attributes: + $ref: '#/components/schemas/MetricDashboardAttributes' + id: + $ref: '#/components/schemas/MetricDashboardID' + type: + $ref: '#/components/schemas/MetricDashboardType' + required: + - id + - type + type: object MetricEstimate: description: Object for a metric cardinality estimate. properties: @@ -1873,34 +4348,33 @@ components: description: Response metadata object. properties: metric_name: - description: | + description: |- The name of metric for which the tag cardinalities are returned. This matches the metric name provided in the request. type: string type: object - JSONAPIErrorItem: - description: API error response body + TagIndexingRuleExemptionData: + description: A tag indexing rule exemption resource object. properties: - detail: - description: >- - A human-readable explanation specific to this occurrence of the - error. - example: Missing required attribute in body - type: string - meta: - additionalProperties: {} - description: Non-standard meta-information about the error - type: object - source: - $ref: '#/components/schemas/JSONAPIErrorItemSource' - status: - description: Status code of the response. - example: '400' - type: string - title: - description: Short human-readable summary of the error. - example: Bad Request + attributes: + $ref: '#/components/schemas/TagIndexingRuleExemptionAttributes' + id: + description: The metric name, used as the resource ID. + example: dd.test.metric type: string + type: + $ref: '#/components/schemas/TagIndexingRuleExemptionType' + type: object + TagIndexingRuleExemptionCreateData: + description: Data object for creating a tag indexing rule exemption. + properties: + attributes: + $ref: '#/components/schemas/TagIndexingRuleExemptionCreateAttributes' + type: + $ref: '#/components/schemas/TagIndexingRuleExemptionType' + required: + - type + - attributes type: object MetricTagConfiguration: description: Object for a single metric tag configuration. @@ -1922,6 +4396,8 @@ components: $ref: '#/components/schemas/MetricTagConfigurationAttributes' id: $ref: '#/components/schemas/MetricName' + relationships: + $ref: '#/components/schemas/MetricRelationships' type: $ref: '#/components/schemas/MetricTagConfigurationType' type: object @@ -1970,9 +4446,14 @@ components: type: object MetricVolumes: description: Possible response objects for a metric's volume. - oneOf: - - $ref: '#/components/schemas/MetricDistinctVolume' - - $ref: '#/components/schemas/MetricIngestedIndexedVolume' + properties: + attributes: + $ref: '#/components/schemas/MetricDistinctVolumeAttributes' + id: + $ref: '#/components/schemas/MetricName' + type: + $ref: '#/components/schemas/MetricDistinctVolumeType' + type: object ScalarFormulaRequest: description: A single scalar query to be executed. properties: @@ -2012,16 +4493,12 @@ components: $ref: '#/components/schemas/TimeseriesFormulaResponseType' type: object MetricSeries: - description: >- + description: |- A metric to submit to Datadog. - - See [Datadog - metrics](https://docs.datadoghq.com/developers/metrics/#custom-metrics-properties). + See [Datadog metrics](https://docs.datadoghq.com/developers/metrics/#custom-metrics-properties). properties: interval: - description: >- - If the type of the metric is rate or count, define the corresponding - interval in seconds. + description: If the type of the metric is rate or count, define the corresponding interval in seconds. example: 20 format: int64 type: integer @@ -2032,11 +4509,7 @@ components: example: system.load.1 type: string points: - description: >- - Points relating to a metric. All points must be objects with - timestamp and a scalar value (cannot be a string). Timestamps should - be in POSIX time in seconds, and cannot be more than ten minutes in - the future or more than one hour in the past. + description: Points relating to a metric. All points must be objects with timestamp and a scalar value (cannot be a string). Timestamps should be in POSIX time in seconds, and cannot be more than ten minutes in the future or more than one hour in the past. example: - timestamp: 1575317847 value: 0.5 @@ -2104,19 +4577,15 @@ components: status: $ref: '#/components/schemas/SpansAggregateResponseStatus' warnings: - description: >- - A list of warnings (non fatal errors) encountered, partial results - might be returned if - + description: |- + A list of warnings (non fatal errors) encountered, partial results might be returned if warnings are present in the response. items: $ref: '#/components/schemas/SpansWarning' type: array type: object Span: - description: >- - Object description of a spans after being processed and stored by - Datadog. + description: Object description of a spans after being processed and stored by Datadog. properties: attributes: $ref: '#/components/schemas/SpansAttributes' @@ -2127,52 +4596,219 @@ components: type: $ref: '#/components/schemas/SpansType' type: object - SpansListResponseLinks: - description: Links attributes. + SpansListResponseLinks: + description: Links attributes. + properties: + next: + description: |- + Link for the next set of results. Note that the request can also be made using the + POST endpoint. + example: https://app.datadoghq.com/api/v2/spans/event?filter[query]=foo&page[cursor]=eyJzdGFydEF0IjoiQVFBQUFYS2tMS3pPbm40NGV3QUFBQUJCV0V0clRFdDZVbG8zY3pCRmNsbHJiVmxDWlEifQ== + type: string + type: object + SpansListResponseMetadata: + description: The metadata associated with a request. + properties: + elapsed: + description: The time elapsed in milliseconds. + example: 132 + format: int64 + type: integer + page: + $ref: '#/components/schemas/SpansResponseMetadataPage' + request_id: + description: The identifier of the request. + example: MWlFUjVaWGZTTTZPYzM0VXp1OXU2d3xLSVpEMjZKQ0VKUTI0dEYtM3RSOFVR + type: string + status: + $ref: '#/components/schemas/SpansAggregateResponseStatus' + warnings: + description: |- + A list of warnings (non fatal errors) encountered, partial results might be returned if + warnings are present in the response. + items: + $ref: '#/components/schemas/SpansWarning' + type: array + type: object + SpansListRequestData: + description: The object containing the query content. + properties: + attributes: + $ref: '#/components/schemas/SpansListRequestAttributes' + type: + $ref: '#/components/schemas/SpansListRequestType' + type: object + DistributionPointsSeries: + description: A distribution points metric to submit to Datadog. + properties: + host: + description: The name of the host that produced the distribution point metric. + example: test.example.com + type: string + metric: + description: The name of the distribution points metric. + example: system.load.1 + type: string + points: + description: Points relating to the distribution point metric. All points must be tuples with timestamp and a list of values (cannot be a string). Timestamps should be in POSIX time in seconds. + example: + - - 1575317847 + - - 0.5 + - 1 + items: + $ref: '#/components/schemas/DistributionPoint' + type: array + tags: + description: A list of tags associated with the distribution point metric. + example: + - environment:test + items: + description: Individual tags. + type: string + type: array + type: + $ref: '#/components/schemas/DistributionPointsType' + required: + - metric + - points + type: object + MetricsQueryMetadata: + description: Object containing all metric names returned and their associated metadata. + properties: + aggr: + description: Aggregation type. + example: avg + nullable: true + readOnly: true + type: string + display_name: + description: Display name of the metric. + example: system.cpu.idle + readOnly: true + type: string + end: + description: End of the time window, milliseconds since Unix epoch. + format: int64 + readOnly: true + type: integer + expression: + description: Metric expression. + example: system.cpu.idle{host:foo,env:test} + readOnly: true + type: string + interval: + description: Number of milliseconds between data samples. + format: int64 + readOnly: true + type: integer + length: + description: Number of data samples. + format: int64 + readOnly: true + type: integer + metric: + description: Metric name. + example: system.cpu.idle + readOnly: true + type: string + pointlist: + description: List of points of the timeseries in milliseconds. + example: + - - 1681683300000 + - 77.62145685254418 + items: + $ref: '#/components/schemas/Point' + readOnly: true + type: array + query_index: + description: The index of the series' query within the request. + format: int64 + readOnly: true + type: integer + scope: + description: Metric scope, comma separated list of tags. + example: host:foo,env:test + readOnly: true + type: string + start: + description: Start of the time window, milliseconds since Unix epoch. + format: int64 + readOnly: true + type: integer + tag_set: + description: Unique tags identifying this series. + items: + description: Unique tags identifying this series. + type: string + readOnly: true + type: array + unit: + description: |- + Detailed information about the metric unit. + The first element describes the "primary unit" (for example, `bytes` in `bytes per second`). + The second element describes the "per unit" (for example, `second` in `bytes per second`). + If the second element is not present, the API returns null. + items: + $ref: '#/components/schemas/MetricsQueryUnit' + maxItems: 2 + minItems: 2 + readOnly: true + type: array + type: object + MetricSearchResponseResults: + description: Search result. properties: - next: - description: >- - Link for the next set of results. Note that the request can also be - made using the - - POST endpoint. - example: >- - https://app.datadoghq.com/api/v2/spans/event?filter[query]=foo&page[cursor]=eyJzdGFydEF0IjoiQVFBQUFYS2tMS3pPbm40NGV3QUFBQUJCV0V0clRFdDZVbG8zY3pCRmNsbHJiVmxDWlEifQ== - type: string + metrics: + description: List of metrics that match the search query. + items: + description: Metric name. + type: string + type: array type: object - SpansListResponseMetadata: - description: The metadata associated with a request. + Series: + description: |- + A metric to submit to Datadog. + See [Datadog metrics](https://docs.datadoghq.com/developers/metrics/#custom-metrics-properties). properties: - elapsed: - description: The time elapsed in milliseconds. - example: 132 + host: + description: The name of the host that produced the metric. + example: test.example.com + type: string + interval: + default: null + description: If the type of the metric is rate or count, define the corresponding interval in seconds. + example: 20 format: int64 + nullable: true type: integer - page: - $ref: '#/components/schemas/SpansResponseMetadataPage' - request_id: - description: The identifier of the request. - example: MWlFUjVaWGZTTTZPYzM0VXp1OXU2d3xLSVpEMjZKQ0VKUTI0dEYtM3RSOFVR + metric: + description: The name of the timeseries. + example: system.load.1 type: string - status: - $ref: '#/components/schemas/SpansAggregateResponseStatus' - warnings: - description: >- - A list of warnings (non fatal errors) encountered, partial results - might be returned if - - warnings are present in the response. + points: + description: Points relating to a metric. All points must be tuples with timestamp and a scalar value (cannot be a string). Timestamps should be in POSIX time in seconds, and cannot be more than ten minutes in the future or more than one hour in the past. + example: + - - 1575317847 + - 0.5 items: - $ref: '#/components/schemas/SpansWarning' + $ref: '#/components/schemas/Point' + type: array + tags: + description: A list of tags associated with the metric. + example: + - environment:test + items: + description: Individual tags. + type: string type: array - type: object - SpansListRequestData: - description: The object containing the query content. - properties: - attributes: - $ref: '#/components/schemas/SpansListRequestAttributes' type: - $ref: '#/components/schemas/SpansListRequestType' + default: '' + description: The type of the metric. Valid types are "",`count`, `gauge`, and `rate`. + example: rate + type: string + required: + - metric + - points type: object DatasetAttributesResponse: description: Dataset metadata and configuration(s). @@ -2191,12 +4827,11 @@ components: example: Security Audit Dataset type: string principals: - description: >- - List of access principals, formatted as `principal_type:id`. - Principal can be 'team' or 'role'. + description: List of access principals, formatted as `principal_type:id`. Principal can be 'team' or 'role'. example: - role:86245fce-0a4e-11f0-92bd-da7ad0900002 items: + description: An access principal identifier formatted as `principal_type:id`. example: role:86245fce-0a4e-11f0-92bd-da7ad0900002 type: string type: array @@ -2223,12 +4858,11 @@ components: example: Security Audit Dataset type: string principals: - description: >- - List of access principals, formatted as `principal_type:id`. - Principal can be 'team' or 'role'. + description: List of access principals, formatted as `principal_type:id`. Principal can be 'team' or 'role'. example: - role:94172442-be03-11e9-a77a-3b7612558ac1 items: + description: An access principal identifier formatted as `principal_type:id`. example: role:94172442-be03-11e9-a77a-3b7612558ac1 type: string type: array @@ -2242,21 +4876,147 @@ components: - product_filters - principals type: object + DdsqlTabularQueryRequestAttributes: + description: Attributes describing the DDSQL query to execute. + properties: + query: + description: |- + The DDSQL statement to execute. DDSQL is Datadog's SQL dialect, which is a subset + of PostgreSQL, scoped to Datadog data sources. + example: SELECT cloud_provider, count(*) FROM dd.hosts group by cloud_provider + type: string + row_limit: + description: |- + Cap on the number of rows returned. Defaults to 5,000 when omitted. Must be + between 1 and 10,000 inclusive; values outside this range are rejected with 400. + example: 1000 + format: int64 + maximum: 10000 + minimum: 1 + type: integer + time: + $ref: '#/components/schemas/DdsqlTabularQueryTimeWindow' + required: + - query + - time + type: object + DdsqlTabularQueryRequestType: + default: ddsql_query_request + description: JSON:API resource type for a DDSQL tabular query request. + enum: + - ddsql_query_request + example: ddsql_query_request + type: string + x-enum-varnames: + - DDSQL_QUERY_REQUEST + DdsqlTabularQueryResponseAttributes: + description: |- + Attributes of a DDSQL tabular query response. `query_id` is set when + `state` is `running`; `columns` is set when `state` is `completed`. + properties: + columns: + $ref: '#/components/schemas/DdsqlTabularQueryColumns' + query_id: + description: |- + Opaque token to pass to the fetch endpoint to poll for results. + Set when `state` is `running` and absent when `state` is `completed`. + example: eyJxdWVyeSI6ICJTRUxFQ1QgKiBGUk9NIGxvZ3MifQ== + type: string + state: + $ref: '#/components/schemas/DdsqlTabularQueryState' + warnings: + $ref: '#/components/schemas/DdsqlTabularQueryWarnings' + required: + - state + type: object + DdsqlTabularQueryResponseType: + default: ddsql_query_response + description: JSON:API resource type for a DDSQL tabular query response. + enum: + - ddsql_query_response + example: ddsql_query_response + type: string + x-enum-varnames: + - DDSQL_QUERY_RESPONSE + JSONAPIErrorItemSource: + description: References to the source of the error. + properties: + header: + description: A string indicating the name of a single request header which caused the error. + example: Authorization + type: string + parameter: + description: A string indicating which URI query parameter caused the error. + example: limit + type: string + pointer: + description: A JSON pointer to the value in the request document that caused the error. + example: /data/attributes/title + type: string + type: object + DdsqlTabularQueryFetchRequestAttributes: + description: Attributes describing which previously submitted DDSQL query to fetch. + properties: + query_id: + description: |- + Opaque token returned by an earlier execute or fetch response that carried + `state: running`. Identifies the query to poll for results. + example: eyJxdWVyeSI6ICJTRUxFQ1QgKiBGUk9NIGxvZ3MifQ== + type: string + required: + - query_id + type: object + DdsqlTabularQueryFetchRequestType: + default: ddsql_query_fetch_request + description: JSON:API resource type for a DDSQL tabular query fetch request. + enum: + - ddsql_query_fetch_request + example: ddsql_query_fetch_request + type: string + x-enum-varnames: + - DDSQL_QUERY_FETCH_REQUEST Metric: - description: Object for a single metric tag configuration. + description: Object for a single metric. example: id: metric.foo.bar type: metrics properties: id: $ref: '#/components/schemas/MetricName' + relationships: + $ref: '#/components/schemas/MetricRelationships' type: $ref: '#/components/schemas/MetricType' type: object + MetricIngestedIndexedVolumeAttributes: + description: Object containing the definition of a metric's ingested and indexed volume. + properties: + indexed_volume: + description: Estimated average hourly number of indexed time series for the given metric over the last hour. For organizations on Metric Name Pricing, this represents the estimated sum of indexed data points over the last hour. + example: 10 + format: int64 + type: integer + ingested_volume: + description: Estimated average hourly number of ingested time series for the given metric over the last hour. This value is `0` for metrics not configured with Metrics Without Limits. For organizations on Metric Name Pricing, this represents the estimated sum of ingested data points over the last hour. + example: 20 + format: int64 + type: integer + type: object + MetricName: + description: The metric name for this resource. + example: test.metric.latency + type: string + MetricIngestedIndexedVolumeType: + default: metric_volumes + description: The metric ingested and indexed volume type. + enum: + - metric_volumes + example: metric_volumes + type: string + x-enum-varnames: + - METRIC_VOLUMES MetricMetaPage: - description: >- - Paging attributes. Only present if pagination query parameters were - provided. + description: Paging attributes. Only present if pagination query parameters were provided. properties: cursor: description: The cursor used to get the current results, if any. @@ -2300,12 +5060,9 @@ components: emails: $ref: '#/components/schemas/MetricBulkTagConfigEmailList' exclude_tags_mode: - description: >- - When set to true, the configuration will exclude the configured tags - and include any other submitted tags. - - When set to false, the configuration will include the configured - tags and exclude any other submitted tags. + description: |- + When set to true, the configuration will exclude the configured tags and include any other submitted tags. + When set to false, the configuration will include the configured tags and exclude any other submitted tags. type: boolean status: description: The status of the request. @@ -2320,13 +5077,9 @@ components: emails: $ref: '#/components/schemas/MetricBulkTagConfigEmailList' exclude_tags_mode: - description: >- - When set to true, the configuration will exclude the configured tags - and include any other submitted tags. - - When set to false, the configuration will include the configured - tags and exclude any other submitted tags. - + description: |- + When set to true, the configuration will exclude the configured tags and include any other submitted tags. + When set to false, the configuration will include the configured tags and exclude any other submitted tags. Defaults to false. type: boolean include_actively_queried_tags_window: @@ -2350,10 +5103,187 @@ components: tags: $ref: '#/components/schemas/MetricBulkTagConfigTagNameList' type: object + HistoricalMetricsConfigurationType: + default: historical_metrics_configurations + description: The historical metrics configuration resource type. + enum: + - historical_metrics_configurations + example: historical_metrics_configurations + type: string + x-enum-varnames: + - HISTORICAL_METRICS_CONFIGURATIONS + HistoricalMetricsConfigurationAttributes: + description: Attributes of a historical metrics configuration. + properties: + created_at: + description: Timestamp when historical metrics ingestion was enabled for the metric. + example: '2024-01-15T12:00:00.000Z' + format: date-time + readOnly: true + type: string + type: object + TagIndexingRuleAttributes: + description: Attributes of a tag indexing rule. + properties: + created_at: + description: Timestamp when the rule was created. + example: '2024-01-15T12:00:00.000Z' + format: date-time + readOnly: true + type: string + created_by_handle: + description: Handle of the user who created the rule. + example: user@datadoghq.com + readOnly: true + type: string + exclude_tags_mode: + description: When true, the rule excludes the listed tags and indexes all others. When false (default), the rule includes only the listed tags. + example: false + type: boolean + ignored_metric_name_matches: + description: Metric name prefixes excluded from the rule's scope. + example: + - dd.test.excluded.* + items: + type: string + type: array + metric_name_matches: + description: Metric name prefixes (glob patterns) this rule applies to. + example: + - dd.test.* + items: + type: string + type: array + modified_at: + description: Timestamp when the rule was last modified. + example: '2024-01-15T12:00:00.000Z' + format: date-time + readOnly: true + type: string + modified_by_handle: + description: Handle of the user who last modified the rule. + example: user@datadoghq.com + readOnly: true + type: string + name: + description: Human-readable name for the rule. + example: my-indexing-rule + type: string + options: + $ref: '#/components/schemas/TagIndexingRuleOptions' + rule_order: + description: Evaluation order within the org. Lower values are evaluated first. Assigned server-side on create (max+1); pass on update to change the rule's position. + example: 1 + format: int64 + readOnly: true + type: integer + tags: + description: Tag keys managed by this rule. + example: + - env + - service + items: + type: string + type: array + type: object + TagIndexingRuleType: + default: tag_indexing_rules + description: The tag indexing rule resource type. + enum: + - tag_indexing_rules + example: tag_indexing_rules + type: string + x-enum-varnames: + - TAG_INDEXING_RULES + TagIndexingRuleCreateAttributes: + description: Attributes for creating a tag indexing rule. + properties: + exclude_tags_mode: + description: When true, the rule excludes the listed tags and indexes all others. When false (default), the rule includes only the listed tags. + example: false + type: boolean + ignored_metric_name_matches: + description: Metric name prefixes excluded from the rule's scope. + items: + type: string + type: array + metric_name_matches: + description: Metric name prefixes (glob patterns) this rule applies to. + example: + - dd.test.* + items: + type: string + type: array + name: + description: Human-readable name for the rule. + example: my-indexing-rule + type: string + options: + $ref: '#/components/schemas/TagIndexingRuleOptions' + tags: + description: Tag keys managed by this rule. + example: + - env + - service + items: + type: string + type: array + required: + - name + - metric_name_matches + type: object + TagIndexingRuleOrderAttributes: + description: Attributes for the reorder operation. + properties: + rule_ids: + description: Ordered list of tag indexing rule UUIDs. The server assigns rule_order 1, 2, … matching position in this list. + example: + - 00000000-0000-0000-0000-000000000001 + - 00000000-0000-0000-0000-000000000002 + items: + type: string + type: array + type: object + TagIndexingRuleUpdateAttributes: + description: Attributes for updating a tag indexing rule. All fields are optional; omitted fields are unchanged. + properties: + exclude_tags_mode: + description: When true, the rule excludes the listed tags and indexes all others. + type: boolean + ignored_metric_name_matches: + description: Metric name prefixes excluded from the rule's scope. + items: + type: string + type: array + metric_name_matches: + description: Metric name prefixes (glob patterns) this rule applies to. + example: + - dd.test.* + items: + type: string + type: array + name: + description: Human-readable name for the rule. + example: my-indexing-rule + type: string + options: + $ref: '#/components/schemas/TagIndexingRuleOptions' + rule_order: + description: Desired evaluation order. Returns 409 if the value conflicts with another rule; use POST /api/v2/metrics/tag-indexing-rules/order for atomic re-sequencing. + example: 2 + format: int64 + type: integer + tags: + description: Tag keys managed by this rule. + example: + - env + - service + items: + type: string + type: array + type: object MetricSuggestedTagsAttributes: - description: >- - Object containing the definition of a metric's actively queried tags and - aggregations. + description: Object containing the definition of a metric's actively queried tags and aggregations. properties: active_aggregations: $ref: '#/components/schemas/MetricSuggestedAggregations' @@ -2367,10 +5297,6 @@ components: type: string type: array type: object - MetricName: - description: The metric name for this resource. - example: test.metric.latency - type: string MetricActiveConfigurationType: default: actively_queried_configurations description: The metric actively queried configuration resource type. @@ -2381,16 +5307,26 @@ components: x-enum-varnames: - ACTIVELY_QUERIED_CONFIGURATIONS MetricAllTagsAttributes: - description: Object containing the definition of a metric's tags. + description: Object containing the definition of a metric's indexed and ingested tags. properties: + ingested_tags: + description: List of ingested tags that are not indexed. + example: + - env:prod + - service:web + - version:1.0 + items: + description: Ingested tags for the metric. + type: string + type: array tags: - description: List of indexed tag value pairs. + description: List of indexed tags. example: - sport:golf - sport:football - animal:dog items: - description: Tag key-value pairs. + description: Indexed tags for the metric. type: string type: array type: object @@ -2478,9 +5414,7 @@ components: format: date-time type: string estimated_output_series: - description: >- - Estimated cardinality of the metric based on the queried - configuration. + description: Estimated cardinality of the metric based on the queried configuration. example: 50 format: int64 type: integer @@ -2495,9 +5429,7 @@ components: x-enum-varnames: - METRIC_CARDINALITY_ESTIMATE MetricTagCardinality: - description: >- - Object containing metadata and attributes related to a specific tag key - associated with the metric. + description: Object containing metadata and attributes related to a specific tag key associated with the metric. example: attributes: cardinality_delta: 25 @@ -2514,30 +5446,50 @@ components: description: This describes the endpoint action. type: string type: object - JSONAPIErrorItemSource: - description: References to the source of the error. + TagIndexingRuleExemptionAttributes: + description: Attributes of a tag indexing rule exemption. properties: - header: - description: >- - A string indicating the name of a single request header which caused - the error. - example: Authorization + created_at: + description: Timestamp when the exemption was created. + example: '2024-01-15T12:00:00.000Z' + format: date-time + readOnly: true type: string - parameter: - description: A string indicating which URI query parameter caused the error. - example: limit + created_by_handle: + description: Handle of the user who created the exemption. + example: user@datadoghq.com + readOnly: true type: string - pointer: - description: >- - A JSON pointer to the value in the request document that caused the - error. - example: /data/attributes/title + kind: + description: Discriminates between an explicit exemption (`exemption`) and a pre-existing legacy tag configuration acting as an implicit exclusion (`legacy_tag_configuration`). + example: exemption + type: string + reason: + description: The reason the metric is exempt from tag indexing rules. + example: This metric has a pre-existing tag configuration. + type: string + type: object + TagIndexingRuleExemptionType: + default: tag_indexing_rule_exemptions + description: The tag indexing rule exemption resource type. + enum: + - tag_indexing_rule_exemptions + example: tag_indexing_rule_exemptions + type: string + x-enum-varnames: + - TAG_INDEXING_RULE_EXEMPTIONS + TagIndexingRuleExemptionCreateAttributes: + description: Attributes for creating a tag indexing rule exemption. + properties: + reason: + description: The reason the metric is exempt from tag indexing rules. + example: This metric has a pre-existing tag configuration. type: string + required: + - reason type: object MetricTagConfigurationAttributes: - description: >- - Object containing the definition of a metric tag configuration - attributes. + description: Object containing the definition of a metric tag configuration attributes. properties: aggregations: $ref: '#/components/schemas/MetricCustomAggregations' @@ -2547,20 +5499,14 @@ components: format: date-time type: string exclude_tags_mode: - description: >- - When set to true, the configuration will exclude the configured tags - and include any other submitted tags. - - When set to false, the configuration will include the configured - tags and exclude any other submitted tags. - + description: |- + When set to true, the configuration will exclude the configured tags and include any other submitted tags. + When set to false, the configuration will include the configured tags and exclude any other submitted tags. Defaults to false. Requires `tags` property. type: boolean include_percentiles: - description: >- - Toggle to include or exclude percentile aggregations for - distribution metrics. - + description: |- + Toggle to include or exclude percentile aggregations for distribution metrics. Only present when the `metric_type` is `distribution`. example: true type: boolean @@ -2581,6 +5527,12 @@ components: type: string type: array type: object + MetricRelationships: + description: Relationships for a metric. + properties: + metric_volumes: + $ref: '#/components/schemas/MetricVolumesRelationship' + type: object MetricTagConfigurationType: default: manage_tags description: The metric tag configuration resource type. @@ -2591,28 +5543,20 @@ components: x-enum-varnames: - MANAGE_TAGS MetricTagConfigurationUpdateAttributes: - description: >- - Object containing the definition of a metric tag configuration to be - updated. + description: Object containing the definition of a metric tag configuration to be updated. properties: aggregations: $ref: '#/components/schemas/MetricCustomAggregations' exclude_tags_mode: - description: >- - When set to true, the configuration will exclude the configured tags - and include any other submitted tags. - - When set to false, the configuration will include the configured - tags and exclude any other submitted tags. - + description: |- + When set to true, the configuration will exclude the configured tags and include any other submitted tags. + When set to false, the configuration will include the configured tags and exclude any other submitted tags. Defaults to false. Requires `tags` property. type: boolean include_percentiles: - description: >- + description: |- Toggle to include/exclude percentiles for a distribution metric. - - Defaults to false. Can only be applied to metrics that have a - `metric_type` of `distribution`. + Defaults to false. Can only be applied to metrics that have a `metric_type` of `distribution`. example: true type: boolean tags: @@ -2627,28 +5571,20 @@ components: type: array type: object MetricTagConfigurationCreateAttributes: - description: >- - Object containing the definition of a metric tag configuration to be - created. + description: Object containing the definition of a metric tag configuration to be created. properties: aggregations: $ref: '#/components/schemas/MetricCustomAggregations' exclude_tags_mode: - description: >- - When set to true, the configuration will exclude the configured tags - and include any other submitted tags. - - When set to false, the configuration will include the configured - tags and exclude any other submitted tags. - + description: |- + When set to true, the configuration will exclude the configured tags and include any other submitted tags. + When set to false, the configuration will include the configured tags and exclude any other submitted tags. Defaults to false. Requires `tags` property. type: boolean include_percentiles: - description: >- + description: |- Toggle to include/exclude percentiles for a distribution metric. - - Defaults to false. Can only be applied to metrics that have a - `metric_type` of `distribution`. + Defaults to false. Can only be applied to metrics that have a `metric_type` of `distribution`. example: true type: boolean metric_type: @@ -2677,16 +5613,6 @@ components: type: $ref: '#/components/schemas/MetricDistinctVolumeType' type: object - MetricIngestedIndexedVolume: - description: Object for a single metric's ingested and indexed volume. - properties: - attributes: - $ref: '#/components/schemas/MetricIngestedIndexedVolumeAttributes' - id: - $ref: '#/components/schemas/MetricName' - type: - $ref: '#/components/schemas/MetricIngestedIndexedVolumeType' - type: object ScalarFormulaRequestAttributes: description: The object describing a scalar formula request. properties: @@ -2696,18 +5622,14 @@ components: $ref: '#/components/schemas/QueryFormula' type: array from: - description: >- - Start date (inclusive) of the query in milliseconds since the Unix - epoch. + description: Start date (inclusive) of the query in milliseconds since the Unix epoch. example: 1568899800000 format: int64 type: integer queries: $ref: '#/components/schemas/ScalarFormulaRequestQueries' to: - description: >- - End date (exclusive) of the query in milliseconds since the Unix - epoch. + description: End date (exclusive) of the query in milliseconds since the Unix epoch. example: 1568923200000 format: int64 type: integer @@ -2729,10 +5651,7 @@ components: description: The object describing a scalar response. properties: columns: - description: >- - List of response columns, each corresponding to an individual - formula or query in the request and with values in parallel arrays - matching the series list. + description: List of response columns, each corresponding to an individual formula or query in the request and with values in parallel arrays matching the series list. items: $ref: '#/components/schemas/ScalarColumn' type: array @@ -2755,9 +5674,7 @@ components: $ref: '#/components/schemas/QueryFormula' type: array from: - description: >- - Start date (inclusive) of the query in milliseconds since the Unix - epoch. + description: Start date (inclusive) of the query in milliseconds since the Unix epoch. example: 1568899800000 format: int64 type: integer @@ -2773,9 +5690,7 @@ components: queries: $ref: '#/components/schemas/TimeseriesFormulaRequestQueries' to: - description: >- - End date (exclusive) of the query in milliseconds since the Unix - epoch. + description: End date (exclusive) of the query in milliseconds since the Unix epoch. example: 1568923200000 format: int64 type: integer @@ -2805,9 +5720,7 @@ components: type: object TimeseriesFormulaResponseType: default: timeseries_response - description: >- - The type of the resource. The value should always be - timeseries_response. + description: The type of the resource. The value should always be timeseries_response. enum: - timeseries_response example: timeseries_response @@ -2827,11 +5740,9 @@ components: value: 0.5 properties: timestamp: - description: >- + description: |- The timestamp should be in seconds and current. - - Current is defined as not more than 10 minutes in the future or more - than 1 hour in the past. + Current is defined as not more than 10 minutes in the future or more than 1 hour in the past. format: int64 type: integer value: @@ -2853,9 +5764,7 @@ components: type: string type: object MetricIntakeType: - description: >- - The type of metric. The available types are `0` (unspecified), `1` - (count), `2` (rate), and `3` (gauge). + description: The type of metric. The available types are `0` (unspecified), `1` (count), `2` (rate), and `3` (gauge). enum: - 0 - 1 @@ -2872,9 +5781,7 @@ components: description: The object containing all the query parameters. properties: compute: - description: >- - The list of metrics or timeseries to compute for the retrieved - buckets. + description: The list of metrics or timeseries to compute for the retrieved buckets. items: $ref: '#/components/schemas/SpansCompute' type: array @@ -2909,14 +5816,12 @@ components: '@version': abc type: object compute: - description: The compute data. - type: object + description: The compute data. (opaque JSON object) + type: string computes: additionalProperties: $ref: '#/components/schemas/SpansAggregateBucketValue' - description: >- - A map of the metric name -> value for regular compute or list of - values for a timeseries. + description: A map of the metric name -> value for regular compute or list of values for a timeseries. type: object type: object SpansAggregateBucketType: @@ -2950,9 +5855,7 @@ components: type: string title: description: A short human-readable summary of the warning. - example: >- - One or several indexes are missing or invalid, results hold data - from the other indexes + example: One or several indexes are missing or invalid, results hold data from the other indexes type: string type: object SpansAttributes: @@ -3003,19 +5906,14 @@ components: example: retention_filter type: string service: - description: >- + description: |- The name of the application or service generating the span events. - - It is used to switch from APM to Logs, so make sure you define the - same - + It is used to switch from APM to Logs, so make sure you define the same value when you use both products. example: agent type: string single_span: - description: >- - Whether or not the span was collected as a stand-alone span. Always - associated to "single_span" ingestion_reason if true. + description: Whether or not the span was collected as a stand-alone span. Always associated to "single_span" ingestion_reason if true. example: true type: boolean span_id: @@ -3057,13 +5955,10 @@ components: description: Paging attributes. properties: after: - description: >- - The cursor to use to get the next results, if any. To make the next - request, use the same - + description: |- + The cursor to use to get the next results, if any. To make the next request, use the same parameters with the addition of the `page[cursor]`. - example: >- - eyJzdGFydEF0IjoiQVFBQUFYS2tMS3pPbm40NGV3QUFBQUJCV0V0clRFdDZVbG8zY3pCRmNsbHJiVmxDWlEifQ== + example: eyJzdGFydEF0IjoiQVFBQUFYS2tMS3pPbm40NGV3QUFBQUJCV0V0clRFdDZVbG8zY3pCRmNsbHJiVmxDWlEifQ== type: string type: object SpansListRequestAttributes: @@ -3087,39 +5982,152 @@ components: type: string x-enum-varnames: - SEARCH_REQUEST + DistributionPoint: + description: Array of distribution points. + example: + - 1575317847 + - - 0.5 + - 1 + items: + description: List of distribution point. + oneOf: + - $ref: '#/components/schemas/DistributionPointTimestamp' + - $ref: '#/components/schemas/DistributionPointData' + maxItems: 2 + minItems: 2 + type: array + DistributionPointsType: + default: distribution + description: The type of the distribution point. + enum: + - distribution + example: distribution + type: string + x-enum-varnames: + - DISTRIBUTION + Point: + description: Array of timeseries points. + example: + - 1575317847 + - 0.5 + items: + description: |- + Each point is of the form `[POSIX_timestamp, numeric_value]`. + The timestamp should be in seconds and current. + The numeric value format should be a 32bit float gauge-type value. + Current is defined as not more than 10 minutes in the future or more than 1 hour in the past. + format: double + nullable: true + type: number + maxItems: 2 + minItems: 2 + type: array + MetricsQueryUnit: + description: Object containing the metric unit family, scale factor, name, and short name. + nullable: true + properties: + family: + description: Unit family, allows for conversion between units of the same family, for scaling. + example: time + readOnly: true + type: string + name: + description: Unit name + example: minute + readOnly: true + type: string + plural: + description: Plural form of the unit name. + example: minutes + readOnly: true + type: string + scale_factor: + description: Factor for scaling between units of the same family. + example: 60 + format: double + readOnly: true + type: number + short_name: + description: Abbreviation of the unit. + example: min + readOnly: true + type: string + type: object FiltersPerProduct: description: Product-specific filters for the dataset. properties: filters: - description: >- - Defines the list of tag-based filters used to restrict access to - telemetry data for a specific product. - - These filters act as access control rules. Each filter must follow - the tag query syntax used by - - Datadog (such as `@tag.key:value`), and only one tag or attribute - may be used to define the access strategy - + description: |- + Defines the list of tag-based filters used to restrict access to telemetry data for a specific product. + These filters act as access control rules. Each filter must follow the tag query syntax used by + Datadog (such as `@tag.key:value`), and only one tag or attribute may be used to define the access strategy per telemetry type. example: - '@application.id:ABCD' items: + description: A tag-based filter expression using Datadog tag query syntax. example: '@application.id:ABCD' type: string type: array product: - description: >- - Name of the product the dataset is for. Possible values are 'apm', - 'rum', - - 'metrics', 'logs', 'error_tracking', and 'cloud_cost'. + description: |- + Name of the product the dataset is for. Possible values are 'apm', 'rum', + 'metrics', 'logs', 'error_tracking', 'cloud_cost', 'sd_repoinfo', 'secruntime', and 'signal'. example: logs type: string required: - product - filters type: object + DdsqlTabularQueryTimeWindow: + description: |- + Time window scoping the underlying data sources, expressed in Unix milliseconds + since the epoch. Inclusive on `from_timestamp`, exclusive on `to_timestamp`. + Results from static tables (for example, `dd.hosts`) are not affected by the + time window, but the field must still be provided. + properties: + from_timestamp: + description: Start of the query window (inclusive), in Unix milliseconds since the epoch. + example: 1736942400000 + format: int64 + type: integer + to_timestamp: + description: End of the query window (exclusive), in Unix milliseconds since the epoch. + example: 1736946000000 + format: int64 + type: integer + required: + - from_timestamp + - to_timestamp + type: object + DdsqlTabularQueryColumns: + description: |- + Column-major result set. Each element carries one column's name, type, and values, + with one value per row of the result. Set when `state` is `completed`. + items: + $ref: '#/components/schemas/DdsqlTabularQueryColumn' + type: array + DdsqlTabularQueryState: + description: |- + Lifecycle state of a DDSQL tabular query response. + `running` means the query is still executing and the client should poll + the fetch endpoint with the returned `query_id`. `completed` means the + result set is inlined in `columns` and no further polling is required. + enum: + - running + - completed + example: completed + type: string + x-enum-varnames: + - RUNNING + - COMPLETED + DdsqlTabularQueryWarnings: + description: Non-fatal messages emitted by the query engine while serving this response. + items: + description: A single non-fatal warning message. + example: Query result was truncated at the configured row_limit. + type: string + type: array MetricMetaPageType: default: cursor_limit description: Type of metric pagination. @@ -3150,6 +6158,17 @@ components: pattern: ^[A-Za-z][A-Za-z0-9\.\-\_:\/]*$ type: string type: array + TagIndexingRuleOptions: + description: Versioned configuration options for a tag indexing rule. + properties: + data: + $ref: '#/components/schemas/TagIndexingRuleOptionsData' + version: + description: Options schema version. Only `1` is supported. + example: 1 + format: int64 + type: integer + type: object MetricSuggestedAggregations: description: List of aggregation combinations that have been actively queried. example: @@ -3161,9 +6180,7 @@ components: $ref: '#/components/schemas/MetricCustomAggregation' type: array MetricAssetDashboardRelationships: - description: >- - An object containing the list of dashboards that can be referenced in - the `included` data. + description: An object containing the list of dashboards that can be referenced in the `included` data. properties: data: description: A list of dashboards that can be referenced in the `included` data. @@ -3172,9 +6189,7 @@ components: type: array type: object MetricAssetMonitorRelationships: - description: >- - A object containing the list of monitors that can be referenced in the - `included` data. + description: A object containing the list of monitors that can be referenced in the `included` data. properties: data: description: A list of monitors that can be referenced in the `included` data. @@ -3183,9 +6198,7 @@ components: type: array type: object MetricAssetNotebookRelationships: - description: >- - An object containing the list of notebooks that can be referenced in the - `included` data. + description: An object containing the list of notebooks that can be referenced in the `included` data. properties: data: description: A list of notebooks that can be referenced in the `included` data. @@ -3194,9 +6207,7 @@ components: type: array type: object MetricAssetSLORelationships: - description: >- - An object containing a list of SLOs that can be referenced in the - `included` data. + description: An object containing a list of SLOs that can be referenced in the `included` data. properties: data: description: A list of SLOs that can be referenced in the `included` data. @@ -3205,9 +6216,7 @@ components: type: array type: object MetricDashboardAttributes: - description: >- - Attributes related to the dashboard, including title, popularity, and - url. + description: Attributes related to the dashboard, including title, popularity, and url. properties: popularity: description: Value from 0 to 5 that ranks popularity of the dashboard. @@ -3304,11 +6313,7 @@ components: - SLOS MetricEstimateType: default: count_or_gauge - description: >- - Estimate type based on the queried configuration. By default, - `count_or_gauge` is returned. `distribution` is returned for - distribution metrics without percentiles enabled. Lastly, `percentile` - is returned if `filter[pct]=true` is queried with a distribution metric. + description: Estimate type based on the queried configuration. `count_or_gauge` is returned by default, and `distribution` is returned for distribution metrics. The `filter[pct]` query parameter has no effect on this value. enum: - count_or_gauge - distribution @@ -3328,9 +6333,7 @@ components: type: integer type: object MetricCustomAggregations: - description: >- - Deprecated. You no longer need to configure specific time and space - aggregations for Metrics Without Limits. + description: Deprecated. You no longer need to configure specific time and space aggregations for Metrics Without Limits. example: - space: sum time: sum @@ -3354,6 +6357,12 @@ components: - COUNT - RATE - DISTRIBUTION + MetricVolumesRelationship: + description: Relationship to a metric volume included in the response. + properties: + data: + $ref: '#/components/schemas/MetricVolumesRelationshipData' + type: object MetricDistinctVolumeAttributes: description: Object containing the definition of a metric's distinct volume. properties: @@ -3372,38 +6381,11 @@ components: type: string x-enum-varnames: - DISTINCT_METRIC_VOLUMES - MetricIngestedIndexedVolumeAttributes: - description: >- - Object containing the definition of a metric's ingested and indexed - volume. - properties: - indexed_volume: - description: Indexed volume for the given metric. - example: 10 - format: int64 - type: integer - ingested_volume: - description: Ingested volume for the given metric. - example: 20 - format: int64 - type: integer - type: object - MetricIngestedIndexedVolumeType: - default: metric_volumes - description: The metric ingested and indexed volume type. - enum: - - metric_volumes - example: metric_volumes - type: string - x-enum-varnames: - - METRIC_VOLUMES QueryFormula: description: A formula for calculation based on one or more queries. properties: formula: - description: >- - Formula string, referencing one or more queries with their name - property. + description: Formula string, referencing one or more queries with their name property. example: a+b type: string limit: @@ -3422,9 +6404,29 @@ components: type: array ScalarColumn: description: A single column in a scalar query response. - oneOf: - - $ref: '#/components/schemas/GroupScalarColumn' - - $ref: '#/components/schemas/DataScalarColumn' + properties: + name: + description: The name of the tag key or group. + example: env + type: string + type: + $ref: '#/components/schemas/ScalarColumnTypeGroup' + values: + description: The array of tag values for each group found for the results of the formulas or queries. + example: + - - production + - - staging + items: + description: An individual tag value for a given group column. + items: + description: One tag value within a values array. + example: production + type: string + type: array + type: array + meta: + $ref: '#/components/schemas/ScalarMeta' + type: object TimeseriesFormulaRequestQueries: description: List of queries to be run and used as inputs to the formulas. example: @@ -3434,9 +6436,7 @@ components: $ref: '#/components/schemas/TimeseriesQuery' type: array TimeseriesResponseSeriesList: - description: >- - Array of response series. The index here corresponds to the index in the - `formulas` or `queries` array from the request. + description: Array of response series. The index here corresponds to the index in the `formulas` or `queries` array from the request. items: $ref: '#/components/schemas/TimeseriesResponseSeries' type: array @@ -3449,9 +6449,7 @@ components: type: integer type: array TimeseriesResponseValuesList: - description: >- - Array of value-arrays. The index here corresponds to the index in the - `formulas` or `queries` array from the request. + description: Array of value-arrays. The index here corresponds to the index in the `formulas` or `queries` array from the request. items: $ref: '#/components/schemas/TimeseriesResponseValues' type: array @@ -3502,9 +6500,7 @@ components: properties: from: default: now-15m - description: >- - The minimum time for the requested spans, supports date-time - ISO8601, date math, and regular timestamps (milliseconds). + description: The minimum time for the requested spans, supports date-time ISO8601, date math, and regular timestamps (milliseconds). example: now-15m type: string query: @@ -3514,9 +6510,7 @@ components: type: string to: default: now - description: >- - The maximum time for the requested spans, supports date-time - ISO8601, date math, and regular timestamps (milliseconds). + description: The maximum time for the requested spans, supports date-time ISO8601, date math, and regular timestamps (milliseconds). example: now type: string type: object @@ -3544,11 +6538,9 @@ components: - facet type: object SpansQueryOptions: - description: >- + description: |- Global query options that are used during the query. - - Note: You should only supply timezone or time offset but not both - otherwise the query will fail. + Note: You should only supply timezone or time offset but not both otherwise the query will fail. properties: timeOffset: description: The time offset (in seconds) to apply to the query. @@ -3556,26 +6548,23 @@ components: type: integer timezone: default: UTC - description: >- - The timezone can be specified as GMT, UTC, an offset from UTC (like - UTC+1), or as a Timezone Database identifier (like - America/New_York). + description: The timezone can be specified as GMT, UTC, an offset from UTC (like UTC+1), or as a Timezone Database identifier (like America/New_York). example: GMT type: string type: object SpansAggregateBucketValue: description: A bucket value, can be either a timeseries or a single value. - oneOf: - - $ref: '#/components/schemas/SpansAggregateBucketValueSingleString' - - $ref: '#/components/schemas/SpansAggregateBucketValueSingleNumber' - - $ref: '#/components/schemas/SpansAggregateBucketValueTimeseries' + type: string + format: double + items: + $ref: '#/components/schemas/SpansAggregateBucketValueTimeseriesPoint' + x-generate-alias-as-model: true SpansListRequestPage: description: Paging attributes for listing spans. properties: cursor: description: List following results with a cursor provided in the previous query. - example: >- - eyJzdGFydEF0IjoiQVFBQUFYS2tMS3pPbm40NGV3QUFBQUJCV0V0clRFdDZVbG8zY3pCRmNsbHJiVmxDWlEifQ== + example: eyJzdGFydEF0IjoiQVFBQUFYS2tMS3pPbm40NGV3QUFBQUJCV0V0clRFdDZVbG8zY3pCRmNsbHJiVmxDWlEifQ== type: string limit: default: 10 @@ -3585,6 +6574,72 @@ components: maximum: 1000 type: integer type: object + DistributionPointTimestamp: + description: Distribution point timestamp. It should be in seconds and current. + format: double + type: number + DistributionPointData: + description: Distribution point data. + items: + description: List of distribution point data. + format: double + type: number + type: array + DdsqlTabularQueryColumn: + description: A single column of a DDSQL tabular query result. + properties: + name: + description: Name of the column as projected by the SQL statement. + example: service + type: string + type: + description: |- + DDSQL data type of the column's values, for example `VARCHAR`, `BIGINT`, + `DECIMAL`, `BOOLEAN`, `TIMESTAMP`, `JSON`, or an array variant such as + `VARCHAR[]`. See the + [DDSQL data-types reference](https://docs.datadoghq.com/ddsql_reference/#data-types) + for the full, up-to-date list. + example: VARCHAR + type: string + values: + description: |- + Column values in row order, one entry per result row. The element type + follows the column's `type`. The following serialization rules should be + taken into account: + + - `BIGINT` values are encoded as JSON numbers in the signed 64-bit integer range. + - `DECIMAL` values are encoded as JSON numbers with 64-bit double precision. + - `TIMESTAMP` and `DATE` values are encoded as Unix-millisecond integers; a + `DATE` resolves to midnight UTC. + - `JSON` values are returned as a JSON-encoded string. + + `null` is allowed for any column type where a value is missing. + example: + - web-store + - checkout + items: {} + type: array + required: + - name + - type + - values + type: object + TagIndexingRuleOptionsData: + description: Data payload for tag indexing rule options. + properties: + dynamic_tags: + $ref: '#/components/schemas/TagIndexingRuleDynamicTags' + manage_preexisting_metrics: + description: When true, the rule applies to metrics that were ingested before the rule was created. + example: true + type: boolean + metric_match: + $ref: '#/components/schemas/TagIndexingRuleMetricMatch' + override_previous_rules: + description: When true, this rule's tag list overrides tags configured by earlier rules for the same metric. When false (default), tags from all matching rules are combined. + example: false + type: boolean + type: object MetricCustomAggregation: description: A time and space aggregation combination for use in query. example: @@ -3600,9 +6655,7 @@ components: - space type: object MetricAssetDashboardRelationship: - description: >- - An object of type `dashboard` that can be referenced in the `included` - data. + description: An object of type `dashboard` that can be referenced in the `included` data. properties: id: $ref: '#/components/schemas/MetricDashboardID' @@ -3610,9 +6663,7 @@ components: $ref: '#/components/schemas/MetricDashboardType' type: object MetricAssetMonitorRelationship: - description: >- - An object of type `monitor` that can be referenced in the `included` - data. + description: An object of type `monitor` that can be referenced in the `included` data. properties: id: $ref: '#/components/schemas/MetricMonitorID' @@ -3620,9 +6671,7 @@ components: $ref: '#/components/schemas/MetricMonitorType' type: object MetricAssetNotebookRelationship: - description: >- - An object of type `notebook` that can be referenced in the `included` - data. + description: An object of type `notebook` that can be referenced in the `included` data. properties: id: $ref: '#/components/schemas/MetricNotebookID' @@ -3637,13 +6686,18 @@ components: type: $ref: '#/components/schemas/MetricSLOType' type: object + MetricVolumesRelationshipData: + description: Relationship data for a metric volume. + properties: + id: + $ref: '#/components/schemas/MetricName' + type: + $ref: '#/components/schemas/MetricIngestedIndexedVolumeType' + type: object FormulaLimit: - description: >- - Message for specifying limits to the number of values returned by a - query. - - This limit is only for scalar queries and has no effect on timeseries - queries. + description: |- + Message for specifying limits to the number of values returned by a query. + This limit is only for scalar queries and has no effect on timeseries queries. properties: count: description: The number of results to which to limit. @@ -3651,18 +6705,153 @@ components: format: int32 maximum: 2147483647 type: integer - order: + order: + $ref: '#/components/schemas/QuerySortOrder' + type: object + ScalarQuery: + description: An individual scalar query to one of the basic Datadog data sources. + example: + aggregator: avg + data_source: metrics + query: avg:system.cpu.user{*} by {env} + additional_query_filters: '*' + group_mode: overall + measure: good_events + name: my_slo + slo_id: '12345678910' + slo_query_type: metric + properties: + aggregator: + $ref: '#/components/schemas/MetricsAggregator' + cross_org_uuids: + $ref: '#/components/schemas/CrossOrgUuids' + data_source: + $ref: '#/components/schemas/MetricsDataSource' + name: + description: The variable name for use in formulas. + type: string + query: + description: A classic metrics query string. + example: avg:system.cpu.user{*} by {env} + type: string + compute: + $ref: '#/components/schemas/EventsCompute' + group_by: + $ref: '#/components/schemas/EventsQueryGroupBys' + indexes: + description: The indexes in which to search. + example: + - main + items: + description: The unique index name. + example: main + type: string + type: array + search: + $ref: '#/components/schemas/EventsSearch' + env: + description: The environment to query. + example: prod + type: string + operation_name: + description: The APM operation name. + example: web.request + type: string + primary_tag_name: + description: Name of the second primary tag used within APM. Required when `primary_tag_value` is specified. See https://docs.datadoghq.com/tracing/guide/setting_primary_tags_to_scope/#add-a-second-primary-tag-in-datadog + example: datacenter + type: string + primary_tag_value: + description: Value of the second primary tag by which to filter APM data. `primary_tag_name` must also be specified. + example: us-east-1 + type: string + resource_name: + description: The resource name to filter by. + example: Admin::ProductsController#create + type: string + service: + description: The service name to filter by. + example: web-store + type: string + stat: + $ref: '#/components/schemas/ApmResourceStatName' + operation_mode: + description: Optional operation mode to aggregate across operation names. + example: primary + type: string + peer_tags: + description: Tags to query for a specific downstream entity (peer.service, peer.db_instance, peer.s3, peer.s3.bucket, etc.). + items: + description: A peer tag value. + example: peer.service:my-service + type: string + type: array + query_filter: + description: Additional filters for the query using metrics query syntax (for example, env, primary_tag). + example: env:prod + type: string + resource_hash: + description: The resource hash for exact matching. + example: abc123 + type: string + span_kind: + $ref: '#/components/schemas/ApmMetricsSpanKind' + is_upstream: + description: Determines whether stats for upstream or downstream dependencies should be queried. + example: true + type: boolean + additional_query_filters: + description: Additional filters applied to the SLO query. + example: host:host_a,env:prod + type: string + group_mode: + $ref: '#/components/schemas/SlosGroupMode' + measure: + $ref: '#/components/schemas/SlosMeasure' + slo_id: + description: The unique identifier of the SLO to query. + example: a]b123c45de6f78g90h + type: string + slo_query_type: + $ref: '#/components/schemas/SlosQueryType' + is_normalized_cpu: + description: Whether CPU metrics should be normalized by core count. + type: boolean + limit: + description: Maximum number of results to return. + format: int64 + type: integer + metric: + description: The process metric to query. + example: process.stat.cpu.total_pct + type: string + sort: $ref: '#/components/schemas/QuerySortOrder' + tag_filters: + description: Tag filters to narrow down processes. + items: + description: A tag filter value. + example: env:prod + type: string + type: array + text_filter: + description: A full-text search filter to match process names or commands. + type: string + required: + - data_source + - query + - aggregator + - compute + - name + - env + - service + - stat + - operation_name + - resource_name + - slo_id + - measure + - metric type: object - ScalarQuery: - description: An individual scalar query to one of the basic Datadog data sources. - example: - aggregator: avg - data_source: metrics - query: avg:system.cpu.user{*} by {env} - oneOf: - - $ref: '#/components/schemas/MetricsScalarQuery' - - $ref: '#/components/schemas/EventsScalarQuery' GroupScalarColumn: description: A column containing the tag keys and values in a group. properties: @@ -3673,9 +6862,7 @@ components: type: $ref: '#/components/schemas/ScalarColumnTypeGroup' values: - description: >- - The array of tag values for each group found for the results of the - formulas or queries. + description: The array of tag values for each group found for the results of the formulas or queries. example: - - production - - staging @@ -3716,32 +6903,157 @@ components: example: data_source: metrics query: avg:system.cpu.user{*} by {env} - oneOf: - - $ref: '#/components/schemas/MetricsTimeseriesQuery' - - $ref: '#/components/schemas/EventsTimeseriesQuery' + additional_query_filters: '*' + group_mode: overall + measure: good_events + name: my_slo + slo_id: '12345678910' + slo_query_type: metric + properties: + cross_org_uuids: + $ref: '#/components/schemas/CrossOrgUuids' + data_source: + $ref: '#/components/schemas/MetricsDataSource' + name: + description: The variable name for use in formulas. + type: string + query: + description: A classic metrics query string. + example: avg:system.cpu.user{*} by {env} + type: string + compute: + $ref: '#/components/schemas/EventsCompute' + group_by: + $ref: '#/components/schemas/EventsQueryGroupBys' + indexes: + description: The indexes in which to search. + example: + - main + items: + description: The unique index name. + example: main + type: string + type: array + search: + $ref: '#/components/schemas/EventsSearch' + env: + description: The environment to query. + example: prod + type: string + operation_name: + description: The APM operation name. + example: web.request + type: string + primary_tag_name: + description: Name of the second primary tag used within APM. Required when `primary_tag_value` is specified. See https://docs.datadoghq.com/tracing/guide/setting_primary_tags_to_scope/#add-a-second-primary-tag-in-datadog + example: datacenter + type: string + primary_tag_value: + description: Value of the second primary tag by which to filter APM data. `primary_tag_name` must also be specified. + example: us-east-1 + type: string + resource_name: + description: The resource name to filter by. + example: Admin::ProductsController#create + type: string + service: + description: The service name to filter by. + example: web-store + type: string + stat: + $ref: '#/components/schemas/ApmResourceStatName' + operation_mode: + description: Optional operation mode to aggregate across operation names. + example: primary + type: string + peer_tags: + description: Tags to query for a specific downstream entity (peer.service, peer.db_instance, peer.s3, peer.s3.bucket, etc.). + items: + description: A peer tag value. + example: peer.service:my-service + type: string + type: array + query_filter: + description: Additional filters for the query using metrics query syntax (for example, env, primary_tag). + example: env:prod + type: string + resource_hash: + description: The resource hash for exact matching. + example: abc123 + type: string + span_kind: + $ref: '#/components/schemas/ApmMetricsSpanKind' + is_upstream: + description: Determines whether stats for upstream or downstream dependencies should be queried. + example: true + type: boolean + additional_query_filters: + description: Additional filters applied to the SLO query. + example: host:host_a,env:prod + type: string + group_mode: + $ref: '#/components/schemas/SlosGroupMode' + measure: + $ref: '#/components/schemas/SlosMeasure' + slo_id: + description: The unique identifier of the SLO to query. + example: a]b123c45de6f78g90h + type: string + slo_query_type: + $ref: '#/components/schemas/SlosQueryType' + is_normalized_cpu: + description: Whether CPU metrics should be normalized by core count. + type: boolean + limit: + description: Maximum number of results to return. + format: int64 + type: integer + metric: + description: The process metric to query. + example: process.stat.cpu.total_pct + type: string + sort: + $ref: '#/components/schemas/QuerySortOrder' + tag_filters: + description: Tag filters to narrow down processes. + items: + description: A tag filter value. + example: env:prod + type: string + type: array + text_filter: + description: A full-text search filter to match process names or commands. + type: string + required: + - data_source + - query + - compute + - name + - env + - service + - stat + - operation_name + - resource_name + - slo_id + - measure + - metric + type: object TimeseriesResponseSeries: - description: '' + description: A single series in a timeseries query response, containing the query index, unit information, and group tags. properties: group_tags: $ref: '#/components/schemas/GroupTags' query_index: - description: >- - The index of the query in the "formulas" array (or "queries" array - if no "formulas" was specified). + description: The index of the query in the "formulas" array (or "queries" array if no "formulas" was specified). example: 0 format: int32 maximum: 2147483647 type: integer unit: - description: >- + description: |- Detailed information about the unit. - - The first element describes the "primary unit" (for example, `bytes` - in `bytes per second`). - - The second element describes the "per unit" (for example, `second` - in `bytes per second`). - + The first element describes the "primary unit" (for example, `bytes` in `bytes per second`). + The second element describes the "per unit" (for example, `second` in `bytes per second`). If the second element is not present, the API returns null. items: $ref: '#/components/schemas/Unit' @@ -3800,11 +7112,9 @@ components: - TIMESERIES - TOTAL SpansGroupByHistogram: - description: >- + description: |- Used to perform a histogram computation (only for measure facets). - - Note: At most 100 buckets are allowed, the number of buckets is (max - - min)/interval. + Note: At most 100 buckets are allowed, the number of buckets is (max - min)/interval. properties: interval: description: The bin size of the histogram buckets. @@ -3832,9 +7142,8 @@ components: type: object SpansGroupByMissing: description: The value to use for spans that don't have the facet used to group by. - oneOf: - - $ref: '#/components/schemas/SpansGroupByMissingString' - - $ref: '#/components/schemas/SpansGroupByMissingNumber' + type: string + format: double SpansAggregateSort: description: A sort rule. example: @@ -3854,13 +7163,9 @@ components: type: object SpansGroupByTotal: default: false - description: >- - A resulting object to put the given computes in over all the matching - records. - oneOf: - - $ref: '#/components/schemas/SpansGroupByTotalBoolean' - - $ref: '#/components/schemas/SpansGroupByTotalString' - - $ref: '#/components/schemas/SpansGroupByTotalNumber' + description: A resulting object to put the given computes in over all the matching records. + type: boolean + format: double SpansAggregateBucketValueSingleString: description: A single string value. type: string @@ -3874,6 +7179,59 @@ components: $ref: '#/components/schemas/SpansAggregateBucketValueTimeseriesPoint' type: array x-generate-alias-as-model: true + TagIndexingRuleDynamicTags: + description: |- + Options for dynamic tag indexing applied per metric, such as tags filtered by query usage. + + Before a tag key is dropped by this rule, two grace period conditions must be met: + + 1. The metric must be submitted for at least as long as the selected window. + 2. A tag key must have been submitted for at least 15 days. + + Any metric or tag key that does not meet these conditions are excluded from this + indexing rule. The `exclude_not_*` fields require `exclude_tags_mode` to be set to `true`. + properties: + exclude_not_queried_window_seconds: + description: Tags that have not been queried within this window are excluded from indexing. Maximum of `7776000` (90 days). + example: 3600 + format: int64 + maximum: 7776000 + type: integer + exclude_not_used_in_assets: + description: Tags not used in any dashboards, monitors, notebooks, or SLOs are excluded from indexing. + example: false + type: boolean + queried_tags_window_seconds: + description: Window in seconds for evaluating queried tags. + example: 3600 + format: int64 + type: integer + related_asset_tags: + description: When true, tags from related assets are included. + example: false + type: boolean + type: object + TagIndexingRuleMetricMatch: + description: Criteria for matching metrics based on query state. + properties: + is_queried: + description: Match metrics that are being queried. + type: boolean + not_queried: + description: Match metrics that are not being queried. + type: boolean + not_used_in_assets: + description: Match metrics not used in any dashboards or monitors. + type: boolean + queried_window_seconds: + description: Window in seconds for evaluating query state. + example: 3600 + format: int64 + type: integer + used_in_assets: + description: Match metrics used in dashboards or monitors. + type: boolean + type: object MetricCustomSpaceAggregation: description: A space aggregation for use in query. enum: @@ -3915,10 +7273,12 @@ components: - ASC - DESC MetricsScalarQuery: - description: An individual scalar metrics query. + description: A query against Datadog custom metrics or Cloud Cost data sources. properties: aggregator: $ref: '#/components/schemas/MetricsAggregator' + cross_org_uuids: + $ref: '#/components/schemas/CrossOrgUuids' data_source: $ref: '#/components/schemas/MetricsDataSource' name: @@ -3934,10 +7294,12 @@ components: - aggregator type: object EventsScalarQuery: - description: An individual scalar events query. + description: An individual scalar query for logs, RUM, traces, CI pipelines, security signals, and other event-based data sources. Use this query type for any data source powered by the Events Platform. See the data_source field for the full list of supported sources. properties: compute: $ref: '#/components/schemas/EventsCompute' + cross_org_uuids: + $ref: '#/components/schemas/CrossOrgUuids' data_source: $ref: '#/components/schemas/EventsDataSource' group_by: @@ -3951,14 +7313,293 @@ components: example: main type: string type: array - name: - description: The variable name for use in formulas. + name: + description: The variable name for use in formulas. + type: string + search: + $ref: '#/components/schemas/EventsSearch' + required: + - data_source + - compute + type: object + ApmResourceStatsQuery: + description: A query for APM resource statistics such as latency, error rate, and hit count, grouped by resource name. + properties: + cross_org_uuids: + $ref: '#/components/schemas/CrossOrgUuids' + data_source: + $ref: '#/components/schemas/ApmResourceStatsDataSource' + env: + description: The environment to query. + example: prod + type: string + group_by: + description: Tag keys to group results by. + items: + description: A tag key to group by. + example: resource_name + type: string + type: array + name: + description: The variable name for use in formulas. + example: query1 + type: string + operation_name: + description: The APM operation name. + example: web.request + type: string + primary_tag_name: + description: Name of the second primary tag used within APM. Required when `primary_tag_value` is specified. See https://docs.datadoghq.com/tracing/guide/setting_primary_tags_to_scope/#add-a-second-primary-tag-in-datadog + example: datacenter + type: string + primary_tag_value: + description: Value of the second primary tag by which to filter APM data. `primary_tag_name` must also be specified. + example: us-east-1 + type: string + resource_name: + description: The resource name to filter by. + example: Admin::ProductsController#create + type: string + service: + description: The service name to filter by. + example: web-store + type: string + stat: + $ref: '#/components/schemas/ApmResourceStatName' + required: + - data_source + - name + - env + - service + - stat + type: object + ApmMetricsQuery: + description: A query for APM trace metrics such as hits, errors, and latency percentiles, aggregated across services. + properties: + cross_org_uuids: + $ref: '#/components/schemas/CrossOrgUuids' + data_source: + $ref: '#/components/schemas/ApmMetricsDataSource' + group_by: + description: Optional fields to group the query results by. + items: + description: A field to group results by. + example: service + type: string + type: array + name: + description: The variable name for use in formulas. + example: query1 + type: string + operation_mode: + description: Optional operation mode to aggregate across operation names. + example: primary + type: string + operation_name: + description: Name of operation on service. If not provided, the primary operation name is used. + example: web.request + type: string + peer_tags: + description: Tags to query for a specific downstream entity (peer.service, peer.db_instance, peer.s3, peer.s3.bucket, etc.). + items: + description: A peer tag value. + example: peer.service:my-service + type: string + type: array + query_filter: + description: Additional filters for the query using metrics query syntax (for example, env, primary_tag). + example: env:prod + type: string + resource_hash: + description: The resource hash for exact matching. + example: abc123 + type: string + resource_name: + description: The full name of a specific resource to filter by. + example: GET /api/v1/users + type: string + service: + description: The service name to filter by. + example: web-store + type: string + span_kind: + $ref: '#/components/schemas/ApmMetricsSpanKind' + stat: + $ref: '#/components/schemas/ApmMetricsStat' + required: + - data_source + - name + - stat + type: object + ApmDependencyStatsQuery: + description: A query for APM dependency statistics between services, such as call latency and error rates. + properties: + cross_org_uuids: + $ref: '#/components/schemas/CrossOrgUuids' + data_source: + $ref: '#/components/schemas/ApmDependencyStatsDataSource' + env: + description: The environment to query. + example: prod + type: string + is_upstream: + description: Determines whether stats for upstream or downstream dependencies should be queried. + example: true + type: boolean + name: + description: The variable name for use in formulas. + example: query1 + type: string + operation_name: + description: The APM operation name. + example: web.request + type: string + primary_tag_name: + description: The name of the second primary tag used within APM; required when `primary_tag_value` is specified. See https://docs.datadoghq.com/tracing/guide/setting_primary_tags_to_scope/#add-a-second-primary-tag-in-datadog. + example: datacenter + type: string + primary_tag_value: + description: Filter APM data by the second primary tag. `primary_tag_name` must also be specified. + example: us-east-1 + type: string + resource_name: + description: The resource name to filter by. + example: GET /api/v2/users + type: string + service: + description: The service name to filter by. + example: web-store + type: string + stat: + $ref: '#/components/schemas/ApmDependencyStatName' + required: + - data_source + - name + - env + - operation_name + - resource_name + - service + - stat + type: object + SloQuery: + description: A query for SLO status, error budget, and burn rate metrics. + example: + additional_query_filters: '*' + data_source: slo + group_mode: overall + measure: good_events + name: my_slo + slo_id: '12345678910' + slo_query_type: metric + properties: + additional_query_filters: + description: Additional filters applied to the SLO query. + example: host:host_a,env:prod + type: string + cross_org_uuids: + $ref: '#/components/schemas/CrossOrgUuids' + data_source: + $ref: '#/components/schemas/SloDataSource' + group_mode: + $ref: '#/components/schemas/SlosGroupMode' + measure: + $ref: '#/components/schemas/SlosMeasure' + name: + description: The variable name for use in formulas. + example: query1 + type: string + slo_id: + description: The unique identifier of the SLO to query. + example: a]b123c45de6f78g90h + type: string + slo_query_type: + $ref: '#/components/schemas/SlosQueryType' + required: + - data_source + - slo_id + - measure + type: object + ProcessScalarQuery: + description: A query for host-level process metrics such as CPU and memory usage. + properties: + aggregator: + $ref: '#/components/schemas/MetricsAggregator' + cross_org_uuids: + $ref: '#/components/schemas/CrossOrgUuids' + data_source: + $ref: '#/components/schemas/ProcessDataSource' + is_normalized_cpu: + description: Whether CPU metrics should be normalized by core count. + type: boolean + limit: + description: Maximum number of results to return. + format: int64 + type: integer + metric: + description: The process metric to query. + example: process.stat.cpu.total_pct + type: string + name: + description: The variable name for use in formulas. + example: query1 + type: string + sort: + $ref: '#/components/schemas/QuerySortOrder' + tag_filters: + description: Tag filters to narrow down processes. + items: + description: A tag filter value. + example: env:prod + type: string + type: array + text_filter: + description: A full-text search filter to match process names or commands. + type: string + required: + - data_source + - name + - metric + type: object + ContainerScalarQuery: + description: A query for container-level metrics such as CPU and memory usage. + properties: + aggregator: + $ref: '#/components/schemas/MetricsAggregator' + cross_org_uuids: + $ref: '#/components/schemas/CrossOrgUuids' + data_source: + $ref: '#/components/schemas/ContainerDataSource' + is_normalized_cpu: + description: Whether CPU metrics should be normalized by core count. + type: boolean + limit: + description: Maximum number of results to return. + format: int64 + type: integer + metric: + description: The container metric to query. + example: process.stat.container.cpu.total_pct + type: string + name: + description: The variable name for use in formulas. + example: query1 + type: string + sort: + $ref: '#/components/schemas/QuerySortOrder' + tag_filters: + description: Tag filters to narrow down containers. + items: + description: A tag filter value. + example: env:prod + type: string + type: array + text_filter: + description: A full-text search filter to match container names. type: string - search: - $ref: '#/components/schemas/EventsSearch' required: - data_source - - compute + - name + - metric type: object ScalarColumnTypeGroup: default: group @@ -3973,15 +7614,10 @@ components: description: Metadata for the resulting numerical values. properties: unit: - description: >- + description: |- Detailed information about the unit. - - First element describes the "primary unit" (for example, `bytes` in - `bytes per second`). - - The second element describes the "per unit" (for example, `second` - in `bytes per second`). - + First element describes the "primary unit" (for example, `bytes` in `bytes per second`). + The second element describes the "per unit" (for example, `second` in `bytes per second`). If the second element is not present, the API returns null. items: $ref: '#/components/schemas/Unit' @@ -3998,8 +7634,10 @@ components: x-enum-varnames: - NUMBER MetricsTimeseriesQuery: - description: An individual timeseries metrics query. + description: A query against Datadog custom metrics or Cloud Cost data sources. properties: + cross_org_uuids: + $ref: '#/components/schemas/CrossOrgUuids' data_source: $ref: '#/components/schemas/MetricsDataSource' name: @@ -4014,10 +7652,12 @@ components: - query type: object EventsTimeseriesQuery: - description: An individual timeseries events query. + description: An individual timeseries query for logs, RUM, traces, CI pipelines, security signals, and other event-based data sources. Use this query type for any data source powered by the Events Platform. See the data_source field for the full list of supported sources. properties: compute: $ref: '#/components/schemas/EventsCompute' + cross_org_uuids: + $ref: '#/components/schemas/CrossOrgUuids' data_source: $ref: '#/components/schemas/EventsDataSource' group_by: @@ -4040,6 +7680,84 @@ components: - data_source - compute type: object + ProcessTimeseriesQuery: + description: A query for host-level process metrics such as CPU and memory usage. + properties: + cross_org_uuids: + $ref: '#/components/schemas/CrossOrgUuids' + data_source: + $ref: '#/components/schemas/ProcessDataSource' + is_normalized_cpu: + description: Whether CPU metrics should be normalized by core count. + type: boolean + limit: + description: Maximum number of results to return. + format: int64 + type: integer + metric: + description: The process metric to query. + example: process.stat.cpu.total_pct + type: string + name: + description: The variable name for use in formulas. + example: query1 + type: string + sort: + $ref: '#/components/schemas/QuerySortOrder' + tag_filters: + description: Tag filters to narrow down processes. + items: + description: A tag filter value. + example: env:prod + type: string + type: array + text_filter: + description: A full-text search filter to match process names or commands. + type: string + required: + - data_source + - name + - metric + type: object + ContainerTimeseriesQuery: + description: A query for container-level metrics such as CPU and memory usage. + properties: + cross_org_uuids: + $ref: '#/components/schemas/CrossOrgUuids' + data_source: + $ref: '#/components/schemas/ContainerDataSource' + is_normalized_cpu: + description: Whether CPU metrics should be normalized by core count. + type: boolean + limit: + description: Maximum number of results to return. + format: int64 + type: integer + metric: + description: The container metric to query. + example: process.stat.container.cpu.total_pct + type: string + name: + description: The variable name for use in formulas. + example: query1 + type: string + sort: + $ref: '#/components/schemas/QuerySortOrder' + tag_filters: + description: Tag filters to narrow down containers. + items: + description: A tag filter value. + example: env:prod + type: string + type: array + text_filter: + description: A full-text search filter to match container names. + type: string + required: + - data_source + - name + - metric + type: object GroupTags: description: List of tags that apply to a single response value. items: @@ -4048,15 +7766,11 @@ components: type: string type: array Unit: - description: >- - Object containing the metric unit family, scale factor, name, and short - name. + description: Object containing the metric unit family, scale factor, name, and short name. nullable: true properties: family: - description: >- - Unit family, allows for conversion between units of the same family, - for scaling. + description: Unit family, allows for conversion between units of the same family, for scaling. example: time type: string name: @@ -4152,6 +7866,13 @@ components: - MEAN - L2NORM - AREA + CrossOrgUuids: + description: Organization UUIDs to query when using [cross-organization visibility](/account_management/org_settings/cross_org_visibility/). Limited to one organization UUID. + items: + description: An organization UUID. + type: string + maxItems: 1 + type: array MetricsDataSource: default: metrics description: A data source that is powered by the Metrics platform. @@ -4184,13 +7905,35 @@ components: description: A data source that is powered by the Events Platform. enum: - logs + - spans + - network - rum + - security_signals + - profiles + - audit + - events + - ci_tests + - ci_pipelines + - incident_analytics + - product_analytics + - on_call_events - dora example: logs type: string x-enum-varnames: - LOGS + - SPANS + - NETWORK - RUM + - SECURITY_SIGNALS + - PROFILES + - AUDIT + - EVENTS + - CI_TESTS + - CI_PIPELINES + - INCIDENT_ANALYTICS + - PRODUCT_ANALYTICS + - ON_CALL_EVENTS - DORA EventsQueryGroupBys: description: The list of facets on which to split results. @@ -4205,6 +7948,212 @@ components: example: status:warn service:foo type: string type: object + ApmResourceStatsDataSource: + default: apm_resource_stats + description: A data source for APM resource statistics queries. + enum: + - apm_resource_stats + example: apm_resource_stats + type: string + x-enum-varnames: + - APM_RESOURCE_STATS + ApmResourceStatName: + description: The APM resource statistic to query. + enum: + - error_rate + - errors + - hits + - latency_avg + - latency_max + - latency_p50 + - latency_p75 + - latency_p90 + - latency_p95 + - latency_p99 + - latency_distribution + - total_time + example: latency_p95 + type: string + x-enum-varnames: + - ERROR_RATE + - ERRORS + - HITS + - LATENCY_AVG + - LATENCY_MAX + - LATENCY_P50 + - LATENCY_P75 + - LATENCY_P90 + - LATENCY_P95 + - LATENCY_P99 + - LATENCY_DISTRIBUTION + - TOTAL_TIME + ApmMetricsDataSource: + default: apm_metrics + description: A data source for APM metrics queries. + enum: + - apm_metrics + example: apm_metrics + type: string + x-enum-varnames: + - APM_METRICS + ApmMetricsSpanKind: + description: Describes the relationship between the span, its parents, and its children in a trace. + enum: + - consumer + - server + - client + - producer + - internal + example: server + type: string + x-enum-varnames: + - CONSUMER + - SERVER + - CLIENT + - PRODUCER + - INTERNAL + ApmMetricsStat: + description: The APM metric statistic to query. + enum: + - error_rate + - errors + - errors_per_second + - hits + - hits_per_second + - apdex + - latency_avg + - latency_max + - latency_p50 + - latency_p75 + - latency_p90 + - latency_p95 + - latency_p99 + - latency_p999 + - latency_distribution + - total_time + example: latency_p99 + type: string + x-enum-varnames: + - ERROR_RATE + - ERRORS + - ERRORS_PER_SECOND + - HITS + - HITS_PER_SECOND + - APDEX + - LATENCY_AVG + - LATENCY_MAX + - LATENCY_P50 + - LATENCY_P75 + - LATENCY_P90 + - LATENCY_P95 + - LATENCY_P99 + - LATENCY_P999 + - LATENCY_DISTRIBUTION + - TOTAL_TIME + ApmDependencyStatsDataSource: + default: apm_dependency_stats + description: A data source for APM dependency statistics queries. + enum: + - apm_dependency_stats + example: apm_dependency_stats + type: string + x-enum-varnames: + - APM_DEPENDENCY_STATS + ApmDependencyStatName: + description: The APM dependency statistic to query. + enum: + - avg_duration + - avg_root_duration + - avg_spans_per_trace + - error_rate + - pct_exec_time + - pct_of_traces + - total_traces_count + example: avg_duration + type: string + x-enum-varnames: + - AVG_DURATION + - AVG_ROOT_DURATION + - AVG_SPANS_PER_TRACE + - ERROR_RATE + - PCT_EXEC_TIME + - PCT_OF_TRACES + - TOTAL_TRACES_COUNT + SloDataSource: + default: slo + description: A data source for SLO queries. + enum: + - slo + example: slo + type: string + x-enum-varnames: + - SLO + SlosGroupMode: + description: How SLO results are grouped in the response. + enum: + - overall + - components + example: overall + type: string + x-enum-varnames: + - OVERALL + - COMPONENTS + SlosMeasure: + description: The SLO measurement to retrieve. + enum: + - good_events + - bad_events + - slo_status + - error_budget_remaining + - error_budget_remaining_history + - error_budget_burndown + - burn_rate + - slo_status_history + - good_minutes + - bad_minutes + example: slo_status + type: string + x-enum-varnames: + - GOOD_EVENTS + - BAD_EVENTS + - SLO_STATUS + - ERROR_BUDGET_REMAINING + - ERROR_BUDGET_REMAINING_HISTORY + - ERROR_BUDGET_BURNDOWN + - BURN_RATE + - SLO_STATUS_HISTORY + - GOOD_MINUTES + - BAD_MINUTES + SlosQueryType: + description: The type of SLO definition being queried. + enum: + - metric + - time_slice + - monitor + example: metric + type: string + x-enum-varnames: + - METRIC + - TIME_SLICE + - MONITOR + ProcessDataSource: + default: process + description: A data source for process-level infrastructure metrics. + enum: + - process + example: process + type: string + x-enum-varnames: + - PROCESS + ContainerDataSource: + default: container + description: A data source for container-level infrastructure metrics. + enum: + - container + example: container + type: string + x-enum-varnames: + - CONTAINER EventsAggregation: default: count description: The type of aggregation that can be performed on events-based queries. @@ -4243,12 +8192,9 @@ components: type: string limit: default: 10 - description: >- - The maximum buckets to return for this group by. Note: at most 10000 - buckets are allowed. - - If grouping by multiple facets, the product of limits must not - exceed 10000. + description: |- + The maximum buckets to return for this group by. Note: at most 10000 buckets are allowed. + If grouping by multiple facets, the product of limits must not exceed 10000. example: 10 format: int32 maximum: 10000 @@ -4264,9 +8210,7 @@ components: aggregation: $ref: '#/components/schemas/EventsAggregation' metric: - description: >- - The metric's calculated value which should be used to define the - sort order of a query's results. + description: The metric's calculated value which should be used to define the sort order of a query's results. example: '@duration' type: string order: @@ -4369,6 +8313,14 @@ components: required: true schema: type: string + TagIndexingRuleId: + description: ID of the tag indexing rule. + example: 00000000-0000-0000-0000-000000000001 + in: path + name: id + required: true + schema: + type: string x-stackQL-resources: datasets: id: datadog.metrics.datasets @@ -4382,18 +8334,27 @@ components: mediaType: application/json openAPIDocKey: '200' objectKey: $.data + request: + nativeCasing: camel create_dataset: + config: + requestBodyTranslate: + algorithm: naive operation: $ref: '#/paths/~1api~1v2~1datasets/post' response: mediaType: application/json openAPIDocKey: '200' + request: + nativeCasing: camel delete_dataset: operation: $ref: '#/paths/~1api~1v2~1datasets~1{dataset_id}/delete' response: mediaType: application/json openAPIDocKey: '204' + request: + nativeCasing: camel get_dataset: operation: $ref: '#/paths/~1api~1v2~1datasets~1{dataset_id}/get' @@ -4401,12 +8362,19 @@ components: mediaType: application/json openAPIDocKey: '200' objectKey: $.data + request: + nativeCasing: camel update_dataset: + config: + requestBodyTranslate: + algorithm: naive operation: $ref: '#/paths/~1api~1v2~1datasets~1{dataset_id}/put' response: mediaType: application/json openAPIDocKey: '200' + request: + nativeCasing: camel sqlVerbs: select: - $ref: '#/components/x-stackQL-resources/datasets/methods/get_dataset' @@ -4418,6 +8386,39 @@ components: - $ref: '#/components/x-stackQL-resources/datasets/methods/delete_dataset' replace: - $ref: '#/components/x-stackQL-resources/datasets/methods/update_dataset' + ddsql_queries: + id: datadog.metrics.ddsql_queries + name: ddsql_queries + title: Ddsql Queries + methods: + execute_ddsql_tabular_query: + config: + requestBodyTranslate: + algorithm: naive + operation: + $ref: '#/paths/~1api~1v2~1ddsql~1query~1tabular/post' + response: + mediaType: application/json + openAPIDocKey: '200' + request: + nativeCasing: camel + fetch_ddsql_tabular_query: + config: + requestBodyTranslate: + algorithm: naive + operation: + $ref: '#/paths/~1api~1v2~1ddsql~1query~1tabular~1fetch/post' + response: + mediaType: application/json + openAPIDocKey: '200' + request: + nativeCasing: camel + sqlVerbs: + select: [] + insert: [] + update: [] + delete: [] + replace: [] tag_configurations: id: datadog.metrics.tag_configurations name: tag_configurations @@ -4430,24 +8431,28 @@ components: mediaType: application/json openAPIDocKey: '200' objectKey: $.data - delete_bulk_tags_metrics_configuration: - operation: - $ref: '#/paths/~1api~1v2~1metrics~1config~1bulk-tags/delete' - response: - mediaType: application/json - openAPIDocKey: '202' - create_bulk_tags_metrics_configuration: - operation: - $ref: '#/paths/~1api~1v2~1metrics~1config~1bulk-tags/post' - response: - mediaType: application/json - openAPIDocKey: '202' + request: + nativeCasing: camel + config: + pagination: + requestToken: + key: page[cursor] + location: query + responseToken: + key: $.meta.pagination.next_cursor + location: body + queryParamPushdown: + top: + paramName: page[size] + maxValue: 10000 delete_tag_configuration: operation: $ref: '#/paths/~1api~1v2~1metrics~1{metric_name}~1tags/delete' response: mediaType: application/json openAPIDocKey: '204' + request: + nativeCasing: camel list_tag_configuration_by_name: operation: $ref: '#/paths/~1api~1v2~1metrics~1{metric_name}~1tags/get' @@ -4455,38 +8460,174 @@ components: mediaType: application/json openAPIDocKey: '200' objectKey: $.data + request: + nativeCasing: camel update_tag_configuration: + config: + requestBodyTranslate: + algorithm: naive operation: $ref: '#/paths/~1api~1v2~1metrics~1{metric_name}~1tags/patch' response: mediaType: application/json openAPIDocKey: '200' + request: + nativeCasing: camel create_tag_configuration: + config: + requestBodyTranslate: + algorithm: naive operation: $ref: '#/paths/~1api~1v2~1metrics~1{metric_name}~1tags/post' response: mediaType: application/json openAPIDocKey: '201' + request: + nativeCasing: camel sqlVerbs: select: - - $ref: >- - #/components/x-stackQL-resources/tag_configurations/methods/list_tag_configuration_by_name - - $ref: >- - #/components/x-stackQL-resources/tag_configurations/methods/list_tag_configurations + - $ref: '#/components/x-stackQL-resources/tag_configurations/methods/list_tag_configuration_by_name' + - $ref: '#/components/x-stackQL-resources/tag_configurations/methods/list_tag_configurations' insert: - - $ref: >- - #/components/x-stackQL-resources/tag_configurations/methods/create_tag_configuration - - $ref: >- - #/components/x-stackQL-resources/tag_configurations/methods/create_bulk_tags_metrics_configuration + - $ref: '#/components/x-stackQL-resources/tag_configurations/methods/create_tag_configuration' update: - - $ref: >- - #/components/x-stackQL-resources/tag_configurations/methods/update_tag_configuration + - $ref: '#/components/x-stackQL-resources/tag_configurations/methods/update_tag_configuration' + delete: + - $ref: '#/components/x-stackQL-resources/tag_configurations/methods/delete_tag_configuration' + replace: [] + historical_metrics_configurations: + id: datadog.metrics.historical_metrics_configurations + name: historical_metrics_configurations + title: Historical Metrics Configurations + methods: + create_historical_metrics_configuration: + config: + requestBodyTranslate: + algorithm: naive + operation: + $ref: '#/paths/~1api~1v2~1metrics~1historical-metrics-configurations/post' + response: + mediaType: application/json + openAPIDocKey: '200' + request: + nativeCasing: camel + delete_historical_metrics_configuration: + operation: + $ref: '#/paths/~1api~1v2~1metrics~1historical-metrics-configurations~1{metric_name}/delete' + response: + mediaType: application/json + openAPIDocKey: '204' + request: + nativeCasing: camel + get_historical_metrics_configuration: + operation: + $ref: '#/paths/~1api~1v2~1metrics~1historical-metrics-configurations~1{metric_name}/get' + response: + mediaType: application/json + openAPIDocKey: '200' + objectKey: $.data + request: + nativeCasing: camel + sqlVerbs: + select: + - $ref: '#/components/x-stackQL-resources/historical_metrics_configurations/methods/get_historical_metrics_configuration' + insert: + - $ref: '#/components/x-stackQL-resources/historical_metrics_configurations/methods/create_historical_metrics_configuration' + update: [] delete: - - $ref: >- - #/components/x-stackQL-resources/tag_configurations/methods/delete_tag_configuration - - $ref: >- - #/components/x-stackQL-resources/tag_configurations/methods/delete_bulk_tags_metrics_configuration + - $ref: '#/components/x-stackQL-resources/historical_metrics_configurations/methods/delete_historical_metrics_configuration' replace: [] + tag_indexing_rules: + id: datadog.metrics.tag_indexing_rules + name: tag_indexing_rules + title: Tag Indexing Rules + methods: + list_tag_indexing_rules: + operation: + $ref: '#/paths/~1api~1v2~1metrics~1tag-indexing-rules/get' + response: + mediaType: application/json + openAPIDocKey: '200' + objectKey: $.data + request: + nativeCasing: camel + config: + queryParamPushdown: + top: + paramName: page[limit] + skip: + paramName: page[offset] + create_tag_indexing_rule: + config: + requestBodyTranslate: + algorithm: naive + operation: + $ref: '#/paths/~1api~1v2~1metrics~1tag-indexing-rules/post' + response: + mediaType: application/json + openAPIDocKey: '201' + request: + nativeCasing: camel + reorder_tag_indexing_rules: + config: + requestBodyTranslate: + algorithm: naive + operation: + $ref: '#/paths/~1api~1v2~1metrics~1tag-indexing-rules~1order/post' + response: + mediaType: application/json + openAPIDocKey: '204' + request: + nativeCasing: camel + delete_tag_indexing_rule: + operation: + $ref: '#/paths/~1api~1v2~1metrics~1tag-indexing-rules~1{id}/delete' + response: + mediaType: application/json + openAPIDocKey: '204' + request: + nativeCasing: camel + get_tag_indexing_rule: + operation: + $ref: '#/paths/~1api~1v2~1metrics~1tag-indexing-rules~1{id}/get' + response: + mediaType: application/json + openAPIDocKey: '200' + objectKey: $.data + request: + nativeCasing: camel + update_tag_indexing_rule: + config: + requestBodyTranslate: + algorithm: naive + operation: + $ref: '#/paths/~1api~1v2~1metrics~1tag-indexing-rules~1{id}/put' + response: + mediaType: application/json + openAPIDocKey: '200' + request: + nativeCasing: camel + list_tag_indexing_rules_for_metric: + operation: + $ref: '#/paths/~1api~1v2~1metrics~1{metric_name}~1tag-indexing-rules/get' + response: + mediaType: application/json + openAPIDocKey: '200' + objectKey: $.data + request: + nativeCasing: camel + sqlVerbs: + select: + - $ref: '#/components/x-stackQL-resources/tag_indexing_rules/methods/get_tag_indexing_rule' + - $ref: '#/components/x-stackQL-resources/tag_indexing_rules/methods/list_tag_indexing_rules_for_metric' + - $ref: '#/components/x-stackQL-resources/tag_indexing_rules/methods/list_tag_indexing_rules' + insert: + - $ref: '#/components/x-stackQL-resources/tag_indexing_rules/methods/create_tag_indexing_rule' + update: [] + delete: + - $ref: '#/components/x-stackQL-resources/tag_indexing_rules/methods/delete_tag_indexing_rule' + replace: + - $ref: '#/components/x-stackQL-resources/tag_indexing_rules/methods/update_tag_indexing_rule' active_tag_configurations: id: datadog.metrics.active_tag_configurations name: active_tag_configurations @@ -4494,16 +8635,16 @@ components: methods: list_active_metric_configurations: operation: - $ref: >- - #/paths/~1api~1v2~1metrics~1{metric_name}~1active-configurations/get + $ref: '#/paths/~1api~1v2~1metrics~1{metric_name}~1active-configurations/get' response: mediaType: application/json openAPIDocKey: '200' objectKey: $.data + request: + nativeCasing: camel sqlVerbs: select: - - $ref: >- - #/components/x-stackQL-resources/active_tag_configurations/methods/list_active_metric_configurations + - $ref: '#/components/x-stackQL-resources/active_tag_configurations/methods/list_active_metric_configurations' insert: [] update: [] delete: [] @@ -4520,10 +8661,16 @@ components: mediaType: application/json openAPIDocKey: '200' objectKey: $.data + request: + nativeCasing: camel + config: + queryParamPushdown: + top: + paramName: page[limit] + maxValue: 1000000 sqlVerbs: select: - - $ref: >- - #/components/x-stackQL-resources/tags/methods/list_tags_by_metric_name + - $ref: '#/components/x-stackQL-resources/tags/methods/list_tags_by_metric_name' insert: [] update: [] delete: [] @@ -4540,10 +8687,11 @@ components: mediaType: application/json openAPIDocKey: '200' objectKey: $.data + request: + nativeCasing: camel sqlVerbs: select: - - $ref: >- - #/components/x-stackQL-resources/related_assets/methods/list_metric_assets + - $ref: '#/components/x-stackQL-resources/related_assets/methods/list_metric_assets' insert: [] update: [] delete: [] @@ -4560,10 +8708,11 @@ components: mediaType: application/json openAPIDocKey: '200' objectKey: $.data + request: + nativeCasing: camel sqlVerbs: select: - - $ref: >- - #/components/x-stackQL-resources/metrics_output_series/methods/estimate_metrics_output_series + - $ref: '#/components/x-stackQL-resources/metrics_output_series/methods/estimate_metrics_output_series' insert: [] update: [] delete: [] @@ -4580,14 +8729,57 @@ components: mediaType: application/json openAPIDocKey: '200' objectKey: $.data + request: + nativeCasing: camel sqlVerbs: select: - - $ref: >- - #/components/x-stackQL-resources/tag_cardinality_details/methods/get_metric_tag_cardinality_details + - $ref: '#/components/x-stackQL-resources/tag_cardinality_details/methods/get_metric_tag_cardinality_details' insert: [] update: [] delete: [] replace: [] + tag_indexing_rule_exemptions: + id: datadog.metrics.tag_indexing_rule_exemptions + name: tag_indexing_rule_exemptions + title: Tag Indexing Rule Exemptions + methods: + delete_tag_indexing_rule_exemption: + operation: + $ref: '#/paths/~1api~1v2~1metrics~1{metric_name}~1tag-indexing-rule-exemptions/delete' + response: + mediaType: application/json + openAPIDocKey: '204' + request: + nativeCasing: camel + get_tag_indexing_rule_exemption: + operation: + $ref: '#/paths/~1api~1v2~1metrics~1{metric_name}~1tag-indexing-rule-exemptions/get' + response: + mediaType: application/json + openAPIDocKey: '200' + objectKey: $.data + request: + nativeCasing: camel + create_tag_indexing_rule_exemption: + config: + requestBodyTranslate: + algorithm: naive + operation: + $ref: '#/paths/~1api~1v2~1metrics~1{metric_name}~1tag-indexing-rule-exemptions/post' + response: + mediaType: application/json + openAPIDocKey: '201' + request: + nativeCasing: camel + sqlVerbs: + select: + - $ref: '#/components/x-stackQL-resources/tag_indexing_rule_exemptions/methods/get_tag_indexing_rule_exemption' + insert: + - $ref: '#/components/x-stackQL-resources/tag_indexing_rule_exemptions/methods/create_tag_indexing_rule_exemption' + update: [] + delete: + - $ref: '#/components/x-stackQL-resources/tag_indexing_rule_exemptions/methods/delete_tag_indexing_rule_exemption' + replace: [] volumes: id: datadog.metrics.volumes name: volumes @@ -4600,10 +8792,11 @@ components: mediaType: application/json openAPIDocKey: '200' objectKey: $.data + request: + nativeCasing: camel sqlVerbs: select: - - $ref: >- - #/components/x-stackQL-resources/volumes/methods/list_volumes_by_metric_name + - $ref: '#/components/x-stackQL-resources/volumes/methods/list_volumes_by_metric_name' insert: [] update: [] delete: [] @@ -4614,23 +8807,38 @@ components: title: Metrics methods: query_scalar_data: + config: + requestBodyTranslate: + algorithm: naive operation: $ref: '#/paths/~1api~1v2~1query~1scalar/post' response: mediaType: application/json openAPIDocKey: '200' + request: + nativeCasing: camel query_timeseries_data: + config: + requestBodyTranslate: + algorithm: naive operation: $ref: '#/paths/~1api~1v2~1query~1timeseries/post' response: mediaType: application/json openAPIDocKey: '200' + request: + nativeCasing: camel submit_metrics: + config: + requestBodyTranslate: + algorithm: naive operation: $ref: '#/paths/~1api~1v2~1series/post' response: mediaType: application/json openAPIDocKey: '202' + request: + nativeCasing: camel sqlVerbs: select: [] insert: @@ -4644,11 +8852,16 @@ components: title: Spans methods: aggregate_spans: + config: + requestBodyTranslate: + algorithm: naive operation: $ref: '#/paths/~1api~1v2~1spans~1analytics~1aggregate/post' response: mediaType: application/json openAPIDocKey: '200' + request: + nativeCasing: camel list_spans_get: operation: $ref: '#/paths/~1api~1v2~1spans~1events/get' @@ -4656,12 +8869,31 @@ components: mediaType: application/json openAPIDocKey: '200' objectKey: $.data + request: + nativeCasing: camel + config: + pagination: + requestToken: + key: page[cursor] + location: query + responseToken: + key: $.meta.page.after + location: body + queryParamPushdown: + top: + paramName: page[limit] + maxValue: 1000 list_spans: + config: + requestBodyTranslate: + algorithm: naive operation: $ref: '#/paths/~1api~1v2~1spans~1events~1search/post' response: mediaType: application/json openAPIDocKey: '200' + request: + nativeCasing: camel sqlVerbs: select: - $ref: '#/components/x-stackQL-resources/spans/methods/list_spans_get' @@ -4670,9 +8902,105 @@ components: update: [] delete: [] replace: [] + distribution_points: + id: datadog.metrics.distribution_points + name: distribution_points + title: Distribution Points + methods: + submit_distribution_points: + config: + requestBodyTranslate: + algorithm: naive + operation: + $ref: '#/paths/~1api~1v1~1distribution_points/post' + response: + mediaType: text/json + openAPIDocKey: '202' + request: + nativeCasing: camel + sqlVerbs: + select: [] + insert: [] + update: [] + delete: [] + replace: [] + active_metrics: + id: datadog.metrics.active_metrics + name: active_metrics + title: Active Metrics + methods: + list_active_metrics: + operation: + $ref: '#/paths/~1api~1v1~1metrics/get' + response: + mediaType: application/json + openAPIDocKey: '200' + request: + nativeCasing: camel + sqlVerbs: + select: + - $ref: '#/components/x-stackQL-resources/active_metrics/methods/list_active_metrics' + insert: [] + update: [] + delete: [] + replace: [] + metric_metadata: + id: datadog.metrics.metric_metadata + name: metric_metadata + title: Metric Metadata + methods: + get_metric_metadata: + operation: + $ref: '#/paths/~1api~1v1~1metrics~1{metric_name}/get' + response: + mediaType: application/json + openAPIDocKey: '200' + request: + nativeCasing: camel + update_metric_metadata: + config: + requestBodyTranslate: + algorithm: naive + operation: + $ref: '#/paths/~1api~1v1~1metrics~1{metric_name}/put' + response: + mediaType: application/json + openAPIDocKey: '200' + request: + nativeCasing: camel + sqlVerbs: + select: + - $ref: '#/components/x-stackQL-resources/metric_metadata/methods/get_metric_metadata' + insert: [] + update: [] + delete: [] + replace: + - $ref: '#/components/x-stackQL-resources/metric_metadata/methods/update_metric_metadata' + timeseries_query: + id: datadog.metrics.timeseries_query + name: timeseries_query + title: Timeseries Query + methods: + query_metrics: + operation: + $ref: '#/paths/~1api~1v1~1query/get' + response: + mediaType: application/json + openAPIDocKey: '200' + objectKey: $.series + request: + nativeCasing: camel + sqlVerbs: + select: + - $ref: '#/components/x-stackQL-resources/timeseries_query/methods/query_metrics' + insert: [] + update: [] + delete: [] + replace: [] servers: - - url: >- - https://{region:^(?:[^\:/]+(?:\:[0-9]+)?|[0-9]+\.[0-9]+\.[0-9]+\.[0-9]+(?:\:[0-9]+)?)$}/ + - url: https://api.{site:.+} variables: - region: + site: default: datadoghq.com + description: The Datadog site (region) for your organization, for example datadoghq.com, us3.datadoghq.com, us5.datadoghq.com, ap1.datadoghq.com, ap2.datadoghq.com, datadoghq.eu, ddog-gov.com. Resolved from the DD_SITE environment variable when set. + x-stackQL-envVar: DD_SITE diff --git a/providers/src/datadog/v00.00.00000/services/monitoring.yaml b/providers/src/datadog/v00.00.00000/services/monitoring.yaml index 01a995c9..3f29b637 100644 --- a/providers/src/datadog/v00.00.00000/services/monitoring.yaml +++ b/providers/src/datadog/v00.00.00000/services/monitoring.yaml @@ -4,14 +4,111 @@ info: description: datadog monitoring API version: '1.0' paths: + /api/v2/data-observability/monitors/runs/{run_id}/status: + get: + description: Retrieves the current status of a data observability monitor run. Poll this endpoint after triggering a run to determine when evaluation is complete. + operationId: GetDataObservabilityMonitorRunStatus + parameters: + - description: The ID of the monitor run to retrieve status for. + example: abc123def456 + in: path + name: run_id + required: true + schema: + type: string + responses: + '200': + content: + application/json: + examples: + default: + value: + data: + attributes: + status: ok + id: abc123def456 + type: monitor_run + schema: + $ref: '#/components/schemas/GetDataObservabilityMonitorRunStatusResponse' + description: OK + '404': + content: + application/json: + schema: + $ref: '#/components/schemas/JSONAPIErrorResponse' + description: Not Found + '429': + $ref: '#/components/responses/TooManyRequestsResponse' + security: + - apiKeyAuth: [] + appKeyAuth: [] + - AuthZ: + - data_observability_monitors_write + - monitors_write + summary: Get data observability monitor run status + tags: + - Data Observability + x-unstable: |- + **Note**: This endpoint is in preview and is subject to change. + If you have any feedback, contact [Datadog support](https://docs.datadoghq.com/help/). + /api/v2/data-observability/monitors/{monitor_id}/run: + post: + description: Manually triggers a run for a data observability monitor. Only monitors that are not scheduled (manually-runnable) can be triggered this way. + operationId: RunDataObservabilityMonitor + parameters: + - description: The ID of the data observability monitor to run. + example: 12345 + in: path + name: monitor_id + required: true + schema: + format: int64 + type: integer + responses: + '200': + content: + application/json: + examples: + default: + value: + data: + id: abc123def456 + type: monitor_run + schema: + $ref: '#/components/schemas/RunDataObservabilityMonitorResponse' + description: OK + '400': + content: + application/json: + schema: + $ref: '#/components/schemas/JSONAPIErrorResponse' + description: Bad Request + '404': + content: + application/json: + schema: + $ref: '#/components/schemas/JSONAPIErrorResponse' + description: Not Found + '429': + $ref: '#/components/responses/TooManyRequestsResponse' + security: + - apiKeyAuth: [] + appKeyAuth: [] + - AuthZ: + - data_observability_monitors_write + - monitors_write + summary: Run a data observability monitor + tags: + - Data Observability + x-unstable: |- + **Note**: This endpoint is in preview and is subject to change. + If you have any feedback, contact [Datadog support](https://docs.datadoghq.com/help/). /api/v2/monitor/notification_rule: get: description: Returns a list of all monitor notification rules. operationId: GetMonitorNotificationRules parameters: - - description: >- - The page to start paginating from. If `page` is not specified, the - argument defaults to the first page. + - description: The page to start paginating from. If `page` is not specified, the argument defaults to the first page. in: query name: page required: false @@ -20,9 +117,7 @@ paths: maximum: 1000000 minimum: 0 type: integer - - description: >- - The number of rules to return per page. If `per_page` is not - specified, the argument defaults to 100. + - description: The number of rules to return per page. If `per_page` is not specified, the argument defaults to 100. in: query name: per_page required: false @@ -31,37 +126,25 @@ paths: maximum: 1000 minimum: 1 type: integer - - description: >- - String for sort order, composed of field and sort order separated by - a colon, for example `name:asc`. Supported sort directions: `asc`, - `desc`. Supported fields: `name`, `created_at`. + - description: 'String for sort order, composed of field and sort order separated by a colon, for example `name:asc`. Supported sort directions: `asc`, `desc`. Supported fields: `name`, `created_at`.' in: query name: sort required: false schema: type: string - - description: >- + - description: |- JSON-encoded filter object. Supported keys: - - * `text`: Free-text query matched against rule name, tags, and - recipients. - - * `tags`: Array of strings. Return rules that have any of these - tags. - - * `recipients`: Array of strings. Return rules that have any of - these recipients. - example: >- - {"text":"error","tags":["env:prod","team:my-team"],"recipients":["slack-monitor-app","email@example.com"]} + * `text`: Free-text query matched against rule name, tags, and recipients. + * `tags`: Array of strings. Return rules that have any of these tags. + * `recipients`: Array of strings. Return rules that have any of these recipients. + example: '{"text":"error","tags":["env:prod","team:my-team"],"recipients":["slack-monitor-app","email@example.com"]}' in: query name: filters required: false schema: type: string - - description: >- - Comma-separated list of resource paths for related resources to - include in the response. Supported resource - + - description: |- + Comma-separated list of resource paths for related resources to include in the response. Supported resource path is `created_by`. in: query name: include @@ -73,6 +156,18 @@ paths: '200': content: application/json: + examples: + default: + value: + data: + - attributes: + filter: + scope: team:product + name: A notification rule name + recipients: + - slack-test-channel + id: 00000000-0000-1234-0000-000000000000 + type: monitor-notification-rule schema: $ref: '#/components/schemas/MonitorNotificationRuleListResponse' description: OK @@ -102,6 +197,20 @@ paths: requestBody: content: application/json: + examples: + default: + value: + data: + attributes: + filter: + tags: + - team:product + - host:abc + name: A notification rule name + recipients: + - slack-test-channel + - jira-test + type: monitor-notification-rule schema: $ref: '#/components/schemas/MonitorNotificationRuleCreateRequest' description: Request body to create a monitor notification rule. @@ -110,6 +219,18 @@ paths: '200': content: application/json: + examples: + default: + value: + data: + attributes: + filter: + scope: team:product + name: A notification rule name + recipients: + - slack-test-channel + id: 00000000-0000-1234-0000-000000000000 + type: monitor-notification-rule schema: $ref: '#/components/schemas/MonitorNotificationRuleResponse' description: OK @@ -179,10 +300,8 @@ paths: required: true schema: type: string - - description: >- - Comma-separated list of resource paths for related resources to - include in the response. Supported resource - + - description: |- + Comma-separated list of resource paths for related resources to include in the response. Supported resource path is `created_by`. in: query name: include @@ -194,6 +313,18 @@ paths: '200': content: application/json: + examples: + default: + value: + data: + attributes: + filter: + scope: team:product + name: A notification rule name + recipients: + - slack-test-channel + id: 00000000-0000-1234-0000-000000000000 + type: monitor-notification-rule schema: $ref: '#/components/schemas/MonitorNotificationRuleResponse' description: OK @@ -236,6 +367,21 @@ paths: requestBody: content: application/json: + examples: + default: + value: + data: + attributes: + filter: + tags: + - team:product + - host:abc + name: A notification rule name + recipients: + - slack-test-channel + - jira-test + id: 00000000-0000-1234-0000-000000000000 + type: monitor-notification-rule schema: $ref: '#/components/schemas/MonitorNotificationRuleUpdateRequest' description: Request body to update the monitor notification rule. @@ -244,6 +390,21 @@ paths: '200': content: application/json: + examples: + default: + value: + data: + attributes: + created: '2024-01-01T00:00:00+00:00' + filter: + scope: team:product AND host:abc + modified: '2024-01-01T00:00:00+00:00' + name: A notification rule name + recipients: + - slack-test-channel + - jira-test + id: 00000000-0000-1234-0000-000000000000 + type: monitor-notification-rule schema: $ref: '#/components/schemas/MonitorNotificationRuleResponse' description: OK @@ -283,6 +444,20 @@ paths: '200': content: application/json: + examples: + default: + value: + data: + - attributes: + policy: + tag_key: datacenter + tag_key_required: true + valid_tag_values: + - prod + - staging + policy_type: tag + id: 00000000-0000-1234-0000-000000000000 + type: monitor-config-policy schema: $ref: '#/components/schemas/MonitorConfigPolicyListResponse' description: OK @@ -312,6 +487,19 @@ paths: requestBody: content: application/json: + examples: + default: + value: + data: + attributes: + policy: + tag_key: datacenter + tag_key_required: true + valid_tag_values: + - prod + - staging + policy_type: tag + type: monitor-config-policy schema: $ref: '#/components/schemas/MonitorConfigPolicyCreateRequest' description: Create a monitor configuration policy request body. @@ -320,6 +508,20 @@ paths: '200': content: application/json: + examples: + default: + value: + data: + attributes: + policy: + tag_key: datacenter + tag_key_required: true + valid_tag_values: + - prod + - staging + policy_type: tag + id: 00000000-0000-1234-0000-000000000000 + type: monitor-config-policy schema: $ref: '#/components/schemas/MonitorConfigPolicyResponse' description: OK @@ -402,6 +604,20 @@ paths: '200': content: application/json: + examples: + default: + value: + data: + attributes: + policy: + tag_key: datacenter + tag_key_required: true + valid_tag_values: + - prod + - staging + policy_type: tag + id: 00000000-0000-1234-0000-000000000000 + type: monitor-config-policy schema: $ref: '#/components/schemas/MonitorConfigPolicyResponse' description: OK @@ -445,6 +661,20 @@ paths: requestBody: content: application/json: + examples: + default: + value: + data: + attributes: + policy: + tag_key: datacenter + tag_key_required: true + valid_tag_values: + - prod + - staging + policy_type: tag + id: 00000000-0000-1234-0000-000000000000 + type: monitor-config-policy schema: $ref: '#/components/schemas/MonitorConfigPolicyEditRequest' description: Description of the update. @@ -453,6 +683,20 @@ paths: '200': content: application/json: + examples: + default: + value: + data: + attributes: + policy: + tag_key: datacenter + tag_key_required: true + valid_tag_values: + - prod + - staging + policy_type: tag + id: 00000000-0000-1234-0000-000000000000 + type: monitor-config-policy schema: $ref: '#/components/schemas/MonitorConfigPolicyResponse' description: OK @@ -492,6 +736,26 @@ paths: '200': content: application/json: + examples: + default: + value: + data: + - attributes: + created: '2024-01-01T00:00:00+00:00' + description: This is a template for monitoring user activity. + modified: '2024-01-01T00:00:00+00:00' + monitor_definition: + message: You may need to add web hosts if this is consistently high. + name: Bytes received on host0 + query: avg(last_5m):sum:system.net.bytes_rcvd{host:host0} > 100 + type: query alert + tags: + - product:Our Custom App + - integration:Azure + title: Postgres CPU Monitor + version: 1 + id: 00000000-0000-1234-0000-000000000000 + type: monitor-user-template schema: $ref: '#/components/schemas/MonitorUserTemplateListResponse' description: OK @@ -518,6 +782,30 @@ paths: requestBody: content: application/json: + examples: + default: + value: + data: + attributes: + description: This is a template for monitoring user activity. + monitor_definition: + message: You may need to add web hosts if this is consistently high. + name: Bytes received on host0 + query: avg(last_5m):sum:system.net.bytes_rcvd{host:host0} > 100 + type: query alert + tags: + - product:Our Custom App + - integration:Azure + template_variables: + - available_values: + - value1 + - value2 + defaults: + - defaultValue + name: regionName + tag_key: datacenter + title: Postgres CPU Monitor + type: monitor-user-template schema: $ref: '#/components/schemas/MonitorUserTemplateCreateRequest' required: true @@ -525,6 +813,26 @@ paths: '200': content: application/json: + examples: + default: + value: + data: + attributes: + created: '2024-01-01T00:00:00+00:00' + description: This is a template for monitoring user activity. + modified: '2024-01-01T00:00:00+00:00' + monitor_definition: + message: You may need to add web hosts if this is consistently high. + name: Bytes received on host0 + query: avg(last_5m):sum:system.net.bytes_rcvd{host:host0} > 100 + type: query alert + tags: + - product:Our Custom App + - integration:Azure + title: Postgres CPU Monitor + version: 1 + id: 00000000-0000-1234-0000-000000000000 + type: monitor-user-template schema: $ref: '#/components/schemas/MonitorUserTemplateCreateResponse' description: OK @@ -553,6 +861,30 @@ paths: requestBody: content: application/json: + examples: + default: + value: + data: + attributes: + description: This is a template for monitoring user activity. + monitor_definition: + message: You may need to add web hosts if this is consistently high. + name: Bytes received on host0 + query: avg(last_5m):sum:system.net.bytes_rcvd{host:host0} > 100 + type: query alert + tags: + - product:Our Custom App + - integration:Azure + template_variables: + - available_values: + - value1 + - value2 + defaults: + - defaultValue + name: regionName + tag_key: datacenter + title: Postgres CPU Monitor + type: monitor-user-template schema: $ref: '#/components/schemas/MonitorUserTemplateCreateRequest' required: true @@ -620,9 +952,7 @@ paths: schema: example: 00000000-0000-1234-0000-000000000000 type: string - - description: >- - Whether to include all versions of the template in the response in - the versions field. + - description: Whether to include all versions of the template in the response in the versions field. example: false in: query name: with_all_versions @@ -633,6 +963,26 @@ paths: '200': content: application/json: + examples: + default: + value: + data: + attributes: + created: '2024-01-01T00:00:00+00:00' + description: This is a template for monitoring user activity. + modified: '2024-01-01T00:00:00+00:00' + monitor_definition: + message: You may need to add web hosts if this is consistently high. + name: Bytes received on host0 + query: avg(last_5m):sum:system.net.bytes_rcvd{host:host0} > 100 + type: query alert + tags: + - product:Our Custom App + - integration:Azure + title: Postgres CPU Monitor + version: 1 + id: 00000000-0000-1234-0000-000000000000 + type: monitor-user-template schema: $ref: '#/components/schemas/MonitorUserTemplateResponse' description: OK @@ -672,6 +1022,31 @@ paths: requestBody: content: application/json: + examples: + default: + value: + data: + attributes: + description: This is a template for monitoring user activity. + monitor_definition: + message: You may need to add web hosts if this is consistently high. + name: Bytes received on host0 + query: avg(last_5m):sum:system.net.bytes_rcvd{host:host0} > 100 + type: query alert + tags: + - product:Our Custom App + - integration:Azure + template_variables: + - available_values: + - value1 + - value2 + defaults: + - defaultValue + name: regionName + tag_key: datacenter + title: Postgres CPU Monitor + id: 00000000-0000-1234-0000-000000000000 + type: monitor-user-template schema: $ref: '#/components/schemas/MonitorUserTemplateUpdateRequest' required: true @@ -679,6 +1054,26 @@ paths: '200': content: application/json: + examples: + default: + value: + data: + attributes: + created: '2024-01-01T00:00:00+00:00' + description: This is a template for monitoring user activity. + modified: '2024-01-01T00:00:00+00:00' + monitor_definition: + message: You may need to add web hosts if this is consistently high. + name: Bytes received on host0 + query: avg(last_5m):sum:system.net.bytes_rcvd{host:host0} > 100 + type: query alert + tags: + - product:Our Custom App + - integration:Azure + title: Postgres CPU Monitor + version: 2 + id: 00000000-0000-1234-0000-000000000000 + type: monitor-user-template schema: $ref: '#/components/schemas/MonitorUserTemplateResponse' description: OK @@ -708,9 +1103,7 @@ paths: contact [Datadog support](https://docs.datadoghq.com/help/). /api/v2/monitor/template/{template_id}/validate: post: - description: >- - Validate the structure and content of an existing monitor user template - being updated to a new version. + description: Validate the structure and content of an existing monitor user template being updated to a new version. operationId: ValidateExistingMonitorUserTemplate parameters: - description: ID of the monitor user template. @@ -723,6 +1116,31 @@ paths: requestBody: content: application/json: + examples: + default: + value: + data: + attributes: + description: This is a template for monitoring user activity. + monitor_definition: + message: You may need to add web hosts if this is consistently high. + name: Bytes received on host0 + query: avg(last_5m):sum:system.net.bytes_rcvd{host:host0} > 100 + type: query alert + tags: + - product:Our Custom App + - integration:Azure + template_variables: + - available_values: + - value1 + - value2 + defaults: + - defaultValue + name: regionName + tag_key: datacenter + title: Postgres CPU Monitor + id: 00000000-0000-1234-0000-000000000000 + type: monitor-user-template schema: $ref: '#/components/schemas/MonitorUserTemplateUpdateRequest' required: true @@ -779,6 +1197,21 @@ paths: '200': content: application/json: + examples: + default: + value: + data: + - attributes: + end: '2024-01-01T01:00:00+00:00' + groups: + - service:postgres + scope: env:(staging OR prod) AND datacenter:us-east-1 + start: '2024-01-01T00:00:00+00:00' + id: 00000000-0000-1234-0000-000000000000 + type: downtime_match + meta: + page: + total_filtered_count: 1 schema: $ref: '#/components/schemas/MonitorDowntimeMatchResponse' description: OK @@ -807,1036 +1240,17846 @@ paths: operator: OR permissions: - monitors_downtime - /api/v2/synthetics/settings/on_demand_concurrency_cap: + /api/v2/synthetics/api-multistep/subtests/{public_id}: get: - description: Get the on-demand concurrency cap. - operationId: GetOnDemandConcurrencyCap + description: |- + Get the list of API tests that can be added as subtests to a given API multistep test. + The current test is excluded from the list since a test cannot be a subtest of itself. + operationId: GetApiMultistepSubtests + parameters: + - description: The public ID of the API multistep test. + in: path + name: public_id + required: true + schema: + type: string responses: '200': content: application/json: + examples: + default: + value: + data: [] schema: - $ref: '#/components/schemas/OnDemandConcurrencyCapResponse' + $ref: '#/components/schemas/SyntheticsApiMultistepSubtestsResponse' description: OK '429': $ref: '#/components/responses/TooManyRequestsResponse' - summary: Get the on-demand concurrency cap + security: + - apiKeyAuth: [] + appKeyAuth: [] + - AuthZ: + - synthetics_read + summary: Get available subtests for a multistep test tags: - Synthetics x-permission: operator: OR permissions: - - billing_read + - synthetics_read + /api/v2/synthetics/api-multistep/subtests/{public_id}/parents: + get: + description: |- + Get the list of API multistep tests that include a given subtest, + along with their monitor status. + operationId: GetApiMultistepSubtestParents + parameters: + - description: The public ID of the subtest. + in: path + name: public_id + required: true + schema: + type: string + responses: + '200': + content: + application/json: + examples: + default: + value: + data: [] + schema: + $ref: '#/components/schemas/SyntheticsApiMultistepParentTestsResponse' + description: OK + '404': + content: + application/json: + schema: + $ref: '#/components/schemas/APIErrorResponse' + description: API error response. + '429': + $ref: '#/components/responses/TooManyRequestsResponse' + security: + - apiKeyAuth: [] + appKeyAuth: [] + - AuthZ: + - synthetics_read + summary: Get parent tests for a subtest + tags: + - Synthetics + x-permission: + operator: OR + permissions: + - synthetics_read + /api/v2/synthetics/downtimes: + get: + description: Get a list of all Synthetics downtimes for your organization. + operationId: ListSyntheticsDowntimes + parameters: + - description: Comma-separated list of Synthetics test public IDs to filter downtimes by. + in: query + name: filter[test_ids] + required: false + schema: + example: abc-def-123,xyz-uvw-456 + type: string + - description: If set to `true`, return only downtimes that are currently active. + in: query + name: filter[active] + required: false + schema: + example: 'true' + type: string + responses: + '200': + content: + application/json: + examples: + default: + value: + data: + - attributes: + createdAt: '2024-01-15T10:30:00Z' + createdBy: 00000000-0000-0000-0000-000000000003 + createdByName: Jane Doe + description: Scheduled weekly maintenance window. + isEnabled: true + name: Weekly maintenance + tags: [] + testIds: + - abc-def-123 + timeSlots: + - duration: 3600 + id: 00000000-0000-0000-0000-000000000002 + start: + day: 15 + hour: 10 + minute: 30 + month: 1 + year: 2024 + timezone: Europe/Paris + updatedAt: '2024-01-15T10:30:00Z' + updatedBy: 00000000-0000-0000-0000-000000000003 + updatedByName: Jane Doe + id: 00000000-0000-0000-0000-000000000001 + type: downtime + schema: + $ref: '#/components/schemas/SyntheticsDowntimesResponse' + description: OK + '400': + content: + application/json: + schema: + $ref: '#/components/schemas/JSONAPIErrorResponse' + description: Bad Request + '403': + content: + application/json: + schema: + $ref: '#/components/schemas/JSONAPIErrorResponse' + description: Forbidden + '429': + $ref: '#/components/responses/TooManyRequestsResponse' + summary: List Synthetics downtimes + tags: + - Synthetics + x-permission: + operator: AND + permissions: + - synthetics_read post: - description: Save new value for on-demand concurrency cap. - operationId: SetOnDemandConcurrencyCap + description: Create a new Synthetics downtime. + operationId: CreateSyntheticsDowntime requestBody: content: application/json: + examples: + default: + value: + data: + attributes: + isEnabled: true + name: Weekly maintenance + testIds: + - abc-def-123 + timeSlots: + - duration: 3600 + start: + day: 15 + hour: 10 + minute: 30 + month: 1 + year: 2024 + timezone: Europe/Paris + type: downtime schema: - $ref: '#/components/schemas/OnDemandConcurrencyCapAttributes' - description: . + $ref: '#/components/schemas/SyntheticsDowntimeRequest' required: true + responses: + '201': + content: + application/json: + examples: + default: + value: + data: + attributes: + createdAt: '2024-01-15T10:30:00Z' + createdBy: 00000000-0000-0000-0000-000000000003 + createdByName: Jane Doe + description: Scheduled weekly maintenance window. + isEnabled: true + name: Weekly maintenance + tags: [] + testIds: + - abc-def-123 + timeSlots: + - duration: 3600 + id: 00000000-0000-0000-0000-000000000002 + start: + day: 15 + hour: 10 + minute: 30 + month: 1 + year: 2024 + timezone: Europe/Paris + updatedAt: '2024-01-15T10:30:00Z' + updatedBy: 00000000-0000-0000-0000-000000000003 + updatedByName: Jane Doe + id: 00000000-0000-0000-0000-000000000001 + type: downtime + schema: + $ref: '#/components/schemas/SyntheticsDowntimeResponse' + description: Created + '400': + content: + application/json: + schema: + $ref: '#/components/schemas/JSONAPIErrorResponse' + description: Bad Request + '403': + content: + application/json: + schema: + $ref: '#/components/schemas/JSONAPIErrorResponse' + description: Forbidden + '429': + $ref: '#/components/responses/TooManyRequestsResponse' + summary: Create a Synthetics downtime + tags: + - Synthetics + x-permission: + operator: AND + permissions: + - synthetics_write + - synthetics_default_settings_write + /api/v2/synthetics/downtimes/{downtime_id}: + delete: + description: Delete a Synthetics downtime by its ID. + operationId: DeleteSyntheticsDowntime + parameters: + - description: The ID of the downtime to delete. + in: path + name: downtime_id + required: true + schema: + example: 00000000-0000-0000-0000-000000000001 + type: string + responses: + '204': + description: No Content + '400': + content: + application/json: + schema: + $ref: '#/components/schemas/JSONAPIErrorResponse' + description: Bad Request + '403': + content: + application/json: + schema: + $ref: '#/components/schemas/JSONAPIErrorResponse' + description: Forbidden + '404': + content: + application/json: + schema: + $ref: '#/components/schemas/JSONAPIErrorResponse' + description: Not Found + '429': + $ref: '#/components/responses/TooManyRequestsResponse' + summary: Delete a Synthetics downtime + tags: + - Synthetics + x-permission: + operator: AND + permissions: + - synthetics_write + - synthetics_default_settings_write + get: + description: Get a Synthetics downtime by its ID. + operationId: GetSyntheticsDowntime + parameters: + - description: The ID of the downtime to retrieve. + in: path + name: downtime_id + required: true + schema: + example: 00000000-0000-0000-0000-000000000001 + type: string responses: '200': content: application/json: + examples: + default: + value: + data: + attributes: + createdAt: '2024-01-15T10:30:00Z' + createdBy: 00000000-0000-0000-0000-000000000003 + createdByName: Jane Doe + description: Scheduled weekly maintenance window. + isEnabled: true + name: Weekly maintenance + tags: [] + testIds: + - abc-def-123 + timeSlots: + - duration: 3600 + id: 00000000-0000-0000-0000-000000000002 + start: + day: 15 + hour: 10 + minute: 30 + month: 1 + year: 2024 + timezone: Europe/Paris + updatedAt: '2024-01-15T10:30:00Z' + updatedBy: 00000000-0000-0000-0000-000000000003 + updatedByName: Jane Doe + id: 00000000-0000-0000-0000-000000000001 + type: downtime schema: - $ref: '#/components/schemas/OnDemandConcurrencyCapResponse' + $ref: '#/components/schemas/SyntheticsDowntimeResponse' description: OK + '400': + content: + application/json: + schema: + $ref: '#/components/schemas/JSONAPIErrorResponse' + description: Bad Request + '403': + content: + application/json: + schema: + $ref: '#/components/schemas/JSONAPIErrorResponse' + description: Forbidden + '404': + content: + application/json: + schema: + $ref: '#/components/schemas/JSONAPIErrorResponse' + description: Not Found '429': $ref: '#/components/responses/TooManyRequestsResponse' - summary: Save new value for on-demand concurrency cap + summary: Get a Synthetics downtime tags: - Synthetics - x-codegen-request-body-name: body x-permission: - operator: OR + operator: AND permissions: - - billing_edit -components: - schemas: - MonitorNotificationRuleListResponse: - description: Response for retrieving all monitor notification rules. - properties: - data: - description: A list of monitor notification rules. - items: - $ref: '#/components/schemas/MonitorNotificationRuleData' - type: array - included: - description: Array of objects related to the monitor notification rules. - items: - $ref: '#/components/schemas/MonitorNotificationRuleResponseIncludedItem' - type: array - type: object - APIErrorResponse: - description: API error response. - properties: - errors: - description: A list of errors. - example: - - Bad Request - items: - description: A list of items. - example: Bad Request + - synthetics_read + put: + description: Update a Synthetics downtime by its ID. + operationId: UpdateSyntheticsDowntime + parameters: + - description: The ID of the downtime to update. + in: path + name: downtime_id + required: true + schema: + example: 00000000-0000-0000-0000-000000000001 type: string - type: array - required: - - errors - type: object - MonitorNotificationRuleCreateRequest: - description: Request for creating a monitor notification rule. - properties: - data: - $ref: '#/components/schemas/MonitorNotificationRuleCreateRequestData' + requestBody: + content: + application/json: + examples: + default: + value: + data: + attributes: + isEnabled: true + name: Weekly maintenance + testIds: + - abc-def-123 + timeSlots: + - duration: 3600 + start: + day: 15 + hour: 10 + minute: 30 + month: 1 + year: 2024 + timezone: Europe/Paris + type: downtime + schema: + $ref: '#/components/schemas/SyntheticsDowntimeRequest' + required: true + responses: + '200': + content: + application/json: + examples: + default: + value: + data: + attributes: + createdAt: '2024-01-15T10:30:00Z' + createdBy: 00000000-0000-0000-0000-000000000003 + createdByName: Jane Doe + description: Scheduled weekly maintenance window. + isEnabled: true + name: Weekly maintenance + tags: [] + testIds: + - abc-def-123 + timeSlots: + - duration: 3600 + id: 00000000-0000-0000-0000-000000000002 + start: + day: 15 + hour: 10 + minute: 30 + month: 1 + year: 2024 + timezone: Europe/Paris + updatedAt: '2024-01-15T10:30:00Z' + updatedBy: 00000000-0000-0000-0000-000000000003 + updatedByName: Jane Doe + id: 00000000-0000-0000-0000-000000000001 + type: downtime + schema: + $ref: '#/components/schemas/SyntheticsDowntimeResponse' + description: OK + '400': + content: + application/json: + schema: + $ref: '#/components/schemas/JSONAPIErrorResponse' + description: Bad Request + '403': + content: + application/json: + schema: + $ref: '#/components/schemas/JSONAPIErrorResponse' + description: Forbidden + '404': + content: + application/json: + schema: + $ref: '#/components/schemas/JSONAPIErrorResponse' + description: Not Found + '429': + $ref: '#/components/responses/TooManyRequestsResponse' + summary: Update a Synthetics downtime + tags: + - Synthetics + x-permission: + operator: AND + permissions: + - synthetics_write + - synthetics_default_settings_write + /api/v2/synthetics/downtimes/{downtime_id}/tests/{test_id}: + delete: + description: Disassociate a Synthetics test from a downtime. + operationId: RemoveTestFromSyntheticsDowntime + parameters: + - description: The ID of the downtime. + in: path + name: downtime_id + required: true + schema: + example: 00000000-0000-0000-0000-000000000001 + type: string + - description: The public ID of the Synthetics test to disassociate from the downtime. + in: path + name: test_id + required: true + schema: + example: abc-def-123 + type: string + responses: + '200': + content: + application/json: + examples: + default: + value: + data: + attributes: + createdAt: '2024-01-15T10:30:00Z' + createdBy: 00000000-0000-0000-0000-000000000003 + createdByName: Jane Doe + description: Scheduled weekly maintenance window. + isEnabled: true + name: Weekly maintenance + tags: [] + testIds: + - abc-def-123 + timeSlots: + - duration: 3600 + id: 00000000-0000-0000-0000-000000000002 + start: + day: 15 + hour: 10 + minute: 30 + month: 1 + year: 2024 + timezone: Europe/Paris + updatedAt: '2024-01-15T10:30:00Z' + updatedBy: 00000000-0000-0000-0000-000000000003 + updatedByName: Jane Doe + id: 00000000-0000-0000-0000-000000000001 + type: downtime + schema: + $ref: '#/components/schemas/SyntheticsDowntimeResponse' + description: OK + '400': + content: + application/json: + schema: + $ref: '#/components/schemas/JSONAPIErrorResponse' + description: Bad Request + '403': + content: + application/json: + schema: + $ref: '#/components/schemas/JSONAPIErrorResponse' + description: Forbidden + '404': + content: + application/json: + schema: + $ref: '#/components/schemas/JSONAPIErrorResponse' + description: Not Found + '429': + $ref: '#/components/responses/TooManyRequestsResponse' + summary: Remove a test from a Synthetics downtime + tags: + - Synthetics + x-permission: + operator: AND + permissions: + - synthetics_write + put: + description: Associate a Synthetics test with a downtime. + operationId: AddTestToSyntheticsDowntime + parameters: + - description: The ID of the downtime. + in: path + name: downtime_id + required: true + schema: + example: 00000000-0000-0000-0000-000000000001 + type: string + - description: The public ID of the Synthetics test to associate with the downtime. + in: path + name: test_id + required: true + schema: + example: abc-def-123 + type: string + responses: + '200': + content: + application/json: + examples: + default: + value: + data: + attributes: + createdAt: '2024-01-15T10:30:00Z' + createdBy: 00000000-0000-0000-0000-000000000003 + createdByName: Jane Doe + description: Scheduled weekly maintenance window. + isEnabled: true + name: Weekly maintenance + tags: [] + testIds: + - abc-def-123 + timeSlots: + - duration: 3600 + id: 00000000-0000-0000-0000-000000000002 + start: + day: 15 + hour: 10 + minute: 30 + month: 1 + year: 2024 + timezone: Europe/Paris + updatedAt: '2024-01-15T10:30:00Z' + updatedBy: 00000000-0000-0000-0000-000000000003 + updatedByName: Jane Doe + id: 00000000-0000-0000-0000-000000000001 + type: downtime + schema: + $ref: '#/components/schemas/SyntheticsDowntimeResponse' + description: OK + '400': + content: + application/json: + schema: + $ref: '#/components/schemas/JSONAPIErrorResponse' + description: Bad Request + '403': + content: + application/json: + schema: + $ref: '#/components/schemas/JSONAPIErrorResponse' + description: Forbidden + '404': + content: + application/json: + schema: + $ref: '#/components/schemas/JSONAPIErrorResponse' + description: Not Found + '429': + $ref: '#/components/responses/TooManyRequestsResponse' + summary: Add a test to a Synthetics downtime + tags: + - Synthetics + x-permission: + operator: AND + permissions: + - synthetics_write + /api/v2/synthetics/settings/on_demand_concurrency_cap: + get: + description: Get the on-demand concurrency cap. + operationId: GetOnDemandConcurrencyCap + responses: + '200': + content: + application/json: + examples: + default: + value: + data: + attributes: + on_demand_concurrency_cap: 20 + type: on_demand_concurrency_cap + schema: + $ref: '#/components/schemas/OnDemandConcurrencyCapResponse' + description: OK + '429': + $ref: '#/components/responses/TooManyRequestsResponse' + summary: Get the on-demand concurrency cap + tags: + - Synthetics + x-permission: + operator: OR + permissions: + - billing_read + post: + description: Save new value for on-demand concurrency cap. + operationId: SetOnDemandConcurrencyCap + requestBody: + content: + application/json: + examples: + default: + value: + on_demand_concurrency_cap: 20 + schema: + $ref: '#/components/schemas/OnDemandConcurrencyCapAttributes' + description: . + required: true + responses: + '200': + content: + application/json: + examples: + default: + value: + data: + attributes: + on_demand_concurrency_cap: 20 + type: on_demand_concurrency_cap + schema: + $ref: '#/components/schemas/OnDemandConcurrencyCapResponse' + description: OK + '429': + $ref: '#/components/responses/TooManyRequestsResponse' + summary: Save new value for on-demand concurrency cap + tags: + - Synthetics + x-codegen-request-body-name: body + x-permission: + operator: OR + permissions: + - billing_edit + /api/v2/synthetics/suites: + post: + operationId: CreateSyntheticsSuite + requestBody: + content: + application/json: + examples: + default: + value: + data: + attributes: + message: Notification message + monitor_id: 12345678 + name: Example suite name + public_id: 123-abc-456 + tags: + - env:production + tests: + - alerting_criticality: critical + public_id: '' + type: suite + type: suites + schema: + $ref: '#/components/schemas/SuiteCreateEditRequest' + required: true + responses: + '200': + content: + application/json: + examples: + default: + value: + data: + attributes: + message: Notification message + monitor_id: 12345678 + name: Example suite name + options: + alerting_threshold: 0.5 + public_id: 123-abc-456 + tags: + - env:production + tests: + - alerting_criticality: critical + public_id: '' + type: suite + id: 123-abc-456 + type: suites + schema: + $ref: '#/components/schemas/SyntheticsSuiteResponse' + description: OK + '400': + content: + application/json: + schema: + $ref: '#/components/schemas/APIErrorResponse' + description: API error response. + '429': + $ref: '#/components/responses/TooManyRequestsResponse' + security: + - apiKeyAuth: [] + appKeyAuth: [] + - AuthZ: + - synthetics_write + summary: Create a test suite + tags: + - Synthetics + x-permission: + operator: OR + permissions: + - synthetics_write + - synthetics_create_edit_trigger + /api/v2/synthetics/suites/bulk-delete: + post: + operationId: DeleteSyntheticsSuites + requestBody: + content: + application/json: + examples: + default: + value: + data: + attributes: + public_ids: + - '' + type: delete_suites_request + schema: + $ref: '#/components/schemas/DeletedSuitesRequestDeleteRequest' + required: true + responses: + '200': + content: + application/json: + examples: + default: + value: + data: + - attributes: + deleted_at: '2024-01-01T00:00:00+00:00' + public_id: 123-abc-456 + id: 123-abc-456 + type: suites + schema: + $ref: '#/components/schemas/DeletedSuitesResponse' + description: OK + '400': + content: + application/json: + schema: + $ref: '#/components/schemas/APIErrorResponse' + description: API error response. + '429': + $ref: '#/components/responses/TooManyRequestsResponse' + security: + - apiKeyAuth: [] + appKeyAuth: [] + - AuthZ: + - synthetics_write + summary: Bulk delete suites + tags: + - Synthetics + x-permission: + operator: OR + permissions: + - synthetics_write + /api/v2/synthetics/suites/search: + get: + description: Search for test suites. + operationId: SearchSuites + parameters: + - description: The search query. + in: query + name: query + required: false + schema: + type: string + - description: The sort order for the results (e.g., `name,asc` or `name,desc`). + in: query + name: sort + required: false + schema: + default: name,asc + type: string + - description: If true, return only facets instead of full test details. + in: query + name: facets_only + required: false + schema: + default: false + type: boolean + - description: The offset from which to start returning results. + in: query + name: start + required: false + schema: + default: 0 + format: int64 + type: integer + - description: The maximum number of results to return. + in: query + name: count + required: false + schema: + default: 50 + format: int64 + type: integer + responses: + '200': + content: + application/json: + examples: + default: + value: + data: + attributes: + suites: + - monitor_id: 12345678 + name: Example suite name + options: + alerting_threshold: 0.5 + public_id: 123-abc-456 + tags: + - env:production + tests: [] + type: suite + total: 1 + id: abc-123 + type: suites_search + schema: + $ref: '#/components/schemas/SyntheticsSuiteSearchResponse' + description: OK + '400': + content: + application/json: + schema: + $ref: '#/components/schemas/APIErrorResponse' + description: API error response. + '429': + $ref: '#/components/responses/TooManyRequestsResponse' + security: + - apiKeyAuth: [] + appKeyAuth: [] + - AuthZ: + - synthetics_read + summary: Search test suites + tags: + - Synthetics + x-permission: + operator: OR + permissions: + - synthetics_read + /api/v2/synthetics/suites/{public_id}: + get: + operationId: GetSyntheticsSuite + parameters: + - description: The public ID of the suite to get details from. + in: path + name: public_id + required: true + schema: + type: string + responses: + '200': + content: + application/json: + examples: + default: + value: + data: + attributes: + message: Notification message + monitor_id: 12345678 + name: Example suite name + options: + alerting_threshold: 0.5 + public_id: 123-abc-456 + tags: + - env:production + tests: + - alerting_criticality: critical + public_id: '' + type: suite + id: 123-abc-456 + type: suites + schema: + $ref: '#/components/schemas/SyntheticsSuiteResponse' + description: OK + '404': + content: + application/json: + schema: + $ref: '#/components/schemas/APIErrorResponse' + description: API error response. + '429': + $ref: '#/components/responses/TooManyRequestsResponse' + security: + - apiKeyAuth: [] + appKeyAuth: [] + - AuthZ: + - synthetics_read + summary: Get a suite + tags: + - Synthetics + x-permission: + operator: OR + permissions: + - synthetics_read + put: + operationId: EditSyntheticsSuite + parameters: + - description: The public ID of the suite to edit. + in: path + name: public_id + required: true + schema: + type: string + requestBody: + content: + application/json: + examples: + default: + value: + data: + attributes: + message: Notification message + monitor_id: 12345678 + name: Example suite name + public_id: 123-abc-456 + tags: + - env:production + tests: + - alerting_criticality: critical + public_id: '' + type: suite + type: suites + schema: + $ref: '#/components/schemas/SuiteCreateEditRequest' + description: New suite details to be saved. + required: true + responses: + '200': + content: + application/json: + examples: + default: + value: + data: + attributes: + message: Notification message + monitor_id: 12345678 + name: Example suite name + options: + alerting_threshold: 0.5 + public_id: 123-abc-456 + tags: + - env:production + tests: + - alerting_criticality: critical + public_id: '' + type: suite + id: 123-abc-456 + type: suites + schema: + $ref: '#/components/schemas/SyntheticsSuiteResponse' + description: OK + '400': + content: + application/json: + schema: + $ref: '#/components/schemas/APIErrorResponse' + description: API error response. + '429': + $ref: '#/components/responses/TooManyRequestsResponse' + security: + - apiKeyAuth: [] + appKeyAuth: [] + - AuthZ: + - synthetics_write + summary: Edit a test suite + tags: + - Synthetics + x-permission: + operator: OR + permissions: + - synthetics_write + /api/v2/synthetics/suites/{public_id}/jsonpatch: + patch: + description: |- + Patch a Synthetic test suite using JSON Patch (RFC 6902). + Use partial updates to modify only specific fields of a test suite. + + Common operations include: + - Replace field values: `{"op": "replace", "path": "/name", "value": "new_name"}` + - Add/update tags: `{"op": "add", "path": "/tags/-", "value": "new_tag"}` + - Remove fields: `{"op": "remove", "path": "/message"}` + operationId: PatchTestSuite + parameters: + - description: The public ID of the Synthetic test suite to patch. + in: path + name: public_id + required: true + schema: + example: 123-abc-456 + type: string + requestBody: + content: + application/json: + examples: + default: + value: + data: + attributes: + json_patch: + - op: add + path: /name + type: suites_json_patch + schema: + $ref: '#/components/schemas/SuiteJsonPatchRequest' + description: JSON Patch document with operations to apply. + required: true + responses: + '200': + content: + application/json: + examples: + default: + value: + data: + attributes: + message: Notification message + monitor_id: 12345678 + name: Example suite name + options: + alerting_threshold: 0.5 + public_id: 123-abc-456 + tags: + - env:production + tests: + - alerting_criticality: critical + public_id: '' + type: suite + id: 123-abc-456 + type: suites + schema: + $ref: '#/components/schemas/SyntheticsSuiteResponse' + description: OK + '400': + content: + application/json: + schema: + $ref: '#/components/schemas/APIErrorResponse' + description: API error response. + '429': + $ref: '#/components/responses/TooManyRequestsResponse' + security: + - apiKeyAuth: [] + appKeyAuth: [] + - AuthZ: + - synthetics_write + summary: Patch a test suite + tags: + - Synthetics + x-codegen-request-body-name: body + x-permission: + operator: OR + permissions: + - synthetics_write + - synthetics_create_edit_trigger + /api/v2/synthetics/tests/browser/{public_id}/results: + get: + description: Get the latest result summaries for a given Synthetic browser test. + operationId: ListSyntheticsBrowserTestLatestResults + parameters: + - description: The public ID of the Synthetic browser test for which to search results. + in: path + name: public_id + required: true + schema: + type: string + - description: Timestamp in milliseconds from which to start querying results. + in: query + name: from_ts + required: false + schema: + format: int64 + type: integer + - description: Timestamp in milliseconds up to which to query results. + in: query + name: to_ts + required: false + schema: + format: int64 + type: integer + - description: Filter results by status. + in: query + name: status + required: false + schema: + $ref: '#/components/schemas/SyntheticsTestResultStatus' + - description: Filter results by run type. + in: query + name: runType + required: false + schema: + $ref: '#/components/schemas/SyntheticsTestResultRunType' + - description: Locations for which to query results. + in: query + name: probe_dc + required: false + schema: + items: + type: string + type: array + - description: Device IDs for which to query results. + in: query + name: device_id + required: false + schema: + items: + type: string + type: array + responses: + '200': + content: + application/json: + examples: + default: + value: + data: + - attributes: + device: + id: chrome.laptop_large + name: Chrome - Laptop Large + type: browser + finished_at: 1679328005200 + location: + id: aws:eu-west-1 + name: Ireland (AWS) + run_type: scheduled + started_at: 1679328000000 + status: passed + test_type: browser + test_version: 2 + id: '7291038456723891045' + relationships: + test: + data: + id: xyz-abc-789 + type: test + type: result_summary + schema: + $ref: '#/components/schemas/SyntheticsTestLatestResultsResponse' + description: OK + '400': + content: + application/json: + schema: + $ref: '#/components/schemas/APIErrorResponse' + description: API error response. + '404': + content: + application/json: + schema: + $ref: '#/components/schemas/APIErrorResponse' + description: API error response. + '429': + $ref: '#/components/responses/TooManyRequestsResponse' + security: + - apiKeyAuth: [] + appKeyAuth: [] + - AuthZ: + - synthetics_read + summary: Get a browser test's latest results + tags: + - Synthetics + x-permission: + operator: OR + permissions: + - synthetics_read + /api/v2/synthetics/tests/browser/{public_id}/results/{result_id}: + get: + description: Get a specific full result from a given Synthetic browser test. + operationId: GetSyntheticsBrowserTestResult + parameters: + - description: The public ID of the Synthetic browser test to which the target result belongs. + in: path + name: public_id + required: true + schema: + type: string + - description: The ID of the result to get. + in: path + name: result_id + required: true + schema: + type: string + - description: The event ID used to look up the result in the event store. + in: query + name: event_id + required: false + schema: + type: string + - description: Timestamp in seconds to look up the result. + in: query + name: timestamp + required: false + schema: + format: int64 + type: integer + responses: + '200': + content: + application/json: + examples: + default: + value: + data: + attributes: + device: + id: chrome.laptop_large + name: Chrome - Laptop Large + type: browser + location: + id: aws:eu-west-1 + name: Ireland (AWS) + result: + duration: 5200 + finished_at: 1679328005200 + id: '7291038456723891045' + started_at: 1679328000000 + status: passed + test_type: browser + test_version: 2 + id: '7291038456723891045' + relationships: + test: + data: + id: xyz-abc-789 + type: test + type: result + schema: + $ref: '#/components/schemas/SyntheticsTestResultResponse' + description: OK + '400': + content: + application/json: + schema: + $ref: '#/components/schemas/APIErrorResponse' + description: API error response. + '404': + content: + application/json: + schema: + $ref: '#/components/schemas/APIErrorResponse' + description: API error response. + '429': + $ref: '#/components/responses/TooManyRequestsResponse' + security: + - apiKeyAuth: [] + appKeyAuth: [] + - AuthZ: + - synthetics_read + summary: Get a browser test result + tags: + - Synthetics + x-permission: + operator: OR + permissions: + - synthetics_read + /api/v2/synthetics/tests/bulk-delete: + post: + operationId: DeleteSyntheticsTests + requestBody: + content: + application/json: + examples: + default: + value: + data: + attributes: + public_ids: + - abc-def-123 + - xyz-uvw-456 + type: delete_tests_request + schema: + $ref: '#/components/schemas/DeletedTestsRequestDeleteRequest' + required: true + responses: + '200': + content: + application/json: + examples: + default: + value: + data: + - id: abc-def-123 + type: delete_tests + schema: + $ref: '#/components/schemas/DeletedTestsResponse' + description: OK + '400': + content: + application/json: + schema: + $ref: '#/components/schemas/APIErrorResponse' + description: API error response. + '404': + content: + application/json: + schema: + $ref: '#/components/schemas/APIErrorResponse' + description: API error response. + '429': + $ref: '#/components/responses/TooManyRequestsResponse' + security: + - apiKeyAuth: [] + appKeyAuth: [] + - AuthZ: + - synthetics_write + summary: Bulk delete tests + tags: + - Synthetics + x-permission: + operator: OR + permissions: + - synthetics_write + /api/v2/synthetics/tests/fast/{id}: + get: + operationId: GetSyntheticsFastTestResult + parameters: + - description: The UUID of the fast test to retrieve the result for. + in: path + name: id + required: true + schema: + example: abc12345-1234-1234-1234-abc123456789 + type: string + responses: + '200': + content: + application/json: + examples: + default: + value: + data: + attributes: + location: + id: aws:us-east-1 + name: N. Virginia (AWS) + result: + duration: 150.5 + finished_at: 1679328001000 + id: abc12345-1234-1234-1234-abc123456789 + resolved_ip: 1.2.3.4 + run_type: fast + started_at: 1679328000000 + status: passed + test_sub_type: http + test_type: api + test_version: 1 + id: abc12345-1234-1234-1234-abc123456789 + type: result + schema: + $ref: '#/components/schemas/SyntheticsFastTestResult' + description: OK + '400': + content: + application/json: + schema: + $ref: '#/components/schemas/APIErrorResponse' + description: API error response. + '404': + content: + application/json: + schema: + $ref: '#/components/schemas/APIErrorResponse' + description: API error response. + '429': + $ref: '#/components/responses/TooManyRequestsResponse' + security: + - apiKeyAuth: [] + appKeyAuth: [] + - AuthZ: + - synthetics_read + summary: Get a fast test result + tags: + - Synthetics + x-permission: + operator: OR + permissions: + - synthetics_read + /api/v2/synthetics/tests/network: + post: + operationId: CreateSyntheticsNetworkTest + requestBody: + content: + application/json: + examples: + default: + value: + data: + attributes: + config: + assertions: + - operator: lessThan + property: avg + target: 500 + type: latency + request: + e2e_queries: 50 + host: '' + max_ttl: 30 + port: 443 + tcp_method: prefer_sack + traceroute_queries: 3 + locations: + - aws:us-east-1 + - agent:my-agent-name + message: Network Path test notification + monitor_id: 12345678 + name: Example Network Path test + options: + monitor_options: + notification_preset_name: show_all + scheduling: + timeframes: + - day: 1 + from: '07:00' + to: '16:00' + - day: 3 + from: '07:00' + to: '16:00' + timezone: America/New_York + public_id: abc-def-123 + status: live + subtype: tcp + tags: + - env:production + type: network + type: network + schema: + $ref: '#/components/schemas/SyntheticsNetworkTestEditRequest' + required: true + responses: + '200': + content: + application/json: + examples: + default: + value: + data: + attributes: + config: {} + locations: + - aws:us-east-1 + message: Network Path test notification + name: Example Network Path test + options: {} + status: live + type: network + id: abc-def-123 + type: network_test + schema: + $ref: '#/components/schemas/SyntheticsNetworkTestResponse' + description: OK + '400': + content: + application/json: + schema: + $ref: '#/components/schemas/APIErrorResponse' + description: API error response. + '429': + $ref: '#/components/responses/TooManyRequestsResponse' + security: + - apiKeyAuth: [] + appKeyAuth: [] + - AuthZ: + - synthetics_write + summary: Create a Network Path test + tags: + - Synthetics + x-permission: + operator: OR + permissions: + - synthetics_write + - synthetics_create_edit_trigger + /api/v2/synthetics/tests/network/{public_id}: + get: + operationId: GetSyntheticsNetworkTest + parameters: + - description: The public ID of the Network Path test to get details from. + in: path + name: public_id + required: true + schema: + type: string + responses: + '200': + content: + application/json: + examples: + default: + value: + data: + attributes: + config: {} + locations: + - aws:us-east-1 + message: Network Path test notification + name: Example Network Path test + options: {} + status: live + type: network + id: abc-def-123 + type: network_test + schema: + $ref: '#/components/schemas/SyntheticsNetworkTestResponse' + description: OK + '400': + content: + application/json: + schema: + $ref: '#/components/schemas/APIErrorResponse' + description: API error response. + '404': + content: + application/json: + schema: + $ref: '#/components/schemas/APIErrorResponse' + description: API error response. + '429': + $ref: '#/components/responses/TooManyRequestsResponse' + security: + - apiKeyAuth: [] + appKeyAuth: [] + - AuthZ: + - synthetics_read + summary: Get a Network Path test + tags: + - Synthetics + x-permission: + operator: OR + permissions: + - synthetics_read + put: + operationId: UpdateSyntheticsNetworkTest + parameters: + - description: The public ID of the Network Path test to edit. + in: path + name: public_id + required: true + schema: + type: string + requestBody: + content: + application/json: + examples: + default: + value: + data: + attributes: + config: + assertions: + - operator: lessThan + property: avg + target: 500 + type: latency + request: + e2e_queries: 50 + host: '' + max_ttl: 30 + port: 443 + tcp_method: prefer_sack + traceroute_queries: 3 + locations: + - aws:us-east-1 + - agent:my-agent-name + message: Network Path test notification + monitor_id: 12345678 + name: Example Network Path test + options: + monitor_options: + notification_preset_name: show_all + scheduling: + timeframes: + - day: 1 + from: '07:00' + to: '16:00' + - day: 3 + from: '07:00' + to: '16:00' + timezone: America/New_York + public_id: abc-def-123 + status: live + subtype: tcp + tags: + - env:production + type: network + type: network + schema: + $ref: '#/components/schemas/SyntheticsNetworkTestEditRequest' + description: New Network Path test details to be saved. + required: true + responses: + '200': + content: + application/json: + examples: + default: + value: + data: + attributes: + config: {} + locations: + - aws:us-east-1 + message: Network Path test notification + name: Example Network Path test + options: {} + status: live + type: network + id: abc-def-123 + type: network_test + schema: + $ref: '#/components/schemas/SyntheticsNetworkTestResponse' + description: OK + '400': + content: + application/json: + schema: + $ref: '#/components/schemas/APIErrorResponse' + description: API error response. + '404': + content: + application/json: + schema: + $ref: '#/components/schemas/APIErrorResponse' + description: API error response. + '429': + $ref: '#/components/responses/TooManyRequestsResponse' + security: + - apiKeyAuth: [] + appKeyAuth: [] + - AuthZ: + - synthetics_write + summary: Edit a Network Path test + tags: + - Synthetics + x-permission: + operator: OR + permissions: + - synthetics_write + - synthetics_create_edit_trigger + /api/v2/synthetics/tests/poll_results: + get: + description: |- + Poll for test results given a list of result IDs. This is typically used after + triggering tests with CI/CD to retrieve results once they are available. + operationId: PollSyntheticsTestResults + parameters: + - description: A JSON-encoded array of result IDs to poll for. + example: '["id1","id2","id3"]' + in: query + name: result_ids + required: true + schema: + type: string + responses: + '200': + content: + application/json: + examples: + default: + value: + data: + - attributes: + location: + id: aws:us-east-1 + name: N. Virginia (AWS) + result: + duration: 150.5 + finished_at: 1679328001000 + id: '5158904793181869365' + started_at: 1679328000000 + status: passed + test_sub_type: http + test_type: api + test_version: 3 + id: '5158904793181869365' + relationships: + test: + data: + id: abc-def-123 + type: test + type: result + schema: + $ref: '#/components/schemas/SyntheticsPollTestResultsResponse' + description: OK + '400': + content: + application/json: + schema: + $ref: '#/components/schemas/APIErrorResponse' + description: API error response. + '404': + content: + application/json: + schema: + $ref: '#/components/schemas/APIErrorResponse' + description: API error response. + '429': + $ref: '#/components/responses/TooManyRequestsResponse' + security: + - apiKeyAuth: [] + appKeyAuth: [] + - AuthZ: + - synthetics_read + summary: Poll for test results + tags: + - Synthetics + x-permission: + operator: OR + permissions: + - synthetics_read + /api/v2/synthetics/tests/{public_id}/files/download: + post: + description: |- + Get a presigned URL to download a file attached to a Synthetic test. + The returned URL is temporary and expires after a short period. + operationId: GetTestFileDownloadUrl + parameters: + - description: The public ID of the Synthetic test. + in: path + name: public_id + required: true + schema: + example: abc-def-123 + type: string + requestBody: + content: + application/json: + examples: + default: + value: + bucketKey: api-upload-file/abc-def-123/2024-01-01T00:00:00_uuid.json + schema: + $ref: '#/components/schemas/SyntheticsTestFileDownloadRequest' + required: true + responses: + '200': + content: + application/json: + examples: + default: + value: + presignedUrl: https://example.com/download + schema: + $ref: '#/components/schemas/SyntheticsTestFileDownloadResponse' + description: OK + '400': + content: + application/json: + schema: + $ref: '#/components/schemas/APIErrorResponse' + description: API error response. + '403': + content: + application/json: + schema: + $ref: '#/components/schemas/APIErrorResponse' + description: Forbidden. + '404': + content: + application/json: + schema: + $ref: '#/components/schemas/APIErrorResponse' + description: API error response. + '429': + $ref: '#/components/responses/TooManyRequestsResponse' + security: + - apiKeyAuth: [] + appKeyAuth: [] + - AuthZ: + - synthetics_read + summary: Get a presigned URL for downloading a test file + tags: + - Synthetics + x-permission: + operator: OR + permissions: + - synthetics_read + /api/v2/synthetics/tests/{public_id}/files/multipart-presigned-urls: + post: + description: |- + Get presigned URLs for uploading a file to a Synthetic test using multipart upload. + Returns the presigned URLs for each part along with the bucket key that references the file. + operationId: GetTestFileMultipartPresignedUrls + parameters: + - description: The public ID of the Synthetic test. + in: path + name: public_id + required: true + schema: + example: abc-def-123 + type: string + requestBody: + content: + application/json: + examples: + default: + value: + bucketKeyPrefix: api-upload-file + parts: + - md5: 1B2M2Y8AsgTpgAmY7PhCfg== + partNumber: 1 + schema: + $ref: '#/components/schemas/SyntheticsTestFileMultipartPresignedUrlsRequest' + required: true + responses: + '200': + content: + application/json: + examples: + default: + value: + bucketKey: api-upload-file/abc-def-123/file.json + presignedUrls: [] + schema: + $ref: '#/components/schemas/SyntheticsTestFileMultipartPresignedUrlsResponse' + description: OK + '400': + content: + application/json: + schema: + $ref: '#/components/schemas/APIErrorResponse' + description: API error response. + '403': + content: + application/json: + schema: + $ref: '#/components/schemas/APIErrorResponse' + description: Forbidden. + '404': + content: + application/json: + schema: + $ref: '#/components/schemas/APIErrorResponse' + description: API error response. + '429': + $ref: '#/components/responses/TooManyRequestsResponse' + security: + - apiKeyAuth: [] + appKeyAuth: [] + - AuthZ: + - synthetics_write + summary: Get presigned URLs for uploading a test file + tags: + - Synthetics + x-permission: + operator: OR + permissions: + - synthetics_write + - synthetics_create_edit_trigger + /api/v2/synthetics/tests/{public_id}/files/multipart-upload-abort: + post: + description: |- + Abort an in-progress multipart file upload for a Synthetic test. This cancels the upload + and releases any storage used by already-uploaded parts. + operationId: AbortTestFileMultipartUpload + parameters: + - description: The public ID of the Synthetic test. + in: path + name: public_id + required: true + schema: + example: abc-def-123 + type: string + requestBody: + content: + application/json: + examples: + default: + value: + key: org-123/api-upload-file/abc-def-123/2024-01-01T00:00:00_uuid.json + uploadId: upload-id-abc123 + schema: + $ref: '#/components/schemas/SyntheticsTestFileAbortMultipartUploadRequest' + required: true + responses: + '204': + description: No Content + '400': + content: + application/json: + schema: + $ref: '#/components/schemas/APIErrorResponse' + description: API error response. + '403': + content: + application/json: + schema: + $ref: '#/components/schemas/APIErrorResponse' + description: Forbidden. + '404': + content: + application/json: + schema: + $ref: '#/components/schemas/APIErrorResponse' + description: API error response. + '429': + $ref: '#/components/responses/TooManyRequestsResponse' + security: + - apiKeyAuth: [] + appKeyAuth: [] + - AuthZ: + - synthetics_write + summary: Abort a multipart upload of a test file + tags: + - Synthetics + x-permission: + operator: OR + permissions: + - synthetics_write + - synthetics_create_edit_trigger + /api/v2/synthetics/tests/{public_id}/files/multipart-upload-complete: + post: + description: |- + Complete a multipart file upload for a Synthetic test. Call this endpoint after all parts + have been uploaded using the presigned URLs obtained from the multipart presigned URLs endpoint. + operationId: CompleteTestFileMultipartUpload + parameters: + - description: The public ID of the Synthetic test. + in: path + name: public_id + required: true + schema: + example: abc-def-123 + type: string + requestBody: + content: + application/json: + examples: + default: + value: + key: org-123/api-upload-file/abc-def-123/2024-01-01T00:00:00_uuid.json + parts: + - ETag: '"d41d8cd98f00b204e9800998ecf8427e"' + PartNumber: 1 + uploadId: upload-id-abc123 + schema: + $ref: '#/components/schemas/SyntheticsTestFileCompleteMultipartUploadRequest' + required: true + responses: + '204': + description: No Content + '400': + content: + application/json: + schema: + $ref: '#/components/schemas/APIErrorResponse' + description: API error response. + '403': + content: + application/json: + schema: + $ref: '#/components/schemas/APIErrorResponse' + description: Forbidden. + '404': + content: + application/json: + schema: + $ref: '#/components/schemas/APIErrorResponse' + description: API error response. + '429': + $ref: '#/components/responses/TooManyRequestsResponse' + security: + - apiKeyAuth: [] + appKeyAuth: [] + - AuthZ: + - synthetics_write + summary: Complete a multipart upload of a test file + tags: + - Synthetics + x-permission: + operator: OR + permissions: + - synthetics_write + - synthetics_create_edit_trigger + /api/v2/synthetics/tests/{public_id}/parent-suites: + get: + description: Get the list of parent suites and their status for a given Synthetic test. + operationId: GetTestParentSuites + parameters: + - description: The public ID of the Synthetic test. + in: path + name: public_id + required: true + schema: + type: string + responses: + '200': + content: + application/json: + examples: + default: + value: + data: [] + schema: + $ref: '#/components/schemas/SyntheticsTestParentSuitesResponse' + description: OK + '404': + content: + application/json: + schema: + $ref: '#/components/schemas/APIErrorResponse' + description: API error response. + '429': + $ref: '#/components/responses/TooManyRequestsResponse' + security: + - apiKeyAuth: [] + appKeyAuth: [] + - AuthZ: + - synthetics_read + summary: Get parent suites for a test + tags: + - Synthetics + x-permission: + operator: OR + permissions: + - synthetics_read + /api/v2/synthetics/tests/{public_id}/results: + get: + description: Get the latest result summaries for a given Synthetic test. + operationId: ListSyntheticsTestLatestResults + parameters: + - description: The public ID of the Synthetic test for which to search results. + in: path + name: public_id + required: true + schema: + type: string + - description: Timestamp in milliseconds from which to start querying results. + in: query + name: from_ts + required: false + schema: + format: int64 + type: integer + - description: Timestamp in milliseconds up to which to query results. + in: query + name: to_ts + required: false + schema: + format: int64 + type: integer + - description: Filter results by status. + in: query + name: status + required: false + schema: + $ref: '#/components/schemas/SyntheticsTestResultStatus' + - description: Filter results by run type. + in: query + name: runType + required: false + schema: + $ref: '#/components/schemas/SyntheticsTestResultRunType' + - description: Locations for which to query results. + in: query + name: probe_dc + required: false + schema: + items: + type: string + type: array + - description: Device IDs for which to query results. + in: query + name: device_id + required: false + schema: + items: + type: string + type: array + responses: + '200': + content: + application/json: + examples: + default: + value: + data: + - attributes: + finished_at: 1679328001000 + location: + id: aws:us-east-1 + name: N. Virginia (AWS) + run_type: scheduled + started_at: 1679328000000 + status: passed + test_sub_type: http + test_type: api + test_version: 3 + id: '5158904793181869365' + relationships: + test: + data: + id: abc-def-123 + type: test + type: result_summary + schema: + $ref: '#/components/schemas/SyntheticsTestLatestResultsResponse' + description: OK + '400': + content: + application/json: + schema: + $ref: '#/components/schemas/APIErrorResponse' + description: API error response. + '404': + content: + application/json: + schema: + $ref: '#/components/schemas/APIErrorResponse' + description: API error response. + '429': + $ref: '#/components/responses/TooManyRequestsResponse' + security: + - apiKeyAuth: [] + appKeyAuth: [] + - AuthZ: + - synthetics_read + summary: Get a test's latest results + tags: + - Synthetics + x-permission: + operator: OR + permissions: + - synthetics_read + /api/v2/synthetics/tests/{public_id}/results/{result_id}: + get: + description: Get a specific full result from a given Synthetic test. + operationId: GetSyntheticsTestResult + parameters: + - description: The public ID of the Synthetic test to which the target result belongs. + in: path + name: public_id + required: true + schema: + type: string + - description: The ID of the result to get. + in: path + name: result_id + required: true + schema: + type: string + - description: The event ID used to look up the result in the event store. + in: query + name: event_id + required: false + schema: + type: string + - description: Timestamp in seconds to look up the result. + in: query + name: timestamp + required: false + schema: + format: int64 + type: integer + responses: + '200': + content: + application/json: + examples: + default: + value: + data: + attributes: + location: + id: aws:us-east-1 + name: N. Virginia (AWS) + result: + duration: 150.5 + finished_at: 1679328001000 + id: '5158904793181869365' + started_at: 1679328000000 + status: passed + test_sub_type: http + test_type: api + test_version: 3 + id: '5158904793181869365' + relationships: + test: + data: + id: abc-def-123 + type: test + type: result + schema: + $ref: '#/components/schemas/SyntheticsTestResultResponse' + description: OK + '400': + content: + application/json: + schema: + $ref: '#/components/schemas/APIErrorResponse' + description: API error response. + '404': + content: + application/json: + schema: + $ref: '#/components/schemas/APIErrorResponse' + description: API error response. + '429': + $ref: '#/components/responses/TooManyRequestsResponse' + security: + - apiKeyAuth: [] + appKeyAuth: [] + - AuthZ: + - synthetics_read + summary: Get a test result + tags: + - Synthetics + x-permission: + operator: OR + permissions: + - synthetics_read + /api/v2/synthetics/tests/{public_id}/version_history: + get: + description: Get the paginated version history for a Synthetic test. + operationId: ListSyntheticsTestVersions + parameters: + - description: The public ID of the Synthetic test. + in: path + name: public_id + required: true + schema: + type: string + - description: The version number of the last item from the previous page. Omit to get the first page. + in: query + name: last_version_number + required: false + schema: + format: int64 + type: integer + - description: Maximum number of version records to return per page. + in: query + name: limit + required: false + schema: + format: int64 + maximum: 50 + type: integer + responses: + '200': + content: + application/json: + examples: + default: + value: + data: [] + schema: + $ref: '#/components/schemas/SyntheticsTestVersionHistoryResponse' + description: OK + '403': + content: + application/json: + schema: + $ref: '#/components/schemas/APIErrorResponse' + description: API error response. + '404': + content: + application/json: + schema: + $ref: '#/components/schemas/APIErrorResponse' + description: API error response. + '429': + $ref: '#/components/responses/TooManyRequestsResponse' + security: + - apiKeyAuth: [] + appKeyAuth: [] + - AuthZ: + - synthetics_read + summary: Get version history of a test + tags: + - Synthetics + x-permission: + operator: OR + permissions: + - synthetics_read + /api/v2/synthetics/tests/{public_id}/version_history/{version_number}: + get: + description: Get a specific version of a Synthetic test by its version number. + operationId: GetSyntheticsTestVersion + parameters: + - description: The public ID of the Synthetic test. + in: path + name: public_id + required: true + schema: + type: string + - description: The version number to retrieve. + in: path + name: version_number + required: true + schema: + format: int64 + type: integer + - description: If `true`, include change metadata in the response. + in: query + name: include_change_metadata + required: false + schema: + type: boolean + - description: |- + If `true`, only check whether the version exists without returning its full payload. + Returns an empty object if the version exists, or 404 if not. + in: query + name: only_check_existence + required: false + schema: + type: boolean + responses: + '200': + content: + application/json: + examples: + default: + value: + data: + public_id: abc-def-123 + version_number: 1 + schema: + $ref: '#/components/schemas/SyntheticsTestVersionResponse' + description: OK + '404': + content: + application/json: + schema: + $ref: '#/components/schemas/APIErrorResponse' + description: API error response. + '429': + $ref: '#/components/responses/TooManyRequestsResponse' + security: + - apiKeyAuth: [] + appKeyAuth: [] + - AuthZ: + - synthetics_read + summary: Get a specific version of a test + tags: + - Synthetics + x-permission: + operator: OR + permissions: + - synthetics_read + /api/v2/synthetics/variables/{variable_id}/jsonpatch: + patch: + description: |- + Patch a global variable using JSON Patch (RFC 6902). + This endpoint allows partial updates to a global variable by specifying only the fields to modify. + + Common operations include: + - Replace field values: `{"op": "replace", "path": "/name", "value": "new_name"}` + - Update nested values: `{"op": "replace", "path": "/value/value", "value": "new_value"}` + - Add/update tags: `{"op": "add", "path": "/tags/-", "value": "new_tag"}` + - Remove fields: `{"op": "remove", "path": "/description"}` + operationId: PatchGlobalVariable + parameters: + - description: The ID of the global variable. + in: path + name: variable_id + required: true + schema: + type: string + requestBody: + content: + application/json: + examples: + default: + value: + data: + attributes: + json_patch: + - op: add + path: /name + type: global_variables_json_patch + schema: + $ref: '#/components/schemas/GlobalVariableJsonPatchRequest' + description: JSON Patch document with operations to apply. + required: true + responses: + '200': + content: + application/json: + examples: + default: + value: + data: + attributes: + description: Example description + name: MY_VARIABLE + tags: + - team:front + value: + secure: false + value: example-value + id: abc-123 + type: global_variables + schema: + $ref: '#/components/schemas/GlobalVariableResponse' + description: OK + '400': + $ref: '#/components/responses/BadRequestResponse' + '404': + $ref: '#/components/responses/NotFoundResponse' + '429': + $ref: '#/components/responses/TooManyRequestsResponse' + summary: Patch a global variable + tags: + - Synthetics + x-codegen-request-body-name: body + x-permission: + operator: OR + permissions: + - synthetics_global_variable_write + /api/v1/check_run: + post: + description: |- + Submit a list of Service Checks. + + **Notes**: + - A valid API key is required. + - Service checks can be submitted up to 10 minutes in the past. + operationId: SubmitServiceCheck + requestBody: + content: + application/json: + examples: + default: + value: + - check: app.ok + host_name: app.host1 + message: app is running + status: 0 + tags: + - environment:test + schema: + $ref: '#/components/schemas/ServiceChecks' + description: Service Check request body. + required: true + responses: + '202': + content: + text/json: + examples: + default: + value: + status: ok + schema: + $ref: '#/components/schemas/IntakePayloadAcceptedV1' + description: Payload accepted + '400': + content: + text/json: + schema: + $ref: '#/components/schemas/APIErrorResponseV1' + description: Bad Request + '403': + content: + text/json: + schema: + $ref: '#/components/schemas/APIErrorResponseV1' + description: Authentication Error + '408': + content: + text/json: + schema: + $ref: '#/components/schemas/APIErrorResponseV1' + description: Request timeout + '413': + content: + text/json: + schema: + $ref: '#/components/schemas/APIErrorResponseV1' + description: Payload too large + '429': + $ref: '#/components/responses/TooManyRequestsResponse' + security: + - apiKeyAuth: [] + summary: Submit a Service Check + tags: + - Service Checks + x-codegen-request-body-name: body + /api/v1/monitor: + get: + description: Get all monitors from your organization. + operationId: ListMonitors + parameters: + - description: |- + When specified, shows additional information about the group states. + Choose one or more from `all`, `alert`, `warn`, and `no data`. + in: query + name: group_states + required: false + schema: + example: alert + type: string + - description: A string to filter monitors by name. + in: query + name: name + required: false + schema: + type: string + - description: |- + A comma separated list indicating what tags, if any, should be used to filter the list of monitors by scope. + For example, `host:host0`. + in: query + name: tags + required: false + schema: + example: host:host0 + type: string + - description: |- + A comma separated list indicating what service and/or custom tags, if any, should be used to filter the list of monitors. + Tags created in the Datadog UI automatically have the service key prepended. For example, `service:my-app`. + in: query + name: monitor_tags + required: false + schema: + example: service:my-app + type: string + - description: If this argument is set to true, then the returned data includes all current active downtimes for each monitor. + in: query + name: with_downtimes + required: false + schema: + type: boolean + - description: Use this parameter for paginating through large sets of monitors. Start with a value of zero, make a request, set the value to the last ID of result set, and then repeat until the response is empty. + in: query + name: id_offset + required: false + schema: + format: int64 + type: integer + - description: The page to start paginating from. If this argument is not specified, the request returns all monitors without pagination. + in: query + name: page + required: false + schema: + example: 0 + format: int64 + type: integer + - description: The number of monitors to return per page. If the page argument is not specified, the default behavior returns all monitors without a `page_size` limit. However, if page is specified and `page_size` is not, the argument defaults to 100. + in: query + name: page_size + required: false + schema: + default: 100 + example: 20 + format: int32 + maximum: 1000 + type: integer + responses: + '200': + content: + application/json: + examples: + default: + value: + - id: 123 + message: You may need to add web hosts if this is consistently high. + name: My monitor + options: + no_data_timeframe: 20 + notify_no_data: true + query: avg(last_5m):sum:system.net.bytes_rcvd{host:host0} > 100 + tags: + - app:webserver + - frontend + type: query alert + schema: + type: array + items: + $ref: '#/components/schemas/Monitor' + description: OK + '400': + content: + application/json: + schema: + $ref: '#/components/schemas/APIErrorResponseV1' + description: Bad Request + '403': + content: + application/json: + schema: + $ref: '#/components/schemas/APIErrorResponseV1' + description: Forbidden + '429': + $ref: '#/components/responses/TooManyRequestsResponse' + security: + - apiKeyAuth: [] + appKeyAuth: [] + - AuthZ: + - monitors_read + summary: Get all monitors + tags: + - Monitors + x-pagination: + limitParam: page_size + pageParam: page + x-permission: + operator: OR + permissions: + - monitors_read + post: + description: |- + Create a monitor using the specified options. + + #### Monitor Types + + The type of monitor chosen from: + + - anomaly: `query alert` + - APM: `query alert` or `trace-analytics alert` + - composite: `composite` + - custom: `service check` + - forecast: `query alert` + - host: `service check` + - integration: `query alert` or `service check` + - live process: `process alert` + - logs: `log alert` + - metric: `query alert` + - network: `service check` + - outlier: `query alert` + - process: `service check` + - rum: `rum alert` + - SLO: `slo alert` + - watchdog: `event-v2 alert` + - event-v2: `event-v2 alert` + - audit: `audit alert` + - error-tracking: `error-tracking alert` + - database-monitoring: `database-monitoring alert` + - network-performance: `network-performance alert` + - cloud cost: `cost alert` + - network-path: `network-path alert` + + **Notes**: + - Synthetic monitors are created through the Synthetics API. See the [Synthetics API](https://docs.datadoghq.com/api/latest/synthetics/) documentation for more information. + - Log monitors require an unscoped App Key. + + #### Query Types + + ##### Metric Alert Query + + Example: `time_aggr(time_window):space_aggr:metric{tags} [by {key}] operator #` + + - `time_aggr`: avg, sum, max, min, change, or pct_change + - `time_window`: `last_#m` (with `#` between 1 and 10080 depending on the monitor type) or `last_#h`(with `#` between 1 and 168 depending on the monitor type) or `last_1d`, or `last_1w` + - `space_aggr`: avg, sum, min, or max + - `tags`: one or more tags (comma-separated), or * + - `key`: a 'key' in key:value tag syntax; defines a separate alert for each tag in the group (multi-alert) + - `operator`: <, <=, >, >=, ==, or != + - `#`: an integer or decimal number used to set the threshold + + To use a dynamic threshold on a metric monitor with a formula query, replace `#` with the `threshold` keyword + (for example, `... > threshold`) and provide the threshold as a query via `critical_query` on `options.thresholds`. + This feature is in preview. + + If you are using the `_change_` or `_pct_change_` time aggregator, instead use `change_aggr(time_aggr(time_window), + timeshift):space_aggr:metric{tags} [by {key}] operator #` with: + + - `change_aggr` change, pct_change + - `time_aggr` avg, sum, max, min [Learn more](https://docs.datadoghq.com/monitors/create/types/#define-the-conditions) + - `time_window` last\_#m (between 1 and 2880 depending on the monitor type), last\_#h (between 1 and 48 depending on the monitor type), or last_#d (1 or 2) + - `timeshift` #m_ago (5, 10, 15, or 30), #h_ago (1, 2, or 4), or 1d_ago + + Use this to create an outlier monitor using the following query: + `avg(last_30m):outliers(avg:system.cpu.user{role:es-events-data} by {host}, 'dbscan', 7) > 0` + + ##### Service Check Query + + Example: `"check".over(tags).last(count).by(group).count_by_status()` + + - `check` name of the check, for example `datadog.agent.up` + - `tags` one or more quoted tags (comma-separated), or "*". for example: `.over("env:prod", "role:db")`; `over` cannot be blank. + - `count` must be at greater than or equal to your max threshold (defined in the `options`). It is limited to 100. + For example, if you've specified to notify on 1 critical, 3 ok, and 2 warn statuses, `count` should be at least 3. + - `group` must be specified for check monitors. Per-check grouping is already explicitly known for some service checks. + For example, Postgres integration monitors are tagged by `db`, `host`, and `port`, and Network monitors by `host`, `instance`, and `url`. See [Service Checks](https://docs.datadoghq.com/api/latest/service-checks/) documentation for more information. + + ##### Event Alert Query + + **Note:** The Event Alert Query has been replaced by the Event V2 Alert Query. For more information, see the [Event Migration guide](https://docs.datadoghq.com/service_management/events/guides/migrating_to_new_events_features/). + + ##### Event V2 Alert Query + + Example: `events(query).rollup(rollup_method[, measure]).last(time_window) operator #` + + - `query` The search query - following the [Log search syntax](https://docs.datadoghq.com/logs/search_syntax/). + - `rollup_method` The stats roll-up method - supports `count`, `avg` and `cardinality`. + - `measure` For `avg` and cardinality `rollup_method` - specify the measure or the facet name you want to use. + - `time_window` #m (between 1 and 2880), #h (between 1 and 48). + - `operator` `<`, `<=`, `>`, `>=`, `==`, or `!=`. + - `#` an integer or decimal number used to set the threshold. + + ##### Process Alert Query + + Example: `processes(search).over(tags).rollup('count').last(timeframe) operator #` + + - `search` free text search string for querying processes. + Matching processes match results on the [Live Processes](https://docs.datadoghq.com/infrastructure/process/?tab=linuxwindows) page. + - `tags` one or more tags (comma-separated) + - `timeframe` the timeframe to roll up the counts. Examples: 10m, 4h. Supported timeframes: s, m, h and d + - `operator` <, <=, >, >=, ==, or != + - `#` an integer or decimal number used to set the threshold + + ##### Logs Alert Query + + Example: `logs(query).index(index_name).rollup(rollup_method[, measure]).last(time_window) operator #` + + - `query` The search query - following the [Log search syntax](https://docs.datadoghq.com/logs/search_syntax/). + - `index_name` For multi-index organizations, the log index in which the request is performed. + - `rollup_method` The stats roll-up method - supports `count`, `avg` and `cardinality`. + - `measure` For `avg` and cardinality `rollup_method` - specify the measure or the facet name you want to use. + - `time_window` #m (between 1 and 2880), #h (between 1 and 48). + - `operator` `<`, `<=`, `>`, `>=`, `==`, or `!=`. + - `#` an integer or decimal number used to set the threshold. + + ##### Composite Query + + Example: `12345 && 67890`, where `12345` and `67890` are the IDs of non-composite monitors + + * `name` [*required*, *default* = **dynamic, based on query**]: The name of the alert. + * `message` [*required*, *default* = **dynamic, based on query**]: A message to include with notifications for this monitor. + Email notifications can be sent to specific users by using the same '@username' notation as events. + * `tags` [*optional*, *default* = **empty list**]: A list of tags to associate with your monitor. + When getting all monitor details via the API, use the `monitor_tags` argument to filter results by these tags. + It is only available via the API and isn't visible or editable in the Datadog UI. + + ##### SLO Alert Query + + Example: `error_budget("slo_id").over("time_window") operator #` + + - `slo_id`: The alphanumeric SLO ID of the SLO you are configuring the alert for. + - `time_window`: The time window of the SLO target you wish to alert on. Valid options: `7d`, `30d`, `90d`. + - `operator`: `>=` or `>` + + ##### Audit Alert Query + + Example: `audits(query).rollup(rollup_method[, measure]).last(time_window) operator #` + + - `query` The search query - following the [Log search syntax](https://docs.datadoghq.com/logs/search_syntax/). + - `rollup_method` The stats roll-up method - supports `count`, `avg` and `cardinality`. + - `measure` For `avg` and cardinality `rollup_method` - specify the measure or the facet name you want to use. + - `time_window` #m (between 1 and 2880), #h (between 1 and 48). + - `operator` `<`, `<=`, `>`, `>=`, `==`, or `!=`. + - `#` an integer or decimal number used to set the threshold. + + ##### CI Pipelines Alert Query + + Example: `ci-pipelines(query).rollup(rollup_method[, measure]).last(time_window) operator #` + + - `query` The search query - following the [Log search syntax](https://docs.datadoghq.com/logs/search_syntax/). + - `rollup_method` The stats roll-up method - supports `count`, `avg`, and `cardinality`. + - `measure` For `avg` and cardinality `rollup_method` - specify the measure or the facet name you want to use. + - `time_window` #m (between 1 and 2880), #h (between 1 and 48). + - `operator` `<`, `<=`, `>`, `>=`, `==`, or `!=`. + - `#` an integer or decimal number used to set the threshold. + + ##### CI Tests Alert Query + + Example: `ci-tests(query).rollup(rollup_method[, measure]).last(time_window) operator #` + + - `query` The search query - following the [Log search syntax](https://docs.datadoghq.com/logs/search_syntax/). + - `rollup_method` The stats roll-up method - supports `count`, `avg`, and `cardinality`. + - `measure` For `avg` and cardinality `rollup_method` - specify the measure or the facet name you want to use. + - `time_window` #m (between 1 and 2880), #h (between 1 and 48). + - `operator` `<`, `<=`, `>`, `>=`, `==`, or `!=`. + - `#` an integer or decimal number used to set the threshold. + + ##### Error Tracking Alert Query + + "New issue" example: `error-tracking(query).source(issue_source).new().rollup(rollup_method[, measure]).by(group_by).last(time_window) operator #` + "High impact issue" example: `error-tracking(query).source(issue_source).impact().rollup(rollup_method[, measure]).by(group_by).last(time_window) operator #` + + - `query` The search query - following the [Log search syntax](https://docs.datadoghq.com/logs/search_syntax/). + - `issue_source` The issue source - supports `all`, `browser`, `mobile` and `backend` and defaults to `all` if omitted. + - `rollup_method` The stats roll-up method - supports `count`, `avg`, and `cardinality` and defaults to `count` if omitted. + - `measure` For `avg` and cardinality `rollup_method` - specify the measure or the facet name you want to use. + - `group by` Comma-separated list of attributes to group by - should contain at least `issue.id`. + - `time_window` #m (between 1 and 2880), #h (between 1 and 48). + - `operator` `<`, `<=`, `>`, `>=`, `==`, or `!=`. + - `#` an integer or decimal number used to set the threshold. + + **Database Monitoring Alert Query** + + Example: `database-monitoring(query).rollup(rollup_method[, measure]).last(time_window) operator #` + + - `query` The search query - following the [Log search syntax](https://docs.datadoghq.com/logs/search_syntax/). + - `rollup_method` The stats roll-up method - supports `count`, `avg`, and `cardinality`. + - `measure` For `avg` and cardinality `rollup_method` - specify the measure or the facet name you want to use. + - `time_window` #m (between 1 and 2880), #h (between 1 and 48). + - `operator` `<`, `<=`, `>`, `>=`, `==`, or `!=`. + - `#` an integer or decimal number used to set the threshold. + + **Network Performance Alert Query** + + Example: `network-performance(query).rollup(rollup_method[, measure]).last(time_window) operator #` + + - `query` The search query - following the [Log search syntax](https://docs.datadoghq.com/logs/search_syntax/). + - `rollup_method` The stats roll-up method - supports `count`, `avg`, and `cardinality`. + - `measure` For `avg` and cardinality `rollup_method` - specify the measure or the facet name you want to use. + - `time_window` #m (between 1 and 2880), #h (between 1 and 48). + - `operator` `<`, `<=`, `>`, `>=`, `==`, or `!=`. + - `#` an integer or decimal number used to set the threshold. + + **Cost Alert Query** + + Example: `formula(query).timeframe_type(time_window).function(parameter) operator #` + + - `query` The search query - following the [Log search syntax](https://docs.datadoghq.com/logs/search_syntax/). + - `timeframe_type` The timeframe type to evaluate the cost + - for `forecast` supports `current` + - for `change`, `anomaly`, `threshold` supports `last` + - `time_window` - supports daily roll-up e.g. `7d` + - `function` - [optional, defaults to `threshold` monitor if omitted] supports `change`, `anomaly`, `forecast` + - `parameter` Specify the parameter of the type + - for `change`: + - supports `relative`, `absolute` + - [optional] supports `#`, where `#` is an integer or decimal number used to set the threshold + - for `anomaly`: + - supports `direction=both`, `direction=above`, `direction=below` + - [optional] supports `threshold=#`, where `#` is an integer or decimal number used to set the threshold + - `operator` + - for `threshold` supports `<`, `<=`, `>`, `>=`, `==`, or `!=` + - for `change` supports `>`, `<` + - for `anomaly` supports `>=` + - for `forecast` supports `>` + - `#` an integer or decimal number used to set the threshold. + + **Network Path Alert Query** + + Example: `network-path(query).index(index_name).rollup(rollup_method[, measure]).last(time_window) operator #` + + - `query` The search query - following the [Log search syntax](https://docs.datadoghq.com/logs/search_syntax/). + - `index_name` The data type to monitor on - supports `netpath-path` and `netpath-hop`. + - `rollup_method` The stats roll-up method - supports `count`, `avg`, and `cardinality`. + - `measure` For `avg` and cardinality `rollup_method` - specify the measure or the facet name you want to use. + - `time_window` #m (between 1 and 2880), #h (between 1 and 48). + - `operator` `<`, `<=`, `>`, `>=`, `==`, or `!=`. + - `#` an integer or decimal number used to set the threshold. + operationId: CreateMonitor + requestBody: + content: + application/json: + examples: + default: + value: + message: You may need to add web hosts if this is consistently high. + name: Bytes received on host0 + options: + no_data_timeframe: 20 + notify_no_data: true + priority: 3 + query: avg(last_5m):sum:system.net.bytes_rcvd{host:host0} > 100 + tags: + - app:webserver + - frontend + type: query alert + schema: + $ref: '#/components/schemas/Monitor' + description: Create a monitor request body. + required: true + responses: + '200': + content: + application/json: + examples: + default: + value: + id: 123 + message: You may need to add web hosts if this is consistently high. + name: Bytes received on host0 + options: + no_data_timeframe: 20 + notify_no_data: true + query: avg(last_5m):sum:system.net.bytes_rcvd{host:host0} > 100 + tags: + - app:webserver + - frontend + type: query alert + schema: + $ref: '#/components/schemas/Monitor' + description: OK + '400': + content: + application/json: + schema: + $ref: '#/components/schemas/APIErrorResponseV1' + description: Bad Request + '403': + content: + application/json: + schema: + $ref: '#/components/schemas/APIErrorResponseV1' + description: Forbidden + '429': + $ref: '#/components/responses/TooManyRequestsResponse' + security: + - apiKeyAuth: [] + appKeyAuth: [] + - AuthZ: + - monitors_write + summary: Create a monitor + tags: + - Monitors + x-codegen-request-body-name: body + x-permission: + operator: OR + permissions: + - monitors_write + /api/v1/monitor/can_delete: + get: + description: Check if the given monitors can be deleted. + operationId: CheckCanDeleteMonitor + parameters: + - description: The IDs of the monitor to check. + explode: false + in: query + name: monitor_ids + required: true + schema: + items: + example: 666486743 + format: int64 + type: integer + type: array + style: form + responses: + '200': + content: + application/json: + examples: + default: + value: + data: + ok: + - 123 + errors: null + schema: + $ref: '#/components/schemas/CheckCanDeleteMonitorResponse' + description: OK + '400': + content: + application/json: + schema: + $ref: '#/components/schemas/APIErrorResponseV1' + description: Bad Request + '403': + content: + application/json: + schema: + $ref: '#/components/schemas/APIErrorResponseV1' + description: Forbidden + '409': + content: + application/json: + schema: + $ref: '#/components/schemas/CheckCanDeleteMonitorResponse' + description: Deletion conflict error + '429': + $ref: '#/components/responses/TooManyRequestsResponse' + security: + - apiKeyAuth: [] + appKeyAuth: [] + - AuthZ: + - monitors_read + summary: Check if a monitor can be deleted + tags: + - Monitors + x-permission: + operator: OR + permissions: + - monitors_read + /api/v1/monitor/groups/search: + get: + description: Search and filter your monitor groups details. + operationId: SearchMonitorGroups + parameters: + - description: |- + After entering a search query on the [Triggered Monitors page][1], use the query parameter value in the + URL of the page as a value for this parameter. For more information, see the [Manage Monitors documentation][2]. + + The query can contain any number of space-separated monitor attributes, for instance: `query="type:metric group_status:alert"`. + + [1]: https://app.datadoghq.com/monitors/triggered + [2]: /monitors/manage/#triggered-monitors + in: query + name: query + required: false + schema: + type: string + - description: Page to start paginating from. + in: query + name: page + required: false + schema: + default: 0 + format: int64 + type: integer + - description: Number of monitors to return per page. + in: query + name: per_page + required: false + schema: + default: 30 + format: int64 + type: integer + - description: |- + String for sort order, composed of field and sort order separate by a comma, for example `name,asc`. Supported sort directions: `asc`, `desc`. Supported fields: + + * `name` + * `status` + * `tags` + in: query + name: sort + required: false + schema: + type: string + responses: + '200': + content: + application/json: + examples: + default: + value: + counts: + status: + - count: 1 + name: OK + type: + - count: 1 + name: metric + groups: + - group: '*' + group_tags: + - '*' + monitor_id: 123 + monitor_name: Example Monitor + status: OK + metadata: + page: 0 + page_count: 1 + per_page: 30 + total_count: 1 + schema: + $ref: '#/components/schemas/MonitorGroupSearchResponse' + description: OK + '400': + content: + application/json: + schema: + $ref: '#/components/schemas/APIErrorResponseV1' + description: Bad Request + '403': + content: + application/json: + schema: + $ref: '#/components/schemas/APIErrorResponseV1' + description: Forbidden + '429': + $ref: '#/components/responses/TooManyRequestsResponse' + security: + - apiKeyAuth: [] + appKeyAuth: [] + - AuthZ: + - monitors_read + summary: Monitors group search + tags: + - Monitors + x-permission: + operator: OR + permissions: + - monitors_read + /api/v1/monitor/search: + get: + description: Search and filter your monitors details. + operationId: SearchMonitors + parameters: + - description: |- + After entering a search query in your [Manage Monitor page][1] use the query parameter value in the + URL of the page as value for this parameter. Consult the dedicated [manage monitor documentation][2] + page to learn more. + + The query can contain any number of space-separated monitor attributes, for instance `query="type:metric status:alert"`. + + [1]: https://app.datadoghq.com/monitors/manage + [2]: /monitors/manage/#find-the-monitors + in: query + name: query + required: false + schema: + type: string + - description: Page to start paginating from. + in: query + name: page + required: false + schema: + default: 0 + format: int64 + type: integer + - description: Number of monitors to return per page. + in: query + name: per_page + required: false + schema: + default: 30 + format: int64 + type: integer + - description: |- + String for sort order, composed of field and sort order separate by a comma, for example `name,asc`. Supported sort directions: `asc`, `desc`. Supported fields: + + * `name` + * `status` + * `tags` + in: query + name: sort + required: false + schema: + type: string + responses: + '200': + content: + application/json: + examples: + default: + value: + counts: + status: + - count: 1 + name: No Data + type: + - count: 1 + name: metric + metadata: + page: 0 + page_count: 1 + per_page: 30 + total_count: 1 + monitors: + - id: 123 + name: Example Monitor + org_id: 123 + status: No Data + type: query alert + schema: + $ref: '#/components/schemas/MonitorSearchResponse' + description: OK + '400': + content: + application/json: + schema: + $ref: '#/components/schemas/APIErrorResponseV1' + description: Bad Request + '403': + content: + application/json: + schema: + $ref: '#/components/schemas/APIErrorResponseV1' + description: Forbidden + '429': + $ref: '#/components/responses/TooManyRequestsResponse' + security: + - apiKeyAuth: [] + appKeyAuth: [] + - AuthZ: + - monitors_read + summary: Monitors search + tags: + - Monitors + x-permission: + operator: OR + permissions: + - monitors_read + /api/v1/monitor/validate: + post: + description: |- + Validate the monitor provided in the request. + + **Note**: Log monitors require an unscoped App Key and `logs_read_data` permission. + operationId: ValidateMonitor + requestBody: + content: + application/json: + examples: + default: + value: + message: You may need to add web hosts if this is consistently high. + name: My monitor + options: + no_data_timeframe: 20 + notify_no_data: true + query: avg(last_5m):sum:system.net.bytes_rcvd{host:host0} > 100 + tags: + - app:webserver + - frontend + type: query alert + schema: + $ref: '#/components/schemas/Monitor' + description: Monitor request object + required: true + responses: + '200': + content: + application/json: + examples: + default: + value: {} + schema: + example: {} + type: string + description: (opaque JSON object) + description: OK + '400': + content: + application/json: + schema: + $ref: '#/components/schemas/APIErrorResponseV1' + description: Invalid JSON + '403': + content: + application/json: + schema: + $ref: '#/components/schemas/APIErrorResponseV1' + description: Forbidden + '429': + $ref: '#/components/responses/TooManyRequestsResponse' + security: + - apiKeyAuth: [] + appKeyAuth: [] + - AuthZ: + - monitors_read + summary: Validate a monitor + tags: + - Monitors + x-codegen-request-body-name: body + x-permission: + operator: OR + permissions: + - monitors_read + /api/v1/monitor/{monitor_id}: + delete: + description: Delete the specified monitor + operationId: DeleteMonitor + parameters: + - description: The ID of the monitor. + in: path + name: monitor_id + required: true + schema: + example: 666486743 + format: int64 + type: integer + - description: Delete the monitor even if it's referenced by other resources (for example SLO, composite monitor). + in: query + name: force + required: false + schema: + example: 'false' + type: string + responses: + '200': + content: + application/json: + examples: + default: + value: + deleted_monitor_id: 123 + schema: + $ref: '#/components/schemas/DeletedMonitor' + description: OK + '400': + content: + application/json: + schema: + $ref: '#/components/schemas/APIErrorResponseV1' + description: Bad Request + '401': + content: + application/json: + schema: + $ref: '#/components/schemas/APIErrorResponseV1' + description: Authentication error + '403': + content: + application/json: + schema: + $ref: '#/components/schemas/APIErrorResponseV1' + description: Forbidden + '404': + content: + application/json: + schema: + $ref: '#/components/schemas/APIErrorResponseV1' + description: Item not found error + '429': + $ref: '#/components/responses/TooManyRequestsResponse' + security: + - apiKeyAuth: [] + appKeyAuth: [] + - AuthZ: + - monitors_write + summary: Delete a monitor + tags: + - Monitors + x-permission: + operator: OR + permissions: + - monitors_write + get: + description: Get details about the specified monitor from your organization. + operationId: GetMonitor + parameters: + - description: The ID of the monitor + in: path + name: monitor_id + required: true + schema: + example: 666486743 + format: int64 + type: integer + - description: When specified, shows additional information about the group states. Choose one or more from `all`, `alert`, `warn`, and `no data`. + in: query + name: group_states + required: false + schema: + type: string + - description: If this argument is set to true, then the returned data includes all current active downtimes for the monitor. + in: query + name: with_downtimes + required: false + schema: + type: boolean + - description: If this argument is set to `true`, the returned data includes all assets tied to this monitor. + in: query + name: with_assets + required: false + schema: + type: boolean + responses: + '200': + content: + application/json: + examples: + default: + value: + id: 123 + message: You may need to add web hosts if this is consistently high. + name: Bytes received on host0 + query: avg(last_5m):sum:system.net.bytes_rcvd{host:host0} > 100 + tags: + - app:webserver + type: query alert + schema: + $ref: '#/components/schemas/Monitor' + description: OK + '400': + content: + application/json: + schema: + $ref: '#/components/schemas/APIErrorResponseV1' + description: Bad Request + '403': + content: + application/json: + schema: + $ref: '#/components/schemas/APIErrorResponseV1' + description: Authentication error + '404': + content: + application/json: + schema: + $ref: '#/components/schemas/APIErrorResponseV1' + description: Monitor Not Found error + '429': + $ref: '#/components/responses/TooManyRequestsResponse' + security: + - apiKeyAuth: [] + appKeyAuth: [] + - AuthZ: + - monitors_read + summary: Get a monitor's details + tags: + - Monitors + x-permission: + operator: OR + permissions: + - monitors_read + put: + description: Edit the specified monitor. + operationId: UpdateMonitor + parameters: + - description: The ID of the monitor. + in: path + name: monitor_id + required: true + schema: + example: 666486743 + format: int64 + type: integer + requestBody: + content: + application/json: + examples: + default: + value: + message: Updated notification message for this monitor. + name: Updated monitor name + options: + no_data_timeframe: 20 + notify_no_data: true + priority: 3 + query: avg(last_5m):sum:system.net.bytes_rcvd{host:host0} > 100 + tags: + - app:webserver + - frontend + type: query alert + schema: + $ref: '#/components/schemas/MonitorUpdateRequest' + description: Edit a monitor request body. + required: true + responses: + '200': + content: + application/json: + examples: + default: + value: + id: 123 + message: Updated notification message for this monitor. + name: Updated monitor name + query: avg(last_5m):sum:system.net.bytes_rcvd{host:host0} > 100 + tags: + - app:webserver + type: query alert + schema: + $ref: '#/components/schemas/Monitor' + description: OK + '400': + content: + application/json: + schema: + $ref: '#/components/schemas/APIErrorResponseV1' + description: Bad Request + '401': + content: + application/json: + schema: + $ref: '#/components/schemas/APIErrorResponseV1' + description: Authentication error + '403': + content: + application/json: + schema: + $ref: '#/components/schemas/APIErrorResponseV1' + description: Forbidden + '404': + content: + application/json: + schema: + $ref: '#/components/schemas/APIErrorResponseV1' + description: Monitor Not Found error + '429': + $ref: '#/components/responses/TooManyRequestsResponse' + security: + - apiKeyAuth: [] + appKeyAuth: [] + - AuthZ: + - monitors_write + summary: Edit a monitor + tags: + - Monitors + x-codegen-request-body-name: body + x-permission: + operator: OR + permissions: + - monitors_write + /api/v1/monitor/{monitor_id}/downtimes: + get: + deprecated: true + description: Get all active v1 downtimes for the specified monitor. **Note:** This endpoint has been deprecated. Please use v2 endpoints. + operationId: ListMonitorDowntimesV1 + parameters: + - description: The id of the monitor + in: path + name: monitor_id + required: true + schema: + format: int64 + type: integer + responses: + '200': + content: + application/json: + examples: + default: + value: + - active: true + disabled: false + end: 1412793983 + id: 1625 + message: Scheduled maintenance + scope: + - env:staging + start: 1412792983 + schema: + type: array + items: + $ref: '#/components/schemas/Downtime' + description: OK + '400': + content: + application/json: + schema: + $ref: '#/components/schemas/APIErrorResponseV1' + description: Bad Request + '404': + content: + application/json: + schema: + $ref: '#/components/schemas/APIErrorResponseV1' + description: Monitor Not Found error + '429': + $ref: '#/components/responses/TooManyRequestsResponse' + security: + - apiKeyAuth: [] + appKeyAuth: [] + - AuthZ: + - monitors_read + summary: Get active downtimes for a monitor + tags: + - Downtimes + x-codegen-request-body-name: body + x-permission: + operator: OR + permissions: + - monitors_read + /api/v1/monitor/{monitor_id}/validate: + post: + description: |- + Validate the monitor provided in the request. + + **Note**: Log monitors require an unscoped App Key and `logs_read_data` permission. + operationId: ValidateExistingMonitor + parameters: + - description: The ID of the monitor + in: path + name: monitor_id + required: true + schema: + example: 666486743 + format: int64 + type: integer + requestBody: + content: + application/json: + examples: + default: + value: + message: You may need to add web hosts if this is consistently high. + name: My monitor + options: + no_data_timeframe: 20 + notify_no_data: true + query: avg(last_5m):sum:system.net.bytes_rcvd{host:host0} > 100 + tags: + - app:webserver + - frontend + type: query alert + schema: + $ref: '#/components/schemas/Monitor' + description: Monitor request object + required: true + responses: + '200': + content: + application/json: + examples: + default: + value: {} + schema: + example: {} + type: string + description: (opaque JSON object) + description: OK + '400': + content: + application/json: + schema: + $ref: '#/components/schemas/APIErrorResponseV1' + description: Invalid JSON + '403': + content: + application/json: + schema: + $ref: '#/components/schemas/APIErrorResponseV1' + description: Forbidden + '429': + $ref: '#/components/responses/TooManyRequestsResponse' + security: + - apiKeyAuth: [] + appKeyAuth: [] + - AuthZ: + - monitors_read + summary: Validate an existing monitor + tags: + - Monitors + x-codegen-request-body-name: body + x-permission: + operator: OR + permissions: + - monitors_read + /api/v1/synthetics/ci/batch/{batch_id}: + get: + description: Get a batch's updated details. + operationId: GetSyntheticsCIBatch + parameters: + - description: The ID of the batch. + in: path + name: batch_id + required: true + schema: + type: string + responses: + '200': + content: + application/json: + examples: + default: + value: + data: + results: + - location: aws:eu-west-3 + result_id: abc-123 + status: passed + test_name: Example API test + test_public_id: abc-def-123 + test_type: api + status: passed + schema: + $ref: '#/components/schemas/SyntheticsBatchDetails' + description: OK + '404': + content: + application/json: + schema: + $ref: '#/components/schemas/APIErrorResponseV1' + description: Batch does not exist. + '429': + $ref: '#/components/responses/TooManyRequestsResponse' + security: + - apiKeyAuth: [] + appKeyAuth: [] + - AuthZ: + - synthetics_read + summary: Get details of batch + tags: + - Synthetics + x-permission: + operator: OR + permissions: + - synthetics_read + /api/v1/synthetics/locations: + get: + description: |- + Get the list of public and private locations available for Synthetic + tests. No arguments required. + operationId: ListLocations + responses: + '200': + content: + application/json: + examples: + default: + value: + locations: + - id: aws:eu-west-3 + name: Paris (AWS) + schema: + $ref: '#/components/schemas/SyntheticsLocations' + description: OK + '429': + $ref: '#/components/responses/TooManyRequestsResponse' + security: + - apiKeyAuth: [] + appKeyAuth: [] + - AuthZ: + - synthetics_private_location_read + summary: Get all locations (public and private) + tags: + - Synthetics + x-permission: + operator: OR + permissions: + - synthetics_private_location_read + /api/v1/synthetics/private-locations: + post: + description: Create a new Synthetic private location. + operationId: CreatePrivateLocation + requestBody: + content: + application/json: + examples: + default: + value: + description: Description of private location + name: New private location + tags: + - team:front + schema: + $ref: '#/components/schemas/SyntheticsPrivateLocation' + description: Details of the private location to create. + required: true + responses: + '200': + content: + application/json: + examples: + default: + value: + private_location: + description: Description of private location + id: pl:new-private-location-abc-123 + name: New private location + tags: + - team:front + schema: + $ref: '#/components/schemas/SyntheticsPrivateLocationCreationResponse' + description: OK + '402': + content: + application/json: + schema: + $ref: '#/components/schemas/APIErrorResponseV1' + description: Quota reached for private locations + '404': + content: + application/json: + schema: + $ref: '#/components/schemas/APIErrorResponseV1' + description: Private locations are not activated for the user + '429': + $ref: '#/components/responses/TooManyRequestsResponse' + security: + - apiKeyAuth: [] + appKeyAuth: [] + - AuthZ: + - synthetics_private_location_write + summary: Create a private location + tags: + - Synthetics + x-codegen-request-body-name: body + x-permission: + operator: OR + permissions: + - synthetics_private_location_write + /api/v1/synthetics/private-locations/{location_id}: + delete: + description: Delete a Synthetic private location. + operationId: DeletePrivateLocation + parameters: + - description: The ID of the private location. + in: path + name: location_id + required: true + schema: + type: string + responses: + '204': + description: OK + '404': + content: + application/json: + schema: + $ref: '#/components/schemas/APIErrorResponseV1' + description: |- + - Private locations are not activated for the user + - Private location does not exist + '429': + $ref: '#/components/responses/TooManyRequestsResponse' + security: + - apiKeyAuth: [] + appKeyAuth: [] + - AuthZ: + - synthetics_private_location_write + summary: Delete a private location + tags: + - Synthetics + x-permission: + operator: OR + permissions: + - synthetics_private_location_write + get: + description: Get a Synthetic private location. + operationId: GetPrivateLocation + parameters: + - description: The ID of the private location. + in: path + name: location_id + required: true + schema: + type: string + responses: + '200': + content: + application/json: + examples: + default: + value: + description: Description of private location + id: pl:new-private-location-abc-123 + name: New private location + tags: + - team:front + schema: + $ref: '#/components/schemas/SyntheticsPrivateLocation' + description: OK + '404': + content: + application/json: + schema: + $ref: '#/components/schemas/APIErrorResponseV1' + description: |- + - Synthetic private locations are not activated for the user + - Private location does not exist + '429': + $ref: '#/components/responses/TooManyRequestsResponse' + security: + - apiKeyAuth: [] + appKeyAuth: [] + - AuthZ: + - synthetics_private_location_read + summary: Get a private location + tags: + - Synthetics + x-permission: + operator: OR + permissions: + - synthetics_private_location_read + put: + description: Edit a Synthetic private location. + operationId: UpdatePrivateLocation + parameters: + - description: The ID of the private location. + in: path + name: location_id + required: true + schema: + type: string + requestBody: + content: + application/json: + examples: + default: + value: + description: Description of private location + name: New private location + tags: + - team:front + schema: + $ref: '#/components/schemas/SyntheticsPrivateLocation' + description: Details of the private location to be updated. + required: true + responses: + '200': + content: + application/json: + examples: + default: + value: + description: Description of private location + id: pl:new-private-location-abc-123 + name: New private location + tags: + - team:front + schema: + $ref: '#/components/schemas/SyntheticsPrivateLocation' + description: OK + '404': + content: + application/json: + schema: + $ref: '#/components/schemas/APIErrorResponseV1' + description: |- + - Private locations are not activated for the user + - Private location does not exist + '429': + $ref: '#/components/responses/TooManyRequestsResponse' + security: + - apiKeyAuth: [] + appKeyAuth: [] + - AuthZ: + - synthetics_private_location_write + summary: Edit a private location + tags: + - Synthetics + x-codegen-request-body-name: body + x-permission: + operator: OR + permissions: + - synthetics_private_location_write + /api/v1/synthetics/settings/default_locations: + get: + description: Get the default locations settings. + operationId: GetSyntheticsDefaultLocations + responses: + '200': + content: + application/json: + examples: + default: + value: + - aws:eu-west-3 + - aws:us-east-1 + schema: + type: array + items: + type: object + properties: + synthetics_default_location: + type: string + description: OK + '429': + $ref: '#/components/responses/TooManyRequestsResponse' + summary: Get the default locations + tags: + - Synthetics + x-permission: + operator: OR + permissions: + - synthetics_default_settings_read + /api/v1/synthetics/tests: + get: + description: Get the list of all Synthetic tests. + operationId: ListTests + parameters: + - description: Used for pagination. The number of tests returned in the page. + in: query + name: page_size + required: false + schema: + default: 100 + format: int64 + type: integer + - description: Used for pagination. Which page you want to retrieve. Starts at zero. + in: query + name: page_number + required: false + schema: + format: int64 + type: integer + responses: + '200': + content: + application/json: + examples: + default: + value: + tests: + - locations: + - aws:eu-west-3 + name: Example API test + public_id: abc-def-123 + status: live + subtype: http + tags: + - env:production + type: api + schema: + $ref: '#/components/schemas/SyntheticsListTestsResponse' + description: OK - Returns the list of all Synthetic tests. + '403': + content: + application/json: + schema: + $ref: '#/components/schemas/APIErrorResponseV1' + description: Forbidden + '404': + content: + application/json: + schema: + $ref: '#/components/schemas/APIErrorResponseV1' + description: Synthetic Monitoring is not activated for the user. + '429': + $ref: '#/components/responses/TooManyRequestsResponse' + security: + - apiKeyAuth: [] + appKeyAuth: [] + - AuthZ: + - synthetics_read + summary: Get the list of all Synthetic tests + tags: + - Synthetics + x-pagination: + limitParam: page_size + pageParam: page_number + resultsPath: tests + x-permission: + operator: OR + permissions: + - synthetics_read + /api/v1/synthetics/tests/api: + post: + description: Create a Synthetic API test. + operationId: CreateSyntheticsAPITest + requestBody: + content: + application/json: + examples: + 1-simple-api-test: + description: Example of an API test. + summary: Create an API test. + value: + config: + assertions: + - operator: lessThan + target: 1000 + type: responseTime + - operator: is + target: 200 + type: statusCode + - operator: is + property: content-type + target: text/html; charset=UTF-8 + type: header + request: + method: GET + url: https://example.com + locations: + - azure:eastus + - aws:eu-west-3 + message: MY_NOTIFICATION_MESSAGE + name: MY_TEST_NAME + options: + min_failure_duration: 0 + min_location_failed: 1 + monitor_options: + renotify_interval: 0 + tick_every: 60 + status: live + subtype: http + tags: + - env:production + type: api + 2-multistep-api-test: + description: |- + Example of a multistep API test running on a fake furniture store. + It creates a card, select a product and then add the product to the card. + summary: Create a Multistep API test + value: + config: + steps: + - assertions: + - operator: lessThan + target: 30000 + type: responseTime + extractedValues: + - field: location + name: CART_ID + parser: + type: regex + value: (?:[^\\/](?!(\\|/)))+$ + type: http_header + name: Get a cart + request: + method: POST + timeout: 30 + url: https://api.shopist.io/carts + subtype: http + - assertions: + - operator: is + target: 200 + type: statusCode + extractedValues: + - name: PRODUCT_ID + parser: + type: json_path + value: $[0].id['$oid'] + type: http_body + name: Get a product + request: + method: GET + timeout: 30 + url: https://api.shopist.io/products.json + subtype: http + - assertions: + - operator: is + target: 201 + type: statusCode + name: Add product to cart + request: + body: |- + { + "cart_item": { + "product_id": "{{ PRODUCT_ID }}", + "amount_paid": 500, + "quantity": 1 + }, + "cart_id": "{{ CART_ID }}" + } + headers: + content-type: application/json + method: POST + timeout: 30 + url: https://api.shopist.io/add_item.json + subtype: http + locations: + - aws:us-west-2 + message: MY_NOTIFICATION_MESSAGE + name: MY_TEST_NAME + options: + ci: + executionRule: blocking + min_failure_duration: 5400 + min_location_failed: 1 + monitor_options: + renotify_interval: 0 + retry: + count: 3 + interval: 300 + tick_every: 900 + status: live + subtype: multi + tags: + - env:prod + type: api + default: + value: + config: + assertions: + - operator: is + target: 200 + type: statusCode + request: + method: GET + url: https://example.com + locations: + - aws:eu-west-3 + message: Notification message + name: Example API test + options: + min_failure_duration: 0 + min_location_failed: 1 + tick_every: 60 + status: live + subtype: http + tags: + - env:production + type: api + schema: + $ref: '#/components/schemas/SyntheticsAPITest' + description: Details of the test to create. + required: true + responses: + '200': + content: + application/json: + examples: + default: + value: + config: + assertions: + - operator: is + target: 200 + type: statusCode + request: + method: GET + url: https://example.com + locations: + - aws:eu-west-3 + message: Notification message + monitor_id: 12345678 + name: Example API test + options: + min_failure_duration: 0 + min_location_failed: 1 + tick_every: 60 + public_id: abc-123-def + status: live + subtype: http + tags: + - env:production + type: api + schema: + $ref: '#/components/schemas/SyntheticsAPITest' + description: OK - Returns the created test details. + '400': + content: + application/json: + schema: + $ref: '#/components/schemas/APIErrorResponseV1' + description: |- + - JSON format is wrong + - Creation failed + '402': + content: + application/json: + schema: + $ref: '#/components/schemas/APIErrorResponseV1' + description: Test quota is reached + '403': + content: + application/json: + schema: + $ref: '#/components/schemas/APIErrorResponseV1' + description: Forbidden + '429': + $ref: '#/components/responses/TooManyRequestsResponse' + security: + - apiKeyAuth: [] + appKeyAuth: [] + - AuthZ: + - synthetics_write + summary: Create an API test + tags: + - Synthetics + x-codegen-request-body-name: body + x-permission: + operator: OR + permissions: + - synthetics_write + /api/v1/synthetics/tests/api/{public_id}: + get: + description: |- + Get the detailed configuration associated with + a Synthetic API test. + operationId: GetAPITest + parameters: + - description: The public ID of the test to get details from. + in: path + name: public_id + required: true + schema: + type: string + responses: + '200': + content: + application/json: + examples: + default: + value: + config: + request: + method: GET + url: https://example.com + locations: + - aws:eu-west-3 + message: Notification message + name: Example API test + options: + tick_every: 60 + public_id: abc-def-123 + status: live + subtype: http + tags: + - env:production + type: api + schema: + $ref: '#/components/schemas/SyntheticsAPITest' + description: OK + '403': + content: + application/json: + schema: + $ref: '#/components/schemas/APIErrorResponseV1' + description: Forbidden + '404': + content: + application/json: + schema: + $ref: '#/components/schemas/APIErrorResponseV1' + description: |- + - Synthetic Monitoring is not activated for the user + - Test is not owned by the user + '429': + $ref: '#/components/responses/TooManyRequestsResponse' + security: + - apiKeyAuth: [] + appKeyAuth: [] + - AuthZ: + - synthetics_read + summary: Get an API test + tags: + - Synthetics + x-permission: + operator: OR + permissions: + - synthetics_read + put: + description: Edit the configuration of a Synthetic API test. + operationId: UpdateAPITest + parameters: + - description: The public ID of the test to get details from. + in: path + name: public_id + required: true + schema: + type: string + requestBody: + content: + application/json: + examples: + default: + value: + config: + assertions: + - operator: is + target: 200 + type: statusCode + request: + method: GET + url: https://example.com + locations: + - aws:eu-west-3 + message: Notification message + name: Example API test + options: + min_failure_duration: 0 + min_location_failed: 1 + tick_every: 60 + status: live + subtype: http + tags: + - env:production + type: api + schema: + $ref: '#/components/schemas/SyntheticsAPITest' + description: New test details to be saved. + required: true + responses: + '200': + content: + application/json: + examples: + default: + value: + config: + request: + method: GET + url: https://example.com + locations: + - aws:eu-west-3 + message: Notification message + name: Example API test + options: + tick_every: 60 + public_id: abc-def-123 + status: live + subtype: http + tags: + - env:production + type: api + schema: + $ref: '#/components/schemas/SyntheticsAPITest' + description: OK + '400': + content: + application/json: + schema: + $ref: '#/components/schemas/APIErrorResponseV1' + description: |- + - JSON format is wrong + - Updating sub-type is forbidden + '403': + content: + application/json: + schema: + $ref: '#/components/schemas/APIErrorResponseV1' + description: Forbidden + '404': + content: + application/json: + schema: + $ref: '#/components/schemas/APIErrorResponseV1' + description: |- + - Synthetic Monitoring is not activated for the user + - Test is not owned by the user + - Test can't be found + '429': + $ref: '#/components/responses/TooManyRequestsResponse' + security: + - apiKeyAuth: [] + appKeyAuth: [] + - AuthZ: + - synthetics_write + summary: Edit an API test + tags: + - Synthetics + x-codegen-request-body-name: body + x-permission: + operator: OR + permissions: + - synthetics_write + /api/v1/synthetics/tests/browser: + post: + description: Create a Synthetic browser test. + operationId: CreateSyntheticsBrowserTest + requestBody: + content: + application/json: + examples: + default: + value: + config: + assertions: [] + request: + method: GET + url: https://example.com + locations: + - aws:eu-west-3 + message: '' + name: Example browser test + options: + device_ids: + - chrome.laptop_large + tick_every: 3600 + status: live + steps: + - name: Check current URL + params: + check: contains + value: example + type: assertCurrentUrl + tags: + - env:production + type: browser + schema: + $ref: '#/components/schemas/SyntheticsBrowserTest' + description: Details of the test to create. + required: true + responses: + '200': + content: + application/json: + examples: + default: + value: + config: + assertions: [] + request: + method: GET + url: https://example.com + locations: + - aws:eu-west-3 + message: '' + name: Example browser test + options: + device_ids: + - chrome.laptop_large + tick_every: 3600 + public_id: abc-def-123 + status: live + tags: + - env:production + type: browser + schema: + $ref: '#/components/schemas/SyntheticsBrowserTest' + description: OK - Returns the created test details. + '400': + content: + application/json: + schema: + $ref: '#/components/schemas/APIErrorResponseV1' + description: |- + - JSON format is wrong + - Creation failed + '402': + content: + application/json: + schema: + $ref: '#/components/schemas/APIErrorResponseV1' + description: Test quota is reached + '403': + content: + application/json: + schema: + $ref: '#/components/schemas/APIErrorResponseV1' + description: Forbidden + '429': + $ref: '#/components/responses/TooManyRequestsResponse' + security: + - apiKeyAuth: [] + appKeyAuth: [] + - AuthZ: + - synthetics_write + summary: Create a browser test + tags: + - Synthetics + x-codegen-request-body-name: body + x-permission: + operator: OR + permissions: + - synthetics_write + /api/v1/synthetics/tests/browser/{public_id}: + get: + description: |- + Get the detailed configuration (including steps) associated with + a Synthetic browser test. + operationId: GetBrowserTest + parameters: + - description: The public ID of the test to get details from. + in: path + name: public_id + required: true + schema: + type: string + responses: + '200': + content: + application/json: + examples: + default: + value: + config: + assertions: [] + request: + method: GET + url: https://example.com + locations: + - aws:eu-west-3 + message: '' + name: Example browser test + options: + device_ids: + - chrome.laptop_large + tick_every: 3600 + public_id: abc-def-123 + status: live + tags: + - env:production + type: browser + schema: + $ref: '#/components/schemas/SyntheticsBrowserTest' + description: OK + '403': + content: + application/json: + schema: + $ref: '#/components/schemas/APIErrorResponseV1' + description: Forbidden + '404': + content: + application/json: + schema: + $ref: '#/components/schemas/APIErrorResponseV1' + description: |- + - Synthetic Monitoring is not activated for the user + - Test is not owned by the user + '429': + $ref: '#/components/responses/TooManyRequestsResponse' + security: + - apiKeyAuth: [] + appKeyAuth: [] + - AuthZ: + - synthetics_read + summary: Get a browser test + tags: + - Synthetics + x-permission: + operator: OR + permissions: + - synthetics_read + put: + description: Edit the configuration of a Synthetic browser test. + operationId: UpdateBrowserTest + parameters: + - description: The public ID of the test to edit. + in: path + name: public_id + required: true + schema: + type: string + requestBody: + content: + application/json: + examples: + default: + value: + config: + assertions: [] + request: + method: GET + url: https://example.com + locations: + - aws:eu-west-3 + message: '' + name: Example browser test + options: + device_ids: + - chrome.laptop_large + tick_every: 3600 + status: live + steps: + - name: Check current URL + params: + check: contains + value: example + type: assertCurrentUrl + tags: + - env:production + type: browser + schema: + $ref: '#/components/schemas/SyntheticsBrowserTest' + description: New test details to be saved. + required: true + responses: + '200': + content: + application/json: + examples: + default: + value: + config: + assertions: [] + request: + method: GET + url: https://example.com + locations: + - aws:eu-west-3 + message: '' + name: Example browser test + options: + device_ids: + - chrome.laptop_large + tick_every: 3600 + public_id: abc-def-123 + status: live + tags: + - env:production + type: browser + schema: + $ref: '#/components/schemas/SyntheticsBrowserTest' + description: OK + '400': + content: + application/json: + schema: + $ref: '#/components/schemas/APIErrorResponseV1' + description: |- + - JSON format is wrong + - Updating sub-type is forbidden + '403': + content: + application/json: + schema: + $ref: '#/components/schemas/APIErrorResponseV1' + description: Forbidden + '404': + content: + application/json: + schema: + $ref: '#/components/schemas/APIErrorResponseV1' + description: |- + - Synthetic Monitoring is not activated for the user + - Test is not owned by the user + - Test can't be found + '429': + $ref: '#/components/responses/TooManyRequestsResponse' + security: + - apiKeyAuth: [] + appKeyAuth: [] + - AuthZ: + - synthetics_write + summary: Edit a browser test + tags: + - Synthetics + x-codegen-request-body-name: body + x-permission: + operator: OR + permissions: + - synthetics_write + /api/v1/synthetics/tests/browser/{public_id}/results: + get: + description: Get the last 150 test results summaries for a given Synthetic browser test. + operationId: GetBrowserTestLatestResults + parameters: + - description: |- + The public ID of the browser test for which to search results + for. + in: path + name: public_id + required: true + schema: + type: string + - description: Timestamp in milliseconds from which to start querying results. + in: query + name: from_ts + required: false + schema: + format: int64 + type: integer + - description: Timestamp in milliseconds up to which to query results. + in: query + name: to_ts + required: false + schema: + format: int64 + type: integer + - description: Locations for which to query results. + in: query + name: probe_dc + required: false + schema: + items: + type: string + type: array + responses: + '200': + content: + application/json: + examples: + default: + value: + last_timestamp_fetched: 1706745600000 + results: + - check_time: 1706745600000 + probe_dc: aws:eu-west-3 + result_id: abc-123 + status: 0 + schema: + $ref: '#/components/schemas/SyntheticsGetBrowserTestLatestResultsResponse' + description: OK + '403': + content: + application/json: + schema: + $ref: '#/components/schemas/APIErrorResponseV1' + description: forbidden + '404': + content: + application/json: + schema: + $ref: '#/components/schemas/APIErrorResponseV1' + description: |- + - Synthetic Monitoring is not activated for the user + - Test is not owned by the user + '429': + $ref: '#/components/responses/TooManyRequestsResponse' + security: + - apiKeyAuth: [] + appKeyAuth: [] + - AuthZ: + - synthetics_read + summary: Get a browser test's latest results summaries + tags: + - Synthetics + x-codegen-request-body-name: body + x-permission: + operator: OR + permissions: + - synthetics_read + /api/v1/synthetics/tests/browser/{public_id}/results/{result_id}: + get: + description: Get a specific full result from a given Synthetic browser test. + operationId: GetBrowserTestResult + parameters: + - description: |- + The public ID of the browser test to which the target result + belongs. + in: path + name: public_id + required: true + schema: + type: string + - description: The ID of the result to get. + in: path + name: result_id + required: true + schema: + type: string + responses: + '200': + content: + application/json: + examples: + default: + value: + check_time: 1706745600000 + probe_dc: aws:eu-west-3 + result_id: abc-123 + status: 0 + schema: + $ref: '#/components/schemas/SyntheticsBrowserTestResultFull' + description: OK + '403': + content: + application/json: + schema: + $ref: '#/components/schemas/APIErrorResponseV1' + description: Forbidden + '404': + content: + application/json: + schema: + $ref: '#/components/schemas/APIErrorResponseV1' + description: |- + - Synthetic Monitoring is not activated for the user + - Test or result is not owned by the user + '429': + $ref: '#/components/responses/TooManyRequestsResponse' + security: + - apiKeyAuth: [] + appKeyAuth: [] + - AuthZ: + - synthetics_read + summary: Get a browser test result + tags: + - Synthetics + x-permission: + operator: OR + permissions: + - synthetics_read + /api/v1/synthetics/tests/delete: + post: + description: Delete multiple Synthetic tests by ID. + operationId: DeleteTests + requestBody: + content: + application/json: + examples: + default: + value: + public_ids: + - abc-def-123 + schema: + $ref: '#/components/schemas/SyntheticsDeleteTestsPayload' + description: Public ID list of the Synthetic tests to be deleted. + required: true + responses: + '200': + content: + application/json: + examples: + default: + value: + deleted_tests: + - deleted_at: '2024-01-01T00:00:00+00:00' + public_id: abc-def-123 + schema: + $ref: '#/components/schemas/SyntheticsDeleteTestsResponse' + description: OK. + '400': + content: + application/json: + schema: + $ref: '#/components/schemas/APIErrorResponseV1' + description: |- + - JSON format is wrong + - Test cannot be deleted as it's used elsewhere (as a sub-test or in an uptime widget) + - Some IDs are not owned by the user + '403': + content: + application/json: + schema: + $ref: '#/components/schemas/APIErrorResponseV1' + description: Forbidden + '404': + content: + application/json: + schema: + $ref: '#/components/schemas/APIErrorResponseV1' + description: |- + - Tests to be deleted can't be found + - Synthetic is not activated for the user + '429': + $ref: '#/components/responses/TooManyRequestsResponse' + security: + - apiKeyAuth: [] + appKeyAuth: [] + - AuthZ: + - synthetics_write + summary: Delete tests + tags: + - Synthetics + x-codegen-request-body-name: body + x-permission: + operator: OR + permissions: + - synthetics_write + /api/v1/synthetics/tests/mobile: + post: + description: Create a Synthetic mobile test. + operationId: CreateSyntheticsMobileTest + requestBody: + content: + application/json: + examples: + default: + value: + config: + variables: [] + message: Notification message + name: Example mobile test + options: + device_ids: + - synthetics:mobile:device:apple_iphone_14_ios_16 + min_failure_duration: 0 + mobileApplication: + applicationId: abc-123 + referenceId: abc-456 + referenceType: latest + tick_every: 3600 + tags: + - env:production + type: mobile + schema: + $ref: '#/components/schemas/SyntheticsMobileTest' + description: Details of the test to create. + required: true + responses: + '200': + content: + application/json: + examples: + default: + value: + config: + variables: [] + message: Notification message + name: Example mobile test + options: + device_ids: + - synthetics:mobile:device:apple_iphone_14_ios_16 + mobileApplication: + applicationId: abc-123 + referenceId: abc-456 + referenceType: latest + tick_every: 3600 + public_id: abc-def-123 + status: live + tags: + - env:production + type: mobile + schema: + $ref: '#/components/schemas/SyntheticsMobileTest' + description: OK - Returns the created test details. + '400': + content: + application/json: + schema: + $ref: '#/components/schemas/APIErrorResponseV1' + description: |- + - JSON format is wrong + - Creation failed + '402': + content: + application/json: + schema: + $ref: '#/components/schemas/APIErrorResponseV1' + description: Test quota is reached + '403': + content: + application/json: + schema: + $ref: '#/components/schemas/APIErrorResponseV1' + description: Forbidden + '429': + $ref: '#/components/responses/TooManyRequestsResponse' + security: + - apiKeyAuth: [] + appKeyAuth: [] + - AuthZ: + - synthetics_write + summary: Create a mobile test + tags: + - Synthetics + x-codegen-request-body-name: body + x-permission: + operator: OR + permissions: + - synthetics_write + /api/v1/synthetics/tests/mobile/{public_id}: + get: + description: |- + Get the detailed configuration associated with + a Synthetic mobile test. + operationId: GetMobileTest + parameters: + - description: The public ID of the test to get details from. + in: path + name: public_id + required: true + schema: + type: string + responses: + '200': + content: + application/json: + examples: + default: + value: + config: + variables: [] + message: Notification message + name: Example mobile test + options: + device_ids: + - synthetics:mobile:device:apple_iphone_14_ios_16 + mobileApplication: + applicationId: abc-123 + referenceId: abc-456 + referenceType: latest + tick_every: 3600 + public_id: abc-def-123 + status: live + tags: + - env:production + type: mobile + schema: + $ref: '#/components/schemas/SyntheticsMobileTest' + description: OK + '403': + content: + application/json: + schema: + $ref: '#/components/schemas/APIErrorResponseV1' + description: Forbidden + '404': + content: + application/json: + schema: + $ref: '#/components/schemas/APIErrorResponseV1' + description: |- + - Synthetic Monitoring is not activated for the user + - Test is not owned by the user + '429': + $ref: '#/components/responses/TooManyRequestsResponse' + security: + - apiKeyAuth: [] + appKeyAuth: [] + - AuthZ: + - synthetics_read + summary: Get a mobile test + tags: + - Synthetics + x-permission: + operator: OR + permissions: + - synthetics_read + put: + description: Edit the configuration of a Synthetic mobile test. + operationId: UpdateMobileTest + parameters: + - description: The public ID of the test to get details from. + in: path + name: public_id + required: true + schema: + type: string + requestBody: + content: + application/json: + examples: + default: + value: + config: + variables: [] + message: Notification message + name: Example mobile test + options: + device_ids: + - synthetics:mobile:device:apple_iphone_14_ios_16 + min_failure_duration: 0 + mobileApplication: + applicationId: abc-123 + referenceId: abc-456 + referenceType: latest + tick_every: 3600 + tags: + - env:production + type: mobile + schema: + $ref: '#/components/schemas/SyntheticsMobileTest' + description: New test details to be saved. + required: true + responses: + '200': + content: + application/json: + examples: + default: + value: + config: + variables: [] + message: Notification message + name: Example mobile test + options: + device_ids: + - synthetics:mobile:device:apple_iphone_14_ios_16 + mobileApplication: + applicationId: abc-123 + referenceId: abc-456 + referenceType: latest + tick_every: 3600 + public_id: abc-def-123 + status: live + tags: + - env:production + type: mobile + schema: + $ref: '#/components/schemas/SyntheticsMobileTest' + description: OK + '400': + content: + application/json: + schema: + $ref: '#/components/schemas/APIErrorResponseV1' + description: |- + - JSON format is wrong + - Updating sub-type is forbidden + '403': + content: + application/json: + schema: + $ref: '#/components/schemas/APIErrorResponseV1' + description: Forbidden + '404': + content: + application/json: + schema: + $ref: '#/components/schemas/APIErrorResponseV1' + description: |- + - Synthetic Monitoring is not activated for the user + - Test is not owned by the user + - Test can't be found + '429': + $ref: '#/components/responses/TooManyRequestsResponse' + security: + - apiKeyAuth: [] + appKeyAuth: [] + - AuthZ: + - synthetics_write + summary: Edit a mobile test + tags: + - Synthetics + x-codegen-request-body-name: body + x-permission: + operator: OR + permissions: + - synthetics_write + /api/v1/synthetics/tests/search: + get: + description: Search for Synthetic tests. + operationId: SearchTests + parameters: + - description: The search query. + in: query + name: text + required: false + schema: + type: string + - description: If true, include the full configuration for each test in the response. + in: query + name: include_full_config + required: false + schema: + type: boolean + - description: If true, return only facets instead of full test details. + in: query + name: facets_only + required: false + schema: + type: boolean + - description: The offset from which to start returning results. + in: query + name: start + required: false + schema: + default: 0 + format: int64 + type: integer + - description: The maximum number of results to return. + in: query + name: count + required: false + schema: + default: 50 + format: int64 + type: integer + - description: The sort order for the results (e.g., `name,asc` or `name,desc`). + in: query + name: sort + required: false + schema: + default: name,asc + type: string + responses: + '200': + content: + application/json: + examples: + default: + value: + tests: + - locations: + - aws:eu-west-3 + message: Test notification + name: Example Test + public_id: abc-def-123 + status: live + tags: + - env:prod + type: api + schema: + $ref: '#/components/schemas/SyntheticsListTestsResponse' + description: OK - Returns the list of Synthetic tests matching the search. + '403': + content: + application/json: + schema: + $ref: '#/components/schemas/APIErrorResponseV1' + description: Forbidden + '404': + content: + application/json: + schema: + $ref: '#/components/schemas/APIErrorResponseV1' + description: Not found + '429': + $ref: '#/components/responses/TooManyRequestsResponse' + security: + - apiKeyAuth: [] + appKeyAuth: [] + - AuthZ: + - synthetics_read + summary: Search Synthetic tests + tags: + - Synthetics + x-permission: + operator: OR + permissions: + - synthetics_read + /api/v1/synthetics/tests/trigger: + post: + description: Trigger a set of Synthetic tests. + operationId: TriggerTests + requestBody: + content: + application/json: + examples: + default: + value: + tests: + - public_id: aaa-aaa-aaa + schema: + $ref: '#/components/schemas/SyntheticsTriggerBody' + description: The identifiers of the tests to trigger. + required: true + responses: + '200': + content: + application/json: + examples: + default: + value: + batch_id: abc-123 + results: + - location: 1 + public_id: abc-def-123 + result_id: abc-123 + triggered_check_ids: + - abc-def-123 + schema: + $ref: '#/components/schemas/SyntheticsTriggerCITestsResponse' + description: OK + '400': + content: + application/json: + schema: + $ref: '#/components/schemas/APIErrorResponseV1' + description: Bad Request + '429': + $ref: '#/components/responses/TooManyRequestsResponse' + security: + - apiKeyAuth: [] + appKeyAuth: [] + - AuthZ: + - synthetics_write + summary: Trigger Synthetic tests + tags: + - Synthetics + x-codegen-request-body-name: body + x-permission: + operator: OR + permissions: + - synthetics_write + /api/v1/synthetics/tests/trigger/ci: + post: + description: Trigger a set of Synthetic tests for continuous integration. + operationId: TriggerCITests + requestBody: + content: + application/json: + examples: + default: + value: + tests: + - public_id: aaa-aaa-aaa + schema: + $ref: '#/components/schemas/SyntheticsCITestBody' + description: Details of the test to trigger. + required: true + responses: + '200': + content: + application/json: + examples: + default: + value: + batch_id: abc-123 + results: + - location: 1 + public_id: abc-def-123 + result_id: abc-123 + triggered_check_ids: + - abc-def-123 + schema: + $ref: '#/components/schemas/SyntheticsTriggerCITestsResponse' + description: OK + '400': + content: + application/json: + schema: + $ref: '#/components/schemas/APIErrorResponseV1' + description: JSON format is wrong + '429': + $ref: '#/components/responses/TooManyRequestsResponse' + security: + - apiKeyAuth: [] + appKeyAuth: [] + - AuthZ: + - synthetics_write + summary: Trigger tests from CI/CD pipelines + tags: + - Synthetics + x-codegen-request-body-name: body + x-permission: + operator: OR + permissions: + - synthetics_write + /api/v1/synthetics/tests/uptimes: + post: + description: Fetch uptime for multiple Synthetic tests by ID. + operationId: FetchUptimes + requestBody: + content: + application/json: + examples: + default: + value: + from_ts: 1726041488 + public_ids: + - abc-def-123 + to_ts: 1726127888 + schema: + $ref: '#/components/schemas/SyntheticsFetchUptimesPayload' + description: Public ID list of the Synthetic tests and timeframe. + required: true + responses: + '200': + content: + application/json: + examples: + default: + value: + - from_ts: 1726041488 + overall: + group: name + history: + - - 1726041488 + - 0 + span_precision: 2 + uptime: 99.99 + public_id: abc-def-123 + to_ts: 1726127888 + schema: + type: array + items: + $ref: '#/components/schemas/SyntheticsTestUptime' + description: OK. + '400': + content: + application/json: + schema: + $ref: '#/components/schemas/APIErrorResponseV1' + description: '- JSON format is wrong' + '403': + content: + application/json: + schema: + $ref: '#/components/schemas/APIErrorResponseV1' + description: Forbidden + '429': + $ref: '#/components/responses/TooManyRequestsResponse' + security: + - apiKeyAuth: [] + appKeyAuth: [] + - AuthZ: + - synthetics_read + summary: Fetch uptime for multiple tests + tags: + - Synthetics + x-codegen-request-body-name: body + x-permission: + operator: OR + permissions: + - synthetics_read + /api/v1/synthetics/tests/{public_id}: + get: + description: Get the detailed configuration associated with a Synthetic test. + operationId: GetTest + parameters: + - description: The public ID of the test to get details from. + in: path + name: public_id + required: true + schema: + type: string + responses: + '200': + content: + application/json: + examples: + default: + value: + locations: + - aws:eu-west-3 + message: Notification message + name: Example test + public_id: abc-def-123 + status: live + subtype: http + tags: + - env:production + type: api + schema: + $ref: '#/components/schemas/SyntheticsTestDetailsWithoutSteps' + description: OK + '403': + content: + application/json: + schema: + $ref: '#/components/schemas/APIErrorResponseV1' + description: Forbidden + '404': + content: + application/json: + schema: + $ref: '#/components/schemas/APIErrorResponseV1' + description: |- + - Synthetic is not activated for the user + - Test is not owned by the user + '429': + $ref: '#/components/responses/TooManyRequestsResponse' + security: + - apiKeyAuth: [] + appKeyAuth: [] + - AuthZ: + - synthetics_read + summary: Get a test configuration + tags: + - Synthetics + x-permission: + operator: OR + permissions: + - synthetics_read + patch: + description: Patch the configuration of a Synthetic test with partial data. + operationId: PatchTest + parameters: + - description: The public ID of the test to patch. + in: path + name: public_id + required: true + schema: + type: string + requestBody: + content: + application/json: + examples: + default: + value: + data: + - op: replace + path: /name + value: New test name + - op: remove + path: /config/assertions/0 + schema: + $ref: '#/components/schemas/SyntheticsPatchTestBody' + description: '[JSON Patch](https://jsonpatch.com/) compliant list of operations' + required: true + responses: + '200': + content: + application/json: + examples: + default: + value: + locations: + - aws:eu-west-3 + message: Notification message + name: New test name + public_id: abc-def-123 + status: live + subtype: http + tags: + - env:production + type: api + schema: + $ref: '#/components/schemas/SyntheticsTestDetails' + description: OK + '400': + content: + application/json: + schema: + $ref: '#/components/schemas/APIErrorResponseV1' + description: |- + - JSON format is wrong + - Updating sub-type is forbidden + '403': + content: + application/json: + schema: + $ref: '#/components/schemas/APIErrorResponseV1' + description: Forbidden + '404': + content: + application/json: + schema: + $ref: '#/components/schemas/APIErrorResponseV1' + description: |- + - Synthetic Monitoring is not activated for the user + - Test is not owned by the user + - Test can't be found + '429': + $ref: '#/components/responses/TooManyRequestsResponse' + security: + - apiKeyAuth: [] + appKeyAuth: [] + - AuthZ: + - synthetics_write + summary: Patch a Synthetic test + tags: + - Synthetics + x-codegen-request-body-name: body + x-permission: + operator: OR + permissions: + - synthetics_write + /api/v1/synthetics/tests/{public_id}/results: + get: + description: Get the last 150 test results summaries for a given Synthetic API test. + operationId: GetAPITestLatestResults + parameters: + - description: The public ID of the test for which to search results for. + in: path + name: public_id + required: true + schema: + type: string + - description: Timestamp in milliseconds from which to start querying results. + in: query + name: from_ts + required: false + schema: + format: int64 + type: integer + - description: Timestamp in milliseconds up to which to query results. + in: query + name: to_ts + required: false + schema: + format: int64 + type: integer + - description: Locations for which to query results. + in: query + name: probe_dc + required: false + schema: + items: + type: string + type: array + responses: + '200': + content: + application/json: + examples: + default: + value: + last_timestamp_fetched: 1706745600000 + results: + - check_time: 1706745600000 + probe_dc: aws:eu-west-3 + result: + passed: true + result_id: abc-123 + status: 0 + schema: + $ref: '#/components/schemas/SyntheticsGetAPITestLatestResultsResponse' + description: OK + '403': + content: + application/json: + schema: + $ref: '#/components/schemas/APIErrorResponseV1' + description: Forbidden + '404': + content: + application/json: + schema: + $ref: '#/components/schemas/APIErrorResponseV1' + description: |- + - Synthetic is not activated for the user + - Test is not owned by the user + '429': + $ref: '#/components/responses/TooManyRequestsResponse' + security: + - apiKeyAuth: [] + appKeyAuth: [] + - AuthZ: + - synthetics_read + summary: Get an API test's latest results summaries + tags: + - Synthetics + x-codegen-request-body-name: body + x-permission: + operator: OR + permissions: + - synthetics_read + /api/v1/synthetics/tests/{public_id}/results/{result_id}: + get: + description: Get a specific full result from a given Synthetic API test. + operationId: GetAPITestResult + parameters: + - description: The public ID of the API test to which the target result belongs. + in: path + name: public_id + required: true + schema: + type: string + - description: The ID of the result to get. + in: path + name: result_id + required: true + schema: + type: string + responses: + '200': + content: + application/json: + examples: + default: + value: + check_time: 1706745600000 + probe_dc: aws:eu-west-3 + result_id: abc-123 + status: 0 + schema: + $ref: '#/components/schemas/SyntheticsAPITestResultFull' + description: OK + '403': + content: + application/json: + schema: + $ref: '#/components/schemas/APIErrorResponseV1' + description: Forbidden + '404': + content: + application/json: + schema: + $ref: '#/components/schemas/APIErrorResponseV1' + description: |- + - Synthetic Monitoring is not activated for the user + - Test or result is not owned by the user + '429': + $ref: '#/components/responses/TooManyRequestsResponse' + security: + - apiKeyAuth: [] + appKeyAuth: [] + - AuthZ: + - synthetics_read + summary: Get an API test result + tags: + - Synthetics + x-permission: + operator: OR + permissions: + - synthetics_read + /api/v1/synthetics/tests/{public_id}/status: + put: + description: Pause or start a Synthetic test by changing the status. + operationId: UpdateTestPauseStatus + parameters: + - description: The public ID of the Synthetic test to update. + in: path + name: public_id + required: true + schema: + type: string + requestBody: + content: + application/json: + examples: + default: + value: + new_status: live + schema: + $ref: '#/components/schemas/SyntheticsUpdateTestPauseStatusPayload' + description: Status to set the given Synthetic test to. + required: true + responses: + '200': + content: + application/json: + examples: + default: + value: true + schema: + type: boolean + description: OK - Returns a boolean indicating if the update was successful. + '400': + content: + application/json: + schema: + $ref: '#/components/schemas/APIErrorResponseV1' + description: JSON format is wrong. + '403': + content: + application/json: + schema: + $ref: '#/components/schemas/APIErrorResponseV1' + description: Forbidden + '404': + content: + application/json: + schema: + $ref: '#/components/schemas/APIErrorResponseV1' + description: |- + - Synthetic Monitoring is not activated for the user + - Test is not owned by the user + '429': + $ref: '#/components/responses/TooManyRequestsResponse' + security: + - apiKeyAuth: [] + appKeyAuth: [] + - AuthZ: + - synthetics_write + summary: Pause or start a test + tags: + - Synthetics + x-codegen-request-body-name: body + x-permission: + operator: OR + permissions: + - synthetics_write + /api/v1/synthetics/variables: + get: + description: Get the list of all Synthetic global variables. + operationId: ListGlobalVariables + responses: + '200': + content: + application/json: + examples: + default: + value: + variables: + - description: Example description + id: abc-123 + name: MY_VARIABLE + tags: + - team:front + value: + secure: false + value: example-value + schema: + $ref: '#/components/schemas/SyntheticsListGlobalVariablesResponse' + description: OK + '403': + content: + application/json: + schema: + $ref: '#/components/schemas/APIErrorResponseV1' + description: Forbidden + '429': + $ref: '#/components/responses/TooManyRequestsResponse' + security: + - apiKeyAuth: [] + appKeyAuth: [] + - AuthZ: + - synthetics_global_variable_read + - AuthZ: + - apm_api_catalog_read + summary: Get all global variables + tags: + - Synthetics + x-permission: + operator: OR + permissions: + - synthetics_global_variable_read + - apm_api_catalog_read + post: + description: Create a Synthetic global variable. + operationId: CreateGlobalVariable + requestBody: + content: + application/json: + examples: + default: + value: + description: Example description + name: MY_VARIABLE + tags: + - team:front + - test:workflow-1 + value: + secure: false + value: variable-value + schema: + $ref: '#/components/schemas/SyntheticsGlobalVariableRequest' + description: Details of the global variable to create. + required: true + responses: + '200': + content: + application/json: + examples: + default: + value: + description: Example description + id: abc-123 + name: MY_VARIABLE + tags: + - team:front + - test:workflow-1 + value: + secure: false + value: variable-value + schema: + $ref: '#/components/schemas/SyntheticsGlobalVariable' + description: OK + '400': + content: + application/json: + schema: + $ref: '#/components/schemas/APIErrorResponseV1' + description: Invalid request + '403': + content: + application/json: + schema: + $ref: '#/components/schemas/APIErrorResponseV1' + description: Forbidden + '409': + content: + application/json: + schema: + $ref: '#/components/schemas/APIErrorResponseV1' + description: Conflict + '429': + $ref: '#/components/responses/TooManyRequestsResponse' + security: + - apiKeyAuth: [] + appKeyAuth: [] + - AuthZ: + - synthetics_global_variable_write + summary: Create a global variable + tags: + - Synthetics + x-codegen-request-body-name: body + x-permission: + operator: OR + permissions: + - synthetics_global_variable_write + /api/v1/synthetics/variables/{variable_id}: + delete: + description: Delete a Synthetic global variable. + operationId: DeleteGlobalVariable + parameters: + - description: The ID of the global variable. + in: path + name: variable_id + required: true + schema: + type: string + responses: + '200': + description: OK + '400': + content: + application/json: + schema: + $ref: '#/components/schemas/APIErrorResponseV1' + description: JSON format is wrong + '403': + content: + application/json: + schema: + $ref: '#/components/schemas/APIErrorResponseV1' + description: Forbidden + '404': + content: + application/json: + schema: + $ref: '#/components/schemas/APIErrorResponseV1' + description: Not found + '429': + $ref: '#/components/responses/TooManyRequestsResponse' + security: + - apiKeyAuth: [] + appKeyAuth: [] + - AuthZ: + - synthetics_global_variable_write + summary: Delete a global variable + tags: + - Synthetics + x-permission: + operator: OR + permissions: + - synthetics_global_variable_write + get: + description: Get the detailed configuration of a global variable. + operationId: GetGlobalVariable + parameters: + - description: The ID of the global variable. + in: path + name: variable_id + required: true + schema: + type: string + responses: + '200': + content: + application/json: + examples: + default: + value: + description: Example description + id: abc-123 + name: MY_VARIABLE + tags: + - team:front + value: + secure: false + value: variable-value + schema: + $ref: '#/components/schemas/SyntheticsGlobalVariable' + description: OK + '403': + content: + application/json: + schema: + $ref: '#/components/schemas/APIErrorResponseV1' + description: Forbidden + '404': + content: + application/json: + schema: + $ref: '#/components/schemas/APIErrorResponseV1' + description: Not found + '429': + $ref: '#/components/responses/TooManyRequestsResponse' + security: + - apiKeyAuth: [] + appKeyAuth: [] + - AuthZ: + - synthetics_global_variable_read + summary: Get a global variable + tags: + - Synthetics + put: + description: Edit a Synthetic global variable. + operationId: EditGlobalVariable + parameters: + - description: The ID of the global variable. + in: path + name: variable_id + required: true + schema: + type: string + requestBody: + content: + application/json: + examples: + default: + value: + description: Example description + name: MY_VARIABLE + tags: + - team:front + - test:workflow-1 + value: + secure: false + value: variable-value + schema: + $ref: '#/components/schemas/SyntheticsGlobalVariableRequest' + description: Details of the global variable to update. + required: true + responses: + '200': + content: + application/json: + examples: + default: + value: + description: Example description + id: abc-123 + name: MY_VARIABLE + tags: + - team:front + - test:workflow-1 + value: + secure: false + value: variable-value + schema: + $ref: '#/components/schemas/SyntheticsGlobalVariable' + description: OK + '400': + content: + application/json: + schema: + $ref: '#/components/schemas/APIErrorResponseV1' + description: Invalid request + '403': + content: + application/json: + schema: + $ref: '#/components/schemas/APIErrorResponseV1' + description: Forbidden + '429': + $ref: '#/components/responses/TooManyRequestsResponse' + security: + - apiKeyAuth: [] + appKeyAuth: [] + - AuthZ: + - synthetics_global_variable_write + summary: Edit a global variable + tags: + - Synthetics + x-codegen-request-body-name: body + x-permission: + operator: OR + permissions: + - synthetics_global_variable_write +components: + schemas: + GetDataObservabilityMonitorRunStatusResponse: + description: The response for getting the status of a data observability monitor run. + properties: + data: + $ref: '#/components/schemas/GetDataObservabilityMonitorRunStatusResponseData' + required: + - data + type: object + JSONAPIErrorResponse: + description: API error response. + properties: + errors: + description: A list of errors. + items: + $ref: '#/components/schemas/JSONAPIErrorItem' + type: array + required: + - errors + type: object + RunDataObservabilityMonitorResponse: + description: The response returned when a data observability monitor run is triggered. + properties: + data: + $ref: '#/components/schemas/RunDataObservabilityMonitorResponseData' + required: + - data + type: object + MonitorNotificationRuleListResponse: + description: Response for retrieving all monitor notification rules. + properties: + data: + description: A list of monitor notification rules. + items: + $ref: '#/components/schemas/MonitorNotificationRuleData' + type: array + included: + description: Array of objects related to the monitor notification rules. + items: + $ref: '#/components/schemas/MonitorNotificationRuleResponseIncludedItem' + type: array + type: object + APIErrorResponse: + description: API error response. + properties: + errors: + description: A list of errors. + example: + - Bad Request + items: + description: A list of items. + example: Bad Request + type: string + type: array + required: + - errors + type: object + MonitorNotificationRuleCreateRequest: + description: Request for creating a monitor notification rule. + properties: + data: + $ref: '#/components/schemas/MonitorNotificationRuleCreateRequestData' + required: + - data + type: object + MonitorNotificationRuleResponse: + description: A monitor notification rule. + properties: + data: + $ref: '#/components/schemas/MonitorNotificationRuleData' + included: + description: Array of objects related to the monitor notification rule that the user requested. + items: + $ref: '#/components/schemas/MonitorNotificationRuleResponseIncludedItem' + type: array + type: object + MonitorNotificationRuleUpdateRequest: + description: Request for updating a monitor notification rule. + properties: + data: + $ref: '#/components/schemas/MonitorNotificationRuleUpdateRequestData' + required: + - data + type: object + MonitorConfigPolicyListResponse: + description: Response for retrieving all monitor configuration policies. + properties: + data: + description: An array of monitor configuration policies. + items: + $ref: '#/components/schemas/MonitorConfigPolicyResponseData' + type: array + type: object + MonitorConfigPolicyCreateRequest: + description: Request for creating a monitor configuration policy. + properties: + data: + $ref: '#/components/schemas/MonitorConfigPolicyCreateData' + required: + - data + type: object + MonitorConfigPolicyResponse: + description: Response for retrieving a monitor configuration policy. + properties: + data: + $ref: '#/components/schemas/MonitorConfigPolicyResponseData' + type: object + MonitorConfigPolicyEditRequest: + description: Request for editing a monitor configuration policy. + properties: + data: + $ref: '#/components/schemas/MonitorConfigPolicyEditData' + required: + - data + type: object + MonitorUserTemplateListResponse: + description: Response for retrieving all monitor user templates. + properties: + data: + description: An array of monitor user templates. + items: + $ref: '#/components/schemas/MonitorUserTemplateResponseData' + type: array + type: object + MonitorUserTemplateCreateRequest: + description: Request for creating a monitor user template. + properties: + data: + $ref: '#/components/schemas/MonitorUserTemplateCreateData' + required: + - data + type: object + MonitorUserTemplateCreateResponse: + description: Response for creating a monitor user template. + properties: + data: + $ref: '#/components/schemas/MonitorUserTemplateResponseData' + type: object + MonitorUserTemplateResponse: + description: Response for retrieving a monitor user template. + properties: + data: + $ref: '#/components/schemas/MonitorUserTemplateResponseDataWithVersions' + type: object + MonitorUserTemplateUpdateRequest: + description: Request for creating a new monitor user template version. + properties: + data: + $ref: '#/components/schemas/MonitorUserTemplateUpdateData' + required: + - data + type: object + MonitorDowntimeMatchResponse: + description: Response for retrieving all downtime matches for a monitor. + properties: + data: + description: An array of downtime matches. + items: + $ref: '#/components/schemas/MonitorDowntimeMatchResponseData' + type: array + meta: + $ref: '#/components/schemas/DowntimeMeta' + type: object + SyntheticsApiMultistepSubtestsResponse: + description: Response containing the list of available subtests for an API multistep test. + properties: + data: + description: List of API tests that can be added as subtests. + items: + $ref: '#/components/schemas/SyntheticsApiMultistepSubtestData' + type: array + type: object + SyntheticsApiMultistepParentTestsResponse: + description: Response containing the list of parent tests for an API multistep subtest. + properties: + data: + description: List of parent tests that include this subtest. + items: + $ref: '#/components/schemas/SyntheticsApiMultistepParentTestData' + type: array + type: object + SyntheticsDowntimesResponse: + description: Response containing a list of Synthetics downtimes. + properties: + data: + $ref: '#/components/schemas/SyntheticsDowntimeDataList' + required: + - data + type: object + SyntheticsDowntimeRequest: + description: Request body for creating or updating a Synthetics downtime. + properties: + data: + $ref: '#/components/schemas/SyntheticsDowntimeDataRequest' + required: + - data + type: object + SyntheticsDowntimeResponse: + description: Response containing a single Synthetics downtime. + properties: + data: + $ref: '#/components/schemas/SyntheticsDowntimeData' + required: + - data + type: object + OnDemandConcurrencyCapResponse: + description: On-demand concurrency cap response. + properties: + data: + $ref: '#/components/schemas/OnDemandConcurrencyCap' + type: object + OnDemandConcurrencyCapAttributes: + description: On-demand concurrency cap attributes. + properties: + on_demand_concurrency_cap: + description: Value of the on-demand concurrency cap. + format: double + type: number + type: object + SuiteCreateEditRequest: + description: Request body for creating or editing a Synthetic test suite. + properties: + data: + $ref: '#/components/schemas/SuiteCreateEdit' + required: + - data + type: object + SyntheticsSuiteResponse: + description: Synthetics suite response + properties: + data: + $ref: '#/components/schemas/SyntheticsSuiteResponseData' + type: object + DeletedSuitesRequestDeleteRequest: + description: Request body for bulk deleting Synthetic test suites. + properties: + data: + $ref: '#/components/schemas/DeletedSuitesRequestDelete' + required: + - data + type: object + DeletedSuitesResponse: + description: Response containing the list of deleted Synthetic test suites. + properties: + data: + description: List of deleted Synthetic suite data objects. + items: + $ref: '#/components/schemas/DeletedSuiteResponseData' + type: array + type: object + SyntheticsSuiteSearchResponse: + description: Synthetics suite search response + properties: + data: + $ref: '#/components/schemas/SyntheticsSuiteSearchResponseData' + type: object + SuiteJsonPatchRequest: + description: JSON Patch request for a Synthetic test suite. + properties: + data: + $ref: '#/components/schemas/SuiteJsonPatchRequestData' + required: + - data + type: object + SyntheticsTestResultStatus: + description: Status of a Synthetic test result. + enum: + - passed + - failed + - no_data + example: passed + type: string + x-enum-varnames: + - PASSED + - FAILED + - NO_DATA + SyntheticsTestResultRunType: + description: The type of run for a Synthetic test result. + enum: + - scheduled + - fast + - ci + - triggered + example: scheduled + type: string + x-enum-varnames: + - SCHEDULED + - FAST + - CI + - TRIGGERED + SyntheticsTestLatestResultsResponse: + description: Response object for a Synthetic test's latest result summaries. + properties: + data: + description: Array of Synthetic test result summaries. + items: + $ref: '#/components/schemas/SyntheticsTestResultSummaryData' + type: array + included: + description: Array of included related resources, such as the test definition. + items: + $ref: '#/components/schemas/SyntheticsTestResultIncludedItem' + type: array + type: object + SyntheticsTestResultResponse: + description: Response object for a Synthetic test result. + properties: + data: + $ref: '#/components/schemas/SyntheticsTestResultData' + included: + description: Array of included related resources, such as the test definition. + items: + $ref: '#/components/schemas/SyntheticsTestResultIncludedItem' + type: array + type: object + DeletedTestsRequestDeleteRequest: + description: Request body for bulk deleting Synthetic tests. + properties: + data: + $ref: '#/components/schemas/DeletedTestsRequestDelete' + required: + - data + type: object + DeletedTestsResponse: + description: Response containing the list of deleted Synthetic tests. + properties: + data: + description: List of deleted Synthetic test data objects. + items: + $ref: '#/components/schemas/DeletedTestResponseData' + type: array + type: object + SyntheticsFastTestResult: + description: |- + Fast test result response. Returns `null` if the result is not yet available + (the test is still running or timed out before completing). + nullable: true + properties: + data: + $ref: '#/components/schemas/SyntheticsFastTestResultData' + type: object + SyntheticsNetworkTestEditRequest: + description: Network Path test request. + properties: + data: + $ref: '#/components/schemas/SyntheticsNetworkTestEdit' + required: + - data + type: object + SyntheticsNetworkTestResponse: + description: Network Path test response. + properties: + data: + $ref: '#/components/schemas/SyntheticsNetworkTestResponseData' + type: object + SyntheticsPollTestResultsResponse: + description: Response object for polling Synthetic test results. + properties: + data: + description: Array of Synthetic test results. + items: + $ref: '#/components/schemas/SyntheticsTestResultData' + type: array + included: + description: Array of included related resources, such as the test definition. + items: + $ref: '#/components/schemas/SyntheticsTestResultIncludedItem' + type: array + type: object + SyntheticsTestFileDownloadRequest: + description: Request body for getting a presigned download URL for a test file. + properties: + bucketKey: + description: The bucket key referencing the file to download. + example: api-upload-file/abc-def-123/2024-01-01T00:00:00_uuid.json + minLength: 1 + type: string + required: + - bucketKey + type: object + SyntheticsTestFileDownloadResponse: + description: Response containing a presigned URL for downloading a test file. + properties: + url: + description: A presigned URL to download the file. The URL expires after a short period. + example: https://storage.example.com/presigned-download-url + type: string + type: object + SyntheticsTestFileMultipartPresignedUrlsRequest: + description: Request body for getting presigned URLs for a multipart file upload. + properties: + bucketKeyPrefix: + $ref: '#/components/schemas/SyntheticsTestFileMultipartPresignedUrlsRequestBucketKeyPrefix' + parts: + description: Array of part descriptors for the multipart upload. + items: + $ref: '#/components/schemas/SyntheticsTestFileMultipartPresignedUrlsPart' + type: array + required: + - bucketKeyPrefix + - parts + type: object + SyntheticsTestFileMultipartPresignedUrlsResponse: + description: Response containing presigned URLs for multipart file upload and the bucket key. + properties: + bucketKey: + description: The bucket key that references the uploaded file after completion. + example: api-upload-file/abc-def-123/2024-01-01T00:00:00_uuid.json + type: string + multipart_presigned_urls_params: + $ref: '#/components/schemas/SyntheticsTestFileMultipartPresignedUrlsParams' + type: object + SyntheticsTestFileAbortMultipartUploadRequest: + description: Request body for aborting a multipart file upload. + properties: + key: + description: The full storage path of the file whose upload should be aborted. + example: org-123/api-upload-file/abc-def-123/2024-01-01T00:00:00_uuid.json + type: string + uploadId: + description: The upload ID of the multipart upload to abort. + example: upload-id-abc123 + type: string + required: + - uploadId + - key + type: object + SyntheticsTestFileCompleteMultipartUploadRequest: + description: Request body for completing a multipart file upload. + properties: + key: + description: The full storage path for the uploaded file. + example: org-123/api-upload-file/abc-def-123/2024-01-01T00:00:00_uuid.json + type: string + parts: + description: Array of completed parts with their ETags. + items: + $ref: '#/components/schemas/SyntheticsTestFileCompleteMultipartUploadPart' + type: array + uploadId: + description: The upload ID returned when the multipart upload was initiated. + example: upload-id-abc123 + type: string + required: + - uploadId + - key + - parts + type: object + SyntheticsTestParentSuitesResponse: + description: Response containing the list of parent suites for a Synthetic test. + properties: + data: + description: List of parent suites for the given test. + items: + $ref: '#/components/schemas/SyntheticsTestParentSuiteData' + type: array + type: object + SyntheticsTestVersionHistoryResponse: + description: Response containing the paginated version history for a Synthetic test. + properties: + data: + description: List of version change records. + items: + $ref: '#/components/schemas/SyntheticsTestVersionChangeData' + type: array + meta: + $ref: '#/components/schemas/SyntheticsTestVersionHistoryMeta' + type: object + SyntheticsTestVersionResponse: + description: Response containing a specific version of a Synthetic test. + properties: + data: + $ref: '#/components/schemas/SyntheticsTestVersionData' + type: object + GlobalVariableJsonPatchRequest: + description: JSON Patch request for global variable. + properties: + data: + $ref: '#/components/schemas/GlobalVariableJsonPatchRequestData' + required: + - data + type: object + GlobalVariableResponse: + description: Global variable response. + properties: + data: + $ref: '#/components/schemas/GlobalVariableData' + type: object + ServiceChecks: + description: The service checks. + items: + $ref: '#/components/schemas/ServiceCheck' + type: array + IntakePayloadAcceptedV1: + description: The payload accepted for intake. + properties: + status: + description: The status of the intake payload. + example: ok + type: string + type: object + APIErrorResponseV1: + description: Error response object. + properties: + errors: + description: Array of errors returned by the API. + example: + - Bad Request + items: + description: Error description. + example: Bad Request + type: string + type: array + required: + - errors + type: object + Monitor: + description: Object describing a monitor. + properties: + assets: + description: The list of monitor assets tied to a monitor, which represents key links for users to take action on monitor alerts (for example, runbooks). + items: + $ref: '#/components/schemas/MonitorAsset' + type: array + created: + description: Timestamp of the monitor creation. + format: date-time + readOnly: true + type: string + creator: + $ref: '#/components/schemas/CreatorV1' + deleted: + description: Whether or not the monitor is deleted. (Always `null`) + format: date-time + nullable: true + readOnly: true + type: string + draft_status: + $ref: '#/components/schemas/MonitorDraftStatus' + id: + description: ID of this monitor. + format: int64 + readOnly: true + type: integer + matching_downtimes: + description: A list of active v1 downtimes that match this monitor. + items: + $ref: '#/components/schemas/MatchingDowntime' + type: array + message: + description: A message to include with notifications for this monitor. + type: string + modified: + description: Last timestamp when the monitor was edited. + format: date-time + readOnly: true + type: string + multi: + description: Whether or not the monitor is broken down on different groups. + readOnly: true + type: boolean + name: + description: The monitor name. + example: My monitor + type: string + options: + $ref: '#/components/schemas/MonitorOptions' + overall_state: + $ref: '#/components/schemas/MonitorOverallStates' + priority: + description: Integer from 1 (high) to 5 (low) indicating alert severity. + format: int64 + nullable: true + type: integer + query: + description: The monitor query. + example: avg(last_5m):sum:system.net.bytes_rcvd{host:host0} > 100 + type: string + restricted_roles: + description: A list of unique role identifiers to define which roles are allowed to edit the monitor. The unique identifiers for all roles can be pulled from the [Roles API](https://docs.datadoghq.com/api/latest/roles/#list-roles) and are located in the `data.id` field. Editing a monitor includes any updates to the monitor configuration, monitor deletion, and muting of the monitor for any amount of time. You can use the [Restriction Policies API](https://docs.datadoghq.com/api/latest/restriction-policies/) to manage write authorization for individual monitors by teams and users, in addition to roles. + items: + description: A role UUID. + type: string + nullable: true + type: array + state: + $ref: '#/components/schemas/MonitorState' + tags: + description: Tags associated to your monitor. + items: + description: A Datadog tag. + type: string + type: array + type: + $ref: '#/components/schemas/MonitorTypeV1' + required: + - type + - query + type: object + CheckCanDeleteMonitorResponse: + description: Response of monitor IDs that can or can't be safely deleted. + properties: + data: + $ref: '#/components/schemas/CheckCanDeleteMonitorResponseData' + errors: + additionalProperties: + description: Strings denoting where a monitor is used. + items: + description: Asset where a monitor is used. + type: string + type: array + description: A mapping of Monitor ID to strings denoting where it's used. + nullable: true + type: object + required: + - data + type: object + MonitorGroupSearchResponse: + description: The response of a monitor group search. + example: + counts: + status: + - count: 2 + name: OK + type: + - count: 2 + name: metric + groups: + - group: '*' + group_tags: + - '*' + last_nodata_ts: 0 + last_triggered_ts: 1525702966 + monitor_id: 2738266 + monitor_name: '[demo] Cassandra disk usage is high on {{host.name}}' + status: OK + - group: '*' + group_tags: + - '*' + last_nodata_ts: 0 + last_triggered_ts: 1525703008 + monitor_id: 1576648 + monitor_name: '[demo] Disk usage is high on {{host.name}}' + status: OK + metadata: + page: 0 + page_count: 2 + per_page: 30 + total_count: 2 + properties: + counts: + $ref: '#/components/schemas/MonitorGroupSearchResponseCounts' + groups: + description: The list of found monitor groups. + items: + $ref: '#/components/schemas/MonitorGroupSearchResult' + readOnly: true + type: array + metadata: + $ref: '#/components/schemas/MonitorSearchResponseMetadata' + type: object + MonitorSearchResponse: + description: The response from a monitor search. + example: + counts: + muted: + - count: 3 + name: false + - count: 3 + name: true + status: + - count: 4 + name: No Data + - count: 2 + name: OK + tag: + - count: 6 + name: service:cassandra + type: + - count: 6 + name: metric + metadata: + page: 0 + page_count: 6 + per_page: 30 + total_count: 6 + monitors: + - classification: metric + creator: + handle: john@datadoghq.com + name: John Doe + id: 2699850 + last_triggered_ts: null + metrics: + - system.cpu.user + name: Cassandra CPU is high on {{host.name}} in {{availability-zone.name}} + notifications: + - handle: jane@datadoghq.com + name: Jane Doe + org_id: 1234 + quality_issues: + - broken_at_handle + - noisy_monitor + scopes: + - '!availability-zone:us-east-1c' + - name:cassandra + status: No Data + tags: + - service:cassandra + type: query alert + properties: + counts: + $ref: '#/components/schemas/MonitorSearchResponseCounts' + metadata: + $ref: '#/components/schemas/MonitorSearchResponseMetadata' + monitors: + description: The list of found monitors. + items: + $ref: '#/components/schemas/MonitorSearchResult' + readOnly: true + type: array + type: object + DeletedMonitor: + description: Response from the delete monitor call. + properties: + deleted_monitor_id: + description: ID of the deleted monitor. + example: 666486743 + format: int64 + type: integer + readOnly: true + type: object + MonitorUpdateRequest: + description: Object describing a monitor update request. + properties: + assets: + description: The list of monitor assets tied to a monitor, which represents key links for users to take action on monitor alerts (for example, runbooks). + items: + $ref: '#/components/schemas/MonitorAsset' + nullable: true + type: array + created: + description: Timestamp of the monitor creation. + format: date-time + readOnly: true + type: string + creator: + $ref: '#/components/schemas/CreatorV1' + deleted: + description: Whether or not the monitor is deleted. (Always `null`) + format: date-time + nullable: true + readOnly: true + type: string + draft_status: + $ref: '#/components/schemas/MonitorDraftStatus' + id: + description: ID of this monitor. + format: int64 + readOnly: true + type: integer + message: + description: A message to include with notifications for this monitor. + type: string + modified: + description: Last timestamp when the monitor was edited. + format: date-time + readOnly: true + type: string + multi: + description: Whether or not the monitor is broken down on different groups. + readOnly: true + type: boolean + name: + description: The monitor name. + type: string + options: + $ref: '#/components/schemas/MonitorOptions' + overall_state: + $ref: '#/components/schemas/MonitorOverallStates' + priority: + description: Integer from 1 (high) to 5 (low) indicating alert severity. + format: int64 + nullable: true + type: integer + query: + description: The monitor query. + type: string + restricted_roles: + description: A list of unique role identifiers to define which roles are allowed to edit the monitor. The unique identifiers for all roles can be pulled from the [Roles API](https://docs.datadoghq.com/api/latest/roles/#list-roles) and are located in the `data.id` field. Editing a monitor includes any updates to the monitor configuration, monitor deletion, and muting of the monitor for any amount of time. You can use the [Restriction Policies API](https://docs.datadoghq.com/api/latest/restriction-policies/) to manage write authorization for individual monitors by teams and users, in addition to roles. + items: + description: A role UUID. + type: string + nullable: true + type: array + state: + $ref: '#/components/schemas/MonitorState' + tags: + description: Tags associated to your monitor. + items: + description: A Datadog tag. + type: string + type: array + type: + $ref: '#/components/schemas/MonitorTypeV1' + type: object + Downtime: + description: |- + Downtiming gives you greater control over monitor notifications by + allowing you to globally exclude scopes from alerting. + Downtime settings, which can be scheduled with start and end times, + prevent all alerting related to specified Datadog tags. + properties: + active: + description: If a scheduled downtime currently exists. + example: true + readOnly: true + type: boolean + active_child: + $ref: '#/components/schemas/DowntimeChild' + canceled: + description: If a scheduled downtime is canceled. + example: 1412799983 + format: int64 + nullable: true + readOnly: true + type: integer + creator_id: + description: User ID of the downtime creator. + example: 123456 + format: int32 + maximum: 2147483647 + readOnly: true + type: integer + disabled: + description: If a downtime has been disabled. + example: false + type: boolean + downtime_type: + description: |- + `0` for a downtime applied on `*` or all, + `1` when the downtime is only scoped to hosts, + or `2` when the downtime is scoped to anything but hosts. + example: 2 + format: int32 + maximum: 2147483647 + readOnly: true + type: integer + end: + description: |- + POSIX timestamp to end the downtime. If not provided, + the downtime is in effect indefinitely until you cancel it. + example: 1412793983 + format: int64 + nullable: true + type: integer + id: + description: The downtime ID. + example: 1625 + format: int64 + readOnly: true + type: integer + message: + description: |- + A message to include with notifications for this downtime. + Email notifications can be sent to specific users by using the same `@username` notation as events. + example: Message on the downtime + nullable: true + type: string + monitor_id: + description: |- + A single monitor to which the downtime applies. + If not provided, the downtime applies to all monitors. + example: 123456 + format: int64 + nullable: true + type: integer + monitor_tags: + description: |- + A comma-separated list of monitor tags. For example, tags that are applied directly to monitors, + not tags that are used in monitor queries (which are filtered by the scope parameter), to which the downtime applies. + The resulting downtime applies to monitors that match ALL provided monitor tags. + For example, `service:postgres` **AND** `team:frontend`. + example: + - '*' + items: + description: A monitor tag. + type: string + type: array + mute_first_recovery_notification: + description: If the first recovery notification during a downtime should be muted. + example: false + type: boolean + notify_end_states: + $ref: '#/components/schemas/NotifyEndStates' + notify_end_types: + $ref: '#/components/schemas/NotifyEndTypes' + parent_id: + description: ID of the parent Downtime. + example: 123 + format: int64 + nullable: true + type: integer + recurrence: + $ref: '#/components/schemas/DowntimeRecurrence' + scope: + description: |- + The scope(s) to which the downtime applies and must be in `key:value` format. For example, `host:app2`. + Provide multiple scopes as a comma-separated list like `env:dev,env:prod`. + The resulting downtime applies to sources that matches ALL provided scopes (`env:dev` **AND** `env:prod`). + example: + - env:staging + items: + description: A scope. For example, `"env:staging"`. + type: string + type: array + start: + description: |- + POSIX timestamp to start the downtime. + If not provided, the downtime starts the moment it is created. + example: 1412792983 + format: int64 + type: integer + timezone: + description: The timezone in which to display the downtime's start and end times in Datadog applications. + example: America/New_York + type: string + updater_id: + description: ID of the last user that updated the downtime. + example: 123456 + format: int32 + maximum: 2147483647 + nullable: true + readOnly: true + type: integer + type: object + SyntheticsBatchDetails: + description: Details about a batch response. + properties: + data: + $ref: '#/components/schemas/SyntheticsBatchDetailsData' + type: object + SyntheticsLocations: + description: List of Synthetic locations. + properties: + locations: + description: List of Synthetic locations. + items: + $ref: '#/components/schemas/SyntheticsLocation' + type: array + type: object + SyntheticsPrivateLocation: + description: Object containing information about the private location to create. + properties: + description: + description: Description of the private location. + example: Description of private location + type: string + id: + description: Unique identifier of the private location. + readOnly: true + type: string + metadata: + $ref: '#/components/schemas/SyntheticsPrivateLocationMetadata' + name: + description: Name of the private location. + example: New private location + type: string + secrets: + $ref: '#/components/schemas/SyntheticsPrivateLocationSecrets' + tags: + description: Array of tags attached to the private location. + example: + - team:front + items: + description: A tag attached to the private location. + example: team:front + type: string + type: array + required: + - name + - description + - tags + type: object + SyntheticsPrivateLocationCreationResponse: + description: Object that contains the new private location, the public key for result encryption, and the configuration skeleton. + properties: + config: + description: Configuration skeleton for the private location. See installation instructions of the private location on how to use this configuration. (opaque JSON object) + type: string + private_location: + $ref: '#/components/schemas/SyntheticsPrivateLocation' + result_encryption: + $ref: '#/components/schemas/SyntheticsPrivateLocationCreationResponseResultEncryption' + type: object + SyntheticsDefaultLocations: + description: List of Synthetics default locations settings. + example: + - aws:eu-west-3 + items: + description: Name of the location. + type: string + type: array + SyntheticsListTestsResponse: + description: Object containing an array of Synthetic tests configuration. + properties: + tests: + description: Array of Synthetic tests configuration. + items: + $ref: '#/components/schemas/SyntheticsTestDetailsWithoutSteps' + type: array + type: object + SyntheticsAPITest: + description: Object containing details about a Synthetic API test. + properties: + config: + $ref: '#/components/schemas/SyntheticsAPITestConfig' + locations: + description: Array of locations used to run the test. + example: + - aws:eu-west-3 + items: + description: A location from which the test was run. + type: string + type: array + message: + description: Notification message associated with the test. + example: Notification message + type: string + monitor_id: + description: The associated monitor ID. + example: 12345678 + format: int64 + readOnly: true + type: integer + name: + description: Name of the test. + example: Example test name + type: string + options: + $ref: '#/components/schemas/SyntheticsTestOptionsV1' + public_id: + description: The public ID for the test. + example: 123-abc-456 + readOnly: true + type: string + status: + $ref: '#/components/schemas/SyntheticsTestPauseStatus' + subtype: + $ref: '#/components/schemas/SyntheticsTestDetailsSubType' + tags: + description: Array of tags attached to the test. + example: + - env:production + items: + description: A tag attached to the test. + type: string + type: array + type: + $ref: '#/components/schemas/SyntheticsAPITestType' + required: + - name + - config + - locations + - options + - type + - message + type: object + SyntheticsBrowserTest: + description: Object containing details about a Synthetic browser test. + properties: + config: + $ref: '#/components/schemas/SyntheticsBrowserTestConfig' + locations: + description: Array of locations used to run the test. + example: + - aws:eu-west-3 + items: + description: A location from which the test was run. + type: string + type: array + message: + description: Notification message associated with the test. Message can either be text or an empty string. + example: '' + type: string + monitor_id: + description: The associated monitor ID. + format: int64 + readOnly: true + type: integer + name: + description: Name of the test. + example: Example test name + type: string + options: + $ref: '#/components/schemas/SyntheticsTestOptionsV1' + public_id: + description: The public ID of the test. + readOnly: true + type: string + status: + $ref: '#/components/schemas/SyntheticsTestPauseStatus' + steps: + description: Array of steps for the test. + items: + $ref: '#/components/schemas/SyntheticsStep' + type: array + tags: + description: Array of tags attached to the test. + example: + - env:prod + items: + description: A tag attached to the test. + type: string + type: array + type: + $ref: '#/components/schemas/SyntheticsBrowserTestType' + required: + - config + - locations + - name + - options + - type + - message + type: object + SyntheticsGetBrowserTestLatestResultsResponse: + description: Object with the latest Synthetic browser test run. + properties: + last_timestamp_fetched: + description: Timestamp of the latest browser test run. + format: int64 + type: integer + results: + description: Result of the latest browser test run. + items: + $ref: '#/components/schemas/SyntheticsBrowserTestResultShort' + type: array + type: object + SyntheticsBrowserTestResultFull: + description: Object returned describing a browser test result. + properties: + check: + $ref: '#/components/schemas/SyntheticsBrowserTestResultFullCheck' + check_time: + description: When the browser test was conducted. + format: double + type: number + check_version: + description: Version of the browser test used. + format: int64 + type: integer + probe_dc: + description: Location from which the browser test was performed. + type: string + result: + $ref: '#/components/schemas/SyntheticsBrowserTestResultData' + result_id: + description: ID of the browser test result. + type: string + status: + $ref: '#/components/schemas/SyntheticsTestMonitorStatus' + type: object + SyntheticsDeleteTestsPayload: + description: |- + A JSON list of the ID or IDs of the Synthetic tests that you want + to delete. + properties: + force_delete_dependencies: + description: |- + Delete the Synthetic test even if it's referenced by other resources + (for example, SLOs and composite monitors). + example: false + type: boolean + public_ids: + description: An array of Synthetic test IDs you want to delete. + example: [] + items: + description: A Synthetic test ID to delete. + example: abc-def-123 + type: string + type: array + type: object + SyntheticsDeleteTestsResponse: + description: Response object for deleting Synthetic tests. + properties: + deleted_tests: + description: |- + Array of objects containing a deleted Synthetic test ID with + the associated deletion timestamp. + items: + $ref: '#/components/schemas/SyntheticsDeletedTest' + type: array + type: object + SyntheticsMobileTest: + description: Object containing details about a Synthetic mobile test. + properties: + config: + $ref: '#/components/schemas/SyntheticsMobileTestConfig' + device_ids: + description: Array with the different device IDs used to run the test. + items: + $ref: '#/components/schemas/SyntheticsDeviceID' + type: array + message: + description: Notification message associated with the test. + example: Notification message + type: string + monitor_id: + description: The associated monitor ID. + example: 12345678 + format: int64 + readOnly: true + type: integer + name: + description: Name of the test. + example: Example test name + type: string + options: + $ref: '#/components/schemas/SyntheticsMobileTestOptions' + public_id: + description: The public ID of the test. + example: 123-abc-456 + readOnly: true + type: string + status: + $ref: '#/components/schemas/SyntheticsTestPauseStatus' + steps: + description: Array of steps for the test. + items: + $ref: '#/components/schemas/SyntheticsMobileStep' + type: array + tags: + description: Array of tags attached to the test. + example: + - env:production + items: + description: A tag attached to the test. + type: string + type: array + type: + $ref: '#/components/schemas/SyntheticsMobileTestType' + required: + - config + - name + - options + - type + - message + type: object + SyntheticsTriggerBody: + description: Object describing the Synthetic tests to trigger. + properties: + tests: + description: List of Synthetic tests. + items: + $ref: '#/components/schemas/SyntheticsTriggerTest' + type: array + required: + - tests + type: object + SyntheticsTriggerCITestsResponse: + description: Object containing information about the tests triggered. + properties: + batch_id: + description: The public ID of the batch triggered. + nullable: true + type: string + locations: + description: List of Synthetic locations. + items: + $ref: '#/components/schemas/SyntheticsTriggerCITestLocation' + type: array + results: + description: Information about the tests runs. + items: + $ref: '#/components/schemas/SyntheticsTriggerCITestRunResult' + type: array + triggered_check_ids: + description: The public IDs of the Synthetic test triggered. + items: + description: The public ID of the Synthetic test. + type: string + type: array + type: object + SyntheticsCITestBody: + description: Object describing the synthetics tests to trigger. + properties: + tests: + description: List of Synthetic tests with overrides. + items: + $ref: '#/components/schemas/SyntheticsCITest' + type: array + type: object + SyntheticsFetchUptimesPayload: + description: Object containing IDs of Synthetic tests and a timeframe. + properties: + from_ts: + description: Timestamp in seconds (Unix epoch) for the start of uptime. + example: 0 + format: int64 + type: integer + public_ids: + description: An array of Synthetic test IDs you want uptimes for. + example: [] + items: + description: A Synthetic test ID. + example: abc-def-123 + type: string + type: array + to_ts: + description: Timestamp in seconds (Unix epoch) for the end of uptime. + example: 0 + format: int64 + type: integer + required: + - from_ts + - to_ts + - public_ids + type: object + SyntheticsTestUptime: + description: Object containing the uptime for a Synthetic test ID. + properties: + from_ts: + description: Timestamp in seconds for the start of uptime. + format: int64 + type: integer + overall: + $ref: '#/components/schemas/SyntheticsUptime' + public_id: + description: A Synthetic test ID. + example: abc-def-123 + type: string + to_ts: + description: Timestamp in seconds for the end of uptime. + format: int64 + type: integer + type: object + SyntheticsTestDetailsWithoutSteps: + description: Object containing details about your Synthetic test, without test steps. + properties: + config: + $ref: '#/components/schemas/SyntheticsTestConfig' + creator: + $ref: '#/components/schemas/CreatorV1' + locations: + description: Array of locations used to run the test. + example: + - aws:eu-west-3 + items: + description: A location from which the test was run. + type: string + type: array + message: + description: Notification message associated with the test. + type: string + monitor_id: + description: The associated monitor ID. + format: int64 + readOnly: true + type: integer + name: + description: Name of the test. + type: string + options: + $ref: '#/components/schemas/SyntheticsTestOptionsV1' + public_id: + description: The test public ID. + readOnly: true + type: string + status: + $ref: '#/components/schemas/SyntheticsTestPauseStatus' + subtype: + $ref: '#/components/schemas/SyntheticsTestDetailsSubType' + tags: + description: Array of tags attached to the test. + items: + description: A tag attached to the test. + type: string + type: array + type: + $ref: '#/components/schemas/SyntheticsTestDetailsType' + type: object + SyntheticsPatchTestBody: + description: Wrapper around an array of [JSON Patch](https://jsonpatch.com) operations to perform on the test + properties: + data: + description: Array of [JSON Patch](https://jsonpatch.com) operations to perform on the test + example: + - op: replace + path: /name + value: New test name + - op: remove + path: /config/assertions/0 + items: + $ref: '#/components/schemas/SyntheticsPatchTestOperation' + type: array + type: object + SyntheticsTestDetails: + description: Object containing details about your Synthetic test. + properties: + config: + $ref: '#/components/schemas/SyntheticsTestConfig' + creator: + $ref: '#/components/schemas/CreatorV1' + locations: + description: Array of locations used to run the test. + example: + - aws:eu-west-3 + items: + description: A location from which the test was run. + type: string + type: array + message: + description: Notification message associated with the test. + type: string + monitor_id: + description: The associated monitor ID. + format: int64 + readOnly: true + type: integer + name: + description: Name of the test. + type: string + options: + $ref: '#/components/schemas/SyntheticsTestOptionsV1' + public_id: + description: The test public ID. + readOnly: true + type: string + status: + $ref: '#/components/schemas/SyntheticsTestPauseStatus' + steps: + description: The steps of the test if they exist. + items: + $ref: '#/components/schemas/SyntheticsStep' + type: array + subtype: + $ref: '#/components/schemas/SyntheticsTestDetailsSubType' + tags: + description: Array of tags attached to the test. + items: + description: A tag attached to the test. + type: string + type: array + type: + $ref: '#/components/schemas/SyntheticsTestDetailsType' + type: object + SyntheticsGetAPITestLatestResultsResponse: + description: Object with the latest Synthetic API test run. + properties: + last_timestamp_fetched: + description: Timestamp of the latest API test run. + format: int64 + type: integer + results: + description: Result of the latest API test run. + items: + $ref: '#/components/schemas/SyntheticsAPITestResultShort' + type: array + type: object + SyntheticsAPITestResultFull: + description: Object returned describing a API test result. + properties: + check: + $ref: '#/components/schemas/SyntheticsAPITestResultFullCheck' + check_time: + description: When the API test was conducted. + format: double + type: number + check_version: + description: Version of the API test used. + format: int64 + type: integer + probe_dc: + description: Locations for which to query the API test results. + type: string + result: + $ref: '#/components/schemas/SyntheticsAPITestResultData' + result_id: + description: ID of the API test result. + type: string + status: + $ref: '#/components/schemas/SyntheticsTestMonitorStatus' + type: object + SyntheticsUpdateTestPauseStatusPayload: + description: Object to start or pause an existing Synthetic test. + properties: + new_status: + $ref: '#/components/schemas/SyntheticsTestPauseStatus' + type: object + SyntheticsListGlobalVariablesResponse: + description: Object containing an array of Synthetic global variables. + properties: + variables: + description: Array of Synthetic global variables. + items: + $ref: '#/components/schemas/SyntheticsGlobalVariable' + type: array + type: object + SyntheticsGlobalVariableRequest: + description: Details of the global variable to create. + properties: + attributes: + $ref: '#/components/schemas/SyntheticsGlobalVariableAttributes' + description: + description: Description of the global variable. + example: Example description + type: string + id: + description: Unique identifier of the global variable. + readOnly: true + type: string + is_fido: + description: Determines if the global variable is a FIDO variable. + type: boolean + is_totp: + description: Determines if the global variable is a TOTP/MFA variable. + type: boolean + name: + description: Name of the global variable. Unique across Synthetic global variables. + example: MY_VARIABLE + type: string + parse_test_options: + $ref: '#/components/schemas/SyntheticsGlobalVariableParseTestOptions' + parse_test_public_id: + description: A Synthetic test ID to use as a test to generate the variable value. + example: abc-def-123 + type: string + tags: + description: Tags of the global variable. + example: + - team:front + - test:workflow-1 + items: + description: Tag name. + type: string + type: array + value: + $ref: '#/components/schemas/SyntheticsGlobalVariableValue' + required: + - description + - name + - tags + type: object + SyntheticsGlobalVariable: + description: Synthetic global variable. + properties: + attributes: + $ref: '#/components/schemas/SyntheticsGlobalVariableAttributes' + description: + description: Description of the global variable. + example: Example description + type: string + id: + description: Unique identifier of the global variable. + readOnly: true + type: string + is_fido: + description: Determines if the global variable is a FIDO variable. + type: boolean + is_totp: + description: Determines if the global variable is a TOTP/MFA variable. + type: boolean + name: + description: Name of the global variable. Unique across Synthetic global variables. + example: MY_VARIABLE + type: string + parse_test_options: + $ref: '#/components/schemas/SyntheticsGlobalVariableParseTestOptions' + parse_test_public_id: + description: A Synthetic test ID to use as a test to generate the variable value. + example: abc-def-123 + type: string + tags: + description: Tags of the global variable. + example: + - team:front + - test:workflow-1 + items: + description: Tag name. + type: string + type: array + value: + $ref: '#/components/schemas/SyntheticsGlobalVariableValue' + required: + - description + - name + - tags + - value + type: object + GetDataObservabilityMonitorRunStatusResponseData: + description: The data object for a data observability monitor run status response. + properties: + attributes: + $ref: '#/components/schemas/GetDataObservabilityMonitorRunStatusResponseAttributes' + id: + description: The unique identifier of the monitor run. + example: abc123def456 + type: string + type: + $ref: '#/components/schemas/DataObservabilityMonitorRunType' + required: + - id + - type + - attributes + type: object + JSONAPIErrorItem: + description: API error response body + properties: + detail: + description: A human-readable explanation specific to this occurrence of the error. + example: Missing required attribute in body + type: string + meta: + additionalProperties: {} + description: Non-standard meta-information about the error + type: object + source: + $ref: '#/components/schemas/JSONAPIErrorItemSource' + status: + description: Status code of the response. + example: '400' + type: string + title: + description: Short human-readable summary of the error. + example: Bad Request + type: string + type: object + RunDataObservabilityMonitorResponseData: + description: The data object returned when a data observability monitor run is triggered. + properties: + id: + description: The unique identifier of the monitor run. + example: abc123def456 + type: string + type: + $ref: '#/components/schemas/DataObservabilityMonitorRunType' + required: + - id + - type + type: object + MonitorNotificationRuleData: + description: Monitor notification rule data. + properties: + attributes: + $ref: '#/components/schemas/MonitorNotificationRuleResponseAttributes' + id: + $ref: '#/components/schemas/MonitorNotificationRuleId' + relationships: + $ref: '#/components/schemas/MonitorNotificationRuleRelationships' + type: + $ref: '#/components/schemas/MonitorNotificationRuleResourceType' + type: object + MonitorNotificationRuleResponseIncludedItem: + description: An object related to a monitor notification rule. + properties: + attributes: + $ref: '#/components/schemas/UserAttributes' + id: + description: ID of the user. + type: string + relationships: + $ref: '#/components/schemas/UserResponseRelationships' + type: + $ref: '#/components/schemas/UsersType' + type: object + MonitorNotificationRuleCreateRequestData: + description: Object to create a monitor notification rule. + properties: + attributes: + $ref: '#/components/schemas/MonitorNotificationRuleAttributes' + type: + $ref: '#/components/schemas/MonitorNotificationRuleResourceType' + required: + - attributes + type: object + MonitorNotificationRuleUpdateRequestData: + description: Object to update a monitor notification rule. + properties: + attributes: + $ref: '#/components/schemas/MonitorNotificationRuleAttributes' + id: + $ref: '#/components/schemas/MonitorNotificationRuleId' + type: + $ref: '#/components/schemas/MonitorNotificationRuleResourceType' + required: + - id + - attributes + type: object + MonitorConfigPolicyResponseData: + description: A monitor configuration policy data. + properties: + attributes: + $ref: '#/components/schemas/MonitorConfigPolicyAttributeResponse' + id: + description: ID of this monitor configuration policy. + example: 00000000-0000-1234-0000-000000000000 + type: string + type: + $ref: '#/components/schemas/MonitorConfigPolicyResourceType' + type: object + MonitorConfigPolicyCreateData: + description: A monitor configuration policy data. + properties: + attributes: + $ref: '#/components/schemas/MonitorConfigPolicyAttributeCreateRequest' + type: + $ref: '#/components/schemas/MonitorConfigPolicyResourceType' + required: + - type + - attributes + type: object + MonitorConfigPolicyEditData: + description: A monitor configuration policy data. + properties: + attributes: + $ref: '#/components/schemas/MonitorConfigPolicyAttributeEditRequest' + id: + description: ID of this monitor configuration policy. + example: 00000000-0000-1234-0000-000000000000 + type: string + type: + $ref: '#/components/schemas/MonitorConfigPolicyResourceType' + required: + - id + - type + - attributes + type: object + MonitorUserTemplateResponseData: + description: Monitor user template list response data. + properties: + attributes: + $ref: '#/components/schemas/MonitorUserTemplateResponseAttributes' + id: + $ref: '#/components/schemas/MonitorUserTemplateId' + type: + $ref: '#/components/schemas/MonitorUserTemplateResourceType' + type: object + MonitorUserTemplateCreateData: + description: Monitor user template data. + properties: + attributes: + $ref: '#/components/schemas/MonitorUserTemplateRequestAttributes' + type: + $ref: '#/components/schemas/MonitorUserTemplateResourceType' + required: + - type + - attributes + type: object + MonitorUserTemplateResponseDataWithVersions: + description: Monitor user template data. + properties: + attributes: + $ref: '#/components/schemas/MonitorUserTemplate' + id: + $ref: '#/components/schemas/MonitorUserTemplateId' + type: + $ref: '#/components/schemas/MonitorUserTemplateResourceType' + type: object + MonitorUserTemplateUpdateData: + description: Monitor user template data. + properties: + attributes: + $ref: '#/components/schemas/MonitorUserTemplateRequestAttributes' + id: + $ref: '#/components/schemas/MonitorUserTemplateId' + type: + $ref: '#/components/schemas/MonitorUserTemplateResourceType' + required: + - id + - type + - attributes + type: object + MonitorDowntimeMatchResponseData: + description: A downtime match. + properties: + attributes: + $ref: '#/components/schemas/MonitorDowntimeMatchResponseAttributes' + id: + description: The downtime ID. + example: 00000000-0000-1234-0000-000000000000 + nullable: true + type: string + type: + $ref: '#/components/schemas/MonitorDowntimeMatchResourceType' + type: object + DowntimeMeta: + description: Pagination metadata returned by the API. + properties: + page: + $ref: '#/components/schemas/DowntimeMetaPage' + type: object + SyntheticsApiMultistepSubtestData: + description: Data object for a Synthetic API multistep subtest. + properties: + attributes: + $ref: '#/components/schemas/SyntheticsApiMultistepSubtestAttributes' + id: + description: The public ID of the subtest. + example: abc-def-123 + type: string + type: + $ref: '#/components/schemas/SyntheticsApiMultistepSubtestType' + type: object + SyntheticsApiMultistepParentTestData: + description: Data object for a parent API multistep test. + properties: + attributes: + $ref: '#/components/schemas/SyntheticsApiMultistepParentTestAttributes' + id: + description: The public ID of the parent test. + example: abc-def-123 + type: string + type: + $ref: '#/components/schemas/SyntheticsApiMultistepParentTestType' + type: object + SyntheticsDowntimeDataList: + description: List of Synthetics downtime objects. + example: + - attributes: + createdAt: '2024-01-15T10:30:00Z' + createdBy: 00000000-0000-0000-0000-000000000003 + createdByName: Jane Doe + description: Scheduled weekly maintenance window. + isEnabled: true + name: Weekly maintenance + tags: [] + testIds: + - abc-def-123 + timeSlots: + - duration: 3600 + id: 00000000-0000-0000-0000-000000000002 + start: + day: 15 + hour: 10 + minute: 30 + month: 1 + year: 2024 + timezone: Europe/Paris + updatedAt: '2024-01-15T10:30:00Z' + updatedBy: 00000000-0000-0000-0000-000000000003 + updatedByName: Jane Doe + id: 00000000-0000-0000-0000-000000000001 + type: downtime + items: + $ref: '#/components/schemas/SyntheticsDowntimeData' + type: array + SyntheticsDowntimeDataRequest: + description: The data object for a Synthetics downtime create or update request. + example: + attributes: + isEnabled: true + name: Weekly maintenance + testIds: + - abc-def-123 + timeSlots: + - duration: 3600 + start: + day: 15 + hour: 10 + minute: 30 + month: 1 + year: 2024 + timezone: Europe/Paris + type: downtime + properties: + attributes: + $ref: '#/components/schemas/SyntheticsDowntimeDataAttributesRequest' + type: + $ref: '#/components/schemas/SyntheticsDowntimeResourceType' + required: + - type + - attributes + type: object + SyntheticsDowntimeData: + description: A Synthetics downtime object. + properties: + attributes: + $ref: '#/components/schemas/SyntheticsDowntimeDataAttributesResponse' + id: + description: The unique identifier of the downtime. + example: 00000000-0000-0000-0000-000000000001 + type: string + type: + $ref: '#/components/schemas/SyntheticsDowntimeResourceType' + required: + - id + - type + - attributes + type: object + OnDemandConcurrencyCap: + description: On-demand concurrency cap. + properties: + attributes: + $ref: '#/components/schemas/OnDemandConcurrencyCapAttributes' + type: + $ref: '#/components/schemas/OnDemandConcurrencyCapType' + type: object + SuiteCreateEdit: + description: Data object for creating or editing a Synthetic test suite. + properties: + attributes: + $ref: '#/components/schemas/SyntheticsSuite' + type: + $ref: '#/components/schemas/SyntheticsSuiteTypes' + required: + - attributes + - type + type: object + SyntheticsSuiteResponseData: + description: Synthetics suite response data + properties: + attributes: + $ref: '#/components/schemas/SyntheticsSuite' + id: + description: The public ID for the suite. + example: 123-abc-456 + readOnly: true + type: string + type: + $ref: '#/components/schemas/SyntheticsSuiteTypes' + type: object + DeletedSuitesRequestDelete: + description: Data object for a bulk delete Synthetic test suites request. + properties: + attributes: + $ref: '#/components/schemas/DeletedSuitesRequestDeleteAttributes' + id: + description: An optional identifier for the delete request. + type: string + type: + $ref: '#/components/schemas/DeletedSuitesRequestType' + required: + - attributes + type: object + DeletedSuiteResponseData: + description: Data object for a deleted Synthetic test suite. + properties: + attributes: + $ref: '#/components/schemas/DeletedSuiteResponseDataAttributes' + id: + description: The public ID of the deleted Synthetic test suite. + type: string + type: + $ref: '#/components/schemas/SyntheticsSuiteTypes' + type: object + SyntheticsSuiteSearchResponseData: + description: Synthetics suite search response data + properties: + attributes: + $ref: '#/components/schemas/SyntheticsSuiteSearchResponseDataAttributes' + id: + description: The unique identifier of the suite search response data. + format: uuid + type: string + type: + $ref: '#/components/schemas/SuiteSearchResponseType' + type: object + SuiteJsonPatchRequestData: + description: Data object for a JSON Patch request on a Synthetic test suite. + properties: + attributes: + $ref: '#/components/schemas/SuiteJsonPatchRequestDataAttributes' + type: + $ref: '#/components/schemas/SuiteJsonPatchType' + type: object + SyntheticsTestResultSummaryData: + description: Wrapper object for a Synthetic test result summary. + properties: + attributes: + $ref: '#/components/schemas/SyntheticsTestResultSummaryAttributes' + id: + description: The result ID. + example: '5158904793181869365' + type: string + relationships: + $ref: '#/components/schemas/SyntheticsTestResultRelationships' + type: + $ref: '#/components/schemas/SyntheticsTestResultSummaryType' + type: object + SyntheticsTestResultIncludedItem: + description: An included related resource. + properties: + attributes: + additionalProperties: {} + description: Attributes of the included resource. + type: object + id: + description: ID of the included resource. + example: abc-def-123 + type: string + type: + description: Type of the included resource. + example: test + type: string + type: object + SyntheticsTestResultData: + description: Wrapper object for a Synthetic test result. + properties: + attributes: + $ref: '#/components/schemas/SyntheticsTestResultAttributes' + id: + description: The result ID. + example: '5158904793181869365' + type: string + relationships: + $ref: '#/components/schemas/SyntheticsTestResultRelationships' + type: + $ref: '#/components/schemas/SyntheticsTestResultType' + type: object + DeletedTestsRequestDelete: + description: Data object for a bulk delete Synthetic tests request. + properties: + attributes: + $ref: '#/components/schemas/DeletedTestsRequestDeleteAttributes' + id: + description: An optional identifier for the delete request. + type: string + type: + $ref: '#/components/schemas/DeletedTestsRequestType' + required: + - attributes + type: object + DeletedTestResponseData: + description: Data object for a deleted Synthetic test. + properties: + attributes: + $ref: '#/components/schemas/DeletedTestResponseDataAttributes' + id: + description: The public ID of the deleted Synthetic test. + type: string + type: + $ref: '#/components/schemas/DeletedTestsResponseType' + type: object + SyntheticsFastTestResultData: + description: Fast test result data object (JSON:API format). + properties: + attributes: + $ref: '#/components/schemas/SyntheticsFastTestResultAttributes' + id: + description: The UUID of the fast test, used as the result identifier. + example: abc12345-1234-1234-1234-abc123456789 + type: string + type: + $ref: '#/components/schemas/SyntheticsFastTestResultType' + type: object + SyntheticsNetworkTestEdit: + description: Data object for creating or editing a Network Path test. + properties: + attributes: + $ref: '#/components/schemas/SyntheticsNetworkTest' + type: + $ref: '#/components/schemas/SyntheticsNetworkTestType' + required: + - attributes + - type + type: object + SyntheticsNetworkTestResponseData: + description: Network Path test response data. + properties: + attributes: + $ref: '#/components/schemas/SyntheticsNetworkTest' + id: + description: The public ID of the Network Path test. + example: abc-def-123 + readOnly: true + type: string + type: + $ref: '#/components/schemas/SyntheticsNetworkTestResponseType' + type: object + SyntheticsTestFileMultipartPresignedUrlsRequestBucketKeyPrefix: + description: The bucket key prefix indicating the type of file upload. + enum: + - api-upload-file + - browser-upload-file-step + example: api-upload-file + type: string + x-enum-varnames: + - API_UPLOAD_FILE + - BROWSER_UPLOAD_FILE_STEP + SyntheticsTestFileMultipartPresignedUrlsPart: + description: A part descriptor for initiating a multipart upload. + properties: + md5: + description: Base64-encoded MD5 digest of the part content. + example: 1B2M2Y8AsgTpgAmY7PhCfg== + maxLength: 24 + minLength: 22 + type: string + partNumber: + description: The 1-indexed part number for the multipart upload. + example: 1 + format: int64 + type: integer + required: + - md5 + - partNumber + type: object + SyntheticsTestFileMultipartPresignedUrlsParams: + description: Presigned URL parameters returned for a multipart upload. + properties: + key: + description: The full storage path for the file being uploaded. + example: org-123/api-upload-file/abc-def-123/2024-01-01T00:00:00_uuid.json + type: string + upload_id: + description: The upload ID assigned by the storage provider for this multipart upload. + example: upload-id-abc123 + type: string + urls: + additionalProperties: + type: string + description: A map of part numbers to presigned upload URLs. + example: + '1': https://storage.example.com/presigned-upload-url-part-1 + '2': https://storage.example.com/presigned-upload-url-part-2 + type: object + type: object + SyntheticsTestFileCompleteMultipartUploadPart: + description: A completed part of a multipart upload. + properties: + ETag: + description: The ETag returned by the storage provider after uploading the part. + example: '"d41d8cd98f00b204e9800998ecf8427e"' + type: string + PartNumber: + description: The 1-indexed part number for the multipart upload. + example: 1 + format: int64 + type: integer + required: + - ETag + - PartNumber + type: object + SyntheticsTestParentSuiteData: + description: Data object for a parent suite. + properties: + attributes: + $ref: '#/components/schemas/SyntheticsTestParentSuiteAttributes' + id: + description: The public ID of the parent suite. + example: abc-def-123 + type: string + type: + $ref: '#/components/schemas/SyntheticsTestParentSuiteType' + type: object + SyntheticsTestVersionChangeData: + description: Data object for a version change record. + properties: + attributes: + $ref: '#/components/schemas/SyntheticsTestVersionChangeAttributes' + id: + description: UUID of the version change record. + example: 00000000-0000-0000-0000-000000000000 + type: string + type: + $ref: '#/components/schemas/SyntheticsTestVersionChangeType' + type: object + SyntheticsTestVersionHistoryMeta: + description: Pagination metadata for a version history response. + properties: + next_last_version_number: + description: |- + The version number to use as the `last_version_number` query parameter + to fetch the next page. `null` indicates there are no more pages. + example: 3 + format: int64 + nullable: true + type: integer + retention_period_in_days: + description: The number of days that version history is retained. + example: 30 + format: int64 + type: integer + type: object + SyntheticsTestVersionData: + description: Data object for a specific Synthetic test version. + properties: + attributes: + $ref: '#/components/schemas/SyntheticsTestVersionAttributes' + id: + description: UUID of the version record. + example: 00000000-0000-0000-0000-000000000000 + type: string + type: + $ref: '#/components/schemas/SyntheticsTestVersionType' + type: object + GlobalVariableJsonPatchRequestData: + description: Data object for a JSON Patch request on a Synthetic global variable. + properties: + attributes: + $ref: '#/components/schemas/GlobalVariableJsonPatchRequestDataAttributes' + type: + $ref: '#/components/schemas/GlobalVariableJsonPatchType' + type: object + GlobalVariableData: + description: Synthetics global variable data. Wrapper around the global variable object. + properties: + attributes: + $ref: '#/components/schemas/SyntheticsGlobalVariable' + id: + description: Global variable identifier. + type: string + type: + $ref: '#/components/schemas/GlobalVariableType' + type: object + ServiceCheck: + description: An object containing service check and status. + properties: + check: + description: The check. + example: app.ok + type: string + host_name: + description: The host name correlated with the check. + example: app.host1 + type: string + message: + description: Message containing check status. + example: app is running + type: string + status: + $ref: '#/components/schemas/ServiceCheckStatus' + tags: + description: Tags related to a check. + example: + - environment:test + items: + description: Items related to a check. + type: string + type: array + timestamp: + description: Time of check. + format: int64 + type: integer + required: + - check + - status + - tags + - host_name + type: object + MonitorAsset: + description: |- + Represents key links tied to a monitor to help users take action on alerts. + This feature is in Preview and only available to users with the feature enabled. + properties: + category: + $ref: '#/components/schemas/MonitorAssetCategory' + name: + description: Name for the monitor asset + example: Monitor Runbook + type: string + resource_key: + description: Represents the identifier of the internal Datadog resource that this asset represents. IDs in this field should be passed in as strings. + example: '12345' + type: string + resource_type: + $ref: '#/components/schemas/MonitorAssetResourceType' + url: + description: URL link for the asset. For links with an internal resource type set, this should be the relative path to where the Datadog domain is appended internally. For external links, this should be the full URL path. + example: /notebooks/12345 + type: string + required: + - name + - url + - category + type: object + CreatorV1: + description: Object describing the creator of the shared element. + properties: + email: + description: Email of the creator. + type: string + handle: + description: Handle of the creator. + type: string + name: + description: Name of the creator. + nullable: true + type: string + readOnly: true + type: object + MonitorDraftStatus: + default: published + description: |- + Indicates whether the monitor is in a draft or published state. + + `draft`: The monitor appears as Draft and does not send notifications. + `published`: The monitor is active and evaluates conditions and notify as configured. + + This field is in preview. The draft value is only available to customers with the feature enabled. + enum: + - draft + - published + type: string + x-enum-varnames: + - DRAFT + - PUBLISHED + MatchingDowntime: + description: Object describing a downtime that matches this monitor. + properties: + end: + description: POSIX timestamp to end the downtime. + example: 1412792983 + format: int64 + nullable: true + type: integer + id: + description: The downtime ID. + example: 1625 + format: int64 + readOnly: true + type: integer + scope: + description: |- + The scope(s) to which the downtime applies. Must be in `key:value` format. For example, `host:app2`. + Provide multiple scopes as a comma-separated list like `env:dev,env:prod`. + The resulting downtime applies to sources that matches ALL provided scopes (`env:dev` **AND** `env:prod`). + example: + - env:staging + items: + description: A scope. For example, `"env:staging"`. + type: string + type: array + start: + description: POSIX timestamp to start the downtime. + example: 1412792983 + format: int64 + type: integer + required: + - id + type: object + MonitorOptions: + description: List of options associated with your monitor. + properties: + aggregation: + $ref: '#/components/schemas/MonitorOptionsAggregation' + device_ids: + deprecated: true + description: IDs of the device the Synthetics monitor is running on. + items: + $ref: '#/components/schemas/MonitorDeviceID' + readOnly: true + type: array + enable_logs_sample: + description: Whether or not to send a log sample when the log monitor triggers. + type: boolean + enable_samples: + description: Whether or not to send a list of samples when the monitor triggers. This is only used by CI Test and Pipeline monitors. + type: boolean + escalation_message: + description: |- + We recommend using the [is_renotify](https://docs.datadoghq.com/monitors/notify/?tab=is_alert#renotify), + block in the original message instead. + A message to include with a re-notification. Supports the `@username` notification we allow elsewhere. + Not applicable if `renotify_interval` is `None`. + type: string + evaluation_delay: + description: |- + Time (in seconds) to delay evaluation, as a non-negative integer. For example, if the value is set to `300` (5min), + the timeframe is set to `last_5m` and the time is 7:00, the monitor evaluates data from 6:50 to 6:55. + This is useful for AWS CloudWatch and other backfilled metrics to ensure the monitor always has data during evaluation. + format: int64 + nullable: true + type: integer + group_retention_duration: + description: |- + The time span after which groups with missing data are dropped from the monitor state. + The minimum value is one hour, and the maximum value is 72 hours. + Example values are: "60m", "1h", and "2d". + This option is only available for APM Trace Analytics, Audit Trail, CI, Error Tracking, Event, Logs, and RUM monitors. + type: string + groupby_simple_monitor: + deprecated: true + description: Whether the log alert monitor triggers a single alert or multiple alerts when any group breaches a threshold. Use `notify_by` instead. + type: boolean + include_tags: + default: true + description: |- + A Boolean indicating whether notifications from this monitor automatically inserts its triggering tags into the title. + + **Examples** + - If `True`, `[Triggered on {host:h1}] Monitor Title` + - If `False`, `[Triggered] Monitor Title` + type: boolean + locked: + deprecated: true + description: Whether or not the monitor is locked (only editable by creator and admins). Use `restricted_roles` instead. + type: boolean + min_failure_duration: + default: 0 + description: How long the test should be in failure before alerting (integer, number of seconds, max 7200). + format: int64 + maximum: 7200 + minimum: 0 + nullable: true + type: integer + min_location_failed: + default: 1 + description: |- + The minimum number of locations in failure at the same time during + at least one moment in the `min_failure_duration` period (`min_location_failed` and `min_failure_duration` + are part of the advanced alerting rules - integer, >= 1). + format: int64 + nullable: true + type: integer + new_group_delay: + description: |- + Time (in seconds) to skip evaluations for new groups. + + For example, this option can be used to skip evaluations for new hosts while they initialize. + + Must be a non negative integer. + format: int64 + nullable: true + type: integer + new_host_delay: + default: 300 + deprecated: true + description: |- + Time (in seconds) to allow a host to boot and applications + to fully start before starting the evaluation of monitor results. + Should be a non negative integer. + + Use new_group_delay instead. + format: int64 + nullable: true + type: integer + no_data_timeframe: + description: |- + The number of minutes before a monitor notifies after data stops reporting. + Datadog recommends at least 2x the monitor timeframe for query alerts or 2 minutes for service checks. + If omitted, 2x the evaluation timeframe is used for query alerts, and 24 hours is used for service checks. + format: int64 + nullable: true + type: integer + notification_preset_name: + $ref: '#/components/schemas/MonitorOptionsNotificationPresets' + notify_audit: + default: false + description: A Boolean indicating whether tagged users is notified on changes to this monitor. + type: boolean + notify_by: + description: |- + Controls what granularity a monitor alerts on. Only available for monitors with groupings. + For instance, a monitor grouped by `cluster`, `namespace`, and `pod` can be configured to only notify on each + new `cluster` violating the alert conditions by setting `notify_by` to `["cluster"]`. Tags mentioned + in `notify_by` must be a subset of the grouping tags in the query. + For example, a query grouped by `cluster` and `namespace` cannot notify on `region`. + Setting `notify_by` to `["*"]` configures the monitor to notify as a simple-alert. + items: + description: A grouping tag. + type: string + type: array + notify_no_data: + description: A Boolean indicating whether this monitor notifies when data stops reporting. Defaults to `false`. + type: boolean + on_missing_data: + $ref: '#/components/schemas/OnMissingDataOption' + renotify_interval: + default: null + description: |- + The number of minutes after the last notification before a monitor re-notifies on the current status. + It only re-notifies if it’s not resolved. + format: int64 + nullable: true + type: integer + renotify_occurrences: + description: The number of times re-notification messages should be sent on the current status at the provided re-notification interval. + format: int64 + nullable: true + type: integer + renotify_statuses: + description: |- + The types of monitor statuses for which re-notification messages are sent. + Default: **null** if `renotify_interval` is **null**. + If `renotify_interval` is set, defaults to renotify on `Alert` and `No Data`. + items: + $ref: '#/components/schemas/MonitorRenotifyStatusType' + nullable: true + type: array + require_full_window: + description: |- + A Boolean indicating whether this monitor needs a full window of data before it’s evaluated. + We highly recommend you set this to `false` for sparse metrics, + otherwise some evaluations are skipped. Default is false. This setting only applies to + metric monitors. + type: boolean + scheduling_options: + $ref: '#/components/schemas/MonitorOptionsSchedulingOptions' + silenced: + additionalProperties: + description: UTC epoch timestamp in seconds when the downtime for the group expires. + format: int64 + nullable: true + type: integer + deprecated: true + description: Information about the downtime applied to the monitor. Only shows v1 downtimes. + type: object + synthetics_check_id: + deprecated: true + description: ID of the corresponding Synthetic check. + nullable: true + type: string + threshold_windows: + $ref: '#/components/schemas/MonitorThresholdWindowOptions' + thresholds: + $ref: '#/components/schemas/MonitorThresholds' + timeout_h: + default: null + description: The number of hours of the monitor not reporting data before it automatically resolves from a triggered state. The minimum allowed value is 0 hours. The maximum allowed value is 24 hours. + format: int64 + nullable: true + type: integer + variables: + description: List of requests that can be used in the monitor query. **This feature is currently in beta.** + items: + $ref: '#/components/schemas/MonitorFormulaAndFunctionQueryDefinition' + type: array + type: object + MonitorOverallStates: + description: The different states your monitor can be in. + enum: + - Alert + - Ignored + - No Data + - OK + - Skipped + - Unknown + - Warn + readOnly: true + type: string + x-enum-varnames: + - ALERT + - IGNORED + - NO_DATA + - OK + - SKIPPED + - UNKNOWN + - WARN + MonitorState: + description: Wrapper object with the different monitor states. + properties: + groups: + additionalProperties: + $ref: '#/components/schemas/MonitorStateGroup' + description: |- + Dictionary where the keys are groups (comma separated lists of tags) and the values are + the list of groups your monitor is broken down on. + type: object + readOnly: true + type: object + MonitorTypeV1: + description: The type of the monitor. For more information about `type`, see the [monitor options](https://docs.datadoghq.com/monitors/guide/monitor_api_options/) docs. + enum: + - composite + - event alert + - log alert + - metric alert + - process alert + - query alert + - rum alert + - service check + - synthetics alert + - trace-analytics alert + - slo alert + - event-v2 alert + - audit alert + - ci-pipelines alert + - ci-tests alert + - error-tracking alert + - database-monitoring alert + - network-performance alert + - cost alert + - data-quality alert + - network-path alert + - data-jobs alert + - llm-observability alert + example: query alert + type: string + x-enum-varnames: + - COMPOSITE + - EVENT_ALERT + - LOG_ALERT + - METRIC_ALERT + - PROCESS_ALERT + - QUERY_ALERT + - RUM_ALERT + - SERVICE_CHECK + - SYNTHETICS_ALERT + - TRACE_ANALYTICS_ALERT + - SLO_ALERT + - EVENT_V2_ALERT + - AUDIT_ALERT + - CI_PIPELINES_ALERT + - CI_TESTS_ALERT + - ERROR_TRACKING_ALERT + - DATABASE_MONITORING_ALERT + - NETWORK_PERFORMANCE_ALERT + - COST_ALERT + - DATA_QUALITY_ALERT + - NETWORK_PATH_ALERT + - DATA_JOBS_ALERT + - LLM_OBSERVABILITY_ALERT + CheckCanDeleteMonitorResponseData: + description: Wrapper object with the list of monitor IDs. + example: {} + properties: + ok: + description: An array of Monitor IDs that can be safely deleted. + items: + description: ID of a monitor that can be safely deleted. + format: int64 + type: integer + type: array + type: object + MonitorGroupSearchResponseCounts: + description: The counts of monitor groups per different criteria. + properties: + status: + $ref: '#/components/schemas/MonitorSearchCount' + type: + $ref: '#/components/schemas/MonitorSearchCount' + readOnly: true + type: object + MonitorGroupSearchResult: + description: A single monitor group search result. + properties: + group: + description: The name of the group. + readOnly: true + type: string + group_tags: + description: The list of tags of the monitor group. + items: + description: One monitor group tag. + readOnly: true + type: string + readOnly: true + type: array + last_nodata_ts: + description: Latest timestamp the monitor group was in NO_DATA state. + format: int64 + readOnly: true + type: integer + last_triggered_ts: + description: Latest timestamp the monitor group triggered. + format: int64 + nullable: true + readOnly: true + type: integer + monitor_id: + description: The ID of the monitor. + format: int64 + readOnly: true + type: integer + monitor_name: + description: The name of the monitor. + readOnly: true + type: string + status: + $ref: '#/components/schemas/MonitorOverallStates' + type: object + MonitorSearchResponseMetadata: + description: Metadata about the response. + properties: + page: + description: The page to start paginating from. + format: int64 + readOnly: true + type: integer + page_count: + description: The number of pages. + format: int64 + readOnly: true + type: integer + per_page: + description: The number of monitors to return per page. + format: int64 + readOnly: true + type: integer + total_count: + description: The total number of monitors. + format: int64 + readOnly: true + type: integer + type: object + MonitorSearchResponseCounts: + description: The counts of monitors per different criteria. + properties: + muted: + $ref: '#/components/schemas/MonitorSearchCount' + status: + $ref: '#/components/schemas/MonitorSearchCount' + tag: + $ref: '#/components/schemas/MonitorSearchCount' + type: + $ref: '#/components/schemas/MonitorSearchCount' + readOnly: true + type: object + MonitorSearchResult: + description: Holds search results. + properties: + classification: + description: Classification of the monitor. + readOnly: true + type: string + creator: + $ref: '#/components/schemas/CreatorV1' + id: + description: ID of the monitor. + format: int64 + readOnly: true + type: integer + last_triggered_ts: + description: Latest timestamp the monitor triggered. + format: int64 + nullable: true + readOnly: true + type: integer + metrics: + description: Metrics used by the monitor. + items: + description: A metric used by the monitor. + readOnly: true + type: string + readOnly: true + type: array + name: + description: The monitor name. + readOnly: true + type: string + notifications: + description: The notification triggered by the monitor. + items: + $ref: '#/components/schemas/MonitorSearchResultNotification' + readOnly: true + type: array + org_id: + description: The ID of the organization. + format: int64 + readOnly: true + type: integer + quality_issues: + description: Quality issues detected with the monitor. + items: + description: A quality issue detected with the monitor. + readOnly: true + type: string + readOnly: true + type: array + query: + description: The monitor query. + example: avg(last_5m):sum:system.net.bytes_rcvd{host:host0} > 100 + type: string + scopes: + description: |- + The scope(s) to which the downtime applies, for example `host:app2`. + Provide multiple scopes as a comma-separated list, for example `env:dev,env:prod`. + The resulting downtime applies to sources that matches ALL provided scopes + (that is `env:dev AND env:prod`), NOT any of them. + example: + - host:app2 + - env:dev,env:prod + items: + description: Scope value(s). + readOnly: true + type: string + type: array + status: + $ref: '#/components/schemas/MonitorOverallStates' + tags: + description: Tags associated with the monitor. + items: + description: A tag associated with the monitor. + readOnly: true + type: string + readOnly: true + type: array + type: + $ref: '#/components/schemas/MonitorTypeV1' + type: object + DowntimeChild: + description: |- + The downtime object definition of the active child for the original parent recurring downtime. This + field will only exist on recurring downtimes. + nullable: true + properties: + active: + description: If a scheduled downtime currently exists. + example: true + readOnly: true + type: boolean + canceled: + description: If a scheduled downtime is canceled. + example: 1412799983 + format: int64 + nullable: true + readOnly: true + type: integer + creator_id: + description: User ID of the downtime creator. + example: 123456 + format: int32 + maximum: 2147483647 + readOnly: true + type: integer + disabled: + description: If a downtime has been disabled. + example: false + type: boolean + downtime_type: + description: |- + `0` for a downtime applied on `*` or all, + `1` when the downtime is only scoped to hosts, + or `2` when the downtime is scoped to anything but hosts. + example: 2 + format: int32 + maximum: 2147483647 + readOnly: true + type: integer + end: + description: |- + POSIX timestamp to end the downtime. If not provided, + the downtime is in effect indefinitely until you cancel it. + example: 1412793983 + format: int64 + nullable: true + type: integer + id: + description: The downtime ID. + example: 1626 + format: int64 + readOnly: true + type: integer + message: + description: |- + A message to include with notifications for this downtime. + Email notifications can be sent to specific users by using the same `@username` notation as events. + example: Message on the downtime + nullable: true + type: string + monitor_id: + description: |- + A single monitor to which the downtime applies. + If not provided, the downtime applies to all monitors. + example: 123456 + format: int64 + nullable: true + type: integer + monitor_tags: + description: |- + A comma-separated list of monitor tags. For example, tags that are applied directly to monitors, + not tags that are used in monitor queries (which are filtered by the scope parameter), to which the downtime applies. + The resulting downtime applies to monitors that match ALL provided monitor tags. + For example, `service:postgres` **AND** `team:frontend`. + example: + - '*' + items: + description: A monitor tag. + type: string + type: array + mute_first_recovery_notification: + description: If the first recovery notification during a downtime should be muted. + example: false + type: boolean + notify_end_states: + $ref: '#/components/schemas/NotifyEndStates' + notify_end_types: + $ref: '#/components/schemas/NotifyEndTypes' + parent_id: + description: ID of the parent Downtime. + example: 123 + format: int64 + nullable: true + type: integer + recurrence: + $ref: '#/components/schemas/DowntimeRecurrence' + scope: + description: |- + The scope(s) to which the downtime applies and must be in `key:value` format. For example, `host:app2`. + Provide multiple scopes as a comma-separated list like `env:dev,env:prod`. + The resulting downtime applies to sources that matches ALL provided scopes (`env:dev` **AND** `env:prod`). + example: + - env:staging + items: + description: A scope. For example, `"env:staging"`. + type: string + type: array + start: + description: |- + POSIX timestamp to start the downtime. + If not provided, the downtime starts the moment it is created. + example: 1412792983 + format: int64 + type: integer + timezone: + description: The timezone in which to display the downtime's start and end times in Datadog applications. + example: America/New_York + type: string + updater_id: + description: ID of the last user that updated the downtime. + example: 123456 + format: int32 + maximum: 2147483647 + nullable: true + readOnly: true + type: integer + readOnly: true + type: object + NotifyEndStates: + default: + - alert + - no data + - warn + description: States for which `notify_end_types` sends out notifications for. + example: + - alert + - no data + - warn + items: + $ref: '#/components/schemas/NotifyEndState' + type: array + NotifyEndTypes: + default: + - expired + description: |- + If set, notifies if a monitor is in an alert-worthy state (`ALERT`, `WARNING`, or `NO DATA`) + when this downtime expires or is canceled. Applied to monitors that change states during + the downtime (such as from `OK` to `ALERT`, `WARNING`, or `NO DATA`), and to monitors that + already have an alert-worthy state when downtime begins. + example: + - canceled + - expired + items: + $ref: '#/components/schemas/NotifyEndType' + type: array + DowntimeRecurrence: + description: An object defining the recurrence of the downtime. + nullable: true + properties: + period: + description: |- + How often to repeat as an integer. + For example, to repeat every 3 days, select a type of `days` and a period of `3`. + example: 1 + format: int32 + maximum: 2147483647 + type: integer + rrule: + description: |- + The `RRULE` standard for defining recurring events (**requires to set "type" to rrule**) + For example, to have a recurring event on the first day of each month, set the type to `rrule` and set the `FREQ` to `MONTHLY` and `BYMONTHDAY` to `1`. + Most common `rrule` options from the [iCalendar Spec](https://tools.ietf.org/html/rfc5545) are supported. + + **Note**: Attributes specifying the duration in `RRULE` are not supported (for example, `DTSTART`, `DTEND`, `DURATION`). + More examples available in this [downtime guide](https://docs.datadoghq.com/monitors/guide/suppress-alert-with-downtimes/?tab=api) + example: FREQ=MONTHLY;BYSETPOS=3;BYDAY=WE;INTERVAL=1 + type: string + type: + description: The type of recurrence. Choose from `days`, `weeks`, `months`, `years`, `rrule`. + example: weeks + type: string + until_date: + description: |- + The date at which the recurrence should end as a POSIX timestamp. + `until_occurences` and `until_date` are mutually exclusive. + example: 1447786293 + format: int64 + nullable: true + type: integer + until_occurrences: + description: |- + How many times the downtime is rescheduled. + `until_occurences` and `until_date` are mutually exclusive. + example: 2 + format: int32 + maximum: 2147483647 + nullable: true + type: integer + week_days: + description: |- + A list of week days to repeat on. Choose from `Mon`, `Tue`, `Wed`, `Thu`, `Fri`, `Sat` or `Sun`. + Only applicable when type is weeks. First letter must be capitalized. + example: + - Mon + - Tue + items: + description: A day of the week, formatted as `Mon`, `Tue`, `Wed`, `Thu`, `Fri`, `Sat` or `Sun`. + type: string + nullable: true + type: array + type: object + SyntheticsBatchDetailsData: + description: Wrapper object that contains the details of a batch. + properties: + metadata: + $ref: '#/components/schemas/SyntheticsCIBatchMetadata' + results: + description: List of results for the batch. + items: + $ref: '#/components/schemas/SyntheticsBatchResult' + type: array + status: + $ref: '#/components/schemas/SyntheticsBatchStatus' + type: object + SyntheticsLocation: + description: |- + Synthetic location that can be used when creating or editing a + test. + properties: + id: + description: Unique identifier of the location. + type: string + name: + description: Name of the location. + type: string + type: object + SyntheticsPrivateLocationMetadata: + description: Object containing metadata about the private location. + properties: + restricted_roles: + $ref: '#/components/schemas/SyntheticsRestrictedRoles' + type: object + SyntheticsPrivateLocationSecrets: + description: Secrets for the private location. Only present in the response when creating the private location. + properties: + authentication: + $ref: '#/components/schemas/SyntheticsPrivateLocationSecretsAuthentication' + config_decryption: + $ref: '#/components/schemas/SyntheticsPrivateLocationSecretsConfigDecryption' + readOnly: true + type: object + SyntheticsPrivateLocationCreationResponseResultEncryption: + description: Public key for the result encryption. + properties: + id: + description: Fingerprint for the encryption key. + type: string + key: + description: Public key for result encryption. + type: string + type: object + SyntheticsAPITestConfig: + description: Configuration object for a Synthetic API test. + example: + assertions: + - operator: lessThan + target: 1000 + type: responseTime + request: + method: GET + url: https://example.com + properties: + assertions: + default: [] + description: Array of assertions used for the test. Required for single API tests. + example: + - operator: lessThan + target: 1000 + type: responseTime + items: + $ref: '#/components/schemas/SyntheticsAssertion' + type: array + configVariables: + description: Array of variables used for the test. + items: + $ref: '#/components/schemas/SyntheticsConfigVariable' + type: array + request: + $ref: '#/components/schemas/SyntheticsTestRequest' + steps: + description: When the test subtype is `multi`, the steps of the test. + items: + $ref: '#/components/schemas/SyntheticsAPIStep' + type: array + variablesFromScript: + description: Variables defined from JavaScript code. + example: dd.variable.set("FOO", "foo") + type: string + type: object + SyntheticsTestOptionsV1: + description: Object describing the extra options for a Synthetic test. + properties: + accept_self_signed: + description: |- + For SSL tests, whether or not the test should allow self signed + certificates. + type: boolean + allow_insecure: + description: Allows loading insecure content for an HTTP request in an API test. + type: boolean + blockedRequestPatterns: + description: Array of URL patterns to block. + items: + description: A URL pattern to block during the Synthetic test. + type: string + type: array + captureNetworkPayloads: + description: Capture HTTP request/response headers and bodies for Fetch/XHR calls made during browser tests. + type: boolean + checkCertificateRevocation: + description: For SSL tests, whether or not the test should fail on revoked certificate in stapled OCSP. + type: boolean + ci: + $ref: '#/components/schemas/SyntheticsTestCiOptions' + device_ids: + description: For browser test, array with the different device IDs used to run the test. + items: + $ref: '#/components/schemas/SyntheticsDeviceID' + type: array + disableAiaIntermediateFetching: + description: For SSL tests, whether or not the test should disable fetching intermediate certificates from AIA. + type: boolean + disableCors: + description: Whether or not to disable CORS mechanism. + type: boolean + disableCsp: + description: Disable Content Security Policy for browser tests. + type: boolean + enableProfiling: + description: Enable profiling for browser tests. + type: boolean + enableSecurityTesting: + deprecated: true + description: Enable security testing for browser tests. Security testing is not available anymore. This field is deprecated and won't be used. + type: boolean + follow_redirects: + description: For API HTTP test, whether or not the test should follow redirects. + type: boolean + httpVersion: + $ref: '#/components/schemas/SyntheticsTestOptionsHTTPVersion' + ignoreServerCertificateError: + description: Ignore server certificate error for browser tests. + type: boolean + ignore_certificate_validation: + description: For SSL tests, whether the test should ignore certificate validation. + type: boolean + initialNavigationTimeout: + description: Timeout before declaring the initial step as failed (in seconds) for browser tests. + format: int64 + type: integer + min_failure_duration: + description: Minimum amount of time in failure required to trigger an alert. + format: int64 + type: integer + min_location_failed: + description: |- + Minimum number of locations in failure required to trigger + an alert. + format: int64 + type: integer + monitor_name: + description: The monitor name is used for the alert title as well as for all monitor dashboard widgets and SLOs. + type: string + monitor_options: + $ref: '#/components/schemas/SyntheticsTestOptionsMonitorOptions' + monitor_priority: + description: Integer from 1 (high) to 5 (low) indicating alert severity. + format: int32 + maximum: 5 + minimum: 1 + type: integer + noScreenshot: + description: Prevents saving screenshots of the steps. + type: boolean + restricted_roles: + $ref: '#/components/schemas/SyntheticsRestrictedRoles' + retry: + $ref: '#/components/schemas/SyntheticsTestOptionsRetry' + rumSettings: + $ref: '#/components/schemas/SyntheticsBrowserTestRumSettings' + scheduling: + $ref: '#/components/schemas/SyntheticsTestOptionsScheduling' + tick_every: + description: The frequency at which to run the Synthetic test (in seconds). + format: int64 + maximum: 604800 + minimum: 30 + type: integer + type: object + SyntheticsTestPauseStatus: + description: |- + Define whether you want to start (`live`) or pause (`paused`) a + Synthetic test. + enum: + - live + - paused + example: live + type: string + x-enum-varnames: + - LIVE + - PAUSED + SyntheticsTestDetailsSubType: + description: |- + The subtype of the Synthetic API test, `http`, `ssl`, `tcp`, + `dns`, `icmp`, `udp`, `websocket`, `grpc` or `multi`. + enum: + - http + - ssl + - tcp + - dns + - multi + - icmp + - udp + - websocket + - grpc + example: http + type: string + x-enum-varnames: + - HTTP + - SSL + - TCP + - DNS + - MULTI + - ICMP + - UDP + - WEBSOCKET + - GRPC + SyntheticsAPITestType: + default: api + description: Type of the Synthetic test, `api`. + enum: + - api + example: api + type: string + x-enum-varnames: + - API + SyntheticsBrowserTestConfig: + description: Configuration object for a Synthetic browser test. + properties: + assertions: + default: [] + description: Array of assertions used for the test. + example: [] + items: + $ref: '#/components/schemas/SyntheticsAssertion' + type: array + configVariables: + description: Array of variables used for the test. + items: + $ref: '#/components/schemas/SyntheticsConfigVariable' + type: array + request: + $ref: '#/components/schemas/SyntheticsTestRequest' + setCookie: + description: Cookies to be used for the request, using the [Set-Cookie](https://developer.mozilla.org/en-US/docs/Web/HTTP/Headers/Set-Cookie) syntax. + type: string + variables: + description: Array of variables used for the test steps. + items: + $ref: '#/components/schemas/SyntheticsBrowserVariable' + type: array + required: + - request + - assertions + type: object + SyntheticsStep: + description: The steps used in a Synthetic browser test. + properties: + allowFailure: + description: A boolean set to allow this step to fail. + type: boolean + alwaysExecute: + description: A boolean set to always execute this step even if the previous step failed or was skipped. + type: boolean + exitIfSucceed: + description: A boolean set to exit the test if the step succeeds. + type: boolean + isCritical: + description: A boolean to use in addition to `allowFailure` to determine if the test should be marked as failed when the step fails. + type: boolean + name: + description: The name of the step. + type: string + noScreenshot: + description: A boolean set to skip taking a screenshot for the step. + type: boolean + params: + description: The parameters of the step. (opaque JSON object) + type: string + public_id: + description: The public ID of the step. + type: string + timeout: + description: The time before declaring a step failed. + format: int64 + type: integer + type: + $ref: '#/components/schemas/SyntheticsStepType' + type: object + SyntheticsBrowserTestType: + default: browser + description: Type of the Synthetic test, `browser`. + enum: + - browser + example: browser + type: string + x-enum-varnames: + - BROWSER + SyntheticsBrowserTestResultShort: + description: Object with the results of a single Synthetic browser test. + properties: + check_time: + description: Last time the browser test was performed. + format: double + type: number + probe_dc: + description: Location from which the Browser test was performed. + type: string + result: + $ref: '#/components/schemas/SyntheticsBrowserTestResultShortResult' + result_id: + description: ID of the browser test result. + type: string + status: + $ref: '#/components/schemas/SyntheticsTestMonitorStatus' + type: object + SyntheticsBrowserTestResultFullCheck: + description: Object describing the browser test configuration. + properties: + config: + $ref: '#/components/schemas/SyntheticsTestConfig' + required: + - config + type: object + SyntheticsBrowserTestResultData: + description: Object containing results for your Synthetic browser test. + properties: + browserType: + description: Type of browser device used for the browser test. + type: string + browserVersion: + description: Browser version used for the browser test. + type: string + device: + $ref: '#/components/schemas/SyntheticsDevice' + duration: + description: Global duration in second of the browser test. + format: double + type: number + error: + description: Error returned for the browser test. + type: string + failure: + $ref: '#/components/schemas/SyntheticsBrowserTestResultFailure' + passed: + description: Whether or not the browser test was conducted. + type: boolean + receivedEmailCount: + description: The amount of email received during the browser test. + format: int64 + type: integer + startUrl: + description: Starting URL for the browser test. + type: string + stepDetails: + description: Array containing the different browser test steps. + items: + $ref: '#/components/schemas/SyntheticsStepDetail' + type: array + thumbnailsBucketKey: + description: Whether or not a thumbnail is associated with the browser test. + type: boolean + timeToInteractive: + description: |- + Time in second to wait before the browser test starts after + reaching the start URL. + format: double + type: number + type: object + SyntheticsTestMonitorStatus: + description: |- + The status of your Synthetic monitor. + * `O` for not triggered + * `1` for triggered + * `2` for no data + enum: + - 0 + - 1 + - 2 + format: int64 + type: integer + x-enum-varnames: + - UNTRIGGERED + - TRIGGERED + - NO_DATA + SyntheticsDeletedTest: + description: |- + Object containing a deleted Synthetic test ID with the associated + deletion timestamp. + properties: + deleted_at: + description: Deletion timestamp of the Synthetic test ID. + format: date-time + type: string + public_id: + description: The Synthetic test ID deleted. + type: string + type: object + SyntheticsMobileTestConfig: + description: Configuration object for a Synthetic mobile test. + properties: + initialApplicationArguments: + $ref: '#/components/schemas/SyntheticsMobileTestInitialApplicationArguments' + variables: + description: Array of variables used for the test steps. + items: + $ref: '#/components/schemas/SyntheticsConfigVariable' + type: array + type: object + SyntheticsDeviceID: + description: The device ID. + example: chrome.laptop_large + type: string + SyntheticsMobileTestOptions: + description: Object describing the extra options for a Synthetic test. + properties: + allowApplicationCrash: + description: A boolean to set if an application crash would mark the test as failed. + type: boolean + bindings: + description: Array of bindings used for the mobile test. + items: + $ref: '#/components/schemas/SyntheticsTestRestrictionPolicyBinding' + type: array + ci: + $ref: '#/components/schemas/SyntheticsTestCiOptions' + defaultStepTimeout: + description: The default timeout for steps in the test (in seconds). + format: int32 + maximum: 300 + minimum: 1 + type: integer + device_ids: + description: For mobile test, array with the different device IDs used to run the test. + example: + - synthetics:mobile:device:apple_ipad_10th_gen_2022_ios_16 + items: + $ref: '#/components/schemas/SyntheticsDeviceID' + type: array + disableAutoAcceptAlert: + description: A boolean to disable auto accepting alerts. + type: boolean + min_failure_duration: + description: Minimum amount of time in failure required to trigger an alert. + format: int64 + maximum: 7200 + minimum: 0 + type: integer + mobileApplication: + $ref: '#/components/schemas/SyntheticsMobileTestsMobileApplication' + monitor_name: + description: The monitor name is used for the alert title as well as for all monitor dashboard widgets and SLOs. + type: string + monitor_options: + $ref: '#/components/schemas/SyntheticsTestOptionsMonitorOptions' + monitor_priority: + description: Integer from 1 (high) to 5 (low) indicating alert severity. + format: int32 + maximum: 5 + minimum: 1 + type: integer + noScreenshot: + description: A boolean set to not take a screenshot for the step. + type: boolean + restricted_roles: + $ref: '#/components/schemas/SyntheticsRestrictedRoles' + retry: + $ref: '#/components/schemas/SyntheticsTestOptionsRetry' + scheduling: + $ref: '#/components/schemas/SyntheticsTestOptionsScheduling' + tick_every: + description: The frequency at which to run the Synthetic test (in seconds). + example: 300 + format: int64 + maximum: 604800 + minimum: 300 + type: integer + verbosity: + description: The level of verbosity for the mobile test. This field can not be set by a user. + format: int32 + maximum: 5 + minimum: 0 + type: integer + required: + - device_ids + - tick_every + - mobileApplication + type: object + SyntheticsMobileStep: + description: The steps used in a Synthetic mobile test. + properties: + allowFailure: + description: A boolean set to allow this step to fail. + type: boolean + hasNewStepElement: + description: A boolean set to determine if the step has a new step element. + type: boolean + isCritical: + description: A boolean to use in addition to `allowFailure` to determine if the test should be marked as failed when the step fails. + type: boolean + name: + description: The name of the step. + example: '' + maxLength: 1500 + type: string + noScreenshot: + description: A boolean set to not take a screenshot for the step. + type: boolean + params: + $ref: '#/components/schemas/SyntheticsMobileStepParams' + publicId: + description: The public ID of the step. + example: pub-lic-id0 + type: string + timeout: + description: The time before declaring a step failed. + format: int64 + type: integer + type: + $ref: '#/components/schemas/SyntheticsMobileStepType' + required: + - name + - params + - type + type: object + SyntheticsMobileTestType: + default: mobile + description: Type of the Synthetic test, `mobile`. + enum: + - mobile + example: mobile + type: string + x-enum-varnames: + - MOBILE + SyntheticsTriggerTest: + description: Test configuration for Synthetics + properties: + metadata: + $ref: '#/components/schemas/SyntheticsCIBatchMetadata' + public_id: + description: The public ID of the Synthetic test to trigger. + example: aaa-aaa-aaa + type: string + required: + - public_id + type: object + SyntheticsTriggerCITestLocation: + description: Synthetic location. + properties: + id: + description: Unique identifier of the location. + format: int64 + type: integer + name: + description: Name of the location. + type: string + type: object + SyntheticsTriggerCITestRunResult: + description: Information about a single test run. + properties: + device: + $ref: '#/components/schemas/SyntheticsDeviceID' + location: + description: The location ID of the test run. + format: int64 + type: integer + public_id: + description: The public ID of the Synthetic test. + type: string + result_id: + description: ID of the result. + type: string + type: object + SyntheticsCITest: + description: Configuration for Continuous Testing. + properties: + allowInsecureCertificates: + description: Disable certificate checks in API tests. + type: boolean + basicAuth: + $ref: '#/components/schemas/SyntheticsBasicAuth' + body: + description: Body to include in the test. + type: string + bodyType: + description: Type of the data sent in a Synthetic API test. + type: string + cookies: + description: Cookies for the request. + type: string + deviceIds: + description: For browser test, array with the different device IDs used to run the test. + items: + $ref: '#/components/schemas/SyntheticsDeviceID' + type: array + followRedirects: + description: For API HTTP test, whether or not the test should follow redirects. + type: boolean + headers: + $ref: '#/components/schemas/SyntheticsTestHeaders' + locations: + description: Array of locations used to run the test. + example: + - aws:eu-west-3 + items: + description: A location from which the test was run. + type: string + type: array + metadata: + $ref: '#/components/schemas/SyntheticsCIBatchMetadata' + public_id: + description: The public ID of the Synthetic test to trigger. + example: aaa-aaa-aaa + type: string + retry: + $ref: '#/components/schemas/SyntheticsTestOptionsRetry' + startUrl: + description: Starting URL for the browser test. + type: string + variables: + additionalProperties: + description: A single variable. + type: string + description: Variables to replace in the test. + type: object + version: + description: The version number of the Synthetic test version to trigger. + format: int64 + type: integer + required: + - public_id + type: object + SyntheticsUptime: + description: Object containing the uptime information. + properties: + errors: + description: An array of error objects returned while querying the history data for the service level objective. + items: + $ref: '#/components/schemas/SLOHistoryResponseErrorWithType' + nullable: true + type: array + group: + description: The location name + example: name + type: string + history: + description: |- + The state transition history for the monitor, represented as an array of + pairs. Each pair is an array where the first element is the transition timestamp + in Unix epoch format (integer) and the second element is the state (integer). + For the state, an integer value of `0` indicates uptime, `1` indicates downtime, + and `2` indicates no data. + example: + - - 1579212382 + - 0 + items: + description: An array of transitions + example: + - 1579212382 + - 0 + items: + description: A timeseries data point which is a tuple of (timestamp, value). + format: double + type: number + maxItems: 2 + minItems: 2 + type: array + type: array + span_precision: + description: The number of decimal places to which the SLI value is accurate for the given from-to timestamps. + example: 2 + format: double + type: number + uptime: + description: The overall uptime. + example: 99.99 + format: double + type: number + type: object + SyntheticsTestConfig: + description: Configuration object for a Synthetic test. + properties: + assertions: + default: [] + description: Array of assertions used for the test. Required for single API tests. + example: [] + items: + $ref: '#/components/schemas/SyntheticsAssertion' + type: array + configVariables: + description: Array of variables used for the test. + items: + $ref: '#/components/schemas/SyntheticsConfigVariable' + type: array + request: + $ref: '#/components/schemas/SyntheticsTestRequest' + variables: + description: Browser tests only - array of variables used for the test steps. + items: + $ref: '#/components/schemas/SyntheticsBrowserVariable' + type: array + type: object + SyntheticsTestDetailsType: + description: Type of the Synthetic test. + enum: + - api + - browser + - mobile + - network + type: string + x-enum-varnames: + - API + - BROWSER + - MOBILE + - NETWORK + SyntheticsPatchTestOperation: + description: A single [JSON Patch](https://jsonpatch.com) operation to perform on the test + properties: + op: + $ref: '#/components/schemas/SyntheticsPatchTestOperationName' + path: + description: The path to the value to modify + example: /name + type: string + value: + description: A value to use in a [JSON Patch](https://jsonpatch.com) operation + example: New Test Name + type: object + SyntheticsAPITestResultShort: + description: Object with the results of a single Synthetic API test. + properties: + check_time: + description: Last time the API test was performed. + format: double + type: number + probe_dc: + description: Location from which the API test was performed. + type: string + result: + $ref: '#/components/schemas/SyntheticsAPITestResultShortResult' + result_id: + description: ID of the API test result. + type: string + status: + $ref: '#/components/schemas/SyntheticsTestMonitorStatus' + type: object + SyntheticsAPITestResultFullCheck: + description: Object describing the API test configuration. + properties: + config: + $ref: '#/components/schemas/SyntheticsTestConfig' + required: + - config + type: object + SyntheticsAPITestResultData: + description: Object containing results for your Synthetic API test. + properties: + cert: + $ref: '#/components/schemas/SyntheticsSSLCertificate' + eventType: + $ref: '#/components/schemas/SyntheticsTestProcessStatus' + failure: + $ref: '#/components/schemas/SyntheticsApiTestResultFailure' + httpStatusCode: + description: The API test HTTP status code. + format: int64 + type: integer + requestHeaders: + additionalProperties: + description: Requested request header. (opaque JSON object) + type: string + description: Request header object used for the API test. + type: object + responseBody: + description: Response body returned for the API test. + type: string + responseHeaders: + additionalProperties: + description: Returned request header. + description: Response headers returned for the API test. + type: object + responseSize: + description: Global size in byte of the API test response. + format: int64 + type: integer + timings: + $ref: '#/components/schemas/SyntheticsTiming' + type: object + SyntheticsGlobalVariableAttributes: + description: Attributes of the global variable. + properties: + restricted_roles: + $ref: '#/components/schemas/SyntheticsRestrictedRoles' + type: object + SyntheticsGlobalVariableParseTestOptions: + description: Parser options to use for retrieving a Synthetic global variable from a Synthetic test. Used in conjunction with `parse_test_public_id`. + properties: + field: + description: When type is `http_header`, name of the header to use to extract the value. + example: content-type + type: string + localVariableName: + description: When type is `local_variable`, name of the local variable to use to extract the value. + example: LOCAL_VARIABLE + type: string + parser: + $ref: '#/components/schemas/SyntheticsVariableParser' + type: + $ref: '#/components/schemas/SyntheticsGlobalVariableParseTestOptionsType' + required: + - type + type: object + SyntheticsGlobalVariableValue: + description: Value of the global variable. + example: + secure: true + value: value + properties: + options: + $ref: '#/components/schemas/SyntheticsGlobalVariableOptions' + secure: + description: Determines if the value of the variable is hidden. + type: boolean + value: + description: |- + Value of the global variable. When reading a global variable, + the value will not be present if the variable is hidden with the `secure` property. + example: example-value + type: string + type: object + GetDataObservabilityMonitorRunStatusResponseAttributes: + description: The attributes of a data observability monitor run status response. + properties: + error_message: + description: Error message describing why the monitor run failed. Only present when status is error. + example: run completed but produced no metric data + type: string + status: + $ref: '#/components/schemas/DataObservabilityMonitorRunStatus' + required: + - status + type: object + DataObservabilityMonitorRunType: + default: monitor_run + description: The JSON:API resource type for a data observability monitor run. + enum: + - monitor_run + example: monitor_run + type: string + x-enum-varnames: + - MONITOR_RUN + JSONAPIErrorItemSource: + description: References to the source of the error. + properties: + header: + description: A string indicating the name of a single request header which caused the error. + example: Authorization + type: string + parameter: + description: A string indicating which URI query parameter caused the error. + example: limit + type: string + pointer: + description: A JSON pointer to the value in the request document that caused the error. + example: /data/attributes/title + type: string + type: object + MonitorNotificationRuleResponseAttributes: + additionalProperties: {} + description: Attributes of the monitor notification rule. + properties: + bundle_config: + $ref: '#/components/schemas/MonitorNotificationRuleBundleConfig' + conditional_recipients: + $ref: '#/components/schemas/MonitorNotificationRuleConditionalRecipients' + created: + description: Creation time of the monitor notification rule. + example: '2020-01-02T03:04:00.000Z' + format: date-time + type: string + filter: + $ref: '#/components/schemas/MonitorNotificationRuleFilter' + modified: + description: Time the monitor notification rule was last modified. + example: '2020-01-02T03:04:00.000Z' + format: date-time + type: string + name: + $ref: '#/components/schemas/MonitorNotificationRuleName' + recipients: + $ref: '#/components/schemas/MonitorNotificationRuleRecipients' + type: object + MonitorNotificationRuleId: + description: The ID of the monitor notification rule. + example: 00000000-0000-1234-0000-000000000000 + type: string + MonitorNotificationRuleRelationships: + description: All relationships associated with monitor notification rule. + properties: + created_by: + $ref: '#/components/schemas/MonitorNotificationRuleRelationshipsCreatedBy' + type: object + MonitorNotificationRuleResourceType: + default: monitor-notification-rule + description: Monitor notification rule resource type. + enum: + - monitor-notification-rule + example: monitor-notification-rule + type: string + x-enum-varnames: + - MONITOR_NOTIFICATION_RULE + User: + description: User object returned by the API. + properties: + attributes: + $ref: '#/components/schemas/UserAttributes' + id: + description: ID of the user. + type: string + relationships: + $ref: '#/components/schemas/UserResponseRelationships' + type: + $ref: '#/components/schemas/UsersType' + type: object + MonitorNotificationRuleAttributes: + additionalProperties: false + description: Attributes of the monitor notification rule. + properties: + bundle_config: + $ref: '#/components/schemas/MonitorNotificationRuleBundleConfig' + conditional_recipients: + $ref: '#/components/schemas/MonitorNotificationRuleConditionalRecipients' + filter: + $ref: '#/components/schemas/MonitorNotificationRuleFilter' + name: + $ref: '#/components/schemas/MonitorNotificationRuleName' + recipients: + $ref: '#/components/schemas/MonitorNotificationRuleRecipients' + required: + - name + type: object + MonitorConfigPolicyAttributeResponse: + description: Policy and policy type for a monitor configuration policy. + properties: + policy: + $ref: '#/components/schemas/MonitorConfigPolicyPolicy' + policy_type: + $ref: '#/components/schemas/MonitorConfigPolicyType' + type: object + MonitorConfigPolicyResourceType: + default: monitor-config-policy + description: Monitor configuration policy resource type. + enum: + - monitor-config-policy + example: monitor-config-policy + type: string + x-enum-varnames: + - MONITOR_CONFIG_POLICY + MonitorConfigPolicyAttributeCreateRequest: + description: Policy and policy type for a monitor configuration policy. + properties: + policy: + $ref: '#/components/schemas/MonitorConfigPolicyPolicyCreateRequest' + policy_type: + $ref: '#/components/schemas/MonitorConfigPolicyType' + required: + - policy_type + - policy + type: object + MonitorConfigPolicyAttributeEditRequest: + description: Policy and policy type for a monitor configuration policy. + properties: + policy: + $ref: '#/components/schemas/MonitorConfigPolicyPolicy' + policy_type: + $ref: '#/components/schemas/MonitorConfigPolicyType' + required: + - policy_type + - policy + type: object + MonitorUserTemplateResponseAttributes: + additionalProperties: {} + description: Attributes for a monitor user template. + properties: + created: + $ref: '#/components/schemas/MonitorUserTemplateCreated' + description: + $ref: '#/components/schemas/MonitorUserTemplateDescription' + modified: + $ref: '#/components/schemas/MonitorUserTemplateModified' + monitor_definition: + additionalProperties: {} + description: A valid monitor definition in the same format as the [V1 Monitor API](https://docs.datadoghq.com/api/latest/monitors/#create-a-monitor). + example: + message: You may need to add web hosts if this is consistently high. + name: Bytes received on host0 + query: avg(last_5m):sum:system.net.bytes_rcvd{host:host0} > 100 + type: query alert + type: object + tags: + $ref: '#/components/schemas/MonitorUserTemplateTags' + template_variables: + $ref: '#/components/schemas/MonitorUserTemplateTemplateVariables' + title: + $ref: '#/components/schemas/MonitorUserTemplateTitle' + version: + $ref: '#/components/schemas/MonitorUserTemplateVersion' + type: object + MonitorUserTemplateId: + description: The unique identifier. + example: 00000000-0000-1234-0000-000000000000 + type: string + MonitorUserTemplateResourceType: + default: monitor-user-template + description: Monitor user template resource type. + enum: + - monitor-user-template + example: monitor-user-template + type: string + x-enum-varnames: + - MONITOR_USER_TEMPLATE + MonitorUserTemplateRequestAttributes: + additionalProperties: false + description: Attributes for a monitor user template. + properties: + description: + $ref: '#/components/schemas/MonitorUserTemplateDescription' + monitor_definition: + additionalProperties: {} + description: A valid monitor definition in the same format as the [V1 Monitor API](https://docs.datadoghq.com/api/latest/monitors/#create-a-monitor). + example: + message: You may need to add web hosts if this is consistently high. + name: Bytes received on host0 + query: avg(last_5m):sum:system.net.bytes_rcvd{host:host0} > 100 + type: query alert + type: object + tags: + $ref: '#/components/schemas/MonitorUserTemplateTags' + template_variables: + $ref: '#/components/schemas/MonitorUserTemplateTemplateVariables' + title: + $ref: '#/components/schemas/MonitorUserTemplateTitle' + required: + - title + - monitor_definition + - tags + type: object + MonitorUserTemplate: + additionalProperties: {} + description: A monitor user template object. + properties: + created: + $ref: '#/components/schemas/MonitorUserTemplateCreated' + description: + $ref: '#/components/schemas/MonitorUserTemplateDescription' + modified: + $ref: '#/components/schemas/MonitorUserTemplateModified' + monitor_definition: + additionalProperties: {} + description: A valid monitor definition in the same format as the [V1 Monitor API](https://docs.datadoghq.com/api/latest/monitors/#create-a-monitor). + example: + message: You may need to add web hosts if this is consistently high. + name: Bytes received on host0 + query: avg(last_5m):sum:system.net.bytes_rcvd{host:host0} > 100 + type: query alert + type: object + tags: + $ref: '#/components/schemas/MonitorUserTemplateTags' + template_variables: + $ref: '#/components/schemas/MonitorUserTemplateTemplateVariables' + title: + $ref: '#/components/schemas/MonitorUserTemplateTitle' + version: + $ref: '#/components/schemas/MonitorUserTemplateVersion' + versions: + description: All versions of the monitor user template. + items: + $ref: '#/components/schemas/SimpleMonitorUserTemplate' + type: array + type: object + MonitorDowntimeMatchResponseAttributes: + description: Downtime match details. + properties: + end: + description: The end of the downtime. + example: '2020-01-02T03:04:00.000Z' + format: date-time + nullable: true + type: string + groups: + description: An array of groups associated with the downtime. + example: + - service:postgres + - team:frontend + items: + description: An array of groups. + example: service:postgres + type: string + type: array + scope: + $ref: '#/components/schemas/DowntimeScope' + start: + description: The start of the downtime. + example: '2020-01-02T03:04:00.000Z' + format: date-time + type: string + type: object + MonitorDowntimeMatchResourceType: + default: downtime_match + description: Monitor Downtime Match resource type. + enum: + - downtime_match + example: downtime_match + type: string + x-enum-varnames: + - DOWNTIME_MATCH + DowntimeMetaPage: + description: Object containing the total filtered count. + properties: + total_filtered_count: + description: Total count of elements matched by the filter. + format: int64 + type: integer + type: object + SyntheticsApiMultistepSubtestAttributes: + description: Attributes of a Synthetic API multistep subtest. + properties: + name: + description: Name of the subtest. + example: My API Test + type: string + public_id: + description: The public ID of the subtest. + example: abc-def-123 + type: string + type: object + SyntheticsApiMultistepSubtestType: + default: subtest + description: Type of the subtest resource. + enum: + - subtest + example: subtest + type: string + x-enum-varnames: + - SUBTEST + SyntheticsApiMultistepParentTestAttributes: + description: Attributes of a parent API multistep test. + properties: + child_name: + description: The name of the child subtest. + example: My API Subtest + type: string + child_public_id: + description: The public ID of the child subtest. + example: xyz-uvw-789 + type: string + monitor_id: + description: The associated monitor ID. + example: 12345678 + format: int64 + type: integer + name: + description: Name of the parent test. + example: My Multistep Test + type: string + overall_state: + description: The overall state of the parent test. + example: 0 + format: int64 + type: integer + overall_state_modified: + description: Timestamp of when the overall state was last modified. + example: '2024-01-01T00:00:00+00:00' + type: string + public_id: + description: The public ID of the parent test. + example: abc-def-123 + type: string + type: object + SyntheticsApiMultistepParentTestType: + default: parent_test + description: Type of the parent test resource. + enum: + - parent_test + example: parent_test + type: string + x-enum-varnames: + - PARENT_TEST + SyntheticsDowntimeDataAttributesRequest: + description: Attributes for creating or updating a Synthetics downtime. + properties: + description: + description: An optional description of the downtime. + example: Scheduled weekly maintenance window. + type: string + isEnabled: + description: Whether the downtime is enabled. + example: true + type: boolean + name: + description: The name of the downtime. + example: Weekly maintenance + type: string + tags: + $ref: '#/components/schemas/SyntheticsDowntimeTags' + testIds: + $ref: '#/components/schemas/SyntheticsDowntimeTestIds' + timeSlots: + $ref: '#/components/schemas/SyntheticsDowntimeTimeSlotRequests' + required: + - name + - isEnabled + - timeSlots + - testIds + type: object + SyntheticsDowntimeResourceType: + description: The resource type for a Synthetics downtime. + enum: + - downtime + example: downtime + type: string + x-enum-varnames: + - DOWNTIME + SyntheticsDowntimeDataAttributesResponse: + description: Attributes of a Synthetics downtime response object. + properties: + createdAt: + description: The timestamp when the downtime was created. + example: '2024-01-15T10:30:00Z' + format: date-time + type: string + createdBy: + description: The UUID of the user who created the downtime. + example: 00000000-0000-0000-0000-000000000003 + type: string + createdByName: + description: The display name of the user who created the downtime. + example: Jane Doe + type: string + description: + description: The description of the downtime. + example: Scheduled weekly maintenance window. + type: string + isEnabled: + description: Whether the downtime is enabled. + example: true + type: boolean + name: + description: The name of the downtime. + example: Weekly maintenance + type: string + tags: + $ref: '#/components/schemas/SyntheticsDowntimeTags' + testIds: + $ref: '#/components/schemas/SyntheticsDowntimeTestIds' + timeSlots: + $ref: '#/components/schemas/SyntheticsDowntimeTimeSlotResponses' + updatedAt: + description: The timestamp when the downtime was last updated. + example: '2024-01-15T10:30:00Z' + format: date-time + type: string + updatedBy: + description: The UUID of the user who last updated the downtime. + example: 00000000-0000-0000-0000-000000000003 + type: string + updatedByName: + description: The display name of the user who last updated the downtime. + example: Jane Doe + type: string + required: + - name + - description + - isEnabled + - createdBy + - createdByName + - createdAt + - updatedBy + - updatedByName + - updatedAt + - timeSlots + - testIds + - tags + type: object + OnDemandConcurrencyCapType: + description: On-demand concurrency cap type. + enum: + - on_demand_concurrency_cap + type: string + x-enum-varnames: + - ON_DEMAND_CONCURRENCY_CAP + SyntheticsSuite: + description: Object containing details about a Synthetic suite. + properties: + message: + description: Notification message associated with the suite. + example: Notification message + type: string + monitor_id: + description: The associated monitor ID. + example: 12345678 + format: int64 + readOnly: true + type: integer + name: + description: Name of the suite. + example: Example suite name + type: string + options: + $ref: '#/components/schemas/SyntheticsSuiteOptions' + public_id: + description: The public ID for the test. + example: 123-abc-456 + readOnly: true + type: string + tags: + description: Array of tags attached to the suite. + example: + - env:production + items: + description: A tag attached to the suite. + type: string + type: array + tests: + description: Array of Synthetic tests included in the suite. + items: + $ref: '#/components/schemas/SyntheticsSuiteTest' + type: array + type: + $ref: '#/components/schemas/SyntheticsSuiteType' + required: + - name + - type + - tests + - options + type: object + SyntheticsSuiteTypes: + default: suites + description: Type for the Synthetics suites responses, `suites`. + enum: + - suites + example: suites + type: string + x-enum-varnames: + - SUITES + DeletedSuitesRequestDeleteAttributes: + description: Attributes for a bulk delete Synthetic test suites request. + properties: + force_delete_dependencies: + description: Whether to force deletion of suites that have dependent resources. + type: boolean + public_ids: + description: List of public IDs of the Synthetic test suites to delete. + example: + - '' + items: + description: The public ID of a Synthetic test suite to delete. + type: string + type: array + required: + - public_ids + type: object + DeletedSuitesRequestType: + default: delete_suites_request + description: Type for the bulk delete Synthetic suites request, `delete_suites_request`. + enum: + - delete_suites_request + example: delete_suites_request + type: string + x-enum-varnames: + - DELETE_SUITES_REQUEST + DeletedSuiteResponseDataAttributes: + description: Attributes of a deleted Synthetic test suite, including deletion timestamp and public ID. + properties: + deleted_at: + description: Deletion timestamp of the Synthetic suite ID. + type: string + public_id: + description: The Synthetic suite ID deleted. + type: string + type: object + SyntheticsSuiteSearchResponseDataAttributes: + description: Synthetics suite search response data attributes + properties: + suites: + description: List of Synthetic suites matching the search query. + items: + $ref: '#/components/schemas/SyntheticsSuite' + type: array + total: + description: Total number of Synthetic suites matching the search query. + format: int32 + maximum: 2147483647 + type: integer + type: object + SuiteSearchResponseType: + default: suites_search + description: Type for the Synthetics suites search response, `suites_search`. + enum: + - suites_search + example: suites_search + type: string + x-enum-varnames: + - SUITES_SEARCH + SuiteJsonPatchRequestDataAttributes: + description: Attributes for a JSON Patch request on a Synthetic test suite. + properties: + json_patch: + description: JSON Patch operations following RFC 6902. + items: + $ref: '#/components/schemas/JsonPatchOperation' + type: array + type: object + SuiteJsonPatchType: + default: suites_json_patch + description: Type for a JSON Patch request on a Synthetic test suite, `suites_json_patch`. + enum: + - suites_json_patch + example: suites_json_patch + type: string + x-enum-varnames: + - SUITES_JSON_PATCH + SyntheticsTestResultSummaryAttributes: + description: Attributes of a Synthetic test result summary. + properties: + device: + $ref: '#/components/schemas/SyntheticsTestResultDevice' + execution_info: + $ref: '#/components/schemas/SyntheticsTestResultExecutionInfo' + finished_at: + description: Timestamp of when the test finished (in milliseconds). + format: int64 + type: integer + location: + $ref: '#/components/schemas/SyntheticsTestResultLocation' + run_type: + $ref: '#/components/schemas/SyntheticsTestResultRunType' + started_at: + description: Timestamp of when the test started (in milliseconds). + format: int64 + type: integer + status: + $ref: '#/components/schemas/SyntheticsTestResultStatus' + steps_info: + $ref: '#/components/schemas/SyntheticsTestResultStepsInfo' + test_sub_type: + $ref: '#/components/schemas/SyntheticsTestSubType' + test_type: + $ref: '#/components/schemas/SyntheticsTestType' + type: object + SyntheticsTestResultRelationships: + description: Relationships for a Synthetic test result. + properties: + test: + $ref: '#/components/schemas/SyntheticsTestResultRelationshipTest' + type: object + SyntheticsTestResultSummaryType: + default: result_summary + description: Type of the Synthetic test result summary resource, `result_summary`. + enum: + - result_summary + example: result_summary + type: string + x-enum-varnames: + - RESULT_SUMMARY + SyntheticsTestResultAttributes: + description: Attributes of a Synthetic test result. + properties: + batch: + $ref: '#/components/schemas/SyntheticsTestResultBatch' + ci: + $ref: '#/components/schemas/SyntheticsTestResultCI' + device: + $ref: '#/components/schemas/SyntheticsTestResultDevice' + git: + $ref: '#/components/schemas/SyntheticsTestResultGit' + location: + $ref: '#/components/schemas/SyntheticsTestResultLocation' + result: + $ref: '#/components/schemas/SyntheticsTestResultDetail' + test_sub_type: + $ref: '#/components/schemas/SyntheticsTestSubType' + test_type: + $ref: '#/components/schemas/SyntheticsTestType' + type: object + SyntheticsTestResultType: + default: result + description: Type of the Synthetic test result resource, `result`. + enum: + - result + example: result + type: string + x-enum-varnames: + - RESULT + DeletedTestsRequestDeleteAttributes: + description: Attributes for a bulk delete Synthetic tests request. + properties: + force_delete_dependencies: + description: Whether to force deletion of tests that have dependent resources. + type: boolean + public_ids: + description: List of public IDs of the Synthetic tests to delete. + example: + - abc-def-123 + items: + description: The public ID of a Synthetic test to delete. + type: string + type: array + required: + - public_ids + type: object + DeletedTestsRequestType: + default: delete_tests_request + description: Type for the bulk delete Synthetic tests request, `delete_tests_request`. + enum: + - delete_tests_request + example: delete_tests_request + type: string + x-enum-varnames: + - DELETE_TESTS_REQUEST + DeletedTestResponseDataAttributes: + description: Attributes of a deleted Synthetic test, including deletion timestamp and public ID. + properties: + deleted_at: + description: Deletion timestamp of the Synthetic test ID. + type: string + public_id: + description: The Synthetic test ID deleted. + type: string + type: object + DeletedTestsResponseType: + default: delete_tests + description: Type for the bulk delete Synthetic tests response, `delete_tests`. + enum: + - delete_tests + example: delete_tests + type: string + x-enum-varnames: + - DELETE_TESTS + SyntheticsFastTestResultAttributes: + description: Attributes of the fast test result. + properties: + device: + $ref: '#/components/schemas/SyntheticsTestResultDevice' + location: + $ref: '#/components/schemas/SyntheticsTestResultLocation' + result: + $ref: '#/components/schemas/SyntheticsFastTestResultDetail' + test_sub_type: + $ref: '#/components/schemas/SyntheticsFastTestSubType' + test_type: + $ref: '#/components/schemas/SyntheticsFastTestType' + test_version: + description: Version of the test at the time the fast test was triggered. + example: 1 + format: int64 + type: integer + type: object + SyntheticsFastTestResultType: + default: result + description: JSON:API type for a fast test result. + enum: + - result + example: result + type: string + x-enum-varnames: + - RESULT + SyntheticsNetworkTest: + description: Object containing details about a Network Path test. + properties: + config: + $ref: '#/components/schemas/SyntheticsNetworkTestConfig' + locations: + description: |- + Array of locations used to run the test. Network Path tests can be run from managed locations to test public endpoints, + or from a [Datadog Agent](https://docs.datadoghq.com/synthetics/network_path_tests/#agent-configuration) to test private environments. + example: + - aws:us-east-1 + - agent:my-agent-name + items: + description: A location to run the test from. + type: string + type: array + message: + description: Notification message associated with the test. + example: Network Path test notification + type: string + monitor_id: + description: The associated monitor ID. + example: 12345678 + format: int64 + readOnly: true + type: integer + name: + description: Name of the test. + example: Example Network Path test + type: string + options: + $ref: '#/components/schemas/SyntheticsTestOptions' + public_id: + description: The public ID for the test. + example: abc-def-123 + readOnly: true + type: string + status: + $ref: '#/components/schemas/SyntheticsTestPauseStatus' + subtype: + $ref: '#/components/schemas/SyntheticsNetworkTestSubType' + tags: + description: Array of tags attached to the test. + example: + - env:production + items: + description: A tag attached to the test. + type: string + type: array + type: + $ref: '#/components/schemas/SyntheticsNetworkTestType' + required: + - name + - config + - locations + - options + - type + - message + type: object + SyntheticsNetworkTestType: + default: network + description: Type of the Synthetic test, `network`. + enum: + - network + example: network + type: string + x-enum-varnames: + - NETWORK + SyntheticsNetworkTestResponseType: + default: network_test + description: Type of response, `network_test`. + enum: + - network_test + example: network_test + type: string + x-enum-varnames: + - NETWORK_TEST + SyntheticsTestParentSuiteAttributes: + description: Object containing details about a parent suite of a Synthetic test. + properties: + child_name: + description: The name of the child test within the suite. + example: My API Test + type: string + child_public_id: + description: The public ID of the child test within the suite. + example: xyz-uvw-789 + type: string + monitor_id: + description: The associated monitor ID. + example: 12345678 + format: int64 + type: integer + name: + description: Name of the parent suite. + example: My Suite + type: string + overall_state: + description: The overall state of the parent suite. + example: 0 + format: int64 + type: integer + overall_state_modified: + description: Timestamp of when the overall state was last modified. + example: '2024-01-01T00:00:00+00:00' + type: string + public_id: + description: The public ID of the parent suite. + example: abc-def-123 + type: string + type: object + SyntheticsTestParentSuiteType: + default: parent_suite + description: Type of the parent suite resource. + enum: + - parent_suite + example: parent_suite + type: string + x-enum-varnames: + - PARENT_SUITE + SyntheticsTestVersionChangeAttributes: + description: Attributes of a version change record. + properties: + author_uuid: + description: UUID of the user who created this version. + example: 00000000-0000-0000-0000-000000000000 + type: string + change_metadata: + description: List of metadata describing individual changes in this version. + items: + $ref: '#/components/schemas/SyntheticsTestVersionChangeMetadataItem' + type: array + version_number: + description: The sequential version number. + example: 5 + format: int64 + type: integer + version_payload_created_at: + description: Timestamp of when this version was created. + example: '2024-01-01T00:00:00+00:00' + format: date-time + type: string + type: object + SyntheticsTestVersionChangeType: + default: version_metadata + description: Type of the version metadata resource. + enum: + - version_metadata + example: version_metadata + type: string + x-enum-varnames: + - VERSION_METADATA + SyntheticsTestVersionAttributes: + description: Attributes of a specific Synthetic test version. + properties: + author: + $ref: '#/components/schemas/SyntheticsTestVersionAuthor' + change_metadata: + description: |- + List of metadata describing individual changes in this version. + Only returned when the `include_change_metadata` query parameter is `true`. + items: + $ref: '#/components/schemas/SyntheticsTestVersionChangeMetadataItem' + type: array + payload: + additionalProperties: {} + description: The full test configuration at this version. + type: object + version_payload_created_at: + description: Timestamp of when this version was created. + example: '2024-01-01T00:00:00+00:00' + format: date-time + type: string + type: object + SyntheticsTestVersionType: + default: version + description: Type of the version resource. + enum: + - version + example: version + type: string + x-enum-varnames: + - VERSION + GlobalVariableJsonPatchRequestDataAttributes: + description: Attributes for a JSON Patch request on a Synthetic global variable. + properties: + json_patch: + description: JSON Patch operations following RFC 6902. + items: + $ref: '#/components/schemas/JsonPatchOperation' + type: array + type: object + GlobalVariableJsonPatchType: + description: Global variable JSON Patch type. + enum: + - global_variables_json_patch + type: string + x-enum-varnames: + - GLOBAL_VARIABLES_JSON_PATCH + GlobalVariableType: + description: Global variable type. + enum: + - global_variables + type: string + x-enum-varnames: + - GLOBAL_VARIABLES + ServiceCheckStatus: + description: The status of a service check. Set to `0` for OK, `1` for warning, `2` for critical, and `3` for unknown. + enum: + - 0 + - 1 + - 2 + - 3 + example: 0 + format: int32 + type: integer + x-enum-varnames: + - OK + - WARNING + - CRITICAL + - UNKNOWN + MonitorAssetCategory: + description: Indicates the type of asset this entity represents on a monitor. + enum: + - runbook + example: runbook + type: string + x-enum-varnames: + - RUNBOOK + MonitorAssetResourceType: + description: Type of internal Datadog resource associated with a monitor asset. + enum: + - notebook + type: string + x-enum-varnames: + - NOTEBOOK + MonitorOptionsAggregation: + description: Type of aggregation performed in the monitor query. + properties: + group_by: + description: Group to break down the monitor on. + example: host + type: string + metric: + description: Metric name used in the monitor. + example: metrics.name + type: string + type: + description: Metric type used in the monitor. + example: count + type: string + readOnly: true + type: object + MonitorDeviceID: + description: ID of the device the Synthetics monitor is running on. Same as `SyntheticsDeviceID`. + enum: + - laptop_large + - tablet + - mobile_small + - chrome.laptop_large + - chrome.tablet + - chrome.mobile_small + - firefox.laptop_large + - firefox.tablet + - firefox.mobile_small + type: string + x-enum-varnames: + - LAPTOP_LARGE + - TABLET + - MOBILE_SMALL + - CHROME_LAPTOP_LARGE + - CHROME_TABLET + - CHROME_MOBILE_SMALL + - FIREFOX_LAPTOP_LARGE + - FIREFOX_TABLET + - FIREFOX_MOBILE_SMALL + MonitorOptionsNotificationPresets: + default: show_all + description: Toggles the display of additional content sent in the monitor notification. + enum: + - show_all + - hide_query + - hide_handles + - hide_all + - hide_query_and_handles + - show_only_snapshot + - hide_handles_and_footer + type: string + x-enum-varnames: + - SHOW_ALL + - HIDE_QUERY + - HIDE_HANDLES + - HIDE_ALL + - HIDE_QUERY_AND_HANDLES + - SHOW_ONLY_SNAPSHOT + - HIDE_HANDLES_AND_FOOTER + OnMissingDataOption: + description: |- + Controls how groups or monitors are treated if an evaluation does not return any data points. + The default option results in different behavior depending on the monitor query type. + For monitors using Count queries, an empty monitor evaluation is treated as 0 and is compared to the threshold conditions. + For monitors using any query type other than Count, for example Gauge, Measure, or Rate, the monitor shows the last known status. + This option is available for APM Trace Analytics, Audit Trail, CI, Error Tracking, Event, Logs, and RUM monitors. + It is also required for metric monitors that use `scheduling_options.custom_schedule`. + enum: + - default + - show_no_data + - show_and_notify_no_data + - resolve + type: string + x-enum-varnames: + - DEFAULT + - SHOW_NO_DATA + - SHOW_AND_NOTIFY_NO_DATA + - RESOLVE + MonitorRenotifyStatusType: + description: The different statuses for which renotification is supported. + enum: + - alert + - warn + - no data + type: string + x-enum-varnames: + - ALERT + - WARN + - NO_DATA + MonitorOptionsSchedulingOptions: + description: Configuration options for scheduling. + properties: + custom_schedule: + $ref: '#/components/schemas/MonitorOptionsCustomSchedule' + evaluation_window: + $ref: '#/components/schemas/MonitorOptionsSchedulingOptionsEvaluationWindow' + type: object + MonitorThresholdWindowOptions: + description: Alerting time window options. + properties: + recovery_window: + description: Describes how long an anomalous metric must be normal before the alert recovers. + nullable: true + type: string + trigger_window: + description: Describes how long a metric must be anomalous before an alert triggers. + nullable: true + type: string + type: object + MonitorThresholds: + description: List of the different monitor threshold available. + properties: + critical: + description: The monitor `CRITICAL` threshold. + format: double + type: number + critical_query: + description: Query evaluated as a dynamic `CRITICAL` threshold. Only supported on metric monitors with a formula query and options['variables']. Cannot be combined with static thresholds. This field is in preview. + example: formula("2 * query1").rollup("avg").last("6mo") + type: string + critical_recovery: + description: The monitor `CRITICAL` recovery threshold. + format: double + nullable: true + type: number + critical_recovery_query: + description: Query evaluated as a dynamic `CRITICAL` recovery threshold. Only supported on metric monitors with a formula query and options['variables']. Cannot be combined with static thresholds. This field is in preview. + example: formula("1.5 * query1").rollup("avg").last("3mo") + type: string + ok: + description: The monitor `OK` threshold. + format: double + nullable: true + type: number + unknown: + description: The monitor UNKNOWN threshold. + format: double + nullable: true + type: number + warning: + description: The monitor `WARNING` threshold. + format: double + nullable: true + type: number + warning_recovery: + description: The monitor `WARNING` recovery threshold. + format: double + nullable: true + type: number + type: object + MonitorFormulaAndFunctionQueryDefinition: + description: A formula and function query. + properties: + compute: + $ref: '#/components/schemas/MonitorFormulaAndFunctionEventQueryDefinitionCompute' + data_source: + $ref: '#/components/schemas/MonitorFormulaAndFunctionEventsDataSource' + group_by: + description: Group by options. + items: + $ref: '#/components/schemas/MonitorFormulaAndFunctionEventQueryGroupBy' + type: array + indexes: + description: An array of index names to query in the stream. Omit or use `[]` to query all indexes at once. + example: + - days-3 + - days-7 + items: + description: A log index set up for your organization. For additional indexes, see the [multiple indexes](https://docs.datadoghq.com/logs/indexes/#multiple-indexes) documentation. + type: string + type: array + name: + description: Name of the query for use in formulas. + example: query_errors + type: string + search: + $ref: '#/components/schemas/MonitorFormulaAndFunctionEventQueryDefinitionSearch' + aggregator: + $ref: '#/components/schemas/MonitorFormulaAndFunctionCostAggregator' + query: + description: The monitor query. + example: sum:all.cost{*}.rollup(sum, 86400) + type: string + filter: + description: Filter expression used to match on data entities. Uses Aastra query syntax. + example: search for column where `database:production AND table:users` + type: string + measure: + $ref: '#/components/schemas/MonitorFormulaAndFunctionDataQualityMeasure' + monitor_options: + $ref: '#/components/schemas/MonitorFormulaAndFunctionDataQualityMonitorOptions' + schema_version: + description: Schema version for the data quality query. + example: 0.0.1 + type: string + scope: + description: |- + Optional scoping expression to further filter metrics. Uses metrics filter syntax. + This is useful when an entity has been configured to emit metrics with additional tags. + example: env:production + type: string + job_type: + description: |- + The type of job being monitored. Valid values include: + `databricks.job`, `spark.application`, `airflow.dag`, + `dbt.job`, `dbt.model`, `dbt.test`, `glue.job`. + Custom job types are supported with the `custom.ol.` prefix. + example: databricks.job + type: string + jobs_query: + description: Filter expression used to select the jobs to monitor. + example: job_name:smoke* + type: string + query_dialect: + description: Query dialect for data jobs queries. Currently only `metric` is supported. + example: metric + type: string + augment_query: + $ref: '#/components/schemas/MonitorFormulaAndFunctionAggregateAugmentQuery' + base_query: + $ref: '#/components/schemas/MonitorFormulaAndFunctionAggregateBaseQuery' + join_condition: + $ref: '#/components/schemas/MonitorFormulaAndFunctionAggregateQueryJoinCondition' + filter_query: + $ref: '#/components/schemas/MonitorFormulaAndFunctionAggregateFilterQuery' + filters: + description: Filter conditions for the query. + items: + $ref: '#/components/schemas/MonitorFormulaAndFunctionAggregateQueryFilter' + type: array + required: + - data_source + - compute + - name + - query + - measure + - filter + - jobs_query + - job_type + - query_dialect + - base_query + - augment_query + - join_condition + - group_by + - filter_query + - filters + type: object + additionalProperties: false + MonitorStateGroup: + description: Monitor state for a single group. + properties: + last_nodata_ts: + description: Latest timestamp the monitor was in NO_DATA state. + format: int64 + type: integer + last_notified_ts: + description: Latest timestamp of the notification sent for this monitor group. + format: int64 + type: integer + last_resolved_ts: + description: Latest timestamp the monitor group was resolved. + format: int64 + type: integer + last_triggered_ts: + description: Latest timestamp the monitor group triggered. + format: int64 + type: integer + name: + description: The name of the monitor. + type: string + status: + $ref: '#/components/schemas/MonitorOverallStates' + type: object + MonitorSearchCount: + description: Search facets. + items: + $ref: '#/components/schemas/MonitorSearchCountItem' + type: array + MonitorSearchResultNotification: + description: A notification triggered by the monitor. + properties: + handle: + description: The email address that received the notification. + readOnly: true + type: string + name: + description: The username receiving the notification + readOnly: true + type: string + readOnly: true + type: object + NotifyEndState: + description: A notification end state. + enum: + - alert + - no data + - warn + example: alert + type: string + x-enum-varnames: + - ALERT + - NO_DATA + - WARN + NotifyEndType: + description: A notification end type. + enum: + - canceled + - expired + example: expired + type: string + x-enum-varnames: + - CANCELED + - EXPIRED + SyntheticsCIBatchMetadata: + description: Metadata for the Synthetic tests run. + properties: + ci: + $ref: '#/components/schemas/SyntheticsCIBatchMetadataCI' + git: + $ref: '#/components/schemas/SyntheticsCIBatchMetadataGit' + type: object + SyntheticsBatchResult: + description: Object with the results of a Synthetic batch. + properties: + device: + $ref: '#/components/schemas/SyntheticsDeviceID' + duration: + description: Total duration in millisecond of the test. + format: double + type: number + execution_rule: + $ref: '#/components/schemas/SyntheticsTestExecutionRule' + location: + description: Name of the location. + type: string + result_id: + description: The ID of the result to get. + type: string + retries: + description: Number of times this result has been retried. + format: double + type: number + status: + $ref: '#/components/schemas/SyntheticsBatchStatus' + test_name: + description: Name of the test. + type: string + test_public_id: + description: The public ID of the Synthetic test. + type: string + test_type: + $ref: '#/components/schemas/SyntheticsTestDetailsType' + type: object + SyntheticsBatchStatus: + description: Determines whether the batch has passed, failed, or is in progress. + enum: + - passed + - skipped + - failed + type: string + x-enum-varnames: + - PASSED + - SKIPPED + - FAILED + SyntheticsRestrictedRoles: + deprecated: true + description: A list of role identifiers that can be pulled from the Roles API, for restricting read and write access. This field is deprecated. Use the restriction policies API to manage permissions. + example: + - xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx + items: + description: UUID for a role. + example: xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx + type: string + type: array + SyntheticsPrivateLocationSecretsAuthentication: + description: Authentication part of the secrets. + properties: + id: + description: Access key for the private location. + readOnly: true + type: string + key: + description: Secret access key for the private location. + readOnly: true + type: string + type: object + SyntheticsPrivateLocationSecretsConfigDecryption: + description: Private key for the private location. + properties: + key: + description: Private key for the private location. + readOnly: true + type: string + type: object + SyntheticsAssertion: + description: |- + Object describing the assertions type, their associated operator, + which property they apply, and upon which target. + properties: + operator: + $ref: '#/components/schemas/SyntheticsAssertionOperator' + property: + description: The associated assertion property. + type: string + target: + $ref: '#/components/schemas/SyntheticsAssertionTargetValue' + description: Value used by the operator. + timingsScope: + $ref: '#/components/schemas/SyntheticsAssertionTimingsScope' + type: + $ref: '#/components/schemas/SyntheticsAssertionType' + code: + description: The JavaScript code that performs the assertions. + example: dd.expect(dd.response.statusCode).to.equal(200); + type: string + required: + - type + - operator + - target + - code + type: object + SyntheticsConfigVariable: + description: Object defining a variable that can be used in your test configuration. + properties: + example: + description: Example for the variable. + type: string + id: + description: ID of the variable for global variables. + type: string + name: + description: Name of the variable. + example: VARIABLE_NAME + type: string + pattern: + description: Pattern of the variable. + type: string + secure: + description: Whether the value of this variable will be obfuscated in test results. Only for config variables of type `text`. + example: false + type: boolean + type: + $ref: '#/components/schemas/SyntheticsConfigVariableType' + required: + - type + - name + type: object + SyntheticsTestRequest: + description: Object describing the Synthetic test request. + properties: + allow_insecure: + description: Allows loading insecure content for an HTTP request in a multistep test step. + type: boolean + basicAuth: + $ref: '#/components/schemas/SyntheticsBasicAuth' + body: + description: Body to include in the test. + type: string + bodyType: + $ref: '#/components/schemas/SyntheticsTestRequestBodyType' + callType: + $ref: '#/components/schemas/SyntheticsTestCallType' + certificate: + $ref: '#/components/schemas/SyntheticsTestRequestCertificate' + certificateDomains: + default: [] + description: By default, the client certificate is applied on the domain of the starting URL for browser tests. If you want your client certificate to be applied on other domains instead, add them in `certificateDomains`. + items: + description: Domain to apply the client certificate. + example: '' + type: string + type: array + checkCertificateRevocation: + description: Check for certificate revocation. + type: boolean + compressedJsonDescriptor: + description: A protobuf JSON descriptor that needs to be gzipped first then base64 encoded. + type: string + compressedProtoFile: + description: A protobuf file that needs to be gzipped first then base64 encoded. + type: string + disableAiaIntermediateFetching: + description: Disable fetching intermediate certificates from AIA. + type: boolean + dnsServer: + description: DNS server to use for DNS tests. + type: string + dnsServerPort: + $ref: '#/components/schemas/SyntheticsTestRequestDNSServerPort' + description: DNS server port to use for DNS tests. + files: + description: Files to be used as part of the request in the test. Only valid if `bodyType` is `multipart/form-data`. + items: + $ref: '#/components/schemas/SyntheticsTestRequestBodyFile' + type: array + follow_redirects: + description: Specifies whether or not the request follows redirects. + type: boolean + form: + additionalProperties: + description: A single form entry. + type: string + description: Form to be used as part of the request in the test. Only valid if `bodyType` is `multipart/form-data`. + type: object + headers: + $ref: '#/components/schemas/SyntheticsTestHeaders' + host: + description: Host name to perform the test with. + type: string + httpVersion: + $ref: '#/components/schemas/SyntheticsTestOptionsHTTPVersion' + ignore_certificate_validation: + description: For SSL tests, whether the test should ignore certificate validation. + type: boolean + isMessageBase64Encoded: + description: Whether the message is base64 encoded. + type: boolean + mcpProtocolVersion: + $ref: '#/components/schemas/SyntheticsMCPProtocolVersion' + message: + description: Message to send for UDP or WebSocket tests. + type: string + metadata: + $ref: '#/components/schemas/SyntheticsTestMetadata' + method: + description: Either the HTTP method/verb to use or a gRPC method available on the service set in the `service` field. Required if `subtype` is `HTTP` or if `subtype` is `grpc` and `callType` is `unary`. + type: string + noSavingResponseBody: + description: Determines whether or not to save the response body. + type: boolean + numberOfPackets: + description: Number of pings to use per test. + format: int32 + maximum: 10 + minimum: 0 + type: integer + persistCookies: + description: Persist cookies across redirects. + type: boolean + port: + $ref: '#/components/schemas/SyntheticsTestRequestPort' + proxy: + $ref: '#/components/schemas/SyntheticsTestRequestProxy' + query: + description: Query to use for the test. (opaque JSON object) + type: string + servername: + description: |- + For SSL tests, it specifies on which server you want to initiate the TLS handshake, + allowing the server to present one of multiple possible certificates on + the same IP address and TCP port number. + type: string + service: + description: The gRPC service on which you want to perform the gRPC call. + example: Greeter + type: string + shouldTrackHops: + description: Turns on a traceroute probe to discover all gateways along the path to the host destination. + type: boolean + timeout: + description: Timeout in seconds for the test. + format: double + type: number + toolArgs: + additionalProperties: {} + description: Arguments to pass to the MCP tool. Free-form object whose shape depends on the tool. Used when `callType` is `tool_call`. + type: object + toolName: + description: The name of the MCP tool to call. Required when `callType` is `tool_call`. + example: search + type: string + url: + description: URL to perform the test with. + example: https://example.com + type: string + type: object + SyntheticsAPIStep: + description: The steps used in a Synthetic multi-step API test. + properties: + allowFailure: + description: Determines whether or not to continue with test if this step fails. + type: boolean + assertions: + default: [] + description: Array of assertions used for the test. + example: + - operator: lessThan + target: 1000 + type: responseTime + items: + $ref: '#/components/schemas/SyntheticsAssertion' + type: array + exitIfSucceed: + description: Determines whether or not to exit the test if the step succeeds. + type: boolean + extractedValues: + description: Array of values to parse and save as variables from the response. + items: + $ref: '#/components/schemas/SyntheticsParsingOptions' + type: array + extractedValuesFromScript: + description: Generate variables using JavaScript. + type: string + id: + description: ID of the step. + example: abc-def-123 + readOnly: true + type: string + isCritical: + description: |- + Determines whether or not to consider the entire test as failed if this step fails. + Can be used only if `allowFailure` is `true`. + type: boolean + name: + description: The name of the step. + example: Example step name + type: string + request: + $ref: '#/components/schemas/SyntheticsTestRequest' + retry: + $ref: '#/components/schemas/SyntheticsTestOptionsRetry' + subtype: + $ref: '#/components/schemas/SyntheticsAPITestStepSubtype' + value: + description: 'The time to wait in seconds. Minimum value: 0. Maximum value: 180.' + example: 5 + format: int32 + maximum: 180 + minimum: 0 + type: integer + alwaysExecute: + description: A boolean set to always execute this step even if the previous step failed or was skipped. + type: boolean + subtestPublicId: + description: Public ID of the test to be played as part of a `playSubTest` step type. + example: '' + type: string + required: + - assertions + - request + - name + - subtype + - value + - subtestPublicId + type: object + SyntheticsTestCiOptions: + description: CI/CD options for a Synthetic test. + properties: + executionRule: + $ref: '#/components/schemas/SyntheticsTestExecutionRule' + required: + - executionRule + type: object + SyntheticsTestOptionsHTTPVersion: + description: HTTP version to use for a Synthetic test. + enum: + - http1 + - http2 + - any + type: string + x-enum-varnames: + - HTTP1 + - HTTP2 + - ANY + SyntheticsTestOptionsMonitorOptions: + description: |- + Object containing the options for a Synthetic test as a monitor + (for example, renotification). + properties: + escalation_message: + description: Message to include in the escalation notification. + type: string + notification_preset_name: + $ref: '#/components/schemas/SyntheticsTestOptionsMonitorOptionsNotificationPresetName' + renotify_interval: + description: |- + Time interval before renotifying if the test is still failing + (in minutes). + format: int64 + minimum: 0 + type: integer + renotify_occurrences: + description: The number of times to renotify if the test is still failing. + format: int64 + type: integer + type: object + SyntheticsTestOptionsRetry: + description: Object describing the retry strategy to apply to a Synthetic test. + properties: + count: + description: |- + Number of times a test needs to be retried before marking a + location as failed. Defaults to 0. + format: int64 + type: integer + interval: + description: |- + Time interval between retries (in milliseconds). Defaults to + 300ms. + format: double + type: number + type: object + SyntheticsBrowserTestRumSettings: + description: |- + The RUM data collection settings for the Synthetic browser test. + **Note:** There are 3 ways to format RUM settings: + + `{ isEnabled: false }` + RUM data is not collected. + + `{ isEnabled: true }` + RUM data is collected from the Synthetic test's default application. + + `{ isEnabled: true, applicationId: "xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx", clientTokenId: 12345 }` + RUM data is collected using the specified application. + example: + applicationId: xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx + clientTokenId: 12345 + isEnabled: true + properties: + applicationId: + description: RUM application ID used to collect RUM data for the browser test. + example: xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx + type: string + clientTokenId: + description: RUM application API key ID used to collect RUM data for the browser test. + example: 12345 + format: int64 + type: integer + isEnabled: + description: Determines whether RUM data is collected during test runs. + example: true + type: boolean + required: + - isEnabled + type: object + SyntheticsTestOptionsScheduling: + description: Object containing timeframes and timezone used for advanced scheduling. + properties: + timeframes: + description: Array containing objects describing the scheduling pattern to apply to each day. + example: + - day: 1 + from: '07:00' + to: '16:00' + - day: 3 + from: '07:00' + to: '16:00' + items: + $ref: '#/components/schemas/SyntheticsTestOptionsSchedulingTimeframe' + type: array + timezone: + description: Timezone in which the timeframe is based. + example: America/New_York + type: string + required: + - timeframes + - timezone + type: object + SyntheticsBrowserVariable: + description: |- + Object defining a variable that can be used in your browser test. + See the [Recording Steps documentation](https://docs.datadoghq.com/synthetics/browser_tests/actions/?tab=testanelementontheactivepage#variables). + properties: + example: + description: Example for the variable. + type: string + id: + description: ID for the variable. Global variables require an ID. + type: string + name: + description: Name of the variable. + example: VARIABLE_NAME + type: string + pattern: + description: Pattern of the variable. + type: string + secure: + description: Determines whether or not the browser test variable is obfuscated. Can only be used with browser variables of type `text`. + type: boolean + type: + $ref: '#/components/schemas/SyntheticsBrowserVariableType' + required: + - type + - name + type: object + SyntheticsStepType: + description: Step type used in your Synthetic test. + enum: + - assertCurrentUrl + - assertElementAttribute + - assertElementContent + - assertElementPresent + - assertEmail + - assertFileDownload + - assertFromJavascript + - assertPageContains + - assertPageLacks + - assertRequests + - click + - drag + - drop + - extractFromJavascript + - extractFromEmailBody + - extractVariable + - goToEmailLink + - goToUrl + - goToUrlAndMeasureTti + - hover + - playSubTest + - pressKey + - refresh + - runApiTest + - scroll + - selectOption + - typeText + - uploadFiles + - wait + example: assertElementContent + type: string + x-enum-varnames: + - ASSERT_CURRENT_URL + - ASSERT_ELEMENT_ATTRIBUTE + - ASSERT_ELEMENT_CONTENT + - ASSERT_ELEMENT_PRESENT + - ASSERT_EMAIL + - ASSERT_FILE_DOWNLOAD + - ASSERT_FROM_JAVASCRIPT + - ASSERT_PAGE_CONTAINS + - ASSERT_PAGE_LACKS + - ASSERT_REQUESTS + - CLICK + - DRAG + - DROP + - EXTRACT_FROM_JAVASCRIPT + - EXTRACT_FROM_EMAIL_BODY + - EXTRACT_VARIABLE + - GO_TO_EMAIL_LINK + - GO_TO_URL + - GO_TO_URL_AND_MEASURE_TTI + - HOVER + - PLAY_SUB_TEST + - PRESS_KEY + - REFRESH + - RUN_API_TEST + - SCROLL + - SELECT_OPTION + - TYPE_TEXT + - UPLOAD_FILES + - WAIT + SyntheticsBrowserTestResultShortResult: + description: Object with the result of the last browser test run. + properties: + device: + $ref: '#/components/schemas/SyntheticsDevice' + duration: + description: Length in milliseconds of the browser test run. + format: double + type: number + errorCount: + description: Amount of errors collected for a single browser test run. + format: int64 + type: integer + stepCountCompleted: + description: Amount of browser test steps completed before failing. + format: int64 + type: integer + stepCountTotal: + description: Total amount of browser test steps. + format: int64 + type: integer + type: object + SyntheticsDevice: + description: Object describing the device used to perform the Synthetic test. + properties: + height: + description: Screen height of the device. + example: 0 + format: int64 + type: integer + id: + $ref: '#/components/schemas/SyntheticsDeviceID' + isMobile: + description: Whether or not the device is a mobile. + type: boolean + name: + description: The device name. + example: '' + type: string + width: + description: Screen width of the device. + example: 0 + format: int64 + type: integer + required: + - id + - name + - height + - width + type: object + SyntheticsBrowserTestResultFailure: + description: The browser test failure details. + properties: + code: + $ref: '#/components/schemas/SyntheticsBrowserTestFailureCode' + message: + description: The browser test error message. + example: Error during DNS resolution (ENOTFOUND). + type: string + type: object + SyntheticsStepDetail: + description: Object describing a step for a Synthetic test. + properties: + allowFailure: + description: Whether or not the step was allowed to fail. + type: boolean + browserErrors: + description: Array of errors collected for a browser test. + items: + $ref: '#/components/schemas/SyntheticsBrowserError' + type: array + checkType: + $ref: '#/components/schemas/SyntheticsCheckType' + description: + description: Description of the test. + type: string + duration: + description: Total duration in millisecond of the test. + format: double + type: number + error: + description: Error returned by the test. + type: string + failure: + $ref: '#/components/schemas/SyntheticsBrowserTestResultFailure' + playingTab: + $ref: '#/components/schemas/SyntheticsPlayingTab' + screenshotBucketKey: + description: Whether or not screenshots where collected by the test. + type: boolean + skipped: + description: Whether or not to skip this step. + type: boolean + snapshotBucketKey: + description: Whether or not snapshots where collected by the test. + type: boolean + stepId: + description: The step ID. + format: int64 + type: integer + subTestStepDetails: + description: |- + If this step includes a sub-test. + [Subtests documentation](https://docs.datadoghq.com/synthetics/browser_tests/advanced_options/#subtests). + items: + $ref: '#/components/schemas/SyntheticsStepDetail' + type: array + timeToInteractive: + description: Time before starting the step. + format: double + type: number + type: + $ref: '#/components/schemas/SyntheticsStepType' + url: + description: URL to perform the step against. + type: string + value: + description: Value for the step. + vitalsMetrics: + description: Array of Core Web Vitals metrics for the step. + items: + $ref: '#/components/schemas/SyntheticsCoreWebVitals' + type: array + warnings: + description: Warning collected that didn't failed the step. + items: + $ref: '#/components/schemas/SyntheticsStepDetailWarning' + type: array + type: object + SyntheticsMobileTestInitialApplicationArguments: + additionalProperties: + description: A single application argument. + type: string + description: Initial application arguments for a mobile test. + type: object + SyntheticsTestRestrictionPolicyBinding: + description: Objects describing the binding used for a mobile test. + properties: + principals: + $ref: '#/components/schemas/SyntheticsTestRestrictionPolicyBindingPrincipals' + relation: + $ref: '#/components/schemas/SyntheticsTestRestrictionPolicyBindingRelation' + type: object + SyntheticsMobileTestsMobileApplication: + description: Mobile application for mobile synthetics test. + properties: + applicationId: + description: Application ID of the mobile application. + example: 00000000-0000-0000-0000-aaaaaaaaaaaa + maxLength: 1500 + type: string + referenceId: + description: Reference ID of the mobile application. + example: 00000000-0000-0000-0000-aaaaaaaaaaab + maxLength: 1500 + type: string + referenceType: + $ref: '#/components/schemas/SyntheticsMobileTestsMobileApplicationReferenceType' + required: + - applicationId + - referenceId + - referenceType + type: object + SyntheticsMobileStepParams: + description: The parameters of a mobile step. + properties: + check: + $ref: '#/components/schemas/SyntheticsCheckType' + delay: + description: Number of milliseconds to wait between inputs in a `typeText` step type. + format: int64 + maximum: 5000 + minimum: 0 + type: integer + direction: + $ref: '#/components/schemas/SyntheticsMobileStepParamsDirection' + element: + $ref: '#/components/schemas/SyntheticsMobileStepParamsElement' + enabled: + description: Boolean to change the state of the wifi for a `toggleWiFi` step type. + type: boolean + maxScrolls: + description: Maximum number of scrolls to do for a `scrollToElement` step type. + format: int64 + type: integer + positions: + $ref: '#/components/schemas/SyntheticsMobileStepParamsPositions' + subtestPublicId: + description: Public ID of the test to be played as part of a `playSubTest` step type. + type: string + value: + $ref: '#/components/schemas/SyntheticsMobileStepParamsValue' + variable: + $ref: '#/components/schemas/SyntheticsMobileStepParamsVariable' + withEnter: + description: Boolean to indicate if `Enter` should be pressed at the end of the `typeText` step type. + type: boolean + x: + description: Amount to scroll by on the `x` axis for a `scroll` step type. + format: double + type: number + 'y': + description: Amount to scroll by on the `y` axis for a `scroll` step type. + format: double + type: number + type: object + SyntheticsMobileStepType: + description: Step type used in your mobile Synthetic test. + enum: + - assertElementContent + - assertScreenContains + - assertScreenLacks + - doubleTap + - extractVariable + - flick + - openDeeplink + - playSubTest + - pressBack + - restartApplication + - rotate + - scroll + - scrollToElement + - tap + - toggleWiFi + - typeText + - wait + example: assertElementContent + type: string + x-enum-varnames: + - ASSERTELEMENTCONTENT + - ASSERTSCREENCONTAINS + - ASSERTSCREENLACKS + - DOUBLETAP + - EXTRACTVARIABLE + - FLICK + - OPENDEEPLINK + - PLAYSUBTEST + - PRESSBACK + - RESTARTAPPLICATION + - ROTATE + - SCROLL + - SCROLLTOELEMENT + - TAP + - TOGGLEWIFI + - TYPETEXT + - WAIT + SyntheticsBasicAuth: + description: Object to handle basic authentication when performing the test. + properties: + password: + description: Password to use for the basic authentication. + example: PaSSw0RD! + type: string + type: + $ref: '#/components/schemas/SyntheticsBasicAuthWebType' + username: + description: Username to use for the basic authentication. + example: my_username + type: string + accessKey: + description: Access key for the `SIGV4` authentication. + example: AKIAIOSFODNN7EXAMPLE + type: string + region: + description: Region for the `SIGV4` authentication. + example: us-east-1 + type: string + secretKey: + description: Secret key for the `SIGV4` authentication. + example: wJalrXUtnFEMI/K7MDENG/bPxRfiCYzEXAMPLEKEY + type: string + serviceName: + description: Service name for the `SIGV4` authentication. + example: execute-api + type: string + sessionToken: + description: Session token for the `SIGV4` authentication. + example: |- + AQoEXAMPLEH4aoAH0gNCAPyJxz4BlCFFxWNE1OPTgk5TthT+FvwqnKwRcOIfrRh3c/L + To6UDdyJwOOvEVPvLXCrrrUtdnniCEXAMPLE/IvU1dYUg2RVAJBanLiHb4IgRmpRV3z + rkuWJOgQs8IZZaIv2BXIa2R4OlgkBN9bkUDNCJiBeb/AXlzBBko7b15fjrBs2+cTQtp + Z3CYWFXG8C5zqx37wnOE49mRl/+OtkIKGO7fAE + type: string + domain: + description: Domain for the authentication to use when performing the test. + example: DOMAINNAME + type: string + workstation: + description: Workstation for the authentication to use when performing the test. + example: '' + type: string + accessTokenUrl: + description: Access token URL to use when performing the authentication. + example: https://example.com + type: string + audience: + description: Audience to use when performing the authentication. + example: audience + type: string + clientId: + description: Client ID to use when performing the authentication. + example: oauth-username + type: string + clientSecret: + description: Client secret to use when performing the authentication. + example: oauth-password + type: string + resource: + description: Resource to use when performing the authentication. + example: resource + type: string + scope: + description: Scope to use when performing the authentication. + example: scope + type: string + tokenApiAuthentication: + $ref: '#/components/schemas/SyntheticsBasicAuthOauthTokenApiAuthentication' + addClaims: + $ref: '#/components/schemas/SyntheticsBasicAuthJWTAddClaims' + algorithm: + $ref: '#/components/schemas/SyntheticsBasicAuthJWTAlgorithm' + expiresIn: + description: Token time-to-live in seconds. + example: 3600 + format: int64 + minimum: 1 + type: integer + header: + description: Custom JWT header as a JSON string. + example: '{"kid": "my-key-id"}' + type: string + payload: + description: JWT claims as a JSON string. + example: '{"sub": "1234567890", "name": "John Doe"}' + type: string + secret: + description: |- + Signing key for the JWT authentication. Use the shared secret for `HS256` + or the private key (PEM format) for `RS256` and `ES256`. + example: mysecretkey + type: string + tokenPrefix: + description: Prefix added before the token in the `Authorization` header. Defaults to `Bearer`. + example: Bearer + type: string + type: object + required: + - accessKey + - secretKey + - type + - password + - username + - accessTokenUrl + - tokenApiAuthentication + - clientId + - clientSecret + - algorithm + - payload + - secret + SyntheticsTestHeaders: + additionalProperties: + description: A single Header. + type: string + description: Headers to include when performing the test. + type: object + SLOHistoryResponseErrorWithType: + description: An object describing the error with error type and error message. + properties: + error_message: + description: A message with more details about the error. + example: '' + type: string + error_type: + description: Type of the error. + example: '' + type: string + required: + - error_type + - error_message + type: object + SyntheticsPatchTestOperationName: + description: The operation to perform + enum: + - add + - remove + - replace + - move + - copy + - test + example: replace + type: string + x-enum-varnames: + - ADD + - REMOVE + - REPLACE + - MOVE + - COPY + - TEST + SyntheticsAPITestResultShortResult: + description: Result of the last API test run. + properties: + passed: + description: Describes if the test run has passed or failed. + type: boolean + timings: + $ref: '#/components/schemas/SyntheticsTiming' + type: object + SyntheticsSSLCertificate: + description: Object describing the SSL certificate used for a Synthetic test. + properties: + cipher: + description: Cipher used for the connection. + type: string + exponent: + description: Exponent associated to the certificate. + format: double + type: number + extKeyUsage: + description: Array of extensions and details used for the certificate. + items: + description: An extension or detail used for the certificate. + type: string + type: array + fingerprint: + description: MD5 digest of the DER-encoded Certificate information. + type: string + fingerprint256: + description: SHA-1 digest of the DER-encoded Certificate information. + type: string + issuer: + $ref: '#/components/schemas/SyntheticsSSLCertificateIssuer' + modulus: + description: Modulus associated to the SSL certificate private key. + type: string + protocol: + description: TLS protocol used for the test. + type: string + serialNumber: + description: Serial Number assigned by Symantec to the SSL certificate. + type: string + subject: + $ref: '#/components/schemas/SyntheticsSSLCertificateSubject' + validFrom: + description: Date from which the SSL certificate is valid. + format: date-time + type: string + validTo: + description: Date until which the SSL certificate is valid. + format: date-time + type: string + type: object + SyntheticsTestProcessStatus: + description: Status of a Synthetic test. + enum: + - not_scheduled + - scheduled + - finished + - finished_with_error + type: string + x-enum-varnames: + - NOT_SCHEDULED + - SCHEDULED + - FINISHED + - FINISHED_WITH_ERROR + SyntheticsApiTestResultFailure: + description: The API test failure details. + properties: + code: + $ref: '#/components/schemas/SyntheticsApiTestFailureCode' + message: + description: The API test error message. + example: Error during DNS resolution (ENOTFOUND). + type: string + type: object + SyntheticsTiming: + description: |- + Object containing all metrics and their values collected for a Synthetic API test. + See the [Synthetic Monitoring Metrics documentation](https://docs.datadoghq.com/synthetics/metrics/). + properties: + dns: + description: The duration in millisecond of the DNS lookup. + format: double + type: number + download: + description: The time in millisecond to download the response. + format: double + type: number + firstByte: + description: The time in millisecond to first byte. + format: double + type: number + handshake: + description: The duration in millisecond of the TLS handshake. + format: double + type: number + redirect: + description: The time in millisecond spent during redirections. + format: double + type: number + ssl: + description: The duration in millisecond of the TLS handshake. + format: double + type: number + tcp: + description: Time in millisecond to establish the TCP connection. + format: double + type: number + total: + description: The overall time in millisecond the request took to be processed. + format: double + type: number + wait: + description: Time spent in millisecond waiting for a response. + format: double + type: number + type: object + SyntheticsVariableParser: + description: Details of the parser to use for the global variable. + example: + type: regex + value: .* + properties: + type: + $ref: '#/components/schemas/SyntheticsGlobalVariableParserType' + value: + description: Regex or JSON path used for the parser. Not used with type `raw`. + type: string + required: + - type + type: object + SyntheticsGlobalVariableParseTestOptionsType: + description: Type of value to extract from a test for a Synthetic global variable. + enum: + - http_body + - http_header + - http_status_code + - local_variable + example: http_body + type: string + x-enum-varnames: + - HTTP_BODY + - HTTP_HEADER + - HTTP_STATUS_CODE + - LOCAL_VARIABLE + SyntheticsGlobalVariableOptions: + description: Options for the Global Variable for MFA. + properties: + totp_parameters: + $ref: '#/components/schemas/SyntheticsGlobalVariableTOTPParameters' + type: object + DataObservabilityMonitorRunStatus: + description: The status of a data observability monitor run. + enum: + - pending + - ok + - warn + - alert + - error + example: pending + type: string + x-enum-varnames: + - PENDING + - OK + - WARN + - ALERT + - ERROR + MonitorNotificationRuleBundleConfig: + description: |- + Use bundle config to enable alert bundling to reduce monitor signal noises. **Note**: This feature is in preview and is subject to change. + If you have any feedback, contact [Datadog support](https://docs.datadoghq.com/help/). + properties: + duration: + description: Duration of the bundling period. + example: 3600 + format: int32 + maximum: 2147483647 + type: integer + required: + - duration + type: object + MonitorNotificationRuleConditionalRecipients: + description: Use conditional recipients to define different recipients for different situations. Cannot be used with `recipients`. + properties: + conditions: + description: Conditions of the notification rule. + items: + $ref: '#/components/schemas/MonitorNotificationRuleCondition' + maxItems: 10 + minItems: 1 + type: array + fallback_recipients: + $ref: '#/components/schemas/MonitorNotificationRuleRecipients' + description: If none of the `conditions` applied, `fallback_recipients` will get notified. + required: + - conditions + type: object + MonitorNotificationRuleFilter: + description: Specifies the matching criteria for monitor notifications. + additionalProperties: false + properties: + tags: + description: A list of tag key:value pairs (e.g. `team:product`). All tags must match (AND semantics). + example: + - team:product + - host:abc + items: + description: A tag key:value pair to match against monitor notifications. + maxLength: 255 + type: string + maxItems: 20 + minItems: 1 + type: array + uniqueItems: true + scope: + description: A scope expression composed by key:value pairs (e.g. `service:foo`) with boolean operators (AND, OR, NOT) and parentheses for grouping. + example: service:(foo OR bar) AND team:test NOT environment:staging + maxLength: 3000 + minLength: 1 + type: string + required: + - tags + - scope + type: object + MonitorNotificationRuleName: + description: The name of the monitor notification rule. + example: A notification rule name + maxLength: 1000 + minLength: 1 + type: string + MonitorNotificationRuleRecipients: + description: A list of recipients to notify. Uses the same format as the monitor `message` field. Must not start with an '@'. Cannot be used with `conditional_recipients`. + example: + - slack-test-channel + - jira-test + items: + description: individual recipient. + maxLength: 255 + type: string + maxItems: 20 + minItems: 1 + type: array + uniqueItems: true + MonitorNotificationRuleRelationshipsCreatedBy: + description: The user who created the monitor notification rule. + properties: + data: + $ref: '#/components/schemas/MonitorNotificationRuleRelationshipsCreatedByData' + type: object + UserAttributes: + description: Attributes of user object returned by the API. + properties: + created_at: + description: The ISO 8601 timestamp of when the user account was created. + format: date-time + type: string + disabled: + description: Whether the user account is deactivated. Disabled users cannot log in. + type: boolean + email: + description: The email address of the user, used for login and notifications. + type: string + handle: + description: The unique handle (username) of the user, typically matching their email prefix. + type: string + icon: + description: URL of the user's profile icon, typically a Gravatar URL derived from the email address. + type: string + last_login_time: + description: The ISO 8601 timestamp of the user's most recent login, or null if the user has never logged in. + format: date-time + nullable: true + readOnly: true + type: string + mfa_enabled: + description: Whether multi-factor authentication (MFA) is enabled for the user's account. + readOnly: true + type: boolean + modified_at: + description: The ISO 8601 timestamp of when the user account was last modified. + format: date-time + type: string + name: + description: The full display name of the user as shown in the Datadog UI. + nullable: true + type: string + service_account: + description: |- + Whether this is a service account rather than a human user. + Service accounts are used for programmatic API access. + type: boolean + status: + description: The current status of the user account (for example, `Active`, `Pending`, or `Disabled`). + type: string + title: + description: The job title of the user (for example, "Senior Engineer" or "Product Manager"). + nullable: true + type: string + uuid: + description: The globally unique identifier (UUID) of the user. + readOnly: true + type: string + verified: + description: Whether the user's email address has been verified. + type: boolean + type: object + UserResponseRelationships: + description: Relationships of the user object returned by the API. + properties: + org: + $ref: '#/components/schemas/RelationshipToOrganization' + other_orgs: + $ref: '#/components/schemas/RelationshipToOrganizations' + other_users: + $ref: '#/components/schemas/RelationshipToUsers' + roles: + $ref: '#/components/schemas/RelationshipToRoles' + type: object + UsersType: + default: users + description: Users resource type. + enum: + - users + example: users + type: string + x-enum-varnames: + - USERS + MonitorConfigPolicyPolicy: + description: Configuration for the policy. + properties: + tag_key: + description: The key of the tag. + example: datacenter + maxLength: 255 + type: string + tag_key_required: + description: If a tag key is required for monitor creation. + example: true + type: boolean + valid_tag_values: + description: Valid values for the tag. + example: + - prod + - staging + items: + description: A valid tag value for the monitor configuration policy. + maxLength: 255 + type: string + type: array + type: object + MonitorConfigPolicyType: + default: tag + description: The monitor configuration policy type. + enum: + - tag + example: tag + type: string + x-enum-varnames: + - TAG + MonitorConfigPolicyPolicyCreateRequest: + description: Configuration for the policy. + properties: + tag_key: + description: The key of the tag. + example: datacenter + maxLength: 255 + type: string + tag_key_required: + description: If a tag key is required for monitor creation. + example: true + type: boolean + valid_tag_values: + description: Valid values for the tag. + example: + - prod + - staging + items: + description: A valid tag value for the monitor configuration policy. + maxLength: 255 + type: string + type: array + required: + - tag_key + - tag_key_required + - valid_tag_values + type: object + MonitorUserTemplateCreated: + description: The created timestamp of the template. + example: '2024-01-02T03:04:23.274966+00:00' + format: date-time + readOnly: true + type: string + MonitorUserTemplateDescription: + description: A brief description of the monitor user template. + example: This is a template for monitoring user activity. + nullable: true + type: string + MonitorUserTemplateModified: + description: The last modified timestamp. When the template version was created. + example: '2024-02-02T03:04:23.274966+00:00' + format: date-time + readOnly: true + type: string + MonitorUserTemplateTags: + description: The definition of `MonitorUserTemplateTags` object. + example: + - product:Our Custom App + - integration:Azure + items: + description: |- + Tags associated with the monitor user template. Must be key value. Only 'product' and 'integration' keys are + allowed. The value is the name of the category to display the template under. Integrations can be filtered out in the UI. + (Review note: This modeling of 'categories' is subject to change.) + example: us-east1 + minLength: 1 + type: string + uniqueItems: true + type: array + MonitorUserTemplateTemplateVariables: + description: The definition of `MonitorUserTemplateTemplateVariables` object. + items: + $ref: '#/components/schemas/MonitorUserTemplateTemplateVariablesItems' + type: array + MonitorUserTemplateTitle: + description: The title of the monitor user template. + example: Postgres CPU Monitor + type: string + MonitorUserTemplateVersion: + description: The version of the monitor user template. + example: 0 + format: int64 + nullable: true + readOnly: true + type: integer + SimpleMonitorUserTemplate: + description: A simplified version of a monitor user template. + properties: + created: + $ref: '#/components/schemas/MonitorUserTemplateCreated' + description: + $ref: '#/components/schemas/MonitorUserTemplateDescription' + id: + description: The unique identifier. The initial version will match the template ID. + example: 00000000-0000-1234-0000-000000000000 + type: string + monitor_definition: + additionalProperties: {} + description: A valid monitor definition in the same format as the [V1 Monitor API](https://docs.datadoghq.com/api/latest/monitors/#create-a-monitor). + example: + message: You may need to add web hosts if this is consistently high. + name: Bytes received on host0 + query: avg(last_5m):sum:system.net.bytes_rcvd{host:host0} > 100 + type: query alert + type: object + tags: + $ref: '#/components/schemas/MonitorUserTemplateTags' + template_variables: + $ref: '#/components/schemas/MonitorUserTemplateTemplateVariables' + title: + $ref: '#/components/schemas/MonitorUserTemplateTitle' + version: + $ref: '#/components/schemas/MonitorUserTemplateVersion' + type: object + DowntimeScope: + description: The scope to which the downtime applies. Must follow the [common search syntax](https://docs.datadoghq.com/logs/explorer/search_syntax/). + example: env:(staging OR prod) AND datacenter:us-east-1 + type: string + SyntheticsDowntimeTags: + description: List of tags associated with a Synthetics downtime. + example: + - team:backend + - env:prod + items: + description: A tag. + type: string + type: array + SyntheticsDowntimeTestIds: + description: List of Synthetics test public IDs associated with a downtime. + example: + - abc-def-123 + - xyz-uvw-456 + items: + description: A Synthetics test public ID. + type: string + type: array + SyntheticsDowntimeTimeSlotRequests: + description: List of time slots for a Synthetics downtime create or update request. + example: + - duration: 3600 + start: + day: 15 + hour: 10 + minute: 30 + month: 1 + year: 2024 + timezone: Europe/Paris + items: + $ref: '#/components/schemas/SyntheticsDowntimeTimeSlotRequest' + type: array + SyntheticsDowntimeTimeSlotResponses: + description: List of time slots in a Synthetics downtime response. + example: + - duration: 3600 + id: 00000000-0000-0000-0000-000000000002 + start: + day: 15 + hour: 10 + minute: 30 + month: 1 + year: 2024 + timezone: Europe/Paris + items: + $ref: '#/components/schemas/SyntheticsDowntimeTimeSlotResponse' + type: array + SyntheticsSuiteOptions: + description: Object describing the extra options for a Synthetic suite. + properties: + alerting_threshold: + description: Percentage of critical tests failure needed for a suite to fail. + format: double + maximum: 1 + minimum: 0 + type: number + type: object + SyntheticsSuiteTest: + description: Object containing details about a Synthetic test included in a Synthetic suite. + properties: + alerting_criticality: + $ref: '#/components/schemas/SyntheticsSuiteTestAlertingCriticality' + public_id: + description: The public ID of the Synthetic test included in the suite. + example: '' + type: string + required: + - public_id + type: object + SyntheticsSuiteType: + default: suite + description: Type of the Synthetic suite, `suite`. + enum: + - suite + example: suite + type: string + x-enum-varnames: + - SUITE + JsonPatchOperation: + description: A JSON Patch operation as per RFC 6902. + properties: + op: + $ref: '#/components/schemas/JsonPatchOperationOp' + path: + description: A JSON Pointer path (e.g., "/name", "/value/secure"). + example: /name + type: string + value: + description: The value to use for the operation (not applicable for "remove" and "test" operations). + required: + - op + - path + type: object + SyntheticsTestResultDevice: + description: Device information for the test result (browser and mobile tests). + properties: + browser: + $ref: '#/components/schemas/SyntheticsTestResultDeviceBrowser' + id: + description: Device identifier. + example: chrome.laptop_large + type: string + name: + description: Device name. + example: Chrome - Laptop Large + type: string + platform: + $ref: '#/components/schemas/SyntheticsTestResultDevicePlatform' + resolution: + $ref: '#/components/schemas/SyntheticsTestResultDeviceResolution' + type: + description: Device type. + example: browser + type: string + type: object + SyntheticsTestResultExecutionInfo: + description: Execution details for a Synthetic test result. + properties: + duration: + $ref: '#/components/schemas/SyntheticsTestResultDuration' + error_message: + description: Error message if the execution encountered an issue. + example: Connection timed out + type: string + is_fast_retry: + description: Whether this result is from a fast retry. + example: true + type: boolean + timings: + additionalProperties: {} + description: Timing breakdown of the test execution in milliseconds. + example: + dns: 2.9 + download: 2.1 + firstByte: 95.2 + ssl: 187.9 + tcp: 92.6 + total: 380.7 + type: object + tunnel: + description: Whether the test was executed through a tunnel. + example: false + type: boolean + unhealthy: + description: Whether the location was unhealthy during execution. + example: false + type: boolean + type: object + SyntheticsTestResultLocation: + description: Location information for a Synthetic test result. + properties: + id: + description: Identifier of the location. + example: aws:us-east-1 + type: string + name: + description: Human-readable name of the location. + example: N. Virginia (AWS) + type: string + version: + description: Version of the worker that ran the test. + example: 1.0.0 + type: string + worker_id: + description: Identifier of the specific worker that ran the test. + example: worker-abc-123 + type: string + type: object + SyntheticsTestResultStepsInfo: + description: Step execution summary for a Synthetic test result. + properties: + completed: + description: Number of completed steps. + example: 6 + format: int64 + type: integer + errors: + description: Number of steps with errors. + example: 0 + format: int64 + type: integer + total: + description: Total number of steps. + example: 6 + format: int64 + type: integer + type: object + SyntheticsTestSubType: + description: Subtype of the Synthetic test that produced this result. + enum: + - dns + - grpc + - http + - icmp + - mcp + - multi + - ssl + - tcp + - udp + - websocket + example: http + type: string + x-enum-varnames: + - DNS + - GRPC + - HTTP + - ICMP + - MCP + - MULTI + - SSL + - TCP + - UDP + - WEBSOCKET + SyntheticsTestType: + description: Type of the Synthetic test that produced this result. + enum: + - api + - browser + - mobile + - network + example: api + type: string + x-enum-varnames: + - API + - BROWSER + - MOBILE + - NETWORK + SyntheticsTestResultRelationshipTest: + description: Relationship to the Synthetic test. + properties: + data: + $ref: '#/components/schemas/SyntheticsTestResultRelationshipTestData' + type: object + SyntheticsTestResultBatch: + description: Batch information for the test result. + properties: + id: + description: Batch identifier. + example: batch-abc-123 + type: string + type: object + SyntheticsTestResultCI: + description: CI information associated with the test result. + properties: + pipeline: + $ref: '#/components/schemas/SyntheticsTestResultCIPipeline' + provider: + $ref: '#/components/schemas/SyntheticsTestResultCIProvider' + stage: + $ref: '#/components/schemas/SyntheticsTestResultCIStage' + workspace_path: + description: Path of the workspace that ran the CI job. + example: /home/runner/work/example + type: string + type: object + SyntheticsTestResultGit: + description: Git information associated with the test result. + properties: + branch: + description: Git branch name. + example: main + type: string + commit: + $ref: '#/components/schemas/SyntheticsTestResultGitCommit' + repository_url: + description: Git repository URL. + example: https://github.com/DataDog/example + type: string + type: object + SyntheticsTestResultDetail: + description: Full result details for a Synthetic test execution. + properties: + assertions: + description: Assertion results produced by the test. + items: + $ref: '#/components/schemas/SyntheticsTestResultAssertionResult' + type: array + bucket_keys: + $ref: '#/components/schemas/SyntheticsTestResultBucketKeys' + call_type: + description: gRPC call type (for example, `unary`, `healthCheck`, or `reflection`). + example: unary + type: string + cert: + $ref: '#/components/schemas/SyntheticsTestResultCertificate' + compressed_json_descriptor: + description: Compressed JSON descriptor for the test (internal format). + example: compressedJsonDescriptorValue + type: string + compressed_steps: + description: Compressed representation of the test steps (internal format). + example: eJzLSM3JyQcABiwCFQ== + type: string + connection_outcome: + description: Outcome of the connection attempt (for example, `established`, `refused`). + example: established + type: string + dns_resolution: + $ref: '#/components/schemas/SyntheticsTestResultDnsResolution' + duration: + description: Duration of the test execution (in milliseconds). + example: 380.7 + format: double + type: number + exited_on_step_success: + description: Whether the test exited early because a step marked with `exitIfSucceed` passed. + example: false + type: boolean + failure: + $ref: '#/components/schemas/SyntheticsTestResultFailure' + finished_at: + description: Timestamp of when the test finished (in milliseconds). + example: 1723782422760 + format: int64 + type: integer + handshake: + $ref: '#/components/schemas/SyntheticsTestResultHandshake' + id: + description: The unique identifier for this result. + example: '5158904793181869365' + type: string + initial_id: + description: The initial result ID before any retries. + example: '5158904793181869365' + type: string + is_fast_retry: + description: Whether this result is from a fast retry. + example: true + type: boolean + is_last_retry: + description: Whether this result is from the last retry. + example: true + type: boolean + netpath: + $ref: '#/components/schemas/SyntheticsTestResultNetpath' + netstats: + $ref: '#/components/schemas/SyntheticsTestResultNetstats' + ocsp: + $ref: '#/components/schemas/SyntheticsTestResultOCSPResponse' + ping: + $ref: '#/components/schemas/SyntheticsTestResultTracerouteHop' + received_email_count: + description: Number of emails received during the test (email tests). + example: 1 + format: int64 + type: integer + received_message: + description: Message received from the target (for WebSocket/TCP/UDP tests). + example: 'UDP echo: b''Test message''' + type: string + request: + $ref: '#/components/schemas/SyntheticsTestResultRequestInfo' + resolved_ip: + description: IP address resolved for the target host. + example: 54.243.255.141 + type: string + response: + $ref: '#/components/schemas/SyntheticsTestResultResponseInfo' + run_type: + $ref: '#/components/schemas/SyntheticsTestResultRunType' + sent_message: + description: Message sent to the target (for WebSocket/TCP/UDP tests). + example: udp mess + type: string + start_url: + description: Start URL for the test (browser tests). + example: http://34.95.79.70/prototype + type: string + started_at: + description: Timestamp of when the test started (in milliseconds). + example: 1723782422750 + format: int64 + type: integer + status: + $ref: '#/components/schemas/SyntheticsTestResultStatus' + steps: + description: Step results (for browser, mobile, and multistep API tests). + items: + $ref: '#/components/schemas/SyntheticsTestResultStep' + type: array + time_to_interactive: + description: Time to interactive in milliseconds (browser tests). + example: 183 + format: int64 + type: integer + timings: + additionalProperties: {} + description: Timing breakdown of the test request phases (for example, DNS, TCP, TLS, first byte). + example: + dns: 2.9 + download: 2.1 + firstByte: 95.2 + ssl: 187.9 + tcp: 92.6 + total: 380.7 + type: object + trace: + $ref: '#/components/schemas/SyntheticsTestResultTrace' + traceroute: + description: Traceroute hop results (for network tests). + items: + $ref: '#/components/schemas/SyntheticsTestResultTracerouteHop' + type: array + triggered_at: + description: Timestamp of when the test was triggered (in milliseconds). + example: 1723782422715 + format: int64 + type: integer + tunnel: + description: Whether the test was executed through a tunnel. + example: false + type: boolean + turns: + description: Turns executed by a goal-based browser test. + items: + $ref: '#/components/schemas/SyntheticsTestResultTurn' + type: array + unhealthy: + description: Whether the test runner was unhealthy at the time of execution. + example: false + type: boolean + variables: + $ref: '#/components/schemas/SyntheticsTestResultVariables' + type: object + SyntheticsFastTestResultDetail: + description: |- + Detailed result data for the fast test run. The exact shape of nested fields + (`request`, `response`, `assertions`, etc.) depends on the test subtype. + properties: + assertions: + description: Results of each assertion evaluated during the test. + items: + $ref: '#/components/schemas/SyntheticsTestResultAssertionResult' + type: array + call_type: + description: gRPC call type (for example, `unary`, `healthCheck`, or `reflection`). + example: unary + type: string + cert: + $ref: '#/components/schemas/SyntheticsTestResultCertificate' + duration: + description: Total duration of the test in milliseconds. + example: 150.5 + format: double + type: number + failure: + $ref: '#/components/schemas/SyntheticsTestResultFailure' + finished_at: + description: Unix timestamp (ms) of when the test finished. + example: 1679328001000 + format: int64 + type: integer + id: + description: The result ID. Set to the fast test UUID because no persistent result ID exists for fast tests. + example: abc12345-1234-1234-1234-abc123456789 + type: string + is_fast_retry: + description: Whether this result is from an automatic fast retry. + example: false + type: boolean + request: + $ref: '#/components/schemas/SyntheticsTestResultRequestInfo' + resolved_ip: + description: IP address resolved for the target host. + example: 1.2.3.4 + type: string + response: + $ref: '#/components/schemas/SyntheticsTestResultResponseInfo' + run_type: + $ref: '#/components/schemas/SyntheticsTestResultRunType' + started_at: + description: Unix timestamp (ms) of when the test started. + example: 1679328000000 + format: int64 + type: integer + status: + description: Status of the test result (`passed` or `failed`). + example: passed + type: string + steps: + description: Step results for multistep API tests. + items: + $ref: '#/components/schemas/SyntheticsTestResultStep' + type: array + timings: + additionalProperties: {} + description: Timing breakdown of the test request phases (for example, DNS, TCP, TLS, first byte). + example: + dns: 2.9 + download: 2.1 + firstByte: 95.2 + ssl: 187.9 + tcp: 92.6 + total: 380.7 + type: object + traceroute: + description: Traceroute hop results, present for ICMP and TCP tests. + items: + $ref: '#/components/schemas/SyntheticsTestResultTracerouteHop' + type: array + triggered_at: + description: Unix timestamp (ms) of when the test was triggered. + example: 1679327999000 + format: int64 + type: integer + tunnel: + description: Whether the test was run through a Synthetics tunnel. + example: false + type: boolean + type: object + SyntheticsFastTestSubType: + description: Subtype of the Synthetic test that produced this result. + enum: + - dns + - grpc + - http + - icmp + - mcp + - multi + - ssl + - tcp + - udp + - websocket + example: http + type: string + x-enum-varnames: + - DNS + - GRPC + - HTTP + - ICMP + - MCP + - MULTI + - SSL + - TCP + - UDP + - WEBSOCKET + SyntheticsFastTestType: + description: Type of the Synthetic fast test that produced this result. + enum: + - fast-api + - fast-browser + example: fast-api + type: string + x-enum-varnames: + - FAST_API + - FAST_BROWSER + SyntheticsNetworkTestConfig: + description: Configuration object for a Network Path test. + properties: + assertions: + default: [] + description: Array of assertions used for the test. + example: + - operator: lessThan + property: avg + target: 500 + type: latency + items: + $ref: '#/components/schemas/SyntheticsNetworkAssertion' + type: array + request: + $ref: '#/components/schemas/SyntheticsNetworkTestRequest' + type: object + SyntheticsTestOptions: + description: Object describing the extra options for a Synthetic test. + properties: + min_failure_duration: + description: Minimum amount of time in failure required to trigger an alert. + format: int64 + type: integer + min_location_failed: + description: |- + Minimum number of locations in failure required to trigger + an alert. + format: int64 + type: integer + monitor_name: + description: The monitor name is used for the alert title as well as for all monitor dashboard widgets and SLOs. + type: string + monitor_options: + $ref: '#/components/schemas/SyntheticsTestOptionsMonitorOptions' + monitor_priority: + description: Integer from 1 (high) to 5 (low) indicating alert severity. + format: int32 + maximum: 5 + minimum: 1 + type: integer + restricted_roles: + $ref: '#/components/schemas/SyntheticsRestrictedRoles' + retry: + $ref: '#/components/schemas/SyntheticsTestOptionsRetry' + scheduling: + $ref: '#/components/schemas/SyntheticsTestOptionsScheduling' + tick_every: + description: The frequency at which to run the Synthetic test (in seconds). + format: int64 + maximum: 604800 + minimum: 30 + type: integer + type: object + SyntheticsNetworkTestSubType: + description: 'Subtype of the Synthetic Network Path test: `tcp`, `udp`, or `icmp`.' + enum: + - tcp + - udp + - icmp + example: tcp + type: string + x-enum-varnames: + - TCP + - UDP + - ICMP + SyntheticsTestVersionChangeMetadataItem: + description: Object describing a single change within a version. + properties: + action: + description: The action that was performed (for example, `updated` or `created`). + type: string + action_metadata: + $ref: '#/components/schemas/SyntheticsTestVersionActionMetadata' + type: object + SyntheticsTestVersionAuthor: + description: Object describing the author of a test version. + properties: + email: + description: Email address of the author. + example: john.doe@example.com + type: string + handle: + description: The author's Datadog handle (login username). + example: john.doe + type: string + id: + description: UUID of the author. + example: 00000000-0000-0000-0000-000000000000 + type: string + name: + description: Display name of the author. + example: John Doe + type: string + type: object + MonitorOptionsCustomSchedule: + description: Configuration options for the custom schedule. **This feature is in private beta.** + properties: + recurrences: + description: Array of custom schedule recurrences. + items: + $ref: '#/components/schemas/MonitorOptionsCustomScheduleRecurrence' + type: array + type: object + MonitorOptionsSchedulingOptionsEvaluationWindow: + description: Configuration options for the evaluation window. If `hour_starts` is set, no other fields may be set. Otherwise, `day_starts` and `month_starts` must be set together. + properties: + day_starts: + description: The time of the day at which a one day cumulative evaluation window starts. + example: '04:00' + type: string + hour_starts: + description: The minute of the hour at which a one hour cumulative evaluation window starts. + example: 0 + format: int32 + maximum: 59 + minimum: 0 + type: integer + month_starts: + description: The day of the month at which a one month cumulative evaluation window starts. + example: 1 + format: int32 + maximum: 1 + minimum: 1 + type: integer + timezone: + description: The timezone of the time of the day of the cumulative evaluation window start. + example: Europe/Paris + type: string + type: object + MonitorFormulaAndFunctionEventQueryDefinition: + description: A formula and functions events query. + properties: + compute: + $ref: '#/components/schemas/MonitorFormulaAndFunctionEventQueryDefinitionCompute' + data_source: + $ref: '#/components/schemas/MonitorFormulaAndFunctionEventsDataSource' + group_by: + description: Group by options. + items: + $ref: '#/components/schemas/MonitorFormulaAndFunctionEventQueryGroupBy' + type: array + indexes: + description: An array of index names to query in the stream. Omit or use `[]` to query all indexes at once. + example: + - days-3 + - days-7 + items: + description: A log index set up for your organization. For additional indexes, see the [multiple indexes](https://docs.datadoghq.com/logs/indexes/#multiple-indexes) documentation. + type: string + type: array + name: + description: Name of the query for use in formulas. + example: query_errors + type: string + search: + $ref: '#/components/schemas/MonitorFormulaAndFunctionEventQueryDefinitionSearch' + required: + - data_source + - compute + - name + type: object + MonitorFormulaAndFunctionCostQueryDefinition: + description: A formula and functions cost query. + properties: + aggregator: + $ref: '#/components/schemas/MonitorFormulaAndFunctionCostAggregator' + data_source: + $ref: '#/components/schemas/MonitorFormulaAndFunctionCostDataSource' + name: + description: Name of the query for use in formulas. + example: query1 + type: string + query: + description: The monitor query. + example: sum:all.cost{*}.rollup(sum, 86400) + type: string + required: + - name + - data_source + - query + type: object + MonitorFormulaAndFunctionDataQualityQueryDefinition: + description: A formula and functions data quality query. + properties: + data_source: + $ref: '#/components/schemas/MonitorFormulaAndFunctionDataQualityDataSource' + filter: + description: Filter expression used to match on data entities. Uses Aastra query syntax. + example: search for column where `database:production AND table:users` + type: string + group_by: + description: Optional grouping fields for aggregation. + example: + - entity_id + items: + description: A field name to group results by. + type: string + type: array + measure: + $ref: '#/components/schemas/MonitorFormulaAndFunctionDataQualityMeasure' + monitor_options: + $ref: '#/components/schemas/MonitorFormulaAndFunctionDataQualityMonitorOptions' + name: + description: Name of the query for use in formulas. + example: query1 + type: string + schema_version: + description: Schema version for the data quality query. + example: 0.0.1 + type: string + scope: + description: |- + Optional scoping expression to further filter metrics. Uses metrics filter syntax. + This is useful when an entity has been configured to emit metrics with additional tags. + example: env:production + type: string + required: + - name + - data_source + - measure + - filter + type: object + MonitorFormulaAndFunctionDataJobsQueryDefinition: + description: A formula and functions data jobs query. + properties: + job_type: + description: |- + The type of job being monitored. Valid values include: + `databricks.job`, `spark.application`, `airflow.dag`, + `dbt.job`, `dbt.model`, `dbt.test`, `glue.job`. + Custom job types are supported with the `custom.ol.` prefix. + example: databricks.job + type: string + jobs_query: + description: Filter expression used to select the jobs to monitor. + example: job_name:smoke* + type: string + name: + description: Name of the query for use in formulas. Must be `run_query`. + example: run_query + type: string + query_dialect: + description: Query dialect for data jobs queries. Currently only `metric` is supported. + example: metric + type: string + required: + - name + - jobs_query + - job_type + - query_dialect + type: object + MonitorFormulaAndFunctionAggregateAugmentedQueryDefinition: + additionalProperties: false + description: A formula and functions aggregate augmented query. Used to enrich base query results with data from a reference table. + properties: + augment_query: + $ref: '#/components/schemas/MonitorFormulaAndFunctionAggregateAugmentQuery' + base_query: + $ref: '#/components/schemas/MonitorFormulaAndFunctionAggregateBaseQuery' + compute: + description: Compute options for the query. + items: + $ref: '#/components/schemas/MonitorFormulaAndFunctionEventQueryDefinitionCompute' + minItems: 1 + type: array + data_source: + $ref: '#/components/schemas/MonitorFormulaAndFunctionAggregateAugmentedDataSource' + group_by: + description: Group by options for the query. + items: + $ref: '#/components/schemas/MonitorFormulaAndFunctionEventQueryGroupBy' + type: array + join_condition: + $ref: '#/components/schemas/MonitorFormulaAndFunctionAggregateQueryJoinCondition' + name: + description: Name of the query for use in formulas. + example: query1 + type: string + required: + - data_source + - base_query + - augment_query + - join_condition + - compute + - group_by + type: object + MonitorFormulaAndFunctionAggregateFilteredQueryDefinition: + additionalProperties: false + description: A formula and functions aggregate filtered query. Used to filter base query results using data from another source. + properties: + base_query: + $ref: '#/components/schemas/MonitorFormulaAndFunctionAggregateBaseQuery' + compute: + description: Compute options for the query. + items: + $ref: '#/components/schemas/MonitorFormulaAndFunctionEventQueryDefinitionCompute' + type: array + data_source: + $ref: '#/components/schemas/MonitorFormulaAndFunctionAggregateFilteredDataSource' + filter_query: + $ref: '#/components/schemas/MonitorFormulaAndFunctionAggregateFilterQuery' + filters: + description: Filter conditions for the query. + items: + $ref: '#/components/schemas/MonitorFormulaAndFunctionAggregateQueryFilter' + type: array + group_by: + description: Group by options for the query. + items: + $ref: '#/components/schemas/MonitorFormulaAndFunctionEventQueryGroupBy' + type: array + name: + description: Name of the query for use in formulas. + example: query1 + type: string + required: + - data_source + - base_query + - filter_query + - filters + type: object + MonitorSearchCountItem: + description: A facet item. + properties: + count: + description: The number of found monitors with the listed value. + format: int64 + readOnly: true + type: integer + name: + description: The facet value. + readOnly: true + type: object + SyntheticsCIBatchMetadataCI: + description: Description of the CI provider. + properties: + pipeline: + $ref: '#/components/schemas/SyntheticsCIBatchMetadataPipeline' + provider: + $ref: '#/components/schemas/SyntheticsCIBatchMetadataProvider' + type: object + SyntheticsCIBatchMetadataGit: + description: Git information. + properties: + branch: + description: Branch name. + type: string + commitSha: + description: The commit SHA. + type: string + type: object + SyntheticsTestExecutionRule: + description: Execution rule for a Synthetic test. + enum: + - blocking + - non_blocking + - skipped + example: blocking + type: string + x-enum-varnames: + - BLOCKING + - NON_BLOCKING + - SKIPPED + SyntheticsAssertionTarget: + description: An assertion which uses a simple target. + properties: + operator: + $ref: '#/components/schemas/SyntheticsAssertionOperator' + property: + description: The associated assertion property. + type: string + target: + $ref: '#/components/schemas/SyntheticsAssertionTargetValue' + description: Value used by the operator. + timingsScope: + $ref: '#/components/schemas/SyntheticsAssertionTimingsScope' + type: + $ref: '#/components/schemas/SyntheticsAssertionType' + required: + - type + - operator + - target + type: object + SyntheticsAssertionBodyHashTarget: + description: An assertion which targets body hash. + properties: + operator: + $ref: '#/components/schemas/SyntheticsAssertionBodyHashOperator' + target: + $ref: '#/components/schemas/SyntheticsAssertionTargetValue' + description: Value used by the operator. + type: + $ref: '#/components/schemas/SyntheticsAssertionBodyHashType' + required: + - type + - operator + - target + type: object + SyntheticsAssertionJSONPathTarget: + description: An assertion for the `validatesJSONPath` operator. + properties: + operator: + $ref: '#/components/schemas/SyntheticsAssertionJSONPathOperator' + property: + description: The associated assertion property. + type: string + target: + $ref: '#/components/schemas/SyntheticsAssertionJSONPathTargetTarget' + type: + $ref: '#/components/schemas/SyntheticsAssertionType' + required: + - type + - operator + type: object + SyntheticsAssertionJSONSchemaTarget: + description: An assertion for the `validatesJSONSchema` operator. + properties: + operator: + $ref: '#/components/schemas/SyntheticsAssertionJSONSchemaOperator' + target: + $ref: '#/components/schemas/SyntheticsAssertionJSONSchemaTargetTarget' + type: + $ref: '#/components/schemas/SyntheticsAssertionType' + required: + - type + - operator + type: object + SyntheticsAssertionXPathTarget: + description: An assertion for the `validatesXPath` operator. + properties: + operator: + $ref: '#/components/schemas/SyntheticsAssertionXPathOperator' + property: + description: The associated assertion property. + type: string + target: + $ref: '#/components/schemas/SyntheticsAssertionXPathTargetTarget' + type: + $ref: '#/components/schemas/SyntheticsAssertionType' + required: + - type + - operator + type: object + SyntheticsAssertionJavascript: + description: A JavaScript assertion. + properties: + code: + description: The JavaScript code that performs the assertions. + example: dd.expect(dd.response.statusCode).to.equal(200); + type: string + type: + $ref: '#/components/schemas/SyntheticsAssertionJavascriptType' + required: + - type + - code + type: object + SyntheticsAssertionMCPServerCapabilitiesTarget: + description: An assertion that checks that an MCP server advertises the expected capabilities. + properties: + operator: + $ref: '#/components/schemas/SyntheticsAssertionOperator' + target: + description: List of MCP server capabilities to assert against. + example: + - completions + items: + $ref: '#/components/schemas/SyntheticsMCPServerCapability' + type: array + type: + $ref: '#/components/schemas/SyntheticsAssertionMCPServerCapabilitiesType' + required: + - type + - operator + - target + type: object + SyntheticsAssertionMCPRespectsSpecification: + description: An assertion that verifies the MCP server response respects the MCP specification. + properties: + type: + $ref: '#/components/schemas/SyntheticsAssertionMCPRespectsSpecificationType' + required: + - type + type: object + SyntheticsConfigVariableType: + description: Type of the configuration variable. + enum: + - global + - text + - email + example: text + type: string + x-enum-varnames: + - GLOBAL + - TEXT + - EMAIL + SyntheticsTestRequestBodyType: + description: Type of the request body. + enum: + - text/plain + - application/json + - text/xml + - text/html + - application/x-www-form-urlencoded + - graphql + - application/octet-stream + - multipart/form-data + example: text/plain + type: string + x-enum-varnames: + - TEXT_PLAIN + - APPLICATION_JSON + - TEXT_XML + - TEXT_HTML + - APPLICATION_X_WWW_FORM_URLENCODED + - GRAPHQL + - APPLICATION_OCTET_STREAM + - MULTIPART_FORM_DATA + SyntheticsTestCallType: + description: |- + The type of call to perform. Used by gRPC steps (`healthcheck`, `unary`) + and MCP steps (`init`, `tool_list`, `tool_call`). Valid values depend on + the parent step's `subtype`. + enum: + - healthcheck + - unary + - init + - tool_list + - tool_call + example: unary + type: string + x-enum-varnames: + - HEALTHCHECK + - UNARY + - INIT + - TOOL_LIST + - TOOL_CALL + SyntheticsTestRequestCertificate: + description: Client certificate to use when performing the test request. + properties: + cert: + $ref: '#/components/schemas/SyntheticsTestRequestCertificateItem' + key: + $ref: '#/components/schemas/SyntheticsTestRequestCertificateItem' + type: object + SyntheticsTestRequestDNSServerPort: + description: DNS server port to use for DNS tests. + format: int64 + type: integer + SyntheticsTestRequestBodyFile: + description: Object describing a file to be used as part of the request in the test. + properties: + bucketKey: + description: Bucket key of the file. + type: string + content: + description: Content of the file. + maxLength: 3145728 + type: string + encoding: + description: Encoding of the file content. The only supported value is `base64`, indicating the `content` field contains base64-encoded data. + type: string + name: + description: Name of the file. + maxLength: 1500 + type: string + originalFileName: + description: Original name of the file. + maxLength: 1500 + type: string + size: + description: Size of the file. + format: int64 + maximum: 3145728 + minimum: 1 + type: integer + type: + description: Type of the file. + maxLength: 1500 + type: string + type: object + SyntheticsMCPProtocolVersion: + description: The MCP protocol version used by the step. See https://modelcontextprotocol.io/specification. + enum: + - '2025-06-18' + example: '2025-06-18' + type: string + x-enum-varnames: + - VERSION_2025_06_18 + SyntheticsTestMetadata: + additionalProperties: + description: A single metadatum. + type: string + description: Metadata to include when performing the gRPC test. + type: object + SyntheticsTestRequestPort: + description: Port to use when performing the test. + format: int64 + type: integer + SyntheticsTestRequestProxy: + description: The proxy to perform the test. + properties: + headers: + $ref: '#/components/schemas/SyntheticsTestHeaders' + url: + description: URL of the proxy to perform the test. + example: https://example.com + type: string + required: + - url + type: object + SyntheticsAPITestStep: + description: The Test step used in a Synthetic multi-step API test. + properties: + allowFailure: + description: Determines whether or not to continue with test if this step fails. + type: boolean + assertions: + default: [] + description: Array of assertions used for the test. + example: + - operator: lessThan + target: 1000 + type: responseTime + items: + $ref: '#/components/schemas/SyntheticsAssertion' + type: array + exitIfSucceed: + description: Determines whether or not to exit the test if the step succeeds. + type: boolean + extractedValues: + description: Array of values to parse and save as variables from the response. + items: + $ref: '#/components/schemas/SyntheticsParsingOptions' + type: array + extractedValuesFromScript: + description: Generate variables using JavaScript. + type: string + id: + description: ID of the step. + example: abc-def-123 + readOnly: true + type: string + isCritical: + description: |- + Determines whether or not to consider the entire test as failed if this step fails. + Can be used only if `allowFailure` is `true`. + type: boolean + name: + description: The name of the step. + example: Example step name + type: string + request: + $ref: '#/components/schemas/SyntheticsTestRequest' + retry: + $ref: '#/components/schemas/SyntheticsTestOptionsRetry' + subtype: + $ref: '#/components/schemas/SyntheticsAPITestStepSubtype' + required: + - assertions + - request + - name + - subtype + type: object + SyntheticsAPIWaitStep: + description: The Wait step used in a Synthetic multi-step API test. + properties: + id: + description: ID of the step. + example: abc-def-123 + readOnly: true + type: string + name: + description: The name of the step. + example: Example step name + type: string + subtype: + $ref: '#/components/schemas/SyntheticsAPIWaitStepSubtype' + value: + description: 'The time to wait in seconds. Minimum value: 0. Maximum value: 180.' + example: 5 + format: int32 + maximum: 180 + minimum: 0 + type: integer + required: + - name + - subtype + - value + type: object + SyntheticsAPISubtestStep: + description: The subtest step used in a Synthetics multi-step API test. + properties: + allowFailure: + description: Determines whether or not to continue with test if this step fails. + type: boolean + alwaysExecute: + description: A boolean set to always execute this step even if the previous step failed or was skipped. + type: boolean + exitIfSucceed: + description: Determines whether or not to exit the test if the step succeeds. + type: boolean + extractedValuesFromScript: + description: Generate variables using JavaScript. + type: string + id: + description: ID of the step. + example: abc-def-123 + readOnly: true + type: string + isCritical: + description: |- + Determines whether or not to consider the entire test as failed if this step fails. + Can be used only if `allowFailure` is `true`. + type: boolean + name: + description: The name of the step. + example: Example step name + type: string + retry: + $ref: '#/components/schemas/SyntheticsTestOptionsRetry' + subtestPublicId: + description: Public ID of the test to be played as part of a `playSubTest` step type. + example: '' + type: string + subtype: + $ref: '#/components/schemas/SyntheticsAPISubtestStepSubtype' + required: + - name + - subtype + - subtestPublicId + type: object + SyntheticsTestOptionsMonitorOptionsNotificationPresetName: + description: The name of the preset for the notification for the monitor. + enum: + - show_all + - hide_all + - hide_query + - hide_handles + - hide_query_and_handles + - show_only_snapshot + - hide_handles_and_footer + type: string + x-enum-varnames: + - SHOW_ALL + - HIDE_ALL + - HIDE_QUERY + - HIDE_HANDLES + - HIDE_QUERY_AND_HANDLES + - SHOW_ONLY_SNAPSHOT + - HIDE_HANDLES_AND_FOOTER + SyntheticsTestOptionsSchedulingTimeframe: + description: Object describing a timeframe. + properties: + day: + description: Number representing the day of the week. + example: 1 + format: int32 + maximum: 7 + minimum: 1 + type: integer + from: + description: The hour of the day on which scheduling starts. + example: '07:00' + type: string + to: + description: The hour of the day on which scheduling ends. + example: '16:00' + type: string + required: + - day + - from + - to + type: object + SyntheticsBrowserVariableType: + description: Type of browser test variable. + enum: + - element + - email + - global + - text + example: text + type: string + x-enum-varnames: + - ELEMENT + - EMAIL + - GLOBAL + - TEXT + SyntheticsBrowserTestFailureCode: + description: Error code that can be returned by a Synthetic test. + enum: + - API_REQUEST_FAILURE + - ASSERTION_FAILURE + - DOWNLOAD_FILE_TOO_LARGE + - ELEMENT_NOT_INTERACTABLE + - EMAIL_VARIABLE_NOT_DEFINED + - EVALUATE_JAVASCRIPT + - EVALUATE_JAVASCRIPT_CONTEXT + - EXTRACT_VARIABLE + - FORBIDDEN_URL + - FRAME_DETACHED + - INCONSISTENCIES + - INTERNAL_ERROR + - INVALID_TYPE_TEXT_DELAY + - INVALID_URL + - INVALID_VARIABLE_PATTERN + - INVISIBLE_ELEMENT + - LOCATE_ELEMENT + - NAVIGATE_TO_LINK + - OPEN_URL + - PRESS_KEY + - SERVER_CERTIFICATE + - SELECT_OPTION + - STEP_TIMEOUT + - SUB_TEST_NOT_PASSED + - TEST_TIMEOUT + - TOO_MANY_HTTP_REQUESTS + - UNAVAILABLE_BROWSER + - UNKNOWN + - UNSUPPORTED_AUTH_SCHEMA + - UPLOAD_FILES_ELEMENT_TYPE + - UPLOAD_FILES_DIALOG + - UPLOAD_FILES_DYNAMIC_ELEMENT + - UPLOAD_FILES_NAME + type: string + x-enum-varnames: + - API_REQUEST_FAILURE + - ASSERTION_FAILURE + - DOWNLOAD_FILE_TOO_LARGE + - ELEMENT_NOT_INTERACTABLE + - EMAIL_VARIABLE_NOT_DEFINED + - EVALUATE_JAVASCRIPT + - EVALUATE_JAVASCRIPT_CONTEXT + - EXTRACT_VARIABLE + - FORBIDDEN_URL + - FRAME_DETACHED + - INCONSISTENCIES + - INTERNAL_ERROR + - INVALID_TYPE_TEXT_DELAY + - INVALID_URL + - INVALID_VARIABLE_PATTERN + - INVISIBLE_ELEMENT + - LOCATE_ELEMENT + - NAVIGATE_TO_LINK + - OPEN_URL + - PRESS_KEY + - SERVER_CERTIFICATE + - SELECT_OPTION + - STEP_TIMEOUT + - SUB_TEST_NOT_PASSED + - TEST_TIMEOUT + - TOO_MANY_HTTP_REQUESTS + - UNAVAILABLE_BROWSER + - UNKNOWN + - UNSUPPORTED_AUTH_SCHEMA + - UPLOAD_FILES_ELEMENT_TYPE + - UPLOAD_FILES_DIALOG + - UPLOAD_FILES_DYNAMIC_ELEMENT + - UPLOAD_FILES_NAME + SyntheticsBrowserError: + description: Error response object for a browser test. + properties: + description: + description: Description of the error. + example: Example error message + type: string + name: + description: Name of the error. + example: Failed test + type: string + status: + description: Status Code of the error. + example: 500 + format: int64 + type: integer + type: + $ref: '#/components/schemas/SyntheticsBrowserErrorType' + required: + - description + - name + - type + type: object + SyntheticsCheckType: + description: Type of assertion to apply in an API test. + enum: + - equals + - notEquals + - contains + - notContains + - startsWith + - notStartsWith + - greater + - lower + - greaterEquals + - lowerEquals + - matchRegex + - between + - isEmpty + - notIsEmpty + type: string + x-enum-varnames: + - EQUALS + - NOT_EQUALS + - CONTAINS + - NOT_CONTAINS + - STARTS_WITH + - NOT_STARTS_WITH + - GREATER + - LOWER + - GREATER_EQUALS + - LOWER_EQUALS + - MATCH_REGEX + - BETWEEN + - IS_EMPTY + - NOT_IS_EMPTY + SyntheticsPlayingTab: + description: Navigate between different tabs for your browser test. + enum: + - -1 + - 0 + - 1 + - 2 + - 3 + format: int64 + type: integer + x-enum-varnames: + - MAIN_TAB + - NEW_TAB + - TAB_1 + - TAB_2 + - TAB_3 + SyntheticsCoreWebVitals: + description: Core Web Vitals attached to a browser test step. + properties: + cls: + description: Cumulative Layout Shift. + format: double + type: number + lcp: + description: Largest Contentful Paint in milliseconds. + format: double + type: number + url: + description: URL attached to the metrics. + type: string + type: object + SyntheticsStepDetailWarning: + description: Object collecting warnings for a given step. + properties: + message: + description: Message for the warning. + example: '' + type: string + type: + $ref: '#/components/schemas/SyntheticsWarningType' + required: + - message + - type + type: object + SyntheticsTestRestrictionPolicyBindingPrincipals: + description: List of principals for a mobile test binding. + items: + description: A principal for a mobile test binding. + maxLength: 1500 + type: string + type: array + SyntheticsTestRestrictionPolicyBindingRelation: + description: The type of relation for the binding. + enum: + - editor + - viewer + type: string + x-enum-varnames: + - EDITOR + - VIEWER + SyntheticsMobileTestsMobileApplicationReferenceType: + description: Reference type for the mobile application for a mobile synthetics test. + enum: + - latest + - version + example: latest + type: string + x-enum-varnames: + - LATEST + - VERSION + SyntheticsMobileStepParamsDirection: + description: The direction of the scroll for a `scrollToElement` step type. + enum: + - up + - down + - left + - right + type: string + x-enum-varnames: + - UP + - DOWN + - LEFT + - RIGHT + SyntheticsMobileStepParamsElement: + description: Information about the element used for a step. + properties: + context: + description: Context of the element. + type: string + contextType: + $ref: '#/components/schemas/SyntheticsMobileStepParamsElementContextType' + elementDescription: + description: Description of the element. + type: string + multiLocator: + description: Multi-locator to find the element. (opaque JSON object) + type: string + relativePosition: + $ref: '#/components/schemas/SyntheticsMobileStepParamsElementRelativePosition' + textContent: + description: Text content of the element. + type: string + userLocator: + $ref: '#/components/schemas/SyntheticsMobileStepParamsElementUserLocator' + viewName: + description: Name of the view of the element. + type: string + type: object + SyntheticsMobileStepParamsPositions: + description: List of positions for the `flick` step type. The maximum is 10 flicks per step + items: + $ref: '#/components/schemas/SyntheticsMobileStepParamsPositionsItems' + type: array + SyntheticsMobileStepParamsValue: + description: Values used in the step for in multiple step types. + type: string + format: int64 + SyntheticsMobileStepParamsVariable: + description: Variable object for `extractVariable` step type. + properties: + example: + description: An example for the variable. + example: '' + type: string + name: + description: The variable name. + example: VAR_NAME + type: string + required: + - name + - example + type: object + SyntheticsBasicAuthWeb: + description: Object to handle basic authentication when performing the test. + properties: + password: + description: Password to use for the basic authentication. + example: PaSSw0RD! + type: string + type: + $ref: '#/components/schemas/SyntheticsBasicAuthWebType' + username: + description: Username to use for the basic authentication. + example: my_username + type: string + type: object + SyntheticsBasicAuthSigv4: + description: Object to handle `SIGV4` authentication when performing the test. + properties: + accessKey: + description: Access key for the `SIGV4` authentication. + example: AKIAIOSFODNN7EXAMPLE + type: string + region: + description: Region for the `SIGV4` authentication. + example: us-east-1 + type: string + secretKey: + description: Secret key for the `SIGV4` authentication. + example: wJalrXUtnFEMI/K7MDENG/bPxRfiCYzEXAMPLEKEY + type: string + serviceName: + description: Service name for the `SIGV4` authentication. + example: execute-api + type: string + sessionToken: + description: Session token for the `SIGV4` authentication. + example: |- + AQoEXAMPLEH4aoAH0gNCAPyJxz4BlCFFxWNE1OPTgk5TthT+FvwqnKwRcOIfrRh3c/L + To6UDdyJwOOvEVPvLXCrrrUtdnniCEXAMPLE/IvU1dYUg2RVAJBanLiHb4IgRmpRV3z + rkuWJOgQs8IZZaIv2BXIa2R4OlgkBN9bkUDNCJiBeb/AXlzBBko7b15fjrBs2+cTQtp + Z3CYWFXG8C5zqx37wnOE49mRl/+OtkIKGO7fAE + type: string + type: + $ref: '#/components/schemas/SyntheticsBasicAuthSigv4Type' + required: + - accessKey + - secretKey + - type + type: object + SyntheticsBasicAuthNTLM: + description: Object to handle `NTLM` authentication when performing the test. + properties: + domain: + description: Domain for the authentication to use when performing the test. + example: DOMAINNAME + type: string + password: + description: Password for the authentication to use when performing the test. + example: examplepassword + type: string + type: + $ref: '#/components/schemas/SyntheticsBasicAuthNTLMType' + username: + description: Username for the authentication to use when performing the test. + example: joedoe + type: string + workstation: + description: Workstation for the authentication to use when performing the test. + example: '' + type: string + required: + - type + type: object + SyntheticsBasicAuthDigest: + description: Object to handle digest authentication when performing the test. + properties: + password: + description: Password to use for the digest authentication. + example: PaSSw0RD! + type: string + type: + $ref: '#/components/schemas/SyntheticsBasicAuthDigestType' + username: + description: Username to use for the digest authentication. + example: my_username + type: string + required: + - password + - username + - type + type: object + SyntheticsBasicAuthOauthClient: + description: Object to handle `oauth client` authentication when performing the test. + properties: + accessTokenUrl: + description: Access token URL to use when performing the authentication. + example: https://example.com + type: string + audience: + description: Audience to use when performing the authentication. + example: audience + type: string + clientId: + description: Client ID to use when performing the authentication. + example: oauth-username + type: string + clientSecret: + description: Client secret to use when performing the authentication. + example: oauth-password + type: string + resource: + description: Resource to use when performing the authentication. + example: resource + type: string + scope: + description: Scope to use when performing the authentication. + example: scope + type: string + tokenApiAuthentication: + $ref: '#/components/schemas/SyntheticsBasicAuthOauthTokenApiAuthentication' + type: + $ref: '#/components/schemas/SyntheticsBasicAuthOauthClientType' + required: + - accessTokenUrl + - tokenApiAuthentication + - clientId + - clientSecret + - type + type: object + SyntheticsBasicAuthOauthROP: + description: Object to handle `oauth rop` authentication when performing the test. + properties: + accessTokenUrl: + description: Access token URL to use when performing the authentication. + example: https://example.com + type: string + audience: + description: Audience to use when performing the authentication. + example: audience + type: string + clientId: + description: Client ID to use when performing the authentication. + example: client-id + type: string + clientSecret: + description: Client secret to use when performing the authentication. + example: client-secret + type: string + password: + description: Password to use when performing the authentication. + example: password + type: string + resource: + description: Resource to use when performing the authentication. + example: resource + type: string + scope: + description: Scope to use when performing the authentication. + example: scope + type: string + tokenApiAuthentication: + $ref: '#/components/schemas/SyntheticsBasicAuthOauthTokenApiAuthentication' + type: + $ref: '#/components/schemas/SyntheticsBasicAuthOauthROPType' + username: + description: Username to use when performing the authentication. + example: username + type: string + required: + - accessTokenUrl + - password + - tokenApiAuthentication + - username + - type + type: object + SyntheticsBasicAuthJWT: + description: Object to handle JWT authentication when performing the test. + properties: + addClaims: + $ref: '#/components/schemas/SyntheticsBasicAuthJWTAddClaims' + algorithm: + $ref: '#/components/schemas/SyntheticsBasicAuthJWTAlgorithm' + expiresIn: + description: Token time-to-live in seconds. + example: 3600 + format: int64 + minimum: 1 + type: integer + header: + description: Custom JWT header as a JSON string. + example: '{"kid": "my-key-id"}' + type: string + payload: + description: JWT claims as a JSON string. + example: '{"sub": "1234567890", "name": "John Doe"}' + type: string + secret: + description: |- + Signing key for the JWT authentication. Use the shared secret for `HS256` + or the private key (PEM format) for `RS256` and `ES256`. + example: mysecretkey + type: string + tokenPrefix: + description: Prefix added before the token in the `Authorization` header. Defaults to `Bearer`. + example: Bearer + type: string + type: + $ref: '#/components/schemas/SyntheticsBasicAuthJWTType' + required: + - algorithm + - payload + - secret + - type + type: object + SyntheticsSSLCertificateIssuer: + description: Object describing the issuer of a SSL certificate. + properties: + C: + description: Country Name that issued the certificate. + type: string + CN: + description: Common Name that issued certificate. + type: string + L: + description: Locality that issued the certificate. + type: string + O: + description: Organization that issued the certificate. + type: string + OU: + description: Organizational Unit that issued the certificate. + type: string + ST: + description: State Or Province Name that issued the certificate. + type: string + type: object + SyntheticsSSLCertificateSubject: + description: Object describing the SSL certificate used for the test. + properties: + C: + description: Country Name associated with the certificate. + type: string + CN: + description: Common Name that associated with the certificate. + type: string + L: + description: Locality associated with the certificate. + type: string + O: + description: Organization associated with the certificate. + type: string + OU: + description: Organizational Unit associated with the certificate. + type: string + ST: + description: State Or Province Name associated with the certificate. + type: string + altName: + description: Subject Alternative Name associated with the certificate. + type: string + type: object + SyntheticsApiTestFailureCode: + description: Error code that can be returned by a Synthetic test. + enum: + - BODY_TOO_LARGE + - DENIED + - TOO_MANY_REDIRECTS + - AUTHENTICATION_ERROR + - DECRYPTION + - INVALID_CHAR_IN_HEADER + - HEADER_TOO_LARGE + - HEADERS_INCOMPATIBLE_CONTENT_LENGTH + - INVALID_REQUEST + - REQUIRES_UPDATE + - UNESCAPED_CHARACTERS_IN_REQUEST_PATH + - MALFORMED_RESPONSE + - INCORRECT_ASSERTION + - CONNREFUSED + - CONNRESET + - DNS + - HOSTUNREACH + - NETUNREACH + - TIMEOUT + - SSL + - OCSP + - INVALID_TEST + - TUNNEL + - WEBSOCKET + - UNKNOWN + - INTERNAL_ERROR + type: string + x-enum-varnames: + - BODY_TOO_LARGE + - DENIED + - TOO_MANY_REDIRECTS + - AUTHENTICATION_ERROR + - DECRYPTION + - INVALID_CHAR_IN_HEADER + - HEADER_TOO_LARGE + - HEADERS_INCOMPATIBLE_CONTENT_LENGTH + - INVALID_REQUEST + - REQUIRES_UPDATE + - UNESCAPED_CHARACTERS_IN_REQUEST_PATH + - MALFORMED_RESPONSE + - INCORRECT_ASSERTION + - CONNREFUSED + - CONNRESET + - DNS + - HOSTUNREACH + - NETUNREACH + - TIMEOUT + - SSL + - OCSP + - INVALID_TEST + - TUNNEL + - WEBSOCKET + - UNKNOWN + - INTERNAL_ERROR + SyntheticsGlobalVariableParserType: + description: Type of parser for a Synthetic global variable from a synthetics test. + enum: + - raw + - json_path + - regex + - x_path + example: raw + type: string + x-enum-varnames: + - RAW + - JSON_PATH + - REGEX + - X_PATH + SyntheticsGlobalVariableTOTPParameters: + description: Parameters for the TOTP/MFA variable + properties: + digits: + description: Number of digits for the OTP code. + example: 6 + format: int32 + maximum: 10 + minimum: 4 + type: integer + refresh_interval: + description: Interval for which to refresh the token (in seconds). + example: 30 + format: int32 + maximum: 999 + minimum: 0 + type: integer + type: object + MonitorNotificationRuleCondition: + description: |- + A conditional recipient rule composed of a `scope` (the matching condition) and + `recipients` (who to notify when it matches). + properties: + recipients: + $ref: '#/components/schemas/MonitorNotificationRuleRecipients' + description: A list of recipients to notify. Uses the same format as the monitor `message` field. Must not start with an '@'. + scope: + $ref: '#/components/schemas/MonitorNotificationRuleConditionScope' + required: + - scope + - recipients + type: object + MonitorNotificationRuleFilterTags: + additionalProperties: false + description: Filters monitor notifications by a list of tag key:value pairs. + properties: + tags: + description: A list of tag key:value pairs (e.g. `team:product`). All tags must match (AND semantics). + example: + - team:product + - host:abc + items: + description: A tag key:value pair to match against monitor notifications. + maxLength: 255 + type: string + maxItems: 20 + minItems: 1 + type: array + uniqueItems: true + required: + - tags + type: object + MonitorNotificationRuleFilterScope: + additionalProperties: false + description: Filters monitor notifications using a scope expression over key:value pairs with boolean logic (AND, OR, NOT). + properties: + scope: + description: A scope expression composed by key:value pairs (e.g. `service:foo`) with boolean operators (AND, OR, NOT) and parentheses for grouping. + example: service:(foo OR bar) AND team:test NOT environment:staging + maxLength: 3000 + minLength: 1 + type: string + required: + - scope + type: object + MonitorNotificationRuleRelationshipsCreatedByData: + description: Data for the user who created the monitor notification rule. + nullable: true + properties: + id: + description: User ID of the monitor notification rule creator. + example: 00000000-0000-1234-0000-000000000000 + type: string + type: + $ref: '#/components/schemas/UsersType' + type: object + RelationshipToOrganization: + description: Relationship to an organization. + properties: + data: + $ref: '#/components/schemas/RelationshipToOrganizationData' + required: + - data + type: object + RelationshipToOrganizations: + description: Relationship to organizations. + properties: + data: + description: Relationships to organization objects. + example: [] + items: + $ref: '#/components/schemas/RelationshipToOrganizationData' + type: array + required: + - data + type: object + RelationshipToUsers: + description: Relationship to users. + properties: + data: + description: Relationships to user objects. + example: [] + items: + $ref: '#/components/schemas/RelationshipToUserData' + type: array + required: + - data + type: object + RelationshipToRoles: + description: Relationship to roles. + properties: + data: + description: An array containing type and the unique identifier of a role. + items: + $ref: '#/components/schemas/RelationshipToRoleData' + type: array + type: object + MonitorConfigPolicyTagPolicy: + description: Tag attributes of a monitor configuration policy. + properties: + tag_key: + description: The key of the tag. + example: datacenter + maxLength: 255 + type: string + tag_key_required: + description: If a tag key is required for monitor creation. + example: true + type: boolean + valid_tag_values: + description: Valid values for the tag. + example: + - prod + - staging + items: + description: A valid tag value for the monitor configuration policy. + maxLength: 255 + type: string + type: array + type: object + MonitorConfigPolicyTagPolicyCreateRequest: + description: Tag attributes of a monitor configuration policy. + properties: + tag_key: + description: The key of the tag. + example: datacenter + maxLength: 255 + type: string + tag_key_required: + description: If a tag key is required for monitor creation. + example: true + type: boolean + valid_tag_values: + description: Valid values for the tag. + example: + - prod + - staging + items: + description: A valid tag value for the monitor configuration policy. + maxLength: 255 + type: string + type: array + required: + - tag_key + - tag_key_required + - valid_tag_values + type: object + MonitorUserTemplateTemplateVariablesItems: + additionalProperties: false + description: List of objects representing template variables on the monitor which can have selectable values. + properties: + available_values: + description: Available values for the variable. + example: + - value1 + - value2 + items: + description: An available value for the template variable. + minLength: 1 + type: string + uniqueItems: true + type: array + defaults: + description: Default values of the template variable. + example: + - defaultValue + items: + description: A default value for the template variable. + minLength: 0 + type: string + uniqueItems: true + type: array + name: + description: The name of the template variable. + example: regionName + type: string + tag_key: + description: The tag key associated with the variable. This works the same as dashboard template variables. + example: datacenter + type: string + required: + - name + type: object + SyntheticsDowntimeTimeSlotRequest: + description: A time slot for a Synthetics downtime create or update request. + properties: + duration: + description: The duration of the time slot in seconds, between 60 and 604800. + example: 3600 + format: int64 + type: integer + name: + description: An optional label for the time slot. + example: Weekly maintenance window + type: string + recurrence: + $ref: '#/components/schemas/SyntheticsDowntimeTimeSlotRecurrenceRequest' + start: + $ref: '#/components/schemas/SyntheticsDowntimeTimeSlotDate' + timezone: + description: The IANA timezone name for the time slot. + example: Europe/Paris + type: string + required: + - start + - timezone + - duration + type: object + SyntheticsDowntimeTimeSlotResponse: + description: A time slot returned in a Synthetics downtime response. + properties: + duration: + description: The duration of the time slot in seconds. + example: 3600 + format: int64 + type: integer + id: + description: The unique identifier of the time slot. + example: 00000000-0000-0000-0000-000000000002 + type: string + name: + description: The label for the time slot. + example: Weekly maintenance window + type: string + recurrence: + $ref: '#/components/schemas/SyntheticsDowntimeTimeSlotRecurrenceResponse' + start: + $ref: '#/components/schemas/SyntheticsDowntimeTimeSlotDate' + timezone: + description: The IANA timezone name for the time slot. + example: Europe/Paris + type: string + required: + - id + - start + - timezone + - duration + type: object + SyntheticsSuiteTestAlertingCriticality: + description: Alerting criticality for each the test. + enum: + - ignore + - critical + example: critical + type: string + x-enum-varnames: + - IGNORE + - CRITICAL + JsonPatchOperationOp: + description: The operation to perform. + enum: + - add + - remove + - replace + - move + - copy + - test + example: add + type: string + x-enum-varnames: + - ADD + - REMOVE + - REPLACE + - MOVE + - COPY + - TEST + SyntheticsTestResultDeviceBrowser: + description: Browser information for the device used to run the test. + properties: + type: + description: Browser type (for example, `chrome`, `firefox`). + example: edge + type: string + user_agent: + description: User agent string reported by the browser. + example: Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/90.0.4430.212 Safari/537.36 Edg/127.0.2651.105 DatadogSynthetics + type: string + version: + description: Browser version. + example: 127.0.2651.105 + type: string + type: object + SyntheticsTestResultDevicePlatform: + description: Platform information for the device used to run the test. + properties: + name: + description: Platform name (for example, `linux`, `macos`). + example: ios + type: string + version: + description: Platform version. + example: '14.8' + type: string + type: object + SyntheticsTestResultDeviceResolution: + description: Screen resolution of the device used to run the test. + properties: + height: + description: Viewport height in pixels. + example: 1100 + format: int64 + type: integer + pixel_ratio: + description: Device pixel ratio. + example: 2 + format: double + type: number + width: + description: Viewport width in pixels. + example: 1440 + format: int64 + type: integer + type: object + SyntheticsTestResultDuration: + description: Total duration of a Synthetic test execution. + properties: + has_duration: + description: Whether a duration was recorded for this execution. + example: true + type: boolean + value: + description: Duration value in milliseconds. + example: 380 + format: int64 + type: integer + type: object + SyntheticsTestResultRelationshipTestData: + description: Data for the test relationship. + properties: + id: + description: The public ID of the test. + example: abc-def-123 + type: string + type: + description: Type of the related resource. + example: test + type: string + type: object + SyntheticsTestResultCIPipeline: + description: Details of the CI pipeline. + properties: + id: + description: Pipeline identifier. + example: pipeline-abc-123 + type: string + name: + description: Pipeline name. + example: build-and-test + type: string + number: + description: Pipeline number. + example: 42 + format: int64 + type: integer + url: + description: Pipeline URL. + example: https://github.com/DataDog/example/actions/runs/42 + type: string + type: object + SyntheticsTestResultCIProvider: + description: Details of the CI provider. + properties: + name: + description: Provider name. + example: github + type: string + type: object + SyntheticsTestResultCIStage: + description: Details of the CI stage. + properties: + name: + description: Stage name. + example: test + type: string + type: object + SyntheticsTestResultGitCommit: + description: Details of the Git commit associated with the test result. + properties: + author: + $ref: '#/components/schemas/SyntheticsTestResultGitUser' + committer: + $ref: '#/components/schemas/SyntheticsTestResultGitUser' + message: + description: Commit message. + example: Fix bug in login flow + type: string + sha: + description: Commit SHA. + example: 9e107d9d372bb6826bd81d3542a419d6f0e1de56 + type: string + url: + description: URL of the commit. + example: https://github.com/DataDog/example/commit/9e107d9d372bb6826bd81d3542a419d6f0e1de56 + type: string + type: object + SyntheticsTestResultAssertionResult: + description: An individual assertion result from a Synthetic test. + properties: + actual: + description: Actual value observed during the test. Its type depends on the assertion type. + example: 200 + error_message: + description: Error message if the assertion failed. + example: 'Assertion failed: expected 200 but got 500' + type: string + expected: + description: Expected value for the assertion. Its type depends on the assertion type. + example: '200' + operator: + description: Operator used for the assertion (for example, `is`, `contains`). + example: is + type: string + property: + description: Property targeted by the assertion, when applicable. + example: content-type + type: string + target: + description: Target value for the assertion. Its type depends on the assertion type. + example: 200 + target_path: + description: JSON path or XPath evaluated for the assertion. + example: $.url + type: string + target_path_operator: + description: Operator used for the target path assertion. + example: contains + type: string + type: + description: Type of the assertion (for example, `responseTime`, `statusCode`, `body`). + example: statusCode + type: string + valid: + description: Whether the assertion passed. + example: true + type: boolean + type: object + SyntheticsTestResultBucketKeys: + description: Storage bucket keys for artifacts produced during a step or test. + properties: + after_step_screenshot: + description: Key for the screenshot captured after the step (goal-based tests). + example: screenshots/after-step-1-1.png + type: string + after_turn_screenshot: + description: Key for the screenshot captured after the turn (goal-based tests). + example: screenshots/after-turn-1.png + type: string + artifacts: + description: Key for miscellaneous artifacts. + example: 2/e2e-tests/equ-jku-twc/results/6989498452827932222/edge.laptop_large/artifacts__1724521416257.json + type: string + before_step_screenshot: + description: Key for the screenshot captured before the step (goal-based tests). + example: screenshots/before-step-1-1.png + type: string + before_turn_screenshot: + description: Key for the screenshot captured before the turn (goal-based tests). + example: screenshots/before-turn-1.png + type: string + crash_report: + description: Key for a captured crash report. + example: 2/e2e-tests/d2z-32s-iax/results/1340718101990858549/synthetics:mobile:device:iphone_se_2020_ios_14/crash_report.log + type: string + device_logs: + description: Key for captured device logs. + example: 2/e2e-tests/d2z-32s-iax/results/1340718101990858549/synthetics:mobile:device:iphone_se_2020_ios_14/d2z-32s-iax_1340718101990858549_device_logs.log + type: string + email_messages: + description: Keys for email message payloads captured by the step. + items: + description: Storage bucket key for a captured email message. + type: string + type: array + screenshot: + description: Key for the captured screenshot. + example: 2/e2e-tests/equ-jku-twc/results/6989498452827932222/edge.laptop_large/step-0__1724521416269.jpeg + type: string + snapshot: + description: Key for the captured DOM snapshot. + example: 2/e2e-tests/equ-jku-twc/results/6989498452827932222/edge.laptop_large/snapshot.html + type: string + source: + description: Key for the page source or element source. + example: 2/e2e-tests/d2z-32s-iax/results/1340718101990858549/synthetics:mobile:device:iphone_se_2020_ios_14/step-0__1724445301832.xml + type: string + type: object + SyntheticsTestResultCertificate: + description: SSL/TLS certificate information returned from an SSL test. + properties: + cipher: + description: Cipher used for the TLS connection. + example: TLS_AES_256_GCM_SHA384 + type: string + exponent: + description: RSA exponent of the certificate. + example: 65537 + format: int64 + type: integer + ext_key_usage: + description: Extended key usage extensions for the certificate. + example: + - 1.3.6.1.5.5.7.3.1 + items: + description: Extended key usage value. + type: string + type: array + fingerprint: + description: SHA-1 fingerprint of the certificate. + example: D6:03:5A:9F:93:E1:B7:28:EC:90:C5:9F:72:30:55:7C:74:5F:53:92 + type: string + fingerprint256: + description: SHA-256 fingerprint of the certificate. + example: 04:45:93:A9:4C:14:70:47:DB:3C:FC:05:F9:5A:50:4E:DA:DB:A1:C6:37:3D:15:C0:B2:7E:5D:93:5F:A2:02:C7 + type: string + issuer: + additionalProperties: + type: string + description: Certificate issuer details. + example: + C: US + CN: WE2 + O: Google Trust Services + type: object + modulus: + description: RSA modulus of the certificate. + example: C0FCE9F9... + type: string + protocol: + description: TLS protocol used (for example, `TLSv1.2`). + example: TLSv1.3 + type: string + serial_number: + description: Serial number of the certificate. + example: 7B584A1A6670A1EB0941A9A121569D60 + type: string + subject: + additionalProperties: + type: string + description: Certificate subject details. + example: + CN: '*.google.fr' + altName: DNS:*.google.fr, DNS:google.fr + type: object + tls_version: + description: TLS protocol version. + example: 1.3 + format: double + type: number + valid: + $ref: '#/components/schemas/SyntheticsTestResultCertificateValidity' + type: object + SyntheticsTestResultDnsResolution: + description: DNS resolution details recorded during the test execution. + properties: + attempts: + description: DNS resolution attempts made during the test. + items: + $ref: '#/components/schemas/SyntheticsTestResultDnsResolutionAttempt' + type: array + resolved_ip: + description: Resolved IP address for the target host. + example: 54.243.255.141 + type: string + resolved_port: + description: Resolved port for the target service. + example: '443' + type: string + server: + description: DNS server used for the resolution. + example: 8.8.4.4 + type: string + type: object + SyntheticsTestResultFailure: + description: Details about the failure of a Synthetic test. + properties: + code: + description: Error code for the failure. + example: TIMEOUT + type: string + internal_code: + description: Internal error code used for debugging. + example: INCORRECT_ASSERTION + type: string + internal_message: + description: Internal error message used for debugging. + example: Assertion failed on step 2 + type: string + message: + description: Error message for the failure. + example: Connection timed out + type: string + type: object + SyntheticsTestResultHandshake: + description: Handshake request and response for protocol-level tests. + properties: + request: + $ref: '#/components/schemas/SyntheticsTestResultRequestInfo' + response: + $ref: '#/components/schemas/SyntheticsTestResultResponseInfo' + type: object + SyntheticsTestResultNetpath: + description: Network Path test result capturing the path between source and destination. + properties: + destination: + $ref: '#/components/schemas/SyntheticsTestResultNetpathDestination' + hops: + description: Hops along the network path. + items: + $ref: '#/components/schemas/SyntheticsTestResultNetpathHop' + type: array + origin: + description: Origin of the network path (for example, probe source). + example: synthetics + type: string + pathtrace_id: + description: Identifier of the path trace. + example: 5d3cb978-533b-41ce-85a4-3661c8dd6a0b + type: string + protocol: + description: Protocol used for the path trace (for example, `tcp`, `udp`, `icmp`). + example: TCP + type: string + source: + $ref: '#/components/schemas/SyntheticsTestResultNetpathEndpoint' + tags: + description: Tags associated with the network path measurement. + example: + - synthetics.test_id:nja-epx-mg8 + items: + description: Tag associated with the network path measurement. + type: string + type: array + timestamp: + description: Unix timestamp (ms) of the network path measurement. + example: 1744117822266 + format: int64 + type: integer + type: object + SyntheticsTestResultNetstats: + description: Aggregated network statistics from the test execution. + properties: + hops: + $ref: '#/components/schemas/SyntheticsTestResultNetstatsHops' + jitter: + description: Network jitter in milliseconds. + example: 0.08 + format: double + type: number + latency: + $ref: '#/components/schemas/SyntheticsTestResultNetworkLatency' + packet_loss_percentage: + description: Percentage of probe packets lost. + example: 0 + format: double + type: number + packets_received: + description: Number of probe packets received. + example: 4 + format: int64 + type: integer + packets_sent: + description: Number of probe packets sent. + example: 4 + format: int64 + type: integer + type: object + SyntheticsTestResultOCSPResponse: + description: OCSP response received while validating a certificate. + properties: + certificate: + $ref: '#/components/schemas/SyntheticsTestResultOCSPCertificate' + status: + description: OCSP response status (for example, `good`, `revoked`, `unknown`). + example: good + type: string + updates: + $ref: '#/components/schemas/SyntheticsTestResultOCSPUpdates' + type: object + SyntheticsTestResultTracerouteHop: + description: A network probe result, used for traceroute hops and ping summaries. + properties: + host: + description: Target hostname. + example: 34.95.79.70 + type: string + latency: + $ref: '#/components/schemas/SyntheticsTestResultNetworkLatency' + packet_loss_percentage: + description: Percentage of probe packets lost. + example: 0 + format: double + type: number + packet_size: + description: Size of each probe packet in bytes. + example: 56 + format: int64 + type: integer + packets_received: + description: Number of probe packets received. + example: 4 + format: int64 + type: integer + packets_sent: + description: Number of probe packets sent. + example: 4 + format: int64 + type: integer + resolved_ip: + description: Resolved IP address for the target. + example: 34.95.79.70 + type: string + routers: + description: List of intermediate routers for the traceroute. + items: + $ref: '#/components/schemas/SyntheticsTestResultRouter' + type: array + type: object + SyntheticsTestResultRequestInfo: + description: Details of the outgoing request made during the test execution. + properties: + allow_insecure: + description: Whether insecure certificates are allowed for this request. + example: false + type: boolean + body: + description: Body sent with the request. + example: '{"key":"value"}' + type: string + call_type: + description: gRPC call type (for example, `unary`, `healthCheck`, or `reflection`). + example: unary + type: string + destination_service: + description: Destination service for a Network Path test. + example: my-service + type: string + dns_server: + description: DNS server used to resolve the target host. + example: 8.8.8.8 + type: string + dns_server_port: + description: Port of the DNS server used for resolution. + example: 53 + format: int64 + type: integer + e2e_queries: + description: Number of end-to-end probe queries issued. + example: 4 + format: int64 + type: integer + files: + description: Files attached to the request. + items: + $ref: '#/components/schemas/SyntheticsTestResultFileRef' + type: array + headers: + additionalProperties: {} + description: Headers sent with the request. + example: + content-type: application/json + type: object + host: + description: Host targeted by the request. + example: grpcbin.test.k6.io + type: string + max_ttl: + description: Maximum TTL for network probe packets. + example: 64 + format: int64 + type: integer + message: + description: Message sent with the request (for WebSocket/TCP/UDP tests). + example: My message + type: string + method: + description: HTTP method used for the request. + example: GET + type: string + no_saving_response_body: + description: Whether the response body was not saved. + example: true + type: boolean + port: + description: Port targeted by the request. Can be a number or a string variable reference. + example: 9000 + service: + description: Service name targeted by the request (for gRPC tests). + example: addsvc.Add + type: string + source_service: + description: Source service for a Network Path test. + example: synthetics + type: string + timeout: + description: Request timeout in milliseconds. + example: 60 + format: int64 + type: integer + tool_name: + description: Name of the MCP tool called (MCP tests only). + example: search + type: string + traceroute_queries: + description: Number of traceroute probe queries issued. + example: 2 + format: int64 + type: integer + url: + description: URL targeted by the request. + example: https://httpbin.org/anything/lol valuehugo + type: string + type: object + SyntheticsTestResultResponseInfo: + description: Details of the response received during the test execution. + properties: + body: + description: Body of the response. + example: '{"status":"ok"}' + type: string + body_compressed: + description: Compressed representation of the response body. + example: eJzLSM3JyQcABiwCFQ== + type: string + body_hashes: + description: Hashes computed over the response body. + example: 9e107d9d372bb6826bd81d3542a419d6 + type: string + body_size: + description: Size of the response body in bytes. + example: 793 + format: int64 + type: integer + cache_headers: + additionalProperties: + type: string + description: Cache-related response headers. + example: + server: gunicorn/19.9.0 + type: object + cdn: + $ref: '#/components/schemas/SyntheticsTestResultCdnProviderInfo' + close: + $ref: '#/components/schemas/SyntheticsTestResultWebSocketClose' + compressed_message: + description: Compressed representation of the response message. + example: eJzLSM3JyQcABiwCFQ== + type: string + headers: + additionalProperties: {} + description: Response headers. + example: + content-type: application/json + type: object + healthcheck: + $ref: '#/components/schemas/SyntheticsTestResultHealthCheck' + http_version: + description: HTTP version of the response. + example: '2.0' + type: string + is_body_truncated: + description: Whether the response body was truncated. + example: false + type: boolean + is_message_truncated: + description: Whether the response message was truncated. + example: false + type: boolean + message: + description: Message received in the response (for WebSocket/TCP/UDP tests). + example: '{"f_string":"concat-STATIC_HIDDEN_VALUE"}' + type: string + metadata: + additionalProperties: + type: string + description: Additional metadata returned with the response. + type: object + records: + description: DNS records returned in the response (DNS tests only). + items: + $ref: '#/components/schemas/SyntheticsTestResultDnsRecord' + type: array + redirects: + description: Redirect hops encountered while performing the request. + items: + $ref: '#/components/schemas/SyntheticsTestResultRedirect' + type: array + status_code: + description: HTTP status code of the response. + example: 200 + format: int64 + type: integer + type: object + SyntheticsTestResultStep: + description: A step result from a browser, mobile, or multistep API test. + properties: + allow_failure: + description: Whether the test continues when this step fails. + example: false + type: boolean + api_test: + additionalProperties: {} + description: Inner API test definition for browser `runApiTest` steps. + type: object + assertion_result: + $ref: '#/components/schemas/SyntheticsTestResultStepAssertionResult' + assertions: + description: Assertion results produced by the step. + items: + $ref: '#/components/schemas/SyntheticsTestResultAssertionResult' + type: array + blocked_requests_urls: + description: URLs of requests blocked during the step. + items: + description: Blocked request URL. + type: string + type: array + bounds: + $ref: '#/components/schemas/SyntheticsTestResultBounds' + browser_errors: + description: Browser errors captured during the step. + items: + $ref: '#/components/schemas/SyntheticsTestResultBrowserError' + type: array + bucket_keys: + $ref: '#/components/schemas/SyntheticsTestResultBucketKeys' + cdn_resources: + description: CDN resources encountered during the step. + items: + $ref: '#/components/schemas/SyntheticsTestResultCdnResource' + type: array + click_type: + description: Click type performed in a browser step. + example: primary + type: string + compressed_json_descriptor: + description: Compressed JSON descriptor for the step (internal format). + example: compressedJsonDescriptorValue + type: string + config: + additionalProperties: {} + description: Request configuration executed by this step (API test steps). + type: object + description: + description: Human-readable description of the step. + example: Navigate to start URL + type: string + duration: + description: Duration of the step in milliseconds. + example: 1015 + format: double + type: number + element_description: + description: Description of the element interacted with by the step. + example: + type: string + element_updates: + $ref: '#/components/schemas/SyntheticsTestResultStepElementUpdates' + extracted_value: + $ref: '#/components/schemas/SyntheticsTestResultVariable' + failure: + $ref: '#/components/schemas/SyntheticsTestResultFailure' + http_results: + description: HTTP results produced by an MCP step. + items: + $ref: '#/components/schemas/SyntheticsTestResultAssertionResult' + type: array + id: + description: Identifier of the step. + example: fkk-j2a-gmw + type: string + is_critical: + description: Whether this step is critical for the test outcome. + example: true + type: boolean + javascript_custom_assertion_code: + description: Whether the step uses a custom JavaScript assertion. + example: false + type: boolean + locate_element_duration: + description: Time taken to locate the element in milliseconds. + example: 845 + format: double + type: number + name: + description: Name of the step. + example: Extract variable from body + type: string + request: + $ref: '#/components/schemas/SyntheticsTestResultRequestInfo' + response: + $ref: '#/components/schemas/SyntheticsTestResultResponseInfo' + retries: + description: Retry results for the step. + items: + $ref: '#/components/schemas/SyntheticsTestResultStep' + type: array + retry_count: + description: Number of times this step was retried. + example: 0 + format: int64 + type: integer + rum_context: + $ref: '#/components/schemas/SyntheticsTestResultRumContext' + started_at: + description: Unix timestamp (ms) of when the step started. + example: 1724445283308 + format: int64 + type: integer + status: + description: Status of the step (for example, `passed`, `failed`). + example: passed + type: string + sub_step: + $ref: '#/components/schemas/SyntheticsTestResultSubStep' + sub_test: + $ref: '#/components/schemas/SyntheticsTestResultSubTest' + subtype: + description: Subtype of the step. + example: http + type: string + tabs: + description: Browser tabs involved in the step. + items: + $ref: '#/components/schemas/SyntheticsTestResultTab' + type: array + timings: + additionalProperties: {} + description: Timing breakdown of the step execution. + type: object + tunnel: + description: Whether the step was executed through a Synthetics tunnel. + example: false + type: boolean + type: + description: Type of the step (for example, `click`, `assertElementContent`, `runApiTest`). + example: click + type: string + url: + description: URL associated with the step (for navigation steps). + example: http://34.95.79.70/prototype + type: string + value: + description: Step value. Its type depends on the step type. + example: http://34.95.79.70/prototype + variables: + $ref: '#/components/schemas/SyntheticsTestResultVariables' + vitals_metrics: + description: Web vitals metrics captured during the step. + items: + $ref: '#/components/schemas/SyntheticsTestResultVitalsMetrics' + type: array + warnings: + description: Warnings emitted during the step. + items: + $ref: '#/components/schemas/SyntheticsTestResultWarning' + type: array + type: object + SyntheticsTestResultTrace: + description: Trace identifiers associated with a Synthetic test result. + properties: + id: + description: Datadog APM trace identifier. + example: '5513046492231128177' + type: string + otel_id: + description: OpenTelemetry trace identifier. + example: d8ba00eb1507bdba8643ba8e7a1c022c + type: string + type: object + SyntheticsTestResultTurn: + description: A turn in a goal-based browser test, grouping steps and reasoning. + properties: + bucket_keys: + $ref: '#/components/schemas/SyntheticsTestResultBucketKeys' + name: + description: Name of the turn. + example: Turn 1 + type: string + reasoning: + description: Agent reasoning produced for this turn. + example: I need to navigate to the chairs section + type: string + status: + description: Status of the turn (for example, `passed`, `failed`). + example: passed + type: string + steps: + description: Steps executed during the turn. + items: + $ref: '#/components/schemas/SyntheticsTestResultTurnStep' + type: array + turn_finished_at: + description: Unix timestamp (ms) of when the turn finished. + example: 1724521438800 + format: int64 + type: integer + turn_started_at: + description: Unix timestamp (ms) of when the turn started. + example: 1724521436800 + format: int64 + type: integer + type: object + SyntheticsTestResultVariables: + description: Variables captured during a test step. + properties: + config: + description: Variables defined in the test configuration. + items: + $ref: '#/components/schemas/SyntheticsTestResultVariable' + type: array + extracted: + description: Variables extracted during the test execution. + items: + $ref: '#/components/schemas/SyntheticsTestResultVariable' + type: array + type: object + SyntheticsNetworkAssertion: + description: Object describing an assertion for a Network Path test. + properties: + operator: + $ref: '#/components/schemas/SyntheticsNetworkAssertionOperator' + property: + $ref: '#/components/schemas/SyntheticsNetworkAssertionProperty' + target: + description: Target value in milliseconds. + example: 500 + format: double + type: number + type: + $ref: '#/components/schemas/SyntheticsNetworkAssertionLatencyType' required: - - data + - operator + - property + - target + - type type: object - MonitorNotificationRuleResponse: - description: A monitor notification rule. + SyntheticsNetworkTestRequest: + description: Object describing the request for a Network Path test. properties: - data: - $ref: '#/components/schemas/MonitorNotificationRuleData' - included: - description: >- - Array of objects related to the monitor notification rule that the - user requested. + destination_service: + description: An optional label displayed for the destination host in the Network Path visualization. + type: string + e2e_queries: + description: The number of packets sent to probe the destination to measure packet loss, latency and jitter. + example: 50 + format: int64 + type: integer + host: + description: Host name to query. + example: '' + type: string + max_ttl: + description: The maximum time-to-live (max number of hops) used in outgoing probe packets. + example: 30 + format: int64 + type: integer + port: + description: |- + For TCP or UDP tests, the port to use when performing the test. + If not set on a UDP test, a random port is assigned, which may affect the results. + example: 443 + format: int64 + type: integer + source_service: + description: An optional label displayed for the source host in the Network Path visualization. + type: string + tcp_method: + $ref: '#/components/schemas/SyntheticsNetworkTestRequestTCPMethod' + timeout: + description: Timeout in seconds. + format: int64 + type: integer + traceroute_queries: + description: The number of traceroute path tracings. + example: 3 + format: int64 + type: integer + required: + - host + - max_ttl + - e2e_queries + - traceroute_queries + type: object + SyntheticsTestVersionActionMetadata: + description: Object containing metadata about a change action. + properties: + after_value: + description: The value of the property after the change. + before_value: + description: The value of the property before the change. + diff_patches: + description: List of diff patches for text changes. items: - $ref: '#/components/schemas/MonitorNotificationRuleResponseIncludedItem' + $ref: '#/components/schemas/SyntheticsTestVersionDiffPatches' + nullable: true type: array + property_path: + description: The dot-separated path of the property that was changed. + type: string type: object - MonitorNotificationRuleUpdateRequest: - description: Request for updating a monitor notification rule. + MonitorOptionsCustomScheduleRecurrence: + description: Configuration for a recurrence set on the monitor options for custom schedule. properties: - data: - $ref: '#/components/schemas/MonitorNotificationRuleUpdateRequestData' + rrule: + description: Defines the recurrence rule (RRULE) for a given schedule. + example: FREQ=WEEKLY;BYDAY=MO,TU,WE,TH,FR + type: string + start: + description: Defines the start date and time of the recurring schedule. + example: '2023-08-31T16:30:00' + type: string + timezone: + description: Defines the timezone the schedule runs on. + example: Europe/Paris + type: string + type: object + MonitorFormulaAndFunctionEventQueryDefinitionCompute: + description: Compute options. + properties: + aggregation: + $ref: '#/components/schemas/MonitorFormulaAndFunctionEventAggregation' + interval: + description: A time interval in milliseconds. + example: 60000 + format: int64 + type: integer + metric: + description: Measurable attribute to compute. + example: '@duration' + type: string + name: + description: The name assigned to this aggregation, when multiple aggregations are defined for a query. + example: compute_result + type: string + source: + description: Source reference for composite query payloads. + example: filter_query + type: string required: - - data + - aggregation type: object - MonitorConfigPolicyListResponse: - description: Response for retrieving all monitor configuration policies. + MonitorFormulaAndFunctionEventsDataSource: + description: Data source for event platform-based queries. + enum: + - rum + - ci_pipelines + - ci_tests + - audit + - events + - logs + - spans + - database_queries + - network + - network_path + example: rum + type: string + x-enum-varnames: + - RUM + - CI_PIPELINES + - CI_TESTS + - AUDIT + - EVENTS + - LOGS + - SPANS + - DATABASE_QUERIES + - NETWORK + - NETWORK_PATH + MonitorFormulaAndFunctionEventQueryGroupBy: + description: List of objects used to group by. properties: - data: - description: An array of monitor configuration policies. + facet: + description: Event facet. + example: status + type: string + limit: + description: Number of groups to return. + example: 10 + format: int64 + type: integer + sort: + $ref: '#/components/schemas/MonitorFormulaAndFunctionEventQueryGroupBySort' + source: + description: Source reference for composite query payloads. + example: filter_query + type: string + required: + - facet + type: object + MonitorFormulaAndFunctionEventQueryDefinitionSearch: + description: Search options. + properties: + query: + description: Events search string. + example: service:query + type: string + required: + - query + type: object + MonitorFormulaAndFunctionCostAggregator: + description: Aggregation methods for metric queries. + enum: + - avg + - sum + - max + - min + - last + - area + - l2norm + - percentile + - stddev + example: avg + type: string + x-enum-varnames: + - AVG + - SUM + - MAX + - MIN + - LAST + - AREA + - L2NORM + - PERCENTILE + - STDDEV + MonitorFormulaAndFunctionCostDataSource: + description: Data source for cost queries. + enum: + - metrics + - cloud_cost + - datadog_usage + example: cloud_cost + type: string + x-enum-varnames: + - METRICS + - CLOUD_COST + - DATADOG_USAGE + MonitorFormulaAndFunctionDataQualityDataSource: + description: Data source for data quality queries. + enum: + - data_quality_metrics + example: data_quality_metrics + type: string + x-enum-varnames: + - DATA_QUALITY_METRICS + MonitorFormulaAndFunctionDataQualityMeasure: + description: |- + The data quality measure to query. Common values include: + `bytes`, `cardinality`, `custom`, `freshness`, `max`, `mean`, `min`, + `nullness`, `percent_negative`, `percent_zero`, `row_count`, `stddev`, + `sum`, `uniqueness`. Additional values may be supported. + example: row_count + type: string + MonitorFormulaAndFunctionDataQualityMonitorOptions: + description: Monitor configuration options for data quality queries. + properties: + crontab_override: + description: Crontab expression to override the default schedule. + example: '* * * 10' + type: string + custom_sql: + description: Custom SQL query for the monitor. + example: SELECT COUNT(*) FROM users AS dd_value + type: string + custom_where: + description: Custom WHERE clause for the query. + example: USER_ID = 123 + type: string + group_by_columns: + description: Columns to group results by. + example: + - col1 + - col2 items: - $ref: '#/components/schemas/MonitorConfigPolicyResponseData' + description: A column name to group results by. + type: string type: array + model_type_override: + $ref: '#/components/schemas/MonitorFormulaAndFunctionDataQualityModelTypeOverride' + sensitivity: + description: |- + Sensitivity of the anomaly detection model, expressed as a multiplier on the width + of the predicted bounds. Higher values widen the bounds and produce fewer alerts; + lower values tighten them and produce more alerts. Defaults to `3.0`. + example: 3 + format: double + type: number type: object - MonitorConfigPolicyCreateRequest: - description: Request for creating a monitor configuration policy. + MonitorFormulaAndFunctionAggregateAugmentQuery: + description: Augment query for aggregate augmented queries. Can be an events query or a reference table query. properties: - data: - $ref: '#/components/schemas/MonitorConfigPolicyCreateData' + compute: + $ref: '#/components/schemas/MonitorFormulaAndFunctionEventQueryDefinitionCompute' + data_source: + $ref: '#/components/schemas/MonitorFormulaAndFunctionEventsDataSource' + group_by: + description: Group by options. + items: + $ref: '#/components/schemas/MonitorFormulaAndFunctionEventQueryGroupBy' + type: array + indexes: + description: An array of index names to query in the stream. Omit or use `[]` to query all indexes at once. + example: + - days-3 + - days-7 + items: + description: A log index set up for your organization. For additional indexes, see the [multiple indexes](https://docs.datadoghq.com/logs/indexes/#multiple-indexes) documentation. + type: string + type: array + name: + description: Name of the query for use in formulas. + example: query_errors + type: string + search: + $ref: '#/components/schemas/MonitorFormulaAndFunctionEventQueryDefinitionSearch' + columns: + description: List of columns to retrieve from the reference table. + items: + $ref: '#/components/schemas/MonitorFormulaAndFunctionReferenceTableColumn' + type: array + query_filter: + description: Optional filter expression for the reference table query. + type: string + table_name: + description: Name of the reference table. + example: test_table + type: string required: - - data + - data_source + - compute + - name + - table_name type: object - MonitorConfigPolicyResponse: - description: Response for retrieving a monitor configuration policy. + additionalProperties: false + MonitorFormulaAndFunctionAggregateBaseQuery: + description: Base query for aggregate queries. Can be an events query or a metrics query. properties: - data: - $ref: '#/components/schemas/MonitorConfigPolicyResponseData' + compute: + $ref: '#/components/schemas/MonitorFormulaAndFunctionEventQueryDefinitionCompute' + data_source: + $ref: '#/components/schemas/MonitorFormulaAndFunctionEventsDataSource' + group_by: + description: Group by options. + items: + $ref: '#/components/schemas/MonitorFormulaAndFunctionEventQueryGroupBy' + type: array + indexes: + description: An array of index names to query in the stream. Omit or use `[]` to query all indexes at once. + example: + - days-3 + - days-7 + items: + description: A log index set up for your organization. For additional indexes, see the [multiple indexes](https://docs.datadoghq.com/logs/indexes/#multiple-indexes) documentation. + type: string + type: array + name: + description: Name of the query for use in formulas. + example: query_errors + type: string + search: + $ref: '#/components/schemas/MonitorFormulaAndFunctionEventQueryDefinitionSearch' + aggregator: + $ref: '#/components/schemas/MonitorFormulaAndFunctionMetricsAggregator' + query: + description: The metrics query definition. + example: avg:system.cpu.user{*} + type: string + required: + - data_source + - compute + - name + - query type: object - MonitorConfigPolicyEditRequest: - description: Request for editing a monitor configuration policy. + additionalProperties: false + MonitorFormulaAndFunctionAggregateAugmentedDataSource: + description: Data source for aggregate augmented queries. + enum: + - aggregate_augmented_query + example: aggregate_augmented_query + type: string + x-enum-varnames: + - AGGREGATE_AUGMENTED_QUERY + MonitorFormulaAndFunctionAggregateQueryJoinCondition: + additionalProperties: false + description: Join condition for aggregate augmented queries. properties: - data: - $ref: '#/components/schemas/MonitorConfigPolicyEditData' + augment_attribute: + description: Attribute from the augment query to join on. + example: org_id + type: string + base_attribute: + description: Attribute from the base query to join on. + example: org_id + type: string + join_type: + $ref: '#/components/schemas/MonitorFormulaAndFunctionAggregateQueryJoinType' required: - - data + - base_attribute + - augment_attribute + - join_type type: object - MonitorUserTemplateListResponse: - description: Response for retrieving all monitor user templates. + MonitorFormulaAndFunctionAggregateFilteredDataSource: + description: Data source for aggregate filtered queries. + enum: + - aggregate_filtered_query + example: aggregate_filtered_query + type: string + x-enum-varnames: + - AGGREGATE_FILTERED_QUERY + MonitorFormulaAndFunctionAggregateFilterQuery: + description: Filter query for aggregate filtered queries. Can be an events query or a reference table query. properties: - data: - description: An array of monitor user templates. + compute: + $ref: '#/components/schemas/MonitorFormulaAndFunctionEventQueryDefinitionCompute' + data_source: + $ref: '#/components/schemas/MonitorFormulaAndFunctionEventsDataSource' + group_by: + description: Group by options. items: - $ref: '#/components/schemas/MonitorUserTemplateResponseData' + $ref: '#/components/schemas/MonitorFormulaAndFunctionEventQueryGroupBy' + type: array + indexes: + description: An array of index names to query in the stream. Omit or use `[]` to query all indexes at once. + example: + - days-3 + - days-7 + items: + description: A log index set up for your organization. For additional indexes, see the [multiple indexes](https://docs.datadoghq.com/logs/indexes/#multiple-indexes) documentation. + type: string + type: array + name: + description: Name of the query for use in formulas. + example: query_errors + type: string + search: + $ref: '#/components/schemas/MonitorFormulaAndFunctionEventQueryDefinitionSearch' + columns: + description: List of columns to retrieve from the reference table. + items: + $ref: '#/components/schemas/MonitorFormulaAndFunctionReferenceTableColumn' type: array + query_filter: + description: Optional filter expression for the reference table query. + type: string + table_name: + description: Name of the reference table. + example: test_table + type: string + required: + - data_source + - compute + - name + - table_name type: object - MonitorUserTemplateCreateRequest: - description: Request for creating a monitor user template. + additionalProperties: false + MonitorFormulaAndFunctionAggregateQueryFilter: + additionalProperties: false + description: Filter definition for aggregate filtered queries. properties: - data: - $ref: '#/components/schemas/MonitorUserTemplateCreateData' + base_attribute: + description: Attribute from the base query to filter on. + example: org_id + type: string + exclude: + default: false + description: Whether to exclude matching records instead of including them. + type: boolean + filter_attribute: + description: Attribute from the filter query to match against. + example: org_id + type: string required: - - data + - base_attribute + - filter_attribute type: object - MonitorUserTemplateCreateResponse: - description: Response for creating a monitor user template. + SyntheticsCIBatchMetadataPipeline: + description: Description of the CI pipeline. + properties: + url: + description: URL of the pipeline. + type: string + type: object + SyntheticsCIBatchMetadataProvider: + description: Description of the CI provider. + properties: + name: + description: Name of the CI provider. + type: string + type: object + SyntheticsAssertionOperator: + description: Assertion operator to apply. + enum: + - contains + - doesNotContain + - is + - isNot + - lessThan + - lessThanOrEqual + - moreThan + - moreThanOrEqual + - matches + - doesNotMatch + - validates + - isInMoreThan + - isInLessThan + - doesNotExist + - isUndefined + example: contains + type: string + x-enum-varnames: + - CONTAINS + - DOES_NOT_CONTAIN + - IS + - IS_NOT + - LESS_THAN + - LESS_THAN_OR_EQUAL + - MORE_THAN + - MORE_THAN_OR_EQUAL + - MATCHES + - DOES_NOT_MATCH + - VALIDATES + - IS_IN_MORE_DAYS_THAN + - IS_IN_LESS_DAYS_THAN + - DOES_NOT_EXIST + - IS_UNDEFINED + SyntheticsAssertionTargetValue: + description: Value used by the operator in assertions. Can be either a number or string. + example: 0 + format: double + type: number + SyntheticsAssertionTimingsScope: + description: Timings scope for response time assertions. + enum: + - all + - withoutDNS + type: string + x-enum-varnames: + - ALL + - WITHOUT_DNS + SyntheticsAssertionType: + description: Type of the assertion. + enum: + - body + - header + - statusCode + - certificate + - responseTime + - property + - recordEvery + - recordSome + - tlsVersion + - minTlsVersion + - latency + - packetLossPercentage + - packetsReceived + - networkHop + - receivedMessage + - grpcHealthcheckStatus + - grpcMetadata + - grpcProto + - connection + - multiNetworkHop + - jitter + - mcpToolNameLength + - mcpToolCount + example: statusCode + type: string + x-enum-varnames: + - BODY + - HEADER + - STATUS_CODE + - CERTIFICATE + - RESPONSE_TIME + - PROPERTY + - RECORD_EVERY + - RECORD_SOME + - TLS_VERSION + - MIN_TLS_VERSION + - LATENCY + - PACKET_LOSS_PERCENTAGE + - PACKETS_RECEIVED + - NETWORK_HOP + - RECEIVED_MESSAGE + - GRPC_HEALTHCHECK_STATUS + - GRPC_METADATA + - GRPC_PROTO + - CONNECTION + - MULTI_NETWORK_HOP + - JITTER + - MCP_TOOL_NAME_LENGTH + - MCP_TOOL_COUNT + SyntheticsAssertionBodyHashOperator: + description: Assertion operator to apply. + enum: + - md5 + - sha1 + - sha256 + example: md5 + type: string + x-enum-varnames: + - MD5 + - SHA1 + - SHA256 + SyntheticsAssertionBodyHashType: + description: Type of the assertion. + enum: + - bodyHash + example: bodyHash + type: string + x-enum-varnames: + - BODY_HASH + SyntheticsAssertionJSONPathOperator: + description: Assertion operator to apply. + enum: + - validatesJSONPath + example: validatesJSONPath + type: string + x-enum-varnames: + - VALIDATES_JSON_PATH + SyntheticsAssertionJSONPathTargetTarget: + description: Composed target for `validatesJSONPath` operator. properties: - data: - $ref: '#/components/schemas/MonitorUserTemplateResponseData' + elementsOperator: + description: The element from the list of results to assert on. To choose from the first element in the list `firstElementMatches`, every element in the list `everyElementMatches`, at least one element in the list `atLeastOneElementMatches` or the serialized value of the list `serializationMatches`. + type: string + jsonPath: + description: The JSON path to assert. + type: string + operator: + description: The specific operator to use on the path. + type: string + targetValue: + $ref: '#/components/schemas/SyntheticsAssertionTargetValue' + description: The path target value to compare to. type: object - MonitorUserTemplateResponse: - description: Response for retrieving a monitor user template. + SyntheticsAssertionJSONSchemaOperator: + description: Assertion operator to apply. + enum: + - validatesJSONSchema + example: validatesJSONSchema + type: string + x-enum-varnames: + - VALIDATES_JSON_SCHEMA + SyntheticsAssertionJSONSchemaTargetTarget: + description: Composed target for `validatesJSONSchema` operator. properties: - data: - $ref: '#/components/schemas/MonitorUserTemplateResponseDataWithVersions' + jsonSchema: + description: The JSON Schema to assert. + type: string + metaSchema: + $ref: '#/components/schemas/SyntheticsAssertionJSONSchemaMetaSchema' type: object - MonitorUserTemplateUpdateRequest: - description: Request for creating a new monitor user template version. + SyntheticsAssertionXPathOperator: + description: Assertion operator to apply. + enum: + - validatesXPath + example: validatesXPath + type: string + x-enum-varnames: + - VALIDATES_X_PATH + SyntheticsAssertionXPathTargetTarget: + description: Composed target for `validatesXPath` operator. properties: - data: - $ref: '#/components/schemas/MonitorUserTemplateUpdateData' - required: - - data + operator: + description: The specific operator to use on the path. + type: string + targetValue: + $ref: '#/components/schemas/SyntheticsAssertionTargetValue' + description: The path target value to compare to. + xPath: + description: The X path to assert. + type: string type: object - MonitorDowntimeMatchResponse: - description: Response for retrieving all downtime matches for a monitor. + SyntheticsAssertionJavascriptType: + description: Type of the assertion. + enum: + - javascript + example: javascript + type: string + x-enum-varnames: + - JAVASCRIPT + SyntheticsMCPServerCapability: + description: A capability advertised by an MCP server. + enum: + - completions + - experimental + - logging + - prompts + - resources + - tools + type: string + x-enum-varnames: + - COMPLETIONS + - EXPERIMENTAL + - LOGGING + - PROMPTS + - RESOURCES + - TOOLS + SyntheticsAssertionMCPServerCapabilitiesType: + description: Type of the assertion. + enum: + - mcpServerCapabilities + example: mcpServerCapabilities + type: string + x-enum-varnames: + - MCP_SERVER_CAPABILITIES + SyntheticsAssertionMCPRespectsSpecificationType: + description: Type of the assertion. + enum: + - mcpRespectsSpecification + example: mcpRespectsSpecification + type: string + x-enum-varnames: + - MCP_RESPECTS_SPECIFICATION + SyntheticsTestRequestCertificateItem: + description: Define a request certificate. properties: - data: - description: An array of downtime matches. - items: - $ref: '#/components/schemas/MonitorDowntimeMatchResponseData' - type: array - meta: - $ref: '#/components/schemas/DowntimeMeta' + content: + description: Content of the certificate or key. + type: string + filename: + description: File name for the certificate or key. + type: string + updatedAt: + description: Date of update of the certificate or key, ISO format. + type: string type: object - OnDemandConcurrencyCapResponse: - description: On-demand concurrency cap response. + SyntheticsTestRequestNumericalDNSServerPort: + description: Integer DNS server port number to use when performing the test. + format: int64 + type: integer + SyntheticsTestRequestVariableDNSServerPort: + description: String DNS server port number to use when performing the test. Supports templated variables. + type: string + SyntheticsTestRequestNumericalPort: + description: Integer Port number to use when performing the test. + format: int64 + type: integer + SyntheticsTestRequestVariablePort: + description: String Port number to use when performing the test. Supports templated variables. + type: string + SyntheticsParsingOptions: + description: Parsing options for variables to extract. + example: {} properties: - data: - $ref: '#/components/schemas/OnDemandConcurrencyCap' + field: + description: When type is `http_header` or `grpc_metadata`, name of the header or metadatum to extract. + example: content-type + type: string + name: + description: Name of the variable to extract. + type: string + parser: + $ref: '#/components/schemas/SyntheticsVariableParser' + secure: + description: Determines whether or not the extracted value will be obfuscated. + type: boolean + type: + $ref: '#/components/schemas/SyntheticsLocalVariableParsingOptionsType' type: object - OnDemandConcurrencyCapAttributes: - description: On-demand concurrency cap attributes. + SyntheticsAPITestStepSubtype: + description: The subtype of the Synthetic multi-step API test step. + enum: + - http + - grpc + - ssl + - dns + - tcp + - udp + - icmp + - websocket + - mcp + example: http + type: string + x-enum-varnames: + - HTTP + - GRPC + - SSL + - DNS + - TCP + - UDP + - ICMP + - WEBSOCKET + - MCP + SyntheticsAPIWaitStepSubtype: + description: The subtype of the Synthetic multi-step API wait step. + enum: + - wait + example: wait + type: string + x-enum-varnames: + - WAIT + SyntheticsAPISubtestStepSubtype: + description: The subtype of the Synthetic multi-step API subtest step. + enum: + - playSubTest + example: playSubTest + type: string + x-enum-varnames: + - PLAY_SUB_TEST + SyntheticsBrowserErrorType: + description: Error type returned by a browser test. + enum: + - network + - js + example: network + type: string + x-enum-varnames: + - NETWORK + - JS + SyntheticsWarningType: + description: User locator used. + enum: + - user_locator + example: user_locator + type: string + x-enum-varnames: + - USER_LOCATOR + SyntheticsMobileStepParamsElementContextType: + description: Type of the context that the element is in. + enum: + - native + - web + type: string + x-enum-varnames: + - NATIVE + - WEB + SyntheticsMobileStepParamsElementRelativePosition: + description: Position of the action relative to the element. properties: - on_demand_concurrency_cap: - description: Value of the on-demand concurrency cap. + x: + description: The `relativePosition` on the `x` axis for the element. + format: double + type: number + 'y': + description: The `relativePosition` on the `y` axis for the element. format: double type: number type: object - MonitorNotificationRuleData: - description: Monitor notification rule data. + SyntheticsMobileStepParamsElementUserLocator: + description: User locator to find the element. properties: - attributes: - $ref: '#/components/schemas/MonitorNotificationRuleResponseAttributes' - id: - $ref: '#/components/schemas/MonitorNotificationRuleId' - relationships: - $ref: '#/components/schemas/MonitorNotificationRuleRelationships' - type: - $ref: '#/components/schemas/MonitorNotificationRuleResourceType' + failTestOnCannotLocate: + description: Whether if the test should fail if the element cannot be found. + type: boolean + values: + description: Values of the user locator. + items: + $ref: '#/components/schemas/SyntheticsMobileStepParamsElementUserLocatorValuesItems' + type: array type: object - MonitorNotificationRuleResponseIncludedItem: - description: An object related to a monitor notification rule. - oneOf: - - $ref: '#/components/schemas/User' - MonitorNotificationRuleCreateRequestData: - description: Object to create a monitor notification rule. + SyntheticsMobileStepParamsPositionsItems: + description: A description of a single position for a `flick` step type. properties: - attributes: - $ref: '#/components/schemas/MonitorNotificationRuleAttributes' - type: - $ref: '#/components/schemas/MonitorNotificationRuleResourceType' - required: - - attributes + x: + description: The `x` position for the flick. + format: double + type: number + 'y': + description: The `y` position for the flick. + format: double + type: number type: object - MonitorNotificationRuleUpdateRequestData: - description: Object to update a monitor notification rule. + SyntheticsMobileStepParamsValueString: + description: Value used in the step for in multiple step types. + type: string + SyntheticsMobileStepParamsValueNumber: + description: Value used in the step for in multiple step types. + format: int64 + type: integer + SyntheticsBasicAuthWebType: + default: web + description: The type of basic authentication to use when performing the test. + enum: + - web + example: web + type: string + x-enum-varnames: + - WEB + SyntheticsBasicAuthSigv4Type: + default: sigv4 + description: The type of authentication to use when performing the test. + enum: + - sigv4 + example: sigv4 + type: string + x-enum-varnames: + - SIGV4 + SyntheticsBasicAuthNTLMType: + default: ntlm + description: The type of authentication to use when performing the test. + enum: + - ntlm + example: ntlm + type: string + x-enum-varnames: + - NTLM + SyntheticsBasicAuthDigestType: + default: digest + description: The type of basic authentication to use when performing the test. + enum: + - digest + example: digest + type: string + x-enum-varnames: + - DIGEST + SyntheticsBasicAuthOauthTokenApiAuthentication: + description: Type of token to use when performing the authentication. + enum: + - header + - body + example: header + type: string + x-enum-varnames: + - HEADER + - BODY + SyntheticsBasicAuthOauthClientType: + default: oauth-client + description: The type of basic authentication to use when performing the test. + enum: + - oauth-client + example: oauth-client + type: string + x-enum-varnames: + - OAUTH_CLIENT + SyntheticsBasicAuthOauthROPType: + default: oauth-rop + description: The type of basic authentication to use when performing the test. + enum: + - oauth-rop + example: oauth-rop + type: string + x-enum-varnames: + - OAUTH_ROP + SyntheticsBasicAuthJWTAddClaims: + description: Standard JWT claims to automatically inject. properties: - attributes: - $ref: '#/components/schemas/MonitorNotificationRuleAttributes' - id: - $ref: '#/components/schemas/MonitorNotificationRuleId' - type: - $ref: '#/components/schemas/MonitorNotificationRuleResourceType' - required: - - id - - attributes + exp: + description: Whether to inject the `exp` (expiration) claim. + example: true + type: boolean + iat: + description: Whether to inject the `iat` (issued at) claim. + example: true + type: boolean type: object - MonitorConfigPolicyResponseData: - description: A monitor configuration policy data. + SyntheticsBasicAuthJWTAlgorithm: + description: Algorithm to use for the JWT authentication. + enum: + - HS256 + - RS256 + - ES256 + example: HS256 + type: string + x-enum-varnames: + - HS256 + - RS256 + - ES256 + SyntheticsBasicAuthJWTType: + default: jwt + description: The type of authentication to use when performing the test. + enum: + - jwt + example: jwt + type: string + x-enum-varnames: + - JWT + MonitorNotificationRuleConditionScope: + description: |- + Defines the condition under which the recipients are notified. Supported formats: + - Monitor status condition using `transition_type:`, for example `transition_type:is_alert`. + - A single tag key:value pair, for example `env:prod`. + example: transition_type:is_alert + maxLength: 3000 + minLength: 1 + type: string + RelationshipToOrganizationData: + description: Relationship to organization object. properties: - attributes: - $ref: '#/components/schemas/MonitorConfigPolicyAttributeResponse' id: - description: ID of this monitor configuration policy. - example: 00000000-0000-1234-0000-000000000000 + description: ID of the organization. + example: 00000000-0000-beef-0000-000000000000 type: string type: - $ref: '#/components/schemas/MonitorConfigPolicyResourceType' - type: object - MonitorConfigPolicyCreateData: - description: A monitor configuration policy data. - properties: - attributes: - $ref: '#/components/schemas/MonitorConfigPolicyAttributeCreateRequest' - type: - $ref: '#/components/schemas/MonitorConfigPolicyResourceType' + $ref: '#/components/schemas/OrganizationsType' required: + - id - type - - attributes type: object - MonitorConfigPolicyEditData: - description: A monitor configuration policy data. + RelationshipToUserData: + description: Relationship to user object. properties: - attributes: - $ref: '#/components/schemas/MonitorConfigPolicyAttributeEditRequest' id: - description: ID of this monitor configuration policy. - example: 00000000-0000-1234-0000-000000000000 + description: A unique identifier that represents the user. + example: 00000000-0000-0000-2345-000000000000 type: string type: - $ref: '#/components/schemas/MonitorConfigPolicyResourceType' + $ref: '#/components/schemas/UsersType' required: - id - type - - attributes type: object - MonitorUserTemplateResponseData: - description: Monitor user template list response data. + RelationshipToRoleData: + description: Relationship to role object. properties: - attributes: - $ref: '#/components/schemas/MonitorUserTemplateResponseAttributes' id: - $ref: '#/components/schemas/MonitorUserTemplateId' + description: The unique identifier of the role. + example: 3653d3c6-0c75-11ea-ad28-fb5701eabc7d + type: string type: - $ref: '#/components/schemas/MonitorUserTemplateResourceType' + $ref: '#/components/schemas/RolesType' type: object - MonitorUserTemplateCreateData: - description: Monitor user template data. + SyntheticsDowntimeTimeSlotRecurrenceRequest: + description: Recurrence settings for a Synthetics downtime time slot. properties: - attributes: - $ref: '#/components/schemas/MonitorUserTemplateRequestAttributes' - type: - $ref: '#/components/schemas/MonitorUserTemplateResourceType' + end: + $ref: '#/components/schemas/SyntheticsDowntimeTimeSlotDate' + frequency: + $ref: '#/components/schemas/SyntheticsDowntimeFrequency' + interval: + description: The interval between recurrences, relative to the frequency. + example: 1 + format: int64 + type: integer + weekdayPositions: + $ref: '#/components/schemas/SyntheticsDowntimeWeekdayPositions' + weekdays: + $ref: '#/components/schemas/SyntheticsDowntimeWeekdays' required: - - type - - attributes + - frequency type: object - MonitorUserTemplateResponseDataWithVersions: - description: Monitor user template data. + SyntheticsDowntimeTimeSlotDate: + description: A specific date and time used to define the start or end of a Synthetics downtime time slot. properties: - attributes: - $ref: '#/components/schemas/MonitorUserTemplate' - id: - $ref: '#/components/schemas/MonitorUserTemplateId' - type: - $ref: '#/components/schemas/MonitorUserTemplateResourceType' + day: + description: The day component of the date (1-31). + example: 15 + format: int64 + type: integer + hour: + description: The hour component of the time (0-23). + example: 10 + format: int64 + type: integer + minute: + description: The minute component of the time (0-59). + example: 30 + format: int64 + type: integer + month: + description: The month component of the date (1-12). + example: 1 + format: int64 + type: integer + year: + description: The year component of the date. + example: 2024 + format: int64 + type: integer + required: + - year + - month + - day + - hour + - minute type: object - MonitorUserTemplateUpdateData: - description: Monitor user template data. + SyntheticsDowntimeTimeSlotRecurrenceResponse: + description: Recurrence settings returned in a Synthetics downtime time slot response. properties: - attributes: - $ref: '#/components/schemas/MonitorUserTemplateRequestAttributes' - id: - $ref: '#/components/schemas/MonitorUserTemplateId' - type: - $ref: '#/components/schemas/MonitorUserTemplateResourceType' + frequency: + $ref: '#/components/schemas/SyntheticsDowntimeFrequency' + interval: + description: The interval between recurrences, relative to the frequency. + example: 1 + format: int64 + type: integer + until: + $ref: '#/components/schemas/SyntheticsDowntimeTimeSlotDate' + weekdayPositions: + $ref: '#/components/schemas/SyntheticsDowntimeWeekdayPositions' + weekdays: + $ref: '#/components/schemas/SyntheticsDowntimeWeekdays' required: - - id - - type - - attributes + - frequency + - interval + - weekdays type: object - MonitorDowntimeMatchResponseData: - description: A downtime match. + SyntheticsTestResultGitUser: + description: A Git user (author or committer). properties: - attributes: - $ref: '#/components/schemas/MonitorDowntimeMatchResponseAttributes' - id: - description: The downtime ID. - example: 00000000-0000-1234-0000-000000000000 - nullable: true + date: + description: Timestamp of the commit action for this user. + example: '2024-08-15T14:23:00Z' + type: string + email: + description: Email address of the Git user. + example: jane.doe@example.com + type: string + name: + description: Name of the Git user. + example: Jane Doe type: string - type: - $ref: '#/components/schemas/MonitorDowntimeMatchResourceType' type: object - DowntimeMeta: - description: Pagination metadata returned by the API. + SyntheticsTestResultCertificateValidity: + description: Validity window of a certificate. properties: - page: - $ref: '#/components/schemas/DowntimeMetaPage' + from: + description: Unix timestamp (ms) of when the certificate became valid. + example: 1742469686000 + format: int64 + type: integer + to: + description: Unix timestamp (ms) of when the certificate expires. + example: 1749727285000 + format: int64 + type: integer type: object - OnDemandConcurrencyCap: - description: On-demand concurrency cap. - properties: - attributes: - $ref: '#/components/schemas/OnDemandConcurrencyCapAttributes' - type: - $ref: '#/components/schemas/OnDemandConcurrencyCapType' + SyntheticsTestResultDnsResolutionAttempt: + additionalProperties: + type: string + description: A single DNS resolution attempt. Keys are provider-specific attempt fields. type: object - MonitorNotificationRuleResponseAttributes: - additionalProperties: {} - description: Attributes of the monitor notification rule. + SyntheticsTestResultNetpathDestination: + description: Destination endpoint of a network path measurement. properties: - created: - description: Creation time of the monitor notification rule. - example: '2020-01-02T03:04:00.000Z' - format: date-time + hostname: + description: Hostname of the destination. + example: 34.95.79.70 type: string - filter: - $ref: '#/components/schemas/MonitorNotificationRuleFilter' - modified: - description: Time the monitor notification rule was last modified. - example: '2020-01-02T03:04:00.000Z' - format: date-time + ip_address: + description: IP address of the destination. + example: 34.95.79.70 type: string - name: - $ref: '#/components/schemas/MonitorNotificationRuleName' - recipients: - $ref: '#/components/schemas/MonitorNotificationRuleRecipients' + port: + description: Port of the destination service. + example: 80 + format: int64 + type: integer type: object - MonitorNotificationRuleId: - description: The ID of the monitor notification rule. - example: 00000000-0000-1234-0000-000000000000 - type: string - MonitorNotificationRuleRelationships: - description: All relationships associated with monitor notification rule. + SyntheticsTestResultNetpathHop: + description: A single hop along a network path. properties: - created_by: - $ref: '#/components/schemas/MonitorNotificationRuleRelationshipsCreatedBy' + hostname: + description: Resolved hostname of the hop. + example: 70.79.95.34.bc.googleusercontent.com + type: string + ip_address: + description: IP address of the hop. + example: 10.240.134.15 + type: string + reachable: + description: Whether this hop was reachable. + example: true + type: boolean + rtt: + description: Round-trip time to this hop in milliseconds. + example: 0.000346599 + format: double + type: number + ttl: + description: Time-to-live value of the probe packet at this hop. + example: 2 + format: int64 + type: integer type: object - MonitorNotificationRuleResourceType: - default: monitor-notification-rule - description: Monitor notification rule resource type. - enum: - - monitor-notification-rule - example: monitor-notification-rule - type: string - x-enum-varnames: - - MONITOR_NOTIFICATION_RULE - User: - description: User object returned by the API. + SyntheticsTestResultNetpathEndpoint: + description: Source endpoint of a network path measurement. properties: - attributes: - $ref: '#/components/schemas/UserAttributes' - id: - description: ID of the user. + hostname: + description: Hostname of the endpoint. + example: edge-eu1.staging.dog type: string - relationships: - $ref: '#/components/schemas/UserResponseRelationships' - type: - $ref: '#/components/schemas/UsersType' type: object - MonitorNotificationRuleAttributes: - additionalProperties: false - description: Attributes of the monitor notification rule. + SyntheticsTestResultNetstatsHops: + description: Statistics about the number of hops for a network test. properties: - filter: - $ref: '#/components/schemas/MonitorNotificationRuleFilter' - name: - $ref: '#/components/schemas/MonitorNotificationRuleName' - recipients: - $ref: '#/components/schemas/MonitorNotificationRuleRecipients' - required: - - name - - recipients + avg: + description: Average number of hops. + example: 11 + format: double + type: number + max: + description: Maximum number of hops. + example: 11 + format: int64 + type: integer + min: + description: Minimum number of hops. + example: 11 + format: int64 + type: integer type: object - MonitorConfigPolicyAttributeResponse: - description: Policy and policy type for a monitor configuration policy. + SyntheticsTestResultNetworkLatency: + description: Latency statistics for a network probe. properties: - policy: - $ref: '#/components/schemas/MonitorConfigPolicyPolicy' - policy_type: - $ref: '#/components/schemas/MonitorConfigPolicyType' + avg: + description: Average latency in milliseconds. + example: 1.8805 + format: double + type: number + max: + description: Maximum latency in milliseconds. + example: 1.97 + format: double + type: number + min: + description: Minimum latency in milliseconds. + example: 1.76 + format: double + type: number type: object - MonitorConfigPolicyResourceType: - default: monitor-config-policy - description: Monitor configuration policy resource type. - enum: - - monitor-config-policy - example: monitor-config-policy - type: string - x-enum-varnames: - - MONITOR_CONFIG_POLICY - MonitorConfigPolicyAttributeCreateRequest: - description: Policy and policy type for a monitor configuration policy. + SyntheticsTestResultOCSPCertificate: + description: Certificate details returned in an OCSP response. properties: - policy: - $ref: '#/components/schemas/MonitorConfigPolicyPolicyCreateRequest' - policy_type: - $ref: '#/components/schemas/MonitorConfigPolicyType' - required: - - policy_type - - policy + revocation_reason: + description: Reason code for the revocation, when applicable. + example: unspecified + type: string + revocation_time: + description: Unix timestamp (ms) of the revocation. + example: 1749727285000 + format: int64 + type: integer + serial_number: + description: Serial number of the certificate. + example: 7B584A1A6670A1EB0941A9A121569D60 + type: string type: object - MonitorConfigPolicyAttributeEditRequest: - description: Policy and policy type for a monitor configuration policy. + SyntheticsTestResultOCSPUpdates: + description: OCSP response update timestamps. properties: - policy: - $ref: '#/components/schemas/MonitorConfigPolicyPolicy' - policy_type: - $ref: '#/components/schemas/MonitorConfigPolicyType' - required: - - policy_type - - policy + next_update: + description: Unix timestamp (ms) of the next expected OCSP update. + example: 1743074486000 + format: int64 + type: integer + produced_at: + description: Unix timestamp (ms) of when the OCSP response was produced. + example: 1742469686000 + format: int64 + type: integer + this_update: + description: Unix timestamp (ms) of this OCSP update. + example: 1742469686000 + format: int64 + type: integer type: object - MonitorUserTemplateResponseAttributes: - additionalProperties: {} - description: Attributes for a monitor user template. + SyntheticsTestResultRouter: + description: A router along the traceroute path. properties: - created: - $ref: '#/components/schemas/MonitorUserTemplateCreated' - description: - $ref: '#/components/schemas/MonitorUserTemplateDescription' - modified: - $ref: '#/components/schemas/MonitorUserTemplateModified' - monitor_definition: - additionalProperties: {} - description: >- - A valid monitor definition in the same format as the [V1 Monitor - API](https://docs.datadoghq.com/api/latest/monitors/#create-a-monitor). - example: - message: You may need to add web hosts if this is consistently high. - name: Bytes received on host0 - query: avg(last_5m):sum:system.net.bytes_rcvd{host:host0} > 100 - type: query alert - type: object - tags: - $ref: '#/components/schemas/MonitorUserTemplateTags' - template_variables: - $ref: '#/components/schemas/MonitorUserTemplateTemplateVariables' - title: - $ref: '#/components/schemas/MonitorUserTemplateTitle' - version: - $ref: '#/components/schemas/MonitorUserTemplateVersion' + ip: + description: IP address of the router. + example: 34.95.79.70 + type: string + resolved_host: + description: Resolved hostname of the router. + example: 70.79.95.34.bc.googleusercontent.com + type: string type: object - MonitorUserTemplateId: - description: The unique identifier. - example: 00000000-0000-1234-0000-000000000000 - type: string - MonitorUserTemplateResourceType: - default: monitor-user-template - description: Monitor user template resource type. - enum: - - monitor-user-template - example: monitor-user-template - type: string - x-enum-varnames: - - MONITOR_USER_TEMPLATE - MonitorUserTemplateRequestAttributes: - additionalProperties: false - description: Attributes for a monitor user template. + SyntheticsTestResultFileRef: + description: Reference to a file attached to a Synthetic test request. properties: - description: - $ref: '#/components/schemas/MonitorUserTemplateDescription' - monitor_definition: - additionalProperties: {} - description: >- - A valid monitor definition in the same format as the [V1 Monitor - API](https://docs.datadoghq.com/api/latest/monitors/#create-a-monitor). - example: - message: You may need to add web hosts if this is consistently high. - name: Bytes received on host0 - query: avg(last_5m):sum:system.net.bytes_rcvd{host:host0} > 100 - type: query alert - type: object - tags: - $ref: '#/components/schemas/MonitorUserTemplateTags' - template_variables: - $ref: '#/components/schemas/MonitorUserTemplateTemplateVariables' - title: - $ref: '#/components/schemas/MonitorUserTemplateTitle' - required: - - title - - monitor_definition - - tags + bucket_key: + description: Storage bucket key where the file is stored. + example: api-upload-file/s3v-msw-tp3/2024-08-20T12:18:27.628081_f433c953-a58a-4296-834b-0669e32ba55f.json + type: string + encoding: + description: Encoding of the file contents. + example: base64 + type: string + name: + description: File name. + example: dd_logo_h_rgb.jpg + type: string + size: + description: File size in bytes. + example: 30294 + format: int64 + type: integer + type: + description: File MIME type. + example: image/jpeg + type: string type: object - MonitorUserTemplate: - additionalProperties: {} - description: A monitor user template object. - properties: - created: - $ref: '#/components/schemas/MonitorUserTemplateCreated' - description: - $ref: '#/components/schemas/MonitorUserTemplateDescription' - modified: - $ref: '#/components/schemas/MonitorUserTemplateModified' - monitor_definition: - additionalProperties: {} - description: >- - A valid monitor definition in the same format as the [V1 Monitor - API](https://docs.datadoghq.com/api/latest/monitors/#create-a-monitor). - example: - message: You may need to add web hosts if this is consistently high. - name: Bytes received on host0 - query: avg(last_5m):sum:system.net.bytes_rcvd{host:host0} > 100 - type: query alert - type: object - tags: - $ref: '#/components/schemas/MonitorUserTemplateTags' - template_variables: - $ref: '#/components/schemas/MonitorUserTemplateTemplateVariables' - title: - $ref: '#/components/schemas/MonitorUserTemplateTitle' - version: - $ref: '#/components/schemas/MonitorUserTemplateVersion' - versions: - description: All versions of the monitor user template. - items: - $ref: '#/components/schemas/SimpleMonitorUserTemplate' - type: array + SyntheticsTestResultCdnProviderInfo: + description: CDN provider details inferred from response headers. + properties: + cache: + $ref: '#/components/schemas/SyntheticsTestResultCdnCacheStatus' + provider: + description: Name of the CDN provider. + example: google_cloud + type: string type: object - MonitorDowntimeMatchResponseAttributes: - description: Downtime match details. + SyntheticsTestResultWebSocketClose: + description: WebSocket close frame information for WebSocket test responses. properties: - end: - description: The end of the downtime. - example: '2020-01-02T03:04:00.000Z' - format: date-time - nullable: true + reason: + description: Reason string received in the close frame. + example: Normal closure type: string - groups: - description: An array of groups associated with the downtime. + status_code: + description: Status code received in the close frame. + example: 1000 + format: int64 + type: integer + type: object + SyntheticsTestResultHealthCheck: + description: Health check information returned from a gRPC health check call. + properties: + message: + additionalProperties: + type: string + description: Raw health check message payload. + type: object + status: + description: Health check status code. + example: 1 + format: int64 + type: integer + type: object + SyntheticsTestResultDnsRecord: + description: A DNS record returned in a DNS test response. + properties: + type: + description: DNS record type (for example, `A`, `AAAA`, `CNAME`). + example: A + type: string + values: + description: Values associated with the DNS record. example: - - service:postgres - - team:frontend + - 213.186.33.19 items: - description: An array of groups. - example: service:postgres + description: DNS record value. type: string type: array - scope: - $ref: '#/components/schemas/DowntimeScope' - start: - description: The start of the downtime. - example: '2020-01-02T03:04:00.000Z' - format: date-time + type: object + SyntheticsTestResultRedirect: + description: A redirect hop encountered while performing the request. + properties: + location: + description: Target location of the redirect. + example: https://example.com/new-location type: string + status_code: + description: HTTP status code of the redirect response. + example: 301 + format: int64 + type: integer type: object - MonitorDowntimeMatchResourceType: - default: downtime_match - description: Monitor Downtime Match resource type. - enum: - - downtime_match - example: downtime_match - type: string - x-enum-varnames: - - DOWNTIME_MATCH - DowntimeMetaPage: - description: Object containing the total filtered count. + SyntheticsTestResultStepAssertionResult: + description: Assertion result for a browser or mobile step. properties: - total_filtered_count: - description: Total count of elements matched by the filter. + actual: + description: Actual value observed during the step assertion. Its type depends on the check type. + example: |- + True + good + good + good + good + True + check_type: + description: Type of the step assertion check. + example: contains + type: string + expected: + description: Expected value for the step assertion. Its type depends on the check type. + example: True good good good good True + has_secure_variables: + description: Whether the assertion involves secure variables. + example: false + type: boolean + type: object + SyntheticsTestResultBounds: + description: Bounding box of an element on the page. + properties: + height: + description: Height in pixels. + example: 37 + format: int64 + type: integer + width: + description: Width in pixels. + example: 343 + format: int64 + type: integer + x: + description: Horizontal position in pixels. + example: 16 + format: int64 + type: integer + 'y': + description: Vertical position in pixels. + example: 140 format: int64 type: integer type: object - OnDemandConcurrencyCapType: - description: On-demand concurrency cap type. - enum: - - on_demand_concurrency_cap - type: string - x-enum-varnames: - - ON_DEMAND_CONCURRENCY_CAP - MonitorNotificationRuleFilter: - description: Filter used to associate the notification rule with monitors. - oneOf: - - $ref: '#/components/schemas/MonitorNotificationRuleFilterTags' - MonitorNotificationRuleName: - description: The name of the monitor notification rule. - example: A notification rule name - maxLength: 1000 - minLength: 1 - type: string - MonitorNotificationRuleRecipients: - description: >- - A list of recipients to notify. Uses the same format as the monitor - `message` field. Must not start with an '@'. - example: - - slack-test-channel - - jira-test - items: - description: individual recipient. - maxLength: 255 - type: string - maxItems: 20 - minItems: 1 - type: array - uniqueItems: true - MonitorNotificationRuleRelationshipsCreatedBy: - description: The user who created the monitor notification rule. + SyntheticsTestResultBrowserError: + description: A browser error captured during a browser test step. properties: - data: - $ref: >- - #/components/schemas/MonitorNotificationRuleRelationshipsCreatedByData + description: + description: Error description. + example: Failed to fetch resource + type: string + method: + description: HTTP method associated with the error (for network errors). + example: GET + type: string + name: + description: Error name. + example: NetworkError + type: string + status: + description: HTTP status code associated with the error (for network errors). + example: 500 + format: int64 + type: integer + type: + description: Type of the browser error. + example: network + type: string + url: + additionalProperties: {} + description: URL associated with the error. + type: object type: object - UserAttributes: - description: Attributes of user object returned by the API. + SyntheticsTestResultCdnResource: + description: A CDN resource encountered while executing a browser step. properties: - created_at: - description: Creation time of the user. - format: date-time + cdn: + $ref: '#/components/schemas/SyntheticsTestResultCdnProviderInfo' + resolved_ip: + description: Resolved IP address for the CDN resource. + example: 34.95.79.70 type: string - disabled: - description: Whether the user is disabled. - type: boolean - email: - description: Email of the user. + timestamp: + description: Unix timestamp (ms) of when the resource was fetched. + example: 1724521406576 + format: int64 + type: integer + timings: + additionalProperties: {} + description: Timing breakdown for fetching the CDN resource. + example: + firstByte: 99.7 + tcp: 0.9 + type: object + type: object + SyntheticsTestResultStepElementUpdates: + description: Element locator updates produced during a step. + properties: + multi_locator: + additionalProperties: + type: string + description: Updated multi-locator definition. + type: object + target_outer_html: + description: Updated outer HTML of the targeted element. + example:

My website - v4

type: string - handle: - description: Handle of the user. + version: + description: Version of the element locator definition. + example: 3 + format: int64 + type: integer + type: object + SyntheticsTestResultVariable: + description: A variable used or extracted during a test. + properties: + err: + description: Error encountered when evaluating the variable. + example: LOCAL_VARIABLE_UNKNOWN type: string - icon: - description: URL of the user's icon. + error_message: + description: Human-readable error message for variable evaluation. + example: Unknown variable name undefined. type: string - mfa_enabled: - description: If user has MFA enabled. - readOnly: true - type: boolean - modified_at: - description: Time that the user was last modified. - format: date-time + example: + description: Example value for the variable. + example: lol value + type: string + id: + description: Variable identifier. + example: c896702c-1e34-4e62-a67b-432e8092d062 type: string name: - description: Name of the user. - nullable: true + description: Variable name. + example: HEADER_VALUE type: string - service_account: - description: Whether the user is a service account. + pattern: + description: Pattern used to extract the variable. + example: lol value + type: string + secure: + description: Whether the variable holds a secure value. + example: false type: boolean - status: - description: Status of the user. + type: + description: Variable type. + example: text type: string - title: - description: Title of the user. - nullable: true + val: + description: Evaluated value of the variable. + example: value-to-extract + type: string + value: + description: Current value of the variable. + example: lol value type: string - verified: - description: Whether the user is verified. - type: boolean type: object - UserResponseRelationships: - description: Relationships of the user object returned by the API. + SyntheticsTestResultRumContext: + description: RUM application context associated with a step or sub-test. properties: - org: - $ref: '#/components/schemas/RelationshipToOrganization' - other_orgs: - $ref: '#/components/schemas/RelationshipToOrganizations' - other_users: - $ref: '#/components/schemas/RelationshipToUsers' - roles: - $ref: '#/components/schemas/RelationshipToRoles' + application_id: + description: RUM application identifier. + example: 00000000-0000-0000-0000-000000000000 + type: string + session_id: + description: RUM session identifier. + example: 11111111-1111-1111-1111-111111111111 + type: string + view_id: + description: RUM view identifier. + example: 22222222-2222-2222-2222-222222222222 + type: string type: object - UsersType: - default: users - description: Users resource type. - enum: - - users - example: users - type: string - x-enum-varnames: - - USERS - MonitorConfigPolicyPolicy: - description: Configuration for the policy. - oneOf: - - $ref: '#/components/schemas/MonitorConfigPolicyTagPolicy' - MonitorConfigPolicyType: - default: tag - description: The monitor configuration policy type. - enum: - - tag - example: tag - type: string - x-enum-varnames: - - TAG - MonitorConfigPolicyPolicyCreateRequest: - description: Configuration for the policy. - oneOf: - - $ref: '#/components/schemas/MonitorConfigPolicyTagPolicyCreateRequest' - MonitorUserTemplateCreated: - description: The created timestamp of the template. - example: '2024-01-02T03:04:23.274966+00:00' - format: date-time - readOnly: true - type: string - MonitorUserTemplateDescription: - description: A brief description of the monitor user template. - example: This is a template for monitoring user activity. - nullable: true - type: string - MonitorUserTemplateModified: - description: The last modified timestamp. When the template version was created. - example: '2024-02-02T03:04:23.274966+00:00' - format: date-time - readOnly: true - type: string - MonitorUserTemplateTags: - description: The definition of `MonitorUserTemplateTags` object. - example: - - product:Our Custom App - - integration:Azure - items: - description: >- - Tags associated with the monitor user template. Must be key value. - Only 'product' and 'integration' keys are - - allowed. The value is the name of the category to display the template - under. Integrations can be filtered out in the UI. - - (Review note: This modeling of 'categories' is subject to change.) - example: us-east1 - minLength: 1 - type: string - uniqueItems: true - type: array - MonitorUserTemplateTemplateVariables: - description: The definition of `MonitorUserTemplateTemplateVariables` object. - items: - $ref: '#/components/schemas/MonitorUserTemplateTemplateVariablesItems' - type: array - MonitorUserTemplateTitle: - description: The title of the monitor user template. - example: Postgres CPU Monitor - type: string - MonitorUserTemplateVersion: - description: The version of the monitor user template. - example: 0 - format: int64 - nullable: true - readOnly: true - type: integer - SimpleMonitorUserTemplate: - description: A simplified version of a monitor user template. + SyntheticsTestResultSubStep: + description: Information about a sub-step in a nested test execution. + properties: + level: + description: Depth of the sub-step in the execution tree. + example: 1 + format: int64 + type: integer + parent_step: + $ref: '#/components/schemas/SyntheticsTestResultParentStep' + parent_test: + $ref: '#/components/schemas/SyntheticsTestResultParentTest' + type: object + SyntheticsTestResultSubTest: + description: Information about a sub-test played from a parent browser test. + properties: + id: + description: Identifier of the sub-test. + example: abc-def-123 + type: string + playing_tab: + description: Index of the browser tab playing the sub-test. + example: 0 + format: int64 + type: integer + rum_context: + $ref: '#/components/schemas/SyntheticsTestResultRumContext' + type: object + SyntheticsTestResultTab: + description: Information about a browser tab involved in a step. + properties: + focused: + description: Whether the tab was focused during the step. + example: true + type: boolean + title: + description: Title of the tab. + example: Team Browser mini-websites + type: string + url: + description: URL loaded in the tab. + example: http://34.95.79.70/prototype + type: string + type: object + SyntheticsTestResultVitalsMetrics: + description: Web vitals metrics captured during a browser test step. + properties: + cls: + description: Cumulative Layout Shift score. + example: 0 + format: double + type: number + fcp: + description: First Contentful Paint in milliseconds. + example: 120.3 + format: double + type: number + inp: + description: Interaction to Next Paint in milliseconds. + example: 85 + format: double + type: number + lcp: + description: Largest Contentful Paint in milliseconds. + example: 210.5 + format: double + type: number + ttfb: + description: Time To First Byte in milliseconds. + example: 95.2 + format: double + type: number + url: + description: URL that produced the metrics. + example: http://34.95.79.70/prototype + type: string + type: object + SyntheticsTestResultWarning: + description: A warning captured during a browser test step. properties: - created: - $ref: '#/components/schemas/MonitorUserTemplateCreated' - description: - $ref: '#/components/schemas/MonitorUserTemplateDescription' - id: - description: >- - The unique identifier. The initial version will match the template - ID. - example: 00000000-0000-1234-0000-000000000000 + element_bounds: + description: Bounds of elements related to the warning. + items: + $ref: '#/components/schemas/SyntheticsTestResultBounds' + type: array + message: + description: Warning message. + example: Element is not visible in the viewport type: string - monitor_definition: + type: + description: Type of the warning. + example: visibility + type: string + type: object + SyntheticsTestResultTurnStep: + description: A step executed during a goal-based browser test turn. + properties: + bucket_keys: + $ref: '#/components/schemas/SyntheticsTestResultBucketKeys' + config: additionalProperties: {} - description: >- - A valid monitor definition in the same format as the [V1 Monitor - API](https://docs.datadoghq.com/api/latest/monitors/#create-a-monitor). + description: Browser step configuration for this turn step. example: - message: You may need to add web hosts if this is consistently high. - name: Bytes received on host0 - query: avg(last_5m):sum:system.net.bytes_rcvd{host:host0} > 100 - type: query alert + id: step-1 + name: Click on div "Chairs" + type: click type: object - tags: - $ref: '#/components/schemas/MonitorUserTemplateTags' - template_variables: - $ref: '#/components/schemas/MonitorUserTemplateTemplateVariables' - title: - $ref: '#/components/schemas/MonitorUserTemplateTitle' - version: - $ref: '#/components/schemas/MonitorUserTemplateVersion' type: object - DowntimeScope: - description: >- - The scope to which the downtime applies. Must follow the [common search - syntax](https://docs.datadoghq.com/logs/explorer/search_syntax/). - example: env:(staging OR prod) AND datacenter:us-east-1 - type: string - MonitorNotificationRuleFilterTags: - additionalProperties: false - description: Filter monitors by tags. Monitors must match all tags. + SyntheticsNetworkAssertionLatency: + description: Network latency assertion for a Network Path test. properties: - tags: - description: A list of monitor tags. - example: - - team:product - - host:abc - items: - maxLength: 255 - type: string - maxItems: 20 - minItems: 1 - type: array - uniqueItems: true + operator: + $ref: '#/components/schemas/SyntheticsNetworkAssertionOperator' + property: + $ref: '#/components/schemas/SyntheticsNetworkAssertionProperty' + target: + description: Target value in milliseconds. + example: 500 + format: double + type: number + type: + $ref: '#/components/schemas/SyntheticsNetworkAssertionLatencyType' required: - - tags + - operator + - property + - target + - type type: object - MonitorNotificationRuleRelationshipsCreatedByData: - description: Data for the user who created the monitor notification rule. - nullable: true + SyntheticsNetworkAssertionMultiNetworkHop: + description: Multi-network hop assertion for a Network Path test. properties: - id: - description: User ID of the monitor notification rule creator. - example: 00000000-0000-1234-0000-000000000000 - type: string + operator: + $ref: '#/components/schemas/SyntheticsNetworkAssertionOperator' + property: + $ref: '#/components/schemas/SyntheticsNetworkAssertionProperty' + target: + description: Target value in number of hops. + example: 3 + format: double + type: number type: - $ref: '#/components/schemas/UsersType' - type: object - RelationshipToOrganization: - description: Relationship to an organization. - properties: - data: - $ref: '#/components/schemas/RelationshipToOrganizationData' + $ref: '#/components/schemas/SyntheticsNetworkAssertionMultiNetworkHopType' required: - - data + - operator + - property + - target + - type type: object - RelationshipToOrganizations: - description: Relationship to organizations. + SyntheticsNetworkAssertionPacketLossPercentage: + description: Packet loss percentage assertion for a Network Path test. properties: - data: - description: Relationships to organization objects. - example: [] - items: - $ref: '#/components/schemas/RelationshipToOrganizationData' - type: array + operator: + $ref: '#/components/schemas/SyntheticsNetworkAssertionOperator' + target: + description: Target value as a percentage (0 to 1). + example: 0.05 + format: double + maximum: 1 + minimum: 0 + type: number + type: + $ref: '#/components/schemas/SyntheticsNetworkAssertionPacketLossPercentageType' required: - - data + - operator + - target + - type type: object - RelationshipToUsers: - description: Relationship to users. + SyntheticsNetworkAssertionJitter: + description: Jitter assertion for a Network Path test. properties: - data: - description: Relationships to user objects. - example: [] - items: - $ref: '#/components/schemas/RelationshipToUserData' - type: array + operator: + $ref: '#/components/schemas/SyntheticsNetworkAssertionOperator' + target: + description: Target value in milliseconds. + example: 5 + format: double + type: number + type: + $ref: '#/components/schemas/SyntheticsNetworkAssertionJitterType' required: - - data + - operator + - target + - type type: object - RelationshipToRoles: - description: Relationship to roles. + SyntheticsNetworkTestRequestTCPMethod: + description: For TCP tests, the TCP traceroute strategy. + enum: + - prefer_sack + - syn + - sack + example: prefer_sack + type: string + x-enum-varnames: + - PREFER_SACK + - SYN + - SACK + SyntheticsTestVersionDiffPatches: + description: Object describing a patch in the diff. properties: - data: - description: An array containing type and the unique identifier of a role. + diffs: + description: List of individual diff operations. items: - $ref: '#/components/schemas/RelationshipToRoleData' + $ref: '#/components/schemas/SyntheticsTestVersionDiffPatchDiff' type: array + length1: + description: Length of the original text segment. + format: int64 + type: integer + length2: + description: Length of the modified text segment. + format: int64 + type: integer + start1: + description: Start position in the original text. + format: int64 + type: integer + start2: + description: Start position in the modified text. + format: int64 + type: integer type: object - MonitorConfigPolicyTagPolicy: - description: Tag attributes of a monitor configuration policy. + MonitorFormulaAndFunctionEventAggregation: + description: Aggregation methods for event platform queries. + enum: + - count + - cardinality + - median + - pc75 + - pc90 + - pc95 + - pc98 + - pc99 + - sum + - min + - max + - avg + example: avg + type: string + x-enum-varnames: + - COUNT + - CARDINALITY + - MEDIAN + - PC75 + - PC90 + - PC95 + - PC98 + - PC99 + - SUM + - MIN + - MAX + - AVG + MonitorFormulaAndFunctionEventQueryGroupBySort: + description: Options for sorting group by results. properties: - tag_key: - description: The key of the tag. - example: datacenter - maxLength: 255 + aggregation: + $ref: '#/components/schemas/MonitorFormulaAndFunctionEventAggregation' + metric: + description: Metric used for sorting group by results. type: string - tag_key_required: - description: If a tag key is required for monitor creation. - example: true - type: boolean - valid_tag_values: - description: Valid values for the tag. - example: - - prod - - staging - items: - maxLength: 255 - type: string - type: array + order: + $ref: '#/components/schemas/QuerySortOrderV1' + required: + - aggregation type: object - MonitorConfigPolicyTagPolicyCreateRequest: - description: Tag attributes of a monitor configuration policy. + MonitorFormulaAndFunctionDataQualityModelTypeOverride: + description: Override for the model type used in anomaly detection. + enum: + - freshness + - percentage + - any + type: string + x-enum-varnames: + - FRESHNESS + - PERCENTAGE + - ANY + MonitorFormulaAndFunctionReferenceTableQueryDefinition: + additionalProperties: false + description: A reference table query for use in aggregate queries. properties: - tag_key: - description: The key of the tag. - example: datacenter - maxLength: 255 - type: string - tag_key_required: - description: If a tag key is required for monitor creation. - example: true - type: boolean - valid_tag_values: - description: Valid values for the tag. - example: - - prod - - staging + columns: + description: List of columns to retrieve from the reference table. items: - maxLength: 255 - type: string + $ref: '#/components/schemas/MonitorFormulaAndFunctionReferenceTableColumn' type: array + data_source: + $ref: '#/components/schemas/MonitorFormulaAndFunctionReferenceTableDataSource' + name: + description: Name of the query. + example: filter_query + type: string + query_filter: + description: Optional filter expression for the reference table query. + type: string + table_name: + description: Name of the reference table. + example: test_table + type: string required: - - tag_key - - tag_key_required - - valid_tag_values + - data_source + - table_name type: object - MonitorUserTemplateTemplateVariablesItems: + MonitorFormulaAndFunctionMetricsQueryDefinition: additionalProperties: false - description: >- - List of objects representing template variables on the monitor which can - have selectable values. + description: A formula and functions metrics query for use in aggregate queries. properties: - available_values: - description: Available values for the variable. - example: - - value1 - - value2 - items: - minLength: 1 - type: string - uniqueItems: true - type: array - defaults: - description: Default values of the template variable. - example: - - defaultValue - items: - minLength: 0 - type: string - uniqueItems: true - type: array + aggregator: + $ref: '#/components/schemas/MonitorFormulaAndFunctionMetricsAggregator' + data_source: + $ref: '#/components/schemas/MonitorFormulaAndFunctionMetricsDataSource' name: - description: The name of the template variable. - example: regionName + description: Name of the query for use in formulas. + example: query1 type: string - tag_key: - description: >- - The tag key associated with the variable. This works the same as - dashboard template variables. - example: datacenter + query: + description: The metrics query definition. + example: avg:system.cpu.user{*} type: string required: - - name + - data_source + - query type: object - RelationshipToOrganizationData: - description: Relationship to organization object. + MonitorFormulaAndFunctionAggregateQueryJoinType: + description: Join type for aggregate query join conditions. + enum: + - inner + - left + example: inner + type: string + x-enum-varnames: + - INNER + - LEFT + SyntheticsAssertionTargetValueNumber: + description: Numeric value used by the operator in assertions. + format: double + type: number + SyntheticsAssertionTargetValueString: + description: String value used by the operator in assertions. Supports templated variables. + type: string + SyntheticsAssertionJSONSchemaMetaSchema: + description: The JSON Schema meta-schema version used in the assertion. + enum: + - draft-07 + - draft-06 + type: string + x-enum-varnames: + - DRAFT_07 + - DRAFT_06 + SyntheticsLocalVariableParsingOptionsType: + description: Property of the Synthetic Test Response to extract into a local variable. + enum: + - grpc_message + - grpc_metadata + - http_body + - http_header + - http_status_code + example: http_body + type: string + x-enum-varnames: + - GRPC_MESSAGE + - GRPC_METADATA + - HTTP_BODY + - HTTP_HEADER + - HTTP_STATUS_CODE + SyntheticsMobileStepParamsElementUserLocatorValuesItems: + description: A single user locator object. + properties: + type: + $ref: '#/components/schemas/SyntheticsMobileStepParamsElementUserLocatorValuesItemsType' + value: + description: Value of a user locator. + type: string + type: object + OrganizationsType: + default: orgs + description: Organizations resource type. + enum: + - orgs + example: orgs + type: string + x-enum-varnames: + - ORGS + RolesType: + default: roles + description: Roles type. + enum: + - roles + example: roles + type: string + x-enum-varnames: + - ROLES + SyntheticsDowntimeFrequency: + description: The recurrence frequency of a Synthetics downtime time slot. + enum: + - DAILY + - WEEKLY + - MONTHLY + - YEARLY + example: WEEKLY + type: string + x-enum-varnames: + - DAILY + - WEEKLY + - MONTHLY + - YEARLY + SyntheticsDowntimeWeekdayPositions: + description: Positions of the weekdays within a month for a monthly Synthetics downtime recurrence. Used in combination with `weekdays` to schedule occurrences such as "the first Monday of the month". + example: + - 1 + items: + $ref: '#/components/schemas/SyntheticsDowntimeWeekdayPosition' + type: array + SyntheticsDowntimeWeekdays: + description: Days of the week for a Synthetics downtime recurrence schedule. + example: + - MO + - WE + - FR + items: + $ref: '#/components/schemas/SyntheticsDowntimeWeekday' + type: array + SyntheticsTestResultCdnCacheStatus: + description: Cache status reported by the CDN for the response. + properties: + cached: + description: Whether the response was served from the CDN cache. + example: true + type: boolean + status: + description: Raw cache status string reported by the CDN. + example: HIT + type: string + type: object + SyntheticsTestResultParentStep: + description: Reference to the parent step of a sub-step. properties: id: - description: ID of the organization. - example: 00000000-0000-beef-0000-000000000000 + description: Identifier of the parent step. + example: fkk-j2a-gmw type: string - type: - $ref: '#/components/schemas/OrganizationsType' - required: - - id - - type type: object - RelationshipToUserData: - description: Relationship to user object. + SyntheticsTestResultParentTest: + description: Reference to the parent test of a sub-step. + properties: + id: + description: Identifier of the parent test. + example: abc-def-123 + type: string + type: object + SyntheticsNetworkAssertionOperator: + description: Assertion operator to apply. + enum: + - is + - isNot + - lessThan + - lessThanOrEqual + - moreThan + - moreThanOrEqual + example: lessThan + type: string + x-enum-varnames: + - IS + - IS_NOT + - LESS_THAN + - LESS_THAN_OR_EQUAL + - MORE_THAN + - MORE_THAN_OR_EQUAL + SyntheticsNetworkAssertionProperty: + description: The associated assertion property. + enum: + - avg + - max + - min + example: avg + type: string + x-enum-varnames: + - AVG + - MAX + - MIN + SyntheticsNetworkAssertionLatencyType: + default: latency + description: Type of the latency assertion. + enum: + - latency + example: latency + type: string + x-enum-varnames: + - LATENCY + SyntheticsNetworkAssertionMultiNetworkHopType: + default: multiNetworkHop + description: Type of the multi-network hop assertion. + enum: + - multiNetworkHop + example: multiNetworkHop + type: string + x-enum-varnames: + - MULTI_NETWORK_HOP + SyntheticsNetworkAssertionPacketLossPercentageType: + default: packetLossPercentage + description: Type of the packet loss percentage assertion. + enum: + - packetLossPercentage + example: packetLossPercentage + type: string + x-enum-varnames: + - PACKET_LOSS_PERCENTAGE + SyntheticsNetworkAssertionJitterType: + default: jitter + description: Type of the jitter assertion. + enum: + - jitter + example: jitter + type: string + x-enum-varnames: + - JITTER + SyntheticsTestVersionDiffPatchDiff: + description: Object describing a single text diff operation. properties: - id: - description: A unique identifier that represents the user. - example: 00000000-0000-0000-2345-000000000000 + change_text: + description: The text that was changed. + type: string + operation: + description: The diff operation applied. type: string - type: - $ref: '#/components/schemas/UsersType' - required: - - id - - type type: object - RelationshipToRoleData: - description: Relationship to role object. + QuerySortOrderV1: + default: desc + description: Direction of sort. + enum: + - asc + - desc + example: asc + type: string + x-enum-varnames: + - ASC + - DESC + MonitorFormulaAndFunctionReferenceTableColumn: + additionalProperties: false + description: A column definition for reference table queries. properties: - id: - description: The unique identifier of the role. - example: 3653d3c6-0c75-11ea-ad28-fb5701eabc7d + alias: + description: Optional alias for the column. type: string - type: - $ref: '#/components/schemas/RolesType' + name: + description: Name of the column. + example: org_id + type: string + required: + - name type: object - OrganizationsType: - default: orgs - description: Organizations resource type. + MonitorFormulaAndFunctionReferenceTableDataSource: + description: Data source for reference table queries. enum: - - orgs - example: orgs + - reference_table + example: reference_table type: string x-enum-varnames: - - ORGS - RolesType: - default: roles - description: Roles type. + - REFERENCE_TABLE + MonitorFormulaAndFunctionMetricsAggregator: + description: Aggregator for metrics queries. enum: - - roles - example: roles + - avg + - min + - max + - sum + - last + - mean + - area + - l2norm + - percentile + - stddev + - count_unique + example: avg type: string x-enum-varnames: - - ROLES + - AVG + - MIN + - MAX + - SUM + - LAST + - MEAN + - AREA + - L2NORM + - PERCENTILE + - STDDEV + - COUNT_UNIQUE + MonitorFormulaAndFunctionMetricsDataSource: + description: Data source for metrics queries. + enum: + - metrics + - cloud_cost + - datadog_usage + example: metrics + type: string + x-enum-varnames: + - METRICS + - CLOUD_COST + - DATADOG_USAGE + SyntheticsMobileStepParamsElementUserLocatorValuesItemsType: + description: Type of a user locator. + enum: + - accessibility-id + - id + - ios-predicate-string + - ios-class-chain + - xpath + type: string + x-enum-varnames: + - ACCESSIBILITY_ID + - ID + - IOS_PREDICATE_STRING + - IOS_CLASS_CHAIN + - XPATH + SyntheticsDowntimeWeekdayPosition: + description: The position of a weekday within a month for a monthly Synthetics downtime recurrence. `1` through `4` select the first through fourth occurrence of the weekday in the month, and `-1` selects the last occurrence. + enum: + - 1 + - 2 + - 3 + - 4 + - -1 + example: 1 + format: int64 + type: integer + x-enum-varnames: + - FIRST + - SECOND + - THIRD + - FOURTH + - LAST + SyntheticsDowntimeWeekday: + description: A day of the week for a Synthetics downtime recurrence. + enum: + - MO + - TU + - WE + - TH + - FR + - SA + - SU + example: MO + type: string + x-enum-varnames: + - MONDAY + - TUESDAY + - WEDNESDAY + - THURSDAY + - FRIDAY + - SATURDAY + - SUNDAY responses: TooManyRequestsResponse: content: @@ -1844,6 +19087,18 @@ components: schema: $ref: '#/components/schemas/APIErrorResponse' description: Too many requests + BadRequestResponse: + content: + application/json: + schema: + $ref: '#/components/schemas/APIErrorResponse' + description: Bad Request + NotFoundResponse: + content: + application/json: + schema: + $ref: '#/components/schemas/APIErrorResponse' + description: Not Found parameters: PageOffset: description: Specific offset to use as the beginning of the returned page. @@ -1856,230 +19111,1534 @@ components: format: int64 type: integer x-stackQL-resources: + data_observability_monitor_run_statuses: + id: datadog.monitoring.data_observability_monitor_run_statuses + name: data_observability_monitor_run_statuses + title: Data Observability Monitor Run Statuses + methods: + get_data_observability_monitor_run_status: + operation: + $ref: '#/paths/~1api~1v2~1data-observability~1monitors~1runs~1{run_id}~1status/get' + response: + mediaType: application/json + openAPIDocKey: '200' + objectKey: $.data + request: + nativeCasing: camel + sqlVerbs: + select: + - $ref: '#/components/x-stackQL-resources/data_observability_monitor_run_statuses/methods/get_data_observability_monitor_run_status' + insert: [] + update: [] + delete: [] + replace: [] + data_observability_monitors: + id: datadog.monitoring.data_observability_monitors + name: data_observability_monitors + title: Data Observability Monitors + methods: + run_data_observability_monitor: + operation: + $ref: '#/paths/~1api~1v2~1data-observability~1monitors~1{monitor_id}~1run/post' + response: + mediaType: application/json + openAPIDocKey: '200' + request: + nativeCasing: camel + sqlVerbs: + select: [] + insert: [] + update: [] + delete: [] + replace: [] notification_rules: id: datadog.monitoring.notification_rules name: notification_rules title: Notification Rules methods: - get_monitor_notification_rules: + get_monitor_notification_rules: + operation: + $ref: '#/paths/~1api~1v2~1monitor~1notification_rule/get' + response: + mediaType: application/json + openAPIDocKey: '200' + objectKey: $.data + request: + nativeCasing: camel + config: + queryParamPushdown: + top: + paramName: per_page + maxValue: 1000 + create_monitor_notification_rule: + config: + requestBodyTranslate: + algorithm: naive + operation: + $ref: '#/paths/~1api~1v2~1monitor~1notification_rule/post' + response: + mediaType: application/json + openAPIDocKey: '200' + request: + nativeCasing: camel + delete_monitor_notification_rule: + operation: + $ref: '#/paths/~1api~1v2~1monitor~1notification_rule~1{rule_id}/delete' + response: + mediaType: application/json + openAPIDocKey: '204' + request: + nativeCasing: camel + get_monitor_notification_rule: + operation: + $ref: '#/paths/~1api~1v2~1monitor~1notification_rule~1{rule_id}/get' + response: + mediaType: application/json + openAPIDocKey: '200' + objectKey: $.data + request: + nativeCasing: camel + update_monitor_notification_rule: + config: + requestBodyTranslate: + algorithm: naive + operation: + $ref: '#/paths/~1api~1v2~1monitor~1notification_rule~1{rule_id}/patch' + response: + mediaType: application/json + openAPIDocKey: '200' + request: + nativeCasing: camel + sqlVerbs: + select: + - $ref: '#/components/x-stackQL-resources/notification_rules/methods/get_monitor_notification_rule' + - $ref: '#/components/x-stackQL-resources/notification_rules/methods/get_monitor_notification_rules' + insert: + - $ref: '#/components/x-stackQL-resources/notification_rules/methods/create_monitor_notification_rule' + update: + - $ref: '#/components/x-stackQL-resources/notification_rules/methods/update_monitor_notification_rule' + delete: + - $ref: '#/components/x-stackQL-resources/notification_rules/methods/delete_monitor_notification_rule' + replace: [] + config_policies: + id: datadog.monitoring.config_policies + name: config_policies + title: Config Policies + methods: + list_monitor_config_policies: + operation: + $ref: '#/paths/~1api~1v2~1monitor~1policy/get' + response: + mediaType: application/json + openAPIDocKey: '200' + objectKey: $.data + request: + nativeCasing: camel + create_monitor_config_policy: + config: + requestBodyTranslate: + algorithm: naive + operation: + $ref: '#/paths/~1api~1v2~1monitor~1policy/post' + response: + mediaType: application/json + openAPIDocKey: '200' + request: + nativeCasing: camel + delete_monitor_config_policy: + operation: + $ref: '#/paths/~1api~1v2~1monitor~1policy~1{policy_id}/delete' + response: + mediaType: application/json + openAPIDocKey: '204' + request: + nativeCasing: camel + get_monitor_config_policy: + operation: + $ref: '#/paths/~1api~1v2~1monitor~1policy~1{policy_id}/get' + response: + mediaType: application/json + openAPIDocKey: '200' + objectKey: $.data + request: + nativeCasing: camel + update_monitor_config_policy: + config: + requestBodyTranslate: + algorithm: naive + operation: + $ref: '#/paths/~1api~1v2~1monitor~1policy~1{policy_id}/patch' + response: + mediaType: application/json + openAPIDocKey: '200' + request: + nativeCasing: camel + sqlVerbs: + select: + - $ref: '#/components/x-stackQL-resources/config_policies/methods/get_monitor_config_policy' + - $ref: '#/components/x-stackQL-resources/config_policies/methods/list_monitor_config_policies' + insert: + - $ref: '#/components/x-stackQL-resources/config_policies/methods/create_monitor_config_policy' + update: + - $ref: '#/components/x-stackQL-resources/config_policies/methods/update_monitor_config_policy' + delete: + - $ref: '#/components/x-stackQL-resources/config_policies/methods/delete_monitor_config_policy' + replace: [] + user_templates: + id: datadog.monitoring.user_templates + name: user_templates + title: User Templates + methods: + list_monitor_user_templates: + operation: + $ref: '#/paths/~1api~1v2~1monitor~1template/get' + response: + mediaType: application/json + openAPIDocKey: '200' + objectKey: $.data + request: + nativeCasing: camel + create_monitor_user_template: + config: + requestBodyTranslate: + algorithm: naive + operation: + $ref: '#/paths/~1api~1v2~1monitor~1template/post' + response: + mediaType: application/json + openAPIDocKey: '200' + request: + nativeCasing: camel + validate_monitor_user_template: + config: + requestBodyTranslate: + algorithm: naive + operation: + $ref: '#/paths/~1api~1v2~1monitor~1template~1validate/post' + response: + mediaType: application/json + openAPIDocKey: '204' + request: + nativeCasing: camel + delete_monitor_user_template: + operation: + $ref: '#/paths/~1api~1v2~1monitor~1template~1{template_id}/delete' + response: + mediaType: application/json + openAPIDocKey: '204' + request: + nativeCasing: camel + get_monitor_user_template: + operation: + $ref: '#/paths/~1api~1v2~1monitor~1template~1{template_id}/get' + response: + mediaType: application/json + openAPIDocKey: '200' + objectKey: $.data + request: + nativeCasing: camel + update_monitor_user_template: + config: + requestBodyTranslate: + algorithm: naive + operation: + $ref: '#/paths/~1api~1v2~1monitor~1template~1{template_id}/put' + response: + mediaType: application/json + openAPIDocKey: '200' + request: + nativeCasing: camel + validate_existing_monitor_user_template: + config: + requestBodyTranslate: + algorithm: naive + operation: + $ref: '#/paths/~1api~1v2~1monitor~1template~1{template_id}~1validate/post' + response: + mediaType: application/json + openAPIDocKey: '204' + request: + nativeCasing: camel + sqlVerbs: + select: + - $ref: '#/components/x-stackQL-resources/user_templates/methods/get_monitor_user_template' + - $ref: '#/components/x-stackQL-resources/user_templates/methods/list_monitor_user_templates' + insert: + - $ref: '#/components/x-stackQL-resources/user_templates/methods/create_monitor_user_template' + update: [] + delete: + - $ref: '#/components/x-stackQL-resources/user_templates/methods/delete_monitor_user_template' + replace: + - $ref: '#/components/x-stackQL-resources/user_templates/methods/update_monitor_user_template' + downtimes: + id: datadog.monitoring.downtimes + name: downtimes + title: Downtimes + methods: + list_monitor_downtimes: + operation: + $ref: '#/paths/~1api~1v2~1monitor~1{monitor_id}~1downtime_matches/get' + response: + mediaType: application/json + openAPIDocKey: '200' + objectKey: $.data + request: + nativeCasing: camel + config: + queryParamPushdown: + top: + paramName: page[limit] + skip: + paramName: page[offset] + sqlVerbs: + select: + - $ref: '#/components/x-stackQL-resources/downtimes/methods/list_monitor_downtimes' + insert: [] + update: [] + delete: [] + replace: [] + synthetics_api_multistep_subtests: + id: datadog.monitoring.synthetics_api_multistep_subtests + name: synthetics_api_multistep_subtests + title: Synthetics Api Multistep Subtests + methods: + get_api_multistep_subtests: + operation: + $ref: '#/paths/~1api~1v2~1synthetics~1api-multistep~1subtests~1{public_id}/get' + response: + mediaType: application/json + openAPIDocKey: '200' + objectKey: $.data + request: + nativeCasing: camel + sqlVerbs: + select: + - $ref: '#/components/x-stackQL-resources/synthetics_api_multistep_subtests/methods/get_api_multistep_subtests' + insert: [] + update: [] + delete: [] + replace: [] + synthetics_api_multistep_subtest_parents: + id: datadog.monitoring.synthetics_api_multistep_subtest_parents + name: synthetics_api_multistep_subtest_parents + title: Synthetics Api Multistep Subtest Parents + methods: + get_api_multistep_subtest_parents: + operation: + $ref: '#/paths/~1api~1v2~1synthetics~1api-multistep~1subtests~1{public_id}~1parents/get' + response: + mediaType: application/json + openAPIDocKey: '200' + objectKey: $.data + request: + nativeCasing: camel + sqlVerbs: + select: + - $ref: '#/components/x-stackQL-resources/synthetics_api_multistep_subtest_parents/methods/get_api_multistep_subtest_parents' + insert: [] + update: [] + delete: [] + replace: [] + synthetics_downtimes: + id: datadog.monitoring.synthetics_downtimes + name: synthetics_downtimes + title: Synthetics Downtimes + methods: + list_synthetics_downtimes: + operation: + $ref: '#/paths/~1api~1v2~1synthetics~1downtimes/get' + response: + mediaType: application/json + openAPIDocKey: '200' + objectKey: $.data + request: + nativeCasing: camel + create_synthetics_downtime: + config: + requestBodyTranslate: + algorithm: naive + operation: + $ref: '#/paths/~1api~1v2~1synthetics~1downtimes/post' + response: + mediaType: application/json + openAPIDocKey: '201' + request: + nativeCasing: camel + delete_synthetics_downtime: + operation: + $ref: '#/paths/~1api~1v2~1synthetics~1downtimes~1{downtime_id}/delete' + response: + mediaType: application/json + openAPIDocKey: '204' + request: + nativeCasing: camel + get_synthetics_downtime: + operation: + $ref: '#/paths/~1api~1v2~1synthetics~1downtimes~1{downtime_id}/get' + response: + mediaType: application/json + openAPIDocKey: '200' + objectKey: $.data + request: + nativeCasing: camel + update_synthetics_downtime: + config: + requestBodyTranslate: + algorithm: naive + operation: + $ref: '#/paths/~1api~1v2~1synthetics~1downtimes~1{downtime_id}/put' + response: + mediaType: application/json + openAPIDocKey: '200' + request: + nativeCasing: camel + sqlVerbs: + select: + - $ref: '#/components/x-stackQL-resources/synthetics_downtimes/methods/get_synthetics_downtime' + - $ref: '#/components/x-stackQL-resources/synthetics_downtimes/methods/list_synthetics_downtimes' + insert: + - $ref: '#/components/x-stackQL-resources/synthetics_downtimes/methods/create_synthetics_downtime' + update: [] + delete: + - $ref: '#/components/x-stackQL-resources/synthetics_downtimes/methods/delete_synthetics_downtime' + replace: + - $ref: '#/components/x-stackQL-resources/synthetics_downtimes/methods/update_synthetics_downtime' + synthetics_downtime_tests: + id: datadog.monitoring.synthetics_downtime_tests + name: synthetics_downtime_tests + title: Synthetics Downtime Tests + methods: + remove_test_from_synthetics_downtime: + operation: + $ref: '#/paths/~1api~1v2~1synthetics~1downtimes~1{downtime_id}~1tests~1{test_id}/delete' + response: + mediaType: application/json + openAPIDocKey: '200' + request: + nativeCasing: camel + add_test_to_synthetics_downtime: + operation: + $ref: '#/paths/~1api~1v2~1synthetics~1downtimes~1{downtime_id}~1tests~1{test_id}/put' + response: + mediaType: application/json + openAPIDocKey: '200' + request: + nativeCasing: camel + sqlVerbs: + select: [] + insert: [] + update: [] + delete: + - $ref: '#/components/x-stackQL-resources/synthetics_downtime_tests/methods/remove_test_from_synthetics_downtime' + replace: + - $ref: '#/components/x-stackQL-resources/synthetics_downtime_tests/methods/add_test_to_synthetics_downtime' + on_demand_concurrency_cap: + id: datadog.monitoring.on_demand_concurrency_cap + name: on_demand_concurrency_cap + title: On Demand Concurrency Cap + methods: + get_on_demand_concurrency_cap: + operation: + $ref: '#/paths/~1api~1v2~1synthetics~1settings~1on_demand_concurrency_cap/get' + response: + mediaType: application/json + openAPIDocKey: '200' + objectKey: $.data + request: + nativeCasing: camel + set_on_demand_concurrency_cap: + config: + requestBodyTranslate: + algorithm: naive + operation: + $ref: '#/paths/~1api~1v2~1synthetics~1settings~1on_demand_concurrency_cap/post' + response: + mediaType: application/json + openAPIDocKey: '200' + request: + nativeCasing: camel + sqlVerbs: + select: + - $ref: '#/components/x-stackQL-resources/on_demand_concurrency_cap/methods/get_on_demand_concurrency_cap' + insert: + - $ref: '#/components/x-stackQL-resources/on_demand_concurrency_cap/methods/set_on_demand_concurrency_cap' + update: [] + delete: [] + replace: [] + synthetics_suites: + id: datadog.monitoring.synthetics_suites + name: synthetics_suites + title: Synthetics Suites + methods: + create_synthetics_suite: + config: + requestBodyTranslate: + algorithm: naive + operation: + $ref: '#/paths/~1api~1v2~1synthetics~1suites/post' + response: + mediaType: application/json + openAPIDocKey: '200' + request: + nativeCasing: camel + delete_synthetics_suites: + config: + requestBodyTranslate: + algorithm: naive + operation: + $ref: '#/paths/~1api~1v2~1synthetics~1suites~1bulk-delete/post' + response: + mediaType: application/json + openAPIDocKey: '200' + request: + nativeCasing: camel + search_suites: + operation: + $ref: '#/paths/~1api~1v2~1synthetics~1suites~1search/get' + response: + mediaType: application/json + openAPIDocKey: '200' + objectKey: $.data + request: + nativeCasing: camel + config: + queryParamPushdown: + top: + paramName: count + skip: + paramName: start + get_synthetics_suite: + operation: + $ref: '#/paths/~1api~1v2~1synthetics~1suites~1{public_id}/get' + response: + mediaType: application/json + openAPIDocKey: '200' + objectKey: $.data + request: + nativeCasing: camel + edit_synthetics_suite: + config: + requestBodyTranslate: + algorithm: naive + operation: + $ref: '#/paths/~1api~1v2~1synthetics~1suites~1{public_id}/put' + response: + mediaType: application/json + openAPIDocKey: '200' + request: + nativeCasing: camel + sqlVerbs: + select: + - $ref: '#/components/x-stackQL-resources/synthetics_suites/methods/get_synthetics_suite' + - $ref: '#/components/x-stackQL-resources/synthetics_suites/methods/search_suites' + insert: + - $ref: '#/components/x-stackQL-resources/synthetics_suites/methods/create_synthetics_suite' + update: [] + delete: [] + replace: + - $ref: '#/components/x-stackQL-resources/synthetics_suites/methods/edit_synthetics_suite' + synthetics_suite_jsonpatches: + id: datadog.monitoring.synthetics_suite_jsonpatches + name: synthetics_suite_jsonpatches + title: Synthetics Suite Jsonpatches + methods: + patch_test_suite: + config: + requestBodyTranslate: + algorithm: naive + operation: + $ref: '#/paths/~1api~1v2~1synthetics~1suites~1{public_id}~1jsonpatch/patch' + response: + mediaType: application/json + openAPIDocKey: '200' + request: + nativeCasing: camel + sqlVerbs: + select: [] + insert: [] + update: + - $ref: '#/components/x-stackQL-resources/synthetics_suite_jsonpatches/methods/patch_test_suite' + delete: [] + replace: [] + synthetics_test_browser_results: + id: datadog.monitoring.synthetics_test_browser_results + name: synthetics_test_browser_results + title: Synthetics Test Browser Results + methods: + list_synthetics_browser_test_latest_results: + operation: + $ref: '#/paths/~1api~1v2~1synthetics~1tests~1browser~1{public_id}~1results/get' + response: + mediaType: application/json + openAPIDocKey: '200' + objectKey: $.data + request: + nativeCasing: camel + get_synthetics_browser_test_result: + operation: + $ref: '#/paths/~1api~1v2~1synthetics~1tests~1browser~1{public_id}~1results~1{result_id}/get' + response: + mediaType: application/json + openAPIDocKey: '200' + objectKey: $.data + request: + nativeCasing: camel + sqlVerbs: + select: + - $ref: '#/components/x-stackQL-resources/synthetics_test_browser_results/methods/get_synthetics_browser_test_result' + - $ref: '#/components/x-stackQL-resources/synthetics_test_browser_results/methods/list_synthetics_browser_test_latest_results' + insert: [] + update: [] + delete: [] + replace: [] + synthetics_tests: + id: datadog.monitoring.synthetics_tests + name: synthetics_tests + title: Synthetics Tests + methods: + delete_synthetics_tests: + config: + requestBodyTranslate: + algorithm: naive + operation: + $ref: '#/paths/~1api~1v2~1synthetics~1tests~1bulk-delete/post' + response: + mediaType: application/json + openAPIDocKey: '200' + request: + nativeCasing: camel + list_tests: + operation: + $ref: '#/paths/~1api~1v1~1synthetics~1tests/get' + response: + mediaType: application/json + openAPIDocKey: '200' + objectKey: $.tests + request: + nativeCasing: camel + config: + queryParamPushdown: + top: + paramName: page_size + delete_tests: + config: + requestBodyTranslate: + algorithm: naive + operation: + $ref: '#/paths/~1api~1v1~1synthetics~1tests~1delete/post' + response: + mediaType: application/json + openAPIDocKey: '200' + request: + nativeCasing: camel + trigger_tests: + config: + requestBodyTranslate: + algorithm: naive + operation: + $ref: '#/paths/~1api~1v1~1synthetics~1tests~1trigger/post' + response: + mediaType: application/json + openAPIDocKey: '200' + request: + nativeCasing: camel + trigger_citests: + config: + requestBodyTranslate: + algorithm: naive + operation: + $ref: '#/paths/~1api~1v1~1synthetics~1tests~1trigger~1ci/post' + response: + mediaType: application/json + openAPIDocKey: '200' + request: + nativeCasing: camel + get_test: + operation: + $ref: '#/paths/~1api~1v1~1synthetics~1tests~1{public_id}/get' + response: + mediaType: application/json + openAPIDocKey: '200' + request: + nativeCasing: camel + patch_test: + config: + requestBodyTranslate: + algorithm: naive + operation: + $ref: '#/paths/~1api~1v1~1synthetics~1tests~1{public_id}/patch' + response: + mediaType: application/json + openAPIDocKey: '200' + request: + nativeCasing: camel + update_test_pause_status: + config: + requestBodyTranslate: + algorithm: naive + operation: + $ref: '#/paths/~1api~1v1~1synthetics~1tests~1{public_id}~1status/put' + response: + mediaType: application/json + openAPIDocKey: '200' + request: + nativeCasing: camel + sqlVerbs: + select: + - $ref: '#/components/x-stackQL-resources/synthetics_tests/methods/get_test' + - $ref: '#/components/x-stackQL-resources/synthetics_tests/methods/list_tests' + insert: [] + update: + - $ref: '#/components/x-stackQL-resources/synthetics_tests/methods/patch_test' + delete: [] + replace: [] + synthetics_fast_test_results: + id: datadog.monitoring.synthetics_fast_test_results + name: synthetics_fast_test_results + title: Synthetics Fast Test Results + methods: + get_synthetics_fast_test_result: + operation: + $ref: '#/paths/~1api~1v2~1synthetics~1tests~1fast~1{id}/get' + response: + mediaType: application/json + openAPIDocKey: '200' + objectKey: $.data + request: + nativeCasing: camel + sqlVerbs: + select: + - $ref: '#/components/x-stackQL-resources/synthetics_fast_test_results/methods/get_synthetics_fast_test_result' + insert: [] + update: [] + delete: [] + replace: [] + synthetics_network_tests: + id: datadog.monitoring.synthetics_network_tests + name: synthetics_network_tests + title: Synthetics Network Tests + methods: + create_synthetics_network_test: + config: + requestBodyTranslate: + algorithm: naive + operation: + $ref: '#/paths/~1api~1v2~1synthetics~1tests~1network/post' + response: + mediaType: application/json + openAPIDocKey: '200' + request: + nativeCasing: camel + get_synthetics_network_test: + operation: + $ref: '#/paths/~1api~1v2~1synthetics~1tests~1network~1{public_id}/get' + response: + mediaType: application/json + openAPIDocKey: '200' + objectKey: $.data + request: + nativeCasing: camel + update_synthetics_network_test: + config: + requestBodyTranslate: + algorithm: naive + operation: + $ref: '#/paths/~1api~1v2~1synthetics~1tests~1network~1{public_id}/put' + response: + mediaType: application/json + openAPIDocKey: '200' + request: + nativeCasing: camel + sqlVerbs: + select: + - $ref: '#/components/x-stackQL-resources/synthetics_network_tests/methods/get_synthetics_network_test' + insert: + - $ref: '#/components/x-stackQL-resources/synthetics_network_tests/methods/create_synthetics_network_test' + update: [] + delete: [] + replace: + - $ref: '#/components/x-stackQL-resources/synthetics_network_tests/methods/update_synthetics_network_test' + synthetics_test_poll_results: + id: datadog.monitoring.synthetics_test_poll_results + name: synthetics_test_poll_results + title: Synthetics Test Poll Results + methods: + poll_synthetics_test_results: + operation: + $ref: '#/paths/~1api~1v2~1synthetics~1tests~1poll_results/get' + response: + mediaType: application/json + openAPIDocKey: '200' + objectKey: $.data + request: + nativeCasing: camel + sqlVerbs: + select: + - $ref: '#/components/x-stackQL-resources/synthetics_test_poll_results/methods/poll_synthetics_test_results' + insert: [] + update: [] + delete: [] + replace: [] + synthetics_test_files: + id: datadog.monitoring.synthetics_test_files + name: synthetics_test_files + title: Synthetics Test Files + methods: + get_test_file_download_url: + config: + requestBodyTranslate: + algorithm: naive + operation: + $ref: '#/paths/~1api~1v2~1synthetics~1tests~1{public_id}~1files~1download/post' + response: + mediaType: application/json + openAPIDocKey: '200' + request: + nativeCasing: camel + get_test_file_multipart_presigned_urls: + config: + requestBodyTranslate: + algorithm: naive + operation: + $ref: '#/paths/~1api~1v2~1synthetics~1tests~1{public_id}~1files~1multipart-presigned-urls/post' + response: + mediaType: application/json + openAPIDocKey: '200' + request: + nativeCasing: camel + abort_test_file_multipart_upload: + config: + requestBodyTranslate: + algorithm: naive + operation: + $ref: '#/paths/~1api~1v2~1synthetics~1tests~1{public_id}~1files~1multipart-upload-abort/post' + response: + mediaType: application/json + openAPIDocKey: '204' + request: + nativeCasing: camel + complete_test_file_multipart_upload: + config: + requestBodyTranslate: + algorithm: naive + operation: + $ref: '#/paths/~1api~1v2~1synthetics~1tests~1{public_id}~1files~1multipart-upload-complete/post' + response: + mediaType: application/json + openAPIDocKey: '204' + request: + nativeCasing: camel + sqlVerbs: + select: [] + insert: [] + update: [] + delete: [] + replace: [] + synthetics_test_parent_suites: + id: datadog.monitoring.synthetics_test_parent_suites + name: synthetics_test_parent_suites + title: Synthetics Test Parent Suites + methods: + get_test_parent_suites: + operation: + $ref: '#/paths/~1api~1v2~1synthetics~1tests~1{public_id}~1parent-suites/get' + response: + mediaType: application/json + openAPIDocKey: '200' + objectKey: $.data + request: + nativeCasing: camel + sqlVerbs: + select: + - $ref: '#/components/x-stackQL-resources/synthetics_test_parent_suites/methods/get_test_parent_suites' + insert: [] + update: [] + delete: [] + replace: [] + synthetics_test_results: + id: datadog.monitoring.synthetics_test_results + name: synthetics_test_results + title: Synthetics Test Results + methods: + list_synthetics_test_latest_results: + operation: + $ref: '#/paths/~1api~1v2~1synthetics~1tests~1{public_id}~1results/get' + response: + mediaType: application/json + openAPIDocKey: '200' + objectKey: $.data + request: + nativeCasing: camel + get_synthetics_test_result: + operation: + $ref: '#/paths/~1api~1v2~1synthetics~1tests~1{public_id}~1results~1{result_id}/get' + response: + mediaType: application/json + openAPIDocKey: '200' + objectKey: $.data + request: + nativeCasing: camel + sqlVerbs: + select: + - $ref: '#/components/x-stackQL-resources/synthetics_test_results/methods/get_synthetics_test_result' + - $ref: '#/components/x-stackQL-resources/synthetics_test_results/methods/list_synthetics_test_latest_results' + insert: [] + update: [] + delete: [] + replace: [] + synthetics_test_version_histories: + id: datadog.monitoring.synthetics_test_version_histories + name: synthetics_test_version_histories + title: Synthetics Test Version Histories + methods: + list_synthetics_test_versions: operation: - $ref: '#/paths/~1api~1v2~1monitor~1notification_rule/get' + $ref: '#/paths/~1api~1v2~1synthetics~1tests~1{public_id}~1version_history/get' response: mediaType: application/json openAPIDocKey: '200' objectKey: $.data - create_monitor_notification_rule: + request: + nativeCasing: camel + config: + queryParamPushdown: + top: + paramName: limit + maxValue: 50 + get_synthetics_test_version: operation: - $ref: '#/paths/~1api~1v2~1monitor~1notification_rule/post' + $ref: '#/paths/~1api~1v2~1synthetics~1tests~1{public_id}~1version_history~1{version_number}/get' response: mediaType: application/json openAPIDocKey: '200' - delete_monitor_notification_rule: + objectKey: $.data + request: + nativeCasing: camel + sqlVerbs: + select: + - $ref: '#/components/x-stackQL-resources/synthetics_test_version_histories/methods/get_synthetics_test_version' + - $ref: '#/components/x-stackQL-resources/synthetics_test_version_histories/methods/list_synthetics_test_versions' + insert: [] + update: [] + delete: [] + replace: [] + synthetics_variable_jsonpatches: + id: datadog.monitoring.synthetics_variable_jsonpatches + name: synthetics_variable_jsonpatches + title: Synthetics Variable Jsonpatches + methods: + patch_global_variable: + config: + requestBodyTranslate: + algorithm: naive operation: - $ref: '#/paths/~1api~1v2~1monitor~1notification_rule~1{rule_id}/delete' + $ref: '#/paths/~1api~1v2~1synthetics~1variables~1{variable_id}~1jsonpatch/patch' response: mediaType: application/json - openAPIDocKey: '204' - get_monitor_notification_rule: + openAPIDocKey: '200' + request: + nativeCasing: camel + sqlVerbs: + select: [] + insert: [] + update: + - $ref: '#/components/x-stackQL-resources/synthetics_variable_jsonpatches/methods/patch_global_variable' + delete: [] + replace: [] + service_checks: + id: datadog.monitoring.service_checks + name: service_checks + title: Service Checks + methods: + submit_service_check: + config: + requestBodyTranslate: + algorithm: naive operation: - $ref: '#/paths/~1api~1v2~1monitor~1notification_rule~1{rule_id}/get' + $ref: '#/paths/~1api~1v1~1check_run/post' + response: + mediaType: text/json + openAPIDocKey: '202' + request: + nativeCasing: camel + sqlVerbs: + select: [] + insert: [] + update: [] + delete: [] + replace: [] + monitors: + id: datadog.monitoring.monitors + name: monitors + title: Monitors + methods: + list_monitors: + operation: + $ref: '#/paths/~1api~1v1~1monitor/get' + response: + mediaType: application/json + openAPIDocKey: '200' + request: + nativeCasing: camel + config: + queryParamPushdown: + top: + paramName: page_size + maxValue: 1000 + create_monitor: + config: + requestBodyTranslate: + algorithm: naive + operation: + $ref: '#/paths/~1api~1v1~1monitor/post' + response: + mediaType: application/json + openAPIDocKey: '200' + request: + nativeCasing: camel + check_can_delete_monitor: + operation: + $ref: '#/paths/~1api~1v1~1monitor~1can_delete/get' response: mediaType: application/json openAPIDocKey: '200' objectKey: $.data - update_monitor_notification_rule: + request: + nativeCasing: camel + validate_monitor: + config: + requestBodyTranslate: + algorithm: naive operation: - $ref: '#/paths/~1api~1v2~1monitor~1notification_rule~1{rule_id}/patch' + $ref: '#/paths/~1api~1v1~1monitor~1validate/post' + response: + mediaType: application/json + openAPIDocKey: '200' + request: + nativeCasing: camel + delete_monitor: + operation: + $ref: '#/paths/~1api~1v1~1monitor~1{monitor_id}/delete' + response: + mediaType: application/json + openAPIDocKey: '200' + request: + nativeCasing: camel + get_monitor: + operation: + $ref: '#/paths/~1api~1v1~1monitor~1{monitor_id}/get' + response: + mediaType: application/json + openAPIDocKey: '200' + request: + nativeCasing: camel + update_monitor: + config: + requestBodyTranslate: + algorithm: naive + operation: + $ref: '#/paths/~1api~1v1~1monitor~1{monitor_id}/put' response: mediaType: application/json openAPIDocKey: '200' + request: + nativeCasing: camel + validate_existing_monitor: + config: + requestBodyTranslate: + algorithm: naive + operation: + $ref: '#/paths/~1api~1v1~1monitor~1{monitor_id}~1validate/post' + response: + mediaType: application/json + openAPIDocKey: '200' + request: + nativeCasing: camel sqlVerbs: select: - - $ref: >- - #/components/x-stackQL-resources/notification_rules/methods/get_monitor_notification_rule - - $ref: >- - #/components/x-stackQL-resources/notification_rules/methods/get_monitor_notification_rules + - $ref: '#/components/x-stackQL-resources/monitors/methods/get_monitor' + - $ref: '#/components/x-stackQL-resources/monitors/methods/list_monitors' + - $ref: '#/components/x-stackQL-resources/monitors/methods/check_can_delete_monitor' insert: - - $ref: >- - #/components/x-stackQL-resources/notification_rules/methods/create_monitor_notification_rule - update: - - $ref: >- - #/components/x-stackQL-resources/notification_rules/methods/update_monitor_notification_rule + - $ref: '#/components/x-stackQL-resources/monitors/methods/create_monitor' + update: [] delete: - - $ref: >- - #/components/x-stackQL-resources/notification_rules/methods/delete_monitor_notification_rule + - $ref: '#/components/x-stackQL-resources/monitors/methods/delete_monitor' + replace: + - $ref: '#/components/x-stackQL-resources/monitors/methods/update_monitor' + monitor_group_search_results: + id: datadog.monitoring.monitor_group_search_results + name: monitor_group_search_results + title: Monitor Group Search Results + methods: + search_monitor_groups: + operation: + $ref: '#/paths/~1api~1v1~1monitor~1groups~1search/get' + response: + mediaType: application/json + openAPIDocKey: '200' + objectKey: $.groups + request: + nativeCasing: camel + config: + queryParamPushdown: + top: + paramName: per_page + sqlVerbs: + select: + - $ref: '#/components/x-stackQL-resources/monitor_group_search_results/methods/search_monitor_groups' + insert: [] + update: [] + delete: [] replace: [] - config_policies: - id: datadog.monitoring.config_policies - name: config_policies - title: Config Policies + monitor_search_results: + id: datadog.monitoring.monitor_search_results + name: monitor_search_results + title: Monitor Search Results methods: - list_monitor_config_policies: + search_monitors: operation: - $ref: '#/paths/~1api~1v2~1monitor~1policy/get' + $ref: '#/paths/~1api~1v1~1monitor~1search/get' + response: + mediaType: application/json + openAPIDocKey: '200' + objectKey: $.monitors + request: + nativeCasing: camel + config: + queryParamPushdown: + top: + paramName: per_page + sqlVerbs: + select: + - $ref: '#/components/x-stackQL-resources/monitor_search_results/methods/search_monitors' + insert: [] + update: [] + delete: [] + replace: [] + synthetics_ci_batches: + id: datadog.monitoring.synthetics_ci_batches + name: synthetics_ci_batches + title: Synthetics Ci Batches + methods: + get_synthetics_cibatch: + operation: + $ref: '#/paths/~1api~1v1~1synthetics~1ci~1batch~1{batch_id}/get' response: mediaType: application/json openAPIDocKey: '200' objectKey: $.data - create_monitor_config_policy: + request: + nativeCasing: camel + sqlVerbs: + select: + - $ref: '#/components/x-stackQL-resources/synthetics_ci_batches/methods/get_synthetics_cibatch' + insert: [] + update: [] + delete: [] + replace: [] + synthetics_locations: + id: datadog.monitoring.synthetics_locations + name: synthetics_locations + title: Synthetics Locations + methods: + list_locations: operation: - $ref: '#/paths/~1api~1v2~1monitor~1policy/post' + $ref: '#/paths/~1api~1v1~1synthetics~1locations/get' response: mediaType: application/json openAPIDocKey: '200' - delete_monitor_config_policy: + objectKey: $.locations + request: + nativeCasing: camel + sqlVerbs: + select: + - $ref: '#/components/x-stackQL-resources/synthetics_locations/methods/list_locations' + insert: [] + update: [] + delete: [] + replace: [] + synthetics_private_locations: + id: datadog.monitoring.synthetics_private_locations + name: synthetics_private_locations + title: Synthetics Private Locations + methods: + create_private_location: + config: + requestBodyTranslate: + algorithm: naive operation: - $ref: '#/paths/~1api~1v2~1monitor~1policy~1{policy_id}/delete' + $ref: '#/paths/~1api~1v1~1synthetics~1private-locations/post' + response: + mediaType: application/json + openAPIDocKey: '200' + request: + nativeCasing: camel + delete_private_location: + operation: + $ref: '#/paths/~1api~1v1~1synthetics~1private-locations~1{location_id}/delete' response: mediaType: application/json openAPIDocKey: '204' - get_monitor_config_policy: + request: + nativeCasing: camel + get_private_location: operation: - $ref: '#/paths/~1api~1v2~1monitor~1policy~1{policy_id}/get' + $ref: '#/paths/~1api~1v1~1synthetics~1private-locations~1{location_id}/get' response: mediaType: application/json openAPIDocKey: '200' - objectKey: $.data - update_monitor_config_policy: + request: + nativeCasing: camel + update_private_location: + config: + requestBodyTranslate: + algorithm: naive operation: - $ref: '#/paths/~1api~1v2~1monitor~1policy~1{policy_id}/patch' + $ref: '#/paths/~1api~1v1~1synthetics~1private-locations~1{location_id}/put' response: mediaType: application/json openAPIDocKey: '200' + request: + nativeCasing: camel sqlVerbs: select: - - $ref: >- - #/components/x-stackQL-resources/config_policies/methods/get_monitor_config_policy - - $ref: >- - #/components/x-stackQL-resources/config_policies/methods/list_monitor_config_policies + - $ref: '#/components/x-stackQL-resources/synthetics_private_locations/methods/get_private_location' insert: - - $ref: >- - #/components/x-stackQL-resources/config_policies/methods/create_monitor_config_policy - update: - - $ref: >- - #/components/x-stackQL-resources/config_policies/methods/update_monitor_config_policy + - $ref: '#/components/x-stackQL-resources/synthetics_private_locations/methods/create_private_location' + update: [] delete: - - $ref: >- - #/components/x-stackQL-resources/config_policies/methods/delete_monitor_config_policy - replace: [] - user_templates: - id: datadog.monitoring.user_templates - name: user_templates - title: User Templates + - $ref: '#/components/x-stackQL-resources/synthetics_private_locations/methods/delete_private_location' + replace: + - $ref: '#/components/x-stackQL-resources/synthetics_private_locations/methods/update_private_location' + synthetics_default_locations: + id: datadog.monitoring.synthetics_default_locations + name: synthetics_default_locations + title: Synthetics Default Locations methods: - list_monitor_user_templates: + get_synthetics_default_locations: operation: - $ref: '#/paths/~1api~1v2~1monitor~1template/get' + $ref: '#/paths/~1api~1v1~1synthetics~1settings~1default_locations/get' response: mediaType: application/json openAPIDocKey: '200' - objectKey: $.data - create_monitor_user_template: + request: + nativeCasing: camel + sqlVerbs: + select: + - $ref: '#/components/x-stackQL-resources/synthetics_default_locations/methods/get_synthetics_default_locations' + insert: [] + update: [] + delete: [] + replace: [] + synthetics_api_tests: + id: datadog.monitoring.synthetics_api_tests + name: synthetics_api_tests + title: Synthetics Api Tests + methods: + create_synthetics_apitest: + config: + requestBodyTranslate: + algorithm: naive operation: - $ref: '#/paths/~1api~1v2~1monitor~1template/post' + $ref: '#/paths/~1api~1v1~1synthetics~1tests~1api/post' response: mediaType: application/json openAPIDocKey: '200' - validate_monitor_user_template: + request: + nativeCasing: camel + get_apitest: operation: - $ref: '#/paths/~1api~1v2~1monitor~1template~1validate/post' + $ref: '#/paths/~1api~1v1~1synthetics~1tests~1api~1{public_id}/get' response: mediaType: application/json - openAPIDocKey: '204' - delete_monitor_user_template: + openAPIDocKey: '200' + request: + nativeCasing: camel + update_apitest: + config: + requestBodyTranslate: + algorithm: naive operation: - $ref: '#/paths/~1api~1v2~1monitor~1template~1{template_id}/delete' + $ref: '#/paths/~1api~1v1~1synthetics~1tests~1api~1{public_id}/put' response: mediaType: application/json - openAPIDocKey: '204' - get_monitor_user_template: + openAPIDocKey: '200' + request: + nativeCasing: camel + sqlVerbs: + select: + - $ref: '#/components/x-stackQL-resources/synthetics_api_tests/methods/get_apitest' + insert: + - $ref: '#/components/x-stackQL-resources/synthetics_api_tests/methods/create_synthetics_apitest' + update: [] + delete: [] + replace: + - $ref: '#/components/x-stackQL-resources/synthetics_api_tests/methods/update_apitest' + synthetics_browser_tests: + id: datadog.monitoring.synthetics_browser_tests + name: synthetics_browser_tests + title: Synthetics Browser Tests + methods: + create_synthetics_browser_test: + config: + requestBodyTranslate: + algorithm: naive operation: - $ref: '#/paths/~1api~1v2~1monitor~1template~1{template_id}/get' + $ref: '#/paths/~1api~1v1~1synthetics~1tests~1browser/post' response: mediaType: application/json openAPIDocKey: '200' - objectKey: $.data - update_monitor_user_template: + request: + nativeCasing: camel + get_browser_test: operation: - $ref: '#/paths/~1api~1v2~1monitor~1template~1{template_id}/put' + $ref: '#/paths/~1api~1v1~1synthetics~1tests~1browser~1{public_id}/get' response: mediaType: application/json openAPIDocKey: '200' - validate_existing_monitor_user_template: + request: + nativeCasing: camel + update_browser_test: + config: + requestBodyTranslate: + algorithm: naive operation: - $ref: '#/paths/~1api~1v2~1monitor~1template~1{template_id}~1validate/post' + $ref: '#/paths/~1api~1v1~1synthetics~1tests~1browser~1{public_id}/put' response: mediaType: application/json - openAPIDocKey: '204' + openAPIDocKey: '200' + request: + nativeCasing: camel sqlVerbs: select: - - $ref: >- - #/components/x-stackQL-resources/user_templates/methods/get_monitor_user_template - - $ref: >- - #/components/x-stackQL-resources/user_templates/methods/list_monitor_user_templates + - $ref: '#/components/x-stackQL-resources/synthetics_browser_tests/methods/get_browser_test' insert: - - $ref: >- - #/components/x-stackQL-resources/user_templates/methods/create_monitor_user_template + - $ref: '#/components/x-stackQL-resources/synthetics_browser_tests/methods/create_synthetics_browser_test' update: [] - delete: - - $ref: >- - #/components/x-stackQL-resources/user_templates/methods/delete_monitor_user_template + delete: [] replace: - - $ref: >- - #/components/x-stackQL-resources/user_templates/methods/update_monitor_user_template - downtimes: - id: datadog.monitoring.downtimes - name: downtimes - title: Downtimes + - $ref: '#/components/x-stackQL-resources/synthetics_browser_tests/methods/update_browser_test' + synthetics_browser_test_results: + id: datadog.monitoring.synthetics_browser_test_results + name: synthetics_browser_test_results + title: Synthetics Browser Test Results methods: - list_monitor_downtimes: + get_browser_test_latest_results: operation: - $ref: '#/paths/~1api~1v2~1monitor~1{monitor_id}~1downtime_matches/get' + $ref: '#/paths/~1api~1v1~1synthetics~1tests~1browser~1{public_id}~1results/get' response: mediaType: application/json openAPIDocKey: '200' - objectKey: $.data + objectKey: $.results + request: + nativeCasing: camel + get_browser_test_result: + operation: + $ref: '#/paths/~1api~1v1~1synthetics~1tests~1browser~1{public_id}~1results~1{result_id}/get' + response: + mediaType: application/json + openAPIDocKey: '200' + request: + nativeCasing: camel sqlVerbs: select: - - $ref: >- - #/components/x-stackQL-resources/downtimes/methods/list_monitor_downtimes + - $ref: '#/components/x-stackQL-resources/synthetics_browser_test_results/methods/get_browser_test_result' + - $ref: '#/components/x-stackQL-resources/synthetics_browser_test_results/methods/get_browser_test_latest_results' insert: [] update: [] delete: [] replace: [] - on_demand_concurrency_cap: - id: datadog.monitoring.on_demand_concurrency_cap - name: on_demand_concurrency_cap - title: On Demand Concurrency Cap + synthetics_mobile_tests: + id: datadog.monitoring.synthetics_mobile_tests + name: synthetics_mobile_tests + title: Synthetics Mobile Tests methods: - get_on_demand_concurrency_cap: + create_synthetics_mobile_test: + config: + requestBodyTranslate: + algorithm: naive operation: - $ref: >- - #/paths/~1api~1v2~1synthetics~1settings~1on_demand_concurrency_cap/get + $ref: '#/paths/~1api~1v1~1synthetics~1tests~1mobile/post' response: mediaType: application/json openAPIDocKey: '200' - objectKey: $.data - set_on_demand_concurrency_cap: + request: + nativeCasing: camel + get_mobile_test: + operation: + $ref: '#/paths/~1api~1v1~1synthetics~1tests~1mobile~1{public_id}/get' + response: + mediaType: application/json + openAPIDocKey: '200' + request: + nativeCasing: camel + update_mobile_test: + config: + requestBodyTranslate: + algorithm: naive operation: - $ref: >- - #/paths/~1api~1v2~1synthetics~1settings~1on_demand_concurrency_cap/post + $ref: '#/paths/~1api~1v1~1synthetics~1tests~1mobile~1{public_id}/put' response: mediaType: application/json openAPIDocKey: '200' + request: + nativeCasing: camel sqlVerbs: select: - - $ref: >- - #/components/x-stackQL-resources/on_demand_concurrency_cap/methods/get_on_demand_concurrency_cap + - $ref: '#/components/x-stackQL-resources/synthetics_mobile_tests/methods/get_mobile_test' insert: - - $ref: >- - #/components/x-stackQL-resources/on_demand_concurrency_cap/methods/set_on_demand_concurrency_cap + - $ref: '#/components/x-stackQL-resources/synthetics_mobile_tests/methods/create_synthetics_mobile_test' + update: [] + delete: [] + replace: + - $ref: '#/components/x-stackQL-resources/synthetics_mobile_tests/methods/update_mobile_test' + synthetics_test_search_results: + id: datadog.monitoring.synthetics_test_search_results + name: synthetics_test_search_results + title: Synthetics Test Search Results + methods: + search_tests: + operation: + $ref: '#/paths/~1api~1v1~1synthetics~1tests~1search/get' + response: + mediaType: application/json + openAPIDocKey: '200' + objectKey: $.tests + request: + nativeCasing: camel + config: + queryParamPushdown: + top: + paramName: count + skip: + paramName: start + sqlVerbs: + select: + - $ref: '#/components/x-stackQL-resources/synthetics_test_search_results/methods/search_tests' + insert: [] + update: [] + delete: [] + replace: [] + synthetics_test_uptimes: + id: datadog.monitoring.synthetics_test_uptimes + name: synthetics_test_uptimes + title: Synthetics Test Uptimes + methods: + fetch_uptimes: + config: + requestBodyTranslate: + algorithm: naive + operation: + $ref: '#/paths/~1api~1v1~1synthetics~1tests~1uptimes/post' + response: + mediaType: application/json + openAPIDocKey: '200' + request: + nativeCasing: camel + sqlVerbs: + select: [] + insert: [] + update: [] + delete: [] + replace: [] + synthetics_api_test_results: + id: datadog.monitoring.synthetics_api_test_results + name: synthetics_api_test_results + title: Synthetics Api Test Results + methods: + get_apitest_latest_results: + operation: + $ref: '#/paths/~1api~1v1~1synthetics~1tests~1{public_id}~1results/get' + response: + mediaType: application/json + openAPIDocKey: '200' + objectKey: $.results + request: + nativeCasing: camel + get_apitest_result: + operation: + $ref: '#/paths/~1api~1v1~1synthetics~1tests~1{public_id}~1results~1{result_id}/get' + response: + mediaType: application/json + openAPIDocKey: '200' + request: + nativeCasing: camel + sqlVerbs: + select: + - $ref: '#/components/x-stackQL-resources/synthetics_api_test_results/methods/get_apitest_result' + - $ref: '#/components/x-stackQL-resources/synthetics_api_test_results/methods/get_apitest_latest_results' + insert: [] update: [] delete: [] replace: [] + synthetics_global_variables: + id: datadog.monitoring.synthetics_global_variables + name: synthetics_global_variables + title: Synthetics Global Variables + methods: + list_global_variables: + operation: + $ref: '#/paths/~1api~1v1~1synthetics~1variables/get' + response: + mediaType: application/json + openAPIDocKey: '200' + objectKey: $.variables + request: + nativeCasing: camel + create_global_variable: + config: + requestBodyTranslate: + algorithm: naive + operation: + $ref: '#/paths/~1api~1v1~1synthetics~1variables/post' + response: + mediaType: application/json + openAPIDocKey: '200' + request: + nativeCasing: camel + delete_global_variable: + operation: + $ref: '#/paths/~1api~1v1~1synthetics~1variables~1{variable_id}/delete' + response: + mediaType: application/json + openAPIDocKey: '200' + request: + nativeCasing: camel + get_global_variable: + operation: + $ref: '#/paths/~1api~1v1~1synthetics~1variables~1{variable_id}/get' + response: + mediaType: application/json + openAPIDocKey: '200' + request: + nativeCasing: camel + edit_global_variable: + config: + requestBodyTranslate: + algorithm: naive + operation: + $ref: '#/paths/~1api~1v1~1synthetics~1variables~1{variable_id}/put' + response: + mediaType: application/json + openAPIDocKey: '200' + request: + nativeCasing: camel + sqlVerbs: + select: + - $ref: '#/components/x-stackQL-resources/synthetics_global_variables/methods/get_global_variable' + - $ref: '#/components/x-stackQL-resources/synthetics_global_variables/methods/list_global_variables' + insert: + - $ref: '#/components/x-stackQL-resources/synthetics_global_variables/methods/create_global_variable' + update: [] + delete: + - $ref: '#/components/x-stackQL-resources/synthetics_global_variables/methods/delete_global_variable' + replace: + - $ref: '#/components/x-stackQL-resources/synthetics_global_variables/methods/edit_global_variable' servers: - - url: >- - https://{region:^(?:[^\:/]+(?:\:[0-9]+)?|[0-9]+\.[0-9]+\.[0-9]+\.[0-9]+(?:\:[0-9]+)?)$}/ + - url: https://api.{site:.+} variables: - region: + site: default: datadoghq.com + description: The Datadog site (region) for your organization, for example datadoghq.com, us3.datadoghq.com, us5.datadoghq.com, ap1.datadoghq.com, ap2.datadoghq.com, datadoghq.eu, ddog-gov.com. Resolved from the DD_SITE environment variable when set. + x-stackQL-envVar: DD_SITE diff --git a/providers/src/datadog/v00.00.00000/services/organization.yaml b/providers/src/datadog/v00.00.00000/services/organization.yaml index 9dcd88bd..43b89bce 100644 --- a/providers/src/datadog/v00.00.00000/services/organization.yaml +++ b/providers/src/datadog/v00.00.00000/services/organization.yaml @@ -4,6 +4,67 @@ info: description: datadog organization API version: '1.0' paths: + /api/v2/anonymize_users: + put: + description: |- + Anonymize a list of users, removing their personal data. This operation is irreversible. + Requires the `user_access_manage` permission. + operationId: AnonymizeUsers + requestBody: + content: + application/json: + examples: + default: + value: + data: + attributes: + user_ids: + - 00000000-0000-0000-0000-000000000000 + type: anonymize_users_request + schema: + $ref: '#/components/schemas/AnonymizeUsersRequest' + required: true + responses: + '200': + content: + application/json: + examples: + default: + value: + data: + id: abc-123 + type: anonymize_users_response + schema: + $ref: '#/components/schemas/AnonymizeUsersResponse' + description: OK + '400': + content: + application/json: + schema: + $ref: '#/components/schemas/APIErrorResponse' + description: Bad Request + '403': + content: + application/json: + schema: + $ref: '#/components/schemas/APIErrorResponse' + description: Authentication error + '429': + $ref: '#/components/responses/TooManyRequestsResponse' + security: + - apiKeyAuth: [] + appKeyAuth: [] + - AuthZ: + - user_access_manage + summary: Anonymize users + tags: + - Users + x-codegen-request-body-name: body + x-permission: + operator: OR + permissions: + - user_access_manage + x-unstable: '**Note**: This endpoint is in Preview and may be subject to changes.' /api/v2/api_keys: get: description: List all API keys available for your account. @@ -24,6 +85,17 @@ paths: '200': content: application/json: + examples: + default: + value: + data: + - attributes: + created_at: '2024-01-01T00:00:00+00:00' + last4: abcd + modified_at: '2024-01-01T00:00:00+00:00' + name: API Key for submitting metrics + id: 00000000-0000-0000-0000-000000000001 + type: api_keys schema: $ref: '#/components/schemas/APIKeysResponse' description: OK @@ -54,6 +126,13 @@ paths: requestBody: content: application/json: + examples: + default: + value: + data: + attributes: + name: API Key for submitting metrics + type: api_keys schema: $ref: '#/components/schemas/APIKeyCreateRequest' required: true @@ -61,6 +140,17 @@ paths: '201': content: application/json: + examples: + default: + value: + data: + attributes: + created_at: '2024-01-01T00:00:00+00:00' + last4: abcd + modified_at: '2024-01-01T00:00:00+00:00' + name: API Key for submitting metrics + id: 00000000-0000-0000-0000-000000000002 + type: api_keys schema: $ref: '#/components/schemas/APIKeyResponse' description: Created @@ -126,6 +216,17 @@ paths: '200': content: application/json: + examples: + default: + value: + data: + attributes: + created_at: '2024-01-01T00:00:00+00:00' + last4: abcd + modified_at: '2024-01-01T00:00:00+00:00' + name: API Key for submitting metrics + id: 00000000-0000-0000-0000-000000000003 + type: api_keys schema: $ref: '#/components/schemas/APIKeyResponse' description: OK @@ -158,6 +259,14 @@ paths: requestBody: content: application/json: + examples: + default: + value: + data: + attributes: + name: API Key for submitting metrics + id: 00112233-4455-6677-8899-aabbccddeeff + type: api_keys schema: $ref: '#/components/schemas/APIKeyUpdateRequest' required: true @@ -165,6 +274,17 @@ paths: '200': content: application/json: + examples: + default: + value: + data: + attributes: + created_at: '2024-01-01T00:00:00+00:00' + last4: abcd + modified_at: '2024-01-01T00:00:00+00:00' + name: API Key for submitting metrics + id: 00000000-0000-0000-0000-000000000004 + type: api_keys schema: $ref: '#/components/schemas/APIKeyResponse' description: OK @@ -207,11 +327,22 @@ paths: - $ref: '#/components/parameters/ApplicationKeyFilterParameter' - $ref: '#/components/parameters/ApplicationKeyFilterCreatedAtStartParameter' - $ref: '#/components/parameters/ApplicationKeyFilterCreatedAtEndParameter' + - $ref: '#/components/parameters/ApplicationKeyFilterOwnedByParameter' - $ref: '#/components/parameters/ApplicationKeyIncludeParameter' responses: '200': content: application/json: + examples: + default: + value: + data: + - attributes: + created_at: '2020-11-23T10:00:00.000Z' + last4: abcd + name: Application Key for managing dashboards + id: 00000000-0000-0000-0000-000000000001 + type: application_keys schema: $ref: '#/components/schemas/ListApplicationKeysResponse' description: OK @@ -283,6 +414,16 @@ paths: '200': content: application/json: + examples: + default: + value: + data: + attributes: + created_at: '2020-11-23T10:00:00.000Z' + last4: abcd + name: Application Key for managing dashboards + id: 00000000-0000-0000-0000-000000000002 + type: application_keys schema: $ref: '#/components/schemas/ApplicationKeyResponse' description: OK @@ -321,6 +462,18 @@ paths: requestBody: content: application/json: + examples: + default: + value: + data: + attributes: + name: Application Key for managing dashboards + scopes: + - dashboards_read + - dashboards_write + - dashboards_public_share + id: 00112233-4455-6677-8899-aabbccddeeff + type: application_keys schema: $ref: '#/components/schemas/ApplicationKeyUpdateRequest' required: true @@ -328,6 +481,16 @@ paths: '200': content: application/json: + examples: + default: + value: + data: + attributes: + created_at: '2020-11-23T10:00:00.000Z' + last4: abcd + name: Application Key for managing dashboards + id: 00000000-0000-0000-0000-000000000003 + type: application_keys schema: $ref: '#/components/schemas/ApplicationKeyResponse' description: OK @@ -361,17 +524,13 @@ paths: - org_app_keys_write /api/v2/audit/events: get: - description: >- + description: |- List endpoint returns events that match a Audit Logs search query. - [Results are paginated][1]. - Use this endpoint to see your latest Audit Logs events. - - [1]: - https://docs.datadoghq.com/logs/guide/collect-multiple-logs-with-pagination + [1]: https://docs.datadoghq.com/logs/guide/collect-multiple-logs-with-pagination operationId: ListAuditLogs parameters: - description: Search query following Audit Logs syntax. @@ -404,8 +563,7 @@ paths: schema: $ref: '#/components/schemas/AuditLogsSort' - description: List following results with a cursor provided in the previous query. - example: >- - eyJzdGFydEF0IjoiQVFBQUFYS2tMS3pPbm40NGV3QUFBQUJCV0V0clRFdDZVbG8zY3pCRmNsbHJiVmxDWlEifQ== + example: eyJzdGFydEF0IjoiQVFBQUFYS2tMS3pPbm40NGV3QUFBQUJCV0V0clRFdDZVbG8zY3pCRmNsbHJiVmxDWlEifQ== in: query name: page[cursor] required: false @@ -425,6 +583,22 @@ paths: '200': content: application/json: + examples: + default: + value: + data: + - attributes: + message: User logged in + service: web-app + tags: + - team:A + timestamp: '2024-01-01T00:00:00+00:00' + id: AAAAAWgN8Xwgr1vKDQAAAABBV2dOOFh3ZzZobm1mWXJFYTR0OA + type: audit + meta: + elapsed: 132 + request_id: MWlFUjVaWGZTTTZPYzM0VXp1OXU2d3xLSVpEMjZKQ0VKUTI0dEYtM3RSOFVR + status: done schema: $ref: '#/components/schemas/AuditLogsEventsResponse' description: OK @@ -448,23 +622,30 @@ paths: - audit_logs_read /api/v2/audit/events/search: post: - description: >- - List endpoint returns Audit Logs events that match an Audit search - query. - + description: |- + List endpoint returns Audit Logs events that match an Audit search query. [Results are paginated][1]. + Use this endpoint to build complex Audit Logs events filtering and search. - Use this endpoint to build complex Audit Logs events filtering and - search. - - - [1]: - https://docs.datadoghq.com/logs/guide/collect-multiple-logs-with-pagination + [1]: https://docs.datadoghq.com/logs/guide/collect-multiple-logs-with-pagination operationId: SearchAuditLogs requestBody: content: application/json: + examples: + default: + value: + filter: + from: now-15m + query: '@type:session AND @session.type:user' + to: now + options: + timezone: GMT + page: + cursor: eyJzdGFydEF0IjoiQVFBQUFYS2tMS3pPbm40NGV3QUFBQUJCV0V0clRFdDZVbG8zY3pCRmNsbHJiVmxDWlEifQ== + limit: 25 + sort: timestamp schema: $ref: '#/components/schemas/AuditLogsSearchEventsRequest' required: false @@ -472,6 +653,24 @@ paths: '200': content: application/json: + examples: + default: + value: + data: + - attributes: + message: User logged in + service: web-app + tags: + - team:A + timestamp: '2019-01-02T09:42:36.320Z' + id: AAAAAWgN8Xwgr1vKDQAAAABBV2dOOFh3ZzZobm1mWXJFYTR0OA + type: audit + links: + next: https://app.datadoghq.com/api/v2/audit/event?filter[query]=foo&page[cursor]=eyJzdGFydEF0IjoiQVFBQUFYS2tMS3pPbm40NGV3QUFBQUJCV0V0clRFdDZVbG8zY3pCRmNsbHJiVmxDWlEifQ== + meta: + elapsed: 132 + request_id: MWlFUjVaWGZTTTZPYzM0VXp1OXU2d3xLSVpEMjZKQ0VKUTI0dEYtM3RSOFVR + status: done schema: $ref: '#/components/schemas/AuditLogsEventsResponse' description: OK @@ -513,9 +712,7 @@ paths: required: false schema: type: string - - description: >- - Filter by mapping resource type. Defaults to "role" if not - specified. + - description: Filter by mapping resource type. Defaults to "role" if not specified. in: query name: resource_type schema: @@ -524,6 +721,15 @@ paths: '200': content: application/json: + examples: + default: + value: + data: + - attributes: + attribute_key: member-of + attribute_value: Development + id: 00000000-0000-0000-0000-000000000003 + type: authn_mappings schema: $ref: '#/components/schemas/AuthNMappingsResponse' description: OK @@ -548,6 +754,14 @@ paths: requestBody: content: application/json: + examples: + default: + value: + data: + attributes: + attribute_key: member-of + attribute_value: Development + type: authn_mappings schema: $ref: '#/components/schemas/AuthNMappingCreateRequest' required: true @@ -555,6 +769,15 @@ paths: '200': content: application/json: + examples: + default: + value: + data: + attributes: + attribute_key: member-of + attribute_value: Development + id: 00000000-0000-0000-0000-000000000004 + type: authn_mappings schema: $ref: '#/components/schemas/AuthNMappingResponse' description: OK @@ -625,6 +848,15 @@ paths: '200': content: application/json: + examples: + default: + value: + data: + attributes: + attribute_key: member-of + attribute_value: Development + id: 00000000-0000-0000-0000-000000000001 + type: authn_mappings schema: $ref: '#/components/schemas/AuthNMappingResponse' description: OK @@ -657,6 +889,15 @@ paths: requestBody: content: application/json: + examples: + default: + value: + data: + attributes: + attribute_key: member-of + attribute_value: Development + id: 3653d3c6-0c75-11ea-ad28-fb5701eabc7d + type: authn_mappings schema: $ref: '#/components/schemas/AuthNMappingUpdateRequest' required: true @@ -664,6 +905,15 @@ paths: '200': content: application/json: + examples: + default: + value: + data: + attributes: + attribute_key: member-of + attribute_value: Development + id: 00000000-0000-0000-0000-000000000002 + type: authn_mappings schema: $ref: '#/components/schemas/AuthNMappingResponse' description: OK @@ -707,6 +957,144 @@ paths: operator: OR permissions: - user_access_manage + /api/v2/current_user: + get: + description: |- + Get the user associated with the current authentication context. + The response includes the user's profile attributes (name, email, handle, + status, MFA state), along with related resources: the user's organization, + assigned roles with their granted permissions, and team-scoped roles. + No additional permissions are required beyond valid authentication. + operationId: GetCurrentUser + responses: + '200': + content: + application/json: + examples: + default: + value: + data: + attributes: + created_at: '2024-01-15T10:30:00+00:00' + disabled: false + email: jane.doe@example.com + handle: jane.doe + icon: https://secure.gravatar.com/avatar/abc123 + mfa_enabled: true + modified_at: '2024-06-01T12:00:00+00:00' + name: Jane Doe + service_account: false + status: Active + title: Senior Engineer + verified: true + id: 00000000-0000-9999-0000-000000000000 + type: users + included: [] + schema: + $ref: '#/components/schemas/UserResponse' + description: OK + '403': + content: + application/json: + schema: + $ref: '#/components/schemas/APIErrorResponse' + description: Authentication error + '429': + $ref: '#/components/responses/TooManyRequestsResponse' + security: + - apiKeyAuth: [] + appKeyAuth: [] + summary: Get current user + tags: + - Users + patch: + description: |- + Edit the profile of the currently authenticated user. Updatable fields + include `name`, `title`, `email`, and `disabled` status. The `id` field + in the request body must match the authenticated user's UUID; a mismatch + returns a 422 error. Email address changes are recorded in the audit trail. + Requires the `user_self_profile_write` permission. + operationId: UpdateCurrentUser + requestBody: + content: + application/json: + examples: + default: + value: + data: + attributes: + email: jane.doe@example.com + name: Jane Doe + title: Staff Engineer + id: 00000000-0000-9999-0000-000000000000 + type: users + schema: + $ref: '#/components/schemas/UserUpdateRequest' + required: true + responses: + '200': + content: + application/json: + examples: + default: + value: + data: + attributes: + created_at: '2024-01-15T10:30:00+00:00' + disabled: false + email: jane.doe@example.com + handle: jane.doe + icon: https://secure.gravatar.com/avatar/abc123 + mfa_enabled: true + modified_at: '2024-06-01T12:00:00+00:00' + name: Jane Doe + service_account: false + status: Active + title: Staff Engineer + verified: true + id: 00000000-0000-9999-0000-000000000000 + type: users + included: [] + schema: + $ref: '#/components/schemas/UserResponse' + description: OK + '400': + content: + application/json: + schema: + $ref: '#/components/schemas/APIErrorResponse' + description: Bad Request + '403': + content: + application/json: + schema: + $ref: '#/components/schemas/APIErrorResponse' + description: Authentication error + '404': + content: + application/json: + schema: + $ref: '#/components/schemas/APIErrorResponse' + description: Not found + '422': + content: + application/json: + schema: + $ref: '#/components/schemas/APIErrorResponse' + description: Unprocessable Entity + '429': + $ref: '#/components/responses/TooManyRequestsResponse' + security: + - apiKeyAuth: [] + appKeyAuth: [] + summary: Update current user + tags: + - Users + x-codegen-request-body-name: body + x-permission: + operator: OR + permissions: + - user_self_profile_write /api/v2/current_user/application_keys: get: description: List all application keys available for current user @@ -723,6 +1111,16 @@ paths: '200': content: application/json: + examples: + default: + value: + data: + - attributes: + created_at: '2020-11-23T10:00:00.000Z' + last4: abcd + name: Application Key for managing dashboards + id: 00000000-0000-0000-0000-000000000004 + type: application_keys schema: $ref: '#/components/schemas/ListApplicationKeysResponse' description: OK @@ -759,6 +1157,17 @@ paths: requestBody: content: application/json: + examples: + default: + value: + data: + attributes: + name: Application Key for managing dashboards + scopes: + - dashboards_read + - dashboards_write + - dashboards_public_share + type: application_keys schema: $ref: '#/components/schemas/ApplicationKeyCreateRequest' required: true @@ -766,6 +1175,16 @@ paths: '201': content: application/json: + examples: + default: + value: + data: + attributes: + created_at: '2020-11-23T10:00:00.000Z' + last4: abcd + name: Application Key for managing dashboards + id: 00000000-0000-0000-0000-000000000005 + type: application_keys schema: $ref: '#/components/schemas/ApplicationKeyResponse' description: Created @@ -822,7 +1241,9 @@ paths: permissions: - user_app_keys get: - description: Get an application key owned by current user + description: |- + Get an application key owned by current user. + The `key` field is not returned for organizations in [One-Time Read mode](https://docs.datadoghq.com/account_management/api-app-keys/#one-time-read-mode). operationId: GetCurrentUserApplicationKey parameters: - $ref: '#/components/parameters/ApplicationKeyID' @@ -830,6 +1251,16 @@ paths: '200': content: application/json: + examples: + default: + value: + data: + attributes: + created_at: '2020-11-23T10:00:00.000Z' + last4: abcd + name: Application Key for managing dashboards + id: 00000000-0000-0000-0000-000000000006 + type: application_keys schema: $ref: '#/components/schemas/ApplicationKeyResponse' description: OK @@ -855,13 +1286,27 @@ paths: permissions: - user_app_keys patch: - description: Edit an application key owned by current user + description: |- + Edit an application key owned by current user. + The `key` field is not returned for organizations in [One-Time Read mode](https://docs.datadoghq.com/account_management/api-app-keys/#one-time-read-mode). operationId: UpdateCurrentUserApplicationKey parameters: - $ref: '#/components/parameters/ApplicationKeyID' requestBody: content: application/json: + examples: + default: + value: + data: + attributes: + name: Application Key for managing dashboards + scopes: + - dashboards_read + - dashboards_write + - dashboards_public_share + id: 00112233-4455-6677-8899-aabbccddeeff + type: application_keys schema: $ref: '#/components/schemas/ApplicationKeyUpdateRequest' required: true @@ -869,6 +1314,16 @@ paths: '200': content: application/json: + examples: + default: + value: + data: + attributes: + created_at: '2020-11-23T10:00:00.000Z' + last4: abcd + name: Application Key for managing dashboards + id: 00000000-0000-0000-0000-000000000007 + type: application_keys schema: $ref: '#/components/schemas/ApplicationKeyResponse' description: OK @@ -902,15 +1357,28 @@ paths: - user_app_keys /api/v2/deletion/data/{product}: post: - description: >- - Creates a data deletion request by providing a query and a timeframe - targeting the proper data. + description: Creates a data deletion request by providing a query and a timeframe targeting the proper data. operationId: CreateDataDeletionRequest parameters: - $ref: '#/components/parameters/ProductName' requestBody: content: application/json: + examples: + default: + value: + data: + attributes: + displayed_total: 100 + from: 1672527600000 + indexes: + - test-index + - test-index-2 + query: + host: abc + service: xyz + to: 1704063600000 + type: create_deletion_req schema: $ref: '#/components/schemas/CreateDataDeletionRequestBody' required: true @@ -918,6 +1386,29 @@ paths: '200': content: application/json: + examples: + default: + value: + data: + attributes: + created_at: '2024-01-01T00:00:00.000000Z' + created_by: test@example.com + displayed_total: 100 + from_time: 1672527600000 + is_created: true + org_id: 123 + product: logs + query: service:xyz host:abc + starting_at: '2024-01-01T02:00:00.000000Z' + status: pending + to_time: 1704063600000 + total_unrestricted: 100 + updated_at: '2024-01-01T00:00:00.000000Z' + id: '1' + type: deletion_request + meta: + product: logs + request_status: pending schema: $ref: '#/components/schemas/CreateDataDeletionResponseBody' description: OK @@ -948,21 +1439,13 @@ paths: x-permission: operator: OR permissions: - - rum_delete_data - logs_delete_data - x-unstable: |- - **Note**: This endpoint is in Preview. If you have any feedback, - contact [Datadog support](https://docs.datadoghq.com/help/). /api/v2/deletion/requests: get: - description: >- - Gets a list of data deletion requests based on several filter - parameters. + description: Gets a list of data deletion requests based on several filter parameters. operationId: GetDataDeletionRequests parameters: - - description: >- - The next page of the previous search. If the next_page parameter is - included, the rest of the query elements are ignored. + - description: The next page of the previous search. If the next_page parameter is included, the rest of the query elements are ignored. example: cGFnZTI= in: query name: next_page @@ -1005,6 +1488,29 @@ paths: '200': content: application/json: + examples: + default: + value: + data: + - attributes: + created_at: '2024-01-01T00:00:00.000000Z' + created_by: test@example.com + displayed_total: 100 + from_time: 1672527600000 + is_created: true + org_id: 123 + product: logs + query: service:xyz host:abc + starting_at: '2024-01-01T02:00:00.000000Z' + status: pending + to_time: 1704063600000 + total_unrestricted: 100 + updated_at: '2024-01-01T00:00:00.000000Z' + id: '1' + type: deletion_request + meta: + next_page: cGFnZTI= + product: logs schema: $ref: '#/components/schemas/GetDataDeletionsResponseBody' description: OK @@ -1029,11 +1535,7 @@ paths: x-permission: operator: OR permissions: - - rum_delete_data - logs_delete_data - x-unstable: |- - **Note**: This endpoint is in Preview. If you have any feedback, - contact [Datadog support](https://docs.datadoghq.com/help/). /api/v2/deletion/requests/{id}/cancel: put: description: Cancels a data deletion request by providing its ID. @@ -1044,6 +1546,29 @@ paths: '200': content: application/json: + examples: + default: + value: + data: + attributes: + created_at: '2024-01-01T00:00:00.000000Z' + created_by: test@example.com + displayed_total: 100 + from_time: 1672527600000 + is_created: true + org_id: 123 + product: logs + query: service:xyz host:abc + starting_at: '2024-01-01T02:00:00.000000Z' + status: canceled + to_time: 1704063600000 + total_unrestricted: 100 + updated_at: '2024-01-01T00:00:00.000000Z' + id: '1' + type: deletion_request + meta: + product: logs + request_status: canceled schema: $ref: '#/components/schemas/CancelDataDeletionResponseBody' description: OK @@ -1074,11 +1599,7 @@ paths: x-permission: operator: OR permissions: - - rum_delete_data - logs_delete_data - x-unstable: |- - **Note**: This endpoint is in Preview. If you have any feedback, - contact [Datadog support](https://docs.datadoghq.com/help/). /api/v2/domain_allowlist: get: description: Get the domain allowlist for an organization. @@ -1087,6 +1608,16 @@ paths: '200': content: application/json: + examples: + default: + value: + data: + attributes: + domains: + - '@example.com' + enabled: false + id: 00000000-0000-0000-0000-000000000002 + type: domain_allowlist schema: $ref: '#/components/schemas/DomainAllowlistResponse' description: OK @@ -1116,6 +1647,15 @@ paths: requestBody: content: application/json: + examples: + default: + value: + data: + attributes: + domains: + - '@static-test-domain.test' + enabled: false + type: domain_allowlist schema: $ref: '#/components/schemas/DomainAllowlistRequest' required: true @@ -1123,6 +1663,16 @@ paths: '200': content: application/json: + examples: + default: + value: + data: + attributes: + domains: + - '@example.com' + enabled: false + id: 00000000-0000-0000-0000-000000000001 + type: domain_allowlist schema: $ref: '#/components/schemas/DomainAllowlistResponse' description: OK @@ -1146,1405 +1696,2600 @@ paths: - generate_dashboard_reports - generate_log_reports - manage_log_reports - /api/v2/ip_allowlist: + /api/v2/global_orgs: get: - description: Returns the IP allowlist and its enabled or disabled state. - operationId: GetIPAllowlist + description: Returns organizations across regions for the authenticated user. The `user_handle` query parameter must match the authenticated user's handle. + operationId: ListGlobalOrgs + parameters: + - description: The handle of the authenticated user. + in: query + name: user_handle + required: true + schema: + example: user@example.com + type: string + - description: Maximum number of results returned. + in: query + name: page[limit] + required: false + schema: + default: 100 + format: int32 + maximum: 1000 + minimum: 1 + type: integer + - description: |- + String to query the next page of results. + This key is provided with each valid response from the API in `meta.page.next_cursor`. + in: query + name: page[cursor] + required: false + schema: + type: string responses: '200': content: application/json: + examples: + default: + value: + data: + - attributes: + org: + name: Example Org + public_id: abcdef12345 + subdomain: example + uuid: 13d10a96-6ff2-49be-be7b-4f56ebb13335 + redirect_url: https://app.datadoghq.com/account/login/password?dd_oid=13d10a96-6ff2-49be-be7b-4f56ebb13335&login_hint=user%40example.com + source_region: us1.prod.dog + user: + handle: user@example.com + uuid: cfab5cf9-5472-48ea-a79c-a64045f4f745 + type: global_user_orgs + links: + next: https://app.datadoghq.com/api/v2/global_orgs?user_handle=user@example.com&page[limit]=100&page[cursor]=next-page + self: https://app.datadoghq.com/api/v2/global_orgs?user_handle=user@example.com&page[limit]=100 + meta: + page: + cursor: '' + limit: 100 + next_cursor: next-page + type: cursor schema: - $ref: '#/components/schemas/IPAllowlistResponse' + $ref: '#/components/schemas/GlobalOrgsResponse' description: OK + '400': + $ref: '#/components/responses/BadRequestResponse' + '401': + $ref: '#/components/responses/UnauthorizedResponse' '403': $ref: '#/components/responses/ForbiddenResponse' - '404': - $ref: '#/components/responses/NotFoundResponse' '429': $ref: '#/components/responses/TooManyRequestsResponse' security: - apiKeyAuth: [] appKeyAuth: [] - AuthZ: - - org_management - summary: Get IP Allowlist + - user_access_read + summary: List global orgs tags: - - IP Allowlist + - Organizations + x-pagination: + cursorParam: page[cursor] + cursorPath: meta.page.next_cursor + limitParam: page[limit] + resultsPath: data x-permission: operator: OR permissions: - - org_management - patch: - description: Edit the entries in the IP allowlist, and enable or disable it. - operationId: UpdateIPAllowlist - requestBody: - content: - application/json: - schema: - $ref: '#/components/schemas/IPAllowlistUpdateRequest' - required: true + - user_access_read + /api/v2/governance/config: + get: + description: |- + Retrieve the Governance Console configuration for the organization, including whether the + Console is enabled, whether assignment notifications are enabled, and whether usage + attribution is configured. + operationId: GetGovernanceConfig responses: '200': content: application/json: + examples: + default: + value: + data: + attributes: + assignment_notifications_enabled: true + enabled: true + usage_attribution_configured: true + xorg_insights_enabled: true + id: 00000000-0000-0000-0000-000000000000 + type: governance_console_config schema: - $ref: '#/components/schemas/IPAllowlistResponse' + $ref: '#/components/schemas/GovernanceConfigResponse' description: OK '400': - $ref: '#/components/responses/BadRequestResponse' + content: + application/json: + schema: + $ref: '#/components/schemas/JSONAPIErrorResponse' + description: Bad Request + '401': + content: + application/json: + schema: + $ref: '#/components/schemas/JSONAPIErrorResponse' + description: Unauthorized '403': - $ref: '#/components/responses/ForbiddenResponse' - '404': - $ref: '#/components/responses/NotFoundResponse' + content: + application/json: + schema: + $ref: '#/components/schemas/JSONAPIErrorResponse' + description: Forbidden '429': $ref: '#/components/responses/TooManyRequestsResponse' security: - apiKeyAuth: [] appKeyAuth: [] - - AuthZ: - - org_management - summary: Update IP Allowlist + - AuthZ: [] + summary: Get the Governance Console configuration tags: - - IP Allowlist - x-codegen-request-body-name: body - x-permission: - operator: OR - permissions: - - org_management - /api/v2/org_configs: + - Governance Console + x-unstable: |- + **Note**: This endpoint is in preview and is subject to change. + If you have any feedback, contact [Datadog support](https://docs.datadoghq.com/help/). + /api/v2/governance/control: get: - description: Returns all Org Configs (name, description, and value). - operationId: ListOrgConfigs + description: |- + Retrieve the list of governance controls configured for the organization. Each control pairs a + detection definition with the organization's current detection, notification, and mitigation + configuration, along with counts of active and mitigated detections. + operationId: ListGovernanceControls responses: '200': content: application/json: + examples: + default: + value: + data: + - attributes: + active_detections_count: 12 + category: security + created_at: '2024-01-15T09:30:00Z' + created_by: 11111111-2222-3333-4444-555555555555 + description: Identifies API keys that have not been used within your specified time threshold, helping reduce security risks from dormant credentials. + detection_parameters: + api_key_threshold: 30 + insights: [] + last_detection_at: '2024-03-01T12:00:00Z' + mitigated_detections_count: 3 + mitigation_parameters: {} + mitigation_type: '' + mitigations: + - description: Automatically identifies and revokes inactive API keys to improve security and reduce potential attack surface. + execution_modes: + - manual + - automatic + id: revoke_api_key + permissions: + - api_keys_write + - api_keys_delete + supported_parameters: [] + title: Revoke Unused API Keys + name: Unused API Keys + priority: High + product: api_keys + resource_type: api_key + resource_type_display_name: API Key + supported_detection_parameters: + - default_value: 30 + description: Number of days of inactivity before an API key is considered unused. + display_name: Unused API Key Threshold + name: api_key_threshold + required: false + supported_values: null + type: integer + type: Proactive + id: unused_api_keys + type: governance_control schema: - $ref: '#/components/schemas/OrgConfigListResponse' + $ref: '#/components/schemas/GovernanceControlsResponse' description: OK '400': - $ref: '#/components/responses/BadRequestResponse' + content: + application/json: + schema: + $ref: '#/components/schemas/JSONAPIErrorResponse' + description: Bad Request '401': - $ref: '#/components/responses/UnauthorizedResponse' + content: + application/json: + schema: + $ref: '#/components/schemas/JSONAPIErrorResponse' + description: Unauthorized '403': - $ref: '#/components/responses/ForbiddenResponse' + content: + application/json: + schema: + $ref: '#/components/schemas/JSONAPIErrorResponse' + description: Forbidden '429': $ref: '#/components/responses/TooManyRequestsResponse' - summary: List Org Configs + security: + - apiKeyAuth: [] + appKeyAuth: [] + - AuthZ: [] + summary: List controls tags: - - Organizations + - Governance Console x-permission: - operator: OPEN - permissions: [] - /api/v2/org_configs/{org_config_name}: + operator: AND + permissions: + - governance_console_read + x-unstable: |- + **Note**: This endpoint is in preview and is subject to change. + If you have any feedback, contact [Datadog support](https://docs.datadoghq.com/help/). + /api/v2/governance/control/{detection_type}: get: - description: Return the name, description, and value of a specific Org Config. - operationId: GetOrgConfig + description: |- + Retrieve a single governance control by its detection type, including the organization's current + detection, notification, and mitigation configuration and detection counts. + operationId: GetGovernanceControl parameters: - - $ref: '#/components/parameters/OrgConfigName' + - description: The detection type that identifies the control, for example `unused_api_keys`. + example: unused_api_keys + in: path + name: detection_type + required: true + schema: + type: string responses: '200': content: application/json: + examples: + default: + value: + data: + attributes: + active_detections_count: 12 + category: security + created_at: '2024-01-15T09:30:00Z' + created_by: 11111111-2222-3333-4444-555555555555 + description: Identifies API keys that have not been used within your specified time threshold, helping reduce security risks from dormant credentials. + detection_parameters: + api_key_threshold: 30 + insights: [] + last_detection_at: '2024-03-01T12:00:00Z' + mitigated_detections_count: 3 + mitigation_parameters: {} + mitigation_type: revoke_api_key + mitigations: [] + name: Unused API Keys + priority: High + product: api_keys + resource_type: api_key + resource_type_display_name: API Key + supported_detection_parameters: + - default_value: 30 + description: Number of days of inactivity before an API key is considered unused. + display_name: Unused API Key Threshold + name: api_key_threshold + required: false + supported_values: null + type: integer + type: Proactive + id: unused_api_keys + type: governance_control schema: - $ref: '#/components/schemas/OrgConfigGetResponse' + $ref: '#/components/schemas/GovernanceControlResponse' description: OK '400': - $ref: '#/components/responses/BadRequestResponse' + content: + application/json: + schema: + $ref: '#/components/schemas/JSONAPIErrorResponse' + description: Bad Request '401': - $ref: '#/components/responses/UnauthorizedResponse' - '403': - $ref: '#/components/responses/ForbiddenResponse' + content: + application/json: + schema: + $ref: '#/components/schemas/JSONAPIErrorResponse' + description: Unauthorized + '403': + content: + application/json: + schema: + $ref: '#/components/schemas/JSONAPIErrorResponse' + description: Forbidden '404': - $ref: '#/components/responses/NotFoundResponse' + content: + application/json: + schema: + $ref: '#/components/schemas/JSONAPIErrorResponse' + description: Not Found '429': $ref: '#/components/responses/TooManyRequestsResponse' - summary: Get a specific Org Config value + security: + - apiKeyAuth: [] + appKeyAuth: [] + - AuthZ: [] + summary: Get a control tags: - - Organizations + - Governance Console x-permission: - operator: OPEN - permissions: [] + operator: AND + permissions: + - governance_console_read + x-unstable: |- + **Note**: This endpoint is in preview and is subject to change. + If you have any feedback, contact [Datadog support](https://docs.datadoghq.com/help/). patch: - description: Update the value of a specific Org Config. - operationId: UpdateOrgConfig + description: |- + Update the detection, notification, and mitigation configuration of a governance control. Only + the attributes present in the request are modified. Changing the mitigation type or its + parameters may require additional permissions. + operationId: UpdateGovernanceControl parameters: - - $ref: '#/components/parameters/OrgConfigName' + - description: The detection type that identifies the control, for example `unused_api_keys`. + example: unused_api_keys + in: path + name: detection_type + required: true + schema: + type: string requestBody: content: application/json: + examples: + default: + value: + data: + attributes: + detection_parameters: + api_key_threshold: 60 + mitigation_type: revoke_api_key + type: governance_control schema: - $ref: '#/components/schemas/OrgConfigWriteRequest' + $ref: '#/components/schemas/GovernanceControlUpdateRequest' required: true responses: '200': content: application/json: + examples: + default: + value: + data: + attributes: + active_detections_count: 12 + category: security + created_at: '2024-01-15T09:30:00Z' + created_by: 11111111-2222-3333-4444-555555555555 + description: Identifies API keys that have not been used within your specified time threshold, helping reduce security risks from dormant credentials. + detection_parameters: + api_key_threshold: 60 + insights: [] + last_detection_at: '2024-03-01T12:00:00Z' + mitigated_detections_count: 3 + mitigation_parameters: {} + mitigation_type: revoke_api_key + mitigations: [] + name: Unused API Keys + priority: High + product: api_keys + resource_type: api_key + resource_type_display_name: API Key + supported_detection_parameters: [] + type: Proactive + id: unused_api_keys + type: governance_control schema: - $ref: '#/components/schemas/OrgConfigGetResponse' + $ref: '#/components/schemas/GovernanceControlResponse' description: OK '400': - $ref: '#/components/responses/BadRequestResponse' + content: + application/json: + schema: + $ref: '#/components/schemas/JSONAPIErrorResponse' + description: Bad Request '401': - $ref: '#/components/responses/UnauthorizedResponse' + content: + application/json: + schema: + $ref: '#/components/schemas/JSONAPIErrorResponse' + description: Unauthorized '403': - $ref: '#/components/responses/ForbiddenResponse' + content: + application/json: + schema: + $ref: '#/components/schemas/JSONAPIErrorResponse' + description: Forbidden '404': - $ref: '#/components/responses/NotFoundResponse' + content: + application/json: + schema: + $ref: '#/components/schemas/JSONAPIErrorResponse' + description: Not Found '429': $ref: '#/components/responses/TooManyRequestsResponse' - summary: Update a specific Org Config + security: + - apiKeyAuth: [] + appKeyAuth: [] + - AuthZ: [] + summary: Update a control tags: - - Organizations + - Governance Console x-permission: - operator: OR + operator: AND permissions: - - org_management - /api/v2/org_connections: + - governance_console_read + - governance_console_write + x-unstable: |- + **Note**: This endpoint is in preview and is subject to change. + If you have any feedback, contact [Datadog support](https://docs.datadoghq.com/help/). + /api/v2/governance/control/{detection_type}/detections: get: - description: Returns a list of org connections. - operationId: ListOrgConnections + description: |- + Retrieve the detections produced by the governance control with the given detection type. + Results can be filtered by state and free-text query, sorted, and paginated. + operationId: ListGovernanceControlDetections + parameters: + - description: The detection type that identifies the control; for example, `unused_api_keys`. + example: unused_api_keys + in: path + name: detection_type + required: true + schema: + type: string + - description: Restrict the results to detections in the given state. + example: active + in: query + name: filter[state] + required: false + schema: + type: string + - description: Restrict the results to detections matching the given free-text query. + example: production + in: query + name: filter[query] + required: false + schema: + type: string + - description: |- + A comma-separated list of attributes to sort detections by. Prefix an attribute with + `-` for descending order. + + The attributes available for sorting are `id`, `created_at`, `assigned_to`, + `detection_type`, `display_name`, `exception_at`, `mitigate_after`, `mitigated_at`, + `priority`, `resource_id`, and `state`. Defaults to `created_at,-id`. + example: '-created_at,-id' + in: query + name: sort + required: false + schema: + type: string + - description: The zero-based index of the page to return; the first page is 0. + example: 0 + in: query + name: page[number] + required: false + schema: + default: 0 + format: int64 + type: integer + - description: The number of detections to return per page. + example: 50 + in: query + name: page[size] + required: false + schema: + format: int64 + type: integer responses: '200': content: application/json: + examples: + default: + value: + data: + - attributes: + assigned_team: platform-security + assigned_to: 11111111-2222-3333-4444-555555555555 + assignment_source: manual + control_id: unused_api_keys + created_at: '2024-03-01T12:00:00Z' + detection_type: unused_api_keys + display_name: CI Deploy Key + metadata: + region: us-east-1 + priority: 1 + resource_id: api-key-12345 + resource_type: api_key + state: active + id: 3f9b2c1a-8d4e-4a6b-9c2f-1e7d5a0b3c4d + type: governance_control_detection schema: - $ref: '#/components/schemas/OrgConnectionListResponse' + $ref: '#/components/schemas/GovernanceControlDetectionsResponse' description: OK + '400': + content: + application/json: + schema: + $ref: '#/components/schemas/JSONAPIErrorResponse' + description: Bad Request '401': - $ref: '#/components/responses/UnauthorizedResponse' + content: + application/json: + schema: + $ref: '#/components/schemas/JSONAPIErrorResponse' + description: Unauthorized '403': - $ref: '#/components/responses/ForbiddenResponse' + content: + application/json: + schema: + $ref: '#/components/schemas/JSONAPIErrorResponse' + description: Forbidden '429': $ref: '#/components/responses/TooManyRequestsResponse' security: - apiKeyAuth: [] appKeyAuth: [] - - AuthZ: - - org_connections_read - summary: List Org Connections + - AuthZ: [] + summary: List control detections tags: - - Org Connections + - Governance Console x-permission: - operator: OR + operator: AND permissions: - - org_connections_read - post: - description: Create a new org connection between the current org and a target org. - operationId: CreateOrgConnections - requestBody: - content: - application/json: - schema: - $ref: '#/components/schemas/OrgConnectionCreateRequest' - required: true + - governance_console_read + x-unstable: |- + **Note**: This endpoint is in preview and is subject to change. + If you have any feedback, contact [Datadog support](https://docs.datadoghq.com/help/). + /api/v2/governance/control/{detection_type}/notification_settings: + get: + description: |- + Retrieve the notification settings for the governance control with the given detection type, + including, for each supported event type, whether notifications are enabled and which + destinations receive them. + operationId: GetGovernanceControlNotificationSettings + parameters: + - description: The detection type that identifies the control; for example, `unused_api_keys`. + example: unused_api_keys + in: path + name: detection_type + required: true + schema: + type: string responses: '200': content: application/json: + examples: + default: + value: + data: + attributes: + event_settings: + - enabled: true + event_type: new_detection + targets: + - handle: '#governance-alerts' + type: slack + id: unused_api_keys + type: control_notification_settings schema: - $ref: '#/components/schemas/OrgConnectionResponse' + $ref: '#/components/schemas/ControlNotificationSettingsResponse' description: OK '400': - $ref: '#/components/responses/BadRequestResponse' + content: + application/json: + schema: + $ref: '#/components/schemas/JSONAPIErrorResponse' + description: Bad Request '401': - $ref: '#/components/responses/UnauthorizedResponse' + content: + application/json: + schema: + $ref: '#/components/schemas/JSONAPIErrorResponse' + description: Unauthorized '403': - $ref: '#/components/responses/ForbiddenResponse' - '404': - $ref: '#/components/responses/NotFoundResponse' - '409': - $ref: '#/components/responses/ConflictResponse' + content: + application/json: + schema: + $ref: '#/components/schemas/JSONAPIErrorResponse' + description: Forbidden '429': $ref: '#/components/responses/TooManyRequestsResponse' security: - apiKeyAuth: [] appKeyAuth: [] - - AuthZ: - - org_connections_write - summary: Create Org Connection + - AuthZ: [] + summary: Get control notification settings tags: - - Org Connections - x-codegen-request-body-name: body + - Governance Console x-permission: - operator: OR + operator: AND permissions: - - org_connections_write - /api/v2/org_connections/{connection_id}: - delete: - description: Delete an existing org connection. - operationId: DeleteOrgConnections + - governance_console_read + x-unstable: |- + **Note**: This endpoint is in preview and is subject to change. + If you have any feedback, contact [Datadog support](https://docs.datadoghq.com/help/). + put: + description: |- + Replace the notification settings for the governance control with the given detection type, + setting, for each supported event type, whether notifications are enabled and which + destinations receive them. + operationId: UpdateGovernanceControlNotificationSettings parameters: - - $ref: '#/components/parameters/OrgConnectionId' + - description: The detection type that identifies the control; for example, `unused_api_keys`. + example: unused_api_keys + in: path + name: detection_type + required: true + schema: + type: string + requestBody: + content: + application/json: + examples: + default: + value: + data: + attributes: + event_settings: + - enabled: true + event_type: new_detection + targets: + - handle: '#governance-alerts' + type: slack + type: control_notification_settings + schema: + $ref: '#/components/schemas/ControlNotificationSettingsUpdateRequest' + required: true responses: '200': + content: + application/json: + examples: + default: + value: + data: + attributes: + event_settings: + - enabled: true + event_type: new_detection + targets: + - handle: '#governance-alerts' + type: slack + id: unused_api_keys + type: control_notification_settings + schema: + $ref: '#/components/schemas/ControlNotificationSettingsResponse' description: OK '400': - $ref: '#/components/responses/BadRequestResponse' + content: + application/json: + schema: + $ref: '#/components/schemas/JSONAPIErrorResponse' + description: Bad Request '401': - $ref: '#/components/responses/UnauthorizedResponse' + content: + application/json: + schema: + $ref: '#/components/schemas/JSONAPIErrorResponse' + description: Unauthorized '403': - $ref: '#/components/responses/ForbiddenResponse' - '404': - $ref: '#/components/responses/NotFoundResponse' + content: + application/json: + schema: + $ref: '#/components/schemas/JSONAPIErrorResponse' + description: Forbidden '429': $ref: '#/components/responses/TooManyRequestsResponse' security: - apiKeyAuth: [] appKeyAuth: [] - - AuthZ: - - org_connections_write - summary: Delete Org Connection + - AuthZ: [] + summary: Update control notification settings tags: - - Org Connections + - Governance Console x-permission: - operator: OR + operator: AND permissions: - - org_connections_write - patch: - description: Update an existing org connection. - operationId: UpdateOrgConnections - parameters: - - $ref: '#/components/parameters/OrgConnectionId' + - governance_console_read + - governance_console_write + x-unstable: |- + **Note**: This endpoint is in preview and is subject to change. + If you have any feedback, contact [Datadog support](https://docs.datadoghq.com/help/). + /api/v2/governance/detections/mitigate: + post: + description: |- + Apply a mitigation to a set of governance detections of a given detection type. When the + mitigation type is omitted, the control's configured mitigation is used. The request is + accepted for asynchronous processing. + operationId: MitigateGovernanceDetections requestBody: content: application/json: + examples: + default: + value: + data: + attributes: + detection_ids: + - 3f9b2c1a-8d4e-4a6b-9c2f-1e7d5a0b3c4d + detection_type: unused_api_keys + mitigation_parameters: {} + mitigation_type: revoke_api_key + type: governance_control_detection schema: - $ref: '#/components/schemas/OrgConnectionUpdateRequest' + $ref: '#/components/schemas/GovernanceMitigationRequest' required: true responses: - '200': + '202': + description: Accepted + '400': content: application/json: schema: - $ref: '#/components/schemas/OrgConnectionResponse' - description: OK - '400': - $ref: '#/components/responses/BadRequestResponse' + $ref: '#/components/schemas/JSONAPIErrorResponse' + description: Bad Request '401': - $ref: '#/components/responses/UnauthorizedResponse' + content: + application/json: + schema: + $ref: '#/components/schemas/JSONAPIErrorResponse' + description: Unauthorized '403': - $ref: '#/components/responses/ForbiddenResponse' - '404': - $ref: '#/components/responses/NotFoundResponse' + content: + application/json: + schema: + $ref: '#/components/schemas/JSONAPIErrorResponse' + description: Forbidden '429': $ref: '#/components/responses/TooManyRequestsResponse' security: - apiKeyAuth: [] appKeyAuth: [] - - AuthZ: - - org_connections_write - summary: Update Org Connection + - AuthZ: [] + summary: Mitigate detections tags: - - Org Connections + - Governance Console x-permission: - operator: OR + operator: AND permissions: - - org_connections_write - /api/v2/permissions: + - governance_console_read + x-unstable: |- + **Note**: This endpoint is in preview and is subject to change. + If you have any feedback, contact [Datadog support](https://docs.datadoghq.com/help/). + /api/v2/governance/detections/{detection_id}: get: - description: Returns a list of all permissions, including name, description, and ID. - operationId: ListPermissions + description: Retrieve a single governance detection by its unique identifier. + operationId: GetGovernanceDetection + parameters: + - description: The unique identifier of the detection. + example: 3f9b2c1a-8d4e-4a6b-9c2f-1e7d5a0b3c4d + in: path + name: detection_id + required: true + schema: + type: string responses: '200': content: application/json: + examples: + default: + value: + data: + attributes: + assigned_team: platform-security + assigned_to: 11111111-2222-3333-4444-555555555555 + assignment_source: manual + control_id: unused_api_keys + created_at: '2024-03-01T12:00:00Z' + detection_type: unused_api_keys + display_name: CI Deploy Key + metadata: + region: us-east-1 + priority: 1 + resource_id: api-key-12345 + resource_type: api_key + state: active + id: 3f9b2c1a-8d4e-4a6b-9c2f-1e7d5a0b3c4d + type: governance_control_detection schema: - $ref: '#/components/schemas/PermissionsResponse' + $ref: '#/components/schemas/GovernanceControlDetectionResponse' description: OK '400': content: application/json: schema: - $ref: '#/components/schemas/APIErrorResponse' + $ref: '#/components/schemas/JSONAPIErrorResponse' description: Bad Request - '403': + '401': content: application/json: schema: - $ref: '#/components/schemas/APIErrorResponse' - description: Authentication error - '429': - $ref: '#/components/responses/TooManyRequestsResponse' - security: - - apiKeyAuth: [] - appKeyAuth: [] - - AuthZ: - - user_access_read - summary: List permissions - tags: - - Roles - x-permission: - operator: OR - permissions: - - user_access_read - /api/v2/restriction_policy/{resource_id}: - delete: - description: Deletes the restriction policy associated with a specified resource. - operationId: DeleteRestrictionPolicy - parameters: - - $ref: '#/components/parameters/ResourceID' - responses: - '204': - description: No Content - '400': - $ref: '#/components/responses/BadRequestResponse' + $ref: '#/components/schemas/JSONAPIErrorResponse' + description: Unauthorized '403': - $ref: '#/components/responses/NotAuthorizedResponse' + content: + application/json: + schema: + $ref: '#/components/schemas/JSONAPIErrorResponse' + description: Forbidden + '404': + content: + application/json: + schema: + $ref: '#/components/schemas/JSONAPIErrorResponse' + description: Not Found '429': $ref: '#/components/responses/TooManyRequestsResponse' security: - apiKeyAuth: [] appKeyAuth: [] - AuthZ: [] - summary: Delete a restriction policy + summary: Get a detection tags: - - Restriction Policies + - Governance Console x-permission: - operator: OPEN - permissions: [] - get: - description: Retrieves the restriction policy associated with a specified resource. - operationId: GetRestrictionPolicy + operator: AND + permissions: + - governance_console_read + x-unstable: |- + **Note**: This endpoint is in preview and is subject to change. + If you have any feedback, contact [Datadog support](https://docs.datadoghq.com/help/). + patch: + description: |- + Update a governance detection by its unique identifier. Only the attributes present in the + request are modified, allowing a detection to be acknowledged as an exception, reopened, + reassigned, or deferred for mitigation. + operationId: UpdateGovernanceDetection parameters: - - $ref: '#/components/parameters/ResourceID' + - description: The unique identifier of the detection. + example: 3f9b2c1a-8d4e-4a6b-9c2f-1e7d5a0b3c4d + in: path + name: detection_id + required: true + schema: + type: string + requestBody: + content: + application/json: + examples: + default: + value: + data: + attributes: + assigned_to: 11111111-2222-3333-4444-555555555555 + state: exception + type: governance_control_detection + schema: + $ref: '#/components/schemas/GovernanceControlDetectionUpdateRequest' + required: true responses: '200': content: application/json: + examples: + default: + value: + data: + attributes: + assigned_team: platform-security + assigned_to: 11111111-2222-3333-4444-555555555555 + assignment_source: manual + control_id: unused_api_keys + created_at: '2024-03-01T12:00:00Z' + detection_type: unused_api_keys + display_name: CI Deploy Key + metadata: + region: us-east-1 + priority: 1 + resource_id: api-key-12345 + resource_type: api_key + state: active + id: 3f9b2c1a-8d4e-4a6b-9c2f-1e7d5a0b3c4d + type: governance_control_detection schema: - $ref: '#/components/schemas/RestrictionPolicyResponse' + $ref: '#/components/schemas/GovernanceControlDetectionResponse' description: OK '400': - $ref: '#/components/responses/BadRequestResponse' + content: + application/json: + schema: + $ref: '#/components/schemas/JSONAPIErrorResponse' + description: Bad Request + '401': + content: + application/json: + schema: + $ref: '#/components/schemas/JSONAPIErrorResponse' + description: Unauthorized '403': - $ref: '#/components/responses/NotAuthorizedResponse' + content: + application/json: + schema: + $ref: '#/components/schemas/JSONAPIErrorResponse' + description: Forbidden + '404': + content: + application/json: + schema: + $ref: '#/components/schemas/JSONAPIErrorResponse' + description: Not Found '429': $ref: '#/components/responses/TooManyRequestsResponse' security: - apiKeyAuth: [] appKeyAuth: [] - AuthZ: [] - summary: Get a restriction policy + summary: Update a detection tags: - - Restriction Policies + - Governance Console x-permission: - operator: OPEN - permissions: [] - post: + operator: AND + permissions: + - governance_console_read + x-unstable: |- + **Note**: This endpoint is in preview and is subject to change. + If you have any feedback, contact [Datadog support](https://docs.datadoghq.com/help/). + /api/v2/governance/insights: + get: description: |- - Updates the restriction policy associated with a resource. - - #### Supported resources - Restriction policies can be applied to the following resources: - - Dashboards: `dashboard` - - Integration Services: `integration-service` - - Integration Webhooks: `integration-webhook` - - Notebooks: `notebook` - - Powerpacks: `powerpack` - - Reference Tables: `reference-table` - - Security Rules: `security-rule` - - Service Level Objectives: `slo` - - Synthetic Global Variables: `synthetics-global-variable` - - Synthetic Tests: `synthetics-test` - - Synthetic Private Locations: `synthetics-private-location` - - Monitors: `monitor` - - Workflows: `workflow` - - App Builder Apps: `app-builder-app` - - Connections: `connection` - - Connection Groups: `connection-group` - - RUM Applications: `rum-application` - - Cross Org Connections: `cross-org-connection` - - Spreadsheets: `spreadsheet` - - On-Call Schedules: `on-call-schedule` - - On-Call Escalation Policies: `on-call-escalation-policy` - - On-Call Team Routing Rules: `on-call-team-routing-rules` - - #### Supported relations for resources - Resource Type | Supported Relations - ----------------------------|-------------------------- - Dashboards | `viewer`, `editor` - Integration Services | `viewer`, `editor` - Integration Webhooks | `viewer`, `editor` - Notebooks | `viewer`, `editor` - Powerpacks | `viewer`, `editor` - Security Rules | `viewer`, `editor` - Service Level Objectives | `viewer`, `editor` - Synthetic Global Variables | `viewer`, `editor` - Synthetic Tests | `viewer`, `editor` - Synthetic Private Locations | `viewer`, `editor` - Monitors | `viewer`, `editor` - Reference Tables | `viewer`, `editor` - Workflows | `viewer`, `runner`, `editor` - App Builder Apps | `viewer`, `editor` - Connections | `viewer`, `resolver`, `editor` - Connection Groups | `viewer`, `editor` - RUM Application | `viewer`, `editor` - Cross Org Connections | `viewer`, `editor` - Spreadsheets | `viewer`, `editor` - On-Call Schedules | `viewer`, `overrider`, `editor` - On-Call Escalation Policies | `viewer`, `editor` - On-Call Team Routing Rules | `viewer`, `editor` - operationId: UpdateRestrictionPolicy + Retrieve the list of governance insights available to the organization. Each insight + reports the query used to compute it, so that the value can be computed client-side. + Insights can be filtered by product. + operationId: ListGovernanceInsights parameters: - - $ref: '#/components/parameters/ResourceID' - - description: >- - Allows admins (users with the `user_access_manage` permission) to - remove their own access from the resource if set to `true`. By - default, this is set to `false`, preventing admins from locking - themselves out. + - description: |- + Restrict the results to insights belonging to the given products. May be repeated to + filter by multiple products. Matching is case-insensitive. + example: + - Usage + - Logs Settings in: query - name: allow_self_lockout + name: filter[product] required: false schema: - type: boolean - requestBody: - content: - application/json: - schema: - $ref: '#/components/schemas/RestrictionPolicyUpdateRequest' - description: Restriction policy payload - required: true + items: + type: string + type: array responses: '200': content: application/json: + examples: + default: + value: + data: + - attributes: + audit_query: null + description: Number of custom metrics submitted by the organization. + display_name: Custom Metrics + event_query: null + metric_query: + query: sum:datadog.estimated_usage.metrics.custom{*} + reducer: sum + source: metrics + percentage_query: null + product: Usage + query_config: + chart_type: line + comparison_shift: month + directionality: decrease_better + effective_time_window_days: 30 + sub_product: '' + time_range: month + unit_name: custom metrics + usage_query: null + id: 498ee21f-8037-48b8-a961-a488692902f4 + type: insight + - attributes: + audit_query: + compute: + aggregation: cardinality + interval: 86400000 + metric: '@usr.id' + indexes: + - main + query: '@evt.name:Dashboard' + source: audit + description: Number of users who have used the Dashboard in the last 30 days + display_name: Active Users + event_query: null + metric_query: null + percentage_query: null + product: Usage + query_config: + chart_type: line + comparison_shift: month + directionality: neutral + effective_time_window_days: 30 + sub_product: '' + time_range: month + unit_name: active users + usage_query: null + id: a3248d1b-5578-4345-a34e-fe9657300f22 + type: insight schema: - $ref: '#/components/schemas/RestrictionPolicyResponse' + $ref: '#/components/schemas/GovernanceInsightsResponse' description: OK '400': - $ref: '#/components/responses/BadRequestResponse' + content: + application/json: + schema: + $ref: '#/components/schemas/JSONAPIErrorResponse' + description: Bad Request + '401': + content: + application/json: + schema: + $ref: '#/components/schemas/JSONAPIErrorResponse' + description: Unauthorized '403': - $ref: '#/components/responses/NotAuthorizedResponse' + content: + application/json: + schema: + $ref: '#/components/schemas/JSONAPIErrorResponse' + description: Forbidden '429': $ref: '#/components/responses/TooManyRequestsResponse' security: - apiKeyAuth: [] appKeyAuth: [] - - AuthZ: [] - summary: Update a restriction policy + - AuthZ: + - events_read + - metrics_read + summary: List insights tags: - - Restriction Policies - x-codegen-request-body-name: body + - Governance Console x-permission: - operator: OPEN - permissions: [] - /api/v2/roles: + operator: OR + permissions: + - metrics_read + - events_read + - audit_logs_read + - governance_console_read + x-unstable: |- + **Note**: This endpoint is in preview and is subject to change. + If you have any feedback, contact [Datadog support](https://docs.datadoghq.com/help/). + /api/v2/governance/notification_settings: get: - description: Returns all roles, including their names and their unique identifiers. - operationId: ListRoles - parameters: - - $ref: '#/components/parameters/PageSize' - - $ref: '#/components/parameters/PageNumber' - - description: >- - Sort roles depending on the given field. Sort order is **ascending** - by default. - - Sort order is **descending** if the field is prefixed by a negative - sign, for example: - - `sort=-name`. - in: query - name: sort - required: false - schema: - $ref: '#/components/schemas/RolesSort' - - description: Filter all roles by the given string. - in: query - name: filter - required: false - schema: - type: string - - description: Filter all roles by the given list of role IDs. - in: query - name: filter[id] - required: false - schema: - type: string + description: |- + Retrieve the organization-wide governance notification settings, including whether users are + notified when detections are assigned to them. + operationId: GetGovernanceNotificationSettings responses: '200': content: application/json: + examples: + default: + value: + data: + attributes: + assignment_notifications_enabled: true + id: 11111111-2222-3333-4444-555555555555 + type: governance_notification_settings schema: - $ref: '#/components/schemas/RolesResponse' + $ref: '#/components/schemas/GovernanceNotificationSettingsResponse' description: OK + '400': + content: + application/json: + schema: + $ref: '#/components/schemas/JSONAPIErrorResponse' + description: Bad Request + '401': + content: + application/json: + schema: + $ref: '#/components/schemas/JSONAPIErrorResponse' + description: Unauthorized '403': content: application/json: schema: - $ref: '#/components/schemas/APIErrorResponse' - description: Authentication error + $ref: '#/components/schemas/JSONAPIErrorResponse' + description: Forbidden '429': $ref: '#/components/responses/TooManyRequestsResponse' security: - apiKeyAuth: [] appKeyAuth: [] - - AuthZ: - - user_access_read - summary: List roles + - AuthZ: [] + summary: Get notification settings tags: - - Roles + - Governance Console x-permission: - operator: OR + operator: AND permissions: - - user_access_read - post: - description: Create a new role for your organization. - operationId: CreateRole + - governance_console_read + x-unstable: |- + **Note**: This endpoint is in preview and is subject to change. + If you have any feedback, contact [Datadog support](https://docs.datadoghq.com/help/). + patch: + description: |- + Update the organization-wide governance notification settings. Only the attributes present in + the request are modified. + operationId: UpdateGovernanceNotificationSettings requestBody: content: application/json: + examples: + default: + value: + data: + attributes: + assignment_notifications_enabled: true + type: governance_notification_settings schema: - $ref: '#/components/schemas/RoleCreateRequest' + $ref: '#/components/schemas/GovernanceNotificationSettingsUpdateRequest' required: true responses: '200': content: application/json: + examples: + default: + value: + data: + attributes: + assignment_notifications_enabled: true + id: 11111111-2222-3333-4444-555555555555 + type: governance_notification_settings schema: - $ref: '#/components/schemas/RoleCreateResponse' + $ref: '#/components/schemas/GovernanceNotificationSettingsResponse' description: OK '400': content: application/json: schema: - $ref: '#/components/schemas/APIErrorResponse' + $ref: '#/components/schemas/JSONAPIErrorResponse' description: Bad Request + '401': + content: + application/json: + schema: + $ref: '#/components/schemas/JSONAPIErrorResponse' + description: Unauthorized '403': content: application/json: schema: - $ref: '#/components/schemas/APIErrorResponse' - description: Authentication error + $ref: '#/components/schemas/JSONAPIErrorResponse' + description: Forbidden '429': $ref: '#/components/responses/TooManyRequestsResponse' security: - apiKeyAuth: [] appKeyAuth: [] - - AuthZ: - - user_access_manage - summary: Create role + - AuthZ: [] + summary: Update notification settings tags: - - Roles - x-codegen-request-body-name: body + - Governance Console x-permission: - operator: OR + operator: AND permissions: - - user_access_manage - /api/v2/roles/{role_id}: - delete: - description: Disables a role. - operationId: DeleteRole + - governance_console_read + - governance_console_write + x-unstable: |- + **Note**: This endpoint is in preview and is subject to change. + If you have any feedback, contact [Datadog support](https://docs.datadoghq.com/help/). + /api/v2/governance/tag_rules: + get: + description: |- + Retrieve all tag rules for the organization. Optionally include disabled or deleted + rules, filter by telemetry source, and include each rule's current compliance score + via the `include=score` query parameter. + operationId: ListTagRules parameters: - - $ref: '#/components/parameters/RoleID' + - description: Whether to include rules that are currently disabled. Defaults to `false`. + example: false + in: query + name: include_disabled + required: false + schema: + type: boolean + - description: Whether to include rules that have been soft-deleted. Defaults to `false`. + example: false + in: query + name: include_deleted + required: false + schema: + type: boolean + - description: Comma-separated list of related resources to include alongside each rule in the response. Currently the only supported value is `score`. + example: score + in: query + name: include + required: false + schema: + $ref: '#/components/schemas/TagRuleInclude' + - description: Restrict the result set to rules whose source matches the given value. + in: query + name: filter[source] + required: false + schema: + $ref: '#/components/schemas/TagRuleSource' + - description: Start of the time window used for compliance score computation, as a Unix timestamp in milliseconds. Defaults to a recent window appropriate for the source. + example: 1779315066097 + in: query + name: ts_start + required: false + schema: + format: int64 + type: integer + - description: End of the time window used for compliance score computation, as a Unix timestamp in milliseconds. Must be in the past and greater than `ts_start`. + example: 1779401466097 + in: query + name: ts_end + required: false + schema: + format: int64 + type: integer responses: - '204': - description: OK - '403': + '200': content: application/json: + examples: + default: + value: + data: + - attributes: + created_at: '2026-05-21T22:11:06.108696Z' + created_by: test-user + enabled: true + modified_at: '2026-05-21T22:11:06.108696Z' + modified_by: test-user + name: Service tag must be one of api or web + negated: false + required: true + rule_type: surfacing + scope: env + source: logs + tag_key: service + tag_value_patterns: + - api + - web + version: 1 + id: '123' + relationships: + score: + data: + id: 123-v1-1779315066097-1779401466097 + type: tag_rule_score + type: tag_rule + included: + - attributes: + score: 80 + ts_end: 1779401466097 + ts_start: 1779315066097 + version: 1 + id: 123-v1-1779315066097-1779401466097 + type: tag_rule_score schema: - $ref: '#/components/schemas/APIErrorResponse' - description: Authentication error - '404': + $ref: '#/components/schemas/TagRulesListResponse' + description: OK + '400': content: application/json: schema: - $ref: '#/components/schemas/APIErrorResponse' - description: Not found - '429': - $ref: '#/components/responses/TooManyRequestsResponse' - security: - - apiKeyAuth: [] - appKeyAuth: [] - - AuthZ: - - user_access_manage - summary: Delete role - tags: - - Roles - x-codegen-request-body-name: body - get: - description: Get a role in the organization specified by the role’s `role_id`. - operationId: GetRole - parameters: - - $ref: '#/components/parameters/RoleID' - responses: - '200': + $ref: '#/components/schemas/JSONAPIErrorResponse' + description: Bad Request + '401': content: application/json: schema: - $ref: '#/components/schemas/RoleResponse' - description: OK + $ref: '#/components/schemas/JSONAPIErrorResponse' + description: Unauthorized '403': content: application/json: schema: - $ref: '#/components/schemas/APIErrorResponse' - description: Authentication error - '404': - content: - application/json: - schema: - $ref: '#/components/schemas/APIErrorResponse' - description: Not found + $ref: '#/components/schemas/JSONAPIErrorResponse' + description: Forbidden '429': $ref: '#/components/responses/TooManyRequestsResponse' security: - apiKeyAuth: [] appKeyAuth: [] - - AuthZ: - - user_access_read - summary: Get a role + summary: List tag rules tags: - - Roles - x-codegen-request-body-name: body - patch: - description: >- - Edit a role. Can only be used with application keys belonging to - administrators. - operationId: UpdateRole - parameters: - - $ref: '#/components/parameters/RoleID' + - Tag Rules + x-permission: + operator: OR + permissions: + - telemetry_rules_read + - metrics_read + x-unstable: |- + **Note**: This endpoint is in preview and is subject to change. + If you have any feedback, contact [Datadog support](https://docs.datadoghq.com/help/). + post: + description: |- + Create a new tag rule for the organization. The caller's organization is derived from + the authenticated user; cross-organization creation is not supported. Fields such as + `rule_id`, `version`, and the timestamp/audit fields are assigned by the server. + operationId: CreateTagRule requestBody: content: application/json: + examples: + default: + value: + data: + attributes: + enabled: true + name: Service tag must be one of api or web + negated: false + required: true + rule_type: surfacing + scope: env + source: logs + tag_key: service + tag_value_patterns: + - api + - web + type: tag_rule schema: - $ref: '#/components/schemas/RoleUpdateRequest' + $ref: '#/components/schemas/TagRuleCreateRequest' required: true responses: - '200': + '201': content: application/json: + examples: + default: + value: + data: + attributes: + created_at: '2026-05-21T22:11:06.108696Z' + created_by: test-user + enabled: true + modified_at: '2026-05-21T22:11:06.108696Z' + modified_by: test-user + name: Service tag must be one of api or web + negated: false + required: true + rule_type: surfacing + scope: env + source: logs + tag_key: service + tag_value_patterns: + - api + - web + version: 1 + id: '123' + type: tag_rule schema: - $ref: '#/components/schemas/RoleUpdateResponse' - description: OK + $ref: '#/components/schemas/TagRuleResponse' + description: Created '400': content: application/json: schema: - $ref: '#/components/schemas/APIErrorResponse' + $ref: '#/components/schemas/JSONAPIErrorResponse' description: Bad Request - '403': + '401': content: application/json: schema: - $ref: '#/components/schemas/APIErrorResponse' - description: Authentication error - '404': + $ref: '#/components/schemas/JSONAPIErrorResponse' + description: Unauthorized + '403': content: application/json: schema: - $ref: '#/components/schemas/APIErrorResponse' - description: Not found - '422': + $ref: '#/components/schemas/JSONAPIErrorResponse' + description: Forbidden + '409': content: application/json: schema: - $ref: '#/components/schemas/APIErrorResponse' - description: Unprocessable Entity + $ref: '#/components/schemas/JSONAPIErrorResponse' + description: Conflict '429': $ref: '#/components/responses/TooManyRequestsResponse' security: - apiKeyAuth: [] appKeyAuth: [] - - AuthZ: - - user_access_manage - summary: Update a role + summary: Create a tag rule tags: - - Roles - x-codegen-request-body-name: body + - Tag Rules x-permission: - operator: OR + operator: AND permissions: - - user_access_manage - /api/v2/roles/{role_id}/clone: - post: - description: Clone an existing role - operationId: CloneRole + - telemetry_rules_create + x-unstable: |- + **Note**: This endpoint is in preview and is subject to change. + If you have any feedback, contact [Datadog support](https://docs.datadoghq.com/help/). + /api/v2/governance/tag_rules/{rule_id}: + delete: + description: |- + Delete a tag rule. By default the rule is soft-deleted so it can be recovered later + and so that historical score data remains queryable. Pass `hard_delete=true` to remove + the rule permanently. + operationId: DeleteTagRule parameters: - - $ref: '#/components/parameters/RoleID' - requestBody: - content: - application/json: - schema: - $ref: '#/components/schemas/RoleCloneRequest' - required: true + - description: The unique identifier of the tag rule to delete. + example: '123' + in: path + name: rule_id + required: true + schema: + type: string + - description: Whether to permanently delete the rule instead of performing a soft delete. Defaults to `false`. + example: false + in: query + name: hard_delete + required: false + schema: + type: boolean responses: - '200': - content: - application/json: - schema: - $ref: '#/components/schemas/RoleResponse' - description: OK + '204': + description: No Content '400': content: application/json: schema: - $ref: '#/components/schemas/APIErrorResponse' + $ref: '#/components/schemas/JSONAPIErrorResponse' description: Bad Request - '403': + '401': content: application/json: schema: - $ref: '#/components/schemas/APIErrorResponse' - description: Authentication error - '404': + $ref: '#/components/schemas/JSONAPIErrorResponse' + description: Unauthorized + '403': content: application/json: schema: - $ref: '#/components/schemas/APIErrorResponse' - description: Not found - '409': + $ref: '#/components/schemas/JSONAPIErrorResponse' + description: Forbidden + '404': content: application/json: schema: - $ref: '#/components/schemas/APIErrorResponse' - description: Conflict + $ref: '#/components/schemas/JSONAPIErrorResponse' + description: Not Found '429': $ref: '#/components/responses/TooManyRequestsResponse' security: - apiKeyAuth: [] appKeyAuth: [] - - AuthZ: - - user_access_manage - summary: Create a new role by cloning an existing role + summary: Delete a tag rule tags: - - Roles - x-codegen-request-body-name: body + - Tag Rules x-permission: - operator: OR + operator: AND permissions: - - user_access_manage - /api/v2/roles/{role_id}/permissions: - delete: - description: Removes a permission from a role. - operationId: RemovePermissionFromRole + - telemetry_rules_create + x-unstable: |- + **Note**: This endpoint is in preview and is subject to change. + If you have any feedback, contact [Datadog support](https://docs.datadoghq.com/help/). + get: + description: |- + Retrieve a single tag rule by ID. Optionally include the rule's current compliance + score via the `include=score` query parameter. Rules belonging to other organizations + cannot be retrieved. + operationId: GetTagRule parameters: - - $ref: '#/components/parameters/RoleID' - requestBody: - content: - application/json: - schema: - $ref: '#/components/schemas/RelationshipToPermission' - required: true + - description: The unique identifier of the tag rule. + example: '123' + in: path + name: rule_id + required: true + schema: + type: string + - description: Comma-separated list of related resources to include alongside the rule. Currently the only supported value is `score`. + example: score + in: query + name: include + required: false + schema: + $ref: '#/components/schemas/TagRuleInclude' + - description: Start of the time window used for compliance score computation, as a Unix timestamp in milliseconds. + example: 1779315066097 + in: query + name: ts_start + required: false + schema: + format: int64 + type: integer + - description: End of the time window used for compliance score computation, as a Unix timestamp in milliseconds. Must be in the past and greater than `ts_start`. + example: 1779401466097 + in: query + name: ts_end + required: false + schema: + format: int64 + type: integer responses: '200': content: application/json: + examples: + default: + value: + data: + attributes: + created_at: '2026-05-21T22:11:06.108696Z' + created_by: test-user + enabled: true + modified_at: '2026-05-21T22:11:06.108696Z' + modified_by: test-user + name: Service tag must be one of api or web + negated: false + required: true + rule_type: surfacing + scope: env + source: logs + tag_key: service + tag_value_patterns: + - api + - web + version: 1 + id: '123' + relationships: + score: + data: + id: 123-v1-1779315066097-1779401466097 + type: tag_rule_score + type: tag_rule + included: + - attributes: + score: 80 + ts_end: 1779401466097 + ts_start: 1779315066097 + version: 1 + id: 123-v1-1779315066097-1779401466097 + type: tag_rule_score schema: - $ref: '#/components/schemas/PermissionsResponse' + $ref: '#/components/schemas/TagRuleResponse' description: OK '400': content: application/json: schema: - $ref: '#/components/schemas/APIErrorResponse' + $ref: '#/components/schemas/JSONAPIErrorResponse' description: Bad Request + '401': + content: + application/json: + schema: + $ref: '#/components/schemas/JSONAPIErrorResponse' + description: Unauthorized '403': content: application/json: schema: - $ref: '#/components/schemas/APIErrorResponse' - description: Authentication error + $ref: '#/components/schemas/JSONAPIErrorResponse' + description: Forbidden '404': content: application/json: schema: - $ref: '#/components/schemas/APIErrorResponse' - description: Not found + $ref: '#/components/schemas/JSONAPIErrorResponse' + description: Not Found '429': $ref: '#/components/responses/TooManyRequestsResponse' security: - apiKeyAuth: [] appKeyAuth: [] - - AuthZ: - - user_access_manage - summary: Revoke permission + summary: Get a tag rule tags: - - Roles - x-codegen-request-body-name: body + - Tag Rules x-permission: operator: OR permissions: - - user_access_manage - get: - description: Returns a list of all permissions for a single role. - operationId: ListRolePermissions + - telemetry_rules_read + - metrics_read + x-unstable: |- + **Note**: This endpoint is in preview and is subject to change. + If you have any feedback, contact [Datadog support](https://docs.datadoghq.com/help/). + patch: + description: |- + Update one or more attributes of an existing tag rule. Only the fields supplied in the + request body are modified; omitted fields retain their current values. The rule's + `source` cannot be changed after creation. + operationId: UpdateTagRule parameters: - - $ref: '#/components/parameters/RoleID' + - description: The unique identifier of the tag rule to update. + example: '123' + in: path + name: rule_id + required: true + schema: + type: string + requestBody: + content: + application/json: + examples: + default: + value: + data: + attributes: + enabled: true + name: Service tag must be one of api, web, or worker + id: '123' + type: tag_rule + schema: + $ref: '#/components/schemas/TagRuleUpdateRequest' + required: true responses: '200': content: application/json: + examples: + default: + value: + data: + attributes: + created_at: '2026-05-21T22:11:06.108696Z' + created_by: test-user + enabled: true + modified_at: '2026-05-21T22:25:01.000000Z' + modified_by: test-user + name: Service tag must be one of api, web, or worker + negated: false + required: true + rule_type: surfacing + scope: env + source: logs + tag_key: service + tag_value_patterns: + - api + - web + version: 2 + id: '123' + type: tag_rule schema: - $ref: '#/components/schemas/PermissionsResponse' + $ref: '#/components/schemas/TagRuleResponse' description: OK + '400': + content: + application/json: + schema: + $ref: '#/components/schemas/JSONAPIErrorResponse' + description: Bad Request + '401': + content: + application/json: + schema: + $ref: '#/components/schemas/JSONAPIErrorResponse' + description: Unauthorized '403': content: application/json: schema: - $ref: '#/components/schemas/APIErrorResponse' - description: Authentication error + $ref: '#/components/schemas/JSONAPIErrorResponse' + description: Forbidden '404': content: application/json: schema: - $ref: '#/components/schemas/APIErrorResponse' - description: Not found + $ref: '#/components/schemas/JSONAPIErrorResponse' + description: Not Found '429': $ref: '#/components/responses/TooManyRequestsResponse' security: - apiKeyAuth: [] appKeyAuth: [] - - AuthZ: - - user_access_read - summary: List permissions for a role + summary: Update a tag rule tags: - - Roles - x-codegen-request-body-name: body - post: - description: Adds a permission to a role. - operationId: AddPermissionToRole + - Tag Rules + x-permission: + operator: AND + permissions: + - telemetry_rules_create + x-unstable: |- + **Note**: This endpoint is in preview and is subject to change. + If you have any feedback, contact [Datadog support](https://docs.datadoghq.com/help/). + /api/v2/governance/tag_rules/{rule_id}/score: + get: + description: |- + Retrieve the compliance score for a single tag rule. The score is computed over the + requested time window (or a source-appropriate default) and represents the percentage of + telemetry within that window that conforms to the rule. A `null` score indicates that + no relevant telemetry was found. + operationId: GetTagRuleScore parameters: - - $ref: '#/components/parameters/RoleID' - requestBody: - content: - application/json: - schema: - $ref: '#/components/schemas/RelationshipToPermission' - required: true + - description: The unique identifier of the tag rule. + example: '123' + in: path + name: rule_id + required: true + schema: + type: string + - description: Start of the time window used for compliance score computation, as a Unix timestamp in milliseconds. + example: 1779315066097 + in: query + name: ts_start + required: false + schema: + format: int64 + type: integer + - description: End of the time window used for compliance score computation, as a Unix timestamp in milliseconds. Must be in the past and greater than `ts_start`. + example: 1779401466097 + in: query + name: ts_end + required: false + schema: + format: int64 + type: integer responses: '200': content: application/json: + examples: + default: + value: + data: + attributes: + score: 80 + ts_end: 1779401466097 + ts_start: 1779315066097 + version: 1 + id: 123-v1-1779315066097-1779401466097 + type: tag_rule_score schema: - $ref: '#/components/schemas/PermissionsResponse' + $ref: '#/components/schemas/TagRuleScoreResponse' description: OK '400': content: application/json: schema: - $ref: '#/components/schemas/APIErrorResponse' + $ref: '#/components/schemas/JSONAPIErrorResponse' description: Bad Request + '401': + content: + application/json: + schema: + $ref: '#/components/schemas/JSONAPIErrorResponse' + description: Unauthorized '403': content: application/json: schema: - $ref: '#/components/schemas/APIErrorResponse' - description: Authentication error + $ref: '#/components/schemas/JSONAPIErrorResponse' + description: Forbidden '404': content: application/json: schema: - $ref: '#/components/schemas/APIErrorResponse' - description: Not found + $ref: '#/components/schemas/JSONAPIErrorResponse' + description: Not Found '429': $ref: '#/components/responses/TooManyRequestsResponse' security: - apiKeyAuth: [] appKeyAuth: [] - - AuthZ: - - user_access_manage - summary: Grant permission to a role + summary: Get a tag rule compliance score tags: - - Roles - x-codegen-request-body-name: body + - Tag Rules x-permission: operator: OR permissions: - - user_access_manage - /api/v2/roles/{role_id}/users: - delete: - description: Removes a user from a role. - operationId: RemoveUserFromRole - parameters: - - $ref: '#/components/parameters/RoleID' - requestBody: - content: - application/json: - schema: - $ref: '#/components/schemas/RelationshipToUser' - required: true + - telemetry_rules_read + - metrics_read + x-unstable: |- + **Note**: This endpoint is in preview and is subject to change. + If you have any feedback, contact [Datadog support](https://docs.datadoghq.com/help/). + /api/v2/hamr: + get: + description: |- + Retrieve the High Availability Multi-Region (HAMR) organization connection details for the authenticated organization. + This endpoint returns information about the HAMR connection configuration, including the target organization, + datacenter, status, and whether this is the primary or secondary organization in the HAMR relationship. + operationId: GetHamrOrgConnection responses: '200': content: application/json: + examples: + default: + value: + data: + attributes: + hamr_status: 4 + is_primary: true + modified_at: '2024-01-01T00:00:00+00:00' + modified_by: test@example.com + target_org_datacenter: us1 + target_org_name: Production Backup Org + target_org_uuid: 00000000-0000-0000-0000-000000000001 + id: 00000000-0000-0000-0000-000000000001 + type: hamr_org_connections schema: - $ref: '#/components/schemas/UsersResponse' + $ref: '#/components/schemas/HamrOrgConnectionResponse' description: OK '400': content: application/json: schema: - $ref: '#/components/schemas/APIErrorResponse' + $ref: '#/components/schemas/JSONAPIErrorResponse' description: Bad Request '403': content: application/json: schema: - $ref: '#/components/schemas/APIErrorResponse' - description: Authentication error - '404': - content: - application/json: - schema: - $ref: '#/components/schemas/APIErrorResponse' - description: Not found - '429': - $ref: '#/components/responses/TooManyRequestsResponse' - security: - - apiKeyAuth: [] - appKeyAuth: [] - - AuthZ: - - user_access_manage - summary: Remove a user from a role - tags: - - Roles - x-codegen-request-body-name: body - x-permission: - operator: OR - permissions: - - user_access_manage - get: - description: Gets all users of a role. - operationId: ListRoleUsers - parameters: - - $ref: '#/components/parameters/RoleID' - - $ref: '#/components/parameters/PageSize' - - $ref: '#/components/parameters/PageNumber' - - description: >- - User attribute to order results by. Sort order is **ascending** by - default. - - Sort order is **descending** if the field is prefixed by a negative - sign, - - for example `sort=-name`. Options: `name`, `email`, `status`. - in: query - name: sort - required: false - schema: - default: name - type: string - - description: Filter all users by the given string. Defaults to no filtering. - in: query - name: filter - required: false - schema: - type: string - responses: - '200': - content: - application/json: - schema: - $ref: '#/components/schemas/UsersResponse' - description: OK - '403': - content: - application/json: - schema: - $ref: '#/components/schemas/APIErrorResponse' - description: Authentication error + $ref: '#/components/schemas/JSONAPIErrorResponse' + description: Forbidden '404': content: application/json: schema: - $ref: '#/components/schemas/APIErrorResponse' - description: Not found + $ref: '#/components/schemas/JSONAPIErrorResponse' + description: Not Found '429': $ref: '#/components/responses/TooManyRequestsResponse' security: - apiKeyAuth: [] appKeyAuth: [] - - AuthZ: - - user_access_read - summary: Get all users of a role + summary: Get HAMR organization connection tags: - - Roles + - High Availability MultiRegion + x-unstable: |- + **Note**: This endpoint is in public beta and is subject to change. + If you have any feedback, contact [Datadog support](https://docs.datadoghq.com/help/). post: - description: Adds a user to a role. - operationId: AddUserToRole - parameters: - - $ref: '#/components/parameters/RoleID' + description: |- + Create or update the High Availability Multi-Region (HAMR) organization connection. + This endpoint allows you to configure the HAMR connection between the authenticated organization + and a target organization, including setting the connection status (ONBOARDING, PASSIVE, FAILOVER, ACTIVE, RECOVERY) + operationId: CreateHamrOrgConnection requestBody: content: application/json: + examples: + default: + value: + data: + attributes: + hamr_status: 4 + is_primary: true + modified_by: admin@example.com + target_org_datacenter: us1 + target_org_name: Production Backup Org + target_org_uuid: 660f9511-f3ac-52e5-b827-557766551111 + id: 550e8400-e29b-41d4-a716-446655440000 + type: hamr_org_connections schema: - $ref: '#/components/schemas/RelationshipToUser' + $ref: '#/components/schemas/HamrOrgConnectionRequest' required: true responses: '200': content: application/json: + examples: + default: + value: + data: + attributes: + hamr_status: 4 + is_primary: true + modified_at: '2024-01-01T00:00:00+00:00' + modified_by: test@example.com + target_org_datacenter: us1 + target_org_name: Production Backup Org + target_org_uuid: 00000000-0000-0000-0000-000000000001 + id: 00000000-0000-0000-0000-000000000002 + type: hamr_org_connections schema: - $ref: '#/components/schemas/UsersResponse' + $ref: '#/components/schemas/HamrOrgConnectionResponse' description: OK '400': content: application/json: schema: - $ref: '#/components/schemas/APIErrorResponse' + $ref: '#/components/schemas/JSONAPIErrorResponse' description: Bad Request '403': content: application/json: schema: - $ref: '#/components/schemas/APIErrorResponse' - description: Authentication error - '404': + $ref: '#/components/schemas/JSONAPIErrorResponse' + description: Forbidden + '429': + $ref: '#/components/responses/TooManyRequestsResponse' + '500': content: application/json: schema: - $ref: '#/components/schemas/APIErrorResponse' - description: Not found - '429': - $ref: '#/components/responses/TooManyRequestsResponse' + $ref: '#/components/schemas/JSONAPIErrorResponse' + description: Internal Server Error security: - apiKeyAuth: [] appKeyAuth: [] - - AuthZ: - - user_access_manage - summary: Add a user to a role + summary: Create or update HAMR organization connection tags: - - Roles - x-codegen-request-body-name: body - x-permission: - operator: OR - permissions: - - user_access_manage - /api/v2/saml_configurations/idp_metadata: - post: - description: >- - Endpoint for uploading IdP metadata for SAML setup. - - - Use this endpoint to upload or replace IdP metadata for SAML login - configuration. - operationId: UploadIdPMetadata - requestBody: - content: - multipart/form-data: - schema: - $ref: '#/components/schemas/IdPMetadataFormData' - required: true + - High Availability MultiRegion + x-unstable: |- + **Note**: This endpoint is in public beta and is subject to change. + If you have any feedback, contact [Datadog support](https://docs.datadoghq.com/help/). + /api/v2/identity_providers: + get: + description: Get all identity providers available for the current organization. + operationId: ListIdentityProviders responses: '200': - description: OK - '400': content: application/json: + examples: + default: + value: + data: + - attributes: + authentication_method: SAML + enabled: true + id: 00000000-0000-0000-0000-000000000001 + type: identity_providers + - attributes: + authentication_method: google_oidc + enabled: false + id: 00000000-0000-0000-0000-000000000002 + type: identity_providers + - attributes: + authentication_method: standard + enabled: false + id: 00000000-0000-0000-0000-000000000003 + type: identity_providers schema: - $ref: '#/components/schemas/APIErrorResponse' - description: Bad Request + $ref: '#/components/schemas/IdentityProvidersResponse' + description: OK '403': content: application/json: schema: - $ref: '#/components/schemas/APIErrorResponse' - description: Forbidden + $ref: '#/components/schemas/JSONAPIErrorResponse' + description: Authentication error '429': $ref: '#/components/responses/TooManyRequestsResponse' - summary: Upload IdP metadata + security: + - apiKeyAuth: [] + appKeyAuth: [] + - AuthZ: + - org_management + summary: List identity providers tags: - - Organizations - x-codegen-request-body-name: body + - Identity Providers x-permission: operator: OR permissions: - org_management - /api/v2/service_accounts: - post: - description: Create a service account for your organization. - operationId: CreateServiceAccount + - user_access_manage + /api/v2/identity_providers/{idp_id}: + patch: + description: Enable or disable an identity provider for the current organization. + operationId: UpdateIdentityProvider + parameters: + - $ref: '#/components/parameters/IdentityProviderId' requestBody: content: application/json: + examples: + default: + value: + data: + attributes: + enabled: true + id: 00000000-0000-0000-0000-000000000001 + type: identity_providers schema: - $ref: '#/components/schemas/ServiceAccountCreateRequest' + $ref: '#/components/schemas/IdentityProviderUpdateRequest' required: true responses: - '201': + '200': content: application/json: + examples: + default: + value: + data: + attributes: + authentication_method: SAML + enabled: true + id: 00000000-0000-0000-0000-000000000001 + type: identity_providers schema: - $ref: '#/components/schemas/UserResponse' + $ref: '#/components/schemas/IdentityProviderResponse' description: OK '400': content: application/json: schema: - $ref: '#/components/schemas/APIErrorResponse' + $ref: '#/components/schemas/JSONAPIErrorResponse' description: Bad Request '403': content: application/json: schema: - $ref: '#/components/schemas/APIErrorResponse' + $ref: '#/components/schemas/JSONAPIErrorResponse' description: Authentication error + '404': + content: + application/json: + schema: + $ref: '#/components/schemas/JSONAPIErrorResponse' + description: Not found '429': $ref: '#/components/responses/TooManyRequestsResponse' - summary: Create a service account + security: + - apiKeyAuth: [] + appKeyAuth: [] + - AuthZ: + - org_management + summary: Update an identity provider tags: - - Service Accounts + - Identity Providers x-codegen-request-body-name: body x-permission: operator: OR permissions: - - service_account_write - /api/v2/service_accounts/{service_account_id}/application_keys: + - org_management + /api/v2/identity_providers/{idp_id}/users: get: - description: List all application keys available for this service account. - operationId: ListServiceAccountApplicationKeys + description: |- + Get all users in the organization whose login method has been overridden + to use the specified identity provider. + operationId: ListIdentityProviderUsers parameters: - - $ref: '#/components/parameters/ServiceAccountID' + - $ref: '#/components/parameters/IdentityProviderId' - $ref: '#/components/parameters/PageSize' - $ref: '#/components/parameters/PageNumber' - - $ref: '#/components/parameters/ApplicationKeysSortParameter' - - $ref: '#/components/parameters/ApplicationKeyFilterParameter' - - $ref: '#/components/parameters/ApplicationKeyFilterCreatedAtStartParameter' - - $ref: '#/components/parameters/ApplicationKeyFilterCreatedAtEndParameter' + - description: User attribute to order results by. Options include `email` and `name`. + in: query + name: sort + required: false + schema: + default: email + example: email + type: string + - description: 'Direction of sort. Options: `asc`, `desc`.' + in: query + name: sort_dir + required: false + schema: + $ref: '#/components/schemas/QuerySortOrder' + - description: Filter users by the given string. Defaults to no filtering. + in: query + name: filter + required: false + schema: + type: string + - description: |- + Filter on status attribute. + Comma-separated list, with possible values `Active`, `Pending`, and `Disabled`. + Defaults to no filtering. + in: query + name: filter[status] + required: false + schema: + example: Active + type: string responses: '200': content: application/json: + examples: + default: + value: + data: + - attributes: + email: example@datadoghq.com + handle: example-user + name: Example User + status: Active + id: 00000000-0000-9999-0000-000000000001 + type: users + meta: + page: + total_count: 1 + total_filtered_count: 1 schema: - $ref: '#/components/schemas/ListApplicationKeysResponse' + $ref: '#/components/schemas/UsersResponse' description: OK '400': content: application/json: schema: - $ref: '#/components/schemas/APIErrorResponse' + $ref: '#/components/schemas/JSONAPIErrorResponse' description: Bad Request '403': content: application/json: schema: - $ref: '#/components/schemas/APIErrorResponse' - description: Forbidden + $ref: '#/components/schemas/JSONAPIErrorResponse' + description: Authentication error '404': content: application/json: schema: - $ref: '#/components/schemas/APIErrorResponse' - description: Not Found + $ref: '#/components/schemas/JSONAPIErrorResponse' + description: Not found '429': $ref: '#/components/responses/TooManyRequestsResponse' - summary: List application keys for this service account + security: + - apiKeyAuth: [] + appKeyAuth: [] + - AuthZ: + - org_management + summary: List users with an identity provider override tags: - - Service Accounts + - Identity Providers + x-pagination: + limitParam: page[size] + pageParam: page[number] + resultsPath: data x-permission: operator: OR permissions: - - service_account_write - post: - description: Create an application key for this service account. - operationId: CreateServiceAccountApplicationKey - parameters: - - $ref: '#/components/parameters/ServiceAccountID' + - org_management + /api/v2/ip_allowlist: + get: + description: Returns the IP allowlist and its enabled or disabled state. + operationId: GetIPAllowlist + responses: + '200': + content: + application/json: + examples: + default: + value: + data: + attributes: + enabled: false + entries: + - data: + attributes: + cidr_block: 127.0.0.1/32 + note: Example entry + id: 00000000-0000-0000-0000-000000000003 + type: ip_allowlist_entry + id: 00000000-0000-0000-0000-000000000001 + type: ip_allowlist + schema: + $ref: '#/components/schemas/IPAllowlistResponse' + description: OK + '403': + $ref: '#/components/responses/ForbiddenResponse' + '404': + $ref: '#/components/responses/NotFoundResponse' + '429': + $ref: '#/components/responses/TooManyRequestsResponse' + security: + - apiKeyAuth: [] + appKeyAuth: [] + - AuthZ: + - org_management + summary: Get IP Allowlist + tags: + - IP Allowlist + x-permission: + operator: OR + permissions: + - org_management + patch: + description: Edit the entries in the IP allowlist, and enable or disable it. + operationId: UpdateIPAllowlist requestBody: content: application/json: + examples: + default: + value: + data: + attributes: + enabled: false + entries: + - data: + attributes: + cidr_block: 127.0.0.1/32 + type: ip_allowlist_entry + type: ip_allowlist schema: - $ref: '#/components/schemas/ApplicationKeyCreateRequest' + $ref: '#/components/schemas/IPAllowlistUpdateRequest' required: true responses: - '201': + '200': content: application/json: + examples: + default: + value: + data: + attributes: + enabled: false + entries: + - data: + attributes: + cidr_block: 127.0.0.1/32 + note: Example entry + id: 00000000-0000-0000-0000-000000000004 + type: ip_allowlist_entry + id: 00000000-0000-0000-0000-000000000002 + type: ip_allowlist schema: - $ref: '#/components/schemas/ApplicationKeyResponse' - description: Created + $ref: '#/components/schemas/IPAllowlistResponse' + description: OK '400': - content: - application/json: - schema: - $ref: '#/components/schemas/APIErrorResponse' - description: Bad Request + $ref: '#/components/responses/BadRequestResponse' '403': - content: - application/json: - schema: - $ref: '#/components/schemas/APIErrorResponse' - description: Forbidden + $ref: '#/components/responses/ForbiddenResponse' + '404': + $ref: '#/components/responses/NotFoundResponse' '429': $ref: '#/components/responses/TooManyRequestsResponse' - summary: Create an application key for this service account + security: + - apiKeyAuth: [] + appKeyAuth: [] + - AuthZ: + - org_management + summary: Update IP Allowlist tags: - - Service Accounts + - IP Allowlist x-codegen-request-body-name: body x-permission: operator: OR permissions: - - service_account_write - /api/v2/service_accounts/{service_account_id}/application_keys/{app_key_id}: + - org_management + /api/v2/login/org_configs/max_session_duration: + put: + description: |- + Update the maximum session duration for the current organization. + The duration is specified in seconds. + operationId: UpdateLoginOrgConfigsMaxSessionDuration + requestBody: + content: + application/json: + examples: + default: + value: + data: + attributes: + max_session_duration: 604800 + type: max_session_duration + schema: + $ref: '#/components/schemas/MaxSessionDurationUpdateRequest' + required: true + responses: + '204': + description: No Content + '400': + $ref: '#/components/responses/BadRequestResponse' + '401': + $ref: '#/components/responses/UnauthorizedResponse' + '403': + $ref: '#/components/responses/ForbiddenResponse' + '429': + $ref: '#/components/responses/TooManyRequestsResponse' + security: + - apiKeyAuth: [] + appKeyAuth: [] + - AuthZ: + - org_management + summary: Update the maximum session duration + tags: + - Organizations + x-permission: + operator: OR + permissions: + - org_management + /api/v2/oauth2/.well-known/sites: + get: + description: Retrieve the list of public OAuth2 sites available for the current environment. This endpoint is used for OAuth2 discovery and returns sites where users can authenticate. + operationId: GetOAuth2WellKnownSites + responses: + '200': + content: + application/json: + examples: + default: + value: + data: + attributes: + sites: + - datadoghq.com + - datadoghq.eu + - us5.datadoghq.com + - us3.datadoghq.com + - ap1.datadoghq.com + - ap2.datadoghq.com + id: prod + type: env + schema: + $ref: '#/components/schemas/OAuth2WellKnownSitesResponse' + description: OK + '429': + $ref: '#/components/responses/TooManyRequestsResponse' + security: [] + summary: Get OAuth2 well-known sites + tags: + - OAuth2 Client Public + x-unstable: |- + **Note**: This endpoint is in preview and is subject to change. + If you have any feedback, contact [Datadog support](https://docs.datadoghq.com/help/). + /api/v2/oauth2/clients/{client_uuid}/scopes_restriction: delete: - description: Delete an application key owned by this service account. - operationId: DeleteServiceAccountApplicationKey + description: Delete the scopes restriction configured for the OAuth2 client. + operationId: DeleteScopesRestriction parameters: - - $ref: '#/components/parameters/ServiceAccountID' - - $ref: '#/components/parameters/ApplicationKeyID' + - $ref: '#/components/parameters/OAuthClientUUIDPathParameter' responses: '204': description: No Content - '403': + '400': content: application/json: schema: - $ref: '#/components/schemas/APIErrorResponse' - description: Forbidden + $ref: '#/components/schemas/JSONAPIErrorResponse' + description: Bad Request '404': content: application/json: schema: - $ref: '#/components/schemas/APIErrorResponse' + $ref: '#/components/schemas/JSONAPIErrorResponse' description: Not Found '429': $ref: '#/components/responses/TooManyRequestsResponse' - summary: Delete an application key for this service account + summary: Delete an OAuth2 client scopes restriction tags: - - Service Accounts + - OAuth2 Client Public x-permission: operator: OR permissions: - - service_account_write + - org_authorized_apps_write + x-unstable: |- + **Note**: This endpoint is in preview and is subject to change. + If you have any feedback, contact [Datadog support](https://docs.datadoghq.com/help/). get: - description: Get an application key owned by this service account. - operationId: GetServiceAccountApplicationKey + description: Get the scopes restriction configured for the OAuth2 client. + operationId: GetScopesRestriction parameters: - - $ref: '#/components/parameters/ServiceAccountID' - - $ref: '#/components/parameters/ApplicationKeyID' + - $ref: '#/components/parameters/OAuthClientUUIDPathParameter' responses: '200': content: application/json: + examples: + default: + value: + data: + attributes: + required_permission_scopes: null + scopes_restriction: + oidc_scopes: + - openid + - email + permission_scopes: + - dashboards_read + - metrics_read + id: fafa8e1c-36a5-11f0-a83d-da7ad0900001 + type: scopes_restriction schema: - $ref: '#/components/schemas/PartialApplicationKeyResponse' + $ref: '#/components/schemas/OAuthScopesRestrictionResponse' description: OK - '403': + '400': content: application/json: schema: - $ref: '#/components/schemas/APIErrorResponse' - description: Forbidden + $ref: '#/components/schemas/JSONAPIErrorResponse' + description: Bad Request '404': content: application/json: schema: - $ref: '#/components/schemas/APIErrorResponse' + $ref: '#/components/schemas/JSONAPIErrorResponse' description: Not Found '429': $ref: '#/components/responses/TooManyRequestsResponse' - summary: Get one application key for this service account + summary: Get an OAuth2 client scopes restriction tags: - - Service Accounts + - OAuth2 Client Public x-permission: operator: OR permissions: - - service_account_write - patch: - description: Edit an application key owned by this service account. - operationId: UpdateServiceAccountApplicationKey + - org_authorized_apps_read + x-unstable: |- + **Note**: This endpoint is in preview and is subject to change. + If you have any feedback, contact [Datadog support](https://docs.datadoghq.com/help/). + post: + description: Create or update the scopes restriction configured for the OAuth2 client. + operationId: UpsertScopesRestriction parameters: - - $ref: '#/components/parameters/ServiceAccountID' - - $ref: '#/components/parameters/ApplicationKeyID' + - $ref: '#/components/parameters/OAuthClientUUIDPathParameter' requestBody: content: application/json: + examples: + default: + value: + data: + attributes: + oidc_scopes: + - openid + - email + permission_scopes: + - dashboards_read + - metrics_read + type: upsert_scopes_restriction schema: - $ref: '#/components/schemas/ApplicationKeyUpdateRequest' + $ref: '#/components/schemas/UpsertOAuthScopesRestrictionRequest' required: true responses: '200': content: application/json: + examples: + default: + value: + data: + attributes: + required_permission_scopes: null + scopes_restriction: + oidc_scopes: + - openid + - email + permission_scopes: + - dashboards_read + - metrics_read + id: fafa8e1c-36a5-11f0-a83d-da7ad0900001 + type: scopes_restriction schema: - $ref: '#/components/schemas/PartialApplicationKeyResponse' + $ref: '#/components/schemas/OAuthScopesRestrictionResponse' description: OK '400': content: application/json: schema: - $ref: '#/components/schemas/APIErrorResponse' + $ref: '#/components/schemas/JSONAPIErrorResponse' description: Bad Request - '403': - content: - application/json: - schema: - $ref: '#/components/schemas/APIErrorResponse' - description: Forbidden '404': content: application/json: schema: - $ref: '#/components/schemas/APIErrorResponse' + $ref: '#/components/schemas/JSONAPIErrorResponse' description: Not Found '429': $ref: '#/components/responses/TooManyRequestsResponse' - summary: Edit an application key for this service account + summary: Upsert an OAuth2 client scopes restriction tags: - - Service Accounts + - OAuth2 Client Public x-codegen-request-body-name: body x-permission: operator: OR permissions: - - service_account_write - /api/v2/team: + - org_authorized_apps_write + x-unstable: |- + **Note**: This endpoint is in preview and is subject to change. + If you have any feedback, contact [Datadog support](https://docs.datadoghq.com/help/). + /api/v2/oauth2/register: + post: + description: Register an OAuth2 client using the Dynamic Client Registration protocol defined in RFC 7591. + operationId: RegisterOAuthClient + requestBody: + content: + application/json: + examples: + default: + value: + client_name: Example MCP Client + grant_types: + - authorization_code + - refresh_token + redirect_uris: + - https://example.com/oauth/callback + response_types: + - code + token_endpoint_auth_method: none + schema: + $ref: '#/components/schemas/OAuthClientRegistrationRequest' + required: true + responses: + '201': + content: + application/json: + examples: + default: + value: + client_id: 72b68208-36a6-11f0-b21b-da7ad0900002 + client_name: Example MCP Client + grant_types: + - authorization_code + - refresh_token + redirect_uris: + - https://example.com/oauth/callback + response_types: + - code + token_endpoint_auth_method: none + schema: + $ref: '#/components/schemas/OAuthClientRegistrationResponse' + description: Created + '400': + content: + application/json: + examples: + default: + value: + error: invalid_client_metadata + error_description: redirect URI is not well-formed + schema: + $ref: '#/components/schemas/OAuthClientRegistrationError' + description: Bad Request + '429': + $ref: '#/components/responses/TooManyRequestsResponse' + security: [] + summary: Register an OAuth2 client + tags: + - OAuth2 Client Public + x-codegen-request-body-name: body + x-unstable: |- + **Note**: This endpoint is in preview and is subject to change. + If you have any feedback, contact [Datadog support](https://docs.datadoghq.com/help/). + /api/v2/org: get: - description: >- - Get all teams. - - Can be used to search for teams using the `filter[keyword]` and - `filter[me]` query parameters. - operationId: ListTeams + description: Returns the current organization and its managed organizations in JSON:API format. + operationId: ListOrgs parameters: - - $ref: '#/components/parameters/PageNumber' - - $ref: '#/components/parameters/PageSize' - - description: Specifies the order of the returned teams - in: query - name: sort - required: false - schema: - $ref: '#/components/schemas/ListTeamsSort' - - description: >- - Included related resources optionally requested. Allowed enum - values: `team_links, user_team_permissions` - in: query - name: include - required: false - schema: - items: - $ref: '#/components/schemas/ListTeamsInclude' - type: array - - description: Search query. Can be team name, team handle, or email of team member + - description: Filter managed organizations by name. + example: My Child Org in: query - name: filter[keyword] + name: filter[name] required: false schema: type: string - - description: When true, only returns teams the current user belongs to - in: query - name: filter[me] - required: false - schema: - type: boolean - - description: List of fields that need to be fetched. - explode: false - in: query - name: fields[team] - required: false - schema: - items: - $ref: '#/components/schemas/TeamsField' - type: array responses: '200': content: application/json: + examples: + default: + value: + data: + id: 4dee724d-00cc-11ea-a77b-570c9d03c6c5 + relationships: + current_org: + data: + id: 4dee724d-00cc-11ea-a77b-570c9d03c6c5 + type: orgs + managed_orgs: + data: + - id: a1b2c3d4-00cc-11ea-a77b-570c9d03c6c5 + type: orgs + type: managed_orgs + included: + - attributes: + created_at: '2019-09-26T17:28:28Z' + description: Production organization. + disabled: false + modified_at: '2024-01-15T10:30:00Z' + name: My Organization + public_id: abcdef12345 + sharing: none + url: https://app.datadoghq.com/account/my-org + id: 4dee724d-00cc-11ea-a77b-570c9d03c6c5 + type: orgs + - attributes: + created_at: '2020-05-10T12:00:00Z' + description: Child organization. + disabled: false + modified_at: '2024-06-20T08:15:00Z' + name: My Child Org + public_id: ghijkl67890 + sharing: none + url: https://app.datadoghq.com/account/my-child-org + id: a1b2c3d4-00cc-11ea-a77b-570c9d03c6c5 + type: orgs schema: - $ref: '#/components/schemas/TeamsResponse' + $ref: '#/components/schemas/ManagedOrgsResponse' description: OK + '401': + $ref: '#/components/responses/UnauthorizedResponse' '403': $ref: '#/components/responses/ForbiddenResponse' '429': @@ -2553,179 +4298,238 @@ paths: - apiKeyAuth: [] appKeyAuth: [] - AuthZ: - - teams_read - summary: Get all teams + - org_management + - org_connections_write + summary: List your managed organizations tags: - - Teams - x-pagination: - limitParam: page[size] - pageParam: page[number] - resultsPath: data + - Organizations x-permission: operator: OR permissions: - - teams_read + - org_management + - org_connections_write + /api/v2/org/disable: post: - description: >- - Create a new team. - - User IDs passed through the `users` relationship field are added to the - team. - operationId: CreateTeam + description: |- + Disable the Datadog organization associated with the authenticated user or API key. + The request body uses JSON:API format. If `org_uuid` is supplied, it must match + the authenticated org or the request is rejected. Successful calls disable the org + and return the resulting state from the downstream service. Requires the + `org_management` permission. + operationId: DisableCustomerOrg requestBody: content: application/json: + examples: + default: + value: + data: + attributes: + org_uuid: abcdef01-2345-6789-abcd-ef0123456789 + id: '1' + type: customer_org_disable schema: - $ref: '#/components/schemas/TeamCreateRequest' + $ref: '#/components/schemas/CustomerOrgDisableRequest' required: true responses: - '201': + '200': content: application/json: + examples: + default: + value: + data: + attributes: + status: disabled + id: abcdef01-2345-6789-abcd-ef0123456789 + type: org_disable schema: - $ref: '#/components/schemas/TeamResponse' - description: CREATED + $ref: '#/components/schemas/CustomerOrgDisableResponse' + description: OK + '400': + content: + application/json: + schema: + $ref: '#/components/schemas/JSONAPIErrorResponse' + description: Bad Request + '401': + content: + application/json: + schema: + $ref: '#/components/schemas/JSONAPIErrorResponse' + description: Unauthorized '403': - $ref: '#/components/responses/ForbiddenResponse' - '409': content: application/json: schema: - $ref: '#/components/schemas/APIErrorResponse' - description: API error response. + $ref: '#/components/schemas/JSONAPIErrorResponse' + description: Forbidden '429': $ref: '#/components/responses/TooManyRequestsResponse' + '500': + content: + application/json: + schema: + $ref: '#/components/schemas/JSONAPIErrorResponse' + description: Internal Server Error security: - apiKeyAuth: [] appKeyAuth: [] - AuthZ: - - teams_read - - teams_manage - summary: Create a team + - org_management + summary: Disable the authenticated customer organization tags: - - Teams - x-codegen-request-body-name: body - x-permission: - operator: AND - permissions: - - teams_read - - teams_manage - /api/v2/team/sync: - post: - description: >- - This endpoint attempts to link your existing Datadog teams with GitHub - teams by matching their names. - - It evaluates all current Datadog teams and compares them against teams - in the GitHub organization - - connected to your Datadog account, based on Datadog Team handle and - GitHub Team slug - - (lowercased and kebab-cased). - - - This operation is read-only on the GitHub side, no teams will be - modified or created. - - - [A GitHub organization must be connected to your Datadog - account](https://docs.datadoghq.com/integrations/github/), - - and the GitHub App integrated with Datadog must have the `Members Read` - permission. Matching is performed by comparing the Datadog team handle - to the GitHub team slug - - using a normalized exact match; case is ignored and spaces are removed. - No modifications are made + - Customer Org + x-unstable: |- + **Note**: This endpoint is in preview and is subject to change. + If you have any feedback, contact [Datadog support](https://docs.datadoghq.com/help/). + /api/v2/org/saml_configurations: + patch: + description: |- + Update the SAML preferences for the current organization. - to teams in GitHub. This will not create new Teams in Datadog. - operationId: SyncTeams + Use this endpoint to set the just-in-time (JIT) provisioning domains and the default role + assigned to just-in-time provisioned users. + operationId: UpdateOrgSamlConfigurations requestBody: content: application/json: + examples: + default: + value: + data: + attributes: + default_role_uuids: + - 8dd1cf3c-0c75-11ea-ad28-fb5701eabc7d + jit_domains: + - example.com + type: saml_preferences schema: - $ref: '#/components/schemas/TeamSyncRequest' + $ref: '#/components/schemas/OrgSAMLPreferencesUpdateRequest' required: true responses: - '200': - description: OK + '204': + description: No Content + '400': + content: + application/json: + schema: + $ref: '#/components/schemas/JSONAPIErrorResponse' + description: Bad Request '403': - $ref: '#/components/responses/ForbiddenResponse' - '429': - $ref: '#/components/responses/TooManyRequestsResponse' - '500': content: application/json: schema: - $ref: '#/components/schemas/APIErrorResponse' - description: Internal Server Error - Unexpected error during linking. - security: - - apiKeyAuth: [] - appKeyAuth: [] - - AuthZ: - - teams_manage - summary: Link Teams with GitHub Teams + $ref: '#/components/schemas/JSONAPIErrorResponse' + description: Forbidden + '404': + content: + application/json: + schema: + $ref: '#/components/schemas/JSONAPIErrorResponse' + description: Not Found + '429': + $ref: '#/components/responses/TooManyRequestsResponse' + summary: Update organization SAML preferences tags: - - Teams + - Organizations x-codegen-request-body-name: body x-permission: - operator: AND + operator: OR permissions: - - teams_manage - x-unstable: >- - **Note**: This endpoint is in Preview. To request access, fill out this - [form](https://www.datadoghq.com/product-preview/github-integration-for-teams/). - - If you have any feedback, contact [Datadog - support](https://docs.datadoghq.com/help/). - /api/v2/team/{super_team_id}/member_teams: + - org_management + x-unstable: |- + **Note**: This endpoint is in preview and is subject to change. + If you have any feedback, contact [Datadog support](https://docs.datadoghq.com/help/). + /api/v2/org_authorized_clients: get: - description: Get all member teams. - operationId: ListMemberTeams + description: Get a list of all OAuth2 clients authorized for the current organization. + operationId: ListOrgAuthorizedClients parameters: - - description: None - in: path - name: super_team_id - required: true - schema: - type: string - $ref: '#/components/parameters/PageSize' - $ref: '#/components/parameters/PageNumber' - - description: List of fields that need to be fetched. - explode: false + - description: Field to sort results by. Options include `oauth2_client.name`. in: query - name: fields[team] + name: sort required: false schema: - items: - $ref: '#/components/schemas/TeamsField' - type: array + default: oauth2_client.name + example: oauth2_client.name + type: string + - description: Filter results by client name, app title, or app description. + in: query + name: filter + required: false + schema: + type: string + - description: Filter results by the OAuth2 client name. + in: query + name: filter[oauth2_client][name] + required: false + schema: + type: string + - description: Filter results by the org-level disabled status. + in: query + name: filter[disabled] + required: false + schema: + type: string + - description: |- + Comma-separated list of related resources to include. + Options: `oauth2_client`, `oauth2_client.app`, `user_authorized_clients.user`. + in: query + name: include + required: false + schema: + type: string responses: '200': content: application/json: + examples: + default: + value: + data: + - attributes: + disabled: false + last_exercised: '2024-01-15T10:30:00+00:00' + user_count: 2 + id: 00000000-0000-0000-0000-000000000001 + relationships: + oauth2_client: + data: + id: 00000000-0000-0000-0000-000000000010 + type: oauth2_clients + user_authorized_clients: + data: + - id: 00000000-0000-0000-0000-000000000020 + type: user_authorized_clients + links: + related: /api/v2/org_authorized_clients/00000000-0000-0000-0000-000000000001/user_authorized_clients + type: org_authorized_clients + meta: + page: + total_count: 1 + total_filtered_count: 1 schema: - $ref: '#/components/schemas/TeamsResponse' + $ref: '#/components/schemas/OrgAuthorizedClientsResponse' description: OK '403': - $ref: '#/components/responses/ForbiddenResponse' - '404': content: application/json: schema: - $ref: '#/components/schemas/APIErrorResponse' - description: API error response. + $ref: '#/components/schemas/JSONAPIErrorResponse' + description: Authentication error '429': $ref: '#/components/responses/TooManyRequestsResponse' security: - apiKeyAuth: [] appKeyAuth: [] - AuthZ: - - teams_read - summary: Get all member teams + - org_authorized_apps_read + summary: List org authorized clients tags: - - Teams + - Org Authorized Clients x-pagination: limitParam: page[size] pageParam: page[number] @@ -2733,5578 +4537,28147 @@ paths: x-permission: operator: OR permissions: - - teams_read - x-unstable: |- - **Note**: This endpoint is in Preview. If you have any feedback, - contact [Datadog support](https://docs.datadoghq.com/help/). - post: - description: >- - Add a member team. - - Adds the team given by the `id` in the body as a member team of the - super team. - operationId: AddMemberTeam + - org_authorized_apps_read + - manage_integrations + /api/v2/org_authorized_clients/{org_authorized_client_id}: + delete: + description: Disable an OAuth2 client authorization for the current organization, revoking access for all users. + operationId: DeleteOrgAuthorizedClient parameters: - - description: None - in: path - name: super_team_id - required: true - schema: - type: string - requestBody: - content: - application/json: - schema: - $ref: '#/components/schemas/AddMemberTeamRequest' - required: true + - $ref: '#/components/parameters/OrgAuthorizedClientId' responses: '204': - description: Added + description: No Content '403': - $ref: '#/components/responses/ForbiddenResponse' - '409': content: application/json: schema: - $ref: '#/components/schemas/APIErrorResponse' - description: API error response. + $ref: '#/components/schemas/JSONAPIErrorResponse' + description: Authentication error + '404': + content: + application/json: + schema: + $ref: '#/components/schemas/JSONAPIErrorResponse' + description: Not Found '429': $ref: '#/components/responses/TooManyRequestsResponse' security: - apiKeyAuth: [] appKeyAuth: [] - AuthZ: - - teams_read - summary: Add a member team + - org_authorized_apps_write + summary: Delete an org authorized client tags: - - Teams + - Org Authorized Clients x-permission: operator: OR permissions: - - teams_read - x-unstable: |- - **Note**: This endpoint is in Preview. If you have any feedback, - contact [Datadog support](https://docs.datadoghq.com/help/). - /api/v2/team/{super_team_id}/member_teams/{member_team_id}: - delete: - description: Remove a super team's member team identified by `member_team_id`. - operationId: RemoveMemberTeam + - org_authorized_apps_write + get: + description: Get a single OAuth2 client authorized for the current organization. + operationId: GetOrgAuthorizedClient parameters: - - description: None - in: path - name: super_team_id - required: true + - $ref: '#/components/parameters/OrgAuthorizedClientId' + - description: |- + Comma-separated list of related resources to include. + Options: `oauth2_client`, `oauth2_client.app`, `oauth2_client.scopes`, `user_authorized_clients.user`. + in: query + name: include + required: false schema: type: string - - description: None - in: path - name: member_team_id - required: true + - description: Filter included user authorized clients by disabled status. + in: query + name: filter[user_authorized_clients][disabled] + required: false + schema: + type: string + - description: Filter included user authorized clients by user disabled status. + in: query + name: filter[user_authorized_clients][user][disabled] + required: false schema: type: string responses: - '204': - description: No Content + '200': + content: + application/json: + examples: + default: + value: + data: + attributes: + disabled: false + last_exercised: '2024-01-15T10:30:00+00:00' + user_count: 2 + id: 00000000-0000-0000-0000-000000000001 + relationships: + oauth2_client: + data: + id: 00000000-0000-0000-0000-000000000010 + type: oauth2_clients + user_authorized_clients: + data: + - id: 00000000-0000-0000-0000-000000000020 + type: user_authorized_clients + links: + related: /api/v2/org_authorized_clients/00000000-0000-0000-0000-000000000001/user_authorized_clients + type: org_authorized_clients + schema: + $ref: '#/components/schemas/OrgAuthorizedClientResponse' + description: OK '403': - $ref: '#/components/responses/ForbiddenResponse' + content: + application/json: + schema: + $ref: '#/components/schemas/JSONAPIErrorResponse' + description: Authentication error '404': content: application/json: schema: - $ref: '#/components/schemas/APIErrorResponse' - description: API error response. + $ref: '#/components/schemas/JSONAPIErrorResponse' + description: Not Found '429': $ref: '#/components/responses/TooManyRequestsResponse' security: - apiKeyAuth: [] appKeyAuth: [] - AuthZ: - - teams_read - summary: Remove a member team + - org_authorized_apps_read + summary: Get an org authorized client tags: - - Teams + - Org Authorized Clients x-permission: operator: OR permissions: - - teams_read - x-unstable: |- - **Note**: This endpoint is in Preview. If you have any feedback, - contact [Datadog support](https://docs.datadoghq.com/help/). - /api/v2/team/{team_id}: - delete: - description: Remove a team using the team's `id`. - operationId: DeleteTeam + - org_authorized_apps_read + patch: + description: Enable or disable an OAuth2 client authorization for the current organization. + operationId: UpdateOrgAuthorizedClient parameters: - - description: None - in: path - name: team_id - required: true - schema: - type: string + - $ref: '#/components/parameters/OrgAuthorizedClientId' + requestBody: + content: + application/json: + examples: + default: + value: + data: + attributes: + disabled: true + id: 00000000-0000-0000-0000-000000000001 + type: org_authorized_clients + schema: + $ref: '#/components/schemas/OrgAuthorizedClientUpdateRequest' + required: true responses: - '204': - description: No Content + '200': + content: + application/json: + examples: + default: + value: + data: + attributes: + disabled: true + last_exercised: '2024-01-15T10:30:00+00:00' + user_count: 2 + id: 00000000-0000-0000-0000-000000000001 + relationships: + oauth2_client: + data: + id: 00000000-0000-0000-0000-000000000010 + type: oauth2_clients + user_authorized_clients: + data: [] + links: + related: /api/v2/org_authorized_clients/00000000-0000-0000-0000-000000000001/user_authorized_clients + type: org_authorized_clients + schema: + $ref: '#/components/schemas/OrgAuthorizedClientResponse' + description: OK + '400': + content: + application/json: + schema: + $ref: '#/components/schemas/JSONAPIErrorResponse' + description: Bad Request '403': - $ref: '#/components/responses/ForbiddenResponse' + content: + application/json: + schema: + $ref: '#/components/schemas/JSONAPIErrorResponse' + description: Authentication error '404': content: application/json: schema: - $ref: '#/components/schemas/APIErrorResponse' - description: API error response. + $ref: '#/components/schemas/JSONAPIErrorResponse' + description: Not Found + '422': + content: + application/json: + schema: + $ref: '#/components/schemas/JSONAPIErrorResponse' + description: Unprocessable Entity '429': $ref: '#/components/responses/TooManyRequestsResponse' security: - apiKeyAuth: [] appKeyAuth: [] - AuthZ: - - teams_read - - teams_manage - summary: Remove a team + - org_authorized_apps_write + summary: Update an org authorized client tags: - - Teams + - Org Authorized Clients + x-codegen-request-body-name: body x-permission: - operator: AND + operator: OR permissions: - - teams_read - - teams_manage - get: - description: Get a single team using the team's `id`. - operationId: GetTeam + - org_authorized_apps_write + /api/v2/org_authorized_clients/{org_authorized_client_id}/user/{user_id}: + delete: + description: Disable all authorizations for a specific user for the specified OAuth2 client in the current organization. + operationId: DeleteOrgAuthorizedClientAllUserAuthorizations parameters: - - description: None - in: path - name: team_id - required: true - schema: - type: string + - $ref: '#/components/parameters/OrgAuthorizedClientId' + - $ref: '#/components/parameters/UserIdForOrgClient' responses: - '200': + '204': + description: No Content + '403': content: application/json: schema: - $ref: '#/components/schemas/TeamResponse' - description: OK - '403': - $ref: '#/components/responses/ForbiddenResponse' + $ref: '#/components/schemas/JSONAPIErrorResponse' + description: Authentication error '404': content: application/json: schema: - $ref: '#/components/schemas/APIErrorResponse' - description: API error response. + $ref: '#/components/schemas/JSONAPIErrorResponse' + description: Not Found '429': $ref: '#/components/responses/TooManyRequestsResponse' security: - apiKeyAuth: [] appKeyAuth: [] - AuthZ: - - teams_read - summary: Get a team + - org_authorized_apps_write + summary: Delete a user's authorizations for a client tags: - - Teams + - Org Authorized Clients x-permission: operator: OR permissions: - - teams_read - patch: - description: >- - Update a team using the team's `id`. - - If the `team_links` relationship is present, the associated links are - updated to be in the order they appear in the array, and any existing - team links not present are removed. - operationId: UpdateTeam + - org_authorized_apps_write + /api/v2/org_authorized_clients/{org_authorized_client_id}/user_authorized_clients: + get: + description: Get a list of user authorizations for the specified OAuth2 client in the current organization. + operationId: ListOrgAuthorizedClientUserAuthorizations parameters: - - description: None - in: path - name: team_id - required: true + - $ref: '#/components/parameters/OrgAuthorizedClientId' + - $ref: '#/components/parameters/PageSize' + - $ref: '#/components/parameters/PageNumber' + - description: 'Field to sort results by. Options: `user.name`, `user.email`, `oauth2_client.name`.' + in: query + name: sort + required: false + schema: + $ref: '#/components/schemas/OrgAuthorizedClientUserAuthorizationsSort' + - description: Filter results by the user authorization disabled status. + in: query + name: filter[disabled] + required: false + schema: + type: string + - description: Filter results by user name. + in: query + name: filter[user][name] + required: false + schema: + type: string + - description: Filter results by user email. + in: query + name: filter[user][email] + required: false + schema: + type: string + - description: Filter results by whether the user is disabled. + in: query + name: filter[user][disabled] + required: false schema: type: string - requestBody: - content: - application/json: - schema: - $ref: '#/components/schemas/TeamUpdateRequest' - required: true responses: '200': content: application/json: + examples: + default: + value: + data: + - attributes: + created_at: '2024-01-10T08:00:00+00:00' + disabled: false + last_exercised: '2024-01-15T10:30:00+00:00' + modified_at: '2024-01-10T08:00:00+00:00' + org_disabled: false + id: 00000000-0000-0000-0000-000000000020 + relationships: + oauth2_client: + data: + id: 00000000-0000-0000-0000-000000000010 + type: oauth2_clients + scopes: + data: + - id: example_scope + type: scopes + user: + data: + id: 00000000-0000-9999-0000-000000000001 + type: users + type: user_authorized_clients + meta: + page: + total_count: 1 + total_filtered_count: 1 schema: - $ref: '#/components/schemas/TeamResponse' + $ref: '#/components/schemas/UserAuthorizedClientsResponse' description: OK - '400': - content: - application/json: - schema: - $ref: '#/components/schemas/APIErrorResponse' - description: API error response. '403': - $ref: '#/components/responses/ForbiddenResponse' - '404': content: application/json: schema: - $ref: '#/components/schemas/APIErrorResponse' - description: API error response. - '409': + $ref: '#/components/schemas/JSONAPIErrorResponse' + description: Authentication error + '404': content: application/json: schema: - $ref: '#/components/schemas/APIErrorResponse' - description: API error response. + $ref: '#/components/schemas/JSONAPIErrorResponse' + description: Not Found '429': $ref: '#/components/responses/TooManyRequestsResponse' security: - apiKeyAuth: [] appKeyAuth: [] - AuthZ: - - teams_read - summary: Update a team + - org_authorized_apps_read + summary: List user authorizations for a client tags: - - Teams - x-codegen-request-body-name: body + - Org Authorized Clients + x-pagination: + limitParam: page[size] + pageParam: page[number] + resultsPath: data x-permission: operator: OR permissions: - - teams_read - /api/v2/team/{team_id}/links: - get: - description: Get all links for a given team. - operationId: GetTeamLinks + - org_authorized_apps_read + /api/v2/org_authorized_clients/{org_authorized_client_id}/user_authorized_clients/{user_authorized_client_id}: + delete: + description: Disable a specific user authorization for the specified OAuth2 client in the current organization. + operationId: DeleteOrgAuthorizedClientUserAuthorization parameters: - - description: None - in: path - name: team_id - required: true - schema: - type: string + - $ref: '#/components/parameters/OrgAuthorizedClientId' + - $ref: '#/components/parameters/UserAuthorizedClientIdForOrg' responses: - '200': + '204': + description: No Content + '403': content: application/json: schema: - $ref: '#/components/schemas/TeamLinksResponse' - description: OK - '403': - $ref: '#/components/responses/ForbiddenResponse' + $ref: '#/components/schemas/JSONAPIErrorResponse' + description: Authentication error '404': content: application/json: schema: - $ref: '#/components/schemas/APIErrorResponse' - description: API error response. + $ref: '#/components/schemas/JSONAPIErrorResponse' + description: Not Found '429': $ref: '#/components/responses/TooManyRequestsResponse' security: - apiKeyAuth: [] appKeyAuth: [] - AuthZ: - - teams_read - summary: Get links for a team + - org_authorized_apps_write + summary: Delete a user authorization for a client tags: - - Teams + - Org Authorized Clients x-permission: operator: OR permissions: - - teams_read - post: - description: Add a new link to a team. - operationId: CreateTeamLink - parameters: - - description: None - in: path - name: team_id - required: true - schema: - type: string - requestBody: - content: - application/json: - schema: - $ref: '#/components/schemas/TeamLinkCreateRequest' - required: true + - org_authorized_apps_write + /api/v2/org_configs: + get: + description: Returns all Org Configs (name, description, and value). + operationId: ListOrgConfigs responses: '200': content: application/json: + examples: + default: + value: + data: + - attributes: + description: Example org config description + name: monitor_timezone + value: UTC + value_type: bool + id: abcd1234 + type: org_configs schema: - $ref: '#/components/schemas/TeamLinkResponse' + $ref: '#/components/schemas/OrgConfigListResponse' description: OK + '400': + $ref: '#/components/responses/BadRequestResponse' + '401': + $ref: '#/components/responses/UnauthorizedResponse' '403': $ref: '#/components/responses/ForbiddenResponse' - '404': - content: - application/json: - schema: - $ref: '#/components/schemas/APIErrorResponse' - description: API error response. - '422': - content: - application/json: - schema: - $ref: '#/components/schemas/APIErrorResponse' - description: API error response. '429': $ref: '#/components/responses/TooManyRequestsResponse' - security: - - apiKeyAuth: [] - appKeyAuth: [] - - AuthZ: - - teams_read - summary: Create a team link + summary: List Org Configs tags: - - Teams - x-codegen-request-body-name: body + - Organizations x-permission: - operator: OR - permissions: - - teams_read - /api/v2/team/{team_id}/links/{link_id}: - delete: - description: Remove a link from a team. - operationId: DeleteTeamLink + operator: OPEN + permissions: [] + /api/v2/org_configs/{org_config_name}: + get: + description: Return the name, description, and value of a specific Org Config. + operationId: GetOrgConfig parameters: - - description: None - in: path - name: team_id - required: true - schema: - type: string - - description: None - in: path - name: link_id - required: true - schema: - type: string + - $ref: '#/components/parameters/OrgConfigName' responses: - '204': - description: No Content - '403': - $ref: '#/components/responses/ForbiddenResponse' - '404': + '200': content: application/json: + examples: + default: + value: + data: + attributes: + description: Example org config description + name: monitor_timezone + value: UTC + value_type: bool + id: abcd1234 + type: org_configs schema: - $ref: '#/components/schemas/APIErrorResponse' - description: API error response. + $ref: '#/components/schemas/OrgConfigGetResponse' + description: OK + '400': + $ref: '#/components/responses/BadRequestResponse' + '401': + $ref: '#/components/responses/UnauthorizedResponse' + '403': + $ref: '#/components/responses/ForbiddenResponse' + '404': + $ref: '#/components/responses/NotFoundResponse' '429': $ref: '#/components/responses/TooManyRequestsResponse' - security: - - apiKeyAuth: [] - appKeyAuth: [] - - AuthZ: - - teams_read - summary: Remove a team link + summary: Get a specific Org Config value tags: - - Teams + - Organizations x-permission: - operator: OR - permissions: - - teams_read - get: - description: Get a single link for a team. - operationId: GetTeamLink + operator: OPEN + permissions: [] + patch: + description: Update the value of a specific Org Config. + operationId: UpdateOrgConfig parameters: - - description: None - in: path - name: team_id - required: true - schema: - type: string - - description: None - in: path - name: link_id - required: true - schema: - type: string + - $ref: '#/components/parameters/OrgConfigName' + requestBody: + content: + application/json: + examples: + default: + value: + data: + attributes: + value: UTC + type: org_configs + schema: + $ref: '#/components/schemas/OrgConfigWriteRequest' + required: true responses: '200': content: application/json: + examples: + default: + value: + data: + attributes: + description: Example org config description + name: monitor_timezone + value: UTC + value_type: bool + id: abcd1234 + type: org_configs schema: - $ref: '#/components/schemas/TeamLinkResponse' + $ref: '#/components/schemas/OrgConfigGetResponse' description: OK + '400': + $ref: '#/components/responses/BadRequestResponse' + '401': + $ref: '#/components/responses/UnauthorizedResponse' '403': $ref: '#/components/responses/ForbiddenResponse' '404': - content: - application/json: - schema: - $ref: '#/components/schemas/APIErrorResponse' - description: API error response. + $ref: '#/components/responses/NotFoundResponse' '429': $ref: '#/components/responses/TooManyRequestsResponse' - security: - - apiKeyAuth: [] - appKeyAuth: [] - - AuthZ: - - teams_read - summary: Get a team link + summary: Update a specific Org Config tags: - - Teams + - Organizations x-permission: operator: OR permissions: - - teams_read - patch: - description: Update a team link. - operationId: UpdateTeamLink + - org_management + /api/v2/org_connections: + get: + description: Returns a list of org connections. + operationId: ListOrgConnections parameters: - - description: None - in: path - name: team_id - required: true - schema: - type: string - - description: None - in: path - name: link_id - required: true + - description: The Org ID of the sink org. + example: 0879ce27-29a1-481f-a12e-bc2a48ec9ae1 + in: query + name: sink_org_id + required: false schema: type: string - requestBody: - content: - application/json: - schema: - $ref: '#/components/schemas/TeamLinkCreateRequest' - required: true - responses: - '200': - content: - application/json: - schema: - $ref: '#/components/schemas/TeamLinkResponse' - description: OK - '403': - $ref: '#/components/responses/ForbiddenResponse' - '404': - content: - application/json: - schema: - $ref: '#/components/schemas/APIErrorResponse' - description: API error response. - '429': - $ref: '#/components/responses/TooManyRequestsResponse' - security: - - apiKeyAuth: [] - appKeyAuth: [] - - AuthZ: - - teams_read - summary: Update a team link - tags: - - Teams - x-codegen-request-body-name: body - x-permission: - operator: OR - permissions: - - teams_read - /api/v2/team/{team_id}/memberships: - get: - description: Get a paginated list of members for a team - operationId: GetTeamMemberships - parameters: - - description: None - in: path - name: team_id - required: true + - description: The Org ID of the source org. + example: 0879ce27-29a1-481f-a12e-bc2a48ec9ae1 + in: query + name: source_org_id + required: false schema: type: string - - $ref: '#/components/parameters/PageSize' - - $ref: '#/components/parameters/PageNumber' - - description: Specifies the order of returned team memberships + - description: The limit of number of entries you want to return. Default is 1000. + example: 1000 in: query - name: sort + name: limit required: false schema: - $ref: '#/components/schemas/GetTeamMembershipsSort' - - description: Search query, can be user email or name + format: int64 + type: integer + - description: The pagination offset which you want to query from. Default is 0. + example: 0 in: query - name: filter[keyword] + name: offset required: false schema: - type: string + format: int64 + type: integer responses: '200': content: application/json: + examples: + default: + value: + data: + - attributes: + connection_types: + - logs + created_at: '2024-01-01T00:00:00+00:00' + id: 00000000-0000-0000-0000-000000000001 + relationships: {} + type: org_connection schema: - $ref: '#/components/schemas/UserTeamsResponse' - description: Represents a user's association to a team + $ref: '#/components/schemas/OrgConnectionListResponse' + description: OK + '401': + $ref: '#/components/responses/UnauthorizedResponse' '403': $ref: '#/components/responses/ForbiddenResponse' - '404': - content: - application/json: - schema: - $ref: '#/components/schemas/APIErrorResponse' - description: API error response. '429': $ref: '#/components/responses/TooManyRequestsResponse' security: - apiKeyAuth: [] appKeyAuth: [] - AuthZ: - - teams_read - summary: Get team memberships + - org_connections_read + summary: List Org Connections tags: - - Teams - x-pagination: - limitParam: page[size] - pageParam: page[number] - resultsPath: data + - Org Connections x-permission: operator: OR permissions: - - teams_read + - org_connections_read post: - description: Add a user to a team. - operationId: CreateTeamMembership - parameters: - - description: None - in: path - name: team_id - required: true - schema: - type: string + description: Create a new org connection between the current org and a target org. + operationId: CreateOrgConnections requestBody: content: application/json: + examples: + default: + value: + data: + attributes: + connection_types: + - logs + relationships: + sink_org: + data: + id: f9ec96b0-8c8a-4b0a-9b0a-1b2c3d4e5f6a + name: Example Org + type: orgs + type: org_connection schema: - $ref: '#/components/schemas/UserTeamRequest' + $ref: '#/components/schemas/OrgConnectionCreateRequest' required: true responses: '200': content: application/json: + examples: + default: + value: + data: + attributes: + connection_types: + - logs + created_at: '2024-01-01T00:00:00+00:00' + id: 00000000-0000-0000-0000-000000000002 + relationships: {} + type: org_connection schema: - $ref: '#/components/schemas/UserTeamResponse' - description: Represents a user's association to a team + $ref: '#/components/schemas/OrgConnectionResponse' + description: OK + '400': + $ref: '#/components/responses/BadRequestResponse' + '401': + $ref: '#/components/responses/UnauthorizedResponse' '403': $ref: '#/components/responses/ForbiddenResponse' '404': - content: - application/json: - schema: - $ref: '#/components/schemas/APIErrorResponse' - description: API error response. + $ref: '#/components/responses/NotFoundResponse' '409': - content: - application/json: - schema: - $ref: '#/components/schemas/APIErrorResponse' - description: API error response. + $ref: '#/components/responses/ConflictResponse' '429': $ref: '#/components/responses/TooManyRequestsResponse' security: - apiKeyAuth: [] appKeyAuth: [] - AuthZ: - - teams_read - summary: Add a user to a team + - org_connections_write + summary: Create Org Connection tags: - - Teams + - Org Connections x-codegen-request-body-name: body x-permission: operator: OR permissions: - - teams_read - /api/v2/team/{team_id}/memberships/{user_id}: + - org_connections_write + /api/v2/org_connections/{connection_id}: delete: - description: Remove a user from a team. - operationId: DeleteTeamMembership + description: Delete an existing org connection. + operationId: DeleteOrgConnections parameters: - - description: None - in: path - name: team_id - required: true - schema: - type: string - - description: None - in: path - name: user_id - required: true - schema: - type: string + - $ref: '#/components/parameters/OrgConnectionId' responses: - '204': - description: No Content + '200': + description: OK + '400': + $ref: '#/components/responses/BadRequestResponse' + '401': + $ref: '#/components/responses/UnauthorizedResponse' '403': $ref: '#/components/responses/ForbiddenResponse' '404': - content: - application/json: - schema: - $ref: '#/components/schemas/APIErrorResponse' - description: API error response. + $ref: '#/components/responses/NotFoundResponse' '429': $ref: '#/components/responses/TooManyRequestsResponse' security: - apiKeyAuth: [] appKeyAuth: [] - AuthZ: - - teams_read - summary: Remove a user from a team + - org_connections_write + summary: Delete Org Connection tags: - - Teams + - Org Connections x-permission: operator: OR permissions: - - teams_read + - org_connections_write patch: - description: Update a user's membership attributes on a team. - operationId: UpdateTeamMembership + description: Update an existing org connection. + operationId: UpdateOrgConnections parameters: - - description: None - in: path - name: team_id - required: true - schema: - type: string - - description: None - in: path - name: user_id - required: true - schema: - type: string + - $ref: '#/components/parameters/OrgConnectionId' requestBody: content: application/json: + examples: + default: + value: + data: + attributes: + connection_types: + - logs + - metrics + id: f9ec96b0-8c8a-4b0a-9b0a-1b2c3d4e5f6a + type: org_connection schema: - $ref: '#/components/schemas/UserTeamUpdateRequest' + $ref: '#/components/schemas/OrgConnectionUpdateRequest' required: true responses: '200': content: application/json: + examples: + default: + value: + data: + attributes: + connection_types: + - logs + - metrics + created_at: '2024-01-01T00:00:00+00:00' + id: f9ec96b0-8c8a-4b0a-9b0a-1b2c3d4e5f6a + type: org_connection schema: - $ref: '#/components/schemas/UserTeamResponse' - description: Represents a user's association to a team + $ref: '#/components/schemas/OrgConnectionResponse' + description: OK + '400': + $ref: '#/components/responses/BadRequestResponse' + '401': + $ref: '#/components/responses/UnauthorizedResponse' '403': $ref: '#/components/responses/ForbiddenResponse' '404': - content: - application/json: - schema: - $ref: '#/components/schemas/APIErrorResponse' - description: API error response. + $ref: '#/components/responses/NotFoundResponse' '429': $ref: '#/components/responses/TooManyRequestsResponse' security: - apiKeyAuth: [] appKeyAuth: [] - AuthZ: - - teams_read - summary: Update a user's membership attributes on a team + - org_connections_write + summary: Update Org Connection tags: - - Teams - x-codegen-request-body-name: body + - Org Connections x-permission: operator: OR permissions: - - teams_read - /api/v2/team/{team_id}/permission-settings: + - org_connections_write + /api/v2/org_group_memberships: get: - description: Get all permission settings for a given team. - operationId: GetTeamPermissionSettings + description: List organization group memberships. Filter by org group ID or org UUID. At least one of `filter[org_group_id]` or `filter[org_uuid]` must be provided. When filtering by org UUID, returns a single-item list with the membership for that org. + operationId: ListOrgGroupMemberships parameters: - - description: None - in: path - name: team_id - required: true - schema: - type: string + - $ref: '#/components/parameters/OrgGroupMembershipFilterOrgGroupId' + - $ref: '#/components/parameters/OrgGroupMembershipFilterOrgUuid' + - $ref: '#/components/parameters/OrgGroupPageNumber' + - $ref: '#/components/parameters/OrgGroupPageSize' + - $ref: '#/components/parameters/MembershipSort' responses: '200': content: application/json: + examples: + default: + value: + data: + - attributes: + created_at: '2024-01-15T10:30:00Z' + modified_at: '2024-01-15T10:30:00Z' + org_name: Acme Corp + org_site: us1 + org_uuid: c3d4e5f6-a7b8-9012-cdef-012345678901 + id: f1e2d3c4-b5a6-7890-1234-567890abcdef + relationships: + org_group: + data: + id: a1b2c3d4-e5f6-7890-abcd-ef0123456789 + type: org_groups + type: org_group_memberships + links: + first: https://api.datadoghq.com/api/v2/org_group_memberships?filter%5Borg_group_id%5D=a1b2c3d4-e5f6-7890-abcd-ef0123456789&page%5Bnumber%5D=0&page%5Bsize%5D=50 + last: https://api.datadoghq.com/api/v2/org_group_memberships?filter%5Borg_group_id%5D=a1b2c3d4-e5f6-7890-abcd-ef0123456789&page%5Bnumber%5D=0&page%5Bsize%5D=50 + next: null + prev: null + self: https://api.datadoghq.com/api/v2/org_group_memberships?filter%5Borg_group_id%5D=a1b2c3d4-e5f6-7890-abcd-ef0123456789&page%5Bnumber%5D=0&page%5Bsize%5D=50 + meta: + page: + first_number: 0 + last_number: 0 + next_number: null + number: 0 + prev_number: null + size: 50 + total: 1 + type: number_size schema: - $ref: '#/components/schemas/TeamPermissionSettingsResponse' + $ref: '#/components/schemas/OrgGroupMembershipListResponse' description: OK - '403': - $ref: '#/components/responses/ForbiddenResponse' - '404': + '400': content: application/json: schema: - $ref: '#/components/schemas/APIErrorResponse' - description: API error response. + $ref: '#/components/schemas/JSONAPIErrorResponse' + description: Bad Request + '401': + content: + application/json: + schema: + $ref: '#/components/schemas/JSONAPIErrorResponse' + description: Unauthorized + '403': + content: + application/json: + schema: + $ref: '#/components/schemas/JSONAPIErrorResponse' + description: Forbidden '429': $ref: '#/components/responses/TooManyRequestsResponse' - security: - - apiKeyAuth: [] - appKeyAuth: [] - - AuthZ: - - teams_read - summary: Get permission settings for a team + summary: List org group memberships tags: - - Teams + - Org Groups x-permission: operator: OR permissions: - - teams_read - /api/v2/team/{team_id}/permission-settings/{action}: - put: - description: Update a team permission setting for a given team. - operationId: UpdateTeamPermissionSetting - parameters: - - description: None - in: path - name: team_id - required: true - schema: - type: string - - description: None - in: path - name: action - required: true - schema: - type: string + - org_group_read + x-unstable: |- + **Note**: This endpoint is in preview and is subject to change. + If you have any feedback, contact [Datadog support](https://docs.datadoghq.com/help/). + /api/v2/org_group_memberships/bulk: + patch: + description: Move a batch of organizations from one org group to another. This is an atomic operation. Maximum 100 orgs per request. + operationId: BulkUpdateOrgGroupMemberships requestBody: content: application/json: + examples: + default: + value: + data: + attributes: + orgs: + - org_site: us1 + org_uuid: c3d4e5f6-a7b8-9012-cdef-012345678901 + relationships: + source_org_group: + data: + id: a1b2c3d4-e5f6-7890-abcd-ef0123456789 + type: org_groups + target_org_group: + data: + id: d4e5f6a7-b890-1234-cdef-567890abcdef + type: org_groups + type: org_group_membership_bulk_updates schema: - $ref: '#/components/schemas/TeamPermissionSettingUpdateRequest' + $ref: '#/components/schemas/OrgGroupMembershipBulkUpdateRequest' required: true responses: '200': content: application/json: + examples: + default: + value: + data: + - attributes: + created_at: '2024-01-15T10:30:00Z' + modified_at: '2024-01-16T14:00:00Z' + org_name: Acme Corp + org_site: us1 + org_uuid: c3d4e5f6-a7b8-9012-cdef-012345678901 + id: f1e2d3c4-b5a6-7890-1234-567890abcdef + relationships: + org_group: + data: + id: d4e5f6a7-b890-1234-cdef-567890abcdef + type: org_groups + type: org_group_memberships schema: - $ref: '#/components/schemas/TeamPermissionSettingResponse' + $ref: '#/components/schemas/OrgGroupMembershipListResponse' description: OK + '400': + content: + application/json: + schema: + $ref: '#/components/schemas/JSONAPIErrorResponse' + description: Bad Request + '401': + content: + application/json: + schema: + $ref: '#/components/schemas/JSONAPIErrorResponse' + description: Unauthorized '403': - $ref: '#/components/responses/ForbiddenResponse' + content: + application/json: + schema: + $ref: '#/components/schemas/JSONAPIErrorResponse' + description: Forbidden '404': content: application/json: schema: - $ref: '#/components/schemas/APIErrorResponse' - description: API error response. + $ref: '#/components/schemas/JSONAPIErrorResponse' + description: Not Found '429': $ref: '#/components/responses/TooManyRequestsResponse' - security: - - apiKeyAuth: [] - appKeyAuth: [] - - AuthZ: - - teams_read - summary: Update permission setting for team + summary: Bulk update org group memberships tags: - - Teams - x-codegen-request-body-name: body + - Org Groups x-permission: operator: OR permissions: - - teams_read - /api/v2/usage/application_security: + - org_group_write + x-unstable: |- + **Note**: This endpoint is in preview and is subject to change. + If you have any feedback, contact [Datadog support](https://docs.datadoghq.com/help/). + /api/v2/org_group_memberships/{org_group_membership_id}: get: - deprecated: true - description: >- - Get hourly usage for application security . - - **Note:** This endpoint has been deprecated. Hourly usage data for all - products is now available in the [Get hourly usage by product family - API](https://docs.datadoghq.com/api/latest/usage-metering/#get-hourly-usage-by-product-family) - operationId: GetUsageApplicationSecurityMonitoring + description: Get a specific organization group membership by its ID. + operationId: GetOrgGroupMembership parameters: - - description: >- - Datetime in ISO-8601 format, UTC, precise to hour: `[YYYY-MM-DDThh]` - for usage beginning at this hour. - in: query - name: start_hr - required: true - schema: - format: date-time - type: string - - description: >- - Datetime in ISO-8601 format, UTC, precise to hour: `[YYYY-MM-DDThh]` - for usage ending - - **before** this hour. - in: query - name: end_hr - required: false - schema: - format: date-time - type: string + - $ref: '#/components/parameters/OrgGroupMembershipId' responses: '200': content: - application/json;datetime-format=rfc3339: + application/json: + examples: + default: + value: + data: + attributes: + created_at: '2024-01-15T10:30:00Z' + modified_at: '2024-01-15T10:30:00Z' + org_name: Acme Corp + org_site: us1 + org_uuid: c3d4e5f6-a7b8-9012-cdef-012345678901 + id: f1e2d3c4-b5a6-7890-1234-567890abcdef + relationships: + org_group: + data: + id: a1b2c3d4-e5f6-7890-abcd-ef0123456789 + type: org_groups + type: org_group_memberships schema: - $ref: >- - #/components/schemas/UsageApplicationSecurityMonitoringResponse + $ref: '#/components/schemas/OrgGroupMembershipResponse' description: OK '400': content: - application/json;datetime-format=rfc3339: + application/json: schema: - $ref: '#/components/schemas/APIErrorResponse' + $ref: '#/components/schemas/JSONAPIErrorResponse' description: Bad Request + '401': + content: + application/json: + schema: + $ref: '#/components/schemas/JSONAPIErrorResponse' + description: Unauthorized '403': content: - application/json;datetime-format=rfc3339: + application/json: schema: - $ref: '#/components/schemas/APIErrorResponse' - description: Forbidden - User is not authorized - '429': + $ref: '#/components/schemas/JSONAPIErrorResponse' + description: Forbidden + '404': content: - application/json;datetime-format=rfc3339: + application/json: schema: - $ref: '#/components/schemas/APIErrorResponse' - description: Too many requests - security: - - apiKeyAuth: [] - appKeyAuth: [] - - AuthZ: - - usage_read - summary: Get hourly usage for application security + $ref: '#/components/schemas/JSONAPIErrorResponse' + description: Not Found + '429': + $ref: '#/components/responses/TooManyRequestsResponse' + summary: Get an org group membership tags: - - Usage Metering + - Org Groups x-permission: operator: OR permissions: - - usage_read - /api/v2/usage/billing_dimension_mapping: - get: - description: >- - Get a mapping of billing dimensions to the corresponding keys for the - supported usage metering public API endpoints. - - Mapping data is updated on a monthly cadence. - - - This endpoint is only accessible to [parent-level - organizations](https://docs.datadoghq.com/account_management/multi_organization/). - operationId: GetBillingDimensionMapping + - org_group_read + x-unstable: |- + **Note**: This endpoint is in preview and is subject to change. + If you have any feedback, contact [Datadog support](https://docs.datadoghq.com/help/). + patch: + description: Move an organization to a different org group by updating its membership. + operationId: UpdateOrgGroupMembership parameters: - - description: >- - Datetime in ISO-8601 format, UTC, and for mappings beginning this - month. Defaults to the current month. - in: query - name: filter[month] - required: false - schema: - format: date-time - type: string - - description: >- - String to specify whether to retrieve active billing dimension - mappings for the contract or for all available mappings. Allowed - views have the string `active` or `all`. Defaults to `active`. - in: query - name: filter[view] - required: false - schema: - default: active - type: string + - $ref: '#/components/parameters/OrgGroupMembershipId' + requestBody: + content: + application/json: + examples: + default: + value: + data: + id: f1e2d3c4-b5a6-7890-1234-567890abcdef + relationships: + org_group: + data: + id: a1b2c3d4-e5f6-7890-abcd-ef0123456789 + type: org_groups + type: org_group_memberships + schema: + $ref: '#/components/schemas/OrgGroupMembershipUpdateRequest' + required: true responses: '200': content: - application/json;datetime-format=rfc3339: + application/json: + examples: + default: + value: + data: + attributes: + created_at: '2024-01-15T10:30:00Z' + modified_at: '2024-01-16T14:00:00Z' + org_name: Acme Corp + org_site: us1 + org_uuid: c3d4e5f6-a7b8-9012-cdef-012345678901 + id: f1e2d3c4-b5a6-7890-1234-567890abcdef + relationships: + org_group: + data: + id: a1b2c3d4-e5f6-7890-abcd-ef0123456789 + type: org_groups + type: org_group_memberships schema: - $ref: '#/components/schemas/BillingDimensionsMappingResponse' + $ref: '#/components/schemas/OrgGroupMembershipResponse' description: OK '400': content: - application/json;datetime-format=rfc3339: + application/json: schema: - $ref: '#/components/schemas/APIErrorResponse' + $ref: '#/components/schemas/JSONAPIErrorResponse' description: Bad Request + '401': + content: + application/json: + schema: + $ref: '#/components/schemas/JSONAPIErrorResponse' + description: Unauthorized '403': content: - application/json;datetime-format=rfc3339: + application/json: schema: - $ref: '#/components/schemas/APIErrorResponse' - description: Forbidden - User is not authorized - '429': + $ref: '#/components/schemas/JSONAPIErrorResponse' + description: Forbidden + '404': content: - application/json;datetime-format=rfc3339: + application/json: schema: - $ref: '#/components/schemas/APIErrorResponse' - description: Too many requests - security: - - apiKeyAuth: [] - appKeyAuth: [] - - AuthZ: - - usage_read - summary: Get billing dimension mapping for usage endpoints + $ref: '#/components/schemas/JSONAPIErrorResponse' + description: Not Found + '429': + $ref: '#/components/responses/TooManyRequestsResponse' + summary: Update an org group membership tags: - - Usage Metering + - Org Groups x-permission: operator: OR permissions: - - usage_read - /api/v2/usage/cost_by_org: + - org_group_write + x-unstable: |- + **Note**: This endpoint is in preview and is subject to change. + If you have any feedback, contact [Datadog support](https://docs.datadoghq.com/help/). + /api/v2/org_group_policies: get: - deprecated: true - description: >- - Get cost across multi-org account. - - Cost by org data for a given month becomes available no later than the - 16th of the following month. - - **Note:** This endpoint has been deprecated. Please use the new endpoint - - [`/historical_cost`](https://docs.datadoghq.com/api/latest/usage-metering/#get-historical-cost-across-your-account) - - instead. - - - This endpoint is only accessible for [parent-level - organizations](https://docs.datadoghq.com/account_management/multi_organization/). - operationId: GetCostByOrg + description: List policies for an organization group. Requires a filter on org group ID. + operationId: ListOrgGroupPolicies parameters: - - description: >- - Datetime in ISO-8601 format, UTC, precise to month: `[YYYY-MM]` for - cost beginning this month. - in: query - name: start_month - required: true - schema: - format: date-time - type: string - - description: >- - Datetime in ISO-8601 format, UTC, precise to month: `[YYYY-MM]` for - cost ending this month. - in: query - name: end_month - required: false - schema: - format: date-time - type: string + - $ref: '#/components/parameters/OrgGroupPolicyFilterOrgGroupId' + - $ref: '#/components/parameters/OrgGroupPolicyFilterPolicyName' + - $ref: '#/components/parameters/OrgGroupPageNumber' + - $ref: '#/components/parameters/OrgGroupPageSize' + - $ref: '#/components/parameters/PolicySort' responses: '200': content: - application/json;datetime-format=rfc3339: + application/json: + examples: + default: + value: + data: + - attributes: + content: + value: UTC + enforcement_tier: OVERRIDE_ALLOWED + modified_at: '2024-01-15T10:30:00Z' + policy_name: monitor_timezone + policy_type: org_config + id: 1a2b3c4d-5e6f-7890-abcd-ef0123456789 + relationships: + org_group: + data: + id: a1b2c3d4-e5f6-7890-abcd-ef0123456789 + type: org_groups + type: org_group_policies + links: + first: https://api.datadoghq.com/api/v2/org_group_policies?filter%5Borg_group_id%5D=a1b2c3d4-e5f6-7890-abcd-ef0123456789&page%5Bnumber%5D=0&page%5Bsize%5D=50 + last: https://api.datadoghq.com/api/v2/org_group_policies?filter%5Borg_group_id%5D=a1b2c3d4-e5f6-7890-abcd-ef0123456789&page%5Bnumber%5D=0&page%5Bsize%5D=50 + next: null + prev: null + self: https://api.datadoghq.com/api/v2/org_group_policies?filter%5Borg_group_id%5D=a1b2c3d4-e5f6-7890-abcd-ef0123456789&page%5Bnumber%5D=0&page%5Bsize%5D=50 + meta: + page: + first_number: 0 + last_number: 0 + next_number: null + number: 0 + prev_number: null + size: 50 + total: 1 + type: number_size schema: - $ref: '#/components/schemas/CostByOrgResponse' + $ref: '#/components/schemas/OrgGroupPolicyListResponse' description: OK '400': content: - application/json;datetime-format=rfc3339: + application/json: schema: - $ref: '#/components/schemas/APIErrorResponse' + $ref: '#/components/schemas/JSONAPIErrorResponse' description: Bad Request + '401': + content: + application/json: + schema: + $ref: '#/components/schemas/JSONAPIErrorResponse' + description: Unauthorized '403': content: - application/json;datetime-format=rfc3339: + application/json: schema: - $ref: '#/components/schemas/APIErrorResponse' - description: Forbidden - User is not authorized + $ref: '#/components/schemas/JSONAPIErrorResponse' + description: Forbidden '429': + $ref: '#/components/responses/TooManyRequestsResponse' + summary: List org group policies + tags: + - Org Groups + x-permission: + operator: OR + permissions: + - org_group_read + x-unstable: |- + **Note**: This endpoint is in preview and is subject to change. + If you have any feedback, contact [Datadog support](https://docs.datadoghq.com/help/). + post: + description: Create a new policy for an organization group. + operationId: CreateOrgGroupPolicy + requestBody: + content: + application/json: + examples: + default: + value: + data: + attributes: + content: + value: UTC + enforcement_tier: OVERRIDE_ALLOWED + policy_name: monitor_timezone + policy_type: org_config + relationships: + org_group: + data: + id: a1b2c3d4-e5f6-7890-abcd-ef0123456789 + type: org_groups + type: org_group_policies + schema: + $ref: '#/components/schemas/OrgGroupPolicyCreateRequest' + required: true + responses: + '201': + content: + application/json: + examples: + default: + value: + data: + attributes: + content: + value: UTC + enforcement_tier: OVERRIDE_ALLOWED + modified_at: '2024-01-15T10:30:00Z' + policy_name: monitor_timezone + policy_type: org_config + id: 1a2b3c4d-5e6f-7890-abcd-ef0123456789 + relationships: + org_group: + data: + id: a1b2c3d4-e5f6-7890-abcd-ef0123456789 + type: org_groups + type: org_group_policies + schema: + $ref: '#/components/schemas/OrgGroupPolicyResponse' + description: Created + '400': content: - application/json;datetime-format=rfc3339: + application/json: schema: - $ref: '#/components/schemas/APIErrorResponse' - description: Too many requests - security: - - apiKeyAuth: [] - appKeyAuth: [] - - AuthZ: - - usage_read - - billing_read - summary: Get cost across multi-org account + $ref: '#/components/schemas/JSONAPIErrorResponse' + description: Bad Request + '401': + content: + application/json: + schema: + $ref: '#/components/schemas/JSONAPIErrorResponse' + description: Unauthorized + '403': + content: + application/json: + schema: + $ref: '#/components/schemas/JSONAPIErrorResponse' + description: Forbidden + '409': + content: + application/json: + schema: + $ref: '#/components/schemas/JSONAPIErrorResponse' + description: Conflict + '429': + $ref: '#/components/responses/TooManyRequestsResponse' + summary: Create an org group policy tags: - - Usage Metering + - Org Groups x-permission: - operator: AND + operator: OR permissions: - - usage_read - - billing_read - /api/v2/usage/estimated_cost: - get: - description: >- - Get estimated cost across multi-org and single root-org accounts. - - Estimated cost data is only available for the current month and previous - month - - and is delayed by up to 72 hours from when it was incurred. - - To access historical costs prior to this, use the `/historical_cost` - endpoint. - - - This endpoint is only accessible for [parent-level - organizations](https://docs.datadoghq.com/account_management/multi_organization/). - operationId: GetEstimatedCostByOrg + - org_group_write + x-unstable: |- + **Note**: This endpoint is in preview and is subject to change. + If you have any feedback, contact [Datadog support](https://docs.datadoghq.com/help/). + /api/v2/org_group_policies/{org_group_policy_id}: + delete: + description: Delete an organization group policy by its ID. + operationId: DeleteOrgGroupPolicy parameters: - - description: >- - String to specify whether cost is broken down at a parent-org level - or at the sub-org level. Available views are `summary` and - `sub-org`. Defaults to `summary`. - in: query - name: view - required: false - schema: - type: string - - description: >- - Datetime in ISO-8601 format, UTC, precise to month: `[YYYY-MM]` for - cost beginning this month. **Either start_month or start_date should - be specified, but not both.** (start_month cannot go beyond two - months in the past). Provide an `end_month` to view month-over-month - cost. - in: query - name: start_month - required: false - schema: - format: date-time - type: string - - description: >- - Datetime in ISO-8601 format, UTC, precise to month: `[YYYY-MM]` for - cost ending this month. - in: query - name: end_month - required: false - schema: - format: date-time - type: string - - description: >- - Datetime in ISO-8601 format, UTC, precise to day: `[YYYY-MM-DD]` for - cost beginning this day. **Either start_month or start_date should - be specified, but not both.** (start_date cannot go beyond two - months in the past). Provide an `end_date` to view day-over-day - cumulative cost. - in: query - name: start_date - required: false - schema: - format: date-time - type: string - - description: >- - Datetime in ISO-8601 format, UTC, precise to day: `[YYYY-MM-DD]` for - cost ending this day. - in: query - name: end_date - required: false - schema: - format: date-time - type: string - - description: >- - Boolean to specify whether to include accounts connected to the - current account as partner customers in the Datadog partner network - program. Defaults to `false`. - in: query - name: include_connected_accounts - required: false - schema: - default: false - type: boolean + - $ref: '#/components/parameters/OrgGroupPolicyId' responses: - '200': - content: - application/json;datetime-format=rfc3339: - schema: - $ref: '#/components/schemas/CostByOrgResponse' - description: OK + '204': + description: No Content '400': content: - application/json;datetime-format=rfc3339: + application/json: schema: - $ref: '#/components/schemas/APIErrorResponse' + $ref: '#/components/schemas/JSONAPIErrorResponse' description: Bad Request + '401': + content: + application/json: + schema: + $ref: '#/components/schemas/JSONAPIErrorResponse' + description: Unauthorized '403': content: - application/json;datetime-format=rfc3339: + application/json: schema: - $ref: '#/components/schemas/APIErrorResponse' - description: Forbidden - User is not authorized - '429': + $ref: '#/components/schemas/JSONAPIErrorResponse' + description: Forbidden + '404': content: - application/json;datetime-format=rfc3339: + application/json: schema: - $ref: '#/components/schemas/APIErrorResponse' - description: Too many requests - security: - - apiKeyAuth: [] - appKeyAuth: [] - - AuthZ: - - usage_read - - billing_read - summary: Get estimated cost across your account + $ref: '#/components/schemas/JSONAPIErrorResponse' + description: Not Found + '429': + $ref: '#/components/responses/TooManyRequestsResponse' + summary: Delete an org group policy tags: - - Usage Metering + - Org Groups x-permission: - operator: AND + operator: OR permissions: - - usage_read - - billing_read - /api/v2/usage/historical_cost: + - org_group_write + x-unstable: |- + **Note**: This endpoint is in preview and is subject to change. + If you have any feedback, contact [Datadog support](https://docs.datadoghq.com/help/). get: - description: >- - Get historical cost across multi-org and single root-org accounts. - - Cost data for a given month becomes available no later than the 16th of - the following month. - - - This endpoint is only accessible for [parent-level - organizations](https://docs.datadoghq.com/account_management/multi_organization/). - operationId: GetHistoricalCostByOrg + description: Get a specific organization group policy by its ID. + operationId: GetOrgGroupPolicy parameters: - - description: >- - Datetime in ISO-8601 format, UTC, precise to month: `[YYYY-MM]` for - cost beginning this month. - in: query - name: start_month - required: true - schema: - format: date-time - type: string - - description: >- - String to specify whether cost is broken down at a parent-org level - or at the sub-org level. Available views are `summary` and - `sub-org`. Defaults to `summary`. - in: query - name: view - required: false - schema: - type: string - - description: >- - Datetime in ISO-8601 format, UTC, precise to month: `[YYYY-MM]` for - cost ending this month. - in: query - name: end_month - required: false - schema: - format: date-time - type: string - - description: >- - Boolean to specify whether to include accounts connected to the - current account as partner customers in the Datadog partner network - program. Defaults to `false`. - in: query - name: include_connected_accounts - required: false - schema: - default: false - type: boolean + - $ref: '#/components/parameters/OrgGroupPolicyId' responses: '200': content: - application/json;datetime-format=rfc3339: + application/json: + examples: + default: + value: + data: + attributes: + content: + value: UTC + enforcement_tier: OVERRIDE_ALLOWED + modified_at: '2024-01-15T10:30:00Z' + policy_name: monitor_timezone + policy_type: org_config + id: 1a2b3c4d-5e6f-7890-abcd-ef0123456789 + relationships: + org_group: + data: + id: a1b2c3d4-e5f6-7890-abcd-ef0123456789 + type: org_groups + type: org_group_policies schema: - $ref: '#/components/schemas/CostByOrgResponse' + $ref: '#/components/schemas/OrgGroupPolicyResponse' description: OK '400': content: - application/json;datetime-format=rfc3339: + application/json: schema: - $ref: '#/components/schemas/APIErrorResponse' + $ref: '#/components/schemas/JSONAPIErrorResponse' description: Bad Request + '401': + content: + application/json: + schema: + $ref: '#/components/schemas/JSONAPIErrorResponse' + description: Unauthorized '403': content: - application/json;datetime-format=rfc3339: + application/json: schema: - $ref: '#/components/schemas/APIErrorResponse' - description: Forbidden - User is not authorized - '429': + $ref: '#/components/schemas/JSONAPIErrorResponse' + description: Forbidden + '404': content: - application/json;datetime-format=rfc3339: + application/json: schema: - $ref: '#/components/schemas/APIErrorResponse' - description: Too many requests - security: - - apiKeyAuth: [] - appKeyAuth: [] - - AuthZ: - - usage_read - - billing_read - summary: Get historical cost across your account + $ref: '#/components/schemas/JSONAPIErrorResponse' + description: Not Found + '429': + $ref: '#/components/responses/TooManyRequestsResponse' + summary: Get an org group policy tags: - - Usage Metering + - Org Groups x-permission: - operator: AND + operator: OR permissions: - - usage_read - - billing_read - /api/v2/usage/hourly_usage: - get: - description: Get hourly usage by product family. - operationId: GetHourlyUsage + - org_group_read + x-unstable: |- + **Note**: This endpoint is in Preview and is subject to change. + If you have any feedback, contact [Datadog support](https://docs.datadoghq.com/help/). + patch: + description: Update an existing organization group policy. + operationId: UpdateOrgGroupPolicy parameters: - - description: >- - Datetime in ISO-8601 format, UTC, precise to hour: [YYYY-MM-DDThh] - for usage beginning at this hour. - in: query - name: filter[timestamp][start] - required: true - schema: - format: date-time - type: string - - description: >- - Datetime in ISO-8601 format, UTC, precise to hour: [YYYY-MM-DDThh] - for usage ending **before** this hour. - in: query - name: filter[timestamp][end] - required: false - schema: - format: date-time - type: string - - description: >- - Comma separated list of product families to retrieve. Available - families are `all`, `analyzed_logs`, - - `application_security`, `audit_trail`, `serverless`, `ci_app`, - `cloud_cost_management`, `cloud_siem`, - - `csm_container_enterprise`, `csm_host_enterprise`, `cspm`, - `custom_events`, `cws`, `dbm`, `error_tracking`, - - `fargate`, `infra_hosts`, `incident_management`, `indexed_logs`, - `indexed_spans`, `ingested_spans`, `iot`, - - `lambda_traced_invocations`, `llm_observability`, `logs`, - `network_flows`, `network_hosts`, `network_monitoring`, - - `observability_pipelines`, `online_archive`, `profiling`, - `product_analytics`, `rum`, `rum_browser_sessions`, - - `rum_mobile_sessions`, `sds`, `snmp`, `software_delivery`, - `synthetics_api`, `synthetics_browser`, - - `synthetics_mobile`, `synthetics_parallel_testing`, `timeseries`, - `vuln_management` and `workflow_executions`. - - The following product family has been **deprecated**: `audit_logs`. - in: query - name: filter[product_families] - required: true - schema: - type: string - - description: Include child org usage in the response. Defaults to false. - in: query - name: filter[include_descendants] - required: false - schema: - default: false - type: boolean - - description: >- - Boolean to specify whether to include accounts connected to the - current account as partner customers in the Datadog partner network - program. Defaults to false. - in: query - name: filter[include_connected_accounts] - required: false - schema: - default: false - type: boolean - - description: >- - Include breakdown of usage by subcategories where applicable (for - product family logs only). Defaults to false. - in: query - name: filter[include_breakdown] - required: false - schema: - default: false - type: boolean - - description: >- - Comma separated list of product family versions to use in the format - `product_family:version`. For example, - - `infra_hosts:1.0.0`. If this parameter is not used, the API will use - the latest version of each requested - - product family. Currently all families have one version `1.0.0`. - in: query - name: filter[versions] - required: false - schema: - type: string - - description: >- - Maximum number of results to return (between 1 and 500) - defaults - to 500 if limit not specified. - in: query - name: page[limit] - required: false - schema: - default: 500 - format: int32 - maximum: 500 - minimum: 1 - type: integer - - description: >- - List following results with a next_record_id provided in the - previous query. - in: query - name: page[next_record_id] - required: false - schema: - type: string + - $ref: '#/components/parameters/OrgGroupPolicyId' + requestBody: + content: + application/json: + examples: + default: + value: + data: + attributes: + content: + value: US/Eastern + enforcement_tier: GROUP_MANAGED + id: 1a2b3c4d-5e6f-7890-abcd-ef0123456789 + type: org_group_policies + schema: + $ref: '#/components/schemas/OrgGroupPolicyUpdateRequest' + required: true responses: '200': content: - application/json;datetime-format=rfc3339: + application/json: + examples: + default: + value: + data: + attributes: + content: + value: US/Eastern + enforcement_tier: GROUP_MANAGED + modified_at: '2024-01-16T14:00:00Z' + policy_name: monitor_timezone + policy_type: org_config + id: 1a2b3c4d-5e6f-7890-abcd-ef0123456789 + relationships: + org_group: + data: + id: a1b2c3d4-e5f6-7890-abcd-ef0123456789 + type: org_groups + type: org_group_policies schema: - $ref: '#/components/schemas/HourlyUsageResponse' + $ref: '#/components/schemas/OrgGroupPolicyResponse' description: OK '400': content: - application/json;datetime-format=rfc3339: + application/json: schema: - $ref: '#/components/schemas/APIErrorResponse' + $ref: '#/components/schemas/JSONAPIErrorResponse' description: Bad Request + '401': + content: + application/json: + schema: + $ref: '#/components/schemas/JSONAPIErrorResponse' + description: Unauthorized '403': content: - application/json;datetime-format=rfc3339: + application/json: schema: - $ref: '#/components/schemas/APIErrorResponse' - description: Forbidden - User is not authorized - '429': + $ref: '#/components/schemas/JSONAPIErrorResponse' + description: Forbidden + '404': content: - application/json;datetime-format=rfc3339: + application/json: schema: - $ref: '#/components/schemas/APIErrorResponse' - description: Too many requests - security: - - apiKeyAuth: [] - appKeyAuth: [] - - AuthZ: - - usage_read - summary: Get hourly usage by product family + $ref: '#/components/schemas/JSONAPIErrorResponse' + description: Not Found + '429': + $ref: '#/components/responses/TooManyRequestsResponse' + summary: Update an org group policy tags: - - Usage Metering + - Org Groups x-permission: operator: OR permissions: - - usage_read - /api/v2/usage/lambda_traced_invocations: + - org_group_write + x-unstable: |- + **Note**: This endpoint is in preview and is subject to change. + If you have any feedback, contact [Datadog support](https://docs.datadoghq.com/help/). + /api/v2/org_group_policy_configs: get: - deprecated: true - description: >- - Get hourly usage for Lambda traced invocations. - - **Note:** This endpoint has been deprecated.. Hourly usage data for all - products is now available in the [Get hourly usage by product family - API](https://docs.datadoghq.com/api/latest/usage-metering/#get-hourly-usage-by-product-family) - operationId: GetUsageLambdaTracedInvocations - parameters: - - description: >- - Datetime in ISO-8601 format, UTC, precise to hour: `[YYYY-MM-DDThh]` - for usage beginning at this hour. - in: query - name: start_hr - required: true - schema: - format: date-time - type: string - - description: >- - Datetime in ISO-8601 format, UTC, precise to hour: `[YYYY-MM-DDThh]` - for usage ending - - **before** this hour. - in: query - name: end_hr - required: false - schema: - format: date-time - type: string + description: List all org configs that are eligible to be used as organization group policies. + operationId: ListOrgGroupPolicyConfigs responses: '200': content: - application/json;datetime-format=rfc3339: + application/json: + examples: + default: + value: + data: + - attributes: + allowed_values: + - UTC + - US/Eastern + - US/Pacific + default_value: UTC + description: The default timezone for monitors. + name: monitor_timezone + value_type: string + id: monitor_timezone + type: org_group_policy_configs schema: - $ref: '#/components/schemas/UsageLambdaTracedInvocationsResponse' + $ref: '#/components/schemas/OrgGroupPolicyConfigListResponse' description: OK - '400': + '401': content: - application/json;datetime-format=rfc3339: + application/json: schema: - $ref: '#/components/schemas/APIErrorResponse' - description: Bad Request + $ref: '#/components/schemas/JSONAPIErrorResponse' + description: Unauthorized '403': content: - application/json;datetime-format=rfc3339: + application/json: schema: - $ref: '#/components/schemas/APIErrorResponse' - description: Forbidden - User is not authorized + $ref: '#/components/schemas/JSONAPIErrorResponse' + description: Forbidden '429': - content: - application/json;datetime-format=rfc3339: - schema: - $ref: '#/components/schemas/APIErrorResponse' - description: Too many requests - security: - - apiKeyAuth: [] - appKeyAuth: [] - - AuthZ: - - usage_read - summary: Get hourly usage for Lambda traced invocations + $ref: '#/components/responses/TooManyRequestsResponse' + summary: List org group policy configs tags: - - Usage Metering + - Org Groups x-permission: operator: OR permissions: - - usage_read - /api/v2/usage/observability_pipelines: + - org_group_read + x-unstable: |- + **Note**: This endpoint is in preview and is subject to change. + If you have any feedback, contact [Datadog support](https://docs.datadoghq.com/help/). + /api/v2/org_group_policy_overrides: get: - deprecated: true - description: >- - Get hourly usage for observability pipelines. - - **Note:** This endpoint has been deprecated. Hourly usage data for all - products is now available in the [Get hourly usage by product family - API](https://docs.datadoghq.com/api/latest/usage-metering/#get-hourly-usage-by-product-family) - operationId: GetUsageObservabilityPipelines + description: List policy overrides for an organization group. Requires a filter on org group ID. Optionally filter by policy ID. + operationId: ListOrgGroupPolicyOverrides parameters: - - description: >- - Datetime in ISO-8601 format, UTC, precise to hour: `[YYYY-MM-DDThh]` - for usage beginning at this hour. - in: query - name: start_hr - required: true - schema: - format: date-time - type: string - - description: >- - Datetime in ISO-8601 format, UTC, precise to hour: `[YYYY-MM-DDThh]` - for usage ending - - **before** this hour. - in: query - name: end_hr - required: false - schema: - format: date-time - type: string + - $ref: '#/components/parameters/OrgGroupPolicyOverrideFilterOrgGroupId' + - $ref: '#/components/parameters/OrgGroupPolicyOverrideFilterPolicyId' + - $ref: '#/components/parameters/OrgGroupPageNumber' + - $ref: '#/components/parameters/OrgGroupPageSize' + - $ref: '#/components/parameters/OverrideSort' responses: '200': content: - application/json;datetime-format=rfc3339: + application/json: + examples: + default: + value: + data: + - attributes: + created_at: '2024-01-15T10:30:00Z' + modified_at: '2024-01-15T10:30:00Z' + org_site: us1 + org_uuid: c3d4e5f6-a7b8-9012-cdef-012345678901 + id: 9f8e7d6c-5b4a-3210-fedc-ba0987654321 + relationships: + org_group: + data: + id: a1b2c3d4-e5f6-7890-abcd-ef0123456789 + type: org_groups + org_group_policy: + data: + id: 1a2b3c4d-5e6f-7890-abcd-ef0123456789 + type: org_group_policies + type: org_group_policy_overrides + links: + first: https://api.datadoghq.com/api/v2/org_group_policy_overrides?filter%5Borg_group_id%5D=a1b2c3d4-e5f6-7890-abcd-ef0123456789&page%5Bnumber%5D=0&page%5Bsize%5D=50 + last: https://api.datadoghq.com/api/v2/org_group_policy_overrides?filter%5Borg_group_id%5D=a1b2c3d4-e5f6-7890-abcd-ef0123456789&page%5Bnumber%5D=0&page%5Bsize%5D=50 + next: null + prev: null + self: https://api.datadoghq.com/api/v2/org_group_policy_overrides?filter%5Borg_group_id%5D=a1b2c3d4-e5f6-7890-abcd-ef0123456789&page%5Bnumber%5D=0&page%5Bsize%5D=50 + meta: + page: + first_number: 0 + last_number: 0 + next_number: null + number: 0 + prev_number: null + size: 50 + total: 1 + type: number_size schema: - $ref: '#/components/schemas/UsageObservabilityPipelinesResponse' + $ref: '#/components/schemas/OrgGroupPolicyOverrideListResponse' description: OK '400': content: - application/json;datetime-format=rfc3339: + application/json: schema: - $ref: '#/components/schemas/APIErrorResponse' + $ref: '#/components/schemas/JSONAPIErrorResponse' description: Bad Request - '403': - content: - application/json;datetime-format=rfc3339: - schema: - $ref: '#/components/schemas/APIErrorResponse' - description: Forbidden - User is not authorized - '429': - content: - application/json;datetime-format=rfc3339: - schema: - $ref: '#/components/schemas/APIErrorResponse' - description: Too many requests - security: - - apiKeyAuth: [] - appKeyAuth: [] - - AuthZ: - - usage_read - summary: Get hourly usage for observability pipelines - tags: - - Usage Metering - x-permission: - operator: OR - permissions: - - usage_read - /api/v2/usage/projected_cost: - get: - description: >- - Get projected cost across multi-org and single root-org accounts. - - Projected cost data is only available for the current month and becomes - available around the 12th of the month. - - - This endpoint is only accessible for [parent-level - organizations](https://docs.datadoghq.com/account_management/multi_organization/). - operationId: GetProjectedCost - parameters: - - description: >- - String to specify whether cost is broken down at a parent-org level - or at the sub-org level. Available views are `summary` and - `sub-org`. Defaults to `summary`. - in: query - name: view - required: false - schema: - type: string - - description: >- - Boolean to specify whether to include accounts connected to the - current account as partner customers in the Datadog partner network - program. Defaults to `false`. - in: query - name: include_connected_accounts - required: false - schema: - default: false - type: boolean - responses: - '200': - content: - application/json;datetime-format=rfc3339: - schema: - $ref: '#/components/schemas/ProjectedCostResponse' - description: OK - '400': + '401': content: - application/json;datetime-format=rfc3339: + application/json: schema: - $ref: '#/components/schemas/APIErrorResponse' - description: Bad Request + $ref: '#/components/schemas/JSONAPIErrorResponse' + description: Unauthorized '403': content: - application/json;datetime-format=rfc3339: + application/json: schema: - $ref: '#/components/schemas/APIErrorResponse' - description: Forbidden - User is not authorized + $ref: '#/components/schemas/JSONAPIErrorResponse' + description: Forbidden '429': - content: - application/json;datetime-format=rfc3339: - schema: - $ref: '#/components/schemas/APIErrorResponse' - description: Too many requests - security: - - apiKeyAuth: [] - appKeyAuth: [] - - AuthZ: - - usage_read - - billing_read - summary: Get projected cost across your account + $ref: '#/components/responses/TooManyRequestsResponse' + summary: List org group policy overrides tags: - - Usage Metering + - Org Groups x-permission: - operator: AND + operator: OR permissions: - - usage_read - - billing_read - /api/v2/user_invitations: + - org_group_read + x-unstable: |- + **Note**: This endpoint is in preview and is subject to change. + If you have any feedback, contact [Datadog support](https://docs.datadoghq.com/help/). post: - description: >- - Sends emails to one or more users inviting them to join the - organization. - operationId: SendInvitations + description: Create a new policy override for an organization within an org group. + operationId: CreateOrgGroupPolicyOverride requestBody: content: application/json: + examples: + default: + value: + data: + attributes: + org_site: us1 + org_uuid: c3d4e5f6-a7b8-9012-cdef-012345678901 + relationships: + org_group: + data: + id: a1b2c3d4-e5f6-7890-abcd-ef0123456789 + type: org_groups + org_group_policy: + data: + id: 1a2b3c4d-5e6f-7890-abcd-ef0123456789 + type: org_group_policies + type: org_group_policy_overrides schema: - $ref: '#/components/schemas/UserInvitationsRequest' + $ref: '#/components/schemas/OrgGroupPolicyOverrideCreateRequest' required: true responses: '201': content: application/json: + examples: + default: + value: + data: + attributes: + created_at: '2024-01-15T10:30:00Z' + modified_at: '2024-01-15T10:30:00Z' + org_site: us1 + org_uuid: c3d4e5f6-a7b8-9012-cdef-012345678901 + id: 9f8e7d6c-5b4a-3210-fedc-ba0987654321 + relationships: + org_group: + data: + id: a1b2c3d4-e5f6-7890-abcd-ef0123456789 + type: org_groups + org_group_policy: + data: + id: 1a2b3c4d-5e6f-7890-abcd-ef0123456789 + type: org_group_policies + type: org_group_policy_overrides schema: - $ref: '#/components/schemas/UserInvitationsResponse' - description: OK + $ref: '#/components/schemas/OrgGroupPolicyOverrideResponse' + description: Created '400': content: application/json: schema: - $ref: '#/components/schemas/APIErrorResponse' + $ref: '#/components/schemas/JSONAPIErrorResponse' description: Bad Request + '401': + content: + application/json: + schema: + $ref: '#/components/schemas/JSONAPIErrorResponse' + description: Unauthorized '403': content: application/json: schema: - $ref: '#/components/schemas/APIErrorResponse' - description: Authentication error + $ref: '#/components/schemas/JSONAPIErrorResponse' + description: Forbidden + '409': + content: + application/json: + schema: + $ref: '#/components/schemas/JSONAPIErrorResponse' + description: Conflict '429': $ref: '#/components/responses/TooManyRequestsResponse' - security: - - apiKeyAuth: [] - appKeyAuth: [] - - AuthZ: - - user_access_invite - summary: Send invitation emails + summary: Create an org group policy override tags: - - Users - x-codegen-request-body-name: body + - Org Groups x-permission: operator: OR permissions: - - user_access_invite - /api/v2/user_invitations/{user_invitation_uuid}: - get: - description: Returns a single user invitation by its UUID. - operationId: GetInvitation + - org_group_write + x-unstable: |- + **Note**: This endpoint is in preview and is subject to change. + If you have any feedback, contact [Datadog support](https://docs.datadoghq.com/help/). + /api/v2/org_group_policy_overrides/{org_group_policy_override_id}: + delete: + description: Delete an organization group policy override by its ID. + operationId: DeleteOrgGroupPolicyOverride parameters: - - description: The UUID of the user invitation. - in: path - name: user_invitation_uuid - required: true - schema: - example: 00000000-0000-0000-3456-000000000000 - type: string + - $ref: '#/components/parameters/OrgGroupPolicyOverrideId' responses: - '200': + '204': + description: No Content + '400': content: application/json: schema: - $ref: '#/components/schemas/UserInvitationResponse' - description: OK + $ref: '#/components/schemas/JSONAPIErrorResponse' + description: Bad Request + '401': + content: + application/json: + schema: + $ref: '#/components/schemas/JSONAPIErrorResponse' + description: Unauthorized '403': content: application/json: schema: - $ref: '#/components/schemas/APIErrorResponse' - description: Authentication error + $ref: '#/components/schemas/JSONAPIErrorResponse' + description: Forbidden '404': content: application/json: schema: - $ref: '#/components/schemas/APIErrorResponse' - description: Not found + $ref: '#/components/schemas/JSONAPIErrorResponse' + description: Not Found '429': $ref: '#/components/responses/TooManyRequestsResponse' - security: - - apiKeyAuth: [] - appKeyAuth: [] - - AuthZ: - - user_access_invite - summary: Get a user invitation + summary: Delete an org group policy override tags: - - Users - x-codegen-request-body-name: body + - Org Groups x-permission: operator: OR permissions: - - user_access_invite - /api/v2/users: + - org_group_write + x-unstable: |- + **Note**: This endpoint is in preview and is subject to change. + If you have any feedback, contact [Datadog support](https://docs.datadoghq.com/help/). get: - description: |- - Get the list of all users in the organization. This list includes - all users even if they are deactivated or unverified. - operationId: ListUsers + description: Get a specific organization group policy override by its ID. + operationId: GetOrgGroupPolicyOverride parameters: - - $ref: '#/components/parameters/PageSize' - - $ref: '#/components/parameters/PageNumber' - - description: >- - User attribute to order results by. Sort order is ascending by - default. - - Sort order is descending if the field - - is prefixed by a negative sign, for example `sort=-name`. Options: - `name`, - - `modified_at`, `user_count`. - in: query - name: sort - required: false - schema: - default: name - example: name - type: string - - description: 'Direction of sort. Options: `asc`, `desc`.' - in: query - name: sort_dir - required: false - schema: - $ref: '#/components/schemas/QuerySortOrder' - - description: Filter all users by the given string. Defaults to no filtering. - in: query - name: filter - required: false - schema: - type: string - - description: >- - Filter on status attribute. - - Comma separated list, with possible values `Active`, `Pending`, and - `Disabled`. - - Defaults to no filtering. - in: query - name: filter[status] - required: false - schema: - example: Active - type: string + - $ref: '#/components/parameters/OrgGroupPolicyOverrideId' responses: '200': content: application/json: + examples: + default: + value: + data: + attributes: + created_at: '2024-01-15T10:30:00Z' + modified_at: '2024-01-15T10:30:00Z' + org_site: us1 + org_uuid: c3d4e5f6-a7b8-9012-cdef-012345678901 + id: 9f8e7d6c-5b4a-3210-fedc-ba0987654321 + relationships: + org_group: + data: + id: a1b2c3d4-e5f6-7890-abcd-ef0123456789 + type: org_groups + org_group_policy: + data: + id: 1a2b3c4d-5e6f-7890-abcd-ef0123456789 + type: org_group_policies + type: org_group_policy_overrides schema: - $ref: '#/components/schemas/UsersResponse' + $ref: '#/components/schemas/OrgGroupPolicyOverrideResponse' description: OK '400': content: application/json: schema: - $ref: '#/components/schemas/APIErrorResponse' + $ref: '#/components/schemas/JSONAPIErrorResponse' description: Bad Request - '403': + '401': content: application/json: schema: - $ref: '#/components/schemas/APIErrorResponse' - description: Authentication error + $ref: '#/components/schemas/JSONAPIErrorResponse' + description: Unauthorized + '403': + content: + application/json: + schema: + $ref: '#/components/schemas/JSONAPIErrorResponse' + description: Forbidden + '404': + content: + application/json: + schema: + $ref: '#/components/schemas/JSONAPIErrorResponse' + description: Not Found '429': $ref: '#/components/responses/TooManyRequestsResponse' - security: - - apiKeyAuth: [] - appKeyAuth: [] - - AuthZ: - - user_access_read - summary: List all users + summary: Get an org group policy override tags: - - Users - x-codegen-request-body-name: body - x-pagination: - limitParam: page[size] - pageParam: page[number] - resultsPath: data + - Org Groups x-permission: operator: OR permissions: - - user_access_read - post: - description: Create a user for your organization. - operationId: CreateUser + - org_group_read + x-unstable: |- + **Note**: This endpoint is in Preview and is subject to change. + If you have any feedback, contact [Datadog support](https://docs.datadoghq.com/help/). + patch: + description: Update an existing organization group policy override. + operationId: UpdateOrgGroupPolicyOverride + parameters: + - $ref: '#/components/parameters/OrgGroupPolicyOverrideId' requestBody: content: application/json: + examples: + default: + value: + data: + attributes: + org_site: us1 + org_uuid: c3d4e5f6-a7b8-9012-cdef-012345678901 + id: 9f8e7d6c-5b4a-3210-fedc-ba0987654321 + type: org_group_policy_overrides schema: - $ref: '#/components/schemas/UserCreateRequest' + $ref: '#/components/schemas/OrgGroupPolicyOverrideUpdateRequest' required: true responses: - '201': + '200': content: application/json: + examples: + default: + value: + data: + attributes: + created_at: '2024-01-15T10:30:00Z' + modified_at: '2024-01-16T14:00:00Z' + org_site: us1 + org_uuid: c3d4e5f6-a7b8-9012-cdef-012345678901 + id: 9f8e7d6c-5b4a-3210-fedc-ba0987654321 + relationships: + org_group: + data: + id: a1b2c3d4-e5f6-7890-abcd-ef0123456789 + type: org_groups + org_group_policy: + data: + id: 1a2b3c4d-5e6f-7890-abcd-ef0123456789 + type: org_group_policies + type: org_group_policy_overrides schema: - $ref: '#/components/schemas/UserResponse' + $ref: '#/components/schemas/OrgGroupPolicyOverrideResponse' description: OK '400': content: application/json: schema: - $ref: '#/components/schemas/APIErrorResponse' + $ref: '#/components/schemas/JSONAPIErrorResponse' description: Bad Request + '401': + content: + application/json: + schema: + $ref: '#/components/schemas/JSONAPIErrorResponse' + description: Unauthorized '403': content: application/json: schema: - $ref: '#/components/schemas/APIErrorResponse' - description: Authentication error + $ref: '#/components/schemas/JSONAPIErrorResponse' + description: Forbidden + '404': + content: + application/json: + schema: + $ref: '#/components/schemas/JSONAPIErrorResponse' + description: Not Found '429': $ref: '#/components/responses/TooManyRequestsResponse' - security: - - apiKeyAuth: [] - appKeyAuth: [] - - AuthZ: - - user_access_invite - summary: Create a user + summary: Update an org group policy override tags: - - Users - x-codegen-request-body-name: body + - Org Groups x-permission: operator: OR permissions: - - user_access_invite - /api/v2/users/{user_id}: - delete: - description: |- - Disable a user. Can only be used with an application key belonging - to an administrator user. - operationId: DisableUser + - org_group_write + x-unstable: |- + **Note**: This endpoint is in preview and is subject to change. + If you have any feedback, contact [Datadog support](https://docs.datadoghq.com/help/). + /api/v2/org_group_policy_suggestions: + get: + description: List suggested organization group policies. Requires a filter on org group ID. + operationId: ListOrgGroupPolicySuggestions parameters: - - $ref: '#/components/parameters/UserID' + - $ref: '#/components/parameters/OrgGroupPolicyFilterOrgGroupId' responses: - '204': + '200': + content: + application/json: + examples: + default: + value: + data: + - attributes: + consensus_ratio: 0.75 + policy_name: monitor_timezone + recommended_value: UTC + status: pending + id: 1a2b3c4d-5e6f-7890-abcd-ef0123456789 + relationships: + org_group: + data: + id: a1b2c3d4-e5f6-7890-abcd-ef0123456789 + type: org_groups + type: org_group_policy_suggestions + schema: + $ref: '#/components/schemas/OrgGroupPolicySuggestionListResponse' description: OK - '403': + '400': content: application/json: schema: - $ref: '#/components/schemas/APIErrorResponse' - description: Authentication error - '404': + $ref: '#/components/schemas/JSONAPIErrorResponse' + description: Bad Request + '401': content: application/json: schema: - $ref: '#/components/schemas/APIErrorResponse' - description: Not found + $ref: '#/components/schemas/JSONAPIErrorResponse' + description: Unauthorized + '403': + content: + application/json: + schema: + $ref: '#/components/schemas/JSONAPIErrorResponse' + description: Forbidden '429': $ref: '#/components/responses/TooManyRequestsResponse' - security: - - apiKeyAuth: [] - appKeyAuth: [] - - AuthZ: - - user_access_manage - summary: Disable a user + summary: List org group policy suggestions tags: - - Users - x-codegen-request-body-name: body + - Org Groups x-permission: operator: OR permissions: - - user_access_manage - - service_account_write + - org_group_read + x-unstable: |- + **Note**: This endpoint is in preview and is subject to change. + If you have any feedback, contact [Datadog support](https://docs.datadoghq.com/help/). + /api/v2/org_groups: get: - description: Get a user in the organization specified by the user’s `user_id`. - operationId: GetUser + description: List all organization groups that the requesting organization has access to. + operationId: ListOrgGroups parameters: - - $ref: '#/components/parameters/UserID' + - $ref: '#/components/parameters/OrgGroupPageNumber' + - $ref: '#/components/parameters/OrgGroupPageSize' + - $ref: '#/components/parameters/OrgGroupSort' responses: '200': content: application/json: + examples: + default: + value: + data: + - attributes: + created_at: '2024-01-15T10:30:00Z' + modified_at: '2024-01-15T10:30:00Z' + name: My Org Group + owner_org_site: us1 + owner_org_uuid: b2c3d4e5-f6a7-8901-bcde-f01234567890 + id: a1b2c3d4-e5f6-7890-abcd-ef0123456789 + type: org_groups + links: + first: https://api.datadoghq.com/api/v2/org_groups?page%5Bnumber%5D=0&page%5Bsize%5D=50 + last: https://api.datadoghq.com/api/v2/org_groups?page%5Bnumber%5D=0&page%5Bsize%5D=50 + next: null + prev: null + self: https://api.datadoghq.com/api/v2/org_groups?page%5Bnumber%5D=0&page%5Bsize%5D=50 + meta: + page: + first_number: 0 + last_number: 0 + next_number: null + number: 0 + prev_number: null + size: 50 + total: 1 + type: number_size schema: - $ref: '#/components/schemas/UserResponse' + $ref: '#/components/schemas/OrgGroupListResponse' description: OK - '403': + '400': content: application/json: schema: - $ref: '#/components/schemas/APIErrorResponse' - description: Authentication error - '404': + $ref: '#/components/schemas/JSONAPIErrorResponse' + description: Bad Request + '401': content: application/json: schema: - $ref: '#/components/schemas/APIErrorResponse' - description: Not found + $ref: '#/components/schemas/JSONAPIErrorResponse' + description: Unauthorized + '403': + content: + application/json: + schema: + $ref: '#/components/schemas/JSONAPIErrorResponse' + description: Forbidden '429': $ref: '#/components/responses/TooManyRequestsResponse' - security: - - apiKeyAuth: [] - appKeyAuth: [] - - AuthZ: - - user_access_read - summary: Get user details + summary: List org groups tags: - - Users - x-codegen-request-body-name: body + - Org Groups x-permission: operator: OR permissions: - - user_access_read - patch: - description: |- - Edit a user. Can only be used with an application key belonging - to an administrator user. - operationId: UpdateUser - parameters: - - $ref: '#/components/parameters/UserID' + - org_group_read + x-unstable: |- + **Note**: This endpoint is in preview and is subject to change. + If you have any feedback, contact [Datadog support](https://docs.datadoghq.com/help/). + post: + description: Create a new organization group. + operationId: CreateOrgGroup requestBody: content: application/json: + examples: + default: + value: + data: + attributes: + name: My Org Group + type: org_groups schema: - $ref: '#/components/schemas/UserUpdateRequest' + $ref: '#/components/schemas/OrgGroupCreateRequest' required: true responses: - '200': + '201': content: application/json: + examples: + default: + value: + data: + attributes: + created_at: '2024-01-15T10:30:00Z' + modified_at: '2024-01-15T10:30:00Z' + name: My Org Group + owner_org_site: us1 + owner_org_uuid: b2c3d4e5-f6a7-8901-bcde-f01234567890 + id: a1b2c3d4-e5f6-7890-abcd-ef0123456789 + type: org_groups schema: - $ref: '#/components/schemas/UserResponse' - description: OK + $ref: '#/components/schemas/OrgGroupResponse' + description: Created '400': content: application/json: schema: - $ref: '#/components/schemas/APIErrorResponse' + $ref: '#/components/schemas/JSONAPIErrorResponse' description: Bad Request - '403': + '401': content: application/json: schema: - $ref: '#/components/schemas/APIErrorResponse' - description: Authentication error - '404': + $ref: '#/components/schemas/JSONAPIErrorResponse' + description: Unauthorized + '403': content: application/json: schema: - $ref: '#/components/schemas/APIErrorResponse' - description: Not found - '422': + $ref: '#/components/schemas/JSONAPIErrorResponse' + description: Forbidden + '409': content: application/json: schema: - $ref: '#/components/schemas/APIErrorResponse' - description: Unprocessable Entity + $ref: '#/components/schemas/JSONAPIErrorResponse' + description: Conflict '429': $ref: '#/components/responses/TooManyRequestsResponse' - security: - - apiKeyAuth: [] - appKeyAuth: [] - - AuthZ: - - user_access_manage - summary: Update a user + summary: Create an org group tags: - - Users - x-codegen-request-body-name: body + - Org Groups x-permission: operator: OR permissions: - - user_access_manage - - service_account_write - /api/v2/users/{user_id}/orgs: - get: - description: >- - Get a user organization. Returns the user information and all - organizations - - joined by this user. - operationId: ListUserOrganizations + - org_group_write + x-unstable: |- + **Note**: This endpoint is in preview and is subject to change. + If you have any feedback, contact [Datadog support](https://docs.datadoghq.com/help/). + /api/v2/org_groups/{org_group_id}: + delete: + description: Delete an organization group by its ID. + operationId: DeleteOrgGroup parameters: - - $ref: '#/components/parameters/UserID' + - $ref: '#/components/parameters/OrgGroupId' responses: - '200': + '204': + description: No Content + '400': content: application/json: schema: - $ref: '#/components/schemas/UserResponse' - description: OK + $ref: '#/components/schemas/JSONAPIErrorResponse' + description: Bad Request + '401': + content: + application/json: + schema: + $ref: '#/components/schemas/JSONAPIErrorResponse' + description: Unauthorized '403': content: application/json: schema: - $ref: '#/components/schemas/APIErrorResponse' - description: Authentication error + $ref: '#/components/schemas/JSONAPIErrorResponse' + description: Forbidden '404': content: application/json: schema: - $ref: '#/components/schemas/APIErrorResponse' - description: Not found + $ref: '#/components/schemas/JSONAPIErrorResponse' + description: Not Found '429': $ref: '#/components/responses/TooManyRequestsResponse' - security: - - apiKeyAuth: [] - appKeyAuth: [] - - AuthZ: [] - summary: Get a user organization + summary: Delete an org group tags: - - Users - x-codegen-request-body-name: body + - Org Groups x-permission: - operator: OPEN - permissions: [] - /api/v2/users/{user_id}/permissions: + operator: OR + permissions: + - org_group_write + x-unstable: |- + **Note**: This endpoint is in preview and is subject to change. + If you have any feedback, contact [Datadog support](https://docs.datadoghq.com/help/). get: - description: |- - Get a user permission set. Returns a list of the user’s permissions - granted by the associated user's roles. - operationId: ListUserPermissions + description: Get a specific organization group by its ID. + operationId: GetOrgGroup parameters: - - $ref: '#/components/parameters/UserID' + - $ref: '#/components/parameters/OrgGroupId' responses: '200': content: application/json: + examples: + default: + value: + data: + attributes: + created_at: '2024-01-15T10:30:00Z' + modified_at: '2024-01-15T10:30:00Z' + name: My Org Group + owner_org_site: us1 + owner_org_uuid: b2c3d4e5-f6a7-8901-bcde-f01234567890 + id: a1b2c3d4-e5f6-7890-abcd-ef0123456789 + type: org_groups schema: - $ref: '#/components/schemas/PermissionsResponse' + $ref: '#/components/schemas/OrgGroupResponse' description: OK + '400': + content: + application/json: + schema: + $ref: '#/components/schemas/JSONAPIErrorResponse' + description: Bad Request + '401': + content: + application/json: + schema: + $ref: '#/components/schemas/JSONAPIErrorResponse' + description: Unauthorized '403': content: application/json: schema: - $ref: '#/components/schemas/APIErrorResponse' - description: Authentication error + $ref: '#/components/schemas/JSONAPIErrorResponse' + description: Forbidden '404': content: application/json: schema: - $ref: '#/components/schemas/APIErrorResponse' - description: Not found + $ref: '#/components/schemas/JSONAPIErrorResponse' + description: Not Found '429': $ref: '#/components/responses/TooManyRequestsResponse' - security: - - apiKeyAuth: [] - appKeyAuth: [] - - AuthZ: - - user_access_read - summary: Get a user permissions + summary: Get an org group tags: - - Users - x-codegen-request-body-name: body + - Org Groups x-permission: operator: OR permissions: - - user_access_read - /api/v2/users/{user_uuid}/memberships: - get: - description: Get a list of memberships for a user - operationId: GetUserMemberships + - org_group_read + x-unstable: |- + **Note**: This endpoint is in preview and is subject to change. + If you have any feedback, contact [Datadog support](https://docs.datadoghq.com/help/). + patch: + description: Update the name of an existing organization group. + operationId: UpdateOrgGroup parameters: - - description: None - in: path - name: user_uuid - required: true - schema: - type: string + - $ref: '#/components/parameters/OrgGroupId' + requestBody: + content: + application/json: + examples: + default: + value: + data: + attributes: + name: Updated Org Group Name + id: a1b2c3d4-e5f6-7890-abcd-ef0123456789 + type: org_groups + schema: + $ref: '#/components/schemas/OrgGroupUpdateRequest' + required: true responses: '200': content: application/json: + examples: + default: + value: + data: + attributes: + created_at: '2024-01-15T10:30:00Z' + modified_at: '2024-01-16T14:00:00Z' + name: Updated Org Group Name + owner_org_site: us1 + owner_org_uuid: b2c3d4e5-f6a7-8901-bcde-f01234567890 + id: a1b2c3d4-e5f6-7890-abcd-ef0123456789 + type: org_groups schema: - $ref: '#/components/schemas/UserTeamsResponse' - description: Represents a user's association to a team - '404': + $ref: '#/components/schemas/OrgGroupResponse' + description: OK + '400': content: application/json: schema: - $ref: '#/components/schemas/APIErrorResponse' - description: API error response. - '429': + $ref: '#/components/schemas/JSONAPIErrorResponse' + description: Bad Request + '401': + content: + application/json: + schema: + $ref: '#/components/schemas/JSONAPIErrorResponse' + description: Unauthorized + '403': + content: + application/json: + schema: + $ref: '#/components/schemas/JSONAPIErrorResponse' + description: Forbidden + '404': + content: + application/json: + schema: + $ref: '#/components/schemas/JSONAPIErrorResponse' + description: Not Found + '429': + $ref: '#/components/responses/TooManyRequestsResponse' + summary: Update an org group + tags: + - Org Groups + x-permission: + operator: OR + permissions: + - org_group_write + x-unstable: |- + **Note**: This endpoint is in preview and is subject to change. + If you have any feedback, contact [Datadog support](https://docs.datadoghq.com/help/). + /api/v2/permissions: + get: + description: Returns a list of all permissions, including name, description, and ID. + operationId: ListPermissions + responses: + '200': + content: + application/json: + examples: + default: + value: + data: + - attributes: + description: Full access to all resources. + display_name: Admin + group_name: General + name: admin + restricted: false + id: 00000000-0000-0000-0000-000000000001 + type: permissions + schema: + $ref: '#/components/schemas/PermissionsResponse' + description: OK + '400': + content: + application/json: + schema: + $ref: '#/components/schemas/APIErrorResponse' + description: Bad Request + '403': + content: + application/json: + schema: + $ref: '#/components/schemas/APIErrorResponse' + description: Authentication error + '429': $ref: '#/components/responses/TooManyRequestsResponse' security: - apiKeyAuth: [] appKeyAuth: [] - AuthZ: - - teams_read - summary: Get user memberships + - user_access_read + summary: List permissions tags: - - Teams + - Roles x-permission: operator: OR permissions: - - teams_read -components: - schemas: - APIKeysResponse: - description: Response for a list of API keys. - properties: - data: - description: Array of API keys. - items: - $ref: '#/components/schemas/PartialAPIKey' - type: array - included: - description: Array of objects related to the API key. - items: - $ref: '#/components/schemas/APIKeyResponseIncludedItem' - type: array - meta: - $ref: '#/components/schemas/APIKeysResponseMeta' - type: object - APIErrorResponse: - description: API error response. - properties: - errors: - description: A list of errors. - example: - - Bad Request - items: - description: A list of items. - example: Bad Request - type: string - type: array - required: - - errors - type: object - APIKeyCreateRequest: - description: Request used to create an API key. - properties: - data: - $ref: '#/components/schemas/APIKeyCreateData' - required: - - data - type: object - APIKeyResponse: - description: Response for retrieving an API key. - properties: - data: - $ref: '#/components/schemas/FullAPIKey' - included: - description: Array of objects related to the API key. - items: - $ref: '#/components/schemas/APIKeyResponseIncludedItem' - type: array - type: object - APIKeyUpdateRequest: - description: Request used to update an API key. - properties: - data: - $ref: '#/components/schemas/APIKeyUpdateData' - required: - - data - type: object - ListApplicationKeysResponse: - description: Response for a list of application keys. - properties: - data: - description: Array of application keys. - items: - $ref: '#/components/schemas/PartialApplicationKey' - type: array - included: - description: Array of objects related to the application key. - items: - $ref: '#/components/schemas/ApplicationKeyResponseIncludedItem' - type: array - meta: - $ref: '#/components/schemas/ApplicationKeyResponseMeta' - type: object - ApplicationKeyResponse: - description: Response for retrieving an application key. - properties: - data: - $ref: '#/components/schemas/FullApplicationKey' - included: - description: Array of objects related to the application key. - items: - $ref: '#/components/schemas/ApplicationKeyResponseIncludedItem' - type: array - type: object - ApplicationKeyUpdateRequest: - description: Request used to update an application key. - properties: - data: - $ref: '#/components/schemas/ApplicationKeyUpdateData' - required: - - data - type: object - AuditLogsSort: - description: Sort parameters when querying events. - enum: - - timestamp - - '-timestamp' - type: string - x-enum-varnames: - - TIMESTAMP_ASCENDING - - TIMESTAMP_DESCENDING - AuditLogsEventsResponse: - description: >- - Response object with all events matching the request and pagination - information. - properties: - data: - description: Array of events matching the request. - items: - $ref: '#/components/schemas/AuditLogsEvent' - type: array - links: - $ref: '#/components/schemas/AuditLogsResponseLinks' - meta: - $ref: '#/components/schemas/AuditLogsResponseMetadata' - type: object - AuditLogsSearchEventsRequest: - description: The request for a Audit Logs events list. - properties: - filter: - $ref: '#/components/schemas/AuditLogsQueryFilter' - options: - $ref: '#/components/schemas/AuditLogsQueryOptions' - page: - $ref: '#/components/schemas/AuditLogsQueryPageOptions' - sort: - $ref: '#/components/schemas/AuditLogsSort' - type: object - AuthNMappingsSort: - description: Sorting options for AuthN Mappings. - enum: - - created_at - - '-created_at' - - role_id - - '-role_id' - - saml_assertion_attribute_id - - '-saml_assertion_attribute_id' - - role.name - - '-role.name' - - saml_assertion_attribute.attribute_key - - '-saml_assertion_attribute.attribute_key' - - saml_assertion_attribute.attribute_value - - '-saml_assertion_attribute.attribute_value' - type: string - x-enum-varnames: - - CREATED_AT_ASCENDING - - CREATED_AT_DESCENDING - - ROLE_ID_ASCENDING - - ROLE_ID_DESCENDING - - SAML_ASSERTION_ATTRIBUTE_ID_ASCENDING - - SAML_ASSERTION_ATTRIBUTE_ID_DESCENDING - - ROLE_NAME_ASCENDING - - ROLE_NAME_DESCENDING - - SAML_ASSERTION_ATTRIBUTE_KEY_ASCENDING - - SAML_ASSERTION_ATTRIBUTE_KEY_DESCENDING - - SAML_ASSERTION_ATTRIBUTE_VALUE_ASCENDING - - SAML_ASSERTION_ATTRIBUTE_VALUE_DESCENDING - AuthNMappingResourceType: - description: The type of resource being mapped to. - enum: - - role - - team - type: string - x-enum-varnames: - - ROLE - - TEAM - AuthNMappingsResponse: - description: Array of AuthN Mappings response. - properties: - data: - description: Array of returned AuthN Mappings. - items: - $ref: '#/components/schemas/AuthNMapping' - type: array - included: - description: Included data in the AuthN Mapping response. - items: - $ref: '#/components/schemas/AuthNMappingIncluded' - type: array - meta: - $ref: '#/components/schemas/ResponseMetaAttributes' - type: object - AuthNMappingCreateRequest: - description: Request for creating an AuthN Mapping. - properties: - data: - $ref: '#/components/schemas/AuthNMappingCreateData' - required: - - data - type: object - AuthNMappingResponse: - description: AuthN Mapping response from the API. - properties: - data: - $ref: '#/components/schemas/AuthNMapping' - included: - description: Included data in the AuthN Mapping response. - items: - $ref: '#/components/schemas/AuthNMappingIncluded' - type: array - type: object - AuthNMappingUpdateRequest: - description: Request to update an AuthN Mapping. + - user_access_read + /api/v2/personal_access_tokens: + get: + description: List all access tokens for the organization. + operationId: ListPersonalAccessTokens + parameters: + - $ref: '#/components/parameters/PageSize' + - $ref: '#/components/parameters/PageNumber' + - $ref: '#/components/parameters/PersonalAccessTokensSortParameter' + - $ref: '#/components/parameters/PersonalAccessTokensFilterParameter' + - $ref: '#/components/parameters/PersonalAccessTokensFilterOwnerIDParameter' + responses: + '200': + content: + application/json: + examples: + default: + value: + data: + - attributes: + created_at: '2024-01-01T00:00:00+00:00' + expires_at: '2025-12-31T23:59:59+00:00' + name: My Personal Access Token + public_portion: ddpat_abc123 + scopes: + - dashboards_read + id: 00000000-0000-0000-0000-000000000002 + type: personal_access_tokens + meta: + page: + total_filtered_count: 1 + schema: + $ref: '#/components/schemas/ListPersonalAccessTokensResponse' + description: OK + '400': + content: + application/json: + schema: + $ref: '#/components/schemas/APIErrorResponse' + description: Bad Request + '403': + content: + application/json: + schema: + $ref: '#/components/schemas/APIErrorResponse' + description: Forbidden + '429': + $ref: '#/components/responses/TooManyRequestsResponse' + summary: Get all access tokens + tags: + - Key Management + x-permission: + operator: OR + permissions: + - user_app_keys + - org_app_keys_read + post: + description: Create a personal access token for the current user. + operationId: CreatePersonalAccessToken + requestBody: + content: + application/json: + examples: + default: + value: + data: + attributes: + expires_at: '2025-12-31T23:59:59+00:00' + name: My Personal Access Token + scopes: + - dashboards_read + - dashboards_write + type: personal_access_tokens + schema: + $ref: '#/components/schemas/PersonalAccessTokenCreateRequest' + required: true + responses: + '201': + content: + application/json: + examples: + default: + value: + data: + attributes: + created_at: '2024-01-01T00:00:00+00:00' + expires_at: '2025-12-31T23:59:59+00:00' + key: + name: My Personal Access Token + public_portion: ddpat_abc123 + scopes: + - dashboards_read + id: 00000000-0000-0000-0000-000000000001 + type: personal_access_tokens + schema: + $ref: '#/components/schemas/PersonalAccessTokenCreateResponse' + description: Created + '400': + content: + application/json: + schema: + $ref: '#/components/schemas/APIErrorResponse' + description: Bad Request + '403': + content: + application/json: + schema: + $ref: '#/components/schemas/APIErrorResponse' + description: Forbidden + '429': + $ref: '#/components/responses/TooManyRequestsResponse' + summary: Create a personal access token + tags: + - Key Management + x-codegen-request-body-name: body + x-permission: + operator: OR + permissions: + - user_app_keys + /api/v2/personal_access_tokens/{token_id}: + delete: + description: Revoke a specific personal access token. + operationId: RevokePersonalAccessToken + parameters: + - $ref: '#/components/parameters/AccessTokenID' + responses: + '204': + description: No Content + '403': + content: + application/json: + schema: + $ref: '#/components/schemas/APIErrorResponse' + description: Forbidden + '404': + content: + application/json: + schema: + $ref: '#/components/schemas/APIErrorResponse' + description: Not Found + '429': + $ref: '#/components/responses/TooManyRequestsResponse' + summary: Revoke a personal access token + tags: + - Key Management + x-permission: + operator: OR + permissions: + - user_app_keys + - org_app_keys_write + get: + description: Get a specific personal access token by its ID. + operationId: GetPersonalAccessToken + parameters: + - $ref: '#/components/parameters/AccessTokenID' + responses: + '200': + content: + application/json: + examples: + default: + value: + data: + attributes: + created_at: '2024-01-01T00:00:00+00:00' + expires_at: '2025-12-31T23:59:59+00:00' + name: My Personal Access Token + public_portion: ddpat_abc123 + scopes: + - dashboards_read + id: 00000000-0000-0000-0000-000000000003 + type: personal_access_tokens + schema: + $ref: '#/components/schemas/PersonalAccessTokenResponse' + description: OK + '403': + content: + application/json: + schema: + $ref: '#/components/schemas/APIErrorResponse' + description: Forbidden + '404': + content: + application/json: + schema: + $ref: '#/components/schemas/APIErrorResponse' + description: Not Found + '429': + $ref: '#/components/responses/TooManyRequestsResponse' + summary: Get a personal access token + tags: + - Key Management + x-permission: + operator: OR + permissions: + - user_app_keys + - org_app_keys_read + patch: + description: Update a specific personal access token. + operationId: UpdatePersonalAccessToken + parameters: + - $ref: '#/components/parameters/AccessTokenID' + requestBody: + content: + application/json: + examples: + default: + value: + data: + attributes: + name: Updated Personal Access Token + scopes: + - dashboards_read + - dashboards_write + id: 00112233-4455-6677-8899-aabbccddeeff + type: personal_access_tokens + schema: + $ref: '#/components/schemas/PersonalAccessTokenUpdateRequest' + required: true + responses: + '200': + content: + application/json: + examples: + default: + value: + data: + attributes: + created_at: '2024-01-01T00:00:00+00:00' + expires_at: '2025-12-31T23:59:59+00:00' + name: My Personal Access Token + public_portion: ddpat_abc123 + scopes: + - dashboards_read + id: 00000000-0000-0000-0000-000000000004 + type: personal_access_tokens + schema: + $ref: '#/components/schemas/PersonalAccessTokenResponse' + description: OK + '400': + content: + application/json: + schema: + $ref: '#/components/schemas/APIErrorResponse' + description: Bad Request + '403': + content: + application/json: + schema: + $ref: '#/components/schemas/APIErrorResponse' + description: Forbidden + '404': + content: + application/json: + schema: + $ref: '#/components/schemas/APIErrorResponse' + description: Not Found + '429': + $ref: '#/components/responses/TooManyRequestsResponse' + summary: Update a personal access token + tags: + - Key Management + x-codegen-request-body-name: body + x-permission: + operator: OR + permissions: + - user_app_keys + - org_app_keys_write + /api/v2/restriction_policy/{resource_id}: + delete: + description: Deletes the restriction policy associated with a specified resource. + operationId: DeleteRestrictionPolicy + parameters: + - $ref: '#/components/parameters/ResourceID' + responses: + '204': + description: No Content + '400': + $ref: '#/components/responses/BadRequestResponse' + '403': + $ref: '#/components/responses/NotAuthorizedResponse' + '429': + $ref: '#/components/responses/TooManyRequestsResponse' + security: + - apiKeyAuth: [] + appKeyAuth: [] + - AuthZ: [] + summary: Delete a restriction policy + tags: + - Restriction Policies + x-permission: + operator: OPEN + permissions: [] + get: + description: Retrieves the restriction policy associated with a specified resource. + operationId: GetRestrictionPolicy + parameters: + - $ref: '#/components/parameters/ResourceID' + responses: + '200': + content: + application/json: + examples: + default: + value: + data: + attributes: + bindings: + - principals: + - role:00000000-0000-1111-0000-000000000000 + relation: editor + id: dashboard:abc-def-ghi + type: restriction_policy + schema: + $ref: '#/components/schemas/RestrictionPolicyResponse' + description: OK + '400': + $ref: '#/components/responses/BadRequestResponse' + '403': + $ref: '#/components/responses/NotAuthorizedResponse' + '429': + $ref: '#/components/responses/TooManyRequestsResponse' + security: + - apiKeyAuth: [] + appKeyAuth: [] + - AuthZ: [] + summary: Get a restriction policy + tags: + - Restriction Policies + x-permission: + operator: OPEN + permissions: [] + post: + description: |- + Updates the restriction policy associated with a resource. + + #### Supported resources + Restriction policies can be applied to the following resources: + - Dashboards: `dashboard` + - Integration Services: `integration-service` + - Integration Webhooks: `integration-webhook` + - Notebooks: `notebook` + - Powerpacks: `powerpack` + - Reference Tables: `reference-table` + - Security Rules: `security-rule` + - Service Level Objectives: `slo` + - Synthetic Global Variables: `synthetics-global-variable` + - Synthetic Tests: `synthetics-test` + - Synthetic Private Locations: `synthetics-private-location` + - Monitors: `monitor` + - Workflows: `workflow` + - App Builder Apps: `app-builder-app` + - Connections: `connection` + - Connection Groups: `connection-group` + - RUM Applications: `rum-application` + - Cross Org Connections: `cross-org-connection` + - Spreadsheets: `spreadsheet` + - On-Call Schedules: `on-call-schedule` + - On-Call Escalation Policies: `on-call-escalation-policy` + - On-Call Team Routing Rules: `on-call-team-routing-rules` + - Logs Pipelines: `logs-pipeline` + - Case Management Projects: `case-management-project` + - Monitor Notification Rules: `monitor-notification-rule` + - Status Pages: `status-page` + - Feature Flags: `feature-flag` + + #### Supported relations for resources + Resource Type | Supported Relations + ----------------------------|-------------------------- + Dashboards | `viewer`, `editor` + Integration Services | `viewer`, `editor` + Integration Webhooks | `viewer`, `editor` + Notebooks | `viewer`, `editor` + Powerpacks | `viewer`, `editor` + Security Rules | `viewer`, `editor` + Service Level Objectives | `viewer`, `editor` + Synthetic Global Variables | `viewer`, `editor` + Synthetic Tests | `viewer`, `editor` + Synthetic Private Locations | `viewer`, `editor` + Monitors | `viewer`, `editor` + Reference Tables | `viewer`, `editor` + Workflows | `viewer`, `runner`, `editor` + App Builder Apps | `viewer`, `editor` + Connections | `viewer`, `resolver`, `editor` + Connection Groups | `viewer`, `editor` + RUM Application | `viewer`, `editor` + Cross Org Connections | `viewer`, `editor` + Spreadsheets | `viewer`, `editor` + On-Call Schedules | `viewer`, `overrider`, `editor` + On-Call Escalation Policies | `viewer`, `editor` + On-Call Team Routing Rules | `viewer`, `editor` + Logs Pipelines | `viewer`, `processors_editor`, `editor` + Case Management Projects | `viewer`, `contributor`, `manager` + Monitor Notification Rules | `viewer`, `editor` + Status Pages | `viewer`, `responder`, `manager` + Feature Flags | `viewer`, `contributor`, `editor` + operationId: UpdateRestrictionPolicy + parameters: + - $ref: '#/components/parameters/ResourceID' + - description: Allows admins (users with the `user_access_manage` permission) to remove their own access from the resource if set to `true`. By default, this is set to `false`, preventing admins from locking themselves out. + in: query + name: allow_self_lockout + required: false + schema: + type: boolean + requestBody: + content: + application/json: + examples: + default: + value: + data: + attributes: + bindings: + - principals: + - user:4dee724d-00cc-11ea-a77b-570c9d03c6c5 + relation: editor + id: dashboard:abc-def-ghi + type: restriction_policy + schema: + $ref: '#/components/schemas/RestrictionPolicyUpdateRequest' + description: Restriction policy payload + required: true + responses: + '200': + content: + application/json: + examples: + default: + value: + data: + attributes: + bindings: + - principals: + - role:00000000-0000-1111-0000-000000000000 + relation: editor + id: dashboard:abc-def-ghi + type: restriction_policy + schema: + $ref: '#/components/schemas/RestrictionPolicyResponse' + description: OK + '400': + $ref: '#/components/responses/BadRequestResponse' + '403': + $ref: '#/components/responses/NotAuthorizedResponse' + '429': + $ref: '#/components/responses/TooManyRequestsResponse' + security: + - apiKeyAuth: [] + appKeyAuth: [] + - AuthZ: [] + summary: Update a restriction policy + tags: + - Restriction Policies + x-codegen-request-body-name: body + x-permission: + operator: OPEN + permissions: [] + /api/v2/roles: + get: + description: Returns all roles, including their names and their unique identifiers. + operationId: ListRoles + parameters: + - $ref: '#/components/parameters/PageSize' + - $ref: '#/components/parameters/PageNumber' + - description: |- + Sort roles depending on the given field. Sort order is **ascending** by default. + Sort order is **descending** if the field is prefixed by a negative sign, for example: + `sort=-name`. + in: query + name: sort + required: false + schema: + $ref: '#/components/schemas/RolesSort' + - description: Filter all roles by the given string. + in: query + name: filter + required: false + schema: + type: string + - description: Filter all roles by the given list of role IDs. + in: query + name: filter[id] + required: false + schema: + type: string + responses: + '200': + content: + application/json: + examples: + default: + value: + data: + - attributes: + name: developers + id: 00000000-0000-0000-0000-000000000001 + type: roles + meta: + page: + total_count: 1 + total_filtered_count: 1 + schema: + $ref: '#/components/schemas/RolesResponse' + description: OK + '403': + content: + application/json: + schema: + $ref: '#/components/schemas/APIErrorResponse' + description: Authentication error + '429': + $ref: '#/components/responses/TooManyRequestsResponse' + security: + - apiKeyAuth: [] + appKeyAuth: [] + - AuthZ: + - user_access_read + summary: List roles + tags: + - Roles + x-permission: + operator: OR + permissions: + - user_access_read + post: + description: |- + Create a new role for your organization. + + The following read permissions are automatically added to every new role, even if they are not included in the request: + + - Dashboards Read + - Notebooks Read + - Monitors Read + - APM Read + - Vulnerability Management Read + - RUM Apps Read + - Incidents Read + - SLOs Read + - CI Visibility Read + - CD Visibility Read + operationId: CreateRole + requestBody: + content: + application/json: + examples: + default: + value: + data: + attributes: + name: developers + type: roles + schema: + $ref: '#/components/schemas/RoleCreateRequest' + required: true + responses: + '200': + content: + application/json: + examples: + default: + value: + data: + attributes: + name: developers + id: 00000000-0000-0000-0000-000000000002 + type: roles + schema: + $ref: '#/components/schemas/RoleCreateResponse' + description: OK + '400': + content: + application/json: + schema: + $ref: '#/components/schemas/APIErrorResponse' + description: Bad Request + '403': + content: + application/json: + schema: + $ref: '#/components/schemas/APIErrorResponse' + description: Authentication error + '429': + $ref: '#/components/responses/TooManyRequestsResponse' + security: + - apiKeyAuth: [] + appKeyAuth: [] + - AuthZ: + - user_access_manage + summary: Create role + tags: + - Roles + x-codegen-request-body-name: body + x-permission: + operator: OR + permissions: + - user_access_manage + /api/v2/roles/templates: + get: + description: List all role templates + operationId: ListRoleTemplates + responses: + '200': + content: + application/json: + examples: + default: + value: + data: + - attributes: + name: Datadog Standard Role + id: 00000000-0000-0000-0000-000000000012 + type: roles + schema: + $ref: '#/components/schemas/RoleTemplateArray' + description: OK + '429': + $ref: '#/components/responses/TooManyRequestsResponse' + security: + - apiKeyAuth: [] + appKeyAuth: [] + - AuthZ: + - user_access_read + summary: List role templates + tags: + - Roles + x-unstable: '**Note**: This endpoint may be subject to changes.' + /api/v2/roles/{role_id}: + delete: + description: Disables a role. + operationId: DeleteRole + parameters: + - $ref: '#/components/parameters/RoleID' + responses: + '204': + description: OK + '403': + content: + application/json: + schema: + $ref: '#/components/schemas/APIErrorResponse' + description: Authentication error + '404': + content: + application/json: + schema: + $ref: '#/components/schemas/APIErrorResponse' + description: Not found + '429': + $ref: '#/components/responses/TooManyRequestsResponse' + security: + - apiKeyAuth: [] + appKeyAuth: [] + - AuthZ: + - user_access_manage + summary: Delete role + tags: + - Roles + x-codegen-request-body-name: body + get: + description: Get a role in the organization specified by the role’s `role_id`. + operationId: GetRole + parameters: + - $ref: '#/components/parameters/RoleID' + responses: + '200': + content: + application/json: + examples: + default: + value: + data: + attributes: + name: developers + id: 00000000-0000-0000-0000-000000000003 + type: roles + schema: + $ref: '#/components/schemas/RoleResponse' + description: OK + '403': + content: + application/json: + schema: + $ref: '#/components/schemas/APIErrorResponse' + description: Authentication error + '404': + content: + application/json: + schema: + $ref: '#/components/schemas/APIErrorResponse' + description: Not found + '429': + $ref: '#/components/responses/TooManyRequestsResponse' + security: + - apiKeyAuth: [] + appKeyAuth: [] + - AuthZ: + - user_access_read + summary: Get a role + tags: + - Roles + x-codegen-request-body-name: body + patch: + description: Edit a role. Can only be used with application keys belonging to administrators. + operationId: UpdateRole + parameters: + - $ref: '#/components/parameters/RoleID' + requestBody: + content: + application/json: + examples: + default: + value: + data: + attributes: + name: updated-role-name + id: 00000000-0000-1111-0000-000000000000 + type: roles + schema: + $ref: '#/components/schemas/RoleUpdateRequest' + required: true + responses: + '200': + content: + application/json: + examples: + default: + value: + data: + attributes: + name: developers + id: 00000000-0000-0000-0000-000000000004 + type: roles + schema: + $ref: '#/components/schemas/RoleUpdateResponse' + description: OK + '400': + content: + application/json: + schema: + $ref: '#/components/schemas/APIErrorResponse' + description: Bad Request + '403': + content: + application/json: + schema: + $ref: '#/components/schemas/APIErrorResponse' + description: Authentication error + '404': + content: + application/json: + schema: + $ref: '#/components/schemas/APIErrorResponse' + description: Not found + '422': + content: + application/json: + schema: + $ref: '#/components/schemas/APIErrorResponse' + description: Unprocessable Entity + '429': + $ref: '#/components/responses/TooManyRequestsResponse' + security: + - apiKeyAuth: [] + appKeyAuth: [] + - AuthZ: + - user_access_manage + summary: Update a role + tags: + - Roles + x-codegen-request-body-name: body + x-permission: + operator: OR + permissions: + - user_access_manage + /api/v2/roles/{role_id}/clone: + post: + description: Clone an existing role + operationId: CloneRole + parameters: + - $ref: '#/components/parameters/RoleID' + requestBody: + content: + application/json: + examples: + default: + value: + data: + attributes: + name: cloned-role + type: roles + schema: + $ref: '#/components/schemas/RoleCloneRequest' + required: true + responses: + '200': + content: + application/json: + examples: + default: + value: + data: + attributes: + name: developers + id: 00000000-0000-0000-0000-000000000011 + type: roles + schema: + $ref: '#/components/schemas/RoleResponse' + description: OK + '400': + content: + application/json: + schema: + $ref: '#/components/schemas/APIErrorResponse' + description: Bad Request + '403': + content: + application/json: + schema: + $ref: '#/components/schemas/APIErrorResponse' + description: Authentication error + '404': + content: + application/json: + schema: + $ref: '#/components/schemas/APIErrorResponse' + description: Not found + '409': + content: + application/json: + schema: + $ref: '#/components/schemas/APIErrorResponse' + description: Conflict + '429': + $ref: '#/components/responses/TooManyRequestsResponse' + security: + - apiKeyAuth: [] + appKeyAuth: [] + - AuthZ: + - user_access_manage + summary: Create a new role by cloning an existing role + tags: + - Roles + x-codegen-request-body-name: body + x-permission: + operator: OR + permissions: + - user_access_manage + /api/v2/roles/{role_id}/permissions: + delete: + description: Removes a permission from a role. + operationId: RemovePermissionFromRole + parameters: + - $ref: '#/components/parameters/RoleID' + requestBody: + content: + application/json: + examples: + default: + value: + data: + id: 6f66600e-dd12-11e8-9e55-7f30fbb45e73 + type: permissions + schema: + $ref: '#/components/schemas/RelationshipToPermission' + required: true + responses: + '200': + content: + application/json: + examples: + default: + value: + data: + - attributes: + name: logs_read_data + id: 00000000-0000-0000-0000-000000000007 + type: permissions + schema: + $ref: '#/components/schemas/PermissionsResponse' + description: OK + '400': + content: + application/json: + schema: + $ref: '#/components/schemas/APIErrorResponse' + description: Bad Request + '403': + content: + application/json: + schema: + $ref: '#/components/schemas/APIErrorResponse' + description: Authentication error + '404': + content: + application/json: + schema: + $ref: '#/components/schemas/APIErrorResponse' + description: Not found + '429': + $ref: '#/components/responses/TooManyRequestsResponse' + security: + - apiKeyAuth: [] + appKeyAuth: [] + - AuthZ: + - user_access_manage + summary: Revoke permission + tags: + - Roles + x-codegen-request-body-name: body + x-permission: + operator: OR + permissions: + - user_access_manage + get: + description: Returns a list of all permissions for a single role. + operationId: ListRolePermissions + parameters: + - $ref: '#/components/parameters/RoleID' + responses: + '200': + content: + application/json: + examples: + default: + value: + data: + - attributes: + name: logs_read_data + id: 00000000-0000-0000-0000-000000000005 + type: permissions + schema: + $ref: '#/components/schemas/PermissionsResponse' + description: OK + '403': + content: + application/json: + schema: + $ref: '#/components/schemas/APIErrorResponse' + description: Authentication error + '404': + content: + application/json: + schema: + $ref: '#/components/schemas/APIErrorResponse' + description: Not found + '429': + $ref: '#/components/responses/TooManyRequestsResponse' + security: + - apiKeyAuth: [] + appKeyAuth: [] + - AuthZ: + - user_access_read + summary: List permissions for a role + tags: + - Roles + x-codegen-request-body-name: body + post: + description: Adds a permission to a role. + operationId: AddPermissionToRole + parameters: + - $ref: '#/components/parameters/RoleID' + requestBody: + content: + application/json: + examples: + default: + value: + data: + id: 6f66600e-dd12-11e8-9e55-7f30fbb45e73 + type: permissions + schema: + $ref: '#/components/schemas/RelationshipToPermission' + required: true + responses: + '200': + content: + application/json: + examples: + default: + value: + data: + - attributes: + name: logs_read_data + id: 00000000-0000-0000-0000-000000000006 + type: permissions + schema: + $ref: '#/components/schemas/PermissionsResponse' + description: OK + '400': + content: + application/json: + schema: + $ref: '#/components/schemas/APIErrorResponse' + description: Bad Request + '403': + content: + application/json: + schema: + $ref: '#/components/schemas/APIErrorResponse' + description: Authentication error + '404': + content: + application/json: + schema: + $ref: '#/components/schemas/APIErrorResponse' + description: Not found + '429': + $ref: '#/components/responses/TooManyRequestsResponse' + security: + - apiKeyAuth: [] + appKeyAuth: [] + - AuthZ: + - user_access_manage + summary: Grant permission to a role + tags: + - Roles + x-codegen-request-body-name: body + x-permission: + operator: OR + permissions: + - user_access_manage + /api/v2/roles/{role_id}/users: + delete: + description: Removes a user from a role. + operationId: RemoveUserFromRole + parameters: + - $ref: '#/components/parameters/RoleID' + requestBody: + content: + application/json: + examples: + default: + value: + data: + id: 00000000-0000-0000-2345-000000000000 + type: users + schema: + $ref: '#/components/schemas/RelationshipToUser' + required: true + responses: + '200': + content: + application/json: + examples: + default: + value: + data: + - attributes: + email: test@example.com + name: Example Name + id: 00000000-0000-0000-0000-000000000010 + type: users + schema: + $ref: '#/components/schemas/UsersResponse' + description: OK + '400': + content: + application/json: + schema: + $ref: '#/components/schemas/APIErrorResponse' + description: Bad Request + '403': + content: + application/json: + schema: + $ref: '#/components/schemas/APIErrorResponse' + description: Authentication error + '404': + content: + application/json: + schema: + $ref: '#/components/schemas/APIErrorResponse' + description: Not found + '429': + $ref: '#/components/responses/TooManyRequestsResponse' + security: + - apiKeyAuth: [] + appKeyAuth: [] + - AuthZ: + - user_access_manage + summary: Remove a user from a role + tags: + - Roles + x-codegen-request-body-name: body + x-permission: + operator: OR + permissions: + - user_access_manage + get: + description: Gets all users of a role. + operationId: ListRoleUsers + parameters: + - $ref: '#/components/parameters/RoleID' + - $ref: '#/components/parameters/PageSize' + - $ref: '#/components/parameters/PageNumber' + - description: |- + User attribute to order results by. Sort order is **ascending** by default. + Sort order is **descending** if the field is prefixed by a negative sign, + for example `sort=-name`. Options: `name`, `email`, `status`. + in: query + name: sort + required: false + schema: + default: name + type: string + - description: Filter all users by the given string. Defaults to no filtering. + in: query + name: filter + required: false + schema: + type: string + responses: + '200': + content: + application/json: + examples: + default: + value: + data: + - attributes: + email: test@example.com + name: Example Name + id: 00000000-0000-0000-0000-000000000008 + type: users + schema: + $ref: '#/components/schemas/UsersResponse' + description: OK + '403': + content: + application/json: + schema: + $ref: '#/components/schemas/APIErrorResponse' + description: Authentication error + '404': + content: + application/json: + schema: + $ref: '#/components/schemas/APIErrorResponse' + description: Not found + '429': + $ref: '#/components/responses/TooManyRequestsResponse' + security: + - apiKeyAuth: [] + appKeyAuth: [] + - AuthZ: + - user_access_read + summary: Get all users of a role + tags: + - Roles + post: + description: Adds a user to a role. + operationId: AddUserToRole + parameters: + - $ref: '#/components/parameters/RoleID' + requestBody: + content: + application/json: + examples: + default: + value: + data: + id: 00000000-0000-0000-2345-000000000000 + type: users + schema: + $ref: '#/components/schemas/RelationshipToUser' + required: true + responses: + '200': + content: + application/json: + examples: + default: + value: + data: + - attributes: + email: test@example.com + name: Example Name + id: 00000000-0000-0000-0000-000000000009 + type: users + schema: + $ref: '#/components/schemas/UsersResponse' + description: OK + '400': + content: + application/json: + schema: + $ref: '#/components/schemas/APIErrorResponse' + description: Bad Request + '403': + content: + application/json: + schema: + $ref: '#/components/schemas/APIErrorResponse' + description: Authentication error + '404': + content: + application/json: + schema: + $ref: '#/components/schemas/APIErrorResponse' + description: Not found + '429': + $ref: '#/components/responses/TooManyRequestsResponse' + security: + - apiKeyAuth: [] + appKeyAuth: [] + - AuthZ: + - user_access_manage + summary: Add a user to a role + tags: + - Roles + x-codegen-request-body-name: body + x-permission: + operator: OR + permissions: + - user_access_manage + /api/v2/saml_configurations: + get: + description: Get the list of SAML configurations for the current organization. An organization has at most one SAML configuration. + operationId: ListSAMLConfigurations + responses: + '200': + content: + application/json: + examples: + default: + value: + data: + - attributes: + assertion_consumer_service: + - https://app.datadoghq.com/account/saml/assertion + entity_id: https://app.datadoghq.com/account/saml/metadata.xml?id=00000000-0000-0000-0000-000000000000 + expires_at: '2010-10-26T13:31:15+00:00' + idp_initiated: true + jit_domains: + - example.com + sso_url: https://app.datadoghq.com/account/login/id/00000000-0000-0000-0000-000000000000 + id: 3653d3c6-0c75-11ea-ad28-fb5701eabc7d + relationships: + default_roles: + data: + - id: 8dd1cf3c-0c75-11ea-ad28-fb5701eabc7d + type: roles + type: saml_configurations + included: + - attributes: + name: Datadog Standard Role + id: 8dd1cf3c-0c75-11ea-ad28-fb5701eabc7d + type: roles + schema: + $ref: '#/components/schemas/SAMLConfigurationsResponse' + description: OK + '403': + content: + application/json: + schema: + $ref: '#/components/schemas/APIErrorResponse' + description: Authentication Error + '429': + $ref: '#/components/responses/TooManyRequestsResponse' + summary: List SAML configurations + tags: + - Organizations + x-permission: + operator: OR + permissions: + - org_management + /api/v2/saml_configurations/idp_metadata: + post: + description: |- + Endpoint for uploading IdP metadata for SAML setup. + + Use this endpoint to upload or replace IdP metadata for SAML login configuration. + operationId: UploadIdPMetadata + requestBody: + content: + multipart/form-data: + examples: + default: + value: {} + schema: + $ref: '#/components/schemas/IdPMetadataFormData' + required: true + responses: + '200': + description: OK + '400': + content: + application/json: + schema: + $ref: '#/components/schemas/APIErrorResponse' + description: Bad Request + '403': + content: + application/json: + schema: + $ref: '#/components/schemas/APIErrorResponse' + description: Forbidden + '429': + $ref: '#/components/responses/TooManyRequestsResponse' + summary: Upload IdP metadata + tags: + - Organizations + x-codegen-request-body-name: body + x-permission: + operator: OR + permissions: + - org_management + /api/v2/saml_configurations/{saml_config_uuid}: + get: + description: Get a single SAML configuration for the current organization by its UUID. + operationId: GetSAMLConfiguration + parameters: + - $ref: '#/components/parameters/SAMLConfigurationUUIDPathParameter' + responses: + '200': + content: + application/json: + examples: + default: + value: + data: + attributes: + assertion_consumer_service: + - https://app.datadoghq.com/account/saml/assertion + entity_id: https://app.datadoghq.com/account/saml/metadata.xml?id=00000000-0000-0000-0000-000000000000 + expires_at: '2010-10-26T13:31:15+00:00' + idp_initiated: true + jit_domains: + - example.com + sso_url: https://app.datadoghq.com/account/login/id/00000000-0000-0000-0000-000000000000 + id: 3653d3c6-0c75-11ea-ad28-fb5701eabc7d + relationships: + default_roles: + data: + - id: 8dd1cf3c-0c75-11ea-ad28-fb5701eabc7d + type: roles + type: saml_configurations + included: + - attributes: + name: Datadog Standard Role + id: 8dd1cf3c-0c75-11ea-ad28-fb5701eabc7d + type: roles + schema: + $ref: '#/components/schemas/SAMLConfigurationResponse' + description: OK + '403': + content: + application/json: + schema: + $ref: '#/components/schemas/APIErrorResponse' + description: Authentication Error + '404': + content: + application/json: + schema: + $ref: '#/components/schemas/APIErrorResponse' + description: Not Found + '429': + $ref: '#/components/responses/TooManyRequestsResponse' + summary: Get a SAML configuration + tags: + - Organizations + x-permission: + operator: OR + permissions: + - org_management + patch: + description: |- + Update a single SAML configuration for the current organization. + + Use this endpoint to enable or disable identity-provider-initiated login, set the + just-in-time provisioning domains, and set the default role assigned to + just-in-time provisioned users. A default role is required to enable just-in-time provisioning. + operationId: UpdateSAMLConfiguration + parameters: + - $ref: '#/components/parameters/SAMLConfigurationUUIDPathParameter' + requestBody: + content: + application/json: + examples: + default: + value: + data: + attributes: + idp_initiated: true + jit_domains: + - example.com + id: 3653d3c6-0c75-11ea-ad28-fb5701eabc7d + relationships: + default_roles: + data: + - id: 8dd1cf3c-0c75-11ea-ad28-fb5701eabc7d + type: roles + type: saml_configurations + schema: + $ref: '#/components/schemas/SAMLConfigurationUpdateRequest' + required: true + responses: + '200': + content: + application/json: + examples: + default: + value: + data: + attributes: + assertion_consumer_service: + - https://app.datadoghq.com/account/saml/assertion + entity_id: https://app.datadoghq.com/account/saml/metadata.xml?id=00000000-0000-0000-0000-000000000000 + expires_at: '2010-10-26T13:31:15+00:00' + idp_initiated: true + jit_domains: + - example.com + sso_url: https://app.datadoghq.com/account/login/id/00000000-0000-0000-0000-000000000000 + id: 3653d3c6-0c75-11ea-ad28-fb5701eabc7d + relationships: + default_roles: + data: + - id: 8dd1cf3c-0c75-11ea-ad28-fb5701eabc7d + type: roles + type: saml_configurations + included: + - attributes: + name: Datadog Standard Role + id: 8dd1cf3c-0c75-11ea-ad28-fb5701eabc7d + type: roles + schema: + $ref: '#/components/schemas/SAMLConfigurationResponse' + description: OK + '400': + content: + application/json: + schema: + $ref: '#/components/schemas/APIErrorResponse' + description: Bad Request + '403': + content: + application/json: + schema: + $ref: '#/components/schemas/APIErrorResponse' + description: Authentication Error + '404': + content: + application/json: + schema: + $ref: '#/components/schemas/APIErrorResponse' + description: Not Found + '422': + content: + application/json: + schema: + $ref: '#/components/schemas/APIErrorResponse' + description: Unprocessable Entity + '429': + $ref: '#/components/responses/TooManyRequestsResponse' + summary: Update a SAML configuration + tags: + - Organizations + x-codegen-request-body-name: body + x-permission: + operator: OR + permissions: + - org_management + /api/v2/seats/users: + delete: + description: Unassign seats from users for a product code. + operationId: UnassignSeatsUser + requestBody: + content: + application/json: + examples: + default: + value: + data: + attributes: + product_code: '' + user_uuids: + - 626a4e8e-64bd-409d-b80e-428f08ac0b62 + type: seat-assignments + schema: + $ref: '#/components/schemas/UnassignSeatsUserRequest' + required: true + responses: + '204': + description: No Content + '400': + $ref: '#/components/responses/BadRequestResponse' + '422': + content: + application/json: + schema: + $ref: '#/components/schemas/APIErrorResponse' + description: Unprocessable Entity + '429': + $ref: '#/components/responses/TooManyRequestsResponse' + summary: Unassign seats from users + tags: + - Seats + x-permission: + operator: OR + permissions: + - billing_edit + - incident_write + - on_call_write + get: + description: Get the list of users assigned seats for a product code. + operationId: GetSeatsUsers + parameters: + - description: The product code for which to retrieve seat users. + in: query + name: product_code + required: true + schema: + type: string + - description: Maximum number of results to return. + in: query + name: page[limit] + required: false + schema: + format: int64 + type: integer + - description: Cursor for pagination. + in: query + name: page[cursor] + required: false + schema: + type: string + responses: + '200': + content: + application/json: + examples: + default: + value: + data: + - attributes: + assigned_at: '2024-01-01T00:00:00+00:00' + email: test@example.com + name: Example Name + id: 00000000-0000-0000-0000-000000000001 + type: seat-users + schema: + $ref: '#/components/schemas/SeatUserDataArray' + description: OK + '400': + $ref: '#/components/responses/BadRequestResponse' + '422': + content: + application/json: + schema: + $ref: '#/components/schemas/APIErrorResponse' + description: Unprocessable Entity + '429': + $ref: '#/components/responses/TooManyRequestsResponse' + summary: Get users with seats + tags: + - Seats + x-permission: + operator: OR + permissions: + - billing_read + - incident_read + - on_call_read + post: + description: Assign seats to users for a product code. + operationId: AssignSeatsUser + requestBody: + content: + application/json: + examples: + default: + value: + data: + attributes: + product_code: '' + user_uuids: + - '' + type: seat-assignments + schema: + $ref: '#/components/schemas/AssignSeatsUserRequest' + required: true + responses: + '201': + content: + application/json: + examples: + default: + value: + data: + attributes: + assigned_ids: + - abc-123 + product_code: example-product + id: 00000000-0000-0000-0000-000000000002 + type: seat-assignments + schema: + $ref: '#/components/schemas/AssignSeatsUserResponse' + description: Created + '400': + $ref: '#/components/responses/BadRequestResponse' + '422': + content: + application/json: + schema: + $ref: '#/components/schemas/APIErrorResponse' + description: Unprocessable Entity + '429': + $ref: '#/components/responses/TooManyRequestsResponse' + summary: Assign seats to users + tags: + - Seats + x-permission: + operator: OR + permissions: + - billing_edit + - incident_write + - on_call_write + /api/v2/service_accounts: + post: + description: Create a service account for your organization. + operationId: CreateServiceAccount + requestBody: + content: + application/json: + examples: + default: + value: + data: + attributes: + email: jane.doe@example.com + service_account: true + relationships: + roles: + data: + - id: 3653d3c6-0c75-11ea-ad28-fb5701eabc7d + type: users + schema: + $ref: '#/components/schemas/ServiceAccountCreateRequest' + required: true + responses: + '201': + content: + application/json: + examples: + default: + value: + data: + attributes: + email: test@example.com + service_account: true + id: 00000000-0000-0000-0000-000000000001 + type: users + schema: + $ref: '#/components/schemas/UserResponse' + description: OK + '400': + content: + application/json: + schema: + $ref: '#/components/schemas/APIErrorResponse' + description: Bad Request + '403': + content: + application/json: + schema: + $ref: '#/components/schemas/APIErrorResponse' + description: Authentication error + '429': + $ref: '#/components/responses/TooManyRequestsResponse' + summary: Create a service account + tags: + - Service Accounts + x-codegen-request-body-name: body + x-permission: + operator: OR + permissions: + - service_account_write + /api/v2/service_accounts/{service_account_id}/access_tokens: + get: + description: List all access tokens for a specific service account. + operationId: ListServiceAccountAccessTokens + parameters: + - $ref: '#/components/parameters/ServiceAccountID' + - $ref: '#/components/parameters/PageSize' + - $ref: '#/components/parameters/PageNumber' + - $ref: '#/components/parameters/PersonalAccessTokensSortParameter' + - $ref: '#/components/parameters/PersonalAccessTokensFilterParameter' + responses: + '200': + content: + application/json: + examples: + default: + value: + data: + - attributes: + created_at: '2024-01-01T00:00:00+00:00' + expires_at: '2025-12-31T23:59:59+00:00' + name: My Service Access Token + public_portion: ddsat_abc123 + scopes: + - dashboards_read + id: 00000000-0000-0000-0000-000000000005 + type: service_access_tokens + meta: + page: + total_filtered_count: 1 + schema: + $ref: '#/components/schemas/ListServiceAccessTokensResponse' + description: OK + '400': + content: + application/json: + schema: + $ref: '#/components/schemas/APIErrorResponse' + description: Bad Request + '403': + content: + application/json: + schema: + $ref: '#/components/schemas/APIErrorResponse' + description: Forbidden + '404': + content: + application/json: + schema: + $ref: '#/components/schemas/APIErrorResponse' + description: Not Found + '429': + $ref: '#/components/responses/TooManyRequestsResponse' + summary: List access tokens for a service account + tags: + - Service Accounts + x-permission: + operator: OR + permissions: + - service_account_write + post: + description: Create an access token for a service account. + operationId: CreateServiceAccountAccessToken + parameters: + - $ref: '#/components/parameters/ServiceAccountID' + requestBody: + content: + application/json: + examples: + default: + value: + data: + attributes: + name: Service Account Access Token + scopes: + - dashboards_read + - dashboards_write + type: service_access_tokens + schema: + $ref: '#/components/schemas/ServiceAccountAccessTokenCreateRequest' + required: true + responses: + '201': + content: + application/json: + examples: + default: + value: + data: + attributes: + created_at: '2024-01-01T00:00:00+00:00' + expires_at: '2025-12-31T23:59:59+00:00' + key: + name: My Service Access Token + public_portion: ddsat_abc123 + scopes: + - dashboards_read + id: 00000000-0000-0000-0000-000000000006 + type: service_access_tokens + schema: + $ref: '#/components/schemas/ServiceAccessTokenCreateResponse' + description: Created + '400': + content: + application/json: + schema: + $ref: '#/components/schemas/APIErrorResponse' + description: Bad Request + '403': + content: + application/json: + schema: + $ref: '#/components/schemas/APIErrorResponse' + description: Forbidden + '404': + content: + application/json: + schema: + $ref: '#/components/schemas/APIErrorResponse' + description: Not Found + '429': + $ref: '#/components/responses/TooManyRequestsResponse' + summary: Create an access token for a service account + tags: + - Service Accounts + x-codegen-request-body-name: body + x-permission: + operator: OR + permissions: + - service_account_write + /api/v2/service_accounts/{service_account_id}/access_tokens/{token_id}: + delete: + description: Revoke a specific access token for a service account. + operationId: RevokeServiceAccountAccessToken + parameters: + - $ref: '#/components/parameters/ServiceAccountID' + - $ref: '#/components/parameters/AccessTokenID' + responses: + '204': + description: No Content + '403': + content: + application/json: + schema: + $ref: '#/components/schemas/APIErrorResponse' + description: Forbidden + '404': + content: + application/json: + schema: + $ref: '#/components/schemas/APIErrorResponse' + description: Not Found + '429': + $ref: '#/components/responses/TooManyRequestsResponse' + summary: Revoke an access token for a service account + tags: + - Service Accounts + x-permission: + operator: OR + permissions: + - service_account_write + get: + description: Get a specific access token for a service account by its ID. + operationId: GetServiceAccountAccessToken + parameters: + - $ref: '#/components/parameters/ServiceAccountID' + - $ref: '#/components/parameters/AccessTokenID' + responses: + '200': + content: + application/json: + examples: + default: + value: + data: + attributes: + created_at: '2024-01-01T00:00:00+00:00' + expires_at: '2025-12-31T23:59:59+00:00' + name: My Service Access Token + public_portion: ddsat_abc123 + scopes: + - dashboards_read + id: 00000000-0000-0000-0000-000000000007 + type: service_access_tokens + schema: + $ref: '#/components/schemas/ServiceAccessTokenResponse' + description: OK + '403': + content: + application/json: + schema: + $ref: '#/components/schemas/APIErrorResponse' + description: Forbidden + '404': + content: + application/json: + schema: + $ref: '#/components/schemas/APIErrorResponse' + description: Not Found + '429': + $ref: '#/components/responses/TooManyRequestsResponse' + summary: Get an access token for a service account + tags: + - Service Accounts + x-permission: + operator: OR + permissions: + - service_account_write + patch: + description: Update a specific access token for a service account. + operationId: UpdateServiceAccountAccessToken + parameters: + - $ref: '#/components/parameters/ServiceAccountID' + - $ref: '#/components/parameters/AccessTokenID' + requestBody: + content: + application/json: + examples: + default: + value: + data: + attributes: + name: Updated Service Access Token + scopes: + - dashboards_read + - dashboards_write + id: 00112233-4455-6677-8899-aabbccddeeff + type: service_access_tokens + schema: + $ref: '#/components/schemas/ServiceAccountAccessTokenUpdateRequest' + required: true + responses: + '200': + content: + application/json: + examples: + default: + value: + data: + attributes: + created_at: '2024-01-01T00:00:00+00:00' + expires_at: '2025-12-31T23:59:59+00:00' + name: My Service Access Token + public_portion: ddsat_abc123 + scopes: + - dashboards_read + id: 00000000-0000-0000-0000-000000000008 + type: service_access_tokens + schema: + $ref: '#/components/schemas/ServiceAccessTokenResponse' + description: OK + '400': + content: + application/json: + schema: + $ref: '#/components/schemas/APIErrorResponse' + description: Bad Request + '403': + content: + application/json: + schema: + $ref: '#/components/schemas/APIErrorResponse' + description: Forbidden + '404': + content: + application/json: + schema: + $ref: '#/components/schemas/APIErrorResponse' + description: Not Found + '429': + $ref: '#/components/responses/TooManyRequestsResponse' + summary: Update an access token for a service account + tags: + - Service Accounts + x-codegen-request-body-name: body + x-permission: + operator: OR + permissions: + - service_account_write + /api/v2/service_accounts/{service_account_id}/application_keys: + get: + description: List all application keys available for this service account. + operationId: ListServiceAccountApplicationKeys + parameters: + - $ref: '#/components/parameters/ServiceAccountID' + - $ref: '#/components/parameters/PageSize' + - $ref: '#/components/parameters/PageNumber' + - $ref: '#/components/parameters/ApplicationKeysSortParameter' + - $ref: '#/components/parameters/ApplicationKeyFilterParameter' + - $ref: '#/components/parameters/ApplicationKeyFilterCreatedAtStartParameter' + - $ref: '#/components/parameters/ApplicationKeyFilterCreatedAtEndParameter' + responses: + '200': + content: + application/json: + examples: + default: + value: + data: + - attributes: + created_at: '2024-01-01T00:00:00+00:00' + name: Application Key for managing dashboards + id: 00000000-0000-0000-0000-000000000002 + type: application_keys + schema: + $ref: '#/components/schemas/ListApplicationKeysResponse' + description: OK + '400': + content: + application/json: + schema: + $ref: '#/components/schemas/APIErrorResponse' + description: Bad Request + '403': + content: + application/json: + schema: + $ref: '#/components/schemas/APIErrorResponse' + description: Forbidden + '404': + content: + application/json: + schema: + $ref: '#/components/schemas/APIErrorResponse' + description: Not Found + '429': + $ref: '#/components/responses/TooManyRequestsResponse' + summary: List application keys for this service account + tags: + - Service Accounts + x-permission: + operator: OR + permissions: + - service_account_write + post: + description: Create an application key for this service account. + operationId: CreateServiceAccountApplicationKey + parameters: + - $ref: '#/components/parameters/ServiceAccountID' + requestBody: + content: + application/json: + examples: + default: + value: + data: + attributes: + name: Application Key for managing dashboards + scopes: + - dashboards_read + - dashboards_write + - dashboards_public_share + type: application_keys + schema: + $ref: '#/components/schemas/ApplicationKeyCreateRequest' + required: true + responses: + '201': + content: + application/json: + examples: + default: + value: + data: + attributes: + created_at: '2024-01-01T00:00:00+00:00' + name: Application Key for managing dashboards + id: 00000000-0000-0000-0000-000000000003 + type: application_keys + schema: + $ref: '#/components/schemas/ApplicationKeyResponse' + description: Created + '400': + content: + application/json: + schema: + $ref: '#/components/schemas/APIErrorResponse' + description: Bad Request + '403': + content: + application/json: + schema: + $ref: '#/components/schemas/APIErrorResponse' + description: Forbidden + '429': + $ref: '#/components/responses/TooManyRequestsResponse' + summary: Create an application key for this service account + tags: + - Service Accounts + x-codegen-request-body-name: body + x-permission: + operator: OR + permissions: + - service_account_write + /api/v2/service_accounts/{service_account_id}/application_keys/{app_key_id}: + delete: + description: Delete an application key owned by this service account. + operationId: DeleteServiceAccountApplicationKey + parameters: + - $ref: '#/components/parameters/ServiceAccountID' + - $ref: '#/components/parameters/ApplicationKeyID' + responses: + '204': + description: No Content + '403': + content: + application/json: + schema: + $ref: '#/components/schemas/APIErrorResponse' + description: Forbidden + '404': + content: + application/json: + schema: + $ref: '#/components/schemas/APIErrorResponse' + description: Not Found + '429': + $ref: '#/components/responses/TooManyRequestsResponse' + summary: Delete an application key for this service account + tags: + - Service Accounts + x-permission: + operator: OR + permissions: + - service_account_write + get: + description: Get an application key owned by this service account. + operationId: GetServiceAccountApplicationKey + parameters: + - $ref: '#/components/parameters/ServiceAccountID' + - $ref: '#/components/parameters/ApplicationKeyID' + responses: + '200': + content: + application/json: + examples: + default: + value: + data: + attributes: + created_at: '2024-01-01T00:00:00+00:00' + name: Application Key for managing dashboards + id: 00000000-0000-0000-0000-000000000004 + type: application_keys + schema: + $ref: '#/components/schemas/PartialApplicationKeyResponse' + description: OK + '403': + content: + application/json: + schema: + $ref: '#/components/schemas/APIErrorResponse' + description: Forbidden + '404': + content: + application/json: + schema: + $ref: '#/components/schemas/APIErrorResponse' + description: Not Found + '429': + $ref: '#/components/responses/TooManyRequestsResponse' + summary: Get one application key for this service account + tags: + - Service Accounts + x-permission: + operator: OR + permissions: + - service_account_write + patch: + description: Edit an application key owned by this service account. + operationId: UpdateServiceAccountApplicationKey + parameters: + - $ref: '#/components/parameters/ServiceAccountID' + - $ref: '#/components/parameters/ApplicationKeyID' + requestBody: + content: + application/json: + examples: + default: + value: + data: + attributes: + name: Application Key for managing dashboards + scopes: + - dashboards_read + - dashboards_write + - dashboards_public_share + id: 00112233-4455-6677-8899-aabbccddeeff + type: application_keys + schema: + $ref: '#/components/schemas/ApplicationKeyUpdateRequest' + required: true + responses: + '200': + content: + application/json: + examples: + default: + value: + data: + attributes: + created_at: '2024-01-01T00:00:00+00:00' + name: Application Key for managing dashboards + id: 00000000-0000-0000-0000-000000000005 + type: application_keys + schema: + $ref: '#/components/schemas/PartialApplicationKeyResponse' + description: OK + '400': + content: + application/json: + schema: + $ref: '#/components/schemas/APIErrorResponse' + description: Bad Request + '403': + content: + application/json: + schema: + $ref: '#/components/schemas/APIErrorResponse' + description: Forbidden + '404': + content: + application/json: + schema: + $ref: '#/components/schemas/APIErrorResponse' + description: Not Found + '429': + $ref: '#/components/responses/TooManyRequestsResponse' + summary: Edit an application key for this service account + tags: + - Service Accounts + x-codegen-request-body-name: body + x-permission: + operator: OR + permissions: + - service_account_write + /api/v2/team: + get: + description: |- + Get all teams. + Can be used to search for teams using the `filter[keyword]` and `filter[me]` query parameters. + operationId: ListTeams + parameters: + - $ref: '#/components/parameters/PageNumber' + - $ref: '#/components/parameters/PageSize' + - description: Specifies the order of the returned teams + in: query + name: sort + required: false + schema: + $ref: '#/components/schemas/ListTeamsSort' + - description: 'Included related resources optionally requested. Allowed enum values: `team_links, user_team_permissions`' + in: query + name: include + required: false + schema: + items: + $ref: '#/components/schemas/ListTeamsInclude' + type: array + - description: Search query. Can be team name, team handle, or email of team member + in: query + name: filter[keyword] + required: false + schema: + type: string + - description: When true, only returns teams the current user belongs to + in: query + name: filter[me] + required: false + schema: + type: boolean + - description: List of fields that need to be fetched. + explode: false + in: query + name: fields[team] + required: false + schema: + items: + $ref: '#/components/schemas/TeamsField' + type: array + responses: + '200': + content: + application/json: + examples: + default: + value: + data: + - attributes: + handle: example-team + name: Example Team + id: 00000000-0000-0000-0000-000000000001 + type: team + meta: + pagination: + offset: 0 + total: 1 + schema: + $ref: '#/components/schemas/TeamsResponse' + description: OK + '403': + $ref: '#/components/responses/ForbiddenResponse' + '429': + $ref: '#/components/responses/TooManyRequestsResponse' + security: + - apiKeyAuth: [] + appKeyAuth: [] + - AuthZ: + - teams_read + summary: Get all teams + tags: + - Teams + x-pagination: + limitParam: page[size] + pageParam: page[number] + resultsPath: data + x-permission: + operator: OR + permissions: + - teams_read + post: + description: |- + Create a new team. + User IDs passed through the `users` relationship field are added to the team. + operationId: CreateTeam + requestBody: + content: + application/json: + examples: + default: + value: + data: + attributes: + avatar: 🥑 + handle: example-team + name: Example Team + relationships: + users: + data: [] + type: team + schema: + $ref: '#/components/schemas/TeamCreateRequest' + required: true + responses: + '201': + content: + application/json: + examples: + default: + value: + data: + attributes: + handle: example-team + name: Example Team + id: 00000000-0000-0000-0000-000000000002 + type: team + schema: + $ref: '#/components/schemas/TeamResponse' + description: CREATED + '403': + $ref: '#/components/responses/ForbiddenResponse' + '409': + content: + application/json: + schema: + $ref: '#/components/schemas/APIErrorResponse' + description: API error response. + '429': + $ref: '#/components/responses/TooManyRequestsResponse' + security: + - apiKeyAuth: [] + appKeyAuth: [] + - AuthZ: + - teams_read + - teams_manage + summary: Create a team + tags: + - Teams + x-codegen-request-body-name: body + x-permission: + operator: AND + permissions: + - teams_read + - teams_manage + /api/v2/team-hierarchy-links: + get: + description: List all team hierarchy links that match the provided filters. + operationId: ListTeamHierarchyLinks + parameters: + - $ref: '#/components/parameters/PageNumber' + - $ref: '#/components/parameters/PageSize' + - description: Filter by parent team ID + in: query + name: filter[parent_team] + required: false + schema: + type: string + - description: Filter by sub team ID + in: query + name: filter[sub_team] + required: false + schema: + type: string + responses: + '200': + content: + application/json: + examples: + default: + value: + data: + - attributes: + created_at: '2024-01-01T00:00:00+00:00' + provisioned_by: system + id: b8626d7e-cedd-11eb-abf5-da7ad0900001 + type: team_hierarchy_links + schema: + $ref: '#/components/schemas/TeamHierarchyLinksResponse' + description: OK + '403': + $ref: '#/components/responses/ForbiddenResponse' + '429': + $ref: '#/components/responses/TooManyRequestsResponse' + security: + - apiKeyAuth: [] + appKeyAuth: [] + - AuthZ: + - teams_read + summary: Get team hierarchy links + tags: + - Teams + x-pagination: + limitParam: page[size] + pageParam: page[number] + resultsPath: data + x-permission: + operator: OR + permissions: + - teams_read + post: + description: Create a new team hierarchy link between a parent team and a sub team. + operationId: AddTeamHierarchyLink + requestBody: + content: + application/json: + examples: + default: + value: + data: + relationships: + parent_team: + data: + id: 692e8073-12c4-4c71-8408-5090bd44c9c8 + type: team + sub_team: + data: + id: 692e8073-12c4-4c71-8408-5090bd44c9c8 + type: team + type: team_hierarchy_links + schema: + $ref: '#/components/schemas/TeamHierarchyLinkCreateRequest' + required: true + responses: + '200': + content: + application/json: + examples: + default: + value: + data: + attributes: + created_at: '2024-01-01T00:00:00+00:00' + provisioned_by: system + id: 00000000-0000-0000-0000-000000000001 + type: team_hierarchy_links + schema: + $ref: '#/components/schemas/TeamHierarchyLinkResponse' + description: OK + '403': + $ref: '#/components/responses/ForbiddenResponse' + '409': + content: + application/json: + schema: + $ref: '#/components/schemas/APIErrorResponse' + description: Conflict + '429': + $ref: '#/components/responses/TooManyRequestsResponse' + security: + - apiKeyAuth: [] + appKeyAuth: [] + - AuthZ: + - teams_read + - teams_manage + summary: Create a team hierarchy link + tags: + - Teams + x-permission: + operator: AND + permissions: + - teams_read + - teams_manage + /api/v2/team-hierarchy-links/{link_id}: + delete: + description: Remove a team hierarchy link by the given link_id. + operationId: RemoveTeamHierarchyLink + parameters: + - description: The team hierarchy link's identifier + in: path + name: link_id + required: true + schema: + type: string + responses: + '204': + description: No Content + '403': + $ref: '#/components/responses/ForbiddenResponse' + '404': + content: + application/json: + schema: + $ref: '#/components/schemas/APIErrorResponse' + description: API error response. + '429': + $ref: '#/components/responses/TooManyRequestsResponse' + security: + - apiKeyAuth: [] + appKeyAuth: [] + - AuthZ: + - teams_read + - teams_manage + summary: Remove a team hierarchy link + tags: + - Teams + x-permission: + operator: AND + permissions: + - teams_read + - teams_manage + get: + description: Get a single team hierarchy link for the given link_id. + operationId: GetTeamHierarchyLink + parameters: + - description: The team hierarchy link's identifier + in: path + name: link_id + required: true + schema: + type: string + responses: + '200': + content: + application/json: + examples: + default: + value: + data: + attributes: + created_at: '2024-01-01T00:00:00+00:00' + provisioned_by: system + id: b8626d7e-cedd-11eb-abf5-da7ad0900001 + type: team_hierarchy_links + schema: + $ref: '#/components/schemas/TeamHierarchyLinkResponse' + description: OK + '403': + $ref: '#/components/responses/ForbiddenResponse' + '404': + content: + application/json: + schema: + $ref: '#/components/schemas/APIErrorResponse' + description: API error response. + '429': + $ref: '#/components/responses/TooManyRequestsResponse' + security: + - apiKeyAuth: [] + appKeyAuth: [] + - AuthZ: + - teams_read + summary: Get a team hierarchy link + tags: + - Teams + x-permission: + operator: OR + permissions: + - teams_read + /api/v2/team/connections: + delete: + description: Delete multiple team connections. + operationId: DeleteTeamConnections + requestBody: + content: + application/json: + examples: + default: + value: + data: + - id: 12345678-1234-5678-9abc-123456789012 + type: team_connection + schema: + $ref: '#/components/schemas/TeamConnectionDeleteRequest' + required: true + responses: + '204': + description: No Content + '400': + $ref: '#/components/responses/BadRequestResponse' + '403': + $ref: '#/components/responses/ForbiddenResponse' + '404': + $ref: '#/components/responses/NotFoundResponse' + '429': + $ref: '#/components/responses/TooManyRequestsResponse' + security: + - apiKeyAuth: [] + appKeyAuth: [] + - AuthZ: + - teams_read + summary: Delete team connections + tags: + - Teams + x-permission: + operator: OR + permissions: + - teams_read + get: + description: Returns all team connections. + operationId: ListTeamConnections + parameters: + - $ref: '#/components/parameters/PageSize' + - $ref: '#/components/parameters/PageNumber' + - description: Filter team connections by external source systems. + explode: false + in: query + name: filter[sources] + required: false + schema: + items: + example: github + type: string + type: array + style: form + - description: Filter team connections by Datadog team IDs. + explode: false + in: query + name: filter[team_ids] + required: false + schema: + items: + example: 12345678-1234-5678-9abc-123456789012 + type: string + type: array + style: form + - description: Filter team connections by connected team IDs from external systems. + explode: false + in: query + name: filter[connected_team_ids] + required: false + schema: + items: + example: '@MyGitHubAccount/my-team-name' + type: string + type: array + style: form + - description: Filter team connections by connection IDs. + explode: false + in: query + name: filter[connection_ids] + required: false + schema: + items: + example: 12345678-1234-5678-9abc-123456789012 + type: string + type: array + style: form + responses: + '200': + content: + application/json: + examples: + default: + value: + data: + - attributes: + managed_by: github_sync + source: github + id: 00000000-0000-0000-0000-000000000001 + type: team_connection + schema: + $ref: '#/components/schemas/TeamConnectionsResponse' + description: OK + '400': + $ref: '#/components/responses/BadRequestResponse' + '403': + $ref: '#/components/responses/ForbiddenResponse' + '429': + $ref: '#/components/responses/TooManyRequestsResponse' + security: + - apiKeyAuth: [] + appKeyAuth: [] + - AuthZ: + - teams_read + summary: List team connections + tags: + - Teams + x-pagination: + limitParam: page[size] + pageParam: page[number] + resultsPath: data + x-permission: + operator: OR + permissions: + - teams_read + post: + description: Create multiple team connections. + operationId: CreateTeamConnections + requestBody: + content: + application/json: + examples: + default: + value: + data: + - attributes: + managed_by: github_sync + source: github + relationships: + connected_team: + data: + id: '@GitHubOrg/team-handle' + team: + data: + id: 87654321-4321-8765-dcba-210987654321 + type: team_connection + schema: + $ref: '#/components/schemas/TeamConnectionCreateRequest' + required: true + responses: + '201': + content: + application/json: + examples: + default: + value: + data: + - attributes: + managed_by: github_sync + source: github + id: 00000000-0000-0000-0000-000000000002 + type: team_connection + schema: + $ref: '#/components/schemas/TeamConnectionsResponse' + description: Created + '400': + $ref: '#/components/responses/BadRequestResponse' + '403': + $ref: '#/components/responses/ForbiddenResponse' + '409': + $ref: '#/components/responses/ConflictResponse' + '429': + $ref: '#/components/responses/TooManyRequestsResponse' + security: + - apiKeyAuth: [] + appKeyAuth: [] + - AuthZ: + - teams_read + summary: Create team connections + tags: + - Teams + x-permission: + operator: OR + permissions: + - teams_read + /api/v2/team/sync: + get: + description: |- + Get all team synchronization configurations. + Returns a list of configurations used for linking or provisioning teams with external sources like GitHub. + operationId: GetTeamSync + parameters: + - description: Filter by the external source platform for team synchronization + in: query + name: filter[source] + required: true + schema: + $ref: '#/components/schemas/TeamSyncAttributesSource' + responses: + '200': + content: + application/json: + examples: + default: + value: + data: + - attributes: + frequency: once + source: github + sync_membership: false + type: link + type: team_sync_bulk + schema: + $ref: '#/components/schemas/TeamSyncResponse' + description: OK + '403': + $ref: '#/components/responses/ForbiddenResponse' + '429': + $ref: '#/components/responses/TooManyRequestsResponse' + security: + - apiKeyAuth: [] + appKeyAuth: [] + - AuthZ: + - teams_read + summary: Get team sync configurations + tags: + - Teams + x-permission: + operator: OR + permissions: + - teams_read + post: + description: |- + This endpoint configures synchronization between your existing Datadog teams and GitHub teams by matching their names. + It evaluates all current Datadog teams and compares them against teams in the GitHub organization + connected to your Datadog account, based on Datadog Team handle and GitHub Team slug + (lowercased and kebab-cased). + + This operation is read-only on the GitHub side, no teams will be modified or created. + + Optionally, provide `selection_state` to limit synchronization + to specific teams or organizations and their subtrees, instead + of syncing all teams. + + [A GitHub organization must be connected to your Datadog account](https://docs.datadoghq.com/integrations/github/), + and the GitHub App integrated with Datadog must have the `Members Read` permission. Matching is performed by comparing the Datadog team handle to the GitHub team slug + using a normalized exact match; case is ignored and spaces are removed. No modifications are made + to teams in GitHub. This only creates new teams in Datadog when type is set to `provision`. + operationId: SyncTeams + requestBody: + content: + application/json: + examples: + default: + value: + data: + attributes: + source: github + type: link + type: team_sync_bulk + schema: + $ref: '#/components/schemas/TeamSyncRequest' + required: true + responses: + '200': + description: OK + '204': + description: No Content + '403': + $ref: '#/components/responses/ForbiddenResponse' + '429': + $ref: '#/components/responses/TooManyRequestsResponse' + '500': + content: + application/json: + schema: + $ref: '#/components/schemas/APIErrorResponse' + description: Internal Server Error - Unexpected error during linking. + security: + - apiKeyAuth: [] + appKeyAuth: [] + - AuthZ: + - teams_manage + summary: Link Teams with GitHub Teams + tags: + - Teams + x-codegen-request-body-name: body + x-permission: + operator: AND + permissions: + - teams_manage + /api/v2/team/{super_team_id}/member_teams: + get: + deprecated: true + description: |- + Get all member teams. + + **Note**: This API is deprecated. For team hierarchy relationships (parent-child + teams), use the team hierarchy links API: `GET /api/v2/team-hierarchy-links`. + operationId: ListMemberTeams + parameters: + - description: None + in: path + name: super_team_id + required: true + schema: + type: string + - $ref: '#/components/parameters/PageSize' + - $ref: '#/components/parameters/PageNumber' + - description: List of fields that need to be fetched. + explode: false + in: query + name: fields[team] + required: false + schema: + items: + $ref: '#/components/schemas/TeamsField' + type: array + responses: + '200': + content: + application/json: + examples: + default: + value: + data: + - attributes: + handle: example-team + name: Example Team + id: 00000000-0000-0000-0000-000000000005 + type: team + meta: + pagination: + offset: 0 + total: 1 + schema: + $ref: '#/components/schemas/TeamsResponse' + description: OK + '403': + $ref: '#/components/responses/ForbiddenResponse' + '404': + content: + application/json: + schema: + $ref: '#/components/schemas/APIErrorResponse' + description: API error response. + '429': + $ref: '#/components/responses/TooManyRequestsResponse' + security: + - apiKeyAuth: [] + appKeyAuth: [] + - AuthZ: + - teams_read + summary: Get all member teams + tags: + - Teams + x-pagination: + limitParam: page[size] + pageParam: page[number] + resultsPath: data + x-permission: + operator: OR + permissions: + - teams_read + x-sunset: '2026-06-01' + x-unstable: |- + **Note**: This endpoint is in Preview. If you have any feedback, + contact [Datadog support](https://docs.datadoghq.com/help/). + post: + deprecated: true + description: |- + Add a member team. + Adds the team given by the `id` in the body as a member team of the super team. + + **Note**: This API is deprecated. For creating team hierarchy links, use the team hierarchy links API: `POST /api/v2/team-hierarchy-links`. + operationId: AddMemberTeam + parameters: + - description: None + in: path + name: super_team_id + required: true + schema: + type: string + requestBody: + content: + application/json: + examples: + default: + value: + data: + id: aeadc05e-98a8-11ec-ac2c-da7ad0900001 + type: member_teams + schema: + $ref: '#/components/schemas/AddMemberTeamRequest' + required: true + responses: + '204': + description: Added + '403': + $ref: '#/components/responses/ForbiddenResponse' + '409': + content: + application/json: + schema: + $ref: '#/components/schemas/APIErrorResponse' + description: API error response. + '429': + $ref: '#/components/responses/TooManyRequestsResponse' + security: + - apiKeyAuth: [] + appKeyAuth: [] + - AuthZ: + - teams_read + summary: Add a member team + tags: + - Teams + x-permission: + operator: OR + permissions: + - teams_read + x-sunset: '2026-06-01' + x-unstable: |- + **Note**: This endpoint is in Preview. If you have any feedback, + contact [Datadog support](https://docs.datadoghq.com/help/). + /api/v2/team/{super_team_id}/member_teams/{member_team_id}: + delete: + deprecated: true + description: |- + Remove a super team's member team identified by `member_team_id`. + + **Note**: This API is deprecated. For deleting team hierarchy links, use the team hierarchy links API: `DELETE /api/v2/team-hierarchy-links/{link_id}`. + operationId: RemoveMemberTeam + parameters: + - description: None + in: path + name: super_team_id + required: true + schema: + type: string + - description: None + in: path + name: member_team_id + required: true + schema: + type: string + responses: + '204': + description: No Content + '403': + $ref: '#/components/responses/ForbiddenResponse' + '404': + content: + application/json: + schema: + $ref: '#/components/schemas/APIErrorResponse' + description: API error response. + '429': + $ref: '#/components/responses/TooManyRequestsResponse' + security: + - apiKeyAuth: [] + appKeyAuth: [] + - AuthZ: + - teams_read + summary: Remove a member team + tags: + - Teams + x-permission: + operator: OR + permissions: + - teams_read + x-sunset: '2026-06-01' + x-unstable: |- + **Note**: This endpoint is in Preview. If you have any feedback, + contact [Datadog support](https://docs.datadoghq.com/help/). + /api/v2/team/{team_id}: + delete: + description: Remove a team using the team's `id`. + operationId: DeleteTeam + parameters: + - description: None + in: path + name: team_id + required: true + schema: + type: string + responses: + '204': + description: No Content + '403': + $ref: '#/components/responses/ForbiddenResponse' + '404': + content: + application/json: + schema: + $ref: '#/components/schemas/APIErrorResponse' + description: API error response. + '429': + $ref: '#/components/responses/TooManyRequestsResponse' + security: + - apiKeyAuth: [] + appKeyAuth: [] + - AuthZ: + - teams_read + - teams_manage + summary: Remove a team + tags: + - Teams + x-permission: + operator: AND + permissions: + - teams_read + - teams_manage + get: + description: Get a single team using the team's `id`. + operationId: GetTeam + parameters: + - description: None + in: path + name: team_id + required: true + schema: + type: string + responses: + '200': + content: + application/json: + examples: + default: + value: + data: + attributes: + handle: example-team + name: Example Team + id: 00000000-0000-0000-0000-000000000003 + type: team + schema: + $ref: '#/components/schemas/TeamResponse' + description: OK + '403': + $ref: '#/components/responses/ForbiddenResponse' + '404': + content: + application/json: + schema: + $ref: '#/components/schemas/APIErrorResponse' + description: API error response. + '429': + $ref: '#/components/responses/TooManyRequestsResponse' + security: + - apiKeyAuth: [] + appKeyAuth: [] + - AuthZ: + - teams_read + summary: Get a team + tags: + - Teams + x-permission: + operator: OR + permissions: + - teams_read + patch: + description: |- + Update a team using the team's `id`. + If the `team_links` relationship is present, the associated links are updated to be in the order they appear in the array, and any existing team links not present are removed. + operationId: UpdateTeam + parameters: + - description: None + in: path + name: team_id + required: true + schema: + type: string + requestBody: + content: + application/json: + examples: + default: + value: + data: + attributes: + avatar: 🥑 + handle: example-team + name: Example Team + relationships: + team_links: + data: + - id: f9bb8444-af7f-11ec-ac2c-da7ad0900001 + links: + related: /api/v2/team/c75a4a8e-20c7-11ee-a3a5-da7ad0900002/links + type: team + schema: + $ref: '#/components/schemas/TeamUpdateRequest' + required: true + responses: + '200': + content: + application/json: + examples: + default: + value: + data: + attributes: + handle: example-team + name: Example Team + id: 00000000-0000-0000-0000-000000000004 + type: team + schema: + $ref: '#/components/schemas/TeamResponse' + description: OK + '400': + content: + application/json: + schema: + $ref: '#/components/schemas/APIErrorResponse' + description: API error response. + '403': + $ref: '#/components/responses/ForbiddenResponse' + '404': + content: + application/json: + schema: + $ref: '#/components/schemas/APIErrorResponse' + description: API error response. + '409': + content: + application/json: + schema: + $ref: '#/components/schemas/APIErrorResponse' + description: API error response. + '429': + $ref: '#/components/responses/TooManyRequestsResponse' + security: + - apiKeyAuth: [] + appKeyAuth: [] + - AuthZ: + - teams_read + summary: Update a team + tags: + - Teams + x-codegen-request-body-name: body + x-permission: + operator: OR + permissions: + - teams_read + /api/v2/team/{team_id}/links: + get: + description: Get all links for a given team. + operationId: GetTeamLinks + parameters: + - description: None + in: path + name: team_id + required: true + schema: + type: string + responses: + '200': + content: + application/json: + examples: + default: + value: + data: + - attributes: + label: Link label + position: 0 + url: https://example.com + id: 00000000-0000-0000-0000-000000000001 + type: team_links + schema: + $ref: '#/components/schemas/TeamLinksResponse' + description: OK + '403': + $ref: '#/components/responses/ForbiddenResponse' + '404': + content: + application/json: + schema: + $ref: '#/components/schemas/APIErrorResponse' + description: API error response. + '429': + $ref: '#/components/responses/TooManyRequestsResponse' + security: + - apiKeyAuth: [] + appKeyAuth: [] + - AuthZ: + - teams_read + summary: Get links for a team + tags: + - Teams + x-permission: + operator: OR + permissions: + - teams_read + post: + description: Add a new link to a team. + operationId: CreateTeamLink + parameters: + - description: None + in: path + name: team_id + required: true + schema: + type: string + requestBody: + content: + application/json: + examples: + default: + value: + data: + attributes: + label: Link label + position: 0 + url: https://example.com + type: team_links + schema: + $ref: '#/components/schemas/TeamLinkCreateRequest' + required: true + responses: + '200': + content: + application/json: + examples: + default: + value: + data: + attributes: + label: Link label + url: https://example.com + id: 00000000-0000-0000-0000-000000000002 + type: team_links + schema: + $ref: '#/components/schemas/TeamLinkResponse' + description: OK + '403': + $ref: '#/components/responses/ForbiddenResponse' + '404': + content: + application/json: + schema: + $ref: '#/components/schemas/APIErrorResponse' + description: API error response. + '422': + content: + application/json: + schema: + $ref: '#/components/schemas/APIErrorResponse' + description: API error response. + '429': + $ref: '#/components/responses/TooManyRequestsResponse' + security: + - apiKeyAuth: [] + appKeyAuth: [] + - AuthZ: + - teams_read + summary: Create a team link + tags: + - Teams + x-codegen-request-body-name: body + x-permission: + operator: OR + permissions: + - teams_read + /api/v2/team/{team_id}/links/{link_id}: + delete: + description: Remove a link from a team. + operationId: DeleteTeamLink + parameters: + - description: None + in: path + name: team_id + required: true + schema: + type: string + - description: None + in: path + name: link_id + required: true + schema: + type: string + responses: + '204': + description: No Content + '403': + $ref: '#/components/responses/ForbiddenResponse' + '404': + content: + application/json: + schema: + $ref: '#/components/schemas/APIErrorResponse' + description: API error response. + '429': + $ref: '#/components/responses/TooManyRequestsResponse' + security: + - apiKeyAuth: [] + appKeyAuth: [] + - AuthZ: + - teams_read + summary: Remove a team link + tags: + - Teams + x-permission: + operator: OR + permissions: + - teams_read + get: + description: Get a single link for a team. + operationId: GetTeamLink + parameters: + - description: None + in: path + name: team_id + required: true + schema: + type: string + - description: None + in: path + name: link_id + required: true + schema: + type: string + responses: + '200': + content: + application/json: + examples: + default: + value: + data: + attributes: + label: Link label + position: 0 + url: https://example.com + id: 00000000-0000-0000-0000-000000000003 + type: team_links + schema: + $ref: '#/components/schemas/TeamLinkResponse' + description: OK + '403': + $ref: '#/components/responses/ForbiddenResponse' + '404': + content: + application/json: + schema: + $ref: '#/components/schemas/APIErrorResponse' + description: API error response. + '429': + $ref: '#/components/responses/TooManyRequestsResponse' + security: + - apiKeyAuth: [] + appKeyAuth: [] + - AuthZ: + - teams_read + summary: Get a team link + tags: + - Teams + x-permission: + operator: OR + permissions: + - teams_read + patch: + description: Update a team link. + operationId: UpdateTeamLink + parameters: + - description: None + in: path + name: team_id + required: true + schema: + type: string + - description: None + in: path + name: link_id + required: true + schema: + type: string + requestBody: + content: + application/json: + examples: + default: + value: + data: + attributes: + label: Link label + url: https://example.com + type: team_links + schema: + $ref: '#/components/schemas/TeamLinkCreateRequest' + required: true + responses: + '200': + content: + application/json: + examples: + default: + value: + data: + attributes: + label: Link label + position: 0 + url: https://example.com + id: 00000000-0000-0000-0000-000000000004 + type: team_links + schema: + $ref: '#/components/schemas/TeamLinkResponse' + description: OK + '403': + $ref: '#/components/responses/ForbiddenResponse' + '404': + content: + application/json: + schema: + $ref: '#/components/schemas/APIErrorResponse' + description: API error response. + '429': + $ref: '#/components/responses/TooManyRequestsResponse' + security: + - apiKeyAuth: [] + appKeyAuth: [] + - AuthZ: + - teams_read + summary: Update a team link + tags: + - Teams + x-codegen-request-body-name: body + x-permission: + operator: OR + permissions: + - teams_read + /api/v2/team/{team_id}/memberships: + get: + description: Get a paginated list of members for a team + operationId: GetTeamMemberships + parameters: + - description: None + in: path + name: team_id + required: true + schema: + type: string + - $ref: '#/components/parameters/PageSize' + - $ref: '#/components/parameters/PageNumber' + - description: Specifies the order of returned team memberships + in: query + name: sort + required: false + schema: + $ref: '#/components/schemas/GetTeamMembershipsSort' + - description: Search query, can be user email or name + in: query + name: filter[keyword] + required: false + schema: + type: string + responses: + '200': + content: + application/json: + examples: + default: + value: + data: + - attributes: + role: admin + id: TeamMembership-aeadc05e-98a8-11ec-ac2c-da7ad0900001-38835 + type: team_memberships + schema: + $ref: '#/components/schemas/UserTeamsResponse' + description: Represents a user's association to a team + '403': + $ref: '#/components/responses/ForbiddenResponse' + '404': + content: + application/json: + schema: + $ref: '#/components/schemas/APIErrorResponse' + description: API error response. + '429': + $ref: '#/components/responses/TooManyRequestsResponse' + security: + - apiKeyAuth: [] + appKeyAuth: [] + - AuthZ: + - teams_read + summary: Get team memberships + tags: + - Teams + x-pagination: + limitParam: page[size] + pageParam: page[number] + resultsPath: data + x-permission: + operator: OR + permissions: + - teams_read + post: + description: |- + Add a user to a team. + + **Note**: Each team has a setting that determines who is allowed to modify membership of the team. The `user_access_manage` permission generally grants access to modify membership of any team. To get the full picture, see [Team Membership documentation](https://docs.datadoghq.com/account_management/teams/manage/#team-membership). + operationId: CreateTeamMembership + parameters: + - description: None + in: path + name: team_id + required: true + schema: + type: string + requestBody: + content: + application/json: + examples: + default: + value: + data: + attributes: + role: admin + relationships: + team: + data: + id: d7e15d9d-d346-43da-81d8-3d9e71d9a5e9 + type: team + user: + data: + id: b8626d7e-cedd-11eb-abf5-da7ad0900001 + type: users + type: team_memberships + schema: + $ref: '#/components/schemas/UserTeamRequest' + required: true + responses: + '200': + content: + application/json: + examples: + default: + value: + data: + attributes: + role: admin + id: 00000000-0000-0000-0000-000000000001 + type: team_memberships + schema: + $ref: '#/components/schemas/UserTeamResponse' + description: Represents a user's association to a team + '403': + $ref: '#/components/responses/ForbiddenResponse' + '404': + content: + application/json: + schema: + $ref: '#/components/schemas/APIErrorResponse' + description: API error response. + '409': + content: + application/json: + schema: + $ref: '#/components/schemas/APIErrorResponse' + description: API error response. + '429': + $ref: '#/components/responses/TooManyRequestsResponse' + security: + - apiKeyAuth: [] + appKeyAuth: [] + - AuthZ: + - teams_read + summary: Add a user to a team + tags: + - Teams + x-codegen-request-body-name: body + x-permission: + operator: OR + permissions: + - teams_read + /api/v2/team/{team_id}/memberships/{user_id}: + delete: + description: |- + Remove a user from a team. + + **Note**: Each team has a setting that determines who is allowed to modify membership of the team. The `user_access_manage` permission generally grants access to modify membership of any team. To get the full picture, see [Team Membership documentation](https://docs.datadoghq.com/account_management/teams/manage/#team-membership). + operationId: DeleteTeamMembership + parameters: + - description: None + in: path + name: team_id + required: true + schema: + type: string + - description: None + in: path + name: user_id + required: true + schema: + type: string + responses: + '204': + description: No Content + '403': + $ref: '#/components/responses/ForbiddenResponse' + '404': + content: + application/json: + schema: + $ref: '#/components/schemas/APIErrorResponse' + description: API error response. + '429': + $ref: '#/components/responses/TooManyRequestsResponse' + security: + - apiKeyAuth: [] + appKeyAuth: [] + - AuthZ: + - teams_read + summary: Remove a user from a team + tags: + - Teams + x-permission: + operator: OR + permissions: + - teams_read + patch: + description: |- + Update a user's membership attributes on a team. + + **Note**: Each team has a setting that determines who is allowed to modify membership of the team. The `user_access_manage` permission generally grants access to modify membership of any team. To get the full picture, see [Team Membership documentation](https://docs.datadoghq.com/account_management/teams/manage/#team-membership). + operationId: UpdateTeamMembership + parameters: + - description: None + in: path + name: team_id + required: true + schema: + type: string + - description: None + in: path + name: user_id + required: true + schema: + type: string + requestBody: + content: + application/json: + examples: + default: + value: + data: + attributes: + role: admin + type: team_memberships + schema: + $ref: '#/components/schemas/UserTeamUpdateRequest' + required: true + responses: + '200': + content: + application/json: + examples: + default: + value: + data: + attributes: + role: admin + id: TeamMembership-aeadc05e-98a8-11ec-ac2c-da7ad0900001-38835 + type: team_memberships + schema: + $ref: '#/components/schemas/UserTeamResponse' + description: OK + '400': + content: + application/json: + schema: + $ref: '#/components/schemas/APIErrorResponse' + description: API error response. + '403': + $ref: '#/components/responses/ForbiddenResponse' + '404': + content: + application/json: + schema: + $ref: '#/components/schemas/APIErrorResponse' + description: API error response. + '429': + $ref: '#/components/responses/TooManyRequestsResponse' + security: + - apiKeyAuth: [] + appKeyAuth: [] + - AuthZ: + - teams_read + summary: Update a user's membership attributes on a team + tags: + - Teams + x-codegen-request-body-name: body + x-permission: + operator: OR + permissions: + - teams_read + /api/v2/team/{team_id}/notification-rules: + get: + operationId: GetTeamNotificationRules + parameters: + - description: None + in: path + name: team_id + required: true + schema: + type: string + responses: + '200': + content: + application/json: + examples: + default: + value: + data: + - attributes: + email: + enabled: true + slack: + channel: test-channel + workspace: Datadog + id: 00000000-0000-0000-0000-000000000001 + type: team_notification_rules + schema: + $ref: '#/components/schemas/TeamNotificationRulesResponse' + description: OK + '403': + $ref: '#/components/responses/ForbiddenResponse' + '404': + content: + application/json: + schema: + $ref: '#/components/schemas/APIErrorResponse' + description: API error response. + '429': + $ref: '#/components/responses/TooManyRequestsResponse' + security: + - apiKeyAuth: [] + appKeyAuth: [] + - AuthZ: + - teams_read + summary: Get team notification rules + tags: + - Teams + x-permission: + operator: OR + permissions: + - teams_read + post: + operationId: CreateTeamNotificationRule + parameters: + - description: None + in: path + name: team_id + required: true + schema: + type: string + requestBody: + content: + application/json: + examples: + default: + value: + data: + attributes: + email: + enabled: true + slack: + channel: test-ops + workspace: Datadog + type: team_notification_rules + schema: + $ref: '#/components/schemas/TeamNotificationRuleRequest' + required: true + responses: + '201': + content: + application/json: + examples: + default: + value: + data: + attributes: + email: + enabled: true + slack: + channel: test-channel + workspace: Datadog + id: 00000000-0000-0000-0000-000000000002 + type: team_notification_rules + schema: + $ref: '#/components/schemas/TeamNotificationRuleResponse' + description: OK + '403': + $ref: '#/components/responses/ForbiddenResponse' + '404': + content: + application/json: + schema: + $ref: '#/components/schemas/APIErrorResponse' + description: API error response. + '409': + content: + application/json: + schema: + $ref: '#/components/schemas/APIErrorResponse' + description: API error response. + '429': + $ref: '#/components/responses/TooManyRequestsResponse' + security: + - apiKeyAuth: [] + appKeyAuth: [] + - AuthZ: + - teams_read + summary: Create team notification rule + tags: + - Teams + x-permission: + operator: OR + permissions: + - teams_read + /api/v2/team/{team_id}/notification-rules/{rule_id}: + delete: + operationId: DeleteTeamNotificationRule + parameters: + - description: None + in: path + name: team_id + required: true + schema: + type: string + - description: None + in: path + name: rule_id + required: true + schema: + type: string + responses: + '204': + description: No Content + '403': + $ref: '#/components/responses/ForbiddenResponse' + '404': + content: + application/json: + schema: + $ref: '#/components/schemas/APIErrorResponse' + description: API error response. + '429': + $ref: '#/components/responses/TooManyRequestsResponse' + security: + - apiKeyAuth: [] + appKeyAuth: [] + - AuthZ: + - teams_read + summary: Delete team notification rule + tags: + - Teams + x-permission: + operator: OR + permissions: + - teams_read + get: + operationId: GetTeamNotificationRule + parameters: + - description: None + in: path + name: team_id + required: true + schema: + type: string + - description: None + in: path + name: rule_id + required: true + schema: + type: string + responses: + '200': + content: + application/json: + examples: + default: + value: + data: + attributes: + email: + enabled: true + slack: + channel: test-channel + workspace: Datadog + id: 00000000-0000-0000-0000-000000000003 + type: team_notification_rules + schema: + $ref: '#/components/schemas/TeamNotificationRuleResponse' + description: OK + '403': + $ref: '#/components/responses/ForbiddenResponse' + '404': + content: + application/json: + schema: + $ref: '#/components/schemas/APIErrorResponse' + description: API error response. + '429': + $ref: '#/components/responses/TooManyRequestsResponse' + security: + - apiKeyAuth: [] + appKeyAuth: [] + - AuthZ: + - teams_read + summary: Get team notification rule + tags: + - Teams + x-permission: + operator: OR + permissions: + - teams_read + put: + operationId: UpdateTeamNotificationRule + parameters: + - description: None + in: path + name: team_id + required: true + schema: + type: string + - description: None + in: path + name: rule_id + required: true + schema: + type: string + requestBody: + content: + application/json: + examples: + default: + value: + data: + attributes: + pagerduty: + service_name: Datadog-prod + slack: + channel: test-ops + workspace: Datadog + id: b8626d7e-cedd-11eb-abf5-da7ad0900001 + type: team_notification_rules + schema: + $ref: '#/components/schemas/TeamNotificationRuleRequest' + required: true + responses: + '200': + content: + application/json: + examples: + default: + value: + data: + attributes: + email: + enabled: true + slack: + channel: test-channel + workspace: Datadog + id: 00000000-0000-0000-0000-000000000004 + type: team_notification_rules + schema: + $ref: '#/components/schemas/TeamNotificationRuleResponse' + description: OK + '403': + $ref: '#/components/responses/ForbiddenResponse' + '404': + content: + application/json: + schema: + $ref: '#/components/schemas/APIErrorResponse' + description: API error response. + '429': + $ref: '#/components/responses/TooManyRequestsResponse' + security: + - apiKeyAuth: [] + appKeyAuth: [] + - AuthZ: + - teams_read + summary: Update team notification rule + tags: + - Teams + x-permission: + operator: OR + permissions: + - teams_read + /api/v2/team/{team_id}/permission-settings: + get: + description: Get all permission settings for a given team. + operationId: GetTeamPermissionSettings + parameters: + - description: None + in: path + name: team_id + required: true + schema: + type: string + responses: + '200': + content: + application/json: + examples: + default: + value: + data: + - attributes: + action: edit + editable: true + value: admins + id: TeamPermission-abc-123-edit + type: team_permission_settings + schema: + $ref: '#/components/schemas/TeamPermissionSettingsResponse' + description: OK + '403': + $ref: '#/components/responses/ForbiddenResponse' + '404': + content: + application/json: + schema: + $ref: '#/components/schemas/APIErrorResponse' + description: API error response. + '429': + $ref: '#/components/responses/TooManyRequestsResponse' + security: + - apiKeyAuth: [] + appKeyAuth: [] + - AuthZ: + - teams_read + summary: Get permission settings for a team + tags: + - Teams + x-permission: + operator: OR + permissions: + - teams_read + /api/v2/team/{team_id}/permission-settings/{action}: + put: + description: Update a team permission setting for a given team. + operationId: UpdateTeamPermissionSetting + parameters: + - description: None + in: path + name: team_id + required: true + schema: + type: string + - description: None + in: path + name: action + required: true + schema: + type: string + requestBody: + content: + application/json: + examples: + default: + value: + data: + attributes: + value: admins + type: team_permission_settings + schema: + $ref: '#/components/schemas/TeamPermissionSettingUpdateRequest' + required: true + responses: + '200': + content: + application/json: + examples: + default: + value: + data: + attributes: + action: edit + editable: true + value: admins + id: TeamPermission-abc-123-edit + type: team_permission_settings + schema: + $ref: '#/components/schemas/TeamPermissionSettingResponse' + description: OK + '403': + $ref: '#/components/responses/ForbiddenResponse' + '404': + content: + application/json: + schema: + $ref: '#/components/schemas/APIErrorResponse' + description: API error response. + '429': + $ref: '#/components/responses/TooManyRequestsResponse' + security: + - apiKeyAuth: [] + appKeyAuth: [] + - AuthZ: + - teams_read + summary: Update permission setting for team + tags: + - Teams + x-codegen-request-body-name: body + x-permission: + operator: OR + permissions: + - teams_read + /api/v2/usage/application_security: + get: + deprecated: true + description: |- + Get hourly usage for application security . + **Note:** This endpoint has been deprecated. Hourly usage data for all products is now available in the [Get hourly usage by product family API](https://docs.datadoghq.com/api/latest/usage-metering/#get-hourly-usage-by-product-family) + operationId: GetUsageApplicationSecurityMonitoring + parameters: + - description: 'Datetime in ISO-8601 format, UTC, precise to hour: `[YYYY-MM-DDThh]` for usage beginning at this hour.' + in: query + name: start_hr + required: true + schema: + format: date-time + type: string + - description: |- + Datetime in ISO-8601 format, UTC, precise to hour: `[YYYY-MM-DDThh]` for usage ending + **before** this hour. + in: query + name: end_hr + required: false + schema: + format: date-time + type: string + responses: + '200': + content: + application/json: + examples: + default: + value: + data: [] + schema: + $ref: '#/components/schemas/UsageApplicationSecurityMonitoringResponse' + description: OK + '400': + content: + application/json: + schema: + $ref: '#/components/schemas/APIErrorResponse' + description: Bad Request + '403': + content: + application/json: + schema: + $ref: '#/components/schemas/APIErrorResponse' + description: Forbidden - User is not authorized + '429': + content: + application/json: + schema: + $ref: '#/components/schemas/APIErrorResponse' + description: Too many requests + security: + - apiKeyAuth: [] + appKeyAuth: [] + - AuthZ: + - usage_read + summary: Get hourly usage for application security + tags: + - Usage Metering + x-permission: + operator: OR + permissions: + - usage_read + /api/v2/usage/billing_dimension_mapping: + get: + description: |- + Get a mapping of billing dimensions to the corresponding keys for the supported usage metering public API endpoints. + Mapping data is updated on a monthly cadence. + + This endpoint is only accessible to [parent-level organizations](https://docs.datadoghq.com/account_management/multi_organization/). + operationId: GetBillingDimensionMapping + parameters: + - description: Datetime in ISO-8601 format, UTC, and for mappings beginning this month. Defaults to the current month. + in: query + name: filter[month] + required: false + schema: + format: date-time + type: string + - description: String to specify whether to retrieve active billing dimension mappings for the contract or for all available mappings. Allowed views have the string `active` or `all`. Defaults to `active`. + in: query + name: filter[view] + required: false + schema: + default: active + type: string + responses: + '200': + content: + application/json: + examples: + default: + value: + data: [] + schema: + $ref: '#/components/schemas/BillingDimensionsMappingResponse' + description: OK + '400': + content: + application/json: + schema: + $ref: '#/components/schemas/APIErrorResponse' + description: Bad Request + '403': + content: + application/json: + schema: + $ref: '#/components/schemas/APIErrorResponse' + description: Forbidden - User is not authorized + '429': + content: + application/json: + schema: + $ref: '#/components/schemas/APIErrorResponse' + description: Too many requests + security: + - apiKeyAuth: [] + appKeyAuth: [] + - AuthZ: + - usage_read + summary: Get billing dimension mapping for usage endpoints + tags: + - Usage Metering + x-permission: + operator: OR + permissions: + - usage_read + /api/v2/usage/cost_by_org: + get: + deprecated: true + description: |- + Get cost across multi-org account. + Cost by org data for a given month becomes available no later than the 16th of the following month. + **Note:** This endpoint has been deprecated. Please use the new endpoint + [`/historical_cost`](https://docs.datadoghq.com/api/latest/usage-metering/#get-historical-cost-across-your-account) + instead. + + This endpoint is only accessible for [parent-level organizations](https://docs.datadoghq.com/account_management/multi_organization/). + operationId: GetCostByOrg + parameters: + - description: 'Datetime in ISO-8601 format, UTC, precise to month: `[YYYY-MM]` for cost beginning this month.' + in: query + name: start_month + required: true + schema: + format: date-time + type: string + - description: 'Datetime in ISO-8601 format, UTC, precise to month: `[YYYY-MM]` for cost ending this month.' + in: query + name: end_month + required: false + schema: + format: date-time + type: string + responses: + '200': + content: + application/json: + examples: + default: + value: + data: [] + schema: + $ref: '#/components/schemas/CostByOrgResponse' + description: OK + '400': + content: + application/json: + schema: + $ref: '#/components/schemas/APIErrorResponse' + description: Bad Request + '403': + content: + application/json: + schema: + $ref: '#/components/schemas/APIErrorResponse' + description: Forbidden - User is not authorized + '429': + content: + application/json: + schema: + $ref: '#/components/schemas/APIErrorResponse' + description: Too many requests + security: + - apiKeyAuth: [] + appKeyAuth: [] + - AuthZ: + - usage_read + - billing_read + summary: Get cost across multi-org account + tags: + - Usage Metering + x-permission: + operator: AND + permissions: + - usage_read + - billing_read + /api/v2/usage/estimated_cost: + get: + description: |- + Get estimated cost across multi-org and single root-org accounts. + Estimated cost data is only available for the current month and previous month + and is delayed by up to 72 hours from when it was incurred. + To access historical costs prior to this, use the `/historical_cost` endpoint. + + This endpoint is only accessible for [parent-level organizations](https://docs.datadoghq.com/account_management/multi_organization/). + operationId: GetEstimatedCostByOrg + parameters: + - description: String to specify whether cost is broken down at a parent-org level or at the sub-org level. Available views are `summary` and `sub-org`. Defaults to `summary`. + in: query + name: view + required: false + schema: + type: string + - description: 'Datetime in ISO-8601 format, UTC, precise to month: `[YYYY-MM]` for cost beginning this month. **Either start_month or start_date should be specified, but not both.** (start_month cannot go beyond two months in the past). Provide an `end_month` to view month-over-month cost.' + in: query + name: start_month + required: false + schema: + format: date-time + type: string + - description: 'Datetime in ISO-8601 format, UTC, precise to month: `[YYYY-MM]` for cost ending this month.' + in: query + name: end_month + required: false + schema: + format: date-time + type: string + - description: 'Datetime in ISO-8601 format, UTC, precise to day: `[YYYY-MM-DD]` for cost beginning this day. **Either start_month or start_date should be specified, but not both.** (start_date cannot go beyond two months in the past). Provide an `end_date` to view day-over-day cumulative cost.' + in: query + name: start_date + required: false + schema: + format: date-time + type: string + - description: 'Datetime in ISO-8601 format, UTC, precise to day: `[YYYY-MM-DD]` for cost ending this day.' + in: query + name: end_date + required: false + schema: + format: date-time + type: string + - description: Controls how costs are aggregated when using `start_date`. The `cumulative` option returns month-to-date running totals. + in: query + name: cost_aggregation + required: false + schema: + $ref: '#/components/schemas/CostAggregationType' + - description: Boolean to specify whether to include accounts connected to the current account as partner customers in the Datadog partner network program. Defaults to `false`. + in: query + name: include_connected_accounts + required: false + schema: + default: false + type: boolean + responses: + '200': + content: + application/json: + examples: + default: + value: + data: [] + schema: + $ref: '#/components/schemas/CostByOrgResponse' + description: OK + '400': + content: + application/json: + schema: + $ref: '#/components/schemas/APIErrorResponse' + description: Bad Request + '403': + content: + application/json: + schema: + $ref: '#/components/schemas/APIErrorResponse' + description: Forbidden - User is not authorized + '429': + content: + application/json: + schema: + $ref: '#/components/schemas/APIErrorResponse' + description: Too many requests + security: + - apiKeyAuth: [] + appKeyAuth: [] + - AuthZ: + - usage_read + - billing_read + summary: Get estimated cost across your account + tags: + - Usage Metering + x-permission: + operator: AND + permissions: + - usage_read + - billing_read + /api/v2/usage/historical_cost: + get: + description: |- + Get historical cost across multi-org and single root-org accounts. + Cost data for a given month becomes available no later than the 16th of the following month. + + This endpoint is only accessible for [parent-level organizations](https://docs.datadoghq.com/account_management/multi_organization/). + operationId: GetHistoricalCostByOrg + parameters: + - description: 'Datetime in ISO-8601 format, UTC, precise to month: `[YYYY-MM]` for cost beginning this month.' + in: query + name: start_month + required: true + schema: + format: date-time + type: string + - description: String to specify whether cost is broken down at a parent-org level or at the sub-org level. Available views are `summary` and `sub-org`. Defaults to `summary`. + in: query + name: view + required: false + schema: + type: string + - description: 'Datetime in ISO-8601 format, UTC, precise to month: `[YYYY-MM]` for cost ending this month.' + in: query + name: end_month + required: false + schema: + format: date-time + type: string + - description: Boolean to specify whether to include accounts connected to the current account as partner customers in the Datadog partner network program. Defaults to `false`. + in: query + name: include_connected_accounts + required: false + schema: + default: false + type: boolean + responses: + '200': + content: + application/json: + examples: + default: + value: + data: [] + schema: + $ref: '#/components/schemas/CostByOrgResponse' + description: OK + '400': + content: + application/json: + schema: + $ref: '#/components/schemas/APIErrorResponse' + description: Bad Request + '403': + content: + application/json: + schema: + $ref: '#/components/schemas/APIErrorResponse' + description: Forbidden - User is not authorized + '429': + content: + application/json: + schema: + $ref: '#/components/schemas/APIErrorResponse' + description: Too many requests + security: + - apiKeyAuth: [] + appKeyAuth: [] + - AuthZ: + - usage_read + - billing_read + summary: Get historical cost across your account + tags: + - Usage Metering + x-permission: + operator: AND + permissions: + - usage_read + - billing_read + /api/v2/usage/hourly_usage: + get: + description: Get hourly usage by product family. + operationId: GetHourlyUsage + parameters: + - description: 'Datetime in ISO-8601 format, UTC, precise to hour: [YYYY-MM-DDThh] for usage beginning at this hour.' + in: query + name: filter[timestamp][start] + required: true + schema: + format: date-time + type: string + - description: 'Datetime in ISO-8601 format, UTC, precise to hour: [YYYY-MM-DDThh] for usage ending **before** this hour.' + in: query + name: filter[timestamp][end] + required: false + schema: + format: date-time + type: string + - description: |- + Comma separated list of product families to retrieve. Available families are `all`, `ai`, `analyzed_logs`, + `application_performance_monitoring`, `application_security`, `audit_trail`, `bits_ai`, `serverless`, `ci_app`, + `cloud_cost_management`, `cloud_siem`, `csm_container_enterprise`, `csm_host_enterprise`, `csm_host_pro`, `cspm`, + `custom_events`, `cws`, `data_observability`, `dbm`, `digital_experience_management`, `error_tracking`, + `fargate`, `infra_hosts`, `incident_management`, `indexed_logs`, `indexed_spans`, `infrastructure_monitoring`, + `ingested_spans`, `iot`, `lambda_traced_invocations`, `llm_observability`, `log_management`, `logs`, + `network_flows`, `network_hosts`, `network_monitoring`, `observability_pipelines`, `online_archive`, + `platform_capabilities`, `product_analytics`, `profiling`, `rum`, `rum_browser_sessions`, `rum_mobile_sessions`, + `sds`, `security`, `snmp`, `software_delivery`, `synthetics_api`, `synthetics_browser`, + `synthetics_mobile`, `synthetics_parallel_testing`, `timeseries`, `vuln_management` and `workflow_executions`. + The following product family has been **deprecated**: `audit_logs`. + in: query + name: filter[product_families] + required: true + schema: + type: string + - description: Include child org usage in the response. Defaults to false. + in: query + name: filter[include_descendants] + required: false + schema: + default: false + type: boolean + - description: Boolean to specify whether to include accounts connected to the current account as partner customers in the Datadog partner network program. Defaults to false. + in: query + name: filter[include_connected_accounts] + required: false + schema: + default: false + type: boolean + - description: Include breakdown of usage by subcategories where applicable (for product family logs only). Defaults to false. + in: query + name: filter[include_breakdown] + required: false + schema: + default: false + type: boolean + - description: |- + Comma separated list of product family versions to use in the format `product_family:version`. For example, + `infra_hosts:1.0.0`. If this parameter is not used, the API will use the latest version of each requested + product family. Currently all families have one version `1.0.0`. + in: query + name: filter[versions] + required: false + schema: + type: string + - description: Maximum number of results to return (between 1 and 500) - defaults to 500 if limit not specified. + in: query + name: page[limit] + required: false + schema: + default: 500 + format: int32 + maximum: 500 + minimum: 1 + type: integer + - description: List following results with a next_record_id provided in the previous query. + in: query + name: page[next_record_id] + required: false + schema: + type: string + responses: + '200': + content: + application/json: + examples: + default: + value: + data: + - id: abc-123 + type: usage_timeseries + schema: + $ref: '#/components/schemas/HourlyUsageResponse' + description: OK + '400': + content: + application/json: + schema: + $ref: '#/components/schemas/APIErrorResponse' + description: Bad Request + '403': + content: + application/json: + schema: + $ref: '#/components/schemas/APIErrorResponse' + description: Forbidden - User is not authorized + '429': + content: + application/json: + schema: + $ref: '#/components/schemas/APIErrorResponse' + description: Too many requests + security: + - apiKeyAuth: [] + appKeyAuth: [] + - AuthZ: + - usage_read + summary: Get hourly usage by product family + tags: + - Usage Metering + x-permission: + operator: OR + permissions: + - usage_read + /api/v2/usage/lambda_traced_invocations: + get: + deprecated: true + description: |- + Get hourly usage for Lambda traced invocations. + **Note:** This endpoint has been deprecated.. Hourly usage data for all products is now available in the [Get hourly usage by product family API](https://docs.datadoghq.com/api/latest/usage-metering/#get-hourly-usage-by-product-family) + operationId: GetUsageLambdaTracedInvocations + parameters: + - description: 'Datetime in ISO-8601 format, UTC, precise to hour: `[YYYY-MM-DDThh]` for usage beginning at this hour.' + in: query + name: start_hr + required: true + schema: + format: date-time + type: string + - description: |- + Datetime in ISO-8601 format, UTC, precise to hour: `[YYYY-MM-DDThh]` for usage ending + **before** this hour. + in: query + name: end_hr + required: false + schema: + format: date-time + type: string + responses: + '200': + content: + application/json: + examples: + default: + value: + data: [] + schema: + $ref: '#/components/schemas/UsageLambdaTracedInvocationsResponse' + description: OK + '400': + content: + application/json: + schema: + $ref: '#/components/schemas/APIErrorResponse' + description: Bad Request + '403': + content: + application/json: + schema: + $ref: '#/components/schemas/APIErrorResponse' + description: Forbidden - User is not authorized + '429': + content: + application/json: + schema: + $ref: '#/components/schemas/APIErrorResponse' + description: Too many requests + security: + - apiKeyAuth: [] + appKeyAuth: [] + - AuthZ: + - usage_read + summary: Get hourly usage for Lambda traced invocations + tags: + - Usage Metering + x-permission: + operator: OR + permissions: + - usage_read + /api/v2/usage/observability_pipelines: + get: + deprecated: true + description: |- + Get hourly usage for observability pipelines. + **Note:** This endpoint has been deprecated. Hourly usage data for all products is now available in the [Get hourly usage by product family API](https://docs.datadoghq.com/api/latest/usage-metering/#get-hourly-usage-by-product-family) + operationId: GetUsageObservabilityPipelines + parameters: + - description: 'Datetime in ISO-8601 format, UTC, precise to hour: `[YYYY-MM-DDThh]` for usage beginning at this hour.' + in: query + name: start_hr + required: true + schema: + format: date-time + type: string + - description: |- + Datetime in ISO-8601 format, UTC, precise to hour: `[YYYY-MM-DDThh]` for usage ending + **before** this hour. + in: query + name: end_hr + required: false + schema: + format: date-time + type: string + responses: + '200': + content: + application/json: + examples: + default: + value: + data: [] + schema: + $ref: '#/components/schemas/UsageObservabilityPipelinesResponse' + description: OK + '400': + content: + application/json: + schema: + $ref: '#/components/schemas/APIErrorResponse' + description: Bad Request + '403': + content: + application/json: + schema: + $ref: '#/components/schemas/APIErrorResponse' + description: Forbidden - User is not authorized + '429': + content: + application/json: + schema: + $ref: '#/components/schemas/APIErrorResponse' + description: Too many requests + security: + - apiKeyAuth: [] + appKeyAuth: [] + - AuthZ: + - usage_read + summary: Get hourly usage for observability pipelines + tags: + - Usage Metering + x-permission: + operator: OR + permissions: + - usage_read + /api/v2/usage/projected_cost: + get: + description: |- + Get projected cost across multi-org and single root-org accounts. + Projected cost data is only available for the current month and becomes available around the 12th of the month. + + This endpoint is only accessible for [parent-level organizations](https://docs.datadoghq.com/account_management/multi_organization/). + operationId: GetProjectedCost + parameters: + - description: String to specify whether cost is broken down at a parent-org level or at the sub-org level. Available views are `summary` and `sub-org`. Defaults to `summary`. + in: query + name: view + required: false + schema: + type: string + - description: Boolean to specify whether to include accounts connected to the current account as partner customers in the Datadog partner network program. Defaults to `false`. + in: query + name: include_connected_accounts + required: false + schema: + default: false + type: boolean + responses: + '200': + content: + application/json: + examples: + default: + value: + data: [] + schema: + $ref: '#/components/schemas/ProjectedCostResponse' + description: OK + '400': + content: + application/json: + schema: + $ref: '#/components/schemas/APIErrorResponse' + description: Bad Request + '403': + content: + application/json: + schema: + $ref: '#/components/schemas/APIErrorResponse' + description: Forbidden - User is not authorized + '429': + content: + application/json: + schema: + $ref: '#/components/schemas/APIErrorResponse' + description: Too many requests + security: + - apiKeyAuth: [] + appKeyAuth: [] + - AuthZ: + - usage_read + - billing_read + summary: Get projected cost across your account + tags: + - Usage Metering + x-permission: + operator: AND + permissions: + - usage_read + - billing_read + /api/v2/usage/summary/available_fields: + get: + description: |- + List the field names returned by `GET /api/v1/usage/summary` at each of its + three response levels. Each list contains every key the data endpoint + emits—both typed fields declared in the OpenAPI spec and untyped keys + exposed through `additionalProperties` (the latter used for billing + dimensions and usage types added after the v1 schema freeze). + + This endpoint is only accessible for [parent-level organizations](https://docs.datadoghq.com/account_management/multi_organization/). + + Go example: + + ```go + fields, _, err := api.GetUsageSummaryAvailableFields(ctx) + attr := fields.Data.GetAttributes() + + // resp is the *UsageSummaryResponse returned by api.GetUsageSummary(ctx, ...) + // Layer 1: UsageSummaryResponse + for _, key := range attr.GetResponseFields() { + if val, ok := resp.AdditionalProperties[key]; ok { + fmt.Println(key, val.(json.Number)) + } + } + // Layer 2: UsageSummaryDate (per month) + for _, date := range resp.GetUsage() { + for _, key := range attr.GetDateFields() { + if val, ok := date.AdditionalProperties[key]; ok { + fmt.Println(key, val.(json.Number)) + } + } + // Layer 3: UsageSummaryDateOrg (per org per month) + for _, org := range date.GetOrgs() { + for _, key := range attr.GetDateOrgFields() { + if val, ok := org.AdditionalProperties[key]; ok { + fmt.Println(key, val.(json.Number)) + } + } + } + } + ``` + operationId: GetUsageSummaryAvailableFields + responses: + '200': + content: + application/json: + examples: + default: + value: + data: + attributes: + date_fields: + - agent_host_top99p + - aws_host_top99p + - ccm_anthropic_spend_last + date_org_fields: + - agent_host_top99p + - aws_host_top99p + - ccm_anthropic_spend_last + response_fields: + - agent_host_top99p_sum + - aws_host_top99p_sum + - ccm_anthropic_spend_last_sum + id: all + type: usage_summary_available_fields + schema: + $ref: '#/components/schemas/UsageSummaryAvailableFieldsResponse' + description: OK. + '403': + content: + application/json: + schema: + $ref: '#/components/schemas/APIErrorResponse' + description: Forbidden - User is not authorized. + '429': + content: + application/json: + schema: + $ref: '#/components/schemas/APIErrorResponse' + description: Too many requests. + security: + - apiKeyAuth: [] + appKeyAuth: [] + - AuthZ: + - usage_read + summary: Get available fields for usage summary + tags: + - Usage Metering + x-permission: + operator: OR + permissions: + - usage_read + /api/v2/usage/usage-attribution-types: + get: + description: Get usage attribution types. + operationId: GetUsageAttributionTypes + responses: + '200': + content: + application/json: + examples: + default: + value: + data: + id: abc-123 + type: usage_attribution_types + schema: + $ref: '#/components/schemas/UsageAttributionTypesResponse' + description: OK + '403': + content: + application/json: + schema: + $ref: '#/components/schemas/APIErrorResponse' + description: Forbidden - User is not authorized + '429': + content: + application/json: + schema: + $ref: '#/components/schemas/APIErrorResponse' + description: Too many requests + security: + - apiKeyAuth: [] + appKeyAuth: [] + - AuthZ: + - usage_read + summary: Get usage attribution types + tags: + - Usage Metering + x-permission: + operator: OR + permissions: + - usage_read + /api/v2/user_authorized_clients: + get: + description: Get a list of all OAuth2 clients authorized by the current user. + operationId: ListUserAuthorizedClients + parameters: + - $ref: '#/components/parameters/PageSize' + - $ref: '#/components/parameters/PageNumber' + - description: Filter results by client name, app title, or app description. + in: query + name: filter + required: false + schema: + type: string + - description: Filter results by the user-level disabled status. + in: query + name: filter[disabled] + required: false + schema: + type: string + - description: 'Comma-separated list of related resources to include. Options: `oauth2_client`, `oauth2_client.app`.' + in: query + name: include + required: false + schema: + type: string + responses: + '200': + content: + application/json: + examples: + default: + value: + data: + - attributes: + created_at: '2024-01-10T08:00:00+00:00' + disabled: false + last_exercised: '2024-01-15T10:30:00+00:00' + modified_at: '2024-01-10T08:00:00+00:00' + org_disabled: false + id: 00000000-0000-0000-0000-000000000001 + relationships: + oauth2_client: + data: + id: 00000000-0000-0000-0000-000000000010 + type: oauth2_clients + scopes: + data: + - id: example_scope + type: scopes + user: + data: + id: 00000000-0000-9999-0000-000000000001 + type: users + type: user_authorized_clients + meta: + page: + total_count: 1 + total_filtered_count: 1 + schema: + $ref: '#/components/schemas/UserAuthorizedClientsResponse' + description: OK + '403': + content: + application/json: + schema: + $ref: '#/components/schemas/JSONAPIErrorResponse' + description: Authentication error + '429': + $ref: '#/components/responses/TooManyRequestsResponse' + security: + - apiKeyAuth: [] + appKeyAuth: [] + - AuthZ: + - built_in_features + summary: List user authorized clients + tags: + - User Authorized Clients + x-pagination: + limitParam: page[size] + pageParam: page[number] + resultsPath: data + /api/v2/user_authorized_clients/client/{client_id}: + delete: + description: Disable all authorizations the current user has granted to the specified OAuth2 client. + operationId: DeleteUserAuthorizedClientsByClient + parameters: + - $ref: '#/components/parameters/OAuth2ClientId' + responses: + '204': + description: No Content + '403': + content: + application/json: + schema: + $ref: '#/components/schemas/JSONAPIErrorResponse' + description: Authentication error + '404': + content: + application/json: + schema: + $ref: '#/components/schemas/JSONAPIErrorResponse' + description: Not Found + '429': + $ref: '#/components/responses/TooManyRequestsResponse' + security: + - apiKeyAuth: [] + appKeyAuth: [] + - AuthZ: [] + summary: Delete all user authorized clients for a client + tags: + - User Authorized Clients + /api/v2/user_authorized_clients/{user_authorized_client_id}: + delete: + description: Disable the current user's authorization for the specified OAuth2 client. + operationId: DeleteUserAuthorizedClient + parameters: + - $ref: '#/components/parameters/UserAuthorizedClientId' + responses: + '204': + description: No Content + '403': + content: + application/json: + schema: + $ref: '#/components/schemas/JSONAPIErrorResponse' + description: Authentication error + '404': + content: + application/json: + schema: + $ref: '#/components/schemas/JSONAPIErrorResponse' + description: Not Found + '429': + $ref: '#/components/responses/TooManyRequestsResponse' + security: + - apiKeyAuth: [] + appKeyAuth: [] + - AuthZ: + - built_in_features + summary: Delete a user authorized client + tags: + - User Authorized Clients + get: + description: Get a single OAuth2 client authorization for the current user. + operationId: GetUserAuthorizedClient + parameters: + - $ref: '#/components/parameters/UserAuthorizedClientId' + responses: + '200': + content: + application/json: + examples: + default: + value: + data: + attributes: + created_at: '2024-01-10T08:00:00+00:00' + disabled: false + last_exercised: '2024-01-15T10:30:00+00:00' + modified_at: '2024-01-10T08:00:00+00:00' + org_disabled: false + id: 00000000-0000-0000-0000-000000000001 + relationships: + oauth2_client: + data: + id: 00000000-0000-0000-0000-000000000010 + type: oauth2_clients + scopes: + data: + - id: example_scope + type: scopes + user: + data: + id: 00000000-0000-9999-0000-000000000001 + type: users + type: user_authorized_clients + schema: + $ref: '#/components/schemas/UserAuthorizedClientResponse' + description: OK + '403': + content: + application/json: + schema: + $ref: '#/components/schemas/JSONAPIErrorResponse' + description: Authentication error + '404': + content: + application/json: + schema: + $ref: '#/components/schemas/JSONAPIErrorResponse' + description: Not Found + '429': + $ref: '#/components/responses/TooManyRequestsResponse' + security: + - apiKeyAuth: [] + appKeyAuth: [] + - AuthZ: + - built_in_features + summary: Get a user authorized client + tags: + - User Authorized Clients + /api/v2/user_invitations: + post: + description: Sends emails to one or more users inviting them to join the organization. + operationId: SendInvitations + requestBody: + content: + application/json: + examples: + default: + value: + data: + - relationships: + user: + data: + id: 6cf192b6-d1d9-11ec-ad3d-da7ad0900002 + type: users + type: user_invitations + schema: + $ref: '#/components/schemas/UserInvitationsRequest' + required: true + responses: + '201': + content: + application/json: + examples: + default: + value: + data: + - attributes: + created_at: '2024-01-01T00:00:00+00:00' + expires_at: '2024-01-08T00:00:00+00:00' + invite_type: email + uuid: 00000000-0000-0000-0000-000000000001 + id: 00000000-0000-0000-0000-000000000007 + type: user_invitations + schema: + $ref: '#/components/schemas/UserInvitationsResponse' + description: OK + '400': + content: + application/json: + schema: + $ref: '#/components/schemas/APIErrorResponse' + description: Bad Request + '403': + content: + application/json: + schema: + $ref: '#/components/schemas/APIErrorResponse' + description: Authentication error + '429': + $ref: '#/components/responses/TooManyRequestsResponse' + security: + - apiKeyAuth: [] + appKeyAuth: [] + - AuthZ: + - user_access_invite + summary: Send invitation emails + tags: + - Users + x-codegen-request-body-name: body + x-permission: + operator: OR + permissions: + - user_access_invite + /api/v2/user_invitations/{user_invitation_uuid}: + get: + description: Returns a single user invitation by its UUID. + operationId: GetInvitation + parameters: + - description: The UUID of the user invitation. + in: path + name: user_invitation_uuid + required: true + schema: + example: 00000000-0000-0000-3456-000000000000 + type: string + responses: + '200': + content: + application/json: + examples: + default: + value: + data: + attributes: + invite_type: email + uuid: 00000000-0000-0000-0000-000000000001 + id: 00000000-0000-0000-0000-000000000008 + type: user_invitations + schema: + $ref: '#/components/schemas/UserInvitationResponse' + description: OK + '403': + content: + application/json: + schema: + $ref: '#/components/schemas/APIErrorResponse' + description: Authentication error + '404': + content: + application/json: + schema: + $ref: '#/components/schemas/APIErrorResponse' + description: Not found + '429': + $ref: '#/components/responses/TooManyRequestsResponse' + security: + - apiKeyAuth: [] + appKeyAuth: [] + - AuthZ: + - user_access_invite + summary: Get a user invitation + tags: + - Users + x-codegen-request-body-name: body + x-permission: + operator: OR + permissions: + - user_access_invite + /api/v2/users: + get: + description: |- + Get the list of all users in the organization. This list includes + all users even if they are deactivated or unverified. + operationId: ListUsers + parameters: + - $ref: '#/components/parameters/PageSize' + - $ref: '#/components/parameters/PageNumber' + - description: |- + User attribute to order results by. Sort order is ascending by default. + Sort order is descending if the field + is prefixed by a negative sign, for example `sort=-name`. Options: `name`, + `modified_at`, `user_count`. + in: query + name: sort + required: false + schema: + default: name + example: name + type: string + - description: 'Direction of sort. Options: `asc`, `desc`.' + in: query + name: sort_dir + required: false + schema: + $ref: '#/components/schemas/QuerySortOrder' + - description: Filter all users by the given string. Defaults to no filtering. + in: query + name: filter + required: false + schema: + type: string + - description: |- + Filter on status attribute. + Comma separated list, with possible values `Active`, `Pending`, and `Disabled`. + Defaults to no filtering. + in: query + name: filter[status] + required: false + schema: + example: Active + type: string + responses: + '200': + content: + application/json: + examples: + default: + value: + data: + - attributes: + email: test@example.com + handle: example-handle + name: Example Name + status: Active + id: 00000000-0000-0000-0000-000000000001 + type: users + included: [] + meta: {} + schema: + $ref: '#/components/schemas/UsersResponse' + description: OK + '400': + content: + application/json: + schema: + $ref: '#/components/schemas/APIErrorResponse' + description: Bad Request + '403': + content: + application/json: + schema: + $ref: '#/components/schemas/APIErrorResponse' + description: Authentication error + '429': + $ref: '#/components/responses/TooManyRequestsResponse' + security: + - apiKeyAuth: [] + appKeyAuth: [] + - AuthZ: + - user_access_read + summary: List all users + tags: + - Users + x-codegen-request-body-name: body + x-pagination: + limitParam: page[size] + pageParam: page[number] + resultsPath: data + x-permission: + operator: OR + permissions: + - user_access_read + post: + description: Create a user for your organization. + operationId: CreateUser + requestBody: + content: + application/json: + examples: + default: + value: + data: + attributes: + email: jane.doe@example.com + relationships: + roles: + data: + - id: 3653d3c6-0c75-11ea-ad28-fb5701eabc7d + type: users + schema: + $ref: '#/components/schemas/UserCreateRequest' + required: true + responses: + '201': + content: + application/json: + examples: + default: + value: + data: + attributes: + email: test@example.com + handle: example-handle + name: Example Name + status: Active + id: 00000000-0000-0000-0000-000000000002 + type: users + included: [] + schema: + $ref: '#/components/schemas/UserResponse' + description: OK + '400': + content: + application/json: + schema: + $ref: '#/components/schemas/APIErrorResponse' + description: Bad Request + '403': + content: + application/json: + schema: + $ref: '#/components/schemas/APIErrorResponse' + description: Authentication error + '429': + $ref: '#/components/responses/TooManyRequestsResponse' + security: + - apiKeyAuth: [] + appKeyAuth: [] + - AuthZ: + - user_access_invite + summary: Create a user + tags: + - Users + x-codegen-request-body-name: body + x-permission: + operator: OR + permissions: + - user_access_invite + /api/v2/users/{user_id}: + delete: + description: |- + Disable a user. Can only be used with an application key belonging + to an administrator user. + operationId: DisableUser + parameters: + - $ref: '#/components/parameters/UserID' + responses: + '204': + description: OK + '403': + content: + application/json: + schema: + $ref: '#/components/schemas/APIErrorResponse' + description: Authentication error + '404': + content: + application/json: + schema: + $ref: '#/components/schemas/APIErrorResponse' + description: Not found + '429': + $ref: '#/components/responses/TooManyRequestsResponse' + security: + - apiKeyAuth: [] + appKeyAuth: [] + - AuthZ: + - user_access_manage + summary: Disable a user + tags: + - Users + x-codegen-request-body-name: body + x-permission: + operator: OR + permissions: + - user_access_manage + - service_account_write + get: + description: Get a user in the organization specified by the user’s `user_id`. + operationId: GetUser + parameters: + - $ref: '#/components/parameters/UserID' + responses: + '200': + content: + application/json: + examples: + default: + value: + data: + attributes: + email: test@example.com + handle: example-handle + name: Example Name + status: Active + id: 00000000-0000-0000-0000-000000000003 + type: users + included: [] + schema: + $ref: '#/components/schemas/UserResponse' + description: OK + '403': + content: + application/json: + schema: + $ref: '#/components/schemas/APIErrorResponse' + description: Authentication error + '404': + content: + application/json: + schema: + $ref: '#/components/schemas/APIErrorResponse' + description: Not found + '429': + $ref: '#/components/responses/TooManyRequestsResponse' + security: + - apiKeyAuth: [] + appKeyAuth: [] + - AuthZ: + - user_access_read + summary: Get user details + tags: + - Users + x-codegen-request-body-name: body + x-permission: + operator: OR + permissions: + - user_access_read + patch: + description: |- + Edit a user. Can only be used with an application key belonging + to an administrator user. + operationId: UpdateUser + parameters: + - $ref: '#/components/parameters/UserID' + requestBody: + content: + application/json: + examples: + default: + value: + data: + id: 00000000-0000-feed-0000-000000000000 + type: users + schema: + $ref: '#/components/schemas/UserUpdateRequest' + required: true + responses: + '200': + content: + application/json: + examples: + default: + value: + data: + attributes: + email: test@example.com + handle: example-handle + name: Example Name + status: Active + id: 00000000-0000-0000-0000-000000000004 + type: users + included: [] + schema: + $ref: '#/components/schemas/UserResponse' + description: OK + '400': + content: + application/json: + schema: + $ref: '#/components/schemas/APIErrorResponse' + description: Bad Request + '403': + content: + application/json: + schema: + $ref: '#/components/schemas/APIErrorResponse' + description: Authentication error + '404': + content: + application/json: + schema: + $ref: '#/components/schemas/APIErrorResponse' + description: Not found + '422': + content: + application/json: + schema: + $ref: '#/components/schemas/APIErrorResponse' + description: Unprocessable Entity + '429': + $ref: '#/components/responses/TooManyRequestsResponse' + security: + - apiKeyAuth: [] + appKeyAuth: [] + - AuthZ: + - user_access_manage + summary: Update a user + tags: + - Users + x-codegen-request-body-name: body + x-permission: + operator: OR + permissions: + - user_access_manage + - service_account_write + /api/v2/users/{user_id}/identity_providers: + get: + description: |- + Get the identity provider overrides for a specific user in the organization. + When a user has no overrides set, they use the organization's default identity providers. + operationId: GetUserIdentityProviders + parameters: + - $ref: '#/components/parameters/UserID' + responses: + '200': + content: + application/json: + examples: + default: + value: + data: + - attributes: + authentication_method: SAML + id: 00000000-0000-0000-0000-000000000001 + type: identity_providers + schema: + $ref: '#/components/schemas/UserOverrideIdentityProvidersResponse' + description: OK + '403': + content: + application/json: + schema: + $ref: '#/components/schemas/APIErrorResponse' + description: Authentication error + '404': + content: + application/json: + schema: + $ref: '#/components/schemas/APIErrorResponse' + description: Not found + '429': + $ref: '#/components/responses/TooManyRequestsResponse' + security: + - apiKeyAuth: [] + appKeyAuth: [] + - AuthZ: + - user_access_manage + summary: Get identity provider overrides for a user + tags: + - Users + x-permission: + operator: OR + permissions: + - user_access_manage + /api/v2/users/{user_id}/invitations: + delete: + description: |- + Cancel all pending invitations for a specified user. + Requires the `user_access_invite` permission. + operationId: DeleteUserInvitations + parameters: + - description: The UUID of the user whose pending invitations should be canceled. + in: path + name: user_id + required: true + schema: + example: 4dee724d-00cc-11ea-a77b-570c9d03c6c5 + format: uuid + type: string + responses: + '200': + description: OK + '403': + content: + application/json: + schema: + $ref: '#/components/schemas/APIErrorResponse' + description: Authentication error + '404': + content: + application/json: + schema: + $ref: '#/components/schemas/APIErrorResponse' + description: Not found + '429': + $ref: '#/components/responses/TooManyRequestsResponse' + security: + - apiKeyAuth: [] + appKeyAuth: [] + - AuthZ: + - user_access_invite + summary: Delete a pending user's invitations + tags: + - Users + x-permission: + operator: OR + permissions: + - user_access_invite + /api/v2/users/{user_id}/orgs: + get: + description: |- + Get a user organization. Returns the user information and all organizations + joined by this user. + operationId: ListUserOrganizations + parameters: + - $ref: '#/components/parameters/UserID' + responses: + '200': + content: + application/json: + examples: + default: + value: + data: + attributes: + email: test@example.com + handle: example-handle + name: Example Name + status: Active + id: 00000000-0000-0000-0000-000000000005 + type: users + included: [] + schema: + $ref: '#/components/schemas/UserResponse' + description: OK + '403': + content: + application/json: + schema: + $ref: '#/components/schemas/APIErrorResponse' + description: Authentication error + '404': + content: + application/json: + schema: + $ref: '#/components/schemas/APIErrorResponse' + description: Not found + '429': + $ref: '#/components/responses/TooManyRequestsResponse' + security: + - apiKeyAuth: [] + appKeyAuth: [] + - AuthZ: [] + summary: Get a user organization + tags: + - Users + x-codegen-request-body-name: body + x-permission: + operator: OPEN + permissions: [] + /api/v2/users/{user_id}/permissions: + get: + description: |- + Get a user permission set. Returns a list of the user’s permissions + granted by the associated user's roles. + operationId: ListUserPermissions + parameters: + - $ref: '#/components/parameters/UserID' + responses: + '200': + content: + application/json: + examples: + default: + value: + data: + - attributes: + display_name: Logs Read Data + display_type: read + name: logs_read_data + restricted: false + id: 00000000-0000-0000-0000-000000000006 + type: permissions + schema: + $ref: '#/components/schemas/PermissionsResponse' + description: OK + '403': + content: + application/json: + schema: + $ref: '#/components/schemas/APIErrorResponse' + description: Authentication error + '404': + content: + application/json: + schema: + $ref: '#/components/schemas/APIErrorResponse' + description: Not found + '429': + $ref: '#/components/responses/TooManyRequestsResponse' + security: + - apiKeyAuth: [] + appKeyAuth: [] + - AuthZ: + - user_access_read + summary: Get a user permissions + tags: + - Users + x-codegen-request-body-name: body + x-permission: + operator: OR + permissions: + - user_access_read + /api/v2/users/{user_id}/relationships/identity_providers: + patch: + description: |- + Set the identity provider overrides for a specific user in the organization. + Pass an empty list to remove all overrides, reverting the user to the organization's + default identity providers. + operationId: UpdateUserIdentityProviders + parameters: + - $ref: '#/components/parameters/UserID' + requestBody: + content: + application/json: + examples: + default: + value: + data: + - id: 00000000-0000-0000-0000-000000000001 + type: identity_providers + schema: + $ref: '#/components/schemas/UpdateUserIdentityProvidersRequest' + required: true + responses: + '204': + description: No Content + '400': + content: + application/json: + schema: + $ref: '#/components/schemas/APIErrorResponse' + description: Bad Request + '403': + content: + application/json: + schema: + $ref: '#/components/schemas/APIErrorResponse' + description: Authentication error + '404': + content: + application/json: + schema: + $ref: '#/components/schemas/APIErrorResponse' + description: Not found + '429': + $ref: '#/components/responses/TooManyRequestsResponse' + security: + - apiKeyAuth: [] + appKeyAuth: [] + - AuthZ: + - user_access_manage + summary: Update identity provider overrides for a user + tags: + - Users + x-codegen-request-body-name: body + x-permission: + operator: OR + permissions: + - user_access_manage + /api/v2/users/{user_uuid}/memberships: + get: + description: Get a list of memberships for a user + operationId: GetUserMemberships + parameters: + - description: None + in: path + name: user_uuid + required: true + schema: + type: string + responses: + '200': + content: + application/json: + examples: + default: + value: + data: + - attributes: + role: admin + id: 00000000-0000-0000-0000-000000000001 + type: team_memberships + schema: + $ref: '#/components/schemas/UserTeamsResponse' + description: Represents a user's association to a team + '404': + content: + application/json: + schema: + $ref: '#/components/schemas/APIErrorResponse' + description: API error response. + '429': + $ref: '#/components/responses/TooManyRequestsResponse' + security: + - apiKeyAuth: [] + appKeyAuth: [] + - AuthZ: + - teams_read + summary: Get user memberships + tags: + - Teams + x-permission: + operator: OR + permissions: + - teams_read + /api/v2/validate: + get: + description: Check if the API key is valid. Returns the organization UUID, API key ID, and associated scopes. + operationId: Validate + responses: + '200': + content: + application/json: + examples: + default: + value: + data: + attributes: + api_key_id: a1b2c3d4-e5f6-47a8-b9c0-d1e2f3a4b5c6 + api_key_scopes: + - remote_config_read + valid: true + id: 550e8400-e29b-41d4-a716-446655440000 + type: validate_v2 + schema: + $ref: '#/components/schemas/ValidateV2Response' + description: OK + '403': + content: + application/json: + schema: + $ref: '#/components/schemas/JSONAPIErrorResponse' + description: Forbidden + '429': + $ref: '#/components/responses/TooManyRequestsResponse' + security: + - apiKeyAuth: [] + summary: Validate API key + tags: + - Key Management + x-permission: + operator: OPEN + permissions: [] + x-unstable: |- + **Note**: This endpoint is in preview and is subject to change. + If you have any feedback, contact [Datadog support](https://docs.datadoghq.com/help/). + /api/v2/validate_keys: + get: + description: |- + Check that the API key and application key used for the request are both valid. + Returns `{"status": "ok"}` on success, `401` or `403` otherwise. Useful as a + lightweight authentication probe before issuing other API calls that require + full credentials. + operationId: ValidateAPIKey + responses: + '200': + content: + application/json: + examples: + default: + value: + status: ok + schema: + $ref: '#/components/schemas/ValidateAPIKeyResponse' + description: OK + '401': + content: + application/json: + schema: + $ref: '#/components/schemas/APIErrorResponse' + description: Unauthorized + '403': + content: + application/json: + schema: + $ref: '#/components/schemas/APIErrorResponse' + description: Forbidden + '429': + $ref: '#/components/responses/TooManyRequestsResponse' + security: + - apiKeyAuth: [] + appKeyAuth: [] + summary: Validate API and application keys + tags: + - Key Management + x-permission: + operator: OPEN + permissions: [] + /: + get: + description: Get information about Datadog IP ranges. + operationId: GetIPRanges + responses: + '200': + content: + application/json: + examples: + default: + value: + agents: + prefixes_ipv4: + - 1.2.3.4/32 + prefixes_ipv6: [] + api: + prefixes_ipv4: + - 1.2.3.4/32 + prefixes_ipv6: [] + apm: + prefixes_ipv4: + - 1.2.3.4/32 + prefixes_ipv6: [] + logs: + prefixes_ipv4: + - 1.2.3.4/32 + prefixes_ipv6: [] + modified: 2019-10-31-20-00-00 + process: + prefixes_ipv4: + - 1.2.3.4/32 + prefixes_ipv6: [] + version: 11 + webhooks: + prefixes_ipv4: + - 1.2.3.4/32 + prefixes_ipv6: [] + schema: + $ref: '#/components/schemas/IPRanges' + description: OK + '429': + $ref: '#/components/responses/TooManyRequestsResponse' + security: [] + summary: List IP Ranges + tags: + - IP Ranges + servers: + - url: https://ip-ranges.{site:.+} + variables: + site: + default: datadoghq.com + description: The regional site for Datadog customers. + x-stackQL-envVar: DD_SITE + /api/v1/api_key: + get: + description: |- + Get all API keys available for your account. + + **Note**: This endpoint is disabled for the Government sites (US1-FED and US2-FED). Use the [V2 Key Management](https://docs.datadoghq.com/api/latest/key-management/) endpoints instead. + operationId: ListAPIKeysV1 + responses: + '200': + content: + application/json: + examples: + default: + value: + api_keys: + - created: '2024-01-01T00:00:00+00:00' + created_by: test@example.com + key: abc123example456key789placeholder0 + name: app_key + schema: + $ref: '#/components/schemas/ApiKeyListResponse' + description: OK + '403': + content: + application/json: + schema: + $ref: '#/components/schemas/APIErrorResponseV1' + description: Forbidden + '429': + $ref: '#/components/responses/TooManyRequestsResponse' + summary: Get all API keys + tags: + - Key Management + x-permission: + operator: OR + permissions: + - api_keys_read + post: + description: |- + Creates an API key with a given name. + + **Note**: This endpoint is disabled for the Government sites (US1-FED and US2-FED). Use the [V2 Key Management](https://docs.datadoghq.com/api/latest/key-management/) endpoints instead. + operationId: CreateAPIKeyV1 + requestBody: + content: + application/json: + examples: + default: + value: + name: example key + schema: + $ref: '#/components/schemas/ApiKey' + required: true + responses: + '200': + content: + application/json: + examples: + default: + value: + api_key: + created: '2024-01-01T00:00:00+00:00' + created_by: test@example.com + key: abc123example456key789placeholder0 + name: app_key + schema: + $ref: '#/components/schemas/ApiKeyResponse' + description: OK + '400': + content: + application/json: + schema: + $ref: '#/components/schemas/APIErrorResponseV1' + description: Bad Request + '403': + content: + application/json: + schema: + $ref: '#/components/schemas/APIErrorResponseV1' + description: Forbidden + '429': + $ref: '#/components/responses/TooManyRequestsResponse' + summary: Create an API key + tags: + - Key Management + x-codegen-request-body-name: body + x-permission: + operator: OR + permissions: + - api_keys_write + /api/v1/api_key/{key}: + delete: + description: |- + Delete a given API key. + + **Note**: This endpoint is disabled for the Government sites (US1-FED and US2-FED). Use the [V2 Key Management](https://docs.datadoghq.com/api/latest/key-management/) endpoints instead. + operationId: DeleteAPIKeyV1 + parameters: + - description: The specific API key you are working with. + in: path + name: key + required: true + schema: + type: string + responses: + '200': + content: + application/json: + examples: + default: + value: + api_key: + created: '2024-01-01T00:00:00+00:00' + created_by: test@example.com + key: abc123example456key789placeholder0 + name: app_key + schema: + $ref: '#/components/schemas/ApiKeyResponse' + description: OK + '400': + content: + application/json: + schema: + $ref: '#/components/schemas/APIErrorResponseV1' + description: Bad Request + '403': + content: + application/json: + schema: + $ref: '#/components/schemas/APIErrorResponseV1' + description: Forbidden + '404': + content: + application/json: + schema: + $ref: '#/components/schemas/APIErrorResponseV1' + description: Not Found + '429': + $ref: '#/components/responses/TooManyRequestsResponse' + summary: Delete an API key + tags: + - Key Management + x-permission: + operator: OR + permissions: + - api_keys_delete + get: + description: |- + Get a given API key. + + **Note**: This endpoint is disabled for the Government sites (US1-FED and US2-FED). Use the [V2 Key Management](https://docs.datadoghq.com/api/latest/key-management/) endpoints instead. + operationId: GetAPIKeyV1 + parameters: + - description: The specific API key you are working with. + in: path + name: key + required: true + schema: + type: string + responses: + '200': + content: + application/json: + examples: + default: + value: + api_key: + created: '2024-01-01T00:00:00+00:00' + created_by: test@example.com + key: abc123example456key789placeholder0 + name: app_key + schema: + $ref: '#/components/schemas/ApiKeyResponse' + description: OK + '403': + content: + application/json: + schema: + $ref: '#/components/schemas/APIErrorResponseV1' + description: Forbidden + '404': + content: + application/json: + schema: + $ref: '#/components/schemas/APIErrorResponseV1' + description: Not Found + '429': + $ref: '#/components/responses/TooManyRequestsResponse' + summary: Get API key + tags: + - Key Management + x-permission: + operator: OR + permissions: + - api_keys_read + put: + description: |- + Edit an API key name. + + **Note**: This endpoint is disabled for the Government sites (US1-FED and US2-FED). Use the [V2 Key Management](https://docs.datadoghq.com/api/latest/key-management/) endpoints instead. + operationId: UpdateAPIKeyV1 + parameters: + - description: The specific API key you are working with. + in: path + name: key + required: true + schema: + type: string + requestBody: + content: + application/json: + examples: + default: + value: + name: example key + schema: + $ref: '#/components/schemas/ApiKey' + required: true + responses: + '200': + content: + application/json: + examples: + default: + value: + api_key: + created: '2024-01-01T00:00:00+00:00' + created_by: test@example.com + key: abc123example456key789placeholder0 + name: app_key + schema: + $ref: '#/components/schemas/ApiKeyResponse' + description: OK + '400': + content: + application/json: + schema: + $ref: '#/components/schemas/APIErrorResponseV1' + description: Bad Request + '403': + content: + application/json: + schema: + $ref: '#/components/schemas/APIErrorResponseV1' + description: Forbidden + '404': + content: + application/json: + schema: + $ref: '#/components/schemas/APIErrorResponseV1' + description: Not Found + '429': + $ref: '#/components/responses/TooManyRequestsResponse' + summary: Edit an API key + tags: + - Key Management + x-codegen-request-body-name: body + x-permission: + operator: OR + permissions: + - api_keys_write + /api/v1/application_key: + get: + description: |- + Get all application keys available for your Datadog account. + This endpoint is disabled for organizations in [One-Time Read mode](https://docs.datadoghq.com/account_management/api-app-keys/#one-time-read-mode). + + **Note**: This endpoint is disabled for the Government sites (US1-FED and US2-FED). Use the [V2 Key Management](https://docs.datadoghq.com/api/latest/key-management/) endpoints instead. + operationId: ListApplicationKeysV1 + responses: + '200': + content: + application/json: + examples: + default: + value: + application_keys: + - hash: 1234512345123459cda4eb9ced49a3d84fd0138c + name: app_key + owner: test@example.com + schema: + $ref: '#/components/schemas/ApplicationKeyListResponse' + description: OK + '403': + content: + application/json: + schema: + $ref: '#/components/schemas/APIErrorResponseV1' + description: Forbidden + '429': + $ref: '#/components/responses/TooManyRequestsResponse' + summary: Get all application keys + tags: + - Key Management + x-permission: + operator: OR + permissions: + - org_app_keys_read + - user_app_keys + post: + description: |- + Create an application key with a given name. + This endpoint is disabled for organizations in [One-Time Read mode](https://docs.datadoghq.com/account_management/api-app-keys/#one-time-read-mode). + + **Note**: This endpoint is disabled for the Government sites (US1-FED and US2-FED). Use the [V2 Key Management](https://docs.datadoghq.com/api/latest/key-management/) endpoints instead. + operationId: CreateApplicationKey + requestBody: + content: + application/json: + examples: + default: + value: + name: example key + schema: + $ref: '#/components/schemas/ApplicationKey' + required: true + responses: + '200': + content: + application/json: + examples: + default: + value: + application_key: + hash: 1234512345123459cda4eb9ced49a3d84fd0138c + name: app_key + owner: test@example.com + schema: + $ref: '#/components/schemas/ApplicationKeyResponseV1' + description: OK + '400': + content: + application/json: + schema: + $ref: '#/components/schemas/APIErrorResponseV1' + description: Bad Request + '403': + content: + application/json: + schema: + $ref: '#/components/schemas/APIErrorResponseV1' + description: Forbidden + '409': + content: + application/json: + schema: + $ref: '#/components/schemas/APIErrorResponseV1' + description: Conflict + '429': + $ref: '#/components/responses/TooManyRequestsResponse' + summary: Create an application key + tags: + - Key Management + x-codegen-request-body-name: body + x-permission: + operator: OR + permissions: + - user_app_keys + /api/v1/application_key/{key}: + delete: + description: |- + Delete a given application key. + This endpoint is disabled for organizations in [One-Time Read mode](https://docs.datadoghq.com/account_management/api-app-keys/#one-time-read-mode). + + **Note**: This endpoint is disabled for the Government sites (US1-FED and US2-FED). Use the [V2 Key Management](https://docs.datadoghq.com/api/latest/key-management/) endpoints instead. + operationId: DeleteApplicationKeyV1 + parameters: + - description: The specific APP key you are working with. + in: path + name: key + required: true + schema: + type: string + responses: + '200': + content: + application/json: + examples: + default: + value: + application_key: + hash: 1234512345123459cda4eb9ced49a3d84fd0138c + name: app_key + owner: test@example.com + schema: + $ref: '#/components/schemas/ApplicationKeyResponseV1' + description: OK + '403': + content: + application/json: + schema: + $ref: '#/components/schemas/APIErrorResponseV1' + description: Forbidden + '404': + content: + application/json: + schema: + $ref: '#/components/schemas/APIErrorResponseV1' + description: Not Found + '429': + $ref: '#/components/responses/TooManyRequestsResponse' + summary: Delete an application key + tags: + - Key Management + x-permission: + operator: OR + permissions: + - org_app_keys_write + - user_app_keys + get: + description: |- + Get a given application key. + This endpoint is disabled for organizations in [One-Time Read mode](https://docs.datadoghq.com/account_management/api-app-keys/#one-time-read-mode). + + **Note**: This endpoint is disabled for the Government sites (US1-FED and US2-FED). Use the [V2 Key Management](https://docs.datadoghq.com/api/latest/key-management/) endpoints instead. + operationId: GetApplicationKeyV1 + parameters: + - description: The specific APP key you are working with. + in: path + name: key + required: true + schema: + type: string + responses: + '200': + content: + application/json: + examples: + default: + value: + application_key: + hash: 1234512345123459cda4eb9ced49a3d84fd0138c + name: app_key + owner: test@example.com + schema: + $ref: '#/components/schemas/ApplicationKeyResponseV1' + description: OK + '403': + content: + application/json: + schema: + $ref: '#/components/schemas/APIErrorResponseV1' + description: Forbidden + '404': + content: + application/json: + schema: + $ref: '#/components/schemas/APIErrorResponseV1' + description: Not Found + '429': + $ref: '#/components/responses/TooManyRequestsResponse' + summary: Get an application key + tags: + - Key Management + x-permission: + operator: OR + permissions: + - org_app_keys_read + - user_app_keys + put: + description: |- + Edit an application key name. + This endpoint is disabled for organizations in [One-Time Read mode](https://docs.datadoghq.com/account_management/api-app-keys/#one-time-read-mode). + + **Note**: This endpoint is disabled for the Government sites (US1-FED and US2-FED). Use the [V2 Key Management](https://docs.datadoghq.com/api/latest/key-management/) endpoints instead. + operationId: UpdateApplicationKeyV1 + parameters: + - description: The specific APP key you are working with. + in: path + name: key + required: true + schema: + type: string + requestBody: + content: + application/json: + examples: + default: + value: + name: example key + schema: + $ref: '#/components/schemas/ApplicationKey' + required: true + responses: + '200': + content: + application/json: + examples: + default: + value: + application_key: + hash: 1234512345123459cda4eb9ced49a3d84fd0138c + name: app_key + owner: test@example.com + schema: + $ref: '#/components/schemas/ApplicationKeyResponseV1' + description: OK + '400': + content: + application/json: + schema: + $ref: '#/components/schemas/APIErrorResponseV1' + description: Bad Request + '403': + content: + application/json: + schema: + $ref: '#/components/schemas/APIErrorResponseV1' + description: Forbidden + '404': + content: + application/json: + schema: + $ref: '#/components/schemas/APIErrorResponseV1' + description: Not Found + '409': + content: + application/json: + schema: + $ref: '#/components/schemas/APIErrorResponseV1' + description: Conflict + '429': + $ref: '#/components/responses/TooManyRequestsResponse' + summary: Edit an application key + tags: + - Key Management + x-codegen-request-body-name: body + x-permission: + operator: OR + permissions: + - org_app_keys_write + - user_app_keys + /api/v1/daily_custom_reports: + get: + deprecated: true + description: |- + Get daily custom reports. + **Note:** This endpoint will be fully deprecated on December 1, 2022. + Refer to [Migrating from v1 to v2 of the Usage Attribution API](https://docs.datadoghq.com/account_management/guide/usage-attribution-migration/) for the associated migration guide. + operationId: GetDailyCustomReports + parameters: + - description: The number of files to return in the response. `[default=60]`. + in: query + name: page[size] + required: false + schema: + format: int64 + type: integer + - description: The identifier of the first page to return. This parameter is used for the pagination feature `[default=0]`. + in: query + name: page[number] + required: false + schema: + format: int64 + type: integer + - description: 'The direction to sort by: `[desc, asc]`.' + in: query + name: sort_dir + required: false + schema: + $ref: '#/components/schemas/UsageSortDirection' + - description: 'The field to sort by: `[computed_on, size, start_date, end_date]`.' + in: query + name: sort + required: false + schema: + $ref: '#/components/schemas/UsageSort' + responses: + '200': + content: + application/json: + examples: + default: + value: + data: + - attributes: + computed_on: '2024-01-02' + end_date: '2024-01-01' + size: 1024 + start_date: '2024-01-01' + tags: + - env + id: '2024-01-01' + type: reports + meta: + page: + total_count: 1 + schema: + $ref: '#/components/schemas/UsageCustomReportsResponse' + description: OK + '403': + content: + application/json: + schema: + $ref: '#/components/schemas/APIErrorResponseV1' + description: Forbidden - User is not authorized + '429': + content: + application/json: + schema: + $ref: '#/components/schemas/APIErrorResponseV1' + description: Too many requests + summary: Get the list of available daily custom reports + tags: + - Usage Metering + x-permission: + operator: OR + permissions: + - usage_read + /api/v1/daily_custom_reports/{report_id}: + get: + deprecated: true + description: |- + Get specified daily custom reports. + **Note:** This endpoint will be fully deprecated on December 1, 2022. + Refer to [Migrating from v1 to v2 of the Usage Attribution API](https://docs.datadoghq.com/account_management/guide/usage-attribution-migration/) for the associated migration guide. + operationId: GetSpecifiedDailyCustomReports + parameters: + - description: Date of the report in the format `YYYY-MM-DD`. + in: path + name: report_id + required: true + schema: + type: string + responses: + '200': + content: + application/json: + examples: + default: + value: + data: + attributes: + computed_on: '2024-01-02' + end_date: '2024-01-01' + location: https://example.s3.amazonaws.com/report.csv + size: 1024 + start_date: '2024-01-01' + tags: + - env + id: '2024-01-01' + type: reports + meta: + page: + total_count: 1 + schema: + $ref: '#/components/schemas/UsageSpecifiedCustomReportsResponse' + description: OK + '403': + content: + application/json: + schema: + $ref: '#/components/schemas/APIErrorResponseV1' + description: Forbidden - User is not authorized + '404': + content: + application/json: + schema: + $ref: '#/components/schemas/APIErrorResponseV1' + description: Not Found + '429': + content: + application/json: + schema: + $ref: '#/components/schemas/APIErrorResponseV1' + description: Too many requests + summary: Get specified daily custom reports + tags: + - Usage Metering + x-permission: + operator: OR + permissions: + - usage_read + /api/v1/monthly_custom_reports: + get: + deprecated: true + description: |- + Get monthly custom reports. + **Note:** This endpoint will be fully deprecated on December 1, 2022. + Refer to [Migrating from v1 to v2 of the Usage Attribution API](https://docs.datadoghq.com/account_management/guide/usage-attribution-migration/) for the associated migration guide. + operationId: GetMonthlyCustomReports + parameters: + - description: The number of files to return in the response `[default=60].` + in: query + name: page[size] + required: false + schema: + format: int64 + type: integer + - description: The identifier of the first page to return. This parameter is used for the pagination feature `[default=0]`. + in: query + name: page[number] + required: false + schema: + format: int64 + type: integer + - description: 'The direction to sort by: `[desc, asc]`.' + in: query + name: sort_dir + required: false + schema: + $ref: '#/components/schemas/UsageSortDirection' + - description: 'The field to sort by: `[computed_on, size, start_date, end_date]`.' + in: query + name: sort + required: false + schema: + $ref: '#/components/schemas/UsageSort' + responses: + '200': + content: + application/json: + examples: + default: + value: + data: + - attributes: + computed_on: '2024-02-01' + end_date: '2024-01-31' + size: 2048 + start_date: '2024-01-01' + tags: + - env + id: 2024-01 + type: reports + meta: + page: + total_count: 1 + schema: + $ref: '#/components/schemas/UsageCustomReportsResponse' + description: OK + '403': + content: + application/json: + schema: + $ref: '#/components/schemas/APIErrorResponseV1' + description: Forbidden - User is not authorized + '429': + content: + application/json: + schema: + $ref: '#/components/schemas/APIErrorResponseV1' + description: Too many requests + summary: Get the list of available monthly custom reports + tags: + - Usage Metering + x-permission: + operator: OR + permissions: + - usage_read + /api/v1/monthly_custom_reports/{report_id}: + get: + deprecated: true + description: |- + Get specified monthly custom reports. + **Note:** This endpoint will be fully deprecated on December 1, 2022. + Refer to [Migrating from v1 to v2 of the Usage Attribution API](https://docs.datadoghq.com/account_management/guide/usage-attribution-migration/) for the associated migration guide. + operationId: GetSpecifiedMonthlyCustomReports + parameters: + - description: Date of the report in the format `YYYY-MM-DD`. + in: path + name: report_id + required: true + schema: + type: string + responses: + '200': + content: + application/json: + examples: + default: + value: + data: + attributes: + computed_on: '2024-02-01' + end_date: '2024-01-31' + location: https://example.s3.amazonaws.com/report.csv + size: 2048 + start_date: '2024-01-01' + tags: + - env + id: 2024-01 + type: reports + meta: + page: + total_count: 1 + schema: + $ref: '#/components/schemas/UsageSpecifiedCustomReportsResponse' + description: OK + '400': + content: + application/json: + schema: + $ref: '#/components/schemas/APIErrorResponseV1' + description: Bad Request + '403': + content: + application/json: + schema: + $ref: '#/components/schemas/APIErrorResponseV1' + description: Forbidden - User is not authorized + '404': + content: + application/json: + schema: + $ref: '#/components/schemas/APIErrorResponseV1' + description: Not Found + '429': + content: + application/json: + schema: + $ref: '#/components/schemas/APIErrorResponseV1' + description: Too many requests + summary: Get specified monthly custom reports + tags: + - Usage Metering + x-permission: + operator: OR + permissions: + - usage_read + /api/v1/org: + get: + description: This endpoint returns data on your top-level organization. + operationId: ListOrgsV1 + responses: + '200': + content: + application/json: + examples: + default: + value: + orgs: + - created: '2019-09-26T17:28:28Z' + name: Example Org + public_id: abc-123 + schema: + $ref: '#/components/schemas/OrganizationListResponse' + description: OK + '403': + content: + application/json: + schema: + $ref: '#/components/schemas/APIErrorResponseV1' + description: Forbidden + '429': + $ref: '#/components/responses/TooManyRequestsResponse' + summary: List your managed organizations + tags: + - Organizations + x-permission: + operator: OR + permissions: + - org_management + post: + description: |- + Create a child organization. + + This endpoint requires the + [multi-organization account](https://docs.datadoghq.com/account_management/multi_organization/) + feature and must be enabled by + [contacting support](https://docs.datadoghq.com/help/). + + Once a new child organization is created, you can interact with it + by using the `org.public_id`, `api_key.key`, and + `application_key.hash` provided in the response. + operationId: CreateChildOrg + requestBody: + content: + application/json: + examples: + default: + value: + billing: + type: parent_billing + name: New child org + subscription: + type: pro + schema: + $ref: '#/components/schemas/OrganizationCreateBody' + description: Organization object that needs to be created + required: true + responses: + '200': + content: + application/json: + examples: + default: + value: + org: + created: '2019-09-26T17:28:28Z' + name: New child org + public_id: abc-123 + user: + email: test@example.com + handle: test@example.com + name: Example Name + schema: + $ref: '#/components/schemas/OrganizationCreateResponse' + description: OK + '400': + content: + application/json: + schema: + $ref: '#/components/schemas/APIErrorResponseV1' + description: Bad Request + '403': + content: + application/json: + schema: + $ref: '#/components/schemas/APIErrorResponseV1' + description: Forbidden + '429': + $ref: '#/components/responses/TooManyRequestsResponse' + summary: Create a child organization + tags: + - Organizations + x-codegen-request-body-name: body + x-permission: + operator: OR + permissions: + - org_management + /api/v1/org/{public_id}: + get: + description: Get organization information. + operationId: GetOrg + parameters: + - description: The `public_id` of the organization you are operating within. + in: path + name: public_id + required: true + schema: + example: abc123 + type: string + responses: + '200': + content: + application/json: + examples: + default: + value: + org: + created: '2019-09-26T17:28:28Z' + name: Example Org + public_id: abc-123 + schema: + $ref: '#/components/schemas/OrganizationResponse' + description: OK + '400': + content: + application/json: + schema: + $ref: '#/components/schemas/APIErrorResponseV1' + description: Bad Request + '403': + content: + application/json: + schema: + $ref: '#/components/schemas/APIErrorResponseV1' + description: Forbidden + '429': + $ref: '#/components/responses/TooManyRequestsResponse' + summary: Get organization information + tags: + - Organizations + put: + description: Update your organization. + operationId: UpdateOrg + parameters: + - description: The `public_id` of the organization you are operating within. + in: path + name: public_id + required: true + schema: + example: abc123 + type: string + requestBody: + content: + application/json: + examples: + default: + value: + billing: + type: parent_billing + name: New child org + settings: + saml: + enabled: false + saml_idp_initiated_login: + enabled: false + saml_strict_mode: + enabled: false + schema: + $ref: '#/components/schemas/OrganizationV1' + required: true + responses: + '200': + content: + application/json: + examples: + default: + value: + org: + created: '2019-09-26T17:28:28Z' + name: Example Org + public_id: abc-123 + schema: + $ref: '#/components/schemas/OrganizationResponse' + description: OK + '400': + content: + application/json: + schema: + $ref: '#/components/schemas/APIErrorResponseV1' + description: Bad Request + '403': + content: + application/json: + schema: + $ref: '#/components/schemas/APIErrorResponseV1' + description: Forbidden + '429': + $ref: '#/components/responses/TooManyRequestsResponse' + summary: Update your organization + tags: + - Organizations + x-codegen-request-body-name: body + /api/v1/org/{public_id}/downgrade: + post: + description: Only available for MSP customers. Removes a child organization from the hierarchy of the master organization and places the child organization on a 30-day trial. + operationId: DowngradeOrg + parameters: + - description: The `public_id` of the organization you are operating within. + in: path + name: public_id + required: true + schema: + example: abc123 + type: string + responses: + '200': + content: + application/json: + examples: + default: + value: + message: Child organization abc-123 downgraded successfully + schema: + $ref: '#/components/schemas/OrgDowngradedResponse' + description: OK + '400': + content: + application/json: + schema: + $ref: '#/components/schemas/APIErrorResponseV1' + description: Bad Request + '403': + content: + application/json: + schema: + $ref: '#/components/schemas/APIErrorResponseV1' + description: Forbidden + '429': + $ref: '#/components/responses/TooManyRequestsResponse' + summary: Spin-off Child Organization + tags: + - Organizations + /api/v1/org/{public_id}/idp_metadata: + post: + description: |- + There are a couple of options for updating the Identity Provider (IdP) + metadata from your SAML IdP. + + * **Multipart Form-Data**: Post the IdP metadata file using a form post. + + * **XML Body:** Post the IdP metadata file as the body of the request. + operationId: UploadIdPForOrg + parameters: + - description: The `public_id` of the organization you are operating with + in: path + name: public_id + required: true + schema: + example: abc123 + type: string + requestBody: + content: + multipart/form-data: + examples: + default: + value: + idp_file: '@/path/to/idp_metadata.xml' + schema: + $ref: '#/components/schemas/IdpFormData' + required: true + responses: + '200': + content: + application/json: + examples: + default: + value: + message: IdP metadata successfully uploaded for example org + schema: + $ref: '#/components/schemas/IdpResponse' + description: OK + '400': + content: + application/json: + schema: + $ref: '#/components/schemas/APIErrorResponseV1' + description: Bad Request + '403': + content: + application/json: + schema: + $ref: '#/components/schemas/APIErrorResponseV1' + description: Forbidden + '415': + content: + application/json: + schema: + $ref: '#/components/schemas/APIErrorResponseV1' + description: Unsupported Media Type + '429': + $ref: '#/components/responses/TooManyRequestsResponse' + summary: Upload IdP metadata + tags: + - Organizations + x-codegen-request-body-name: body + /api/v1/usage/analyzed_logs: + get: + deprecated: true + description: |- + Get hourly usage for analyzed logs (Security Monitoring). + **Note:** This endpoint has been deprecated. Hourly usage data for all products is now available in the [Get hourly usage by product family API](https://docs.datadoghq.com/api/latest/usage-metering/#get-hourly-usage-by-product-family). Refer to [Migrating from the V1 Hourly Usage APIs to V2](https://docs.datadoghq.com/account_management/guide/hourly-usage-migration/) for the associated migration guide. + operationId: GetUsageAnalyzedLogs + parameters: + - description: 'Datetime in ISO-8601 format, UTC, precise to hour: `[YYYY-MM-DDThh]` for usage beginning at this hour.' + in: query + name: start_hr + required: true + schema: + format: date-time + type: string + - description: |- + Datetime in ISO-8601 format, UTC, precise to hour: `[YYYY-MM-DDThh]` for usage ending + **before** this hour. + in: query + name: end_hr + required: false + schema: + format: date-time + type: string + responses: + '200': + content: + application/json: + examples: + default: + value: + usage: + - analyzed_logs: 50 + hour: '2024-01-01T00:00:00+00:00' + org_name: example-handle + public_id: abc-123 + schema: + $ref: '#/components/schemas/UsageAnalyzedLogsResponse' + description: OK + '400': + content: + application/json: + schema: + $ref: '#/components/schemas/APIErrorResponseV1' + description: Bad Request + '403': + content: + application/json: + schema: + $ref: '#/components/schemas/APIErrorResponseV1' + description: Forbidden - User is not authorized + '429': + content: + application/json: + schema: + $ref: '#/components/schemas/APIErrorResponseV1' + description: Too many requests + security: + - apiKeyAuth: [] + appKeyAuth: [] + - AuthZ: + - usage_read + summary: Get hourly usage for analyzed logs + tags: + - Usage Metering + x-permission: + operator: OR + permissions: + - usage_read + /api/v1/usage/audit_logs: + get: + deprecated: true + description: |- + Get hourly usage for audit logs. + **Note:** This endpoint has been deprecated. + operationId: GetUsageAuditLogs + parameters: + - description: 'Datetime in ISO-8601 format, UTC, precise to hour: `[YYYY-MM-DDThh]` for usage beginning at this hour.' + in: query + name: start_hr + required: true + schema: + format: date-time + type: string + - description: |- + Datetime in ISO-8601 format, UTC, precise to hour: `[YYYY-MM-DDThh]` for usage ending + **before** this hour. + in: query + name: end_hr + required: false + schema: + format: date-time + type: string + responses: + '200': + content: + application/json: + examples: + default: + value: + usage: + - hour: '2024-01-01T00:00:00+00:00' + lines_indexed: 1000 + org_name: example-handle + public_id: abc-123 + schema: + $ref: '#/components/schemas/UsageAuditLogsResponse' + description: OK + '400': + content: + application/json: + schema: + $ref: '#/components/schemas/APIErrorResponseV1' + description: Bad Request + '403': + content: + application/json: + schema: + $ref: '#/components/schemas/APIErrorResponseV1' + description: Forbidden - User is not authorized + '429': + content: + application/json: + schema: + $ref: '#/components/schemas/APIErrorResponseV1' + description: Too many requests + security: + - apiKeyAuth: [] + appKeyAuth: [] + - AuthZ: + - usage_read + summary: Get hourly usage for audit logs + tags: + - Usage Metering + x-permission: + operator: OR + permissions: + - usage_read + /api/v1/usage/aws_lambda: + get: + deprecated: true + description: |- + Get hourly usage for Lambda. + **Note:** This endpoint has been deprecated. Hourly usage data for all products is now available in the [Get hourly usage by product family API](https://docs.datadoghq.com/api/latest/usage-metering/#get-hourly-usage-by-product-family). Refer to [Migrating from the V1 Hourly Usage APIs to V2](https://docs.datadoghq.com/account_management/guide/hourly-usage-migration/) for the associated migration guide. + operationId: GetUsageLambda + parameters: + - description: 'Datetime in ISO-8601 format, UTC, precise to hour: [YYYY-MM-DDThh] for usage beginning at this hour.' + in: query + name: start_hr + required: true + schema: + format: date-time + type: string + - description: 'Datetime in ISO-8601 format, UTC, precise to hour: [YYYY-MM-DDThh] for usage ending **before** this hour.' + in: query + name: end_hr + required: false + schema: + format: date-time + type: string + responses: + '200': + content: + application/json: + examples: + default: + value: + usage: + - func_count: 10 + hour: '2024-01-01T00:00:00+00:00' + invocations_sum: 100 + org_name: example-handle + public_id: abc-123 + schema: + $ref: '#/components/schemas/UsageLambdaResponse' + description: OK + '400': + content: + application/json: + schema: + $ref: '#/components/schemas/APIErrorResponseV1' + description: Bad Request + '403': + content: + application/json: + schema: + $ref: '#/components/schemas/APIErrorResponseV1' + description: Forbidden - User is not authorized + '429': + content: + application/json: + schema: + $ref: '#/components/schemas/APIErrorResponseV1' + description: Too many requests + security: + - apiKeyAuth: [] + appKeyAuth: [] + - AuthZ: + - usage_read + summary: Get hourly usage for Lambda + tags: + - Usage Metering + x-permission: + operator: OR + permissions: + - usage_read + /api/v1/usage/billable-summary: + get: + description: |- + Get billable usage across your account. + + This endpoint is only accessible for [parent-level organizations](https://docs.datadoghq.com/account_management/multi_organization/). + operationId: GetUsageBillableSummary + parameters: + - description: 'Datetime in ISO-8601 format, UTC, precise to month: `[YYYY-MM]` for usage starting this month.' + in: query + name: month + required: false + schema: + format: date-time + type: string + - description: Boolean to specify whether to include accounts connected to the current account as partner customers in the Datadog partner network program. Defaults to `false`. + in: query + name: include_connected_accounts + required: false + schema: + default: false + type: boolean + responses: + '200': + content: + application/json: + examples: + default: + value: + usage: + - account_name: Example Name + account_public_id: abc-123 + end_date: '2024-01-31T00:00:00+00:00' + num_orgs: 1 + org_name: example-handle + public_id: abc-123 + start_date: '2024-01-01T00:00:00+00:00' + schema: + $ref: '#/components/schemas/UsageBillableSummaryResponse' + description: OK + '400': + content: + application/json: + schema: + $ref: '#/components/schemas/APIErrorResponseV1' + description: Bad Request + '403': + content: + application/json: + schema: + $ref: '#/components/schemas/APIErrorResponseV1' + description: Forbidden - User is not authorized + '429': + content: + application/json: + schema: + $ref: '#/components/schemas/APIErrorResponseV1' + description: Too many requests + security: + - apiKeyAuth: [] + appKeyAuth: [] + - AuthZ: + - usage_read + summary: Get billable usage across your account + tags: + - Usage Metering + x-permission: + operator: OR + permissions: + - usage_read + /api/v1/usage/ci-app: + get: + deprecated: true + description: |- + Get hourly usage for CI visibility (tests, pipeline, and spans). + **Note:** This endpoint has been deprecated. Hourly usage data for all products is now available in the [Get hourly usage by product family API](https://docs.datadoghq.com/api/latest/usage-metering/#get-hourly-usage-by-product-family). Refer to [Migrating from the V1 Hourly Usage APIs to V2](https://docs.datadoghq.com/account_management/guide/hourly-usage-migration/) for the associated migration guide. + operationId: GetUsageCIApp + parameters: + - description: 'Datetime in ISO-8601 format, UTC, precise to hour: `[YYYY-MM-DDThh]` for usage beginning at this hour.' + in: query + name: start_hr + required: true + schema: + format: date-time + type: string + - description: |- + Datetime in ISO-8601 format, UTC, precise to hour: `[YYYY-MM-DDThh]` for usage ending + **before** this hour. + in: query + name: end_hr + required: false + schema: + format: date-time + type: string + responses: + '200': + content: + application/json: + examples: + default: + value: + usage: + - ci_pipeline_indexed_spans: 1000 + ci_test_indexed_spans: 2000 + ci_visibility_itr_committers: 5 + ci_visibility_pipeline_committers: 3 + ci_visibility_test_committers: 10 + org_name: example-handle + public_id: abc-123 + schema: + $ref: '#/components/schemas/UsageCIVisibilityResponse' + description: OK + '400': + content: + application/json: + schema: + $ref: '#/components/schemas/APIErrorResponseV1' + description: Bad Request + '403': + content: + application/json: + schema: + $ref: '#/components/schemas/APIErrorResponseV1' + description: Forbidden - User is not authorized + '429': + content: + application/json: + schema: + $ref: '#/components/schemas/APIErrorResponseV1' + description: Too many requests + security: + - apiKeyAuth: [] + appKeyAuth: [] + - AuthZ: + - usage_read + summary: Get hourly usage for CI visibility + tags: + - Usage Metering + x-permission: + operator: OR + permissions: + - usage_read + /api/v1/usage/cspm: + get: + deprecated: true + description: |- + Get hourly usage for cloud security management (CSM) pro. + **Note:** This endpoint has been deprecated. Hourly usage data for all products is now available in the [Get hourly usage by product family API](https://docs.datadoghq.com/api/latest/usage-metering/#get-hourly-usage-by-product-family). Refer to [Migrating from the V1 Hourly Usage APIs to V2](https://docs.datadoghq.com/account_management/guide/hourly-usage-migration/) for the associated migration guide. + operationId: GetUsageCloudSecurityPostureManagement + parameters: + - description: 'Datetime in ISO-8601 format, UTC, precise to hour: `[YYYY-MM-DDThh]` for usage beginning at this hour.' + in: query + name: start_hr + required: true + schema: + format: date-time + type: string + - description: |- + Datetime in ISO-8601 format, UTC, precise to hour: `[YYYY-MM-DDThh]` for usage ending + **before** this hour. + in: query + name: end_hr + required: false + schema: + format: date-time + type: string + responses: + '200': + content: + application/json: + examples: + default: + value: + usage: + - aws_host_count: 2 + azure_host_count: 1 + container_count: 10 + gcp_host_count: 1 + host_count: 5 + hour: '2024-01-01T00:00:00+00:00' + org_name: example-handle + public_id: abc-123 + schema: + $ref: '#/components/schemas/UsageCloudSecurityPostureManagementResponse' + description: OK + '400': + content: + application/json: + schema: + $ref: '#/components/schemas/APIErrorResponseV1' + description: Bad Request + '403': + content: + application/json: + schema: + $ref: '#/components/schemas/APIErrorResponseV1' + description: Forbidden - User is not authorized + '429': + content: + application/json: + schema: + $ref: '#/components/schemas/APIErrorResponseV1' + description: Too many requests + security: + - apiKeyAuth: [] + appKeyAuth: [] + - AuthZ: + - usage_read + summary: Get hourly usage for CSM Pro + tags: + - Usage Metering + x-permission: + operator: OR + permissions: + - usage_read + /api/v1/usage/cws: + get: + deprecated: true + description: |- + Get hourly usage for cloud workload security. + **Note:** This endpoint has been deprecated. Hourly usage data for all products is now available in the [Get hourly usage by product family API](https://docs.datadoghq.com/api/latest/usage-metering/#get-hourly-usage-by-product-family). Refer to [Migrating from the V1 Hourly Usage APIs to V2](https://docs.datadoghq.com/account_management/guide/hourly-usage-migration/) for the associated migration guide. + operationId: GetUsageCWS + parameters: + - description: 'Datetime in ISO-8601 format, UTC, precise to hour: `[YYYY-MM-DDThh]` for usage beginning at this hour.' + in: query + name: start_hr + required: true + schema: + format: date-time + type: string + - description: |- + Datetime in ISO-8601 format, UTC, precise to hour: `[YYYY-MM-DDThh]` for usage ending + **before** this hour. + in: query + name: end_hr + required: false + schema: + format: date-time + type: string + responses: + '200': + content: + application/json: + examples: + default: + value: + usage: + - cws_container_count: 10 + cws_host_count: 5 + hour: '2024-01-01T00:00:00+00:00' + org_name: example-handle + public_id: abc-123 + schema: + $ref: '#/components/schemas/UsageCWSResponse' + description: OK + '400': + content: + application/json: + schema: + $ref: '#/components/schemas/APIErrorResponseV1' + description: Bad Request + '403': + content: + application/json: + schema: + $ref: '#/components/schemas/APIErrorResponseV1' + description: Forbidden - User is not authorized + '429': + content: + application/json: + schema: + $ref: '#/components/schemas/APIErrorResponseV1' + description: Too many requests + security: + - apiKeyAuth: [] + appKeyAuth: [] + - AuthZ: + - usage_read + summary: Get hourly usage for cloud workload security + tags: + - Usage Metering + x-permission: + operator: OR + permissions: + - usage_read + /api/v1/usage/dbm: + get: + deprecated: true + description: |- + Get hourly usage for database monitoring + **Note:** This endpoint has been deprecated. Hourly usage data for all products is now available in the [Get hourly usage by product family API](https://docs.datadoghq.com/api/latest/usage-metering/#get-hourly-usage-by-product-family). Refer to [Migrating from the V1 Hourly Usage APIs to V2](https://docs.datadoghq.com/account_management/guide/hourly-usage-migration/) for the associated migration guide. + operationId: GetUsageDBM + parameters: + - description: 'Datetime in ISO-8601 format, UTC, precise to hour: `[YYYY-MM-DDThh]` for usage beginning at this hour.' + in: query + name: start_hr + required: true + schema: + format: date-time + type: string + - description: |- + Datetime in ISO-8601 format, UTC, precise to hour: `[YYYY-MM-DDThh]` for usage ending + **before** this hour. + in: query + name: end_hr + required: false + schema: + format: date-time + type: string + responses: + '200': + content: + application/json: + examples: + default: + value: + usage: + - dbm_host_count: 5 + dbm_queries_count: 100 + hour: '2024-01-01T00:00:00+00:00' + org_name: example-handle + public_id: abc-123 + schema: + $ref: '#/components/schemas/UsageDBMResponse' + description: OK + '400': + content: + application/json: + schema: + $ref: '#/components/schemas/APIErrorResponseV1' + description: Bad Request + '403': + content: + application/json: + schema: + $ref: '#/components/schemas/APIErrorResponseV1' + description: Forbidden - User is not authorized + '429': + content: + application/json: + schema: + $ref: '#/components/schemas/APIErrorResponseV1' + description: Too many requests + security: + - apiKeyAuth: [] + appKeyAuth: [] + - AuthZ: + - usage_read + summary: Get hourly usage for database monitoring + tags: + - Usage Metering + x-permission: + operator: OR + permissions: + - usage_read + /api/v1/usage/fargate: + get: + deprecated: true + description: |- + Get hourly usage for [Fargate](https://docs.datadoghq.com/integrations/ecs_fargate/). + **Note:** This endpoint has been deprecated. Hourly usage data for all products is now available in the [Get hourly usage by product family API](https://docs.datadoghq.com/api/latest/usage-metering/#get-hourly-usage-by-product-family). Refer to [Migrating from the V1 Hourly Usage APIs to V2](https://docs.datadoghq.com/account_management/guide/hourly-usage-migration/) for the associated migration guide. + operationId: GetUsageFargate + parameters: + - description: 'Datetime in ISO-8601 format, UTC, precise to hour: [YYYY-MM-DDThh] for usage beginning at this hour.' + in: query + name: start_hr + required: true + schema: + format: date-time + type: string + - description: 'Datetime in ISO-8601 format, UTC, precise to hour: [YYYY-MM-DDThh] for usage ending **before** this hour.' + in: query + name: end_hr + required: false + schema: + format: date-time + type: string + responses: + '200': + content: + application/json: + examples: + default: + value: + usage: + - apm_fargate_count: 2 + hour: '2024-01-01T00:00:00+00:00' + org_name: example-handle + public_id: abc-123 + tasks_count: 5 + schema: + $ref: '#/components/schemas/UsageFargateResponse' + description: OK + '400': + content: + application/json: + schema: + $ref: '#/components/schemas/APIErrorResponseV1' + description: Bad Request + '403': + content: + application/json: + schema: + $ref: '#/components/schemas/APIErrorResponseV1' + description: Forbidden - User is not authorized + '429': + content: + application/json: + schema: + $ref: '#/components/schemas/APIErrorResponseV1' + description: Too many requests + security: + - apiKeyAuth: [] + appKeyAuth: [] + - AuthZ: + - usage_read + summary: Get hourly usage for Fargate + tags: + - Usage Metering + x-permission: + operator: OR + permissions: + - usage_read + /api/v1/usage/hosts: + get: + deprecated: true + description: |- + Get hourly usage for hosts and containers. + **Note:** This endpoint has been deprecated. Hourly usage data for all products is now available in the [Get hourly usage by product family API](https://docs.datadoghq.com/api/latest/usage-metering/#get-hourly-usage-by-product-family). Refer to [Migrating from the V1 Hourly Usage APIs to V2](https://docs.datadoghq.com/account_management/guide/hourly-usage-migration/) for the associated migration guide. + operationId: GetUsageHosts + parameters: + - description: 'Datetime in ISO-8601 format, UTC, precise to hour: [YYYY-MM-DDThh] for usage beginning at this hour.' + in: query + name: start_hr + required: true + schema: + format: date-time + type: string + - description: 'Datetime in ISO-8601 format, UTC, precise to hour: [YYYY-MM-DDThh] for usage ending **before** this hour.' + in: query + name: end_hr + required: false + schema: + format: date-time + type: string + responses: + '200': + content: + application/json: + examples: + default: + value: + usage: + - agent_host_count: 1 + apm_host_count: 1 + aws_host_count: 0 + container_count: 2 + gcp_host_count: 0 + host_count: 1 + hour: '2024-01-01T00:00:00+00:00' + org_name: example-handle + public_id: abc-123 + schema: + $ref: '#/components/schemas/UsageHostsResponse' + description: OK + '400': + content: + application/json: + schema: + $ref: '#/components/schemas/APIErrorResponseV1' + description: Bad Request + '403': + content: + application/json: + schema: + $ref: '#/components/schemas/APIErrorResponseV1' + description: Forbidden - User is not authorized + '429': + content: + application/json: + schema: + $ref: '#/components/schemas/APIErrorResponseV1' + description: Too many requests + security: + - apiKeyAuth: [] + appKeyAuth: [] + - AuthZ: + - usage_read + summary: Get hourly usage for hosts and containers + tags: + - Usage Metering + x-permission: + operator: OR + permissions: + - usage_read + /api/v1/usage/hourly-attribution: + get: + description: |- + Get hourly usage attribution. Multi-region data is available starting March 1, 2023. + + This API endpoint is paginated. To make sure you receive all records, check if the value of `next_record_id` is + set in the response. If it is, make another request and pass `next_record_id` as a parameter. + Pseudo code example: + + ``` + response := GetHourlyUsageAttribution(start_month) + cursor := response.metadata.pagination.next_record_id + WHILE cursor != null BEGIN + sleep(5 seconds) # Avoid running into rate limit + response := GetHourlyUsageAttribution(start_month, next_record_id=cursor) + cursor := response.metadata.pagination.next_record_id + END + ``` + operationId: GetHourlyUsageAttribution + parameters: + - description: 'Datetime in ISO-8601 format, UTC, precise to hour: `[YYYY-MM-DDThh]` for usage beginning at this hour.' + in: query + name: start_hr + required: true + schema: + format: date-time + type: string + - description: |- + Datetime in ISO-8601 format, UTC, precise to hour: `[YYYY-MM-DDThh]` for usage ending + **before** this hour. + in: query + name: end_hr + required: false + schema: + format: date-time + type: string + - description: |- + Usage type to retrieve. Usage types are in the format `_usage`. + Example: `infra_host_usage` + To obtain the complete list of active usage types that can be used to replace + `` in the field names, make a request to the [Get usage attribution types API](https://docs.datadoghq.com/api/latest/usage-metering/#get-usage-attribution-types). + in: query + name: usage_type + required: true + schema: + $ref: '#/components/schemas/HourlyUsageAttributionUsageType' + - description: List following results with a next_record_id provided in the previous query. + in: query + name: next_record_id + required: false + schema: + type: string + - description: |- + Comma separated list of tags used to group usage. If no value is provided the usage will not be broken down by tags. + + To see which tags are available, look for the value of `tag_config_source` in the API response. + in: query + name: tag_breakdown_keys + required: false + schema: + type: string + - description: Include child org usage in the response. Defaults to `true`. + in: query + name: include_descendants + required: false + schema: + default: true + type: boolean + responses: + '200': + content: + application/json: + examples: + default: + value: + metadata: + pagination: + next_record_id: null + usage: + - hour: '2024-01-01T00:00:00+00:00' + org_name: Test Org + public_id: abc-123 + region: us + total_usage_sum: 1 + updated_at: '2024-01-01T00:00:00+00:00' + usage_type: infra_host_usage + schema: + $ref: '#/components/schemas/HourlyUsageAttributionResponse' + description: OK + '403': + content: + application/json: + schema: + $ref: '#/components/schemas/APIErrorResponseV1' + description: Forbidden - User is not authorized + '429': + content: + application/json: + schema: + $ref: '#/components/schemas/APIErrorResponseV1' + description: Too many requests + security: + - apiKeyAuth: [] + appKeyAuth: [] + - AuthZ: + - usage_read + summary: Get hourly usage attribution + tags: + - Usage Metering + x-permission: + operator: OR + permissions: + - usage_read + /api/v1/usage/incident-management: + get: + deprecated: true + description: |- + Get hourly usage for incident management. + **Note:** This endpoint has been deprecated. Hourly usage data for all products is now available in the [Get hourly usage by product family API](https://docs.datadoghq.com/api/latest/usage-metering/#get-hourly-usage-by-product-family). Refer to [Migrating from the V1 Hourly Usage APIs to V2](https://docs.datadoghq.com/account_management/guide/hourly-usage-migration/) for the associated migration guide. + operationId: GetIncidentManagement + parameters: + - description: 'Datetime in ISO-8601 format, UTC, precise to hour: `[YYYY-MM-DDThh]` for usage beginning at this hour.' + in: query + name: start_hr + required: true + schema: + format: date-time + type: string + - description: |- + Datetime in ISO-8601 format, UTC, precise to hour: `[YYYY-MM-DDThh]` for usage ending + **before** this hour. + in: query + name: end_hr + required: false + schema: + format: date-time + type: string + responses: + '200': + content: + application/json: + examples: + default: + value: + usage: + - hour: '2024-01-01T00:00:00+00:00' + monthly_active_users: 5 + org_name: example-handle + public_id: abc-123 + schema: + $ref: '#/components/schemas/UsageIncidentManagementResponse' + description: OK + '400': + content: + application/json: + schema: + $ref: '#/components/schemas/APIErrorResponseV1' + description: Bad Request + '403': + content: + application/json: + schema: + $ref: '#/components/schemas/APIErrorResponseV1' + description: Forbidden - User is not authorized + '429': + content: + application/json: + schema: + $ref: '#/components/schemas/APIErrorResponseV1' + description: Too many requests + security: + - apiKeyAuth: [] + appKeyAuth: [] + - AuthZ: + - usage_read + summary: Get hourly usage for incident management + tags: + - Usage Metering + x-permission: + operator: OR + permissions: + - usage_read + /api/v1/usage/indexed-spans: + get: + deprecated: true + description: |- + Get hourly usage for indexed spans. + **Note:** This endpoint has been deprecated. Hourly usage data for all products is now available in the [Get hourly usage by product family API](https://docs.datadoghq.com/api/latest/usage-metering/#get-hourly-usage-by-product-family). Refer to [Migrating from the V1 Hourly Usage APIs to V2](https://docs.datadoghq.com/account_management/guide/hourly-usage-migration/) for the associated migration guide. + operationId: GetUsageIndexedSpans + parameters: + - description: 'Datetime in ISO-8601 format, UTC, precise to hour: `[YYYY-MM-DDThh]` for usage beginning at this hour.' + in: query + name: start_hr + required: true + schema: + format: date-time + type: string + - description: 'Datetime in ISO-8601 format, UTC, precise to hour: `[YYYY-MM-DDThh]` for usage ending **before** this hour.' + in: query + name: end_hr + required: false + schema: + format: date-time + type: string + responses: + '200': + content: + application/json: + examples: + default: + value: + usage: + - hour: '2024-01-01T00:00:00+00:00' + indexed_events_count: 500 + org_name: example-handle + public_id: abc-123 + schema: + $ref: '#/components/schemas/UsageIndexedSpansResponse' + description: OK + '400': + content: + application/json: + schema: + $ref: '#/components/schemas/APIErrorResponseV1' + description: Bad Request + '403': + content: + application/json: + schema: + $ref: '#/components/schemas/APIErrorResponseV1' + description: Forbidden - User is not authorized + '429': + content: + application/json: + schema: + $ref: '#/components/schemas/APIErrorResponseV1' + description: Too many requests + security: + - apiKeyAuth: [] + appKeyAuth: [] + - AuthZ: + - usage_read + summary: Get hourly usage for indexed spans + tags: + - Usage Metering + x-permission: + operator: OR + permissions: + - usage_read + /api/v1/usage/ingested-spans: + get: + deprecated: true + description: |- + Get hourly usage for ingested spans. + **Note:** This endpoint has been deprecated. Hourly usage data for all products is now available in the [Get hourly usage by product family API](https://docs.datadoghq.com/api/latest/usage-metering/#get-hourly-usage-by-product-family). Refer to [Migrating from the V1 Hourly Usage APIs to V2](https://docs.datadoghq.com/account_management/guide/hourly-usage-migration/) for the associated migration guide. + operationId: GetIngestedSpans + parameters: + - description: 'Datetime in ISO-8601 format, UTC, precise to hour: `[YYYY-MM-DDThh]` for usage beginning at this hour.' + in: query + name: start_hr + required: true + schema: + format: date-time + type: string + - description: |- + Datetime in ISO-8601 format, UTC, precise to hour: `[YYYY-MM-DDThh]` for usage ending + **before** this hour. + in: query + name: end_hr + required: false + schema: + format: date-time + type: string + responses: + '200': + content: + application/json: + examples: + default: + value: + usage: + - hour: '2024-01-01T00:00:00+00:00' + ingested_events_bytes: 1000000 + org_name: example-handle + public_id: abc-123 + schema: + $ref: '#/components/schemas/UsageIngestedSpansResponse' + description: OK + '400': + content: + application/json: + schema: + $ref: '#/components/schemas/APIErrorResponseV1' + description: Bad Request + '403': + content: + application/json: + schema: + $ref: '#/components/schemas/APIErrorResponseV1' + description: Forbidden - User is not authorized + '429': + content: + application/json: + schema: + $ref: '#/components/schemas/APIErrorResponseV1' + description: Too many requests + security: + - apiKeyAuth: [] + appKeyAuth: [] + - AuthZ: + - usage_read + summary: Get hourly usage for ingested spans + tags: + - Usage Metering + x-permission: + operator: OR + permissions: + - usage_read + /api/v1/usage/iot: + get: + deprecated: true + description: |- + Get hourly usage for IoT. + **Note:** This endpoint has been deprecated. Hourly usage data for all products is now available in the [Get hourly usage by product family API](https://docs.datadoghq.com/api/latest/usage-metering/#get-hourly-usage-by-product-family). Refer to [Migrating from the V1 Hourly Usage APIs to V2](https://docs.datadoghq.com/account_management/guide/hourly-usage-migration/) for the associated migration guide. + operationId: GetUsageInternetOfThings + parameters: + - description: 'Datetime in ISO-8601 format, UTC, precise to hour: `[YYYY-MM-DDThh]` for usage beginning at this hour.' + in: query + name: start_hr + required: true + schema: + format: date-time + type: string + - description: |- + Datetime in ISO-8601 format, UTC, precise to hour: `[YYYY-MM-DDThh]` for usage ending + **before** this hour. + in: query + name: end_hr + required: false + schema: + format: date-time + type: string + responses: + '200': + content: + application/json: + examples: + default: + value: + usage: + - hour: '2024-01-01T00:00:00+00:00' + iot_device_count: 100 + org_name: example-handle + public_id: abc-123 + schema: + $ref: '#/components/schemas/UsageIoTResponse' + description: OK + '400': + content: + application/json: + schema: + $ref: '#/components/schemas/APIErrorResponseV1' + description: Bad Request + '403': + content: + application/json: + schema: + $ref: '#/components/schemas/APIErrorResponseV1' + description: Forbidden - User is not authorized + '429': + content: + application/json: + schema: + $ref: '#/components/schemas/APIErrorResponseV1' + description: Too many requests + security: + - apiKeyAuth: [] + appKeyAuth: [] + - AuthZ: + - usage_read + summary: Get hourly usage for IoT + tags: + - Usage Metering + x-permission: + operator: OR + permissions: + - usage_read + /api/v1/usage/logs: + get: + deprecated: true + description: |- + Get hourly usage for logs. + **Note:** This endpoint has been deprecated. Hourly usage data for all products is now available in the [Get hourly usage by product family API](https://docs.datadoghq.com/api/latest/usage-metering/#get-hourly-usage-by-product-family). Refer to [Migrating from the V1 Hourly Usage APIs to V2](https://docs.datadoghq.com/account_management/guide/hourly-usage-migration/) for the associated migration guide. + operationId: GetUsageLogs + parameters: + - description: 'Datetime in ISO-8601 format, UTC, precise to hour: [YYYY-MM-DDThh] for usage beginning at this hour.' + in: query + name: start_hr + required: true + schema: + format: date-time + type: string + - description: 'Datetime in ISO-8601 format, UTC, precise to hour: [YYYY-MM-DDThh] for usage ending **before** this hour.' + in: query + name: end_hr + required: false + schema: + format: date-time + type: string + responses: + '200': + content: + application/json: + examples: + default: + value: + usage: + - billable_ingested_bytes: 100 + hour: '2024-01-01T00:00:00+00:00' + indexed_events_count: 10 + ingested_events_bytes: 200 + org_name: example-handle + public_id: abc-123 + schema: + $ref: '#/components/schemas/UsageLogsResponse' + description: OK + '400': + content: + application/json: + schema: + $ref: '#/components/schemas/APIErrorResponseV1' + description: Bad Request + '403': + content: + application/json: + schema: + $ref: '#/components/schemas/APIErrorResponseV1' + description: Forbidden - User is not authorized + '429': + content: + application/json: + schema: + $ref: '#/components/schemas/APIErrorResponseV1' + description: Too many requests + security: + - apiKeyAuth: [] + appKeyAuth: [] + - AuthZ: + - usage_read + summary: Get hourly usage for logs + tags: + - Usage Metering + x-permission: + operator: OR + permissions: + - usage_read + /api/v1/usage/logs-by-retention: + get: + deprecated: true + description: |- + Get hourly usage for indexed logs by retention period. + **Note:** This endpoint has been deprecated. Hourly usage data for all products is now available in the [Get hourly usage by product family API](https://docs.datadoghq.com/api/latest/usage-metering/#get-hourly-usage-by-product-family). Refer to [Migrating from the V1 Hourly Usage APIs to V2](https://docs.datadoghq.com/account_management/guide/hourly-usage-migration/) for the associated migration guide. + operationId: GetUsageLogsByRetention + parameters: + - description: 'Datetime in ISO-8601 format, UTC, precise to hour: `[YYYY-MM-DDThh]` for usage beginning at this hour.' + in: query + name: start_hr + required: true + schema: + format: date-time + type: string + - description: |- + Datetime in ISO-8601 format, UTC, precise to hour: `[YYYY-MM-DDThh]` for usage ending + **before** this hour. + in: query + name: end_hr + required: false + schema: + format: date-time + type: string + responses: + '200': + content: + application/json: + examples: + default: + value: + usage: + - indexed_events_count: 100 + live_indexed_events_count: 80 + org_name: example-handle + public_id: abc-123 + rehydrated_indexed_events_count: 20 + retention: '15' + schema: + $ref: '#/components/schemas/UsageLogsByRetentionResponse' + description: OK + '400': + content: + application/json: + schema: + $ref: '#/components/schemas/APIErrorResponseV1' + description: Bad Request + '403': + content: + application/json: + schema: + $ref: '#/components/schemas/APIErrorResponseV1' + description: Forbidden - User is not authorized + '429': + content: + application/json: + schema: + $ref: '#/components/schemas/APIErrorResponseV1' + description: Too many requests + security: + - apiKeyAuth: [] + appKeyAuth: [] + - AuthZ: + - usage_read + summary: Get hourly logs usage by retention + tags: + - Usage Metering + x-permission: + operator: OR + permissions: + - usage_read + /api/v1/usage/logs_by_index: + get: + description: Get hourly usage for logs by index. + operationId: GetUsageLogsByIndex + parameters: + - description: 'Datetime in ISO-8601 format, UTC, precise to hour: [YYYY-MM-DDThh] for usage beginning at this hour.' + in: query + name: start_hr + required: true + schema: + format: date-time + type: string + - description: 'Datetime in ISO-8601 format, UTC, precise to hour: [YYYY-MM-DDThh] for usage ending **before** this hour.' + in: query + name: end_hr + required: false + schema: + format: date-time + type: string + - description: Comma-separated list of log index names. + in: query + name: index_name + required: false + schema: + items: + type: string + type: array + responses: + '200': + content: + application/json: + examples: + default: + value: + usage: + - event_count: 1000 + hour: '2024-01-01T00:00:00+00:00' + index_id: abc-123 + index_name: main + org_name: example-handle + public_id: abc-123 + retention: 15 + schema: + $ref: '#/components/schemas/UsageLogsByIndexResponse' + description: OK + '400': + content: + application/json: + schema: + $ref: '#/components/schemas/APIErrorResponseV1' + description: Bad Request + '403': + content: + application/json: + schema: + $ref: '#/components/schemas/APIErrorResponseV1' + description: Forbidden - User is not authorized + '429': + content: + application/json: + schema: + $ref: '#/components/schemas/APIErrorResponseV1' + description: Too many requests + security: + - apiKeyAuth: [] + appKeyAuth: [] + - AuthZ: + - usage_read + summary: Get hourly usage for logs by index + tags: + - Usage Metering + x-permission: + operator: OR + permissions: + - usage_read + /api/v1/usage/monthly-attribution: + get: + description: |- + Get monthly usage attribution. Multi-region data is available starting March 1, 2023. + + This API endpoint is paginated. To make sure you receive all records, check if the value of `next_record_id` is + set in the response. If it is, make another request and pass `next_record_id` as a parameter. + Pseudo code example: + + ``` + response := GetMonthlyUsageAttribution(start_month) + cursor := response.metadata.pagination.next_record_id + WHILE cursor != null BEGIN + sleep(5 seconds) # Avoid running into rate limit + response := GetMonthlyUsageAttribution(start_month, next_record_id=cursor) + cursor := response.metadata.pagination.next_record_id + END + ``` + operationId: GetMonthlyUsageAttribution + parameters: + - description: |- + Datetime in ISO-8601 format, UTC, precise to month: `[YYYY-MM]` for usage beginning in this month. + Maximum of 15 months ago. + in: query + name: start_month + required: true + schema: + format: date-time + type: string + - description: 'Datetime in ISO-8601 format, UTC, precise to month: `[YYYY-MM]` for usage ending this month.' + in: query + name: end_month + required: false + schema: + format: date-time + type: string + - description: |- + Comma-separated list of usage types to return, or `*` for all usage types. + Usage types are in the format `_usage` and `_percentage`. + Example: `infra_host_usage,infra_host_percentage` + To obtain the complete list of usage attribution types that can be used to replace + `` in the field names, make a request to the [Get usage attribution types API](https://docs.datadoghq.com/api/latest/usage-metering/#get-usage-attribution-types). + in: query + name: fields + required: true + schema: + $ref: '#/components/schemas/MonthlyUsageAttributionSupportedMetrics' + - description: 'The direction to sort by: `[desc, asc]`.' + in: query + name: sort_direction + required: false + schema: + $ref: '#/components/schemas/UsageSortDirection' + - description: |- + The field to sort by. Sort fields are in the format `_usage`. + Example: `infra_host_usage` + To obtain the complete list of usage attribution types that can be used to replace + `` in the field names, make a request to the [Get usage attribution types API](https://docs.datadoghq.com/api/latest/usage-metering/#get-usage-attribution-types). + in: query + name: sort_name + required: false + schema: + $ref: '#/components/schemas/MonthlyUsageAttributionSupportedMetrics' + - description: |- + Comma separated list of tag keys used to group usage. If no value is provided the usage will not be broken down by tags. + + To see which tags are available, look for the value of `tag_config_source` in the API response. + in: query + name: tag_breakdown_keys + required: false + schema: + type: string + - description: List following results with a next_record_id provided in the previous query. + in: query + name: next_record_id + required: false + schema: + type: string + - description: Include child org usage in the response. Defaults to `true`. + in: query + name: include_descendants + required: false + schema: + default: true + type: boolean + responses: + '200': + content: + application/json: + examples: + default: + value: + metadata: + pagination: + next_record_id: null + usage: + - month: '2024-01-01T00:00:00+00:00' + org_name: Test Org + public_id: abc-123 + region: us + updated_at: '2024-01-01T00:00:00+00:00' + values: + infra_host_percentage: 100 + infra_host_usage: 1 + schema: + $ref: '#/components/schemas/MonthlyUsageAttributionResponse' + description: OK + '403': + content: + application/json: + schema: + $ref: '#/components/schemas/APIErrorResponseV1' + description: Forbidden - User is not authorized + '429': + content: + application/json: + schema: + $ref: '#/components/schemas/APIErrorResponseV1' + description: Too many requests + security: + - apiKeyAuth: [] + appKeyAuth: [] + - AuthZ: + - usage_read + summary: Get monthly usage attribution + tags: + - Usage Metering + x-permission: + operator: OR + permissions: + - usage_read + /api/v1/usage/network_flows: + get: + deprecated: true + description: |- + Get hourly usage for network flows. + **Note:** This endpoint has been deprecated. Hourly usage data for all products is now available in the [Get hourly usage by product family API](https://docs.datadoghq.com/api/latest/usage-metering/#get-hourly-usage-by-product-family). Refer to [Migrating from the V1 Hourly Usage APIs to V2](https://docs.datadoghq.com/account_management/guide/hourly-usage-migration/) for the associated migration guide. + operationId: GetUsageNetworkFlows + parameters: + - description: 'Datetime in ISO-8601 format, UTC, precise to hour: `[YYYY-MM-DDThh]` for usage beginning at this hour.' + in: query + name: start_hr + required: true + schema: + format: date-time + type: string + - description: |- + Datetime in ISO-8601 format, UTC, precise to hour: `[YYYY-MM-DDThh]` for usage ending + **before** this hour. + in: query + name: end_hr + required: false + schema: + format: date-time + type: string + responses: + '200': + content: + application/json: + examples: + default: + value: + usage: + - hour: '2024-01-01T00:00:00+00:00' + indexed_events_count: 200 + org_name: example-handle + public_id: abc-123 + schema: + $ref: '#/components/schemas/UsageNetworkFlowsResponse' + description: OK + '400': + content: + application/json: + schema: + $ref: '#/components/schemas/APIErrorResponseV1' + description: Bad Request + '403': + content: + application/json: + schema: + $ref: '#/components/schemas/APIErrorResponseV1' + description: Forbidden - User is not authorized + '429': + content: + application/json: + schema: + $ref: '#/components/schemas/APIErrorResponseV1' + description: Too many requests + security: + - apiKeyAuth: [] + appKeyAuth: [] + - AuthZ: + - usage_read + summary: get hourly usage for network flows + tags: + - Usage Metering + x-permission: + operator: OR + permissions: + - usage_read + /api/v1/usage/network_hosts: + get: + deprecated: true + description: |- + Get hourly usage for network hosts. + **Note:** This endpoint has been deprecated. Hourly usage data for all products is now available in the [Get hourly usage by product family API](https://docs.datadoghq.com/api/latest/usage-metering/#get-hourly-usage-by-product-family). Refer to [Migrating from the V1 Hourly Usage APIs to V2](https://docs.datadoghq.com/account_management/guide/hourly-usage-migration/) for the associated migration guide. + operationId: GetUsageNetworkHosts + parameters: + - description: 'Datetime in ISO-8601 format, UTC, precise to hour: [YYYY-MM-DDThh] for usage beginning at this hour.' + in: query + name: start_hr + required: true + schema: + format: date-time + type: string + - description: 'Datetime in ISO-8601 format, UTC, precise to hour: [YYYY-MM-DDThh] for usage ending **before** this hour.' + in: query + name: end_hr + required: false + schema: + format: date-time + type: string + responses: + '200': + content: + application/json: + examples: + default: + value: + usage: + - host_count: 5 + hour: '2024-01-01T00:00:00+00:00' + org_name: example-handle + public_id: abc-123 + schema: + $ref: '#/components/schemas/UsageNetworkHostsResponse' + description: OK + '400': + content: + application/json: + schema: + $ref: '#/components/schemas/APIErrorResponseV1' + description: Bad Request + '403': + content: + application/json: + schema: + $ref: '#/components/schemas/APIErrorResponseV1' + description: Forbidden - User is not authorized + '429': + content: + application/json: + schema: + $ref: '#/components/schemas/APIErrorResponseV1' + description: Too many requests + security: + - apiKeyAuth: [] + appKeyAuth: [] + - AuthZ: + - usage_read + summary: Get hourly usage for network hosts + tags: + - Usage Metering + x-permission: + operator: OR + permissions: + - usage_read + /api/v1/usage/online-archive: + get: + deprecated: true + description: |- + Get hourly usage for online archive. + **Note:** This endpoint has been deprecated. Hourly usage data for all products is now available in the [Get hourly usage by product family API](https://docs.datadoghq.com/api/latest/usage-metering/#get-hourly-usage-by-product-family). Refer to [Migrating from the V1 Hourly Usage APIs to V2](https://docs.datadoghq.com/account_management/guide/hourly-usage-migration/) for the associated migration guide. + operationId: GetUsageOnlineArchive + parameters: + - description: 'Datetime in ISO-8601 format, UTC, precise to hour: `[YYYY-MM-DDThh]` for usage beginning at this hour.' + in: query + name: start_hr + required: true + schema: + format: date-time + type: string + - description: |- + Datetime in ISO-8601 format, UTC, precise to hour: `[YYYY-MM-DDThh]` for usage ending + **before** this hour. + in: query + name: end_hr + required: false + schema: + format: date-time + type: string + responses: + '200': + content: + application/json: + examples: + default: + value: + usage: + - hour: '2024-01-01T00:00:00+00:00' + online_archive_events_count: 5000 + org_name: example-handle + public_id: abc-123 + schema: + $ref: '#/components/schemas/UsageOnlineArchiveResponse' + description: OK + '400': + content: + application/json: + schema: + $ref: '#/components/schemas/APIErrorResponseV1' + description: Bad Request + '403': + content: + application/json: + schema: + $ref: '#/components/schemas/APIErrorResponseV1' + description: Forbidden - User is not authorized + '429': + content: + application/json: + schema: + $ref: '#/components/schemas/APIErrorResponseV1' + description: Too many requests + security: + - apiKeyAuth: [] + appKeyAuth: [] + - AuthZ: + - usage_read + summary: Get hourly usage for online archive + tags: + - Usage Metering + x-permission: + operator: OR + permissions: + - usage_read + /api/v1/usage/profiling: + get: + deprecated: true + description: |- + Get hourly usage for profiled hosts. + **Note:** This endpoint has been deprecated. Hourly usage data for all products is now available in the [Get hourly usage by product family API](https://docs.datadoghq.com/api/latest/usage-metering/#get-hourly-usage-by-product-family). Refer to [Migrating from the V1 Hourly Usage APIs to V2](https://docs.datadoghq.com/account_management/guide/hourly-usage-migration/) for the associated migration guide. + operationId: GetUsageProfiling + parameters: + - description: 'Datetime in ISO-8601 format, UTC, precise to hour: `[YYYY-MM-DDThh]` for usage beginning at this hour.' + in: query + name: start_hr + required: true + schema: + format: date-time + type: string + - description: |- + Datetime in ISO-8601 format, UTC, precise to hour: `[YYYY-MM-DDThh]` for usage ending + **before** this hour. + in: query + name: end_hr + required: false + schema: + format: date-time + type: string + responses: + '200': + content: + application/json: + examples: + default: + value: + usage: + - avg_container_agent_count: 2 + host_count: 5 + hour: '2024-01-01T00:00:00+00:00' + org_name: example-handle + public_id: abc-123 + schema: + $ref: '#/components/schemas/UsageProfilingResponse' + description: OK + '400': + content: + application/json: + schema: + $ref: '#/components/schemas/APIErrorResponseV1' + description: Bad Request + '403': + content: + application/json: + schema: + $ref: '#/components/schemas/APIErrorResponseV1' + description: Forbidden - User is not authorized + '429': + content: + application/json: + schema: + $ref: '#/components/schemas/APIErrorResponseV1' + description: Too many requests + security: + - apiKeyAuth: [] + appKeyAuth: [] + - AuthZ: + - usage_read + summary: Get hourly usage for profiled hosts + tags: + - Usage Metering + x-permission: + operator: OR + permissions: + - usage_read + /api/v1/usage/rum: + get: + deprecated: true + description: |- + Get hourly usage for [RUM](https://docs.datadoghq.com/real_user_monitoring/) Units. + **Note:** This endpoint has been deprecated. Hourly usage data for all products is now available in the [Get hourly usage by product family API](https://docs.datadoghq.com/api/latest/usage-metering/#get-hourly-usage-by-product-family). Refer to [Migrating from the V1 Hourly Usage APIs to V2](https://docs.datadoghq.com/account_management/guide/hourly-usage-migration/) for the associated migration guide. + operationId: GetUsageRumUnits + parameters: + - description: 'Datetime in ISO-8601 format, UTC, precise to hour: [YYYY-MM-DDThh] for usage beginning at this hour.' + in: query + name: start_hr + required: true + schema: + format: date-time + type: string + - description: 'Datetime in ISO-8601 format, UTC, precise to hour: [YYYY-MM-DDThh] for usage ending **before** this hour.' + in: query + name: end_hr + required: false + schema: + format: date-time + type: string + responses: + '200': + content: + application/json: + examples: + default: + value: + usage: + - browser_rum_units: 50 + mobile_rum_units: 50 + org_name: example-handle + public_id: abc-123 + rum_units: 100 + schema: + $ref: '#/components/schemas/UsageRumUnitsResponse' + description: OK + '400': + content: + application/json: + schema: + $ref: '#/components/schemas/APIErrorResponseV1' + description: Bad Request + '403': + content: + application/json: + schema: + $ref: '#/components/schemas/APIErrorResponseV1' + description: Forbidden - User is not authorized + '429': + content: + application/json: + schema: + $ref: '#/components/schemas/APIErrorResponseV1' + description: Too many requests + security: + - apiKeyAuth: [] + appKeyAuth: [] + - AuthZ: + - usage_read + summary: Get hourly usage for RUM units + tags: + - Usage Metering + x-permission: + operator: OR + permissions: + - usage_read + /api/v1/usage/rum_sessions: + get: + deprecated: true + description: |- + Get hourly usage for [RUM](https://docs.datadoghq.com/real_user_monitoring/) Sessions. + **Note:** This endpoint has been deprecated. Hourly usage data for all products is now available in the [Get hourly usage by product family API](https://docs.datadoghq.com/api/latest/usage-metering/#get-hourly-usage-by-product-family). Refer to [Migrating from the V1 Hourly Usage APIs to V2](https://docs.datadoghq.com/account_management/guide/hourly-usage-migration/) for the associated migration guide. + operationId: GetUsageRumSessions + parameters: + - description: 'Datetime in ISO-8601 format, UTC, precise to hour: [YYYY-MM-DDThh] for usage beginning at this hour.' + in: query + name: start_hr + required: true + schema: + format: date-time + type: string + - description: 'Datetime in ISO-8601 format, UTC, precise to hour: [YYYY-MM-DDThh] for usage ending **before** this hour.' + in: query + name: end_hr + required: false + schema: + format: date-time + type: string + - description: 'RUM type: `[browser, mobile]`. Defaults to `browser`.' + in: query + name: type + required: false + schema: + type: string + responses: + '200': + content: + application/json: + examples: + default: + value: + usage: + - hour: '2024-01-01T00:00:00+00:00' + org_name: example-handle + public_id: abc-123 + replay_session_count: 10 + session_count: 100 + schema: + $ref: '#/components/schemas/UsageRumSessionsResponse' + description: OK + '400': + content: + application/json: + schema: + $ref: '#/components/schemas/APIErrorResponseV1' + description: Bad Request + '403': + content: + application/json: + schema: + $ref: '#/components/schemas/APIErrorResponseV1' + description: Forbidden - User is not authorized + '429': + content: + application/json: + schema: + $ref: '#/components/schemas/APIErrorResponseV1' + description: Too many requests + security: + - apiKeyAuth: [] + appKeyAuth: [] + - AuthZ: + - usage_read + summary: Get hourly usage for RUM sessions + tags: + - Usage Metering + x-permission: + operator: OR + permissions: + - usage_read + /api/v1/usage/sds: + get: + deprecated: true + description: |- + Get hourly usage for sensitive data scanner. + **Note:** This endpoint has been deprecated. Hourly usage data for all products is now available in the [Get hourly usage by product family API](https://docs.datadoghq.com/api/latest/usage-metering/#get-hourly-usage-by-product-family). Refer to [Migrating from the V1 Hourly Usage APIs to V2](https://docs.datadoghq.com/account_management/guide/hourly-usage-migration/) for the associated migration guide. + operationId: GetUsageSDS + parameters: + - description: 'Datetime in ISO-8601 format, UTC, precise to hour: `[YYYY-MM-DDThh]` for usage beginning at this hour.' + in: query + name: start_hr + required: true + schema: + format: date-time + type: string + - description: |- + Datetime in ISO-8601 format, UTC, precise to hour: `[YYYY-MM-DDThh]` for usage ending + **before** this hour. + in: query + name: end_hr + required: false + schema: + format: date-time + type: string + responses: + '200': + content: + application/json: + examples: + default: + value: + usage: + - hour: '2024-01-01T00:00:00+00:00' + logs_scanned_bytes: 1000000 + org_name: example-handle + public_id: abc-123 + total_scanned_bytes: 2000000 + schema: + $ref: '#/components/schemas/UsageSDSResponse' + description: OK + '400': + content: + application/json: + schema: + $ref: '#/components/schemas/APIErrorResponseV1' + description: Bad Request + '403': + content: + application/json: + schema: + $ref: '#/components/schemas/APIErrorResponseV1' + description: Forbidden - User is not authorized + '429': + content: + application/json: + schema: + $ref: '#/components/schemas/APIErrorResponseV1' + description: Too many requests + security: + - apiKeyAuth: [] + appKeyAuth: [] + - AuthZ: + - usage_read + summary: Get hourly usage for sensitive data scanner + tags: + - Usage Metering + x-permission: + operator: OR + permissions: + - usage_read + /api/v1/usage/snmp: + get: + deprecated: true + description: |- + Get hourly usage for SNMP devices. + **Note:** This endpoint has been deprecated. Hourly usage data for all products is now available in the [Get hourly usage by product family API](https://docs.datadoghq.com/api/latest/usage-metering/#get-hourly-usage-by-product-family). Refer to [Migrating from the V1 Hourly Usage APIs to V2](https://docs.datadoghq.com/account_management/guide/hourly-usage-migration/) for the associated migration guide. + operationId: GetUsageSNMP + parameters: + - description: 'Datetime in ISO-8601 format, UTC, precise to hour: `[YYYY-MM-DDThh]` for usage beginning at this hour.' + in: query + name: start_hr + required: true + schema: + format: date-time + type: string + - description: |- + Datetime in ISO-8601 format, UTC, precise to hour: `[YYYY-MM-DDThh]` for usage ending + **before** this hour. + in: query + name: end_hr + required: false + schema: + format: date-time + type: string + responses: + '200': + content: + application/json: + examples: + default: + value: + usage: + - hour: '2024-01-01T00:00:00+00:00' + org_name: example-handle + public_id: abc-123 + snmp_devices: 10 + schema: + $ref: '#/components/schemas/UsageSNMPResponse' + description: OK + '400': + content: + application/json: + schema: + $ref: '#/components/schemas/APIErrorResponseV1' + description: Bad Request + '403': + content: + application/json: + schema: + $ref: '#/components/schemas/APIErrorResponseV1' + description: Forbidden - User is not authorized + '429': + content: + application/json: + schema: + $ref: '#/components/schemas/APIErrorResponseV1' + description: Too many requests + security: + - apiKeyAuth: [] + appKeyAuth: [] + - AuthZ: + - usage_read + summary: Get hourly usage for SNMP devices + tags: + - Usage Metering + x-permission: + operator: OR + permissions: + - usage_read + /api/v1/usage/summary: + get: + description: |- + Get all usage across your account. + + For SDK users only: all fields on `UsageSummaryResponse`, `UsageSummaryDate`, and + `UsageSummaryDateOrg` are accessible through each object's `additionalProperties` map. + Existing typed-field getters are unchanged. New billing dimensions will not have + typed-field getters. Use + [Get available fields for usage summary](https://docs.datadoghq.com/api/latest/usage-metering/get-available-fields-for-usage-summary/) + to enumerate every available key at each response level. + + This endpoint is only accessible for [parent-level organizations](https://docs.datadoghq.com/account_management/multi_organization/). + operationId: GetUsageSummary + parameters: + - description: |- + Datetime in ISO-8601 format, UTC, precise to month: `[YYYY-MM]` for usage beginning in this month. + Maximum of 15 months ago. + in: query + name: start_month + required: true + schema: + format: date-time + type: string + - description: 'Datetime in ISO-8601 format, UTC, precise to month: `[YYYY-MM]` for usage ending this month.' + in: query + name: end_month + required: false + schema: + format: date-time + type: string + - description: Include usage summaries for each sub-org. + in: query + name: include_org_details + required: false + schema: + type: boolean + - description: Boolean to specify whether to include accounts connected to the current account as partner customers in the Datadog partner network program. Defaults to `false`. + in: query + name: include_connected_accounts + required: false + schema: + default: false + type: boolean + responses: + '200': + content: + application/json: + examples: + default: + value: + apm_host_top99p_sum: 2 + container_avg_sum: 5 + end_date: '2024-01-31T00:00:00+00:00' + last_updated: '2024-01-01T00:00:00+00:00' + start_date: '2024-01-01T00:00:00+00:00' + usage: + - apm_host_top99p: 2 + container_avg: 5 + date: '2024-01-01T00:00:00+00:00' + schema: + $ref: '#/components/schemas/UsageSummaryResponse' + description: OK + '400': + content: + application/json: + schema: + $ref: '#/components/schemas/APIErrorResponseV1' + description: Bad Request + '403': + content: + application/json: + schema: + $ref: '#/components/schemas/APIErrorResponseV1' + description: Forbidden - User is not authorized + '429': + content: + application/json: + schema: + $ref: '#/components/schemas/APIErrorResponseV1' + description: Too many requests + security: + - apiKeyAuth: [] + appKeyAuth: [] + - AuthZ: + - usage_read + summary: Get usage across your account + tags: + - Usage Metering + x-permission: + operator: OR + permissions: + - usage_read + /api/v1/usage/synthetics: + get: + deprecated: true + description: |- + Get hourly usage for [synthetics checks](https://docs.datadoghq.com/synthetics/). + **Note:** This endpoint has been deprecated. Hourly usage data for all products is now available in the [Get hourly usage by product family API](https://docs.datadoghq.com/api/latest/usage-metering/#get-hourly-usage-by-product-family). Refer to [Migrating from the V1 Hourly Usage APIs to V2](https://docs.datadoghq.com/account_management/guide/hourly-usage-migration/) for the associated migration guide. + operationId: GetUsageSynthetics + parameters: + - description: 'Datetime in ISO-8601 format, UTC, precise to hour: [YYYY-MM-DDThh] for usage beginning at this hour.' + in: query + name: start_hr + required: true + schema: + format: date-time + type: string + - description: 'Datetime in ISO-8601 format, UTC, precise to hour: [YYYY-MM-DDThh] for usage ending **before** this hour.' + in: query + name: end_hr + required: false + schema: + format: date-time + type: string + responses: + '200': + content: + application/json: + examples: + default: + value: + usage: + - check_calls_count: 50 + hour: '2024-01-01T00:00:00+00:00' + org_name: example-handle + public_id: abc-123 + schema: + $ref: '#/components/schemas/UsageSyntheticsResponse' + description: OK + '400': + content: + application/json: + schema: + $ref: '#/components/schemas/APIErrorResponseV1' + description: Bad Request + '403': + content: + application/json: + schema: + $ref: '#/components/schemas/APIErrorResponseV1' + description: Forbidden - User is not authorized + '429': + content: + application/json: + schema: + $ref: '#/components/schemas/APIErrorResponseV1' + description: Too many requests + security: + - apiKeyAuth: [] + appKeyAuth: [] + - AuthZ: + - usage_read + summary: Get hourly usage for synthetics checks + tags: + - Usage Metering + x-permission: + operator: OR + permissions: + - usage_read + /api/v1/usage/synthetics_api: + get: + deprecated: true + description: |- + Get hourly usage for [synthetics API checks](https://docs.datadoghq.com/synthetics/). + **Note:** This endpoint has been deprecated. Hourly usage data for all products is now available in the [Get hourly usage by product family API](https://docs.datadoghq.com/api/latest/usage-metering/#get-hourly-usage-by-product-family). Refer to [Migrating from the V1 Hourly Usage APIs to V2](https://docs.datadoghq.com/account_management/guide/hourly-usage-migration/) for the associated migration guide. + operationId: GetUsageSyntheticsAPI + parameters: + - description: 'Datetime in ISO-8601 format, UTC, precise to hour: [YYYY-MM-DDThh] for usage beginning at this hour.' + in: query + name: start_hr + required: true + schema: + format: date-time + type: string + - description: 'Datetime in ISO-8601 format, UTC, precise to hour: [YYYY-MM-DDThh] for usage ending **before** this hour.' + in: query + name: end_hr + required: false + schema: + format: date-time + type: string + responses: + '200': + content: + application/json: + examples: + default: + value: + usage: + - check_calls_count: 50 + hour: '2024-01-01T00:00:00+00:00' + org_name: example-handle + public_id: abc-123 + schema: + $ref: '#/components/schemas/UsageSyntheticsAPIResponse' + description: OK + '400': + content: + application/json: + schema: + $ref: '#/components/schemas/APIErrorResponseV1' + description: Bad Request + '403': + content: + application/json: + schema: + $ref: '#/components/schemas/APIErrorResponseV1' + description: Forbidden - User is not authorized + '429': + content: + application/json: + schema: + $ref: '#/components/schemas/APIErrorResponseV1' + description: Too many requests + security: + - apiKeyAuth: [] + appKeyAuth: [] + - AuthZ: + - usage_read + summary: Get hourly usage for synthetics API checks + tags: + - Usage Metering + x-permission: + operator: OR + permissions: + - usage_read + /api/v1/usage/synthetics_browser: + get: + deprecated: true + description: |- + Get hourly usage for synthetics browser checks. + **Note:** This endpoint has been deprecated. Hourly usage data for all products is now available in the [Get hourly usage by product family API](https://docs.datadoghq.com/api/latest/usage-metering/#get-hourly-usage-by-product-family). Refer to [Migrating from the V1 Hourly Usage APIs to V2](https://docs.datadoghq.com/account_management/guide/hourly-usage-migration/) for the associated migration guide. + operationId: GetUsageSyntheticsBrowser + parameters: + - description: 'Datetime in ISO-8601 format, UTC, precise to hour: [YYYY-MM-DDThh] for usage beginning at this hour.' + in: query + name: start_hr + required: true + schema: + format: date-time + type: string + - description: 'Datetime in ISO-8601 format, UTC, precise to hour: [YYYY-MM-DDThh] for usage ending **before** this hour.' + in: query + name: end_hr + required: false + schema: + format: date-time + type: string + responses: + '200': + content: + application/json: + examples: + default: + value: + usage: + - browser_check_calls_count: 20 + hour: '2024-01-01T00:00:00+00:00' + org_name: example-handle + public_id: abc-123 + schema: + $ref: '#/components/schemas/UsageSyntheticsBrowserResponse' + description: OK + '400': + content: + application/json: + schema: + $ref: '#/components/schemas/APIErrorResponseV1' + description: Bad Request + '403': + content: + application/json: + schema: + $ref: '#/components/schemas/APIErrorResponseV1' + description: Forbidden - User is not authorized + '429': + content: + application/json: + schema: + $ref: '#/components/schemas/APIErrorResponseV1' + description: Too many requests + security: + - apiKeyAuth: [] + appKeyAuth: [] + - AuthZ: + - usage_read + summary: Get hourly usage for synthetics browser checks + tags: + - Usage Metering + x-permission: + operator: OR + permissions: + - usage_read + /api/v1/usage/timeseries: + get: + deprecated: true + description: |- + Get hourly usage for [custom metrics](https://docs.datadoghq.com/developers/metrics/custom_metrics/). + **Note:** This endpoint has been deprecated. Hourly usage data for all products is now available in the [Get hourly usage by product family API](https://docs.datadoghq.com/api/latest/usage-metering/#get-hourly-usage-by-product-family). Refer to [Migrating from the V1 Hourly Usage APIs to V2](https://docs.datadoghq.com/account_management/guide/hourly-usage-migration/) for the associated migration guide. + operationId: GetUsageTimeseries + parameters: + - description: 'Datetime in ISO-8601 format, UTC, precise to hour: [YYYY-MM-DDThh] for usage beginning at this hour.' + in: query + name: start_hr + required: true + schema: + format: date-time + type: string + - description: 'Datetime in ISO-8601 format, UTC, precise to hour: [YYYY-MM-DDThh] for usage ending **before** this hour.' + in: query + name: end_hr + required: false + schema: + format: date-time + type: string + responses: + '200': + content: + application/json: + examples: + default: + value: + usage: + - hour: '2024-01-01T00:00:00+00:00' + num_custom_input_timeseries: 10 + num_custom_output_timeseries: 5 + num_custom_timeseries: 100 + org_name: example-handle + public_id: abc-123 + schema: + $ref: '#/components/schemas/UsageTimeseriesResponse' + description: OK + '400': + content: + application/json: + schema: + $ref: '#/components/schemas/APIErrorResponseV1' + description: Bad Request + '403': + content: + application/json: + schema: + $ref: '#/components/schemas/APIErrorResponseV1' + description: Forbidden - User is not authorized + '429': + content: + application/json: + schema: + $ref: '#/components/schemas/APIErrorResponseV1' + description: Too many requests + security: + - apiKeyAuth: [] + appKeyAuth: [] + - AuthZ: + - usage_read + summary: Get hourly usage for custom metrics + tags: + - Usage Metering + x-permission: + operator: OR + permissions: + - usage_read + /api/v1/usage/top_avg_metrics: + get: + description: Get all [custom metrics](https://docs.datadoghq.com/developers/metrics/custom_metrics/) by hourly average. Use the month parameter to get a month-to-date data resolution or use the day parameter to get a daily resolution. One of the two is required, and only one of the two is allowed. + operationId: GetUsageTopAvgMetrics + parameters: + - description: 'Datetime in ISO-8601 format, UTC, precise to month: [YYYY-MM] for usage beginning at this hour. (Either month or day should be specified, but not both)' + in: query + name: month + schema: + format: date-time + type: string + - description: 'Datetime in ISO-8601 format, UTC, precise to day: [YYYY-MM-DD] for usage beginning at this hour. (Either month or day should be specified, but not both)' + in: query + name: day + schema: + format: date-time + type: string + - description: Comma-separated list of metric names. + in: query + name: names + required: false + schema: + items: + type: string + type: array + - description: Maximum number of results to return (between 1 and 5000) - defaults to 500 results if limit not specified. + in: query + name: limit + required: false + schema: + default: 500 + format: int32 + maximum: 5000 + minimum: 1 + type: integer + - description: List following results with a next_record_id provided in the previous query. + in: query + name: next_record_id + required: false + schema: + type: string + responses: + '200': + content: + application/json: + examples: + default: + value: + metadata: + month: '2024-01-01T00:00:00+00:00' + pagination: + next_record_id: null + usage: + - avg_metric_hour: 5 + max_metric_hour: 10 + metric_category: custom + metric_name: test-metric + schema: + $ref: '#/components/schemas/UsageTopAvgMetricsResponse' + description: OK + '400': + content: + application/json: + schema: + $ref: '#/components/schemas/APIErrorResponseV1' + description: Bad Request + '403': + content: + application/json: + schema: + $ref: '#/components/schemas/APIErrorResponseV1' + description: Forbidden - User is not authorized + '429': + content: + application/json: + schema: + $ref: '#/components/schemas/APIErrorResponseV1' + description: Too many requests + security: + - apiKeyAuth: [] + appKeyAuth: [] + - AuthZ: + - usage_read + summary: Get all custom metrics by hourly average + tags: + - Usage Metering + x-permission: + operator: OR + permissions: + - usage_read + /api/v1/user: + get: + description: List all users for your organization. + operationId: ListUsersV1 + responses: + '200': + content: + application/json: + examples: + default: + value: + users: + - disabled: false + email: test@example.com + handle: test@example.com + name: Example Name + schema: + $ref: '#/components/schemas/UserListResponse' + description: OK + '403': + content: + application/json: + schema: + $ref: '#/components/schemas/APIErrorResponseV1' + description: Authentication error + '429': + $ref: '#/components/responses/TooManyRequestsResponse' + security: + - apiKeyAuth: [] + appKeyAuth: [] + - AuthZ: + - user_access_read + summary: List all users + tags: + - Users + x-permission: + operator: OR + permissions: + - user_access_read + post: + description: |- + Create a user for your organization. + + **Note**: Users can only be created with the admin access role + if application keys belong to administrators. + operationId: CreateUserV1 + requestBody: + content: + application/json: + examples: + default: + value: + email: test@datadoghq.com + handle: test@datadoghq.com + name: test user + schema: + $ref: '#/components/schemas/UserV1' + description: User object that needs to be created. + required: true + responses: + '200': + content: + application/json: + examples: + default: + value: + user: + disabled: false + email: test@example.com + handle: test@example.com + name: Example Name + schema: + $ref: '#/components/schemas/UserResponseV1' + description: User created + '400': + content: + application/json: + schema: + $ref: '#/components/schemas/APIErrorResponseV1' + description: Bad Request + '403': + content: + application/json: + schema: + $ref: '#/components/schemas/APIErrorResponseV1' + description: Authentication error + '409': + content: + application/json: + schema: + $ref: '#/components/schemas/APIErrorResponseV1' + description: Conflict + '429': + $ref: '#/components/responses/TooManyRequestsResponse' + summary: Create a user + tags: + - Users + x-codegen-request-body-name: body + x-permission: + operator: OR + permissions: + - user_access_invite + /api/v1/user/{user_handle}: + delete: + description: |- + Delete a user from an organization. + + **Note**: This endpoint can only be used with application keys belonging to + administrators. + operationId: DisableUserV1 + parameters: + - description: The handle of the user. + in: path + name: user_handle + required: true + schema: + example: test@datadoghq.com + type: string + responses: + '200': + content: + application/json: + examples: + default: + value: + message: User user@example.com disabled + schema: + $ref: '#/components/schemas/UserDisableResponse' + description: User disabled + '400': + content: + application/json: + schema: + $ref: '#/components/schemas/APIErrorResponseV1' + description: Bad Request + '403': + content: + application/json: + schema: + $ref: '#/components/schemas/APIErrorResponseV1' + description: Authentication error + '404': + content: + application/json: + schema: + $ref: '#/components/schemas/APIErrorResponseV1' + description: Not Found + '429': + $ref: '#/components/responses/TooManyRequestsResponse' + summary: Disable a user + tags: + - Users + get: + description: Get a user's details. + operationId: GetUserV1 + parameters: + - description: The ID of the user. + in: path + name: user_handle + required: true + schema: + example: test@datadoghq.com + type: string + responses: + '200': + content: + application/json: + examples: + default: + value: + user: + disabled: false + email: test@example.com + handle: test@example.com + name: Example Name + schema: + $ref: '#/components/schemas/UserResponseV1' + description: OK for get user + '403': + content: + application/json: + schema: + $ref: '#/components/schemas/APIErrorResponseV1' + description: Authentication error + '404': + content: + application/json: + schema: + $ref: '#/components/schemas/APIErrorResponseV1' + description: Not Found + '429': + $ref: '#/components/responses/TooManyRequestsResponse' + summary: Get user details + tags: + - Users + put: + description: |- + Update a user information. + + **Note**: It can only be used with application keys belonging to administrators. + operationId: UpdateUserV1 + parameters: + - description: The ID of the user. + in: path + name: user_handle + required: true + schema: + example: test@datadoghq.com + type: string + requestBody: + content: + application/json: + examples: + default: + value: + disabled: false + email: test@datadoghq.com + name: test user + schema: + $ref: '#/components/schemas/UserV1' + description: Description of the update. + required: true + responses: + '200': + content: + application/json: + examples: + default: + value: + user: + disabled: false + email: test@example.com + handle: test@example.com + name: Example Name + schema: + $ref: '#/components/schemas/UserResponseV1' + description: User updated + '400': + content: + application/json: + schema: + $ref: '#/components/schemas/APIErrorResponseV1' + description: Bad Request + '403': + content: + application/json: + schema: + $ref: '#/components/schemas/APIErrorResponseV1' + description: Authentication error + '404': + content: + application/json: + schema: + $ref: '#/components/schemas/APIErrorResponseV1' + description: Not Found + '429': + $ref: '#/components/responses/TooManyRequestsResponse' + summary: Update a user + tags: + - Users + x-codegen-request-body-name: body + /api/v1/validate: + get: + description: Check if the API key (not the APP key) is valid. If invalid, a 403 is returned. + operationId: ValidateV1 + responses: + '200': + content: + application/json: + examples: + default: + value: + valid: true + schema: + $ref: '#/components/schemas/AuthenticationValidationResponse' + description: OK + '403': + content: + application/json: + schema: + $ref: '#/components/schemas/APIErrorResponseV1' + description: Authentication error + '429': + $ref: '#/components/responses/TooManyRequestsResponse' + security: + - apiKeyAuth: [] + summary: Validate API key + tags: + - Authentication + x-permission: + operator: OPEN + permissions: [] +components: + schemas: + AnonymizeUsersRequest: + description: Request body for anonymizing users. + properties: + data: + $ref: '#/components/schemas/AnonymizeUsersRequestData' + required: + - data + type: object + AnonymizeUsersResponse: + description: Response containing the result of an anonymize users request. + properties: + data: + $ref: '#/components/schemas/AnonymizeUsersResponseData' + type: object + APIErrorResponse: + description: API error response. + properties: + errors: + description: A list of errors. + example: + - Bad Request + items: + description: A list of items. + example: Bad Request + type: string + type: array + required: + - errors + type: object + APIKeysResponse: + description: Response for a list of API keys. + properties: + data: + description: Array of API keys. + items: + $ref: '#/components/schemas/PartialAPIKey' + type: array + included: + description: Array of objects related to the API key. + items: + $ref: '#/components/schemas/APIKeyResponseIncludedItem' + type: array + meta: + $ref: '#/components/schemas/APIKeysResponseMeta' + type: object + APIKeyCreateRequest: + description: Request used to create an API key. + properties: + data: + $ref: '#/components/schemas/APIKeyCreateData' + required: + - data + type: object + APIKeyResponse: + description: Response for retrieving an API key. + properties: + data: + $ref: '#/components/schemas/FullAPIKey' + included: + description: Array of objects related to the API key. + items: + $ref: '#/components/schemas/APIKeyResponseIncludedItem' + type: array + type: object + APIKeyUpdateRequest: + description: Request used to update an API key. + properties: + data: + $ref: '#/components/schemas/APIKeyUpdateData' + required: + - data + type: object + ListApplicationKeysResponse: + description: Response for a list of application keys. + properties: + data: + description: Array of application keys. + items: + $ref: '#/components/schemas/PartialApplicationKey' + type: array + included: + description: Array of objects related to the application key. + items: + $ref: '#/components/schemas/ApplicationKeyResponseIncludedItem' + type: array + meta: + $ref: '#/components/schemas/ApplicationKeyResponseMeta' + type: object + ApplicationKeyResponse: + description: Response for retrieving an application key. + properties: + data: + $ref: '#/components/schemas/FullApplicationKey' + included: + description: Array of objects related to the application key. + items: + $ref: '#/components/schemas/ApplicationKeyResponseIncludedItem' + type: array + type: object + ApplicationKeyUpdateRequest: + description: Request used to update an application key. + properties: + data: + $ref: '#/components/schemas/ApplicationKeyUpdateData' + required: + - data + type: object + AuditLogsSort: + description: Sort parameters when querying events. + enum: + - timestamp + - '-timestamp' + type: string + x-enum-varnames: + - TIMESTAMP_ASCENDING + - TIMESTAMP_DESCENDING + AuditLogsEventsResponse: + description: Response object with all events matching the request and pagination information. + properties: + data: + description: Array of events matching the request. + items: + $ref: '#/components/schemas/AuditLogsEvent' + type: array + links: + $ref: '#/components/schemas/AuditLogsResponseLinks' + meta: + $ref: '#/components/schemas/AuditLogsResponseMetadata' + type: object + AuditLogsSearchEventsRequest: + description: The request for a Audit Logs events list. + properties: + filter: + $ref: '#/components/schemas/AuditLogsQueryFilter' + options: + $ref: '#/components/schemas/AuditLogsQueryOptions' + page: + $ref: '#/components/schemas/AuditLogsQueryPageOptions' + sort: + $ref: '#/components/schemas/AuditLogsSort' + type: object + AuthNMappingsSort: + description: Sorting options for AuthN Mappings. + enum: + - created_at + - '-created_at' + - role_id + - '-role_id' + - saml_assertion_attribute_id + - '-saml_assertion_attribute_id' + - role.name + - '-role.name' + - saml_assertion_attribute.attribute_key + - '-saml_assertion_attribute.attribute_key' + - saml_assertion_attribute.attribute_value + - '-saml_assertion_attribute.attribute_value' + type: string + x-enum-varnames: + - CREATED_AT_ASCENDING + - CREATED_AT_DESCENDING + - ROLE_ID_ASCENDING + - ROLE_ID_DESCENDING + - SAML_ASSERTION_ATTRIBUTE_ID_ASCENDING + - SAML_ASSERTION_ATTRIBUTE_ID_DESCENDING + - ROLE_NAME_ASCENDING + - ROLE_NAME_DESCENDING + - SAML_ASSERTION_ATTRIBUTE_KEY_ASCENDING + - SAML_ASSERTION_ATTRIBUTE_KEY_DESCENDING + - SAML_ASSERTION_ATTRIBUTE_VALUE_ASCENDING + - SAML_ASSERTION_ATTRIBUTE_VALUE_DESCENDING + AuthNMappingResourceType: + description: The type of resource being mapped to. + enum: + - role + - team + type: string + x-enum-varnames: + - ROLE + - TEAM + AuthNMappingsResponse: + description: Array of AuthN Mappings response. + properties: + data: + description: Array of returned AuthN Mappings. + items: + $ref: '#/components/schemas/AuthNMapping' + type: array + included: + description: Included data in the AuthN Mapping response. + items: + $ref: '#/components/schemas/AuthNMappingIncluded' + type: array + meta: + $ref: '#/components/schemas/ResponseMetaAttributes' + type: object + AuthNMappingCreateRequest: + description: Request for creating an AuthN Mapping. + properties: + data: + $ref: '#/components/schemas/AuthNMappingCreateData' + required: + - data + type: object + AuthNMappingResponse: + description: AuthN Mapping response from the API. + properties: + data: + $ref: '#/components/schemas/AuthNMapping' + included: + description: Included data in the AuthN Mapping response. + items: + $ref: '#/components/schemas/AuthNMappingIncluded' + type: array + type: object + AuthNMappingUpdateRequest: + description: Request to update an AuthN Mapping. + properties: + data: + $ref: '#/components/schemas/AuthNMappingUpdateData' + required: + - data + type: object + UserResponse: + description: Response containing information about a single user. + properties: + data: + $ref: '#/components/schemas/User' + included: + description: Array of objects related to the user. + items: + $ref: '#/components/schemas/UserResponseIncludedItem' + type: array + type: object + UserUpdateRequest: + description: Update a user. + properties: + data: + $ref: '#/components/schemas/UserUpdateData' + required: + - data + type: object + ApplicationKeyCreateRequest: + description: Request used to create an application key. + properties: + data: + $ref: '#/components/schemas/ApplicationKeyCreateData' + required: + - data + type: object + CreateDataDeletionRequestBody: + description: Object needed to create a data deletion request. + properties: + data: + $ref: '#/components/schemas/CreateDataDeletionRequestBodyData' + required: + - data + type: object + CreateDataDeletionResponseBody: + description: The response from the create data deletion request endpoint. + properties: + data: + $ref: '#/components/schemas/DataDeletionResponseItem' + meta: + $ref: '#/components/schemas/DataDeletionResponseMeta' + type: object + GetDataDeletionsResponseBody: + description: The response from the get data deletion requests endpoint. + properties: + data: + description: The list of data deletion requests that matches the query. + items: + $ref: '#/components/schemas/DataDeletionResponseItem' + type: array + meta: + $ref: '#/components/schemas/DataDeletionResponseMeta' + type: object + CancelDataDeletionResponseBody: + description: The response from the cancel data deletion request endpoint. + properties: + data: + $ref: '#/components/schemas/DataDeletionResponseItem' + meta: + $ref: '#/components/schemas/DataDeletionResponseMeta' + type: object + DomainAllowlistResponse: + description: Response containing information about the email domain allowlist. + properties: + data: + $ref: '#/components/schemas/DomainAllowlistResponseData' + type: object + DomainAllowlistRequest: + description: Request containing the desired email domain allowlist configuration. + properties: + data: + $ref: '#/components/schemas/DomainAllowlist' + required: + - data + type: object + GlobalOrgsResponse: + description: Response containing organizations across regions for the authenticated user. + properties: + data: + description: Organizations across regions for the authenticated user. + items: + $ref: '#/components/schemas/GlobalOrgData' + type: array + links: + $ref: '#/components/schemas/GlobalOrgsLinks' + meta: + $ref: '#/components/schemas/GlobalOrgsMeta' + required: + - data + type: object + GovernanceConfigResponse: + description: The Governance Console configuration for an organization. + properties: + data: + $ref: '#/components/schemas/GovernanceConfigData' + required: + - data + type: object + JSONAPIErrorResponse: + description: API error response. + properties: + errors: + description: A list of errors. + items: + $ref: '#/components/schemas/JSONAPIErrorItem' + type: array + required: + - errors + type: object + GovernanceControlsResponse: + description: A list of governance controls. + properties: + data: + $ref: '#/components/schemas/GovernanceControlsDataArray' + required: + - data + type: object + GovernanceControlResponse: + description: A single governance control. + properties: + data: + $ref: '#/components/schemas/GovernanceControlData' + required: + - data + type: object + GovernanceControlUpdateRequest: + description: A request to update a governance control. + properties: + data: + $ref: '#/components/schemas/GovernanceControlUpdateData' + required: + - data + type: object + GovernanceControlDetectionsResponse: + description: A list of governance control detections. + properties: + data: + $ref: '#/components/schemas/GovernanceControlDetectionsDataArray' + required: + - data + type: object + ControlNotificationSettingsResponse: + description: The notification settings for a governance control. + properties: + data: + $ref: '#/components/schemas/ControlNotificationSettingsData' + required: + - data + type: object + ControlNotificationSettingsUpdateRequest: + description: A request to update the notification settings for a governance control. + properties: + data: + $ref: '#/components/schemas/ControlNotificationSettingsUpdateData' + required: + - data + type: object + GovernanceMitigationRequest: + description: A request to mitigate a set of governance detections. + properties: + data: + $ref: '#/components/schemas/GovernanceMitigationRequestData' + required: + - data + type: object + GovernanceControlDetectionResponse: + description: A single governance control detection. + properties: + data: + $ref: '#/components/schemas/GovernanceControlDetectionData' + required: + - data + type: object + GovernanceControlDetectionUpdateRequest: + description: A request to update a governance control detection. + properties: + data: + $ref: '#/components/schemas/GovernanceControlDetectionUpdateData' + required: + - data + type: object + GovernanceInsightsResponse: + description: A list of governance insights. + properties: + data: + $ref: '#/components/schemas/GovernanceInsightsDataArray' + required: + - data + type: object + GovernanceNotificationSettingsResponse: + description: The organization-wide governance notification settings. + properties: + data: + $ref: '#/components/schemas/GovernanceNotificationSettingsData' + required: + - data + type: object + GovernanceNotificationSettingsUpdateRequest: + description: A request to update the organization-wide governance notification settings. + properties: + data: + $ref: '#/components/schemas/GovernanceNotificationSettingsUpdateData' + required: + - data + type: object + TagRuleInclude: + description: A related resource to include alongside a tag rule in the response. Currently the only supported value is `score`. + enum: + - score + example: score + type: string + x-enum-varnames: + - SCORE + TagRuleSource: + description: The telemetry source that a tag rule applies to. + enum: + - logs + - spans + - metrics + - rum + - feed + example: logs + type: string + x-enum-varnames: + - LOGS + - SPANS + - METRICS + - RUM + - FEED + TagRulesListResponse: + description: A page of tag rules. + properties: + data: + $ref: '#/components/schemas/TagRuleDataArray' + included: + $ref: '#/components/schemas/TagRuleIncludedResources' + required: + - data + type: object + TagRuleCreateRequest: + description: Payload for creating a new tag rule. + properties: + data: + $ref: '#/components/schemas/TagRuleCreateData' + required: + - data + type: object + TagRuleResponse: + description: A single tag rule. + properties: + data: + $ref: '#/components/schemas/TagRuleData' + included: + $ref: '#/components/schemas/TagRuleIncludedResources' + required: + - data + type: object + TagRuleUpdateRequest: + description: Payload for updating an existing tag rule. Only the supplied fields are modified. + properties: + data: + $ref: '#/components/schemas/TagRuleUpdateData' + required: + - data + type: object + TagRuleScoreResponse: + description: A tag rule compliance score. + properties: + data: + $ref: '#/components/schemas/TagRuleScoreData' + required: + - data + type: object + HamrOrgConnectionResponse: + description: Response payload for a HAMR organization connection. + properties: + data: + $ref: '#/components/schemas/HamrOrgConnectionDataResponse' + required: + - data + type: object + HamrOrgConnectionRequest: + description: Request payload for creating or updating a HAMR organization connection. + properties: + data: + $ref: '#/components/schemas/HamrOrgConnectionDataRequest' + required: + - data + type: object + IdentityProvidersResponse: + description: Response containing a list of identity providers for an organization. + properties: + data: + $ref: '#/components/schemas/IdentityProviderDataList' + required: + - data + type: object + IdentityProviderUpdateRequest: + description: Request body for updating an organization identity provider. + properties: + data: + $ref: '#/components/schemas/IdentityProviderUpdateData' + required: + - data + type: object + IdentityProviderResponse: + description: Response containing a single organization identity provider. + properties: + data: + $ref: '#/components/schemas/IdentityProviderData' + required: + - data + type: object + QuerySortOrder: + default: desc + description: Direction of sort. + enum: + - asc + - desc + type: string + x-enum-varnames: + - ASC + - DESC + UsersResponse: + description: Response containing information about multiple users. + properties: + data: + description: Array of returned users. + items: + $ref: '#/components/schemas/User' + type: array + included: + description: Array of objects related to the users. + items: + $ref: '#/components/schemas/UserResponseIncludedItem' + type: array + meta: + $ref: '#/components/schemas/ResponseMetaAttributes' + readOnly: true + type: object + IPAllowlistResponse: + description: Response containing information about the IP allowlist. + properties: + data: + $ref: '#/components/schemas/IPAllowlistData' + type: object + IPAllowlistUpdateRequest: + description: Update the IP allowlist. + properties: + data: + $ref: '#/components/schemas/IPAllowlistData' + required: + - data + type: object + MaxSessionDurationUpdateRequest: + description: A request to update the maximum session duration for an organization. + properties: + data: + $ref: '#/components/schemas/MaxSessionDurationUpdateData' + required: + - data + type: object + OAuth2WellKnownSitesResponse: + description: Response payload containing the list of public OAuth2 sites for discovery. + properties: + data: + $ref: '#/components/schemas/OAuth2WellKnownSitesData' + required: + - data + type: object + OAuthScopesRestrictionResponse: + description: Response payload describing the scopes restriction of an OAuth2 client. + properties: + data: + $ref: '#/components/schemas/OAuthScopesRestrictionResponseData' + required: + - data + type: object + UpsertOAuthScopesRestrictionRequest: + description: Request payload for creating or updating the scopes restriction of an OAuth2 client. + properties: + data: + $ref: '#/components/schemas/UpsertOAuthScopesRestrictionData' + required: + - data + type: object + OAuthClientRegistrationRequest: + description: Request payload for OAuth2 dynamic client registration as defined by RFC 7591. + properties: + client_name: + description: Human-readable name of the client. Control characters are rejected. + example: Example MCP Client + maxLength: 1000 + type: string + client_uri: + description: URL of the home page of the client. + example: https://example.com + maxLength: 1000 + type: string + grant_types: + description: |- + OAuth 2.0 grant types the client may use. + Defaults to `authorization_code` and `refresh_token` when omitted. + example: + - authorization_code + - refresh_token + items: + $ref: '#/components/schemas/OAuthClientRegistrationGrantType' + type: array + jwks_uri: + description: URL referencing the client's JSON Web Key Set. + example: https://example.com/.well-known/jwks.json + maxLength: 1000 + type: string + logo_uri: + description: URL referencing a logo for the client. + example: https://example.com/logo.png + maxLength: 1000 + type: string + policy_uri: + description: URL pointing to the client's privacy policy. + example: https://example.com/privacy + maxLength: 1000 + type: string + redirect_uris: + description: Array of redirection URI strings used by the client in redirect-based flows. + example: + - https://example.com/oauth/callback + items: + description: Redirection URI registered for the client. + example: https://example.com/oauth/callback + maxLength: 1000 + type: string + type: array + response_types: + description: OAuth 2.0 response types the client may use. Only `code` is supported. + example: + - code + items: + $ref: '#/components/schemas/OAuthClientRegistrationResponseType' + type: array + scope: + description: Space-separated list of scope values the client may request. + example: openid profile + maxLength: 1000 + type: string + token_endpoint_auth_method: + description: Requested authentication method for the token endpoint. Only `none` is supported. + example: none + maxLength: 20 + type: string + tos_uri: + description: URL pointing to the client's terms of service. + example: https://example.com/tos + maxLength: 1000 + type: string + required: + - client_name + - redirect_uris + type: object + OAuthClientRegistrationResponse: + description: Response payload for a successful OAuth2 dynamic client registration as defined by RFC 7591. + properties: + client_id: + description: Unique identifier assigned to the registered client. + example: 72b68208-36a6-11f0-b21b-da7ad0900002 + format: uuid + type: string + client_name: + description: Human-readable name of the client. + example: Example MCP Client + type: string + grant_types: + description: OAuth 2.0 grant types registered for the client. + example: + - authorization_code + - refresh_token + items: + $ref: '#/components/schemas/OAuthClientRegistrationGrantType' + type: array + redirect_uris: + description: Redirection URIs registered for the client. + example: + - https://example.com/oauth/callback + items: + description: Redirection URI registered for the client. + example: https://example.com/oauth/callback + type: string + type: array + response_types: + description: OAuth 2.0 response types registered for the client. + example: + - code + items: + $ref: '#/components/schemas/OAuthClientRegistrationResponseType' + type: array + token_endpoint_auth_method: + description: Authentication method registered for the token endpoint. Always `none`. + example: none + type: string + required: + - client_id + - client_name + - redirect_uris + - token_endpoint_auth_method + - grant_types + - response_types + type: object + OAuthClientRegistrationError: + description: Error payload returned by OAuth2 dynamic client registration as defined by RFC 7591. + properties: + error: + description: Single ASCII error code per RFC 7591, such as `invalid_request` or `invalid_client_metadata`. + example: invalid_client_metadata + type: string + error_description: + description: Human-readable description of the error. + example: redirect URI is not well-formed + type: string + required: + - error + - error_description + type: object + ManagedOrgsResponse: + description: Response containing the current organization and its managed organizations. + properties: + data: + $ref: '#/components/schemas/ManagedOrgsData' + included: + description: Included organization resources. + items: + $ref: '#/components/schemas/OrgData' + type: array + required: + - data + - included + type: object + CustomerOrgDisableRequest: + description: Request payload for disabling the authenticated customer organization. + properties: + data: + $ref: '#/components/schemas/CustomerOrgDisableRequestData' + required: + - data + type: object + CustomerOrgDisableResponse: + description: Response describing the outcome of disabling the customer organization. + properties: + data: + $ref: '#/components/schemas/CustomerOrgDisableResponseData' + required: + - data + type: object + OrgSAMLPreferencesUpdateRequest: + description: Request to update an organization's SAML preferences. + properties: + data: + $ref: '#/components/schemas/OrgSAMLPreferencesData' + required: + - data + type: object + OrgAuthorizedClientsResponse: + description: Response containing a list of org authorized clients. + properties: + data: + $ref: '#/components/schemas/OrgAuthorizedClientDataList' + meta: + $ref: '#/components/schemas/ResponseMetaAttributes' + required: + - data + - meta + type: object + OrgAuthorizedClientResponse: + description: Response containing a single org authorized client. + properties: + data: + $ref: '#/components/schemas/OrgAuthorizedClientData' + required: + - data + type: object + OrgAuthorizedClientUpdateRequest: + description: Request body for updating an org authorized client. + properties: + data: + $ref: '#/components/schemas/OrgAuthorizedClientUpdateData' + required: + - data + type: object + OrgAuthorizedClientUserAuthorizationsSort: + description: Field to sort user authorizations by. + enum: + - user.name + - user.email + - oauth2_client.name + example: user.name + type: string + x-enum-varnames: + - USER_NAME + - USER_EMAIL + - OAUTH2_CLIENT_NAME + UserAuthorizedClientsResponse: + description: Response containing a list of user authorized clients. + properties: + data: + $ref: '#/components/schemas/UserAuthorizedClientDataList' + meta: + $ref: '#/components/schemas/ResponseMetaAttributes' + required: + - data + - meta + type: object + OrgConfigListResponse: + description: A response with multiple Org Configs. + properties: + data: + description: An array of Org Configs. + items: + $ref: '#/components/schemas/OrgConfigRead' + type: array + required: + - data + type: object + OrgConfigGetResponse: + description: A response with a single Org Config. + properties: + data: + $ref: '#/components/schemas/OrgConfigRead' + required: + - data + type: object + OrgConfigWriteRequest: + description: A request to update an Org Config. + properties: + data: + $ref: '#/components/schemas/OrgConfigWrite' + required: + - data + type: object + OrgConnectionListResponse: + description: Response containing a list of org connections. + properties: + data: + description: List of org connections. + items: + $ref: '#/components/schemas/OrgConnection' + type: array + meta: + $ref: '#/components/schemas/OrgConnectionListResponseMeta' + required: + - data + type: object + OrgConnectionCreateRequest: + description: Request to create an org connection. + properties: + data: + $ref: '#/components/schemas/OrgConnectionCreate' + required: + - data + type: object + OrgConnectionResponse: + description: Response containing a single org connection. + properties: + data: + $ref: '#/components/schemas/OrgConnection' + required: + - data + type: object + OrgConnectionUpdateRequest: + description: Request to update an org connection. + properties: + data: + $ref: '#/components/schemas/OrgConnectionUpdate' + required: + - data + type: object + OrgGroupMembershipListResponse: + description: Response containing a list of org group memberships. + properties: + data: + description: An array of org group memberships. + items: + $ref: '#/components/schemas/OrgGroupMembershipData' + type: array + links: + $ref: '#/components/schemas/OrgGroupPaginationLinks' + meta: + $ref: '#/components/schemas/OrgGroupPaginationMeta' + required: + - data + type: object + OrgGroupMembershipBulkUpdateRequest: + description: Request to bulk update org group memberships. + properties: + data: + $ref: '#/components/schemas/OrgGroupMembershipBulkUpdateData' + required: + - data + type: object + OrgGroupMembershipResponse: + description: Response containing a single org group membership. + properties: + data: + $ref: '#/components/schemas/OrgGroupMembershipData' + required: + - data + type: object + OrgGroupMembershipUpdateRequest: + description: Request to update an org group membership. + properties: + data: + $ref: '#/components/schemas/OrgGroupMembershipUpdateData' + required: + - data + type: object + OrgGroupPolicyListResponse: + description: Response containing a list of org group policies. + properties: + data: + description: An array of org group policies. + items: + $ref: '#/components/schemas/OrgGroupPolicyData' + type: array + links: + $ref: '#/components/schemas/OrgGroupPaginationLinks' + meta: + $ref: '#/components/schemas/OrgGroupPaginationMeta' + required: + - data + type: object + OrgGroupPolicyCreateRequest: + description: Request to create an org group policy. + properties: + data: + $ref: '#/components/schemas/OrgGroupPolicyCreateData' + required: + - data + type: object + OrgGroupPolicyResponse: + description: Response containing a single org group policy. + properties: + data: + $ref: '#/components/schemas/OrgGroupPolicyData' + required: + - data + type: object + OrgGroupPolicyUpdateRequest: + description: Request to update an org group policy. + properties: + data: + $ref: '#/components/schemas/OrgGroupPolicyUpdateData' + required: + - data + type: object + OrgGroupPolicyConfigListResponse: + description: Response containing a list of org group policy configs. + properties: + data: + description: An array of org group policy configs. + items: + $ref: '#/components/schemas/OrgGroupPolicyConfigData' + type: array + required: + - data + type: object + OrgGroupPolicyOverrideListResponse: + description: Response containing a list of org group policy overrides. + properties: + data: + description: An array of org group policy overrides. + items: + $ref: '#/components/schemas/OrgGroupPolicyOverrideData' + type: array + links: + $ref: '#/components/schemas/OrgGroupPaginationLinks' + meta: + $ref: '#/components/schemas/OrgGroupPaginationMeta' + required: + - data + type: object + OrgGroupPolicyOverrideCreateRequest: + description: Request to create an org group policy override. + properties: + data: + $ref: '#/components/schemas/OrgGroupPolicyOverrideCreateData' + required: + - data + type: object + OrgGroupPolicyOverrideResponse: + description: Response containing a single org group policy override. + properties: + data: + $ref: '#/components/schemas/OrgGroupPolicyOverrideData' + required: + - data + type: object + OrgGroupPolicyOverrideUpdateRequest: + description: Request to update an org group policy override. + properties: + data: + $ref: '#/components/schemas/OrgGroupPolicyOverrideUpdateData' + required: + - data + type: object + OrgGroupPolicySuggestionListResponse: + description: Response containing a list of org group policy suggestions. + properties: + data: + description: An array of org group policy suggestions. + items: + $ref: '#/components/schemas/OrgGroupPolicySuggestionData' + type: array + required: + - data + type: object + OrgGroupListResponse: + description: Response containing a list of org groups. + properties: + data: + description: An array of org groups. + items: + $ref: '#/components/schemas/OrgGroupData' + type: array + links: + $ref: '#/components/schemas/OrgGroupPaginationLinks' + meta: + $ref: '#/components/schemas/OrgGroupPaginationMeta' + required: + - data + type: object + OrgGroupCreateRequest: + description: Request to create an org group. + properties: + data: + $ref: '#/components/schemas/OrgGroupCreateData' + required: + - data + type: object + OrgGroupResponse: + description: Response containing a single org group. + properties: + data: + $ref: '#/components/schemas/OrgGroupData' + required: + - data + type: object + OrgGroupUpdateRequest: + description: Request to update an org group. + properties: + data: + $ref: '#/components/schemas/OrgGroupUpdateData' + required: + - data + type: object + PermissionsResponse: + description: Payload with API-returned permissions. + properties: + data: + description: Array of permissions. + items: + $ref: '#/components/schemas/Permission' + type: array + type: object + ListPersonalAccessTokensResponse: + description: Response for a list of access tokens. Includes both personal and service access tokens. + properties: + data: + description: Array of access tokens. Includes both personal and service access tokens. + items: + $ref: '#/components/schemas/AccessTokenListItem' + type: array + meta: + $ref: '#/components/schemas/PersonalAccessTokenResponseMeta' + type: object + PersonalAccessTokenCreateRequest: + description: Request used to create an access token. + properties: + data: + $ref: '#/components/schemas/PersonalAccessTokenCreateData' + required: + - data + type: object + PersonalAccessTokenCreateResponse: + description: Response for creating an access token. Includes the token key. + properties: + data: + $ref: '#/components/schemas/FullPersonalAccessToken' + type: object + PersonalAccessTokenResponse: + description: Response for retrieving an access token. + properties: + data: + $ref: '#/components/schemas/PersonalAccessToken' + type: object + PersonalAccessTokenUpdateRequest: + description: Request used to update an access token. + properties: + data: + $ref: '#/components/schemas/PersonalAccessTokenUpdateData' + required: + - data + type: object + RestrictionPolicyResponse: + description: Response containing information about a single restriction policy. + properties: + data: + $ref: '#/components/schemas/RestrictionPolicy' + required: + - data + type: object + RestrictionPolicyUpdateRequest: + description: Update request for a restriction policy. + properties: + data: + $ref: '#/components/schemas/RestrictionPolicy' + required: + - data + type: object + RolesSort: + default: name + description: Sorting options for roles. + enum: + - name + - '-name' + - modified_at + - '-modified_at' + - user_count + - '-user_count' + type: string + x-enum-varnames: + - NAME_ASCENDING + - NAME_DESCENDING + - MODIFIED_AT_ASCENDING + - MODIFIED_AT_DESCENDING + - USER_COUNT_ASCENDING + - USER_COUNT_DESCENDING + RolesResponse: + description: Response containing information about multiple roles. + properties: + data: + description: Array of returned roles. + items: + $ref: '#/components/schemas/Role' + type: array + meta: + $ref: '#/components/schemas/ResponseMetaAttributes' + type: object + RoleCreateRequest: + description: Create a role. + properties: + data: + $ref: '#/components/schemas/RoleCreateData' + required: + - data + type: object + RoleCreateResponse: + description: Response containing information about a created role. + properties: + data: + $ref: '#/components/schemas/RoleCreateResponseData' + type: object + RoleTemplateArray: + description: The definition of `RoleTemplateArray` object. + properties: + data: + description: The `RoleTemplateArray` `data`. + items: + $ref: '#/components/schemas/RoleTemplateData' + type: array + required: + - data + type: object + RoleResponse: + description: Response containing information about a single role. + properties: + data: + $ref: '#/components/schemas/Role' + type: object + RoleUpdateRequest: + description: Update a role. + properties: + data: + $ref: '#/components/schemas/RoleUpdateData' + required: + - data + type: object + RoleUpdateResponse: + description: Response containing information about an updated role. + properties: + data: + $ref: '#/components/schemas/RoleUpdateResponseData' + type: object + RoleCloneRequest: + description: Request to create a role by cloning an existing role. + properties: + data: + $ref: '#/components/schemas/RoleClone' + required: + - data + type: object + RelationshipToPermission: + description: Relationship to a permissions object. + properties: + data: + $ref: '#/components/schemas/RelationshipToPermissionData' + type: object + RelationshipToUser: + description: Relationship to user. + properties: + data: + $ref: '#/components/schemas/RelationshipToUserData' + required: + - data + type: object + SAMLConfigurationsResponse: + description: Response containing a list of SAML configurations. + properties: + data: + description: Array of SAML configurations. An organization has at most one SAML configuration. + items: + $ref: '#/components/schemas/SAMLConfiguration' + type: array + included: + description: Resources related to the SAML configurations, such as the default roles. + items: + $ref: '#/components/schemas/Role' + type: array + type: object + IdPMetadataFormData: + description: The form data submitted to upload IdP metadata + properties: + idp_file: + description: The IdP metadata XML file + format: binary + type: string + x-mimetype: application/xml + type: object + SAMLConfigurationResponse: + description: Response containing a single SAML configuration. + properties: + data: + $ref: '#/components/schemas/SAMLConfiguration' + included: + description: Resources related to the SAML configuration, such as the default roles. + items: + $ref: '#/components/schemas/Role' + type: array + required: + - data + type: object + SAMLConfigurationUpdateRequest: + description: Request to update a SAML configuration. + properties: + data: + $ref: '#/components/schemas/SAMLConfigurationUpdateData' + required: + - data + type: object + UnassignSeatsUserRequest: + description: The request body for unassigning seats from users for a product code. + properties: + data: + $ref: '#/components/schemas/UnassignSeatsUserRequestData' + description: The data for the unassign seats user request. + type: object + SeatUserDataArray: + description: A paginated list of seat user resources with associated pagination metadata. + properties: + data: + description: The list of seat users. + items: + $ref: '#/components/schemas/SeatUserData' + type: array + meta: + $ref: '#/components/schemas/SeatUserMeta' + description: The metadata of the seat users. + type: object + AssignSeatsUserRequest: + description: The request body for assigning seats to users for a product code. + properties: + data: + $ref: '#/components/schemas/AssignSeatsUserRequestData' + description: The data for the assign seats user request. + type: object + AssignSeatsUserResponse: + description: The response body returned after successfully assigning seats to users. + properties: + data: + $ref: '#/components/schemas/AssignSeatsUserResponseData' + description: The data for the assign seats user response. + type: object + ServiceAccountCreateRequest: + description: Create a service account. + properties: + data: + $ref: '#/components/schemas/ServiceAccountCreateData' + required: + - data + type: object + ListServiceAccessTokensResponse: + description: Response for a list of access tokens. + properties: + data: + description: Array of access tokens. + items: + $ref: '#/components/schemas/ServiceAccessToken' + type: array + meta: + $ref: '#/components/schemas/ServiceAccessTokenResponseMeta' + type: object + ServiceAccountAccessTokenCreateRequest: + description: Request used to create a service account access token. + properties: + data: + $ref: '#/components/schemas/ServiceAccountAccessTokenCreateData' + required: + - data + type: object + ServiceAccessTokenCreateResponse: + description: Response for creating an access token. Includes the token key. + properties: + data: + $ref: '#/components/schemas/FullServiceAccessToken' + type: object + ServiceAccessTokenResponse: + description: Response for retrieving an access token. + properties: + data: + $ref: '#/components/schemas/ServiceAccessToken' + type: object + ServiceAccountAccessTokenUpdateRequest: + description: Request used to update a service account access token. + properties: + data: + $ref: '#/components/schemas/ServiceAccountAccessTokenUpdateData' + required: + - data + type: object + PartialApplicationKeyResponse: + description: Response for retrieving a partial application key. + properties: + data: + $ref: '#/components/schemas/PartialApplicationKey' + included: + description: Array of objects related to the application key. + items: + $ref: '#/components/schemas/ApplicationKeyResponseIncludedItem' + type: array + type: object + ListTeamsSort: + description: Specifies the order of the returned teams + enum: + - name + - '-name' + - user_count + - '-user_count' + type: string + x-enum-varnames: + - NAME + - _NAME + - USER_COUNT + - _USER_COUNT + ListTeamsInclude: + description: Included related resources optionally requested. + enum: + - team_links + - user_team_permissions + type: string + x-enum-varnames: + - TEAM_LINKS + - USER_TEAM_PERMISSIONS + TeamsField: + description: Supported teams field. + enum: + - id + - name + - handle + - summary + - description + - avatar + - banner + - visible_modules + - hidden_modules + - created_at + - modified_at + - user_count + - link_count + - team_links + - user_team_permissions + type: string + x-enum-varnames: + - ID + - NAME + - HANDLE + - SUMMARY + - DESCRIPTION + - AVATAR + - BANNER + - VISIBLE_MODULES + - HIDDEN_MODULES + - CREATED_AT + - MODIFIED_AT + - USER_COUNT + - LINK_COUNT + - TEAM_LINKS + - USER_TEAM_PERMISSIONS + TeamsResponse: + description: Response with multiple teams + properties: + data: + description: Teams response data + items: + $ref: '#/components/schemas/Team' + type: array + included: + description: Resources related to the team + items: + $ref: '#/components/schemas/TeamIncluded' + type: array + links: + $ref: '#/components/schemas/TeamsResponseLinks' + meta: + $ref: '#/components/schemas/TeamsResponseMeta' + type: object + TeamCreateRequest: + description: Request to create a team + properties: + data: + $ref: '#/components/schemas/TeamCreate' + required: + - data + type: object + TeamResponse: + description: Response with a team + properties: + data: + $ref: '#/components/schemas/Team' + type: object + TeamHierarchyLinksResponse: + description: Team hierarchy links response + properties: + data: + description: Team hierarchy links response data + items: + $ref: '#/components/schemas/TeamHierarchyLink' + type: array + included: + description: Included teams + items: + $ref: '#/components/schemas/TeamHierarchyLinkTeam' + type: array + links: + $ref: '#/components/schemas/TeamsHierarchyLinksResponseLinks' + meta: + $ref: '#/components/schemas/TeamsHierarchyLinksResponseMeta' + type: object + TeamHierarchyLinkCreateRequest: + description: Request to create a team hierarchy link + properties: + data: + $ref: '#/components/schemas/TeamHierarchyLinkCreate' + required: + - data + type: object + TeamHierarchyLinkResponse: + description: Team hierarchy link response + properties: + data: + $ref: '#/components/schemas/TeamHierarchyLink' + included: + description: Included teams + items: + $ref: '#/components/schemas/TeamHierarchyLinkTeam' + type: array + links: + $ref: '#/components/schemas/TeamsHierarchyLinksResponseLinks' + type: object + TeamConnectionDeleteRequest: + description: Request for deleting team connections. + properties: + data: + description: Array of team connection IDs to delete. + items: + $ref: '#/components/schemas/TeamConnectionDeleteRequestDataItem' + type: array + required: + - data + type: object + TeamConnectionsResponse: + description: Response containing information about multiple team connections. + properties: + data: + description: Array of team connections. + items: + $ref: '#/components/schemas/TeamConnection' + type: array + meta: + $ref: '#/components/schemas/ConnectionsResponseMeta' + type: object + TeamConnectionCreateRequest: + description: Request for creating team connections. + properties: + data: + description: Array of team connections to create. + items: + $ref: '#/components/schemas/TeamConnectionCreateData' + type: array + required: + - data + type: object + TeamSyncAttributesSource: + description: The external source platform for team synchronization. Only "github" is supported. + enum: + - github + example: github + type: string + x-enum-varnames: + - GITHUB + TeamSyncResponse: + description: Team sync configurations response. + properties: + data: + description: List of team sync configurations + items: + $ref: '#/components/schemas/TeamSyncData' + type: array + type: object + TeamSyncRequest: + description: Team sync request. + example: + data: + attributes: + source: github + type: link + type: team_sync_bulk + properties: + data: + $ref: '#/components/schemas/TeamSyncData' + required: + - data + type: object + AddMemberTeamRequest: + description: Request to add a member team to super team's hierarchy + properties: + data: + $ref: '#/components/schemas/MemberTeam' + required: + - data + type: object + TeamUpdateRequest: + description: Team update request + properties: + data: + $ref: '#/components/schemas/TeamUpdate' + required: + - data + type: object + TeamLinksResponse: + description: Team links response + properties: + data: + description: Team links response data + items: + $ref: '#/components/schemas/TeamLink' + type: array + type: object + TeamLinkCreateRequest: + description: Team link create request + properties: + data: + $ref: '#/components/schemas/TeamLinkCreate' + required: + - data + type: object + TeamLinkResponse: + description: Team link response + properties: + data: + $ref: '#/components/schemas/TeamLink' + type: object + GetTeamMembershipsSort: + description: Specifies the order of returned team memberships + enum: + - manager_name + - '-manager_name' + - name + - '-name' + - handle + - '-handle' + - email + - '-email' + type: string + x-enum-varnames: + - MANAGER_NAME + - _MANAGER_NAME + - NAME + - _NAME + - HANDLE + - _HANDLE + - EMAIL + - _EMAIL + UserTeamsResponse: + description: Team memberships response + properties: + data: + description: Team memberships response data + items: + $ref: '#/components/schemas/UserTeam' + type: array + included: + description: Resources related to the team memberships + items: + $ref: '#/components/schemas/UserTeamIncluded' + type: array + links: + $ref: '#/components/schemas/TeamsResponseLinks' + meta: + $ref: '#/components/schemas/TeamsResponseMeta' + type: object + UserTeamRequest: + description: Team membership request + properties: + data: + $ref: '#/components/schemas/UserTeamCreate' + required: + - data + type: object + UserTeamResponse: + description: Team membership response + properties: + data: + $ref: '#/components/schemas/UserTeam' + included: + description: Resources related to the team memberships + items: + $ref: '#/components/schemas/UserTeamIncluded' + type: array + type: object + UserTeamUpdateRequest: + description: Team membership request + properties: + data: + $ref: '#/components/schemas/UserTeamUpdate' + required: + - data + type: object + TeamNotificationRulesResponse: + description: Team notification rules response + properties: + data: + description: Team notification rules response data + items: + $ref: '#/components/schemas/TeamNotificationRule' + type: array + meta: + $ref: '#/components/schemas/TeamNotificationRulesResponseMeta' + type: object + TeamNotificationRuleRequest: + description: Request to create or update a team notification rule + properties: + data: + $ref: '#/components/schemas/TeamNotificationRule' + required: + - data + type: object + TeamNotificationRuleResponse: + description: Team notification rule response + properties: + data: + $ref: '#/components/schemas/TeamNotificationRule' + type: object + TeamPermissionSettingsResponse: + description: Team permission settings response + properties: + data: + description: Team permission settings response data + items: + $ref: '#/components/schemas/TeamPermissionSetting' + type: array + type: object + TeamPermissionSettingUpdateRequest: + description: Team permission setting update request + properties: + data: + $ref: '#/components/schemas/TeamPermissionSettingUpdate' + required: + - data + type: object + TeamPermissionSettingResponse: + description: Team permission setting response + properties: + data: + $ref: '#/components/schemas/TeamPermissionSetting' + type: object + UsageApplicationSecurityMonitoringResponse: + description: Application Security Monitoring usage response. + properties: + data: + description: Response containing Application Security Monitoring usage. + items: + $ref: '#/components/schemas/UsageDataObject' + type: array + type: object + BillingDimensionsMappingResponse: + description: Billing dimensions mapping response. + properties: + data: + $ref: '#/components/schemas/BillingDimensionsMappingBody' + type: object + CostByOrgResponse: + description: Chargeback Summary response. + properties: + data: + description: Response containing Chargeback Summary. + items: + $ref: '#/components/schemas/CostByOrg' + type: array + type: object + CostAggregationType: + description: Controls how costs are aggregated when using `start_date`. The `cumulative` option returns month-to-date running totals. + enum: + - cumulative + type: string + x-enum-varnames: + - CUMULATIVE + HourlyUsageResponse: + description: Hourly usage response. + properties: + data: + description: Response containing hourly usage. + items: + $ref: '#/components/schemas/HourlyUsage' + type: array + meta: + $ref: '#/components/schemas/HourlyUsageMetadata' + type: object + UsageLambdaTracedInvocationsResponse: + description: Lambda Traced Invocations usage response. + properties: + data: + description: Response containing Lambda Traced Invocations usage. + items: + $ref: '#/components/schemas/UsageDataObject' + type: array + type: object + UsageObservabilityPipelinesResponse: + description: Observability Pipelines usage response. + properties: + data: + description: Response containing Observability Pipelines usage. + items: + $ref: '#/components/schemas/UsageDataObject' + type: array + type: object + ProjectedCostResponse: + description: Projected Cost response. + properties: + data: + description: Response containing Projected Cost. + items: + $ref: '#/components/schemas/ProjectedCost' + type: array + type: object + UsageSummaryAvailableFieldsResponse: + description: |- + Response listing every field name returned by `GET /api/v1/usage/summary` + at each of its three response levels. Includes both typed fields and untyped + `additionalProperties` keys. + properties: + data: + $ref: '#/components/schemas/UsageSummaryAvailableFieldsBody' + type: object + UsageAttributionTypesResponse: + description: Usage attribution types response. + properties: + data: + $ref: '#/components/schemas/UsageAttributionTypesBody' + type: object + UserAuthorizedClientResponse: + description: Response containing a single user authorized client. + properties: + data: + $ref: '#/components/schemas/UserAuthorizedClientData' + required: + - data + type: object + UserInvitationsRequest: + description: Object to invite users to join the organization. + properties: + data: + description: List of user invitations. + example: [] + items: + $ref: '#/components/schemas/UserInvitationData' + type: array + required: + - data + type: object + UserInvitationsResponse: + description: User invitations as returned by the API. + properties: + data: + description: Array of user invitations. + items: + $ref: '#/components/schemas/UserInvitationResponseData' + type: array + type: object + UserInvitationResponse: + description: User invitation as returned by the API. + properties: + data: + $ref: '#/components/schemas/UserInvitationResponseData' + type: object + UserCreateRequest: + description: Create a user. + properties: + data: + $ref: '#/components/schemas/UserCreateData' + required: + - data + type: object + UserOverrideIdentityProvidersResponse: + description: Response containing a user's identity provider overrides. + properties: + data: + $ref: '#/components/schemas/UserOverrideIdentityProviderDataList' + required: + - data + type: object + UpdateUserIdentityProvidersRequest: + description: Request body for setting identity provider overrides for a user. + properties: + data: + $ref: '#/components/schemas/UserRelationshipIdentityProviderDataList' + required: + - data + type: object + ValidateV2Response: + description: Response for the API key validation endpoint. + properties: + data: + $ref: '#/components/schemas/ValidateV2Data' + required: + - data + type: object + ValidateAPIKeyResponse: + description: Response object for the API and application key validation status check. + properties: + status: + $ref: '#/components/schemas/ValidateAPIKeyStatus' + required: + - status + type: object + IPRanges: + description: IP ranges. + properties: + agents: + $ref: '#/components/schemas/IPPrefixesAgents' + api: + $ref: '#/components/schemas/IPPrefixesAPI' + apm: + $ref: '#/components/schemas/IPPrefixesAPM' + global: + $ref: '#/components/schemas/IPPrefixesGlobal' + logs: + $ref: '#/components/schemas/IPPrefixesLogs' + modified: + description: Date when last updated, in the form `YYYY-MM-DD-hh-mm-ss`. + example: 2019-10-31-20-00-00 + type: string + orchestrator: + $ref: '#/components/schemas/IPPrefixesOrchestrator' + process: + $ref: '#/components/schemas/IPPrefixesProcess' + remote-configuration: + $ref: '#/components/schemas/IPPrefixesRemoteConfiguration' + synthetics: + $ref: '#/components/schemas/IPPrefixesSynthetics' + synthetics-private-locations: + $ref: '#/components/schemas/IPPrefixesSyntheticsPrivateLocations' + version: + description: Version of the IP list. + example: 11 + format: int64 + type: integer + webhooks: + $ref: '#/components/schemas/IPPrefixesWebhooks' + type: object + ApiKeyListResponse: + description: List of API and application keys available for a given organization. + example: + api_keys: + - created_by: test_user + key: 1234512345123456abcabc912349abcd + name: app_key + properties: + api_keys: + description: Array of API keys. + items: + $ref: '#/components/schemas/ApiKey' + type: array + type: object + APIErrorResponseV1: + description: Error response object. + properties: + errors: + description: Array of errors returned by the API. + example: + - Bad Request + items: + description: Error description. + example: Bad Request + type: string + type: array + required: + - errors + type: object + ApiKey: + description: Datadog API key. + properties: + created: + description: Date of creation of the API key. + example: '2019-08-02 15:31:07' + readOnly: true + type: string + created_by: + description: Datadog user handle that created the API key. + example: john@example.com + readOnly: true + type: string + key: + description: API key. + example: 1234512345123456abcabc912349abcd + maxLength: 32 + minLength: 32 + readOnly: true + type: string + name: + description: Name of your API key. + example: example user + type: string + type: object + ApiKeyResponse: + description: An API key with its associated metadata. + example: + api_key: + created_by: test_user + key: 1234512345123456abcabc912349abcd + name: app_key + properties: + api_key: + $ref: '#/components/schemas/ApiKey' + type: object + ApplicationKeyListResponse: + description: An application key response. + example: + application_keys: + - hash: 1234512345123459cda4eb9ced49a3d84fd0138c + name: app_key + owner: test_user + properties: + application_keys: + description: Array of application keys. + items: + $ref: '#/components/schemas/ApplicationKey' + type: array + type: object + ApplicationKey: + description: An application key with its associated metadata. + properties: + hash: + description: Hash of an application key. + example: 1234512345123459cda4eb9ced49a3d84fd0138c + maxLength: 40 + minLength: 40 + readOnly: true + type: string + name: + description: Name of an application key. + example: example user + type: string + owner: + description: Owner of an application key. + example: example.com + readOnly: true + type: string + type: object + ApplicationKeyResponseV1: + description: An application key response. + example: + application_key: + hash: 1234512345123459cda4eb9ced49a3d84fd0138c + name: app_key + owner: test_user + properties: + application_key: + $ref: '#/components/schemas/ApplicationKey' + type: object + UsageSortDirection: + default: desc + description: The direction to sort by. + enum: + - desc + - asc + type: string + x-enum-varnames: + - DESC + - ASC + UsageSort: + default: start_date + description: The field to sort by. + enum: + - computed_on + - size + - start_date + - end_date + type: string + x-enum-varnames: + - COMPUTED_ON + - SIZE + - START_DATE + - END_DATE + UsageCustomReportsResponse: + description: Response containing available custom reports. + properties: + data: + description: An array of available custom reports. + items: + $ref: '#/components/schemas/UsageCustomReportsData' + type: array + meta: + $ref: '#/components/schemas/UsageCustomReportsMeta' + type: object + UsageSpecifiedCustomReportsResponse: + description: Returns available specified custom reports. + properties: + data: + $ref: '#/components/schemas/UsageSpecifiedCustomReportsData' + meta: + $ref: '#/components/schemas/UsageSpecifiedCustomReportsMeta' + type: object + OrganizationListResponse: + description: Response with the list of organizations. + properties: + orgs: + description: Array of organization objects. + items: + $ref: '#/components/schemas/OrganizationV1' + type: array + type: object + OrganizationCreateBody: + description: Object describing an organization to create. + properties: + billing: + $ref: '#/components/schemas/OrganizationBilling' + name: + description: The name of the new child-organization, limited to 32 characters. + example: New child org + maxLength: 32 + type: string + subscription: + $ref: '#/components/schemas/OrganizationSubscription' + required: + - name + type: object + OrganizationCreateResponse: + description: Response object for an organization creation. + properties: + api_key: + $ref: '#/components/schemas/ApiKey' + application_key: + $ref: '#/components/schemas/ApplicationKey' + org: + $ref: '#/components/schemas/OrganizationV1' + user: + $ref: '#/components/schemas/UserV1' + type: object + OrganizationResponse: + description: Response with an organization. + properties: + org: + $ref: '#/components/schemas/OrganizationV1' + type: object + OrganizationV1: + description: Create, edit, and manage organizations. + properties: + billing: + $ref: '#/components/schemas/OrganizationBilling' + created: + description: Date of the organization creation. + example: '2019-09-26T17:28:28Z' + readOnly: true + type: string + description: + description: Description of the organization. + example: some description + type: string + name: + description: The name of the child organization, limited to 32 characters. + example: New child org + maxLength: 32 + type: string + public_id: + description: The `public_id` of the organization you are operating within. + example: abcdef12345 + type: string + settings: + $ref: '#/components/schemas/OrganizationSettings' + subscription: + $ref: '#/components/schemas/OrganizationSubscription' + trial: + description: Only available for MSP customers. Allows child organizations to be created on a trial plan. + example: false + type: boolean + type: object + OrgDowngradedResponse: + description: Status of downgrade + properties: + message: + description: Information pertaining to the downgraded child organization. + type: string + type: object + IdpFormData: + description: Object describing the IdP configuration. + properties: + idp_file: + description: The path to the XML metadata file you wish to upload. + example: '' + format: binary + type: string + required: + - idp_file + type: object + IdpResponse: + description: The IdP response object. + properties: + message: + description: Identity provider response. + example: IdP metadata successfully uploaded for example org + type: string + required: + - message + type: object + UsageAnalyzedLogsResponse: + description: A response containing the number of analyzed logs for each hour for a given organization. + properties: + usage: + description: Get hourly usage for analyzed logs. + items: + $ref: '#/components/schemas/UsageAnalyzedLogsHour' + type: array + type: object + UsageAuditLogsResponse: + description: Response containing the audit logs usage for each hour for a given organization. + properties: + usage: + description: Get hourly usage for audit logs. + items: + $ref: '#/components/schemas/UsageAuditLogsHour' + type: array + type: object + UsageLambdaResponse: + description: |- + Response containing the number of Lambda functions and sum of the invocations of all Lambda functions + for each hour for a given organization. + properties: + usage: + description: Get hourly usage for Lambda. + items: + $ref: '#/components/schemas/UsageLambdaHour' + type: array + type: object + UsageBillableSummaryResponse: + description: Response with monthly summary of data billed by Datadog. + properties: + usage: + description: An array of objects regarding usage of billable summary. + items: + $ref: '#/components/schemas/UsageBillableSummaryHour' + type: array + type: object + UsageCIVisibilityResponse: + description: CI visibility usage response + properties: + usage: + description: Response containing CI visibility usage. + items: + $ref: '#/components/schemas/UsageCIVisibilityHour' + type: array + type: object + UsageCloudSecurityPostureManagementResponse: + description: The response containing the Cloud Security Management Pro usage for each hour for a given organization. + properties: + usage: + description: Get hourly usage for Cloud Security Management Pro. + items: + $ref: '#/components/schemas/UsageCloudSecurityPostureManagementHour' + type: array + type: object + UsageCWSResponse: + description: Response containing the Cloud Workload Security usage for each hour for a given organization. + properties: + usage: + description: Get hourly usage for Cloud Workload Security. + items: + $ref: '#/components/schemas/UsageCWSHour' + type: array + type: object + UsageDBMResponse: + description: Response containing the Database Monitoring usage for each hour for a given organization. + properties: + usage: + description: Get hourly usage for Database Monitoring + items: + $ref: '#/components/schemas/UsageDBMHour' + type: array + type: object + UsageFargateResponse: + description: Response containing the number of Fargate tasks run and hourly usage. + properties: + usage: + description: Array with the number of hourly Fargate tasks recorded for a given organization. + items: + $ref: '#/components/schemas/UsageFargateHour' + type: array + type: object + UsageHostsResponse: + description: Host usage response. + properties: + usage: + description: An array of objects related to host usage. + items: + $ref: '#/components/schemas/UsageHostHour' + type: array + type: object + HourlyUsageAttributionUsageType: + description: |- + Supported products for hourly usage attribution requests. Usage types are in the format `_usage`. + To obtain the complete list of valid usage types, make a request to the [Get usage attribution types API](https://docs.datadoghq.com/api/latest/usage-metering/#get-usage-attribution-types). + enum: + - api_usage + - apm_fargate_usage + - apm_host_usage + - apm_usm_usage + - appsec_fargate_usage + - appsec_usage + - asm_serverless_traced_invocations_usage + - asm_serverless_traced_invocations_percentage + - bits_ai_investigations_usage + - browser_usage + - ci_code_coverage_committers_percentage + - ci_code_coverage_committers_usage + - ci_pipeline_indexed_spans_usage + - ci_test_indexed_spans_usage + - ci_visibility_itr_usage + - cloud_siem_usage + - code_security_host_usage + - container_excl_agent_usage + - container_usage + - cspm_containers_usage + - cspm_hosts_usage + - custom_event_usage + - custom_ingested_timeseries_usage + - custom_timeseries_usage + - cws_containers_usage + - cws_fargate_task_usage + - cws_hosts_usage + - data_jobs_monitoring_usage + - data_stream_monitoring_usage + - dbm_hosts_usage + - dbm_queries_usage + - error_tracking_usage + - error_tracking_percentage + - estimated_indexed_spans_usage + - estimated_ingested_spans_usage + - fargate_usage + - flex_logs_starter + - flex_stored_logs + - functions_usage + - incident_management_monthly_active_users_usage + - indexed_spans_usage + - infra_host_usage + - infra_host_basic_usage + - ingested_logs_bytes_usage + - ingested_spans_bytes_usage + - invocations_usage + - lambda_traced_invocations_usage + - llm_observability_usage + - llm_spans_usage + - logs_indexed_15day_usage + - logs_indexed_180day_usage + - logs_indexed_1day_usage + - logs_indexed_30day_usage + - logs_indexed_360day_usage + - logs_indexed_3day_usage + - logs_indexed_45day_usage + - logs_indexed_60day_usage + - logs_indexed_7day_usage + - logs_indexed_90day_usage + - logs_indexed_custom_retention_usage + - mobile_app_testing_usage + - ndm_netflow_usage + - npm_host_usage + - network_device_wireless_usage + - obs_pipeline_bytes_usage + - obs_pipelines_vcpu_usage + - online_archive_usage + - product_analytics_session_usage + - profiled_container_usage + - profiled_fargate_usage + - profiled_host_usage + - published_app + - rum_browser_mobile_sessions_usage + - rum_ingested_usage + - rum_investigate_usage + - rum_replay_sessions_usage + - rum_session_replay_add_on_usage + - sca_fargate_usage + - sds_scanned_bytes_usage + - serverless_apps_usage + - serverless_apps_apm_usage + - siem_12mo_retention_usage + - siem_6mo_retention_usage + - siem_analyzed_logs_add_on_usage + - siem_ingested_bytes_usage + - snmp_usage + - universal_service_monitoring_usage + - vuln_management_hosts_usage + - workflow_executions_usage + type: string + x-enum-varnames: + - API_USAGE + - APM_FARGATE_USAGE + - APM_HOST_USAGE + - APM_USM_USAGE + - APPSEC_FARGATE_USAGE + - APPSEC_USAGE + - ASM_SERVERLESS_TRACED_INVOCATIONS_USAGE + - ASM_SERVERLESS_TRACED_INVOCATIONS_PERCENTAGE + - BITS_AI_INVESTIGATIONS_USAGE + - BROWSER_USAGE + - CI_CODE_COVERAGE_COMMITTERS_PERCENTAGE + - CI_CODE_COVERAGE_COMMITTERS_USAGE + - CI_PIPELINE_INDEXED_SPANS_USAGE + - CI_TEST_INDEXED_SPANS_USAGE + - CI_VISIBILITY_ITR_USAGE + - CLOUD_SIEM_USAGE + - CODE_SECURITY_HOST_USAGE + - CONTAINER_EXCL_AGENT_USAGE + - CONTAINER_USAGE + - CSPM_CONTAINERS_USAGE + - CSPM_HOSTS_USAGE + - CUSTOM_EVENT_USAGE + - CUSTOM_INGESTED_TIMESERIES_USAGE + - CUSTOM_TIMESERIES_USAGE + - CWS_CONTAINERS_USAGE + - CWS_FARGATE_TASK_USAGE + - CWS_HOSTS_USAGE + - DATA_JOBS_MONITORING_USAGE + - DATA_STREAM_MONITORING_USAGE + - DBM_HOSTS_USAGE + - DBM_QUERIES_USAGE + - ERROR_TRACKING_USAGE + - ERROR_TRACKING_PERCENTAGE + - ESTIMATED_INDEXED_SPANS_USAGE + - ESTIMATED_INGESTED_SPANS_USAGE + - FARGATE_USAGE + - FLEX_LOGS_STARTER + - FLEX_STORED_LOGS + - FUNCTIONS_USAGE + - INCIDENT_MANAGEMENT_MONTHLY_ACTIVE_USERS_USAGE + - INDEXED_SPANS_USAGE + - INFRA_HOST_USAGE + - INFRA_HOST_BASIC_USAGE + - INGESTED_LOGS_BYTES_USAGE + - INGESTED_SPANS_BYTES_USAGE + - INVOCATIONS_USAGE + - LAMBDA_TRACED_INVOCATIONS_USAGE + - LLM_OBSERVABILITY_USAGE + - LLM_SPANS_USAGE + - LOGS_INDEXED_15DAY_USAGE + - LOGS_INDEXED_180DAY_USAGE + - LOGS_INDEXED_1DAY_USAGE + - LOGS_INDEXED_30DAY_USAGE + - LOGS_INDEXED_360DAY_USAGE + - LOGS_INDEXED_3DAY_USAGE + - LOGS_INDEXED_45DAY_USAGE + - LOGS_INDEXED_60DAY_USAGE + - LOGS_INDEXED_7DAY_USAGE + - LOGS_INDEXED_90DAY_USAGE + - LOGS_INDEXED_CUSTOM_RETENTION_USAGE + - MOBILE_APP_TESTING_USAGE + - NDM_NETFLOW_USAGE + - NETWORK_DEVICE_WIRELESS_USAGE + - NPM_HOST_USAGE + - OBS_PIPELINE_BYTES_USAGE + - OBS_PIPELINE_VCPU_USAGE + - ONLINE_ARCHIVE_USAGE + - PRODUCT_ANALYTICS_SESSION_USAGE + - PROFILED_CONTAINER_USAGE + - PROFILED_FARGATE_USAGE + - PROFILED_HOST_USAGE + - PUBLISHED_APP_USAGE + - RUM_BROWSER_MOBILE_SESSIONS_USAGE + - RUM_INGESTED_USAGE + - RUM_INVESTIGATE_USAGE + - RUM_REPLAY_SESSIONS_USAGE + - RUM_SESSION_REPLAY_ADD_ON_USAGE + - SCA_FARGATE_USAGE + - SDS_SCANNED_BYTES_USAGE + - SERVERLESS_APPS_USAGE + - SERVERLESS_APPS_APM_USAGE + - SIEM_12MO_RETENTION_USAGE + - SIEM_6MO_RETENTION_USAGE + - SIEM_ANALYZED_LOGS_ADD_ON_USAGE + - SIEM_INGESTED_BYTES_USAGE + - SNMP_USAGE + - UNIVERSAL_SERVICE_MONITORING_USAGE + - VULN_MANAGEMENT_HOSTS_USAGE + - WORKFLOW_EXECUTIONS_USAGE + HourlyUsageAttributionResponse: + description: Response containing the hourly usage attribution by tag(s). + properties: + metadata: + $ref: '#/components/schemas/HourlyUsageAttributionMetadata' + usage: + description: Get the hourly usage attribution by tag(s). + items: + $ref: '#/components/schemas/HourlyUsageAttributionBody' + type: array + type: object + UsageIncidentManagementResponse: + description: Response containing the incident management usage for each hour for a given organization. + properties: + usage: + description: Get hourly usage for incident management. + items: + $ref: '#/components/schemas/UsageIncidentManagementHour' + type: array + type: object + UsageIndexedSpansResponse: + description: A response containing indexed spans usage. + properties: + usage: + description: Array with the number of hourly traces indexed for a given organization. + items: + $ref: '#/components/schemas/UsageIndexedSpansHour' + type: array + type: object + UsageIngestedSpansResponse: + description: Response containing the ingested spans usage for each hour for a given organization. + properties: + usage: + description: Get hourly usage for ingested spans. + items: + $ref: '#/components/schemas/UsageIngestedSpansHour' + type: array + type: object + UsageIoTResponse: + description: Response containing the IoT usage for each hour for a given organization. + properties: + usage: + description: Get hourly usage for IoT. + items: + $ref: '#/components/schemas/UsageIoTHour' + type: array + type: object + UsageLogsResponse: + description: Response containing the number of logs for each hour. + properties: + usage: + description: An array of objects regarding hourly usage of logs. + items: + $ref: '#/components/schemas/UsageLogsHour' + type: array + type: object + UsageLogsByRetentionResponse: + description: Response containing the indexed logs usage broken down by retention period for an organization during a given hour. + properties: + usage: + description: Get hourly usage for indexed logs by retention period. + items: + $ref: '#/components/schemas/UsageLogsByRetentionHour' + type: array + type: object + UsageLogsByIndexResponse: + description: Response containing the number of indexed logs for each hour and index for a given organization. + properties: + usage: + description: An array of objects regarding hourly usage of logs by index response. + items: + $ref: '#/components/schemas/UsageLogsByIndexHour' + type: array + type: object + MonthlyUsageAttributionSupportedMetrics: + description: |- + Supported metrics for monthly usage attribution requests. Usage types are in the format `_usage`. + To obtain the complete list of valid usage types, make a request to the [Get usage attribution types API](https://docs.datadoghq.com/api/latest/usage-metering/#get-usage-attribution-types). + enum: + - api_usage + - api_percentage + - apm_fargate_usage + - apm_fargate_percentage + - appsec_fargate_usage + - appsec_fargate_percentage + - apm_host_usage + - apm_host_percentage + - apm_usm_usage + - apm_usm_percentage + - appsec_usage + - appsec_percentage + - asm_serverless_traced_invocations_usage + - asm_serverless_traced_invocations_percentage + - bits_ai_investigations_usage + - bits_ai_investigations_percentage + - browser_usage + - browser_percentage + - ci_visibility_itr_usage + - ci_visibility_itr_percentage + - cloud_siem_usage + - cloud_siem_percentage + - code_security_host_usage + - code_security_host_percentage + - container_excl_agent_usage + - container_excl_agent_percentage + - container_usage + - container_percentage + - cspm_containers_percentage + - cspm_containers_usage + - cspm_hosts_percentage + - cspm_hosts_usage + - custom_timeseries_usage + - custom_timeseries_percentage + - custom_ingested_timeseries_usage + - custom_ingested_timeseries_percentage + - cws_containers_percentage + - cws_containers_usage + - cws_fargate_task_percentage + - cws_fargate_task_usage + - cws_hosts_percentage + - cws_hosts_usage + - data_jobs_monitoring_usage + - data_jobs_monitoring_percentage + - data_stream_monitoring_usage + - data_stream_monitoring_percentage + - dbm_hosts_percentage + - dbm_hosts_usage + - dbm_queries_percentage + - dbm_queries_usage + - error_tracking_usage + - error_tracking_percentage + - estimated_indexed_spans_usage + - estimated_indexed_spans_percentage + - estimated_ingested_spans_usage + - estimated_ingested_spans_percentage + - fargate_usage + - fargate_percentage + - flex_logs_starter_usage + - flex_logs_starter_percentage + - flex_stored_logs_usage + - flex_stored_logs_percentage + - functions_usage + - functions_percentage + - incident_management_monthly_active_users_usage + - incident_management_monthly_active_users_percentage + - infra_host_usage + - infra_host_percentage + - infra_host_basic_usage + - infra_host_basic_percentage + - invocations_usage + - invocations_percentage + - lambda_traced_invocations_usage + - lambda_traced_invocations_percentage + - llm_observability_usage + - llm_observability_percentage + - llm_spans_usage + - llm_spans_percentage + - mobile_app_testing_percentage + - mobile_app_testing_usage + - ndm_netflow_usage + - ndm_netflow_percentage + - network_device_wireless_usage + - network_device_wireless_percentage + - npm_host_usage + - npm_host_percentage + - obs_pipeline_bytes_usage + - obs_pipeline_bytes_percentage + - obs_pipelines_vcpu_usage + - obs_pipelines_vcpu_percentage + - online_archive_usage + - online_archive_percentage + - product_analytics_session_usage + - product_analytics_session_percentage + - profiled_container_usage + - profiled_container_percentage + - profiled_fargate_usage + - profiled_fargate_percentage + - profiled_host_usage + - profiled_host_percentage + - published_app_usage + - published_app_percentage + - serverless_apps_usage + - serverless_apps_percentage + - serverless_apps_apm_usage + - serverless_apps_apm_percentage + - snmp_usage + - snmp_percentage + - universal_service_monitoring_usage + - universal_service_monitoring_percentage + - vuln_management_hosts_usage + - vuln_management_hosts_percentage + - sds_scanned_bytes_usage + - sds_scanned_bytes_percentage + - ci_test_indexed_spans_usage + - ci_test_indexed_spans_percentage + - ingested_logs_bytes_usage + - ingested_logs_bytes_percentage + - ci_pipeline_indexed_spans_usage + - ci_pipeline_indexed_spans_percentage + - indexed_spans_usage + - indexed_spans_percentage + - custom_event_usage + - custom_event_percentage + - logs_indexed_custom_retention_usage + - logs_indexed_custom_retention_percentage + - logs_indexed_360day_usage + - logs_indexed_360day_percentage + - logs_indexed_180day_usage + - logs_indexed_180day_percentage + - logs_indexed_90day_usage + - logs_indexed_90day_percentage + - logs_indexed_60day_usage + - logs_indexed_60day_percentage + - logs_indexed_45day_usage + - logs_indexed_45day_percentage + - logs_indexed_30day_usage + - logs_indexed_30day_percentage + - logs_indexed_15day_usage + - logs_indexed_15day_percentage + - logs_indexed_7day_usage + - logs_indexed_7day_percentage + - logs_indexed_3day_usage + - logs_indexed_3day_percentage + - logs_indexed_1day_usage + - logs_indexed_1day_percentage + - rum_ingested_usage + - rum_ingested_percentage + - rum_investigate_usage + - rum_investigate_percentage + - rum_replay_sessions_usage + - rum_replay_sessions_percentage + - rum_session_replay_add_on_usage + - rum_session_replay_add_on_percentage + - rum_browser_mobile_sessions_usage + - rum_browser_mobile_sessions_percentage + - ingested_spans_bytes_usage + - ingested_spans_bytes_percentage + - siem_12mo_retention_usage + - siem_12mo_retention_percentage + - siem_6mo_retention_usage + - siem_6mo_retention_percentage + - siem_analyzed_logs_add_on_usage + - siem_analyzed_logs_add_on_percentage + - siem_ingested_bytes_usage + - siem_ingested_bytes_percentage + - workflow_executions_usage + - workflow_executions_percentage + - sca_fargate_usage + - sca_fargate_percentage + - '*' + type: string + x-enum-varnames: + - API_USAGE + - API_PERCENTAGE + - APM_FARGATE_USAGE + - APM_FARGATE_PERCENTAGE + - APPSEC_FARGATE_USAGE + - APPSEC_FARGATE_PERCENTAGE + - APM_HOST_USAGE + - APM_HOST_PERCENTAGE + - APM_USM_USAGE + - APM_USM_PERCENTAGE + - APPSEC_USAGE + - APPSEC_PERCENTAGE + - ASM_SERVERLESS_TRACED_INVOCATIONS_USAGE + - ASM_SERVERLESS_TRACED_INVOCATIONS_PERCENTAGE + - BITS_AI_INVESTIGATIONS_USAGE + - BITS_AI_INVESTIGATIONS_PERCENTAGE + - BROWSER_USAGE + - BROWSER_PERCENTAGE + - CI_VISIBILITY_ITR_USAGE + - CI_VISIBILITY_ITR_PERCENTAGE + - CLOUD_SIEM_USAGE + - CLOUD_SIEM_PERCENTAGE + - CODE_SECURITY_HOST_USAGE + - CODE_SECURITY_HOST_PERCENTAGE + - CONTAINER_EXCL_AGENT_USAGE + - CONTAINER_EXCL_AGENT_PERCENTAGE + - CONTAINER_USAGE + - CONTAINER_PERCENTAGE + - CSPM_CONTAINERS_PERCENTAGE + - CSPM_CONTAINERS_USAGE + - CSPM_HOSTS_PERCENTAGE + - CSPM_HOSTS_USAGE + - CUSTOM_TIMESERIES_USAGE + - CUSTOM_TIMESERIES_PERCENTAGE + - CUSTOM_INGESTED_TIMESERIES_USAGE + - CUSTOM_INGESTED_TIMESERIES_PERCENTAGE + - CWS_CONTAINERS_PERCENTAGE + - CWS_CONTAINERS_USAGE + - CWS_FARGATE_TASK_PERCENTAGE + - CWS_FARGATE_TASK_USAGE + - CWS_HOSTS_PERCENTAGE + - CWS_HOSTS_USAGE + - DATA_JOBS_MONITORING_USAGE + - DATA_JOBS_MONITORING_PERCENTAGE + - DATA_STREAM_MONITORING_USAGE + - DATA_STREAM_MONITORING_PERCENTAGE + - DBM_HOSTS_PERCENTAGE + - DBM_HOSTS_USAGE + - DBM_QUERIES_PERCENTAGE + - DBM_QUERIES_USAGE + - ERROR_TRACKING_USAGE + - ERROR_TRACKING_PERCENTAGE + - ESTIMATED_INDEXED_SPANS_USAGE + - ESTIMATED_INDEXED_SPANS_PERCENTAGE + - ESTIMATED_INGESTED_SPANS_USAGE + - ESTIMATED_INGESTED_SPANS_PERCENTAGE + - FARGATE_USAGE + - FARGATE_PERCENTAGE + - FLEX_LOGS_STARTER_USAGE + - FLEX_LOGS_STARTER_PERCENTAGE + - FLEX_STORED_LOGS_USAGE + - FLEX_STORED_LOGS_PERCENTAGE + - FUNCTIONS_USAGE + - FUNCTIONS_PERCENTAGE + - INCIDENT_MANAGEMENT_MONTHLY_ACTIVE_USERS_USAGE + - INCIDENT_MANAGEMENT_MONTHLY_ACTIVE_USERS_PERCENTAGE + - INFRA_HOST_USAGE + - INFRA_HOST_PERCENTAGE + - INFRA_HOST_BASIC_USAGE + - INFRA_HOST_BASIC_PERCENTAGE + - INVOCATIONS_USAGE + - INVOCATIONS_PERCENTAGE + - LAMBDA_TRACED_INVOCATIONS_USAGE + - LAMBDA_TRACED_INVOCATIONS_PERCENTAGE + - LLM_OBSERVABILITY_USAGE + - LLM_OBSERVABILITY_PERCENTAGE + - LLM_SPANS_USAGE + - LLM_SPANS_PERCENTAGE + - MOBILE_APP_TESTING_USAGE + - MOBILE_APP_TESTING_PERCENTAGE + - NDM_NETFLOW_USAGE + - NDM_NETFLOW_PERCENTAGE + - NETWORK_DEVICE_WIRELESS_USAGE + - NETWORK_DEVICE_WIRELESS_PERCENTAGE + - NPM_HOST_USAGE + - NPM_HOST_PERCENTAGE + - OBS_PIPELINE_BYTES_USAGE + - OBS_PIPELINE_BYTES_PERCENTAGE + - OBS_PIPELINES_VCPU_USAGE + - OBS_PIPELINES_VCPU_PERCENTAGE + - ONLINE_ARCHIVE_USAGE + - ONLINE_ARCHIVE_PERCENTAGE + - PRODUCT_ANALYTICS_SESSION_USAGE + - PRODUCT_ANALYTICS_SESSION_PERCENTAGE + - PROFILED_CONTAINER_USAGE + - PROFILED_CONTAINER_PERCENTAGE + - PROFILED_FARGATE_USAGE + - PROFILED_FARGATE_PERCENTAGE + - PROFILED_HOST_USAGE + - PROFILED_HOST_PERCENTAGE + - PUBLISHED_APP_USAGE + - PUBLISHED_APP_PERCENTAGE + - SERVERLESS_APPS_USAGE + - SERVERLESS_APPS_PERCENTAGE + - SERVERLESS_APPS_APM_USAGE + - SERVERLESS_APPS_APM_PERCENTAGE + - SNMP_USAGE + - SNMP_PERCENTAGE + - UNIVERSAL_SERVICE_MONITORING_USAGE + - UNIVERSAL_SERVICE_MONITORING_PERCENTAGE + - VULN_MANAGEMENT_HOSTS_USAGE + - VULN_MANAGEMENT_HOSTS_PERCENTAGE + - SDS_SCANNED_BYTES_USAGE + - SDS_SCANNED_BYTES_PERCENTAGE + - CI_TEST_INDEXED_SPANS_USAGE + - CI_TEST_INDEXED_SPANS_PERCENTAGE + - INGESTED_LOGS_BYTES_USAGE + - INGESTED_LOGS_BYTES_PERCENTAGE + - CI_PIPELINE_INDEXED_SPANS_USAGE + - CI_PIPELINE_INDEXED_SPANS_PERCENTAGE + - INDEXED_SPANS_USAGE + - INDEXED_SPANS_PERCENTAGE + - CUSTOM_EVENT_USAGE + - CUSTOM_EVENT_PERCENTAGE + - LOGS_INDEXED_CUSTOM_RETENTION_USAGE + - LOGS_INDEXED_CUSTOM_RETENTION_PERCENTAGE + - LOGS_INDEXED_360DAY_USAGE + - LOGS_INDEXED_360DAY_PERCENTAGE + - LOGS_INDEXED_180DAY_USAGE + - LOGS_INDEXED_180DAY_PERCENTAGE + - LOGS_INDEXED_90DAY_USAGE + - LOGS_INDEXED_90DAY_PERCENTAGE + - LOGS_INDEXED_60DAY_USAGE + - LOGS_INDEXED_60DAY_PERCENTAGE + - LOGS_INDEXED_45DAY_USAGE + - LOGS_INDEXED_45DAY_PERCENTAGE + - LOGS_INDEXED_30DAY_USAGE + - LOGS_INDEXED_30DAY_PERCENTAGE + - LOGS_INDEXED_15DAY_USAGE + - LOGS_INDEXED_15DAY_PERCENTAGE + - LOGS_INDEXED_7DAY_USAGE + - LOGS_INDEXED_7DAY_PERCENTAGE + - LOGS_INDEXED_3DAY_USAGE + - LOGS_INDEXED_3DAY_PERCENTAGE + - LOGS_INDEXED_1DAY_USAGE + - LOGS_INDEXED_1DAY_PERCENTAGE + - RUM_INGESTED_USAGE + - RUM_INGESTED_PERCENTAGE + - RUM_INVESTIGATE_USAGE + - RUM_INVESTIGATE_PERCENTAGE + - RUM_REPLAY_SESSIONS_USAGE + - RUM_REPLAY_SESSIONS_PERCENTAGE + - RUM_SESSION_REPLAY_ADD_ON_USAGE + - RUM_SESSION_REPLAY_ADD_ON_PERCENTAGE + - RUM_BROWSER_MOBILE_SESSIONS_USAGE + - RUM_BROWSER_MOBILE_SESSIONS_PERCENTAGE + - INGESTED_SPANS_BYTES_USAGE + - INGESTED_SPANS_BYTES_PERCENTAGE + - SIEM_12MO_RETENTION_USAGE + - SIEM_12MO_RETENTION_PERCENTAGE + - SIEM_6MO_RETENTION_USAGE + - SIEM_6MO_RETENTION_PERCENTAGE + - SIEM_ANALYZED_LOGS_ADD_ON_USAGE + - SIEM_ANALYZED_LOGS_ADD_ON_PERCENTAGE + - SIEM_INGESTED_BYTES_USAGE + - SIEM_INGESTED_BYTES_PERCENTAGE + - WORKFLOW_EXECUTIONS_USAGE + - WORKFLOW_EXECUTIONS_PERCENTAGE + - SCA_FARGATE_USAGE + - SCA_FARGATE_PERCENTAGE + - ALL + MonthlyUsageAttributionResponse: + description: Response containing the monthly Usage Summary by tag(s). + properties: + metadata: + $ref: '#/components/schemas/MonthlyUsageAttributionMetadata' + usage: + description: Get usage summary by tag(s). + items: + $ref: '#/components/schemas/MonthlyUsageAttributionBody' + type: array + type: object + UsageNetworkFlowsResponse: + description: Response containing the number of netflow events indexed for each hour for a given organization. + properties: + usage: + description: Get hourly usage for Network Flows. + items: + $ref: '#/components/schemas/UsageNetworkFlowsHour' + type: array + type: object + UsageNetworkHostsResponse: + description: Response containing the number of active NPM hosts for each hour for a given organization. + properties: + usage: + description: Get hourly usage for NPM hosts. + items: + $ref: '#/components/schemas/UsageNetworkHostsHour' + type: array + type: object + UsageOnlineArchiveResponse: + description: Online Archive usage response. + properties: + usage: + description: Response containing Online Archive usage. + items: + $ref: '#/components/schemas/UsageOnlineArchiveHour' + type: array + type: object + UsageProfilingResponse: + description: Response containing the number of profiled hosts for each hour for a given organization. + properties: + usage: + description: Get hourly usage for profiled hosts. + items: + $ref: '#/components/schemas/UsageProfilingHour' + type: array + type: object + UsageRumUnitsResponse: + description: Response containing the number of RUM Units for each hour for a given organization. + properties: + usage: + description: Get hourly usage for RUM Units. + items: + $ref: '#/components/schemas/UsageRumUnitsHour' + type: array + type: object + UsageRumSessionsResponse: + description: Response containing the number of RUM sessions for each hour for a given organization. + properties: + usage: + description: Get hourly usage for RUM sessions. + items: + $ref: '#/components/schemas/UsageRumSessionsHour' + type: array + type: object + UsageSDSResponse: + description: Response containing the Sensitive Data Scanner usage for each hour for a given organization. + properties: + usage: + description: Get hourly usage for Sensitive Data Scanner. + items: + $ref: '#/components/schemas/UsageSDSHour' + type: array + type: object + UsageSNMPResponse: + description: Response containing the number of SNMP devices for each hour for a given organization. + properties: + usage: + description: Get hourly usage for SNMP devices. + items: + $ref: '#/components/schemas/UsageSNMPHour' + type: array + type: object + UsageSummaryResponse: + description: |- + Response summarizing all usage aggregated across the months in the request for + all organizations, and broken down by month and by organization. + + For SDK users only: all fields at this response level are accessible through the + `additionalProperties` map. Existing typed-field getters are unchanged. New billing + dimensions will not have typed-field getters. Use + [Get available fields for usage summary](https://docs.datadoghq.com/api/latest/usage-metering/get-available-fields-for-usage-summary/) + to enumerate every available key. + properties: + agent_host_top99p_sum: + description: Shows the 99th percentile of all agent hosts over all hours in the current month for all organizations. + format: int64 + type: integer + ai_credits_agent_builder_ai_credits_agg_sum: + description: Shows the sum of all AI credits used by Agent Builder over all hours in the current month for all organizations. + format: int64 + type: integer + ai_credits_agg_sum: + description: Shows the sum of all AI credits over all hours in the current month for all organizations. + format: int64 + type: integer + ai_credits_bits_assistant_ai_credits_agg_sum: + description: Shows the sum of all AI credits used by Bits AI Assistant over all hours in the current month for all organizations. + format: int64 + type: integer + ai_credits_bits_dev_ai_credits_agg_sum: + description: Shows the sum of all AI credits used by Bits AI Dev over all hours in the current month for all organizations. + format: int64 + type: integer + ai_credits_bits_sre_ai_credits_agg_sum: + description: Shows the sum of all AI credits used by Bits AI SRE over all hours in the current month for all organizations. + format: int64 + type: integer + apm_azure_app_service_host_top99p_sum: + description: Shows the 99th percentile of all Azure app services using APM over all hours in the current month all organizations. + format: int64 + type: integer + apm_devsecops_host_top99p_sum: + description: Shows the 99th percentile of all APM DevSecOps hosts over all hours in the current month for all organizations. + format: int64 + type: integer + apm_enterprise_standalone_hosts_top99p_sum: + description: Shows the sum of the 99th percentile of all distinct standalone Enterprise hosts over all hours in the current month for all organizations. + format: int64 + type: integer + apm_fargate_count_avg_sum: + description: Shows the average of all APM ECS Fargate tasks over all hours in the current month for all organizations. + format: int64 + type: integer + apm_host_top99p_sum: + description: Shows the 99th percentile of all distinct APM hosts over all hours in the current month for all organizations. + format: int64 + type: integer + apm_pro_standalone_hosts_top99p_sum: + description: Shows the sum of the 99th percentile of all distinct standalone Pro hosts over all hours in the current month for all organizations. + format: int64 + type: integer + appsec_fargate_count_avg_sum: + description: Shows the average of all Application Security Monitoring ECS Fargate tasks over all hours in the current month for all organizations. + format: int64 + type: integer + asm_serverless_agg_sum: + description: Shows the sum of all Application Security Monitoring Serverless invocations over all hours in the current months for all organizations. + format: int64 + type: integer + audit_logs_lines_indexed_agg_sum: + deprecated: true + description: Shows the sum of all audit logs lines indexed over all hours in the current month for all organizations (To be deprecated on October 1st, 2024). + format: int64 + type: integer + audit_trail_enabled_hwm_sum: + description: Shows the total number of organizations that had Audit Trail enabled over a specific number of months. + format: int64 + type: integer + audit_trail_event_forwarding_events_agg_sum: + description: Shows the sum of all Audit Trail event forwarding events over all hours in the current month for all organizations. + format: int64 + type: integer + avg_profiled_fargate_tasks_sum: + description: The average total count for Fargate Container Profiler over all hours in the current month for all organizations. + format: int64 + type: integer + aws_host_top99p_sum: + description: Shows the 99th percentile of all AWS hosts over all hours in the current month for all organizations. + format: int64 + type: integer + aws_lambda_func_count: + description: Shows the average of the number of functions that executed 1 or more times each hour in the current month for all organizations. + format: int64 + type: integer + aws_lambda_invocations_sum: + description: Shows the sum of all AWS Lambda invocations over all hours in the current month for all organizations. + format: int64 + type: integer + azure_app_service_top99p_sum: + description: Shows the 99th percentile of all Azure app services over all hours in the current month for all organizations. + format: int64 + type: integer + azure_host_top99p_sum: + description: Shows the 99th percentile of all Azure hosts over all hours in the current month for all organizations. + format: int64 + type: integer + billable_ingested_bytes_agg_sum: + description: Shows the sum of all log bytes ingested over all hours in the current month for all organizations. + format: int64 + type: integer + bits_ai_investigations_agg_sum: + description: Shows the sum of all Bits AI Investigations over all hours in the current month for all organizations. + format: int64 + type: integer + browser_rum_lite_session_count_agg_sum: + deprecated: true + description: Shows the sum of all browser lite sessions over all hours in the current month for all organizations (To be deprecated on October 1st, 2024). + format: int64 + type: integer + browser_rum_replay_session_count_agg_sum: + description: Shows the sum of all browser replay sessions over all hours in the current month for all organizations (To be deprecated on October 1st, 2024). + format: int64 + type: integer + browser_rum_units_agg_sum: + deprecated: true + description: Shows the sum of all browser RUM units over all hours in the current month for all organizations (To be deprecated on October 1st, 2024). + format: int64 + type: integer + ccm_anthropic_spend_last_sum: + description: Shows the sum of the last value of Anthropic cloud spend monitored in the current month for all organizations. + format: int64 + type: integer + ccm_aws_spend_last_sum: + description: Shows the sum of the last value of AWS cloud spend monitored in the current month for all organizations. + format: int64 + type: integer + ccm_azure_spend_last_sum: + description: Shows the sum of the last value of Azure cloud spend monitored in the current month for all organizations. + format: int64 + type: integer + ccm_confluent_spend_last_sum: + description: Shows the sum of the last value of Confluent cloud spend monitored in the current month for all organizations. + format: int64 + type: integer + ccm_databricks_spend_last_sum: + description: Shows the sum of the last value of Databricks cloud spend monitored in the current month for all organizations. + format: int64 + type: integer + ccm_elastic_spend_last_sum: + description: Shows the sum of the last value of Elastic cloud spend monitored in the current month for all organizations. + format: int64 + type: integer + ccm_fastly_spend_last_sum: + description: Shows the sum of the last value of Fastly cloud spend monitored in the current month for all organizations. + format: int64 + type: integer + ccm_gcp_spend_last_sum: + description: Shows the sum of the last value of GCP cloud spend monitored in the current month for all organizations. + format: int64 + type: integer + ccm_github_spend_last_sum: + description: Shows the sum of the last value of GitHub cloud spend monitored in the current month for all organizations. + format: int64 + type: integer + ccm_mongodb_spend_last_sum: + description: Shows the sum of the last value of MongoDB cloud spend monitored in the current month for all organizations. + format: int64 + type: integer + ccm_oci_spend_last_sum: + description: Shows the sum of the last value of OCI cloud spend monitored in the current month for all organizations. + format: int64 + type: integer + ccm_openai_spend_last_sum: + description: Shows the sum of the last value of OpenAI cloud spend monitored in the current month for all organizations. + format: int64 + type: integer + ccm_snowflake_spend_last_sum: + description: Shows the sum of the last value of Snowflake cloud spend monitored in the current month for all organizations. + format: int64 + type: integer + ccm_spend_monitored_ent_last_sum: + description: Shows the sum of the last value of the amount of cloud spend monitored for Enterprise in the current month for all organizations. + format: int64 + type: integer + ccm_spend_monitored_pro_last_sum: + description: Shows the sum of the last value of the amount of cloud spend monitored for Pro in the current month for all organizations. + format: int64 + type: integer + ccm_twilio_spend_last_sum: + description: Shows the sum of the last value of Twilio cloud spend monitored in the current month for all organizations. + format: int64 + type: integer + ci_pipeline_indexed_spans_agg_sum: + description: Shows the sum of all CI pipeline indexed spans over all hours in the current month for all organizations. + format: int64 + type: integer + ci_test_indexed_spans_agg_sum: + description: Shows the sum of all CI test indexed spans over all hours in the current month for all organizations. + format: int64 + type: integer + ci_visibility_itr_committers_hwm_sum: + description: Shows the high-water mark of all CI visibility intelligent test runner committers over all hours in the current month for all organizations. + format: int64 + type: integer + ci_visibility_pipeline_committers_hwm_sum: + description: Shows the high-water mark of all CI visibility pipeline committers over all hours in the current month for all organizations. + format: int64 + type: integer + ci_visibility_test_committers_hwm_sum: + description: Shows the high-water mark of all CI visibility test committers over all hours in the current month for all organizations. + format: int64 + type: integer + cloud_cost_management_aws_host_count_avg_sum: + description: Sum of the host count average for Cloud Cost Management for AWS. + format: int64 + type: integer + cloud_cost_management_azure_host_count_avg_sum: + description: Sum of the host count average for Cloud Cost Management for Azure. + format: int64 + type: integer + cloud_cost_management_gcp_host_count_avg_sum: + description: Sum of the host count average for Cloud Cost Management for GCP. + format: int64 + type: integer + cloud_cost_management_host_count_avg_sum: + description: Sum of the host count average for Cloud Cost Management for all cloud providers. + format: int64 + type: integer + cloud_cost_management_oci_host_count_avg_sum: + description: Sum of the average host counts for Cloud Cost Management on OCI. + format: int64 + type: integer + cloud_siem_events_agg_sum: + description: Shows the sum of all Cloud Security Information and Event Management events over all hours in the current month for all organizations. + format: int64 + type: integer + cloud_siem_indexed_logs_agg_sum: + description: Shows the sum of all Cloud SIEM Indexed Logs over all hours in the current month for all organizations. + format: int64 + type: integer + code_analysis_sa_committers_hwm_sum: + description: Shows the high-water mark of all Static Analysis committers over all hours in the current month for all organizations. + format: int64 + type: integer + code_analysis_sca_committers_hwm_sum: + description: Shows the high-water mark of all static Software Composition Analysis committers over all hours in the current month for all organizations. + format: int64 + type: integer + code_security_host_top99p_sum: + description: Shows the 99th percentile of all Code Security hosts over all hours in the current month for all organizations. + format: int64 + type: integer + container_avg_sum: + description: Shows the average of all distinct containers over all hours in the current month for all organizations. + format: int64 + type: integer + container_excl_agent_avg_sum: + description: Shows the average of the containers without the Datadog Agent over all hours in the current month for all organizations. + format: int64 + type: integer + container_hwm_sum: + description: Shows the sum of the high-water marks of all distinct containers over all hours in the current month for all organizations. + format: int64 + type: integer + csm_container_enterprise_compliance_count_agg_sum: + description: Shows the sum of all Cloud Security Management Enterprise compliance containers over all hours in the current month for all organizations. + format: int64 + type: integer + csm_container_enterprise_cws_count_agg_sum: + description: Shows the sum of all Cloud Security Management Enterprise Cloud Workload Security containers over all hours in the current month for all organizations. + format: int64 + type: integer + csm_container_enterprise_total_count_agg_sum: + description: Shows the sum of all Cloud Security Management Enterprise containers over all hours in the current month for all organizations. + format: int64 + type: integer + csm_host_enterprise_aas_host_count_top99p_sum: + description: Shows the 99th percentile of all Cloud Security Management Enterprise Azure app services hosts over all hours in the current month for all organizations. + format: int64 + type: integer + csm_host_enterprise_aws_host_count_top99p_sum: + description: Shows the 99th percentile of all Cloud Security Management Enterprise AWS hosts over all hours in the current month for all organizations. + format: int64 + type: integer + csm_host_enterprise_azure_host_count_top99p_sum: + description: Shows the 99th percentile of all Cloud Security Management Enterprise Azure hosts over all hours in the current month for all organizations. + format: int64 + type: integer + csm_host_enterprise_compliance_host_count_top99p_sum: + description: Shows the 99th percentile of all Cloud Security Management Enterprise compliance hosts over all hours in the current month for all organizations. + format: int64 + type: integer + csm_host_enterprise_cws_host_count_top99p_sum: + description: Shows the 99th percentile of all Cloud Security Management Enterprise Cloud Workload Security hosts over all hours in the current month for all organizations. + format: int64 + type: integer + csm_host_enterprise_gcp_host_count_top99p_sum: + description: Shows the 99th percentile of all Cloud Security Management Enterprise GCP hosts over all hours in the current month for all organizations. + format: int64 + type: integer + csm_host_enterprise_oci_host_count_top99p_sum: + description: Shows the 99th percentile of all Cloud Security Management Enterprise OCI hosts over all hours in the current month for all organizations. + format: int64 + type: integer + csm_host_enterprise_total_host_count_top99p_sum: + description: Shows the 99th percentile of all Cloud Security Management Enterprise hosts over all hours in the current month for all organizations. + format: int64 + type: integer + csm_host_pro_hosts_agentless_scanners_agg_sum: + description: Shows the sum of all Cloud Security Management Pro Agentless scanner hosts over all hours in the current month for all organizations. + format: int64 + type: integer + csm_host_pro_hosts_agentless_scanners_top99p_sum: + description: Shows the 99th percentile of all Cloud Security Management Pro Agentless scanner hosts over all hours in the current month for all organizations. + format: int64 + type: integer + csm_host_pro_oci_host_count_top99p_sum: + description: Shows the 99th percentile of all Cloud Security Management Pro OCI hosts over all hours in the current month for all organizations. + format: int64 + type: integer + cspm_aas_host_top99p_sum: + description: Shows the 99th percentile of all Cloud Security Management Pro Azure app services hosts over all hours in the current month for all organizations. + format: int64 + type: integer + cspm_aws_host_top99p_sum: + description: Shows the 99th percentile of all Cloud Security Management Pro AWS hosts over all hours in the current month for all organizations. + format: int64 + type: integer + cspm_azure_host_top99p_sum: + description: Shows the 99th percentile of all Cloud Security Management Pro Azure hosts over all hours in the current month for all organizations. + format: int64 + type: integer + cspm_container_avg_sum: + description: Shows the average number of Cloud Security Management Pro containers over all hours in the current month for all organizations. + format: int64 + type: integer + cspm_container_hwm_sum: + description: Shows the sum of the high-water marks of Cloud Security Management Pro containers over all hours in the current month for all organizations. + format: int64 + type: integer + cspm_gcp_host_top99p_sum: + description: Shows the 99th percentile of all Cloud Security Management Pro GCP hosts over all hours in the current month for all organizations. + format: int64 + type: integer + cspm_host_top99p_sum: + description: Shows the 99th percentile of all Cloud Security Management Pro hosts over all hours in the current month for all organizations. + format: int64 + type: integer + cspm_hosts_agentless_scanners_agg_sum: + description: Shows the sum of all Cloud Security Management Pro Agentless scanner hosts over all hours in the current month for all organizations. + format: int64 + type: integer + cspm_hosts_agentless_scanners_top99p_sum: + description: Shows the 99th percentile of all Cloud Security Management Pro Agentless scanner hosts over all hours in the current month for all organizations. + format: int64 + type: integer + custom_historical_ts_sum: + description: Shows the average number of distinct historical custom metrics over all hours in the current month for all organizations. + format: int64 + type: integer + custom_live_ts_sum: + description: Shows the average number of distinct live custom metrics over all hours in the current month for all organizations. + format: int64 + type: integer + custom_ts_sum: + description: Shows the average number of distinct custom metrics over all hours in the current month for all organizations. + format: int64 + type: integer + cws_container_avg_sum: + description: Shows the average of all distinct Cloud Workload Security containers over all hours in the current month for all organizations. + format: int64 + type: integer + cws_fargate_task_avg_sum: + description: Shows the average of all distinct Cloud Workload Security Fargate tasks over all hours in the current month for all organizations. + format: int64 + type: integer + cws_host_top99p_sum: + description: Shows the 99th percentile of all Cloud Workload Security hosts over all hours in the current month for all organizations. + format: int64 + type: integer + data_jobs_monitoring_host_hr_agg_sum: + description: Shows the sum of Data Jobs Monitoring hosts over all hours in the current months for all organizations + format: int64 + type: integer + data_stream_monitoring_host_count_agg_sum: + description: Shows the sum of all Data Streams Monitoring hosts over all hours in the current month for all organizations. + format: int64 + type: integer + data_stream_monitoring_host_count_top99p_sum: + description: Shows the 99th percentile of all Data Streams Monitoring hosts over all hours in the current month for all organizations. + format: int64 + type: integer + dbm_host_top99p_sum: + description: Shows the 99th percentile of all Database Monitoring hosts over all hours in the current month for all organizations. + format: int64 + type: integer + dbm_queries_avg_sum: + description: Shows the average of all distinct Database Monitoring Normalized Queries over all hours in the current month for all organizations. + format: int64 + type: integer + do_jobs_monitoring_orchestrators_job_hours_agg_sum: + description: Shows the sum of all orchestrator job hours over all hours in the current month for all organizations. + format: int64 + type: integer + end_date: + description: Shows the last date of usage in the current month for all organizations. + format: date-time + type: string + eph_infra_host_agent_agg_sum: + description: Shows the sum of all ephemeral infrastructure hosts with the Datadog Agent over all hours in the current month for all organizations. + format: int64 + type: integer + eph_infra_host_alibaba_agg_sum: + description: Shows the sum of all ephemeral infrastructure hosts on Alibaba over all hours in the current month for all organizations. + format: int64 + type: integer + eph_infra_host_aws_agg_sum: + description: Shows the sum of all ephemeral infrastructure hosts on AWS over all hours in the current month for all organizations. + format: int64 + type: integer + eph_infra_host_azure_agg_sum: + description: Shows the sum of all ephemeral infrastructure hosts on Azure over all hours in the current month for all organizations. + format: int64 + type: integer + eph_infra_host_basic_agg_sum: + description: Shows the sum of all ephemeral infrastructure hosts for Basic tier over all hours in the current month for all organizations. + format: int64 + type: integer + eph_infra_host_basic_infra_basic_agent_agg_sum: + description: Shows the sum of all ephemeral infrastructure hosts for Basic tier with the Datadog Agent over all hours in the current month for all organizations. + format: int64 + type: integer + eph_infra_host_basic_infra_basic_vsphere_agg_sum: + description: Shows the sum of all ephemeral infrastructure hosts for Basic tier on vSphere over all hours in the current month for all organizations. + format: int64 + type: integer + eph_infra_host_ent_agg_sum: + description: Shows the sum of all ephemeral infrastructure hosts for Enterprise over all hours in the current month for all organizations. + format: int64 + type: integer + eph_infra_host_gcp_agg_sum: + description: Shows the sum of all ephemeral infrastructure hosts on GCP over all hours in the current month for all organizations. + format: int64 + type: integer + eph_infra_host_heroku_agg_sum: + description: Shows the sum of all ephemeral infrastructure hosts on Heroku over all hours in the current month for all organizations. + format: int64 + type: integer + eph_infra_host_only_aas_agg_sum: + description: Shows the sum of all ephemeral infrastructure hosts with only Azure App Services over all hours in the current month for all organizations. + format: int64 + type: integer + eph_infra_host_only_vsphere_agg_sum: + description: Shows the sum of all ephemeral infrastructure hosts with only vSphere over all hours in the current month for all organizations. + format: int64 + type: integer + eph_infra_host_opentelemetry_agg_sum: + description: Shows the sum of all ephemeral hosts reported by the Datadog exporter for the OpenTelemetry Collector over all hours in the current month for all organizations. + format: int64 + type: integer + eph_infra_host_opentelemetry_apm_agg_sum: + description: Shows the sum of all ephemeral APM hosts reported by the Datadog exporter for the OpenTelemetry Collector over all hours in the current month for all organizations. + format: int64 + type: integer + eph_infra_host_pro_agg_sum: + description: Shows the sum of all ephemeral infrastructure hosts for Pro over all hours in the current month for all organizations. + format: int64 + type: integer + eph_infra_host_proplus_agg_sum: + description: Shows the sum of all ephemeral infrastructure hosts for Pro Plus over all hours in the current month for all organizations. + format: int64 + type: integer + eph_infra_host_proxmox_agg_sum: + description: Sum of all ephemeral infrastructure hosts for Proxmox over all hours in the current month for all organizations. + format: int64 + type: integer + error_tracking_apm_error_events_agg_sum: + description: Shows the sum of all Error Tracking APM error events over all hours in the current month for all organizations. + format: int64 + type: integer + error_tracking_error_events_agg_sum: + description: Shows the sum of all Error Tracking error events over all hours in the current month for all organizations. + format: int64 + type: integer + error_tracking_events_agg_sum: + description: Shows the sum of all Error Tracking events over all hours in the current months for all organizations. + format: int64 + type: integer + error_tracking_rum_error_events_agg_sum: + description: Shows the sum of all Error Tracking RUM error events over all hours in the current month for all organizations. + format: int64 + type: integer + event_management_correlation_agg_sum: + description: Shows the sum of all Event Management correlations over all hours in the current month for all organizations. + format: int64 + type: integer + event_management_correlation_correlated_events_agg_sum: + description: Shows the sum of all Event Management correlated events over all hours in the current month for all organizations. + format: int64 + type: integer + event_management_correlation_correlated_related_events_agg_sum: + description: Shows the sum of all Event Management correlated related events over all hours in the current month for all organizations. + format: int64 + type: integer + fargate_container_profiler_profiling_fargate_avg_sum: + description: The average number of Profiling Fargate tasks over all hours in the current month for all organizations. + format: int64 + type: integer + fargate_container_profiler_profiling_fargate_eks_avg_sum: + description: The average number of Profiling Fargate Elastic Kubernetes Service tasks over all hours in the current month for all organizations. + format: int64 + type: integer + fargate_tasks_count_avg_sum: + description: Shows the average of all Fargate tasks over all hours in the current month for all organizations. + format: int64 + type: integer + fargate_tasks_count_hwm_sum: + description: Shows the sum of the high-water marks of all Fargate tasks over all hours in the current month for all organizations. + format: int64 + type: integer + feature_flags_config_requests_agg_sum: + description: Shows the sum of all Feature Flags Client-Side SDK config requests over all hours in the current month for all organizations. + format: int64 + type: integer + flex_logs_compute_large_avg_sum: + description: Shows the average number of Flex Logs Compute Large Instances over all hours in the current months for all organizations. + format: int64 + type: integer + flex_logs_compute_medium_avg_sum: + description: Shows the average number of Flex Logs Compute Medium Instances over all hours in the current months for all organizations. + format: int64 + type: integer + flex_logs_compute_small_avg_sum: + description: Shows the average number of Flex Logs Compute Small Instances over all hours in the current months for all organizations. + format: int64 + type: integer + flex_logs_compute_xlarge_avg_sum: + description: Shows the average number of Flex Logs Compute Extra Large Instances over all hours in the current months for all organizations. + format: int64 + type: integer + flex_logs_compute_xsmall_avg_sum: + description: Shows the average number of Flex Logs Compute Extra Small Instances over all hours in the current months for all organizations. + format: int64 + type: integer + flex_logs_starter_avg_sum: + description: Shows the average number of Flex Logs Starter Instances over all hours in the current months for all organizations. + format: int64 + type: integer + flex_logs_starter_storage_index_avg_sum: + description: Shows the average number of Flex Logs Starter Storage Index Instances over all hours in the current months for all organizations. + format: int64 + type: integer + flex_logs_starter_storage_retention_adjustment_avg_sum: + description: Shows the average number of Flex Logs Starter Storage Retention Adjustment Instances over all hours in the current months for all organizations. + format: int64 + type: integer + flex_stored_logs_avg_sum: + description: Shows the average of all Flex Stored Logs over all hours in the current months for all organizations. + format: int64 + type: integer + forwarding_events_bytes_agg_sum: + description: Shows the sum of all logs forwarding bytes over all hours in the current month for all organizations (data available as of April 1, 2023) + format: int64 + type: integer + gcp_host_top99p_sum: + description: Shows the 99th percentile of all GCP hosts over all hours in the current month for all organizations. + format: int64 + type: integer + heroku_host_top99p_sum: + description: Shows the 99th percentile of all Heroku dynos over all hours in the current month for all organizations. + format: int64 + type: integer + incident_management_monthly_active_users_hwm_sum: + description: Shows sum of the high-water marks of incident management monthly active users in the current month for all organizations. + format: int64 + type: integer + incident_management_seats_hwm_sum: + description: Shows the sum of the high-water marks of Incident Management seats over all hours in the current month for all organizations. + format: int64 + type: integer + indexed_events_count_agg_sum: + deprecated: true + description: Shows the sum of all log events indexed over all hours in the current month for all organizations (To be deprecated on October 1st, 2024). + format: int64 + type: integer + indexed_points_agg_sum: + description: Shows the sum of all indexed custom metrics points over all hours in the current month for all organizations. + format: int64 + type: integer + infra_cpu_agg_sum: + description: Shows the sum of all Infrastructure vCPU cores over all hours in the current month for all organizations. + format: int64 + type: integer + infra_cpu_avg_sum: + description: Shows the average of all Infrastructure vCPU cores over all hours in the current month for all organizations. + format: int64 + type: integer + infra_cpu_default_infra_host_vcpu_agent_agg_sum: + description: Shows the sum of all default Infrastructure host vCPU cores reported by the Datadog Agent over all hours in the current month for all organizations. + format: int64 + type: integer + infra_cpu_default_infra_host_vcpu_agent_avg_sum: + description: Shows the average of all default Infrastructure host vCPU cores reported by the Datadog Agent over all hours in the current month for all organizations. + format: int64 + type: integer + infra_cpu_default_infra_host_vcpu_agent_basic_agg_sum: + description: Shows the sum of all default basic Infrastructure host vCPU cores reported by the Datadog Agent over all hours in the current month for all organizations. + format: int64 + type: integer + infra_cpu_default_infra_host_vcpu_agent_basic_avg_sum: + description: Shows the average of all default basic Infrastructure host vCPU cores reported by the Datadog Agent over all hours in the current month for all organizations. + format: int64 + type: integer + infra_cpu_default_infra_host_vcpu_aws_agg_sum: + description: Shows the sum of all default Infrastructure host vCPU cores on AWS over all hours in the current month for all organizations. + format: int64 + type: integer + infra_cpu_default_infra_host_vcpu_aws_avg_sum: + description: Shows the average of all default Infrastructure host vCPU cores on AWS over all hours in the current month for all organizations. + format: int64 + type: integer + infra_cpu_default_infra_host_vcpu_azure_agg_sum: + description: Shows the sum of all default Infrastructure host vCPU cores on Azure over all hours in the current month for all organizations. + format: int64 + type: integer + infra_cpu_default_infra_host_vcpu_azure_avg_sum: + description: Shows the average of all default Infrastructure host vCPU cores on Azure over all hours in the current month for all organizations. + format: int64 + type: integer + infra_cpu_default_infra_host_vcpu_gcp_agg_sum: + description: Shows the sum of all default Infrastructure host vCPU cores on GCP over all hours in the current month for all organizations. + format: int64 + type: integer + infra_cpu_default_infra_host_vcpu_gcp_avg_sum: + description: Shows the average of all default Infrastructure host vCPU cores on GCP over all hours in the current month for all organizations. + format: int64 + type: integer + infra_cpu_default_infra_host_vcpu_nutanix_agg_sum: + description: Shows the sum of all default Infrastructure host vCPU cores on Nutanix over all hours in the current month for all organizations. + format: int64 + type: integer + infra_cpu_default_infra_host_vcpu_nutanix_avg_sum: + description: Shows the average of all default Infrastructure host vCPU cores on Nutanix over all hours in the current month for all organizations. + format: int64 + type: integer + infra_cpu_default_infra_host_vcpu_nutanix_basic_agg_sum: + description: Shows the sum of all default basic Infrastructure host vCPU cores on Nutanix over all hours in the current month for all organizations. + format: int64 + type: integer + infra_cpu_default_infra_host_vcpu_nutanix_basic_avg_sum: + description: Shows the average of all default basic Infrastructure host vCPU cores on Nutanix over all hours in the current month for all organizations. + format: int64 + type: integer + infra_cpu_default_infra_host_vcpu_opentelemetry_agg_sum: + description: Shows the sum of all default Infrastructure host vCPU cores reported by OpenTelemetry over all hours in the current month for all organizations. + format: int64 + type: integer + infra_cpu_default_infra_host_vcpu_opentelemetry_avg_sum: + description: Shows the average of all default Infrastructure host vCPU cores reported by OpenTelemetry over all hours in the current month for all organizations. + format: int64 + type: integer + infra_cpu_observed_infra_host_vcpu_agent_agg_sum: + description: Shows the sum of all observed Infrastructure host vCPU cores reported by the Datadog Agent over all hours in the current month for all organizations. + format: int64 + type: integer + infra_cpu_observed_infra_host_vcpu_agent_avg_sum: + description: Shows the average of all observed Infrastructure host vCPU cores reported by the Datadog Agent over all hours in the current month for all organizations. + format: int64 + type: integer + infra_cpu_observed_infra_host_vcpu_aws_agg_sum: + description: Shows the sum of all observed Infrastructure host vCPU cores on AWS over all hours in the current month for all organizations. + format: int64 + type: integer + infra_cpu_observed_infra_host_vcpu_aws_avg_sum: + description: Shows the average of all observed Infrastructure host vCPU cores on AWS over all hours in the current month for all organizations. + format: int64 + type: integer + infra_cpu_observed_infra_host_vcpu_azure_agg_sum: + description: Shows the sum of all observed Infrastructure host vCPU cores on Azure over all hours in the current month for all organizations. + format: int64 + type: integer + infra_cpu_observed_infra_host_vcpu_azure_avg_sum: + description: Shows the average of all observed Infrastructure host vCPU cores on Azure over all hours in the current month for all organizations. + format: int64 + type: integer + infra_cpu_observed_infra_host_vcpu_gcp_agg_sum: + description: Shows the sum of all observed Infrastructure host vCPU cores on GCP over all hours in the current month for all organizations. + format: int64 + type: integer + infra_cpu_observed_infra_host_vcpu_gcp_avg_sum: + description: Shows the average of all observed Infrastructure host vCPU cores on GCP over all hours in the current month for all organizations. + format: int64 + type: integer + infra_cpu_observed_infra_host_vcpu_nutanix_agg_sum: + description: Shows the sum of all observed Infrastructure host vCPU cores on Nutanix over all hours in the current month for all organizations. + format: int64 + type: integer + infra_cpu_observed_infra_host_vcpu_nutanix_avg_sum: + description: Shows the average of all observed Infrastructure host vCPU cores on Nutanix over all hours in the current month for all organizations. + format: int64 + type: integer + infra_cpu_observed_infra_host_vcpu_opentelemetry_agg_sum: + description: Shows the sum of all observed Infrastructure host vCPU cores reported by OpenTelemetry over all hours in the current month for all organizations. + format: int64 + type: integer + infra_cpu_observed_infra_host_vcpu_opentelemetry_avg_sum: + description: Shows the average of all observed Infrastructure host vCPU cores reported by OpenTelemetry over all hours in the current month for all organizations. + format: int64 + type: integer + infra_edge_monitoring_devices_top99p_sum: + description: Shows the 99th percentile of all Edge Devices Monitoring devices over all hours in the current month for all organizations. + format: int64 + type: integer + infra_host_basic_infra_basic_agent_top99p_sum: + description: Shows the 99th percentile of all distinct infrastructure hosts for Basic tier with the Datadog Agent over all hours in the current month for all organizations. + format: int64 + type: integer + infra_host_basic_infra_basic_vsphere_top99p_sum: + description: Shows the 99th percentile of all distinct infrastructure hosts for Basic tier on vSphere over all hours in the current month for all organizations. + format: int64 + type: integer + infra_host_basic_top99p_sum: + description: Shows the 99th percentile of all distinct infrastructure hosts for Basic tier over all hours in the current month for all organizations. + format: int64 + type: integer + infra_host_top99p_sum: + description: Shows the 99th percentile of all distinct infrastructure hosts over all hours in the current month for all organizations. + format: int64 + type: integer + infra_storage_mgmt_objects_count_avg_sum: + description: Shows the average number of storage management objects over all hours in the current month for all organizations. + format: int64 + type: integer + ingest_points_agg_sum: + description: Shows the sum of all ingested custom metrics points over all hours in the current month for all organizations. + format: int64 + type: integer + ingested_events_bytes_agg_sum: + description: Shows the sum of all log bytes ingested over all hours in the current month for all organizations. + format: int64 + type: integer + iot_apm_host_agg_sum: + description: Shows the sum of all Application Performance Monitoring IoT hosts over all hours in the current month for all organizations. + format: int64 + type: integer + iot_apm_host_top99p_sum: + description: Shows the 99th percentile of all Application Performance Monitoring IoT hosts over all hours in the current month for all organizations. + format: int64 + type: integer + iot_device_agg_sum: + description: Shows the sum of all IoT devices over all hours in the current month for all organizations. + format: int64 + type: integer + iot_device_top99p_sum: + description: Shows the 99th percentile of all IoT devices over all hours in the current month of all organizations. + format: int64 + type: integer + last_updated: + description: Shows the most recent hour in the current month for all organizations for which all usages were calculated. + format: date-time + type: string + live_indexed_events_agg_sum: + deprecated: true + description: Shows the sum of all live logs indexed over all hours in the current month for all organization (To be deprecated on October 1st, 2024). + format: int64 + type: integer + live_ingested_bytes_agg_sum: + description: Shows the sum of all live logs bytes ingested over all hours in the current month for all organizations (data available as of December 1, 2020). + format: int64 + type: integer + llm_observability_15day_retention_spans_agg_sum: + description: Shows the sum of all Agent Observability 15-day retention spans over all hours in the current month for all organizations. + format: int64 + type: integer + llm_observability_30day_retention_spans_agg_sum: + description: Shows the sum of all Agent Observability 30-day retention spans over all hours in the current month for all organizations. + format: int64 + type: integer + llm_observability_60day_retention_spans_agg_sum: + description: Shows the sum of all Agent Observability 60-day retention spans over all hours in the current month for all organizations. + format: int64 + type: integer + llm_observability_90day_retention_spans_agg_sum: + description: Shows the sum of all Agent Observability 90-day retention spans over all hours in the current month for all organizations. + format: int64 + type: integer + llm_observability_agg_sum: + description: Sum of all Agent observability sessions for all hours in the current month for all organizations. + format: int64 + type: integer + llm_observability_min_spend_agg_sum: + description: Minimum spend for Agent observability sessions for all hours in the current month for all organizations. + format: int64 + type: integer + logs_archive_search_gb_scanned_agg_sum: + description: Shows the sum of all Logs Archive Search scanned data over all hours in the current month for all organizations. + format: int64 + type: integer + logs_by_retention: + $ref: '#/components/schemas/LogsByRetention' + metric_names_agg_sum: + description: Shows the sum of all custom metric names over all hours in the current month for all organizations. + format: int64 + type: integer + mobile_rum_lite_session_count_agg_sum: + deprecated: true + description: Shows the sum of all mobile lite sessions over all hours in the current month for all organizations (To be deprecated on October 1st, 2024). + format: int64 + type: integer + mobile_rum_session_count_agg_sum: + deprecated: true + description: Shows the sum of all mobile RUM sessions over all hours in the current month for all organizations (To be deprecated on October 1st, 2024). + format: int64 + type: integer + mobile_rum_session_count_android_agg_sum: + deprecated: true + description: Shows the sum of all mobile RUM sessions on Android over all hours in the current month for all organizations (To be deprecated on October 1st, 2024). + format: int64 + type: integer + mobile_rum_session_count_flutter_agg_sum: + deprecated: true + description: Shows the sum of all mobile RUM sessions on Flutter over all hours in the current month for all organizations (To be deprecated on October 1st, 2024). + format: int64 + type: integer + mobile_rum_session_count_ios_agg_sum: + deprecated: true + description: Shows the sum of all mobile RUM sessions on iOS over all hours in the current month for all organizations (To be deprecated on October 1st, 2024). + format: int64 + type: integer + mobile_rum_session_count_reactnative_agg_sum: + deprecated: true + description: Shows the sum of all mobile RUM sessions on React Native over all hours in the current month for all organizations (To be deprecated on October 1st, 2024). + format: int64 + type: integer + mobile_rum_session_count_roku_agg_sum: + deprecated: true + description: Shows the sum of all mobile RUM sessions on Roku over all hours in the current month for all organizations (To be deprecated on October 1st, 2024). + format: int64 + type: integer + mobile_rum_units_agg_sum: + deprecated: true + description: Shows the sum of all mobile RUM units over all hours in the current month for all organizations (To be deprecated on October 1st, 2024). + format: int64 + type: integer + ndm_netflow_events_agg_sum: + description: Shows the sum of all Network Device Monitoring NetFlow events over all hours in the current month for all organizations. + format: int64 + type: integer + netflow_indexed_events_count_agg_sum: + deprecated: true + description: Shows the sum of all Network flows indexed over all hours in the current month for all organizations (To be deprecated on October 1st, 2024). + format: int64 + type: integer + network_device_wireless_top99p_sum: + description: Shows the 99th percentile of all Network Device Monitoring wireless devices over all hours in the current month for all organizations. + format: int64 + type: integer + network_path_agg_sum: + description: Shows the sum of all Network Path scheduled tests over all hours in the current month for all organizations. + format: int64 + type: integer + npm_host_top99p_sum: + description: Shows the 99th percentile of all distinct Cloud Network Monitoring hosts (formerly known as Network hosts) over all hours in the current month for all organizations. + format: int64 + type: integer + observability_pipelines_bytes_processed_agg_sum: + description: Sum of all observability pipelines bytes processed over all hours in the current month for all organizations. + format: int64 + type: integer + oci_host_agg_sum: + description: Shows the sum of Oracle Cloud Infrastructure hosts over all hours in the current months for all organizations + format: int64 + type: integer + oci_host_top99p_sum: + description: Shows the 99th percentile of Oracle Cloud Infrastructure hosts over all hours in the current months for all organizations + format: int64 + type: integer + on_call_seat_hwm_sum: + description: Shows the sum of the high-water marks of On-Call seats over all hours in the current month for all organizations. + format: int64 + type: integer + online_archive_events_count_agg_sum: + description: Sum of all online archived events over all hours in the current month for all organizations. + format: int64 + type: integer + opentelemetry_apm_host_top99p_sum: + description: Shows the 99th percentile of APM hosts reported by the Datadog exporter for the OpenTelemetry Collector over all hours in the current month for all organizations. + format: int64 + type: integer + opentelemetry_host_top99p_sum: + description: Shows the 99th percentile of all hosts reported by the Datadog exporter for the OpenTelemetry Collector over all hours in the current month for all organizations. + format: int64 + type: integer + product_analytics_agg_sum: + description: Sum of all product analytics sessions for all hours in the current month for all organizations. + format: int64 + type: integer + profiling_aas_count_top99p_sum: + description: Shows the 99th percentile of all profiled Azure app services over all hours in the current month for all organizations. + format: int64 + type: integer + profiling_container_agent_count_avg: + description: Shows the average number of profiled containers over all hours in the current month for all organizations. + format: int64 + type: integer + profiling_host_count_top99p_sum: + description: Shows the 99th percentile of all profiled hosts over all hours in the current month for all organizations. + format: int64 + type: integer + proxmox_host_agg_sum: + description: Sum of all Proxmox hosts over all hours in the current month for all organizations. + format: int64 + type: integer + proxmox_host_top99p_sum: + description: Sum of the 99th percentile of all Proxmox hosts over all hours in the current month for all organizations. + format: int64 + type: integer + published_app_hwm_sum: + description: Shows the high-water mark of all published applications over all hours in the current month for all organizations. + format: int64 + type: integer + rehydrated_indexed_events_agg_sum: + deprecated: true + description: Shows the sum of all rehydrated logs indexed over all hours in the current month for all organizations (To be deprecated on October 1st, 2024). + format: int64 + type: integer + rehydrated_ingested_bytes_agg_sum: + description: Shows the sum of all rehydrated logs bytes ingested over all hours in the current month for all organizations (data available as of December 1, 2020). + format: int64 + type: integer + rum_browser_and_mobile_session_count: + description: Shows the sum of all mobile sessions and all browser lite and legacy sessions over all hours in the current month for all organizations (To be deprecated on October 1st, 2024). + format: int64 + type: integer + rum_browser_legacy_session_count_agg_sum: + description: Shows the sum of all browser RUM legacy sessions over all hours in the current month for all organizations (To be introduced on October 1st, 2024). + format: int64 + type: integer + rum_browser_lite_session_count_agg_sum: + description: Shows the sum of all browser RUM lite sessions over all hours in the current month for all organizations (To be introduced on October 1st, 2024). + format: int64 + type: integer + rum_browser_replay_session_count_agg_sum: + description: Shows the sum of all browser RUM Session Replay counts over all hours in the current month for all organizations (To be introduced on October 1st, 2024). + format: int64 + type: integer + rum_indexed_sessions_agg_sum: + description: Sum of all RUM indexed sessions for all hours in the current month for all organizations. + format: int64 + type: integer + rum_ingested_sessions_agg_sum: + description: Sum of all RUM ingested sessions for all hours in the current month for all organizations. + format: int64 + type: integer + rum_lite_session_count_agg_sum: + description: Shows the sum of all RUM lite sessions (browser and mobile) over all hours in the current month for all organizations (To be introduced on October 1st, 2024). + format: int64 + type: integer + rum_mobile_legacy_session_count_android_agg_sum: + description: Shows the sum of all mobile RUM legacy sessions on Android over all hours in the current month for all organizations (To be introduced on October 1st, 2024). + format: int64 + type: integer + rum_mobile_legacy_session_count_flutter_agg_sum: + description: Shows the sum of all mobile RUM legacy sessions on Flutter over all hours in the current month for all organizations (To be introduced on October 1st, 2024). + format: int64 + type: integer + rum_mobile_legacy_session_count_ios_agg_sum: + description: Shows the sum of all mobile RUM legacy sessions on iOS over all hours in the current month for all organizations (To be introduced on October 1st, 2024). + format: int64 + type: integer + rum_mobile_legacy_session_count_reactnative_agg_sum: + description: Shows the sum of all mobile RUM legacy sessions on React Native over all hours in the current month for all organizations (To be introduced on October 1st, 2024). + format: int64 + type: integer + rum_mobile_legacy_session_count_roku_agg_sum: + description: Shows the sum of all mobile RUM legacy sessions on Roku over all hours in the current month for all organizations (To be introduced on October 1st, 2024). + format: int64 + type: integer + rum_mobile_lite_session_count_android_agg_sum: + description: Shows the sum of all mobile RUM lite sessions on Android over all hours in the current month for all organizations (To be introduced on October 1st, 2024). + format: int64 + type: integer + rum_mobile_lite_session_count_flutter_agg_sum: + description: Shows the sum of all mobile RUM lite sessions on Flutter over all hours in the current month for all organizations (To be introduced on October 1st, 2024). + format: int64 + type: integer + rum_mobile_lite_session_count_ios_agg_sum: + description: Shows the sum of all mobile RUM lite sessions on iOS over all hours in the current month for all organizations (To be introduced on October 1st, 2024). + format: int64 + type: integer + rum_mobile_lite_session_count_kotlinmultiplatform_agg_sum: + description: Shows the sum of all mobile RUM lite sessions on Kotlin Multiplatform over all hours within the current month for all organizations. + format: int64 + type: integer + rum_mobile_lite_session_count_reactnative_agg_sum: + description: Shows the sum of all mobile RUM lite sessions on React Native over all hours in the current month for all organizations (To be introduced on October 1st, 2024). + format: int64 + type: integer + rum_mobile_lite_session_count_roku_agg_sum: + description: Shows the sum of all mobile RUM lite sessions on Roku over all hours within the current month for all organizations (To be introduced on October 1st, 2024). + format: int64 + type: integer + rum_mobile_lite_session_count_unity_agg_sum: + description: Shows the sum of all mobile RUM lite sessions on Unity over all hours within the current month for all organizations. + format: int64 + type: integer + rum_mobile_replay_session_count_android_agg_sum: + description: Shows the sum of all mobile RUM replay sessions on Android over all hours within the current month for all organizations. + format: int64 + type: integer + rum_mobile_replay_session_count_ios_agg_sum: + description: Shows the sum of all mobile RUM replay sessions on iOS over all hours within the current month for all organizations. + format: int64 + type: integer + rum_mobile_replay_session_count_kotlinmultiplatform_agg_sum: + description: Shows the sum of all mobile RUM replay sessions on Kotlin Multiplatform over all hours within the current month for all organizations. + format: int64 + type: integer + rum_mobile_replay_session_count_reactnative_agg_sum: + description: Shows the sum of all mobile RUM replay sessions on React Native over all hours within the current month for all organizations. + format: int64 + type: integer + rum_replay_session_count_agg_sum: + description: Shows the sum of all RUM Session Replay counts over all hours in the current month for all organizations (To be introduced on October 1st, 2024). + format: int64 + type: integer + rum_session_count_agg_sum: + deprecated: true + description: Shows the sum of all browser RUM lite sessions over all hours in the current month for all organizations (To be deprecated on October 1st, 2024). + format: int64 + type: integer + rum_session_replay_add_on_agg_sum: + description: Sum of all RUM session replay add-on sessions for all hours in the current month for all organizations. + format: int64 + type: integer + rum_total_session_count_agg_sum: + description: Shows the sum of RUM sessions (browser and mobile) over all hours in the current month for all organizations. + format: int64 + type: integer + rum_units_agg_sum: + deprecated: true + description: Shows the sum of all browser and mobile RUM units over all hours in the current month for all organizations (To be deprecated on October 1st, 2024). + format: int64 + type: integer + sca_fargate_count_avg_sum: + description: Shows the average of all Software Composition Analysis Fargate tasks over all hours in the current months for all organizations. + format: int64 + type: integer + sca_fargate_count_hwm_sum: + description: Shows the sum of the high-water marks of all Software Composition Analysis Fargate tasks over all hours in the current months for all organizations. + format: int64 + type: integer + sds_apm_scanned_bytes_sum: + description: Sum of all APM bytes scanned with sensitive data scanner in the current month for all organizations. + format: int64 + type: integer + sds_events_scanned_bytes_sum: + description: Sum of all event stream events bytes scanned with sensitive data scanner in the current month for all organizations. + format: int64 + type: integer + sds_logs_scanned_bytes_sum: + description: Shows the sum of all bytes scanned of logs usage by the Sensitive Data Scanner over all hours in the current month for all organizations. + format: int64 + type: integer + sds_rum_scanned_bytes_sum: + description: Sum of all RUM bytes scanned with sensitive data scanner in the current month for all organizations. + format: int64 + type: integer + sds_total_scanned_bytes_sum: + description: Shows the sum of all bytes scanned across all usage types by the Sensitive Data Scanner over all hours in the current month for all organizations. + format: int64 + type: integer + serverless_apps_apm_apm_azure_appservice_instances_avg_sum: + description: Sum of the average number of Serverless Apps with Application Performance Monitoring for Azure App Service instances in the current month for all organizations. + format: int64 + type: integer + serverless_apps_apm_apm_azure_azurefunction_instances_avg_sum: + description: Sum of the average number of Serverless Apps with Application Performance Monitoring for Azure Function instances in the current month for all organizations. + format: int64 + type: integer + serverless_apps_apm_apm_azure_containerapp_instances_avg_sum: + description: Sum of the average number of Serverless Apps with Application Performance Monitoring for Azure Container App instances in the current month for all organizations. + format: int64 + type: integer + serverless_apps_apm_apm_fargate_ecs_tasks_avg_sum: + description: Sum of the average number of Serverless Apps with Application Performance Monitoring for Fargate Elastic Container Service tasks in the current month for all organizations. + format: int64 + type: integer + serverless_apps_apm_apm_gcp_cloudfunction_instances_avg_sum: + description: Sum of the average number of Serverless Apps with Application Performance Monitoring for Google Cloud Platform Cloud Function instances in the current month for all organizations. + format: int64 + type: integer + serverless_apps_apm_apm_gcp_cloudrun_instances_avg_sum: + description: Sum of the average number of Serverless Apps with Application Performance Monitoring for Google Cloud Platform Cloud Run instances in the current month for all organizations. + format: int64 + type: integer + serverless_apps_apm_apm_gcp_gke_autopilot_pods_avg_sum: + description: Sum of the average number of Serverless Apps with Application Performance Monitoring for Google Kubernetes Engine Autopilot pods in the current month for all organizations. + format: int64 + type: integer + serverless_apps_apm_avg_sum: + description: Sum of the average number of Serverless Apps with Application Performance Monitoring in the current month for all organizations. + format: int64 + type: integer + serverless_apps_apm_excl_fargate_apm_azure_appservice_instances_avg_sum: + description: Sum of the average number of Serverless Apps with Application Performance Monitoring excluding Fargate for Azure App Service instances in the current month for all organizations. + format: int64 + type: integer + serverless_apps_apm_excl_fargate_apm_azure_azurefunction_instances_avg_sum: + description: Sum of the average number of Serverless Apps with Application Performance Monitoring excluding Fargate for Azure Function instances in the current month for all organizations. + format: int64 + type: integer + serverless_apps_apm_excl_fargate_apm_azure_containerapp_instances_avg_sum: + description: Sum of the average number of Serverless Apps with Application Performance Monitoring excluding Fargate for Azure Container App instances in the current month for all organizations. + format: int64 + type: integer + serverless_apps_apm_excl_fargate_apm_gcp_cloudfunction_instances_avg_sum: + description: Sum of the average number of Serverless Apps with Application Performance Monitoring excluding Fargate for Google Cloud Platform Cloud Function instances in the current month for all organizations. + format: int64 + type: integer + serverless_apps_apm_excl_fargate_apm_gcp_cloudrun_instances_avg_sum: + description: Sum of the average number of Serverless Apps with Application Performance Monitoring excluding Fargate for Google Cloud Platform Cloud Run instances in the current month for all organizations. + format: int64 + type: integer + serverless_apps_apm_excl_fargate_apm_gcp_gke_autopilot_pods_avg_sum: + description: Sum of the average number of Serverless Apps with Application Performance Monitoring excluding Fargate for Google Kubernetes Engine Autopilot pods in the current month for all organizations. + format: int64 + type: integer + serverless_apps_apm_excl_fargate_avg_sum: + description: Sum of the average number of Serverless Apps with Application Performance Monitoring excluding Fargate in the current month for all organizations. + format: int64 + type: integer + serverless_apps_azure_container_app_instances_avg_sum: + description: Sum of the average number of Serverless Apps for Azure Container App instances in the current month for all organizations. + format: int64 + type: integer + serverless_apps_azure_count_avg_sum: + description: Sum of the average number of Serverless Apps for Azure in the current month for all organizations. + format: int64 + type: integer + serverless_apps_azure_function_app_instances_avg_sum: + description: Sum of the average number of Serverless Apps for Azure Function App instances in the current month for all organizations. + format: int64 + type: integer + serverless_apps_azure_web_app_instances_avg_sum: + description: Sum of the average number of Serverless Apps for Azure Web App instances in the current month for all organizations. + format: int64 + type: integer + serverless_apps_dsm_fargate_tasks_avg_sum: + description: Sum of the average number of DSM Fargate ECS tasks monitored under Serverless Apps DSM in the current month for all organizations. + format: int64 + type: integer + serverless_apps_ecs_avg_sum: + description: Sum of the average number of Serverless Apps for Elastic Container Service in the current month for all organizations. + format: int64 + type: integer + serverless_apps_eks_avg_sum: + description: Sum of the average number of Serverless Apps for Elastic Kubernetes Service in the current month for all organizations. + format: int64 + type: integer + serverless_apps_excl_fargate_avg_sum: + description: Sum of the average number of Serverless Apps excluding Fargate in the current month for all organizations. + format: int64 + type: integer + serverless_apps_excl_fargate_azure_container_app_instances_avg_sum: + description: Sum of the average number of Serverless Apps excluding Fargate for Azure Container App instances in the current month for all organizations. + format: int64 + type: integer + serverless_apps_excl_fargate_azure_function_app_instances_avg_sum: + description: Sum of the average number of Serverless Apps excluding Fargate for Azure Function App instances in the current month for all organizations. + format: int64 + type: integer + serverless_apps_excl_fargate_azure_web_app_instances_avg_sum: + description: Sum of the average number of Serverless Apps excluding Fargate for Azure Web App instances in the current month for all organizations. + format: int64 + type: integer + serverless_apps_excl_fargate_google_cloud_functions_instances_avg_sum: + description: Sum of the average number of Serverless Apps excluding Fargate for Google Cloud Platform Cloud Functions instances in the current month for all organizations. + format: int64 + type: integer + serverless_apps_excl_fargate_google_cloud_run_instances_avg_sum: + description: Sum of the average number of Serverless Apps excluding Fargate for Google Cloud Platform Cloud Run instances in the current month for all organizations. + format: int64 + type: integer + serverless_apps_excl_fargate_infra_gcp_gke_autopilot_pods_avg_sum: + description: Sum of the average number of Serverless Apps excluding Fargate for Google Kubernetes Engine Autopilot pods in the current month for all organizations. + format: int64 + type: integer + serverless_apps_google_cloud_functions_instances_avg_sum: + description: Sum of the average number of Serverless Apps for Google Cloud Platform Cloud Functions instances in the current month for all organizations. + format: int64 + type: integer + serverless_apps_google_cloud_run_instances_avg_sum: + description: Sum of the average number of Serverless Apps for Google Cloud Platform Cloud Run instances in the current month for all organizations. + format: int64 + type: integer + serverless_apps_google_count_avg_sum: + description: Sum of the average number of Serverless Apps for Google Cloud in the current month for all organizations. + format: int64 + type: integer + serverless_apps_infra_gcp_gke_autopilot_pods_avg_sum: + description: Sum of the average number of Serverless Apps for Google Kubernetes Engine Autopilot pods in the current month for all organizations. + format: int64 + type: integer + serverless_apps_total_count_avg_sum: + description: Sum of the average number of Serverless Apps for Azure and Google Cloud in the current month for all organizations. + format: int64 + type: integer + siem_12mo_retention_agg_sum: + description: Shows the sum of Cloud SIEM Indexed Logs (12-month retention) over all hours in the current month for all organizations. + format: int64 + type: integer + siem_6mo_retention_agg_sum: + description: Shows the sum of Cloud SIEM Indexed Logs (6-month retention) over all hours in the current month for all organizations. + format: int64 + type: integer + siem_analyzed_logs_add_on_count_agg_sum: + description: Shows the sum of all log events analyzed by Cloud SIEM over all hours in the current month for all organizations. + format: int64 + type: integer + snmp_device_count_agg_sum: + description: Shows the sum of all Network Device Monitoring devices over all hours in the current month for all organizations. + format: int64 + type: integer + snmp_device_count_top99p_sum: + description: Shows the 99th percentile of all Network Device Monitoring devices over all hours in the current month for all organizations. + format: int64 + type: integer + start_date: + description: Shows the first date of usage in the current month for all organizations. + format: date-time + type: string + synthetics_browser_check_calls_count_agg_sum: + description: Shows the sum of all Synthetic browser tests over all hours in the current month for all organizations. + format: int64 + type: integer + synthetics_check_calls_count_agg_sum: + description: Shows the sum of all Synthetic API tests over all hours in the current month for all organizations. + format: int64 + type: integer + synthetics_mobile_test_runs_agg_sum: + description: Shows the sum of Synthetic mobile application tests over all hours in the current month for all organizations. + format: int64 + type: integer + synthetics_parallel_testing_max_slots_hwm_sum: + description: Shows the sum of the high-water marks of used synthetics parallel testing slots over all hours in the current month for all organizations. + format: int64 + type: integer + trace_search_indexed_events_count_agg_sum: + description: Shows the sum of all Indexed Spans indexed over all hours in the current month for all organizations. + format: int64 + type: integer + twol_ingested_events_bytes_agg_sum: + description: Shows the sum of all ingested APM span bytes over all hours in the current month for all organizations. + format: int64 + type: integer + universal_service_monitoring_host_top99p_sum: + description: Shows the 99th percentile of all Universal Service Monitoring hosts over all hours in the current month for all organizations. + format: int64 + type: integer + usage: + description: An array of objects regarding hourly usage. + items: + $ref: '#/components/schemas/UsageSummaryDate' + type: array + vsphere_host_top99p_sum: + description: Shows the 99th percentile of all vSphere hosts over all hours in the current month for all organizations. + format: int64 + type: integer + vuln_management_host_count_top99p_sum: + description: Shows the 99th percentile of all Application Vulnerability Management hosts over all hours in the current month for all organizations. + format: int64 + type: integer + workflow_executions_usage_agg_sum: + description: Sum of all workflows executed over all hours in the current month for all organizations. + format: int64 + type: integer + type: object + x-keep-typed-in-additional-properties: true + UsageSyntheticsResponse: + description: Response containing the number of Synthetics API tests run for each hour for a given organization. + properties: + usage: + description: Array with the number of hourly Synthetics test run for a given organization. + items: + $ref: '#/components/schemas/UsageSyntheticsHour' + type: array + type: object + UsageSyntheticsAPIResponse: + description: Response containing the number of Synthetics API tests run for each hour for a given organization. + properties: + usage: + description: Get hourly usage for Synthetics API tests. + items: + $ref: '#/components/schemas/UsageSyntheticsAPIHour' + type: array + type: object + UsageSyntheticsBrowserResponse: + description: Response containing the number of Synthetics Browser tests run for each hour for a given organization. + properties: + usage: + description: Get hourly usage for Synthetics Browser tests. + items: + $ref: '#/components/schemas/UsageSyntheticsBrowserHour' + type: array + type: object + UsageTimeseriesResponse: + description: Response containing hourly usage of timeseries. + properties: + usage: + description: An array of objects regarding hourly usage of timeseries. + items: + $ref: '#/components/schemas/UsageTimeseriesHour' + type: array + type: object + UsageTopAvgMetricsResponse: + description: Response containing the number of hourly recorded custom metrics for a given organization. + properties: + metadata: + $ref: '#/components/schemas/UsageTopAvgMetricsMetadata' + usage: + description: Number of hourly recorded custom metrics for a given organization. + items: + $ref: '#/components/schemas/UsageTopAvgMetricsHour' + type: array + type: object + UserListResponse: + description: Array of Datadog users for a given organization. + properties: + users: + description: Array of users. + items: + $ref: '#/components/schemas/UserV1' + type: array + type: object + UserV1: + description: Create, edit, and disable users. + properties: + access_role: + $ref: '#/components/schemas/AccessRole' + disabled: + description: The new disabled status of the user. + example: false + type: boolean + email: + description: The new email of the user. + example: test@datadoghq.com + type: string + handle: + description: The user handle, must be a valid email. + example: test@datadoghq.com + type: string + icon: + description: Gravatar icon associated to the user. + example: /path/to/matching/gravatar/icon + readOnly: true + type: string + name: + description: The name of the user. + example: test user + type: string + verified: + description: Whether or not the user logged in Datadog at least once. + example: true + readOnly: true + type: boolean + type: object + UserResponseV1: + description: A Datadog User. + properties: + user: + $ref: '#/components/schemas/UserV1' + type: object + UserDisableResponse: + description: Array of user disabled for a given organization. + properties: + message: + description: Information pertaining to a user disabled for a given organization. + type: string + type: object + AuthenticationValidationResponse: + description: Represent validation endpoint responses. + properties: + valid: + description: Return `true` if the authentication response is valid. + example: true + readOnly: true + type: boolean + type: object + AnonymizeUsersRequestData: + description: Object to anonymize a list of users. + properties: + attributes: + $ref: '#/components/schemas/AnonymizeUsersRequestAttributes' + id: + description: Unique identifier for the request. Not used server-side. + example: 00000000-0000-0000-0000-000000000000 + type: string + type: + $ref: '#/components/schemas/AnonymizeUsersRequestType' + required: + - type + - attributes + type: object + AnonymizeUsersResponseData: + description: Response data for anonymizing users. + properties: + attributes: + $ref: '#/components/schemas/AnonymizeUsersResponseAttributes' + id: + description: Unique identifier of the response. + example: 00000000-0000-0000-0000-000000000000 + type: string + type: + $ref: '#/components/schemas/AnonymizeUsersResponseType' + type: object + APIKeysSort: + default: name + description: Sorting options + enum: + - created_at + - '-created_at' + - last4 + - '-last4' + - modified_at + - '-modified_at' + - name + - '-name' + type: string + x-enum-varnames: + - CREATED_AT_ASCENDING + - CREATED_AT_DESCENDING + - LAST4_ASCENDING + - LAST4_DESCENDING + - MODIFIED_AT_ASCENDING + - MODIFIED_AT_DESCENDING + - NAME_ASCENDING + - NAME_DESCENDING + PartialAPIKey: + description: Partial Datadog API key. + properties: + attributes: + $ref: '#/components/schemas/PartialAPIKeyAttributes' + id: + description: ID of the API key. + type: string + relationships: + $ref: '#/components/schemas/APIKeyRelationships' + type: + $ref: '#/components/schemas/APIKeysType' + type: object + APIKeyResponseIncludedItem: + description: An object related to an API key. + properties: + attributes: + $ref: '#/components/schemas/UserAttributes' + id: + description: ID of the user. + type: string + relationships: + $ref: '#/components/schemas/UserResponseRelationships' + type: + $ref: '#/components/schemas/UsersType' + type: object + required: + - attributes + - id + - type + APIKeysResponseMeta: + description: Additional information related to api keys response. + properties: + max_allowed: + description: Max allowed number of API keys. + format: int64 + type: integer + page: + $ref: '#/components/schemas/APIKeysResponseMetaPage' + type: object + APIKeyCreateData: + description: Object used to create an API key. + properties: + attributes: + $ref: '#/components/schemas/APIKeyCreateAttributes' + type: + $ref: '#/components/schemas/APIKeysType' + required: + - attributes + - type + type: object + FullAPIKey: + description: Datadog API key. + properties: + attributes: + $ref: '#/components/schemas/FullAPIKeyAttributes' + id: + description: ID of the API key. + type: string + relationships: + $ref: '#/components/schemas/APIKeyRelationships' + type: + $ref: '#/components/schemas/APIKeysType' + type: object + APIKeyUpdateData: + description: Object used to update an API key. + properties: + attributes: + $ref: '#/components/schemas/APIKeyUpdateAttributes' + id: + description: ID of the API key. + example: 00112233-4455-6677-8899-aabbccddeeff + type: string + type: + $ref: '#/components/schemas/APIKeysType' + required: + - attributes + - id + - type + type: object + ApplicationKeysSort: + default: name + description: Sorting options + enum: + - created_at + - '-created_at' + - last4 + - '-last4' + - name + - '-name' + type: string + x-enum-varnames: + - CREATED_AT_ASCENDING + - CREATED_AT_DESCENDING + - LAST4_ASCENDING + - LAST4_DESCENDING + - NAME_ASCENDING + - NAME_DESCENDING + PartialApplicationKey: + description: Partial Datadog application key. + properties: + attributes: + $ref: '#/components/schemas/PartialApplicationKeyAttributes' + id: + description: ID of the application key. + type: string + relationships: + $ref: '#/components/schemas/ApplicationKeyRelationships' + type: + $ref: '#/components/schemas/ApplicationKeysType' + type: object + ApplicationKeyResponseIncludedItem: + description: An object related to an application key. + properties: + attributes: + $ref: '#/components/schemas/UserAttributes' + id: + description: ID of the user. + type: string + relationships: + $ref: '#/components/schemas/UserResponseRelationships' + type: + $ref: '#/components/schemas/UsersType' + type: object + required: + - type + - attributes + - id + ApplicationKeyResponseMeta: + description: Additional information related to the application key response. + properties: + max_allowed_per_user: + description: Max allowed number of application keys per user. + format: int64 + type: integer + page: + $ref: '#/components/schemas/ApplicationKeyResponseMetaPage' + type: object + FullApplicationKey: + description: Datadog application key. + properties: + attributes: + $ref: '#/components/schemas/FullApplicationKeyAttributes' + id: + description: ID of the application key. + type: string + relationships: + $ref: '#/components/schemas/ApplicationKeyRelationships' + type: + $ref: '#/components/schemas/ApplicationKeysType' + type: object + ApplicationKeyUpdateData: + description: Object used to update an application key. + properties: + attributes: + $ref: '#/components/schemas/ApplicationKeyUpdateAttributes' + id: + description: ID of the application key. + example: 00112233-4455-6677-8899-aabbccddeeff + type: string + type: + $ref: '#/components/schemas/ApplicationKeysType' + required: + - attributes + - id + - type + type: object + AuditLogsEvent: + description: Object description of an Audit Logs event after it is processed and stored by Datadog. + properties: + attributes: + $ref: '#/components/schemas/AuditLogsEventAttributes' + id: + description: Unique ID of the event. + example: AAAAAWgN8Xwgr1vKDQAAAABBV2dOOFh3ZzZobm1mWXJFYTR0OA + type: string + type: + $ref: '#/components/schemas/AuditLogsEventType' + type: object + AuditLogsResponseLinks: + description: Links attributes. + properties: + next: + description: |- + Link for the next set of results. Note that the request can also be made using the + POST endpoint. + example: https://app.datadoghq.com/api/v2/audit/event?filter[query]=foo&page[cursor]=eyJzdGFydEF0IjoiQVFBQUFYS2tMS3pPbm40NGV3QUFBQUJCV0V0clRFdDZVbG8zY3pCRmNsbHJiVmxDWlEifQ== + type: string + type: object + AuditLogsResponseMetadata: + description: The metadata associated with a request. + properties: + elapsed: + description: Time elapsed in milliseconds. + example: 132 + format: int64 + type: integer + page: + $ref: '#/components/schemas/AuditLogsResponsePage' + request_id: + description: The identifier of the request. + example: MWlFUjVaWGZTTTZPYzM0VXp1OXU2d3xLSVpEMjZKQ0VKUTI0dEYtM3RSOFVR + type: string + status: + $ref: '#/components/schemas/AuditLogsResponseStatus' + warnings: + description: |- + A list of warnings (non-fatal errors) encountered. Partial results may return if + warnings are present in the response. + items: + $ref: '#/components/schemas/AuditLogsWarning' + type: array + type: object + AuditLogsQueryFilter: + description: Search and filter query settings. + properties: + from: + default: now-15m + description: Minimum time for the requested events. Supports date, math, and regular timestamps (in milliseconds). + example: now-15m + type: string + query: + default: '*' + description: Search query following the Audit Logs search syntax. + example: '@type:session AND @session.type:user' + type: string + to: + default: now + description: Maximum time for the requested events. Supports date, math, and regular timestamps (in milliseconds). + example: now + type: string + type: object + AuditLogsQueryOptions: + description: |- + Global query options that are used during the query. + Note: Specify either timezone or time offset, not both. Otherwise, the query fails. + properties: + time_offset: + description: Time offset (in seconds) to apply to the query. + format: int64 + type: integer + timezone: + default: UTC + description: The timezone can be specified as GMT, UTC, an offset from UTC (like UTC+1), or as a Timezone Database identifier (like America/New_York). + example: GMT + type: string + type: object + AuditLogsQueryPageOptions: + description: Paging attributes for listing events. + properties: + cursor: + description: List following results with a cursor provided in the previous query. + example: eyJzdGFydEF0IjoiQVFBQUFYS2tMS3pPbm40NGV3QUFBQUJCV0V0clRFdDZVbG8zY3pCRmNsbHJiVmxDWlEifQ== + type: string + limit: + default: 10 + description: Maximum number of events in the response. + example: 25 + format: int32 + maximum: 1000 + type: integer + type: object + AuthNMapping: + description: The AuthN Mapping object returned by API. + properties: + attributes: + $ref: '#/components/schemas/AuthNMappingAttributes' + id: + description: ID of the AuthN Mapping. + example: 3653d3c6-0c75-11ea-ad28-fb5701eabc7d + type: string + relationships: + $ref: '#/components/schemas/AuthNMappingRelationships' + type: + $ref: '#/components/schemas/AuthNMappingsType' + required: + - id + - type + type: object + AuthNMappingIncluded: + description: Included data in the AuthN Mapping response. + properties: + attributes: + $ref: '#/components/schemas/SAMLAssertionAttributeAttributes' + id: + description: The ID of the SAML assertion attribute. + example: '0' + type: string + type: + $ref: '#/components/schemas/SAMLAssertionAttributesType' + relationships: + $ref: '#/components/schemas/RoleResponseRelationships' + required: + - id + - type + type: object + ResponseMetaAttributes: + description: Object describing meta attributes of response. + properties: + page: + $ref: '#/components/schemas/Pagination' + type: object + AuthNMappingCreateData: + description: Data for creating an AuthN Mapping. + properties: + attributes: + $ref: '#/components/schemas/AuthNMappingCreateAttributes' + relationships: + $ref: '#/components/schemas/AuthNMappingCreateRelationships' + type: + $ref: '#/components/schemas/AuthNMappingsType' + required: + - type + type: object + AuthNMappingUpdateData: + description: Data for updating an AuthN Mapping. + properties: + attributes: + $ref: '#/components/schemas/AuthNMappingUpdateAttributes' + id: + description: ID of the AuthN Mapping. + example: 3653d3c6-0c75-11ea-ad28-fb5701eabc7d + type: string + relationships: + $ref: '#/components/schemas/AuthNMappingUpdateRelationships' + type: + $ref: '#/components/schemas/AuthNMappingsType' + required: + - id + - type + type: object + User: + description: User object returned by the API. + properties: + attributes: + $ref: '#/components/schemas/UserAttributes' + id: + description: ID of the user. + type: string + relationships: + $ref: '#/components/schemas/UserResponseRelationships' + type: + $ref: '#/components/schemas/UsersType' + type: object + UserResponseIncludedItem: + description: An object related to a user. + properties: + attributes: + $ref: '#/components/schemas/OrganizationAttributes' + id: + description: ID of the organization. + type: string + type: + $ref: '#/components/schemas/OrganizationsType' + relationships: + $ref: '#/components/schemas/RoleResponseRelationships' + required: + - type + type: object + UserUpdateData: + description: Object to update a user. + properties: + attributes: + $ref: '#/components/schemas/UserUpdateAttributes' + id: + description: ID of the user. + example: 00000000-0000-feed-0000-000000000000 + type: string + type: + $ref: '#/components/schemas/UsersType' + required: + - attributes + - type + - id + type: object + ApplicationKeyCreateData: + description: Object used to create an application key. + properties: + attributes: + $ref: '#/components/schemas/ApplicationKeyCreateAttributes' + type: + $ref: '#/components/schemas/ApplicationKeysType' + required: + - attributes + - type + type: object + CreateDataDeletionRequestBodyData: + description: Data needed to create a data deletion request. + properties: + attributes: + $ref: '#/components/schemas/CreateDataDeletionRequestBodyAttributes' + type: + $ref: '#/components/schemas/CreateDataDeletionRequestBodyDataType' + required: + - attributes + - type + type: object + DataDeletionResponseItem: + description: The created data deletion request information. + properties: + attributes: + $ref: '#/components/schemas/DataDeletionResponseItemAttributes' + id: + description: The ID of the created data deletion request. + example: '1' + type: string + type: + description: The type of the request created. + example: deletion_request + type: string + required: + - id + - type + - attributes + type: object + DataDeletionResponseMeta: + description: The metadata of the data deletion response. + properties: + count_product: + additionalProperties: + format: int64 + type: integer + description: The total deletion requests created by product. + example: + logs: 8 + type: object + count_status: + additionalProperties: + format: int64 + type: integer + description: The total deletion requests created by status. + example: + completed: 10 + pending: 5 + type: object + next_page: + description: The next page when searching deletion requests created in the current organization. + example: cGFnZTI= + type: string + product: + description: The product of the deletion request. + example: logs + type: string + request_status: + description: The status of the executed request. + example: canceled + type: string + type: object + DomainAllowlistResponseData: + description: The email domain allowlist response for an org. + properties: + attributes: + $ref: '#/components/schemas/DomainAllowlistResponseDataAttributes' + id: + description: The unique identifier of the org. + nullable: true + type: string + type: + $ref: '#/components/schemas/DomainAllowlistType' + required: + - type + type: object + DomainAllowlist: + description: The email domain allowlist for an org. + properties: + attributes: + $ref: '#/components/schemas/DomainAllowlistAttributes' + id: + description: The unique identifier of the org. + nullable: true + type: string + type: + $ref: '#/components/schemas/DomainAllowlistType' + required: + - type + type: object + GlobalOrgData: + description: An organization associated with the authenticated user. + properties: + attributes: + $ref: '#/components/schemas/GlobalOrgAttributes' + type: + $ref: '#/components/schemas/GlobalOrgType' + required: + - type + - attributes + type: object + GlobalOrgsLinks: + description: Pagination links. + properties: + next: + description: Link to the next page. + example: https://app.datadoghq.com/api/v2/global_orgs?user_handle=user@example.com&page[limit]=100&page[cursor]=next-page + nullable: true + type: string + prev: + description: Link to the previous page. + nullable: true + type: string + self: + description: Link to the current page. + example: https://app.datadoghq.com/api/v2/global_orgs?user_handle=user@example.com&page[limit]=100 + type: string + type: object + GlobalOrgsMeta: + description: Response metadata object. + properties: + page: + $ref: '#/components/schemas/GlobalOrgsMetaPage' + type: object + GovernanceConfigData: + description: A Governance Console configuration resource. + properties: + attributes: + $ref: '#/components/schemas/GovernanceConfigAttributes' + id: + description: |- + The unique identifier of the organization the Governance Console configuration applies + to. May be the nil UUID (`00000000-0000-0000-0000-000000000000`) when the configuration + is not tied to a specific organization record. + example: 00000000-0000-0000-0000-000000000000 + type: string + type: + $ref: '#/components/schemas/GovernanceConsoleConfigResourceType' + required: + - id + - type + - attributes + type: object + JSONAPIErrorItem: + description: API error response body + properties: + detail: + description: A human-readable explanation specific to this occurrence of the error. + example: Missing required attribute in body + type: string + meta: + additionalProperties: {} + description: Non-standard meta-information about the error + type: object + source: + $ref: '#/components/schemas/JSONAPIErrorItemSource' + status: + description: Status code of the response. + example: '400' + type: string + title: + description: Short human-readable summary of the error. + example: Bad Request + type: string + type: object + GovernanceControlsDataArray: + description: An array of governance control resources. + items: + $ref: '#/components/schemas/GovernanceControlData' + type: array + GovernanceControlData: + description: A governance control resource. + properties: + attributes: + $ref: '#/components/schemas/GovernanceControlAttributes' + id: + description: The detection type that uniquely identifies the control. + example: unused_api_keys + type: string + type: + $ref: '#/components/schemas/GovernanceControlResourceType' + required: + - id + - type + - attributes + type: object + GovernanceControlUpdateData: + description: The data of a governance control update request. + properties: + attributes: + $ref: '#/components/schemas/GovernanceControlUpdateAttributes' + type: + $ref: '#/components/schemas/GovernanceControlResourceType' + required: + - type + type: object + GovernanceControlDetectionsDataArray: + description: An array of governance control detection resources. + items: + $ref: '#/components/schemas/GovernanceControlDetectionData' + type: array + ControlNotificationSettingsData: + description: A control notification settings resource. + properties: + attributes: + $ref: '#/components/schemas/ControlNotificationSettingsAttributes' + id: + description: The detection type the notification settings apply to. + example: unused_api_keys + type: string + type: + $ref: '#/components/schemas/ControlNotificationSettingsResourceType' + required: + - id + - type + - attributes + type: object + ControlNotificationSettingsUpdateData: + description: The data of a control notification settings update request. + properties: + attributes: + $ref: '#/components/schemas/ControlNotificationSettingsUpdateAttributes' + type: + $ref: '#/components/schemas/ControlNotificationSettingsResourceType' + required: + - type + type: object + GovernanceMitigationRequestData: + description: The data of a governance mitigation request. + properties: + attributes: + $ref: '#/components/schemas/GovernanceMitigationRequestAttributes' + type: + $ref: '#/components/schemas/GovernanceControlDetectionResourceType' + required: + - type + type: object + GovernanceControlDetectionData: + description: A governance control detection resource. + properties: + attributes: + $ref: '#/components/schemas/GovernanceControlDetectionAttributes' + id: + description: The unique identifier of the detection. + example: 3f9b2c1a-8d4e-4a6b-9c2f-1e7d5a0b3c4d + type: string + type: + $ref: '#/components/schemas/GovernanceControlDetectionResourceType' + required: + - id + - type + - attributes + type: object + GovernanceControlDetectionUpdateData: + description: The data of a governance control detection update request. + properties: + attributes: + $ref: '#/components/schemas/GovernanceControlDetectionUpdateAttributes' + type: + $ref: '#/components/schemas/GovernanceControlDetectionResourceType' + required: + - type + type: object + GovernanceInsightsDataArray: + description: An array of governance insight resources. + items: + $ref: '#/components/schemas/GovernanceInsightData' + type: array + GovernanceNotificationSettingsData: + description: A governance notification settings resource. + properties: + attributes: + $ref: '#/components/schemas/GovernanceNotificationSettingsAttributes' + id: + description: The unique identifier of the organization the notification settings apply to. + example: 11111111-2222-3333-4444-555555555555 + type: string + type: + $ref: '#/components/schemas/GovernanceNotificationSettingsResourceType' + required: + - id + - type + - attributes + type: object + GovernanceNotificationSettingsUpdateData: + description: The data of a governance notification settings update request. + properties: + attributes: + $ref: '#/components/schemas/GovernanceNotificationSettingsUpdateAttributes' + type: + $ref: '#/components/schemas/GovernanceNotificationSettingsResourceType' + required: + - type + type: object + TagRuleDataArray: + description: An array of tag rule data objects. + items: + $ref: '#/components/schemas/TagRuleData' + type: array + TagRuleIncludedResources: + description: Related resources fetched alongside the primary tag rules. Populated when an `include` query parameter is supplied. + items: + $ref: '#/components/schemas/TagRuleScoreData' + type: array + TagRuleCreateData: + description: Data object for creating a tag rule. + properties: + attributes: + $ref: '#/components/schemas/TagRuleCreateAttributes' + type: + $ref: '#/components/schemas/TagRuleResourceType' + required: + - type + - attributes + type: object + TagRuleData: + description: A tag rule resource. + properties: + attributes: + $ref: '#/components/schemas/TagRuleAttributes' + id: + description: The unique identifier of the tag rule. + example: '123' + type: string + relationships: + $ref: '#/components/schemas/TagRuleRelationships' + type: + $ref: '#/components/schemas/TagRuleResourceType' + required: + - type + - id + - attributes + type: object + TagRuleUpdateData: + description: Data object for updating a tag rule. + properties: + attributes: + $ref: '#/components/schemas/TagRuleUpdateAttributes' + id: + description: The unique identifier of the tag rule being updated. + example: '123' + type: string + type: + $ref: '#/components/schemas/TagRuleResourceType' + required: + - type + - id + type: object + TagRuleScoreData: + description: A compliance score resource for a tag rule. + properties: + attributes: + $ref: '#/components/schemas/TagRuleScoreAttributes' + id: + description: The unique identifier of the compliance score resource. + example: 123-v1-1779315066097-1779401466097 + type: string + type: + $ref: '#/components/schemas/TagRuleScoreResourceType' + required: + - type + - id + - attributes + type: object + HamrOrgConnectionDataResponse: + description: Data object for a HAMR organization connection response. + properties: + attributes: + $ref: '#/components/schemas/HamrOrgConnectionAttributesResponse' + id: + description: The organization UUID for this HAMR connection. + example: 550e8400-e29b-41d4-a716-446655440000 + type: string + type: + $ref: '#/components/schemas/HamrOrgConnectionType' + required: + - id + - type + - attributes + type: object + HamrOrgConnectionDataRequest: + description: Data object for a HAMR organization connection request. + properties: + attributes: + $ref: '#/components/schemas/HamrOrgConnectionAttributesRequest' + id: + description: The organization UUID for this HAMR connection. Must match the authenticated organization's UUID. + example: 550e8400-e29b-41d4-a716-446655440000 + type: string + type: + $ref: '#/components/schemas/HamrOrgConnectionType' + required: + - id + - type + - attributes + type: object + IdentityProviderDataList: + description: List of organization identity provider data objects. + items: + $ref: '#/components/schemas/IdentityProviderData' + type: array + IdentityProviderUpdateData: + description: Data object for updating an organization identity provider. + properties: + attributes: + $ref: '#/components/schemas/IdentityProviderUpdateAttributes' + id: + description: The unique identifier of the identity provider to update. + example: 00000000-0000-0000-0000-000000000001 + type: string + type: + $ref: '#/components/schemas/IdentityProviderType' + required: + - id + - type + - attributes + type: object + IdentityProviderData: + description: Data object representing an organization identity provider. + properties: + attributes: + $ref: '#/components/schemas/IdentityProviderAttributes' + id: + description: The unique identifier of the identity provider. + example: 00000000-0000-0000-0000-000000000001 + type: string + type: + $ref: '#/components/schemas/IdentityProviderType' + required: + - id + - type + - attributes + type: object + IPAllowlistData: + description: IP allowlist data. + properties: + attributes: + $ref: '#/components/schemas/IPAllowlistAttributes' + id: + description: The unique identifier of the org. + type: string + type: + $ref: '#/components/schemas/IPAllowlistType' + required: + - type + type: object + MaxSessionDurationUpdateData: + description: The data object for a maximum session duration update request. + properties: + attributes: + $ref: '#/components/schemas/MaxSessionDurationUpdateAttributes' + type: + $ref: '#/components/schemas/MaxSessionDurationType' + required: + - type + - attributes + type: object + OAuth2WellKnownSitesData: + description: Data object containing OAuth2 well-known sites information. + properties: + attributes: + $ref: '#/components/schemas/OAuth2WellKnownSitesAttributes' + id: + description: Environment identifier. + example: prod + type: string + type: + $ref: '#/components/schemas/OAuth2WellKnownSitesEnvType' + required: + - id + - type + - attributes + type: object + OAuthScopesRestrictionResponseData: + description: Data object of an OAuth2 client scopes restriction response. + properties: + attributes: + $ref: '#/components/schemas/OAuthScopesRestrictionResponseAttributes' + id: + description: UUID of the OAuth2 client this restriction applies to. + example: fafa8e1c-36a5-11f0-a83d-da7ad0900001 + format: uuid + type: string + type: + $ref: '#/components/schemas/OAuthScopesRestrictionType' + required: + - id + - type + - attributes + type: object + UpsertOAuthScopesRestrictionData: + description: Data object of an upsert OAuth2 scopes restriction request. + properties: + attributes: + $ref: '#/components/schemas/UpsertOAuthScopesRestrictionDataAttributes' + type: + $ref: '#/components/schemas/UpsertOAuthScopesRestrictionType' + required: + - type + type: object + OAuthClientRegistrationGrantType: + description: OAuth 2.0 grant type that a registered client may use. + enum: + - authorization_code + - refresh_token + example: authorization_code + type: string + x-enum-varnames: + - AUTHORIZATION_CODE + - REFRESH_TOKEN + OAuthClientRegistrationResponseType: + description: OAuth 2.0 response type that a registered client may use. + enum: + - code + example: code + type: string + x-enum-varnames: + - CODE + ManagedOrgsData: + description: The managed organizations resource. + properties: + id: + description: The UUID of the current organization. + example: 4dee724d-00cc-11ea-a77b-570c9d03c6c5 + format: uuid + type: string + relationships: + $ref: '#/components/schemas/ManagedOrgsRelationships' + type: + $ref: '#/components/schemas/ManagedOrgsType' + required: + - id + - type + - relationships + type: object + OrgData: + description: An organization resource. + properties: + attributes: + $ref: '#/components/schemas/OrgAttributes' + id: + description: The UUID of the organization. + example: 4dee724d-00cc-11ea-a77b-570c9d03c6c5 + format: uuid + type: string + type: + $ref: '#/components/schemas/OrgResourceType' + required: + - id + - type + - attributes + type: object + CustomerOrgDisableRequestData: + description: Data object for a customer org disable request. + properties: + attributes: + $ref: '#/components/schemas/CustomerOrgDisableRequestAttributes' + id: + description: |- + Optional client-supplied identifier for the request. Useful for client-side + correlation; the server does not use this value. + example: '1' + type: string + type: + $ref: '#/components/schemas/CustomerOrgDisableType' + required: + - type + type: object + CustomerOrgDisableResponseData: + description: Data object returned after disabling the customer organization. + properties: + attributes: + $ref: '#/components/schemas/CustomerOrgDisableResponseAttributes' + id: + description: Identifier of the disabled organization. + example: abcdef01-2345-6789-abcd-ef0123456789 + type: string + type: + $ref: '#/components/schemas/CustomerOrgDisableResponseType' + required: + - type + - id + - attributes + type: object + OrgSAMLPreferencesData: + description: Data for updating an organization's SAML preferences. + properties: + attributes: + $ref: '#/components/schemas/OrgSAMLPreferencesAttributes' + id: + description: The identifier of the SAML preferences resource. + example: 00000000-0000-0000-0000-000000000000 + type: string + type: + $ref: '#/components/schemas/OrgSAMLPreferencesType' + required: + - type + - attributes + type: object + OrgAuthorizedClientDataList: + description: List of org authorized client data objects. + items: + $ref: '#/components/schemas/OrgAuthorizedClientData' + type: array + OrgAuthorizedClientData: + description: Data object representing an org authorized client. + properties: + attributes: + $ref: '#/components/schemas/OrgAuthorizedClientAttributes' + id: + description: The unique identifier of the org authorized client. + example: 00000000-0000-0000-0000-000000000001 + type: string + relationships: + $ref: '#/components/schemas/OrgAuthorizedClientRelationships' + type: + $ref: '#/components/schemas/OrgAuthorizedClientType' + required: + - id + - type + - attributes + - relationships + type: object + OrgAuthorizedClientUpdateData: + description: Data object for updating an org authorized client. + properties: + attributes: + $ref: '#/components/schemas/OrgAuthorizedClientUpdateAttributes' + id: + description: The unique identifier of the org authorized client to update. + example: 00000000-0000-0000-0000-000000000001 + type: string + type: + $ref: '#/components/schemas/OrgAuthorizedClientType' + required: + - id + - type + type: object + UserAuthorizedClientDataList: + description: List of user authorized client data objects. + items: + $ref: '#/components/schemas/UserAuthorizedClientData' + type: array + OrgConfigRead: + description: A single Org Config. + properties: + attributes: + $ref: '#/components/schemas/OrgConfigReadAttributes' + id: + description: A unique identifier for an Org Config. + example: abcd1234 + type: string + type: + $ref: '#/components/schemas/OrgConfigType' + required: + - id + - type + - attributes + type: object + OrgConfigWrite: + description: An Org Config write operation. + properties: + attributes: + $ref: '#/components/schemas/OrgConfigWriteAttributes' + type: + $ref: '#/components/schemas/OrgConfigType' + required: + - type + - attributes + type: object + OrgConnection: + description: An org connection. + properties: + attributes: + $ref: '#/components/schemas/OrgConnectionAttributes' + id: + description: The unique identifier of the org connection. + example: f9ec96b0-8c8a-4b0a-9b0a-1b2c3d4e5f6a + format: uuid + type: string + relationships: + $ref: '#/components/schemas/OrgConnectionRelationships' + type: + $ref: '#/components/schemas/OrgConnectionType' + required: + - id + - type + - attributes + - relationships + type: object + OrgConnectionListResponseMeta: + description: Pagination metadata. + properties: + page: + $ref: '#/components/schemas/OrgConnectionListResponseMetaPage' + type: object + OrgConnectionCreate: + description: Org connection creation data. + properties: + attributes: + $ref: '#/components/schemas/OrgConnectionCreateAttributes' + relationships: + $ref: '#/components/schemas/OrgConnectionCreateRelationships' + type: + $ref: '#/components/schemas/OrgConnectionType' + required: + - type + - attributes + - relationships + type: object + OrgConnectionUpdate: + description: Org connection update data. + properties: + attributes: + $ref: '#/components/schemas/OrgConnectionUpdateAttributes' + id: + description: The unique identifier of the org connection. + example: f9ec96b0-8c8a-4b0a-9b0a-1b2c3d4e5f6a + format: uuid + type: string + type: + $ref: '#/components/schemas/OrgConnectionType' + required: + - type + - id + - attributes + type: object + OrgGroupMembershipSortOption: + default: uuid + description: Field to sort memberships by. + enum: + - name + - '-name' + - uuid + - '-uuid' + example: uuid + type: string + x-enum-varnames: + - NAME + - MINUS_NAME + - UUID + - MINUS_UUID + OrgGroupMembershipData: + description: An org group membership resource. + properties: + attributes: + $ref: '#/components/schemas/OrgGroupMembershipAttributes' + id: + description: The ID of the org group membership. + example: f1e2d3c4-b5a6-7890-1234-567890abcdef + format: uuid + type: string + relationships: + $ref: '#/components/schemas/OrgGroupMembershipRelationships' + type: + $ref: '#/components/schemas/OrgGroupMembershipType' + required: + - id + - type + - attributes + type: object + OrgGroupPaginationLinks: + description: Pagination links for navigating between pages of an org group list response. + properties: + first: + description: Link to the first page. + type: string + last: + description: Link to the last page. + type: string + next: + description: Link to the next page. + nullable: true + type: string + prev: + description: Link to the previous page. + nullable: true + type: string + self: + description: Link to the current page. + type: string + type: object + OrgGroupPaginationMeta: + description: Pagination metadata for org group list responses. + properties: + page: + $ref: '#/components/schemas/OrgGroupPaginationMetaPage' + type: object + OrgGroupMembershipBulkUpdateData: + description: Data for bulk updating org group memberships. + properties: + attributes: + $ref: '#/components/schemas/OrgGroupMembershipBulkUpdateAttributes' + relationships: + $ref: '#/components/schemas/OrgGroupMembershipBulkUpdateRelationships' + type: + $ref: '#/components/schemas/OrgGroupMembershipBulkUpdateType' + required: + - type + - attributes + - relationships + type: object + OrgGroupMembershipUpdateData: + description: Data for updating an org group membership. + properties: + id: + description: The ID of the membership. + example: f1e2d3c4-b5a6-7890-1234-567890abcdef + format: uuid + type: string + relationships: + $ref: '#/components/schemas/OrgGroupMembershipUpdateRelationships' + type: + $ref: '#/components/schemas/OrgGroupMembershipType' + required: + - id + - type + - relationships + type: object + OrgGroupPolicySortOption: + default: id + description: Field to sort policies by. + enum: + - id + - '-id' + - name + - '-name' + example: id + type: string + x-enum-varnames: + - ID + - MINUS_ID + - NAME + - MINUS_NAME + OrgGroupPolicyData: + description: An org group policy resource. + properties: + attributes: + $ref: '#/components/schemas/OrgGroupPolicyAttributes' + id: + description: The ID of the org group policy. + example: 1a2b3c4d-5e6f-7890-abcd-ef0123456789 + format: uuid + type: string + relationships: + $ref: '#/components/schemas/OrgGroupPolicyRelationships' + type: + $ref: '#/components/schemas/OrgGroupPolicyType' + required: + - id + - type + - attributes + type: object + OrgGroupPolicyCreateData: + description: Data for creating an org group policy. + properties: + attributes: + $ref: '#/components/schemas/OrgGroupPolicyCreateAttributes' + relationships: + $ref: '#/components/schemas/OrgGroupPolicyCreateRelationships' + type: + $ref: '#/components/schemas/OrgGroupPolicyType' + required: + - type + - attributes + - relationships + type: object + OrgGroupPolicyUpdateData: + description: Data for updating an org group policy. + properties: + attributes: + $ref: '#/components/schemas/OrgGroupPolicyUpdateAttributes' + id: + description: The ID of the policy. + example: 1a2b3c4d-5e6f-7890-abcd-ef0123456789 + format: uuid + type: string + type: + $ref: '#/components/schemas/OrgGroupPolicyType' + required: + - id + - type + - attributes + type: object + OrgGroupPolicyConfigData: + description: An org group policy config resource. + properties: + attributes: + $ref: '#/components/schemas/OrgGroupPolicyConfigAttributes' + id: + description: The identifier of the policy config (uses the config name). + example: monitor_timezone + type: string + type: + $ref: '#/components/schemas/OrgGroupPolicyConfigType' + required: + - id + - type + - attributes + type: object + OrgGroupPolicyOverrideSortOption: + default: id + description: Field to sort overrides by. + enum: + - id + - '-id' + - org_uuid + - '-org_uuid' + example: id + type: string + x-enum-varnames: + - ID + - MINUS_ID + - ORG_UUID + - MINUS_ORG_UUID + OrgGroupPolicyOverrideData: + description: An org group policy override resource. + properties: + attributes: + $ref: '#/components/schemas/OrgGroupPolicyOverrideAttributes' + id: + description: The ID of the policy override. + example: 9f8e7d6c-5b4a-3210-fedc-ba0987654321 + format: uuid + type: string + relationships: + $ref: '#/components/schemas/OrgGroupPolicyOverrideRelationships' + type: + $ref: '#/components/schemas/OrgGroupPolicyOverrideType' + required: + - id + - type + - attributes + type: object + OrgGroupPolicyOverrideCreateData: + description: Data for creating an org group policy override. + properties: + attributes: + $ref: '#/components/schemas/OrgGroupPolicyOverrideCreateAttributes' + relationships: + $ref: '#/components/schemas/OrgGroupPolicyOverrideCreateRelationships' + type: + $ref: '#/components/schemas/OrgGroupPolicyOverrideType' + required: + - type + - attributes + - relationships + type: object + OrgGroupPolicyOverrideUpdateData: + description: Data for updating a policy override. + properties: + attributes: + $ref: '#/components/schemas/OrgGroupPolicyOverrideUpdateAttributes' + id: + description: The ID of the policy override. + example: 9f8e7d6c-5b4a-3210-fedc-ba0987654321 + format: uuid + type: string + type: + $ref: '#/components/schemas/OrgGroupPolicyOverrideType' + required: + - id + - type + - attributes + type: object + OrgGroupPolicySuggestionData: + description: An org group policy suggestion resource. + properties: + attributes: + $ref: '#/components/schemas/OrgGroupPolicySuggestionAttributes' + id: + description: The ID of the org group policy suggestion. + example: 1a2b3c4d-5e6f-7890-abcd-ef0123456789 + type: string + relationships: + $ref: '#/components/schemas/OrgGroupPolicySuggestionRelationships' + type: + $ref: '#/components/schemas/OrgGroupPolicySuggestionType' + required: + - id + - type + - attributes + type: object + OrgGroupSortOption: + default: uuid + description: Field to sort org groups by. + enum: + - name + - '-name' + - uuid + - '-uuid' + example: name + type: string + x-enum-varnames: + - NAME + - MINUS_NAME + - UUID + - MINUS_UUID + OrgGroupData: + description: An org group resource. + properties: + attributes: + $ref: '#/components/schemas/OrgGroupAttributes' + id: + description: The ID of the org group. + example: a1b2c3d4-e5f6-7890-abcd-ef0123456789 + format: uuid + type: string + type: + $ref: '#/components/schemas/OrgGroupType' + required: + - id + - type + - attributes + type: object + OrgGroupCreateData: + description: Data for creating an org group. + properties: + attributes: + $ref: '#/components/schemas/OrgGroupCreateAttributes' + type: + $ref: '#/components/schemas/OrgGroupType' + required: + - type + - attributes + type: object + OrgGroupUpdateData: + description: Data for updating an org group. + properties: + attributes: + $ref: '#/components/schemas/OrgGroupUpdateAttributes' + id: + description: The ID of the org group. + example: a1b2c3d4-e5f6-7890-abcd-ef0123456789 + format: uuid + type: string + type: + $ref: '#/components/schemas/OrgGroupType' + required: + - id + - type + - attributes + type: object + Permission: + description: Permission object. + properties: + attributes: + $ref: '#/components/schemas/PermissionAttributes' + id: + description: ID of the permission. + type: string + type: + $ref: '#/components/schemas/PermissionsType' + required: + - type + type: object + PersonalAccessTokensSort: + default: name + description: Sorting options + enum: + - name + - '-name' + - created_at + - '-created_at' + - expires_at + - '-expires_at' + - last_used_at + - '-last_used_at' + type: string + x-enum-varnames: + - NAME_ASCENDING + - NAME_DESCENDING + - CREATED_AT_ASCENDING + - CREATED_AT_DESCENDING + - EXPIRES_AT_ASCENDING + - EXPIRES_AT_DESCENDING + - LAST_USED_AT_ASCENDING + - LAST_USED_AT_DESCENDING + AccessTokenListItem: + description: An access token entry returned by the personal access tokens list endpoint. May represent either a personal or a service access token. + properties: + attributes: + $ref: '#/components/schemas/PersonalAccessTokenAttributes' + id: + description: ID of the access token. + type: string + relationships: + $ref: '#/components/schemas/AccessTokenListItemRelationships' + type: + $ref: '#/components/schemas/AccessTokensType' + type: object + PersonalAccessTokenResponseMeta: + description: Additional information related to the access token response. + properties: + page: + $ref: '#/components/schemas/PersonalAccessTokenResponseMetaPage' + type: object + PersonalAccessTokenCreateData: + description: Object used to create an access token. + properties: + attributes: + $ref: '#/components/schemas/PersonalAccessTokenCreateAttributes' + type: + $ref: '#/components/schemas/PersonalAccessTokensType' + required: + - attributes + - type + type: object + FullPersonalAccessToken: + description: Datadog access token, including the token key. + properties: + attributes: + $ref: '#/components/schemas/FullPersonalAccessTokenAttributes' + id: + description: ID of the access token. + type: string + relationships: + $ref: '#/components/schemas/PersonalAccessTokenRelationships' + type: + $ref: '#/components/schemas/PersonalAccessTokensType' + type: object + PersonalAccessToken: + description: Datadog access token. + properties: + attributes: + $ref: '#/components/schemas/PersonalAccessTokenAttributes' + id: + description: ID of the access token. + type: string + relationships: + $ref: '#/components/schemas/PersonalAccessTokenRelationships' + type: + $ref: '#/components/schemas/PersonalAccessTokensType' + type: object + PersonalAccessTokenUpdateData: + description: Object used to update an access token. + properties: + attributes: + $ref: '#/components/schemas/PersonalAccessTokenUpdateAttributes' + id: + description: ID of the access token. + example: 00112233-4455-6677-8899-aabbccddeeff + type: string + type: + $ref: '#/components/schemas/PersonalAccessTokensType' + required: + - attributes + - id + - type + type: object + RestrictionPolicy: + description: Restriction policy object. + properties: + attributes: + $ref: '#/components/schemas/RestrictionPolicyAttributes' + id: + description: The identifier, always equivalent to the value specified in the `resource_id` path parameter. + example: dashboard:abc-def-ghi + type: string + type: + $ref: '#/components/schemas/RestrictionPolicyType' + required: + - type + - id + - attributes + type: object + Role: + description: Role object returned by the API. + properties: + attributes: + $ref: '#/components/schemas/RoleAttributes' + id: + description: The unique identifier of the role. + type: string + relationships: + $ref: '#/components/schemas/RoleResponseRelationships' + type: + $ref: '#/components/schemas/RolesType' + required: + - type + type: object + RoleCreateData: + description: Data related to the creation of a role. + properties: + attributes: + $ref: '#/components/schemas/RoleCreateAttributes' + relationships: + $ref: '#/components/schemas/RoleRelationships' + type: + $ref: '#/components/schemas/RolesType' + required: + - attributes + type: object + RoleCreateResponseData: + description: Role object returned by the API. + properties: + attributes: + $ref: '#/components/schemas/RoleCreateAttributes' + id: + description: The unique identifier of the role. + type: string + relationships: + $ref: '#/components/schemas/RoleResponseRelationships' + type: + $ref: '#/components/schemas/RolesType' + required: + - type + type: object + RoleTemplateData: + description: The definition of `RoleTemplateData` object. + properties: + attributes: + $ref: '#/components/schemas/RoleTemplateDataAttributes' + id: + description: The `RoleTemplateData` `id`. + type: string + type: + $ref: '#/components/schemas/RoleTemplateDataType' + required: + - type + type: object + RoleUpdateData: + description: Data related to the update of a role. + properties: + attributes: + $ref: '#/components/schemas/RoleUpdateAttributes' + id: + description: The unique identifier of the role. + example: 00000000-0000-1111-0000-000000000000 + type: string + relationships: + $ref: '#/components/schemas/RoleRelationships' + type: + $ref: '#/components/schemas/RolesType' + required: + - attributes + - type + - id + type: object + RoleUpdateResponseData: + description: Role object returned by the API. + properties: + attributes: + $ref: '#/components/schemas/RoleUpdateAttributes' + id: + description: The unique identifier of the role. + type: string + relationships: + $ref: '#/components/schemas/RoleResponseRelationships' + type: + $ref: '#/components/schemas/RolesType' + required: + - type + type: object + RoleClone: + description: Data for the clone role request. + properties: + attributes: + $ref: '#/components/schemas/RoleCloneAttributes' + type: + $ref: '#/components/schemas/RolesType' + required: + - type + - attributes + type: object + RelationshipToPermissionData: + description: Relationship to permission object. + properties: + id: + description: ID of the permission. + type: string + type: + $ref: '#/components/schemas/PermissionsType' + type: object + RelationshipToUserData: + description: Relationship to user object. + properties: + id: + description: A unique identifier that represents the user. + example: 00000000-0000-0000-2345-000000000000 + type: string + type: + $ref: '#/components/schemas/UsersType' + required: + - id + - type + type: object + SAMLConfiguration: + description: A SAML configuration object. + properties: + attributes: + $ref: '#/components/schemas/SAMLConfigurationAttributes' + id: + description: The UUID of the SAML configuration. + example: 3653d3c6-0c75-11ea-ad28-fb5701eabc7d + type: string + relationships: + $ref: '#/components/schemas/SAMLConfigurationRelationships' + type: + $ref: '#/components/schemas/SAMLConfigurationsType' + required: + - id + - type + type: object + SAMLConfigurationUpdateData: + description: Data for updating a SAML configuration. + properties: + attributes: + $ref: '#/components/schemas/SAMLConfigurationUpdateAttributes' + id: + description: The UUID of the SAML configuration to update. Must match the UUID in the URL path. + example: 3653d3c6-0c75-11ea-ad28-fb5701eabc7d + maxLength: 39 + type: string + relationships: + $ref: '#/components/schemas/SAMLConfigurationRelationships' + type: + $ref: '#/components/schemas/SAMLConfigurationsType' + required: + - id + - type + type: object + UnassignSeatsUserRequestData: + description: The request data object containing attributes for unassigning seats from users. + properties: + attributes: + $ref: '#/components/schemas/UnassignSeatsUserRequestDataAttributes' + description: The attributes of the unassign seats user request. + id: + description: The ID of the unassign seats user request. + type: string + type: + $ref: '#/components/schemas/SeatAssignmentsDataType' + description: The type of the unassign seats user request. + required: + - type + - attributes + type: object + SeatUserData: + description: A seat user resource object containing its ID, type, and associated attributes. + properties: + attributes: + $ref: '#/components/schemas/SeatUserDataAttributes' + description: The attributes of the seat user. + id: + description: The ID of the seat user. + example: 00000000-0000-0000-0000-000000000000 + nullable: true + type: string + type: + $ref: '#/components/schemas/SeatUserDataType' + type: object + SeatUserMeta: + description: Pagination metadata for the seat users list response. + properties: + cursor: + description: The cursor for the seat users. + type: string + limit: + description: The limit for the seat users. + format: int64 + type: integer + next_cursor: + description: The next cursor for the seat users. + type: string + type: object + AssignSeatsUserRequestData: + description: The request data object containing attributes for assigning seats to users. + properties: + attributes: + $ref: '#/components/schemas/AssignSeatsUserRequestDataAttributes' + description: The attributes of the assign seats user request. + id: + description: The ID of the assign seats user request. + type: string + type: + $ref: '#/components/schemas/SeatAssignmentsDataType' + description: The type of the assign seats user request. + required: + - type + - attributes + type: object + AssignSeatsUserResponseData: + description: The response data object containing attributes of the seat assignment result. + properties: + attributes: + $ref: '#/components/schemas/AssignSeatsUserResponseDataAttributes' + description: The attributes of the assign seats user response. + id: + description: The ID of the assign seats user response. + type: string + type: + $ref: '#/components/schemas/SeatAssignmentsDataType' + type: object + ServiceAccountCreateData: + description: Object to create a service account User. + properties: + attributes: + $ref: '#/components/schemas/ServiceAccountCreateAttributes' + relationships: + $ref: '#/components/schemas/UserRelationships' + type: + $ref: '#/components/schemas/UsersType' + required: + - attributes + - type + type: object + ServiceAccessToken: + description: Datadog access token. + properties: + attributes: + $ref: '#/components/schemas/ServiceAccessTokenAttributes' + id: + description: ID of the access token. + type: string + relationships: + $ref: '#/components/schemas/ServiceAccessTokenRelationships' + type: + $ref: '#/components/schemas/ServiceAccessTokensType' + type: object + ServiceAccessTokenResponseMeta: + description: Additional information related to the access token response. + properties: + page: + $ref: '#/components/schemas/ServiceAccessTokenResponseMetaPage' + type: object + ServiceAccountAccessTokenCreateData: + description: Object used to create a service account access token. + properties: + attributes: + $ref: '#/components/schemas/ServiceAccountAccessTokenCreateAttributes' + type: + $ref: '#/components/schemas/ServiceAccessTokensType' + required: + - attributes + - type + type: object + FullServiceAccessToken: + description: Datadog access token, including the token key. + properties: + attributes: + $ref: '#/components/schemas/FullServiceAccessTokenAttributes' + id: + description: ID of the access token. + type: string + relationships: + $ref: '#/components/schemas/ServiceAccessTokenRelationships' + type: + $ref: '#/components/schemas/ServiceAccessTokensType' + type: object + ServiceAccountAccessTokenUpdateData: + description: Object used to update a service account access token. + properties: + attributes: + $ref: '#/components/schemas/ServiceAccountAccessTokenUpdateAttributes' + id: + description: ID of the access token. + example: 00112233-4455-6677-8899-aabbccddeeff + type: string + type: + $ref: '#/components/schemas/ServiceAccessTokensType' + required: + - attributes + - id + - type + type: object + Team: + description: A team + properties: + attributes: + $ref: '#/components/schemas/TeamAttributes' + id: + description: The team's identifier + example: aeadc05e-98a8-11ec-ac2c-da7ad0900001 + type: string + relationships: + $ref: '#/components/schemas/TeamRelationships' + type: + $ref: '#/components/schemas/TeamType' + required: + - attributes + - id + - type + type: object + TeamIncluded: + description: Included resources related to the team + properties: + attributes: + $ref: '#/components/schemas/UserAttributes' + id: + description: ID of the user. + type: string + relationships: + $ref: '#/components/schemas/UserResponseRelationships' + type: + $ref: '#/components/schemas/UsersType' + type: object + required: + - attributes + - id + - type + TeamsResponseLinks: + description: Teams response links. + properties: + first: + description: First link. + type: string + last: + description: Last link. + nullable: true + type: string + next: + description: Next link. + type: string + prev: + description: Previous link. + nullable: true + type: string + self: + description: Current link. + type: string + type: object + TeamsResponseMeta: + description: Teams response metadata. + properties: + pagination: + $ref: '#/components/schemas/TeamsResponseMetaPagination' + type: object + TeamCreate: + description: Team create + properties: + attributes: + $ref: '#/components/schemas/TeamCreateAttributes' + relationships: + $ref: '#/components/schemas/TeamCreateRelationships' + type: + $ref: '#/components/schemas/TeamType' + required: + - attributes + - type + type: object + TeamHierarchyLink: + description: Team hierarchy link + properties: + attributes: + $ref: '#/components/schemas/TeamHierarchyLinkAttributes' + id: + description: The team hierarchy link's identifier + example: b8626d7e-cedd-11eb-abf5-da7ad0900001 + type: string + relationships: + $ref: '#/components/schemas/TeamHierarchyLinkRelationships' + type: + $ref: '#/components/schemas/TeamHierarchyLinkType' + required: + - attributes + - id + - type + type: object + TeamHierarchyLinkTeam: + description: Team hierarchy links connect different teams. This represents team objects that are connected by the team hierarchy link. + properties: + attributes: + $ref: '#/components/schemas/TeamHierarchyLinkTeamAttributes' + id: + description: The team's identifier + example: 692e8073-12c4-4c71-8408-5090bd44c9c8 + type: string + type: + $ref: '#/components/schemas/TeamType' + required: + - id + - type + type: object + TeamsHierarchyLinksResponseLinks: + description: When querying team hierarchy links, a set of links for navigation between different pages is included + properties: + first: + description: Link to the first page. + nullable: true + type: string + last: + description: Link to the last page. + nullable: true + type: string + next: + description: Link to the next page. + nullable: true + type: string + prev: + description: Link to the previous page. + nullable: true + type: string + self: + description: Link to the current object. + type: string + type: object + TeamsHierarchyLinksResponseMeta: + description: Metadata that is included in the response when querying the team hierarchy links + properties: + page: + $ref: '#/components/schemas/TeamsHierarchyLinksResponseMetaPage' + type: object + TeamHierarchyLinkCreate: + description: Data provided when creating a team hierarchy link + properties: + relationships: + $ref: '#/components/schemas/TeamHierarchyLinkCreateRelationships' + type: + $ref: '#/components/schemas/TeamHierarchyLinkType' + required: + - relationships + - type + type: object + TeamConnectionDeleteRequestDataItem: + description: A collection of connection ids to delete. + properties: + id: + description: The unique identifier of the team connection to delete. + example: 12345678-1234-5678-9abc-123456789012 + type: string + type: + $ref: '#/components/schemas/TeamConnectionType' + required: + - id + - type + type: object + TeamConnection: + description: A relationship between a Datadog team and a team from another external system. + properties: + attributes: + $ref: '#/components/schemas/TeamConnectionAttributes' + id: + description: The unique identifier of the team connection. + example: 12345678-1234-5678-9abc-123456789012 + type: string + relationships: + $ref: '#/components/schemas/TeamConnectionRelationships' + type: + $ref: '#/components/schemas/TeamConnectionType' + required: + - id + - type + type: object + ConnectionsResponseMeta: + description: Connections response metadata. + properties: + page: + $ref: '#/components/schemas/ConnectionsPagePagination' + type: object + TeamConnectionCreateData: + description: Data for creating a team connection. + properties: + attributes: + $ref: '#/components/schemas/TeamConnectionAttributes' + relationships: + $ref: '#/components/schemas/TeamConnectionRelationships' + type: + $ref: '#/components/schemas/TeamConnectionType' + required: + - type + type: object + TeamSyncData: + description: A configuration governing syncing between Datadog teams and teams from an external system. + properties: + attributes: + $ref: '#/components/schemas/TeamSyncAttributes' + id: + description: The sync's identifier + example: aeadc05e-98a8-11ec-ac2c-da7ad0900001 + type: string + type: + $ref: '#/components/schemas/TeamSyncBulkType' + required: + - attributes + - type + type: object + MemberTeam: + description: A member team properties: - data: - $ref: '#/components/schemas/AuthNMappingUpdateData' + id: + description: The member team's identifier + example: aeadc05e-98a8-11ec-ac2c-da7ad0900001 + type: string + type: + $ref: '#/components/schemas/MemberTeamType' + required: + - id + - type + type: object + TeamUpdate: + description: Team update request + properties: + attributes: + $ref: '#/components/schemas/TeamUpdateAttributes' + relationships: + $ref: '#/components/schemas/TeamUpdateRelationships' + type: + $ref: '#/components/schemas/TeamType' + required: + - attributes + - type + type: object + TeamLink: + description: Team link + properties: + attributes: + $ref: '#/components/schemas/TeamLinkAttributes' + id: + description: The team link's identifier + example: b8626d7e-cedd-11eb-abf5-da7ad0900001 + type: string + type: + $ref: '#/components/schemas/TeamLinkType' + required: + - attributes + - id + - type + type: object + TeamLinkCreate: + description: Team link create + properties: + attributes: + $ref: '#/components/schemas/TeamLinkAttributes' + type: + $ref: '#/components/schemas/TeamLinkType' + required: + - attributes + - type + type: object + UserTeam: + description: A user's relationship with a team + properties: + attributes: + $ref: '#/components/schemas/UserTeamAttributes' + id: + description: The ID of a user's relationship with a team + example: TeamMembership-aeadc05e-98a8-11ec-ac2c-da7ad0900001-38835 + type: string + relationships: + $ref: '#/components/schemas/UserTeamRelationships' + type: + $ref: '#/components/schemas/UserTeamType' + required: + - id + - type + type: object + UserTeamIncluded: + description: Included resources related to the team membership + properties: + attributes: + $ref: '#/components/schemas/UserAttributes' + id: + description: ID of the user. + type: string + relationships: + $ref: '#/components/schemas/UserResponseRelationships' + type: + $ref: '#/components/schemas/UsersType' + type: object + required: + - attributes + - id + - type + UserTeamCreate: + description: A user's relationship with a team + properties: + attributes: + $ref: '#/components/schemas/UserTeamAttributes' + relationships: + $ref: '#/components/schemas/UserTeamRelationships' + type: + $ref: '#/components/schemas/UserTeamType' + required: + - type + type: object + UserTeamUpdate: + description: A user's relationship with a team + properties: + attributes: + $ref: '#/components/schemas/UserTeamAttributes' + type: + $ref: '#/components/schemas/UserTeamType' + required: + - type + type: object + TeamNotificationRule: + description: Team notification rule + properties: + attributes: + $ref: '#/components/schemas/TeamNotificationRuleAttributes' + id: + description: The identifier of the team notification rule + example: b8626d7e-cedd-11eb-abf5-da7ad0900001 + type: string + type: + $ref: '#/components/schemas/TeamNotificationRuleType' + required: + - attributes + - type + type: object + TeamNotificationRulesResponseMeta: + description: Metadata that is included in the response when querying the team notification rules + properties: + page: + $ref: '#/components/schemas/TeamNotificationRulesResponseMetaPage' + type: object + TeamPermissionSetting: + description: Team permission setting + properties: + attributes: + $ref: '#/components/schemas/TeamPermissionSettingAttributes' + id: + description: The team permission setting's identifier + example: TeamPermission-aeadc05e-98a8-11ec-ac2c-da7ad0900001-edit + type: string + type: + $ref: '#/components/schemas/TeamPermissionSettingType' + required: + - id + - type + type: object + TeamPermissionSettingUpdate: + description: Team permission setting update + properties: + attributes: + $ref: '#/components/schemas/TeamPermissionSettingUpdateAttributes' + type: + $ref: '#/components/schemas/TeamPermissionSettingType' + required: + - type + type: object + UsageDataObject: + description: Usage data. + properties: + attributes: + $ref: '#/components/schemas/UsageAttributesObject' + id: + description: Unique ID of the response. + type: string + type: + $ref: '#/components/schemas/UsageTimeSeriesType' + type: object + BillingDimensionsMappingBody: + description: Billing dimensions mapping data. + items: + $ref: '#/components/schemas/BillingDimensionsMappingBodyItem' + type: array + CostByOrg: + description: Cost data. + properties: + attributes: + $ref: '#/components/schemas/CostByOrgAttributes' + id: + description: Unique ID of the response. + type: string + type: + $ref: '#/components/schemas/CostByOrgType' + type: object + HourlyUsage: + description: Hourly usage for a product family for an org. + properties: + attributes: + $ref: '#/components/schemas/HourlyUsageAttributes' + id: + description: Unique ID of the response. + type: string + type: + $ref: '#/components/schemas/UsageTimeSeriesType' + type: object + HourlyUsageMetadata: + description: The object containing document metadata. + properties: + pagination: + $ref: '#/components/schemas/HourlyUsagePagination' + type: object + ProjectedCost: + description: Projected Cost data. + properties: + attributes: + $ref: '#/components/schemas/ProjectedCostAttributes' + id: + description: Unique ID of the response. + type: string + type: + $ref: '#/components/schemas/ProjectedCostType' + type: object + UsageSummaryAvailableFieldsBody: + description: Available-fields data. + properties: + attributes: + $ref: '#/components/schemas/UsageSummaryAvailableFieldsAttributes' + id: + description: The identifier for the discovery scope. Always `"all"`. + example: all + type: string + type: + $ref: '#/components/schemas/UsageSummaryAvailableFieldsType' + type: object + UsageAttributionTypesBody: + description: Usage attribution types data. + properties: + attributes: + $ref: '#/components/schemas/UsageAttributionTypesAttributes' + id: + description: Unique ID of the response. + type: string + type: + $ref: '#/components/schemas/UsageAttributionTypesType' + type: object + UserAuthorizedClientData: + description: Data object representing a user authorized client. + properties: + attributes: + $ref: '#/components/schemas/UserAuthorizedClientAttributes' + id: + description: The unique identifier of the user authorized client. + example: 00000000-0000-0000-0000-000000000001 + type: string + relationships: + $ref: '#/components/schemas/UserAuthorizedClientRelationships' + type: + $ref: '#/components/schemas/UserAuthorizedClientType' + required: + - id + - type + - attributes + - relationships + type: object + UserInvitationData: + description: Object to create a user invitation. + properties: + relationships: + $ref: '#/components/schemas/UserInvitationRelationships' + type: + $ref: '#/components/schemas/UserInvitationsType' + required: + - type + - relationships + type: object + UserInvitationResponseData: + description: Object of a user invitation returned by the API. + properties: + attributes: + $ref: '#/components/schemas/UserInvitationDataAttributes' + id: + description: ID of the user invitation. + type: string + relationships: + $ref: '#/components/schemas/UserInvitationRelationships' + type: + $ref: '#/components/schemas/UserInvitationsType' + type: object + UserCreateData: + description: Object to create a user. + properties: + attributes: + $ref: '#/components/schemas/UserCreateAttributes' + relationships: + $ref: '#/components/schemas/UserRelationships' + type: + $ref: '#/components/schemas/UsersType' required: - - data + - attributes + - type type: object - ApplicationKeyCreateRequest: - description: Request used to create an application key. + UserOverrideIdentityProviderDataList: + description: List of user identity provider override data objects. + items: + $ref: '#/components/schemas/UserOverrideIdentityProviderData' + type: array + UserRelationshipIdentityProviderDataList: + description: List of identity provider resource identifiers for a relationship update. + items: + $ref: '#/components/schemas/UserRelationshipIdentityProviderData' + type: array + ValidateV2Data: + description: Data object containing the API key validation result. properties: - data: - $ref: '#/components/schemas/ApplicationKeyCreateData' + attributes: + $ref: '#/components/schemas/ValidateV2Attributes' + id: + description: The UUID of the organization associated with the API key. + example: 550e8400-e29b-41d4-a716-446655440000 + type: string + type: + $ref: '#/components/schemas/ValidateV2Type' required: - - data + - id + - type + - attributes type: object - CreateDataDeletionRequestBody: - description: Object needed to create a data deletion request. + ValidateAPIKeyStatus: + description: Status of the validation. Always `ok` when both the API key and the application key are valid. + enum: + - ok + example: ok + type: string + x-enum-varnames: + - OK + IPPrefixesAgents: + description: Available prefix information for the Agent endpoints. properties: - data: - $ref: '#/components/schemas/CreateDataDeletionRequestBodyData' - required: - - data + prefixes_ipv4: + description: List of IPv4 prefixes. + items: + description: IPv4 prefix + type: string + type: array + prefixes_ipv6: + description: List of IPv6 prefixes. + items: + description: IPv6 prefix + type: string + type: array type: object - CreateDataDeletionResponseBody: - description: The response from the create data deletion request endpoint. + IPPrefixesAPI: + description: Available prefix information for the API endpoints. properties: - data: - $ref: '#/components/schemas/DataDeletionResponseItem' - meta: - $ref: '#/components/schemas/DataDeletionResponseMeta' + prefixes_ipv4: + description: List of IPv4 prefixes. + items: + description: IPv4 prefix + type: string + type: array + prefixes_ipv6: + description: List of IPv6 prefixes. + items: + description: IPv6 prefix + type: string + type: array type: object - GetDataDeletionsResponseBody: - description: The response from the get data deletion requests endpoint. + IPPrefixesAPM: + description: Available prefix information for the APM endpoints. properties: - data: - description: The list of data deletion requests that matches the query. + prefixes_ipv4: + description: List of IPv4 prefixes. items: - $ref: '#/components/schemas/DataDeletionResponseItem' + description: IPv4 prefix + type: string + type: array + prefixes_ipv6: + description: List of IPv6 prefixes. + items: + description: IPv6 prefix + type: string type: array - meta: - $ref: '#/components/schemas/DataDeletionResponseMeta' type: object - CancelDataDeletionResponseBody: - description: The response from the cancel data deletion request endpoint. + IPPrefixesGlobal: + description: Available prefix information for all Datadog endpoints. properties: - data: - $ref: '#/components/schemas/DataDeletionResponseItem' - meta: - $ref: '#/components/schemas/DataDeletionResponseMeta' + prefixes_ipv4: + description: List of IPv4 prefixes. + items: + description: IPv4 prefix + type: string + type: array + prefixes_ipv6: + description: List of IPv6 prefixes. + items: + description: IPv6 prefix + type: string + type: array type: object - DomainAllowlistResponse: - description: Response containing information about the email domain allowlist. + IPPrefixesLogs: + description: Available prefix information for the Logs endpoints. properties: - data: - $ref: '#/components/schemas/DomainAllowlistResponseData' + prefixes_ipv4: + description: List of IPv4 prefixes. + items: + description: IPv4 prefix + type: string + type: array + prefixes_ipv6: + description: List of IPv6 prefixes. + items: + description: IPv6 prefix + type: string + type: array type: object - DomainAllowlistRequest: - description: Request containing the desired email domain allowlist configuration. + IPPrefixesOrchestrator: + description: Available prefix information for the Orchestrator endpoints. properties: - data: - $ref: '#/components/schemas/DomainAllowlist' - required: - - data + prefixes_ipv4: + description: List of IPv4 prefixes. + items: + description: IPv4 prefix + type: string + type: array + prefixes_ipv6: + description: List of IPv6 prefixes. + items: + description: IPv6 prefix + type: string + type: array type: object - IPAllowlistResponse: - description: Response containing information about the IP allowlist. + IPPrefixesProcess: + description: Available prefix information for the Process endpoints. properties: - data: - $ref: '#/components/schemas/IPAllowlistData' + prefixes_ipv4: + description: List of IPv4 prefixes. + items: + description: IPv4 prefix + type: string + type: array + prefixes_ipv6: + description: List of IPv6 prefixes. + items: + description: IPv6 prefix + type: string + type: array + type: object + IPPrefixesRemoteConfiguration: + description: Available prefix information for the Remote Configuration endpoints. + properties: + prefixes_ipv4: + description: List of IPv4 prefixes. + items: + description: IPv4 prefix + type: string + type: array + prefixes_ipv6: + description: List of IPv6 prefixes. + items: + description: IPv6 prefix + type: string + type: array + type: object + IPPrefixesSynthetics: + description: Available prefix information for the Synthetics endpoints. + properties: + prefixes_ipv4: + description: List of IPv4 prefixes. + items: + description: IPv4 prefix + type: string + type: array + prefixes_ipv4_by_location: + additionalProperties: + description: List of IPv4 prefixes. + items: + description: IPv4 prefix. + type: string + type: array + description: List of IPv4 prefixes by location. + type: object + prefixes_ipv6: + description: List of IPv6 prefixes. + items: + description: IPv6 prefix + type: string + type: array + prefixes_ipv6_by_location: + additionalProperties: + description: List of IPv6 prefixes. + items: + description: IPv6 prefix. + type: string + type: array + description: List of IPv6 prefixes by location. + type: object + type: object + IPPrefixesSyntheticsPrivateLocations: + description: Available prefix information for the Synthetics Private Locations endpoints. + properties: + prefixes_ipv4: + description: List of IPv4 prefixes. + items: + description: IPv4 prefix + type: string + type: array + prefixes_ipv6: + description: List of IPv6 prefixes. + items: + description: IPv6 prefix + type: string + type: array + type: object + IPPrefixesWebhooks: + description: Available prefix information for the Webhook endpoints. + properties: + prefixes_ipv4: + description: List of IPv4 prefixes. + items: + description: IPv4 prefix + type: string + type: array + prefixes_ipv6: + description: List of IPv6 prefixes. + items: + description: IPv6 prefix + type: string + type: array + type: object + UsageCustomReportsData: + description: The response containing the date and type for custom reports. + properties: + attributes: + $ref: '#/components/schemas/UsageCustomReportsAttributes' + id: + description: The date for specified custom reports. + type: string + type: + $ref: '#/components/schemas/UsageReportsType' + type: object + UsageCustomReportsMeta: + description: The object containing document metadata. + properties: + page: + $ref: '#/components/schemas/UsageCustomReportsPage' + type: object + UsageSpecifiedCustomReportsData: + description: Response containing date and type for specified custom reports. + properties: + attributes: + $ref: '#/components/schemas/UsageSpecifiedCustomReportsAttributes' + id: + description: The date for specified custom reports. + type: string + type: + $ref: '#/components/schemas/UsageReportsType' + type: object + UsageSpecifiedCustomReportsMeta: + description: The object containing document metadata. + properties: + page: + $ref: '#/components/schemas/UsageSpecifiedCustomReportsPage' + type: object + OrganizationBilling: + deprecated: true + description: A JSON array of billing type. + example: + type: parent_billing + properties: + type: + description: The type of billing. Only `parent_billing` is supported. + type: string + type: object + OrganizationSubscription: + deprecated: true + description: Subscription definition. + example: + type: pro + properties: + type: + description: The subscription type. Types available are `trial`, `free`, and `pro`. + type: string + type: object + OrganizationSettings: + description: A JSON array of settings. + properties: + private_widget_share: + description: Whether or not the organization users can share widgets outside of Datadog. + example: false + type: boolean + saml: + $ref: '#/components/schemas/OrganizationSettingsSaml' + saml_autocreate_access_role: + $ref: '#/components/schemas/AccessRole' + saml_autocreate_users_domains: + $ref: '#/components/schemas/OrganizationSettingsSamlAutocreateUsersDomains' + saml_can_be_enabled: + description: Whether or not SAML can be enabled for this organization. + example: false + type: boolean + saml_idp_endpoint: + description: Identity provider endpoint for SAML authentication. + example: https://my.saml.endpoint + type: string + saml_idp_initiated_login: + $ref: '#/components/schemas/OrganizationSettingsSamlIdpInitiatedLogin' + saml_idp_metadata_uploaded: + description: Whether or not a SAML identity provider metadata file was provided to the Datadog organization. + example: false + type: boolean + saml_login_url: + description: URL for SAML logging. + example: https://my.saml.login.url + type: string + saml_strict_mode: + $ref: '#/components/schemas/OrganizationSettingsSamlStrictMode' + type: object + UsageAnalyzedLogsHour: + description: The number of analyzed logs for each hour for a given organization. + properties: + analyzed_logs: + description: Contains the number of analyzed logs. + format: int64 + nullable: true + type: integer + hour: + description: The hour for the usage. + format: date-time + type: string + org_name: + description: The organization name. + type: string + public_id: + description: The organization public ID. + type: string + type: object + UsageAuditLogsHour: + description: Audit logs usage for a given organization for a given hour. + properties: + hour: + description: The hour for the usage. + format: date-time + type: string + lines_indexed: + description: The total number of audit logs lines indexed during a given hour. + format: int64 + nullable: true + type: integer + org_name: + description: The organization name. + type: string + public_id: + description: The organization public ID. + type: string + type: object + UsageLambdaHour: + description: |- + Number of Lambda functions and sum of the invocations of all Lambda functions + for each hour for a given organization. + properties: + func_count: + description: Contains the number of different functions for each region and AWS account. + format: int64 + nullable: true + type: integer + hour: + description: The hour for the usage. + format: date-time + type: string + invocations_sum: + description: Contains the sum of invocations of all functions. + format: int64 + nullable: true + type: integer + org_name: + description: The organization name. + type: string + public_id: + description: The organization public ID. + type: string + type: object + UsageBillableSummaryHour: + description: Response with monthly summary of data billed by Datadog. + properties: + account_name: + description: The account name. + type: string + account_public_id: + description: The account public ID. + type: string + billing_plan: + deprecated: true + description: The billing plan (metadata). (Deprecated from June 2026) + type: string + end_date: + description: Shows the last date of usage. + format: date-time + type: string + num_orgs: + description: The number of organizations. + format: int64 + type: integer + org_name: + description: The organization name. + type: string + public_id: + description: The organization public ID. + type: string + ratio_in_month: + description: Shows usage aggregation for a billing period. + format: double + type: number + region: + description: The region of the organization. + type: string + start_date: + description: Shows the first date of usage. + format: date-time + type: string + usage: + $ref: '#/components/schemas/UsageBillableSummaryKeys' type: object - IPAllowlistUpdateRequest: - description: Update the IP allowlist. + UsageCIVisibilityHour: + description: CI visibility usage in a given hour. properties: - data: - $ref: '#/components/schemas/IPAllowlistData' - required: - - data + ci_pipeline_indexed_spans: + description: The number of spans for pipelines in the queried hour. + format: int64 + nullable: true + type: integer + ci_test_indexed_spans: + description: The number of spans for tests in the queried hour. + format: int64 + nullable: true + type: integer + ci_visibility_itr_committers: + description: Shows the total count of all active Git committers for Intelligent Test Runner in the current month. A committer is active if they commit at least 3 times in a given month. + format: int64 + nullable: true + type: integer + ci_visibility_pipeline_committers: + description: Shows the total count of all active Git committers for Pipelines in the current month. A committer is active if they commit at least 3 times in a given month. + format: int64 + nullable: true + type: integer + ci_visibility_test_committers: + description: The total count of all active Git committers for tests in the current month. A committer is active if they commit at least 3 times in a given month. + format: int64 + nullable: true + type: integer + org_name: + description: The organization name. + type: string + public_id: + description: The organization public ID. + type: string type: object - OrgConfigListResponse: - description: A response with multiple Org Configs. + UsageCloudSecurityPostureManagementHour: + description: Cloud Security Management Pro usage for a given organization for a given hour. properties: - data: - description: An array of Org Configs. - items: - $ref: '#/components/schemas/OrgConfigRead' - type: array - required: - - data + aas_host_count: + description: The number of Cloud Security Management Pro Azure app services hosts during a given hour. + format: double + nullable: true + type: number + aws_host_count: + description: The number of Cloud Security Management Pro AWS hosts during a given hour. + format: double + nullable: true + type: number + azure_host_count: + description: The number of Cloud Security Management Pro Azure hosts during a given hour. + format: double + nullable: true + type: number + compliance_host_count: + description: The number of Cloud Security Management Pro hosts during a given hour. + format: double + nullable: true + type: number + container_count: + description: The total number of Cloud Security Management Pro containers during a given hour. + format: double + nullable: true + type: number + gcp_host_count: + description: The number of Cloud Security Management Pro GCP hosts during a given hour. + format: double + nullable: true + type: number + host_count: + description: The total number of Cloud Security Management Pro hosts during a given hour. + format: double + nullable: true + type: number + hour: + description: The hour for the usage. + format: date-time + type: string + org_name: + description: The organization name. + type: string + public_id: + description: The organization public ID. + type: string type: object - OrgConfigGetResponse: - description: A response with a single Org Config. + UsageCWSHour: + description: Cloud Workload Security usage for a given organization for a given hour. properties: - data: - $ref: '#/components/schemas/OrgConfigRead' - required: - - data + cws_container_count: + description: The total number of Cloud Workload Security container hours from the start of the given hour’s month until the given hour. + format: int64 + nullable: true + type: integer + cws_host_count: + description: The total number of Cloud Workload Security host hours from the start of the given hour’s month until the given hour. + format: int64 + nullable: true + type: integer + hour: + description: The hour for the usage. + format: date-time + type: string + org_name: + description: The organization name. + type: string + public_id: + description: The organization public ID. + type: string type: object - OrgConfigWriteRequest: - description: A request to update an Org Config. + UsageDBMHour: + description: Database Monitoring usage for a given organization for a given hour. properties: - data: - $ref: '#/components/schemas/OrgConfigWrite' - required: - - data + dbm_host_count: + description: The total number of Database Monitoring host hours from the start of the given hour’s month until the given hour. + format: int64 + nullable: true + type: integer + dbm_queries_count: + description: The total number of normalized Database Monitoring queries from the start of the given hour’s month until the given hour. + format: int64 + nullable: true + type: integer + hour: + description: The hour for the usage. + format: date-time + type: string + org_name: + description: The organization name. + type: string + public_id: + description: The organization public ID. + type: string type: object - OrgConnectionListResponse: - description: Response containing a list of org connections. + UsageFargateHour: + description: Number of Fargate tasks run and hourly usage. properties: - data: - description: List of org connections. - items: - $ref: '#/components/schemas/OrgConnection' - type: array - meta: - $ref: '#/components/schemas/OrgConnectionListResponseMeta' - required: - - data + apm_fargate_count: + description: The high-water mark of APM ECS Fargate tasks during the given hour. + format: int64 + nullable: true + type: integer + appsec_fargate_count: + description: The Application Security Monitoring ECS Fargate tasks during the given hour. + format: int64 + nullable: true + type: integer + avg_profiled_fargate_tasks: + description: The average profiled task count for Fargate Profiling. + format: int64 + nullable: true + type: integer + hour: + description: The hour for the usage. + format: date-time + type: string + org_name: + description: The organization name. + type: string + public_id: + description: The organization public ID. + type: string + tasks_count: + description: The number of Fargate tasks run. + format: int64 + nullable: true + type: integer type: object - OrgConnectionCreateRequest: - description: Request to create an org connection. + UsageHostHour: + description: Number of hosts/containers recorded for each hour for a given organization. properties: - data: - $ref: '#/components/schemas/OrgConnectionCreate' - required: - - data + agent_host_count: + description: |- + Contains the total number of infrastructure hosts reporting + during a given hour that were running the Datadog Agent. + format: int64 + nullable: true + type: integer + alibaba_host_count: + description: |- + Contains the total number of hosts that reported through Alibaba integration + (and were NOT running the Datadog Agent). + format: int64 + nullable: true + type: integer + apm_azure_app_service_host_count: + description: Contains the total number of Azure App Services hosts using APM. + format: int64 + nullable: true + type: integer + apm_host_count: + description: |- + Shows the total number of hosts using APM during the hour, + these are counted as billable (except during trial periods). + format: int64 + nullable: true + type: integer + aws_host_count: + description: |- + Contains the total number of hosts that reported through the AWS integration + (and were NOT running the Datadog Agent). + format: int64 + nullable: true + type: integer + azure_host_count: + description: |- + Contains the total number of hosts that reported through Azure integration + (and were NOT running the Datadog Agent). + format: int64 + nullable: true + type: integer + container_count: + description: Shows the total number of containers reported by the Docker integration during the hour. + format: int64 + nullable: true + type: integer + gcp_host_count: + description: |- + Contains the total number of hosts that reported through the Google Cloud integration + (and were NOT running the Datadog Agent). + format: int64 + nullable: true + type: integer + heroku_host_count: + description: Contains the total number of Heroku dynos reported by the Datadog Agent. + format: int64 + nullable: true + type: integer + host_count: + description: |- + Contains the total number of billable infrastructure hosts reporting during a given hour. + This is the sum of `agent_host_count`, `aws_host_count`, and `gcp_host_count`. + format: int64 + nullable: true + type: integer + hour: + description: The hour for the usage. + format: date-time + nullable: true + type: string + infra_azure_app_service: + description: |- + Contains the total number of hosts that reported through the Azure App Services integration + (and were NOT running the Datadog Agent). + format: int64 + nullable: true + type: integer + opentelemetry_apm_host_count: + description: Contains the total number of hosts using APM reported by Datadog exporter for the OpenTelemetry Collector. + format: int64 + nullable: true + type: integer + opentelemetry_host_count: + description: Contains the total number of hosts reported by Datadog exporter for the OpenTelemetry Collector. + format: int64 + nullable: true + type: integer + org_name: + description: The organization name. + type: string + public_id: + description: The organization public ID. + type: string + vsphere_host_count: + description: |- + Contains the total number of hosts that reported through vSphere integration + (and were NOT running the Datadog Agent). + format: int64 + nullable: true + type: integer type: object - OrgConnectionResponse: - description: Response containing a single org connection. + HourlyUsageAttributionMetadata: + description: The object containing document metadata. properties: - data: - $ref: '#/components/schemas/OrgConnection' - required: - - data + pagination: + $ref: '#/components/schemas/HourlyUsageAttributionPagination' type: object - OrgConnectionUpdateRequest: - description: Request to update an org connection. + HourlyUsageAttributionBody: + description: The usage for one set of tags for one hour. properties: - data: - $ref: '#/components/schemas/OrgConnectionUpdate' - required: - - data + hour: + description: The hour for the usage. + format: date-time + type: string + org_name: + description: The name of the organization. + type: string + public_id: + description: The organization public ID. + type: string + region: + description: The region of the Datadog instance that the organization belongs to. + type: string + tag_config_source: + description: The source of the usage attribution tag configuration and the selected tags in the format of `::://////`. + type: string + tags: + $ref: '#/components/schemas/UsageAttributionTagNames' + total_usage_sum: + description: Total product usage for the given tags within the hour. + format: double + type: number + updated_at: + description: Shows the most recent hour in the current month for all organizations where usages are calculated. + type: string + usage_type: + $ref: '#/components/schemas/HourlyUsageAttributionUsageType' type: object - PermissionsResponse: - description: Payload with API-returned permissions. + UsageIncidentManagementHour: + description: Incident management usage for a given organization for a given hour. properties: - data: - description: Array of permissions. - items: - $ref: '#/components/schemas/Permission' - type: array + hour: + description: The hour for the usage. + format: date-time + type: string + monthly_active_users: + description: Contains the total number monthly active users from the start of the given hour's month until the given hour. + format: int64 + nullable: true + type: integer + org_name: + description: The organization name. + type: string + public_id: + description: The organization public ID. + type: string type: object - RestrictionPolicyResponse: - description: Response containing information about a single restriction policy. + UsageIndexedSpansHour: + description: The hours of indexed spans usage. + properties: + hour: + description: The hour for the usage. + format: date-time + type: string + indexed_events_count: + description: Contains the number of spans indexed. + format: int64 + nullable: true + type: integer + org_name: + description: The organization name. + type: string + public_id: + description: The organization public ID. + type: string + type: object + UsageIngestedSpansHour: + description: Ingested spans usage for a given organization for a given hour. properties: - data: - $ref: '#/components/schemas/RestrictionPolicy' - required: - - data + hour: + description: The hour for the usage. + format: date-time + type: string + ingested_events_bytes: + description: Contains the total number of bytes ingested for APM spans during a given hour. + format: int64 + nullable: true + type: integer + org_name: + description: The organization name. + type: string + public_id: + description: The organization public ID. + type: string type: object - RestrictionPolicyUpdateRequest: - description: Update request for a restriction policy. + UsageIoTHour: + description: IoT usage for a given organization for a given hour. properties: - data: - $ref: '#/components/schemas/RestrictionPolicy' - required: - - data + hour: + description: The hour for the usage. + format: date-time + type: string + iot_device_count: + description: The total number of IoT devices during a given hour. + format: int64 + nullable: true + type: integer + org_name: + description: The organization name. + type: string + public_id: + description: The organization public ID. + type: string type: object - RolesSort: - default: name - description: Sorting options for roles. - enum: - - name - - '-name' - - modified_at - - '-modified_at' - - user_count - - '-user_count' - type: string - x-enum-varnames: - - NAME_ASCENDING - - NAME_DESCENDING - - MODIFIED_AT_ASCENDING - - MODIFIED_AT_DESCENDING - - USER_COUNT_ASCENDING - - USER_COUNT_DESCENDING - RolesResponse: - description: Response containing information about multiple roles. + UsageLogsHour: + description: Hour usage for logs. properties: - data: - description: Array of returned roles. - items: - $ref: '#/components/schemas/Role' - type: array - meta: - $ref: '#/components/schemas/ResponseMetaAttributes' + billable_ingested_bytes: + description: Contains the number of billable log bytes ingested. + format: int64 + nullable: true + type: integer + hour: + description: The hour for the usage. + format: date-time + type: string + indexed_events_count: + description: Contains the number of log events indexed. + format: int64 + nullable: true + type: integer + ingested_events_bytes: + description: Contains the number of log bytes ingested. + format: int64 + nullable: true + type: integer + logs_forwarding_events_bytes: + description: Contains the number of logs forwarded bytes (data available as of April 1st 2023) + format: int64 + nullable: true + type: integer + logs_live_indexed_count: + description: Contains the number of live log events indexed (data available as of December 1, 2020). + format: int64 + nullable: true + type: integer + logs_live_ingested_bytes: + description: Contains the number of live log bytes ingested (data available as of December 1, 2020). + format: int64 + nullable: true + type: integer + logs_rehydrated_indexed_count: + description: Contains the number of rehydrated log events indexed (data available as of December 1, 2020). + format: int64 + nullable: true + type: integer + logs_rehydrated_ingested_bytes: + description: Contains the number of rehydrated log bytes ingested (data available as of December 1, 2020). + format: int64 + nullable: true + type: integer + org_name: + description: The organization name. + type: string + public_id: + description: The organization public ID. + type: string type: object - RoleCreateRequest: - description: Create a role. + UsageLogsByRetentionHour: + description: The number of indexed logs for each hour for a given organization broken down by retention period. properties: - data: - $ref: '#/components/schemas/RoleCreateData' - required: - - data + indexed_events_count: + description: Total logs indexed with this retention period during a given hour. + format: int64 + nullable: true + type: integer + live_indexed_events_count: + description: Live logs indexed with this retention period during a given hour. + format: int64 + nullable: true + type: integer + org_name: + description: The organization name. + type: string + public_id: + description: The organization public ID. + type: string + rehydrated_indexed_events_count: + description: Rehydrated logs indexed with this retention period during a given hour. + format: int64 + nullable: true + type: integer + retention: + description: The retention period in days or "custom" for all custom retention usage. + nullable: true + type: string type: object - RoleCreateResponse: - description: Response containing information about a created role. + UsageLogsByIndexHour: + description: Number of indexed logs for each hour and index for a given organization. properties: - data: - $ref: '#/components/schemas/RoleCreateResponseData' + event_count: + description: The total number of indexed logs for the queried hour. + format: int64 + type: integer + hour: + description: The hour for the usage. + format: date-time + type: string + index_id: + description: The index ID for this usage. + type: string + index_name: + description: The user specified name for this index ID. + type: string + org_name: + description: The organization name. + type: string + public_id: + description: The organization public ID. + type: string + retention: + description: The retention period (in days) for this index ID. + format: int64 + type: integer type: object - RoleResponse: - description: Response containing information about a single role. + MonthlyUsageAttributionMetadata: + description: The object containing document metadata. properties: - data: - $ref: '#/components/schemas/Role' + aggregates: + $ref: '#/components/schemas/UsageAttributionAggregates' + pagination: + $ref: '#/components/schemas/MonthlyUsageAttributionPagination' type: object - RoleUpdateRequest: - description: Update a role. + MonthlyUsageAttributionBody: + description: Usage Summary by tag for a given organization. properties: - data: - $ref: '#/components/schemas/RoleUpdateData' - required: - - data + month: + description: 'Datetime in ISO-8601 format, UTC, precise to month: [YYYY-MM].' + format: date-time + type: string + org_name: + description: The name of the organization. + type: string + public_id: + description: The organization public ID. + type: string + region: + description: The region of the Datadog instance that the organization belongs to. + type: string + tag_config_source: + description: The source of the usage attribution tag configuration and the selected tags in the format `::://////`. + type: string + tags: + $ref: '#/components/schemas/UsageAttributionTagNames' + updated_at: + description: Datetime of the most recent update to the usage values. + format: date-time + type: string + values: + $ref: '#/components/schemas/MonthlyUsageAttributionValues' type: object - RoleUpdateResponse: - description: Response containing information about an updated role. + UsageNetworkFlowsHour: + description: Number of netflow events indexed for each hour for a given organization. properties: - data: - $ref: '#/components/schemas/RoleUpdateResponseData' + hour: + description: The hour for the usage. + format: date-time + type: string + indexed_events_count: + description: Contains the number of netflow events indexed. + format: int64 + nullable: true + type: integer + org_name: + description: The organization name. + type: string + public_id: + description: The organization public ID. + type: string type: object - RoleCloneRequest: - description: Request to create a role by cloning an existing role. + UsageNetworkHostsHour: + description: Number of active NPM hosts for each hour for a given organization. properties: - data: - $ref: '#/components/schemas/RoleClone' - required: - - data + host_count: + description: Contains the number of active NPM hosts. + format: int64 + nullable: true + type: integer + hour: + description: The hour for the usage. + format: date-time + type: string + org_name: + description: The organization name. + type: string + public_id: + description: The organization public ID. + type: string type: object - RelationshipToPermission: - description: Relationship to a permissions object. + UsageOnlineArchiveHour: + description: Online Archive usage in a given hour. properties: - data: - $ref: '#/components/schemas/RelationshipToPermissionData' + hour: + description: The hour for the usage. + format: date-time + type: string + online_archive_events_count: + description: Total count of online archived events within the hour. + format: int64 + nullable: true + type: integer + org_name: + description: The organization name. + type: string + public_id: + description: The organization public ID. + type: string type: object - RelationshipToUser: - description: Relationship to user. + UsageProfilingHour: + description: The number of profiled hosts for each hour for a given organization. properties: - data: - $ref: '#/components/schemas/RelationshipToUserData' - required: - - data + aas_count: + description: Contains the total number of profiled Azure app services reporting during a given hour. + format: int64 + nullable: true + type: integer + avg_container_agent_count: + description: Get average number of container agents for that hour. + format: int64 + nullable: true + type: integer + host_count: + description: Contains the total number of profiled hosts reporting during a given hour. + format: int64 + nullable: true + type: integer + hour: + description: The hour for the usage. + format: date-time + type: string + org_name: + description: The organization name. + type: string + public_id: + description: The organization public ID. + type: string type: object - UsersResponse: - description: Response containing information about multiple users. + UsageRumUnitsHour: + description: Number of RUM Units used for each hour for a given organization (data available as of November 1, 2021). properties: - data: - description: Array of returned users. - items: - $ref: '#/components/schemas/User' - type: array - included: - description: Array of objects related to the users. - items: - $ref: '#/components/schemas/UserResponseIncludedItem' - type: array - meta: - $ref: '#/components/schemas/ResponseMetaAttributes' - readOnly: true + browser_rum_units: + description: The number of browser RUM units. + format: int64 + nullable: true + type: integer + mobile_rum_units: + description: The number of mobile RUM units. + format: int64 + nullable: true + type: integer + org_name: + description: The organization name. + type: string + public_id: + description: The organization public ID. + type: string + rum_units: + description: Total RUM units across mobile and browser RUM. + format: int64 + nullable: true + type: integer type: object - IdPMetadataFormData: - description: The form data submitted to upload IdP metadata + UsageRumSessionsHour: + description: Number of RUM sessions recorded for each hour for a given organization. properties: - idp_file: - description: The IdP metadata XML file - format: binary + hour: + description: The hour for the usage. + format: date-time type: string - x-mimetype: application/xml + org_name: + description: The organization name. + type: string + public_id: + description: The organization public ID. + type: string + replay_session_count: + description: Contains the number of RUM Session Replay counts (data available beginning November 1, 2021). + format: int64 + type: integer + session_count: + description: Contains the number of browser RUM lite Sessions. + format: int64 + nullable: true + type: integer + session_count_android: + description: Contains the number of mobile RUM sessions on Android (data available beginning December 1, 2020). + format: int64 + nullable: true + type: integer + session_count_flutter: + description: Contains the number of mobile RUM sessions on Flutter (data available beginning March 1, 2023). + format: int64 + nullable: true + type: integer + session_count_ios: + description: Contains the number of mobile RUM sessions on iOS (data available beginning December 1, 2020). + format: int64 + nullable: true + type: integer + session_count_reactnative: + description: Contains the number of mobile RUM sessions on React Native (data available beginning May 1, 2022). + format: int64 + nullable: true + type: integer type: object - ServiceAccountCreateRequest: - description: Create a service account. + UsageSDSHour: + description: Sensitive Data Scanner usage for a given organization for a given hour. properties: - data: - $ref: '#/components/schemas/ServiceAccountCreateData' - required: - - data + apm_scanned_bytes: + description: The total number of bytes scanned of APM usage across all usage types by the Sensitive Data Scanner from the start of the given hour’s month until the given hour. + format: int64 + nullable: true + type: integer + events_scanned_bytes: + description: The total number of bytes scanned of Events usage across all usage types by the Sensitive Data Scanner from the start of the given hour’s month until the given hour. + format: int64 + nullable: true + type: integer + hour: + description: The hour for the usage. + format: date-time + type: string + logs_scanned_bytes: + description: The total number of bytes scanned of logs usage by the Sensitive Data Scanner from the start of the given hour’s month until the given hour. + format: int64 + nullable: true + type: integer + org_name: + description: The organization name. + type: string + public_id: + description: The organization public ID. + type: string + rum_scanned_bytes: + description: The total number of bytes scanned of RUM usage across all usage types by the Sensitive Data Scanner from the start of the given hour’s month until the given hour. + format: int64 + nullable: true + type: integer + total_scanned_bytes: + description: The total number of bytes scanned across all usage types by the Sensitive Data Scanner from the start of the given hour’s month until the given hour. + format: int64 + nullable: true + type: integer type: object - UserResponse: - description: Response containing information about a single user. + UsageSNMPHour: + description: The number of SNMP devices for each hour for a given organization. properties: - data: - $ref: '#/components/schemas/User' - included: - description: Array of objects related to the user. + hour: + description: The hour for the usage. + format: date-time + type: string + org_name: + description: The organization name. + type: string + public_id: + description: The organization public ID. + type: string + snmp_devices: + description: Contains the number of SNMP devices. + format: int64 + nullable: true + type: integer + type: object + LogsByRetention: + description: Object containing logs usage data broken down by retention period. + properties: + orgs: + $ref: '#/components/schemas/LogsByRetentionOrgs' + usage: + description: Aggregated index logs usage for each retention period with usage. items: - $ref: '#/components/schemas/UserResponseIncludedItem' + $ref: '#/components/schemas/LogsRetentionAggSumUsage' type: array + usage_by_month: + $ref: '#/components/schemas/LogsByRetentionMonthlyUsage' type: object - PartialApplicationKeyResponse: - description: Response for retrieving a partial application key. - properties: - data: - $ref: '#/components/schemas/PartialApplicationKey' - included: - description: Array of objects related to the application key. + UsageSummaryDate: + description: |- + Response with hourly report of all data billed by Datadog for all organizations. + + For SDK users only: all fields at this response level are accessible through the + `additionalProperties` map. Existing typed-field getters are unchanged. New billing + dimensions will not have typed-field getters. Use + [Get available fields for usage summary](https://docs.datadoghq.com/api/latest/usage-metering/get-available-fields-for-usage-summary/) + to enumerate every available key. + properties: + agent_host_top99p: + description: Shows the 99th percentile of all agent hosts over all hours in the current date for all organizations. + format: int64 + type: integer + ai_credits_agent_builder_ai_credits_sum: + description: Shows the sum of all AI credits used by Agent Builder over all hours in the current date for all organizations. + format: int64 + type: integer + ai_credits_bits_assistant_ai_credits_sum: + description: Shows the sum of all AI credits used by Bits AI Assistant over all hours in the current date for all organizations. + format: int64 + type: integer + ai_credits_bits_dev_ai_credits_sum: + description: Shows the sum of all AI credits used by Bits AI Dev over all hours in the current date for all organizations. + format: int64 + type: integer + ai_credits_bits_sre_ai_credits_sum: + description: Shows the sum of all AI credits used by Bits AI SRE over all hours in the current date for all organizations. + format: int64 + type: integer + ai_credits_sum: + description: Shows the sum of all AI credits over all hours in the current date for all organizations. + format: int64 + type: integer + apm_azure_app_service_host_top99p: + description: Shows the 99th percentile of all Azure app services using APM over all hours in the current date all organizations. + format: int64 + type: integer + apm_devsecops_host_top99p: + description: Shows the 99th percentile of all APM DevSecOps hosts over all hours in the current date for the given org. + format: int64 + type: integer + apm_enterprise_standalone_hosts_top99p: + description: Shows the 99th percentile of all distinct standalone Enterprise hosts over all hours in the current date for all organizations. + format: int64 + type: integer + apm_fargate_count_avg: + description: Shows the average of all APM ECS Fargate tasks over all hours in the current date for all organizations. + format: int64 + type: integer + apm_host_top99p: + description: Shows the 99th percentile of all distinct APM hosts over all hours in the current date for all organizations. + format: int64 + type: integer + apm_pro_standalone_hosts_top99p: + description: Shows the 99th percentile of all distinct standalone Pro hosts over all hours in the current date for all organizations. + format: int64 + type: integer + appsec_fargate_count_avg: + description: Shows the average of all Application Security Monitoring ECS Fargate tasks over all hours in the current date for all organizations. + format: int64 + type: integer + asm_serverless_sum: + description: Shows the sum of all Application Security Monitoring Serverless invocations over all hours in the current date for all organizations. + format: int64 + type: integer + audit_logs_lines_indexed_sum: + deprecated: true + description: Shows the sum of audit logs lines indexed over all hours in the current date for all organizations (To be deprecated on October 1st, 2024). + format: int64 + type: integer + audit_trail_enabled_hwm: + description: Shows the number of organizations that had Audit Trail enabled in the current date. + format: int64 + type: integer + audit_trail_event_forwarding_events_sum: + description: Shows the sum of all Audit Trail event forwarding events over all hours in the current date for all organizations. + format: int64 + type: integer + avg_profiled_fargate_tasks: + description: The average total count for Fargate Container Profiler over all hours in the current date for all organizations. + format: int64 + type: integer + aws_host_top99p: + description: Shows the 99th percentile of all AWS hosts over all hours in the current date for all organizations. + format: int64 + type: integer + aws_lambda_func_count: + description: Shows the average of the number of functions that executed 1 or more times each hour in the current date for all organizations. + format: int64 + type: integer + aws_lambda_invocations_sum: + description: Shows the sum of all AWS Lambda invocations over all hours in the current date for all organizations. + format: int64 + type: integer + azure_app_service_top99p: + description: Shows the 99th percentile of all Azure app services over all hours in the current date for all organizations. + format: int64 + type: integer + billable_ingested_bytes_sum: + description: Shows the sum of all log bytes ingested over all hours in the current date for all organizations. + format: int64 + type: integer + bits_ai_investigations_sum: + description: Shows the sum of all Bits AI Investigations over all hours in the current date for all organizations. + format: int64 + type: integer + browser_rum_lite_session_count_sum: + deprecated: true + description: Shows the sum of all browser lite sessions over all hours in the current date for all organizations (To be deprecated on October 1st, 2024). + format: int64 + type: integer + browser_rum_replay_session_count_sum: + description: Shows the sum of all browser replay sessions over all hours in the current date for all organizations (To be deprecated on October 1st, 2024). + format: int64 + type: integer + browser_rum_units_sum: + deprecated: true + description: Shows the sum of all browser RUM units over all hours in the current date for all organizations (To be deprecated on October 1st, 2024). + format: int64 + type: integer + ccm_anthropic_spend_last: + description: Shows the last value of Anthropic cloud spend monitored over all hours in the current date for all organizations. + format: int64 + type: integer + ccm_aws_spend_last: + description: Shows the last value of AWS cloud spend monitored over all hours in the current date for all organizations. + format: int64 + type: integer + ccm_azure_spend_last: + description: Shows the last value of Azure cloud spend monitored over all hours in the current date for all organizations. + format: int64 + type: integer + ccm_confluent_spend_last: + description: Shows the last value of Confluent cloud spend monitored over all hours in the current date for all organizations. + format: int64 + type: integer + ccm_databricks_spend_last: + description: Shows the last value of Databricks cloud spend monitored over all hours in the current date for all organizations. + format: int64 + type: integer + ccm_elastic_spend_last: + description: Shows the last value of Elastic cloud spend monitored over all hours in the current date for all organizations. + format: int64 + type: integer + ccm_fastly_spend_last: + description: Shows the last value of Fastly cloud spend monitored over all hours in the current date for all organizations. + format: int64 + type: integer + ccm_gcp_spend_last: + description: Shows the last value of GCP cloud spend monitored over all hours in the current date for all organizations. + format: int64 + type: integer + ccm_github_spend_last: + description: Shows the last value of GitHub cloud spend monitored over all hours in the current date for all organizations. + format: int64 + type: integer + ccm_mongodb_spend_last: + description: Shows the last value of MongoDB cloud spend monitored over all hours in the current date for all organizations. + format: int64 + type: integer + ccm_oci_spend_last: + description: Shows the last value of OCI cloud spend monitored over all hours in the current date for all organizations. + format: int64 + type: integer + ccm_openai_spend_last: + description: Shows the last value of OpenAI cloud spend monitored over all hours in the current date for all organizations. + format: int64 + type: integer + ccm_snowflake_spend_last: + description: Shows the last value of Snowflake cloud spend monitored over all hours in the current date for all organizations. + format: int64 + type: integer + ccm_spend_monitored_ent_last: + description: Shows the last value of the amount of cloud spend monitored for Enterprise over all hours in the current date for all organizations. + format: int64 + type: integer + ccm_spend_monitored_pro_last: + description: Shows the last value of the amount of cloud spend monitored for Pro over all hours in the current date for all organizations. + format: int64 + type: integer + ccm_twilio_spend_last: + description: Shows the last value of Twilio cloud spend monitored over all hours in the current date for all organizations. + format: int64 + type: integer + ci_pipeline_indexed_spans_sum: + description: Shows the sum of all CI pipeline indexed spans over all hours in the current month for all organizations. + format: int64 + type: integer + ci_test_indexed_spans_sum: + description: Shows the sum of all CI test indexed spans over all hours in the current month for all organizations. + format: int64 + type: integer + ci_visibility_itr_committers_hwm: + description: Shows the high-water mark of all CI visibility intelligent test runner committers over all hours in the current month for all organizations. + format: int64 + type: integer + ci_visibility_pipeline_committers_hwm: + description: Shows the high-water mark of all CI visibility pipeline committers over all hours in the current month for all organizations. + format: int64 + type: integer + ci_visibility_test_committers_hwm: + description: Shows the high-water mark of all CI visibility test committers over all hours in the current month for all organizations. + format: int64 + type: integer + cloud_cost_management_aws_host_count_avg: + description: Host count average of Cloud Cost Management for AWS for the given date and given organization. + format: int64 + type: integer + cloud_cost_management_azure_host_count_avg: + description: Host count average of Cloud Cost Management for Azure for the given date and given organization. + format: int64 + type: integer + cloud_cost_management_gcp_host_count_avg: + description: Host count average of Cloud Cost Management for GCP for the given date and given organization. + format: int64 + type: integer + cloud_cost_management_host_count_avg: + description: Host count average of Cloud Cost Management for all cloud providers for the given date and given organization. + format: int64 + type: integer + cloud_cost_management_oci_host_count_avg: + description: Average host count for Cloud Cost Management on OCI for the given date and organization. + format: int64 + type: integer + cloud_siem_events_sum: + description: Shows the sum of all Cloud Security Information and Event Management events over all hours in the current date for the given org. + format: int64 + type: integer + cloud_siem_indexed_logs_sum: + description: Shows the sum of all Cloud SIEM Indexed Logs over all hours in the current date for the given org. + format: int64 + type: integer + code_analysis_sa_committers_hwm: + description: Shows the high-water mark of all Static Analysis committers over all hours in the current date for the given org. + format: int64 + type: integer + code_analysis_sca_committers_hwm: + description: Shows the high-water mark of all static Software Composition Analysis committers over all hours in the current date for the given org. + format: int64 + type: integer + code_security_host_top99p: + description: Shows the 99th percentile of all Code Security hosts over all hours in the current date for the given org. + format: int64 + type: integer + container_avg: + description: Shows the average of all distinct containers over all hours in the current date for all organizations. + format: int64 + type: integer + container_excl_agent_avg: + description: Shows the average of containers without the Datadog Agent over all hours in the current date for all organizations. + format: int64 + type: integer + container_hwm: + description: Shows the high-water mark of all distinct containers over all hours in the current date for all organizations. + format: int64 + type: integer + csm_container_enterprise_compliance_count_sum: + description: Shows the sum of all Cloud Security Management Enterprise compliance containers over all hours in the current date for the given org. + format: int64 + type: integer + csm_container_enterprise_cws_count_sum: + description: Shows the sum of all Cloud Security Management Enterprise Cloud Workload Security containers over all hours in the current date for the given org. + format: int64 + type: integer + csm_container_enterprise_total_count_sum: + description: Shows the sum of all Cloud Security Management Enterprise containers over all hours in the current date for the given org. + format: int64 + type: integer + csm_host_enterprise_aas_host_count_top99p: + description: Shows the 99th percentile of all Cloud Security Management Enterprise Azure app services hosts over all hours in the current date for the given org. + format: int64 + type: integer + csm_host_enterprise_aws_host_count_top99p: + description: Shows the 99th percentile of all Cloud Security Management Enterprise AWS hosts over all hours in the current date for the given org. + format: int64 + type: integer + csm_host_enterprise_azure_host_count_top99p: + description: Shows the 99th percentile of all Cloud Security Management Enterprise Azure hosts over all hours in the current date for the given org. + format: int64 + type: integer + csm_host_enterprise_compliance_host_count_top99p: + description: Shows the 99th percentile of all Cloud Security Management Enterprise compliance hosts over all hours in the current date for the given org. + format: int64 + type: integer + csm_host_enterprise_cws_host_count_top99p: + description: Shows the 99th percentile of all Cloud Security Management Enterprise Cloud Workload Security hosts over all hours in the current date for the given org. + format: int64 + type: integer + csm_host_enterprise_gcp_host_count_top99p: + description: Shows the 99th percentile of all Cloud Security Management Enterprise GCP hosts over all hours in the current date for the given org. + format: int64 + type: integer + csm_host_enterprise_oci_host_count_top99p: + description: Shows the 99th percentile of all Cloud Security Management Enterprise OCI hosts over all hours in the current date for the given org. + format: int64 + type: integer + csm_host_enterprise_total_host_count_top99p: + description: Shows the 99th percentile of all Cloud Security Management Enterprise hosts over all hours in the current date for the given org. + format: int64 + type: integer + csm_host_pro_hosts_agentless_scanners_sum: + description: Shows the sum of all Cloud Security Management Pro Agentless scanner hosts over all hours in the current date for the given org. + format: int64 + type: integer + csm_host_pro_hosts_agentless_scanners_top99p: + description: Shows the 99th percentile of all Cloud Security Management Pro Agentless scanner hosts over all hours in the current date for the given org. + format: int64 + type: integer + csm_host_pro_oci_host_count_top99p: + description: Shows the 99th percentile of all Cloud Security Management Pro OCI hosts over all hours in the current date for the given org. + format: int64 + type: integer + cspm_aas_host_top99p: + description: Shows the 99th percentile of all Cloud Security Management Pro Azure app services hosts over all hours in the current date for all organizations. + format: int64 + type: integer + cspm_aws_host_top99p: + description: Shows the 99th percentile of all Cloud Security Management Pro AWS hosts over all hours in the current date for all organizations. + format: int64 + type: integer + cspm_azure_host_top99p: + description: Shows the 99th percentile of all Cloud Security Management Pro Azure hosts over all hours in the current date for all organizations. + format: int64 + type: integer + cspm_container_avg: + description: Shows the average number of Cloud Security Management Pro containers over all hours in the current date for all organizations. + format: int64 + type: integer + cspm_container_hwm: + description: Shows the high-water mark of Cloud Security Management Pro containers over all hours in the current date for all organizations. + format: int64 + type: integer + cspm_gcp_host_top99p: + description: Shows the 99th percentile of all Cloud Security Management Pro GCP hosts over all hours in the current date for all organizations. + format: int64 + type: integer + cspm_host_top99p: + description: Shows the 99th percentile of all Cloud Security Management Pro hosts over all hours in the current date for all organizations. + format: int64 + type: integer + cspm_hosts_agentless_scanners_sum: + description: Shows the sum of all Cloud Security Management Pro Agentless scanner hosts over all hours in the current date for all organizations. + format: int64 + type: integer + cspm_hosts_agentless_scanners_top99p: + description: Shows the 99th percentile of all Cloud Security Management Pro Agentless scanner hosts over all hours in the current date for all organizations. + format: int64 + type: integer + custom_ts_avg: + description: Shows the average number of distinct custom metrics over all hours in the current date for all organizations. + format: int64 + type: integer + cws_container_count_avg: + description: Shows the average of all distinct Cloud Workload Security containers over all hours in the current date for all organizations. + format: int64 + type: integer + cws_fargate_task_avg: + description: Shows the average of all distinct Cloud Workload Security Fargate tasks over all hours in the current date for all organizations. + format: int64 + type: integer + cws_host_top99p: + description: Shows the 99th percentile of all Cloud Workload Security hosts over all hours in the current date for all organizations. + format: int64 + type: integer + data_jobs_monitoring_host_hr_sum: + description: Shows the sum of all Data Jobs Monitoring hosts over all hours in the current date for the given org. + format: int64 + type: integer + data_stream_monitoring_host_count_sum: + description: Shows the sum of all Data Streams Monitoring hosts over all hours in the current date for all organizations. + format: int64 + type: integer + data_stream_monitoring_host_count_top99p: + description: Shows the 99th percentile of all Data Streams Monitoring hosts over all hours in the current date for all organizations. + format: int64 + type: integer + date: + description: The date for the usage. + format: date-time + type: string + dbm_host_top99p: + description: Shows the 99th percentile of all Database Monitoring hosts over all hours in the current date for all organizations. + format: int64 + type: integer + dbm_queries_count_avg: + description: Shows the average of all normalized Database Monitoring queries over all hours in the current date for all organizations. + format: int64 + type: integer + do_jobs_monitoring_orchestrators_job_hours_sum: + description: Shows the sum of all orchestrator job hours over all hours in the current date for all organizations. + format: int64 + type: integer + eph_infra_host_agent_sum: + description: Shows the sum of all ephemeral infrastructure hosts with the Datadog Agent over all hours in the current date for the given org. + format: int64 + type: integer + eph_infra_host_alibaba_sum: + description: Shows the sum of all ephemeral infrastructure hosts on Alibaba over all hours in the current date for the given org. + format: int64 + type: integer + eph_infra_host_aws_sum: + description: Shows the sum of all ephemeral infrastructure hosts on AWS over all hours in the current date for the given org. + format: int64 + type: integer + eph_infra_host_azure_sum: + description: Shows the sum of all ephemeral infrastructure hosts on Azure over all hours in the current date for the given org. + format: int64 + type: integer + eph_infra_host_basic_infra_basic_agent_sum: + description: Shows the sum of all ephemeral infrastructure hosts for Basic tier with the Datadog Agent over all hours in the current date for all organizations. + format: int64 + type: integer + eph_infra_host_basic_infra_basic_vsphere_sum: + description: Shows the sum of all ephemeral infrastructure hosts for Basic tier on vSphere over all hours in the current date for all organizations. + format: int64 + type: integer + eph_infra_host_basic_sum: + description: Shows the sum of all ephemeral infrastructure hosts for Basic tier over all hours in the current date for all organizations. + format: int64 + type: integer + eph_infra_host_ent_sum: + description: Shows the sum of all ephemeral infrastructure hosts for Enterprise over all hours in the current date for the given org. + format: int64 + type: integer + eph_infra_host_gcp_sum: + description: Shows the sum of all ephemeral infrastructure hosts on GCP over all hours in the current date for the given org. + format: int64 + type: integer + eph_infra_host_heroku_sum: + description: Shows the sum of all ephemeral infrastructure hosts on Heroku over all hours in the current date for the given org. + format: int64 + type: integer + eph_infra_host_only_aas_sum: + description: Shows the sum of all ephemeral infrastructure hosts with only Azure App Services over all hours in the current date for the given org. + format: int64 + type: integer + eph_infra_host_only_vsphere_sum: + description: Shows the sum of all ephemeral infrastructure hosts with only vSphere over all hours in the current date for the given org. + format: int64 + type: integer + eph_infra_host_opentelemetry_apm_sum: + description: Shows the sum of all ephemeral APM hosts reported by the Datadog exporter for the OpenTelemetry Collector over all hours in the current date for the given org. + format: int64 + type: integer + eph_infra_host_opentelemetry_sum: + description: Shows the sum of all ephemeral hosts reported by the Datadog exporter for the OpenTelemetry Collector over all hours in the current date for the given org. + format: int64 + type: integer + eph_infra_host_pro_sum: + description: Shows the sum of all ephemeral infrastructure hosts for Pro over all hours in the current date for the given org. + format: int64 + type: integer + eph_infra_host_proplus_sum: + description: Shows the sum of all ephemeral infrastructure hosts for Pro Plus over all hours in the current date for the given org. + format: int64 + type: integer + eph_infra_host_proxmox_sum: + description: Sum of all ephemeral infrastructure hosts for Proxmox over all hours in the current date for all organizations. + format: int64 + type: integer + error_tracking_apm_error_events_sum: + description: Shows the sum of all Error Tracking APM error events over all hours in the current date for the given org. + format: int64 + type: integer + error_tracking_error_events_sum: + description: Shows the sum of all Error Tracking error events over all hours in the current date for the given org. + format: int64 + type: integer + error_tracking_events_sum: + description: Shows the sum of all Error Tracking events over all hours in the current date for the given org. + format: int64 + type: integer + error_tracking_rum_error_events_sum: + description: Shows the sum of all Error Tracking RUM error events over all hours in the current date for the given org. + format: int64 + type: integer + event_management_correlation_correlated_events_sum: + description: Shows the sum of all Event Management correlated events over all hours in the current date for all organizations. + format: int64 + type: integer + event_management_correlation_correlated_related_events_sum: + description: Shows the sum of all Event Management correlated related events over all hours in the current date for all organizations. + format: int64 + type: integer + event_management_correlation_sum: + description: Shows the sum of all Event Management correlations over all hours in the current date for all organizations. + format: int64 + type: integer + fargate_container_profiler_profiling_fargate_avg: + description: The average number of Profiling Fargate tasks over all hours in the current date for all organizations. + format: int64 + type: integer + fargate_container_profiler_profiling_fargate_eks_avg: + description: The average number of Profiling Fargate Elastic Kubernetes Service tasks over all hours in the current date for all organizations. + format: int64 + type: integer + fargate_tasks_count_avg: + description: Shows the high-watermark of all Fargate tasks over all hours in the current date for all organizations. + format: int64 + type: integer + fargate_tasks_count_hwm: + description: Shows the average of all Fargate tasks over all hours in the current date for all organizations. + format: int64 + type: integer + feature_flags_config_requests_sum: + description: Shows the sum of all Feature Flags Client-Side SDK config requests over all hours in the current date for all organizations. + format: int64 + type: integer + flex_logs_compute_large_avg: + description: Shows the average number of Flex Logs Compute Large Instances over all hours in the current date for the given org. + format: int64 + type: integer + flex_logs_compute_medium_avg: + description: Shows the average number of Flex Logs Compute Medium Instances over all hours in the current date for the given org. + format: int64 + type: integer + flex_logs_compute_small_avg: + description: Shows the average number of Flex Logs Compute Small Instances over all hours in the current date for the given org. + format: int64 + type: integer + flex_logs_compute_xlarge_avg: + description: Shows the average number of Flex Logs Compute Extra Large Instances over all hours in the current date for the given org. + format: int64 + type: integer + flex_logs_compute_xsmall_avg: + description: Shows the average number of Flex Logs Compute Extra Small Instances over all hours in the current date for the given org. + format: int64 + type: integer + flex_logs_starter_avg: + description: Shows the average number of Flex Logs Starter Instances over all hours in the current date for the given org. + format: int64 + type: integer + flex_logs_starter_storage_index_avg: + description: Shows the average number of Flex Logs Starter Storage Index Instances over all hours in the current date for the given org. + format: int64 + type: integer + flex_logs_starter_storage_retention_adjustment_avg: + description: Shows the average number of Flex Logs Starter Storage Retention Adjustment Instances over all hours in the current date for the given org. + format: int64 + type: integer + flex_stored_logs_avg: + description: Shows the average of all Flex Stored Logs over all hours in the current date for the given org. + format: int64 + type: integer + forwarding_events_bytes_sum: + description: Shows the sum of all log bytes forwarded over all hours in the current date for all organizations. + format: int64 + type: integer + gcp_host_top99p: + description: Shows the 99th percentile of all GCP hosts over all hours in the current date for all organizations. + format: int64 + type: integer + heroku_host_top99p: + description: Shows the 99th percentile of all Heroku dynos over all hours in the current date for all organizations. + format: int64 + type: integer + incident_management_monthly_active_users_hwm: + description: Shows the high-water mark of incident management monthly active users over all hours in the current date for all organizations. + format: int64 + type: integer + incident_management_seats_hwm: + description: Shows the high-water mark of Incident Management seats over all hours on the current date for all organizations. + format: int64 + type: integer + indexed_events_count_sum: + description: Shows the sum of all log events indexed over all hours in the current date for all organizations. + format: int64 + type: integer + indexed_points_sum: + description: Shows the sum of all indexed custom metrics points over all hours in the current date for all organizations. + format: int64 + type: integer + infra_cpu_avg: + description: Shows the average of all Infrastructure vCPU cores over all hours in the current date for all organizations. + format: int64 + type: integer + infra_cpu_default_infra_host_vcpu_agent_avg: + description: Shows the average of all default Infrastructure host vCPU cores reported by the Datadog Agent over all hours in the current date for all organizations. + format: int64 + type: integer + infra_cpu_default_infra_host_vcpu_agent_basic_avg: + description: Shows the average of all default basic Infrastructure host vCPU cores reported by the Datadog Agent over all hours in the current date for all organizations. + format: int64 + type: integer + infra_cpu_default_infra_host_vcpu_agent_basic_sum: + description: Shows the sum of all default basic Infrastructure host vCPU cores reported by the Datadog Agent over all hours in the current date for all organizations. + format: int64 + type: integer + infra_cpu_default_infra_host_vcpu_agent_sum: + description: Shows the sum of all default Infrastructure host vCPU cores reported by the Datadog Agent over all hours in the current date for all organizations. + format: int64 + type: integer + infra_cpu_default_infra_host_vcpu_aws_avg: + description: Shows the average of all default Infrastructure host vCPU cores on AWS over all hours in the current date for all organizations. + format: int64 + type: integer + infra_cpu_default_infra_host_vcpu_aws_sum: + description: Shows the sum of all default Infrastructure host vCPU cores on AWS over all hours in the current date for all organizations. + format: int64 + type: integer + infra_cpu_default_infra_host_vcpu_azure_avg: + description: Shows the average of all default Infrastructure host vCPU cores on Azure over all hours in the current date for all organizations. + format: int64 + type: integer + infra_cpu_default_infra_host_vcpu_azure_sum: + description: Shows the sum of all default Infrastructure host vCPU cores on Azure over all hours in the current date for all organizations. + format: int64 + type: integer + infra_cpu_default_infra_host_vcpu_gcp_avg: + description: Shows the average of all default Infrastructure host vCPU cores on GCP over all hours in the current date for all organizations. + format: int64 + type: integer + infra_cpu_default_infra_host_vcpu_gcp_sum: + description: Shows the sum of all default Infrastructure host vCPU cores on GCP over all hours in the current date for all organizations. + format: int64 + type: integer + infra_cpu_default_infra_host_vcpu_nutanix_avg: + description: Shows the average of all default Infrastructure host vCPU cores on Nutanix over all hours in the current date for all organizations. + format: int64 + type: integer + infra_cpu_default_infra_host_vcpu_nutanix_basic_avg: + description: Shows the average of all default basic Infrastructure host vCPU cores on Nutanix over all hours in the current date for all organizations. + format: int64 + type: integer + infra_cpu_default_infra_host_vcpu_nutanix_basic_sum: + description: Shows the sum of all default basic Infrastructure host vCPU cores on Nutanix over all hours in the current date for all organizations. + format: int64 + type: integer + infra_cpu_default_infra_host_vcpu_nutanix_sum: + description: Shows the sum of all default Infrastructure host vCPU cores on Nutanix over all hours in the current date for all organizations. + format: int64 + type: integer + infra_cpu_default_infra_host_vcpu_opentelemetry_avg: + description: Shows the average of all default Infrastructure host vCPU cores reported by OpenTelemetry over all hours in the current date for all organizations. + format: int64 + type: integer + infra_cpu_default_infra_host_vcpu_opentelemetry_sum: + description: Shows the sum of all default Infrastructure host vCPU cores reported by OpenTelemetry over all hours in the current date for all organizations. + format: int64 + type: integer + infra_cpu_observed_infra_host_vcpu_agent_avg: + description: Shows the average of all observed Infrastructure host vCPU cores reported by the Datadog Agent over all hours in the current date for all organizations. + format: int64 + type: integer + infra_cpu_observed_infra_host_vcpu_agent_sum: + description: Shows the sum of all observed Infrastructure host vCPU cores reported by the Datadog Agent over all hours in the current date for all organizations. + format: int64 + type: integer + infra_cpu_observed_infra_host_vcpu_aws_avg: + description: Shows the average of all observed Infrastructure host vCPU cores on AWS over all hours in the current date for all organizations. + format: int64 + type: integer + infra_cpu_observed_infra_host_vcpu_aws_sum: + description: Shows the sum of all observed Infrastructure host vCPU cores on AWS over all hours in the current date for all organizations. + format: int64 + type: integer + infra_cpu_observed_infra_host_vcpu_azure_avg: + description: Shows the average of all observed Infrastructure host vCPU cores on Azure over all hours in the current date for all organizations. + format: int64 + type: integer + infra_cpu_observed_infra_host_vcpu_azure_sum: + description: Shows the sum of all observed Infrastructure host vCPU cores on Azure over all hours in the current date for all organizations. + format: int64 + type: integer + infra_cpu_observed_infra_host_vcpu_gcp_avg: + description: Shows the average of all observed Infrastructure host vCPU cores on GCP over all hours in the current date for all organizations. + format: int64 + type: integer + infra_cpu_observed_infra_host_vcpu_gcp_sum: + description: Shows the sum of all observed Infrastructure host vCPU cores on GCP over all hours in the current date for all organizations. + format: int64 + type: integer + infra_cpu_observed_infra_host_vcpu_nutanix_avg: + description: Shows the average of all observed Infrastructure host vCPU cores on Nutanix over all hours in the current date for all organizations. + format: int64 + type: integer + infra_cpu_observed_infra_host_vcpu_nutanix_sum: + description: Shows the sum of all observed Infrastructure host vCPU cores on Nutanix over all hours in the current date for all organizations. + format: int64 + type: integer + infra_cpu_observed_infra_host_vcpu_opentelemetry_avg: + description: Shows the average of all observed Infrastructure host vCPU cores reported by OpenTelemetry over all hours in the current date for all organizations. + format: int64 + type: integer + infra_cpu_observed_infra_host_vcpu_opentelemetry_sum: + description: Shows the sum of all observed Infrastructure host vCPU cores reported by OpenTelemetry over all hours in the current date for all organizations. + format: int64 + type: integer + infra_cpu_sum: + description: Shows the sum of all Infrastructure vCPU cores over all hours in the current date for all organizations. + format: int64 + type: integer + infra_edge_monitoring_devices_top99p: + description: Shows the 99th percentile of all Edge Devices Monitoring devices over all hours in the current date for all organizations. + format: int64 + type: integer + infra_host_basic_infra_basic_agent_top99p: + description: Shows the 99th percentile of all distinct infrastructure hosts for Basic tier with the Datadog Agent over all hours in the current date for all organizations. + format: int64 + type: integer + infra_host_basic_infra_basic_vsphere_top99p: + description: Shows the 99th percentile of all distinct infrastructure hosts for Basic tier on vSphere over all hours in the current date for all organizations. + format: int64 + type: integer + infra_host_basic_top99p: + description: Shows the 99th percentile of all distinct infrastructure hosts for Basic tier over all hours in the current date for all organizations. + format: int64 + type: integer + infra_host_top99p: + description: Shows the 99th percentile of all distinct infrastructure hosts over all hours in the current date for all organizations. + format: int64 + type: integer + infra_storage_mgmt_objects_count_avg: + description: Shows the average number of storage management objects over all hours in the current date for all organizations. + format: int64 + type: integer + ingest_points_sum: + description: Shows the sum of all ingested custom metrics points over all hours in the current date for all organizations. + format: int64 + type: integer + ingested_events_bytes_sum: + description: Shows the sum of all log bytes ingested over all hours in the current date for all organizations. + format: int64 + type: integer + iot_apm_host_sum: + description: Shows the sum of all Application Performance Monitoring IoT hosts over all hours in the current date for all organizations. + format: int64 + type: integer + iot_apm_host_top99p: + description: Shows the 99th percentile of all Application Performance Monitoring IoT hosts over all hours in the current date for all organizations. + format: int64 + type: integer + iot_device_sum: + description: Shows the sum of all IoT devices over all hours in the current date for all organizations. + format: int64 + type: integer + iot_device_top99p: + description: Shows the 99th percentile of all IoT devices over all hours in the current date all organizations. + format: int64 + type: integer + llm_observability_15day_retention_spans_sum: + description: Shows the sum of all Agent Observability 15-day retention spans over all hours in the current date for all organizations. + format: int64 + type: integer + llm_observability_30day_retention_spans_sum: + description: Shows the sum of all Agent Observability 30-day retention spans over all hours in the current date for all organizations. + format: int64 + type: integer + llm_observability_60day_retention_spans_sum: + description: Shows the sum of all Agent Observability 60-day retention spans over all hours in the current date for all organizations. + format: int64 + type: integer + llm_observability_90day_retention_spans_sum: + description: Shows the sum of all Agent Observability 90-day retention spans over all hours in the current date for all organizations. + format: int64 + type: integer + llm_observability_min_spend_sum: + description: Sum of all Agent observability minimum spend over all hours in the current date for all organizations. + format: int64 + type: integer + llm_observability_sum: + description: Sum of all Agent observability sessions over all hours in the current date for all organizations. + format: int64 + type: integer + logs_archive_search_gb_scanned_sum: + description: Shows the sum of all Logs Archive Search scanned data over all hours in the current date for all organizations. + format: int64 + type: integer + metric_names_sum: + description: Shows the sum of all custom metric names over all hours in the current date for all organizations. + format: int64 + type: integer + mobile_rum_lite_session_count_sum: + deprecated: true + description: Shows the sum of all mobile lite sessions over all hours in the current date for all organizations (To be deprecated on October 1st, 2024). + format: int64 + type: integer + mobile_rum_session_count_android_sum: + deprecated: true + description: Shows the sum of all mobile RUM sessions on Android over all hours in the current date for all organizations (To be deprecated on October 1st, 2024). + format: int64 + type: integer + mobile_rum_session_count_flutter_sum: + deprecated: true + description: Shows the sum of all mobile RUM sessions on Flutter over all hours in the current date for all organizations (To be deprecated on October 1st, 2024). + format: int64 + type: integer + mobile_rum_session_count_ios_sum: + deprecated: true + description: Shows the sum of all mobile RUM sessions on iOS over all hours in the current date for all organizations (To be deprecated on October 1st, 2024). + format: int64 + type: integer + mobile_rum_session_count_reactnative_sum: + deprecated: true + description: Shows the sum of all mobile RUM sessions on React Native over all hours in the current date for all organizations (To be deprecated on October 1st, 2024). + format: int64 + type: integer + mobile_rum_session_count_roku_sum: + deprecated: true + description: Shows the sum of all mobile RUM sessions on Roku over all hours in the current date for all organizations (To be deprecated on October 1st, 2024). + format: int64 + type: integer + mobile_rum_session_count_sum: + deprecated: true + description: Shows the sum of all mobile RUM sessions over all hours in the current date for all organizations (To be deprecated on October 1st, 2024). + format: int64 + type: integer + mobile_rum_units_sum: + deprecated: true + description: Shows the sum of all mobile RUM units over all hours in the current date for all organizations (To be deprecated on October 1st, 2024). + format: int64 + type: integer + ndm_netflow_events_sum: + description: Shows the sum of all Network Device Monitoring NetFlow events over all hours in the current date for the given org. + format: int64 + type: integer + netflow_indexed_events_count_sum: + deprecated: true + description: Shows the sum of all Network flows indexed over all hours in the current date for all organizations (To be deprecated on October 1st, 2024). + format: int64 + type: integer + network_device_wireless_top99p: + description: Shows the 99th percentile of all Network Device Monitoring wireless devices over all hours in the current date for all organizations. + format: int64 + type: integer + network_path_sum: + description: Shows the sum of all Network Path scheduled tests over all hours in the current date for all organizations. + format: int64 + type: integer + npm_host_top99p: + description: Shows the 99th percentile of all distinct Cloud Network Monitoring hosts (formerly known as Network hosts) over all hours in the current date for all organizations. + format: int64 + type: integer + observability_pipelines_bytes_processed_sum: + description: Sum of all observability pipelines bytes processed over all hours in the current date for the given org. + format: int64 + type: integer + oci_host_sum: + description: Shows the sum of all Oracle Cloud Infrastructure hosts over all hours in the current date for the given org. + format: int64 + type: integer + oci_host_top99p: + description: Shows the 99th percentile of all Oracle Cloud Infrastructure hosts over all hours in the current date for the given org. + format: int64 + type: integer + on_call_seat_hwm: + description: Shows the high-water mark of On-Call seats over all hours in the current date for all organizations. + format: int64 + type: integer + online_archive_events_count_sum: + description: Sum of all online archived events over all hours in the current date for all organizations. + format: int64 + type: integer + opentelemetry_apm_host_top99p: + description: Shows the 99th percentile of APM hosts reported by the Datadog exporter for the OpenTelemetry Collector over all hours in the current date for all organizations. + format: int64 + type: integer + opentelemetry_host_top99p: + description: Shows the 99th percentile of all hosts reported by the Datadog exporter for the OpenTelemetry Collector over all hours in the current date for all organizations. + format: int64 + type: integer + orgs: + description: Organizations associated with a user. items: - $ref: '#/components/schemas/ApplicationKeyResponseIncludedItem' + $ref: '#/components/schemas/UsageSummaryDateOrg' type: array + product_analytics_sum: + description: Sum of all product analytics sessions over all hours in the current date for all organizations. + format: int64 + type: integer + profiling_aas_count_top99p: + description: Shows the 99th percentile of all profiled Azure app services over all hours in the current date for all organizations. + format: int64 + type: integer + profiling_host_top99p: + description: Shows the 99th percentile of all profiled hosts over all hours within the current date for all organizations. + format: int64 + type: integer + proxmox_host_sum: + description: Sum of all Proxmox hosts over all hours in the current date for all organizations. + format: int64 + type: integer + proxmox_host_top99p: + description: 99th percentile of all Proxmox hosts over all hours in the current date for all organizations. + format: int64 + type: integer + published_app_hwm: + description: Shows the high-water mark of all published applications over all hours in the current date for all organizations. + format: int64 + type: integer + rum_browser_and_mobile_session_count: + description: Shows the sum of all mobile sessions and all browser lite and legacy sessions over all hours in the current month for all organizations (To be deprecated on October 1st, 2024). + format: int64 + type: integer + rum_browser_legacy_session_count_sum: + description: Shows the sum of all browser RUM legacy sessions over all hours in the current date for all organizations (To be introduced on October 1st, 2024). + format: int64 + type: integer + rum_browser_lite_session_count_sum: + description: Shows the sum of all browser RUM lite sessions over all hours in the current date for all organizations (To be introduced on October 1st, 2024). + format: int64 + type: integer + rum_browser_replay_session_count_sum: + description: Shows the sum of all browser RUM Session Replay counts over all hours in the current date for all organizations (To be introduced on October 1st, 2024). + format: int64 + type: integer + rum_indexed_sessions_sum: + description: Sum of all RUM indexed sessions over all hours in the current date for all organizations. + format: int64 + type: integer + rum_ingested_sessions_sum: + description: Sum of all RUM ingested sessions over all hours in the current date for all organizations. + format: int64 + type: integer + rum_lite_session_count_sum: + description: Shows the sum of all RUM lite sessions (browser and mobile) over all hours in the current date for all organizations (To be introduced on October 1st, 2024). + format: int64 + type: integer + rum_mobile_legacy_session_count_android_sum: + description: Shows the sum of all mobile RUM legacy sessions on Android over all hours in the current date for all organizations (To be introduced on October 1st, 2024). + format: int64 + type: integer + rum_mobile_legacy_session_count_flutter_sum: + description: Shows the sum of all mobile RUM legacy Sessions on Flutter over all hours in the current date for all organizations (To be introduced on October 1st, 2024). + format: int64 + type: integer + rum_mobile_legacy_session_count_ios_sum: + description: Shows the sum of all mobile RUM legacy sessions on iOS over all hours in the current date for all organizations (To be introduced on October 1st, 2024). + format: int64 + type: integer + rum_mobile_legacy_session_count_reactnative_sum: + description: Shows the sum of all mobile RUM legacy sessions on React Native over all hours in the current date for all organizations (To be introduced on October 1st, 2024). + format: int64 + type: integer + rum_mobile_legacy_session_count_roku_sum: + description: Shows the sum of all mobile RUM legacy sessions on Roku over all hours in the current date for all organizations (To be introduced on October 1st, 2024). + format: int64 + type: integer + rum_mobile_lite_session_count_android_sum: + description: Shows the sum of all mobile RUM lite sessions on Android over all hours in the current date for all organizations (To be introduced on October 1st, 2024). + format: int64 + type: integer + rum_mobile_lite_session_count_flutter_sum: + description: Shows the sum of all mobile RUM lite sessions on Flutter over all hours in the current date for all organizations (To be introduced on October 1st, 2024). + format: int64 + type: integer + rum_mobile_lite_session_count_ios_sum: + description: Shows the sum of all mobile RUM lite sessions on iOS over all hours in the current date for all organizations (To be introduced on October 1st, 2024). + format: int64 + type: integer + rum_mobile_lite_session_count_kotlinmultiplatform_sum: + description: Shows the sum of all mobile RUM lite sessions on Kotlin Multiplatform over all hours within the current date for all organizations. + format: int64 + type: integer + rum_mobile_lite_session_count_reactnative_sum: + description: Shows the sum of all mobile RUM lite sessions on React Native over all hours in the current date for all organizations (To be introduced on October 1st, 2024). + format: int64 + type: integer + rum_mobile_lite_session_count_roku_sum: + description: Shows the sum of all mobile RUM lite sessions on Roku over all hours within the current date for all organizations (To be introduced on October 1st, 2024). + format: int64 + type: integer + rum_mobile_lite_session_count_unity_sum: + description: Shows the sum of all mobile RUM lite sessions on Unity over all hours within the current date for all organizations. + format: int64 + type: integer + rum_mobile_replay_session_count_android_sum: + description: Shows the sum of all mobile RUM replay sessions on Android over all hours within the current date for the given org. + format: int64 + type: integer + rum_mobile_replay_session_count_ios_sum: + description: Shows the sum of all mobile RUM replay sessions on iOS over all hours within the current date for the given org. + format: int64 + type: integer + rum_mobile_replay_session_count_kotlinmultiplatform_sum: + description: Shows the sum of all mobile RUM replay sessions on Kotlin Multiplatform over all hours within the current date for all organizations. + format: int64 + type: integer + rum_mobile_replay_session_count_reactnative_sum: + description: Shows the sum of all mobile RUM replay sessions on React Native over all hours within the current date for the given org. + format: int64 + type: integer + rum_replay_session_count_sum: + description: Shows the sum of all RUM Session Replay counts over all hours in the current date for all organizations (To be introduced on October 1st, 2024). + format: int64 + type: integer + rum_session_count_sum: + deprecated: true + description: Shows the sum of all browser RUM lite sessions over all hours in the current date for all organizations (To be deprecated on October 1st, 2024). + format: int64 + type: integer + rum_session_replay_add_on_sum: + description: Sum of all RUM session replay add-on sessions over all hours in the current date for all organizations. + format: int64 + type: integer + rum_total_session_count_sum: + description: Shows the sum of RUM sessions (browser and mobile) over all hours in the current date for all organizations. + format: int64 + type: integer + rum_units_sum: + deprecated: true + description: Shows the sum of all browser and mobile RUM units over all hours in the current date for all organizations (To be deprecated on October 1st, 2024). + format: int64 + type: integer + sca_fargate_count_avg: + description: Shows the average of all Software Composition Analysis Fargate tasks over all hours in the current date for the given org. + format: int64 + type: integer + sca_fargate_count_hwm: + description: Shows the sum of the high-water marks of all Software Composition Analysis Fargate tasks over all hours in the current date for the given org. + format: int64 + type: integer + sds_apm_scanned_bytes_sum: + description: Sum of all APM bytes scanned with sensitive data scanner over all hours in the current date for all organizations. + format: int64 + type: integer + sds_events_scanned_bytes_sum: + description: Sum of all event stream events bytes scanned with sensitive data scanner over all hours in the current date for all organizations. + format: int64 + type: integer + sds_logs_scanned_bytes_sum: + description: Shows the sum of all bytes scanned of logs usage by the Sensitive Data Scanner over all hours in the current month for all organizations. + format: int64 + type: integer + sds_rum_scanned_bytes_sum: + description: Sum of all RUM bytes scanned with sensitive data scanner over all hours in the current date for all organizations. + format: int64 + type: integer + sds_total_scanned_bytes_sum: + description: Shows the sum of all bytes scanned across all usage types by the Sensitive Data Scanner over all hours in the current month for all organizations. + format: int64 + type: integer + serverless_apps_apm_apm_azure_appservice_instances_avg: + description: Shows the average number of Serverless Apps with Application Performance Monitoring for Azure App Service instances for the current date for all organizations. + format: int64 + type: integer + serverless_apps_apm_apm_azure_azurefunction_instances_avg: + description: Shows the average number of Serverless Apps with Application Performance Monitoring for Azure Function instances for the current date for all organizations. + format: int64 + type: integer + serverless_apps_apm_apm_azure_containerapp_instances_avg: + description: Shows the average number of Serverless Apps with Application Performance Monitoring for Azure Container App instances for the current date for all organizations. + format: int64 + type: integer + serverless_apps_apm_apm_fargate_ecs_tasks_avg: + description: Shows the average number of Serverless Apps with Application Performance Monitoring for Fargate Elastic Container Service tasks for the current date for all organizations. + format: int64 + type: integer + serverless_apps_apm_apm_gcp_cloudfunction_instances_avg: + description: Shows the average number of Serverless Apps with Application Performance Monitoring for Google Cloud Platform Cloud Function instances for the current date for all organizations. + format: int64 + type: integer + serverless_apps_apm_apm_gcp_cloudrun_instances_avg: + description: Shows the average number of Serverless Apps with Application Performance Monitoring for Google Cloud Platform Cloud Run instances for the current date for all organizations. + format: int64 + type: integer + serverless_apps_apm_apm_gcp_gke_autopilot_pods_avg: + description: Shows the average number of Serverless Apps with Application Performance Monitoring for Google Kubernetes Engine Autopilot pods for the current date for all organizations. + format: int64 + type: integer + serverless_apps_apm_avg: + description: Shows the average number of Serverless Apps with Application Performance Monitoring for the current date for all organizations. + format: int64 + type: integer + serverless_apps_apm_excl_fargate_apm_azure_appservice_instances_avg: + description: Shows the average number of Serverless Apps with Application Performance Monitoring excluding Fargate for Azure App Service instances for the current date for all organizations. + format: int64 + type: integer + serverless_apps_apm_excl_fargate_apm_azure_azurefunction_instances_avg: + description: Shows the average number of Serverless Apps with Application Performance Monitoring excluding Fargate for Azure Function instances for the current date for all organizations. + format: int64 + type: integer + serverless_apps_apm_excl_fargate_apm_azure_containerapp_instances_avg: + description: Shows the average number of Serverless Apps with Application Performance Monitoring excluding Fargate for Azure Container App instances for the current date for all organizations. + format: int64 + type: integer + serverless_apps_apm_excl_fargate_apm_gcp_cloudfunction_instances_avg: + description: Shows the average number of Serverless Apps with Application Performance Monitoring excluding Fargate for Google Cloud Platform Cloud Function instances for the current date for all organizations. + format: int64 + type: integer + serverless_apps_apm_excl_fargate_apm_gcp_cloudrun_instances_avg: + description: Shows the average number of Serverless Apps with Application Performance Monitoring excluding Fargate for Google Cloud Platform Cloud Run instances for the current date for all organizations. + format: int64 + type: integer + serverless_apps_apm_excl_fargate_apm_gcp_gke_autopilot_pods_avg: + description: Shows the average number of Serverless Apps with Application Performance Monitoring excluding Fargate for Google Kubernetes Engine Autopilot pods for the current date for all organizations. + format: int64 + type: integer + serverless_apps_apm_excl_fargate_avg: + description: Shows the average number of Serverless Apps with Application Performance Monitoring excluding Fargate for the current date for all organizations. + format: int64 + type: integer + serverless_apps_azure_container_app_instances_avg: + description: Shows the average number of Serverless Apps for Azure Container App instances for the current date for all organizations. + format: int64 + type: integer + serverless_apps_azure_count_avg: + description: Shows the average number of Serverless Apps for Azure for the given date and given org. + format: int64 + type: integer + serverless_apps_azure_function_app_instances_avg: + description: Shows the average number of Serverless Apps for Azure Function App instances for the current date for all organizations. + format: int64 + type: integer + serverless_apps_azure_web_app_instances_avg: + description: Shows the average number of Serverless Apps for Azure Web App instances for the current date for all organizations. + format: int64 + type: integer + serverless_apps_dsm_fargate_tasks_avg: + description: Shows the average number of DSM Fargate ECS tasks monitored under Serverless Apps DSM for the current date for all organizations. + format: int64 + type: integer + serverless_apps_ecs_avg: + description: Shows the average number of Serverless Apps for Elastic Container Service for the current date for all organizations. + format: int64 + type: integer + serverless_apps_eks_avg: + description: Shows the average number of Serverless Apps for Elastic Kubernetes Service for the current date for all organizations. + format: int64 + type: integer + serverless_apps_excl_fargate_avg: + description: Shows the average number of Serverless Apps excluding Fargate for the current date for all organizations. + format: int64 + type: integer + serverless_apps_excl_fargate_azure_container_app_instances_avg: + description: Shows the average number of Serverless Apps excluding Fargate for Azure Container App instances for the current date for all organizations. + format: int64 + type: integer + serverless_apps_excl_fargate_azure_function_app_instances_avg: + description: Shows the average number of Serverless Apps excluding Fargate for Azure Function App instances for the current date for all organizations. + format: int64 + type: integer + serverless_apps_excl_fargate_azure_web_app_instances_avg: + description: Shows the average number of Serverless Apps excluding Fargate for Azure Web App instances for the current date for all organizations. + format: int64 + type: integer + serverless_apps_excl_fargate_google_cloud_functions_instances_avg: + description: Shows the average number of Serverless Apps excluding Fargate for Google Cloud Platform Cloud Functions instances for the current date for all organizations. + format: int64 + type: integer + serverless_apps_excl_fargate_google_cloud_run_instances_avg: + description: Shows the average number of Serverless Apps excluding Fargate for Google Cloud Platform Cloud Run instances for the current date for all organizations. + format: int64 + type: integer + serverless_apps_excl_fargate_infra_gcp_gke_autopilot_pods_avg: + description: Shows the average number of Serverless Apps excluding Fargate for Google Kubernetes Engine Autopilot pods for the current date for all organizations. + format: int64 + type: integer + serverless_apps_google_cloud_functions_instances_avg: + description: Shows the average number of Serverless Apps for Google Cloud Platform Cloud Functions instances for the current date for all organizations. + format: int64 + type: integer + serverless_apps_google_cloud_run_instances_avg: + description: Shows the average number of Serverless Apps for Google Cloud Platform Cloud Run instances for the current date for all organizations. + format: int64 + type: integer + serverless_apps_google_count_avg: + description: Shows the average number of Serverless Apps for Google Cloud for the given date and given org. + format: int64 + type: integer + serverless_apps_infra_gcp_gke_autopilot_pods_avg: + description: Shows the average number of Serverless Apps for Google Kubernetes Engine Autopilot pods for the current date for all organizations. + format: int64 + type: integer + serverless_apps_total_count_avg: + description: Shows the average number of Serverless Apps for Azure and Google Cloud for the given date and given org. + format: int64 + type: integer + siem_12mo_retention_sum: + description: Shows the sum of Cloud SIEM Indexed Logs (12-month retention) over all hours in the current date for the given org. + format: int64 + type: integer + siem_6mo_retention_sum: + description: Shows the sum of Cloud SIEM Indexed Logs (6-month retention) over all hours in the current date for the given org. + format: int64 + type: integer + siem_analyzed_logs_add_on_count_sum: + description: Shows the sum of all log events analyzed by Cloud SIEM over all hours in the current date for the given org. + format: int64 + type: integer + snmp_device_count_sum: + description: Shows the sum of all Network Device Monitoring devices over all hours in the current date for all organizations. + format: int64 + type: integer + snmp_device_count_top99p: + description: Shows the 99th percentile of all Network Device Monitoring devices over all hours in the current date for all organizations. + format: int64 + type: integer + synthetics_browser_check_calls_count_sum: + description: Shows the sum of all Synthetic browser tests over all hours in the current date for all organizations. + format: int64 + type: integer + synthetics_check_calls_count_sum: + description: Shows the sum of all Synthetic API tests over all hours in the current date for all organizations. + format: int64 + type: integer + synthetics_mobile_test_runs_sum: + description: Shows the sum of all Synthetic mobile application tests over all hours in the current date for all organizations. + format: int64 + type: integer + synthetics_parallel_testing_max_slots_hwm: + description: Shows the high-water mark of used synthetics parallel testing slots over all hours in the current date for all organizations. + format: int64 + type: integer + trace_search_indexed_events_count_sum: + description: Shows the sum of all Indexed Spans indexed over all hours in the current date for all organizations. + format: int64 + type: integer + twol_ingested_events_bytes_sum: + description: Shows the sum of all ingested APM span bytes over all hours in the current date for all organizations. + format: int64 + type: integer + universal_service_monitoring_host_top99p: + description: Shows the 99th percentile of all universal service management hosts over all hours in the current date for the given org. + format: int64 + type: integer + vsphere_host_top99p: + description: Shows the 99th percentile of all vSphere hosts over all hours in the current date for all organizations. + format: int64 + type: integer + vuln_management_host_count_top99p: + description: Shows the 99th percentile of all Application Vulnerability Management hosts over all hours in the current date for the given org. + format: int64 + type: integer + workflow_executions_usage_sum: + description: Sum of all workflows executed over all hours in the current date for all organizations. + format: int64 + type: integer type: object - ListTeamsSort: - description: Specifies the order of the returned teams - enum: - - name - - '-name' - - user_count - - '-user_count' - type: string - x-enum-varnames: - - NAME - - _NAME - - USER_COUNT - - _USER_COUNT - ListTeamsInclude: - description: Included related resources optionally requested. - enum: - - team_links - - user_team_permissions - type: string - x-enum-varnames: - - TEAM_LINKS - - USER_TEAM_PERMISSIONS - TeamsField: - description: Supported teams field. - enum: - - id - - name - - handle - - summary - - description - - avatar - - banner - - visible_modules - - hidden_modules - - created_at - - modified_at - - user_count - - link_count - - team_links - - user_team_permissions - type: string - x-enum-varnames: - - ID - - NAME - - HANDLE - - SUMMARY - - DESCRIPTION - - AVATAR - - BANNER - - VISIBLE_MODULES - - HIDDEN_MODULES - - CREATED_AT - - MODIFIED_AT - - USER_COUNT - - LINK_COUNT - - TEAM_LINKS - - USER_TEAM_PERMISSIONS - TeamsResponse: - description: Response with multiple teams + x-keep-typed-in-additional-properties: true + UsageSyntheticsHour: + description: The number of synthetics tests run for each hour for a given organization. properties: - data: - description: Teams response data - items: - $ref: '#/components/schemas/Team' - type: array - included: - description: Resources related to the team - items: - $ref: '#/components/schemas/TeamIncluded' - type: array - links: - $ref: '#/components/schemas/TeamsResponseLinks' - meta: - $ref: '#/components/schemas/TeamsResponseMeta' + check_calls_count: + description: Contains the number of Synthetics API tests run. + format: int64 + type: integer + hour: + description: The hour for the usage. + format: date-time + type: string + org_name: + description: The organization name. + type: string + public_id: + description: The organization public ID. + type: string type: object - TeamCreateRequest: - description: Request to create a team + UsageSyntheticsAPIHour: + description: Number of Synthetics API tests run for each hour for a given organization. properties: - data: - $ref: '#/components/schemas/TeamCreate' - required: - - data + check_calls_count: + description: Contains the number of Synthetics API tests run. + format: int64 + nullable: true + type: integer + hour: + description: The hour for the usage. + format: date-time + type: string + org_name: + description: The organization name. + type: string + public_id: + description: The organization public ID. + type: string type: object - TeamResponse: - description: Response with a team + UsageSyntheticsBrowserHour: + description: Number of Synthetics Browser tests run for each hour for a given organization. properties: - data: - $ref: '#/components/schemas/Team' + browser_check_calls_count: + description: Contains the number of Synthetics Browser tests run. + format: int64 + nullable: true + type: integer + hour: + description: The hour for the usage. + format: date-time + type: string + org_name: + description: The organization name. + type: string + public_id: + description: The organization public ID. + type: string type: object - TeamSyncRequest: - description: Team sync request. - example: - data: - attributes: - source: github - type: link - type: team_sync_bulk + UsageTimeseriesHour: + description: The hourly usage of timeseries. properties: - data: - $ref: '#/components/schemas/TeamSyncData' - required: - - data + hour: + description: The hour for the usage. + format: date-time + type: string + num_custom_input_timeseries: + description: Contains the number of custom metrics that are inputs for aggregations (metric configured is custom). + format: int64 + type: integer + num_custom_output_timeseries: + description: Contains the number of custom metrics that are outputs for aggregations (metric configured is custom). + format: int64 + type: integer + num_custom_timeseries: + description: Contains sum of non-aggregation custom metrics and custom metrics that are outputs for aggregations. + format: int64 + type: integer + org_name: + description: The organization name. + type: string + public_id: + description: The organization public ID. + type: string type: object - AddMemberTeamRequest: - description: Request to add a member team to super team's hierarchy + UsageTopAvgMetricsMetadata: + description: The object containing document metadata. properties: - data: - $ref: '#/components/schemas/MemberTeam' - required: - - data + day: + description: The day value from the user request that contains the returned usage data. (If day was used the request) + format: date-time + type: string + month: + description: The month value from the user request that contains the returned usage data. (If month was used the request) + format: date-time + type: string + pagination: + $ref: '#/components/schemas/UsageTopAvgMetricsPagination' type: object - TeamUpdateRequest: - description: Team update request + UsageTopAvgMetricsHour: + description: Number of hourly recorded custom metrics for a given organization. properties: - data: - $ref: '#/components/schemas/TeamUpdate' - required: - - data + avg_metric_hour: + description: Average number of timeseries per hour in which the metric occurs. + format: int64 + type: integer + max_metric_hour: + description: Maximum number of timeseries per hour in which the metric occurs. + format: int64 + type: integer + metric_category: + $ref: '#/components/schemas/UsageMetricCategory' + metric_name: + description: Contains the custom metric name. + type: string type: object - TeamLinksResponse: - description: Team links response + AccessRole: + description: The access role of the user. Options are **st** (standard user), **adm** (admin user), or **ro** (read-only user). + enum: + - st + - adm + - ro + - ERROR + example: ro + nullable: true + type: string + x-enum-varnames: + - STANDARD + - ADMIN + - READ_ONLY + - ERROR + AnonymizeUsersRequestAttributes: + description: Attributes of an anonymize users request. properties: - data: - description: Team links response data + user_ids: + description: List of user IDs (UUIDs) to anonymize. + example: + - 00000000-0000-0000-0000-000000000000 items: - $ref: '#/components/schemas/TeamLink' + example: 00000000-0000-0000-0000-000000000000 + type: string type: array - type: object - TeamLinkCreateRequest: - description: Team link create request - properties: - data: - $ref: '#/components/schemas/TeamLinkCreate' required: - - data - type: object - TeamLinkResponse: - description: Team link response - properties: - data: - $ref: '#/components/schemas/TeamLink' + - user_ids type: object - GetTeamMembershipsSort: - description: Specifies the order of returned team memberships + AnonymizeUsersRequestType: + default: anonymize_users_request + description: Type of the anonymize users request. enum: - - manager_name - - '-manager_name' - - name - - '-name' - - handle - - '-handle' - - email - - '-email' + - anonymize_users_request + example: anonymize_users_request type: string x-enum-varnames: - - MANAGER_NAME - - _MANAGER_NAME - - NAME - - _NAME - - HANDLE - - _HANDLE - - EMAIL - - _EMAIL - UserTeamsResponse: - description: Team memberships response + - ANONYMIZE_USERS_REQUEST + AnonymizeUsersResponseAttributes: + description: Attributes of an anonymize users response. properties: - data: - description: Team memberships response data + anonymize_errors: + description: List of errors encountered during anonymization, one entry per failed user. items: - $ref: '#/components/schemas/UserTeam' + $ref: '#/components/schemas/AnonymizeUserError' type: array - included: - description: Resources related to the team memberships + anonymized_user_ids: + description: List of user IDs (UUIDs) that were successfully anonymized. + example: + - 00000000-0000-0000-0000-000000000000 items: - $ref: '#/components/schemas/UserTeamIncluded' + example: 00000000-0000-0000-0000-000000000000 + type: string type: array - links: - $ref: '#/components/schemas/TeamsResponseLinks' - meta: - $ref: '#/components/schemas/TeamsResponseMeta' - type: object - UserTeamRequest: - description: Team membership request - properties: - data: - $ref: '#/components/schemas/UserTeamCreate' required: - - data - type: object - UserTeamResponse: - description: Team membership response - properties: - data: - $ref: '#/components/schemas/UserTeam' - included: - description: Resources related to the team memberships - items: - $ref: '#/components/schemas/UserTeamIncluded' - type: array + - anonymized_user_ids + - anonymize_errors type: object - UserTeamUpdateRequest: - description: Team membership request + AnonymizeUsersResponseType: + default: anonymize_users_response + description: Type of the anonymize users response. + enum: + - anonymize_users_response + example: anonymize_users_response + type: string + x-enum-varnames: + - ANONYMIZE_USERS_RESPONSE + PartialAPIKeyAttributes: + description: Attributes of a partial API key. properties: - data: - $ref: '#/components/schemas/UserTeamUpdate' - required: - - data + category: + description: The category of the API key. + type: string + created_at: + description: Creation date of the API key. + example: '2020-11-23T10:00:00.000Z' + readOnly: true + type: string + date_last_used: + description: Date the API Key was last used. + example: '2020-11-27T10:00:00.000Z' + format: date-time + nullable: true + readOnly: true + type: string + last4: + description: The last four characters of the API key. + example: abcd + maxLength: 4 + minLength: 4 + readOnly: true + type: string + modified_at: + description: Date the API key was last modified. + example: '2020-11-23T10:00:00.000Z' + readOnly: true + type: string + name: + description: Name of the API key. + example: API Key for submitting metrics + type: string + remote_config_read_enabled: + description: The remote config read enabled status. + type: boolean type: object - TeamPermissionSettingsResponse: - description: Team permission settings response + APIKeyRelationships: + description: Resources related to the API key. properties: - data: - description: Team permission settings response data - items: - $ref: '#/components/schemas/TeamPermissionSetting' - type: array + created_by: + $ref: '#/components/schemas/RelationshipToUser' + modified_by: + $ref: '#/components/schemas/NullableRelationshipToUser' type: object - TeamPermissionSettingUpdateRequest: - description: Team permission setting update request + APIKeysType: + default: api_keys + description: API Keys resource type. + enum: + - api_keys + example: api_keys + type: string + x-enum-varnames: + - API_KEYS + LeakedKey: + description: The definition of LeakedKey object. properties: - data: - $ref: '#/components/schemas/TeamPermissionSettingUpdate' + attributes: + $ref: '#/components/schemas/LeakedKeyAttributes' + id: + description: The LeakedKey id. + example: id + type: string + type: + $ref: '#/components/schemas/LeakedKeyType' required: - - data + - attributes + - id + - type type: object - TeamPermissionSettingResponse: - description: Team permission setting response + APIKeysResponseMetaPage: + description: Additional information related to the API keys response. properties: - data: - $ref: '#/components/schemas/TeamPermissionSetting' + total_filtered_count: + description: Total filtered application key count. + format: int64 + type: integer type: object - UsageApplicationSecurityMonitoringResponse: - description: Application Security Monitoring usage response. + APIKeyCreateAttributes: + description: Attributes used to create an API Key. properties: - data: - description: Response containing Application Security Monitoring usage. - items: - $ref: '#/components/schemas/UsageDataObject' - type: array + category: + description: The APIKeyCreateAttributes category. + type: string + name: + description: Name of the API key. + example: API Key for submitting metrics + type: string + remote_config_read_enabled: + description: The APIKeyCreateAttributes remote_config_read_enabled. + type: boolean + required: + - name type: object - BillingDimensionsMappingResponse: - description: Billing dimensions mapping response. + FullAPIKeyAttributes: + description: Attributes of a full API key. properties: - data: - $ref: '#/components/schemas/BillingDimensionsMappingBody' + category: + description: The category of the API key. + type: string + created_at: + description: Creation date of the API key. + example: '2020-11-23T10:00:00.000Z' + format: date-time + readOnly: true + type: string + date_last_used: + description: Date the API Key was last used + example: '2020-11-27T10:00:00.000Z' + format: date-time + nullable: true + readOnly: true + type: string + key: + description: The API key. + readOnly: true + type: string + last4: + description: The last four characters of the API key. + example: abcd + maxLength: 4 + minLength: 4 + readOnly: true + type: string + modified_at: + description: Date the API key was last modified. + example: '2020-11-23T10:00:00.000Z' + format: date-time + readOnly: true + type: string + name: + description: Name of the API key. + example: API Key for submitting metrics + type: string + remote_config_read_enabled: + description: The remote config read enabled status. + type: boolean type: object - CostByOrgResponse: - description: Chargeback Summary response. + APIKeyUpdateAttributes: + description: Attributes used to update an API Key. properties: - data: - description: Response containing Chargeback Summary. - items: - $ref: '#/components/schemas/CostByOrg' - type: array + category: + description: The APIKeyUpdateAttributes category. + type: string + name: + description: Name of the API key. + example: API Key for submitting metrics + type: string + remote_config_read_enabled: + description: The APIKeyUpdateAttributes remote_config_read_enabled. + type: boolean + required: + - name type: object - HourlyUsageResponse: - description: Hourly usage response. + PartialApplicationKeyAttributes: + description: Attributes of a partial application key. properties: - data: - description: Response containing hourly usage. + created_at: + description: Creation date of the application key. + example: '2020-11-23T10:00:00.000Z' + readOnly: true + type: string + last4: + description: The last four characters of the application key. + example: abcd + maxLength: 4 + minLength: 4 + readOnly: true + type: string + last_used_at: + description: Last usage timestamp of the application key. + example: '2020-12-20T10:00:00.000Z' + nullable: true + readOnly: true + type: string + name: + description: Name of the application key. + example: Application Key for managing dashboards + type: string + scopes: + description: Array of scopes to grant the application key. + example: + - dashboards_read + - dashboards_write + - dashboards_public_share items: - $ref: '#/components/schemas/HourlyUsage' + description: Name of scope. + type: string + nullable: true type: array - meta: - $ref: '#/components/schemas/HourlyUsageMetadata' type: object - UsageLambdaTracedInvocationsResponse: - description: Lambda Traced Invocations usage response. + ApplicationKeyRelationships: + description: Resources related to the application key. properties: - data: - description: Response containing Lambda Traced Invocations usage. - items: - $ref: '#/components/schemas/UsageDataObject' - type: array + owned_by: + $ref: '#/components/schemas/RelationshipToUser' type: object - UsageObservabilityPipelinesResponse: - description: Observability Pipelines usage response. + ApplicationKeysType: + default: application_keys + description: Application Keys resource type. + enum: + - application_keys + example: application_keys + type: string + x-enum-varnames: + - APPLICATION_KEYS + ApplicationKeyResponseMetaPage: + description: Additional information related to the application key response. properties: - data: - description: Response containing Observability Pipelines usage. - items: - $ref: '#/components/schemas/UsageDataObject' - type: array + total_filtered_count: + description: Total filtered application key count. + format: int64 + type: integer type: object - ProjectedCostResponse: - description: Projected Cost response. + FullApplicationKeyAttributes: + description: Attributes of a full application key. properties: - data: - description: Response containing Projected Cost. + created_at: + description: Creation date of the application key. + example: '2020-11-23T10:00:00.000Z' + format: date-time + readOnly: true + type: string + key: + description: The application key. + readOnly: true + type: string + last4: + description: The last four characters of the application key. + example: abcd + maxLength: 4 + minLength: 4 + readOnly: true + type: string + last_used_at: + description: Last usage timestamp of the application key. + example: '2020-12-20T10:00:00.000Z' + format: date-time + nullable: true + readOnly: true + type: string + name: + description: Name of the application key. + example: Application Key for managing dashboards + type: string + scopes: + description: Array of scopes to grant the application key. + example: + - dashboards_read + - dashboards_write + - dashboards_public_share items: - $ref: '#/components/schemas/ProjectedCost' + description: Name of scope. + type: string + nullable: true type: array type: object - UserInvitationsRequest: - description: Object to invite users to join the organization. + ApplicationKeyUpdateAttributes: + description: Attributes used to update an application Key. properties: - data: - description: List of user invitations. - example: [] + name: + description: Name of the application key. + example: Application Key for managing dashboards + type: string + scopes: + description: Array of scopes to grant the application key. + example: + - dashboards_read + - dashboards_write + - dashboards_public_share items: - $ref: '#/components/schemas/UserInvitationData' + description: Name of scope. + type: string + nullable: true type: array - required: - - data type: object - UserInvitationsResponse: - description: User invitations as returned by the API. + AuditLogsEventAttributes: + description: JSON object containing all event attributes and their associated values. properties: - data: - description: Array of user invitations. + attributes: + additionalProperties: {} + description: JSON object of attributes from Audit Logs events. + example: + customAttribute: 123 + duration: 2345 + type: object + message: + description: Message of the event. + type: string + service: + description: |- + Name of the application or service generating Audit Logs events. + This name is used to correlate Audit Logs to APM, so make sure you specify the same + value when you use both products. + example: web-app + type: string + tags: + description: Array of tags associated with your event. + example: + - team:A items: - $ref: '#/components/schemas/UserInvitationResponseData' + description: Tag associated with your event. + type: string type: array - type: object - UserInvitationResponse: - description: User invitation as returned by the API. + timestamp: + description: Timestamp of your event. + example: '2019-01-02T09:42:36.320Z' + format: date-time + type: string + type: object + AuditLogsEventType: + default: audit + description: Type of the event. + enum: + - audit + example: audit + type: string + x-enum-varnames: + - Audit + AuditLogsResponsePage: + description: Paging attributes. properties: - data: - $ref: '#/components/schemas/UserInvitationResponseData' + after: + description: The cursor to use to get the next results, if any. To make the next request, use the same parameters with the addition of `page[cursor]`. + example: eyJzdGFydEF0IjoiQVFBQUFYS2tMS3pPbm40NGV3QUFBQUJCV0V0clRFdDZVbG8zY3pCRmNsbHJiVmxDWlEifQ== + type: string type: object - QuerySortOrder: - default: desc - description: Direction of sort. + AuditLogsResponseStatus: + description: The status of the response. enum: - - asc - - desc + - done + - timeout + example: done type: string x-enum-varnames: - - ASC - - DESC - UserCreateRequest: - description: Create a user. + - DONE + - TIMEOUT + AuditLogsWarning: + description: Warning message indicating something that went wrong with the query. properties: - data: - $ref: '#/components/schemas/UserCreateData' - required: - - data + code: + description: Unique code for this type of warning. + example: unknown_index + type: string + detail: + description: Detailed explanation of this specific warning. + example: 'indexes: foo, bar' + type: string + title: + description: Short human-readable summary of the warning. + example: One or several indexes are missing or invalid, results hold data from the other indexes + type: string type: object - UserUpdateRequest: - description: Update a user. + AuthNMappingAttributes: + description: Attributes of AuthN Mapping. properties: - data: - $ref: '#/components/schemas/UserUpdateData' - required: - - data + attribute_key: + description: Key portion of a key/value pair of the attribute sent from the Identity Provider. + example: member-of + type: string + attribute_value: + description: Value portion of a key/value pair of the attribute sent from the Identity Provider. + example: Development + type: string + created_at: + description: Creation time of the AuthN Mapping. + format: date-time + readOnly: true + type: string + modified_at: + description: Time of last AuthN Mapping modification. + format: date-time + readOnly: true + type: string + saml_assertion_attribute_id: + description: The ID of the SAML assertion attribute. + example: '0' + type: string type: object - APIKeysSort: - default: name - description: Sorting options + AuthNMappingRelationships: + description: All relationships associated with AuthN Mapping. + properties: + role: + $ref: '#/components/schemas/RelationshipToRole' + saml_assertion_attribute: + $ref: '#/components/schemas/RelationshipToSAMLAssertionAttribute' + team: + $ref: '#/components/schemas/RelationshipToTeam' + type: object + AuthNMappingsType: + default: authn_mappings + description: AuthN Mappings resource type. enum: - - created_at - - '-created_at' - - last4 - - '-last4' - - modified_at - - '-modified_at' - - name - - '-name' + - authn_mappings + example: authn_mappings type: string x-enum-varnames: - - CREATED_AT_ASCENDING - - CREATED_AT_DESCENDING - - LAST4_ASCENDING - - LAST4_DESCENDING - - MODIFIED_AT_ASCENDING - - MODIFIED_AT_DESCENDING - - NAME_ASCENDING - - NAME_DESCENDING - PartialAPIKey: - description: Partial Datadog API key. + - AUTHN_MAPPINGS + SAMLAssertionAttribute: + description: SAML assertion attribute. properties: attributes: - $ref: '#/components/schemas/PartialAPIKeyAttributes' + $ref: '#/components/schemas/SAMLAssertionAttributeAttributes' id: - description: ID of the API key. + description: The ID of the SAML assertion attribute. + example: '0' type: string - relationships: - $ref: '#/components/schemas/APIKeyRelationships' type: - $ref: '#/components/schemas/APIKeysType' + $ref: '#/components/schemas/SAMLAssertionAttributesType' + required: + - id + - type type: object - APIKeyResponseIncludedItem: - description: An object related to an API key. - oneOf: - - $ref: '#/components/schemas/User' - - $ref: '#/components/schemas/LeakedKey' - APIKeysResponseMeta: - description: Additional information related to api keys response. + AuthNMappingTeam: + description: Team. properties: - max_allowed: - description: Max allowed number of API keys. + attributes: + $ref: '#/components/schemas/AuthNMappingTeamAttributes' + id: + description: The ID of the Team. + example: f9bb8444-af7f-11ec-ac2c-da7ad0900001 + type: string + type: + $ref: '#/components/schemas/TeamType' + type: object + Pagination: + description: Pagination object. + properties: + total_count: + description: Total count. + format: int64 + type: integer + total_filtered_count: + description: Total count of elements matched by the filter. format: int64 type: integer - page: - $ref: '#/components/schemas/APIKeysResponseMetaPage' type: object - APIKeyCreateData: - description: Object used to create an API key. + AuthNMappingCreateAttributes: + description: Key/Value pair of attributes used for create request. properties: - attributes: - $ref: '#/components/schemas/APIKeyCreateAttributes' - type: - $ref: '#/components/schemas/APIKeysType' + attribute_key: + description: Key portion of a key/value pair of the attribute sent from the Identity Provider. + example: member-of + type: string + attribute_value: + description: Value portion of a key/value pair of the attribute sent from the Identity Provider. + example: Development + type: string + type: object + AuthNMappingCreateRelationships: + description: Relationship of AuthN Mapping create object to a Role or Team. + properties: + role: + $ref: '#/components/schemas/RelationshipToRole' + team: + $ref: '#/components/schemas/RelationshipToTeam' required: - - attributes - - type + - role + - team type: object - FullAPIKey: - description: Datadog API key. + AuthNMappingUpdateAttributes: + description: Key/Value pair of attributes used for update request. properties: - attributes: - $ref: '#/components/schemas/FullAPIKeyAttributes' - id: - description: ID of the API key. + attribute_key: + description: Key portion of a key/value pair of the attribute sent from the Identity Provider. + example: member-of + type: string + attribute_value: + description: Value portion of a key/value pair of the attribute sent from the Identity Provider. + example: Development type: string - relationships: - $ref: '#/components/schemas/APIKeyRelationships' - type: - $ref: '#/components/schemas/APIKeysType' type: object - APIKeyUpdateData: - description: Object used to update an API key. + AuthNMappingUpdateRelationships: + description: Relationship of AuthN Mapping update object to a Role or Team. properties: - attributes: - $ref: '#/components/schemas/APIKeyUpdateAttributes' - id: - description: ID of the API key. - example: 00112233-4455-6677-8899-aabbccddeeff - type: string - type: - $ref: '#/components/schemas/APIKeysType' + role: + $ref: '#/components/schemas/RelationshipToRole' + team: + $ref: '#/components/schemas/RelationshipToTeam' required: - - attributes - - id - - type + - role + - team + type: object + UserAttributes: + description: Attributes of user object returned by the API. + properties: + created_at: + description: The ISO 8601 timestamp of when the user account was created. + format: date-time + type: string + disabled: + description: Whether the user account is deactivated. Disabled users cannot log in. + type: boolean + email: + description: The email address of the user, used for login and notifications. + type: string + handle: + description: The unique handle (username) of the user, typically matching their email prefix. + type: string + icon: + description: URL of the user's profile icon, typically a Gravatar URL derived from the email address. + type: string + last_login_time: + description: The ISO 8601 timestamp of the user's most recent login, or null if the user has never logged in. + format: date-time + nullable: true + readOnly: true + type: string + mfa_enabled: + description: Whether multi-factor authentication (MFA) is enabled for the user's account. + readOnly: true + type: boolean + modified_at: + description: The ISO 8601 timestamp of when the user account was last modified. + format: date-time + type: string + name: + description: The full display name of the user as shown in the Datadog UI. + nullable: true + type: string + service_account: + description: |- + Whether this is a service account rather than a human user. + Service accounts are used for programmatic API access. + type: boolean + status: + description: The current status of the user account (for example, `Active`, `Pending`, or `Disabled`). + type: string + title: + description: The job title of the user (for example, "Senior Engineer" or "Product Manager"). + nullable: true + type: string + uuid: + description: The globally unique identifier (UUID) of the user. + readOnly: true + type: string + verified: + description: Whether the user's email address has been verified. + type: boolean type: object - ApplicationKeysSort: - default: name - description: Sorting options + UserResponseRelationships: + description: Relationships of the user object returned by the API. + properties: + org: + $ref: '#/components/schemas/RelationshipToOrganization' + other_orgs: + $ref: '#/components/schemas/RelationshipToOrganizations' + other_users: + $ref: '#/components/schemas/RelationshipToUsers' + roles: + $ref: '#/components/schemas/RelationshipToRoles' + type: object + UsersType: + default: users + description: Users resource type. enum: - - created_at - - '-created_at' - - last4 - - '-last4' - - name - - '-name' + - users + example: users type: string x-enum-varnames: - - CREATED_AT_ASCENDING - - CREATED_AT_DESCENDING - - LAST4_ASCENDING - - LAST4_DESCENDING - - NAME_ASCENDING - - NAME_DESCENDING - PartialApplicationKey: - description: Partial Datadog application key. + - USERS + Organization: + description: Organization object. properties: attributes: - $ref: '#/components/schemas/PartialApplicationKeyAttributes' + $ref: '#/components/schemas/OrganizationAttributes' id: - description: ID of the application key. + description: ID of the organization. type: string - relationships: - $ref: '#/components/schemas/ApplicationKeyRelationships' type: - $ref: '#/components/schemas/ApplicationKeysType' - type: object - ApplicationKeyResponseIncludedItem: - description: An object related to an application key. - oneOf: - - $ref: '#/components/schemas/User' - - $ref: '#/components/schemas/Role' - - $ref: '#/components/schemas/LeakedKey' - ApplicationKeyResponseMeta: - description: Additional information related to the application key response. - properties: - max_allowed_per_user: - description: Max allowed number of application keys per user. - format: int64 - type: integer - page: - $ref: '#/components/schemas/ApplicationKeyResponseMetaPage' + $ref: '#/components/schemas/OrganizationsType' + required: + - type type: object - FullApplicationKey: - description: Datadog application key. + UserUpdateAttributes: + description: Attributes of the edited user. properties: - attributes: - $ref: '#/components/schemas/FullApplicationKeyAttributes' - id: - description: ID of the application key. + disabled: + description: |- + When set to `true`, the user is deactivated and can no longer log in. + When `false`, the user is active. + type: boolean + email: + description: |- + The email address of the user, used for login and notifications. + Must be a valid email format. + type: string + name: + description: |- + The full display name of the user as shown in the Datadog UI. + Maximum 55 characters, cannot contain `<` or `>`. + type: string + title: + description: The job title of the user (for example, "Senior Engineer" or "Product Manager"). + nullable: true type: string - relationships: - $ref: '#/components/schemas/ApplicationKeyRelationships' - type: - $ref: '#/components/schemas/ApplicationKeysType' type: object - ApplicationKeyUpdateData: - description: Object used to update an application key. + ApplicationKeyCreateAttributes: + description: Attributes used to create an application Key. properties: - attributes: - $ref: '#/components/schemas/ApplicationKeyUpdateAttributes' - id: - description: ID of the application key. - example: 00112233-4455-6677-8899-aabbccddeeff + name: + description: Name of the application key. + example: Application Key for managing dashboards type: string - type: - $ref: '#/components/schemas/ApplicationKeysType' + scopes: + description: Array of scopes to grant the application key. + example: + - dashboards_read + - dashboards_write + - dashboards_public_share + items: + description: Name of scope. + type: string + nullable: true + type: array required: - - attributes - - id - - type + - name type: object - AuditLogsEvent: - description: >- - Object description of an Audit Logs event after it is processed and - stored by Datadog. + CreateDataDeletionRequestBodyAttributes: + description: Attributes for creating a data deletion request. properties: - attributes: - $ref: '#/components/schemas/AuditLogsEventAttributes' - id: - description: Unique ID of the event. - example: AAAAAWgN8Xwgr1vKDQAAAABBV2dOOFh3ZzZobm1mWXJFYTR0OA - type: string - type: - $ref: '#/components/schemas/AuditLogsEventType' + displayed_total: + description: Total number of elements to be deleted as displayed to the user. + example: 100 + format: int64 + minimum: 1 + type: integer + from: + description: Start of requested time window, milliseconds since Unix epoch. + example: 1672527600000 + format: int64 + type: integer + indexes: + description: List of indexes for the search. If not provided, the search is performed in all indexes. + example: + - test-index + - test-index-2 + items: + description: Individual index. + type: string + type: array + query: + additionalProperties: + type: string + description: Query for creating a data deletion request. + example: + host: abc + service: xyz + type: object + to: + description: End of requested time window, milliseconds since Unix epoch. + example: 1704063600000 + format: int64 + type: integer + required: + - query + - from + - to + - displayed_total type: object - AuditLogsResponseLinks: - description: Links attributes. + CreateDataDeletionRequestBodyDataType: + description: The deletion request type. + enum: + - create_deletion_req + example: create_deletion_req + type: string + x-enum-varnames: + - CREATE_DELETION_REQ + DataDeletionResponseItemAttributes: + description: Deletion attribute for data deletion response. properties: - next: - description: >- - Link for the next set of results. Note that the request can also be - made using the - - POST endpoint. - example: >- - https://app.datadoghq.com/api/v2/audit/event?filter[query]=foo&page[cursor]=eyJzdGFydEF0IjoiQVFBQUFYS2tMS3pPbm40NGV3QUFBQUJCV0V0clRFdDZVbG8zY3pCRmNsbHJiVmxDWlEifQ== + created_at: + description: Creation time of the deletion request. + example: '2024-01-01T00:00:00.000000Z' type: string - type: object - AuditLogsResponseMetadata: - description: The metadata associated with a request. - properties: - elapsed: - description: Time elapsed in milliseconds. - example: 132 + created_by: + description: User who created the deletion request. + example: test.user@datadoghq.com + type: string + customer_message: + description: A message for the customer regarding the deletion request, if any. + example: Your deletion request is being processed. + type: string + displayed_total: + description: Total number of elements to be deleted as displayed to the user. + example: 100 format: int64 type: integer - page: - $ref: '#/components/schemas/AuditLogsResponsePage' - request_id: - description: The identifier of the request. - example: MWlFUjVaWGZTTTZPYzM0VXp1OXU2d3xLSVpEMjZKQ0VKUTI0dEYtM3RSOFVR + error_category: + description: The category of the error for the deletion request, if any. + example: validation_error + type: string + from_time: + description: Start of requested time window, milliseconds since Unix epoch. + example: 1672527600000 + format: int64 + type: integer + indexes: + description: List of indexes for the search. If not provided, the search is performed in all indexes. + example: + - test-index + - test-index-2 + items: + description: Individual index. + type: string + type: array + is_created: + description: Whether the deletion request is fully created or not. It can take several minutes to fully create a deletion request depending on the target query and timeframe. + example: true + type: boolean + org_id: + description: Organization ID. + example: 321813 + format: int64 + type: integer + product: + description: Product name. + example: logs + type: string + query: + description: Query for creating a data deletion request. + example: service:xyz host:abc + type: string + starting_at: + description: Starting time of the process to delete the requested data. + example: '2024-01-01T02:00:00.000000Z' type: string status: - $ref: '#/components/schemas/AuditLogsResponseStatus' - warnings: - description: >- - A list of warnings (non-fatal errors) encountered. Partial results - may return if - - warnings are present in the response. + description: Status of the deletion request. + example: pending + type: string + to_time: + description: End of requested time window, milliseconds since Unix epoch. + example: 1704063600000 + format: int64 + type: integer + total_unrestricted: + description: Total number of elements to be deleted. Only the data accessible to the current user that matches the query and timeframe provided will be deleted. + example: 100 + format: int64 + type: integer + updated_at: + description: Update time of the deletion request. + example: '2024-01-01T00:00:00.000000Z' + type: string + required: + - created_at + - created_by + - from_time + - is_created + - org_id + - product + - query + - starting_at + - status + - to_time + - total_unrestricted + - displayed_total + - updated_at + type: object + DomainAllowlistResponseDataAttributes: + description: The details of the email domain allowlist. + properties: + domains: + description: The list of domains in the email domain allowlist. items: - $ref: '#/components/schemas/AuditLogsWarning' + description: An email domain in the allowlist. + type: string type: array + enabled: + description: Whether the email domain allowlist is enabled for the org. + type: boolean type: object - AuditLogsQueryFilter: - description: Search and filter query settings. + DomainAllowlistType: + default: domain_allowlist + description: Email domain allowlist allowlist type. + enum: + - domain_allowlist + example: domain_allowlist + type: string + x-enum-varnames: + - DOMAIN_ALLOWLIST + DomainAllowlistAttributes: + description: The details of the email domain allowlist. properties: - from: - default: now-15m - description: >- - Minimum time for the requested events. Supports date, math, and - regular timestamps (in milliseconds). - example: now-15m - type: string - query: - default: '*' - description: Search query following the Audit Logs search syntax. - example: '@type:session AND @session.type:user' - type: string - to: - default: now - description: >- - Maximum time for the requested events. Supports date, math, and - regular timestamps (in milliseconds). - example: now - type: string + domains: + description: The list of domains in the email domain allowlist. + items: + description: An email domain in the allowlist. + type: string + type: array + enabled: + description: Whether the email domain allowlist is enabled for the org. + type: boolean type: object - AuditLogsQueryOptions: - description: >- - Global query options that are used during the query. - - Note: Specify either timezone or time offset, not both. Otherwise, the - query fails. + GlobalOrgAttributes: + description: Attributes of an organization associated with the authenticated user. properties: - time_offset: - description: Time offset (in seconds) to apply to the query. - format: int64 - type: integer - timezone: - default: UTC - description: >- - The timezone can be specified as GMT, UTC, an offset from UTC (like - UTC+1), or as a Timezone Database identifier (like - America/New_York). - example: GMT + org: + $ref: '#/components/schemas/GlobalOrg' + redirect_url: + description: The login URL used to switch into the organization, if available. + example: https://app.datadoghq.com/account/login/password?dd_oid=13d10a96-6ff2-49be-be7b-4f56ebb13335&login_hint=user%40example.com + nullable: true + type: string + source_region: + description: The source region of the organization. + example: us1.prod.dog type: string + user: + $ref: '#/components/schemas/GlobalOrgUser' + required: + - user + - org + - source_region type: object - AuditLogsQueryPageOptions: - description: Paging attributes for listing events. + GlobalOrgType: + description: The resource type for global user organizations. + enum: + - global_user_orgs + example: global_user_orgs + type: string + x-enum-varnames: + - GLOBAL_USER_ORGS + GlobalOrgsMetaPage: + description: Paging attributes. properties: cursor: - description: List following results with a cursor provided in the previous query. - example: >- - eyJzdGFydEF0IjoiQVFBQUFYS2tMS3pPbm40NGV3QUFBQUJCV0V0clRFdDZVbG8zY3pCRmNsbHJiVmxDWlEifQ== + description: The cursor used to get the current results, if any. + example: '' type: string limit: - default: 10 - description: Maximum number of events in the response. - example: 25 + description: Number of results returned. + example: 100 format: int32 maximum: 1000 type: integer - type: object - AuthNMapping: - description: The AuthN Mapping object returned by API. - properties: - attributes: - $ref: '#/components/schemas/AuthNMappingAttributes' - id: - description: ID of the AuthN Mapping. - example: 3653d3c6-0c75-11ea-ad28-fb5701eabc7d + next_cursor: + description: The cursor used to get the next results, if any. + example: next-page + nullable: true + type: string + prev_cursor: + description: The cursor used to get the previous results, if any. + nullable: true type: string - relationships: - $ref: '#/components/schemas/AuthNMappingRelationships' type: - $ref: '#/components/schemas/AuthNMappingsType' + $ref: '#/components/schemas/GlobalOrgsMetaPageType' + type: object + GovernanceConfigAttributes: + description: The attributes of a Governance Console configuration. + properties: + assignment_notifications_enabled: + description: Whether notifications are sent to users when detections are assigned to them. + example: true + type: boolean + enabled: + description: Whether the Governance Console is enabled for the organization. + example: true + type: boolean + usage_attribution_configured: + description: Whether usage attribution is configured for the organization. + example: true + type: boolean + xorg_insights_enabled: + description: |- + Whether the organization has opted in to sharing governance data with a managing org + for cross-org insights. + example: true + type: boolean required: - - id - - type + - enabled + - assignment_notifications_enabled + - usage_attribution_configured + - xorg_insights_enabled type: object - AuthNMappingIncluded: - description: Included data in the AuthN Mapping response. - oneOf: - - $ref: '#/components/schemas/SAMLAssertionAttribute' - - $ref: '#/components/schemas/Role' - - $ref: '#/components/schemas/AuthNMappingTeam' - ResponseMetaAttributes: - description: Object describing meta attributes of response. + GovernanceConsoleConfigResourceType: + description: Governance console config resource type. + enum: + - governance_console_config + example: governance_console_config + type: string + x-enum-varnames: + - GOVERNANCE_CONSOLE_CONFIG + JSONAPIErrorItemSource: + description: References to the source of the error. properties: - page: - $ref: '#/components/schemas/Pagination' + header: + description: A string indicating the name of a single request header which caused the error. + example: Authorization + type: string + parameter: + description: A string indicating which URI query parameter caused the error. + example: limit + type: string + pointer: + description: A JSON pointer to the value in the request document that caused the error. + example: /data/attributes/title + type: string type: object - AuthNMappingCreateData: - description: Data for creating an AuthN Mapping. + GovernanceControlAttributes: + description: The attributes of a governance control. properties: - attributes: - $ref: '#/components/schemas/AuthNMappingCreateAttributes' - relationships: - $ref: '#/components/schemas/AuthNMappingCreateRelationships' + active_detections_count: + description: The number of active detections for the control. + example: 12 + format: int64 + type: integer + category: + description: The value driver the control is grouped under, such as `security` or `cost`. + example: security + type: string + created_at: + description: The time the control configuration was created. + example: '2024-01-15T09:30:00Z' + format: date-time + type: string + created_by: + description: The UUID of the user who created the control configuration. + example: 11111111-2222-3333-4444-555555555555 + type: string + description: + description: A human-readable description of what the control detects. + example: Identifies API keys that have not been used within your specified time threshold, helping reduce security risks from dormant credentials. + type: string + detection_parameters: + $ref: '#/components/schemas/GovernanceControlParametersMap' + nullable: true + insights: + description: The insight slugs associated with the control. + example: [] + items: + description: An insight slug associated with the control. + type: string + type: array + last_detection_at: + description: The time of the most recent detection for the control. `null` when there are no detections. + example: '2024-03-01T12:00:00Z' + format: date-time + nullable: true + type: string + mitigated_detections_count: + description: The number of mitigated detections for the control. + example: 3 + format: int64 + type: integer + mitigation_parameters: + $ref: '#/components/schemas/GovernanceControlParametersMap' + nullable: true + mitigation_type: + description: The configured mitigation type for the control. Empty when not configured. + example: revoke_api_key + type: string + mitigations: + $ref: '#/components/schemas/GovernanceControlMitigationDefinitionArray' + name: + description: Human-readable name of the control. + example: Unused API Keys + type: string + priority: + description: The priority of the control, such as `High`. + example: High + type: string + product: + description: The product the control belongs to. + example: api_keys + type: string + resource_type: + description: The type of resource the control evaluates. + example: api_key + type: string + resource_type_display_name: + description: The human-readable name of the resource type. + example: API Key + type: string + supported_detection_parameters: + $ref: '#/components/schemas/GovernanceControlParameterDefinitionArray' type: - $ref: '#/components/schemas/AuthNMappingsType' + description: The control type, such as `Proactive` or `Detection`. + example: Proactive + type: string required: + - name + - description + - supported_detection_parameters + - resource_type + - resource_type_display_name + - product + - category + - insights + - mitigations - type + - priority + - detection_parameters + - mitigation_type + - mitigation_parameters + - created_at + - created_by + - active_detections_count + - mitigated_detections_count + - last_detection_at type: object - AuthNMappingUpdateData: - description: Data for updating an AuthN Mapping. + GovernanceControlResourceType: + description: JSON:API resource type for a governance control. + enum: + - governance_control + example: governance_control + type: string + x-enum-varnames: + - GOVERNANCE_CONTROL + GovernanceControlUpdateAttributes: + description: The attributes of a governance control that can be updated. Only the attributes present in the request are modified. properties: - attributes: - $ref: '#/components/schemas/AuthNMappingUpdateAttributes' - id: - description: ID of the AuthN Mapping. - example: 3653d3c6-0c75-11ea-ad28-fb5701eabc7d + detection_parameters: + $ref: '#/components/schemas/GovernanceControlParametersMap' + nullable: true + mitigation_parameters: + $ref: '#/components/schemas/GovernanceControlParametersMap' + nullable: true + mitigation_type: + description: The mitigation type to configure for the control. + example: revoke_api_key type: string - relationships: - $ref: '#/components/schemas/AuthNMappingUpdateRelationships' - type: - $ref: '#/components/schemas/AuthNMappingsType' - required: - - id - - type type: object - ApplicationKeyCreateData: - description: Object used to create an application key. + ControlNotificationSettingsAttributes: + description: The attributes of a governance control's notification settings. properties: - attributes: - $ref: '#/components/schemas/ApplicationKeyCreateAttributes' - type: - $ref: '#/components/schemas/ApplicationKeysType' + event_settings: + $ref: '#/components/schemas/ControlNotificationEventSettingsArray' required: - - attributes - - type + - event_settings type: object - CreateDataDeletionRequestBodyData: - description: Data needed to create a data deletion request. + ControlNotificationSettingsResourceType: + description: Control notification settings resource type. + enum: + - control_notification_settings + example: control_notification_settings + type: string + x-enum-varnames: + - CONTROL_NOTIFICATION_SETTINGS + ControlNotificationSettingsUpdateAttributes: + description: The attributes of a governance control's notification settings that can be updated. properties: - attributes: - $ref: '#/components/schemas/CreateDataDeletionRequestBodyAttributes' - type: - $ref: '#/components/schemas/CreateDataDeletionRequestBodyDataType' - required: - - attributes - - type + event_settings: + $ref: '#/components/schemas/ControlNotificationEventSettingsArray' type: object - DataDeletionResponseItem: - description: The created data deletion request information. + GovernanceMitigationRequestAttributes: + description: The attributes of a governance mitigation request. properties: - attributes: - $ref: '#/components/schemas/DataDeletionResponseItemAttributes' - id: - description: The ID of the created data deletion request. - example: '1' + detection_ids: + description: The identifiers of the detections to mitigate in this request. + example: + - 3f9b2c1a-8d4e-4a6b-9c2f-1e7d5a0b3c4d + items: + description: The identifier of a detection to mitigate in this request. + type: string + type: array + detection_type: + description: The detection type whose detections should be mitigated. + example: unused_api_keys type: string - type: - description: The type of the request created. - example: deletion_request + mitigation_parameters: + $ref: '#/components/schemas/GovernanceControlParametersMap' + nullable: true + mitigation_type: + description: The mitigation to apply to the selected detections. Defaults to the control's configured mitigation when omitted. + example: revoke_api_key type: string required: - - id - - type - - attributes + - detection_type + - detection_ids type: object - DataDeletionResponseMeta: - description: The metadata of the data deletion response. + GovernanceControlDetectionResourceType: + description: Governance control detection resource type. + enum: + - governance_control_detection + example: governance_control_detection + type: string + x-enum-varnames: + - GOVERNANCE_CONTROL_DETECTION + GovernanceControlDetectionAttributes: + description: The attributes of a governance control detection. properties: - count_product: - additionalProperties: - format: int64 - type: integer - description: The total deletion requests created by product. - example: - logs: 8 - rum: 7 - type: object - count_status: - additionalProperties: - format: int64 - type: integer - description: The total deletion requests created by status. + assigned_team: + description: The identifier of the team the detection is assigned to, if any. + example: platform-security + type: string + assigned_to: + description: The identifier of the user the detection is assigned to, if any. + example: 11111111-2222-3333-4444-555555555555 + type: string + assignment_source: + $ref: '#/components/schemas/GovernanceControlDetectionAssignmentSource' + control_id: + deprecated: true + description: |- + DEPRECATED: mirrors `detection_type` for backward compatibility; use `detection_type` + instead. + example: unused_api_keys + type: string + created_at: + description: The date and time when the detection was created. + example: '2024-03-01T12:00:00Z' + format: date-time + type: string + detection_type: + description: The type of detection, which determines what condition was detected. + example: unused_api_keys + type: string + display_name: + description: The human-readable name of the detected resource. + example: CI Deploy Key + type: string + exception_at: + description: The date and time when the detection was marked as an exception, if applicable. + example: '2024-03-05T09:00:00Z' + format: date-time + type: string + exception_by: + description: The identifier of the user who marked the detection as an exception, if applicable. + example: 11111111-2222-3333-4444-555555555555 + type: string + metadata: + description: Free-form metadata associated with the detection. example: - completed: 10 - pending: 5 - type: object - next_page: - description: >- - The next page when searching deletion requests created in the - current organization. - example: cGFnZTI= + region: us-east-1 + mitigate_after: + description: The date and time after which the detection is scheduled to be mitigated, if applicable. + example: '2024-03-15T00:00:00Z' + format: date-time + type: string + mitigated_at: + description: The date and time when the detection was mitigated, if applicable. + example: '2024-03-10T15:30:00Z' + format: date-time + type: string + priority: + description: The priority of the detection, if set. + example: 1 + format: int64 + type: integer + resource_id: + description: The identifier of the resource the detection applies to. + example: api-key-12345 + type: string + resource_type: + description: The type of resource the detection applies to, for example `api_key` or `dashboard`. + example: api_key type: string - product: - description: The product of the deletion request. - example: logs + state: + $ref: '#/components/schemas/GovernanceControlDetectionState' + required: + - state + - control_id + - resource_id + - detection_type + - resource_type + - display_name + - created_at + - assignment_source + - priority + type: object + GovernanceControlDetectionUpdateAttributes: + description: The attributes of a governance control detection that can be updated. Only the attributes present in the request are modified. + properties: + assigned_team: + description: The handle of the team the detection is assigned to. Set to an empty string to clear the assignment. + example: platform-security type: string - request_status: - description: The status of the executed request. - example: canceled + assigned_to: + description: The UUID of the user the detection is assigned to. Set to an empty string to clear the assignment. + example: 11111111-2222-3333-4444-555555555555 + type: string + mitigate_after: + description: The timestamp after which the detection becomes eligible for mitigation. Used to defer mitigation to a later time. + example: '2024-03-15T00:00:00Z' + format: date-time type: string + state: + $ref: '#/components/schemas/GovernanceControlDetectionUpdateState' type: object - DomainAllowlistResponseData: - description: The email domain allowlist response for an org. + GovernanceInsightData: + description: A governance insight resource. properties: attributes: - $ref: '#/components/schemas/DomainAllowlistResponseDataAttributes' + $ref: '#/components/schemas/GovernanceInsightAttributes' id: - description: The unique identifier of the org. - nullable: true + description: The unique identifier of the insight. + example: 498ee21f-8037-48b8-a961-a488692902f4 type: string type: - $ref: '#/components/schemas/DomainAllowlistType' + $ref: '#/components/schemas/GovernanceInsightResourceType' required: + - id - type + - attributes type: object - DomainAllowlist: - description: The email domain allowlist for an org. + GovernanceNotificationSettingsAttributes: + description: The attributes of the organization-wide governance notification settings. properties: - attributes: - $ref: '#/components/schemas/DomainAllowlistAttributes' - id: - description: The unique identifier of the org. - nullable: true + assignment_notifications_enabled: + description: Whether notifications are sent to users when detections are assigned to them. + example: true + type: boolean + required: + - assignment_notifications_enabled + type: object + GovernanceNotificationSettingsResourceType: + description: Governance notification settings resource type. + enum: + - governance_notification_settings + example: governance_notification_settings + type: string + x-enum-varnames: + - GOVERNANCE_NOTIFICATION_SETTINGS + GovernanceNotificationSettingsUpdateAttributes: + description: The attributes of the governance notification settings that can be updated. Only the attributes present in the request are modified. + properties: + assignment_notifications_enabled: + description: Whether notifications are sent to users when detections are assigned to them. + example: true + type: boolean + type: object + TagRuleCreateAttributes: + description: Attributes that can be supplied when creating a tag rule. + properties: + enabled: + description: Whether the rule is currently enforced. Defaults to `true` for newly created rules. + example: true + type: boolean + name: + description: Human-readable name for the tag rule. + example: Service tag must be one of api or web type: string - type: - $ref: '#/components/schemas/DomainAllowlistType' + negated: + description: When `true`, the rule matches tag values that do NOT match any of the supplied patterns. Defaults to `false`. + example: false + type: boolean + required: + description: When `true`, telemetry without this tag is treated as a violation. Defaults to `false`. + example: true + type: boolean + rule_type: + $ref: '#/components/schemas/TagRuleCreateType' + scope: + description: |- + The scope the rule applies within. Typically an environment, team, or + organization-level identifier used to limit where the rule is enforced. + example: env + type: string + source: + $ref: '#/components/schemas/TagRuleSource' + tag_key: + description: The tag key that the rule governs (for example, `service`). + example: service + type: string + tag_value_patterns: + description: |- + One or more patterns that valid values for the tag key must match. At least one + pattern is required. + example: + - api + - web + items: + description: A pattern that valid tag values must match. + type: string + minItems: 1 + type: array required: - - type + - name + - source + - scope + - tag_key + - tag_value_patterns + - rule_type type: object - IPAllowlistData: - description: IP allowlist data. + TagRuleResourceType: + description: JSON:API resource type for a tag rule. + enum: + - tag_rule + example: tag_rule + type: string + x-enum-varnames: + - TAG_RULE + TagRuleAttributes: + description: The attributes of a tag rule resource. properties: - attributes: - $ref: '#/components/schemas/IPAllowlistAttributes' - id: - description: The unique identifier of the org. + created_at: + description: The RFC 3339 timestamp at which the rule was created. + example: '2026-05-21T22:11:06.108696Z' + format: date-time type: string - type: - $ref: '#/components/schemas/IPAllowlistType' + created_by: + description: The identifier of the user who created the rule. + example: test-user + type: string + deleted_at: + description: The RFC 3339 timestamp at which the rule was soft-deleted. `null` if the rule has not been deleted. Only present when `include_deleted=true` is requested. + format: date-time + nullable: true + type: string + deleted_by: + description: The identifier of the user who soft-deleted the rule. `null` if the rule has not been deleted. + nullable: true + type: string + enabled: + description: Whether the rule is currently enforced. + example: true + type: boolean + modified_at: + description: The RFC 3339 timestamp at which the rule was last modified. + example: '2026-05-21T22:11:06.108696Z' + format: date-time + type: string + modified_by: + description: The identifier of the user who last modified the rule. + example: test-user + type: string + name: + description: Human-readable name for the tag rule. + example: Service tag must be one of api or web + type: string + negated: + description: When `true`, the rule matches tag values that do NOT match any of the supplied patterns. + example: false + type: boolean + required: + description: When `true`, telemetry without this tag is treated as a violation. + example: true + type: boolean + rule_type: + $ref: '#/components/schemas/TagRuleType' + scope: + description: The scope the rule applies within. + example: env + type: string + source: + $ref: '#/components/schemas/TagRuleSource' + tag_key: + description: The tag key that the rule governs. + example: service + type: string + tag_value_patterns: + description: The patterns that valid values for the tag key must match. + example: + - api + - web + items: + description: A pattern that valid tag values must match. + type: string + type: array + version: + description: A monotonically increasing version counter that is incremented on each update. + example: 1 + format: int64 + type: integer required: - - type + - name + - source + - scope + - tag_key + - tag_value_patterns + - negated + - required + - enabled + - rule_type + - version + - created_at + - created_by + - modified_at + - modified_by type: object - OrgConfigRead: - description: A single Org Config. + TagRuleRelationships: + description: Related resources for a tag rule. Only present when the corresponding `include` query parameter is supplied. properties: - attributes: - $ref: '#/components/schemas/OrgConfigReadAttributes' - id: - description: A unique identifier for an Org Config. - example: abcd1234 + score: + $ref: '#/components/schemas/TagRuleScoreRelationship' + type: object + TagRuleUpdateAttributes: + description: |- + Mutable attributes of a tag rule. Each field is optional; omitting a field leaves its + current value unchanged. The `source` of a rule cannot be changed. + properties: + enabled: + description: Whether the rule is currently enforced. + type: boolean + name: + description: Human-readable name for the tag rule. type: string - type: - $ref: '#/components/schemas/OrgConfigType' + negated: + description: When `true`, the rule matches tag values that do NOT match any of the supplied patterns. + type: boolean + required: + description: When `true`, telemetry without this tag is treated as a violation. + type: boolean + rule_type: + $ref: '#/components/schemas/TagRuleType' + scope: + description: The scope the rule applies within. + type: string + tag_key: + description: The tag key that the rule governs. + type: string + tag_value_patterns: + description: One or more patterns that valid values for the tag key must match. + items: + description: A pattern that valid tag values must match. + type: string + type: array + type: object + TagRuleScoreAttributes: + description: Attributes of a tag rule compliance score. + properties: + score: + description: |- + The compliance score for the rule over the requested time window, as a percentage + between 0 and 100. `null` indicates that no relevant telemetry was found. + example: 80 + format: double + nullable: true + type: number + ts_end: + description: End of the time window the score was computed over, as a Unix timestamp in milliseconds. + example: 1779401466097 + format: int64 + type: integer + ts_start: + description: Start of the time window the score was computed over, as a Unix timestamp in milliseconds. + example: 1779315066097 + format: int64 + type: integer + version: + description: The version of the tag rule that the score was computed against. + example: 1 + format: int64 + type: integer required: - - id - - type - - attributes + - score + - ts_start + - ts_end + - version type: object - OrgConfigWrite: - description: An Org Config write operation. + TagRuleScoreResourceType: + description: JSON:API resource type for a tag rule compliance score. + enum: + - tag_rule_score + example: tag_rule_score + type: string + x-enum-varnames: + - TAG_RULE_SCORE + HamrOrgConnectionAttributesResponse: + description: Attributes of a HAMR organization connection response. + properties: + hamr_status: + $ref: '#/components/schemas/HamrOrgConnectionStatus' + is_primary: + description: |- + Indicates whether this organization is the primary organization in the HAMR relationship. + If true, this is the primary organization. If false, this is the secondary/backup organization. + example: true + type: boolean + modified_at: + description: Timestamp of when this HAMR connection was last modified (RFC3339 format). + example: '2026-01-13T17:26:48.830968Z' + type: string + modified_by: + description: Username or identifier of the user who last modified this HAMR connection. + example: admin@example.com + type: string + target_org_datacenter: + description: Datacenter location of the target organization (e.g., us1, eu1, us5). + example: us1 + type: string + target_org_name: + description: Name of the target organization in the HAMR relationship. + example: Production Backup Org + type: string + target_org_uuid: + description: UUID of the target organization in the HAMR relationship. + example: 660f9511-f3ac-52e5-b827-557766551111 + type: string + required: + - target_org_uuid + - target_org_name + - target_org_datacenter + - hamr_status + - is_primary + - modified_at + - modified_by + type: object + HamrOrgConnectionType: + description: Type of the HAMR organization connection resource. + enum: + - hamr_org_connections + example: hamr_org_connections + type: string + x-enum-varnames: + - HAMR_ORG_CONNECTIONS + HamrOrgConnectionAttributesRequest: + description: Attributes for a HAMR organization connection request. + properties: + hamr_status: + $ref: '#/components/schemas/HamrOrgConnectionStatus' + is_primary: + description: |- + Indicates whether this organization is the primary organization in the HAMR relationship. + If true, this is the primary organization. If false, this is the secondary/backup organization. + example: true + type: boolean + modified_by: + description: Username or identifier of the user who last modified this HAMR connection. + example: admin@example.com + type: string + target_org_datacenter: + description: Datacenter location of the target organization (e.g., us1, eu1, us5). + example: us1 + type: string + target_org_name: + description: Name of the target organization in the HAMR relationship. + example: Production Backup Org + type: string + target_org_uuid: + description: UUID of the target organization in the HAMR relationship. + example: 660f9511-f3ac-52e5-b827-557766551111 + type: string + required: + - target_org_uuid + - target_org_name + - target_org_datacenter + - hamr_status + - is_primary + - modified_by + type: object + IdentityProviderUpdateAttributes: + description: Attributes for updating an organization identity provider. properties: - attributes: - $ref: '#/components/schemas/OrgConfigWriteAttributes' - type: - $ref: '#/components/schemas/OrgConfigType' + enabled: + description: Whether to enable or disable this identity provider for the organization. + example: true + type: boolean required: - - type - - attributes + - enabled type: object - OrgConnection: - description: An org connection. + IdentityProviderType: + description: The resource type for identity providers. + enum: + - identity_providers + example: identity_providers + type: string + x-enum-varnames: + - IDENTITY_PROVIDERS + IdentityProviderAttributes: + description: Attributes of an organization identity provider. properties: - attributes: - $ref: '#/components/schemas/OrgConnectionAttributes' - id: - description: The unique identifier of the org connection. - example: f9ec96b0-8c8a-4b0a-9b0a-1b2c3d4e5f6a - format: uuid + authentication_method: + description: The authentication method used by this identity provider. + example: SAML type: string - relationships: - $ref: '#/components/schemas/OrgConnectionRelationships' - type: - $ref: '#/components/schemas/OrgConnectionType' + enabled: + description: Whether this identity provider is enabled for the organization. + example: true + type: boolean required: - - id - - type - - attributes - - relationships + - authentication_method + - enabled type: object - OrgConnectionListResponseMeta: - description: Pagination metadata. + IPAllowlistAttributes: + description: Attributes of the IP allowlist. properties: - page: - $ref: '#/components/schemas/OrgConnectionListResponseMetaPage' + enabled: + description: Whether the IP allowlist logic is enabled or not. + type: boolean + entries: + description: Array of entries in the IP allowlist. + items: + $ref: '#/components/schemas/IPAllowlistEntry' + type: array type: object - OrgConnectionCreate: - description: Org connection creation data. + IPAllowlistType: + default: ip_allowlist + description: IP allowlist type. + enum: + - ip_allowlist + example: ip_allowlist + type: string + x-enum-varnames: + - IP_ALLOWLIST + MaxSessionDurationUpdateAttributes: + description: Attributes for the maximum session duration update request. properties: - attributes: - $ref: '#/components/schemas/OrgConnectionCreateAttributes' - relationships: - $ref: '#/components/schemas/OrgConnectionCreateRelationships' - type: - $ref: '#/components/schemas/OrgConnectionType' + max_session_duration: + description: The maximum session duration, in seconds. + example: 604800 + format: int64 + minimum: 1 + type: integer + required: + - max_session_duration + type: object + MaxSessionDurationType: + description: Data type of a maximum session duration update. + enum: + - max_session_duration + example: max_session_duration + type: string + x-enum-varnames: + - MAX_SESSION_DURATION + OAuth2WellKnownSitesAttributes: + description: Attributes containing the list of public OAuth2 sites. + properties: + sites: + description: Array of public OAuth2 site URLs for the environment. + example: + - datadoghq.com + - datadoghq.eu + - us5.datadoghq.com + - us3.datadoghq.com + - ap1.datadoghq.com + - ap2.datadoghq.com + items: + description: Public OAuth2 site URL. + example: app.datadoghq.com + type: string + type: array + required: + - sites + type: object + OAuth2WellKnownSitesEnvType: + default: env + description: JSON:API resource type for OAuth2 well-known sites environment. + enum: + - env + example: env + type: string + x-enum-varnames: + - ENV + OAuthScopesRestrictionResponseAttributes: + description: Attributes of an OAuth2 client scopes restriction. + properties: + required_permission_scopes: + description: |- + Permission scopes automatically required for this client (for example, mobile-app permission scopes). + Returns `null` when no scopes are required. + example: + - mobile_app_access + items: + description: Datadog permission scope name. + example: mobile_app_access + type: string + nullable: true + type: array + scopes_restriction: + $ref: '#/components/schemas/OAuthScopesRestriction' required: - - type - - attributes - - relationships + - scopes_restriction + - required_permission_scopes type: object - OrgConnectionUpdate: - description: Org connection update data. + OAuthScopesRestrictionType: + default: scopes_restriction + description: JSON:API resource type for an OAuth2 client scopes restriction. + enum: + - scopes_restriction + example: scopes_restriction + type: string + x-enum-varnames: + - SCOPES_RESTRICTION + UpsertOAuthScopesRestrictionDataAttributes: + description: Attributes of an upsert OAuth2 scopes restriction request. properties: - attributes: - $ref: '#/components/schemas/OrgConnectionUpdateAttributes' - id: - description: The unique identifier of the org connection. - example: f9ec96b0-8c8a-4b0a-9b0a-1b2c3d4e5f6a - format: uuid - type: string - type: - $ref: '#/components/schemas/OrgConnectionType' + oidc_scopes: + description: OIDC scopes the client is allowed to request. + example: + - openid + - email + items: + $ref: '#/components/schemas/OAuthOidcScope' + type: array + permission_scopes: + description: |- + Datadog permission scopes the client is allowed to request. + Each value must be a valid permission name. + example: + - dashboards_read + - metrics_read + items: + description: Datadog permission scope name. + example: dashboards_read + type: string + type: array + type: object + UpsertOAuthScopesRestrictionType: + default: upsert_scopes_restriction + description: JSON:API resource type for an upsert OAuth2 client scopes restriction request. + enum: + - upsert_scopes_restriction + example: upsert_scopes_restriction + type: string + x-enum-varnames: + - UPSERT_SCOPES_RESTRICTION + ManagedOrgsRelationships: + description: Relationships of the managed organizations resource. + properties: + current_org: + $ref: '#/components/schemas/ManagedOrgsRelationshipToOrg' + managed_orgs: + $ref: '#/components/schemas/ManagedOrgsRelationshipToOrgs' required: - - type - - id - - attributes + - current_org + - managed_orgs type: object - Permission: - description: Permission object. + ManagedOrgsType: + description: The resource type for managed organizations. + enum: + - managed_orgs + example: managed_orgs + type: string + x-enum-varnames: + - MANAGED_ORGS + OrgAttributes: + description: Attributes of an organization. properties: - attributes: - $ref: '#/components/schemas/PermissionAttributes' - id: - description: ID of the permission. + created_at: + description: The creation timestamp of the organization. + example: '2019-09-26T17:28:28Z' + format: date-time + type: string + description: + description: A description of the organization. + example: Production organization. + type: string + disabled: + description: Whether the organization is disabled. + example: false + type: boolean + modified_at: + description: The last modification timestamp of the organization. + example: '2024-01-15T10:30:00Z' + format: date-time + type: string + name: + description: The name of the organization. + example: My Organization + type: string + public_id: + description: The public identifier of the organization. + example: abcdef12345 + type: string + sharing: + description: The sharing setting of the organization. + example: none + type: string + url: + description: The URL of the organization. + example: https://app.datadoghq.com/account/my-org type: string - type: - $ref: '#/components/schemas/PermissionsType' required: - - type + - public_id + - name + - description + - sharing + - url + - disabled + - created_at + - modified_at type: object - RestrictionPolicy: - description: Restriction policy object. - properties: - attributes: - $ref: '#/components/schemas/RestrictionPolicyAttributes' - id: - description: >- - The identifier, always equivalent to the value specified in the - `resource_id` path parameter. - example: dashboard:abc-def-ghi + OrgResourceType: + description: The resource type for organizations. + enum: + - orgs + example: orgs + type: string + x-enum-varnames: + - ORGS + CustomerOrgDisableRequestAttributes: + description: |- + Optional attributes for a customer org disable request. When supplied, `org_uuid` + must match the authenticated organization or the request is rejected. + properties: + org_uuid: + description: |- + Datadog organization UUID. If supplied, must match the authenticated + organization. + example: abcdef01-2345-6789-abcd-ef0123456789 type: string - type: - $ref: '#/components/schemas/RestrictionPolicyType' - required: - - type - - id - - attributes type: object - Role: - description: Role object returned by the API. + CustomerOrgDisableType: + description: JSON:API resource type for a customer org disable request. + enum: + - customer_org_disable + example: customer_org_disable + type: string + x-enum-varnames: + - CUSTOMER_ORG_DISABLE + CustomerOrgDisableResponseAttributes: + description: Attributes describing the outcome of the disable action on the customer organization. properties: - attributes: - $ref: '#/components/schemas/RoleAttributes' - id: - description: The unique identifier of the role. - type: string - relationships: - $ref: '#/components/schemas/RoleResponseRelationships' - type: - $ref: '#/components/schemas/RolesType' + status: + $ref: '#/components/schemas/CustomerOrgDisableStatus' required: - - type + - status type: object - RoleCreateData: - description: Data related to the creation of a role. - properties: - attributes: - $ref: '#/components/schemas/RoleCreateAttributes' - relationships: - $ref: '#/components/schemas/RoleRelationships' - type: - $ref: '#/components/schemas/RolesType' + CustomerOrgDisableResponseType: + description: JSON:API resource type for a customer org disable response. + enum: + - org_disable + example: org_disable + type: string + x-enum-varnames: + - ORG_DISABLE + OrgSAMLPreferencesAttributes: + description: Attributes for updating an organization's SAML preferences. + properties: + default_role_uuids: + description: |- + The UUID of the default role assigned to just-in-time provisioned users. + Exactly one role UUID must be provided. + example: + - 8dd1cf3c-0c75-11ea-ad28-fb5701eabc7d + items: + description: The UUID of a role. + example: 8dd1cf3c-0c75-11ea-ad28-fb5701eabc7d + format: uuid + type: string + maxItems: 1 + minItems: 1 + type: array + jit_domains: + description: |- + Email domains for which users are automatically provisioned on first SAML login + (just-in-time provisioning). + example: + - example.com + items: + description: An email domain for just-in-time user provisioning. + example: example.com + maxLength: 256 + minLength: 1 + type: string + maxItems: 50 + type: array required: - - attributes + - jit_domains + - default_role_uuids type: object - RoleCreateResponseData: - description: Role object returned by the API. + OrgSAMLPreferencesType: + default: saml_preferences + description: SAML preferences resource type. + enum: + - saml_preferences + example: saml_preferences + type: string + x-enum-varnames: + - SAML_PREFERENCES + OrgAuthorizedClientAttributes: + description: Attributes of an org authorized client. properties: - attributes: - $ref: '#/components/schemas/RoleCreateAttributes' - id: - description: The unique identifier of the role. + disabled: + description: Whether the organization has disabled this client. + example: false + type: boolean + last_exercised: + description: The date and time this client was last exercised. + example: '2024-01-15T10:30:00+00:00' + format: date-time + nullable: true type: string - relationships: - $ref: '#/components/schemas/RoleResponseRelationships' - type: - $ref: '#/components/schemas/RolesType' + user_count: + description: The number of users in the organization who have authorized this client. + example: 2 + format: int64 + type: integer required: - - type + - last_exercised + - disabled + - user_count type: object - RoleUpdateData: - description: Data related to the update of a role. + OrgAuthorizedClientRelationships: + description: Relationships for an org authorized client. properties: - attributes: - $ref: '#/components/schemas/RoleUpdateAttributes' - id: - description: The unique identifier of the role. - example: 00000000-0000-1111-0000-000000000000 - type: string - relationships: - $ref: '#/components/schemas/RoleRelationships' - type: - $ref: '#/components/schemas/RolesType' + oauth2_client: + $ref: '#/components/schemas/OrgAuthorizedClientRelationshipOAuth2Client' + user_authorized_clients: + $ref: '#/components/schemas/OrgAuthorizedClientRelationshipUserAuthorizedClients' required: - - attributes - - type - - id + - oauth2_client + - user_authorized_clients type: object - RoleUpdateResponseData: - description: Role object returned by the API. + OrgAuthorizedClientType: + description: The resource type for org authorized clients. + enum: + - org_authorized_clients + example: org_authorized_clients + type: string + x-enum-varnames: + - ORG_AUTHORIZED_CLIENTS + OrgAuthorizedClientUpdateAttributes: + description: Attributes for updating an org authorized client. properties: - attributes: - $ref: '#/components/schemas/RoleUpdateAttributes' - id: - description: The unique identifier of the role. + disabled: + description: Whether to disable or enable this client for the organization. + example: true + type: boolean + type: object + OrgConfigReadAttributes: + description: Readable attributes of an Org Config. + properties: + description: + description: The description of an Org Config. + example: Frobulate the turbo encabulator manifold + type: string + modified_at: + description: The timestamp of the last Org Config update (if any). + format: date-time + nullable: true + type: string + name: + description: The machine-friendly name of an Org Config. + example: monitor_timezone + type: string + value: + description: The value of an Org Config. + value_type: + description: The type of an Org Config value. + example: bool type: string - relationships: - $ref: '#/components/schemas/RoleResponseRelationships' - type: - $ref: '#/components/schemas/RolesType' required: - - type + - name + - description + - value_type + - value type: object - RoleClone: - description: Data for the clone role request. + OrgConfigType: + description: Data type of an Org Config. + enum: + - org_configs + example: org_configs + type: string + x-enum-varnames: + - ORG_CONFIGS + OrgConfigWriteAttributes: + description: Writable attributes of an Org Config. properties: - attributes: - $ref: '#/components/schemas/RoleCloneAttributes' - type: - $ref: '#/components/schemas/RolesType' + value: + description: The value of an Org Config. required: - - type - - attributes + - value type: object - RelationshipToPermissionData: - description: Relationship to permission object. + OrgConnectionAttributes: + description: Org connection attributes. properties: - id: - description: ID of the permission. + connection_types: + description: List of connection types. + example: + - logs + - metrics + items: + $ref: '#/components/schemas/OrgConnectionTypeEnum' + type: array + created_at: + description: Timestamp when the connection was created. + example: '2023-01-01T12:00:00Z' + format: date-time type: string - type: - $ref: '#/components/schemas/PermissionsType' + required: + - connection_types + - created_at + type: object + OrgConnectionRelationships: + description: Related organizations and user. + properties: + created_by: + $ref: '#/components/schemas/OrgConnectionUserRelationship' + sink_org: + $ref: '#/components/schemas/OrgConnectionOrgRelationship' + source_org: + $ref: '#/components/schemas/OrgConnectionOrgRelationship' type: object - RelationshipToUserData: - description: Relationship to user object. + OrgConnectionType: + description: Org connection type. + enum: + - org_connection + example: org_connection + type: string + x-enum-varnames: + - ORG_CONNECTION + OrgConnectionListResponseMetaPage: + description: Page information. properties: - id: - description: A unique identifier that represents the user. - example: 00000000-0000-0000-2345-000000000000 - type: string - type: - $ref: '#/components/schemas/UsersType' - required: - - id - - type + total_count: + description: Total number of org connections. + example: 0 + format: int64 + type: integer + total_filtered_count: + description: Total number of org connections matching the filter. + example: 0 + format: int64 + type: integer type: object - User: - description: User object returned by the API. + OrgConnectionCreateAttributes: + description: Attributes for creating an org connection. properties: - attributes: - $ref: '#/components/schemas/UserAttributes' - id: - description: ID of the user. - type: string - relationships: - $ref: '#/components/schemas/UserResponseRelationships' - type: - $ref: '#/components/schemas/UsersType' + connection_types: + description: List of connection types to establish. + example: + - logs + items: + $ref: '#/components/schemas/OrgConnectionTypeEnum' + minItems: 1 + type: array + required: + - connection_types type: object - UserResponseIncludedItem: - description: An object related to a user. - oneOf: - - $ref: '#/components/schemas/Organization' - - $ref: '#/components/schemas/Permission' - - $ref: '#/components/schemas/Role' - ServiceAccountCreateData: - description: Object to create a service account User. + OrgConnectionCreateRelationships: + description: Relationships for org connection creation. properties: - attributes: - $ref: '#/components/schemas/ServiceAccountCreateAttributes' - relationships: - $ref: '#/components/schemas/UserRelationships' - type: - $ref: '#/components/schemas/UsersType' + sink_org: + $ref: '#/components/schemas/OrgConnectionOrgRelationship' required: - - attributes - - type + - sink_org type: object - Team: - description: A team + OrgConnectionUpdateAttributes: + description: Attributes for updating an org connection. properties: - attributes: - $ref: '#/components/schemas/TeamAttributes' - id: - description: The team's identifier - example: aeadc05e-98a8-11ec-ac2c-da7ad0900001 - type: string - relationships: - $ref: '#/components/schemas/TeamRelationships' - type: - $ref: '#/components/schemas/TeamType' + connection_types: + description: Updated list of connection types. + example: + - logs + - metrics + items: + $ref: '#/components/schemas/OrgConnectionTypeEnum' + minItems: 1 + type: array required: - - attributes - - id - - type + - connection_types type: object - TeamIncluded: - description: Included resources related to the team - oneOf: - - $ref: '#/components/schemas/User' - - $ref: '#/components/schemas/TeamLink' - - $ref: '#/components/schemas/UserTeamPermission' - TeamsResponseLinks: - description: Teams response links. + OrgGroupMembershipAttributes: + description: Attributes of an org group membership. properties: - first: - description: First link. + created_at: + description: Timestamp when the membership was created. + example: '2024-01-15T10:30:00Z' + format: date-time type: string - last: - description: Last link. - nullable: true + modified_at: + description: Timestamp when the membership was last modified. + example: '2024-01-15T10:30:00Z' + format: date-time type: string - next: - description: Next link. + org_name: + description: The name of the member organization. + example: Acme Corp type: string - prev: - description: Previous link. - nullable: true + org_site: + description: The site of the member organization. + example: us1 type: string - self: - description: Current link. + org_uuid: + description: The UUID of the member organization. + example: c3d4e5f6-a7b8-9012-cdef-012345678901 + format: uuid type: string - type: object - TeamsResponseMeta: - description: Teams response metadata. - properties: - pagination: - $ref: '#/components/schemas/TeamsResponseMetaPagination' - type: object - TeamCreate: - description: Team create - properties: - attributes: - $ref: '#/components/schemas/TeamCreateAttributes' - relationships: - $ref: '#/components/schemas/TeamCreateRelationships' - type: - $ref: '#/components/schemas/TeamType' required: - - attributes - - type + - org_name + - org_uuid + - org_site + - created_at + - modified_at type: object - TeamSyncData: - description: Team sync data. + OrgGroupMembershipRelationships: + description: Relationships of an org group membership. properties: - attributes: - $ref: '#/components/schemas/TeamSyncAttributes' - type: - $ref: '#/components/schemas/TeamSyncBulkType' - required: - - attributes - - type + org_group: + $ref: '#/components/schemas/OrgGroupRelationshipToOne' type: object - MemberTeam: - description: A member team + OrgGroupMembershipType: + description: Org group memberships resource type. + enum: + - org_group_memberships + example: org_group_memberships + type: string + x-enum-varnames: + - ORG_GROUP_MEMBERSHIPS + OrgGroupPaginationMetaPage: + description: Page-based pagination details for org group list responses. properties: - id: - description: The member team's identifier - example: aeadc05e-98a8-11ec-ac2c-da7ad0900001 - type: string + first_number: + description: First page number. + format: int64 + type: integer + last_number: + description: Last page number. + format: int64 + nullable: true + type: integer + next_number: + description: Next page number. + format: int64 + nullable: true + type: integer + number: + description: Page number. + format: int64 + type: integer + prev_number: + description: Previous page number. + format: int64 + nullable: true + type: integer + size: + description: Page size. + format: int64 + type: integer + total: + description: Total number of results. + format: int64 + type: integer type: - $ref: '#/components/schemas/MemberTeamType' - required: - - id - - type + description: Pagination type. + example: number_size + type: string type: object - TeamUpdate: - description: Team update request + OrgGroupMembershipBulkUpdateAttributes: + description: Attributes for bulk updating org group memberships. properties: - attributes: - $ref: '#/components/schemas/TeamUpdateAttributes' - relationships: - $ref: '#/components/schemas/TeamUpdateRelationships' - type: - $ref: '#/components/schemas/TeamType' + orgs: + description: List of organizations to move. Maximum 100 per request. + items: + $ref: '#/components/schemas/GlobalOrgIdentifier' + type: array required: - - attributes - - type + - orgs type: object - TeamLink: - description: Team link + OrgGroupMembershipBulkUpdateRelationships: + description: Relationships for bulk updating memberships. properties: - attributes: - $ref: '#/components/schemas/TeamLinkAttributes' - id: - description: The team link's identifier - example: b8626d7e-cedd-11eb-abf5-da7ad0900001 - type: string - type: - $ref: '#/components/schemas/TeamLinkType' + source_org_group: + $ref: '#/components/schemas/OrgGroupRelationshipToOne' + target_org_group: + $ref: '#/components/schemas/OrgGroupRelationshipToOne' required: - - attributes - - id - - type + - source_org_group + - target_org_group type: object - TeamLinkCreate: - description: Team link create + OrgGroupMembershipBulkUpdateType: + description: Org group membership bulk update resource type. + enum: + - org_group_membership_bulk_updates + example: org_group_membership_bulk_updates + type: string + x-enum-varnames: + - ORG_GROUP_MEMBERSHIP_BULK_UPDATES + OrgGroupMembershipUpdateRelationships: + description: Relationships for updating a membership. properties: - attributes: - $ref: '#/components/schemas/TeamLinkAttributes' - type: - $ref: '#/components/schemas/TeamLinkType' + org_group: + $ref: '#/components/schemas/OrgGroupRelationshipToOne' required: - - attributes - - type + - org_group type: object - UserTeam: - description: A user's relationship with a team + OrgGroupPolicyAttributes: + description: Attributes of an org group policy. properties: - attributes: - $ref: '#/components/schemas/UserTeamAttributes' - id: - description: The ID of a user's relationship with a team - example: TeamMembership-aeadc05e-98a8-11ec-ac2c-da7ad0900001-38835 + content: + additionalProperties: {} + description: The policy content as key-value pairs. + example: + value: UTC + type: object + enforcement_tier: + $ref: '#/components/schemas/OrgGroupPolicyEnforcementTier' + modified_at: + description: Timestamp when the policy was last modified. + example: '2024-01-15T10:30:00Z' + format: date-time type: string - relationships: - $ref: '#/components/schemas/UserTeamRelationships' - type: - $ref: '#/components/schemas/UserTeamType' - required: - - id - - type - type: object - UserTeamIncluded: - description: Included resources related to the team membership - oneOf: - - $ref: '#/components/schemas/User' - - $ref: '#/components/schemas/Team' - UserTeamCreate: - description: A user's relationship with a team - properties: - attributes: - $ref: '#/components/schemas/UserTeamAttributes' - relationships: - $ref: '#/components/schemas/UserTeamRelationships' - type: - $ref: '#/components/schemas/UserTeamType' + policy_name: + description: The name of the policy. + example: monitor_timezone + type: string + policy_type: + $ref: '#/components/schemas/OrgGroupPolicyPolicyType' required: - - type + - policy_name + - policy_type + - enforcement_tier + - modified_at type: object - UserTeamUpdate: - description: A user's relationship with a team + OrgGroupPolicyRelationships: + description: Relationships of an org group policy. properties: - attributes: - $ref: '#/components/schemas/UserTeamAttributes' - type: - $ref: '#/components/schemas/UserTeamType' - required: - - type + org_group: + $ref: '#/components/schemas/OrgGroupRelationshipToOne' type: object - TeamPermissionSetting: - description: Team permission setting + OrgGroupPolicyType: + description: Org group policies resource type. + enum: + - org_group_policies + example: org_group_policies + type: string + x-enum-varnames: + - ORG_GROUP_POLICIES + OrgGroupPolicyCreateAttributes: + description: Attributes for creating an org group policy. If `policy_type` or `enforcement_tier` are not provided, they default to `org_config` and `DEFAULT` respectively. properties: - attributes: - $ref: '#/components/schemas/TeamPermissionSettingAttributes' - id: - description: The team permission setting's identifier - example: TeamPermission-aeadc05e-98a8-11ec-ac2c-da7ad0900001-edit + content: + additionalProperties: {} + description: The policy content as key-value pairs. + example: + value: UTC + type: object + enforcement_tier: + $ref: '#/components/schemas/OrgGroupPolicyEnforcementTier' + policy_name: + description: The name of the policy. + example: monitor_timezone type: string - type: - $ref: '#/components/schemas/TeamPermissionSettingType' + policy_type: + $ref: '#/components/schemas/OrgGroupPolicyPolicyType' required: - - id - - type + - policy_name + - content type: object - TeamPermissionSettingUpdate: - description: Team permission setting update + OrgGroupPolicyCreateRelationships: + description: Relationships for creating a policy. properties: - attributes: - $ref: '#/components/schemas/TeamPermissionSettingUpdateAttributes' - type: - $ref: '#/components/schemas/TeamPermissionSettingType' + org_group: + $ref: '#/components/schemas/OrgGroupRelationshipToOne' required: - - type + - org_group type: object - UsageDataObject: - description: Usage data. + OrgGroupPolicyUpdateAttributes: + description: Attributes for updating an org group policy. properties: - attributes: - $ref: '#/components/schemas/UsageAttributesObject' - id: - description: Unique ID of the response. + content: + additionalProperties: {} + description: The policy content as key-value pairs. + example: + value: UTC + type: object + enforcement_tier: + $ref: '#/components/schemas/OrgGroupPolicyEnforcementTier' + type: object + OrgGroupPolicyConfigAttributes: + description: Attributes of an org group policy config. + properties: + allowed_values: + description: The allowed values for this config. + example: + - UTC + - US/Eastern + - US/Pacific + items: + description: An allowed value for this config. + type: string + type: array + default_value: + description: The default value for this config. + example: UTC + description: + description: The description of the policy config. + example: The default timezone for monitors. type: string - type: - $ref: '#/components/schemas/UsageTimeSeriesType' + name: + description: The name of the policy config. + example: monitor_timezone + type: string + value_type: + description: The type of the value for this config. + example: string + type: string + required: + - name + - description + - value_type + - allowed_values + - default_value type: object - BillingDimensionsMappingBody: - description: Billing dimensions mapping data. - items: - $ref: '#/components/schemas/BillingDimensionsMappingBodyItem' - type: array - CostByOrg: - description: Cost data. + OrgGroupPolicyConfigType: + description: Org group policy configs resource type. + enum: + - org_group_policy_configs + example: org_group_policy_configs + type: string + x-enum-varnames: + - ORG_GROUP_POLICY_CONFIGS + OrgGroupPolicyOverrideAttributes: + description: Attributes of an org group policy override. properties: - attributes: - $ref: '#/components/schemas/CostByOrgAttributes' - id: - description: Unique ID of the response. + content: + additionalProperties: {} + description: The override content as key-value pairs. + type: object + created_at: + description: Timestamp when the override was created. + example: '2024-01-15T10:30:00Z' + format: date-time type: string - type: - $ref: '#/components/schemas/CostByOrgType' + modified_at: + description: Timestamp when the override was last modified. + example: '2024-01-15T10:30:00Z' + format: date-time + type: string + org_site: + description: The site of the organization that has the override. + example: us1 + type: string + org_uuid: + description: The UUID of the organization that has the override. + example: c3d4e5f6-a7b8-9012-cdef-012345678901 + format: uuid + type: string + required: + - org_uuid + - org_site + - created_at + - modified_at type: object - HourlyUsage: - description: Hourly usage for a product family for an org. + OrgGroupPolicyOverrideRelationships: + description: Relationships of an org group policy override. properties: - attributes: - $ref: '#/components/schemas/HourlyUsageAttributes' - id: - description: Unique ID of the response. + org_group: + $ref: '#/components/schemas/OrgGroupRelationshipToOne' + org_group_policy: + $ref: '#/components/schemas/OrgGroupPolicyRelationshipToOne' + type: object + OrgGroupPolicyOverrideType: + description: Org group policy overrides resource type. + enum: + - org_group_policy_overrides + example: org_group_policy_overrides + type: string + x-enum-varnames: + - ORG_GROUP_POLICY_OVERRIDES + OrgGroupPolicyOverrideCreateAttributes: + description: Attributes for creating a policy override. + properties: + org_site: + description: The site of the organization. + example: us1 type: string - type: - $ref: '#/components/schemas/UsageTimeSeriesType' + org_uuid: + description: The UUID of the organization to grant the override. + example: c3d4e5f6-a7b8-9012-cdef-012345678901 + format: uuid + type: string + required: + - org_uuid + - org_site type: object - HourlyUsageMetadata: - description: The object containing document metadata. + OrgGroupPolicyOverrideCreateRelationships: + description: Relationships for creating a policy override. properties: - pagination: - $ref: '#/components/schemas/HourlyUsagePagination' + org_group: + $ref: '#/components/schemas/OrgGroupRelationshipToOne' + org_group_policy: + $ref: '#/components/schemas/OrgGroupPolicyRelationshipToOne' + required: + - org_group + - org_group_policy type: object - ProjectedCost: - description: Projected Cost data. + OrgGroupPolicyOverrideUpdateAttributes: + description: Attributes for updating a policy override. The `org_uuid` and `org_site` fields must match the existing override and cannot be changed. properties: - attributes: - $ref: '#/components/schemas/ProjectedCostAttributes' - id: - description: Unique ID of the response. + org_site: + description: The site of the organization. + example: us1 type: string - type: - $ref: '#/components/schemas/ProjectedCostType' + org_uuid: + description: The UUID of the organization. + example: c3d4e5f6-a7b8-9012-cdef-012345678901 + format: uuid + type: string + required: + - org_uuid + - org_site type: object - UserInvitationData: - description: Object to create a user invitation. + OrgGroupPolicySuggestionAttributes: + description: Attributes of an org group policy suggestion. properties: - relationships: - $ref: '#/components/schemas/UserInvitationRelationships' - type: - $ref: '#/components/schemas/UserInvitationsType' + consensus_ratio: + description: The ratio of member orgs whose configuration agrees on the recommended value. + example: 0.75 + format: double + maximum: 1 + minimum: 0 + type: number + policy_name: + description: The name of the suggested policy. + example: monitor_timezone + type: string + recommended_value: + description: The recommended value for the policy, based on member org consensus. + example: UTC + status: + $ref: '#/components/schemas/OrgGroupPolicySuggestionStatus' required: - - type - - relationships + - policy_name + - status + - consensus_ratio + - recommended_value type: object - UserInvitationResponseData: - description: Object of a user invitation returned by the API. + OrgGroupPolicySuggestionRelationships: + description: Relationships of an org group policy suggestion. properties: - attributes: - $ref: '#/components/schemas/UserInvitationDataAttributes' - id: - description: ID of the user invitation. + org_group: + $ref: '#/components/schemas/OrgGroupRelationshipToOne' + type: object + OrgGroupPolicySuggestionType: + description: Org group policy suggestions resource type. + enum: + - org_group_policy_suggestions + example: org_group_policy_suggestions + type: string + x-enum-varnames: + - ORG_GROUP_POLICY_SUGGESTIONS + OrgGroupAttributes: + description: Attributes of an org group. + properties: + created_at: + description: Timestamp when the org group was created. + example: '2024-01-15T10:30:00Z' + format: date-time type: string - relationships: - $ref: '#/components/schemas/UserInvitationRelationships' - type: - $ref: '#/components/schemas/UserInvitationsType' + modified_at: + description: Timestamp when the org group was last modified. + example: '2024-01-15T10:30:00Z' + format: date-time + type: string + name: + description: The name of the org group. + example: My Org Group + type: string + owner_org_site: + description: The site of the organization that owns this org group. + example: us1 + type: string + owner_org_uuid: + description: The UUID of the organization that owns this org group. + example: b2c3d4e5-f6a7-8901-bcde-f01234567890 + format: uuid + type: string + required: + - name + - owner_org_uuid + - owner_org_site + - created_at + - modified_at type: object - UserCreateData: - description: Object to create a user. + OrgGroupType: + description: Org groups resource type. + enum: + - org_groups + example: org_groups + type: string + x-enum-varnames: + - ORG_GROUPS + OrgGroupCreateAttributes: + description: Attributes for creating an org group. properties: - attributes: - $ref: '#/components/schemas/UserCreateAttributes' - relationships: - $ref: '#/components/schemas/UserRelationships' - type: - $ref: '#/components/schemas/UsersType' + name: + description: The name of the org group. + example: My Org Group + type: string required: - - attributes - - type + - name type: object - UserUpdateData: - description: Object to update a user. + OrgGroupUpdateAttributes: + description: Attributes for updating an org group. properties: - attributes: - $ref: '#/components/schemas/UserUpdateAttributes' - id: - description: ID of the user. - example: 00000000-0000-feed-0000-000000000000 + name: + description: The name of the org group. + example: Updated Org Group Name type: string - type: - $ref: '#/components/schemas/UsersType' required: - - attributes - - type - - id + - name type: object - PartialAPIKeyAttributes: - description: Attributes of a partial API key. + PermissionAttributes: + description: Attributes of a permission. properties: - category: - description: The category of the API key. + created: + description: Creation time of the permission. + format: date-time + type: string + description: + description: Description of the permission. + type: string + display_name: + description: Displayed name for the permission. + type: string + display_type: + description: Display type. + type: string + group_name: + description: Name of the permission group. + type: string + name: + description: Name of the permission. type: string + name_aliases: + description: List of alias names for the permission. + items: + description: An alternative name for the permission. + type: string + type: array + restricted: + description: Whether or not the permission is restricted. + type: boolean + type: object + PermissionsType: + default: permissions + description: Permissions resource type. + enum: + - permissions + example: permissions + type: string + x-enum-varnames: + - PERMISSIONS + PersonalAccessTokenAttributes: + description: Attributes of an access token. + properties: created_at: - description: Creation date of the API key. - example: '2020-11-23T10:00:00.000Z' + description: Creation date of the access token. + example: '2024-01-01T00:00:00+00:00' + format: date-time readOnly: true type: string - last4: - description: The last four characters of the API key. - example: abcd - maxLength: 4 - minLength: 4 + expires_at: + description: Expiration date of the access token. + example: '2025-12-31T23:59:59+00:00' + format: date-time + nullable: true readOnly: true type: string - modified_at: - description: Date the API key was last modified. - example: '2020-11-23T10:00:00.000Z' + last_used_at: + description: Date the access token was last used. + example: '2025-06-15T12:30:00+00:00' + format: date-time + nullable: true + readOnly: true + type: string + modified_at: + description: Date of last modification of the access token. + example: '2024-06-01T00:00:00+00:00' + format: date-time + nullable: true readOnly: true type: string name: - description: Name of the API key. - example: API Key for submitting metrics + description: Name of the access token. + example: My Access Token type: string - remote_config_read_enabled: - description: The remote config read enabled status. - type: boolean + public_portion: + description: The public portion of the access token. + example: ddpat_abc123 + readOnly: true + type: string + scopes: + description: Array of scopes granted to the access token. + example: + - dashboards_read + - dashboards_write + items: + description: Name of scope. + type: string + type: array type: object - APIKeyRelationships: - description: Resources related to the API key. + AccessTokenListItemRelationships: + description: Resources related to the access token entry in the mixed list response. properties: - created_by: - $ref: '#/components/schemas/RelationshipToUser' - modified_by: - $ref: '#/components/schemas/NullableRelationshipToUser' + owned_by: + $ref: '#/components/schemas/RelationshipToAccessTokenOwner' type: object - APIKeysType: - default: api_keys - description: API Keys resource type. + AccessTokensType: + description: Resource type returned by the access tokens list endpoint. Includes both personal and service access tokens. enum: - - api_keys - example: api_keys + - personal_access_tokens + - service_access_tokens + example: personal_access_tokens type: string x-enum-varnames: - - API_KEYS - LeakedKey: - description: The definition of LeakedKey object. - properties: - attributes: - $ref: '#/components/schemas/LeakedKeyAttributes' - id: - description: The LeakedKey id. - example: id - type: string - type: - $ref: '#/components/schemas/LeakedKeyType' - required: - - attributes - - id - - type - type: object - APIKeysResponseMetaPage: - description: Additional information related to the API keys response. + - PERSONAL_ACCESS_TOKENS + - SERVICE_ACCESS_TOKENS + PersonalAccessTokenResponseMetaPage: + description: Pagination information. properties: total_filtered_count: - description: Total filtered application key count. + description: Total filtered access token count. format: int64 type: integer type: object - APIKeyCreateAttributes: - description: Attributes used to create an API Key. + PersonalAccessTokenCreateAttributes: + description: Attributes used to create an access token. properties: - category: - description: The APIKeyCreateAttributes category. + expires_at: + description: Expiration date of the access token. Must be at least 24 hours in the future. + example: '2025-12-31T23:59:59+00:00' + format: date-time type: string name: - description: Name of the API key. - example: API Key for submitting metrics + description: Name of the access token. + example: My Personal Access Token type: string - remote_config_read_enabled: - description: The APIKeyCreateAttributes remote_config_read_enabled. - type: boolean + scopes: + description: Array of scopes to grant the access token. + example: + - dashboards_read + - dashboards_write + items: + description: Name of scope. + type: string + type: array required: - name + - scopes + - expires_at type: object - FullAPIKeyAttributes: - description: Attributes of a full API key. + PersonalAccessTokensType: + default: personal_access_tokens + description: Personal access tokens resource type. + enum: + - personal_access_tokens + example: personal_access_tokens + type: string + x-enum-varnames: + - PERSONAL_ACCESS_TOKENS + FullPersonalAccessTokenAttributes: + description: Attributes of a full access token, including the token key. properties: - category: - description: The category of the API key. - type: string created_at: - description: Creation date of the API key. - example: '2020-11-23T10:00:00.000Z' + description: Creation date of the access token. + example: '2024-01-01T00:00:00+00:00' format: date-time readOnly: true type: string - key: - description: The API key. - readOnly: true - type: string - last4: - description: The last four characters of the API key. - example: abcd - maxLength: 4 - minLength: 4 + expires_at: + description: Expiration date of the access token. + example: '2025-12-31T23:59:59+00:00' + format: date-time + nullable: true readOnly: true type: string - modified_at: - description: Date the API key was last modified. - example: '2020-11-23T10:00:00.000Z' - format: date-time + key: + description: The access token key. Only returned upon creation. readOnly: true type: string name: - description: Name of the API key. - example: API Key for submitting metrics + description: Name of the access token. + example: My Access Token type: string - remote_config_read_enabled: - description: The remote config read enabled status. - type: boolean + public_portion: + description: The public portion of the access token. + example: ddpat_abc123 + readOnly: true + type: string + scopes: + description: Array of scopes granted to the access token. + example: + - dashboards_read + - dashboards_write + items: + description: Name of scope. + type: string + type: array type: object - APIKeyUpdateAttributes: - description: Attributes used to update an API Key. + PersonalAccessTokenRelationships: + description: Resources related to the access token. + properties: + owned_by: + $ref: '#/components/schemas/RelationshipToUser' + type: object + PersonalAccessTokenUpdateAttributes: + description: Attributes used to update an access token. properties: - category: - description: The APIKeyUpdateAttributes category. - type: string name: - description: Name of the API key. - example: API Key for submitting metrics + description: Name of the access token. + example: Updated Personal Access Token type: string - remote_config_read_enabled: - description: The APIKeyUpdateAttributes remote_config_read_enabled. - type: boolean + scopes: + description: Array of scopes to grant the access token. + example: + - dashboards_read + - dashboards_write + items: + description: Name of scope. + type: string + type: array + type: object + RestrictionPolicyAttributes: + description: Restriction policy attributes. + example: + bindings: [] + properties: + bindings: + description: An array of bindings. + items: + $ref: '#/components/schemas/RestrictionPolicyBinding' + type: array required: - - name + - bindings type: object - PartialApplicationKeyAttributes: - description: Attributes of a partial application key. + RestrictionPolicyType: + default: restriction_policy + description: Restriction policy type. + enum: + - restriction_policy + example: restriction_policy + type: string + x-enum-varnames: + - RESTRICTION_POLICY + RoleAttributes: + additionalProperties: {} + description: Attributes of the role. properties: created_at: - description: Creation date of the application key. - example: '2020-11-23T10:00:00.000Z' + description: Creation time of the role. + format: date-time readOnly: true type: string - last4: - description: The last four characters of the application key. - example: abcd - maxLength: 4 - minLength: 4 + modified_at: + description: Time of last role modification. + format: date-time readOnly: true type: string name: - description: Name of the application key. - example: Application Key for managing dashboards + description: The name of the role. The name is neither unique nor a stable identifier of the role. type: string - scopes: - description: Array of scopes to grant the application key. - example: - - dashboards_read - - dashboards_write - - dashboards_public_share + receives_permissions_from: + description: |- + The managed role from which this role automatically inherits new permissions. + Specify one of the following: "Datadog Admin Role", "Datadog Standard Role", or "Datadog Read Only Role". + If empty or not specified, the role does not automatically inherit permissions from any managed role. items: - description: Name of scope. + description: Name of a managed role to inherit permissions from. type: string - nullable: true type: array + user_count: + description: Number of users with that role. + format: int64 + readOnly: true + type: integer type: object - ApplicationKeyRelationships: - description: Resources related to the application key. + RoleResponseRelationships: + description: Relationships of the role object returned by the API. properties: - owned_by: - $ref: '#/components/schemas/RelationshipToUser' + permissions: + $ref: '#/components/schemas/RelationshipToPermissions' type: object - ApplicationKeysType: - default: application_keys - description: Application Keys resource type. + RolesType: + default: roles + description: Roles type. enum: - - application_keys - example: application_keys + - roles + example: roles type: string x-enum-varnames: - - APPLICATION_KEYS - ApplicationKeyResponseMetaPage: - description: Additional information related to the application key response. + - ROLES + RoleCreateAttributes: + description: Attributes of the created role. properties: - total_filtered_count: - description: Total filtered application key count. - format: int64 - type: integer + created_at: + description: Creation time of the role. + format: date-time + readOnly: true + type: string + modified_at: + description: Time of last role modification. + format: date-time + readOnly: true + type: string + name: + description: Name of the role. + example: developers + type: string + receives_permissions_from: + description: |- + The managed role from which this role automatically inherits new permissions. + Specify one of the following: "Datadog Admin Role", "Datadog Standard Role", or "Datadog Read Only Role". + If empty or not specified, the role does not automatically inherit permissions from any managed role. + items: + description: Name of a managed role to inherit permissions from. + type: string + type: array + required: + - name type: object - FullApplicationKeyAttributes: - description: Attributes of a full application key. + RoleRelationships: + description: Relationships of the role object. + properties: + permissions: + $ref: '#/components/schemas/RelationshipToPermissions' + type: object + RoleTemplateDataAttributes: + description: The definition of `RoleTemplateDataAttributes` object. + properties: + description: + description: The `attributes` `description`. + type: string + name: + description: The `attributes` `name`. + type: string + type: object + RoleTemplateDataType: + default: roles + description: Roles resource type. + enum: + - roles + example: roles + type: string + x-enum-varnames: + - ROLES + RoleUpdateAttributes: + description: Attributes of the role. properties: created_at: - description: Creation date of the application key. - example: '2020-11-23T10:00:00.000Z' + description: Creation time of the role. format: date-time readOnly: true type: string - key: - description: The application key. - readOnly: true - type: string - last4: - description: The last four characters of the application key. - example: abcd - maxLength: 4 - minLength: 4 + modified_at: + description: Time of last role modification. + format: date-time readOnly: true type: string name: - description: Name of the application key. - example: Application Key for managing dashboards + description: Name of the role. type: string - scopes: - description: Array of scopes to grant the application key. - example: - - dashboards_read - - dashboards_write - - dashboards_public_share + receives_permissions_from: + description: |- + The managed role from which this role automatically inherits new permissions. + Specify one of the following: "Datadog Admin Role", "Datadog Standard Role", or "Datadog Read Only Role". + If empty or not specified, the role does not automatically inherit permissions from any managed role. items: - description: Name of scope. + description: Name of a managed role to inherit permissions from. type: string - nullable: true type: array + user_count: + description: The user count. + format: int32 + maximum: 2147483647 + type: integer type: object - ApplicationKeyUpdateAttributes: - description: Attributes used to update an application Key. + RoleCloneAttributes: + description: Attributes required to create a new role by cloning an existing one. properties: name: - description: Name of the application key. - example: Application Key for managing dashboards + description: Name of the new role that is cloned. + example: cloned-role type: string - scopes: - description: Array of scopes to grant the application key. - example: - - dashboards_read - - dashboards_write - - dashboards_public_share + receives_permissions_from: + description: |- + The managed role from which this role automatically inherits new permissions. + Specify one of the following: "Datadog Admin Role", "Datadog Standard Role", or "Datadog Read Only Role". + If empty or not specified, the role does not automatically inherit permissions from any managed role. items: - description: Name of scope. + description: Name of a managed role to inherit permissions from. type: string - nullable: true type: array + required: + - name type: object - AuditLogsEventAttributes: - description: JSON object containing all event attributes and their associated values. + SAMLConfigurationAttributes: + description: Attributes of a SAML configuration. properties: - attributes: - additionalProperties: {} - description: JSON object of attributes from Audit Logs events. + assertion_consumer_service: + description: The assertion consumer service (ACS) URLs that the identity provider posts SAML responses to. example: - customAttribute: 123 - duration: 2345 - type: object - message: - description: Message of the event. + - https://app.datadoghq.com/account/saml/assertion + items: + description: An assertion consumer service URL. + example: https://app.datadoghq.com/account/saml/assertion + type: string + type: array + created_at: + description: Creation time of the SAML configuration. + format: date-time + readOnly: true type: string - service: - description: >- - Name of the application or service generating Audit Logs events. - - This name is used to correlate Audit Logs to APM, so make sure you - specify the same - - value when you use both products. - example: web-app + entity_id: + description: The service provider entity ID Datadog presents to the identity provider. + example: https://app.datadoghq.com/account/saml/metadata.xml?id=00000000-0000-0000-0000-000000000000 type: string - tags: - description: Array of tags associated with your event. + expires_at: + description: Expiration time of the uploaded identity provider metadata. + example: '2010-10-26T13:31:15+00:00' + format: date-time + nullable: true + type: string + idp_initiated: + description: Whether identity-provider-initiated login is enabled for the organization. + example: true + type: boolean + jit_domains: + description: |- + Email domains for which users are automatically provisioned on first SAML login + (just-in-time provisioning). example: - - team:A + - example.com items: - description: Tag associated with your event. + description: An email domain for just-in-time user provisioning. + example: example.com type: string type: array - timestamp: - description: Timestamp of your event. - example: '2019-01-02T09:42:36.320Z' + modified_at: + description: Time of the last SAML configuration modification. format: date-time + readOnly: true + type: string + sso_url: + description: |- + The single sign-on URL users can visit to start a SAML login. + Returns `null` when the organization is identity-provider-initiated and has no subdomain. + example: https://app.datadoghq.com/account/login/id/00000000-0000-0000-0000-000000000000 + nullable: true type: string type: object - AuditLogsEventType: - default: audit - description: Type of the event. + SAMLConfigurationRelationships: + description: Relationships of a SAML configuration. + properties: + default_roles: + $ref: '#/components/schemas/RelationshipToRoles' + type: object + SAMLConfigurationsType: + default: saml_configurations + description: SAML configurations resource type. enum: - - audit - example: audit + - saml_configurations + example: saml_configurations type: string x-enum-varnames: - - Audit - AuditLogsResponsePage: - description: Paging attributes. + - SAML_CONFIGURATIONS + SAMLConfigurationUpdateAttributes: + description: Attributes for updating a SAML configuration. properties: - after: - description: >- - The cursor to use to get the next results, if any. To make the next - request, use the same parameters with the addition of - `page[cursor]`. - example: >- - eyJzdGFydEF0IjoiQVFBQUFYS2tMS3pPbm40NGV3QUFBQUJCV0V0clRFdDZVbG8zY3pCRmNsbHJiVmxDWlEifQ== + idp_initiated: + description: Whether identity-provider-initiated login is enabled for the organization. + example: true + type: boolean + jit_domains: + description: |- + Email domains for which users are automatically provisioned on first SAML login + (just-in-time provisioning). A default role is required to enable just-in-time provisioning. + example: + - example.com + items: + description: An email domain for just-in-time user provisioning. + example: example.com + maxLength: 255 + minLength: 1 + type: string + maxItems: 50 + minItems: 0 + type: array + type: object + UnassignSeatsUserRequestDataAttributes: + description: Attributes specifying the product and users from whom seats will be unassigned. + properties: + product_code: + description: The product code for which to unassign seats. + example: '' type: string + user_uuids: + description: The list of user IDs to unassign seats from. + example: + - '' + items: + description: A user UUID identifying a user to unassign seats from. + type: string + type: array + required: + - product_code + - user_uuids type: object - AuditLogsResponseStatus: - description: The status of the response. + SeatAssignmentsDataType: + default: seat-assignments + description: Seat assignments resource type. enum: - - done - - timeout - example: done + - seat-assignments + example: seat-assignments type: string x-enum-varnames: - - DONE - - TIMEOUT - AuditLogsWarning: - description: Warning message indicating something that went wrong with the query. + - SEAT_ASSIGNMENTS + SeatUserDataAttributes: + description: Attributes of a user assigned to a seat, including their email, name, and assignment timestamp. properties: - code: - description: Unique code for this type of warning. - example: unknown_index + assigned_at: + description: The date and time the seat was assigned. + example: '2021-01-01T00:00:00Z' + format: date-time + nullable: true type: string - detail: - description: Detailed explanation of this specific warning. - example: 'indexes: foo, bar' + email: + description: The email of the user. + example: user@example.com + nullable: true type: string - title: - description: Short human-readable summary of the warning. - example: >- - One or several indexes are missing or invalid, results hold data - from the other indexes + name: + description: The name of the user. + example: John Doe + nullable: true type: string type: object - AuthNMappingAttributes: - description: Attributes of AuthN Mapping. + SeatUserDataType: + default: seat-users + description: Seat users resource type. + enum: + - seat-users + example: seat-users + type: string + x-enum-varnames: + - SEAT_USERS + AssignSeatsUserRequestDataAttributes: + description: Attributes specifying the product and users to whom seats will be assigned. properties: - attribute_key: - description: >- - Key portion of a key/value pair of the attribute sent from the - Identity Provider. - example: member-of + product_code: + description: The product code for which to assign seats. + example: '' type: string - attribute_value: - description: >- - Value portion of a key/value pair of the attribute sent from the - Identity Provider. - example: Development + user_uuids: + description: The list of user IDs to assign seats to. + example: + - '' + items: + description: A user UUID identifying a user to assign a seat to. + type: string + type: array + required: + - product_code + - user_uuids + type: object + AssignSeatsUserResponseDataAttributes: + description: Attributes of the assign seats response, including the list of users assigned and the product code. + properties: + assigned_ids: + description: The list of user IDs to which the seats were assigned. + items: + description: A user UUID identifying a user to whom a seat was assigned. + type: string + type: array + product_code: + description: The product code for which the seats were assigned. + type: string + type: object + ServiceAccountCreateAttributes: + description: Attributes of the created user. + properties: + email: + description: The email of the user. + example: jane.doe@example.com + type: string + name: + description: The name of the user. + type: string + service_account: + description: Whether the user is a service account. Must be true. + example: true + type: boolean + title: + description: The title of the user. type: string + required: + - email + - service_account + type: object + UserRelationships: + description: Relationships of the user object. + properties: + roles: + $ref: '#/components/schemas/RelationshipToRoles' + type: object + ServiceAccessTokenAttributes: + description: Attributes of an access token. + properties: created_at: - description: Creation time of the AuthN Mapping. + description: Creation date of the access token. + example: '2024-01-01T00:00:00+00:00' + format: date-time + readOnly: true + type: string + expires_at: + description: Expiration date of the access token. + example: '2025-12-31T23:59:59+00:00' format: date-time + nullable: true + readOnly: true + type: string + last_used_at: + description: Date the access token was last used. + example: '2025-06-15T12:30:00+00:00' + format: date-time + nullable: true readOnly: true type: string modified_at: - description: Time of last AuthN Mapping modification. + description: Date of last modification of the access token. + example: '2024-06-01T00:00:00+00:00' format: date-time + nullable: true readOnly: true type: string - saml_assertion_attribute_id: - description: The ID of the SAML assertion attribute. - example: '0' + name: + description: Name of the access token. + example: My Access Token type: string - type: object - AuthNMappingRelationships: - description: All relationships associated with AuthN Mapping. - properties: - role: - $ref: '#/components/schemas/RelationshipToRole' - saml_assertion_attribute: - $ref: '#/components/schemas/RelationshipToSAMLAssertionAttribute' - team: - $ref: '#/components/schemas/RelationshipToTeam' - type: object - AuthNMappingsType: - default: authn_mappings - description: AuthN Mappings resource type. - enum: - - authn_mappings - example: authn_mappings - type: string - x-enum-varnames: - - AUTHN_MAPPINGS - SAMLAssertionAttribute: - description: SAML assertion attribute. - properties: - attributes: - $ref: '#/components/schemas/SAMLAssertionAttributeAttributes' - id: - description: The ID of the SAML assertion attribute. - example: '0' + public_portion: + description: The public portion of the access token. + example: ddsat_abc123 + readOnly: true type: string - type: - $ref: '#/components/schemas/SAMLAssertionAttributesType' - required: - - id - - type + scopes: + description: Array of scopes granted to the access token. + example: + - dashboards_read + - dashboards_write + items: + description: Name of scope. + type: string + type: array type: object - AuthNMappingTeam: - description: Team. - properties: - attributes: - $ref: '#/components/schemas/AuthNMappingTeamAttributes' - id: - description: The ID of the Team. - example: f9bb8444-af7f-11ec-ac2c-da7ad0900001 - type: string - type: - $ref: '#/components/schemas/TeamType' + ServiceAccessTokenRelationships: + description: Resources related to the access token. + properties: + owned_by: + $ref: '#/components/schemas/RelationshipToServiceAccount' type: object - Pagination: - description: Pagination object. + ServiceAccessTokensType: + default: service_access_tokens + description: Service access tokens resource type. + enum: + - service_access_tokens + example: service_access_tokens + type: string + x-enum-varnames: + - SERVICE_ACCESS_TOKENS + ServiceAccessTokenResponseMetaPage: + description: Pagination information. properties: - total_count: - description: Total count. - format: int64 - type: integer total_filtered_count: - description: Total count of elements matched by the filter. + description: Total filtered access token count. format: int64 type: integer type: object - AuthNMappingCreateAttributes: - description: Key/Value pair of attributes used for create request. + ServiceAccountAccessTokenCreateAttributes: + description: Attributes used to create a service account access token. properties: - attribute_key: - description: >- - Key portion of a key/value pair of the attribute sent from the - Identity Provider. - example: member-of + expires_at: + description: Expiration date of the access token. Optional for service account tokens. + example: '2025-12-31T23:59:59+00:00' + format: date-time type: string - attribute_value: - description: >- - Value portion of a key/value pair of the attribute sent from the - Identity Provider. - example: Development + name: + description: Name of the access token. + example: Service Account Access Token type: string + scopes: + description: Array of scopes to grant the access token. + example: + - dashboards_read + - dashboards_write + items: + description: Name of scope. + type: string + type: array + required: + - name + - scopes type: object - AuthNMappingCreateRelationships: - description: Relationship of AuthN Mapping create object to a Role or Team. - oneOf: - - $ref: '#/components/schemas/AuthNMappingRelationshipToRole' - - $ref: '#/components/schemas/AuthNMappingRelationshipToTeam' - AuthNMappingUpdateAttributes: - description: Key/Value pair of attributes used for update request. + FullServiceAccessTokenAttributes: + description: Attributes of a full access token, including the token key. properties: - attribute_key: - description: >- - Key portion of a key/value pair of the attribute sent from the - Identity Provider. - example: member-of + created_at: + description: Creation date of the access token. + example: '2024-01-01T00:00:00+00:00' + format: date-time + readOnly: true type: string - attribute_value: - description: >- - Value portion of a key/value pair of the attribute sent from the - Identity Provider. - example: Development + expires_at: + description: Expiration date of the access token. + example: '2025-12-31T23:59:59+00:00' + format: date-time + nullable: true + readOnly: true + type: string + key: + description: The access token key. Only returned upon creation. + readOnly: true + type: string + name: + description: Name of the access token. + example: My Access Token + type: string + public_portion: + description: The public portion of the access token. + example: ddsat_abc123 + readOnly: true type: string + scopes: + description: Array of scopes granted to the access token. + example: + - dashboards_read + - dashboards_write + items: + description: Name of scope. + type: string + type: array type: object - AuthNMappingUpdateRelationships: - description: Relationship of AuthN Mapping update object to a Role or Team. - oneOf: - - $ref: '#/components/schemas/AuthNMappingRelationshipToRole' - - $ref: '#/components/schemas/AuthNMappingRelationshipToTeam' - ApplicationKeyCreateAttributes: - description: Attributes used to create an application Key. + ServiceAccountAccessTokenUpdateAttributes: + description: Attributes used to update a service account access token. properties: name: - description: Name of the application key. - example: Application Key for managing dashboards + description: Name of the access token. + example: Updated Service Access Token type: string scopes: - description: Array of scopes to grant the application key. + description: Array of scopes to grant the access token. example: - dashboards_read - dashboards_write - - dashboards_public_share items: description: Name of scope. type: string - nullable: true type: array - required: - - name type: object - CreateDataDeletionRequestBodyAttributes: - description: Attributes for creating a data deletion request. + TeamAttributes: + description: Team attributes properties: - from: - description: Start of requested time window, milliseconds since Unix epoch. - example: 1672527600000 + avatar: + description: Unicode representation of the avatar for the team, limited to a single grapheme + example: 🥑 + nullable: true + type: string + banner: + description: Banner selection for the team format: int64 + nullable: true type: integer - indexes: - description: >- - List of indexes for the search. If not provided, the search is - performed in all indexes. - example: - - test-index - - test-index-2 + created_at: + description: Creation date of the team + format: date-time + type: string + description: + description: Free-form markdown description/content for the team's homepage + nullable: true + type: string + handle: + description: The team's identifier + example: example-team + maxLength: 195 + type: string + hidden_modules: + description: Collection of hidden modules for the team items: - description: Individual index. + description: String identifier of the module type: string + nullable: true type: array - query: - additionalProperties: - type: string - description: Query for creating a data deletion request. - example: - host: abc - service: xyz - type: object - to: - description: End of requested time window, milliseconds since Unix epoch. - example: 1704063600000 - format: int64 + is_managed: + description: Whether the team is managed from an external source + type: boolean + link_count: + description: The number of links belonging to the team + format: int32 + maximum: 2147483647 + readOnly: true + type: integer + modified_at: + description: Modification date of the team + format: date-time + type: string + name: + description: The name of the team + example: Example Team + maxLength: 200 + type: string + summary: + description: A brief summary of the team, derived from the `description` + maxLength: 120 + nullable: true + type: string + user_count: + description: The number of users belonging to the team + format: int32 + maximum: 2147483647 + readOnly: true type: integer + visible_modules: + description: Collection of visible modules for the team + items: + description: String identifier of the module + type: string + nullable: true + type: array required: - - query - - from - - to + - handle + - name type: object - CreateDataDeletionRequestBodyDataType: - description: The deletion request type. + TeamRelationships: + description: Resources related to a team + properties: + team_links: + $ref: '#/components/schemas/RelationshipToTeamLinks' + user_team_permissions: + $ref: '#/components/schemas/RelationshipToUserTeamPermission' + type: object + TeamType: + default: team + description: Team type enum: - - create_deletion_req - example: create_deletion_req + - team + example: team type: string x-enum-varnames: - - CREATE_DELETION_REQ - DataDeletionResponseItemAttributes: - description: Deletion attribute for data deletion response. + - TEAM + UserTeamPermission: + description: A user's permissions for a given team properties: - created_at: - description: Creation time of the deletion request. - example: '2024-01-01T00:00:00.000000Z' - type: string - created_by: - description: User who created the deletion request. - example: test.user@datadoghq.com + attributes: + $ref: '#/components/schemas/UserTeamPermissionAttributes' + id: + description: The user team permission's identifier + example: UserTeamPermissions-aeadc05e-98a8-11ec-ac2c-da7ad0900001-416595 type: string - from_time: - description: Start of requested time window, milliseconds since Unix epoch. - example: 1672527600000 + type: + $ref: '#/components/schemas/UserTeamPermissionType' + required: + - id + - type + type: object + TeamsResponseMetaPagination: + description: Teams response metadata. + properties: + first_offset: + description: The first offset. format: int64 type: integer - indexes: - description: >- - List of indexes for the search. If not provided, the search is - performed in all indexes. - example: - - test-index - - test-index-2 - items: - description: Individual index. - type: string - type: array - is_created: - description: >- - Whether the deletion request is fully created or not. It can take - several minutes to fully create a deletion request depending on the - target query and timeframe. - example: true - type: boolean - org_id: - description: Organization ID. - example: 321813 + last_offset: + description: The last offset. format: int64 type: integer - product: - description: Product name. - example: logs - type: string - query: - description: Query for creating a data deletion request. - example: service:xyz host:abc - type: string - starting_at: - description: Starting time of the process to delete the requested data. - example: '2024-01-01T02:00:00.000000Z' - type: string - status: - description: Status of the deletion request. - example: pending - type: string - to_time: - description: End of requested time window, milliseconds since Unix epoch. - example: 1704063600000 + limit: + description: Pagination limit. + format: int64 + type: integer + next_offset: + description: The next offset. + format: int64 + type: integer + offset: + description: The offset. + format: int64 + type: integer + prev_offset: + description: The previous offset. format: int64 type: integer - total_unrestricted: - description: >- - Total number of elements to be deleted. Only the data accessible to - the current user that matches the query and timeframe provided will - be deleted. - example: 100 + total: + description: Total results. format: int64 type: integer - updated_at: - description: Update time of the deletion request. - example: '2024-01-01T00:00:00.000000Z' + type: + description: Offset type. type: string - required: - - created_at - - created_by - - from_time - - is_created - - org_id - - product - - query - - starting_at - - status - - to_time - - total_unrestricted - - updated_at type: object - DomainAllowlistResponseDataAttributes: - description: The details of the email domain allowlist. + TeamCreateAttributes: + description: Team creation attributes properties: - domains: - description: The list of domains in the email domain allowlist. + avatar: + description: Unicode representation of the avatar for the team, limited to a single grapheme + example: 🥑 + nullable: true + type: string + banner: + description: Banner selection for the team + format: int64 + nullable: true + type: integer + description: + description: Free-form markdown description/content for the team's homepage + type: string + handle: + description: The team's identifier + example: example-team + maxLength: 195 + type: string + hidden_modules: + description: Collection of hidden modules for the team items: + description: String identifier of the module type: string type: array - enabled: - description: Whether the email domain allowlist is enabled for the org. - type: boolean - type: object - DomainAllowlistType: - default: domain_allowlist - description: Email domain allowlist allowlist type. - enum: - - domain_allowlist - example: domain_allowlist - type: string - x-enum-varnames: - - DOMAIN_ALLOWLIST - DomainAllowlistAttributes: - description: The details of the email domain allowlist. - properties: - domains: - description: The list of domains in the email domain allowlist. + name: + description: The name of the team + example: Example Team + maxLength: 200 + type: string + visible_modules: + description: Collection of visible modules for the team items: + description: String identifier of the module type: string type: array - enabled: - description: Whether the email domain allowlist is enabled for the org. - type: boolean + required: + - handle + - name type: object - IPAllowlistAttributes: - description: Attributes of the IP allowlist. + TeamCreateRelationships: + description: Relationships formed with the team on creation properties: - enabled: - description: Whether the IP allowlist logic is enabled or not. - type: boolean - entries: - description: Array of entries in the IP allowlist. - items: - $ref: '#/components/schemas/IPAllowlistEntry' - type: array + users: + $ref: '#/components/schemas/RelationshipToUsers' type: object - IPAllowlistType: - default: ip_allowlist - description: IP allowlist type. + TeamHierarchyLinkAttributes: + description: Team hierarchy link attributes + properties: + created_at: + description: Timestamp when the team hierarchy link was created + example: '' + format: date-time + type: string + provisioned_by: + description: The provisioner of the team hierarchy link + example: system + type: string + required: + - provisioned_by + - created_at + type: object + TeamHierarchyLinkRelationships: + description: Team hierarchy link relationships + properties: + parent_team: + $ref: '#/components/schemas/TeamHierarchyLinkTeamRelationship' + sub_team: + $ref: '#/components/schemas/TeamHierarchyLinkTeamRelationship' + required: + - parent_team + - sub_team + type: object + TeamHierarchyLinkType: + default: team_hierarchy_links + description: Team hierarchy link type enum: - - ip_allowlist - example: ip_allowlist + - team_hierarchy_links + example: team_hierarchy_links type: string x-enum-varnames: - - IP_ALLOWLIST - OrgConfigReadAttributes: - description: Readable attributes of an Org Config. + - TEAM_HIERARCHY_LINKS + TeamHierarchyLinkTeamAttributes: + description: Team hierarchy links connect different teams. This represents attributes from teams that are connected by the team hierarchy link. properties: - description: - description: The description of an Org Config. - example: Frobulate the turbo encabulator manifold - type: string - modified_at: - description: The timestamp of the last Org Config update (if any). - format: date-time + avatar: + description: The team's avatar nullable: true type: string + banner: + description: The team's banner + format: int64 + type: integer + handle: + description: The team's handle + example: team-handle + type: string + is_managed: + description: Whether the team is managed + type: boolean + is_open_membership: + description: Whether the team has open membership + type: boolean + link_count: + description: The number of links for the team + format: int64 + type: integer name: - description: The machine-friendly name of an Org Config. - example: monitor_timezone + description: The team's name + example: Team Name type: string - value: - description: The value of an Org Config. - value_type: - description: The type of an Org Config value. - example: bool + summary: + description: The team's summary + nullable: true type: string + user_count: + description: The number of users in the team + format: int64 + type: integer required: + - handle - name - - description - - value_type - - value type: object - OrgConfigType: - description: Data type of an Org Config. + TeamsHierarchyLinksResponseMetaPage: + description: Metadata related to paging information that is included in the response when querying the team hierarchy links + properties: + first_number: + description: First page number. + format: int64 + type: integer + last_number: + description: Last page number. + format: int64 + type: integer + next_number: + description: Next page number. + format: int64 + nullable: true + type: integer + number: + description: Page number. + format: int64 + type: integer + prev_number: + description: Previous page number. + format: int64 + nullable: true + type: integer + size: + description: Page size. + format: int64 + type: integer + total: + description: Total number of results. + format: int64 + type: integer + type: + description: Pagination type. + example: number_size + type: string + type: object + TeamHierarchyLinkCreateRelationships: + description: The related teams that will be connected by the team hierarchy link + properties: + parent_team: + $ref: '#/components/schemas/TeamHierarchyLinkCreateTeamRelationship' + sub_team: + $ref: '#/components/schemas/TeamHierarchyLinkCreateTeamRelationship' + required: + - parent_team + - sub_team + type: object + TeamConnectionType: + default: team_connection + description: Team connection resource type. enum: - - org_configs - example: org_configs + - team_connection + example: team_connection type: string x-enum-varnames: - - ORG_CONFIGS - OrgConfigWriteAttributes: - description: Writable attributes of an Org Config. + - TEAM_CONNECTION + TeamConnectionAttributes: + description: Attributes of the team connection. properties: - value: - description: The value of an Org Config. - required: - - value + managed_by: + description: The entity that manages this team connection. + example: github_sync + type: string + source: + description: The name of the external source. + example: github + type: string type: object - OrgConnectionAttributes: - description: Org connection attributes. + TeamConnectionRelationships: + description: Relationships of the team connection. properties: - connection_types: - description: List of connection types. - example: - - logs - - metrics - items: - $ref: '#/components/schemas/OrgConnectionTypeEnum' - type: array - created_at: - description: Timestamp when the connection was created. - example: '2023-01-01T12:00:00Z' - format: date-time + connected_team: + $ref: '#/components/schemas/ConnectedTeamRef' + team: + $ref: '#/components/schemas/TeamRef' + type: object + ConnectionsPagePagination: + description: Page-based pagination metadata. + properties: + first_number: + description: The first page number. + format: int64 + type: integer + last_number: + description: The last page number. + format: int64 + type: integer + next_number: + description: The next page number. + format: int64 + nullable: true + type: integer + number: + description: The current page number. + format: int64 + type: integer + prev_number: + description: The previous page number. + format: int64 + nullable: true + type: integer + size: + description: The page size. + format: int64 + type: integer + total: + description: Total connections matching request. + format: int64 + type: integer + type: + description: Pagination type. + example: number_size type: string - required: - - connection_types - - created_at type: object - OrgConnectionRelationships: - description: Related organizations and user. + TeamSyncAttributes: + description: Team sync attributes. properties: - created_by: - $ref: '#/components/schemas/OrgConnectionUserRelationship' - sink_org: - $ref: '#/components/schemas/OrgConnectionOrgRelationship' - source_org: - $ref: '#/components/schemas/OrgConnectionOrgRelationship' + frequency: + $ref: '#/components/schemas/TeamSyncAttributesFrequency' + selection_state: + $ref: '#/components/schemas/TeamSyncAttributesSelectionState' + source: + $ref: '#/components/schemas/TeamSyncAttributesSource' + sync_membership: + $ref: '#/components/schemas/TeamSyncAttributesSyncMembership' + type: + $ref: '#/components/schemas/TeamSyncAttributesType' + required: + - source + - type type: object - OrgConnectionType: - description: Org connection type. + TeamSyncBulkType: + description: Team sync bulk type. enum: - - org_connection - example: org_connection + - team_sync_bulk + example: team_sync_bulk + type: string + x-enum-varnames: + - TEAM_SYNC_BULK + MemberTeamType: + default: member_teams + description: Member team type + enum: + - member_teams + example: member_teams type: string x-enum-varnames: - - ORG_CONNECTION - OrgConnectionListResponseMetaPage: - description: Page information. + - MEMBER_TEAMS + TeamUpdateAttributes: + description: Team update attributes properties: - total_count: - description: Total number of org connections. - example: 0 - format: int64 - type: integer - total_filtered_count: - description: Total number of org connections matching the filter. - example: 0 + avatar: + description: Unicode representation of the avatar for the team, limited to a single grapheme + example: 🥑 + nullable: true + type: string + banner: + description: Banner selection for the team format: int64 + nullable: true type: integer - type: object - OrgConnectionCreateAttributes: - description: Attributes for creating an org connection. - properties: - connection_types: - description: List of connection types to establish. - example: - - logs + description: + description: Free-form markdown description/content for the team's homepage + type: string + handle: + description: The team's identifier + example: example-team + maxLength: 195 + type: string + hidden_modules: + description: Collection of hidden modules for the team items: - $ref: '#/components/schemas/OrgConnectionTypeEnum' - minItems: 1 + description: String identifier of the module + type: string type: array - required: - - connection_types - type: object - OrgConnectionCreateRelationships: - description: Relationships for org connection creation. - properties: - sink_org: - $ref: '#/components/schemas/OrgConnectionOrgRelationship' - required: - - sink_org - type: object - OrgConnectionUpdateAttributes: - description: Attributes for updating an org connection. - properties: - connection_types: - description: Updated list of connection types. - example: - - logs - - metrics + name: + description: The name of the team + example: Example Team + maxLength: 200 + type: string + visible_modules: + description: Collection of visible modules for the team items: - $ref: '#/components/schemas/OrgConnectionTypeEnum' - minItems: 1 + description: String identifier of the module + type: string type: array required: - - connection_types + - handle + - name type: object - PermissionAttributes: - description: Attributes of a permission. + TeamUpdateRelationships: + description: Team update relationships properties: - created: - description: Creation time of the permission. - format: date-time - type: string - description: - description: Description of the permission. + team_links: + $ref: '#/components/schemas/RelationshipToTeamLinks' + type: object + TeamLinkAttributes: + description: Team link attributes + properties: + label: + description: The link's label + example: Link label + maxLength: 256 type: string - display_name: - description: Displayed name for the permission. + position: + description: The link's position, used to sort links for the team + format: int32 + maximum: 2147483647 + type: integer + team_id: + description: ID of the team the link is associated with + readOnly: true type: string - display_type: - description: Display type. + url: + description: The URL for the link + example: https://example.com type: string - group_name: - description: Name of the permission group. + required: + - label + - url + type: object + TeamLinkType: + default: team_links + description: Team link type + enum: + - team_links + example: team_links + type: string + x-enum-varnames: + - TEAM_LINKS + UserTeamAttributes: + description: Team membership attributes + properties: + provisioned_by: + description: |- + The mechanism responsible for provisioning the team relationship. + Possible values: null for added by a user, "service_account" if added by a service account, and "saml_mapping" if provisioned via SAML mapping. + nullable: true + readOnly: true type: string - name: - description: Name of the permission. + provisioned_by_id: + description: UUID of the User or Service Account who provisioned this team membership, or null if provisioned via SAML mapping. + nullable: true + readOnly: true type: string - restricted: - description: Whether or not the permission is restricted. - type: boolean + role: + $ref: '#/components/schemas/UserTeamRole' type: object - PermissionsType: - default: permissions - description: Permissions resource type. + UserTeamRelationships: + description: Relationship between membership and a user + properties: + team: + $ref: '#/components/schemas/RelationshipToUserTeamTeam' + user: + $ref: '#/components/schemas/RelationshipToUserTeamUser' + type: object + UserTeamType: + default: team_memberships + description: Team membership type enum: - - permissions - example: permissions + - team_memberships + example: team_memberships type: string x-enum-varnames: - - PERMISSIONS - RestrictionPolicyAttributes: - description: Restriction policy attributes. - example: - bindings: [] + - TEAM_MEMBERSHIPS + TeamNotificationRuleAttributes: + description: Team notification rule attributes properties: - bindings: - description: An array of bindings. - items: - $ref: '#/components/schemas/RestrictionPolicyBinding' - type: array - required: - - bindings - type: object - RestrictionPolicyType: - default: restriction_policy - description: Restriction policy type. + email: + $ref: '#/components/schemas/TeamNotificationRuleAttributesEmail' + ms_teams: + $ref: '#/components/schemas/TeamNotificationRuleAttributesMsTeams' + pagerduty: + $ref: '#/components/schemas/TeamNotificationRuleAttributesPagerduty' + slack: + $ref: '#/components/schemas/TeamNotificationRuleAttributesSlack' + type: object + TeamNotificationRuleType: + default: team_notification_rules + description: Team notification rule type enum: - - restriction_policy - example: restriction_policy + - team_notification_rules + example: team_notification_rules type: string x-enum-varnames: - - RESTRICTION_POLICY - RoleAttributes: - description: Attributes of the role. + - TEAM_NOTIFICATION_RULES + TeamNotificationRulesResponseMetaPage: + description: Metadata related to paging information that is included in the response when querying the team notification rules properties: - created_at: - description: Creation time of the role. - format: date-time - readOnly: true - type: string - modified_at: - description: Time of last role modification. - format: date-time - readOnly: true - type: string - name: - description: >- - The name of the role. The name is neither unique nor a stable - identifier of the role. - type: string - user_count: - description: Number of users with that role. + first_offset: + description: The first offset. + format: int64 + type: integer + last_offset: + description: The last offset. + format: int64 + type: integer + limit: + description: Pagination limit. + format: int64 + type: integer + next_offset: + description: The next offset. + format: int64 + nullable: true + type: integer + offset: + description: The offset. + format: int64 + type: integer + prev_offset: + description: The previous offset. + format: int64 + nullable: true + type: integer + total: + description: Total results. format: int64 - readOnly: true type: integer + type: + description: Offset type. + type: string type: object - RoleResponseRelationships: - description: Relationships of the role object returned by the API. + TeamPermissionSettingAttributes: + description: Team permission setting attributes properties: - permissions: - $ref: '#/components/schemas/RelationshipToPermissions' + action: + $ref: '#/components/schemas/TeamPermissionSettingSerializerAction' + editable: + description: Whether or not the permission setting is editable by the current user + readOnly: true + type: boolean + options: + $ref: '#/components/schemas/TeamPermissionSettingValues' + title: + description: The team permission name + readOnly: true + type: string + value: + $ref: '#/components/schemas/TeamPermissionSettingValue' type: object - RolesType: - default: roles - description: Roles type. + TeamPermissionSettingType: + default: team_permission_settings + description: Team permission setting type enum: - - roles - example: roles + - team_permission_settings + example: team_permission_settings type: string x-enum-varnames: - - ROLES - RoleCreateAttributes: - description: Attributes of the created role. + - TEAM_PERMISSION_SETTINGS + TeamPermissionSettingUpdateAttributes: + description: Team permission setting update attributes properties: - created_at: - description: Creation time of the role. - format: date-time - readOnly: true + value: + $ref: '#/components/schemas/TeamPermissionSettingValue' + type: object + UsageAttributesObject: + description: Usage attributes data. + properties: + org_name: + description: The organization name. type: string - modified_at: - description: Time of last role modification. - format: date-time - readOnly: true + product_family: + description: The product for which usage is being reported. type: string - name: - description: Name of the role. - example: developers + public_id: + description: The organization public ID. type: string - required: - - name + region: + description: The region of the Datadog instance that the organization belongs to. + type: string + timeseries: + description: List of usage data reported for each requested hour. + items: + $ref: '#/components/schemas/UsageTimeSeriesObject' + type: array + usage_type: + $ref: '#/components/schemas/HourlyUsageType' type: object - RoleRelationships: - description: Relationships of the role object. + UsageTimeSeriesType: + default: usage_timeseries + description: Type of usage data. + enum: + - usage_timeseries + example: usage_timeseries + type: string + x-enum-varnames: + - USAGE_TIMESERIES + BillingDimensionsMappingBodyItem: + description: The mapping data for each billing dimension. properties: - permissions: - $ref: '#/components/schemas/RelationshipToPermissions' + attributes: + $ref: '#/components/schemas/BillingDimensionsMappingBodyItemAttributes' + id: + description: ID of the billing dimension. + type: string + type: + $ref: '#/components/schemas/ActiveBillingDimensionsType' type: object - RoleUpdateAttributes: - description: Attributes of the role. + CostByOrgAttributes: + description: Cost attributes data. properties: - created_at: - description: Creation time of the role. - format: date-time - readOnly: true + account_name: + description: The account name. type: string - modified_at: - description: Time of last role modification. + account_public_id: + description: The account public ID. + type: string + charges: + description: List of charges data reported for the requested month. + items: + $ref: '#/components/schemas/ChargebackBreakdown' + type: array + date: + description: The month requested. format: date-time - readOnly: true type: string - name: - description: Name of the role. + org_name: + description: The organization name. type: string - user_count: - description: The user count. - format: int32 - maximum: 2147483647 - type: integer - type: object - RoleCloneAttributes: - description: Attributes required to create a new role by cloning an existing one. - properties: - name: - description: Name of the new role that is cloned. - example: cloned-role + public_id: + description: The organization public ID. type: string - required: - - name + region: + description: The region of the Datadog instance that the organization belongs to. + type: string + total_cost: + description: The total cost of products for the month. + format: double + type: number type: object - UsersType: - default: users - description: Users resource type. + CostByOrgType: + default: cost_by_org + description: Type of cost data. enum: - - users - example: users + - cost_by_org + example: cost_by_org type: string x-enum-varnames: - - USERS - UserAttributes: - description: Attributes of user object returned by the API. + - COST_BY_ORG + HourlyUsageAttributes: + description: Attributes of hourly usage for a product family for an org for a time period. properties: - created_at: - description: Creation time of the user. - format: date-time - type: string - disabled: - description: Whether the user is disabled. - type: boolean - email: - description: Email of the user. + account_name: + description: The account name. type: string - handle: - description: Handle of the user. + account_public_id: + description: The account public ID. type: string - icon: - description: URL of the user's icon. + measurements: + description: List of the measured usage values for the product family for the org for the time period. + items: + $ref: '#/components/schemas/HourlyUsageMeasurement' + type: array + org_name: + description: The organization name. type: string - mfa_enabled: - description: If user has MFA enabled. - readOnly: true - type: boolean - modified_at: - description: Time that the user was last modified. - format: date-time + product_family: + description: The product for which usage is being reported. type: string - name: - description: Name of the user. - nullable: true + public_id: + description: The organization public ID. type: string - service_account: - description: Whether the user is a service account. - type: boolean - status: - description: Status of the user. + region: + description: The region of the Datadog instance that the organization belongs to. type: string - title: - description: Title of the user. - nullable: true + timestamp: + description: Datetime in ISO-8601 format, UTC. The hour for the usage. + format: date-time type: string - verified: - description: Whether the user is verified. - type: boolean - type: object - UserResponseRelationships: - description: Relationships of the user object returned by the API. - properties: - org: - $ref: '#/components/schemas/RelationshipToOrganization' - other_orgs: - $ref: '#/components/schemas/RelationshipToOrganizations' - other_users: - $ref: '#/components/schemas/RelationshipToUsers' - roles: - $ref: '#/components/schemas/RelationshipToRoles' type: object - Organization: - description: Organization object. + HourlyUsagePagination: + description: The metadata for the current pagination. properties: - attributes: - $ref: '#/components/schemas/OrganizationAttributes' - id: - description: ID of the organization. + next_record_id: + description: The cursor to get the next results (if any). To make the next request, use the same parameters and add `next_record_id`. + nullable: true type: string - type: - $ref: '#/components/schemas/OrganizationsType' - required: - - type type: object - ServiceAccountCreateAttributes: - description: Attributes of the created user. + ProjectedCostAttributes: + description: Projected Cost attributes data. properties: - email: - description: The email of the user. - example: jane.doe@example.com + account_name: + description: The account name. type: string - name: - description: The name of the user. + account_public_id: + description: The account public ID. type: string - service_account: - description: Whether the user is a service account. Must be true. - example: true - type: boolean - title: - description: The title of the user. + charges: + description: List of charges data reported for the requested month. + items: + $ref: '#/components/schemas/ChargebackBreakdown' + type: array + date: + description: The month requested. + format: date-time type: string - required: - - email - - service_account + org_name: + description: The organization name. + type: string + projected_total_cost: + description: The total projected cost of products for the month. + format: double + type: number + public_id: + description: The organization public ID. + type: string + region: + description: The region of the Datadog instance that the organization belongs to. + type: string + type: object + ProjectedCostType: + default: projected_cost + description: Type of cost data. + enum: + - projected_cost + example: projected_cost + type: string + x-enum-varnames: + - PROJECt_COST + UsageSummaryAvailableFieldsAttributes: + description: |- + The lists of field names returned by `GET /api/v1/usage/summary` at each + of its three response levels. Each list contains every key the data endpoint + emits—both typed fields declared in the OpenAPI spec and untyped keys + exposed through `additionalProperties`. + properties: + date_fields: + description: |- + Sorted list of every key returned inside each `UsageSummaryDate` + entry of `usage[]` (typed fields and `additionalProperties` keys + combined). + items: + type: string + type: array + date_org_fields: + description: |- + Sorted list of every key returned inside each `UsageSummaryDateOrg` + entry of `usage[].orgs[]` (typed fields and `additionalProperties` + keys combined). + items: + type: string + type: array + response_fields: + description: |- + Sorted list of every key returned as a direct property of + `UsageSummaryResponse` (typed fields and `additionalProperties` + keys combined). + items: + type: string + type: array type: object - UserRelationships: - description: Relationships of the user object. + UsageSummaryAvailableFieldsType: + default: usage_summary_available_fields + description: Type of available-fields data. + enum: + - usage_summary_available_fields + type: string + x-enum-varnames: + - USAGE_SUMMARY_AVAILABLE_FIELDS + UsageAttributionTypesAttributes: + description: List of usage attribution types. properties: - roles: - $ref: '#/components/schemas/RelationshipToRoles' + values: + description: List of usage attribution types. + items: + description: A given usage type in a list. + example: infra_host + type: string + type: array type: object - TeamAttributes: - description: Team attributes + UsageAttributionTypesType: + default: usage_attribution_types + description: Type of usage attribution types data. + enum: + - usage_attribution_types + type: string + x-enum-varnames: + - USAGE_ATTRIBUTION_TYPES + UserAuthorizedClientAttributes: + description: Attributes of a user authorized client. properties: - avatar: - description: >- - Unicode representation of the avatar for the team, limited to a - single grapheme - example: 🥑 - nullable: true - type: string - banner: - description: Banner selection for the team - format: int64 - nullable: true - type: integer created_at: - description: Creation date of the team + description: The date and time this authorization was created. + example: '2024-01-10T08:00:00+00:00' format: date-time type: string - description: - description: Free-form markdown description/content for the team's homepage + disabled: + description: Whether the user has disabled this authorization. + example: false + type: boolean + last_exercised: + description: The date and time this authorization was last exercised. + example: '2024-01-15T10:30:00+00:00' + format: date-time nullable: true type: string - handle: - description: The team's identifier - example: example-team - maxLength: 195 - type: string - hidden_modules: - description: Collection of hidden modules for the team - items: - description: String identifier of the module - type: string - type: array - link_count: - description: The number of links belonging to the team - format: int32 - maximum: 2147483647 - readOnly: true - type: integer modified_at: - description: Modification date of the team + description: The date and time this authorization was last modified. + example: '2024-01-10T08:00:00+00:00' format: date-time type: string - name: - description: The name of the team - example: Example Team - maxLength: 200 - type: string - summary: - description: A brief summary of the team, derived from the `description` - maxLength: 120 - nullable: true - type: string - user_count: - description: The number of users belonging to the team - format: int32 - maximum: 2147483647 - readOnly: true - type: integer - visible_modules: - description: Collection of visible modules for the team - items: - description: String identifier of the module - type: string - type: array + org_disabled: + description: Whether the organization has disabled this authorization. + example: false + type: boolean required: - - handle - - name + - created_at + - modified_at + - last_exercised + - disabled + - org_disabled type: object - TeamRelationships: - description: Resources related to a team + UserAuthorizedClientRelationships: + description: Relationships for a user authorized client. properties: - team_links: - $ref: '#/components/schemas/RelationshipToTeamLinks' - user_team_permissions: - $ref: '#/components/schemas/RelationshipToUserTeamPermission' + oauth2_client: + $ref: '#/components/schemas/UserAuthorizedClientRelationshipOAuth2Client' + scopes: + $ref: '#/components/schemas/UserAuthorizedClientRelationshipScopes' + user: + $ref: '#/components/schemas/UserAuthorizedClientRelationshipUser' + required: + - user + - oauth2_client + - scopes type: object - TeamType: - default: team - description: Team type + UserAuthorizedClientType: + description: The resource type for user authorized clients. enum: - - team - example: team + - user_authorized_clients + example: user_authorized_clients type: string x-enum-varnames: - - TEAM - UserTeamPermission: - description: A user's permissions for a given team + - USER_AUTHORIZED_CLIENTS + UserInvitationRelationships: + description: Relationships data for user invitation. properties: - attributes: - $ref: '#/components/schemas/UserTeamPermissionAttributes' - id: - description: The user team permission's identifier - example: UserTeamPermissions-aeadc05e-98a8-11ec-ac2c-da7ad0900001-416595 - type: string - type: - $ref: '#/components/schemas/UserTeamPermissionType' + user: + $ref: '#/components/schemas/RelationshipToUser' required: - - id - - type + - user type: object - TeamsResponseMetaPagination: - description: Teams response metadata. + UserInvitationsType: + default: user_invitations + description: User invitations type. + enum: + - user_invitations + example: user_invitations + type: string + x-enum-varnames: + - USER_INVITATIONS + UserInvitationDataAttributes: + description: Attributes of a user invitation. properties: - first_offset: - description: The first offset. - format: int64 - type: integer - last_offset: - description: The last offset. - format: int64 - type: integer - limit: - description: Pagination limit. - format: int64 - type: integer - next_offset: - description: The next offset. - format: int64 - type: integer - offset: - description: The offset. - format: int64 - type: integer - prev_offset: - description: The previous offset. - format: int64 - type: integer - total: - description: Total results. - format: int64 - type: integer - type: - description: Offset type. + created_at: + description: Creation time of the user invitation. + format: date-time type: string - type: object - TeamCreateAttributes: - description: Team creation attributes - properties: - avatar: - description: >- - Unicode representation of the avatar for the team, limited to a - single grapheme - example: 🥑 - nullable: true + expires_at: + description: Time of invitation expiration. + format: date-time type: string - banner: - description: Banner selection for the team - format: int64 - nullable: true - type: integer - description: - description: Free-form markdown description/content for the team's homepage + invite_type: + description: Type of invitation. type: string - handle: - description: The team's identifier - example: example-team - maxLength: 195 + uuid: + description: UUID of the user invitation. + type: string + type: object + UserCreateAttributes: + description: Attributes of the created user. + properties: + email: + description: The email of the user. + example: jane.doe@example.com type: string - hidden_modules: - description: Collection of hidden modules for the team - items: - description: String identifier of the module - type: string - type: array name: - description: The name of the team - example: Example Team - maxLength: 200 + description: The name of the user. + type: string + title: + description: The title of the user. type: string - visible_modules: - description: Collection of visible modules for the team - items: - description: String identifier of the module - type: string - type: array required: - - handle - - name + - email type: object - TeamCreateRelationships: - description: Relationships formed with the team on creation + UserOverrideIdentityProviderData: + description: Data object representing a user identity provider override. properties: - users: - $ref: '#/components/schemas/RelationshipToUsers' + attributes: + $ref: '#/components/schemas/UserOverrideIdentityProviderAttributes' + id: + description: The unique identifier of the identity provider. + example: 00000000-0000-0000-0000-000000000001 + type: string + type: + $ref: '#/components/schemas/UserOverrideIdentityProviderDataType' + required: + - id + - type + - attributes type: object - TeamSyncAttributes: - description: Team sync attributes. + UserRelationshipIdentityProviderData: + description: Resource identifier for an identity provider in a relationship update. properties: - source: - $ref: '#/components/schemas/TeamSyncAttributesSource' + id: + description: The unique identifier of the identity provider. + example: 00000000-0000-0000-0000-000000000001 + type: string type: - $ref: '#/components/schemas/TeamSyncAttributesType' + $ref: '#/components/schemas/UserRelationshipIdentityProviderDataType' required: - - source + - id - type type: object - TeamSyncBulkType: - description: Team sync bulk type. - enum: - - team_sync_bulk - example: team_sync_bulk - type: string - x-enum-varnames: - - TEAM_SYNC_BULK - MemberTeamType: - default: member_teams - description: Member team type + ValidateV2Attributes: + description: Attributes of the API key validation response. + properties: + api_key_id: + description: The UUID of the API key. + example: a1b2c3d4-e5f6-47a8-b9c0-d1e2f3a4b5c6 + type: string + api_key_scopes: + description: List of scope names associated with the API key. + example: + - remote_config_read + items: + type: string + type: array + valid: + description: Whether the API key is valid. + example: true + type: boolean + required: + - valid + - api_key_scopes + - api_key_id + type: object + ValidateV2Type: + description: Resource type for the API key validation response. enum: - - member_teams - example: member_teams + - validate_v2 + example: validate_v2 type: string x-enum-varnames: - - MEMBER_TEAMS - TeamUpdateAttributes: - description: Team update attributes + - ValidateV2 + UsageCustomReportsAttributes: + description: The response containing attributes for custom reports. properties: - avatar: - description: >- - Unicode representation of the avatar for the team, limited to a - single grapheme - example: 🥑 - nullable: true + computed_on: + description: The date the specified custom report was computed. type: string - banner: - description: Banner selection for the team + end_date: + description: The ending date of custom report. + type: string + size: + description: size format: int64 - nullable: true type: integer - description: - description: Free-form markdown description/content for the team's homepage + start_date: + description: The starting date of custom report. type: string - handle: - description: The team's identifier - example: example-team - maxLength: 195 - type: string - hidden_modules: - description: Collection of hidden modules for the team + tags: + description: A list of tags to apply to custom reports. items: - description: String identifier of the module + description: A given tag in a list. + example: env type: string type: array - name: - description: The name of the team - example: Example Team - maxLength: 200 + type: object + UsageReportsType: + default: reports + description: The type of reports. + enum: + - reports + example: reports + type: string + x-enum-varnames: + - REPORTS + UsageCustomReportsPage: + description: The object containing page total count. + properties: + total_count: + description: Total page count. + format: int64 + type: integer + type: object + UsageSpecifiedCustomReportsAttributes: + description: The response containing attributes for specified custom reports. + properties: + computed_on: + description: The date the specified custom report was computed. type: string - visible_modules: - description: Collection of visible modules for the team + end_date: + description: The ending date of specified custom report. + type: string + location: + description: A downloadable file for the specified custom reporting file. + example: https://an-s3-or-gs-bucket.s3.amazonaws.com + type: string + size: + description: size + format: int64 + type: integer + start_date: + description: The starting date of specified custom report. + type: string + tags: + description: A list of tags to apply to specified custom reports. items: - description: String identifier of the module + description: A given tag in a list. + example: env type: string type: array - required: - - handle - - name type: object - TeamUpdateRelationships: - description: Team update relationships + UsageSpecifiedCustomReportsPage: + description: The object containing page total count for specified ID. properties: - team_links: - $ref: '#/components/schemas/RelationshipToTeamLinks' + total_count: + description: Total page count. + format: int64 + type: integer type: object - TeamLinkAttributes: - description: Team link attributes + OrganizationSettingsSaml: + description: |- + Set the boolean property enabled to enable or disable single sign on with SAML. + See the SAML documentation for more information about all SAML settings. properties: - label: - description: The link's label - example: Link label - maxLength: 256 - type: string - position: - description: The link's position, used to sort links for the team - format: int32 - maximum: 2147483647 - type: integer - team_id: - description: ID of the team the link is associated with - readOnly: true - type: string - url: - description: The URL for the link - example: https://example.com - type: string - required: - - label - - url + enabled: + description: Whether or not SAML is enabled for this organization. + example: false + type: boolean type: object - TeamLinkType: - default: team_links - description: Team link type - enum: - - team_links - example: team_links - type: string - x-enum-varnames: - - TEAM_LINKS - UserTeamAttributes: - description: Team membership attributes + OrganizationSettingsSamlAutocreateUsersDomains: + description: Has two properties, `enabled` (boolean) and `domains`, which is a list of domains without the @ symbol. properties: - provisioned_by: - description: >- - The mechanism responsible for provisioning the team relationship. - - Possible values: null for added by a user, "service_account" if - added by a service account, and "saml_mapping" if provisioned via - SAML mapping. - nullable: true - readOnly: true - type: string - provisioned_by_id: - description: >- - UUID of the User or Service Account who provisioned this team - membership, or null if provisioned via SAML mapping. - nullable: true - readOnly: true - type: string - role: - $ref: '#/components/schemas/UserTeamRole' + domains: + description: List of domains where the SAML automated user creation is enabled. + items: + description: Domain to automate user creation from. + example: example.com + type: string + type: array + enabled: + description: Whether or not the automated user creation based on SAML domain is enabled. + example: false + type: boolean type: object - UserTeamRelationships: - description: Relationship between membership and a user + OrganizationSettingsSamlIdpInitiatedLogin: + description: Has one property enabled (boolean). properties: - team: - $ref: '#/components/schemas/RelationshipToUserTeamTeam' - user: - $ref: '#/components/schemas/RelationshipToUserTeamUser' + enabled: + description: |- + Whether SAML IdP initiated login is enabled, learn more + in the [SAML documentation](https://docs.datadoghq.com/account_management/saml/#idp-initiated-login). + example: false + type: boolean type: object - UserTeamType: - default: team_memberships - description: Team membership type - enum: - - team_memberships - example: team_memberships - type: string - x-enum-varnames: - - TEAM_MEMBERSHIPS - TeamPermissionSettingAttributes: - description: Team permission setting attributes + OrganizationSettingsSamlStrictMode: + description: Has one property enabled (boolean). properties: - action: - $ref: '#/components/schemas/TeamPermissionSettingSerializerAction' - editable: - description: >- - Whether or not the permission setting is editable by the current - user - readOnly: true + enabled: + description: |- + Whether or not the SAML strict mode is enabled. If true, all users must log in with SAML. + Learn more on the [SAML Strict documentation](https://docs.datadoghq.com/account_management/saml/#saml-strict). + example: false type: boolean - options: - $ref: '#/components/schemas/TeamPermissionSettingValues' - title: - description: The team permission name - readOnly: true + type: object + UsageBillableSummaryKeys: + description: Response with aggregated usage types. + properties: + apm_fargate_average: + $ref: '#/components/schemas/UsageBillableSummaryBody' + apm_fargate_sum: + $ref: '#/components/schemas/UsageBillableSummaryBody' + apm_host_sum: + $ref: '#/components/schemas/UsageBillableSummaryBody' + apm_host_top99p: + $ref: '#/components/schemas/UsageBillableSummaryBody' + apm_profiler_host_sum: + $ref: '#/components/schemas/UsageBillableSummaryBody' + apm_profiler_host_top99p: + $ref: '#/components/schemas/UsageBillableSummaryBody' + apm_trace_search_sum: + $ref: '#/components/schemas/UsageBillableSummaryBody' + application_security_fargate_average: + $ref: '#/components/schemas/UsageBillableSummaryBody' + application_security_host_sum: + $ref: '#/components/schemas/UsageBillableSummaryBody' + application_security_host_top99p: + $ref: '#/components/schemas/UsageBillableSummaryBody' + ci_pipeline_indexed_spans_sum: + $ref: '#/components/schemas/UsageBillableSummaryBody' + ci_pipeline_maximum: + $ref: '#/components/schemas/UsageBillableSummaryBody' + ci_pipeline_sum: + $ref: '#/components/schemas/UsageBillableSummaryBody' + ci_test_indexed_spans_sum: + $ref: '#/components/schemas/UsageBillableSummaryBody' + ci_testing_maximum: + $ref: '#/components/schemas/UsageBillableSummaryBody' + ci_testing_sum: + $ref: '#/components/schemas/UsageBillableSummaryBody' + cloud_cost_management_average: + $ref: '#/components/schemas/UsageBillableSummaryBody' + cloud_cost_management_sum: + $ref: '#/components/schemas/UsageBillableSummaryBody' + cspm_container_sum: + $ref: '#/components/schemas/UsageBillableSummaryBody' + cspm_host_sum: + $ref: '#/components/schemas/UsageBillableSummaryBody' + cspm_host_top99p: + $ref: '#/components/schemas/UsageBillableSummaryBody' + custom_event_sum: + $ref: '#/components/schemas/UsageBillableSummaryBody' + cws_container_sum: + $ref: '#/components/schemas/UsageBillableSummaryBody' + cws_host_sum: + $ref: '#/components/schemas/UsageBillableSummaryBody' + cws_host_top99p: + $ref: '#/components/schemas/UsageBillableSummaryBody' + dbm_host_sum: + $ref: '#/components/schemas/UsageBillableSummaryBody' + dbm_host_top99p: + $ref: '#/components/schemas/UsageBillableSummaryBody' + dbm_normalized_queries_average: + $ref: '#/components/schemas/UsageBillableSummaryBody' + dbm_normalized_queries_sum: + $ref: '#/components/schemas/UsageBillableSummaryBody' + fargate_container_apm_and_profiler_average: + $ref: '#/components/schemas/UsageBillableSummaryBody' + fargate_container_apm_and_profiler_sum: + $ref: '#/components/schemas/UsageBillableSummaryBody' + fargate_container_average: + $ref: '#/components/schemas/UsageBillableSummaryBody' + fargate_container_profiler_average: + $ref: '#/components/schemas/UsageBillableSummaryBody' + fargate_container_profiler_sum: + $ref: '#/components/schemas/UsageBillableSummaryBody' + fargate_container_sum: + $ref: '#/components/schemas/UsageBillableSummaryBody' + incident_management_maximum: + $ref: '#/components/schemas/UsageBillableSummaryBody' + incident_management_sum: + $ref: '#/components/schemas/UsageBillableSummaryBody' + infra_and_apm_host_sum: + $ref: '#/components/schemas/UsageBillableSummaryBody' + infra_and_apm_host_top99p: + $ref: '#/components/schemas/UsageBillableSummaryBody' + infra_container_sum: + $ref: '#/components/schemas/UsageBillableSummaryBody' + infra_host_sum: + $ref: '#/components/schemas/UsageBillableSummaryBody' + infra_host_top99p: + $ref: '#/components/schemas/UsageBillableSummaryBody' + ingested_spans_sum: + $ref: '#/components/schemas/UsageBillableSummaryBody' + ingested_timeseries_average: + $ref: '#/components/schemas/UsageBillableSummaryBody' + ingested_timeseries_sum: + $ref: '#/components/schemas/UsageBillableSummaryBody' + iot_sum: + $ref: '#/components/schemas/UsageBillableSummaryBody' + iot_top99p: + $ref: '#/components/schemas/UsageBillableSummaryBody' + lambda_function_average: + $ref: '#/components/schemas/UsageBillableSummaryBody' + lambda_function_sum: + $ref: '#/components/schemas/UsageBillableSummaryBody' + logs_forwarding_sum: + $ref: '#/components/schemas/UsageBillableSummaryBody' + logs_indexed_15day_sum: + $ref: '#/components/schemas/UsageBillableSummaryBody' + logs_indexed_180day_sum: + $ref: '#/components/schemas/UsageBillableSummaryBody' + logs_indexed_1day_sum: + $ref: '#/components/schemas/UsageBillableSummaryBody' + logs_indexed_30day_sum: + $ref: '#/components/schemas/UsageBillableSummaryBody' + logs_indexed_360day_sum: + $ref: '#/components/schemas/UsageBillableSummaryBody' + logs_indexed_3day_sum: + $ref: '#/components/schemas/UsageBillableSummaryBody' + logs_indexed_45day_sum: + $ref: '#/components/schemas/UsageBillableSummaryBody' + logs_indexed_60day_sum: + $ref: '#/components/schemas/UsageBillableSummaryBody' + logs_indexed_7day_sum: + $ref: '#/components/schemas/UsageBillableSummaryBody' + logs_indexed_90day_sum: + $ref: '#/components/schemas/UsageBillableSummaryBody' + logs_indexed_custom_retention_sum: + $ref: '#/components/schemas/UsageBillableSummaryBody' + logs_indexed_sum: + $ref: '#/components/schemas/UsageBillableSummaryBody' + logs_ingested_sum: + $ref: '#/components/schemas/UsageBillableSummaryBody' + network_device_sum: + $ref: '#/components/schemas/UsageBillableSummaryBody' + network_device_top99p: + $ref: '#/components/schemas/UsageBillableSummaryBody' + npm_flow_sum: + $ref: '#/components/schemas/UsageBillableSummaryBody' + npm_host_sum: + $ref: '#/components/schemas/UsageBillableSummaryBody' + npm_host_top99p: + $ref: '#/components/schemas/UsageBillableSummaryBody' + observability_pipeline_sum: + $ref: '#/components/schemas/UsageBillableSummaryBody' + online_archive_sum: + $ref: '#/components/schemas/UsageBillableSummaryBody' + prof_container_sum: + $ref: '#/components/schemas/UsageBillableSummaryBody' + prof_host_sum: + $ref: '#/components/schemas/UsageBillableSummaryBody' + prof_host_top99p: + $ref: '#/components/schemas/UsageBillableSummaryBody' + rum_lite_sum: + $ref: '#/components/schemas/UsageBillableSummaryBody' + rum_replay_sum: + $ref: '#/components/schemas/UsageBillableSummaryBody' + rum_sum: + $ref: '#/components/schemas/UsageBillableSummaryBody' + rum_units_sum: + $ref: '#/components/schemas/UsageBillableSummaryBody' + sensitive_data_scanner_sum: + $ref: '#/components/schemas/UsageBillableSummaryBody' + serverless_apm_sum: + $ref: '#/components/schemas/UsageBillableSummaryBody' + serverless_infra_average: + $ref: '#/components/schemas/UsageBillableSummaryBody' + serverless_infra_sum: + $ref: '#/components/schemas/UsageBillableSummaryBody' + serverless_invocation_sum: + $ref: '#/components/schemas/UsageBillableSummaryBody' + siem_sum: + $ref: '#/components/schemas/UsageBillableSummaryBody' + standard_timeseries_average: + $ref: '#/components/schemas/UsageBillableSummaryBody' + synthetics_api_tests_sum: + $ref: '#/components/schemas/UsageBillableSummaryBody' + synthetics_app_testing_maximum: + $ref: '#/components/schemas/UsageBillableSummaryBody' + synthetics_browser_checks_sum: + $ref: '#/components/schemas/UsageBillableSummaryBody' + timeseries_average: + $ref: '#/components/schemas/UsageBillableSummaryBody' + timeseries_sum: + $ref: '#/components/schemas/UsageBillableSummaryBody' + type: object + HourlyUsageAttributionPagination: + description: The metadata for the current pagination. + properties: + next_record_id: + description: The cursor to get the next results (if any). To make the next request, use the same parameters and add `next_record_id`. + nullable: true type: string - value: - $ref: '#/components/schemas/TeamPermissionSettingValue' type: object - TeamPermissionSettingType: - default: team_permission_settings - description: Team permission setting type - enum: - - team_permission_settings - example: team_permission_settings - type: string - x-enum-varnames: - - TEAM_PERMISSION_SETTINGS - TeamPermissionSettingUpdateAttributes: - description: Team permission setting update attributes + UsageAttributionTagNames: + additionalProperties: + description: |- + A list of values that are associated with each tag key. + + - An empty list means the resource use wasn't tagged with the respective tag. + - Multiple values means the respective tag was applied multiple times on the resource. + - An `` value means the resource was tagged with the respective tag but did not have a value. + items: + description: A given tag in a list. + example: datadog-integrations-lab + type: string + type: array + description: |- + Tag keys and values. + + A `null` value here means that the requested tag breakdown cannot be applied because it does not match the [tags + configured for usage attribution](https://docs.datadoghq.com/account_management/billing/usage_attribution/#getting-started). + In this scenario the API returns the total usage, not broken down by tags. + nullable: true + type: object + UsageAttributionAggregates: + description: An array of available aggregates. + items: + $ref: '#/components/schemas/UsageAttributionAggregatesBody' + type: array + MonthlyUsageAttributionPagination: + description: The metadata for the current pagination. + properties: + next_record_id: + description: The cursor to use to get the next results, if any. To make the next request, use the same parameters with the addition of the `next_record_id`. + nullable: true + type: string + type: object + MonthlyUsageAttributionValues: + description: Fields in Usage Summary by tag(s). + properties: + api_percentage: + description: The percentage of synthetic API test usage by tag(s). + format: double + type: number + api_usage: + description: The synthetic API test usage by tag(s). + format: double + type: number + apm_fargate_percentage: + description: The percentage of APM ECS Fargate task usage by tag(s). + format: double + type: number + apm_fargate_usage: + description: The APM ECS Fargate task usage by tag(s). + format: double + type: number + apm_host_percentage: + description: The percentage of APM host usage by tag(s). + format: double + type: number + apm_host_usage: + description: The APM host usage by tag(s). + format: double + type: number + apm_usm_percentage: + description: The percentage of APM and Universal Service Monitoring host usage by tag(s). + format: double + type: number + apm_usm_usage: + description: The APM and Universal Service Monitoring host usage by tag(s). + format: double + type: number + appsec_fargate_percentage: + description: The percentage of Application Security Monitoring ECS Fargate task usage by tag(s). + format: double + type: number + appsec_fargate_usage: + description: The Application Security Monitoring ECS Fargate task usage by tag(s). + format: double + type: number + appsec_percentage: + description: The percentage of Application Security Monitoring host usage by tag(s). + format: double + type: number + appsec_usage: + description: The Application Security Monitoring host usage by tag(s). + format: double + type: number + asm_serverless_traced_invocations_percentage: + description: The percentage of Application Security Monitoring Serverless traced invocations usage by tag(s). + format: double + type: number + asm_serverless_traced_invocations_usage: + description: The Application Security Monitoring Serverless traced invocations usage by tag(s). + format: double + type: number + bits_ai_investigations_percentage: + description: The percentage of Bits AI `SRE` investigation usage by tag(s). + format: double + type: number + bits_ai_investigations_usage: + description: The Bits AI `SRE` investigation usage by tag(s). + format: double + type: number + browser_percentage: + description: The percentage of synthetic browser test usage by tag(s). + format: double + type: number + browser_usage: + description: The synthetic browser test usage by tag(s). + format: double + type: number + ci_code_coverage_committers_percentage: + description: The percentage of Code Coverage committers usage by tag(s). + format: double + type: number + ci_code_coverage_committers_usage: + description: The total Code Coverage committers usage by tag(s). + format: double + type: number + ci_pipeline_indexed_spans_percentage: + description: The percentage of CI Pipeline Indexed Spans usage by tag(s). + format: double + type: number + ci_pipeline_indexed_spans_usage: + description: The total CI Pipeline Indexed Spans usage by tag(s). + format: double + type: number + ci_test_indexed_spans_percentage: + description: The percentage of CI Test Indexed Spans usage by tag(s). + format: double + type: number + ci_test_indexed_spans_usage: + description: The total CI Test Indexed Spans usage by tag(s). + format: double + type: number + ci_visibility_itr_percentage: + description: The percentage of Git committers for Intelligent Test Runner usage by tag(s). + format: double + type: number + ci_visibility_itr_usage: + description: The Git committers for Intelligent Test Runner usage by tag(s). + format: double + type: number + cloud_siem_percentage: + description: The percentage of Cloud Security Information and Event Management usage by tag(s). + format: double + type: number + cloud_siem_usage: + description: The Cloud Security Information and Event Management usage by tag(s). + format: double + type: number + code_security_host_percentage: + description: The percentage of Code Security host usage by tags. + format: double + type: number + code_security_host_usage: + description: The Code Security host usage by tags. + format: double + type: number + container_excl_agent_percentage: + description: The percentage of container usage without the Datadog Agent by tag(s). + format: double + type: number + container_excl_agent_usage: + description: The container usage without the Datadog Agent by tag(s). + format: double + type: number + container_percentage: + description: The percentage of container usage by tag(s). + format: double + type: number + container_usage: + description: The container usage by tag(s). + format: double + type: number + cspm_containers_percentage: + description: The percentage of Cloud Security Management Pro container usage by tag(s). + format: double + type: number + cspm_containers_usage: + description: The Cloud Security Management Pro container usage by tag(s). + format: double + type: number + cspm_hosts_percentage: + description: The percentage of Cloud Security Management Pro host usage by tag(s). + format: double + type: number + cspm_hosts_usage: + description: The Cloud Security Management Pro host usage by tag(s). + format: double + type: number + custom_event_percentage: + description: The percentage of Custom Events usage by tag(s). + format: double + type: number + custom_event_usage: + description: The total Custom Events usage by tag(s). + format: double + type: number + custom_ingested_timeseries_percentage: + description: The percentage of ingested custom metrics usage by tag(s). + format: double + type: number + custom_ingested_timeseries_usage: + description: The ingested custom metrics usage by tag(s). + format: double + type: number + custom_timeseries_percentage: + description: The percentage of indexed custom metrics usage by tag(s). + format: double + type: number + custom_timeseries_usage: + description: The indexed custom metrics usage by tag(s). + format: double + type: number + cws_containers_percentage: + description: The percentage of Cloud Workload Security container usage by tag(s). + format: double + type: number + cws_containers_usage: + description: The Cloud Workload Security container usage by tag(s). + format: double + type: number + cws_fargate_task_percentage: + description: The percentage of Cloud Workload Security Fargate task usage by tag(s). + format: double + type: number + cws_fargate_task_usage: + description: The Cloud Workload Security Fargate task usage by tag(s). + format: double + type: number + cws_hosts_percentage: + description: The percentage of Cloud Workload Security host usage by tag(s). + format: double + type: number + cws_hosts_usage: + description: The Cloud Workload Security host usage by tag(s). + format: double + type: number + data_jobs_monitoring_usage: + description: The Data Jobs Monitoring usage by tag(s). + format: double + type: number + data_stream_monitoring_usage: + description: The Data Stream Monitoring usage by tag(s). + format: double + type: number + dbm_hosts_percentage: + description: The percentage of Database Monitoring host usage by tag(s). + format: double + type: number + dbm_hosts_usage: + description: The Database Monitoring host usage by tag(s). + format: double + type: number + dbm_queries_percentage: + description: The percentage of Database Monitoring queries usage by tag(s). + format: double + type: number + dbm_queries_usage: + description: The Database Monitoring queries usage by tag(s). + format: double + type: number + error_tracking_percentage: + description: The percentage of error tracking events usage by tag(s). + format: double + type: number + error_tracking_usage: + description: The error tracking events usage by tag(s). + format: double + type: number + estimated_indexed_spans_percentage: + description: The percentage of estimated indexed spans usage by tag(s). + format: double + type: number + estimated_indexed_spans_usage: + description: The estimated indexed spans usage by tag(s). + format: double + type: number + estimated_ingested_spans_percentage: + description: The percentage of estimated ingested spans usage by tag(s). + format: double + type: number + estimated_ingested_spans_usage: + description: The estimated ingested spans usage by tag(s). + format: double + type: number + fargate_percentage: + description: The percentage of Fargate usage by tags. + format: double + type: number + fargate_usage: + description: The Fargate usage by tags. + format: double + type: number + flex_logs_starter_percentage: + description: The percentage of Flex Logs Starter usage by tags. + format: double + type: number + flex_logs_starter_usage: + description: The Flex Logs Starter usage by tags. + format: double + type: number + flex_stored_logs_percentage: + description: The percentage of Flex Stored Logs usage by tags. + format: double + type: number + flex_stored_logs_usage: + description: The Flex Stored Logs usage by tags. + format: double + type: number + functions_percentage: + description: The percentage of Lambda function usage by tag(s). + format: double + type: number + functions_usage: + description: The Lambda function usage by tag(s). + format: double + type: number + incident_management_monthly_active_users_percentage: + description: The percentage of Incident Management monthly active users usage by tag(s). + format: double + type: number + incident_management_monthly_active_users_usage: + description: The Incident Management monthly active users usage by tag(s). + format: double + type: number + indexed_spans_percentage: + description: The percentage of APM Indexed Spans usage by tag(s). + format: double + type: number + indexed_spans_usage: + description: The total APM Indexed Spans usage by tag(s). + format: double + type: number + infra_host_basic_percentage: + description: The percentage of infrastructure host Basic tier usage by tag(s). + format: double + type: number + infra_host_basic_usage: + description: The infrastructure host Basic tier usage by tag(s). + format: double + type: number + infra_host_percentage: + description: The percentage of infrastructure host usage by tag(s). + format: double + type: number + infra_host_usage: + description: The infrastructure host usage by tag(s). + format: double + type: number + ingested_logs_bytes_percentage: + description: The percentage of Ingested Logs usage by tag(s). + format: double + type: number + ingested_logs_bytes_usage: + description: The total Ingested Logs usage by tag(s). + format: double + type: number + ingested_spans_bytes_percentage: + description: The percentage of APM Ingested Spans usage by tag(s). + format: double + type: number + ingested_spans_bytes_usage: + description: The total APM Ingested Spans usage by tag(s). + format: double + type: number + invocations_percentage: + description: The percentage of Lambda invocation usage by tag(s). + format: double + type: number + invocations_usage: + description: The Lambda invocation usage by tag(s). + format: double + type: number + lambda_traced_invocations_percentage: + description: The percentage of Serverless APM usage by tag(s). + format: double + type: number + lambda_traced_invocations_usage: + description: The Serverless APM usage by tag(s). + format: double + type: number + llm_observability_percentage: + description: The percentage of Agent Observability usage by tag(s). + format: double + type: number + llm_observability_usage: + description: The Agent Observability usage by tag(s). + format: double + type: number + llm_spans_percentage: + description: The percentage of LLM Spans usage by tag(s). + format: double + type: number + llm_spans_usage: + description: The LLM Spans usage by tag(s). + format: double + type: number + logs_indexed_15day_percentage: + description: The percentage of Indexed Logs (15-day Retention) usage by tag(s). + format: double + type: number + logs_indexed_15day_usage: + description: The total Indexed Logs (15-day Retention) usage by tag(s). + format: double + type: number + logs_indexed_180day_percentage: + description: The percentage of Indexed Logs (180-day Retention) usage by tag(s). + format: double + type: number + logs_indexed_180day_usage: + description: The total Indexed Logs (180-day Retention) usage by tag(s). + format: double + type: number + logs_indexed_1day_percentage: + description: The percentage of Indexed Logs (1-day Retention) usage by tag(s). + format: double + type: number + logs_indexed_1day_usage: + description: The total Indexed Logs (1-day Retention) usage by tag(s). + format: double + type: number + logs_indexed_30day_percentage: + description: The percentage of Indexed Logs (30-day Retention) usage by tag(s). + format: double + type: number + logs_indexed_30day_usage: + description: The total Indexed Logs (30-day Retention) usage by tag(s). + format: double + type: number + logs_indexed_360day_percentage: + description: The percentage of Indexed Logs (360-day Retention) usage by tag(s). + format: double + type: number + logs_indexed_360day_usage: + description: The total Indexed Logs (360-day Retention) usage by tag(s). + format: double + type: number + logs_indexed_3day_percentage: + description: The percentage of Indexed Logs (3-day Retention) usage by tag(s). + format: double + type: number + logs_indexed_3day_usage: + description: The total Indexed Logs (3-day Retention) usage by tag(s). + format: double + type: number + logs_indexed_45day_percentage: + description: The percentage of Indexed Logs (45-day Retention) usage by tag(s). + format: double + type: number + logs_indexed_45day_usage: + description: The total Indexed Logs (45-day Retention) usage by tag(s). + format: double + type: number + logs_indexed_60day_percentage: + description: The percentage of Indexed Logs (60-day Retention) usage by tag(s). + format: double + type: number + logs_indexed_60day_usage: + description: The total Indexed Logs (60-day Retention) usage by tag(s). + format: double + type: number + logs_indexed_7day_percentage: + description: The percentage of Indexed Logs (7-day Retention) usage by tag(s). + format: double + type: number + logs_indexed_7day_usage: + description: The total Indexed Logs (7-day Retention) usage by tag(s). + format: double + type: number + logs_indexed_90day_percentage: + description: The percentage of Indexed Logs (90-day Retention) usage by tag(s). + format: double + type: number + logs_indexed_90day_usage: + description: The total Indexed Logs (90-day Retention) usage by tag(s). + format: double + type: number + logs_indexed_custom_retention_percentage: + description: The percentage of Indexed Logs (Custom Retention) usage by tag(s). + format: double + type: number + logs_indexed_custom_retention_usage: + description: The total Indexed Logs (Custom Retention) usage by tag(s). + format: double + type: number + mobile_app_testing_percentage: + description: The percentage of Synthetic mobile application test usage by tag(s). + format: double + type: number + mobile_app_testing_usage: + description: The Synthetic mobile application test usage by tag(s). + format: double + type: number + ndm_netflow_percentage: + description: The percentage of Network Device Monitoring NetFlow usage by tag(s). + format: double + type: number + ndm_netflow_usage: + description: The Network Device Monitoring NetFlow usage by tag(s). + format: double + type: number + network_device_wireless_percentage: + description: The percentage of network device wireless usage by tag(s). + format: double + type: number + network_device_wireless_usage: + description: The network device wireless usage by tag(s). + format: double + type: number + npm_host_percentage: + description: The percentage of network host usage by tag(s). + format: double + type: number + npm_host_usage: + description: The network host usage by tag(s). + format: double + type: number + obs_pipeline_bytes_percentage: + description: The percentage of observability pipeline bytes usage by tag(s). + format: double + type: number + obs_pipeline_bytes_usage: + description: The observability pipeline bytes usage by tag(s). + format: double + type: number + obs_pipelines_vcpu_percentage: + description: The percentage of observability pipeline per core usage by tag(s). + format: double + type: number + obs_pipelines_vcpu_usage: + description: The observability pipeline per core usage by tag(s). + format: double + type: number + online_archive_percentage: + description: The percentage of online archive usage by tag(s). + format: double + type: number + online_archive_usage: + description: The online archive usage by tag(s). + format: double + type: number + product_analytics_session_percentage: + description: The percentage of Product Analytics session usage by tag(s). + format: double + type: number + product_analytics_session_usage: + description: The Product Analytics session usage by tag(s). + format: double + type: number + profiled_container_percentage: + description: The percentage of profiled container usage by tag(s). + format: double + type: number + profiled_container_usage: + description: The profiled container usage by tag(s). + format: double + type: number + profiled_fargate_percentage: + description: The percentage of profiled Fargate task usage by tag(s). + format: double + type: number + profiled_fargate_usage: + description: The profiled Fargate task usage by tag(s). + format: double + type: number + profiled_host_percentage: + description: The percentage of profiled hosts usage by tag(s). + format: double + type: number + profiled_host_usage: + description: The profiled hosts usage by tag(s). + format: double + type: number + published_app_percentage: + description: The percentage of published application usage by tag(s). + format: double + type: number + published_app_usage: + description: The published application usage by tag(s). + format: double + type: number + rum_browser_mobile_sessions_percentage: + description: The percentage of RUM Browser and Mobile usage by tag(s). + format: double + type: number + rum_browser_mobile_sessions_usage: + description: The total RUM Browser and Mobile usage by tag(s). + format: double + type: number + rum_ingested_percentage: + description: The percentage of RUM Ingested usage by tag(s). + format: double + type: number + rum_ingested_usage: + description: The total RUM Ingested usage by tag(s). + format: double + type: number + rum_investigate_percentage: + description: The percentage of RUM Investigate usage by tag(s). + format: double + type: number + rum_investigate_usage: + description: The total RUM Investigate usage by tag(s). + format: double + type: number + rum_replay_sessions_percentage: + description: The percentage of RUM Session Replay usage by tag(s). + format: double + type: number + rum_replay_sessions_usage: + description: The total RUM Session Replay usage by tag(s). + format: double + type: number + rum_session_replay_add_on_percentage: + description: The percentage of RUM Session Replay Add-On usage by tag(s). + format: double + type: number + rum_session_replay_add_on_usage: + description: The total RUM Session Replay Add-On usage by tag(s). + format: double + type: number + sca_fargate_percentage: + description: The percentage of Software Composition Analysis Fargate task usage by tag(s). + format: double + type: number + sca_fargate_usage: + description: The total Software Composition Analysis Fargate task usage by tag(s). + format: double + type: number + sds_scanned_bytes_percentage: + description: The percentage of Sensitive Data Scanner usage by tag(s). + format: double + type: number + sds_scanned_bytes_usage: + description: The total Sensitive Data Scanner usage by tag(s). + format: double + type: number + serverless_apps_apm_percentage: + description: The percentage of Serverless Apps APM usage by tag(s). + format: double + type: number + serverless_apps_apm_usage: + description: The total Serverless Apps APM usage by tag(s). + format: double + type: number + serverless_apps_percentage: + description: The percentage of Serverless Apps usage by tag(s). + format: double + type: number + serverless_apps_usage: + description: The total Serverless Apps usage by tag(s). + format: double + type: number + siem_12mo_retention_percentage: + description: The percentage of Cloud SIEM Indexed Logs (12-month retention) usage by tag(s). + format: double + type: number + siem_12mo_retention_usage: + description: The Cloud SIEM Indexed Logs (12-month retention) usage by tag(s). + format: double + type: number + siem_6mo_retention_percentage: + description: The percentage of Cloud SIEM Indexed Logs (6-month retention) usage by tag(s). + format: double + type: number + siem_6mo_retention_usage: + description: The Cloud SIEM Indexed Logs (6-month retention) usage by tag(s). + format: double + type: number + siem_analyzed_logs_add_on_percentage: + description: The percentage of log events analyzed by Cloud SIEM usage by tag(s). + format: double + type: number + siem_analyzed_logs_add_on_usage: + description: The log events analyzed by Cloud SIEM usage by tag(s). + format: double + type: number + siem_ingested_bytes_percentage: + description: The percentage of SIEM usage by tag(s). + format: double + type: number + siem_ingested_bytes_usage: + description: The total SIEM usage by tag(s). + format: double + type: number + snmp_percentage: + description: The percentage of network device usage by tag(s). + format: double + type: number + snmp_usage: + description: The network device usage by tag(s). + format: double + type: number + universal_service_monitoring_percentage: + description: The percentage of universal service monitoring usage by tag(s). + format: double + type: number + universal_service_monitoring_usage: + description: The universal service monitoring usage by tag(s). + format: double + type: number + vuln_management_hosts_percentage: + description: The percentage of Application Vulnerability Management usage by tag(s). + format: double + type: number + vuln_management_hosts_usage: + description: The Application Vulnerability Management usage by tag(s). + format: double + type: number + workflow_executions_percentage: + description: The percentage of workflow executions usage by tag(s). + format: double + type: number + workflow_executions_usage: + description: The total workflow executions usage by tag(s). + format: double + type: number + type: object + LogsByRetentionOrgs: + description: Indexed logs usage summary for each organization for each retention period with usage. properties: - value: - $ref: '#/components/schemas/TeamPermissionSettingValue' + usage: + description: Indexed logs usage summary for each organization. + items: + $ref: '#/components/schemas/LogsByRetentionOrgUsage' + type: array type: object - UsageAttributesObject: - description: Usage attributes data. + LogsRetentionAggSumUsage: + description: Object containing indexed logs usage aggregated across organizations and months for a retention period. properties: - org_name: - description: The organization name. - type: string - product_family: - description: The product for which usage is being reported. - type: string - public_id: - description: The organization public ID. + logs_indexed_logs_usage_agg_sum: + description: Total indexed logs for this retention period. + format: int64 + type: integer + logs_live_indexed_logs_usage_agg_sum: + description: Live indexed logs for this retention period. + format: int64 + type: integer + logs_rehydrated_indexed_logs_usage_agg_sum: + description: Rehydrated indexed logs for this retention period. + format: int64 + type: integer + retention: + description: The retention period in days or "custom" for all custom retention periods. type: string - region: - description: The region of the Datadog instance that the organization belongs to. + type: object + LogsByRetentionMonthlyUsage: + description: Object containing a summary of indexed logs usage by retention period for a single month. + properties: + date: + description: The month for the usage. + format: date-time type: string - timeseries: - description: List of usage data reported for each requested hour. + usage: + description: Indexed logs usage for each active retention for the month. items: - $ref: '#/components/schemas/UsageTimeSeriesObject' + $ref: '#/components/schemas/LogsRetentionSumUsage' type: array - usage_type: - $ref: '#/components/schemas/HourlyUsageType' type: object - UsageTimeSeriesType: - default: usage_timeseries - description: Type of usage data. - enum: - - usage_timeseries - example: usage_timeseries - type: string - x-enum-varnames: - - USAGE_TIMESERIES - BillingDimensionsMappingBodyItem: - description: The mapping data for each billing dimension. + UsageSummaryDateOrg: + description: |- + Global hourly report of all data billed by Datadog for a given organization. + + For SDK users only: all fields at this response level are accessible through the + `additionalProperties` map. Existing typed-field getters are unchanged. New billing + dimensions will not have typed-field getters. Use + [Get available fields for usage summary](https://docs.datadoghq.com/api/latest/usage-metering/get-available-fields-for-usage-summary/) + to enumerate every available key. properties: - attributes: - $ref: '#/components/schemas/BillingDimensionsMappingBodyItemAttributes' + account_name: + description: The account name. + type: string + account_public_id: + description: The account public id. + type: string + agent_host_top99p: + description: Shows the 99th percentile of all agent hosts over all hours in the current date for the given org. + format: int64 + type: integer + ai_credits_agent_builder_ai_credits_sum: + description: Shows the sum of all AI credits used by Agent Builder over all hours in the current date for the given org. + format: int64 + type: integer + ai_credits_bits_assistant_ai_credits_sum: + description: Shows the sum of all AI credits used by Bits AI Assistant over all hours in the current date for the given org. + format: int64 + type: integer + ai_credits_bits_dev_ai_credits_sum: + description: Shows the sum of all AI credits used by Bits AI Dev over all hours in the current date for the given org. + format: int64 + type: integer + ai_credits_bits_sre_ai_credits_sum: + description: Shows the sum of all AI credits used by Bits AI SRE over all hours in the current date for the given org. + format: int64 + type: integer + ai_credits_sum: + description: Shows the sum of all AI credits over all hours in the current date for the given org. + format: int64 + type: integer + apm_azure_app_service_host_top99p: + description: Shows the 99th percentile of all Azure app services using APM over all hours in the current date for the given org. + format: int64 + type: integer + apm_devsecops_host_top99p: + description: Shows the 99th percentile of all APM DevSecOps hosts over all hours in the current date for the given org. + format: int64 + type: integer + apm_enterprise_standalone_hosts_top99p: + description: Shows the 99th percentile of all distinct standalone Enterprise hosts over all hours in the current date for the given org. + format: int64 + type: integer + apm_fargate_count_avg: + description: Shows the average of all APM ECS Fargate tasks over all hours in the current month for the given org. + format: int64 + type: integer + apm_host_top99p: + description: Shows the 99th percentile of all distinct APM hosts over all hours in the current date for the given org. + format: int64 + type: integer + apm_pro_standalone_hosts_top99p: + description: Shows the 99th percentile of all distinct standalone Pro hosts over all hours in the current date for the given org. + format: int64 + type: integer + appsec_fargate_count_avg: + description: Shows the average of all Application Security Monitoring ECS Fargate tasks over all hours in the current month for the given org. + format: int64 + type: integer + asm_serverless_sum: + description: Shows the sum of all Application Security Monitoring Serverless invocations over all hours in the current month for the given org. + format: int64 + type: integer + audit_logs_lines_indexed_sum: + deprecated: true + description: Shows the sum of all audit logs lines indexed over all hours in the current date for the given org (To be deprecated on October 1st, 2024). + format: int64 + type: integer + audit_trail_enabled_hwm: + description: Shows whether Audit Trail is enabled for the current date for the given org. + format: int64 + type: integer + audit_trail_event_forwarding_events_sum: + description: Shows the sum of all Audit Trail event forwarding events over all hours in the current date for the given org. + format: int64 + type: integer + avg_profiled_fargate_tasks: + description: The average total count for Fargate Container Profiler over all hours in the current month for the given org. + format: int64 + type: integer + aws_host_top99p: + description: Shows the 99th percentile of all AWS hosts over all hours in the current date for the given org. + format: int64 + type: integer + aws_lambda_func_count: + description: Shows the sum of all AWS Lambda invocations over all hours in the current date for the given org. + format: int64 + type: integer + aws_lambda_invocations_sum: + description: Shows the sum of all AWS Lambda invocations over all hours in the current date for the given org. + format: int64 + type: integer + azure_app_service_top99p: + description: Shows the 99th percentile of all Azure app services over all hours in the current date for the given org. + format: int64 + type: integer + billable_ingested_bytes_sum: + description: Shows the sum of all log bytes ingested over all hours in the current date for the given org. + format: int64 + type: integer + bits_ai_investigations_sum: + description: Shows the sum of all Bits AI Investigations over all hours in the current date for the given org. + format: int64 + type: integer + browser_rum_lite_session_count_sum: + deprecated: true + description: Shows the sum of all browser lite sessions over all hours in the current date for the given org (To be deprecated on October 1st, 2024). + format: int64 + type: integer + browser_rum_replay_session_count_sum: + description: Shows the sum of all browser replay sessions over all hours in the current date for the given org (To be deprecated on October 1st, 2024). + format: int64 + type: integer + browser_rum_units_sum: + deprecated: true + description: Shows the sum of all browser RUM units over all hours in the current date for the given org (To be deprecated on October 1st, 2024). + format: int64 + type: integer + ccm_anthropic_spend_last: + description: Shows the last value of Anthropic cloud spend monitored over all hours in the current date for the given org. + format: int64 + type: integer + ccm_aws_spend_last: + description: Shows the last value of AWS cloud spend monitored over all hours in the current date for the given org. + format: int64 + type: integer + ccm_azure_spend_last: + description: Shows the last value of Azure cloud spend monitored over all hours in the current date for the given org. + format: int64 + type: integer + ccm_confluent_spend_last: + description: Shows the last value of Confluent cloud spend monitored over all hours in the current date for the given org. + format: int64 + type: integer + ccm_databricks_spend_last: + description: Shows the last value of Databricks cloud spend monitored over all hours in the current date for the given org. + format: int64 + type: integer + ccm_elastic_spend_last: + description: Shows the last value of Elastic cloud spend monitored over all hours in the current date for the given org. + format: int64 + type: integer + ccm_fastly_spend_last: + description: Shows the last value of Fastly cloud spend monitored over all hours in the current date for the given org. + format: int64 + type: integer + ccm_gcp_spend_last: + description: Shows the last value of GCP cloud spend monitored over all hours in the current date for the given org. + format: int64 + type: integer + ccm_github_spend_last: + description: Shows the last value of GitHub cloud spend monitored over all hours in the current date for the given org. + format: int64 + type: integer + ccm_mongodb_spend_last: + description: Shows the last value of MongoDB cloud spend monitored over all hours in the current date for the given org. + format: int64 + type: integer + ccm_oci_spend_last: + description: Shows the last value of OCI cloud spend monitored over all hours in the current date for the given org. + format: int64 + type: integer + ccm_openai_spend_last: + description: Shows the last value of OpenAI cloud spend monitored over all hours in the current date for the given org. + format: int64 + type: integer + ccm_snowflake_spend_last: + description: Shows the last value of Snowflake cloud spend monitored over all hours in the current date for the given org. + format: int64 + type: integer + ccm_spend_monitored_ent_last: + description: Shows the last value of the amount of cloud spend monitored for Enterprise over all hours in the current date for the given org. + format: int64 + type: integer + ccm_spend_monitored_pro_last: + description: Shows the last value of the amount of cloud spend monitored for Pro over all hours in the current date for the given org. + format: int64 + type: integer + ccm_twilio_spend_last: + description: Shows the last value of Twilio cloud spend monitored over all hours in the current date for the given org. + format: int64 + type: integer + ci_pipeline_indexed_spans_sum: + description: Shows the sum of all CI pipeline indexed spans over all hours in the current date for the given org. + format: int64 + type: integer + ci_test_indexed_spans_sum: + description: Shows the sum of all CI test indexed spans over all hours in the current date for the given org. + format: int64 + type: integer + ci_visibility_itr_committers_hwm: + description: Shows the high-water mark of all CI visibility intelligent test runner committers over all hours in the current date for the given org. + format: int64 + type: integer + ci_visibility_pipeline_committers_hwm: + description: Shows the high-water mark of all CI visibility pipeline committers over all hours in the current date for the given org. + format: int64 + type: integer + ci_visibility_test_committers_hwm: + description: Shows the high-water mark of all CI visibility test committers over all hours in the current date for the given org. + format: int64 + type: integer + cloud_cost_management_aws_host_count_avg: + description: Host count average of Cloud Cost Management for AWS for the given date and given org. + format: int64 + type: integer + cloud_cost_management_azure_host_count_avg: + description: Host count average of Cloud Cost Management for Azure for the given date and given org. + format: int64 + type: integer + cloud_cost_management_gcp_host_count_avg: + description: Host count average of Cloud Cost Management for GCP for the given date and given org. + format: int64 + type: integer + cloud_cost_management_host_count_avg: + description: Host count average of Cloud Cost Management for all cloud providers for the given date and given org. + format: int64 + type: integer + cloud_cost_management_oci_host_count_avg: + description: Average host count for Cloud Cost Management on OCI for the given date and organization. + format: int64 + type: integer + cloud_siem_events_sum: + description: Shows the sum of all Cloud Security Information and Event Management events over all hours in the current date for the given org. + format: int64 + type: integer + cloud_siem_indexed_logs_sum: + description: Shows the sum of all Cloud SIEM Indexed Logs over all hours in the current date for the given org. + format: int64 + type: integer + code_analysis_sa_committers_hwm: + description: Shows the high-water mark of all Static Analysis committers over all hours in the current date for the given org. + format: int64 + type: integer + code_analysis_sca_committers_hwm: + description: Shows the high-water mark of all static Software Composition Analysis committers over all hours in the current date for the given org. + format: int64 + type: integer + code_security_host_top99p: + description: Shows the 99th percentile of all Code Security hosts over all hours in the current date for the given org. + format: int64 + type: integer + container_avg: + description: Shows the average of all distinct containers over all hours in the current date for the given org. + format: int64 + type: integer + container_excl_agent_avg: + description: Shows the average of containers without the Datadog Agent over all hours in the current date for the given organization. + format: int64 + type: integer + container_hwm: + description: Shows the high-water mark of all distinct containers over all hours in the current date for the given org. + format: int64 + type: integer + csm_container_enterprise_compliance_count_sum: + description: Shows the sum of all Cloud Security Management Enterprise compliance containers over all hours in the current date for the given org. + format: int64 + type: integer + csm_container_enterprise_cws_count_sum: + description: Shows the sum of all Cloud Security Management Enterprise Cloud Workload Security containers over all hours in the current date for the given org. + format: int64 + type: integer + csm_container_enterprise_total_count_sum: + description: Shows the sum of all Cloud Security Management Enterprise containers over all hours in the current date for the given org. + format: int64 + type: integer + csm_host_enterprise_aas_host_count_top99p: + description: Shows the 99th percentile of all Cloud Security Management Enterprise Azure app services hosts over all hours in the current date for the given org. + format: int64 + type: integer + csm_host_enterprise_aws_host_count_top99p: + description: Shows the 99th percentile of all Cloud Security Management Enterprise AWS hosts over all hours in the current date for the given org. + format: int64 + type: integer + csm_host_enterprise_azure_host_count_top99p: + description: Shows the 99th percentile of all Cloud Security Management Enterprise Azure hosts over all hours in the current date for the given org. + format: int64 + type: integer + csm_host_enterprise_compliance_host_count_top99p: + description: Shows the 99th percentile of all Cloud Security Management Enterprise compliance hosts over all hours in the current date for the given org. + format: int64 + type: integer + csm_host_enterprise_cws_host_count_top99p: + description: Shows the 99th percentile of all Cloud Security Management Enterprise Cloud Workload Security hosts over all hours in the current date for the given org. + format: int64 + type: integer + csm_host_enterprise_gcp_host_count_top99p: + description: Shows the 99th percentile of all Cloud Security Management Enterprise GCP hosts over all hours in the current date for the given org. + format: int64 + type: integer + csm_host_enterprise_oci_host_count_top99p: + description: Shows the 99th percentile of all Cloud Security Management Enterprise OCI hosts over all hours in the current date for the given org. + format: int64 + type: integer + csm_host_enterprise_total_host_count_top99p: + description: Shows the 99th percentile of all Cloud Security Management Enterprise hosts over all hours in the current date for the given org. + format: int64 + type: integer + csm_host_pro_hosts_agentless_scanners_sum: + description: Shows the sum of all Cloud Security Management Pro Agentless scanner hosts over all hours in the current date for the given org. + format: int64 + type: integer + csm_host_pro_hosts_agentless_scanners_top99p: + description: Shows the 99th percentile of all Cloud Security Management Pro Agentless scanner hosts over all hours in the current date for the given org. + format: int64 + type: integer + csm_host_pro_oci_host_count_top99p: + description: Shows the 99th percentile of all Cloud Security Management Pro OCI hosts over all hours in the current date for the given org. + format: int64 + type: integer + cspm_aas_host_top99p: + description: Shows the 99th percentile of all Cloud Security Management Pro Azure app services hosts over all hours in the current date for the given org. + format: int64 + type: integer + cspm_aws_host_top99p: + description: Shows the 99th percentile of all Cloud Security Management Pro AWS hosts over all hours in the current date for the given org. + format: int64 + type: integer + cspm_azure_host_top99p: + description: Shows the 99th percentile of all Cloud Security Management Pro Azure hosts over all hours in the current date for the given org. + format: int64 + type: integer + cspm_container_avg: + description: Shows the average number of Cloud Security Management Pro containers over all hours in the current date for the given org. + format: int64 + type: integer + cspm_container_hwm: + description: Shows the high-water mark of Cloud Security Management Pro containers over all hours in the current date for the given org. + format: int64 + type: integer + cspm_gcp_host_top99p: + description: Shows the 99th percentile of all Cloud Security Management Pro GCP hosts over all hours in the current date for the given org. + format: int64 + type: integer + cspm_host_top99p: + description: Shows the 99th percentile of all Cloud Security Management Pro hosts over all hours in the current date for the given org. + format: int64 + type: integer + cspm_hosts_agentless_scanners_sum: + description: Shows the sum of all Cloud Security Management Pro Agentless scanner hosts over all hours in the current date for the given org. + format: int64 + type: integer + cspm_hosts_agentless_scanners_top99p: + description: Shows the 99th percentile of all Cloud Security Management Pro Agentless scanner hosts over all hours in the current date for the given org. + format: int64 + type: integer + custom_historical_ts_avg: + description: Shows the average number of distinct historical custom metrics over all hours in the current date for the given org. + format: int64 + type: integer + custom_live_ts_avg: + description: Shows the average number of distinct live custom metrics over all hours in the current date for the given org. + format: int64 + type: integer + custom_ts_avg: + description: Shows the average number of distinct custom metrics over all hours in the current date for the given org. + format: int64 + type: integer + cws_container_count_avg: + description: Shows the average of all distinct Cloud Workload Security containers over all hours in the current date for the given org. + format: int64 + type: integer + cws_fargate_task_avg: + description: Shows the average of all distinct Cloud Workload Security Fargate tasks over all hours in the current date for the given org. + format: int64 + type: integer + cws_host_top99p: + description: Shows the 99th percentile of all Cloud Workload Security hosts over all hours in the current date for the given org. + format: int64 + type: integer + data_jobs_monitoring_host_hr_sum: + description: Shows the sum of all Data Jobs Monitoring hosts over all hours in the current date for the given org. + format: int64 + type: integer + data_stream_monitoring_host_count_sum: + description: Shows the sum of all Data Streams Monitoring hosts over all hours in the current date for the given org. + format: int64 + type: integer + data_stream_monitoring_host_count_top99p: + description: Shows the 99th percentile of all Data Streams Monitoring hosts over all hours in the current date for the given org. + format: int64 + type: integer + dbm_host_top99p_sum: + description: Shows the 99th percentile of all Database Monitoring hosts over all hours in the current month for the given org. + format: int64 + type: integer + dbm_queries_avg_sum: + description: Shows the average of all distinct Database Monitoring normalized queries over all hours in the current month for the given org. + format: int64 + type: integer + do_jobs_monitoring_orchestrators_job_hours_sum: + description: Shows the sum of all orchestrator job hours over all hours in the current date for the given org. + format: int64 + type: integer + eph_infra_host_agent_sum: + description: Shows the sum of all ephemeral infrastructure hosts with the Datadog Agent over all hours in the current date for the given org. + format: int64 + type: integer + eph_infra_host_alibaba_sum: + description: Shows the sum of all ephemeral infrastructure hosts on Alibaba over all hours in the current date for the given org. + format: int64 + type: integer + eph_infra_host_aws_sum: + description: Shows the sum of all ephemeral infrastructure hosts on AWS over all hours in the current date for the given org. + format: int64 + type: integer + eph_infra_host_azure_sum: + description: Shows the sum of all ephemeral infrastructure hosts on Azure over all hours in the current date for the given org. + format: int64 + type: integer + eph_infra_host_basic_infra_basic_agent_sum: + description: Shows the sum of all ephemeral infrastructure hosts for Basic tier with the Datadog Agent over all hours in the current date for the given org. + format: int64 + type: integer + eph_infra_host_basic_infra_basic_vsphere_sum: + description: Shows the sum of all ephemeral infrastructure hosts for Basic tier on vSphere over all hours in the current date for the given org. + format: int64 + type: integer + eph_infra_host_basic_sum: + description: Shows the sum of all ephemeral infrastructure hosts for Basic tier over all hours in the current date for the given org. + format: int64 + type: integer + eph_infra_host_ent_sum: + description: Shows the sum of all ephemeral infrastructure hosts for Enterprise over all hours in the current date for the given org. + format: int64 + type: integer + eph_infra_host_gcp_sum: + description: Shows the sum of all ephemeral infrastructure hosts on GCP over all hours in the current date for the given org. + format: int64 + type: integer + eph_infra_host_heroku_sum: + description: Shows the sum of all ephemeral infrastructure hosts on Heroku over all hours in the current date for the given org. + format: int64 + type: integer + eph_infra_host_only_aas_sum: + description: Shows the sum of all ephemeral infrastructure hosts with only Azure App Services over all hours in the current date for the given org. + format: int64 + type: integer + eph_infra_host_only_vsphere_sum: + description: Shows the sum of all ephemeral infrastructure hosts with only vSphere over all hours in the current date for the given org. + format: int64 + type: integer + eph_infra_host_opentelemetry_apm_sum: + description: Shows the sum of all ephemeral APM hosts reported by the Datadog exporter for the OpenTelemetry Collector over all hours in the current date for the given org. + format: int64 + type: integer + eph_infra_host_opentelemetry_sum: + description: Shows the sum of all ephemeral hosts reported by the Datadog exporter for the OpenTelemetry Collector over all hours in the current date for the given org. + format: int64 + type: integer + eph_infra_host_pro_sum: + description: Shows the sum of all ephemeral infrastructure hosts for Pro over all hours in the current date for the given org. + format: int64 + type: integer + eph_infra_host_proplus_sum: + description: Shows the sum of all ephemeral infrastructure hosts for Pro Plus over all hours in the current date for the given org. + format: int64 + type: integer + eph_infra_host_proxmox_sum: + description: Sum of all ephemeral infrastructure hosts for Proxmox over all hours in the current date for the given organization. + format: int64 + type: integer + error_tracking_apm_error_events_sum: + description: Shows the sum of all Error Tracking APM error events over all hours in the current date for the given org. + format: int64 + type: integer + error_tracking_error_events_sum: + description: Shows the sum of all Error Tracking error events over all hours in the current date for the given org. + format: int64 + type: integer + error_tracking_events_sum: + description: Shows the sum of all Error Tracking events over all hours in the current date for the given org. + format: int64 + type: integer + error_tracking_rum_error_events_sum: + description: Shows the sum of all Error Tracking RUM error events over all hours in the current date for the given org. + format: int64 + type: integer + event_management_correlation_correlated_events_sum: + description: Shows the sum of all Event Management correlated events over all hours in the current date for the given org. + format: int64 + type: integer + event_management_correlation_correlated_related_events_sum: + description: Shows the sum of all Event Management correlated related events over all hours in the current date for the given org. + format: int64 + type: integer + event_management_correlation_sum: + description: Shows the sum of all Event Management correlations over all hours in the current date for the given org. + format: int64 + type: integer + fargate_container_profiler_profiling_fargate_avg: + description: The average number of Profiling Fargate tasks over all hours in the current month for the given org. + format: int64 + type: integer + fargate_container_profiler_profiling_fargate_eks_avg: + description: The average number of Profiling Fargate Elastic Kubernetes Service tasks over all hours in the current month for the given org. + format: int64 + type: integer + fargate_tasks_count_avg: + description: The average task count for Fargate. + format: int64 + type: integer + fargate_tasks_count_hwm: + description: Shows the high-water mark of all Fargate tasks over all hours in the current date for the given org. + format: int64 + type: integer + feature_flags_config_requests_sum: + description: Shows the sum of all Feature Flags Client-Side SDK config requests over all hours in the current date for the given org. + format: int64 + type: integer + flex_logs_compute_large_avg: + description: Shows the average number of Flex Logs Compute Large Instances over all hours in the current date for the given org. + format: int64 + type: integer + flex_logs_compute_medium_avg: + description: Shows the average number of Flex Logs Compute Medium Instances over all hours in the current date for the given org. + format: int64 + type: integer + flex_logs_compute_small_avg: + description: Shows the average number of Flex Logs Compute Small Instances over all hours in the current date for the given org. + format: int64 + type: integer + flex_logs_compute_xlarge_avg: + description: Shows the average number of Flex Logs Compute Extra Large Instances over all hours in the current date for the given org. + format: int64 + type: integer + flex_logs_compute_xsmall_avg: + description: Shows the average number of Flex Logs Compute Extra Small Instances over all hours in the current date for the given org. + format: int64 + type: integer + flex_logs_starter_avg: + description: Shows the average number of Flex Logs Starter Instances over all hours in the current date for the given org. + format: int64 + type: integer + flex_logs_starter_storage_index_avg: + description: Shows the average number of Flex Logs Starter Storage Index Instances over all hours in the current date for the given org. + format: int64 + type: integer + flex_logs_starter_storage_retention_adjustment_avg: + description: Shows the average number of Flex Logs Starter Storage Retention Adjustment Instances over all hours in the current date for the given org. + format: int64 + type: integer + flex_stored_logs_avg: + description: Shows the average of all Flex Stored Logs over all hours in the current date for the given org. + format: int64 + type: integer + forwarding_events_bytes_sum: + description: Shows the sum of all log bytes forwarded over all hours in the current date for the given org. + format: int64 + type: integer + gcp_host_top99p: + description: Shows the 99th percentile of all GCP hosts over all hours in the current date for the given org. + format: int64 + type: integer + heroku_host_top99p: + description: Shows the 99th percentile of all Heroku dynos over all hours in the current date for the given org. + format: int64 + type: integer id: - description: ID of the billing dimension. - type: string - type: - $ref: '#/components/schemas/ActiveBillingDimensionsType' - type: object - CostByOrgAttributes: - description: Cost attributes data. - properties: - account_name: - description: The account name. - type: string - account_public_id: - description: The account public ID. - type: string - charges: - description: List of charges data reported for the requested month. - items: - $ref: '#/components/schemas/ChargebackBreakdown' - type: array - date: - description: The month requested. - format: date-time - type: string - org_name: - description: The organization name. - type: string - public_id: - description: The organization public ID. - type: string - region: - description: The region of the Datadog instance that the organization belongs to. - type: string - total_cost: - description: The total cost of products for the month. - format: double - type: number - type: object - CostByOrgType: - default: cost_by_org - description: Type of cost data. - enum: - - cost_by_org - example: cost_by_org - type: string - x-enum-varnames: - - COST_BY_ORG - HourlyUsageAttributes: - description: >- - Attributes of hourly usage for a product family for an org for a time - period. - properties: - account_name: - description: The account name. - type: string - account_public_id: - description: The account public ID. - type: string - measurements: - description: >- - List of the measured usage values for the product family for the org - for the time period. - items: - $ref: '#/components/schemas/HourlyUsageMeasurement' - type: array - org_name: - description: The organization name. - type: string - product_family: - description: The product for which usage is being reported. - type: string - public_id: - description: The organization public ID. - type: string - region: - description: The region of the Datadog instance that the organization belongs to. - type: string - timestamp: - description: Datetime in ISO-8601 format, UTC. The hour for the usage. - format: date-time - type: string - type: object - HourlyUsagePagination: - description: The metadata for the current pagination. - properties: - next_record_id: - description: >- - The cursor to get the next results (if any). To make the next - request, use the same parameters and add `next_record_id`. - nullable: true - type: string - type: object - ProjectedCostAttributes: - description: Projected Cost attributes data. - properties: - account_name: - description: The account name. + description: The organization id. type: string - account_public_id: - description: The account public ID. - type: string - charges: - description: List of charges data reported for the requested month. - items: - $ref: '#/components/schemas/ChargebackBreakdown' - type: array - date: - description: The month requested. - format: date-time - type: string - org_name: + incident_management_monthly_active_users_hwm: + description: Shows the high-water mark of incident management monthly active users over all hours in the current date for the given org. + format: int64 + type: integer + incident_management_seats_hwm: + description: Shows the high-water mark of Incident Management seats over all hours on the current date for the given organization. + format: int64 + type: integer + indexed_events_count_sum: + deprecated: true + description: Shows the sum of all log events indexed over all hours in the current date for the given org (To be deprecated on October 1st, 2024). + format: int64 + type: integer + indexed_points_sum: + description: Shows the sum of all indexed custom metrics points over all hours in the current date for the given org. + format: int64 + type: integer + infra_cpu_avg: + description: Shows the average of all Infrastructure vCPU cores over all hours in the current date for the given org. + format: int64 + type: integer + infra_cpu_default_infra_host_vcpu_agent_avg: + description: Shows the average of all default Infrastructure host vCPU cores reported by the Datadog Agent over all hours in the current date for the given org. + format: int64 + type: integer + infra_cpu_default_infra_host_vcpu_agent_basic_avg: + description: Shows the average of all default basic Infrastructure host vCPU cores reported by the Datadog Agent over all hours in the current date for the given org. + format: int64 + type: integer + infra_cpu_default_infra_host_vcpu_agent_basic_sum: + description: Shows the sum of all default basic Infrastructure host vCPU cores reported by the Datadog Agent over all hours in the current date for the given org. + format: int64 + type: integer + infra_cpu_default_infra_host_vcpu_agent_sum: + description: Shows the sum of all default Infrastructure host vCPU cores reported by the Datadog Agent over all hours in the current date for the given org. + format: int64 + type: integer + infra_cpu_default_infra_host_vcpu_aws_avg: + description: Shows the average of all default Infrastructure host vCPU cores on AWS over all hours in the current date for the given org. + format: int64 + type: integer + infra_cpu_default_infra_host_vcpu_aws_sum: + description: Shows the sum of all default Infrastructure host vCPU cores on AWS over all hours in the current date for the given org. + format: int64 + type: integer + infra_cpu_default_infra_host_vcpu_azure_avg: + description: Shows the average of all default Infrastructure host vCPU cores on Azure over all hours in the current date for the given org. + format: int64 + type: integer + infra_cpu_default_infra_host_vcpu_azure_sum: + description: Shows the sum of all default Infrastructure host vCPU cores on Azure over all hours in the current date for the given org. + format: int64 + type: integer + infra_cpu_default_infra_host_vcpu_gcp_avg: + description: Shows the average of all default Infrastructure host vCPU cores on GCP over all hours in the current date for the given org. + format: int64 + type: integer + infra_cpu_default_infra_host_vcpu_gcp_sum: + description: Shows the sum of all default Infrastructure host vCPU cores on GCP over all hours in the current date for the given org. + format: int64 + type: integer + infra_cpu_default_infra_host_vcpu_nutanix_avg: + description: Shows the average of all default Infrastructure host vCPU cores on Nutanix over all hours in the current date for the given org. + format: int64 + type: integer + infra_cpu_default_infra_host_vcpu_nutanix_basic_avg: + description: Shows the average of all default basic Infrastructure host vCPU cores on Nutanix over all hours in the current date for the given org. + format: int64 + type: integer + infra_cpu_default_infra_host_vcpu_nutanix_basic_sum: + description: Shows the sum of all default basic Infrastructure host vCPU cores on Nutanix over all hours in the current date for the given org. + format: int64 + type: integer + infra_cpu_default_infra_host_vcpu_nutanix_sum: + description: Shows the sum of all default Infrastructure host vCPU cores on Nutanix over all hours in the current date for the given org. + format: int64 + type: integer + infra_cpu_default_infra_host_vcpu_opentelemetry_avg: + description: Shows the average of all default Infrastructure host vCPU cores reported by OpenTelemetry over all hours in the current date for the given org. + format: int64 + type: integer + infra_cpu_default_infra_host_vcpu_opentelemetry_sum: + description: Shows the sum of all default Infrastructure host vCPU cores reported by OpenTelemetry over all hours in the current date for the given org. + format: int64 + type: integer + infra_cpu_observed_infra_host_vcpu_agent_avg: + description: Shows the average of all observed Infrastructure host vCPU cores reported by the Datadog Agent over all hours in the current date for the given org. + format: int64 + type: integer + infra_cpu_observed_infra_host_vcpu_agent_sum: + description: Shows the sum of all observed Infrastructure host vCPU cores reported by the Datadog Agent over all hours in the current date for the given org. + format: int64 + type: integer + infra_cpu_observed_infra_host_vcpu_aws_avg: + description: Shows the average of all observed Infrastructure host vCPU cores on AWS over all hours in the current date for the given org. + format: int64 + type: integer + infra_cpu_observed_infra_host_vcpu_aws_sum: + description: Shows the sum of all observed Infrastructure host vCPU cores on AWS over all hours in the current date for the given org. + format: int64 + type: integer + infra_cpu_observed_infra_host_vcpu_azure_avg: + description: Shows the average of all observed Infrastructure host vCPU cores on Azure over all hours in the current date for the given org. + format: int64 + type: integer + infra_cpu_observed_infra_host_vcpu_azure_sum: + description: Shows the sum of all observed Infrastructure host vCPU cores on Azure over all hours in the current date for the given org. + format: int64 + type: integer + infra_cpu_observed_infra_host_vcpu_gcp_avg: + description: Shows the average of all observed Infrastructure host vCPU cores on GCP over all hours in the current date for the given org. + format: int64 + type: integer + infra_cpu_observed_infra_host_vcpu_gcp_sum: + description: Shows the sum of all observed Infrastructure host vCPU cores on GCP over all hours in the current date for the given org. + format: int64 + type: integer + infra_cpu_observed_infra_host_vcpu_nutanix_avg: + description: Shows the average of all observed Infrastructure host vCPU cores on Nutanix over all hours in the current date for the given org. + format: int64 + type: integer + infra_cpu_observed_infra_host_vcpu_nutanix_sum: + description: Shows the sum of all observed Infrastructure host vCPU cores on Nutanix over all hours in the current date for the given org. + format: int64 + type: integer + infra_cpu_observed_infra_host_vcpu_opentelemetry_avg: + description: Shows the average of all observed Infrastructure host vCPU cores reported by OpenTelemetry over all hours in the current date for the given org. + format: int64 + type: integer + infra_cpu_observed_infra_host_vcpu_opentelemetry_sum: + description: Shows the sum of all observed Infrastructure host vCPU cores reported by OpenTelemetry over all hours in the current date for the given org. + format: int64 + type: integer + infra_cpu_sum: + description: Shows the sum of all Infrastructure vCPU cores over all hours in the current date for the given org. + format: int64 + type: integer + infra_edge_monitoring_devices_top99p: + description: Shows the 99th percentile of all Edge Devices Monitoring devices over all hours in the current date for the given org. + format: int64 + type: integer + infra_host_basic_infra_basic_agent_top99p: + description: Shows the 99th percentile of all distinct infrastructure hosts for Basic tier with the Datadog Agent over all hours in the current date for the given org. + format: int64 + type: integer + infra_host_basic_infra_basic_vsphere_top99p: + description: Shows the 99th percentile of all distinct infrastructure hosts for Basic tier on vSphere over all hours in the current date for the given org. + format: int64 + type: integer + infra_host_basic_top99p: + description: Shows the 99th percentile of all distinct infrastructure hosts for Basic tier over all hours in the current date for the given org. + format: int64 + type: integer + infra_host_top99p: + description: Shows the 99th percentile of all distinct infrastructure hosts over all hours in the current date for the given org. + format: int64 + type: integer + infra_storage_mgmt_objects_count_avg: + description: Shows the average number of storage management objects over all hours in the current date for the given org. + format: int64 + type: integer + ingest_points_sum: + description: Shows the sum of all ingested custom metrics points over all hours in the current date for the given org. + format: int64 + type: integer + ingested_events_bytes_sum: + description: Shows the sum of all log bytes ingested over all hours in the current date for the given org. + format: int64 + type: integer + iot_apm_host_sum: + description: Shows the sum of all Application Performance Monitoring IoT hosts over all hours in the current date for the given org. + format: int64 + type: integer + iot_apm_host_top99p: + description: Shows the 99th percentile of all Application Performance Monitoring IoT hosts over all hours in the current date for the given org. + format: int64 + type: integer + iot_device_agg_sum: + description: Shows the sum of all IoT devices over all hours in the current date for the given org. + format: int64 + type: integer + iot_device_top99p_sum: + description: Shows the 99th percentile of all IoT devices over all hours in the current date for the given org. + format: int64 + type: integer + llm_observability_15day_retention_spans_sum: + description: Shows the sum of all Agent Observability 15-day retention spans over all hours in the current date for the given org. + format: int64 + type: integer + llm_observability_30day_retention_spans_sum: + description: Shows the sum of all Agent Observability 30-day retention spans over all hours in the current date for the given org. + format: int64 + type: integer + llm_observability_60day_retention_spans_sum: + description: Shows the sum of all Agent Observability 60-day retention spans over all hours in the current date for the given org. + format: int64 + type: integer + llm_observability_90day_retention_spans_sum: + description: Shows the sum of all Agent Observability 90-day retention spans over all hours in the current date for the given org. + format: int64 + type: integer + llm_observability_min_spend_sum: + description: Shows the sum of all Agent Observability minimum spend over all hours in the current date for the given org. + format: int64 + type: integer + llm_observability_sum: + description: Shows the sum of all Agent observability sessions over all hours in the current date for the given org. + format: int64 + type: integer + logs_archive_search_gb_scanned_sum: + description: Shows the sum of all Logs Archive Search scanned data over all hours in the current date for the given org. + format: int64 + type: integer + metric_names_sum: + description: Shows the sum of all custom metric names over all hours in the current date for the given org. + format: int64 + type: integer + mobile_rum_lite_session_count_sum: + deprecated: true + description: Shows the sum of all mobile lite sessions over all hours in the current date for the given org (To be deprecated on October 1st, 2024). + format: int64 + type: integer + mobile_rum_session_count_android_sum: + deprecated: true + description: Shows the sum of all mobile RUM sessions on Android over all hours in the current date for the given org (To be deprecated on October 1st, 2024). + format: int64 + type: integer + mobile_rum_session_count_flutter_sum: + deprecated: true + description: Shows the sum of all mobile RUM sessions on Flutter over all hours in the current date for the given org (To be deprecated on October 1st, 2024). + format: int64 + type: integer + mobile_rum_session_count_ios_sum: + deprecated: true + description: Shows the sum of all mobile RUM sessions on iOS over all hours in the current date for the given org (To be deprecated on October 1st, 2024). + format: int64 + type: integer + mobile_rum_session_count_reactnative_sum: + deprecated: true + description: Shows the sum of all mobile RUM sessions on React Native over all hours in the current date for the given org (To be deprecated on October 1st, 2024). + format: int64 + type: integer + mobile_rum_session_count_roku_sum: + deprecated: true + description: Shows the sum of all mobile RUM sessions on Roku over all hours in the current date for the given org (To be deprecated on October 1st, 2024). + format: int64 + type: integer + mobile_rum_session_count_sum: + deprecated: true + description: Shows the sum of all mobile RUM sessions over all hours in the current date for the given org (To be deprecated on October 1st, 2024). + format: int64 + type: integer + mobile_rum_units_sum: + deprecated: true + description: Shows the sum of all mobile RUM units over all hours in the current date for the given org (To be deprecated on October 1st, 2024). + format: int64 + type: integer + name: description: The organization name. type: string - projected_total_cost: - description: The total projected cost of products for the month. - format: double - type: number + ndm_netflow_events_sum: + description: Shows the sum of all Network Device Monitoring NetFlow events over all hours in the current date for the given org. + format: int64 + type: integer + netflow_indexed_events_count_sum: + deprecated: true + description: Shows the sum of all Network flows indexed over all hours in the current date for the given org (To be deprecated on October 1st, 2024). + format: int64 + type: integer + network_device_wireless_top99p: + description: Shows the 99th percentile of all Network Device Monitoring wireless devices over all hours in the current date for the given org. + format: int64 + type: integer + network_path_sum: + description: Shows the sum of all Network Path scheduled tests over all hours in the current date for the given org. + format: int64 + type: integer + npm_host_top99p: + description: Shows the 99th percentile of all distinct Cloud Network Monitoring hosts (formerly known as Network hosts) over all hours in the current date for the given org. + format: int64 + type: integer + observability_pipelines_bytes_processed_sum: + description: Sum of all observability pipelines bytes processed over all hours in the current date for the given org. + format: int64 + type: integer + oci_host_sum: + description: Shows the sum of all Oracle Cloud Infrastructure hosts over all hours in the current date for the given org. + format: int64 + type: integer + oci_host_top99p: + description: Shows the 99th percentile of all Oracle Cloud Infrastructure hosts over all hours in the current date for the given org. + format: int64 + type: integer + on_call_seat_hwm: + description: Shows the high-water mark of On-Call seats over all hours in the current date for the given org. + format: int64 + type: integer + online_archive_events_count_sum: + description: Sum of all online archived events over all hours in the current date for the given org. + format: int64 + type: integer + opentelemetry_apm_host_top99p: + description: Shows the 99th percentile of APM hosts reported by the Datadog exporter for the OpenTelemetry Collector over all hours in the current date for the given org. + format: int64 + type: integer + opentelemetry_host_top99p: + description: Shows the 99th percentile of all hosts reported by the Datadog exporter for the OpenTelemetry Collector over all hours in the current date for the given org. + format: int64 + type: integer + product_analytics_sum: + description: Shows the sum of all product analytics sessions over all hours in the current date for the given org. + format: int64 + type: integer + profiling_aas_count_top99p: + description: Shows the 99th percentile of all profiled Azure app services over all hours in the current date for all organizations. + format: int64 + type: integer + profiling_host_top99p: + description: Shows the 99th percentile of all profiled hosts over all hours within the current date for the given org. + format: int64 + type: integer + proxmox_host_sum: + description: Sum of all Proxmox hosts over all hours in the current date for the given organization. + format: int64 + type: integer + proxmox_host_top99p: + description: 99th percentile of all Proxmox hosts over all hours in the current date for the given organization. + format: int64 + type: integer public_id: - description: The organization public ID. + description: The organization public id. type: string + published_app_hwm: + description: Shows the high-water mark of all published applications over all hours in the current date for the given org. + format: int64 + type: integer region: - description: The region of the Datadog instance that the organization belongs to. + description: The region of the organization. type: string - type: object - ProjectedCostType: - default: projected_cost - description: Type of cost data. - enum: - - projected_cost - example: projected_cost - type: string - x-enum-varnames: - - PROJECt_COST - UserInvitationRelationships: - description: Relationships data for user invitation. + rum_browser_and_mobile_session_count: + description: Shows the sum of all mobile sessions and all browser lite and legacy sessions over all hours in the current date for the given org (To be deprecated on October 1st, 2024). + format: int64 + type: integer + rum_browser_legacy_session_count_sum: + description: Shows the sum of all browser RUM legacy sessions over all hours in the current date for the given org (To be introduced on October 1st, 2024). + format: int64 + type: integer + rum_browser_lite_session_count_sum: + description: Shows the sum of all browser RUM lite sessions over all hours in the current date for the given org (To be introduced on October 1st, 2024). + format: int64 + type: integer + rum_browser_replay_session_count_sum: + description: Shows the sum of all browser RUM Session Replay counts over all hours in the current date for the given org (To be introduced on October 1st, 2024). + format: int64 + type: integer + rum_indexed_sessions_sum: + description: Shows the sum of all RUM indexed sessions over all hours in the current date for the given org. + format: int64 + type: integer + rum_ingested_sessions_sum: + description: Shows the sum of all RUM ingested sessions over all hours in the current date for the given org. + format: int64 + type: integer + rum_lite_session_count_sum: + description: Shows the sum of all RUM lite sessions (browser and mobile) over all hours in the current date for the given org (To be introduced on October 1st, 2024). + format: int64 + type: integer + rum_mobile_legacy_session_count_android_sum: + description: Shows the sum of all mobile RUM legacy sessions on Android over all hours in the current date for the given org (To be introduced on October 1st, 2024). + format: int64 + type: integer + rum_mobile_legacy_session_count_flutter_sum: + description: Shows the sum of all mobile RUM legacy sessions on Flutter over all hours in the current date for the given org (To be introduced on October 1st, 2024). + format: int64 + type: integer + rum_mobile_legacy_session_count_ios_sum: + description: Shows the sum of all mobile RUM legacy sessions on iOS over all hours in the current date for the given org (To be introduced on October 1st, 2024). + format: int64 + type: integer + rum_mobile_legacy_session_count_reactnative_sum: + description: Shows the sum of all mobile RUM legacy sessions on React Native over all hours in the current date for the given org (To be introduced on October 1st, 2024). + format: int64 + type: integer + rum_mobile_legacy_session_count_roku_sum: + description: Shows the sum of all mobile RUM legacy sessions on Roku over all hours in the current date for the given org (To be introduced on October 1st, 2024). + format: int64 + type: integer + rum_mobile_lite_session_count_android_sum: + description: Shows the sum of all mobile RUM lite sessions on Android over all hours in the current date for the given org (To be introduced on October 1st, 2024). + format: int64 + type: integer + rum_mobile_lite_session_count_flutter_sum: + description: Shows the sum of all mobile RUM lite sessions on Flutter over all hours in the current date for the given org (To be introduced on October 1st, 2024). + format: int64 + type: integer + rum_mobile_lite_session_count_ios_sum: + description: Shows the sum of all mobile RUM lite sessions on iOS over all hours in the current date for the given org (To be introduced on October 1st, 2024). + format: int64 + type: integer + rum_mobile_lite_session_count_kotlinmultiplatform_sum: + description: Shows the sum of all mobile RUM lite sessions on Kotlin Multiplatform over all hours within the current date for the given org. + format: int64 + type: integer + rum_mobile_lite_session_count_reactnative_sum: + description: Shows the sum of all mobile RUM lite sessions on React Native over all hours in the current date for the given org (To be introduced on October 1st, 2024). + format: int64 + type: integer + rum_mobile_lite_session_count_roku_sum: + description: Shows the sum of all mobile RUM lite sessions on Roku over all hours in the current date for the given org (To be introduced on October 1st, 2024). + format: int64 + type: integer + rum_mobile_lite_session_count_unity_sum: + description: Shows the sum of all mobile RUM lite sessions on Unity over all hours within the current date for the given org. + format: int64 + type: integer + rum_mobile_replay_session_count_android_sum: + description: Shows the sum of all mobile RUM replay sessions on Android over all hours within the current date for the given org. + format: int64 + type: integer + rum_mobile_replay_session_count_ios_sum: + description: Shows the sum of all mobile RUM replay sessions on iOS over all hours within the current date for the given org. + format: int64 + type: integer + rum_mobile_replay_session_count_kotlinmultiplatform_sum: + description: Shows the sum of all mobile RUM replay sessions on Kotlin Multiplatform over all hours within the current date for the given org. + format: int64 + type: integer + rum_mobile_replay_session_count_reactnative_sum: + description: Shows the sum of all mobile RUM replay sessions on React Native over all hours within the current date for the given org. + format: int64 + type: integer + rum_replay_session_count_sum: + description: Shows the sum of all RUM Session Replay counts over all hours in the current date for the given org (To be introduced on October 1st, 2024). + format: int64 + type: integer + rum_session_count_sum: + deprecated: true + description: Shows the sum of all browser RUM lite sessions over all hours in the current date for the given org (To be deprecated on October 1st, 2024). + format: int64 + type: integer + rum_session_replay_add_on_sum: + description: Shows the sum of all RUM session replay add-on sessions over all hours in the current date for the given org. + format: int64 + type: integer + rum_total_session_count_sum: + description: Shows the sum of RUM sessions (browser and mobile) over all hours in the current date for the given org. + format: int64 + type: integer + rum_units_sum: + deprecated: true + description: Shows the sum of all browser and mobile RUM units over all hours in the current date for the given org (To be deprecated on October 1st, 2024). + format: int64 + type: integer + sca_fargate_count_avg: + description: Shows the average of all Software Composition Analysis Fargate tasks over all hours in the current date for the given org. + format: int64 + type: integer + sca_fargate_count_hwm: + description: Shows the sum of the high-water marks of all Software Composition Analysis Fargate tasks over all hours in the current date for the given org. + format: int64 + type: integer + sds_apm_scanned_bytes_sum: + description: Sum of all APM bytes scanned with sensitive data scanner over all hours in the current date for the given org. + format: int64 + type: integer + sds_events_scanned_bytes_sum: + description: Sum of all event stream events bytes scanned with sensitive data scanner over all hours in the current date for the given org. + format: int64 + type: integer + sds_logs_scanned_bytes_sum: + description: Shows the sum of all bytes scanned of logs usage by the Sensitive Data Scanner over all hours in the current month for the given org. + format: int64 + type: integer + sds_rum_scanned_bytes_sum: + description: Sum of all RUM bytes scanned with sensitive data scanner over all hours in the current date for the given org. + format: int64 + type: integer + sds_total_scanned_bytes_sum: + description: Shows the sum of all bytes scanned across all usage types by the Sensitive Data Scanner over all hours in the current month for the given org. + format: int64 + type: integer + serverless_apps_apm_apm_azure_appservice_instances_avg: + description: Shows the average number of Serverless Apps with Application Performance Monitoring for Azure App Service instances for the given date and given org. + format: int64 + type: integer + serverless_apps_apm_apm_azure_azurefunction_instances_avg: + description: Shows the average number of Serverless Apps with Application Performance Monitoring for Azure Function instances for the given date and given org. + format: int64 + type: integer + serverless_apps_apm_apm_azure_containerapp_instances_avg: + description: Shows the average number of Serverless Apps with Application Performance Monitoring for Azure Container App instances for the given date and given org. + format: int64 + type: integer + serverless_apps_apm_apm_fargate_ecs_tasks_avg: + description: Shows the average number of Serverless Apps with Application Performance Monitoring for Fargate Elastic Container Service tasks for the given date and given org. + format: int64 + type: integer + serverless_apps_apm_apm_gcp_cloudfunction_instances_avg: + description: Shows the average number of Serverless Apps with Application Performance Monitoring for Google Cloud Platform Cloud Function instances for the given date and given org. + format: int64 + type: integer + serverless_apps_apm_apm_gcp_cloudrun_instances_avg: + description: Shows the average number of Serverless Apps with Application Performance Monitoring for Google Cloud Platform Cloud Run instances for the given date and given org. + format: int64 + type: integer + serverless_apps_apm_apm_gcp_gke_autopilot_pods_avg: + description: Shows the average number of Serverless Apps with Application Performance Monitoring for Google Kubernetes Engine Autopilot pods for the given date and given org. + format: int64 + type: integer + serverless_apps_apm_avg: + description: Shows the average number of Serverless Apps with Application Performance Monitoring for the given date and given org. + format: int64 + type: integer + serverless_apps_apm_excl_fargate_apm_azure_appservice_instances_avg: + description: Shows the average number of Serverless Apps with Application Performance Monitoring excluding Fargate for Azure App Service instances for the given date and given org. + format: int64 + type: integer + serverless_apps_apm_excl_fargate_apm_azure_azurefunction_instances_avg: + description: Shows the average number of Serverless Apps with Application Performance Monitoring excluding Fargate for Azure Function instances for the given date and given org. + format: int64 + type: integer + serverless_apps_apm_excl_fargate_apm_azure_containerapp_instances_avg: + description: Shows the average number of Serverless Apps with Application Performance Monitoring excluding Fargate for Azure Container App instances for the given date and given org. + format: int64 + type: integer + serverless_apps_apm_excl_fargate_apm_gcp_cloudfunction_instances_avg: + description: Shows the average number of Serverless Apps with Application Performance Monitoring excluding Fargate for Google Cloud Platform Cloud Function instances for the given date and given org. + format: int64 + type: integer + serverless_apps_apm_excl_fargate_apm_gcp_cloudrun_instances_avg: + description: Shows the average number of Serverless Apps with Application Performance Monitoring excluding Fargate for Google Cloud Platform Cloud Run instances for the given date and given org. + format: int64 + type: integer + serverless_apps_apm_excl_fargate_apm_gcp_gke_autopilot_pods_avg: + description: Shows the average number of Serverless Apps with Application Performance Monitoring excluding Fargate for Google Kubernetes Engine Autopilot pods for the given date and given org. + format: int64 + type: integer + serverless_apps_apm_excl_fargate_avg: + description: Shows the average number of Serverless Apps with Application Performance Monitoring excluding Fargate for the given date and given org. + format: int64 + type: integer + serverless_apps_azure_container_app_instances_avg: + description: Shows the average number of Serverless Apps for Azure Container App instances for the given date and given org. + format: int64 + type: integer + serverless_apps_azure_count_avg: + description: Shows the average number of Serverless Apps for Azure for the given date and given org. + format: int64 + type: integer + serverless_apps_azure_function_app_instances_avg: + description: Shows the average number of Serverless Apps for Azure Function App instances for the given date and given org. + format: int64 + type: integer + serverless_apps_azure_web_app_instances_avg: + description: Shows the average number of Serverless Apps for Azure Web App instances for the given date and given org. + format: int64 + type: integer + serverless_apps_dsm_fargate_tasks_avg: + description: Shows the average number of DSM Fargate ECS tasks monitored under Serverless Apps DSM for the given date and given org. + format: int64 + type: integer + serverless_apps_ecs_avg: + description: Shows the average number of Serverless Apps for Elastic Container Service for the given date and given org. + format: int64 + type: integer + serverless_apps_eks_avg: + description: Shows the average number of Serverless Apps for Elastic Kubernetes Service for the given date and given org. + format: int64 + type: integer + serverless_apps_excl_fargate_avg: + description: Shows the average number of Serverless Apps excluding Fargate for the given date and given org. + format: int64 + type: integer + serverless_apps_excl_fargate_azure_container_app_instances_avg: + description: Shows the average number of Serverless Apps excluding Fargate for Azure Container App instances for the given date and given org. + format: int64 + type: integer + serverless_apps_excl_fargate_azure_function_app_instances_avg: + description: Shows the average number of Serverless Apps excluding Fargate for Azure Function App instances for the given date and given org. + format: int64 + type: integer + serverless_apps_excl_fargate_azure_web_app_instances_avg: + description: Shows the average number of Serverless Apps excluding Fargate for Azure Web App instances for the given date and given org. + format: int64 + type: integer + serverless_apps_excl_fargate_google_cloud_functions_instances_avg: + description: Shows the average number of Serverless Apps excluding Fargate for Google Cloud Platform Cloud Functions instances for the given date and given org. + format: int64 + type: integer + serverless_apps_excl_fargate_google_cloud_run_instances_avg: + description: Shows the average number of Serverless Apps excluding Fargate for Google Cloud Platform Cloud Run instances for the given date and given org. + format: int64 + type: integer + serverless_apps_excl_fargate_infra_gcp_gke_autopilot_pods_avg: + description: Shows the average number of Serverless Apps excluding Fargate for Google Kubernetes Engine Autopilot pods for the given date and given org. + format: int64 + type: integer + serverless_apps_google_cloud_functions_instances_avg: + description: Shows the average number of Serverless Apps for Google Cloud Platform Cloud Functions instances for the given date and given org. + format: int64 + type: integer + serverless_apps_google_cloud_run_instances_avg: + description: Shows the average number of Serverless Apps for Google Cloud Platform Cloud Run instances for the given date and given org. + format: int64 + type: integer + serverless_apps_google_count_avg: + description: Shows the average number of Serverless Apps for Google Cloud for the given date and given org. + format: int64 + type: integer + serverless_apps_infra_gcp_gke_autopilot_pods_avg: + description: Shows the average number of Serverless Apps for Google Kubernetes Engine Autopilot pods for the given date and given org. + format: int64 + type: integer + serverless_apps_total_count_avg: + description: Shows the average number of Serverless Apps for Azure and Google Cloud for the given date and given org. + format: int64 + type: integer + siem_12mo_retention_sum: + description: Shows the sum of Cloud SIEM Indexed Logs (12-month retention) over all hours in the current date for the given org. + format: int64 + type: integer + siem_6mo_retention_sum: + description: Shows the sum of Cloud SIEM Indexed Logs (6-month retention) over all hours in the current date for the given org. + format: int64 + type: integer + siem_analyzed_logs_add_on_count_sum: + description: Shows the sum of all log events analyzed by Cloud SIEM over all hours in the current date for the given org. + format: int64 + type: integer + snmp_device_count_sum: + description: Shows the sum of all Network Device Monitoring devices over all hours in the current date for the given org. + format: int64 + type: integer + snmp_device_count_top99p: + description: Shows the 99th percentile of all Network Device Monitoring devices over all hours in the current date for the given org. + format: int64 + type: integer + synthetics_browser_check_calls_count_sum: + description: Shows the sum of all Synthetic browser tests over all hours in the current date for the given org. + format: int64 + type: integer + synthetics_check_calls_count_sum: + description: Shows the sum of all Synthetic API tests over all hours in the current date for the given org. + format: int64 + type: integer + synthetics_mobile_test_runs_sum: + description: Shows the sum of all Synthetic mobile application tests over all hours in the current date for the given org. + format: int64 + type: integer + synthetics_parallel_testing_max_slots_hwm: + description: Shows the high-water mark of used synthetics parallel testing slots over all hours in the current date for the given org. + format: int64 + type: integer + trace_search_indexed_events_count_sum: + description: Shows the sum of all Indexed Spans indexed over all hours in the current date for the given org. + format: int64 + type: integer + twol_ingested_events_bytes_sum: + description: Shows the sum of all ingested APM span bytes over all hours in the current date for the given org. + format: int64 + type: integer + universal_service_monitoring_host_top99p: + description: Shows the 99th percentile of all Universal Service Monitoring hosts over all hours in the current date for the given org. + format: int64 + type: integer + vsphere_host_top99p: + description: Shows the 99th percentile of all vSphere hosts over all hours in the current date for the given org. + format: int64 + type: integer + vuln_management_host_count_top99p: + description: Shows the 99th percentile of all Application Vulnerability Management hosts over all hours in the current date for the given org. + format: int64 + type: integer + workflow_executions_usage_sum: + description: Sum of all workflows executed over all hours in the current date for the given org. + format: int64 + type: integer + type: object + x-keep-typed-in-additional-properties: true + UsageTopAvgMetricsPagination: + description: The metadata for the current pagination. properties: - user: - $ref: '#/components/schemas/RelationshipToUser' - required: - - user + limit: + description: Maximum amount of records to be returned. + format: int64 + type: integer + next_record_id: + description: The cursor to get the next results (if any). To make the next request, use the same parameters and add `next_record_id`. + nullable: true + type: string + total_number_of_records: + description: Total number of records. + format: int64 + nullable: true + type: integer type: object - UserInvitationsType: - default: user_invitations - description: User invitations type. + UsageMetricCategory: + description: Contains the metric category. enum: - - user_invitations - example: user_invitations + - standard + - custom type: string x-enum-varnames: - - USER_INVITATIONS - UserInvitationDataAttributes: - description: Attributes of a user invitation. - properties: - created_at: - description: Creation time of the user invitation. - format: date-time - type: string - expires_at: - description: Time of invitation expiration. - format: date-time - type: string - invite_type: - description: Type of invitation. - type: string - uuid: - description: UUID of the user invitation. - type: string - type: object - UserCreateAttributes: - description: Attributes of the created user. - properties: - email: - description: The email of the user. - example: jane.doe@example.com - type: string - name: - description: The name of the user. + - STANDARD + - CUSTOM + AnonymizeUserError: + description: Error encountered when anonymizing a specific user. + properties: + error: + description: Error message describing why anonymization failed. + example: '' type: string - title: - description: The title of the user. + user_id: + description: UUID of the user that failed to be anonymized. + example: 00000000-0000-0000-0000-000000000000 type: string required: - - email - type: object - UserUpdateAttributes: - description: Attributes of the edited user. - properties: - disabled: - description: If the user is enabled or disabled. - type: boolean - email: - description: The email of the user. - type: string - name: - description: The name of the user. - type: string + - user_id + - error type: object NullableRelationshipToUser: description: Relationship to user. @@ -8362,15 +32735,11 @@ components: description: Key/Value pair of attributes used in SAML assertion attributes. properties: attribute_key: - description: >- - Key portion of a key/value pair of the attribute sent from the - Identity Provider. + description: Key portion of a key/value pair of the attribute sent from the Identity Provider. example: member-of type: string attribute_value: - description: >- - Value portion of a key/value pair of the attribute sent from the - Identity Provider. + description: Value portion of a key/value pair of the attribute sent from the Identity Provider. example: Development type: string type: object @@ -8387,9 +32756,7 @@ components: description: Team attributes. properties: avatar: - description: >- - Unicode representation of the avatar for the team, limited to a - single grapheme + description: Unicode representation of the avatar for the team, limited to a single grapheme example: 🥑 nullable: true type: string @@ -8426,28 +32793,429 @@ components: readOnly: true type: integer type: object - AuthNMappingRelationshipToRole: - description: Relationship of AuthN Mapping to a Role. + AuthNMappingRelationshipToRole: + description: Relationship of AuthN Mapping to a Role. + properties: + role: + $ref: '#/components/schemas/RelationshipToRole' + required: + - role + type: object + AuthNMappingRelationshipToTeam: + description: Relationship of AuthN Mapping to a Team. + properties: + team: + $ref: '#/components/schemas/RelationshipToTeam' + required: + - team + type: object + RelationshipToOrganization: + description: Relationship to an organization. + properties: + data: + $ref: '#/components/schemas/RelationshipToOrganizationData' + required: + - data + type: object + RelationshipToOrganizations: + description: Relationship to organizations. + properties: + data: + description: Relationships to organization objects. + example: [] + items: + $ref: '#/components/schemas/RelationshipToOrganizationData' + type: array + required: + - data + type: object + RelationshipToUsers: + description: Relationship to users. + properties: + data: + description: Relationships to user objects. + example: [] + items: + $ref: '#/components/schemas/RelationshipToUserData' + type: array + required: + - data + type: object + RelationshipToRoles: + description: Relationship to roles. + properties: + data: + description: An array containing type and the unique identifier of a role. + items: + $ref: '#/components/schemas/RelationshipToRoleData' + type: array + type: object + OrganizationAttributes: + description: Attributes of the organization. + properties: + created_at: + description: Creation time of the organization. + format: date-time + type: string + description: + description: Description of the organization. + type: string + disabled: + description: Whether or not the organization is disabled. + type: boolean + modified_at: + description: Time of last organization modification. + format: date-time + type: string + name: + description: Name of the organization. + type: string + public_id: + description: Public ID of the organization. + type: string + sharing: + description: Sharing type of the organization. + type: string + url: + description: URL of the site that this organization exists at. + type: string + type: object + OrganizationsType: + default: orgs + description: Organizations resource type. + enum: + - orgs + example: orgs + type: string + x-enum-varnames: + - ORGS + GlobalOrg: + description: Organization information for a global organization association. + properties: + name: + description: The name of the organization. + example: Example Org + type: string + public_id: + description: The public identifier of the organization. + example: abcdef12345 + nullable: true + type: string + subdomain: + description: The subdomain used to access the organization, if configured. + example: example + nullable: true + type: string + uuid: + description: The UUID of the organization. + example: 13d10a96-6ff2-49be-be7b-4f56ebb13335 + format: uuid + type: string + required: + - uuid + - name + type: object + GlobalOrgUser: + description: User information for a global organization association. + properties: + handle: + description: The handle of the user. + example: user@example.com + type: string + uuid: + description: The UUID of the user. + example: cfab5cf9-5472-48ea-a79c-a64045f4f745 + format: uuid + type: string + required: + - uuid + - handle + type: object + GlobalOrgsMetaPageType: + description: Type of global orgs pagination. + enum: + - cursor + example: cursor + type: string + x-enum-varnames: + - CURSOR + GovernanceControlParametersMap: + additionalProperties: {} + description: A free-form map of parameter names to their configured values. + type: object + GovernanceControlMitigationDefinitionArray: + description: The mitigations available for a control. + items: + $ref: '#/components/schemas/GovernanceControlMitigationDefinition' + type: array + GovernanceControlParameterDefinitionArray: + description: An array of parameter definitions. + items: + $ref: '#/components/schemas/GovernanceControlParameterDefinition' + type: array + ControlNotificationEventSettingsArray: + description: The notification settings for each supported event type on the control. + items: + $ref: '#/components/schemas/ControlNotificationEventSetting' + type: array + GovernanceControlDetectionAssignmentSource: + description: How the detection's current assignment was determined. Possible values are `auto_resolved`, `manual`, `reassigned`, and `cleared`. + enum: + - auto_resolved + - manual + - reassigned + - cleared + example: manual + type: string + x-enum-varnames: + - AUTO_RESOLVED + - MANUAL + - REASSIGNED + - CLEARED + GovernanceControlDetectionState: + description: The current state of the detection. Possible values are `active`, `exception`, `mitigated`, `inactive`, `obsolete`, `resolved_externally`, and `mitigation_in_progress`. + enum: + - active + - exception + - mitigated + - inactive + - obsolete + - resolved_externally + - mitigation_in_progress + example: active + type: string + x-enum-varnames: + - ACTIVE + - EXCEPTION + - MITIGATED + - INACTIVE + - OBSOLETE + - RESOLVED_EXTERNALLY + - MITIGATION_IN_PROGRESS + GovernanceControlDetectionUpdateState: + description: The new state to set for the detection. Set to `exception` to acknowledge the detection and exclude it from active counts, or `active` to reopen it. + enum: + - exception + - active + example: exception + type: string + x-enum-varnames: + - EXCEPTION + - ACTIVE + GovernanceInsightAttributes: + description: |- + The attributes of a governance insight. Exactly one of `metric_query`, `event_query`, + `usage_query`, `audit_query`, or `percentage_query` is populated, depending on the data + source the insight is computed from; the rest are `null`. + properties: + audit_query: + $ref: '#/components/schemas/GovernanceInsightAuditQuery' + nullable: true + description: + description: A human-readable description of what the insight measures. + example: Number of users who have used the Dashboard in the last 30 days + type: string + display_name: + description: Human-readable name of the insight. + example: Active Dashboards + type: string + event_query: + $ref: '#/components/schemas/GovernanceInsightEventQuery' + nullable: true + metric_query: + $ref: '#/components/schemas/GovernanceInsightMetricQuery' + nullable: true + percentage_query: + $ref: '#/components/schemas/GovernanceInsightPercentageQuery' + nullable: true + product: + description: The product the insight belongs to. + example: Usage + type: string + query_config: + $ref: '#/components/schemas/GovernanceInsightQueryConfig' + nullable: true + sub_product: + description: The sub-product the insight belongs to, if any. + example: Indexes + type: string + time_range: + description: The time range the insight value is computed over, if applicable. + example: month + type: string + unit_name: + description: The unit that the insight's value is measured in. + example: active dashboards + type: string + usage_query: + $ref: '#/components/schemas/GovernanceInsightUsageQuery' + nullable: true + required: + - display_name + - product + - sub_product + - unit_name + - description + - time_range + type: object + GovernanceInsightResourceType: + description: JSON:API resource type for a governance insight. + enum: + - insight + example: insight + type: string + x-enum-varnames: + - INSIGHT + TagRuleCreateType: + description: |- + The rule type allowed when creating a tag rule. Only `surfacing` is accepted at + creation time. + enum: + - surfacing + example: surfacing + type: string + x-enum-varnames: + - SURFACING + TagRuleType: + description: |- + How the rule is enforced. `blocking` rejects telemetry that violates the rule. + `surfacing` only highlights non-compliant telemetry without blocking it. + enum: + - blocking + - surfacing + example: surfacing + type: string + x-enum-varnames: + - BLOCKING + - SURFACING + TagRuleScoreRelationship: + description: A relationship to the compliance score resource for this rule. + properties: + data: + $ref: '#/components/schemas/TagRuleScoreRelationshipData' + required: + - data + type: object + HamrOrgConnectionStatus: + description: |- + Status of the HAMR connection: + - 0: UNSPECIFIED - Connection status not specified + - 1: ONBOARDING - Initial setup of HAMR connection + - 2: PASSIVE - Secondary organization in passive standby mode + - 3: FAILOVER - Liminal status between PASSIVE and ACTIVE + - 4: ACTIVE - Organization is an active failover + - 5: RECOVERY - Recovery operation in progress + enum: + - 0 + - 1 + - 2 + - 3 + - 4 + - 5 + example: 4 + format: int64 + type: integer + x-enum-varnames: + - UNSPECIFIED + - ONBOARDING + - PASSIVE + - FAILOVER + - ACTIVE + - RECOVERY + IPAllowlistEntry: + description: IP allowlist entry object. + properties: + data: + $ref: '#/components/schemas/IPAllowlistEntryData' + required: + - data + type: object + OAuthScopesRestriction: + description: Allowlist of OIDC and permission scopes enforced for the OAuth2 client. + nullable: true properties: - role: - $ref: '#/components/schemas/RelationshipToRole' + oidc_scopes: + description: OIDC scopes the client is restricted to. + example: + - openid + - email + items: + $ref: '#/components/schemas/OAuthOidcScope' + type: array + permission_scopes: + description: Datadog permission scopes the client is restricted to. + example: + - dashboards_read + - metrics_read + items: + description: Datadog permission scope name. + example: dashboards_read + type: string + type: array required: - - role + - oidc_scopes + - permission_scopes type: object - AuthNMappingRelationshipToTeam: - description: Relationship of AuthN Mapping to a Team. + OAuthOidcScope: + description: OIDC scope a client may be restricted to. + enum: + - openid + - profile + - email + - offline_access + example: openid + type: string + x-enum-varnames: + - OPENID + - PROFILE + - EMAIL + - OFFLINE_ACCESS + ManagedOrgsRelationshipToOrg: + description: Relationship to the current organization. properties: - team: - $ref: '#/components/schemas/RelationshipToTeam' + data: + $ref: '#/components/schemas/OrgRelationshipData' required: - - team + - data type: object - IPAllowlistEntry: - description: IP allowlist entry object. + ManagedOrgsRelationshipToOrgs: + description: Relationship to the managed organizations. properties: data: - $ref: '#/components/schemas/IPAllowlistEntryData' + description: List of managed organization references. + items: + $ref: '#/components/schemas/OrgRelationshipData' + type: array + required: + - data + type: object + CustomerOrgDisableStatus: + description: Resulting lifecycle status of the organization after the disable action. + enum: + - disabled + - pending_disable + example: disabled + type: string + x-enum-varnames: + - DISABLED + - PENDING_DISABLE + OrgAuthorizedClientRelationshipOAuth2Client: + description: Relationship to the OAuth2 client for this org authorized client. + properties: + data: + $ref: '#/components/schemas/OrgAuthorizedClientRelationshipOAuth2ClientData' + required: + - data + type: object + OrgAuthorizedClientRelationshipUserAuthorizedClients: + description: Relationship to the user authorized clients for this org authorized client. + properties: + data: + $ref: '#/components/schemas/OrgAuthorizedClientRelationshipUserAuthorizedClientsDataList' + links: + $ref: '#/components/schemas/OrgAuthorizedClientRelationshipUserAuthorizedClientsLinks' required: + - links - data type: object OrgConnectionTypeEnum: @@ -8455,11 +33223,13 @@ components: enum: - logs - metrics + - audit example: logs type: string x-enum-varnames: - LOGS - METRICS + - AUDIT OrgConnectionUserRelationship: description: User relationship. properties: @@ -8472,31 +33242,96 @@ components: data: $ref: '#/components/schemas/OrgConnectionOrgRelationshipData' type: object + OrgGroupRelationshipToOne: + description: Relationship to a single org group. + properties: + data: + $ref: '#/components/schemas/OrgGroupRelationshipToOneData' + required: + - data + type: object + GlobalOrgIdentifier: + description: A unique identifier for an organization including its site. + properties: + org_site: + description: The site of the organization. + example: us1 + type: string + org_uuid: + description: The UUID of the organization. + example: c3d4e5f6-a7b8-9012-cdef-012345678901 + format: uuid + type: string + required: + - org_uuid + - org_site + type: object + OrgGroupPolicyEnforcementTier: + default: OVERRIDE_ALLOWED + description: The enforcement tier of the policy. `OVERRIDE_ALLOWED` means the policy is set but member orgs may mutate it. `GROUP_MANAGED` means the policy is strictly controlled and mutations are blocked for affected orgs. `DELEGATE` means each member org controls its own value. + enum: + - OVERRIDE_ALLOWED + - GROUP_MANAGED + - DELEGATE + example: OVERRIDE_ALLOWED + type: string + x-enum-varnames: + - OVERRIDE_ALLOWED + - GROUP_MANAGED + - DELEGATE + OrgGroupPolicyPolicyType: + default: org_config + description: The type of the policy. Only `org_config` is supported, indicating a policy backed by an organization configuration setting. + enum: + - org_config + example: org_config + type: string + x-enum-varnames: + - ORG_CONFIG + OrgGroupPolicyRelationshipToOne: + description: Relationship to a single org group policy. + properties: + data: + $ref: '#/components/schemas/OrgGroupPolicyRelationshipToOneData' + required: + - data + type: object + OrgGroupPolicySuggestionStatus: + description: The status of the policy suggestion. + enum: + - pending + - accepted + - dismissed + example: pending + type: string + x-enum-varnames: + - PENDING + - ACCEPTED + - DISMISSED + RelationshipToAccessTokenOwner: + description: Relationship to the access token's owner. + properties: + data: + $ref: '#/components/schemas/RelationshipToAccessTokenOwnerData' + required: + - data + type: object RestrictionPolicyBinding: description: Specifies which principals are associated with a relation. properties: principals: - description: >- - An array of principals. A principal is a subject or group of - subjects. - - Each principal is formatted as `type:id`. Supported types: `role`, - `team`, `user`, and `org`. - + description: |- + An array of principals. A principal is a subject or group of subjects. + Each principal is formatted as `type:id`. Supported types: `role`, `team`, `user`, and `org`. The org ID can be obtained through the api/v2/current_user API. - The user principal type accepts service account IDs. example: - role:00000000-0000-1111-0000-000000000000 items: - description: >- - Subject or group of subjects. Each principal is formatted as - `type:id`. - + description: |- + Subject or group of subjects. Each principal is formatted as `type:id`. Supported types: `role`, `team`, `user`, and `org`. - The org ID can be obtained through the api/v2/current_user API. - The user principal type accepts service account IDs. type: string type: array @@ -8517,86 +33352,14 @@ components: $ref: '#/components/schemas/RelationshipToPermissionData' type: array type: object - RelationshipToOrganization: - description: Relationship to an organization. - properties: - data: - $ref: '#/components/schemas/RelationshipToOrganizationData' - required: - - data - type: object - RelationshipToOrganizations: - description: Relationship to organizations. - properties: - data: - description: Relationships to organization objects. - example: [] - items: - $ref: '#/components/schemas/RelationshipToOrganizationData' - type: array - required: - - data - type: object - RelationshipToUsers: - description: Relationship to users. + RelationshipToServiceAccount: + description: Relationship to service account. properties: data: - description: Relationships to user objects. - example: [] - items: - $ref: '#/components/schemas/RelationshipToUserData' - type: array + $ref: '#/components/schemas/RelationshipToServiceAccountData' required: - data type: object - RelationshipToRoles: - description: Relationship to roles. - properties: - data: - description: An array containing type and the unique identifier of a role. - items: - $ref: '#/components/schemas/RelationshipToRoleData' - type: array - type: object - OrganizationAttributes: - description: Attributes of the organization. - properties: - created_at: - description: Creation time of the organization. - format: date-time - type: string - description: - description: Description of the organization. - type: string - disabled: - description: Whether or not the organization is disabled. - type: boolean - modified_at: - description: Time of last organization modification. - format: date-time - type: string - name: - description: Name of the organization. - type: string - public_id: - description: Public ID of the organization. - type: string - sharing: - description: Sharing type of the organization. - type: string - url: - description: URL of the site that this organization exists at. - type: string - type: object - OrganizationsType: - default: orgs - description: Organizations resource type. - enum: - - orgs - example: orgs - type: string - x-enum-varnames: - - ORGS RelationshipToTeamLinks: description: Relationship between a team and a team link properties: @@ -8620,11 +33383,9 @@ components: description: User team permission attributes properties: permissions: - description: >- - Object of team permission actions and boolean values that a logged - in user can perform on this team. + description: Object of team permission actions and boolean values that a logged in user can perform on this team. (opaque JSON object) readOnly: true - type: object + type: string type: object UserTeamPermissionType: default: user_team_permissions @@ -8635,26 +33396,69 @@ components: type: string x-enum-varnames: - USER_TEAM_PERMISSIONS - TeamSyncAttributesSource: - description: >- - The external source platform for team synchronization. Only "github" is - supported. + TeamHierarchyLinkTeamRelationship: + description: Team hierarchy link team relationship + properties: + data: + $ref: '#/components/schemas/TeamHierarchyLinkTeam' + required: + - data + type: object + TeamHierarchyLinkCreateTeamRelationship: + description: Data about each team that will be connected by the team hierarchy link + properties: + data: + $ref: '#/components/schemas/TeamHierarchyLinkCreateTeam' + required: + - data + type: object + ConnectedTeamRef: + description: Reference to a team from an external system. + properties: + data: + $ref: '#/components/schemas/ConnectedTeamRefData' + type: object + TeamRef: + description: Reference to a Datadog team. + properties: + data: + $ref: '#/components/schemas/TeamRefData' + type: object + TeamSyncAttributesFrequency: + description: How often the sync process should be run. Defaults to `once` when not provided. enum: - - github - example: github + - once + - continuously + - paused + example: once type: string x-enum-varnames: - - GITHUB + - ONCE + - CONTINUOUSLY + - PAUSED + TeamSyncAttributesSelectionState: + description: |- + Specifies which teams or organizations to sync. When + provided, synchronization is limited to the specified + items and their subtrees. + items: + $ref: '#/components/schemas/TeamSyncSelectionStateItem' + type: array + TeamSyncAttributesSyncMembership: + default: false + description: Whether to sync members from the external team to the Datadog team. Defaults to `false` when not provided. + example: true + type: boolean TeamSyncAttributesType: - description: >- - The type of synchronization operation. Only "link" is supported, which - links existing teams by matching names. + description: The type of synchronization operation. "link" connects teams by matching names. "provision" creates new teams when no match is found. enum: - link + - provision example: link type: string x-enum-varnames: - LINK + - PROVISION UserTeamRole: description: The user's role within the team enum: @@ -8679,6 +33483,37 @@ components: required: - data type: object + TeamNotificationRuleAttributesEmail: + description: Email notification settings for the team + properties: + enabled: + description: Flag indicating email notification + type: boolean + type: object + TeamNotificationRuleAttributesMsTeams: + description: MS Teams notification settings for the team + properties: + connector_name: + description: Handle for MS Teams + type: string + type: object + TeamNotificationRuleAttributesPagerduty: + description: PagerDuty notification settings for the team + properties: + service_name: + description: Service name for PagerDuty + type: string + type: object + TeamNotificationRuleAttributesSlack: + description: Slack notification settings for the team + properties: + channel: + description: Channel for Slack notification + type: string + workspace: + description: Workspace for Slack notification + type: string + type: object TeamPermissionSettingSerializerAction: description: The identifier for the action enum: @@ -8718,9 +33553,7 @@ components: format: date-time type: string value: - description: >- - Contains the number measured for the given usage_type during the - hour. + description: Contains the number measured for the given usage_type during the hour. format: int64 nullable: true type: integer @@ -8741,21 +33574,16 @@ components: description: Mapping of billing dimensions to endpoint keys. properties: endpoints: - description: >- - List of supported endpoints with their keys mapped to the - billing_dimension. + description: List of supported endpoints with their keys mapped to the billing_dimension. items: - $ref: >- - #/components/schemas/BillingDimensionsMappingBodyItemAttributesEndpointsItems + $ref: '#/components/schemas/BillingDimensionsMappingBodyItemAttributesEndpointsItems' type: array in_app_label: description: Label used for the billing dimension in the Plan & Usage charts. example: APM Hosts type: string timestamp: - description: >- - Month in ISO-8601 format, UTC, and precise to the second: - `[YYYY-MM-DDThh:mm:ss]`. + description: 'Month in ISO-8601 format, UTC, and precise to the second: `[YYYY-MM-DDThh:mm:ss]`.' format: date-time type: string type: object @@ -8775,9 +33603,7 @@ components: example: on_demand type: string cost: - description: >- - The cost for a particular product and charge type during a given - month. + description: The cost for a particular product and charge type during a given month. format: double type: number product_name: @@ -8792,12 +33618,143 @@ components: description: Type of usage. type: string value: - description: >- - Contains the number measured for the given usage_type during the - hour. + description: Contains the number measured for the given usage_type during the hour. + format: int64 + nullable: true + type: integer + type: object + UserAuthorizedClientRelationshipOAuth2Client: + description: Relationship to the OAuth2 client that was authorized. + properties: + data: + $ref: '#/components/schemas/UserAuthorizedClientRelationshipOAuth2ClientData' + required: + - data + type: object + UserAuthorizedClientRelationshipScopes: + description: Relationship to the scopes granted to the OAuth2 client. + properties: + data: + $ref: '#/components/schemas/UserAuthorizedClientRelationshipScopeDataList' + required: + - data + type: object + UserAuthorizedClientRelationshipUser: + description: Relationship to the user who granted this authorization. + properties: + data: + $ref: '#/components/schemas/UserAuthorizedClientRelationshipUserData' + required: + - data + type: object + UserOverrideIdentityProviderAttributes: + description: Attributes of an identity provider override for a user. + properties: + authentication_method: + description: The authentication method used by this identity provider. + example: SAML + type: string + required: + - authentication_method + type: object + UserOverrideIdentityProviderDataType: + description: The resource type for identity providers. + enum: + - identity_providers + example: identity_providers + type: string + x-enum-varnames: + - IDENTITY_PROVIDERS + UserRelationshipIdentityProviderDataType: + description: The resource type for identity providers. + enum: + - identity_providers + example: identity_providers + type: string + x-enum-varnames: + - IDENTITY_PROVIDERS + UsageBillableSummaryBody: + description: Response with properties for each aggregated usage type. + properties: + account_billable_usage: + description: The total account usage. + format: int64 + type: integer + account_committed_usage: + description: The total account committed usage. + format: int64 + type: integer + account_on_demand_usage: + description: The total account on-demand usage. + format: int64 + type: integer + elapsed_usage_hours: + description: Elapsed usage hours for some billable product. + format: int64 + type: integer + first_billable_usage_hour: + description: The first billable hour for the org. + format: date-time + type: string + last_billable_usage_hour: + description: The last billable hour for the org. + format: date-time + type: string + org_billable_usage: + description: The number of units used within the billable timeframe. + format: int64 + type: integer + percentage_in_account: + description: The percentage of account usage the org represents. + format: double + type: number + usage_unit: + description: Units pertaining to the usage. + type: string + type: object + UsageAttributionAggregatesBody: + description: The object containing the aggregates. + properties: + agg_type: + description: The aggregate type. + example: sum + type: string + field: + description: The field. + example: custom_timeseries_usage + type: string + value: + description: The value for a given field. + format: double + type: number + type: object + LogsByRetentionOrgUsage: + description: Indexed logs usage by retention for a single organization. + properties: + usage: + description: Indexed logs usage for each active retention for the organization. + items: + $ref: '#/components/schemas/LogsRetentionSumUsage' + type: array + type: object + LogsRetentionSumUsage: + description: Object containing indexed logs usage grouped by retention period and summed. + properties: + logs_indexed_logs_usage_sum: + description: Total indexed logs for this retention period. + format: int64 + type: integer + logs_live_indexed_logs_usage_sum: + description: Live indexed logs for this retention period. + format: int64 + type: integer + logs_rehydrated_indexed_logs_usage_sum: + description: Rehydrated indexed logs for this retention period. format: int64 - nullable: true type: integer + retention: + description: The retention period in days or "custom" for all custom retention periods. + type: string type: object NullableRelationshipToUserData: description: Relationship to user object. @@ -8846,6 +33803,252 @@ components: type: $ref: '#/components/schemas/TeamType' type: object + RelationshipToOrganizationData: + description: Relationship to organization object. + properties: + id: + description: ID of the organization. + example: 00000000-0000-beef-0000-000000000000 + type: string + type: + $ref: '#/components/schemas/OrganizationsType' + required: + - id + - type + type: object + GovernanceControlMitigationDefinition: + description: The definition of a mitigation available for a control. + properties: + description: + description: A human-readable description of the mitigation. + example: Automatically identifies and revokes inactive API keys to improve security and reduce potential attack surface. + type: string + execution_modes: + description: The execution modes the mitigation supports, such as `manual` or `automatic`. + example: + - manual + - automatic + items: + description: An execution mode the mitigation supports. + type: string + type: array + id: + description: The unique identifier of the mitigation. + example: revoke_api_key + type: string + permissions: + description: The permissions required to apply the mitigation. + example: + - api_keys_write + - api_keys_delete + items: + description: A permission required to apply the mitigation. + type: string + type: array + supported_parameters: + $ref: '#/components/schemas/GovernanceControlParameterDefinitionArray' + title: + description: A short, human-readable name for the mitigation. + example: Revoke Unused API Keys + type: string + required: + - id + - title + - description + - supported_parameters + - permissions + - execution_modes + type: object + GovernanceControlParameterDefinition: + description: The definition of a configurable parameter on a control or mitigation. + properties: + default_value: + description: The default value of the parameter. The JSON type depends on the parameter's `type`. + example: 30 + description: + description: A human-readable description of the parameter. + example: Number of days of inactivity before an API key is considered unused. + type: string + display_name: + description: The human-readable name of the parameter. + example: Unused API Key Threshold + type: string + name: + description: The machine-readable name of the parameter. + example: api_key_threshold + type: string + required: + description: Whether the parameter must be provided. + example: false + type: boolean + supported_values: + $ref: '#/components/schemas/GovernanceControlSupportedValueArray' + type: + description: The type of the parameter, such as `integer`, `string`, `boolean`, `enum`, or `pattern_list`. + example: integer + type: string + required: + - name + - display_name + - description + - type + - required + - supported_values + - default_value + type: object + ControlNotificationEventSetting: + description: The notification settings for a single event type on a control. + properties: + enabled: + description: Whether notifications are enabled for this event type. + example: true + type: boolean + event_type: + description: The event type the notification settings apply to, such as `new_detection`. + example: new_detection + type: string + targets: + $ref: '#/components/schemas/ControlNotificationTargetArray' + required: + - event_type + - enabled + - targets + type: object + GovernanceInsightAuditQuery: + description: An audit log query used to compute an insight value. + properties: + compute: + $ref: '#/components/schemas/GovernanceInsightAuditCompute' + indexes: + description: The audit log indexes the query runs against. + example: + - main + items: + description: An audit log index name. + type: string + type: array + query: + description: The audit log search query string. + example: '@evt.name:Dashboard' + type: string + source: + description: The data source the query runs against. + example: audit + type: string + required: + - source + - query + - indexes + - compute + type: object + GovernanceInsightEventQuery: + description: An event query used to compute an insight value. + properties: + compute: + $ref: '#/components/schemas/GovernanceInsightEventCompute' + nullable: true + indexes: + description: The event indexes the query runs against. + example: + - main + items: + description: An event index name. + type: string + type: array + query: + description: The event search query string. + example: source:cloudtrail + type: string + required: + - query + - indexes + type: object + GovernanceInsightMetricQuery: + description: A metric query used to compute an insight value. + properties: + query: + description: The query string. + example: avg:system.cpu.user{*} + type: string + reducer: + description: How the query result series is reduced to a single value. + example: avg + type: string + source: + description: The data source the query runs against. + example: metrics + type: string + required: + - source + - query + - reducer + type: object + GovernanceInsightPercentageQuery: + description: A percentage query that computes an insight value as a ratio of two metric queries. + properties: + denominator_query: + $ref: '#/components/schemas/GovernanceInsightMetricQuery' + numerator_query: + $ref: '#/components/schemas/GovernanceInsightMetricQuery' + required: + - numerator_query + - denominator_query + type: object + GovernanceInsightQueryConfig: + description: Query execution context for running insight queries directly. + properties: + chart_type: + description: The chart type used to render the insight. + example: line + type: string + comparison_shift: + description: The window used for the previous value comparison; for example, `week` or `month`. + example: month + type: string + default_value: + description: The default value to display when no data is available. + example: 0 + format: int64 + type: integer + directionality: + $ref: '#/components/schemas/GovernanceInsightDirectionality' + effective_time_window_days: + description: The number of days the insight value is computed over. + example: 30 + format: int64 + type: integer + required: + - effective_time_window_days + - comparison_shift + type: object + GovernanceInsightUsageQuery: + description: A usage query used to compute an insight value. + properties: + query: + description: The usage query string. + example: logs_indexed_events + type: string + reducer: + description: How the query result series is reduced to a single value. + example: sum + type: string + required: + - query + - reducer + type: object + TagRuleScoreRelationshipData: + description: Identifier of the related compliance score resource. + properties: + id: + description: The unique identifier of the related compliance score resource. + example: 123-v1-1779315066097-1779401466097 + type: string + type: + $ref: '#/components/schemas/TagRuleScoreResourceType' + required: + - type + - id + type: object IPAllowlistEntryData: description: Data of the IP allowlist entry object. properties: @@ -8859,6 +34062,48 @@ components: required: - type type: object + OrgRelationshipData: + description: Reference to an organization resource. + properties: + id: + description: The UUID of the organization. + example: 4dee724d-00cc-11ea-a77b-570c9d03c6c5 + format: uuid + type: string + type: + $ref: '#/components/schemas/OrgResourceType' + required: + - id + - type + type: object + OrgAuthorizedClientRelationshipOAuth2ClientData: + description: Data identifying the OAuth2 client associated with this org authorized client. + properties: + id: + description: The ID of the OAuth2 client. + example: 00000000-0000-0000-0000-000000000010 + type: string + type: + $ref: '#/components/schemas/OrgAuthorizedClientRelationshipOAuth2ClientDataType' + required: + - type + - id + type: object + OrgAuthorizedClientRelationshipUserAuthorizedClientsDataList: + description: List of user authorized client relationship data objects. + items: + $ref: '#/components/schemas/OrgAuthorizedClientRelationshipUserAuthorizedClientsData' + type: array + OrgAuthorizedClientRelationshipUserAuthorizedClientsLinks: + description: Links for the user authorized clients relationship. + properties: + related: + description: Link to the user authorized clients for this org authorized client. + example: /api/v2/org_authorized_clients/00000000-0000-0000-0000-000000000001/user_authorized_clients + type: string + required: + - related + type: object OrgConnectionUserRelationshipData: description: The data for a user relationship. properties: @@ -8887,15 +34132,56 @@ components: type: $ref: '#/components/schemas/OrgConnectionOrgRelationshipDataType' type: object - RelationshipToOrganizationData: - description: Relationship to organization object. + OrgGroupRelationshipToOneData: + description: A reference to an org group. properties: id: - description: ID of the organization. - example: 00000000-0000-beef-0000-000000000000 + description: The ID of the org group. + example: a1b2c3d4-e5f6-7890-abcd-ef0123456789 + format: uuid type: string type: - $ref: '#/components/schemas/OrganizationsType' + $ref: '#/components/schemas/OrgGroupType' + required: + - id + - type + type: object + OrgGroupPolicyRelationshipToOneData: + description: A reference to an org group policy. + properties: + id: + description: The ID of the policy. + example: 1a2b3c4d-5e6f-7890-abcd-ef0123456789 + format: uuid + type: string + type: + $ref: '#/components/schemas/OrgGroupPolicyType' + required: + - id + - type + type: object + RelationshipToAccessTokenOwnerData: + description: Relationship to the access token's owner. + properties: + id: + description: A unique identifier that represents the owner. + example: 00000000-0000-0000-2345-000000000000 + type: string + type: + $ref: '#/components/schemas/AccessTokenOwnerType' + required: + - id + - type + type: object + RelationshipToServiceAccountData: + description: Relationship to service account object. + properties: + id: + description: A unique identifier that represents the service account. + example: 00000000-0000-0000-2345-000000000000 + type: string + type: + $ref: '#/components/schemas/ServiceAccountType' required: - id - type @@ -8923,6 +34209,7 @@ components: type: object RelationshipToUserTeamPermissionData: description: Related user team permission data + nullable: true properties: id: description: The ID of the user team permission @@ -8934,6 +34221,57 @@ components: - id - type type: object + TeamHierarchyLinkCreateTeam: + description: This schema defines the attributes about each team that has to be provided when creating a team hierarchy link + properties: + id: + description: The team's identifier + example: 692e8073-12c4-4c71-8408-5090bd44c9c8 + type: string + type: + $ref: '#/components/schemas/TeamType' + required: + - id + - type + type: object + ConnectedTeamRefData: + description: Reference to connected external team. + properties: + id: + description: The connected team ID as it is referenced throughout the Datadog ecosystem. + example: '@GitHubOrg/team-handle' + type: string + type: + $ref: '#/components/schemas/ConnectedTeamRefDataType' + required: + - id + - type + type: object + TeamRefData: + description: Reference to a Datadog team. + properties: + id: + description: The Datadog team ID. + example: 87654321-4321-8765-dcba-210987654321 + type: string + type: + $ref: '#/components/schemas/TeamRefDataType' + required: + - id + - type + type: object + TeamSyncSelectionStateItem: + description: Identifies a team or organization hierarchy to include in synchronization. + properties: + external_id: + $ref: '#/components/schemas/TeamSyncSelectionStateExternalId' + operation: + $ref: '#/components/schemas/TeamSyncSelectionStateOperation' + scope: + $ref: '#/components/schemas/TeamSyncSelectionStateScope' + required: + - external_id + type: object RelationshipToUserTeamTeamData: description: The team associated with the membership properties: @@ -8973,13 +34311,108 @@ components: - apm_host_top99p - apm_host_sum items: + description: A billing dimension key. example: apm_host_top99p type: string type: array status: - $ref: >- - #/components/schemas/BillingDimensionsMappingBodyItemAttributesEndpointsItemsStatus + $ref: '#/components/schemas/BillingDimensionsMappingBodyItemAttributesEndpointsItemsStatus' + type: object + UserAuthorizedClientRelationshipOAuth2ClientData: + description: Data identifying the OAuth2 client that was authorized. + properties: + id: + description: The ID of the OAuth2 client. + example: 00000000-0000-0000-0000-000000000010 + type: string + type: + $ref: '#/components/schemas/UserAuthorizedClientRelationshipOAuth2ClientDataType' + required: + - type + - id type: object + UserAuthorizedClientRelationshipScopeDataList: + description: List of scope relationship data objects. + items: + $ref: '#/components/schemas/UserAuthorizedClientRelationshipScopeData' + type: array + UserAuthorizedClientRelationshipUserData: + description: Data identifying the user who granted this authorization. + properties: + id: + description: The ID of the user. + example: 00000000-0000-9999-0000-000000000001 + type: string + type: + $ref: '#/components/schemas/UserAuthorizedClientRelationshipUserDataType' + required: + - type + - id + type: object + GovernanceControlSupportedValueArray: + description: The supported values for an enumerated parameter. `null` when the parameter is not an enumerated type. + items: + $ref: '#/components/schemas/GovernanceControlSupportedValue' + nullable: true + type: array + ControlNotificationTargetArray: + description: The destinations that receive notifications for an event type. + items: + $ref: '#/components/schemas/ControlNotificationTarget' + type: array + GovernanceInsightAuditCompute: + description: The aggregation applied to an audit log query. + properties: + aggregation: + description: The aggregation function to apply. + example: cardinality + type: string + interval: + description: The aggregation time window, in milliseconds. + example: 86400000 + format: int64 + type: integer + metric: + description: The metric or attribute to aggregate. + example: '@usr.id' + type: string + rollup: + description: An optional secondary aggregation applied to the audit query result. + example: '' + type: string + required: + - aggregation + - metric + - interval + type: object + GovernanceInsightEventCompute: + description: The aggregation applied to an event query. + properties: + aggregation: + description: The aggregation function to apply. + example: count + type: string + interval: + description: The aggregation time window, in milliseconds. + example: 86400000 + format: int64 + type: integer + required: + - aggregation + - interval + type: object + GovernanceInsightDirectionality: + description: Whether an increase in the insight's value is good, bad, or neutral. + enum: + - neutral + - increase_better + - decrease_better + example: neutral + type: string + x-enum-varnames: + - NEUTRAL + - INCREASE_BETTER + - DECREASE_BETTER IPAllowlistEntryAttributes: description: Attributes of the IP allowlist entry. properties: @@ -9009,6 +34442,27 @@ components: type: string x-enum-varnames: - IP_ALLOWLIST_ENTRY + OrgAuthorizedClientRelationshipOAuth2ClientDataType: + description: OAuth2 client resource type. + enum: + - oauth2_clients + example: oauth2_clients + type: string + x-enum-varnames: + - OAUTH2_CLIENTS + OrgAuthorizedClientRelationshipUserAuthorizedClientsData: + description: Data identifying a user authorized client. + properties: + id: + description: The ID of the user authorized client. + example: 00000000-0000-0000-0000-000000000020 + type: string + type: + $ref: '#/components/schemas/OrgAuthorizedClientRelationshipUserAuthorizedClientsDataType' + required: + - type + - id + type: object OrgConnectionUserRelationshipDataType: description: The type of the user relationship. enum: @@ -9025,6 +34479,75 @@ components: type: string x-enum-varnames: - ORGS + AccessTokenOwnerType: + description: Owner resource type. Either a user or a service account. + enum: + - users + - service_account + example: users + type: string + x-enum-varnames: + - USERS + - SERVICE_ACCOUNT + ServiceAccountType: + description: Service account resource type. + enum: + - service_account + example: service_account + type: string + x-enum-varnames: + - SERVICE_ACCOUNT + ConnectedTeamRefDataType: + default: github_team + description: External team resource type. + enum: + - github_team + example: github_team + type: string + x-enum-varnames: + - GITHUB_TEAM + TeamRefDataType: + default: team + description: Datadog team resource type. + enum: + - team + example: team + type: string + x-enum-varnames: + - TEAM + TeamSyncSelectionStateExternalId: + description: The external identifier for a team or organization in the source platform. + properties: + type: + $ref: '#/components/schemas/TeamSyncSelectionStateExternalIdType' + value: + $ref: '#/components/schemas/TeamSyncSelectionStateExternalIdValue' + required: + - type + - value + type: object + TeamSyncSelectionStateOperation: + description: |- + The operation to perform on the selected hierarchy. + When set to `include`, synchronization covers the + referenced teams or organizations. + enum: + - include + example: include + type: string + x-enum-varnames: + - INCLUDE + TeamSyncSelectionStateScope: + description: |- + The scope of the selection. When set to `subtree`, + synchronization includes the referenced team or + organization and everything nested under it. + enum: + - subtree + example: subtree + type: string + x-enum-varnames: + - SUBTREE UserTeamTeamType: default: team description: User team team type @@ -9052,6 +34575,114 @@ components: x-enum-varnames: - OK - NOT_FOUND + UserAuthorizedClientRelationshipOAuth2ClientDataType: + description: OAuth2 client resource type. + enum: + - oauth2_clients + example: oauth2_clients + type: string + x-enum-varnames: + - OAUTH2_CLIENTS + UserAuthorizedClientRelationshipScopeData: + description: Data identifying a scope granted to the OAuth2 client. + properties: + id: + description: The identifier of the scope. + example: example_scope + type: string + type: + $ref: '#/components/schemas/UserAuthorizedClientRelationshipScopeDataType' + required: + - type + - id + type: object + UserAuthorizedClientRelationshipUserDataType: + description: User resource type. + enum: + - users + example: users + type: string + x-enum-varnames: + - USERS + GovernanceControlSupportedValue: + description: A supported value for an enumerated parameter. + properties: + label: + description: The human-readable label for the value. + example: 30 days + type: string + value: + description: The machine-readable value. + example: thirty + type: string + required: + - value + - label + type: object + ControlNotificationTarget: + description: A destination that receives notifications for an event type. + properties: + handle: + description: The destination handle, such as an email address, Slack channel, or user handle. + example: '#governance-alerts' + type: string + type: + $ref: '#/components/schemas/ControlNotificationTargetType' + required: + - type + - handle + type: object + OrgAuthorizedClientRelationshipUserAuthorizedClientsDataType: + description: User authorized client resource type. + enum: + - user_authorized_clients + example: user_authorized_clients + type: string + x-enum-varnames: + - USER_AUTHORIZED_CLIENTS + TeamSyncSelectionStateExternalIdType: + description: |- + The type of external identifier for the selection state item. + For GitHub synchronization, the allowed values are `team` and + `organization`. + enum: + - team + - organization + example: team + type: string + x-enum-varnames: + - TEAM + - ORGANIZATION + TeamSyncSelectionStateExternalIdValue: + description: |- + The external identifier value from the source + platform. For GitHub, this is the string + representation of a GitHub organization ID or team + ID. + example: '1' + type: string + UserAuthorizedClientRelationshipScopeDataType: + description: Scope resource type. + enum: + - scopes + example: scopes + type: string + x-enum-varnames: + - SCOPES + ControlNotificationTargetType: + description: The type of notification destination. + enum: + - email + - slack + - at_mention + - case + example: slack + type: string + x-enum-varnames: + - EMAIL + - SLACK + - AT_MENTION + - CASE responses: TooManyRequestsResponse: content: @@ -9077,18 +34708,18 @@ components: schema: $ref: '#/components/schemas/APIErrorResponse' description: Forbidden - NotFoundResponse: + UnauthorizedResponse: content: application/json: schema: $ref: '#/components/schemas/APIErrorResponse' - description: Not Found - UnauthorizedResponse: + description: Unauthorized + NotFoundResponse: content: application/json: schema: $ref: '#/components/schemas/APIErrorResponse' - description: Unauthorized + description: Not Found ConflictResponse: content: application/json: @@ -9097,7 +34728,7 @@ components: description: Conflict parameters: PageSize: - description: Size for a given page. The maximum allowed value is 100. + description: Number of items to return per page. The maximum allowed value is 100. in: query name: page[size] required: false @@ -9166,10 +34797,7 @@ components: example: '2020-11-24T18:46:21+00:00' type: string APIKeyIncludeParameter: - description: >- - Comma separated list of resource paths for related resources to include - in the response. Supported resource paths are `created_by` and - `modified_by`. + description: Comma separated list of resource paths for related resources to include in the response. Supported resource paths are `created_by` and `modified_by`. in: query name: include required: false @@ -9230,10 +34858,15 @@ components: schema: example: '2020-11-24T18:46:21+00:00' type: string + ApplicationKeyFilterOwnedByParameter: + description: Filter application keys by owner ID. + in: query + name: filter[owned_by] + required: false + schema: + type: string ApplicationKeyIncludeParameter: - description: >- - Resource path for related resources to include in the response. Only - `owned_by` is supported. + description: Resource path for related resources to include in the response. Only `owned_by` is supported. in: query name: include required: false @@ -9255,7 +34888,7 @@ components: schema: type: string ProductName: - description: Name of the product to be deleted, either `logs` or `rum`. + description: Name of the product to be deleted. Only `logs` is supported. in: path name: product required: true @@ -9268,6 +34901,47 @@ components: required: true schema: type: string + IdentityProviderId: + description: The ID of the identity provider. + in: path + name: idp_id + required: true + schema: + example: 00000000-0000-0000-0000-000000000001 + type: string + OAuthClientUUIDPathParameter: + description: UUID of the OAuth2 client. + in: path + name: client_uuid + required: true + schema: + example: fafa8e1c-36a5-11f0-a83d-da7ad0900001 + format: uuid + type: string + OrgAuthorizedClientId: + description: The ID of the org authorized client. + in: path + name: org_authorized_client_id + required: true + schema: + example: 00000000-0000-0000-0000-000000000001 + type: string + UserIdForOrgClient: + description: The ID of the user. + in: path + name: user_id + required: true + schema: + example: 00000000-0000-9999-0000-000000000001 + type: string + UserAuthorizedClientIdForOrg: + description: The ID of the user authorized client. + in: path + name: user_authorized_client_id + required: true + schema: + example: 00000000-0000-0000-0000-000000000002 + type: string OrgConfigName: description: The name of an Org Config. in: path @@ -9285,14 +34959,183 @@ components: example: f9ec96b0-8c8a-4b0a-9b0a-1b2c3d4e5f6a format: uuid type: string + OrgGroupMembershipFilterOrgGroupId: + description: Filter memberships by org group ID. Required when `filter[org_uuid]` is not provided. + in: query + name: filter[org_group_id] + required: false + schema: + example: a1b2c3d4-e5f6-7890-abcd-ef0123456789 + format: uuid + type: string + OrgGroupMembershipFilterOrgUuid: + description: Filter memberships by org UUID. Returns a single-item list. + in: query + name: filter[org_uuid] + required: false + schema: + example: b2c3d4e5-f6a7-8901-bcde-f01234567890 + format: uuid + type: string + OrgGroupPageNumber: + description: The page number to return. + in: query + name: page[number] + required: false + schema: + default: 0 + example: 0 + format: int64 + minimum: 0 + type: integer + OrgGroupPageSize: + description: The number of items per page. Maximum is 1000. + in: query + name: page[size] + required: false + schema: + default: 50 + example: 50 + format: int64 + maximum: 1000 + minimum: 1 + type: integer + MembershipSort: + description: 'Field to sort memberships by. Supported values: `name`, `uuid`, `-name`, `-uuid`. Defaults to `uuid`.' + in: query + name: sort + required: false + schema: + $ref: '#/components/schemas/OrgGroupMembershipSortOption' + OrgGroupMembershipId: + description: The ID of the org group membership. + in: path + name: org_group_membership_id + required: true + schema: + example: f1e2d3c4-b5a6-7890-1234-567890abcdef + format: uuid + type: string + OrgGroupPolicyFilterOrgGroupId: + description: Filter policies by org group ID. + in: query + name: filter[org_group_id] + required: true + schema: + example: a1b2c3d4-e5f6-7890-abcd-ef0123456789 + format: uuid + type: string + OrgGroupPolicyFilterPolicyName: + description: Filter policies by policy name. + in: query + name: filter[policy_name] + required: false + schema: + example: monitor_timezone + type: string + PolicySort: + description: 'Field to sort policies by. Supported values: `id`, `name`, `-id`, `-name`. Defaults to `id`.' + in: query + name: sort + required: false + schema: + $ref: '#/components/schemas/OrgGroupPolicySortOption' + OrgGroupPolicyId: + description: The ID of the org group policy. + in: path + name: org_group_policy_id + required: true + schema: + example: 1a2b3c4d-5e6f-7890-abcd-ef0123456789 + format: uuid + type: string + OrgGroupPolicyOverrideFilterOrgGroupId: + description: Filter policy overrides by org group ID. + in: query + name: filter[org_group_id] + required: true + schema: + example: a1b2c3d4-e5f6-7890-abcd-ef0123456789 + format: uuid + type: string + OrgGroupPolicyOverrideFilterPolicyId: + description: Filter policy overrides by policy ID. + in: query + name: filter[policy_id] + required: false + schema: + example: 1a2b3c4d-5e6f-7890-abcd-ef0123456789 + format: uuid + type: string + OverrideSort: + description: 'Field to sort overrides by. Supported values: `id`, `org_uuid`, `-id`, `-org_uuid`. Defaults to `id`.' + in: query + name: sort + required: false + schema: + $ref: '#/components/schemas/OrgGroupPolicyOverrideSortOption' + OrgGroupPolicyOverrideId: + description: The ID of the org group policy override. + in: path + name: org_group_policy_override_id + required: true + schema: + example: 9f8e7d6c-5b4a-3210-fedc-ba0987654321 + format: uuid + type: string + OrgGroupSort: + description: 'Field to sort org groups by. Supported values: `name`, `uuid`, `-name`, `-uuid`. Defaults to `uuid`.' + in: query + name: sort + required: false + schema: + $ref: '#/components/schemas/OrgGroupSortOption' + OrgGroupId: + description: The ID of the org group. + in: path + name: org_group_id + required: true + schema: + example: a1b2c3d4-e5f6-7890-abcd-ef0123456789 + format: uuid + type: string + PersonalAccessTokensSortParameter: + description: |- + Access token attribute used to sort results. Sort order is ascending + by default. In order to specify a descending sort, prefix the + attribute with a minus sign. + in: query + name: sort + required: false + schema: + $ref: '#/components/schemas/PersonalAccessTokensSort' + PersonalAccessTokensFilterParameter: + description: Filter access tokens by the specified string. + in: query + name: filter + required: false + schema: + type: string + PersonalAccessTokensFilterOwnerIDParameter: + description: Filter access tokens by the owner's ID. Supports multiple values. + in: query + name: filter[owned_by] + required: false + schema: + items: + example: 00000000-0000-1234-0000-000000000000 + type: string + type: array + AccessTokenID: + description: The ID of the access token. + in: path + name: token_id + required: true + schema: + example: 00000000-0000-1234-0000-000000000000 + type: string ResourceID: - description: >- - Identifier, formatted as `type:id`. Supported types: `dashboard`, - `integration-service`, `integration-webhook`, `notebook`, - `reference-table`, `security-rule`, `slo`, `workflow`, - `app-builder-app`, `connection`, `connection-group`, `rum-application`, - `cross-org-connection`, `spreadsheet`, `on-call-schedule`, - `on-call-escalation-policy`, `on-call-team-routing-rules. + description: 'Identifier, formatted as `type:id`. Supported types: `dashboard`, `integration-service`, `integration-webhook`, `notebook`, `powerpack`, `reference-table`, `security-rule`, `slo`, `synthetics-global-variable`, `synthetics-test`, `synthetics-private-location`, `monitor`, `workflow`, `app-builder-app`, `connection`, `connection-group`, `rum-application`, `cross-org-connection`, `spreadsheet`, `on-call-schedule`, `on-call-escalation-policy`, `on-call-team-routing-rules`, `logs-pipeline`, `case-management-project`, `monitor-notification-rule`, `status-page`, `feature-flag`.' example: dashboard:abc-def-ghi in: path name: resource_id @@ -9306,6 +35149,14 @@ components: required: true schema: type: string + SAMLConfigurationUUIDPathParameter: + description: The UUID of the SAML configuration. + in: path + name: saml_config_uuid + required: true + schema: + example: 3653d3c6-0c75-11ea-ad28-fb5701eabc7d + type: string ServiceAccountID: description: The ID of the service account. in: path @@ -9314,6 +35165,22 @@ components: schema: example: 00000000-0000-1234-0000-000000000000 type: string + OAuth2ClientId: + description: The ID of the OAuth2 client. + in: path + name: client_id + required: true + schema: + example: 00000000-0000-0000-0000-000000000010 + type: string + UserAuthorizedClientId: + description: The ID of the user authorized client. + in: path + name: user_authorized_client_id + required: true + schema: + example: 00000000-0000-0000-0000-000000000001 + type: string UserID: description: The ID of the user. in: path @@ -9323,401 +35190,1699 @@ components: example: 00000000-0000-9999-0000-000000000000 type: string x-stackQL-resources: + users: + id: datadog.organization.users + name: users + title: Users + methods: + anonymize_users: + config: + requestBodyTranslate: + algorithm: naive + operation: + $ref: '#/paths/~1api~1v2~1anonymize_users/put' + response: + mediaType: application/json + openAPIDocKey: '200' + request: + nativeCasing: camel + list_users: + operation: + $ref: '#/paths/~1api~1v2~1users/get' + response: + mediaType: application/json + openAPIDocKey: '200' + objectKey: $.data + request: + nativeCasing: camel + config: + queryParamPushdown: + top: + paramName: page[size] + create_user: + config: + requestBodyTranslate: + algorithm: naive + operation: + $ref: '#/paths/~1api~1v2~1users/post' + response: + mediaType: application/json + openAPIDocKey: '201' + request: + nativeCasing: camel + disable_user: + operation: + $ref: '#/paths/~1api~1v2~1users~1{user_id}/delete' + response: + mediaType: application/json + openAPIDocKey: '204' + request: + nativeCasing: camel + get_user: + operation: + $ref: '#/paths/~1api~1v2~1users~1{user_id}/get' + response: + mediaType: application/json + openAPIDocKey: '200' + objectKey: $.data + request: + nativeCasing: camel + update_user: + config: + requestBodyTranslate: + algorithm: naive + operation: + $ref: '#/paths/~1api~1v2~1users~1{user_id}/patch' + response: + mediaType: application/json + openAPIDocKey: '200' + request: + nativeCasing: camel + sqlVerbs: + select: + - $ref: '#/components/x-stackQL-resources/users/methods/get_user' + - $ref: '#/components/x-stackQL-resources/users/methods/list_users' + insert: + - $ref: '#/components/x-stackQL-resources/users/methods/create_user' + update: + - $ref: '#/components/x-stackQL-resources/users/methods/update_user' + delete: [] + replace: [] api_keys: id: datadog.organization.api_keys name: api_keys title: Api Keys methods: - list_apikeys: + list_apikeys: + operation: + $ref: '#/paths/~1api~1v2~1api_keys/get' + response: + mediaType: application/json + openAPIDocKey: '200' + objectKey: $.data + request: + nativeCasing: camel + config: + queryParamPushdown: + top: + paramName: page[size] + create_apikey: + config: + requestBodyTranslate: + algorithm: naive + operation: + $ref: '#/paths/~1api~1v2~1api_keys/post' + response: + mediaType: application/json + openAPIDocKey: '201' + request: + nativeCasing: camel + delete_apikey: + operation: + $ref: '#/paths/~1api~1v2~1api_keys~1{api_key_id}/delete' + response: + mediaType: application/json + openAPIDocKey: '204' + request: + nativeCasing: camel + get_apikey: + operation: + $ref: '#/paths/~1api~1v2~1api_keys~1{api_key_id}/get' + response: + mediaType: application/json + openAPIDocKey: '200' + objectKey: $.data + request: + nativeCasing: camel + update_apikey: + config: + requestBodyTranslate: + algorithm: naive + operation: + $ref: '#/paths/~1api~1v2~1api_keys~1{api_key_id}/patch' + response: + mediaType: application/json + openAPIDocKey: '200' + request: + nativeCasing: camel + sqlVerbs: + select: + - $ref: '#/components/x-stackQL-resources/api_keys/methods/get_apikey' + - $ref: '#/components/x-stackQL-resources/api_keys/methods/list_apikeys' + insert: + - $ref: '#/components/x-stackQL-resources/api_keys/methods/create_apikey' + update: + - $ref: '#/components/x-stackQL-resources/api_keys/methods/update_apikey' + delete: + - $ref: '#/components/x-stackQL-resources/api_keys/methods/delete_apikey' + replace: [] + application_keys: + id: datadog.organization.application_keys + name: application_keys + title: Application Keys + methods: + list_application_keys: + operation: + $ref: '#/paths/~1api~1v2~1application_keys/get' + response: + mediaType: application/json + openAPIDocKey: '200' + objectKey: $.data + request: + nativeCasing: camel + config: + queryParamPushdown: + top: + paramName: page[size] + delete_application_key: + operation: + $ref: '#/paths/~1api~1v2~1application_keys~1{app_key_id}/delete' + response: + mediaType: application/json + openAPIDocKey: '204' + request: + nativeCasing: camel + get_application_key: + operation: + $ref: '#/paths/~1api~1v2~1application_keys~1{app_key_id}/get' + response: + mediaType: application/json + openAPIDocKey: '200' + objectKey: $.data + request: + nativeCasing: camel + update_application_key: + config: + requestBodyTranslate: + algorithm: naive + operation: + $ref: '#/paths/~1api~1v2~1application_keys~1{app_key_id}/patch' + response: + mediaType: application/json + openAPIDocKey: '200' + request: + nativeCasing: camel + create_application_key_v1: + config: + requestBodyTranslate: + algorithm: naive + operation: + $ref: '#/paths/~1api~1v1~1application_key/post' + response: + mediaType: application/json + openAPIDocKey: '200' + request: + nativeCasing: camel + sqlVerbs: + select: + - $ref: '#/components/x-stackQL-resources/application_keys/methods/get_application_key' + - $ref: '#/components/x-stackQL-resources/application_keys/methods/list_application_keys' + insert: + - $ref: '#/components/x-stackQL-resources/application_keys/methods/create_application_key_v1' + update: + - $ref: '#/components/x-stackQL-resources/application_keys/methods/update_application_key' + delete: + - $ref: '#/components/x-stackQL-resources/application_keys/methods/delete_application_key' + replace: [] + audit_logs: + id: datadog.organization.audit_logs + name: audit_logs + title: Audit Logs + methods: + list_audit_logs: + operation: + $ref: '#/paths/~1api~1v2~1audit~1events/get' + response: + mediaType: application/json + openAPIDocKey: '200' + objectKey: $.data + request: + nativeCasing: camel + config: + pagination: + requestToken: + key: page[cursor] + location: query + responseToken: + key: $.meta.page.after + location: body + queryParamPushdown: + top: + paramName: page[limit] + maxValue: 1000 + search_audit_logs: + config: + requestBodyTranslate: + algorithm: naive + operation: + $ref: '#/paths/~1api~1v2~1audit~1events~1search/post' + response: + mediaType: application/json + openAPIDocKey: '200' + request: + nativeCasing: camel + sqlVerbs: + select: + - $ref: '#/components/x-stackQL-resources/audit_logs/methods/list_audit_logs' + insert: [] + update: [] + delete: [] + replace: [] + authn_mappings: + id: datadog.organization.authn_mappings + name: authn_mappings + title: Authn Mappings + methods: + list_auth_nmappings: + operation: + $ref: '#/paths/~1api~1v2~1authn_mappings/get' + response: + mediaType: application/json + openAPIDocKey: '200' + objectKey: $.data + request: + nativeCasing: camel + config: + queryParamPushdown: + top: + paramName: page[size] + create_auth_nmapping: + config: + requestBodyTranslate: + algorithm: naive + operation: + $ref: '#/paths/~1api~1v2~1authn_mappings/post' + response: + mediaType: application/json + openAPIDocKey: '200' + request: + nativeCasing: camel + delete_auth_nmapping: + operation: + $ref: '#/paths/~1api~1v2~1authn_mappings~1{authn_mapping_id}/delete' + response: + mediaType: application/json + openAPIDocKey: '204' + request: + nativeCasing: camel + get_auth_nmapping: + operation: + $ref: '#/paths/~1api~1v2~1authn_mappings~1{authn_mapping_id}/get' + response: + mediaType: application/json + openAPIDocKey: '200' + objectKey: $.data + request: + nativeCasing: camel + update_auth_nmapping: + config: + requestBodyTranslate: + algorithm: naive + operation: + $ref: '#/paths/~1api~1v2~1authn_mappings~1{authn_mapping_id}/patch' + response: + mediaType: application/json + openAPIDocKey: '200' + request: + nativeCasing: camel + sqlVerbs: + select: + - $ref: '#/components/x-stackQL-resources/authn_mappings/methods/get_auth_nmapping' + - $ref: '#/components/x-stackQL-resources/authn_mappings/methods/list_auth_nmappings' + insert: + - $ref: '#/components/x-stackQL-resources/authn_mappings/methods/create_auth_nmapping' + update: + - $ref: '#/components/x-stackQL-resources/authn_mappings/methods/update_auth_nmapping' + delete: + - $ref: '#/components/x-stackQL-resources/authn_mappings/methods/delete_auth_nmapping' + replace: [] + current_user: + id: datadog.organization.current_user + name: current_user + title: Current User + methods: + get_current_user: + operation: + $ref: '#/paths/~1api~1v2~1current_user/get' + response: + mediaType: application/json + openAPIDocKey: '200' + objectKey: $.data + request: + nativeCasing: camel + update_current_user: + config: + requestBodyTranslate: + algorithm: naive + operation: + $ref: '#/paths/~1api~1v2~1current_user/patch' + response: + mediaType: application/json + openAPIDocKey: '200' + request: + nativeCasing: camel + sqlVerbs: + select: + - $ref: '#/components/x-stackQL-resources/current_user/methods/get_current_user' + insert: [] + update: + - $ref: '#/components/x-stackQL-resources/current_user/methods/update_current_user' + delete: [] + replace: [] + current_user_application_keys: + id: datadog.organization.current_user_application_keys + name: current_user_application_keys + title: Current User Application Keys + methods: + list_current_user_application_keys: + operation: + $ref: '#/paths/~1api~1v2~1current_user~1application_keys/get' + response: + mediaType: application/json + openAPIDocKey: '200' + objectKey: $.data + request: + nativeCasing: camel + config: + queryParamPushdown: + top: + paramName: page[size] + create_current_user_application_key: + config: + requestBodyTranslate: + algorithm: naive + operation: + $ref: '#/paths/~1api~1v2~1current_user~1application_keys/post' + response: + mediaType: application/json + openAPIDocKey: '201' + request: + nativeCasing: camel + delete_current_user_application_key: + operation: + $ref: '#/paths/~1api~1v2~1current_user~1application_keys~1{app_key_id}/delete' + response: + mediaType: application/json + openAPIDocKey: '204' + request: + nativeCasing: camel + get_current_user_application_key: + operation: + $ref: '#/paths/~1api~1v2~1current_user~1application_keys~1{app_key_id}/get' + response: + mediaType: application/json + openAPIDocKey: '200' + objectKey: $.data + request: + nativeCasing: camel + update_current_user_application_key: + config: + requestBodyTranslate: + algorithm: naive + operation: + $ref: '#/paths/~1api~1v2~1current_user~1application_keys~1{app_key_id}/patch' + response: + mediaType: application/json + openAPIDocKey: '200' + request: + nativeCasing: camel + sqlVerbs: + select: + - $ref: '#/components/x-stackQL-resources/current_user_application_keys/methods/get_current_user_application_key' + - $ref: '#/components/x-stackQL-resources/current_user_application_keys/methods/list_current_user_application_keys' + insert: + - $ref: '#/components/x-stackQL-resources/current_user_application_keys/methods/create_current_user_application_key' + update: + - $ref: '#/components/x-stackQL-resources/current_user_application_keys/methods/update_current_user_application_key' + delete: + - $ref: '#/components/x-stackQL-resources/current_user_application_keys/methods/delete_current_user_application_key' + replace: [] + data_deletion_requests: + id: datadog.organization.data_deletion_requests + name: data_deletion_requests + title: Data Deletion Requests + methods: + create_data_deletion_request: + config: + requestBodyTranslate: + algorithm: naive + operation: + $ref: '#/paths/~1api~1v2~1deletion~1data~1{product}/post' + response: + mediaType: application/json + openAPIDocKey: '200' + request: + nativeCasing: camel + get_data_deletion_requests: + operation: + $ref: '#/paths/~1api~1v2~1deletion~1requests/get' + response: + mediaType: application/json + openAPIDocKey: '200' + objectKey: $.data + request: + nativeCasing: camel + config: + queryParamPushdown: + top: + paramName: page_size + maxValue: 50 + cancel_data_deletion_request: + operation: + $ref: '#/paths/~1api~1v2~1deletion~1requests~1{id}~1cancel/put' + response: + mediaType: application/json + openAPIDocKey: '200' + request: + nativeCasing: camel + sqlVerbs: + select: + - $ref: '#/components/x-stackQL-resources/data_deletion_requests/methods/get_data_deletion_requests' + insert: + - $ref: '#/components/x-stackQL-resources/data_deletion_requests/methods/create_data_deletion_request' + update: [] + delete: [] + replace: [] + domain_allowlist: + id: datadog.organization.domain_allowlist + name: domain_allowlist + title: Domain Allowlist + methods: + get_domain_allowlist: + operation: + $ref: '#/paths/~1api~1v2~1domain_allowlist/get' + response: + mediaType: application/json + openAPIDocKey: '200' + objectKey: $.data + request: + nativeCasing: camel + patch_domain_allowlist: + config: + requestBodyTranslate: + algorithm: naive + operation: + $ref: '#/paths/~1api~1v2~1domain_allowlist/patch' + response: + mediaType: application/json + openAPIDocKey: '200' + request: + nativeCasing: camel + sqlVerbs: + select: + - $ref: '#/components/x-stackQL-resources/domain_allowlist/methods/get_domain_allowlist' + insert: [] + update: + - $ref: '#/components/x-stackQL-resources/domain_allowlist/methods/patch_domain_allowlist' + delete: [] + replace: [] + global_orgs: + id: datadog.organization.global_orgs + name: global_orgs + title: Global Orgs + methods: + list_global_orgs: + operation: + $ref: '#/paths/~1api~1v2~1global_orgs/get' + response: + mediaType: application/json + openAPIDocKey: '200' + objectKey: $.data + request: + nativeCasing: camel + config: + pagination: + requestToken: + key: page[cursor] + location: query + responseToken: + key: $.meta.page.next_cursor + location: body + queryParamPushdown: + top: + paramName: page[limit] + maxValue: 1000 + sqlVerbs: + select: + - $ref: '#/components/x-stackQL-resources/global_orgs/methods/list_global_orgs' + insert: [] + update: [] + delete: [] + replace: [] + governance_configs: + id: datadog.organization.governance_configs + name: governance_configs + title: Governance Configs + methods: + get_governance_config: + operation: + $ref: '#/paths/~1api~1v2~1governance~1config/get' + response: + mediaType: application/json + openAPIDocKey: '200' + objectKey: $.data + request: + nativeCasing: camel + sqlVerbs: + select: + - $ref: '#/components/x-stackQL-resources/governance_configs/methods/get_governance_config' + insert: [] + update: [] + delete: [] + replace: [] + governance_controls: + id: datadog.organization.governance_controls + name: governance_controls + title: Governance Controls + methods: + list_governance_controls: + operation: + $ref: '#/paths/~1api~1v2~1governance~1control/get' + response: + mediaType: application/json + openAPIDocKey: '200' + objectKey: $.data + request: + nativeCasing: camel + get_governance_control: + operation: + $ref: '#/paths/~1api~1v2~1governance~1control~1{detection_type}/get' + response: + mediaType: application/json + openAPIDocKey: '200' + objectKey: $.data + request: + nativeCasing: camel + update_governance_control: + config: + requestBodyTranslate: + algorithm: naive + operation: + $ref: '#/paths/~1api~1v2~1governance~1control~1{detection_type}/patch' + response: + mediaType: application/json + openAPIDocKey: '200' + request: + nativeCasing: camel + sqlVerbs: + select: + - $ref: '#/components/x-stackQL-resources/governance_controls/methods/get_governance_control' + - $ref: '#/components/x-stackQL-resources/governance_controls/methods/list_governance_controls' + insert: [] + update: + - $ref: '#/components/x-stackQL-resources/governance_controls/methods/update_governance_control' + delete: [] + replace: [] + governance_control_detections: + id: datadog.organization.governance_control_detections + name: governance_control_detections + title: Governance Control Detections + methods: + list_governance_control_detections: + operation: + $ref: '#/paths/~1api~1v2~1governance~1control~1{detection_type}~1detections/get' + response: + mediaType: application/json + openAPIDocKey: '200' + objectKey: $.data + request: + nativeCasing: camel + config: + queryParamPushdown: + top: + paramName: page[size] + sqlVerbs: + select: + - $ref: '#/components/x-stackQL-resources/governance_control_detections/methods/list_governance_control_detections' + insert: [] + update: [] + delete: [] + replace: [] + governance_control_notification_settings: + id: datadog.organization.governance_control_notification_settings + name: governance_control_notification_settings + title: Governance Control Notification Settings + methods: + get_governance_control_notification_settings: + operation: + $ref: '#/paths/~1api~1v2~1governance~1control~1{detection_type}~1notification_settings/get' + response: + mediaType: application/json + openAPIDocKey: '200' + objectKey: $.data + request: + nativeCasing: camel + update_governance_control_notification_settings: + config: + requestBodyTranslate: + algorithm: naive + operation: + $ref: '#/paths/~1api~1v2~1governance~1control~1{detection_type}~1notification_settings/put' + response: + mediaType: application/json + openAPIDocKey: '200' + request: + nativeCasing: camel + sqlVerbs: + select: + - $ref: '#/components/x-stackQL-resources/governance_control_notification_settings/methods/get_governance_control_notification_settings' + insert: [] + update: [] + delete: [] + replace: + - $ref: '#/components/x-stackQL-resources/governance_control_notification_settings/methods/update_governance_control_notification_settings' + governance_detections: + id: datadog.organization.governance_detections + name: governance_detections + title: Governance Detections + methods: + mitigate_governance_detections: + config: + requestBodyTranslate: + algorithm: naive + operation: + $ref: '#/paths/~1api~1v2~1governance~1detections~1mitigate/post' + response: + mediaType: application/json + openAPIDocKey: '202' + request: + nativeCasing: camel + get_governance_detection: + operation: + $ref: '#/paths/~1api~1v2~1governance~1detections~1{detection_id}/get' + response: + mediaType: application/json + openAPIDocKey: '200' + objectKey: $.data + request: + nativeCasing: camel + update_governance_detection: + config: + requestBodyTranslate: + algorithm: naive + operation: + $ref: '#/paths/~1api~1v2~1governance~1detections~1{detection_id}/patch' + response: + mediaType: application/json + openAPIDocKey: '200' + request: + nativeCasing: camel + sqlVerbs: + select: + - $ref: '#/components/x-stackQL-resources/governance_detections/methods/get_governance_detection' + insert: [] + update: + - $ref: '#/components/x-stackQL-resources/governance_detections/methods/update_governance_detection' + delete: [] + replace: [] + governance_insights: + id: datadog.organization.governance_insights + name: governance_insights + title: Governance Insights + methods: + list_governance_insights: + operation: + $ref: '#/paths/~1api~1v2~1governance~1insights/get' + response: + mediaType: application/json + openAPIDocKey: '200' + objectKey: $.data + request: + nativeCasing: camel + sqlVerbs: + select: + - $ref: '#/components/x-stackQL-resources/governance_insights/methods/list_governance_insights' + insert: [] + update: [] + delete: [] + replace: [] + governance_notification_settings: + id: datadog.organization.governance_notification_settings + name: governance_notification_settings + title: Governance Notification Settings + methods: + get_governance_notification_settings: + operation: + $ref: '#/paths/~1api~1v2~1governance~1notification_settings/get' + response: + mediaType: application/json + openAPIDocKey: '200' + objectKey: $.data + request: + nativeCasing: camel + update_governance_notification_settings: + config: + requestBodyTranslate: + algorithm: naive + operation: + $ref: '#/paths/~1api~1v2~1governance~1notification_settings/patch' + response: + mediaType: application/json + openAPIDocKey: '200' + request: + nativeCasing: camel + sqlVerbs: + select: + - $ref: '#/components/x-stackQL-resources/governance_notification_settings/methods/get_governance_notification_settings' + insert: [] + update: + - $ref: '#/components/x-stackQL-resources/governance_notification_settings/methods/update_governance_notification_settings' + delete: [] + replace: [] + governance_tag_rules: + id: datadog.organization.governance_tag_rules + name: governance_tag_rules + title: Governance Tag Rules + methods: + list_tag_rules: + operation: + $ref: '#/paths/~1api~1v2~1governance~1tag_rules/get' + response: + mediaType: application/json + openAPIDocKey: '200' + objectKey: $.data + request: + nativeCasing: camel + create_tag_rule: + config: + requestBodyTranslate: + algorithm: naive + operation: + $ref: '#/paths/~1api~1v2~1governance~1tag_rules/post' + response: + mediaType: application/json + openAPIDocKey: '201' + request: + nativeCasing: camel + delete_tag_rule: + operation: + $ref: '#/paths/~1api~1v2~1governance~1tag_rules~1{rule_id}/delete' + response: + mediaType: application/json + openAPIDocKey: '204' + request: + nativeCasing: camel + get_tag_rule: + operation: + $ref: '#/paths/~1api~1v2~1governance~1tag_rules~1{rule_id}/get' + response: + mediaType: application/json + openAPIDocKey: '200' + objectKey: $.data + request: + nativeCasing: camel + update_tag_rule: + config: + requestBodyTranslate: + algorithm: naive + operation: + $ref: '#/paths/~1api~1v2~1governance~1tag_rules~1{rule_id}/patch' + response: + mediaType: application/json + openAPIDocKey: '200' + request: + nativeCasing: camel + sqlVerbs: + select: + - $ref: '#/components/x-stackQL-resources/governance_tag_rules/methods/get_tag_rule' + - $ref: '#/components/x-stackQL-resources/governance_tag_rules/methods/list_tag_rules' + insert: + - $ref: '#/components/x-stackQL-resources/governance_tag_rules/methods/create_tag_rule' + update: + - $ref: '#/components/x-stackQL-resources/governance_tag_rules/methods/update_tag_rule' + delete: + - $ref: '#/components/x-stackQL-resources/governance_tag_rules/methods/delete_tag_rule' + replace: [] + governance_tag_rule_scores: + id: datadog.organization.governance_tag_rule_scores + name: governance_tag_rule_scores + title: Governance Tag Rule Scores + methods: + get_tag_rule_score: + operation: + $ref: '#/paths/~1api~1v2~1governance~1tag_rules~1{rule_id}~1score/get' + response: + mediaType: application/json + openAPIDocKey: '200' + objectKey: $.data + request: + nativeCasing: camel + sqlVerbs: + select: + - $ref: '#/components/x-stackQL-resources/governance_tag_rule_scores/methods/get_tag_rule_score' + insert: [] + update: [] + delete: [] + replace: [] + hamr_connections: + id: datadog.organization.hamr_connections + name: hamr_connections + title: Hamr Connections + methods: + get_hamr_org_connection: + operation: + $ref: '#/paths/~1api~1v2~1hamr/get' + response: + mediaType: application/json + openAPIDocKey: '200' + objectKey: $.data + request: + nativeCasing: camel + create_hamr_org_connection: + config: + requestBodyTranslate: + algorithm: naive + operation: + $ref: '#/paths/~1api~1v2~1hamr/post' + response: + mediaType: application/json + openAPIDocKey: '200' + request: + nativeCasing: camel + sqlVerbs: + select: + - $ref: '#/components/x-stackQL-resources/hamr_connections/methods/get_hamr_org_connection' + insert: + - $ref: '#/components/x-stackQL-resources/hamr_connections/methods/create_hamr_org_connection' + update: [] + delete: [] + replace: [] + identity_providers: + id: datadog.organization.identity_providers + name: identity_providers + title: Identity Providers + methods: + list_identity_providers: + operation: + $ref: '#/paths/~1api~1v2~1identity_providers/get' + response: + mediaType: application/json + openAPIDocKey: '200' + objectKey: $.data + request: + nativeCasing: camel + update_identity_provider: + config: + requestBodyTranslate: + algorithm: naive + operation: + $ref: '#/paths/~1api~1v2~1identity_providers~1{idp_id}/patch' + response: + mediaType: application/json + openAPIDocKey: '200' + request: + nativeCasing: camel + sqlVerbs: + select: + - $ref: '#/components/x-stackQL-resources/identity_providers/methods/list_identity_providers' + insert: [] + update: + - $ref: '#/components/x-stackQL-resources/identity_providers/methods/update_identity_provider' + delete: [] + replace: [] + identity_provider_users: + id: datadog.organization.identity_provider_users + name: identity_provider_users + title: Identity Provider Users + methods: + list_identity_provider_users: + operation: + $ref: '#/paths/~1api~1v2~1identity_providers~1{idp_id}~1users/get' + response: + mediaType: application/json + openAPIDocKey: '200' + objectKey: $.data + request: + nativeCasing: camel + config: + queryParamPushdown: + top: + paramName: page[size] + sqlVerbs: + select: + - $ref: '#/components/x-stackQL-resources/identity_provider_users/methods/list_identity_provider_users' + insert: [] + update: [] + delete: [] + replace: [] + ip_allowlist: + id: datadog.organization.ip_allowlist + name: ip_allowlist + title: Ip Allowlist + methods: + get_ipallowlist: operation: - $ref: '#/paths/~1api~1v2~1api_keys/get' + $ref: '#/paths/~1api~1v2~1ip_allowlist/get' response: mediaType: application/json openAPIDocKey: '200' objectKey: $.data - create_apikey: + request: + nativeCasing: camel + update_ipallowlist: + config: + requestBodyTranslate: + algorithm: naive operation: - $ref: '#/paths/~1api~1v2~1api_keys/post' + $ref: '#/paths/~1api~1v2~1ip_allowlist/patch' response: mediaType: application/json - openAPIDocKey: '201' - delete_apikey: + openAPIDocKey: '200' + request: + nativeCasing: camel + sqlVerbs: + select: + - $ref: '#/components/x-stackQL-resources/ip_allowlist/methods/get_ipallowlist' + insert: [] + update: + - $ref: '#/components/x-stackQL-resources/ip_allowlist/methods/update_ipallowlist' + delete: [] + replace: [] + login_configs: + id: datadog.organization.login_configs + name: login_configs + title: Login Configs + methods: + update_login_org_configs_max_session_duration: + config: + requestBodyTranslate: + algorithm: naive operation: - $ref: '#/paths/~1api~1v2~1api_keys~1{api_key_id}/delete' + $ref: '#/paths/~1api~1v2~1login~1org_configs~1max_session_duration/put' response: mediaType: application/json openAPIDocKey: '204' - get_apikey: + request: + nativeCasing: camel + sqlVerbs: + select: [] + insert: [] + update: [] + delete: [] + replace: + - $ref: '#/components/x-stackQL-resources/login_configs/methods/update_login_org_configs_max_session_duration' + oauth2_well_known_sites: + id: datadog.organization.oauth2_well_known_sites + name: oauth2_well_known_sites + title: Oauth2 Well Known Sites + methods: + get_oauth2_well_known_sites: operation: - $ref: '#/paths/~1api~1v2~1api_keys~1{api_key_id}/get' + $ref: '#/paths/~1api~1v2~1oauth2~1.well-known~1sites/get' response: mediaType: application/json openAPIDocKey: '200' objectKey: $.data - update_apikey: + request: + nativeCasing: camel + sqlVerbs: + select: + - $ref: '#/components/x-stackQL-resources/oauth2_well_known_sites/methods/get_oauth2_well_known_sites' + insert: [] + update: [] + delete: [] + replace: [] + oauth2_client_scopes_restrictions: + id: datadog.organization.oauth2_client_scopes_restrictions + name: oauth2_client_scopes_restrictions + title: Oauth2 Client Scopes Restrictions + methods: + delete_scopes_restriction: operation: - $ref: '#/paths/~1api~1v2~1api_keys~1{api_key_id}/patch' + $ref: '#/paths/~1api~1v2~1oauth2~1clients~1{client_uuid}~1scopes_restriction/delete' + response: + mediaType: application/json + openAPIDocKey: '204' + request: + nativeCasing: camel + get_scopes_restriction: + operation: + $ref: '#/paths/~1api~1v2~1oauth2~1clients~1{client_uuid}~1scopes_restriction/get' + response: + mediaType: application/json + openAPIDocKey: '200' + objectKey: $.data + request: + nativeCasing: camel + upsert_scopes_restriction: + config: + requestBodyTranslate: + algorithm: naive + operation: + $ref: '#/paths/~1api~1v2~1oauth2~1clients~1{client_uuid}~1scopes_restriction/post' response: mediaType: application/json openAPIDocKey: '200' + request: + nativeCasing: camel sqlVerbs: select: - - $ref: '#/components/x-stackQL-resources/api_keys/methods/get_apikey' - - $ref: '#/components/x-stackQL-resources/api_keys/methods/list_apikeys' + - $ref: '#/components/x-stackQL-resources/oauth2_client_scopes_restrictions/methods/get_scopes_restriction' insert: - - $ref: '#/components/x-stackQL-resources/api_keys/methods/create_apikey' - update: - - $ref: '#/components/x-stackQL-resources/api_keys/methods/update_apikey' + - $ref: '#/components/x-stackQL-resources/oauth2_client_scopes_restrictions/methods/upsert_scopes_restriction' + update: [] delete: - - $ref: '#/components/x-stackQL-resources/api_keys/methods/delete_apikey' + - $ref: '#/components/x-stackQL-resources/oauth2_client_scopes_restrictions/methods/delete_scopes_restriction' replace: [] - application_keys: - id: datadog.organization.application_keys - name: application_keys - title: Application Keys + oauth2_clients: + id: datadog.organization.oauth2_clients + name: oauth2_clients + title: Oauth2 Clients methods: - list_application_keys: + register_oauth_client: + config: + requestBodyTranslate: + algorithm: naive operation: - $ref: '#/paths/~1api~1v2~1application_keys/get' + $ref: '#/paths/~1api~1v2~1oauth2~1register/post' + response: + mediaType: application/json + openAPIDocKey: '201' + request: + nativeCasing: camel + sqlVerbs: + select: [] + insert: [] + update: [] + delete: [] + replace: [] + orgs: + id: datadog.organization.orgs + name: orgs + title: Orgs + methods: + list_orgs: + operation: + $ref: '#/paths/~1api~1v2~1org/get' response: mediaType: application/json openAPIDocKey: '200' objectKey: $.data - delete_application_key: + request: + nativeCasing: camel + disable_customer_org: + config: + requestBodyTranslate: + algorithm: naive operation: - $ref: '#/paths/~1api~1v2~1application_keys~1{app_key_id}/delete' + $ref: '#/paths/~1api~1v2~1org~1disable/post' response: mediaType: application/json - openAPIDocKey: '204' - get_application_key: + openAPIDocKey: '200' + request: + nativeCasing: camel + create_child_org: + config: + requestBodyTranslate: + algorithm: naive operation: - $ref: '#/paths/~1api~1v2~1application_keys~1{app_key_id}/get' + $ref: '#/paths/~1api~1v1~1org/post' response: mediaType: application/json openAPIDocKey: '200' - objectKey: $.data - update_application_key: + request: + nativeCasing: camel + get_org: operation: - $ref: '#/paths/~1api~1v2~1application_keys~1{app_key_id}/patch' + $ref: '#/paths/~1api~1v1~1org~1{public_id}/get' + response: + mediaType: application/json + openAPIDocKey: '200' + objectKey: $.org + request: + nativeCasing: camel + update_org: + config: + requestBodyTranslate: + algorithm: naive + operation: + $ref: '#/paths/~1api~1v1~1org~1{public_id}/put' response: mediaType: application/json openAPIDocKey: '200' + request: + nativeCasing: camel + downgrade_org: + operation: + $ref: '#/paths/~1api~1v1~1org~1{public_id}~1downgrade/post' + response: + mediaType: application/json + openAPIDocKey: '200' + request: + nativeCasing: camel sqlVerbs: select: - - $ref: >- - #/components/x-stackQL-resources/application_keys/methods/get_application_key - - $ref: >- - #/components/x-stackQL-resources/application_keys/methods/list_application_keys + - $ref: '#/components/x-stackQL-resources/orgs/methods/get_org' + - $ref: '#/components/x-stackQL-resources/orgs/methods/list_orgs' + insert: + - $ref: '#/components/x-stackQL-resources/orgs/methods/create_child_org' + update: [] + delete: [] + replace: + - $ref: '#/components/x-stackQL-resources/orgs/methods/update_org' + org_saml_configurations: + id: datadog.organization.org_saml_configurations + name: org_saml_configurations + title: Org Saml Configurations + methods: + update_org_saml_configurations: + config: + requestBodyTranslate: + algorithm: naive + operation: + $ref: '#/paths/~1api~1v2~1org~1saml_configurations/patch' + response: + mediaType: application/json + openAPIDocKey: '204' + request: + nativeCasing: camel + sqlVerbs: + select: [] insert: [] update: - - $ref: >- - #/components/x-stackQL-resources/application_keys/methods/update_application_key - delete: - - $ref: >- - #/components/x-stackQL-resources/application_keys/methods/delete_application_key + - $ref: '#/components/x-stackQL-resources/org_saml_configurations/methods/update_org_saml_configurations' + delete: [] replace: [] - audit_logs: - id: datadog.organization.audit_logs - name: audit_logs - title: Audit Logs + org_authorized_clients: + id: datadog.organization.org_authorized_clients + name: org_authorized_clients + title: Org Authorized Clients methods: - list_audit_logs: + list_org_authorized_clients: operation: - $ref: '#/paths/~1api~1v2~1audit~1events/get' + $ref: '#/paths/~1api~1v2~1org_authorized_clients/get' response: mediaType: application/json openAPIDocKey: '200' objectKey: $.data - search_audit_logs: + request: + nativeCasing: camel + config: + queryParamPushdown: + top: + paramName: page[size] + delete_org_authorized_client: operation: - $ref: '#/paths/~1api~1v2~1audit~1events~1search/post' + $ref: '#/paths/~1api~1v2~1org_authorized_clients~1{org_authorized_client_id}/delete' + response: + mediaType: application/json + openAPIDocKey: '204' + request: + nativeCasing: camel + get_org_authorized_client: + operation: + $ref: '#/paths/~1api~1v2~1org_authorized_clients~1{org_authorized_client_id}/get' + response: + mediaType: application/json + openAPIDocKey: '200' + objectKey: $.data + request: + nativeCasing: camel + update_org_authorized_client: + config: + requestBodyTranslate: + algorithm: naive + operation: + $ref: '#/paths/~1api~1v2~1org_authorized_clients~1{org_authorized_client_id}/patch' response: mediaType: application/json openAPIDocKey: '200' + request: + nativeCasing: camel sqlVerbs: select: - - $ref: >- - #/components/x-stackQL-resources/audit_logs/methods/list_audit_logs + - $ref: '#/components/x-stackQL-resources/org_authorized_clients/methods/get_org_authorized_client' + - $ref: '#/components/x-stackQL-resources/org_authorized_clients/methods/list_org_authorized_clients' + insert: [] + update: + - $ref: '#/components/x-stackQL-resources/org_authorized_clients/methods/update_org_authorized_client' + delete: + - $ref: '#/components/x-stackQL-resources/org_authorized_clients/methods/delete_org_authorized_client' + replace: [] + org_authorized_client_users: + id: datadog.organization.org_authorized_client_users + name: org_authorized_client_users + title: Org Authorized Client Users + methods: + delete_org_authorized_client_all_user_authorizations: + operation: + $ref: '#/paths/~1api~1v2~1org_authorized_clients~1{org_authorized_client_id}~1user~1{user_id}/delete' + response: + mediaType: application/json + openAPIDocKey: '204' + request: + nativeCasing: camel + sqlVerbs: + select: [] insert: [] update: [] - delete: [] + delete: + - $ref: '#/components/x-stackQL-resources/org_authorized_client_users/methods/delete_org_authorized_client_all_user_authorizations' replace: [] - authn_mappings: - id: datadog.organization.authn_mappings - name: authn_mappings - title: Authn Mappings + org_authorized_client_user_authorized_clients: + id: datadog.organization.org_authorized_client_user_authorized_clients + name: org_authorized_client_user_authorized_clients + title: Org Authorized Client User Authorized Clients methods: - list_auth_nmappings: + list_org_authorized_client_user_authorizations: operation: - $ref: '#/paths/~1api~1v2~1authn_mappings/get' + $ref: '#/paths/~1api~1v2~1org_authorized_clients~1{org_authorized_client_id}~1user_authorized_clients/get' response: mediaType: application/json openAPIDocKey: '200' objectKey: $.data - create_auth_nmapping: + request: + nativeCasing: camel + config: + queryParamPushdown: + top: + paramName: page[size] + delete_org_authorized_client_user_authorization: operation: - $ref: '#/paths/~1api~1v2~1authn_mappings/post' + $ref: '#/paths/~1api~1v2~1org_authorized_clients~1{org_authorized_client_id}~1user_authorized_clients~1{user_authorized_client_id}/delete' response: mediaType: application/json - openAPIDocKey: '200' - delete_auth_nmapping: + openAPIDocKey: '204' + request: + nativeCasing: camel + sqlVerbs: + select: + - $ref: '#/components/x-stackQL-resources/org_authorized_client_user_authorized_clients/methods/list_org_authorized_client_user_authorizations' + insert: [] + update: [] + delete: + - $ref: '#/components/x-stackQL-resources/org_authorized_client_user_authorized_clients/methods/delete_org_authorized_client_user_authorization' + replace: [] + configs: + id: datadog.organization.configs + name: configs + title: Configs + methods: + list_org_configs: operation: - $ref: '#/paths/~1api~1v2~1authn_mappings~1{authn_mapping_id}/delete' + $ref: '#/paths/~1api~1v2~1org_configs/get' response: mediaType: application/json - openAPIDocKey: '204' - get_auth_nmapping: + openAPIDocKey: '200' + objectKey: $.data + request: + nativeCasing: camel + get_org_config: operation: - $ref: '#/paths/~1api~1v2~1authn_mappings~1{authn_mapping_id}/get' + $ref: '#/paths/~1api~1v2~1org_configs~1{org_config_name}/get' response: mediaType: application/json openAPIDocKey: '200' objectKey: $.data - update_auth_nmapping: + request: + nativeCasing: camel + update_org_config: + config: + requestBodyTranslate: + algorithm: naive operation: - $ref: '#/paths/~1api~1v2~1authn_mappings~1{authn_mapping_id}/patch' + $ref: '#/paths/~1api~1v2~1org_configs~1{org_config_name}/patch' response: mediaType: application/json openAPIDocKey: '200' + request: + nativeCasing: camel sqlVerbs: select: - - $ref: >- - #/components/x-stackQL-resources/authn_mappings/methods/get_auth_nmapping - - $ref: >- - #/components/x-stackQL-resources/authn_mappings/methods/list_auth_nmappings - insert: - - $ref: >- - #/components/x-stackQL-resources/authn_mappings/methods/create_auth_nmapping + - $ref: '#/components/x-stackQL-resources/configs/methods/get_org_config' + - $ref: '#/components/x-stackQL-resources/configs/methods/list_org_configs' + insert: [] update: - - $ref: >- - #/components/x-stackQL-resources/authn_mappings/methods/update_auth_nmapping - delete: - - $ref: >- - #/components/x-stackQL-resources/authn_mappings/methods/delete_auth_nmapping + - $ref: '#/components/x-stackQL-resources/configs/methods/update_org_config' + delete: [] replace: [] - current_user_application_keys: - id: datadog.organization.current_user_application_keys - name: current_user_application_keys - title: Current User Application Keys + connections: + id: datadog.organization.connections + name: connections + title: Connections methods: - list_current_user_application_keys: + list_org_connections: operation: - $ref: '#/paths/~1api~1v2~1current_user~1application_keys/get' + $ref: '#/paths/~1api~1v2~1org_connections/get' response: mediaType: application/json openAPIDocKey: '200' objectKey: $.data - create_current_user_application_key: - operation: - $ref: '#/paths/~1api~1v2~1current_user~1application_keys/post' - response: - mediaType: application/json - openAPIDocKey: '201' - delete_current_user_application_key: + request: + nativeCasing: camel + config: + queryParamPushdown: + top: + paramName: limit + skip: + paramName: offset + create_org_connections: + config: + requestBodyTranslate: + algorithm: naive operation: - $ref: >- - #/paths/~1api~1v2~1current_user~1application_keys~1{app_key_id}/delete + $ref: '#/paths/~1api~1v2~1org_connections/post' response: mediaType: application/json - openAPIDocKey: '204' - get_current_user_application_key: + openAPIDocKey: '200' + request: + nativeCasing: camel + delete_org_connections: operation: - $ref: >- - #/paths/~1api~1v2~1current_user~1application_keys~1{app_key_id}/get + $ref: '#/paths/~1api~1v2~1org_connections~1{connection_id}/delete' response: mediaType: application/json openAPIDocKey: '200' - objectKey: $.data - update_current_user_application_key: + request: + nativeCasing: camel + update_org_connections: + config: + requestBodyTranslate: + algorithm: naive operation: - $ref: >- - #/paths/~1api~1v2~1current_user~1application_keys~1{app_key_id}/patch + $ref: '#/paths/~1api~1v2~1org_connections~1{connection_id}/patch' response: mediaType: application/json openAPIDocKey: '200' + request: + nativeCasing: camel sqlVerbs: select: - - $ref: >- - #/components/x-stackQL-resources/current_user_application_keys/methods/get_current_user_application_key - - $ref: >- - #/components/x-stackQL-resources/current_user_application_keys/methods/list_current_user_application_keys + - $ref: '#/components/x-stackQL-resources/connections/methods/list_org_connections' insert: - - $ref: >- - #/components/x-stackQL-resources/current_user_application_keys/methods/create_current_user_application_key + - $ref: '#/components/x-stackQL-resources/connections/methods/create_org_connections' update: - - $ref: >- - #/components/x-stackQL-resources/current_user_application_keys/methods/update_current_user_application_key + - $ref: '#/components/x-stackQL-resources/connections/methods/update_org_connections' delete: - - $ref: >- - #/components/x-stackQL-resources/current_user_application_keys/methods/delete_current_user_application_key + - $ref: '#/components/x-stackQL-resources/connections/methods/delete_org_connections' replace: [] - data_deletion_requests: - id: datadog.organization.data_deletion_requests - name: data_deletion_requests - title: Data Deletion Requests + org_group_memberships: + id: datadog.organization.org_group_memberships + name: org_group_memberships + title: Org Group Memberships methods: - create_data_deletion_request: + list_org_group_memberships: operation: - $ref: '#/paths/~1api~1v2~1deletion~1data~1{product}/post' + $ref: '#/paths/~1api~1v2~1org_group_memberships/get' response: mediaType: application/json openAPIDocKey: '200' - get_data_deletion_requests: + objectKey: $.data + request: + nativeCasing: camel + config: + queryParamPushdown: + top: + paramName: page[size] + maxValue: 1000 + bulk_update_org_group_memberships: + config: + requestBodyTranslate: + algorithm: naive operation: - $ref: '#/paths/~1api~1v2~1deletion~1requests/get' + $ref: '#/paths/~1api~1v2~1org_group_memberships~1bulk/patch' + response: + mediaType: application/json + openAPIDocKey: '200' + request: + nativeCasing: camel + get_org_group_membership: + operation: + $ref: '#/paths/~1api~1v2~1org_group_memberships~1{org_group_membership_id}/get' response: mediaType: application/json openAPIDocKey: '200' objectKey: $.data - cancel_data_deletion_request: + request: + nativeCasing: camel + update_org_group_membership: + config: + requestBodyTranslate: + algorithm: naive operation: - $ref: '#/paths/~1api~1v2~1deletion~1requests~1{id}~1cancel/put' + $ref: '#/paths/~1api~1v2~1org_group_memberships~1{org_group_membership_id}/patch' response: mediaType: application/json openAPIDocKey: '200' + request: + nativeCasing: camel sqlVerbs: select: - - $ref: >- - #/components/x-stackQL-resources/data_deletion_requests/methods/get_data_deletion_requests - insert: - - $ref: >- - #/components/x-stackQL-resources/data_deletion_requests/methods/create_data_deletion_request - update: [] + - $ref: '#/components/x-stackQL-resources/org_group_memberships/methods/get_org_group_membership' + - $ref: '#/components/x-stackQL-resources/org_group_memberships/methods/list_org_group_memberships' + insert: [] + update: + - $ref: '#/components/x-stackQL-resources/org_group_memberships/methods/update_org_group_membership' delete: [] replace: [] - domain_allowlist: - id: datadog.organization.domain_allowlist - name: domain_allowlist - title: Domain Allowlist + org_group_policies: + id: datadog.organization.org_group_policies + name: org_group_policies + title: Org Group Policies methods: - get_domain_allowlist: + list_org_group_policies: operation: - $ref: '#/paths/~1api~1v2~1domain_allowlist/get' + $ref: '#/paths/~1api~1v2~1org_group_policies/get' response: mediaType: application/json openAPIDocKey: '200' objectKey: $.data - patch_domain_allowlist: + request: + nativeCasing: camel + config: + queryParamPushdown: + top: + paramName: page[size] + maxValue: 1000 + create_org_group_policy: + config: + requestBodyTranslate: + algorithm: naive operation: - $ref: '#/paths/~1api~1v2~1domain_allowlist/patch' + $ref: '#/paths/~1api~1v2~1org_group_policies/post' + response: + mediaType: application/json + openAPIDocKey: '201' + request: + nativeCasing: camel + delete_org_group_policy: + operation: + $ref: '#/paths/~1api~1v2~1org_group_policies~1{org_group_policy_id}/delete' + response: + mediaType: application/json + openAPIDocKey: '204' + request: + nativeCasing: camel + get_org_group_policy: + operation: + $ref: '#/paths/~1api~1v2~1org_group_policies~1{org_group_policy_id}/get' + response: + mediaType: application/json + openAPIDocKey: '200' + objectKey: $.data + request: + nativeCasing: camel + update_org_group_policy: + config: + requestBodyTranslate: + algorithm: naive + operation: + $ref: '#/paths/~1api~1v2~1org_group_policies~1{org_group_policy_id}/patch' response: mediaType: application/json openAPIDocKey: '200' + request: + nativeCasing: camel sqlVerbs: select: - - $ref: >- - #/components/x-stackQL-resources/domain_allowlist/methods/get_domain_allowlist - insert: [] + - $ref: '#/components/x-stackQL-resources/org_group_policies/methods/get_org_group_policy' + - $ref: '#/components/x-stackQL-resources/org_group_policies/methods/list_org_group_policies' + insert: + - $ref: '#/components/x-stackQL-resources/org_group_policies/methods/create_org_group_policy' update: - - $ref: >- - #/components/x-stackQL-resources/domain_allowlist/methods/patch_domain_allowlist - delete: [] + - $ref: '#/components/x-stackQL-resources/org_group_policies/methods/update_org_group_policy' + delete: + - $ref: '#/components/x-stackQL-resources/org_group_policies/methods/delete_org_group_policy' replace: [] - ip_allowlist: - id: datadog.organization.ip_allowlist - name: ip_allowlist - title: Ip Allowlist + org_group_policy_configs: + id: datadog.organization.org_group_policy_configs + name: org_group_policy_configs + title: Org Group Policy Configs methods: - get_ipallowlist: + list_org_group_policy_configs: operation: - $ref: '#/paths/~1api~1v2~1ip_allowlist/get' + $ref: '#/paths/~1api~1v2~1org_group_policy_configs/get' response: mediaType: application/json openAPIDocKey: '200' objectKey: $.data - update_ipallowlist: - operation: - $ref: '#/paths/~1api~1v2~1ip_allowlist/patch' - response: - mediaType: application/json - openAPIDocKey: '200' + request: + nativeCasing: camel sqlVerbs: select: - - $ref: >- - #/components/x-stackQL-resources/ip_allowlist/methods/get_ipallowlist + - $ref: '#/components/x-stackQL-resources/org_group_policy_configs/methods/list_org_group_policy_configs' insert: [] - update: - - $ref: >- - #/components/x-stackQL-resources/ip_allowlist/methods/update_ipallowlist + update: [] delete: [] replace: [] - configs: - id: datadog.organization.configs - name: configs - title: Configs + org_group_policy_overrides: + id: datadog.organization.org_group_policy_overrides + name: org_group_policy_overrides + title: Org Group Policy Overrides methods: - list_org_configs: + list_org_group_policy_overrides: operation: - $ref: '#/paths/~1api~1v2~1org_configs/get' + $ref: '#/paths/~1api~1v2~1org_group_policy_overrides/get' response: mediaType: application/json openAPIDocKey: '200' objectKey: $.data - get_org_config: + request: + nativeCasing: camel + config: + queryParamPushdown: + top: + paramName: page[size] + maxValue: 1000 + create_org_group_policy_override: + config: + requestBodyTranslate: + algorithm: naive operation: - $ref: '#/paths/~1api~1v2~1org_configs~1{org_config_name}/get' + $ref: '#/paths/~1api~1v2~1org_group_policy_overrides/post' + response: + mediaType: application/json + openAPIDocKey: '201' + request: + nativeCasing: camel + delete_org_group_policy_override: + operation: + $ref: '#/paths/~1api~1v2~1org_group_policy_overrides~1{org_group_policy_override_id}/delete' + response: + mediaType: application/json + openAPIDocKey: '204' + request: + nativeCasing: camel + get_org_group_policy_override: + operation: + $ref: '#/paths/~1api~1v2~1org_group_policy_overrides~1{org_group_policy_override_id}/get' response: mediaType: application/json openAPIDocKey: '200' objectKey: $.data - update_org_config: + request: + nativeCasing: camel + update_org_group_policy_override: + config: + requestBodyTranslate: + algorithm: naive operation: - $ref: '#/paths/~1api~1v2~1org_configs~1{org_config_name}/patch' + $ref: '#/paths/~1api~1v2~1org_group_policy_overrides~1{org_group_policy_override_id}/patch' response: mediaType: application/json openAPIDocKey: '200' + request: + nativeCasing: camel sqlVerbs: select: - - $ref: '#/components/x-stackQL-resources/configs/methods/get_org_config' - - $ref: '#/components/x-stackQL-resources/configs/methods/list_org_configs' - insert: [] + - $ref: '#/components/x-stackQL-resources/org_group_policy_overrides/methods/get_org_group_policy_override' + - $ref: '#/components/x-stackQL-resources/org_group_policy_overrides/methods/list_org_group_policy_overrides' + insert: + - $ref: '#/components/x-stackQL-resources/org_group_policy_overrides/methods/create_org_group_policy_override' update: - - $ref: '#/components/x-stackQL-resources/configs/methods/update_org_config' - delete: [] + - $ref: '#/components/x-stackQL-resources/org_group_policy_overrides/methods/update_org_group_policy_override' + delete: + - $ref: '#/components/x-stackQL-resources/org_group_policy_overrides/methods/delete_org_group_policy_override' replace: [] - connections: - id: datadog.organization.connections - name: connections - title: Connections + org_group_policy_suggestions: + id: datadog.organization.org_group_policy_suggestions + name: org_group_policy_suggestions + title: Org Group Policy Suggestions methods: - list_org_connections: + list_org_group_policy_suggestions: operation: - $ref: '#/paths/~1api~1v2~1org_connections/get' + $ref: '#/paths/~1api~1v2~1org_group_policy_suggestions/get' response: mediaType: application/json openAPIDocKey: '200' objectKey: $.data - create_org_connections: + request: + nativeCasing: camel + sqlVerbs: + select: + - $ref: '#/components/x-stackQL-resources/org_group_policy_suggestions/methods/list_org_group_policy_suggestions' + insert: [] + update: [] + delete: [] + replace: [] + org_groups: + id: datadog.organization.org_groups + name: org_groups + title: Org Groups + methods: + list_org_groups: operation: - $ref: '#/paths/~1api~1v2~1org_connections/post' + $ref: '#/paths/~1api~1v2~1org_groups/get' response: mediaType: application/json openAPIDocKey: '200' - delete_org_connections: + objectKey: $.data + request: + nativeCasing: camel + config: + queryParamPushdown: + top: + paramName: page[size] + maxValue: 1000 + create_org_group: + config: + requestBodyTranslate: + algorithm: naive operation: - $ref: '#/paths/~1api~1v2~1org_connections~1{connection_id}/delete' + $ref: '#/paths/~1api~1v2~1org_groups/post' + response: + mediaType: application/json + openAPIDocKey: '201' + request: + nativeCasing: camel + delete_org_group: + operation: + $ref: '#/paths/~1api~1v2~1org_groups~1{org_group_id}/delete' + response: + mediaType: application/json + openAPIDocKey: '204' + request: + nativeCasing: camel + get_org_group: + operation: + $ref: '#/paths/~1api~1v2~1org_groups~1{org_group_id}/get' response: mediaType: application/json openAPIDocKey: '200' - update_org_connections: + objectKey: $.data + request: + nativeCasing: camel + update_org_group: + config: + requestBodyTranslate: + algorithm: naive operation: - $ref: '#/paths/~1api~1v2~1org_connections~1{connection_id}/patch' + $ref: '#/paths/~1api~1v2~1org_groups~1{org_group_id}/patch' response: mediaType: application/json openAPIDocKey: '200' + request: + nativeCasing: camel sqlVerbs: select: - - $ref: >- - #/components/x-stackQL-resources/connections/methods/list_org_connections + - $ref: '#/components/x-stackQL-resources/org_groups/methods/get_org_group' + - $ref: '#/components/x-stackQL-resources/org_groups/methods/list_org_groups' insert: - - $ref: >- - #/components/x-stackQL-resources/connections/methods/create_org_connections + - $ref: '#/components/x-stackQL-resources/org_groups/methods/create_org_group' update: - - $ref: >- - #/components/x-stackQL-resources/connections/methods/update_org_connections + - $ref: '#/components/x-stackQL-resources/org_groups/methods/update_org_group' delete: - - $ref: >- - #/components/x-stackQL-resources/connections/methods/delete_org_connections + - $ref: '#/components/x-stackQL-resources/org_groups/methods/delete_org_group' replace: [] permissions: id: datadog.organization.permissions @@ -9731,14 +36896,83 @@ components: mediaType: application/json openAPIDocKey: '200' objectKey: $.data + request: + nativeCasing: camel sqlVerbs: select: - - $ref: >- - #/components/x-stackQL-resources/permissions/methods/list_permissions + - $ref: '#/components/x-stackQL-resources/permissions/methods/list_permissions' insert: [] update: [] delete: [] replace: [] + personal_access_tokens: + id: datadog.organization.personal_access_tokens + name: personal_access_tokens + title: Personal Access Tokens + methods: + list_personal_access_tokens: + operation: + $ref: '#/paths/~1api~1v2~1personal_access_tokens/get' + response: + mediaType: application/json + openAPIDocKey: '200' + objectKey: $.data + request: + nativeCasing: camel + config: + queryParamPushdown: + top: + paramName: page[size] + create_personal_access_token: + config: + requestBodyTranslate: + algorithm: naive + operation: + $ref: '#/paths/~1api~1v2~1personal_access_tokens/post' + response: + mediaType: application/json + openAPIDocKey: '201' + request: + nativeCasing: camel + revoke_personal_access_token: + operation: + $ref: '#/paths/~1api~1v2~1personal_access_tokens~1{token_id}/delete' + response: + mediaType: application/json + openAPIDocKey: '204' + request: + nativeCasing: camel + get_personal_access_token: + operation: + $ref: '#/paths/~1api~1v2~1personal_access_tokens~1{token_id}/get' + response: + mediaType: application/json + openAPIDocKey: '200' + objectKey: $.data + request: + nativeCasing: camel + update_personal_access_token: + config: + requestBodyTranslate: + algorithm: naive + operation: + $ref: '#/paths/~1api~1v2~1personal_access_tokens~1{token_id}/patch' + response: + mediaType: application/json + openAPIDocKey: '200' + request: + nativeCasing: camel + sqlVerbs: + select: + - $ref: '#/components/x-stackQL-resources/personal_access_tokens/methods/get_personal_access_token' + - $ref: '#/components/x-stackQL-resources/personal_access_tokens/methods/list_personal_access_tokens' + insert: + - $ref: '#/components/x-stackQL-resources/personal_access_tokens/methods/create_personal_access_token' + update: + - $ref: '#/components/x-stackQL-resources/personal_access_tokens/methods/update_personal_access_token' + delete: + - $ref: '#/components/x-stackQL-resources/personal_access_tokens/methods/revoke_personal_access_token' + replace: [] restriction_policies: id: datadog.organization.restriction_policies name: restriction_policies @@ -9750,6 +36984,8 @@ components: response: mediaType: application/json openAPIDocKey: '204' + request: + nativeCasing: camel get_restriction_policy: operation: $ref: '#/paths/~1api~1v2~1restriction_policy~1{resource_id}/get' @@ -9757,24 +36993,28 @@ components: mediaType: application/json openAPIDocKey: '200' objectKey: $.data + request: + nativeCasing: camel update_restriction_policy: + config: + requestBodyTranslate: + algorithm: naive operation: $ref: '#/paths/~1api~1v2~1restriction_policy~1{resource_id}/post' response: mediaType: application/json openAPIDocKey: '200' + request: + nativeCasing: camel sqlVerbs: select: - - $ref: >- - #/components/x-stackQL-resources/restriction_policies/methods/get_restriction_policy + - $ref: '#/components/x-stackQL-resources/restriction_policies/methods/get_restriction_policy' insert: [] update: [] delete: - - $ref: >- - #/components/x-stackQL-resources/restriction_policies/methods/delete_restriction_policy + - $ref: '#/components/x-stackQL-resources/restriction_policies/methods/delete_restriction_policy' replace: - - $ref: >- - #/components/x-stackQL-resources/restriction_policies/methods/update_restriction_policy + - $ref: '#/components/x-stackQL-resources/restriction_policies/methods/update_restriction_policy' roles: id: datadog.organization.roles name: roles @@ -9787,18 +37027,31 @@ components: mediaType: application/json openAPIDocKey: '200' objectKey: $.data + request: + nativeCasing: camel + config: + queryParamPushdown: + top: + paramName: page[size] create_role: + config: + requestBodyTranslate: + algorithm: naive operation: $ref: '#/paths/~1api~1v2~1roles/post' response: mediaType: application/json openAPIDocKey: '200' + request: + nativeCasing: camel delete_role: operation: $ref: '#/paths/~1api~1v2~1roles~1{role_id}/delete' response: mediaType: application/json openAPIDocKey: '204' + request: + nativeCasing: camel get_role: operation: $ref: '#/paths/~1api~1v2~1roles~1{role_id}/get' @@ -9806,18 +37059,30 @@ components: mediaType: application/json openAPIDocKey: '200' objectKey: $.data + request: + nativeCasing: camel update_role: + config: + requestBodyTranslate: + algorithm: naive operation: $ref: '#/paths/~1api~1v2~1roles~1{role_id}/patch' response: mediaType: application/json openAPIDocKey: '200' + request: + nativeCasing: camel clone_role: + config: + requestBodyTranslate: + algorithm: naive operation: $ref: '#/paths/~1api~1v2~1roles~1{role_id}~1clone/post' response: mediaType: application/json openAPIDocKey: '200' + request: + nativeCasing: camel sqlVerbs: select: - $ref: '#/components/x-stackQL-resources/roles/methods/get_role' @@ -9829,6 +37094,27 @@ components: delete: - $ref: '#/components/x-stackQL-resources/roles/methods/delete_role' replace: [] + role_templates: + id: datadog.organization.role_templates + name: role_templates + title: Role Templates + methods: + list_role_templates: + operation: + $ref: '#/paths/~1api~1v2~1roles~1templates/get' + response: + mediaType: application/json + openAPIDocKey: '200' + objectKey: $.data + request: + nativeCasing: camel + sqlVerbs: + select: + - $ref: '#/components/x-stackQL-resources/role_templates/methods/list_role_templates' + insert: [] + update: [] + delete: [] + replace: [] role_permissions: id: datadog.organization.role_permissions name: role_permissions @@ -9840,6 +37126,8 @@ components: response: mediaType: application/json openAPIDocKey: '200' + request: + nativeCasing: camel list_role_permissions: operation: $ref: '#/paths/~1api~1v2~1roles~1{role_id}~1permissions/get' @@ -9847,37 +37135,41 @@ components: mediaType: application/json openAPIDocKey: '200' objectKey: $.data + request: + nativeCasing: camel add_permission_to_role: + config: + requestBodyTranslate: + algorithm: naive operation: $ref: '#/paths/~1api~1v2~1roles~1{role_id}~1permissions/post' response: mediaType: application/json openAPIDocKey: '200' - remove_user_from_role: - operation: - $ref: '#/paths/~1api~1v2~1roles~1{role_id}~1users/delete' - response: - mediaType: application/json - openAPIDocKey: '200' + request: + nativeCasing: camel sqlVerbs: select: - - $ref: >- - #/components/x-stackQL-resources/role_permissions/methods/list_role_permissions + - $ref: '#/components/x-stackQL-resources/role_permissions/methods/list_role_permissions' insert: - - $ref: >- - #/components/x-stackQL-resources/role_permissions/methods/add_permission_to_role + - $ref: '#/components/x-stackQL-resources/role_permissions/methods/add_permission_to_role' update: [] delete: - - $ref: >- - #/components/x-stackQL-resources/role_permissions/methods/remove_permission_from_role - - $ref: >- - #/components/x-stackQL-resources/role_permissions/methods/remove_user_from_role + - $ref: '#/components/x-stackQL-resources/role_permissions/methods/remove_permission_from_role' replace: [] role_users: id: datadog.organization.role_users name: role_users title: Role Users methods: + remove_user_from_role: + operation: + $ref: '#/paths/~1api~1v2~1roles~1{role_id}~1users/delete' + response: + mediaType: application/json + openAPIDocKey: '200' + request: + nativeCasing: camel list_role_users: operation: $ref: '#/paths/~1api~1v2~1roles~1{role_id}~1users/get' @@ -9885,58 +37177,212 @@ components: mediaType: application/json openAPIDocKey: '200' objectKey: $.data + request: + nativeCasing: camel + config: + queryParamPushdown: + top: + paramName: page[size] add_user_to_role: + config: + requestBodyTranslate: + algorithm: naive operation: $ref: '#/paths/~1api~1v2~1roles~1{role_id}~1users/post' response: mediaType: application/json openAPIDocKey: '200' + request: + nativeCasing: camel sqlVerbs: select: - - $ref: >- - #/components/x-stackQL-resources/role_users/methods/list_role_users + - $ref: '#/components/x-stackQL-resources/role_users/methods/list_role_users' insert: - - $ref: >- - #/components/x-stackQL-resources/role_users/methods/add_user_to_role + - $ref: '#/components/x-stackQL-resources/role_users/methods/add_user_to_role' update: [] - delete: [] + delete: + - $ref: '#/components/x-stackQL-resources/role_users/methods/remove_user_from_role' replace: [] - idp_metadata: - id: datadog.organization.idp_metadata - name: idp_metadata - title: Idp Metadata + saml_configurations: + id: datadog.organization.saml_configurations + name: saml_configurations + title: Saml Configurations methods: - upload_id_pmetadata: + list_samlconfigurations: + operation: + $ref: '#/paths/~1api~1v2~1saml_configurations/get' + response: + mediaType: application/json + openAPIDocKey: '200' + objectKey: $.data + request: + nativeCasing: camel + get_samlconfiguration: + operation: + $ref: '#/paths/~1api~1v2~1saml_configurations~1{saml_config_uuid}/get' + response: + mediaType: application/json + openAPIDocKey: '200' + objectKey: $.data + request: + nativeCasing: camel + update_samlconfiguration: + config: + requestBodyTranslate: + algorithm: naive operation: - $ref: '#/paths/~1api~1v2~1saml_configurations~1idp_metadata/post' + $ref: '#/paths/~1api~1v2~1saml_configurations~1{saml_config_uuid}/patch' response: mediaType: application/json openAPIDocKey: '200' + request: + nativeCasing: camel sqlVerbs: - select: [] + select: + - $ref: '#/components/x-stackQL-resources/saml_configurations/methods/get_samlconfiguration' + - $ref: '#/components/x-stackQL-resources/saml_configurations/methods/list_samlconfigurations' insert: [] - update: [] + update: + - $ref: '#/components/x-stackQL-resources/saml_configurations/methods/update_samlconfiguration' delete: [] replace: [] + seat_assignments: + id: datadog.organization.seat_assignments + name: seat_assignments + title: Seat Assignments + methods: + unassign_seats_user: + operation: + $ref: '#/paths/~1api~1v2~1seats~1users/delete' + response: + mediaType: application/json + openAPIDocKey: '204' + request: + nativeCasing: camel + get_seats_users: + operation: + $ref: '#/paths/~1api~1v2~1seats~1users/get' + response: + mediaType: application/json + openAPIDocKey: '200' + objectKey: $.data + request: + nativeCasing: camel + config: + queryParamPushdown: + top: + paramName: page[limit] + assign_seats_user: + config: + requestBodyTranslate: + algorithm: naive + operation: + $ref: '#/paths/~1api~1v2~1seats~1users/post' + response: + mediaType: application/json + openAPIDocKey: '201' + request: + nativeCasing: camel + sqlVerbs: + select: + - $ref: '#/components/x-stackQL-resources/seat_assignments/methods/get_seats_users' + insert: + - $ref: '#/components/x-stackQL-resources/seat_assignments/methods/assign_seats_user' + update: [] + delete: + - $ref: '#/components/x-stackQL-resources/seat_assignments/methods/unassign_seats_user' + replace: [] service_accounts: id: datadog.organization.service_accounts name: service_accounts title: Service Accounts methods: create_service_account: + config: + requestBodyTranslate: + algorithm: naive operation: $ref: '#/paths/~1api~1v2~1service_accounts/post' response: mediaType: application/json openAPIDocKey: '201' + request: + nativeCasing: camel sqlVerbs: select: [] insert: - - $ref: >- - #/components/x-stackQL-resources/service_accounts/methods/create_service_account + - $ref: '#/components/x-stackQL-resources/service_accounts/methods/create_service_account' update: [] delete: [] replace: [] + service_account_access_tokens: + id: datadog.organization.service_account_access_tokens + name: service_account_access_tokens + title: Service Account Access Tokens + methods: + list_service_account_access_tokens: + operation: + $ref: '#/paths/~1api~1v2~1service_accounts~1{service_account_id}~1access_tokens/get' + response: + mediaType: application/json + openAPIDocKey: '200' + objectKey: $.data + request: + nativeCasing: camel + config: + queryParamPushdown: + top: + paramName: page[size] + create_service_account_access_token: + config: + requestBodyTranslate: + algorithm: naive + operation: + $ref: '#/paths/~1api~1v2~1service_accounts~1{service_account_id}~1access_tokens/post' + response: + mediaType: application/json + openAPIDocKey: '201' + request: + nativeCasing: camel + revoke_service_account_access_token: + operation: + $ref: '#/paths/~1api~1v2~1service_accounts~1{service_account_id}~1access_tokens~1{token_id}/delete' + response: + mediaType: application/json + openAPIDocKey: '204' + request: + nativeCasing: camel + get_service_account_access_token: + operation: + $ref: '#/paths/~1api~1v2~1service_accounts~1{service_account_id}~1access_tokens~1{token_id}/get' + response: + mediaType: application/json + openAPIDocKey: '200' + objectKey: $.data + request: + nativeCasing: camel + update_service_account_access_token: + config: + requestBodyTranslate: + algorithm: naive + operation: + $ref: '#/paths/~1api~1v2~1service_accounts~1{service_account_id}~1access_tokens~1{token_id}/patch' + response: + mediaType: application/json + openAPIDocKey: '200' + request: + nativeCasing: camel + sqlVerbs: + select: + - $ref: '#/components/x-stackQL-resources/service_account_access_tokens/methods/get_service_account_access_token' + - $ref: '#/components/x-stackQL-resources/service_account_access_tokens/methods/list_service_account_access_tokens' + insert: + - $ref: '#/components/x-stackQL-resources/service_account_access_tokens/methods/create_service_account_access_token' + update: + - $ref: '#/components/x-stackQL-resources/service_account_access_tokens/methods/update_service_account_access_token' + delete: + - $ref: '#/components/x-stackQL-resources/service_account_access_tokens/methods/revoke_service_account_access_token' + replace: [] service_account_keys: id: datadog.organization.service_account_keys name: service_account_keys @@ -9944,56 +37390,66 @@ components: methods: list_service_account_application_keys: operation: - $ref: >- - #/paths/~1api~1v2~1service_accounts~1{service_account_id}~1application_keys/get + $ref: '#/paths/~1api~1v2~1service_accounts~1{service_account_id}~1application_keys/get' response: mediaType: application/json openAPIDocKey: '200' objectKey: $.data + request: + nativeCasing: camel + config: + queryParamPushdown: + top: + paramName: page[size] create_service_account_application_key: + config: + requestBodyTranslate: + algorithm: naive operation: - $ref: >- - #/paths/~1api~1v2~1service_accounts~1{service_account_id}~1application_keys/post + $ref: '#/paths/~1api~1v2~1service_accounts~1{service_account_id}~1application_keys/post' response: mediaType: application/json openAPIDocKey: '201' + request: + nativeCasing: camel delete_service_account_application_key: operation: - $ref: >- - #/paths/~1api~1v2~1service_accounts~1{service_account_id}~1application_keys~1{app_key_id}/delete + $ref: '#/paths/~1api~1v2~1service_accounts~1{service_account_id}~1application_keys~1{app_key_id}/delete' response: mediaType: application/json openAPIDocKey: '204' + request: + nativeCasing: camel get_service_account_application_key: operation: - $ref: >- - #/paths/~1api~1v2~1service_accounts~1{service_account_id}~1application_keys~1{app_key_id}/get + $ref: '#/paths/~1api~1v2~1service_accounts~1{service_account_id}~1application_keys~1{app_key_id}/get' response: mediaType: application/json openAPIDocKey: '200' objectKey: $.data + request: + nativeCasing: camel update_service_account_application_key: + config: + requestBodyTranslate: + algorithm: naive operation: - $ref: >- - #/paths/~1api~1v2~1service_accounts~1{service_account_id}~1application_keys~1{app_key_id}/patch + $ref: '#/paths/~1api~1v2~1service_accounts~1{service_account_id}~1application_keys~1{app_key_id}/patch' response: mediaType: application/json openAPIDocKey: '200' + request: + nativeCasing: camel sqlVerbs: select: - - $ref: >- - #/components/x-stackQL-resources/service_account_keys/methods/get_service_account_application_key - - $ref: >- - #/components/x-stackQL-resources/service_account_keys/methods/list_service_account_application_keys + - $ref: '#/components/x-stackQL-resources/service_account_keys/methods/get_service_account_application_key' + - $ref: '#/components/x-stackQL-resources/service_account_keys/methods/list_service_account_application_keys' insert: - - $ref: >- - #/components/x-stackQL-resources/service_account_keys/methods/create_service_account_application_key + - $ref: '#/components/x-stackQL-resources/service_account_keys/methods/create_service_account_application_key' update: - - $ref: >- - #/components/x-stackQL-resources/service_account_keys/methods/update_service_account_application_key + - $ref: '#/components/x-stackQL-resources/service_account_keys/methods/update_service_account_application_key' delete: - - $ref: >- - #/components/x-stackQL-resources/service_account_keys/methods/delete_service_account_application_key + - $ref: '#/components/x-stackQL-resources/service_account_keys/methods/delete_service_account_application_key' replace: [] teams: id: datadog.organization.teams @@ -10007,24 +37463,42 @@ components: mediaType: application/json openAPIDocKey: '200' objectKey: $.data + request: + nativeCasing: camel + config: + queryParamPushdown: + top: + paramName: page[size] create_team: + config: + requestBodyTranslate: + algorithm: naive operation: $ref: '#/paths/~1api~1v2~1team/post' response: mediaType: application/json openAPIDocKey: '201' + request: + nativeCasing: camel sync_teams: + config: + requestBodyTranslate: + algorithm: naive operation: $ref: '#/paths/~1api~1v2~1team~1sync/post' response: mediaType: application/json openAPIDocKey: '200' + request: + nativeCasing: camel delete_team: operation: $ref: '#/paths/~1api~1v2~1team~1{team_id}/delete' response: mediaType: application/json openAPIDocKey: '204' + request: + nativeCasing: camel get_team: operation: $ref: '#/paths/~1api~1v2~1team~1{team_id}/get' @@ -10032,12 +37506,19 @@ components: mediaType: application/json openAPIDocKey: '200' objectKey: $.data + request: + nativeCasing: camel update_team: + config: + requestBodyTranslate: + algorithm: naive operation: $ref: '#/paths/~1api~1v2~1team~1{team_id}/patch' response: mediaType: application/json openAPIDocKey: '200' + request: + nativeCasing: camel sqlVerbs: select: - $ref: '#/components/x-stackQL-resources/teams/methods/get_team' @@ -10049,42 +37530,128 @@ components: delete: - $ref: '#/components/x-stackQL-resources/teams/methods/delete_team' replace: [] - team_members: - id: datadog.organization.team_members - name: team_members - title: Team Members + team_hierarchy_links: + id: datadog.organization.team_hierarchy_links + name: team_hierarchy_links + title: Team Hierarchy Links methods: - list_member_teams: + list_team_hierarchy_links: operation: - $ref: '#/paths/~1api~1v2~1team~1{super_team_id}~1member_teams/get' + $ref: '#/paths/~1api~1v2~1team-hierarchy-links/get' response: mediaType: application/json openAPIDocKey: '200' objectKey: $.data - add_member_team: + request: + nativeCasing: camel + config: + queryParamPushdown: + top: + paramName: page[size] + add_team_hierarchy_link: + config: + requestBodyTranslate: + algorithm: naive + operation: + $ref: '#/paths/~1api~1v2~1team-hierarchy-links/post' + response: + mediaType: application/json + openAPIDocKey: '200' + request: + nativeCasing: camel + remove_team_hierarchy_link: operation: - $ref: '#/paths/~1api~1v2~1team~1{super_team_id}~1member_teams/post' + $ref: '#/paths/~1api~1v2~1team-hierarchy-links~1{link_id}/delete' response: mediaType: application/json openAPIDocKey: '204' - remove_member_team: + request: + nativeCasing: camel + get_team_hierarchy_link: + operation: + $ref: '#/paths/~1api~1v2~1team-hierarchy-links~1{link_id}/get' + response: + mediaType: application/json + openAPIDocKey: '200' + objectKey: $.data + request: + nativeCasing: camel + sqlVerbs: + select: + - $ref: '#/components/x-stackQL-resources/team_hierarchy_links/methods/get_team_hierarchy_link' + - $ref: '#/components/x-stackQL-resources/team_hierarchy_links/methods/list_team_hierarchy_links' + insert: + - $ref: '#/components/x-stackQL-resources/team_hierarchy_links/methods/add_team_hierarchy_link' + update: [] + delete: + - $ref: '#/components/x-stackQL-resources/team_hierarchy_links/methods/remove_team_hierarchy_link' + replace: [] + team_connections: + id: datadog.organization.team_connections + name: team_connections + title: Team Connections + methods: + delete_team_connections: operation: - $ref: >- - #/paths/~1api~1v2~1team~1{super_team_id}~1member_teams~1{member_team_id}/delete + $ref: '#/paths/~1api~1v2~1team~1connections/delete' response: mediaType: application/json openAPIDocKey: '204' + request: + nativeCasing: camel + list_team_connections: + operation: + $ref: '#/paths/~1api~1v2~1team~1connections/get' + response: + mediaType: application/json + openAPIDocKey: '200' + objectKey: $.data + request: + nativeCasing: camel + config: + queryParamPushdown: + top: + paramName: page[size] + create_team_connections: + config: + requestBodyTranslate: + algorithm: naive + operation: + $ref: '#/paths/~1api~1v2~1team~1connections/post' + response: + mediaType: application/json + openAPIDocKey: '201' + request: + nativeCasing: camel sqlVerbs: select: - - $ref: >- - #/components/x-stackQL-resources/team_members/methods/list_member_teams + - $ref: '#/components/x-stackQL-resources/team_connections/methods/list_team_connections' insert: - - $ref: >- - #/components/x-stackQL-resources/team_members/methods/add_member_team + - $ref: '#/components/x-stackQL-resources/team_connections/methods/create_team_connections' update: [] delete: - - $ref: >- - #/components/x-stackQL-resources/team_members/methods/remove_member_team + - $ref: '#/components/x-stackQL-resources/team_connections/methods/delete_team_connections' + replace: [] + team_syncs: + id: datadog.organization.team_syncs + name: team_syncs + title: Team Syncs + methods: + get_team_sync: + operation: + $ref: '#/paths/~1api~1v2~1team~1sync/get' + response: + mediaType: application/json + openAPIDocKey: '200' + objectKey: $.data + request: + nativeCasing: camel + sqlVerbs: + select: + - $ref: '#/components/x-stackQL-resources/team_syncs/methods/get_team_sync' + insert: [] + update: [] + delete: [] replace: [] team_links: id: datadog.organization.team_links @@ -10098,18 +37665,27 @@ components: mediaType: application/json openAPIDocKey: '200' objectKey: $.data + request: + nativeCasing: camel create_team_link: + config: + requestBodyTranslate: + algorithm: naive operation: $ref: '#/paths/~1api~1v2~1team~1{team_id}~1links/post' response: mediaType: application/json openAPIDocKey: '200' + request: + nativeCasing: camel delete_team_link: operation: $ref: '#/paths/~1api~1v2~1team~1{team_id}~1links~1{link_id}/delete' response: mediaType: application/json openAPIDocKey: '204' + request: + nativeCasing: camel get_team_link: operation: $ref: '#/paths/~1api~1v2~1team~1{team_id}~1links~1{link_id}/get' @@ -10117,70 +37693,152 @@ components: mediaType: application/json openAPIDocKey: '200' objectKey: $.data + request: + nativeCasing: camel update_team_link: + config: + requestBodyTranslate: + algorithm: naive operation: $ref: '#/paths/~1api~1v2~1team~1{team_id}~1links~1{link_id}/patch' response: mediaType: application/json openAPIDocKey: '200' + request: + nativeCasing: camel + sqlVerbs: + select: + - $ref: '#/components/x-stackQL-resources/team_links/methods/get_team_link' + - $ref: '#/components/x-stackQL-resources/team_links/methods/get_team_links' + insert: + - $ref: '#/components/x-stackQL-resources/team_links/methods/create_team_link' + update: + - $ref: '#/components/x-stackQL-resources/team_links/methods/update_team_link' + delete: + - $ref: '#/components/x-stackQL-resources/team_links/methods/delete_team_link' + replace: [] + team_memberships: + id: datadog.organization.team_memberships + name: team_memberships + title: Team Memberships + methods: + get_team_memberships: + operation: + $ref: '#/paths/~1api~1v2~1team~1{team_id}~1memberships/get' + response: + mediaType: application/json + openAPIDocKey: '200' + objectKey: $.data + request: + nativeCasing: camel + config: + queryParamPushdown: + top: + paramName: page[size] + create_team_membership: + config: + requestBodyTranslate: + algorithm: naive + operation: + $ref: '#/paths/~1api~1v2~1team~1{team_id}~1memberships/post' + response: + mediaType: application/json + openAPIDocKey: '200' + request: + nativeCasing: camel + delete_team_membership: + operation: + $ref: '#/paths/~1api~1v2~1team~1{team_id}~1memberships~1{user_id}/delete' + response: + mediaType: application/json + openAPIDocKey: '204' + request: + nativeCasing: camel + update_team_membership: + config: + requestBodyTranslate: + algorithm: naive + operation: + $ref: '#/paths/~1api~1v2~1team~1{team_id}~1memberships~1{user_id}/patch' + response: + mediaType: application/json + openAPIDocKey: '200' + request: + nativeCasing: camel sqlVerbs: select: - - $ref: '#/components/x-stackQL-resources/team_links/methods/get_team_link' - - $ref: '#/components/x-stackQL-resources/team_links/methods/get_team_links' + - $ref: '#/components/x-stackQL-resources/team_memberships/methods/get_team_memberships' insert: - - $ref: >- - #/components/x-stackQL-resources/team_links/methods/create_team_link + - $ref: '#/components/x-stackQL-resources/team_memberships/methods/create_team_membership' update: - - $ref: >- - #/components/x-stackQL-resources/team_links/methods/update_team_link + - $ref: '#/components/x-stackQL-resources/team_memberships/methods/update_team_membership' delete: - - $ref: >- - #/components/x-stackQL-resources/team_links/methods/delete_team_link + - $ref: '#/components/x-stackQL-resources/team_memberships/methods/delete_team_membership' replace: [] - team_memberships: - id: datadog.organization.team_memberships - name: team_memberships - title: Team Memberships + team_notification_rules: + id: datadog.organization.team_notification_rules + name: team_notification_rules + title: Team Notification Rules methods: - get_team_memberships: + get_team_notification_rules: operation: - $ref: '#/paths/~1api~1v2~1team~1{team_id}~1memberships/get' + $ref: '#/paths/~1api~1v2~1team~1{team_id}~1notification-rules/get' response: mediaType: application/json openAPIDocKey: '200' objectKey: $.data - create_team_membership: + request: + nativeCasing: camel + create_team_notification_rule: + config: + requestBodyTranslate: + algorithm: naive operation: - $ref: '#/paths/~1api~1v2~1team~1{team_id}~1memberships/post' + $ref: '#/paths/~1api~1v2~1team~1{team_id}~1notification-rules/post' response: mediaType: application/json - openAPIDocKey: '200' - delete_team_membership: + openAPIDocKey: '201' + request: + nativeCasing: camel + delete_team_notification_rule: operation: - $ref: '#/paths/~1api~1v2~1team~1{team_id}~1memberships~1{user_id}/delete' + $ref: '#/paths/~1api~1v2~1team~1{team_id}~1notification-rules~1{rule_id}/delete' response: mediaType: application/json openAPIDocKey: '204' - update_team_membership: + request: + nativeCasing: camel + get_team_notification_rule: operation: - $ref: '#/paths/~1api~1v2~1team~1{team_id}~1memberships~1{user_id}/patch' + $ref: '#/paths/~1api~1v2~1team~1{team_id}~1notification-rules~1{rule_id}/get' + response: + mediaType: application/json + openAPIDocKey: '200' + objectKey: $.data + request: + nativeCasing: camel + update_team_notification_rule: + config: + requestBodyTranslate: + algorithm: naive + operation: + $ref: '#/paths/~1api~1v2~1team~1{team_id}~1notification-rules~1{rule_id}/put' response: mediaType: application/json openAPIDocKey: '200' + request: + nativeCasing: camel sqlVerbs: select: - - $ref: >- - #/components/x-stackQL-resources/team_memberships/methods/get_team_memberships + - $ref: '#/components/x-stackQL-resources/team_notification_rules/methods/get_team_notification_rule' + - $ref: '#/components/x-stackQL-resources/team_notification_rules/methods/get_team_notification_rules' insert: - - $ref: >- - #/components/x-stackQL-resources/team_memberships/methods/create_team_membership - update: - - $ref: >- - #/components/x-stackQL-resources/team_memberships/methods/update_team_membership + - $ref: '#/components/x-stackQL-resources/team_notification_rules/methods/create_team_notification_rule' + update: [] delete: - - $ref: >- - #/components/x-stackQL-resources/team_memberships/methods/delete_team_membership - replace: [] + - $ref: '#/components/x-stackQL-resources/team_notification_rules/methods/delete_team_notification_rule' + replace: + - $ref: '#/components/x-stackQL-resources/team_notification_rules/methods/update_team_notification_rule' team_permission_settings: id: datadog.organization.team_permission_settings name: team_permission_settings @@ -10193,43 +37851,27 @@ components: mediaType: application/json openAPIDocKey: '200' objectKey: $.data + request: + nativeCasing: camel update_team_permission_setting: + config: + requestBodyTranslate: + algorithm: naive operation: - $ref: >- - #/paths/~1api~1v2~1team~1{team_id}~1permission-settings~1{action}/put + $ref: '#/paths/~1api~1v2~1team~1{team_id}~1permission-settings~1{action}/put' response: mediaType: application/json openAPIDocKey: '200' + request: + nativeCasing: camel sqlVerbs: select: - - $ref: >- - #/components/x-stackQL-resources/team_permission_settings/methods/get_team_permission_settings + - $ref: '#/components/x-stackQL-resources/team_permission_settings/methods/get_team_permission_settings' insert: [] update: [] delete: [] replace: - - $ref: >- - #/components/x-stackQL-resources/team_permission_settings/methods/update_team_permission_setting - usage_application_security_monitoring: - id: datadog.organization.usage_application_security_monitoring - name: usage_application_security_monitoring - title: Usage Application Security Monitoring - methods: - get_usage_application_security_monitoring: - operation: - $ref: '#/paths/~1api~1v2~1usage~1application_security/get' - response: - mediaType: application/json;datetime-format=rfc3339 - openAPIDocKey: '200' - objectKey: $.data - sqlVerbs: - select: - - $ref: >- - #/components/x-stackQL-resources/usage_application_security_monitoring/methods/get_usage_application_security_monitoring - insert: [] - update: [] - delete: [] - replace: [] + - $ref: '#/components/x-stackQL-resources/team_permission_settings/methods/update_team_permission_setting' billing_dimension_mapping: id: datadog.organization.billing_dimension_mapping name: billing_dimension_mapping @@ -10239,33 +37881,14 @@ components: operation: $ref: '#/paths/~1api~1v2~1usage~1billing_dimension_mapping/get' response: - mediaType: application/json;datetime-format=rfc3339 - openAPIDocKey: '200' - objectKey: $.data - sqlVerbs: - select: - - $ref: >- - #/components/x-stackQL-resources/billing_dimension_mapping/methods/get_billing_dimension_mapping - insert: [] - update: [] - delete: [] - replace: [] - cost_by_org: - id: datadog.organization.cost_by_org - name: cost_by_org - title: Cost By Org - methods: - get_cost_by_org: - operation: - $ref: '#/paths/~1api~1v2~1usage~1cost_by_org/get' - response: - mediaType: application/json;datetime-format=rfc3339 + mediaType: application/json openAPIDocKey: '200' objectKey: $.data + request: + nativeCasing: camel sqlVerbs: select: - - $ref: >- - #/components/x-stackQL-resources/cost_by_org/methods/get_cost_by_org + - $ref: '#/components/x-stackQL-resources/billing_dimension_mapping/methods/get_billing_dimension_mapping' insert: [] update: [] delete: [] @@ -10279,13 +37902,14 @@ components: operation: $ref: '#/paths/~1api~1v2~1usage~1estimated_cost/get' response: - mediaType: application/json;datetime-format=rfc3339 + mediaType: application/json openAPIDocKey: '200' objectKey: $.data + request: + nativeCasing: camel sqlVerbs: select: - - $ref: >- - #/components/x-stackQL-resources/estimated_cost_by_org/methods/get_estimated_cost_by_org + - $ref: '#/components/x-stackQL-resources/estimated_cost_by_org/methods/get_estimated_cost_by_org' insert: [] update: [] delete: [] @@ -10299,13 +37923,14 @@ components: operation: $ref: '#/paths/~1api~1v2~1usage~1historical_cost/get' response: - mediaType: application/json;datetime-format=rfc3339 + mediaType: application/json openAPIDocKey: '200' objectKey: $.data + request: + nativeCasing: camel sqlVerbs: select: - - $ref: >- - #/components/x-stackQL-resources/historical_cost_by_org/methods/get_historical_cost_by_org + - $ref: '#/components/x-stackQL-resources/historical_cost_by_org/methods/get_historical_cost_by_org' insert: [] update: [] delete: [] @@ -10319,149 +37944,222 @@ components: operation: $ref: '#/paths/~1api~1v2~1usage~1hourly_usage/get' response: - mediaType: application/json;datetime-format=rfc3339 + mediaType: application/json openAPIDocKey: '200' objectKey: $.data + request: + nativeCasing: camel + config: + queryParamPushdown: + top: + paramName: page[limit] + maxValue: 500 sqlVerbs: select: - - $ref: >- - #/components/x-stackQL-resources/hourly_usage/methods/get_hourly_usage + - $ref: '#/components/x-stackQL-resources/hourly_usage/methods/get_hourly_usage' insert: [] update: [] delete: [] replace: [] - lambda_traced_invocations_usage: - id: datadog.organization.lambda_traced_invocations_usage - name: lambda_traced_invocations_usage - title: Lambda Traced Invocations Usage + projected_cost: + id: datadog.organization.projected_cost + name: projected_cost + title: Projected Cost methods: - get_usage_lambda_traced_invocations: + get_projected_cost: operation: - $ref: '#/paths/~1api~1v2~1usage~1lambda_traced_invocations/get' + $ref: '#/paths/~1api~1v2~1usage~1projected_cost/get' response: - mediaType: application/json;datetime-format=rfc3339 + mediaType: application/json openAPIDocKey: '200' objectKey: $.data + request: + nativeCasing: camel sqlVerbs: select: - - $ref: >- - #/components/x-stackQL-resources/lambda_traced_invocations_usage/methods/get_usage_lambda_traced_invocations + - $ref: '#/components/x-stackQL-resources/projected_cost/methods/get_projected_cost' insert: [] update: [] delete: [] replace: [] - observability_pipelines_usage: - id: datadog.organization.observability_pipelines_usage - name: observability_pipelines_usage - title: Observability Pipelines Usage + usage_summary_available_fields: + id: datadog.organization.usage_summary_available_fields + name: usage_summary_available_fields + title: Usage Summary Available Fields methods: - get_usage_observability_pipelines: + get_usage_summary_available_fields: operation: - $ref: '#/paths/~1api~1v2~1usage~1observability_pipelines/get' + $ref: '#/paths/~1api~1v2~1usage~1summary~1available_fields/get' response: - mediaType: application/json;datetime-format=rfc3339 + mediaType: application/json openAPIDocKey: '200' objectKey: $.data + request: + nativeCasing: camel sqlVerbs: select: - - $ref: >- - #/components/x-stackQL-resources/observability_pipelines_usage/methods/get_usage_observability_pipelines + - $ref: '#/components/x-stackQL-resources/usage_summary_available_fields/methods/get_usage_summary_available_fields' insert: [] update: [] delete: [] replace: [] - projected_cost: - id: datadog.organization.projected_cost - name: projected_cost - title: Projected Cost + usage_usage_attribution_types: + id: datadog.organization.usage_usage_attribution_types + name: usage_usage_attribution_types + title: Usage Usage Attribution Types methods: - get_projected_cost: + get_usage_attribution_types: operation: - $ref: '#/paths/~1api~1v2~1usage~1projected_cost/get' + $ref: '#/paths/~1api~1v2~1usage~1usage-attribution-types/get' response: - mediaType: application/json;datetime-format=rfc3339 + mediaType: application/json openAPIDocKey: '200' objectKey: $.data + request: + nativeCasing: camel sqlVerbs: select: - - $ref: >- - #/components/x-stackQL-resources/projected_cost/methods/get_projected_cost + - $ref: '#/components/x-stackQL-resources/usage_usage_attribution_types/methods/get_usage_attribution_types' insert: [] update: [] delete: [] replace: [] - invitations: - id: datadog.organization.invitations - name: invitations - title: Invitations + user_authorized_clients: + id: datadog.organization.user_authorized_clients + name: user_authorized_clients + title: User Authorized Clients methods: - send_invitations: + list_user_authorized_clients: operation: - $ref: '#/paths/~1api~1v2~1user_invitations/post' + $ref: '#/paths/~1api~1v2~1user_authorized_clients/get' response: mediaType: application/json - openAPIDocKey: '201' - get_invitation: + openAPIDocKey: '200' + objectKey: $.data + request: + nativeCasing: camel + config: + queryParamPushdown: + top: + paramName: page[size] + delete_user_authorized_client: operation: - $ref: '#/paths/~1api~1v2~1user_invitations~1{user_invitation_uuid}/get' + $ref: '#/paths/~1api~1v2~1user_authorized_clients~1{user_authorized_client_id}/delete' + response: + mediaType: application/json + openAPIDocKey: '204' + request: + nativeCasing: camel + get_user_authorized_client: + operation: + $ref: '#/paths/~1api~1v2~1user_authorized_clients~1{user_authorized_client_id}/get' response: mediaType: application/json openAPIDocKey: '200' objectKey: $.data + request: + nativeCasing: camel sqlVerbs: select: - - $ref: >- - #/components/x-stackQL-resources/invitations/methods/get_invitation + - $ref: '#/components/x-stackQL-resources/user_authorized_clients/methods/get_user_authorized_client' + - $ref: '#/components/x-stackQL-resources/user_authorized_clients/methods/list_user_authorized_clients' insert: [] update: [] - delete: [] + delete: + - $ref: '#/components/x-stackQL-resources/user_authorized_clients/methods/delete_user_authorized_client' replace: [] - users: - id: datadog.organization.users - name: users - title: Users + user_authorized_client_clients: + id: datadog.organization.user_authorized_client_clients + name: user_authorized_client_clients + title: User Authorized Client Clients methods: - list_users: + delete_user_authorized_clients_by_client: operation: - $ref: '#/paths/~1api~1v2~1users/get' + $ref: '#/paths/~1api~1v2~1user_authorized_clients~1client~1{client_id}/delete' response: mediaType: application/json - openAPIDocKey: '200' - objectKey: $.data - create_user: + openAPIDocKey: '204' + request: + nativeCasing: camel + sqlVerbs: + select: [] + insert: [] + update: [] + delete: + - $ref: '#/components/x-stackQL-resources/user_authorized_client_clients/methods/delete_user_authorized_clients_by_client' + replace: [] + invitations: + id: datadog.organization.invitations + name: invitations + title: Invitations + methods: + send_invitations: + config: + requestBodyTranslate: + algorithm: naive operation: - $ref: '#/paths/~1api~1v2~1users/post' + $ref: '#/paths/~1api~1v2~1user_invitations/post' response: mediaType: application/json openAPIDocKey: '201' - disable_user: + request: + nativeCasing: camel + get_invitation: operation: - $ref: '#/paths/~1api~1v2~1users~1{user_id}/delete' + $ref: '#/paths/~1api~1v2~1user_invitations~1{user_invitation_uuid}/get' response: mediaType: application/json - openAPIDocKey: '204' - get_user: + openAPIDocKey: '200' + objectKey: $.data + request: + nativeCasing: camel + sqlVerbs: + select: + - $ref: '#/components/x-stackQL-resources/invitations/methods/get_invitation' + insert: [] + update: [] + delete: [] + replace: [] + user_identity_providers: + id: datadog.organization.user_identity_providers + name: user_identity_providers + title: User Identity Providers + methods: + get_user_identity_providers: operation: - $ref: '#/paths/~1api~1v2~1users~1{user_id}/get' + $ref: '#/paths/~1api~1v2~1users~1{user_id}~1identity_providers/get' response: mediaType: application/json openAPIDocKey: '200' objectKey: $.data - update_user: + request: + nativeCasing: camel + sqlVerbs: + select: + - $ref: '#/components/x-stackQL-resources/user_identity_providers/methods/get_user_identity_providers' + insert: [] + update: [] + delete: [] + replace: [] + user_invitations: + id: datadog.organization.user_invitations + name: user_invitations + title: User Invitations + methods: + delete_user_invitations: operation: - $ref: '#/paths/~1api~1v2~1users~1{user_id}/patch' + $ref: '#/paths/~1api~1v2~1users~1{user_id}~1invitations/delete' response: mediaType: application/json openAPIDocKey: '200' + request: + nativeCasing: camel sqlVerbs: - select: - - $ref: '#/components/x-stackQL-resources/users/methods/get_user' - - $ref: '#/components/x-stackQL-resources/users/methods/list_users' - insert: - - $ref: '#/components/x-stackQL-resources/users/methods/create_user' - update: - - $ref: '#/components/x-stackQL-resources/users/methods/update_user' - delete: [] + select: [] + insert: [] + update: [] + delete: + - $ref: '#/components/x-stackQL-resources/user_invitations/methods/delete_user_invitations' replace: [] user_organizations: id: datadog.organization.user_organizations @@ -10475,10 +38173,11 @@ components: mediaType: application/json openAPIDocKey: '200' objectKey: $.data + request: + nativeCasing: camel sqlVerbs: select: - - $ref: >- - #/components/x-stackQL-resources/user_organizations/methods/list_user_organizations + - $ref: '#/components/x-stackQL-resources/user_organizations/methods/list_user_organizations' insert: [] update: [] delete: [] @@ -10495,14 +38194,38 @@ components: mediaType: application/json openAPIDocKey: '200' objectKey: $.data + request: + nativeCasing: camel sqlVerbs: select: - - $ref: >- - #/components/x-stackQL-resources/user_permissions/methods/list_user_permissions + - $ref: '#/components/x-stackQL-resources/user_permissions/methods/list_user_permissions' insert: [] update: [] delete: [] replace: [] + user_relationship_identity_providers: + id: datadog.organization.user_relationship_identity_providers + name: user_relationship_identity_providers + title: User Relationship Identity Providers + methods: + update_user_identity_providers: + config: + requestBodyTranslate: + algorithm: naive + operation: + $ref: '#/paths/~1api~1v2~1users~1{user_id}~1relationships~1identity_providers/patch' + response: + mediaType: application/json + openAPIDocKey: '204' + request: + nativeCasing: camel + sqlVerbs: + select: [] + insert: [] + update: + - $ref: '#/components/x-stackQL-resources/user_relationship_identity_providers/methods/update_user_identity_providers' + delete: [] + replace: [] user_team_memberships: id: datadog.organization.user_team_memberships name: user_team_memberships @@ -10515,17 +38238,211 @@ components: mediaType: application/json openAPIDocKey: '200' objectKey: $.data + request: + nativeCasing: camel + sqlVerbs: + select: + - $ref: '#/components/x-stackQL-resources/user_team_memberships/methods/get_user_memberships' + insert: [] + update: [] + delete: [] + replace: [] + api_key_validation: + id: datadog.organization.api_key_validation + name: api_key_validation + title: Api Key Validation + methods: + validate: + operation: + $ref: '#/paths/~1api~1v2~1validate/get' + response: + mediaType: application/json + openAPIDocKey: '200' + objectKey: $.data + request: + nativeCasing: camel + sqlVerbs: + select: + - $ref: '#/components/x-stackQL-resources/api_key_validation/methods/validate' + insert: [] + update: [] + delete: [] + replace: [] + key_validation: + id: datadog.organization.key_validation + name: key_validation + title: Key Validation + methods: + validate_apikey: + operation: + $ref: '#/paths/~1api~1v2~1validate_keys/get' + response: + mediaType: application/json + openAPIDocKey: '200' + request: + nativeCasing: camel + sqlVerbs: + select: + - $ref: '#/components/x-stackQL-resources/key_validation/methods/validate_apikey' + insert: [] + update: [] + delete: [] + replace: [] + ip_ranges: + id: datadog.organization.ip_ranges + name: ip_ranges + title: Ip Ranges + methods: + get_ipranges: + operation: + $ref: '#/paths/~1/get' + response: + mediaType: application/json + openAPIDocKey: '200' + request: + nativeCasing: camel + sqlVerbs: + select: + - $ref: '#/components/x-stackQL-resources/ip_ranges/methods/get_ipranges' + insert: [] + update: [] + delete: [] + replace: [] + usage_billable_summary: + id: datadog.organization.usage_billable_summary + name: usage_billable_summary + title: Usage Billable Summary + methods: + get_usage_billable_summary: + operation: + $ref: '#/paths/~1api~1v1~1usage~1billable-summary/get' + response: + mediaType: application/json + openAPIDocKey: '200' + objectKey: $.usage + request: + nativeCasing: camel + sqlVerbs: + select: + - $ref: '#/components/x-stackQL-resources/usage_billable_summary/methods/get_usage_billable_summary' + insert: [] + update: [] + delete: [] + replace: [] + usage_hourly_attribution: + id: datadog.organization.usage_hourly_attribution + name: usage_hourly_attribution + title: Usage Hourly Attribution + methods: + get_hourly_usage_attribution: + operation: + $ref: '#/paths/~1api~1v1~1usage~1hourly-attribution/get' + response: + mediaType: application/json + openAPIDocKey: '200' + objectKey: $.usage + request: + nativeCasing: camel + sqlVerbs: + select: + - $ref: '#/components/x-stackQL-resources/usage_hourly_attribution/methods/get_hourly_usage_attribution' + insert: [] + update: [] + delete: [] + replace: [] + usage_logs_by_index: + id: datadog.organization.usage_logs_by_index + name: usage_logs_by_index + title: Usage Logs By Index + methods: + get_usage_logs_by_index: + operation: + $ref: '#/paths/~1api~1v1~1usage~1logs_by_index/get' + response: + mediaType: application/json + openAPIDocKey: '200' + objectKey: $.usage + request: + nativeCasing: camel + sqlVerbs: + select: + - $ref: '#/components/x-stackQL-resources/usage_logs_by_index/methods/get_usage_logs_by_index' + insert: [] + update: [] + delete: [] + replace: [] + usage_monthly_attribution: + id: datadog.organization.usage_monthly_attribution + name: usage_monthly_attribution + title: Usage Monthly Attribution + methods: + get_monthly_usage_attribution: + operation: + $ref: '#/paths/~1api~1v1~1usage~1monthly-attribution/get' + response: + mediaType: application/json + openAPIDocKey: '200' + objectKey: $.usage + request: + nativeCasing: camel + sqlVerbs: + select: + - $ref: '#/components/x-stackQL-resources/usage_monthly_attribution/methods/get_monthly_usage_attribution' + insert: [] + update: [] + delete: [] + replace: [] + usage_summary: + id: datadog.organization.usage_summary + name: usage_summary + title: Usage Summary + methods: + get_usage_summary: + operation: + $ref: '#/paths/~1api~1v1~1usage~1summary/get' + response: + mediaType: application/json + openAPIDocKey: '200' + objectKey: $.usage + request: + nativeCasing: camel + sqlVerbs: + select: + - $ref: '#/components/x-stackQL-resources/usage_summary/methods/get_usage_summary' + insert: [] + update: [] + delete: [] + replace: [] + usage_top_avg_metrics: + id: datadog.organization.usage_top_avg_metrics + name: usage_top_avg_metrics + title: Usage Top Avg Metrics + methods: + get_usage_top_avg_metrics: + operation: + $ref: '#/paths/~1api~1v1~1usage~1top_avg_metrics/get' + response: + mediaType: application/json + openAPIDocKey: '200' + objectKey: $.usage + request: + nativeCasing: camel + config: + queryParamPushdown: + top: + paramName: limit + maxValue: 5000 sqlVerbs: select: - - $ref: >- - #/components/x-stackQL-resources/user_team_memberships/methods/get_user_memberships + - $ref: '#/components/x-stackQL-resources/usage_top_avg_metrics/methods/get_usage_top_avg_metrics' insert: [] update: [] delete: [] replace: [] servers: - - url: >- - https://{region:^(?:[^\:/]+(?:\:[0-9]+)?|[0-9]+\.[0-9]+\.[0-9]+\.[0-9]+(?:\:[0-9]+)?)$}/ + - url: https://api.{site:.+} variables: - region: + site: default: datadoghq.com + description: The Datadog site (region) for your organization, for example datadoghq.com, us3.datadoghq.com, us5.datadoghq.com, ap1.datadoghq.com, ap2.datadoghq.com, datadoghq.eu, ddog-gov.com. Resolved from the DD_SITE environment variable when set. + x-stackQL-envVar: DD_SITE diff --git a/providers/src/datadog/v00.00.00000/services/remote_config.yaml b/providers/src/datadog/v00.00.00000/services/remote_config.yaml index 18f6f300..fe066afb 100644 --- a/providers/src/datadog/v00.00.00000/services/remote_config.yaml +++ b/providers/src/datadog/v00.00.00000/services/remote_config.yaml @@ -12,9 +12,29 @@ paths: '200': content: application/json: + examples: + default: + value: + data: + - attributes: + blocking: false + conditions: + - operator: match_regex + parameters: + inputs: + - address: server.request.query + key_path: + - id + regex: path.* + enabled: false + name: Block request from bad useragent + tags: + category: attack_attempt + type: lfi + id: 00000000-0000-0000-0000-000000000003 + type: custom_rule schema: - $ref: >- - #/components/schemas/ApplicationSecurityWafCustomRuleListResponse + $ref: '#/components/schemas/ApplicationSecurityWafCustomRuleListResponse' description: OK '403': $ref: '#/components/responses/NotAuthorizedResponse' @@ -29,15 +49,62 @@ paths: requestBody: content: application/json: + examples: + default: + value: + data: + attributes: + action: + action: block_request + parameters: + location: /blocking + status_code: 403 + blocking: false + conditions: + - operator: match_regex + parameters: + data: blocked_users + regex: path.* + value: custom_tag + enabled: false + name: Block request from a bad useragent + path_glob: /api/search/* + scope: + - env: prod + service: billing-service + tags: + category: business_logic + type: users.login.success + type: custom_rule schema: - $ref: >- - #/components/schemas/ApplicationSecurityWafCustomRuleCreateRequest + $ref: '#/components/schemas/ApplicationSecurityWafCustomRuleCreateRequest' description: The definition of the new WAF Custom Rule. required: true responses: '201': content: application/json: + examples: + default: + value: + data: + attributes: + blocking: false + conditions: + - operator: match_regex + parameters: + inputs: + - address: server.request.query + key_path: + - id + regex: path.* + enabled: false + name: Block request from a bad useragent + tags: + category: attack_attempt + type: lfi + id: 00000000-0000-0000-0000-000000000004 + type: custom_rule schema: $ref: '#/components/schemas/ApplicationSecurityWafCustomRuleResponse' description: Created @@ -83,6 +150,27 @@ paths: '200': content: application/json: + examples: + default: + value: + data: + attributes: + blocking: false + conditions: + - operator: match_regex + parameters: + inputs: + - address: server.request.query + key_path: + - id + regex: path.* + enabled: false + name: Block request from bad useragent + tags: + category: attack_attempt + type: lfi + id: 00000000-0000-0000-0000-000000000001 + type: custom_rule schema: $ref: '#/components/schemas/ApplicationSecurityWafCustomRuleResponse' description: OK @@ -104,15 +192,66 @@ paths: requestBody: content: application/json: + examples: + default: + value: + data: + attributes: + action: + action: block_request + parameters: + location: /blocking + status_code: 403 + blocking: false + conditions: + - operator: match_regex + parameters: + data: blocked_users + inputs: + - address: server.request.query + key_path: + - id + regex: path.* + value: custom_tag + enabled: false + name: Block request from bad useragent + path_glob: /api/search/* + scope: + - env: prod + service: billing-service + tags: + category: business_logic + type: users.login.success + type: custom_rule schema: - $ref: >- - #/components/schemas/ApplicationSecurityWafCustomRuleUpdateRequest + $ref: '#/components/schemas/ApplicationSecurityWafCustomRuleUpdateRequest' description: New definition of the WAF Custom Rule. required: true responses: '200': content: application/json: + examples: + default: + value: + data: + attributes: + blocking: false + conditions: + - operator: match_regex + parameters: + inputs: + - address: server.request.query + key_path: + - id + regex: path.* + enabled: false + name: Block request from bad useragent + tags: + category: attack_attempt + type: lfi + id: 00000000-0000-0000-0000-000000000002 + type: custom_rule schema: $ref: '#/components/schemas/ApplicationSecurityWafCustomRuleResponse' description: OK @@ -139,9 +278,22 @@ paths: '200': content: application/json: + examples: + default: + value: + data: + - attributes: + description: Exclude false positives on a path + enabled: true + ip_list: + - 198.51.100.72 + parameters: + - list.search.query + path_glob: /accounts/* + id: 00000000-0000-0000-0000-000000000003 + type: exclusion_filter schema: - $ref: >- - #/components/schemas/ApplicationSecurityWafExclusionFiltersResponse + $ref: '#/components/schemas/ApplicationSecurityWafExclusionFiltersResponse' description: OK '403': $ref: '#/components/responses/NotAuthorizedResponse' @@ -156,31 +308,61 @@ paths: - appsec_protect_read x-terraform-resource: appsec_waf_exclusion_filter post: - description: >- + description: |- Create a new WAF exclusion filter with the given parameters. - - A request matched by an exclusion filter will be ignored by the - Application Security WAF product. - - Go to https://app.datadoghq.com/security/appsec/passlist to review - existing exclusion filters (also called passlist entries). + A request matched by an exclusion filter will be ignored by the Application Security WAF product. + Go to https://app.datadoghq.com/security/appsec/passlist to review existing exclusion filters (also called passlist entries). operationId: CreateApplicationSecurityWafExclusionFilter requestBody: content: application/json: + examples: + default: + value: + data: + attributes: + description: Exclude false positives on a path + enabled: true + ip_list: + - 198.51.100.72 + on_match: monitor + parameters: + - list.search.query + path_glob: /accounts/* + rules_target: + - rule_id: dog-913-009 + tags: + category: attack_attempt + type: lfi + scope: + - env: www + service: prod + type: exclusion_filter schema: - $ref: >- - #/components/schemas/ApplicationSecurityWafExclusionFilterCreateRequest + $ref: '#/components/schemas/ApplicationSecurityWafExclusionFilterCreateRequest' description: The definition of the new WAF exclusion filter. required: true responses: '200': content: application/json: + examples: + default: + value: + data: + attributes: + description: Exclude false positives on a path + enabled: true + ip_list: + - 198.51.100.72 + parameters: + - list.search.query + path_glob: /accounts/* + id: 00000000-0000-0000-0000-000000000004 + type: exclusion_filter schema: - $ref: >- - #/components/schemas/ApplicationSecurityWafExclusionFilterResponse + $ref: '#/components/schemas/ApplicationSecurityWafExclusionFilterResponse' description: OK '400': $ref: '#/components/responses/BadRequestResponse' @@ -233,9 +415,22 @@ paths: '200': content: application/json: + examples: + default: + value: + data: + attributes: + description: Exclude false positives on a path + enabled: true + ip_list: + - 198.51.100.72 + parameters: + - list.search.query + path_glob: /accounts/* + id: 00000000-0000-0000-0000-000000000001 + type: exclusion_filter schema: - $ref: >- - #/components/schemas/ApplicationSecurityWafExclusionFilterResponse + $ref: '#/components/schemas/ApplicationSecurityWafExclusionFilterResponse' description: OK '403': $ref: '#/components/responses/NotAuthorizedResponse' @@ -261,18 +456,52 @@ paths: requestBody: content: application/json: + examples: + default: + value: + data: + attributes: + description: Exclude false positives on a path + enabled: true + ip_list: + - 198.51.100.72 + on_match: monitor + parameters: + - list.search.query + path_glob: /accounts/* + rules_target: + - rule_id: dog-913-009 + tags: + category: attack_attempt + type: lfi + scope: + - env: www + service: prod + type: exclusion_filter schema: - $ref: >- - #/components/schemas/ApplicationSecurityWafExclusionFilterUpdateRequest + $ref: '#/components/schemas/ApplicationSecurityWafExclusionFilterUpdateRequest' description: The exclusion filter to update. required: true responses: '200': content: application/json: + examples: + default: + value: + data: + attributes: + description: Exclude false positives on a path + enabled: true + ip_list: + - 198.51.100.72 + parameters: + - list.search.query + path_glob: /accounts/* + id: 00000000-0000-0000-0000-000000000002 + type: exclusion_filter schema: - $ref: >- - #/components/schemas/ApplicationSecurityWafExclusionFilterResponse + $ref: '#/components/schemas/ApplicationSecurityWafExclusionFilterResponse' description: OK '400': $ref: '#/components/responses/BadRequestResponse' @@ -293,14 +522,271 @@ paths: permissions: - appsec_protect_write x-terraform-resource: appsec_waf_exclusion_filter + /api/v2/remote_config/products/asm/waf/policies: + get: + description: Retrieve a list of WAF policies. + operationId: ListApplicationSecurityWAFPolicies + responses: + '200': + content: + application/json: + examples: + default: + value: + data: + - attributes: + description: Monitor security scanners and application attacks such as Server-Side-Request-Forgery (SSRF), SQL Injection, Log4Shell, and Cross-Site-Scripting (XSS). + isDefault: true + name: Managed - Monitoring-only + rules: [] + rulesets: [] + scope: [] + version: 0 + id: recommended + meta: {} + type: policy + - attributes: + description: Block known attack tools without impacting legitimate security scans. + isDefault: false + name: Managed - Block attack tools + protectionPresets: + - attack-tools + rules: [] + rulesets: [] + scope: [] + version: 0 + id: recommended-attack-tools + meta: {} + type: policy + schema: + $ref: '#/components/schemas/ApplicationSecurityPolicyListResponse' + description: OK + '403': + $ref: '#/components/responses/NotAuthorizedResponse' + '429': + $ref: '#/components/responses/TooManyRequestsResponse' + summary: List all WAF policies + tags: + - Application Security + post: + description: Create a new WAF policy. + operationId: CreateApplicationSecurityWafPolicy + requestBody: + content: + application/json: + examples: + default: + value: + data: + attributes: + basedOn: recommended + description: Policy applied to internal web applications. + isDefault: false + name: Internal Network Policy + protectionPresets: + - attack-tools + rules: + - blocking: false + enabled: true + id: rasp-001-002 + scope: + - env: prod + service: billing-service + version: 0 + type: policy + schema: + $ref: '#/components/schemas/ApplicationSecurityPolicyCreateRequest' + description: The new WAF policy. + required: true + responses: + '201': + content: + application/json: + examples: + default: + value: + data: + attributes: + description: Policy applied to internal web applications. + isDefault: false + name: Internal Network Policy + protectionPresets: + - attack-tools + rules: + - blocking: false + enabled: true + id: rasp-001-002 + rulesets: [] + scope: + - env: prod + service: billing-service + version: 0 + id: 841d53b4-4d73-4585-99cc-39dd10883f7c + meta: + added_at: '2026-04-16T10:25:18Z' + added_by: 9919ec9b-ebc7-49ee-8dc8-03626e717cca + added_by_name: CI Account + type: policy + schema: + $ref: '#/components/schemas/ApplicationSecurityPolicyResponse' + description: Created + '400': + $ref: '#/components/responses/BadRequestResponse' + '403': + $ref: '#/components/responses/NotAuthorizedResponse' + '409': + $ref: '#/components/responses/ConcurrentModificationResponse' + '429': + $ref: '#/components/responses/TooManyRequestsResponse' + summary: Create a WAF Policy + tags: + - Application Security + x-codegen-request-body-name: body + /api/v2/remote_config/products/asm/waf/policies/{policy_id}: + delete: + description: Delete a specific WAF policy. + operationId: DeleteApplicationSecurityWafPolicy + parameters: + - $ref: '#/components/parameters/ApplicationSecurityPolicyIDParam' + responses: + '204': + description: No Content + '403': + $ref: '#/components/responses/NotAuthorizedResponse' + '404': + $ref: '#/components/responses/NotFoundResponse' + '409': + $ref: '#/components/responses/ConcurrentModificationResponse' + '429': + $ref: '#/components/responses/TooManyRequestsResponse' + summary: Delete a WAF Policy + tags: + - Application Security + x-terraform-resource: appsec_waf_policy + get: + description: Retrieve a WAF policy by ID. + operationId: GetApplicationSecurityWafPolicy + parameters: + - $ref: '#/components/parameters/ApplicationSecurityPolicyIDParam' + responses: + '200': + content: + application/json: + examples: + default: + value: + data: + attributes: + description: This is a test policy. + isDefault: false + name: Test policy + rules: [] + rulesets: [] + scope: [] + version: -1 + id: cc3e574d-9b5a-4310-b7f4-5560483f84b1 + meta: + added_at: '2026-04-16T10:25:20Z' + added_by: 9919ec9b-ebc7-49ee-8dc8-03626e717cca + added_by_name: CI Account + type: policy + schema: + $ref: '#/components/schemas/ApplicationSecurityPolicyResponse' + description: OK + '403': + $ref: '#/components/responses/NotAuthorizedResponse' + '429': + $ref: '#/components/responses/TooManyRequestsResponse' + summary: Get a WAF Policy + tags: + - Application Security + x-terraform-resource: appsec_waf_policy + put: + description: |- + Update a specific WAF policy. + Returns the policy object when the request is successful. + operationId: UpdateApplicationSecurityWafPolicy + parameters: + - $ref: '#/components/parameters/ApplicationSecurityPolicyIDParam' + requestBody: + content: + application/json: + examples: + default: + value: + data: + attributes: + description: Policy applied to internal web applications. + isDefault: false + name: Internal Network Policy + protectionPresets: + - attack-tools + rules: + - blocking: false + enabled: true + id: rasp-001-002 + scope: + - env: prod + service: billing-service + version: 0 + type: policy + schema: + $ref: '#/components/schemas/ApplicationSecurityPolicyUpdateRequest' + description: New WAF policy. + required: true + responses: + '200': + content: + application/json: + examples: + default: + value: + data: + attributes: + description: Policy applied to internal web applications. + isDefault: false + name: Internal Network Policy + protectionPresets: + - attack-tools + rules: + - blocking: false + enabled: true + id: rasp-001-002 + rulesets: [] + scope: + - env: prod + service: billing-service + version: 0 + id: 841d53b4-4d73-4585-99cc-39dd10883f7c + meta: + added_at: '2026-04-16T10:25:18Z' + added_by: 9919ec9b-ebc7-49ee-8dc8-03626e717cca + added_by_name: CI Account + type: policy + schema: + $ref: '#/components/schemas/ApplicationSecurityPolicyResponse' + description: OK + '400': + $ref: '#/components/responses/BadRequestResponse' + '403': + $ref: '#/components/responses/NotAuthorizedResponse' + '404': + $ref: '#/components/responses/NotFoundResponse' + '409': + $ref: '#/components/responses/ConcurrentModificationResponse' + '429': + $ref: '#/components/responses/TooManyRequestsResponse' + summary: Update a WAF Policy + tags: + - Application Security + x-codegen-request-body-name: body + x-terraform-resource: appsec_waf_policy /api/v2/remote_config/products/cws/agent_rules: get: - description: >- + description: |- Get the list of Workload Protection agent rules. - - **Note**: This endpoint is not available for the Government (US1-FED) - site. Please reference the (US1-FED) specific resource below. + **Note**: This endpoint is not available for the Government (US1-FED) site. Please reference the (US1-FED) specific resource below. operationId: ListCSMThreatsAgentRules parameters: - $ref: '#/components/parameters/CloudWorkloadSecurityQueryAgentPolicyID' @@ -308,9 +794,19 @@ paths: '200': content: application/json: + examples: + default: + value: + data: + - attributes: + description: My Agent rule + enabled: true + expression: exec.file.name == "sh" + name: my_agent_rule + id: abc-123 + type: agent_rule schema: - $ref: >- - #/components/schemas/CloudWorkloadSecurityAgentRulesListResponse + $ref: '#/components/schemas/CloudWorkloadSecurityAgentRulesListResponse' description: OK '403': $ref: '#/components/responses/NotAuthorizedResponse' @@ -320,16 +816,26 @@ paths: tags: - CSM Threats post: - description: >- + description: |- Create a new Workload Protection agent rule with the given parameters. - - **Note**: This endpoint is not available for the Government (US1-FED) - site. Please reference the (US1-FED) specific resource below. + **Note**: This endpoint is not available for the Government (US1-FED) site. Please reference the (US1-FED) specific resource below. operationId: CreateCSMThreatsAgentRule requestBody: content: application/json: + examples: + default: + value: + data: + attributes: + description: My Agent rule + enabled: true + expression: exec.file.name == "sh" + name: my_agent_rule + policy_id: a8c8e364-6556-434d-b798-a4c23de29c0b + silent: false + type: agent_rule schema: $ref: '#/components/schemas/CloudWorkloadSecurityAgentRuleCreateRequest' description: The definition of the new agent rule @@ -338,6 +844,17 @@ paths: '200': content: application/json: + examples: + default: + value: + data: + attributes: + description: My Agent rule + enabled: true + expression: exec.file.name == "sh" + name: my_agent_rule + id: abc-123 + type: agent_rule schema: $ref: '#/components/schemas/CloudWorkloadSecurityAgentRuleResponse' description: OK @@ -355,12 +872,10 @@ paths: x-codegen-request-body-name: body /api/v2/remote_config/products/cws/agent_rules/{agent_rule_id}: delete: - description: >- + description: |- Delete a specific Workload Protection agent rule. - - **Note**: This endpoint is not available for the Government (US1-FED) - site. Please reference the (US1-FED) specific resource below. + **Note**: This endpoint is not available for the Government (US1-FED) site. Please reference the (US1-FED) specific resource below. operationId: DeleteCSMThreatsAgentRule parameters: - $ref: '#/components/parameters/CloudWorkloadSecurityAgentRuleID' @@ -378,12 +893,10 @@ paths: tags: - CSM Threats get: - description: >- + description: |- Get the details of a specific Workload Protection agent rule. - - **Note**: This endpoint is not available for the Government (US1-FED) - site. Please reference the (US1-FED) specific resource below. + **Note**: This endpoint is not available for the Government (US1-FED) site. Please reference the (US1-FED) specific resource below. operationId: GetCSMThreatsAgentRule parameters: - $ref: '#/components/parameters/CloudWorkloadSecurityAgentRuleID' @@ -392,6 +905,17 @@ paths: '200': content: application/json: + examples: + default: + value: + data: + attributes: + description: My Agent rule + enabled: true + expression: exec.file.name == "sh" + name: my_agent_rule + id: abc-123 + type: agent_rule schema: $ref: '#/components/schemas/CloudWorkloadSecurityAgentRuleResponse' description: OK @@ -405,14 +929,11 @@ paths: tags: - CSM Threats patch: - description: >- + description: |- Update a specific Workload Protection Agent rule. - Returns the agent rule object when the request is successful. - - **Note**: This endpoint is not available for the Government (US1-FED) - site. Please reference the (US1-FED) specific resource below. + **Note**: This endpoint is not available for the Government (US1-FED) site. Please reference the (US1-FED) specific resource below. operationId: UpdateCSMThreatsAgentRule parameters: - $ref: '#/components/parameters/CloudWorkloadSecurityAgentRuleID' @@ -420,6 +941,18 @@ paths: requestBody: content: application/json: + examples: + default: + value: + data: + attributes: + description: My Agent rule + enabled: true + expression: exec.file.name == "sh" + policy_id: a8c8e364-6556-434d-b798-a4c23de29c0b + silent: false + id: 3dd-0uc-h1s + type: agent_rule schema: $ref: '#/components/schemas/CloudWorkloadSecurityAgentRuleUpdateRequest' description: New definition of the agent rule @@ -428,6 +961,17 @@ paths: '200': content: application/json: + examples: + default: + value: + data: + attributes: + description: My Agent rule + enabled: true + expression: exec.file.name == "sh" + name: my_agent_rule + id: abc-123 + type: agent_rule schema: $ref: '#/components/schemas/CloudWorkloadSecurityAgentRuleResponse' description: OK @@ -447,20 +991,27 @@ paths: x-codegen-request-body-name: body /api/v2/remote_config/products/cws/policy: get: - description: >- + description: |- Get the list of Workload Protection policies. - - **Note**: This endpoint is not available for the Government (US1-FED) - site. Please reference the (US1-FED) specific resource below. + **Note**: This endpoint is not available for the Government (US1-FED) site. Please reference the (US1-FED) specific resource below. operationId: ListCSMThreatsAgentPolicies responses: '200': content: application/json: + examples: + default: + value: + data: + - attributes: + description: My agent policy + enabled: true + name: my_agent_policy + id: abc-123 + type: policy schema: - $ref: >- - #/components/schemas/CloudWorkloadSecurityAgentPoliciesListResponse + $ref: '#/components/schemas/CloudWorkloadSecurityAgentPoliciesListResponse' description: OK '403': $ref: '#/components/responses/NotAuthorizedResponse' @@ -470,25 +1021,43 @@ paths: tags: - CSM Threats post: - description: >- + description: |- Create a new Workload Protection policy with the given parameters. - - **Note**: This endpoint is not available for the Government (US1-FED) - site. Please reference the (US1-FED) specific resource below. + **Note**: This endpoint is not available for the Government (US1-FED) site. Please reference the (US1-FED) specific resource below. operationId: CreateCSMThreatsAgentPolicy requestBody: content: application/json: + examples: + default: + value: + data: + attributes: + description: My agent policy + enabled: true + hostTagsLists: + - - env:test + name: my_agent_policy + type: policy schema: - $ref: >- - #/components/schemas/CloudWorkloadSecurityAgentPolicyCreateRequest + $ref: '#/components/schemas/CloudWorkloadSecurityAgentPolicyCreateRequest' description: The definition of the new Agent policy required: true responses: '200': content: application/json: + examples: + default: + value: + data: + attributes: + description: My agent policy + enabled: true + name: my_agent_policy + id: abc-123 + type: policy schema: $ref: '#/components/schemas/CloudWorkloadSecurityAgentPolicyResponse' description: OK @@ -506,23 +1075,20 @@ paths: x-codegen-request-body-name: body /api/v2/remote_config/products/cws/policy/download: get: - description: >- - The download endpoint generates a Workload Protection policy file from - your currently active - - Workload Protection agent rules, and downloads them as a `.policy` file. - This file can then be deployed to - + description: |- + The download endpoint generates a Workload Protection policy file from your currently active + Workload Protection agent rules, and downloads them as a `.policy` file. This file can then be deployed to your agents to update the policy running in your environment. - - **Note**: This endpoint is not available for the Government (US1-FED) - site. Please reference the (US1-FED) specific resource below. + **Note**: This endpoint is not available for the Government (US1-FED) site. Please reference the (US1-FED) specific resource below. operationId: DownloadCSMThreatsPolicy responses: '200': content: application/zip: + examples: + default: + value: '' schema: format: binary type: string @@ -536,12 +1102,10 @@ paths: - CSM Threats /api/v2/remote_config/products/cws/policy/{policy_id}: delete: - description: >- + description: |- Delete a specific Workload Protection policy. - - **Note**: This endpoint is not available for the Government (US1-FED) - site. Please reference the (US1-FED) specific resource below. + **Note**: This endpoint is not available for the Government (US1-FED) site. Please reference the (US1-FED) specific resource below. operationId: DeleteCSMThreatsAgentPolicy parameters: - $ref: '#/components/parameters/CloudWorkloadSecurityPathAgentPolicyID' @@ -560,12 +1124,10 @@ paths: tags: - CSM Threats get: - description: >- + description: |- Get the details of a specific Workload Protection policy. - - **Note**: This endpoint is not available for the Government (US1-FED) - site. Please reference the (US1-FED) specific resource below. + **Note**: This endpoint is not available for the Government (US1-FED) site. Please reference the (US1-FED) specific resource below. operationId: GetCSMThreatsAgentPolicy parameters: - $ref: '#/components/parameters/CloudWorkloadSecurityPathAgentPolicyID' @@ -573,6 +1135,16 @@ paths: '200': content: application/json: + examples: + default: + value: + data: + attributes: + description: My agent policy + enabled: true + name: my_agent_policy + id: abc-123 + type: policy schema: $ref: '#/components/schemas/CloudWorkloadSecurityAgentPolicyResponse' description: OK @@ -586,29 +1158,45 @@ paths: tags: - CSM Threats patch: - description: >- + description: |- Update a specific Workload Protection policy. - Returns the policy object when the request is successful. - - **Note**: This endpoint is not available for the Government (US1-FED) - site. Please reference the (US1-FED) specific resource below. + **Note**: This endpoint is not available for the Government (US1-FED) site. Please reference the (US1-FED) specific resource below. operationId: UpdateCSMThreatsAgentPolicy parameters: - $ref: '#/components/parameters/CloudWorkloadSecurityPathAgentPolicyID' requestBody: content: application/json: + examples: + default: + value: + data: + attributes: + description: My agent policy + enabled: true + name: my_agent_policy + id: 6517fcc1-cec7-4394-a655-8d6e9d085255 + type: policy schema: - $ref: >- - #/components/schemas/CloudWorkloadSecurityAgentPolicyUpdateRequest + $ref: '#/components/schemas/CloudWorkloadSecurityAgentPolicyUpdateRequest' description: New definition of the Agent policy required: true responses: '200': content: application/json: + examples: + default: + value: + data: + attributes: + description: My agent policy + enabled: true + name: my_agent_policy + id: abc-123 + type: policy schema: $ref: '#/components/schemas/CloudWorkloadSecurityAgentPolicyResponse' description: OK @@ -626,162 +1214,15 @@ paths: tags: - CSM Threats x-codegen-request-body-name: body - /api/v2/remote_config/products/obs_pipelines/pipelines: - get: - description: Retrieve a list of pipelines. - operationId: ListPipelines - parameters: - - $ref: '#/components/parameters/PageSize' - - $ref: '#/components/parameters/PageNumber' - responses: - '200': - content: - application/json: - schema: - $ref: '#/components/schemas/ListPipelinesResponse' - description: OK - '400': - $ref: '#/components/responses/BadRequestResponse' - '403': - $ref: '#/components/responses/NotAuthorizedResponse' - '429': - $ref: '#/components/responses/TooManyRequestsResponse' - summary: List pipelines - tags: - - Observability Pipelines - x-permission: - operator: OR - permissions: - - observability_pipelines_read - x-unstable: >- - **Note**: This endpoint is in Preview. Fill out this - [form](https://www.datadoghq.com/product-preview/observability-pipelines-api-and-terraform-support/) - to request access. - post: - description: Create a new pipeline. - operationId: CreatePipeline - requestBody: - content: - application/json: - schema: - $ref: '#/components/schemas/ObservabilityPipelineSpec' - required: true - responses: - '201': - content: - application/json: - schema: - $ref: '#/components/schemas/ObservabilityPipeline' - description: OK - '400': - $ref: '#/components/responses/BadRequestResponse' - '403': - $ref: '#/components/responses/NotAuthorizedResponse' - '409': - $ref: '#/components/responses/ConflictResponse' - '429': - $ref: '#/components/responses/TooManyRequestsResponse' - summary: Create a new pipeline - tags: - - Observability Pipelines - x-permission: - operator: OR - permissions: - - observability_pipelines_deploy - x-unstable: >- - **Note**: This endpoint is in Preview. Fill out this - [form](https://www.datadoghq.com/product-preview/observability-pipelines-api-and-terraform-support/) - to request access. - /api/v2/remote_config/products/obs_pipelines/pipelines/validate: - post: - description: > - Validates a pipeline configuration without creating or updating any - resources. - - Returns a list of validation errors, if any. - operationId: ValidatePipeline - requestBody: - content: - application/json: - schema: - $ref: '#/components/schemas/ObservabilityPipelineSpec' - required: true - responses: - '200': - content: - application/json: - schema: - $ref: '#/components/schemas/ValidationResponse' - description: OK - '400': - $ref: '#/components/responses/BadRequestResponse' - '403': - $ref: '#/components/responses/NotAuthorizedResponse' - '429': - $ref: '#/components/responses/TooManyRequestsResponse' - summary: Validate an observability pipeline - tags: - - Observability Pipelines - x-permission: - operator: OR - permissions: - - observability_pipelines_read - x-unstable: >- - **Note**: This endpoint is in Preview. Fill out this - [form](https://www.datadoghq.com/product-preview/observability-pipelines-api-and-terraform-support/) - to request access. - /api/v2/remote_config/products/obs_pipelines/pipelines/{pipeline_id}: - delete: - description: Delete a pipeline. - operationId: DeletePipeline - parameters: - - description: The ID of the pipeline to delete. - in: path - name: pipeline_id - required: true - schema: - type: string - responses: - '204': - description: OK - '403': - content: - application/json: - schema: - $ref: '#/components/schemas/APIErrorResponse' - description: Forbidden - '404': - content: - application/json: - schema: - $ref: '#/components/schemas/APIErrorResponse' - description: Not Found - '409': - content: - application/json: - schema: - $ref: '#/components/schemas/APIErrorResponse' - description: Conflict - '429': - $ref: '#/components/responses/TooManyRequestsResponse' - summary: Delete a pipeline - tags: - - Observability Pipelines - x-permission: - operator: OR - permissions: - - observability_pipelines_delete - x-unstable: >- - **Note**: This endpoint is in Preview. Fill out this - [form](https://www.datadoghq.com/product-preview/observability-pipelines-api-and-terraform-support/) - to request access. + /api/v2/remote_config/products/rum/configs/{config_id}: get: - description: Get a specific pipeline by its ID. - operationId: GetPipeline + description: Retrieve a RUM SDK configuration by its identifier. + operationId: GetRumSdkConfig parameters: - - description: The ID of the pipeline to retrieve. + - description: The ID of the RUM SDK configuration. + example: abc12345-1234-5678-abcd-ef1234567890 in: path - name: pipeline_id + name: config_id required: true schema: type: string @@ -789,72 +1230,120 @@ paths: '200': content: application/json: + examples: + default: + value: + data: + attributes: + rum: + application_id: f80e917c-3cd0-4048-ade7-1c4c207baa99 + default_privacy_level: mask-user-input + enable_privacy_for_action_name: false + env: production + service: my-service + session_replay_sample_rate: 10 + session_sample_rate: 50 + trace_sample_rate: 100 + track_session_across_subdomains: false + id: abc12345-1234-5678-abcd-ef1234567890 + meta: + updated_at: '2024-01-15T09:30:00.000Z' + updated_by: user@datadoghq.com + type: rum_sdk_config schema: - $ref: '#/components/schemas/ObservabilityPipeline' + $ref: '#/components/schemas/RumSdkConfigResponse' description: OK '403': + $ref: '#/components/responses/NotAuthorizedResponse' + '404': content: application/json: schema: - $ref: '#/components/schemas/APIErrorResponse' - description: Forbidden + $ref: '#/components/schemas/JSONAPIErrorResponse' + description: Not Found '429': $ref: '#/components/responses/TooManyRequestsResponse' - summary: Get a specific pipeline + summary: Get a RUM SDK configuration tags: - - Observability Pipelines - x-permission: - operator: OR - permissions: - - observability_pipelines_read - x-unstable: >- - **Note**: This endpoint is in Preview. Fill out this - [form](https://www.datadoghq.com/product-preview/observability-pipelines-api-and-terraform-support/) - to request access. + - RUM Remote Config + x-unstable: |- + **Note**: This endpoint is in preview and is subject to change. + If you have any feedback, contact [Datadog support](https://docs.datadoghq.com/help/). put: - description: Update a pipeline. - operationId: UpdatePipeline + description: |- + Update an existing RUM SDK configuration by its identifier. + Returns the updated configuration when successful. + operationId: UpdateRumSdkConfig parameters: - - description: The ID of the pipeline to update. + - description: The ID of the RUM SDK configuration. + example: abc12345-1234-5678-abcd-ef1234567890 in: path - name: pipeline_id + name: config_id required: true schema: type: string requestBody: content: application/json: + examples: + default: + value: + data: + attributes: + rum: + default_privacy_level: mask + enable_privacy_for_action_name: true + session_replay_sample_rate: 20 + session_sample_rate: 75 + id: abc12345-1234-5678-abcd-ef1234567890 + type: rum_sdk_config schema: - $ref: '#/components/schemas/ObservabilityPipeline' + $ref: '#/components/schemas/RumSdkConfigUpdateRequest' + description: The RUM SDK configuration update. required: true responses: '200': content: application/json: + examples: + default: + value: + data: + attributes: + rum: + application_id: f80e917c-3cd0-4048-ade7-1c4c207baa99 + default_privacy_level: mask + enable_privacy_for_action_name: true + session_replay_sample_rate: 20 + session_sample_rate: 75 + id: abc12345-1234-5678-abcd-ef1234567890 + type: rum_sdk_config schema: - $ref: '#/components/schemas/ObservabilityPipeline' + $ref: '#/components/schemas/RumSdkConfigResponse' description: OK '400': - $ref: '#/components/responses/BadRequestResponse' + content: + application/json: + schema: + $ref: '#/components/schemas/JSONAPIErrorResponse' + description: Bad Request '403': $ref: '#/components/responses/NotAuthorizedResponse' '404': - $ref: '#/components/responses/NotFoundResponse' - '409': - $ref: '#/components/responses/ConflictResponse' + content: + application/json: + schema: + $ref: '#/components/schemas/JSONAPIErrorResponse' + description: Not Found '429': $ref: '#/components/responses/TooManyRequestsResponse' - summary: Update a pipeline + summary: Update a RUM SDK configuration tags: - - Observability Pipelines - x-permission: - operator: OR - permissions: - - observability_pipelines_deploy - x-unstable: >- - **Note**: This endpoint is in Preview. Fill out this - [form](https://www.datadoghq.com/product-preview/observability-pipelines-api-and-terraform-support/) - to request access. + - RUM Remote Config + x-codegen-request-body-name: body + x-unstable: |- + **Note**: This endpoint is in preview and is subject to change. + If you have any feedback, contact [Datadog support](https://docs.datadoghq.com/help/). components: schemas: ApplicationSecurityWafCustomRuleListResponse: @@ -919,6 +1408,37 @@ components: required: - data type: object + ApplicationSecurityPolicyListResponse: + description: Response object that includes a list of WAF policies. + properties: + data: + description: The WAF policy data. + items: + $ref: '#/components/schemas/ApplicationSecurityPolicyData' + type: array + type: object + ApplicationSecurityPolicyCreateRequest: + description: Request object that includes the policy to create. + properties: + data: + $ref: '#/components/schemas/ApplicationSecurityPolicyCreateData' + required: + - data + type: object + ApplicationSecurityPolicyResponse: + description: Response object that includes a single WAF policy. + properties: + data: + $ref: '#/components/schemas/ApplicationSecurityPolicyData' + type: object + ApplicationSecurityPolicyUpdateRequest: + description: Request object that includes the policy to update. + properties: + data: + $ref: '#/components/schemas/ApplicationSecurityPolicyUpdateData' + required: + - data + type: object CloudWorkloadSecurityAgentRulesListResponse: description: Response object that includes a list of Agent rule properties: @@ -943,9 +1463,7 @@ components: $ref: '#/components/schemas/CloudWorkloadSecurityAgentRuleData' type: object CloudWorkloadSecurityAgentRuleUpdateRequest: - description: >- - Request object that includes the Agent rule with the attributes to - update + description: Request object that includes the Agent rule with the attributes to update properties: data: $ref: '#/components/schemas/CloudWorkloadSecurityAgentRuleUpdateData' @@ -976,63 +1494,52 @@ components: $ref: '#/components/schemas/CloudWorkloadSecurityAgentPolicyData' type: object CloudWorkloadSecurityAgentPolicyUpdateRequest: - description: >- - Request object that includes the Agent policy with the attributes to - update + description: Request object that includes the Agent policy with the attributes to update properties: data: $ref: '#/components/schemas/CloudWorkloadSecurityAgentPolicyUpdateData' required: - data type: object - ListPipelinesResponse: - description: >- - Represents the response payload containing a list of pipelines and - associated metadata. + RumSdkConfigResponse: + description: Response containing a RUM SDK configuration. properties: data: - description: The `schema` `data`. - items: - $ref: '#/components/schemas/ObservabilityPipelineData' - type: array - meta: - $ref: '#/components/schemas/ListPipelinesResponseMeta' + $ref: '#/components/schemas/RumSdkConfigData' required: - data type: object - ObservabilityPipelineSpec: - description: >- - Input schema representing an observability pipeline configuration. Used - in create and validate requests. + JSONAPIErrorResponse: + description: API error response. properties: - data: - $ref: '#/components/schemas/ObservabilityPipelineSpecData' - required: - - data + errors: + description: A list of errors. + items: + $ref: '#/components/schemas/JSONAPIErrorItem' + type: array + required: + - errors type: object - ObservabilityPipeline: - description: Top-level schema representing a pipeline. + RumSdkConfigUpdateRequest: + description: Request body for updating a RUM SDK configuration. properties: data: - $ref: '#/components/schemas/ObservabilityPipelineData' + $ref: '#/components/schemas/RumSdkConfigUpdateData' required: - data type: object - ValidationResponse: - description: Response containing validation errors. - example: - errors: - - meta: - field: region - id: datadog-agent-source - message: Field 'region' is required - title: Field 'region' is required + ApplicationSecurityWafCustomRuleData: + description: Object for a single WAF custom rule. properties: - errors: - description: The `ValidationResponse` `errors`. - items: - $ref: '#/components/schemas/ValidationError' - type: array + attributes: + $ref: '#/components/schemas/ApplicationSecurityWafCustomRuleAttributes' + id: + description: The ID of the custom rule. + example: 2857c47d-1e3a-4300-8b2f-dc24089c084b + readOnly: true + type: string + type: + $ref: '#/components/schemas/ApplicationSecurityWafCustomRuleType' type: object APIErrorResponse: description: API error response. @@ -1049,25 +1556,11 @@ components: required: - errors type: object - ApplicationSecurityWafCustomRuleData: - description: Object for a single WAF custom rule. - properties: - attributes: - $ref: '#/components/schemas/ApplicationSecurityWafCustomRuleAttributes' - id: - description: The ID of the custom rule. - example: 2857c47d-1e3a-4300-8b2f-dc24089c084b - readOnly: true - type: string - type: - $ref: '#/components/schemas/ApplicationSecurityWafCustomRuleType' - type: object ApplicationSecurityWafCustomRuleCreateData: description: Object for a single WAF custom rule. properties: attributes: - $ref: >- - #/components/schemas/ApplicationSecurityWafCustomRuleCreateAttributes + $ref: '#/components/schemas/ApplicationSecurityWafCustomRuleCreateAttributes' type: $ref: '#/components/schemas/ApplicationSecurityWafCustomRuleType' required: @@ -1078,8 +1571,7 @@ components: description: Object for a single WAF Custom Rule. properties: attributes: - $ref: >- - #/components/schemas/ApplicationSecurityWafCustomRuleUpdateAttributes + $ref: '#/components/schemas/ApplicationSecurityWafCustomRuleUpdateAttributes' type: $ref: '#/components/schemas/ApplicationSecurityWafCustomRuleType' required: @@ -1100,8 +1592,7 @@ components: description: Object for creating a single WAF exclusion filter. properties: attributes: - $ref: >- - #/components/schemas/ApplicationSecurityWafExclusionFilterCreateAttributes + $ref: '#/components/schemas/ApplicationSecurityWafExclusionFilterCreateAttributes' type: $ref: '#/components/schemas/ApplicationSecurityWafExclusionFilterType' required: @@ -1112,14 +1603,50 @@ components: description: Object for updating a single WAF exclusion filter. properties: attributes: - $ref: >- - #/components/schemas/ApplicationSecurityWafExclusionFilterUpdateAttributes + $ref: '#/components/schemas/ApplicationSecurityWafExclusionFilterUpdateAttributes' type: $ref: '#/components/schemas/ApplicationSecurityWafExclusionFilterType' required: - attributes - type type: object + ApplicationSecurityPolicyData: + description: Object for a single WAF policy. + properties: + attributes: + $ref: '#/components/schemas/ApplicationSecurityPolicyAttributes' + id: + description: The ID of the policy. + example: 2857c47d-1e3a-4300-8b2f-dc24089c084b + readOnly: true + type: string + meta: + $ref: '#/components/schemas/ApplicationSecurityPolicyMetadata' + type: + $ref: '#/components/schemas/ApplicationSecurityPolicyType' + type: object + ApplicationSecurityPolicyCreateData: + description: Object for a single WAF policy. + properties: + attributes: + $ref: '#/components/schemas/ApplicationSecurityPolicyCreateAttributes' + type: + $ref: '#/components/schemas/ApplicationSecurityPolicyType' + required: + - attributes + - type + type: object + ApplicationSecurityPolicyUpdateData: + description: Object for a single WAF policy. + properties: + attributes: + $ref: '#/components/schemas/ApplicationSecurityPolicyUpdateAttributes' + type: + $ref: '#/components/schemas/ApplicationSecurityPolicyType' + required: + - attributes + - type + type: object CloudWorkloadSecurityAgentRuleData: description: Object for a single Agent rule properties: @@ -1172,8 +1699,7 @@ components: description: Object for a single Agent rule properties: attributes: - $ref: >- - #/components/schemas/CloudWorkloadSecurityAgentPolicyCreateAttributes + $ref: '#/components/schemas/CloudWorkloadSecurityAgentPolicyCreateAttributes' type: $ref: '#/components/schemas/CloudWorkloadSecurityAgentPolicyType' required: @@ -1184,8 +1710,7 @@ components: description: Object for a single Agent policy properties: attributes: - $ref: >- - #/components/schemas/CloudWorkloadSecurityAgentPolicyUpdateAttributes + $ref: '#/components/schemas/CloudWorkloadSecurityAgentPolicyUpdateAttributes' id: $ref: '#/components/schemas/CloudWorkloadSecurityAgentPolicyID' type: @@ -1194,67 +1719,62 @@ components: - attributes - type type: object - ObservabilityPipelineData: - description: Contains the pipeline’s ID, type, and configuration attributes. + RumSdkConfigData: + description: The RUM SDK configuration data object. properties: attributes: - $ref: '#/components/schemas/ObservabilityPipelineDataAttributes' + $ref: '#/components/schemas/RumSdkConfigAttributes' id: - description: Unique identifier for the pipeline. - example: 3fa85f64-5717-4562-b3fc-2c963f66afa6 + description: The unique identifier of the RUM SDK configuration. + example: abc12345-1234-5678-abcd-ef1234567890 type: string + meta: + $ref: '#/components/schemas/RumSdkConfigMeta' type: - default: pipelines - description: >- - The resource type identifier. For pipeline resources, this should - always be set to `pipelines`. - example: pipelines - type: string + $ref: '#/components/schemas/RumSdkConfigType' required: - id - type - attributes type: object - ListPipelinesResponseMeta: - description: Metadata about the response. + JSONAPIErrorItem: + description: API error response body properties: - totalCount: - description: The total number of pipelines. - example: 42 - format: int64 - type: integer + detail: + description: A human-readable explanation specific to this occurrence of the error. + example: Missing required attribute in body + type: string + meta: + additionalProperties: {} + description: Non-standard meta-information about the error + type: object + source: + $ref: '#/components/schemas/JSONAPIErrorItemSource' + status: + description: Status code of the response. + example: '400' + type: string + title: + description: Short human-readable summary of the error. + example: Bad Request + type: string type: object - ObservabilityPipelineSpecData: - description: Contains the the pipeline configuration. + RumSdkConfigUpdateData: + description: The data object for updating a RUM SDK configuration. properties: attributes: - $ref: '#/components/schemas/ObservabilityPipelineDataAttributes' - type: - default: pipelines - description: >- - The resource type identifier. For pipeline resources, this should - always be set to `pipelines`. - example: pipelines + $ref: '#/components/schemas/RumSdkConfigUpdateAttributes' + id: + description: The ID of the RUM SDK configuration to update. + example: abc12345-1234-5678-abcd-ef1234567890 type: string + type: + $ref: '#/components/schemas/RumSdkConfigType' required: + - id - type - attributes type: object - ValidationError: - description: >- - Represents a single validation error, including a human-readable title - and metadata. - properties: - meta: - $ref: '#/components/schemas/ValidationErrorMeta' - title: - description: A short, human-readable summary of the error. - example: Field 'region' is required - type: string - required: - - title - - meta - type: object ApplicationSecurityWafCustomRuleAttributes: description: A WAF custom rule. properties: @@ -1265,10 +1785,8 @@ components: example: false type: boolean conditions: - description: >- - Conditions for which the WAF Custom Rule will triggers, all - conditions needs to match in order for the WAF - + description: |- + Conditions for which the WAF Custom Rule will triggers, all conditions needs to match in order for the WAF rule to trigger. items: $ref: '#/components/schemas/ApplicationSecurityWafCustomRuleCondition' @@ -1280,7 +1798,7 @@ components: metadata: $ref: '#/components/schemas/ApplicationSecurityWafCustomRuleMetadata' name: - description: The Name of the WAF custom rule. + description: The name of the WAF custom rule. example: Block request from bad useragent type: string path_glob: @@ -1320,10 +1838,8 @@ components: example: false type: boolean conditions: - description: >- - Conditions for which the WAF Custom Rule will triggers, all - conditions needs to match in order for the WAF - + description: |- + Conditions for which the WAF Custom Rule will triggers, all conditions needs to match in order for the WAF rule to trigger items: $ref: '#/components/schemas/ApplicationSecurityWafCustomRuleCondition' @@ -1333,7 +1849,7 @@ components: example: false type: boolean name: - description: The Name of the WAF custom rule. + description: The name of the WAF custom rule. example: Block request from a bad useragent type: string path_glob: @@ -1364,10 +1880,8 @@ components: example: false type: boolean conditions: - description: >- - Conditions for which the WAF Custom Rule will triggers, all - conditions needs to match in order for the WAF - + description: |- + Conditions for which the WAF Custom Rule will triggers, all conditions needs to match in order for the WAF rule to trigger. items: $ref: '#/components/schemas/ApplicationSecurityWafCustomRuleCondition' @@ -1377,7 +1891,7 @@ components: example: false type: boolean name: - description: The Name of the WAF custom rule. + description: The name of the WAF custom rule. example: Block request from bad useragent type: string path_glob: @@ -1410,15 +1924,12 @@ components: example: true type: boolean event_query: - description: >- - The event query matched by the legacy exclusion filter. Cannot be - created nor updated. + description: The event query matched by the legacy exclusion filter. Cannot be created nor updated. type: string ip_list: - description: >- - The client IP addresses matched by the exclusion filter (CIDR - notation is supported). + description: The client IP addresses matched by the exclusion filter (CIDR notation is supported). items: + description: A single IP address to exclude. example: 198.51.100.72 type: string type: array @@ -1427,11 +1938,9 @@ components: on_match: $ref: '#/components/schemas/ApplicationSecurityWafExclusionFilterOnMatch' parameters: - description: >- - A list of parameters matched by the exclusion filter in the HTTP - query string and HTTP request body. Nested parameters can be matched - by joining fields with a dot character. + description: A list of parameters matched by the exclusion filter in the HTTP query string and HTTP request body. Nested parameters can be matched by joining fields with a dot character. items: + description: A request parameter name to exclude from the query string or request body. example: list.search.query type: string type: array @@ -1442,8 +1951,7 @@ components: rules_target: description: The WAF rules targeted by the exclusion filter. items: - $ref: >- - #/components/schemas/ApplicationSecurityWafExclusionFilterRulesTarget + $ref: '#/components/schemas/ApplicationSecurityWafExclusionFilterRulesTarget' type: array scope: description: The services where the exclusion filter is deployed. @@ -1451,9 +1959,7 @@ components: $ref: '#/components/schemas/ApplicationSecurityWafExclusionFilterScope' type: array search_query: - description: >- - Generated event search query for traces matching the exclusion - filter. + description: Generated event search query for traces matching the exclusion filter. readOnly: true type: string type: object @@ -1483,21 +1989,18 @@ components: example: true type: boolean ip_list: - description: >- - The client IP addresses matched by the exclusion filter (CIDR - notation is supported). + description: The client IP addresses matched by the exclusion filter (CIDR notation is supported). items: + description: A single IP address to exclude. example: 198.51.100.72 type: string type: array on_match: $ref: '#/components/schemas/ApplicationSecurityWafExclusionFilterOnMatch' parameters: - description: >- - A list of parameters matched by the exclusion filter in the HTTP - query string and HTTP request body. Nested parameters can be matched - by joining fields with a dot character. + description: A list of parameters matched by the exclusion filter in the HTTP query string and HTTP request body. Nested parameters can be matched by joining fields with a dot character. items: + description: A request parameter name to exclude from the query string or request body. example: list.search.query type: string type: array @@ -1508,8 +2011,7 @@ components: rules_target: description: The WAF rules targeted by the exclusion filter. items: - $ref: >- - #/components/schemas/ApplicationSecurityWafExclusionFilterRulesTarget + $ref: '#/components/schemas/ApplicationSecurityWafExclusionFilterRulesTarget' type: array scope: description: The services where the exclusion filter is deployed. @@ -1532,21 +2034,18 @@ components: example: true type: boolean ip_list: - description: >- - The client IP addresses matched by the exclusion filter (CIDR - notation is supported). + description: The client IP addresses matched by the exclusion filter (CIDR notation is supported). items: + description: A single IP address to exclude. example: 198.51.100.72 type: string type: array on_match: $ref: '#/components/schemas/ApplicationSecurityWafExclusionFilterOnMatch' parameters: - description: >- - A list of parameters matched by the exclusion filter in the HTTP - query string and HTTP request body. Nested parameters can be matched - by joining fields with a dot character. + description: A list of parameters matched by the exclusion filter in the HTTP query string and HTTP request body. Nested parameters can be matched by joining fields with a dot character. items: + description: A parameter name matched by the exclusion filter in the HTTP query string or request body. example: list.search.query type: string type: array @@ -1557,8 +2056,7 @@ components: rules_target: description: The WAF rules targeted by the exclusion filter. items: - $ref: >- - #/components/schemas/ApplicationSecurityWafExclusionFilterRulesTarget + $ref: '#/components/schemas/ApplicationSecurityWafExclusionFilterRulesTarget' type: array scope: description: The services where the exclusion filter is deployed. @@ -1569,6 +2067,205 @@ components: - description - enabled type: object + ApplicationSecurityPolicyAttributes: + description: A WAF policy. + properties: + description: + description: Description of the WAF policy. + example: Policy applied to internal web applications. + type: string + isDefault: + description: |- + Make this policy the default policy. The default policy is applied to + every service not specifically assigned to another policy. + example: false + type: boolean + name: + description: The name of the WAF policy. + example: Internal Network Policy + type: string + protectionPresets: + description: Presets enabled on this policy. + items: + example: attack-tools + type: string + type: array + rules: + description: Rule overrides applied by the policy. + items: + $ref: '#/components/schemas/ApplicationSecurityPolicyRuleOverride' + type: array + rulesets: + deprecated: true + description: 'Deprecated: Ruleset overrides. Use `protectionPresets` instead.' + items: + $ref: '#/components/schemas/ApplicationSecurityPolicyRulesetOverride' + type: array + scope: + description: The scope of the WAF policy. + items: + $ref: '#/components/schemas/ApplicationSecurityPolicyScope' + type: array + version: + default: 0 + description: Version of the WAF ruleset maintained by Datadog used by this policy. 0 is the default value. + example: 0 + format: int64 + type: integer + required: + - name + - description + type: object + ApplicationSecurityPolicyMetadata: + description: Metadata associated with the WAF policy. + properties: + added_at: + description: The date and time the WAF policy was created. + example: '2021-01-01T00:00:00Z' + format: date-time + type: string + added_by: + description: The handle of the user who created the WAF policy. + example: john.doe@datadoghq.com + type: string + added_by_name: + description: The name of the user who created the WAF policy. + example: John Doe + type: string + modified_at: + description: The date and time the WAF policy was last updated. + example: '2021-01-01T00:00:00Z' + format: date-time + type: string + modified_by: + description: The handle of the user who last updated the WAF policy. + example: john.doe@datadoghq.com + type: string + modified_by_name: + description: The name of the user who last updated the WAF policy. + example: John Doe + type: string + readOnly: true + type: object + ApplicationSecurityPolicyType: + default: policy + description: The type of the resource. The value should always be `policy`. + enum: + - policy + example: policy + type: string + x-enum-varnames: + - POLICY + ApplicationSecurityPolicyCreateAttributes: + description: Create a new WAF policy. + properties: + basedOn: + description: When creating a new policy, clone the policy indicated by this identifier. + example: recommended + type: string + description: + description: Description of the WAF policy. + example: Policy applied to internal web applications. + type: string + isDefault: + description: |- + Make this policy the default policy. The default policy is applied to + every service not specifically assigned to another policy. + example: false + type: boolean + name: + description: The name of the WAF policy. + example: Internal Network Policy + type: string + protectionPresets: + description: Presets enabled on this policy. + items: + example: attack-tools + type: string + type: array + rules: + description: Rule overrides applied by the policy. + items: + $ref: '#/components/schemas/ApplicationSecurityPolicyRuleOverride' + type: array + rulesets: + deprecated: true + description: 'Deprecated: Ruleset overrides. Use `protectionPresets` instead.' + items: + $ref: '#/components/schemas/ApplicationSecurityPolicyRulesetOverride' + type: array + scope: + description: The scope of the WAF policy. + items: + $ref: '#/components/schemas/ApplicationSecurityPolicyScope' + type: array + version: + default: 0 + description: Version of the WAF ruleset maintained by Datadog used by this policy. 0 is the default value. + example: 0 + format: int64 + type: integer + required: + - name + - description + - basedOn + type: object + ApplicationSecurityPolicyUpdateAttributes: + description: Update a WAF policy. + properties: + description: + description: Description of the WAF policy. + example: Policy applied to internal web applications. + type: string + isDefault: + description: |- + Make this policy the default policy. The default policy is applied to + every service not specifically assigned to another policy. + example: false + type: boolean + name: + description: The name of the WAF policy. + example: Internal Network Policy + type: string + protectionPresets: + description: Presets enabled on this policy. + example: + - attack-tools + items: + example: attack-tools + type: string + type: array + rules: + description: Rule overrides applied by the policy. + items: + $ref: '#/components/schemas/ApplicationSecurityPolicyRuleOverride' + type: array + rulesets: + deprecated: true + description: 'Deprecated: Ruleset overrides. Use `protectionPresets` instead.' + items: + $ref: '#/components/schemas/ApplicationSecurityPolicyRulesetOverride' + type: array + scope: + description: The scope of the WAF policy. + items: + $ref: '#/components/schemas/ApplicationSecurityPolicyScope' + type: array + version: + default: 0 + description: Version of the WAF ruleset maintained by Datadog used by this policy. 0 is the default value. + example: 0 + format: int64 + type: integer + required: + - name + - description + - version + - isDefault + - rules + - protectionPresets + - scope + type: object CloudWorkloadSecurityAgentRuleAttributes: description: A Cloud Workload Security Agent rule returned by the API properties: @@ -1580,6 +2277,7 @@ components: blocking: description: The blocking policies that the rule belongs to items: + description: The ID of a blocking policy that this rule belongs to. type: string type: array category: @@ -1608,6 +2306,7 @@ components: disabled: description: The disabled policies that the rule belongs to items: + description: The ID of a disabled policy that this rule belongs to. type: string type: array enabled: @@ -1621,11 +2320,13 @@ components: filters: description: The platforms the Agent rule is supported on items: + description: A platform filter that the Agent rule is supported on. type: string type: array monitoring: description: The monitoring policies that the rule belongs to items: + description: The ID of a monitoring policy that this rule belongs to. type: string type: array name: @@ -1635,8 +2336,13 @@ components: product_tags: description: The list of product tags associated with the rule items: + description: A product tag associated with the rule. type: string type: array + silent: + description: Whether the rule is silent. + example: false + type: boolean updateAuthorUuId: description: The ID of the user who updated the rule example: e51c9744-d158-11ec-ad23-da7ad0900002 @@ -1673,9 +2379,13 @@ components: properties: actions: $ref: '#/components/schemas/CloudWorkloadSecurityAgentRuleActions' + agent_version: + description: Constrain the rule to specific versions of the Datadog Agent. + type: string blocking: - description: The blocking policies that the rule belongs to + description: The blocking policies that the rule belongs to. items: + description: The ID of a blocking policy that this rule belongs to. type: string type: array description: @@ -1683,12 +2393,13 @@ components: example: My Agent rule type: string disabled: - description: The disabled policies that the rule belongs to + description: The disabled policies that the rule belongs to. items: + description: The ID of a disabled policy that this rule belongs to. type: string type: array enabled: - description: Whether the Agent rule is enabled + description: Whether the Agent rule is enabled. example: true type: boolean expression: @@ -1696,13 +2407,15 @@ components: example: exec.file.name == "sh" type: string filters: - description: The platforms the Agent rule is supported on + description: The platforms the Agent rule is supported on. items: + description: A platform filter that the Agent rule is supported on. type: string type: array monitoring: - description: The monitoring policies that the rule belongs to + description: The monitoring policies that the rule belongs to. items: + description: The ID of a monitoring policy that this rule belongs to. type: string type: array name: @@ -1710,14 +2423,19 @@ components: example: my_agent_rule type: string policy_id: - description: The ID of the policy where the Agent rule is saved + description: The ID of the policy where the Agent rule is saved. example: a8c8e364-6556-434d-b798-a4c23de29c0b type: string product_tags: - description: The list of product tags associated with the rule + description: The list of product tags associated with the rule. items: + description: A product tag associated with the rule. type: string type: array + silent: + description: Whether the rule is silent. + example: false + type: boolean required: - name - expression @@ -1727,9 +2445,13 @@ components: properties: actions: $ref: '#/components/schemas/CloudWorkloadSecurityAgentRuleActions' + agent_version: + description: Constrain the rule to specific versions of the Datadog Agent + type: string blocking: description: The blocking policies that the rule belongs to items: + description: The ID of a blocking policy that this rule belongs to. type: string type: array description: @@ -1739,6 +2461,7 @@ components: disabled: description: The disabled policies that the rule belongs to items: + description: The ID of a disabled policy that this rule belongs to. type: string type: array enabled: @@ -1752,6 +2475,7 @@ components: monitoring: description: The monitoring policies that the rule belongs to items: + description: The ID of a monitoring policy that this rule belongs to. type: string type: array policy_id: @@ -1761,8 +2485,13 @@ components: product_tags: description: The list of product tags associated with the rule items: + description: A product tag associated with the rule. type: string type: array + silent: + description: Whether the rule is silent. + example: false + type: boolean type: object CloudWorkloadSecurityAgentRuleID: description: The ID of the Agent rule @@ -1798,14 +2527,15 @@ components: hostTags: description: The host tags defining where this policy is deployed items: + description: A host tag used to identify where this policy is deployed. type: string type: array hostTagsLists: - description: >- - The host tags defining where this policy is deployed, the inner - values are linked with AND, the outer values are linked with OR + description: The host tags defining where this policy is deployed, the inner values are linked with AND, the outer values are linked with OR items: + description: A list of host tags linked with AND logic. items: + description: A host tag used to filter the deployment scope. type: string type: array type: array @@ -1819,6 +2549,14 @@ components: description: The name of the policy example: my_agent_policy type: string + pinned: + description: Whether the policy is pinned + example: false + type: boolean + policyType: + description: The type of the policy + example: policy + type: string policyVersion: description: The version of the policy example: '1' @@ -1845,8 +2583,9 @@ components: format: int64 type: integer updater: - $ref: >- - #/components/schemas/CloudWorkloadSecurityAgentPolicyUpdaterAttributes + $ref: '#/components/schemas/CloudWorkloadSecurityAgentPolicyUpdaterAttributes' + versions: + $ref: '#/components/schemas/CloudWorkloadSecurityAgentPolicyVersions' type: object CloudWorkloadSecurityAgentPolicyType: default: policy @@ -1871,14 +2610,15 @@ components: hostTags: description: The host tags defining where this policy is deployed items: + description: A host tag used to identify where this policy is deployed. type: string type: array hostTagsLists: - description: >- - The host tags defining where this policy is deployed, the inner - values are linked with AND, the outer values are linked with OR + description: The host tags defining where this policy is deployed, the inner values are linked with AND, the outer values are linked with OR items: + description: A list of host tags linked with AND logic. items: + description: A host tag used to filter the deployment scope. type: string type: array type: array @@ -1903,14 +2643,15 @@ components: hostTags: description: The host tags defining where this policy is deployed items: + description: A host tag used to identify where this policy is deployed. type: string type: array hostTagsLists: - description: >- - The host tags defining where this policy is deployed, the inner - values are linked with AND, the outer values are linked with OR + description: The host tags defining where this policy is deployed, the inner values are linked with AND, the outer values are linked with OR items: + description: A list of host tags linked with AND logic. items: + description: A host tag used to filter the deployment scope. type: string type: array type: array @@ -1923,40 +2664,62 @@ components: description: The ID of the Agent policy example: 6517fcc1-cec7-4394-a655-8d6e9d085255 type: string - ObservabilityPipelineDataAttributes: - description: >- - Defines the pipeline’s name and its components (sources, processors, and - destinations). + RumSdkConfigAttributes: + description: Attributes of the RUM SDK configuration. properties: - config: - $ref: '#/components/schemas/ObservabilityPipelineConfig' - name: - description: Name of the pipeline. - example: Main Observability Pipeline + rum: + $ref: '#/components/schemas/RumSdkConfigRumAttributes' + required: + - rum + type: object + RumSdkConfigMeta: + description: Metadata associated with a RUM SDK configuration. + properties: + updated_at: + description: The timestamp of the last update to this configuration. + example: '2024-01-15T09:30:00.000Z' + format: date-time + type: string + updated_by: + description: The handle of the user who last updated this configuration. + example: user@datadoghq.com type: string required: - - name - - config + - updated_at + - updated_by type: object - ValidationErrorMeta: - description: >- - Describes additional metadata for validation errors, including field - names and error messages. + RumSdkConfigType: + default: rum_sdk_config + description: The type of the resource. The value should always be `rum_sdk_config`. + enum: + - rum_sdk_config + example: rum_sdk_config + type: string + x-enum-varnames: + - RUM_SDK_CONFIG + JSONAPIErrorItemSource: + description: References to the source of the error. properties: - field: - description: The field name that caused the error. - example: region + header: + description: A string indicating the name of a single request header which caused the error. + example: Authorization type: string - id: - description: The ID of the component in which the error occurred. - example: datadog-agent-source + parameter: + description: A string indicating which URI query parameter caused the error. + example: limit type: string - message: - description: The detailed error message. - example: Field 'region' is required + pointer: + description: A JSON pointer to the value in the request document that caused the error. + example: /data/attributes/title type: string + type: object + RumSdkConfigUpdateAttributes: + description: Attributes of the RUM SDK configuration to update. + properties: + rum: + $ref: '#/components/schemas/RumSdkConfigRumUpdateAttributes' required: - - message + - rum type: object ApplicationSecurityWafCustomRuleAction: description: The definition of `ApplicationSecurityWafCustomRuleAction` object. @@ -1964,18 +2727,15 @@ components: action: $ref: '#/components/schemas/ApplicationSecurityWafCustomRuleActionAction' parameters: - $ref: >- - #/components/schemas/ApplicationSecurityWafCustomRuleActionParameters + $ref: '#/components/schemas/ApplicationSecurityWafCustomRuleActionParameters' type: object ApplicationSecurityWafCustomRuleCondition: description: One condition of the WAF Custom Rule. properties: operator: - $ref: >- - #/components/schemas/ApplicationSecurityWafCustomRuleConditionOperator + $ref: '#/components/schemas/ApplicationSecurityWafCustomRuleConditionOperator' parameters: - $ref: >- - #/components/schemas/ApplicationSecurityWafCustomRuleConditionParameters + $ref: '#/components/schemas/ApplicationSecurityWafCustomRuleConditionParameters' required: - operator - parameters @@ -2029,19 +2789,15 @@ components: ApplicationSecurityWafCustomRuleTags: additionalProperties: type: string - description: >- - Tags associated with the WAF Custom Rule. The concatenation of category - and type will form the security - + description: |- + Tags associated with the WAF Custom Rule. The concatenation of category and type will form the security activity field associated with the traces. maxProperties: 32 properties: category: $ref: '#/components/schemas/ApplicationSecurityWafCustomRuleTagsCategory' type: - description: >- - The type of the WAF rule, associated with the category will form the - security activity. + description: The type of the WAF rule, associated with the category will form the security activity. example: users.login.success type: string required: @@ -2074,11 +2830,7 @@ components: readOnly: true type: object ApplicationSecurityWafExclusionFilterOnMatch: - description: >- - The action taken when the exclusion filter matches. When set to - `monitor`, security traces are emitted but the requests are not blocked. - By default, security traces are not emitted and the requests are not - blocked. + description: The action taken when the exclusion filter matches. When set to `monitor`, security traces are emitted but the requests are not blocked. By default, security traces are not emitted and the requests are not blocked. enum: - monitor type: string @@ -2092,8 +2844,7 @@ components: example: dog-913-009 type: string tags: - $ref: >- - #/components/schemas/ApplicationSecurityWafExclusionFilterRulesTargetTags + $ref: '#/components/schemas/ApplicationSecurityWafExclusionFilterRulesTargetTags' type: object ApplicationSecurityWafExclusionFilterScope: description: Deploy on services based on their environment and/or service name. @@ -2107,23 +2858,83 @@ components: example: prod type: string type: object - CloudWorkloadSecurityAgentRuleActions: - description: The array of actions the rule can perform if triggered - items: - $ref: '#/components/schemas/CloudWorkloadSecurityAgentRuleAction' - nullable: true - type: array - CloudWorkloadSecurityAgentRuleCreatorAttributes: - description: The attributes of the user who created the Agent rule + ApplicationSecurityPolicyRuleOverride: + description: Override WAF rule parameters for services in a policy. properties: - handle: - description: The handle of the user - example: datadog.user@example.com - type: string - name: - description: The name of the user - example: Datadog User - nullable: true + blocking: + description: When blocking is enabled, the rule will block the traffic matched by this rule. + example: false + type: boolean + enabled: + description: When false, this rule will not match any traffic. + example: true + type: boolean + extended_data_collection: + description: When true, collects additional data from the WAF for this rule. + example: false + type: boolean + id: + description: Override the parameters for this WAF rule identifier. + example: rasp-001-002 + type: string + required: + - id + - enabled + - blocking + type: object + ApplicationSecurityPolicyRulesetOverride: + deprecated: true + description: 'Deprecated: Override WAF ruleset parameters. Use `protectionPresets` instead.' + properties: + blocking: + description: When blocking is enabled, the ruleset will block the traffic it matches. + example: false + type: boolean + enabled: + description: When false, this ruleset will not match any traffic. + example: true + type: boolean + id: + description: The identifier of the ruleset to override. + example: attack_tool + type: string + required: + - id + - enabled + - blocking + type: object + ApplicationSecurityPolicyScope: + description: The scope of the WAF policy. + properties: + env: + description: The environment scope for the WAF policy. + example: prod + type: string + service: + description: The service scope for the WAF policy. + example: billing-service + type: string + required: + - service + - env + type: object + CloudWorkloadSecurityAgentRuleActions: + description: The array of actions the rule can perform if triggered + items: + $ref: '#/components/schemas/CloudWorkloadSecurityAgentRuleAction' + nullable: true + type: array + CloudWorkloadSecurityAgentRuleCreatorAttributes: + description: The attributes of the user who created the Agent rule + properties: + handle: + description: The handle of the user + example: datadog.user@example.com + type: string + name: + description: The name of the user + example: Datadog User + nullable: true type: string type: object CloudWorkloadSecurityAgentRuleUpdaterAttributes: @@ -2152,49 +2963,139 @@ components: nullable: true type: string type: object - ObservabilityPipelineConfig: - description: >- - Specifies the pipeline's configuration, including its sources, - processors, and destinations. - properties: - destinations: - description: A list of destination components where processed logs are sent. - example: - - id: datadog-logs-destination - inputs: - - filter-processor - type: datadog_logs - items: - $ref: '#/components/schemas/ObservabilityPipelineConfigDestinationItem' - type: array - processors: - description: A list of processors that transform or enrich log data. - example: - - id: filter-processor - include: service:my-service - inputs: - - datadog-agent-source - type: filter - items: - $ref: '#/components/schemas/ObservabilityPipelineConfigProcessorItem' - type: array - sources: - description: A list of configured data sources for the pipeline. - example: - - id: datadog-agent-source - type: datadog_agent - items: - $ref: '#/components/schemas/ObservabilityPipelineConfigSourceItem' - type: array + CloudWorkloadSecurityAgentPolicyVersions: + description: The versions of the policy + items: + $ref: '#/components/schemas/CloudWorkloadSecurityAgentPolicyVersion' + type: array + RumSdkConfigRumAttributes: + description: The RUM SDK settings for a configuration. + properties: + allowed_tracing_urls: + $ref: '#/components/schemas/RumSdkConfigAllowedTracingUrlList' + allowed_tracking_origins: + $ref: '#/components/schemas/RumSdkConfigAllowedTrackingOriginList' + application_id: + description: The ID of the RUM application this configuration belongs to. + example: f80e917c-3cd0-4048-ade7-1c4c207baa99 + type: string + context: + $ref: '#/components/schemas/RumSdkConfigDynamicOptionPairList' + default_privacy_level: + description: The default privacy masking level applied to all RUM data. + example: mask-user-input + type: string + enable_privacy_for_action_name: + description: Whether to mask user-interaction action names for privacy. + example: false + type: boolean + env: + description: The environment tag for the RUM application. + example: production + type: string + service: + description: The service name tag for the RUM application. + example: my-service + type: string + session_replay_sample_rate: + description: The percentage of collected sessions for which a replay is captured (0–100). + example: 10 + format: int64 + maximum: 100 + minimum: 0 + type: integer + session_sample_rate: + description: The percentage of user sessions to collect (0–100). + example: 50 + format: int64 + maximum: 100 + minimum: 0 + type: integer + trace_sample_rate: + description: The percentage of requests to forward as APM traces (0–100). + example: 100 + format: int64 + maximum: 100 + minimum: 0 + type: integer + track_session_across_subdomains: + description: Whether to share a session across subdomains of the same site. + example: false + type: boolean + user: + $ref: '#/components/schemas/RumSdkConfigDynamicOptionPairList' + version: + $ref: '#/components/schemas/RumSdkConfigDynamicOption' + required: + - application_id + - session_sample_rate + - session_replay_sample_rate + - default_privacy_level + - enable_privacy_for_action_name + type: object + RumSdkConfigRumUpdateAttributes: + description: The RUM SDK settings to apply when updating a configuration. + properties: + allowed_tracing_urls: + $ref: '#/components/schemas/RumSdkConfigAllowedTracingUrlList' + allowed_tracking_origins: + $ref: '#/components/schemas/RumSdkConfigAllowedTrackingOriginList' + context: + $ref: '#/components/schemas/RumSdkConfigDynamicOptionPairList' + default_privacy_level: + description: The default privacy masking level applied to all RUM data. + example: mask + type: string + enable_privacy_for_action_name: + description: Whether to mask user-interaction action names for privacy. + example: true + type: boolean + env: + description: The environment tag for the RUM application. + example: production + type: string + service: + description: The service name tag for the RUM application. + example: my-service + type: string + session_replay_sample_rate: + description: The percentage of collected sessions for which a replay is captured (0–100). + example: 20 + format: int64 + maximum: 100 + minimum: 0 + type: integer + session_sample_rate: + description: The percentage of user sessions to collect (0–100). + example: 75 + format: int64 + maximum: 100 + minimum: 0 + type: integer + trace_sample_rate: + description: The percentage of requests to forward as APM traces (0–100). + example: 100 + format: int64 + maximum: 100 + minimum: 0 + type: integer + track_session_across_subdomains: + description: Whether to share a session across subdomains of the same site. + example: false + type: boolean + user: + $ref: '#/components/schemas/RumSdkConfigDynamicOptionPairList' + version: + $ref: '#/components/schemas/RumSdkConfigDynamicOption' required: - - sources - - destinations + - session_sample_rate + - session_replay_sample_rate + - default_privacy_level + - enable_privacy_for_action_name type: object ApplicationSecurityWafCustomRuleActionAction: default: block_request - description: >- - Override the default action to take when the WAF custom rule would - block. + description: Override the default action to take when the WAF custom rule would block. enum: - redirect_request - block_request @@ -2204,9 +3105,7 @@ components: - REDIRECT_REQUEST - BLOCK_REQUEST ApplicationSecurityWafCustomRuleActionParameters: - description: >- - The definition of `ApplicationSecurityWafCustomRuleActionParameters` - object. + description: The definition of `ApplicationSecurityWafCustomRuleActionParameters` object. properties: location: description: The location to redirect to when the WAF custom rule triggers. @@ -2233,6 +3132,10 @@ components: - ip_match - '!ip_match' - capture_data + - exists + - '!exists' + - equals + - '!equals' example: match_regex type: string x-enum-varnames: @@ -2247,54 +3150,47 @@ components: - IP_MATCH - NOT_IP_MATCH - CAPTURE_DATA + - EXISTS + - NOT_EXISTS + - EQUALS + - NOT_EQUALS ApplicationSecurityWafCustomRuleConditionParameters: description: The scope of the WAF custom rule. properties: data: - description: >- - Identifier of a list of data from the denylist. Can only be used as - substitution from the list parameter. + description: Identifier of a list of data from the denylist. Can only be used as substitution from the list parameter. example: blocked_users type: string inputs: - description: >- - List of inputs on which at least one should match with the given - operator. + description: List of inputs on which at least one should match with the given operator. items: - $ref: >- - #/components/schemas/ApplicationSecurityWafCustomRuleConditionInput + $ref: '#/components/schemas/ApplicationSecurityWafCustomRuleConditionInput' type: array list: - description: >- - List of value to use with the condition. Only used with the - phrase_match, !phrase_match, exact_match and - + description: |- + List of value to use with the condition. Only used with the phrase_match, !phrase_match, exact_match and !exact_match operator. items: + description: A value to match against in the condition. type: string type: array options: - $ref: >- - #/components/schemas/ApplicationSecurityWafCustomRuleConditionOptions + $ref: '#/components/schemas/ApplicationSecurityWafCustomRuleConditionOptions' regex: - description: >- - Regex to use with the condition. Only used with match_regex and - !match_regex operator. + description: Regex to use with the condition. Only used with match_regex and !match_regex operator. example: path.* type: string + type: + $ref: '#/components/schemas/ApplicationSecurityWafCustomRuleConditionParametersType' value: - description: >- - Store the captured value in the specified tag name. Only used with - the capture_data operator. + description: Store the captured value in the specified tag name. Only used with the capture_data operator. example: custom_tag type: string required: - inputs type: object ApplicationSecurityWafCustomRuleTagsCategory: - description: >- - The category of the WAF Rule, can be either `business_logic`, - `attack_attempt` or `security_response`. + description: The category of the WAF Rule, can be either `business_logic`, `attack_attempt` or `security_response`. enum: - attack_attempt - business_logic @@ -2334,4049 +3230,358 @@ components: set: $ref: '#/components/schemas/CloudWorkloadSecurityAgentRuleActionSet' type: object - ObservabilityPipelineConfigDestinationItem: - description: A destination for the pipeline. - oneOf: - - $ref: '#/components/schemas/ObservabilityPipelineDatadogLogsDestination' - - $ref: '#/components/schemas/ObservabilityPipelineAmazonS3Destination' - - $ref: >- - #/components/schemas/ObservabilityPipelineGoogleCloudStorageDestination - - $ref: '#/components/schemas/ObservabilityPipelineSplunkHecDestination' - - $ref: '#/components/schemas/ObservabilityPipelineSumoLogicDestination' - - $ref: '#/components/schemas/ObservabilityPipelineElasticsearchDestination' - - $ref: '#/components/schemas/ObservabilityPipelineRsyslogDestination' - - $ref: '#/components/schemas/ObservabilityPipelineSyslogNgDestination' - - $ref: '#/components/schemas/AzureStorageDestination' - - $ref: '#/components/schemas/MicrosoftSentinelDestination' - - $ref: '#/components/schemas/ObservabilityPipelineGoogleChronicleDestination' - - $ref: '#/components/schemas/ObservabilityPipelineNewRelicDestination' - - $ref: '#/components/schemas/ObservabilityPipelineSentinelOneDestination' - - $ref: '#/components/schemas/ObservabilityPipelineOpenSearchDestination' - - $ref: >- - #/components/schemas/ObservabilityPipelineAmazonOpenSearchDestination - - $ref: '#/components/schemas/ObservabilityPipelineSocketDestination' - - $ref: >- - #/components/schemas/ObservabilityPipelineAmazonSecurityLakeDestination - - $ref: >- - #/components/schemas/ObservabilityPipelineCrowdStrikeNextGenSiemDestination - ObservabilityPipelineConfigProcessorItem: - description: A processor for the pipeline. - oneOf: - - $ref: '#/components/schemas/ObservabilityPipelineFilterProcessor' - - $ref: '#/components/schemas/ObservabilityPipelineParseJSONProcessor' - - $ref: '#/components/schemas/ObservabilityPipelineQuotaProcessor' - - $ref: '#/components/schemas/ObservabilityPipelineAddFieldsProcessor' - - $ref: '#/components/schemas/ObservabilityPipelineRemoveFieldsProcessor' - - $ref: '#/components/schemas/ObservabilityPipelineRenameFieldsProcessor' - - $ref: '#/components/schemas/ObservabilityPipelineGenerateMetricsProcessor' - - $ref: '#/components/schemas/ObservabilityPipelineSampleProcessor' - - $ref: '#/components/schemas/ObservabilityPipelineParseGrokProcessor' - - $ref: >- - #/components/schemas/ObservabilityPipelineSensitiveDataScannerProcessor - - $ref: '#/components/schemas/ObservabilityPipelineOcsfMapperProcessor' - - $ref: '#/components/schemas/ObservabilityPipelineAddEnvVarsProcessor' - - $ref: '#/components/schemas/ObservabilityPipelineDedupeProcessor' - - $ref: '#/components/schemas/ObservabilityPipelineEnrichmentTableProcessor' - - $ref: '#/components/schemas/ObservabilityPipelineReduceProcessor' - - $ref: '#/components/schemas/ObservabilityPipelineThrottleProcessor' - - $ref: '#/components/schemas/ObservabilityPipelineCustomProcessor' - - $ref: '#/components/schemas/ObservabilityPipelineDatadogTagsProcessor' - ObservabilityPipelineConfigSourceItem: - description: A data source for the pipeline. - oneOf: - - $ref: '#/components/schemas/ObservabilityPipelineKafkaSource' - - $ref: '#/components/schemas/ObservabilityPipelineDatadogAgentSource' - - $ref: '#/components/schemas/ObservabilityPipelineSplunkTcpSource' - - $ref: '#/components/schemas/ObservabilityPipelineSplunkHecSource' - - $ref: '#/components/schemas/ObservabilityPipelineAmazonS3Source' - - $ref: '#/components/schemas/ObservabilityPipelineFluentdSource' - - $ref: '#/components/schemas/ObservabilityPipelineFluentBitSource' - - $ref: '#/components/schemas/ObservabilityPipelineHttpServerSource' - - $ref: '#/components/schemas/ObservabilityPipelineSumoLogicSource' - - $ref: '#/components/schemas/ObservabilityPipelineRsyslogSource' - - $ref: '#/components/schemas/ObservabilityPipelineSyslogNgSource' - - $ref: '#/components/schemas/ObservabilityPipelineAmazonDataFirehoseSource' - - $ref: '#/components/schemas/ObservabilityPipelineGooglePubSubSource' - - $ref: '#/components/schemas/ObservabilityPipelineHttpClientSource' - - $ref: '#/components/schemas/ObservabilityPipelineLogstashSource' - - $ref: '#/components/schemas/ObservabilityPipelineSocketSource' - ApplicationSecurityWafCustomRuleConditionInput: - description: Input from the request on which the condition should apply. - properties: - address: - $ref: >- - #/components/schemas/ApplicationSecurityWafCustomRuleConditionInputAddress - key_path: - description: Specific path for the input. - items: - type: string - type: array - required: - - address - type: object - ApplicationSecurityWafCustomRuleConditionOptions: - description: Options for the operator of this condition. - properties: - case_sensitive: - default: false - description: Evaluate the value as case sensitive. - type: boolean - min_length: - default: 0 - description: >- - Only evaluate this condition if the value has a minimum amount of - characters. - format: int64 - type: integer - type: object - CloudWorkloadSecurityAgentRuleActionHash: - additionalProperties: {} - description: An empty object indicating the hash action - type: object - CloudWorkloadSecurityAgentRuleKill: - description: Kill system call applied on the container matching the rule - properties: - signal: - description: Supported signals for the kill system call - type: string - type: object - CloudWorkloadSecurityAgentRuleActionMetadata: - description: The metadata action applied on the scope matching the rule - properties: - image_tag: - description: The image tag of the metadata action - type: string - service: - description: The service of the metadata action - type: string - short_image: - description: The short image of the metadata action - type: string - type: object - CloudWorkloadSecurityAgentRuleActionSet: - description: The set action applied on the scope matching the rule + CloudWorkloadSecurityAgentPolicyVersion: + description: The versions of the policy properties: - append: - description: Whether the value should be appended to the field - type: boolean - field: - description: The field of the set action + date: + description: The date and time the version was created + nullable: true type: string name: - description: The name of the set action - type: string - scope: - description: The scope of the set action - type: string - size: - description: The size of the set action - format: int64 - type: integer - ttl: - description: The time to live of the set action - format: int64 - type: integer - value: - description: The value of the set action - type: string - type: object - ObservabilityPipelineDatadogLogsDestination: - description: The `datadog_logs` destination forwards logs to Datadog Log Management. - properties: - id: - description: The unique identifier for this component. - example: datadog-logs-destination - type: string - inputs: - description: >- - A list of component IDs whose output is used as the `input` for this - component. - example: - - filter-processor - items: - type: string - type: array - type: - $ref: '#/components/schemas/ObservabilityPipelineDatadogLogsDestinationType' - required: - - id - - type - - inputs - type: object - ObservabilityPipelineAmazonS3Destination: - description: >- - The `amazon_s3` destination sends your logs in Datadog-rehydratable - format to an Amazon S3 bucket for archiving. - properties: - auth: - $ref: '#/components/schemas/ObservabilityPipelineAwsAuth' - bucket: - description: S3 bucket name. - example: error-logs - type: string - id: - description: Unique identifier for the destination component. - example: amazon-s3-destination - type: string - inputs: - description: >- - A list of component IDs whose output is used as the `input` for this - component. - example: - - datadog-agent-source - items: - type: string - type: array - key_prefix: - description: Optional prefix for object keys. - type: string - region: - description: AWS region of the S3 bucket. - example: us-east-1 - type: string - storage_class: - $ref: >- - #/components/schemas/ObservabilityPipelineAmazonS3DestinationStorageClass - tls: - $ref: '#/components/schemas/ObservabilityPipelineTls' - type: - $ref: '#/components/schemas/ObservabilityPipelineAmazonS3DestinationType' - required: - - id - - type - - inputs - - bucket - - region - - storage_class - type: object - ObservabilityPipelineGoogleCloudStorageDestination: - description: > - The `google_cloud_storage` destination stores logs in a Google Cloud - Storage (GCS) bucket. - - It requires a bucket name, GCP authentication, and metadata fields. - properties: - acl: - $ref: >- - #/components/schemas/ObservabilityPipelineGoogleCloudStorageDestinationAcl - auth: - $ref: '#/components/schemas/ObservabilityPipelineGcpAuth' - bucket: - description: Name of the GCS bucket. - example: error-logs - type: string - id: - description: Unique identifier for the destination component. - example: gcs-destination - type: string - inputs: - description: >- - A list of component IDs whose output is used as the `input` for this - component. - example: - - datadog-agent-source - items: - type: string - type: array - key_prefix: - description: Optional prefix for object keys within the GCS bucket. - type: string - metadata: - description: Custom metadata to attach to each object uploaded to the GCS bucket. - items: - $ref: '#/components/schemas/ObservabilityPipelineMetadataEntry' - type: array - storage_class: - $ref: >- - #/components/schemas/ObservabilityPipelineGoogleCloudStorageDestinationStorageClass - type: - $ref: >- - #/components/schemas/ObservabilityPipelineGoogleCloudStorageDestinationType - required: - - id - - type - - inputs - - bucket - - auth - - storage_class - - acl - type: object - ObservabilityPipelineSplunkHecDestination: - description: > - The `splunk_hec` destination forwards logs to Splunk using the HTTP - Event Collector (HEC). - properties: - auto_extract_timestamp: - description: > - If `true`, Splunk tries to extract timestamps from incoming log - events. - - If `false`, Splunk assigns the time the event was received. - example: true - type: boolean - encoding: - $ref: >- - #/components/schemas/ObservabilityPipelineSplunkHecDestinationEncoding - id: - description: >- - The unique identifier for this component. Used to reference this - component in other parts of the pipeline (e.g., as input to - downstream components). - example: splunk-hec-destination - type: string - index: - description: Optional name of the Splunk index where logs are written. - example: main - type: string - inputs: - description: >- - A list of component IDs whose output is used as the `input` for this - component. - example: - - filter-processor - items: - type: string - type: array - sourcetype: - description: The Splunk sourcetype to assign to log events. - example: custom_sourcetype + description: The version of the policy + example: 1.47.0-rc2 type: string - type: - $ref: '#/components/schemas/ObservabilityPipelineSplunkHecDestinationType' - required: - - id - - type - - inputs type: object - ObservabilityPipelineSumoLogicDestination: - description: The `sumo_logic` destination forwards logs to Sumo Logic. + RumSdkConfigAllowedTracingUrlList: + description: A list of URL configurations for distributed tracing. + items: + $ref: '#/components/schemas/RumSdkConfigTracingUrlConfig' + type: array + RumSdkConfigAllowedTrackingOriginList: + description: A list of origin patterns allowed for cross-origin session tracking. + items: + $ref: '#/components/schemas/RumSdkConfigMatchOption' + type: array + RumSdkConfigDynamicOptionPairList: + description: A list of dynamic option key-value pairs. + items: + $ref: '#/components/schemas/RumSdkConfigDynamicOptionPair' + type: array + RumSdkConfigDynamicOption: + description: A dynamic configuration option that extracts a value at runtime using a specified strategy. properties: - encoding: - $ref: >- - #/components/schemas/ObservabilityPipelineSumoLogicDestinationEncoding - header_custom_fields: - description: A list of custom headers to include in the request to Sumo Logic. - items: - $ref: >- - #/components/schemas/ObservabilityPipelineSumoLogicDestinationHeaderCustomFieldsItem - type: array - header_host_name: - description: Optional override for the host name header. - example: host-123 + attribute: + description: The element attribute to read. Used when `strategy` is `dom`. + example: data-version type: string - header_source_category: - description: Optional override for the source category header. - example: source-category - type: string - header_source_name: - description: Optional override for the source name header. - example: source-name + extractor: + $ref: '#/components/schemas/RumSdkConfigSerializedRegex' + key: + description: The `localStorage` key to read. Required when `strategy` is `localStorage`. + example: app.version type: string - id: - description: The unique identifier for this component. - example: sumo-logic-destination + name: + description: The cookie name to read. Required when `strategy` is `cookie`. + example: app_version type: string - inputs: - description: >- - A list of component IDs whose output is used as the `input` for this - component. - example: - - filter-processor - items: - type: string - type: array - type: - $ref: '#/components/schemas/ObservabilityPipelineSumoLogicDestinationType' - required: - - id - - type - - inputs - type: object - ObservabilityPipelineElasticsearchDestination: - description: The `elasticsearch` destination writes logs to an Elasticsearch cluster. - properties: - api_version: - $ref: >- - #/components/schemas/ObservabilityPipelineElasticsearchDestinationApiVersion - bulk_index: - description: The index to write logs to in Elasticsearch. - example: logs-index - type: string - id: - description: The unique identifier for this component. - example: elasticsearch-destination - type: string - inputs: - description: >- - A list of component IDs whose output is used as the `input` for this - component. - example: - - filter-processor - items: - type: string - type: array - type: - $ref: >- - #/components/schemas/ObservabilityPipelineElasticsearchDestinationType - required: - - id - - type - - inputs - type: object - ObservabilityPipelineRsyslogDestination: - description: >- - The `rsyslog` destination forwards logs to an external `rsyslog` server - over TCP or UDP using the syslog protocol. - properties: - id: - description: The unique identifier for this component. - example: rsyslog-destination - type: string - inputs: - description: >- - A list of component IDs whose output is used as the `input` for this - component. - example: - - filter-processor - items: - type: string - type: array - keepalive: - description: Optional socket keepalive duration in milliseconds. - example: 60000 - format: int64 - minimum: 0 - type: integer - tls: - $ref: '#/components/schemas/ObservabilityPipelineTls' - type: - $ref: '#/components/schemas/ObservabilityPipelineRsyslogDestinationType' - required: - - id - - type - - inputs - type: object - ObservabilityPipelineSyslogNgDestination: - description: >- - The `syslog_ng` destination forwards logs to an external `syslog-ng` - server over TCP or UDP using the syslog protocol. - properties: - id: - description: The unique identifier for this component. - example: syslog-ng-destination - type: string - inputs: - description: >- - A list of component IDs whose output is used as the `input` for this - component. - example: - - filter-processor - items: - type: string - type: array - keepalive: - description: Optional socket keepalive duration in milliseconds. - example: 60000 - format: int64 - minimum: 0 - type: integer - tls: - $ref: '#/components/schemas/ObservabilityPipelineTls' - type: - $ref: '#/components/schemas/ObservabilityPipelineSyslogNgDestinationType' - required: - - id - - type - - inputs - type: object - AzureStorageDestination: - description: >- - The `azure_storage` destination forwards logs to an Azure Blob Storage - container. - properties: - blob_prefix: - description: Optional prefix for blobs written to the container. - example: logs/ - type: string - container_name: - description: The name of the Azure Blob Storage container to store logs in. - example: my-log-container - type: string - id: - description: The unique identifier for this component. - example: azure-storage-destination - type: string - inputs: - description: >- - A list of component IDs whose output is used as the `input` for this - component. - example: - - processor-id - items: - type: string - type: array - type: - $ref: '#/components/schemas/AzureStorageDestinationType' - required: - - id - - type - - inputs - - container_name - type: object - MicrosoftSentinelDestination: - description: >- - The `microsoft_sentinel` destination forwards logs to Microsoft - Sentinel. - properties: - client_id: - description: Azure AD client ID used for authentication. - example: a1b2c3d4-5678-90ab-cdef-1234567890ab - type: string - dcr_immutable_id: - description: The immutable ID of the Data Collection Rule (DCR). - example: dcr-uuid-1234 - type: string - id: - description: The unique identifier for this component. - example: sentinel-destination - type: string - inputs: - description: >- - A list of component IDs whose output is used as the `input` for this - component. - example: - - filter-processor - items: - type: string - type: array - table: - description: The name of the Log Analytics table where logs are sent. - example: CustomLogsTable - type: string - tenant_id: - description: Azure AD tenant ID. - example: abcdef12-3456-7890-abcd-ef1234567890 - type: string - type: - $ref: '#/components/schemas/MicrosoftSentinelDestinationType' - required: - - id - - type - - inputs - - client_id - - tenant_id - - dcr_immutable_id - - table - type: object - ObservabilityPipelineGoogleChronicleDestination: - description: The `google_chronicle` destination sends logs to Google Chronicle. - properties: - auth: - $ref: '#/components/schemas/ObservabilityPipelineGcpAuth' - customer_id: - description: The Google Chronicle customer ID. - example: abcdefg123456789 - type: string - encoding: - $ref: >- - #/components/schemas/ObservabilityPipelineGoogleChronicleDestinationEncoding - id: - description: The unique identifier for this component. - example: google-chronicle-destination - type: string - inputs: - description: >- - A list of component IDs whose output is used as the `input` for this - component. - example: - - parse-json-processor - items: - type: string - type: array - log_type: - description: The log type metadata associated with the Chronicle destination. - example: nginx_logs - type: string - type: - $ref: >- - #/components/schemas/ObservabilityPipelineGoogleChronicleDestinationType - required: - - id - - type - - inputs - - auth - - customer_id - type: object - ObservabilityPipelineNewRelicDestination: - description: The `new_relic` destination sends logs to the New Relic platform. - properties: - id: - description: The unique identifier for this component. - example: new-relic-destination - type: string - inputs: - description: >- - A list of component IDs whose output is used as the `input` for this - component. - example: - - parse-json-processor - items: - type: string - type: array - region: - $ref: '#/components/schemas/ObservabilityPipelineNewRelicDestinationRegion' - type: - $ref: '#/components/schemas/ObservabilityPipelineNewRelicDestinationType' - required: - - id - - type - - inputs - - region - type: object - ObservabilityPipelineSentinelOneDestination: - description: The `sentinel_one` destination sends logs to SentinelOne. - properties: - id: - description: The unique identifier for this component. - example: sentinelone-destination - type: string - inputs: - description: >- - A list of component IDs whose output is used as the `input` for this - component. - example: - - filter-processor - items: - type: string - type: array - region: - $ref: >- - #/components/schemas/ObservabilityPipelineSentinelOneDestinationRegion - type: - $ref: '#/components/schemas/ObservabilityPipelineSentinelOneDestinationType' - required: - - id - - type - - inputs - - region - type: object - ObservabilityPipelineOpenSearchDestination: - description: The `opensearch` destination writes logs to an OpenSearch cluster. - properties: - bulk_index: - description: The index to write logs to. - example: logs-index - type: string - id: - description: The unique identifier for this component. - example: opensearch-destination - type: string - inputs: - description: >- - A list of component IDs whose output is used as the `input` for this - component. - example: - - filter-processor - items: - type: string - type: array - type: - $ref: '#/components/schemas/ObservabilityPipelineOpenSearchDestinationType' - required: - - id - - type - - inputs - type: object - ObservabilityPipelineAmazonOpenSearchDestination: - description: The `amazon_opensearch` destination writes logs to Amazon OpenSearch. - properties: - auth: - $ref: >- - #/components/schemas/ObservabilityPipelineAmazonOpenSearchDestinationAuth - bulk_index: - description: The index to write logs to. - example: logs-index - type: string - id: - description: The unique identifier for this component. - example: elasticsearch-destination - type: string - inputs: - description: >- - A list of component IDs whose output is used as the `input` for this - component. - example: - - filter-processor - items: - type: string - type: array - type: - $ref: >- - #/components/schemas/ObservabilityPipelineAmazonOpenSearchDestinationType - required: - - id - - type - - inputs - - auth - type: object - ObservabilityPipelineSocketDestination: - description: | - The `socket` destination sends logs over TCP or UDP to a remote server. - properties: - encoding: - $ref: '#/components/schemas/ObservabilityPipelineSocketDestinationEncoding' - framing: - $ref: '#/components/schemas/ObservabilityPipelineSocketDestinationFraming' - id: - description: The unique identifier for this component. - example: socket-destination - type: string - inputs: - description: >- - A list of component IDs whose output is used as the `input` for this - component. - example: - - filter-processor - items: - type: string - type: array - mode: - $ref: '#/components/schemas/ObservabilityPipelineSocketDestinationMode' - tls: - $ref: '#/components/schemas/ObservabilityPipelineTls' - description: TLS configuration. Relevant only when `mode` is `tcp`. - type: - $ref: '#/components/schemas/ObservabilityPipelineSocketDestinationType' - required: - - id - - type - - inputs - - encoding - - framing - - mode - type: object - ObservabilityPipelineAmazonSecurityLakeDestination: - description: > - The `amazon_security_lake` destination sends your logs to Amazon - Security Lake. - properties: - auth: - $ref: '#/components/schemas/ObservabilityPipelineAwsAuth' - bucket: - description: Name of the Amazon S3 bucket in Security Lake (3-63 characters). - example: security-lake-bucket - type: string - custom_source_name: - description: Custom source name for the logs in Security Lake. - example: my-custom-source - type: string - id: - description: Unique identifier for the destination component. - example: amazon-security-lake-destination - type: string - inputs: - description: >- - A list of component IDs whose output is used as the `input` for this - component. - example: - - filter-processor - items: - type: string - type: array - region: - description: AWS region of the S3 bucket. - example: us-east-1 - type: string - tls: - $ref: '#/components/schemas/ObservabilityPipelineTls' - type: - $ref: >- - #/components/schemas/ObservabilityPipelineAmazonSecurityLakeDestinationType - required: - - id - - type - - inputs - - bucket - - region - - custom_source_name - type: object - ObservabilityPipelineCrowdStrikeNextGenSiemDestination: - description: >- - The `crowdstrike_next_gen_siem` destination forwards logs to CrowdStrike - Next Gen SIEM. - properties: - compression: - $ref: >- - #/components/schemas/ObservabilityPipelineCrowdStrikeNextGenSiemDestinationCompression - encoding: - $ref: >- - #/components/schemas/ObservabilityPipelineCrowdStrikeNextGenSiemDestinationEncoding - id: - description: The unique identifier for this component. - example: crowdstrike-ngsiem-destination - type: string - inputs: - description: >- - A list of component IDs whose output is used as the `input` for this - component. - example: - - filter-processor - items: - type: string - type: array - tls: - $ref: '#/components/schemas/ObservabilityPipelineTls' - type: - $ref: >- - #/components/schemas/ObservabilityPipelineCrowdStrikeNextGenSiemDestinationType - required: - - id - - type - - inputs - - encoding - type: object - ObservabilityPipelineFilterProcessor: - description: >- - The `filter` processor allows conditional processing of logs based on a - Datadog search query. Logs that match the `include` query are passed - through; others are discarded. - properties: - id: - description: >- - The unique identifier for this component. Used to reference this - component in other parts of the pipeline (for example, as the - `input` to downstream components). - example: filter-processor - type: string - include: - description: >- - A Datadog search query used to determine which logs should pass - through the filter. Logs that match this query continue to - downstream components; others are dropped. - example: service:my-service - type: string - inputs: - description: >- - A list of component IDs whose output is used as the `input` for this - component. - example: - - datadog-agent-source - items: - type: string - type: array - type: - $ref: '#/components/schemas/ObservabilityPipelineFilterProcessorType' - required: - - id - - type - - include - - inputs - type: object - ObservabilityPipelineParseJSONProcessor: - description: >- - The `parse_json` processor extracts JSON from a specified field and - flattens it into the event. This is useful when logs contain embedded - JSON as a string. - properties: - field: - description: The name of the log field that contains a JSON string. - example: message - type: string - id: - description: >- - A unique identifier for this component. Used to reference this - component in other parts of the pipeline (e.g., as input to - downstream components). - example: parse-json-processor - type: string - include: - description: >- - A Datadog search query used to determine which logs this processor - targets. - example: service:my-service - type: string - inputs: - description: >- - A list of component IDs whose output is used as the `input` for this - component. - example: - - datadog-agent-source - items: - type: string - type: array - type: - $ref: '#/components/schemas/ObservabilityPipelineParseJSONProcessorType' - required: - - id - - type - - include - - field - - inputs - type: object - ObservabilityPipelineQuotaProcessor: - description: >- - The Quota Processor measures logging traffic for logs that match a - specified filter. When the configured daily quota is met, the processor - can drop or alert. - properties: - drop_events: - description: >- - If set to `true`, logs that matched the quota filter and sent after - the quota has been met are dropped; only logs that did not match the - filter query continue through the pipeline. - example: false - type: boolean - id: - description: >- - The unique identifier for this component. Used to reference this - component in other parts of the pipeline (for example, as the - `input` to downstream components). - example: quota-processor - type: string - ignore_when_missing_partitions: - description: >- - If `true`, the processor skips quota checks when partition fields - are missing from the logs. - type: boolean - include: - description: >- - A Datadog search query used to determine which logs this processor - targets. - example: service:my-service - type: string - inputs: - description: >- - A list of component IDs whose output is used as the `input` for this - component. - example: - - datadog-agent-source - items: - type: string - type: array - limit: - $ref: '#/components/schemas/ObservabilityPipelineQuotaProcessorLimit' - name: - description: Name of the quota. - example: MyQuota - type: string - overflow_action: - $ref: >- - #/components/schemas/ObservabilityPipelineQuotaProcessorOverflowAction - overrides: - description: >- - A list of alternate quota rules that apply to specific sets of - events, identified by matching field values. Each override can - define a custom limit. - items: - $ref: '#/components/schemas/ObservabilityPipelineQuotaProcessorOverride' - type: array - partition_fields: - description: >- - A list of fields used to segment log traffic for quota enforcement. - Quotas are tracked independently by unique combinations of these - field values. - items: - type: string - type: array - type: - $ref: '#/components/schemas/ObservabilityPipelineQuotaProcessorType' - required: - - id - - type - - include - - name - - drop_events - - limit - - inputs - type: object - ObservabilityPipelineAddFieldsProcessor: - description: The `add_fields` processor adds static key-value fields to logs. - properties: - fields: - description: >- - A list of static fields (key-value pairs) that is added to each log - event processed by this component. - items: - $ref: '#/components/schemas/ObservabilityPipelineFieldValue' - type: array - id: - description: >- - The unique identifier for this component. Used to reference this - component in other parts of the pipeline (for example, as the - `input` to downstream components). - example: add-fields-processor - type: string - include: - description: >- - A Datadog search query used to determine which logs this processor - targets. - example: service:my-service - type: string - inputs: - description: >- - A list of component IDs whose output is used as the `input` for this - component. - example: - - datadog-agent-source - items: - type: string - type: array - type: - $ref: '#/components/schemas/ObservabilityPipelineAddFieldsProcessorType' - required: - - id - - type - - include - - fields - - inputs - type: object - ObservabilityPipelineRemoveFieldsProcessor: - description: The `remove_fields` processor deletes specified fields from logs. - properties: - fields: - description: A list of field names to be removed from each log event. - example: - - field1 - - field2 - items: - type: string - type: array - id: - description: >- - The unique identifier for this component. Used to reference this - component in other parts of the pipeline (e.g., as input to - downstream components). - example: remove-fields-processor - type: string - include: - description: >- - A Datadog search query used to determine which logs this processor - targets. - example: service:my-service - type: string - inputs: - description: The `PipelineRemoveFieldsProcessor` `inputs`. - example: - - datadog-agent-source - items: - type: string - type: array - type: - $ref: '#/components/schemas/ObservabilityPipelineRemoveFieldsProcessorType' - required: - - id - - type - - include - - fields - - inputs - type: object - ObservabilityPipelineRenameFieldsProcessor: - description: The `rename_fields` processor changes field names. - properties: - fields: - description: >- - A list of rename rules specifying which fields to rename in the - event, what to rename them to, and whether to preserve the original - fields. - items: - $ref: >- - #/components/schemas/ObservabilityPipelineRenameFieldsProcessorField - type: array - id: - description: >- - A unique identifier for this component. Used to reference this - component in other parts of the pipeline (e.g., as input to - downstream components). - example: rename-fields-processor - type: string - include: - description: >- - A Datadog search query used to determine which logs this processor - targets. - example: service:my-service - type: string - inputs: - description: >- - A list of component IDs whose output is used as the `input` for this - component. - example: - - datadog-agent-source - items: - type: string - type: array - type: - $ref: '#/components/schemas/ObservabilityPipelineRenameFieldsProcessorType' - required: - - id - - type - - include - - fields - - inputs - type: object - ObservabilityPipelineGenerateMetricsProcessor: - description: > - The `generate_datadog_metrics` processor creates custom metrics from - logs and sends them to Datadog. - - Metrics can be counters, gauges, or distributions and optionally grouped - by log fields. - properties: - id: - description: >- - The unique identifier for this component. Used to reference this - component in other parts of the pipeline. - example: generate-metrics-processor - type: string - include: - description: >- - A Datadog search query used to determine which logs this processor - targets. - example: service:my-service - type: string - inputs: - description: >- - A list of component IDs whose output is used as the `input` for this - processor. - example: - - source-id - items: - type: string - type: array - metrics: - description: Configuration for generating individual metrics. - items: - $ref: '#/components/schemas/ObservabilityPipelineGeneratedMetric' - type: array - type: - $ref: >- - #/components/schemas/ObservabilityPipelineGenerateMetricsProcessorType - required: - - id - - type - - inputs - - include - - metrics - type: object - ObservabilityPipelineSampleProcessor: - description: >- - The `sample` processor allows probabilistic sampling of logs at a fixed - rate. - properties: - id: - description: >- - The unique identifier for this component. Used to reference this - component in other parts of the pipeline (for example, as the - `input` to downstream components). - example: sample-processor - type: string - include: - description: >- - A Datadog search query used to determine which logs this processor - targets. - example: service:my-service - type: string - inputs: - description: >- - A list of component IDs whose output is used as the `input` for this - component. - example: - - datadog-agent-source - items: - type: string - type: array - percentage: - description: The percentage of logs to sample. - example: 10 - format: double - type: number - rate: - description: Number of events to sample (1 in N). - example: 10 - format: int64 - minimum: 1 - type: integer - type: - $ref: '#/components/schemas/ObservabilityPipelineSampleProcessorType' - required: - - id - - type - - include - - inputs - type: object - ObservabilityPipelineParseGrokProcessor: - description: >- - The `parse_grok` processor extracts structured fields from unstructured - log messages using Grok patterns. - properties: - disable_library_rules: - default: false - description: >- - If set to `true`, disables the default Grok rules provided by - Datadog. - example: true - type: boolean - id: - description: A unique identifier for this processor. - example: parse-grok-processor - type: string - include: - description: >- - A Datadog search query used to determine which logs this processor - targets. - example: service:my-service - type: string - inputs: - description: >- - A list of component IDs whose output is used as the `input` for this - component. - example: - - datadog-agent-source - items: - type: string - type: array - rules: - description: >- - The list of Grok parsing rules. If multiple matching rules are - provided, they are evaluated in order. The first successful match is - applied. - items: - $ref: '#/components/schemas/ObservabilityPipelineParseGrokProcessorRule' - type: array - type: - $ref: '#/components/schemas/ObservabilityPipelineParseGrokProcessorType' - required: - - id - - type - - include - - inputs - - rules - type: object - ObservabilityPipelineSensitiveDataScannerProcessor: - description: >- - The `sensitive_data_scanner` processor detects and optionally redacts - sensitive data in log events. - properties: - id: - description: >- - The unique identifier for this component. Used to reference this - component in other parts of the pipeline (e.g., as input to - downstream components). - example: sensitive-scanner - type: string - include: - description: >- - A Datadog search query used to determine which logs this processor - targets. - example: source:prod - type: string - inputs: - description: >- - A list of component IDs whose output is used as the `input` for this - component. - example: - - parse-json-processor - items: - type: string - type: array - rules: - description: >- - A list of rules for identifying and acting on sensitive data - patterns. - items: - $ref: >- - #/components/schemas/ObservabilityPipelineSensitiveDataScannerProcessorRule - type: array - type: - $ref: >- - #/components/schemas/ObservabilityPipelineSensitiveDataScannerProcessorType - required: - - id - - type - - include - - inputs - - rules - type: object - ObservabilityPipelineOcsfMapperProcessor: - description: >- - The `ocsf_mapper` processor transforms logs into the OCSF schema using a - predefined mapping configuration. - properties: - id: - description: >- - The unique identifier for this component. Used to reference this - component in other parts of the pipeline. - example: ocsf-mapper-processor - type: string - include: - description: >- - A Datadog search query used to determine which logs this processor - targets. - example: service:my-service - type: string - inputs: - description: >- - A list of component IDs whose output is used as the `input` for this - processor. - example: - - filter-processor - items: - type: string - type: array - mappings: - description: A list of mapping rules to convert events to the OCSF format. - items: - $ref: >- - #/components/schemas/ObservabilityPipelineOcsfMapperProcessorMapping - type: array - type: - $ref: '#/components/schemas/ObservabilityPipelineOcsfMapperProcessorType' - required: - - id - - type - - include - - inputs - - mappings - type: object - ObservabilityPipelineAddEnvVarsProcessor: - description: >- - The `add_env_vars` processor adds environment variable values to log - events. - properties: - id: - description: >- - The unique identifier for this component. Used to reference this - processor in the pipeline. - example: add-env-vars-processor - type: string - include: - description: >- - A Datadog search query used to determine which logs this processor - targets. - example: service:my-service - type: string - inputs: - description: >- - A list of component IDs whose output is used as the input for this - processor. - example: - - datadog-agent-source - items: - type: string - type: array - type: - $ref: '#/components/schemas/ObservabilityPipelineAddEnvVarsProcessorType' - variables: - description: A list of environment variable mappings to apply to log fields. - items: - $ref: >- - #/components/schemas/ObservabilityPipelineAddEnvVarsProcessorVariable - type: array - required: - - id - - type - - include - - inputs - - variables - type: object - ObservabilityPipelineDedupeProcessor: - description: The `dedupe` processor removes duplicate fields in log events. - properties: - fields: - description: A list of log field paths to check for duplicates. - example: - - log.message - - log.error - items: - type: string - type: array - id: - description: The unique identifier for this processor. - example: dedupe-processor - type: string - include: - description: >- - A Datadog search query used to determine which logs this processor - targets. - example: service:my-service - type: string - inputs: - description: >- - A list of component IDs whose output is used as the input for this - processor. - example: - - parse-json-processor - items: - type: string - type: array - mode: - $ref: '#/components/schemas/ObservabilityPipelineDedupeProcessorMode' - type: - $ref: '#/components/schemas/ObservabilityPipelineDedupeProcessorType' - required: - - id - - type - - include - - inputs - - fields - - mode - type: object - ObservabilityPipelineEnrichmentTableProcessor: - description: >- - The `enrichment_table` processor enriches logs using a static CSV file - or GeoIP database. - properties: - file: - $ref: '#/components/schemas/ObservabilityPipelineEnrichmentTableFile' - geoip: - $ref: '#/components/schemas/ObservabilityPipelineEnrichmentTableGeoIp' - id: - description: The unique identifier for this processor. - example: enrichment-table-processor - type: string - include: - description: >- - A Datadog search query used to determine which logs this processor - targets. - example: source:my-source - type: string - inputs: - description: >- - A list of component IDs whose output is used as the input for this - processor. - example: - - add-fields-processor - items: - type: string - type: array - target: - description: Path where enrichment results should be stored in the log. - example: enriched.geoip - type: string - type: - $ref: >- - #/components/schemas/ObservabilityPipelineEnrichmentTableProcessorType - required: - - id - - type - - include - - inputs - - target - type: object - ObservabilityPipelineReduceProcessor: - description: >- - The `reduce` processor aggregates and merges logs based on matching keys - and merge strategies. - properties: - group_by: - description: A list of fields used to group log events for merging. - example: - - log.user.id - - log.device.id - items: - type: string - type: array - id: - description: The unique identifier for this processor. - example: reduce-processor - type: string - include: - description: >- - A Datadog search query used to determine which logs this processor - targets. - example: env:prod - type: string - inputs: - description: >- - A list of component IDs whose output is used as the input for this - processor. - example: - - parse-json-processor - items: - type: string - type: array - merge_strategies: - description: >- - List of merge strategies defining how values from grouped events - should be combined. - items: - $ref: >- - #/components/schemas/ObservabilityPipelineReduceProcessorMergeStrategy - type: array - type: - $ref: '#/components/schemas/ObservabilityPipelineReduceProcessorType' - required: - - id - - type - - include - - inputs - - group_by - - merge_strategies - type: object - ObservabilityPipelineThrottleProcessor: - description: >- - The `throttle` processor limits the number of events that pass through - over a given time window. - properties: - group_by: - description: >- - Optional list of fields used to group events before the threshold - has been reached. - example: - - log.user.id - items: - type: string - type: array - id: - description: The unique identifier for this processor. - example: throttle-processor - type: string - include: - description: >- - A Datadog search query used to determine which logs this processor - targets. - example: env:prod - type: string - inputs: - description: >- - A list of component IDs whose output is used as the input for this - processor. - example: - - datadog-agent-source - items: - type: string - type: array - threshold: - description: >- - the number of events allowed in a given time window. Events sent - after the threshold has been reached, are dropped. - example: 1000 - format: int64 - type: integer - type: - $ref: '#/components/schemas/ObservabilityPipelineThrottleProcessorType' - window: - description: The time window in seconds over which the threshold applies. - example: 60 - format: double - type: number - required: - - id - - type - - include - - inputs - - threshold - - window - type: object - ObservabilityPipelineCustomProcessor: - description: >- - The `custom_processor` processor transforms events using [Vector Remap - Language (VRL)](https://vector.dev/docs/reference/vrl/) scripts with - advanced filtering capabilities. - properties: - id: - description: The unique identifier for this processor. - example: remap-vrl-processor - type: string - include: - default: '*' - description: >- - A Datadog search query used to determine which logs this processor - targets. This field should always be set to `*` for the - custom_processor processor. - example: '*' - type: string - inputs: - description: >- - A list of component IDs whose output is used as the input for this - processor. - example: - - datadog-agent-source - items: - type: string - type: array - remaps: - description: Array of VRL remap rules. - items: - $ref: '#/components/schemas/ObservabilityPipelineCustomProcessorRemap' - minItems: 1 - type: array - type: - $ref: '#/components/schemas/ObservabilityPipelineCustomProcessorType' - required: - - id - - type - - include - - remaps - - inputs - type: object - ObservabilityPipelineDatadogTagsProcessor: - description: >- - The `datadog_tags` processor includes or excludes specific Datadog tags - in your logs. - properties: - action: - $ref: '#/components/schemas/ObservabilityPipelineDatadogTagsProcessorAction' - id: - description: >- - The unique identifier for this component. Used to reference this - component in other parts of the pipeline (for example, as the - `input` to downstream components). - example: datadog-tags-processor - type: string - include: - description: >- - A Datadog search query used to determine which logs this processor - targets. - example: service:my-service - type: string - inputs: - description: >- - A list of component IDs whose output is used as the `input` for this - component. - example: - - datadog-agent-source - items: - type: string - type: array - keys: - description: A list of tag keys. - example: - - env - - service - - version - items: - type: string - type: array - mode: - $ref: '#/components/schemas/ObservabilityPipelineDatadogTagsProcessorMode' - type: - $ref: '#/components/schemas/ObservabilityPipelineDatadogTagsProcessorType' - required: - - id - - type - - include - - mode - - action - - keys - - inputs - type: object - ObservabilityPipelineKafkaSource: - description: The `kafka` source ingests data from Apache Kafka topics. - properties: - group_id: - description: Consumer group ID used by the Kafka client. - example: consumer-group-0 - type: string - id: - description: >- - The unique identifier for this component. Used to reference this - component in other parts of the pipeline (e.g., as input to - downstream components). - example: kafka-source - type: string - librdkafka_options: - description: >- - Optional list of advanced Kafka client configuration options, - defined as key-value pairs. - items: - $ref: >- - #/components/schemas/ObservabilityPipelineKafkaSourceLibrdkafkaOption - type: array - sasl: - $ref: '#/components/schemas/ObservabilityPipelineKafkaSourceSasl' - tls: - $ref: '#/components/schemas/ObservabilityPipelineTls' - topics: - description: >- - A list of Kafka topic names to subscribe to. The source ingests - messages from each topic specified. - example: - - topic1 - - topic2 - items: - type: string - type: array - type: - $ref: '#/components/schemas/ObservabilityPipelineKafkaSourceType' - required: - - id - - type - - group_id - - topics - type: object - ObservabilityPipelineDatadogAgentSource: - description: The `datadog_agent` source collects logs from the Datadog Agent. - properties: - id: - description: >- - The unique identifier for this component. Used to reference this - component in other parts of the pipeline (e.g., as input to - downstream components). - example: datadog-agent-source - type: string - tls: - $ref: '#/components/schemas/ObservabilityPipelineTls' - type: - $ref: '#/components/schemas/ObservabilityPipelineDatadogAgentSourceType' - required: - - id - - type - type: object - ObservabilityPipelineSplunkTcpSource: - description: > - The `splunk_tcp` source receives logs from a Splunk Universal Forwarder - over TCP. - - TLS is supported for secure transmission. - properties: - id: - description: >- - The unique identifier for this component. Used to reference this - component in other parts of the pipeline (e.g., as input to - downstream components). - example: splunk-tcp-source - type: string - tls: - $ref: '#/components/schemas/ObservabilityPipelineTls' - type: - $ref: '#/components/schemas/ObservabilityPipelineSplunkTcpSourceType' - required: - - id - - type - type: object - ObservabilityPipelineSplunkHecSource: - description: > - The `splunk_hec` source implements the Splunk HTTP Event Collector (HEC) - API. - properties: - id: - description: >- - The unique identifier for this component. Used to reference this - component in other parts of the pipeline (e.g., as input to - downstream components). - example: splunk-hec-source - type: string - tls: - $ref: '#/components/schemas/ObservabilityPipelineTls' - type: - $ref: '#/components/schemas/ObservabilityPipelineSplunkHecSourceType' - required: - - id - - type - type: object - ObservabilityPipelineAmazonS3Source: - description: | - The `amazon_s3` source ingests logs from an Amazon S3 bucket. - It supports AWS authentication and TLS encryption. - properties: - auth: - $ref: '#/components/schemas/ObservabilityPipelineAwsAuth' - id: - description: >- - The unique identifier for this component. Used to reference this - component in other parts of the pipeline (e.g., as input to - downstream components). - example: aws-s3-source - type: string - region: - description: AWS region where the S3 bucket resides. - example: us-east-1 - type: string - tls: - $ref: '#/components/schemas/ObservabilityPipelineTls' - type: - $ref: '#/components/schemas/ObservabilityPipelineAmazonS3SourceType' - required: - - id - - type - - region - type: object - ObservabilityPipelineFluentdSource: - description: The `fluentd` source ingests logs from a Fluentd-compatible service. - properties: - id: - description: >- - The unique identifier for this component. Used to reference this - component in other parts of the pipeline (for example, as the - `input` to downstream components). - example: fluent-source - type: string - tls: - $ref: '#/components/schemas/ObservabilityPipelineTls' - type: - $ref: '#/components/schemas/ObservabilityPipelineFluentdSourceType' - required: - - id - - type - type: object - ObservabilityPipelineFluentBitSource: - description: The `fluent_bit` source ingests logs from Fluent Bit. - properties: - id: - description: >- - The unique identifier for this component. Used to reference this - component in other parts of the pipeline (for example, as the - `input` to downstream components). - example: fluent-source - type: string - tls: - $ref: '#/components/schemas/ObservabilityPipelineTls' - type: - $ref: '#/components/schemas/ObservabilityPipelineFluentBitSourceType' - required: - - id - - type - type: object - ObservabilityPipelineHttpServerSource: - description: >- - The `http_server` source collects logs over HTTP POST from external - services. - properties: - auth_strategy: - $ref: >- - #/components/schemas/ObservabilityPipelineHttpServerSourceAuthStrategy - decoding: - $ref: '#/components/schemas/ObservabilityPipelineDecoding' - id: - description: Unique ID for the HTTP server source. - example: http-server-source - type: string - tls: - $ref: '#/components/schemas/ObservabilityPipelineTls' - type: - $ref: '#/components/schemas/ObservabilityPipelineHttpServerSourceType' - required: - - id - - type - - auth_strategy - - decoding - type: object - ObservabilityPipelineSumoLogicSource: - description: The `sumo_logic` source receives logs from Sumo Logic collectors. - properties: - id: - description: >- - The unique identifier for this component. Used to reference this - component in other parts of the pipeline (e.g., as input to - downstream components). - example: sumo-logic-source - type: string - type: - $ref: '#/components/schemas/ObservabilityPipelineSumoLogicSourceType' - required: - - id - - type - type: object - ObservabilityPipelineRsyslogSource: - description: >- - The `rsyslog` source listens for logs over TCP or UDP from an `rsyslog` - server using the syslog protocol. - properties: - id: - description: >- - The unique identifier for this component. Used to reference this - component in other parts of the pipeline (e.g., as input to - downstream components). - example: rsyslog-source - type: string - mode: - $ref: '#/components/schemas/ObservabilityPipelineSyslogSourceMode' - tls: - $ref: '#/components/schemas/ObservabilityPipelineTls' - type: - $ref: '#/components/schemas/ObservabilityPipelineRsyslogSourceType' - required: - - id - - type - - mode - type: object - ObservabilityPipelineSyslogNgSource: - description: >- - The `syslog_ng` source listens for logs over TCP or UDP from a - `syslog-ng` server using the syslog protocol. - properties: - id: - description: >- - The unique identifier for this component. Used to reference this - component in other parts of the pipeline (e.g., as input to - downstream components). - example: syslog-ng-source - type: string - mode: - $ref: '#/components/schemas/ObservabilityPipelineSyslogSourceMode' - tls: - $ref: '#/components/schemas/ObservabilityPipelineTls' - type: - $ref: '#/components/schemas/ObservabilityPipelineSyslogNgSourceType' - required: - - id - - type - - mode - type: object - ObservabilityPipelineAmazonDataFirehoseSource: - description: The `amazon_data_firehose` source ingests logs from AWS Data Firehose. - properties: - auth: - $ref: '#/components/schemas/ObservabilityPipelineAwsAuth' - id: - description: >- - The unique identifier for this component. Used to reference this - component in other parts of the pipeline (e.g., as input to - downstream components). - example: amazon-firehose-source - type: string - tls: - $ref: '#/components/schemas/ObservabilityPipelineTls' - type: - $ref: >- - #/components/schemas/ObservabilityPipelineAmazonDataFirehoseSourceType - required: - - id - - type - type: object - ObservabilityPipelineGooglePubSubSource: - description: >- - The `google_pubsub` source ingests logs from a Google Cloud Pub/Sub - subscription. - properties: - auth: - $ref: '#/components/schemas/ObservabilityPipelineGcpAuth' - decoding: - $ref: '#/components/schemas/ObservabilityPipelineDecoding' - id: - description: >- - The unique identifier for this component. Used to reference this - component in other parts of the pipeline (e.g., as input to - downstream components). - example: google-pubsub-source - type: string - project: - description: The GCP project ID that owns the Pub/Sub subscription. - example: my-gcp-project - type: string - subscription: - description: The Pub/Sub subscription name from which messages are consumed. - example: logs-subscription - type: string - tls: - $ref: '#/components/schemas/ObservabilityPipelineTls' - type: - $ref: '#/components/schemas/ObservabilityPipelineGooglePubSubSourceType' - required: - - id - - type - - auth - - decoding - - project - - subscription - type: object - ObservabilityPipelineHttpClientSource: - description: >- - The `http_client` source scrapes logs from HTTP endpoints at regular - intervals. - properties: - auth_strategy: - $ref: >- - #/components/schemas/ObservabilityPipelineHttpClientSourceAuthStrategy - decoding: - $ref: '#/components/schemas/ObservabilityPipelineDecoding' - id: - description: >- - The unique identifier for this component. Used to reference this - component in other parts of the pipeline (e.g., as input to - downstream components). - example: http-client-source - type: string - scrape_interval_secs: - description: The interval (in seconds) between HTTP scrape requests. - example: 60 - format: int64 - type: integer - scrape_timeout_secs: - description: The timeout (in seconds) for each scrape request. - example: 10 - format: int64 - type: integer - tls: - $ref: '#/components/schemas/ObservabilityPipelineTls' - type: - $ref: '#/components/schemas/ObservabilityPipelineHttpClientSourceType' - required: - - id - - type - - decoding - type: object - ObservabilityPipelineLogstashSource: - description: The `logstash` source ingests logs from a Logstash forwarder. - properties: - id: - description: >- - The unique identifier for this component. Used to reference this - component in other parts of the pipeline (e.g., as input to - downstream components). - example: logstash-source - type: string - tls: - $ref: '#/components/schemas/ObservabilityPipelineTls' - type: - $ref: '#/components/schemas/ObservabilityPipelineLogstashSourceType' - required: - - id - - type - type: object - ObservabilityPipelineSocketSource: - description: | - The `socket` source ingests logs over TCP or UDP. - properties: - framing: - $ref: '#/components/schemas/ObservabilityPipelineSocketSourceFraming' - id: - description: >- - The unique identifier for this component. Used to reference this - component in other parts of the pipeline (e.g., as input to - downstream components). - example: socket-source - type: string - mode: - $ref: '#/components/schemas/ObservabilityPipelineSocketSourceMode' - tls: - $ref: '#/components/schemas/ObservabilityPipelineTls' - description: TLS configuration. Relevant only when `mode` is `tcp`. - type: - $ref: '#/components/schemas/ObservabilityPipelineSocketSourceType' - required: - - id - - type - - mode - - framing - type: object - ApplicationSecurityWafCustomRuleConditionInputAddress: - description: Input from the request on which the condition should apply. - enum: - - server.db.statement - - server.io.fs.file - - server.io.net.url - - server.sys.shell.cmd - - server.request.method - - server.request.uri.raw - - server.request.path_params - - server.request.query - - server.request.headers.no_cookies - - server.request.cookies - - server.request.trailers - - server.request.body - - server.response.status - - server.response.headers.no_cookies - - server.response.trailers - - grpc.server.request.metadata - - grpc.server.request.message - - grpc.server.method - - graphql.server.all_resolvers - - usr.id - - http.client_ip - example: server.db.statement - type: string - x-enum-varnames: - - SERVER_DB_STATEMENT - - SERVER_IO_FS_FILE - - SERVER_IO_NET_URL - - SERVER_SYS_SHELL_CMD - - SERVER_REQUEST_METHOD - - SERVER_REQUEST_URI_RAW - - SERVER_REQUEST_PATH_PARAMS - - SERVER_REQUEST_QUERY - - SERVER_REQUEST_HEADERS_NO_COOKIES - - SERVER_REQUEST_COOKIES - - SERVER_REQUEST_TRAILERS - - SERVER_REQUEST_BODY - - SERVER_RESPONSE_STATUS - - SERVER_RESPONSE_HEADERS_NO_COOKIES - - SERVER_RESPONSE_TRAILERS - - GRPC_SERVER_REQUEST_METADATA - - GRPC_SERVER_REQUEST_MESSAGE - - GRPC_SERVER_METHOD - - GRAPHQL_SERVER_ALL_RESOLVERS - - USR_ID - - HTTP_CLIENT_IP - ObservabilityPipelineDatadogLogsDestinationType: - default: datadog_logs - description: The destination type. The value should always be `datadog_logs`. - enum: - - datadog_logs - example: datadog_logs - type: string - x-enum-varnames: - - DATADOG_LOGS - ObservabilityPipelineAwsAuth: - description: > - AWS authentication credentials used for accessing AWS services such as - S3. - - If omitted, the system’s default credentials are used (for example, the - IAM role and environment variables). - properties: - assume_role: - description: The Amazon Resource Name (ARN) of the role to assume. - type: string - external_id: - description: A unique identifier for cross-account role assumption. - type: string - session_name: - description: >- - A session identifier used for logging and tracing the assumed role - session. - type: string - type: object - ObservabilityPipelineAmazonS3DestinationStorageClass: - description: S3 storage class. - enum: - - STANDARD - - REDUCED_REDUNDANCY - - INTELLIGENT_TIERING - - STANDARD_IA - - EXPRESS_ONEZONE - - ONEZONE_IA - - GLACIER - - GLACIER_IR - - DEEP_ARCHIVE - example: STANDARD - type: string - x-enum-varnames: - - STANDARD - - REDUCED_REDUNDANCY - - INTELLIGENT_TIERING - - STANDARD_IA - - EXPRESS_ONEZONE - - ONEZONE_IA - - GLACIER - - GLACIER_IR - - DEEP_ARCHIVE - ObservabilityPipelineTls: - description: >- - Configuration for enabling TLS encryption between the pipeline component - and external services. - properties: - ca_file: - description: >- - Path to the Certificate Authority (CA) file used to validate the - server’s TLS certificate. - type: string - crt_file: - description: >- - Path to the TLS client certificate file used to authenticate the - pipeline component with upstream or downstream services. - example: /path/to/cert.crt - type: string - key_file: - description: >- - Path to the private key file associated with the TLS client - certificate. Used for mutual TLS authentication. - type: string - required: - - crt_file - type: object - ObservabilityPipelineAmazonS3DestinationType: - default: amazon_s3 - description: The destination type. Always `amazon_s3`. - enum: - - amazon_s3 - example: amazon_s3 - type: string - x-enum-varnames: - - AMAZON_S3 - ObservabilityPipelineGoogleCloudStorageDestinationAcl: - description: Access control list setting for objects written to the bucket. - enum: - - private - - project-private - - public-read - - authenticated-read - - bucket-owner-read - - bucket-owner-full-control - example: private - type: string - x-enum-varnames: - - PRIVATE - - PROJECTNOT_PRIVATE - - PUBLICNOT_READ - - AUTHENTICATEDNOT_READ - - BUCKETNOT_OWNERNOT_READ - - BUCKETNOT_OWNERNOT_FULLNOT_CONTROL - ObservabilityPipelineGcpAuth: - description: | - GCP credentials used to authenticate with Google Cloud Storage. - properties: - credentials_file: - description: Path to the GCP service account key file. - example: /var/secrets/gcp-credentials.json - type: string - required: - - credentials_file - type: object - ObservabilityPipelineMetadataEntry: - description: A custom metadata entry. - properties: - name: - description: The metadata key. - example: environment - type: string - value: - description: The metadata value. - example: production - type: string - required: - - name - - value - type: object - ObservabilityPipelineGoogleCloudStorageDestinationStorageClass: - description: Storage class used for objects stored in GCS. - enum: - - STANDARD - - NEARLINE - - COLDLINE - - ARCHIVE - example: STANDARD - type: string - x-enum-varnames: - - STANDARD - - NEARLINE - - COLDLINE - - ARCHIVE - ObservabilityPipelineGoogleCloudStorageDestinationType: - default: google_cloud_storage - description: The destination type. Always `google_cloud_storage`. - enum: - - google_cloud_storage - example: google_cloud_storage - type: string - x-enum-varnames: - - GOOGLE_CLOUD_STORAGE - ObservabilityPipelineSplunkHecDestinationEncoding: - description: Encoding format for log events. - enum: - - json - - raw_message - example: json - type: string - x-enum-varnames: - - JSON - - RAW_MESSAGE - ObservabilityPipelineSplunkHecDestinationType: - default: splunk_hec - description: The destination type. Always `splunk_hec`. - enum: - - splunk_hec - example: splunk_hec - type: string - x-enum-varnames: - - SPLUNK_HEC - ObservabilityPipelineSumoLogicDestinationEncoding: - description: The output encoding format. - enum: - - json - - raw_message - - logfmt - example: json - type: string - x-enum-varnames: - - JSON - - RAW_MESSAGE - - LOGFMT - ObservabilityPipelineSumoLogicDestinationHeaderCustomFieldsItem: - description: Single key-value pair used as a custom log header for Sumo Logic. - properties: - name: - description: The header field name. - example: X-Sumo-Category - type: string - value: - description: The header field value. - example: my-app-logs - type: string - required: - - name - - value - type: object - ObservabilityPipelineSumoLogicDestinationType: - default: sumo_logic - description: The destination type. The value should always be `sumo_logic`. - enum: - - sumo_logic - example: sumo_logic - type: string - x-enum-varnames: - - SUMO_LOGIC - ObservabilityPipelineElasticsearchDestinationApiVersion: - description: The Elasticsearch API version to use. Set to `auto` to auto-detect. - enum: - - auto - - v6 - - v7 - - v8 - example: auto - type: string - x-enum-varnames: - - AUTO - - V6 - - V7 - - V8 - ObservabilityPipelineElasticsearchDestinationType: - default: elasticsearch - description: The destination type. The value should always be `elasticsearch`. - enum: - - elasticsearch - example: elasticsearch - type: string - x-enum-varnames: - - ELASTICSEARCH - ObservabilityPipelineRsyslogDestinationType: - default: rsyslog - description: The destination type. The value should always be `rsyslog`. - enum: - - rsyslog - example: rsyslog - type: string - x-enum-varnames: - - RSYSLOG - ObservabilityPipelineSyslogNgDestinationType: - default: syslog_ng - description: The destination type. The value should always be `syslog_ng`. - enum: - - syslog_ng - example: syslog_ng - type: string - x-enum-varnames: - - SYSLOG_NG - AzureStorageDestinationType: - default: azure_storage - description: The destination type. The value should always be `azure_storage`. - enum: - - azure_storage - example: azure_storage - type: string - x-enum-varnames: - - AZURE_STORAGE - MicrosoftSentinelDestinationType: - default: microsoft_sentinel - description: The destination type. The value should always be `microsoft_sentinel`. - enum: - - microsoft_sentinel - example: microsoft_sentinel - type: string - x-enum-varnames: - - MICROSOFT_SENTINEL - ObservabilityPipelineGoogleChronicleDestinationEncoding: - description: The encoding format for the logs sent to Chronicle. - enum: - - json - - raw_message - example: json - type: string - x-enum-varnames: - - JSON - - RAW_MESSAGE - ObservabilityPipelineGoogleChronicleDestinationType: - default: google_chronicle - description: The destination type. The value should always be `google_chronicle`. - enum: - - google_chronicle - example: google_chronicle - type: string - x-enum-varnames: - - GOOGLE_CHRONICLE - ObservabilityPipelineNewRelicDestinationRegion: - description: The New Relic region. - enum: - - us - - eu - example: us - type: string - x-enum-varnames: - - US - - EU - ObservabilityPipelineNewRelicDestinationType: - default: new_relic - description: The destination type. The value should always be `new_relic`. - enum: - - new_relic - example: new_relic - type: string - x-enum-varnames: - - NEW_RELIC - ObservabilityPipelineSentinelOneDestinationRegion: - description: The SentinelOne region to send logs to. - enum: - - us - - eu - - ca - - data_set_us - example: us - type: string - x-enum-varnames: - - US - - EU - - CA - - DATA_SET_US - ObservabilityPipelineSentinelOneDestinationType: - default: sentinel_one - description: The destination type. The value should always be `sentinel_one`. - enum: - - sentinel_one - example: sentinel_one - type: string - x-enum-varnames: - - SENTINEL_ONE - ObservabilityPipelineOpenSearchDestinationType: - default: opensearch - description: The destination type. The value should always be `opensearch`. - enum: - - opensearch - example: opensearch - type: string - x-enum-varnames: - - OPENSEARCH - ObservabilityPipelineAmazonOpenSearchDestinationAuth: - description: > - Authentication settings for the Amazon OpenSearch destination. - - The `strategy` field determines whether basic or AWS-based - authentication is used. - properties: - assume_role: - description: The ARN of the role to assume (used with `aws` strategy). - type: string - aws_region: - description: AWS region - type: string - external_id: - description: External ID for the assumed role (used with `aws` strategy). - type: string - session_name: - description: Session name for the assumed role (used with `aws` strategy). - type: string - strategy: - $ref: >- - #/components/schemas/ObservabilityPipelineAmazonOpenSearchDestinationAuthStrategy - required: - - strategy - type: object - ObservabilityPipelineAmazonOpenSearchDestinationType: - default: amazon_opensearch - description: The destination type. The value should always be `amazon_opensearch`. - enum: - - amazon_opensearch - example: amazon_opensearch - type: string - x-enum-varnames: - - AMAZON_OPENSEARCH - ObservabilityPipelineSocketDestinationEncoding: - description: Encoding format for log events. - enum: - - json - - raw_message - example: json - type: string - x-enum-varnames: - - JSON - - RAW_MESSAGE - ObservabilityPipelineSocketDestinationFraming: - description: Framing method configuration. - oneOf: - - $ref: >- - #/components/schemas/ObservabilityPipelineSocketDestinationFramingNewlineDelimited - - $ref: >- - #/components/schemas/ObservabilityPipelineSocketDestinationFramingBytes - - $ref: >- - #/components/schemas/ObservabilityPipelineSocketDestinationFramingCharacterDelimited - ObservabilityPipelineSocketDestinationMode: - description: Protocol used to send logs. - enum: - - tcp - - udp - example: tcp - type: string - x-enum-varnames: - - TCP - - UDP - ObservabilityPipelineSocketDestinationType: - default: socket - description: The destination type. The value should always be `socket`. - enum: - - socket - example: socket - type: string - x-enum-varnames: - - SOCKET - ObservabilityPipelineAmazonSecurityLakeDestinationType: - default: amazon_security_lake - description: The destination type. Always `amazon_security_lake`. - enum: - - amazon_security_lake - example: amazon_security_lake - type: string - x-enum-varnames: - - AMAZON_SECURITY_LAKE - ObservabilityPipelineCrowdStrikeNextGenSiemDestinationCompression: - description: Compression configuration for log events. - properties: - algorithm: - $ref: >- - #/components/schemas/ObservabilityPipelineCrowdStrikeNextGenSiemDestinationCompressionAlgorithm - level: - description: Compression level. - example: 6 - format: int64 - type: integer - required: - - algorithm - type: object - ObservabilityPipelineCrowdStrikeNextGenSiemDestinationEncoding: - description: Encoding format for log events. - enum: - - json - - raw_message - example: json - type: string - x-enum-varnames: - - JSON - - RAW_MESSAGE - ObservabilityPipelineCrowdStrikeNextGenSiemDestinationType: - default: crowdstrike_next_gen_siem - description: >- - The destination type. The value should always be - `crowdstrike_next_gen_siem`. - enum: - - crowdstrike_next_gen_siem - example: crowdstrike_next_gen_siem - type: string - x-enum-varnames: - - CROWDSTRIKE_NEXT_GEN_SIEM - ObservabilityPipelineFilterProcessorType: - default: filter - description: The processor type. The value should always be `filter`. - enum: - - filter - example: filter - type: string - x-enum-varnames: - - FILTER - ObservabilityPipelineParseJSONProcessorType: - default: parse_json - description: The processor type. The value should always be `parse_json`. - enum: - - parse_json - example: parse_json - type: string - x-enum-varnames: - - PARSE_JSON - ObservabilityPipelineQuotaProcessorLimit: - description: >- - The maximum amount of data or number of events allowed before the quota - is enforced. Can be specified in bytes or events. - properties: - enforce: - $ref: >- - #/components/schemas/ObservabilityPipelineQuotaProcessorLimitEnforceType - limit: - description: The limit for quota enforcement. - example: 1000 - format: int64 - type: integer - required: - - enforce - - limit - type: object - ObservabilityPipelineQuotaProcessorOverflowAction: - description: | - The action to take when the quota is exceeded. Options: - - `drop`: Drop the event. - - `no_action`: Let the event pass through. - - `overflow_routing`: Route to an overflow destination. - enum: - - drop - - no_action - - overflow_routing - example: drop - type: string - x-enum-varnames: - - DROP - - NO_ACTION - - OVERFLOW_ROUTING - ObservabilityPipelineQuotaProcessorOverride: - description: >- - Defines a custom quota limit that applies to specific log events based - on matching field values. - properties: - fields: - description: >- - A list of field matchers used to apply a specific override. If an - event matches all listed key-value pairs, the corresponding override - limit is enforced. - items: - $ref: '#/components/schemas/ObservabilityPipelineFieldValue' - type: array - limit: - $ref: '#/components/schemas/ObservabilityPipelineQuotaProcessorLimit' - required: - - fields - - limit - type: object - ObservabilityPipelineQuotaProcessorType: - default: quota - description: The processor type. The value should always be `quota`. - enum: - - quota - example: quota - type: string - x-enum-varnames: - - QUOTA - ObservabilityPipelineFieldValue: - description: Represents a static key-value pair used in various processors. - properties: - name: - description: The field name. - example: field_name - type: string - value: - description: The field value. - example: field_value - type: string - required: - - name - - value - type: object - ObservabilityPipelineAddFieldsProcessorType: - default: add_fields - description: The processor type. The value should always be `add_fields`. - enum: - - add_fields - example: add_fields - type: string - x-enum-varnames: - - ADD_FIELDS - ObservabilityPipelineRemoveFieldsProcessorType: - default: remove_fields - description: The processor type. The value should always be `remove_fields`. - enum: - - remove_fields - example: remove_fields - type: string - x-enum-varnames: - - REMOVE_FIELDS - ObservabilityPipelineRenameFieldsProcessorField: - description: Defines how to rename a field in log events. - properties: - destination: - description: The field name to assign the renamed value to. - example: destination_field - type: string - preserve_source: - description: >- - Indicates whether the original field, that is received from the - source, should be kept (`true`) or removed (`false`) after renaming. - example: false - type: boolean - source: - description: The original field name in the log event that should be renamed. - example: source_field - type: string - required: - - source - - destination - - preserve_source - type: object - ObservabilityPipelineRenameFieldsProcessorType: - default: rename_fields - description: The processor type. The value should always be `rename_fields`. - enum: - - rename_fields - example: rename_fields - type: string - x-enum-varnames: - - RENAME_FIELDS - ObservabilityPipelineGeneratedMetric: - description: > - Defines a log-based custom metric, including its name, type, filter, - value computation strategy, - - and optional grouping fields. - properties: - group_by: - description: Optional fields used to group the metric series. - example: - - service - - env - items: - type: string - type: array - include: - description: Datadog filter query to match logs for metric generation. - example: service:billing - type: string - metric_type: - $ref: '#/components/schemas/ObservabilityPipelineGeneratedMetricMetricType' - name: - description: Name of the custom metric to be created. - example: logs.processed - type: string - value: - $ref: '#/components/schemas/ObservabilityPipelineMetricValue' - required: - - name - - include - - metric_type - - value - type: object - ObservabilityPipelineGenerateMetricsProcessorType: - default: generate_datadog_metrics - description: The processor type. Always `generate_datadog_metrics`. - enum: - - generate_datadog_metrics - example: generate_datadog_metrics - type: string - x-enum-varnames: - - GENERATE_DATADOG_METRICS - ObservabilityPipelineSampleProcessorType: - default: sample - description: The processor type. The value should always be `sample`. - enum: - - sample - example: sample - type: string - x-enum-varnames: - - SAMPLE - ObservabilityPipelineParseGrokProcessorRule: - description: > - A Grok parsing rule used in the `parse_grok` processor. Each rule - defines how to extract structured fields - - from a specific log field using Grok patterns. - properties: - match_rules: - description: > - A list of Grok parsing rules that define how to extract fields from - the source field. - - Each rule must contain a name and a valid Grok pattern. - example: - - name: MyParsingRule - rule: '%{word:user} connected on %{date("MM/dd/yyyy"):date}' - items: - $ref: >- - #/components/schemas/ObservabilityPipelineParseGrokProcessorRuleMatchRule - type: array - source: - description: The name of the field in the log event to apply the Grok rules to. - example: message - type: string - support_rules: - description: > - A list of Grok helper rules that can be referenced by the parsing - rules. - example: - - name: user - rule: '%{word:user.name}' - items: - $ref: >- - #/components/schemas/ObservabilityPipelineParseGrokProcessorRuleSupportRule - type: array - required: - - source - - match_rules - type: object - ObservabilityPipelineParseGrokProcessorType: - default: parse_grok - description: The processor type. The value should always be `parse_grok`. - enum: - - parse_grok - example: parse_grok - type: string - x-enum-varnames: - - PARSE_GROK - ObservabilityPipelineSensitiveDataScannerProcessorRule: - description: >- - Defines a rule for detecting sensitive data, including matching pattern, - scope, and the action to take. - properties: - keyword_options: - $ref: >- - #/components/schemas/ObservabilityPipelineSensitiveDataScannerProcessorKeywordOptions - name: - description: A name identifying the rule. - example: Redact Credit Card Numbers - type: string - on_match: - $ref: >- - #/components/schemas/ObservabilityPipelineSensitiveDataScannerProcessorAction - pattern: - $ref: >- - #/components/schemas/ObservabilityPipelineSensitiveDataScannerProcessorPattern - scope: - $ref: >- - #/components/schemas/ObservabilityPipelineSensitiveDataScannerProcessorScope - tags: - description: Tags assigned to this rule for filtering and classification. - example: - - pii - - ccn - items: - type: string - type: array - required: - - name - - tags - - pattern - - scope - - on_match - type: object - ObservabilityPipelineSensitiveDataScannerProcessorType: - default: sensitive_data_scanner - description: The processor type. The value should always be `sensitive_data_scanner`. - enum: - - sensitive_data_scanner - example: sensitive_data_scanner - type: string - x-enum-varnames: - - SENSITIVE_DATA_SCANNER - ObservabilityPipelineOcsfMapperProcessorMapping: - description: >- - Defines how specific events are transformed to OCSF using a mapping - configuration. - properties: - include: - description: >- - A Datadog search query used to select the logs that this mapping - should apply to. - example: service:my-service - type: string - mapping: - $ref: >- - #/components/schemas/ObservabilityPipelineOcsfMapperProcessorMappingMapping - required: - - include - - mapping - type: object - ObservabilityPipelineOcsfMapperProcessorType: - default: ocsf_mapper - description: The processor type. The value should always be `ocsf_mapper`. - enum: - - ocsf_mapper - example: ocsf_mapper - type: string - x-enum-varnames: - - OCSF_MAPPER - ObservabilityPipelineAddEnvVarsProcessorType: - default: add_env_vars - description: The processor type. The value should always be `add_env_vars`. - enum: - - add_env_vars - example: add_env_vars - type: string - x-enum-varnames: - - ADD_ENV_VARS - ObservabilityPipelineAddEnvVarsProcessorVariable: - description: Defines a mapping between an environment variable and a log field. - properties: - field: - description: The target field in the log event. - example: log.environment.region - type: string - name: - description: The name of the environment variable to read. - example: AWS_REGION - type: string - required: - - field - - name - type: object - ObservabilityPipelineDedupeProcessorMode: - description: The deduplication mode to apply to the fields. - enum: - - match - - ignore - example: match - type: string - x-enum-varnames: - - MATCH - - IGNORE - ObservabilityPipelineDedupeProcessorType: - default: dedupe - description: The processor type. The value should always be `dedupe`. - enum: - - dedupe - example: dedupe - type: string - x-enum-varnames: - - DEDUPE - ObservabilityPipelineEnrichmentTableFile: - description: Defines a static enrichment table loaded from a CSV file. - properties: - encoding: - $ref: >- - #/components/schemas/ObservabilityPipelineEnrichmentTableFileEncoding - key: - description: Key fields used to look up enrichment values. - items: - $ref: >- - #/components/schemas/ObservabilityPipelineEnrichmentTableFileKeyItems - type: array - path: - description: Path to the CSV file. - example: /etc/enrichment/lookup.csv - type: string - schema: - description: Schema defining column names and their types. - items: - $ref: >- - #/components/schemas/ObservabilityPipelineEnrichmentTableFileSchemaItems - type: array - required: - - encoding - - key - - path - - schema - type: object - ObservabilityPipelineEnrichmentTableGeoIp: - description: Uses a GeoIP database to enrich logs based on an IP field. - properties: - key_field: - description: Path to the IP field in the log. - example: log.source.ip - type: string - locale: - description: Locale used to resolve geographical names. - example: en - type: string - path: - description: Path to the GeoIP database file. - example: /etc/geoip/GeoLite2-City.mmdb - type: string - required: - - key_field - - locale - - path - type: object - ObservabilityPipelineEnrichmentTableProcessorType: - default: enrichment_table - description: The processor type. The value should always be `enrichment_table`. - enum: - - enrichment_table - example: enrichment_table - type: string - x-enum-varnames: - - ENRICHMENT_TABLE - ObservabilityPipelineReduceProcessorMergeStrategy: - description: Defines how a specific field should be merged across grouped events. - properties: path: - description: The field path in the log event. - example: log.user.roles - type: string - strategy: - $ref: >- - #/components/schemas/ObservabilityPipelineReduceProcessorMergeStrategyStrategy - required: - - path - - strategy - type: object - ObservabilityPipelineReduceProcessorType: - default: reduce - description: The processor type. The value should always be `reduce`. - enum: - - reduce - example: reduce - type: string - x-enum-varnames: - - REDUCE - ObservabilityPipelineThrottleProcessorType: - default: throttle - description: The processor type. The value should always be `throttle`. - enum: - - throttle - example: throttle - type: string - x-enum-varnames: - - THROTTLE - ObservabilityPipelineCustomProcessorRemap: - description: >- - Defines a single VRL remap rule with its own filtering and - transformation logic. - properties: - drop_on_error: - description: Whether to drop events that caused errors during processing. - example: false - type: boolean - enabled: - description: Whether this remap rule is enabled. - example: true - type: boolean - include: - description: >- - A Datadog search query used to filter events for this specific remap - rule. - example: service:web - type: string - name: - description: A descriptive name for this remap rule. - example: Parse JSON from message field - type: string - source: - description: The VRL script source code that defines the processing logic. - example: . = parse_json!(.message) - type: string - required: - - include - - name - - source - - enabled - - drop_on_error - type: object - ObservabilityPipelineCustomProcessorType: - default: custom_processor - description: The processor type. The value should always be `custom_processor`. - enum: - - custom_processor - example: custom_processor - type: string - x-enum-varnames: - - CUSTOM_PROCESSOR - ObservabilityPipelineDatadogTagsProcessorAction: - description: The action to take on tags with matching keys. - enum: - - include - - exclude - example: include - type: string - x-enum-varnames: - - INCLUDE - - EXCLUDE - ObservabilityPipelineDatadogTagsProcessorMode: - description: The processing mode. - enum: - - filter - example: filter - type: string - x-enum-varnames: - - FILTER - ObservabilityPipelineDatadogTagsProcessorType: - default: datadog_tags - description: The processor type. The value should always be `datadog_tags`. - enum: - - datadog_tags - example: datadog_tags - type: string - x-enum-varnames: - - DATADOG_TAGS - ObservabilityPipelineKafkaSourceLibrdkafkaOption: - description: >- - Represents a key-value pair used to configure low-level `librdkafka` - client options for Kafka sources, such as timeouts, buffer sizes, and - security settings. - properties: - name: - description: The name of the `librdkafka` configuration option to set. - example: fetch.message.max.bytes - type: string - value: - description: >- - The value assigned to the specified `librdkafka` configuration - option. - example: '1048576' - type: string - required: - - name - - value - type: object - ObservabilityPipelineKafkaSourceSasl: - description: Specifies the SASL mechanism for authenticating with a Kafka cluster. - properties: - mechanism: - $ref: >- - #/components/schemas/ObservabilityPipelinePipelineKafkaSourceSaslMechanism - type: object - ObservabilityPipelineKafkaSourceType: - default: kafka - description: The source type. The value should always be `kafka`. - enum: - - kafka - example: kafka - type: string - x-enum-varnames: - - KAFKA - ObservabilityPipelineDatadogAgentSourceType: - default: datadog_agent - description: The source type. The value should always be `datadog_agent`. - enum: - - datadog_agent - example: datadog_agent - type: string - x-enum-varnames: - - DATADOG_AGENT - ObservabilityPipelineSplunkTcpSourceType: - default: splunk_tcp - description: The source type. Always `splunk_tcp`. - enum: - - splunk_tcp - example: splunk_tcp - type: string - x-enum-varnames: - - SPLUNK_TCP - ObservabilityPipelineSplunkHecSourceType: - default: splunk_hec - description: The source type. Always `splunk_hec`. - enum: - - splunk_hec - example: splunk_hec - type: string - x-enum-varnames: - - SPLUNK_HEC - ObservabilityPipelineAmazonS3SourceType: - default: amazon_s3 - description: The source type. Always `amazon_s3`. - enum: - - amazon_s3 - example: amazon_s3 - type: string - x-enum-varnames: - - AMAZON_S3 - ObservabilityPipelineFluentdSourceType: - default: fluentd - description: The source type. The value should always be `fluentd. - enum: - - fluentd - example: fluentd - type: string - x-enum-varnames: - - FLUENTD - ObservabilityPipelineFluentBitSourceType: - default: fluent_bit - description: The source type. The value should always be `fluent_bit`. - enum: - - fluent_bit - example: fluent_bit - type: string - x-enum-varnames: - - FLUENT_BIT - ObservabilityPipelineHttpServerSourceAuthStrategy: - description: HTTP authentication method. - enum: - - none - - plain - example: plain - type: string - x-enum-varnames: - - NONE - - PLAIN - ObservabilityPipelineDecoding: - description: The decoding format used to interpret incoming logs. - enum: - - bytes - - gelf - - json - - syslog - example: json - type: string - x-enum-varnames: - - DECODE_BYTES - - DECODE_GELF - - DECODE_JSON - - DECODE_SYSLOG - ObservabilityPipelineHttpServerSourceType: - default: http_server - description: The source type. The value should always be `http_server`. - enum: - - http_server - example: http_server - type: string - x-enum-varnames: - - HTTP_SERVER - ObservabilityPipelineSumoLogicSourceType: - default: sumo_logic - description: The source type. The value should always be `sumo_logic`. - enum: - - sumo_logic - example: sumo_logic - type: string - x-enum-varnames: - - SUMO_LOGIC - ObservabilityPipelineSyslogSourceMode: - description: Protocol used by the syslog source to receive messages. - enum: - - tcp - - udp - example: tcp - type: string - x-enum-varnames: - - TCP - - UDP - ObservabilityPipelineRsyslogSourceType: - default: rsyslog - description: The source type. The value should always be `rsyslog`. - enum: - - rsyslog - example: rsyslog - type: string - x-enum-varnames: - - RSYSLOG - ObservabilityPipelineSyslogNgSourceType: - default: syslog_ng - description: The source type. The value should always be `syslog_ng`. - enum: - - syslog_ng - example: syslog_ng - type: string - x-enum-varnames: - - SYSLOG_NG - ObservabilityPipelineAmazonDataFirehoseSourceType: - default: amazon_data_firehose - description: The source type. The value should always be `amazon_data_firehose`. - enum: - - amazon_data_firehose - example: amazon_data_firehose - type: string - x-enum-varnames: - - AMAZON_DATA_FIREHOSE - ObservabilityPipelineGooglePubSubSourceType: - default: google_pubsub - description: The source type. The value should always be `google_pubsub`. - enum: - - google_pubsub - example: google_pubsub - type: string - x-enum-varnames: - - GOOGLE_PUBSUB - ObservabilityPipelineHttpClientSourceAuthStrategy: - description: Optional authentication strategy for HTTP requests. - enum: - - basic - - bearer - example: basic - type: string - x-enum-varnames: - - BASIC - - BEARER - ObservabilityPipelineHttpClientSourceType: - default: http_client - description: The source type. The value should always be `http_client`. - enum: - - http_client - example: http_client - type: string - x-enum-varnames: - - HTTP_CLIENT - ObservabilityPipelineLogstashSourceType: - default: logstash - description: The source type. The value should always be `logstash`. - enum: - - logstash - example: logstash - type: string - x-enum-varnames: - - LOGSTASH - ObservabilityPipelineSocketSourceFraming: - description: Framing method configuration for the socket source. - oneOf: - - $ref: >- - #/components/schemas/ObservabilityPipelineSocketSourceFramingNewlineDelimited - - $ref: '#/components/schemas/ObservabilityPipelineSocketSourceFramingBytes' - - $ref: >- - #/components/schemas/ObservabilityPipelineSocketSourceFramingCharacterDelimited - - $ref: >- - #/components/schemas/ObservabilityPipelineSocketSourceFramingOctetCounting - - $ref: >- - #/components/schemas/ObservabilityPipelineSocketSourceFramingChunkedGelf - ObservabilityPipelineSocketSourceMode: - description: Protocol used to receive logs. - enum: - - tcp - - udp - example: tcp - type: string - x-enum-varnames: - - TCP - - UDP - ObservabilityPipelineSocketSourceType: - default: socket - description: The source type. The value should always be `socket`. - enum: - - socket - example: socket - type: string - x-enum-varnames: - - SOCKET - ObservabilityPipelineAmazonOpenSearchDestinationAuthStrategy: - description: The authentication strategy to use. - enum: - - basic - - aws - example: aws - type: string - x-enum-varnames: - - BASIC - - AWS - ObservabilityPipelineSocketDestinationFramingNewlineDelimited: - description: Each log event is delimited by a newline character. - properties: - method: - $ref: >- - #/components/schemas/ObservabilityPipelineSocketDestinationFramingNewlineDelimitedMethod - required: - - method - type: object - ObservabilityPipelineSocketDestinationFramingBytes: - description: Event data is not delimited at all. - properties: - method: - $ref: >- - #/components/schemas/ObservabilityPipelineSocketDestinationFramingBytesMethod - required: - - method - type: object - ObservabilityPipelineSocketDestinationFramingCharacterDelimited: - description: Each log event is separated using the specified delimiter character. - properties: - delimiter: - description: A single ASCII character used as a delimiter. - example: '|' - maxLength: 1 - minLength: 1 - type: string - method: - $ref: >- - #/components/schemas/ObservabilityPipelineSocketDestinationFramingCharacterDelimitedMethod - required: - - method - - delimiter - type: object - ObservabilityPipelineCrowdStrikeNextGenSiemDestinationCompressionAlgorithm: - description: Compression algorithm for log events. - enum: - - gzip - - zlib - example: gzip - type: string - x-enum-varnames: - - GZIP - - ZLIB - ObservabilityPipelineQuotaProcessorLimitEnforceType: - description: Unit for quota enforcement in bytes for data size or events for count. - enum: - - bytes - - events - example: bytes - type: string - x-enum-varnames: - - BYTES - - EVENTS - ObservabilityPipelineGeneratedMetricMetricType: - description: Type of metric to create. - enum: - - count - - gauge - - distribution - example: count - type: string - x-enum-varnames: - - COUNT - - GAUGE - - DISTRIBUTION - ObservabilityPipelineMetricValue: - description: Specifies how the value of the generated metric is computed. - oneOf: - - $ref: >- - #/components/schemas/ObservabilityPipelineGeneratedMetricIncrementByOne - - $ref: >- - #/components/schemas/ObservabilityPipelineGeneratedMetricIncrementByField - ObservabilityPipelineParseGrokProcessorRuleMatchRule: - description: > - Defines a Grok parsing rule, which extracts structured fields from log - content using named Grok patterns. - - Each rule must have a unique name and a valid Datadog Grok pattern that - will be applied to the source field. - properties: - name: - description: The name of the rule. - example: MyParsingRule - type: string - rule: - description: The definition of the Grok rule. - example: '%{word:user} connected on %{date("MM/dd/yyyy"):date}' - type: string - required: - - name - - rule - type: object - ObservabilityPipelineParseGrokProcessorRuleSupportRule: - description: The Grok helper rule referenced in the parsing rules. - properties: - name: - description: The name of the Grok helper rule. - example: user - type: string - rule: - description: The definition of the Grok helper rule. - example: ' %{word:user.name}' - type: string - required: - - name - - rule - type: object - ObservabilityPipelineSensitiveDataScannerProcessorKeywordOptions: - description: >- - Configuration for keywords used to reinforce sensitive data pattern - detection. - properties: - keywords: - description: A list of keywords to match near the sensitive pattern. - example: - - ssn - - card - - account - items: - type: string - type: array - proximity: - description: >- - Maximum number of tokens between a keyword and a sensitive value - match. - example: 5 - format: int64 - type: integer - required: - - keywords - - proximity - type: object - ObservabilityPipelineSensitiveDataScannerProcessorAction: - description: Defines what action to take when sensitive data is matched. - oneOf: - - $ref: >- - #/components/schemas/ObservabilityPipelineSensitiveDataScannerProcessorActionRedact - - $ref: >- - #/components/schemas/ObservabilityPipelineSensitiveDataScannerProcessorActionHash - - $ref: >- - #/components/schemas/ObservabilityPipelineSensitiveDataScannerProcessorActionPartialRedact - ObservabilityPipelineSensitiveDataScannerProcessorPattern: - description: >- - Pattern detection configuration for identifying sensitive data using - either a custom regex or a library reference. - oneOf: - - $ref: >- - #/components/schemas/ObservabilityPipelineSensitiveDataScannerProcessorCustomPattern - - $ref: >- - #/components/schemas/ObservabilityPipelineSensitiveDataScannerProcessorLibraryPattern - ObservabilityPipelineSensitiveDataScannerProcessorScope: - description: >- - Determines which parts of the log the pattern-matching rule should be - applied to. - oneOf: - - $ref: >- - #/components/schemas/ObservabilityPipelineSensitiveDataScannerProcessorScopeInclude - - $ref: >- - #/components/schemas/ObservabilityPipelineSensitiveDataScannerProcessorScopeExclude - - $ref: >- - #/components/schemas/ObservabilityPipelineSensitiveDataScannerProcessorScopeAll - ObservabilityPipelineOcsfMapperProcessorMappingMapping: - description: >- - Defines a single mapping rule for transforming logs into the OCSF - schema. - oneOf: - - $ref: '#/components/schemas/ObservabilityPipelineOcsfMappingLibrary' - ObservabilityPipelineEnrichmentTableFileEncoding: - description: File encoding format. - properties: - delimiter: - description: The `encoding` `delimiter`. - example: ',' - type: string - includes_headers: - description: The `encoding` `includes_headers`. - example: true - type: boolean - type: - $ref: >- - #/components/schemas/ObservabilityPipelineEnrichmentTableFileEncodingType - required: - - type - - delimiter - - includes_headers - type: object - ObservabilityPipelineEnrichmentTableFileKeyItems: - description: >- - Defines how to map log fields to enrichment table columns during - lookups. - properties: - column: - description: The `items` `column`. - example: user_id - type: string - comparison: - $ref: >- - #/components/schemas/ObservabilityPipelineEnrichmentTableFileKeyItemsComparison - field: - description: The `items` `field`. - example: log.user.id - type: string - required: - - column - - comparison - - field - type: object - ObservabilityPipelineEnrichmentTableFileSchemaItems: - description: Describes a single column and its type in an enrichment table schema. - properties: - column: - description: The `items` `column`. - example: region - type: string - type: - $ref: >- - #/components/schemas/ObservabilityPipelineEnrichmentTableFileSchemaItemsType - required: - - column - - type - type: object - ObservabilityPipelineReduceProcessorMergeStrategyStrategy: - description: The merge strategy to apply. - enum: - - discard - - retain - - sum - - max - - min - - array - - concat - - concat_newline - - concat_raw - - shortest_array - - longest_array - - flat_unique - example: flat_unique - type: string - x-enum-varnames: - - DISCARD - - RETAIN - - SUM - - MAX - - MIN - - ARRAY - - CONCAT - - CONCAT_NEWLINE - - CONCAT_RAW - - SHORTEST_ARRAY - - LONGEST_ARRAY - - FLAT_UNIQUE - ObservabilityPipelinePipelineKafkaSourceSaslMechanism: - description: SASL mechanism used for Kafka authentication. - enum: - - PLAIN - - SCRAM-SHA-256 - - SCRAM-SHA-512 - type: string - x-enum-varnames: - - PLAIN - - SCRAMNOT_SHANOT_256 - - SCRAMNOT_SHANOT_512 - ObservabilityPipelineSocketSourceFramingNewlineDelimited: - description: Byte frames which are delimited by a newline character. - properties: - method: - $ref: >- - #/components/schemas/ObservabilityPipelineSocketSourceFramingNewlineDelimitedMethod - required: - - method - type: object - ObservabilityPipelineSocketSourceFramingBytes: - description: >- - Byte frames are passed through as-is according to the underlying I/O - boundaries (for example, split between messages or stream segments). - properties: - method: - $ref: >- - #/components/schemas/ObservabilityPipelineSocketSourceFramingBytesMethod - required: - - method - type: object - ObservabilityPipelineSocketSourceFramingCharacterDelimited: - description: Byte frames which are delimited by a chosen character. - properties: - delimiter: - description: A single ASCII character used to delimit events. - example: '|' - maxLength: 1 - minLength: 1 - type: string - method: - $ref: >- - #/components/schemas/ObservabilityPipelineSocketSourceFramingCharacterDelimitedMethod - required: - - method - - delimiter - type: object - ObservabilityPipelineSocketSourceFramingOctetCounting: - description: Byte frames according to the octet counting format as per RFC6587. - properties: - method: - $ref: >- - #/components/schemas/ObservabilityPipelineSocketSourceFramingOctetCountingMethod - required: - - method - type: object - ObservabilityPipelineSocketSourceFramingChunkedGelf: - description: Byte frames which are chunked GELF messages. - properties: - method: - $ref: >- - #/components/schemas/ObservabilityPipelineSocketSourceFramingChunkedGelfMethod - required: - - method - type: object - ObservabilityPipelineSocketDestinationFramingNewlineDelimitedMethod: - description: >- - The definition of - `ObservabilityPipelineSocketDestinationFramingNewlineDelimitedMethod` - object. - enum: - - newline_delimited - example: newline_delimited - type: string - x-enum-varnames: - - NEWLINE_DELIMITED - ObservabilityPipelineSocketDestinationFramingBytesMethod: - description: >- - The definition of - `ObservabilityPipelineSocketDestinationFramingBytesMethod` object. - enum: - - bytes - example: bytes - type: string - x-enum-varnames: - - BYTES - ObservabilityPipelineSocketDestinationFramingCharacterDelimitedMethod: - description: >- - The definition of - `ObservabilityPipelineSocketDestinationFramingCharacterDelimitedMethod` - object. - enum: - - character_delimited - example: character_delimited - type: string - x-enum-varnames: - - CHARACTER_DELIMITED - ObservabilityPipelineGeneratedMetricIncrementByOne: - description: >- - Strategy that increments a generated metric by one for each matching - event. - properties: - strategy: - $ref: >- - #/components/schemas/ObservabilityPipelineGeneratedMetricIncrementByOneStrategy - required: - - strategy - type: object - ObservabilityPipelineGeneratedMetricIncrementByField: - description: >- - Strategy that increments a generated metric based on the value of a log - field. - properties: - field: - description: >- - Name of the log field containing the numeric value to increment the - metric by. - example: errors - type: string - strategy: - $ref: >- - #/components/schemas/ObservabilityPipelineGeneratedMetricIncrementByFieldStrategy - required: - - strategy - - field - type: object - ObservabilityPipelineSensitiveDataScannerProcessorActionRedact: - description: Configuration for completely redacting matched sensitive data. - properties: - action: - $ref: >- - #/components/schemas/ObservabilityPipelineSensitiveDataScannerProcessorActionRedactAction - options: - $ref: >- - #/components/schemas/ObservabilityPipelineSensitiveDataScannerProcessorActionRedactOptions - required: - - action - - options - type: object - ObservabilityPipelineSensitiveDataScannerProcessorActionHash: - description: Configuration for hashing matched sensitive values. - properties: - action: - $ref: >- - #/components/schemas/ObservabilityPipelineSensitiveDataScannerProcessorActionHashAction - options: - description: >- - The `ObservabilityPipelineSensitiveDataScannerProcessorActionHash` - `options`. - type: object - required: - - action - type: object - ObservabilityPipelineSensitiveDataScannerProcessorActionPartialRedact: - description: Configuration for partially redacting matched sensitive data. - properties: - action: - $ref: >- - #/components/schemas/ObservabilityPipelineSensitiveDataScannerProcessorActionPartialRedactAction - options: - $ref: >- - #/components/schemas/ObservabilityPipelineSensitiveDataScannerProcessorActionPartialRedactOptions - required: - - action - - options - type: object - ObservabilityPipelineSensitiveDataScannerProcessorCustomPattern: - description: >- - Defines a custom regex-based pattern for identifying sensitive data in - logs. - properties: - options: - $ref: >- - #/components/schemas/ObservabilityPipelineSensitiveDataScannerProcessorCustomPatternOptions - type: - $ref: >- - #/components/schemas/ObservabilityPipelineSensitiveDataScannerProcessorCustomPatternType - required: - - type - - options - type: object - ObservabilityPipelineSensitiveDataScannerProcessorLibraryPattern: - description: >- - Specifies a pattern from Datadog’s sensitive data detection library to - match known sensitive data types. - properties: - options: - $ref: >- - #/components/schemas/ObservabilityPipelineSensitiveDataScannerProcessorLibraryPatternOptions - type: - $ref: >- - #/components/schemas/ObservabilityPipelineSensitiveDataScannerProcessorLibraryPatternType - required: - - type - - options - type: object - ObservabilityPipelineSensitiveDataScannerProcessorScopeInclude: - description: Includes only specific fields for sensitive data scanning. - properties: - options: - $ref: >- - #/components/schemas/ObservabilityPipelineSensitiveDataScannerProcessorScopeOptions - target: - $ref: >- - #/components/schemas/ObservabilityPipelineSensitiveDataScannerProcessorScopeIncludeTarget + description: The JavaScript path used to extract the value. Required when `strategy` is `js`. + example: application.version + type: string + rc_serialized_type: + $ref: '#/components/schemas/RumSdkConfigDynamicOptionSerializedType' + selector: + description: The CSS selector to read from the page. Required when `strategy` is `dom`. + example: '#app-version' + type: string + strategy: + $ref: '#/components/schemas/RumSdkConfigDynamicOptionStrategy' required: - - target - - options + - rc_serialized_type + - strategy type: object - ObservabilityPipelineSensitiveDataScannerProcessorScopeExclude: - description: Excludes specific fields from sensitive data scanning. + ApplicationSecurityWafCustomRuleConditionInput: + description: Input from the request on which the condition should apply. properties: - options: - $ref: >- - #/components/schemas/ObservabilityPipelineSensitiveDataScannerProcessorScopeOptions - target: - $ref: >- - #/components/schemas/ObservabilityPipelineSensitiveDataScannerProcessorScopeExcludeTarget + address: + $ref: '#/components/schemas/ApplicationSecurityWafCustomRuleConditionInputAddress' + key_path: + description: Specific path for the input. + items: + description: A path segment for the input key. + type: string + type: array required: - - target - - options + - address type: object - ObservabilityPipelineSensitiveDataScannerProcessorScopeAll: - description: Applies scanning across all available fields. + ApplicationSecurityWafCustomRuleConditionOptions: + description: Options for the operator of this condition. properties: - target: - $ref: >- - #/components/schemas/ObservabilityPipelineSensitiveDataScannerProcessorScopeAllTarget - required: - - target + case_sensitive: + default: false + description: Evaluate the value as case sensitive. + type: boolean + min_length: + default: 0 + description: Only evaluate this condition if the value has a minimum amount of characters. + format: int64 + type: integer type: object - ObservabilityPipelineOcsfMappingLibrary: - description: Predefined library mappings for common log formats. - enum: - - CloudTrail Account Change - - GCP Cloud Audit CreateBucket - - GCP Cloud Audit CreateSink - - GCP Cloud Audit SetIamPolicy - - GCP Cloud Audit UpdateSink - - Github Audit Log API Activity - - Google Workspace Admin Audit addPrivilege - - Microsoft 365 Defender Incident - - Microsoft 365 Defender UserLoggedIn - - Okta System Log Authentication - - Palo Alto Networks Firewall Traffic - example: CloudTrail Account Change - type: string - x-enum-varnames: - - CLOUDTRAIL_ACCOUNT_CHANGE - - GCP_CLOUD_AUDIT_CREATEBUCKET - - GCP_CLOUD_AUDIT_CREATESINK - - GCP_CLOUD_AUDIT_SETIAMPOLICY - - GCP_CLOUD_AUDIT_UPDATESINK - - GITHUB_AUDIT_LOG_API_ACTIVITY - - GOOGLE_WORKSPACE_ADMIN_AUDIT_ADDPRIVILEGE - - MICROSOFT_365_DEFENDER_INCIDENT - - MICROSOFT_365_DEFENDER_USERLOGGEDIN - - OKTA_SYSTEM_LOG_AUTHENTICATION - - PALO_ALTO_NETWORKS_FIREWALL_TRAFFIC - ObservabilityPipelineEnrichmentTableFileEncodingType: - description: Specifies the encoding format (e.g., CSV) used for enrichment tables. - enum: - - csv - example: csv - type: string - x-enum-varnames: - - CSV - ObservabilityPipelineEnrichmentTableFileKeyItemsComparison: - description: Defines how to compare key fields for enrichment table lookups. - enum: - - equals - example: equals - type: string - x-enum-varnames: - - EQUALS - ObservabilityPipelineEnrichmentTableFileSchemaItemsType: - description: Declares allowed data types for enrichment table columns. + ApplicationSecurityWafCustomRuleConditionParametersType: + description: The type of the value to compare against. Only used with the equals and !equals operator. enum: - - string - boolean - - integer + - signed + - unsigned - float - - date - - timestamp + - string example: string type: string x-enum-varnames: - - STRING - BOOLEAN - - INTEGER + - SIGNED + - UNSIGNED - FLOAT - - DATE - - TIMESTAMP - ObservabilityPipelineSocketSourceFramingNewlineDelimitedMethod: - description: Byte frames which are delimited by a newline character. - enum: - - newline_delimited - example: newline_delimited - type: string - x-enum-varnames: - - NEWLINE_DELIMITED - ObservabilityPipelineSocketSourceFramingBytesMethod: - description: >- - Byte frames are passed through as-is according to the underlying I/O - boundaries (for example, split between messages or stream segments). - enum: - - bytes - example: bytes - type: string - x-enum-varnames: - - BYTES - ObservabilityPipelineSocketSourceFramingCharacterDelimitedMethod: - description: Byte frames which are delimited by a chosen character. - enum: - - character_delimited - example: character_delimited - type: string - x-enum-varnames: - - CHARACTER_DELIMITED - ObservabilityPipelineSocketSourceFramingOctetCountingMethod: - description: Byte frames according to the octet counting format as per RFC6587. - enum: - - octet_counting - example: octet_counting - type: string - x-enum-varnames: - - OCTET_COUNTING - ObservabilityPipelineSocketSourceFramingChunkedGelfMethod: - description: Byte frames which are chunked GELF messages. - enum: - - chunked_gelf - example: chunked_gelf - type: string - x-enum-varnames: - - CHUNKED_GELF - ObservabilityPipelineGeneratedMetricIncrementByOneStrategy: - description: Increments the metric by 1 for each matching event. - enum: - - increment_by_one - example: increment_by_one - type: string - x-enum-varnames: - - INCREMENT_BY_ONE - ObservabilityPipelineGeneratedMetricIncrementByFieldStrategy: - description: Uses a numeric field in the log event as the metric increment. - enum: - - increment_by_field - example: increment_by_field - type: string - x-enum-varnames: - - INCREMENT_BY_FIELD - ObservabilityPipelineSensitiveDataScannerProcessorActionRedactAction: - description: >- - Action type that completely replaces the matched sensitive data with a - fixed replacement string to remove all visibility. - enum: - - redact - example: redact - type: string - x-enum-varnames: - - REDACT - ObservabilityPipelineSensitiveDataScannerProcessorActionRedactOptions: - description: Configuration for fully redacting sensitive data. + - STRING + CloudWorkloadSecurityAgentRuleActionHash: + description: Hash file specified by the field attribute properties: - replace: - description: >- - The - `ObservabilityPipelineSensitiveDataScannerProcessorActionRedactOptions` - `replace`. - example: '***' + field: + description: The field of the hash action type: string - required: - - replace type: object - ObservabilityPipelineSensitiveDataScannerProcessorActionHashAction: - description: >- - Action type that replaces the matched sensitive data with a hashed - representation, preserving structure while securing content. - enum: - - hash - example: hash - type: string - x-enum-varnames: - - HASH - ObservabilityPipelineSensitiveDataScannerProcessorActionPartialRedactAction: - description: >- - Action type that redacts part of the sensitive data while preserving a - configurable number of characters, typically used for masking purposes - (e.g., show last 4 digits of a credit card). - enum: - - partial_redact - example: partial_redact - type: string - x-enum-varnames: - - PARTIAL_REDACT - ObservabilityPipelineSensitiveDataScannerProcessorActionPartialRedactOptions: - description: >- - Controls how partial redaction is applied, including character count and - direction. + CloudWorkloadSecurityAgentRuleKill: + description: Kill system call applied on the container matching the rule + properties: + signal: + description: Supported signals for the kill system call + type: string + type: object + CloudWorkloadSecurityAgentRuleActionMetadata: + description: The metadata action applied on the scope matching the rule + properties: + image_tag: + description: The image tag of the metadata action + type: string + service: + description: The service of the metadata action + type: string + short_image: + description: The short image of the metadata action + type: string + type: object + CloudWorkloadSecurityAgentRuleActionSet: + description: The set action applied on the scope matching the rule properties: - characters: - description: >- - The - `ObservabilityPipelineSensitiveDataScannerProcessorActionPartialRedactOptions` - `characters`. - example: 4 + append: + description: Whether the value should be appended to the field. + type: boolean + default_value: + description: The default value of the set action + type: string + expression: + description: The expression of the set action. + type: string + field: + description: The field of the set action + type: string + inherited: + description: Whether the value should be inherited. + type: boolean + name: + description: The name of the set action + type: string + scope: + description: The scope of the set action. + type: string + size: + description: The size of the set action. + format: int64 + type: integer + ttl: + description: The time to live of the set action. format: int64 type: integer - direction: - $ref: >- - #/components/schemas/ObservabilityPipelineSensitiveDataScannerProcessorActionPartialRedactOptionsDirection + value: + $ref: '#/components/schemas/CloudWorkloadSecurityAgentRuleActionSetValue' + type: object + RumSdkConfigTracingUrlConfig: + description: Configuration for a URL that should have distributed tracing enabled. + properties: + match: + $ref: '#/components/schemas/RumSdkConfigMatchOption' + propagator_types: + description: The list of trace propagator types to use for this URL. + example: + - datadog + - tracecontext + items: + $ref: '#/components/schemas/RumSdkConfigTracingUrlPropagatorType' + type: array required: - - characters - - direction + - match + - propagator_types type: object - ObservabilityPipelineSensitiveDataScannerProcessorCustomPatternOptions: - description: Options for defining a custom regex pattern. + RumSdkConfigMatchOption: + description: A match option used for URL or origin pattern matching. properties: - rule: - description: >- - A regular expression used to detect sensitive values. Must be a - valid regex. - example: \b\d{16}\b + rc_serialized_type: + $ref: '#/components/schemas/RumSdkConfigMatchOptionSerializedType' + value: + description: The value to match against. + example: https://app.datadoghq.com type: string required: - - rule + - rc_serialized_type + - value type: object - ObservabilityPipelineSensitiveDataScannerProcessorCustomPatternType: - description: Indicates a custom regular expression is used for matching. - enum: - - custom - example: custom - type: string - x-enum-varnames: - - CUSTOM - ObservabilityPipelineSensitiveDataScannerProcessorLibraryPatternOptions: - description: >- - Options for selecting a predefined library pattern and enabling keyword - support. + RumSdkConfigDynamicOptionPair: + description: A key-value pair where the value is a dynamic configuration option. properties: - id: - description: >- - Identifier for a predefined pattern from the sensitive data scanner - pattern library. - example: credit_card + key: + description: The key name for this dynamic configuration pair. + example: id type: string - use_recommended_keywords: - description: Whether to augment the pattern with recommended keywords (optional). - type: boolean + value: + $ref: '#/components/schemas/RumSdkConfigDynamicOption' required: - - id + - key + - value type: object - ObservabilityPipelineSensitiveDataScannerProcessorLibraryPatternType: - description: Indicates that a predefined library pattern is used. - enum: - - library - example: library - type: string - x-enum-varnames: - - LIBRARY - ObservabilityPipelineSensitiveDataScannerProcessorScopeOptions: - description: Fields to which the scope rule applies. + RumSdkConfigSerializedRegex: + description: A serialized regex used as an extractor in dynamic options. properties: - fields: - description: >- - The `ObservabilityPipelineSensitiveDataScannerProcessorScopeOptions` - `fields`. - example: - - '' - items: - type: string - type: array + rc_serialized_type: + $ref: '#/components/schemas/RumSdkConfigSerializedRegexType' + value: + description: The regex pattern used for extraction. + example: ^https://app-.*.datadoghq.com + type: string required: - - fields + - rc_serialized_type + - value type: object - ObservabilityPipelineSensitiveDataScannerProcessorScopeIncludeTarget: - description: Applies the rule only to included fields. + RumSdkConfigDynamicOptionSerializedType: + description: The type identifier for a dynamic option. Always `dynamic`. + enum: + - dynamic + example: dynamic + type: string + x-enum-varnames: + - DYNAMIC + RumSdkConfigDynamicOptionStrategy: + description: The strategy used to extract the dynamic value. enum: - - include - example: include + - js + - cookie + - dom + - localStorage + example: js type: string x-enum-varnames: - - INCLUDE - ObservabilityPipelineSensitiveDataScannerProcessorScopeExcludeTarget: - description: Excludes specific fields from processing. + - JS + - COOKIE + - DOM + - LOCAL_STORAGE + ApplicationSecurityWafCustomRuleConditionInputAddress: + description: Input from the request on which the condition should apply. enum: - - exclude - example: exclude + - server.db.statement + - server.io.fs.file + - server.io.fs.file_write + - server.io.net.url + - server.sys.shell.cmd + - server.request.method + - server.request.uri.raw + - server.request.path_params + - server.request.query + - server.request.headers + - server.request.headers.no_cookies + - server.request.custom-auth + - server.request.cookies + - server.request.trailers + - server.request.body + - server.request.body.filenames + - server.request.body.files_content + - server.response.status + - server.response.headers.no_cookies + - server.response.trailers + - server.response.body + - grpc.server.request.metadata + - grpc.server.request.message + - grpc.server.method + - graphql.server.all_resolvers + - usr.id + - http.client_ip + - server.llm.event + - server.llm.guard.verdict + - _dd.appsec.fp.http.header + - _dd.appsec.fp.http.network + - _dd.appsec.fp.session + - _dd.appsec.fp.http.endpoint + example: server.db.statement type: string x-enum-varnames: - - EXCLUDE - ObservabilityPipelineSensitiveDataScannerProcessorScopeAllTarget: - description: Applies the rule to all fields. + - SERVER_DB_STATEMENT + - SERVER_IO_FS_FILE + - SERVER_IO_FS_FILE_WRITE + - SERVER_IO_NET_URL + - SERVER_SYS_SHELL_CMD + - SERVER_REQUEST_METHOD + - SERVER_REQUEST_URI_RAW + - SERVER_REQUEST_PATH_PARAMS + - SERVER_REQUEST_QUERY + - SERVER_REQUEST_HEADERS + - SERVER_REQUEST_HEADERS_NO_COOKIES + - SERVER_REQUEST_CUSTOM_AUTH + - SERVER_REQUEST_COOKIES + - SERVER_REQUEST_TRAILERS + - SERVER_REQUEST_BODY + - SERVER_REQUEST_BODY_FILENAMES + - SERVER_REQUEST_BODY_FILES_CONTENT + - SERVER_RESPONSE_STATUS + - SERVER_RESPONSE_HEADERS_NO_COOKIES + - SERVER_RESPONSE_TRAILERS + - SERVER_RESPONSE_BODY + - GRPC_SERVER_REQUEST_METADATA + - GRPC_SERVER_REQUEST_MESSAGE + - GRPC_SERVER_METHOD + - GRAPHQL_SERVER_ALL_RESOLVERS + - USR_ID + - HTTP_CLIENT_IP + - SERVER_LLM_EVENT + - SERVER_LLM_GUARD_VERDICT + - DD_APPSEC_FP_HTTP_HEADER + - DD_APPSEC_FP_HTTP_NETWORK + - DD_APPSEC_FP_SESSION + - DD_APPSEC_FP_HTTP_ENDPOINT + CloudWorkloadSecurityAgentRuleActionSetValue: + description: The value of the set action + type: string + format: int32 + maximum: 2147483647 + RumSdkConfigTracingUrlPropagatorType: + description: A trace propagator type. + enum: + - datadog + - b3 + - b3multi + - tracecontext + example: datadog + type: string + x-enum-varnames: + - DATADOG + - B3 + - B3MULTI + - TRACECONTEXT + RumSdkConfigMatchOptionSerializedType: + description: The type of match pattern, either a literal string or a regex. enum: - - all - example: all + - string + - regex + example: string type: string x-enum-varnames: - - ALL - ObservabilityPipelineSensitiveDataScannerProcessorActionPartialRedactOptionsDirection: - description: >- - Indicates whether to redact characters from the first or last part of - the matched value. + - STRING + - REGEX + RumSdkConfigSerializedRegexType: + description: The type identifier for a serialized regex. Always `regex`. enum: - - first - - last - example: last + - regex + example: regex type: string x-enum-varnames: - - FIRST - - LAST + - REGEX responses: NotAuthorizedResponse: content: @@ -6431,6 +3636,14 @@ components: required: true schema: type: string + ApplicationSecurityPolicyIDParam: + description: The ID of the policy. + example: recommended + in: path + name: policy_id + required: true + schema: + type: string CloudWorkloadSecurityQueryAgentPolicyID: description: The ID of the Agent policy example: 6517fcc1-cec7-4394-a655-8d6e9d085255 @@ -6455,26 +3668,6 @@ components: required: true schema: type: string - PageSize: - description: Size for a given page. The maximum allowed value is 100. - in: query - name: page[size] - required: false - schema: - default: 10 - example: 10 - format: int64 - type: integer - PageNumber: - description: Specific page number to return. - in: query - name: page[number] - required: false - schema: - default: 0 - example: 0 - format: int64 - type: integer x-stackQL-resources: waf_custom_rules: id: datadog.remote_config.waf_custom_rules @@ -6483,57 +3676,63 @@ components: methods: list_application_security_wafcustom_rules: operation: - $ref: >- - #/paths/~1api~1v2~1remote_config~1products~1asm~1waf~1custom_rules/get + $ref: '#/paths/~1api~1v2~1remote_config~1products~1asm~1waf~1custom_rules/get' response: mediaType: application/json openAPIDocKey: '200' objectKey: $.data + request: + nativeCasing: camel create_application_security_waf_custom_rule: + config: + requestBodyTranslate: + algorithm: naive operation: - $ref: >- - #/paths/~1api~1v2~1remote_config~1products~1asm~1waf~1custom_rules/post + $ref: '#/paths/~1api~1v2~1remote_config~1products~1asm~1waf~1custom_rules/post' response: mediaType: application/json openAPIDocKey: '201' + request: + nativeCasing: camel delete_application_security_waf_custom_rule: operation: - $ref: >- - #/paths/~1api~1v2~1remote_config~1products~1asm~1waf~1custom_rules~1{custom_rule_id}/delete + $ref: '#/paths/~1api~1v2~1remote_config~1products~1asm~1waf~1custom_rules~1{custom_rule_id}/delete' response: mediaType: application/json openAPIDocKey: '204' + request: + nativeCasing: camel get_application_security_waf_custom_rule: operation: - $ref: >- - #/paths/~1api~1v2~1remote_config~1products~1asm~1waf~1custom_rules~1{custom_rule_id}/get + $ref: '#/paths/~1api~1v2~1remote_config~1products~1asm~1waf~1custom_rules~1{custom_rule_id}/get' response: mediaType: application/json openAPIDocKey: '200' objectKey: $.data + request: + nativeCasing: camel update_application_security_waf_custom_rule: + config: + requestBodyTranslate: + algorithm: naive operation: - $ref: >- - #/paths/~1api~1v2~1remote_config~1products~1asm~1waf~1custom_rules~1{custom_rule_id}/put + $ref: '#/paths/~1api~1v2~1remote_config~1products~1asm~1waf~1custom_rules~1{custom_rule_id}/put' response: mediaType: application/json openAPIDocKey: '200' + request: + nativeCasing: camel sqlVerbs: select: - - $ref: >- - #/components/x-stackQL-resources/waf_custom_rules/methods/get_application_security_waf_custom_rule - - $ref: >- - #/components/x-stackQL-resources/waf_custom_rules/methods/list_application_security_wafcustom_rules + - $ref: '#/components/x-stackQL-resources/waf_custom_rules/methods/get_application_security_waf_custom_rule' + - $ref: '#/components/x-stackQL-resources/waf_custom_rules/methods/list_application_security_wafcustom_rules' insert: - - $ref: >- - #/components/x-stackQL-resources/waf_custom_rules/methods/create_application_security_waf_custom_rule + - $ref: '#/components/x-stackQL-resources/waf_custom_rules/methods/create_application_security_waf_custom_rule' update: [] delete: - - $ref: >- - #/components/x-stackQL-resources/waf_custom_rules/methods/delete_application_security_waf_custom_rule + - $ref: '#/components/x-stackQL-resources/waf_custom_rules/methods/delete_application_security_waf_custom_rule' replace: - - $ref: >- - #/components/x-stackQL-resources/waf_custom_rules/methods/update_application_security_waf_custom_rule + - $ref: '#/components/x-stackQL-resources/waf_custom_rules/methods/update_application_security_waf_custom_rule' waf_exclusion_filters: id: datadog.remote_config.waf_exclusion_filters name: waf_exclusion_filters @@ -6541,57 +3740,127 @@ components: methods: list_application_security_waf_exclusion_filters: operation: - $ref: >- - #/paths/~1api~1v2~1remote_config~1products~1asm~1waf~1exclusion_filters/get + $ref: '#/paths/~1api~1v2~1remote_config~1products~1asm~1waf~1exclusion_filters/get' response: mediaType: application/json openAPIDocKey: '200' objectKey: $.data + request: + nativeCasing: camel create_application_security_waf_exclusion_filter: + config: + requestBodyTranslate: + algorithm: naive operation: - $ref: >- - #/paths/~1api~1v2~1remote_config~1products~1asm~1waf~1exclusion_filters/post + $ref: '#/paths/~1api~1v2~1remote_config~1products~1asm~1waf~1exclusion_filters/post' response: mediaType: application/json openAPIDocKey: '200' + request: + nativeCasing: camel delete_application_security_waf_exclusion_filter: operation: - $ref: >- - #/paths/~1api~1v2~1remote_config~1products~1asm~1waf~1exclusion_filters~1{exclusion_filter_id}/delete + $ref: '#/paths/~1api~1v2~1remote_config~1products~1asm~1waf~1exclusion_filters~1{exclusion_filter_id}/delete' response: mediaType: application/json openAPIDocKey: '204' + request: + nativeCasing: camel get_application_security_waf_exclusion_filter: operation: - $ref: >- - #/paths/~1api~1v2~1remote_config~1products~1asm~1waf~1exclusion_filters~1{exclusion_filter_id}/get + $ref: '#/paths/~1api~1v2~1remote_config~1products~1asm~1waf~1exclusion_filters~1{exclusion_filter_id}/get' response: mediaType: application/json openAPIDocKey: '200' objectKey: $.data + request: + nativeCasing: camel update_application_security_waf_exclusion_filter: + config: + requestBodyTranslate: + algorithm: naive + operation: + $ref: '#/paths/~1api~1v2~1remote_config~1products~1asm~1waf~1exclusion_filters~1{exclusion_filter_id}/put' + response: + mediaType: application/json + openAPIDocKey: '200' + request: + nativeCasing: camel + sqlVerbs: + select: + - $ref: '#/components/x-stackQL-resources/waf_exclusion_filters/methods/get_application_security_waf_exclusion_filter' + - $ref: '#/components/x-stackQL-resources/waf_exclusion_filters/methods/list_application_security_waf_exclusion_filters' + insert: + - $ref: '#/components/x-stackQL-resources/waf_exclusion_filters/methods/create_application_security_waf_exclusion_filter' + update: [] + delete: + - $ref: '#/components/x-stackQL-resources/waf_exclusion_filters/methods/delete_application_security_waf_exclusion_filter' + replace: + - $ref: '#/components/x-stackQL-resources/waf_exclusion_filters/methods/update_application_security_waf_exclusion_filter' + waf_policies: + id: datadog.remote_config.waf_policies + name: waf_policies + title: Waf Policies + methods: + list_application_security_wafpolicies: + operation: + $ref: '#/paths/~1api~1v2~1remote_config~1products~1asm~1waf~1policies/get' + response: + mediaType: application/json + openAPIDocKey: '200' + objectKey: $.data + request: + nativeCasing: camel + create_application_security_waf_policy: + config: + requestBodyTranslate: + algorithm: naive + operation: + $ref: '#/paths/~1api~1v2~1remote_config~1products~1asm~1waf~1policies/post' + response: + mediaType: application/json + openAPIDocKey: '201' + request: + nativeCasing: camel + delete_application_security_waf_policy: + operation: + $ref: '#/paths/~1api~1v2~1remote_config~1products~1asm~1waf~1policies~1{policy_id}/delete' + response: + mediaType: application/json + openAPIDocKey: '204' + request: + nativeCasing: camel + get_application_security_waf_policy: + operation: + $ref: '#/paths/~1api~1v2~1remote_config~1products~1asm~1waf~1policies~1{policy_id}/get' + response: + mediaType: application/json + openAPIDocKey: '200' + objectKey: $.data + request: + nativeCasing: camel + update_application_security_waf_policy: + config: + requestBodyTranslate: + algorithm: naive operation: - $ref: >- - #/paths/~1api~1v2~1remote_config~1products~1asm~1waf~1exclusion_filters~1{exclusion_filter_id}/put + $ref: '#/paths/~1api~1v2~1remote_config~1products~1asm~1waf~1policies~1{policy_id}/put' response: mediaType: application/json openAPIDocKey: '200' + request: + nativeCasing: camel sqlVerbs: select: - - $ref: >- - #/components/x-stackQL-resources/waf_exclusion_filters/methods/get_application_security_waf_exclusion_filter - - $ref: >- - #/components/x-stackQL-resources/waf_exclusion_filters/methods/list_application_security_waf_exclusion_filters + - $ref: '#/components/x-stackQL-resources/waf_policies/methods/get_application_security_waf_policy' + - $ref: '#/components/x-stackQL-resources/waf_policies/methods/list_application_security_wafpolicies' insert: - - $ref: >- - #/components/x-stackQL-resources/waf_exclusion_filters/methods/create_application_security_waf_exclusion_filter + - $ref: '#/components/x-stackQL-resources/waf_policies/methods/create_application_security_waf_policy' update: [] delete: - - $ref: >- - #/components/x-stackQL-resources/waf_exclusion_filters/methods/delete_application_security_waf_exclusion_filter + - $ref: '#/components/x-stackQL-resources/waf_policies/methods/delete_application_security_waf_policy' replace: - - $ref: >- - #/components/x-stackQL-resources/waf_exclusion_filters/methods/update_application_security_waf_exclusion_filter + - $ref: '#/components/x-stackQL-resources/waf_policies/methods/update_application_security_waf_policy' csm_threats_agent_rules: id: datadog.remote_config.csm_threats_agent_rules name: csm_threats_agent_rules @@ -6604,49 +3873,57 @@ components: mediaType: application/json openAPIDocKey: '200' objectKey: $.data + request: + nativeCasing: camel create_csmthreats_agent_rule: + config: + requestBodyTranslate: + algorithm: naive operation: $ref: '#/paths/~1api~1v2~1remote_config~1products~1cws~1agent_rules/post' response: mediaType: application/json openAPIDocKey: '200' + request: + nativeCasing: camel delete_csmthreats_agent_rule: operation: - $ref: >- - #/paths/~1api~1v2~1remote_config~1products~1cws~1agent_rules~1{agent_rule_id}/delete + $ref: '#/paths/~1api~1v2~1remote_config~1products~1cws~1agent_rules~1{agent_rule_id}/delete' response: mediaType: application/json openAPIDocKey: '204' + request: + nativeCasing: camel get_csmthreats_agent_rule: operation: - $ref: >- - #/paths/~1api~1v2~1remote_config~1products~1cws~1agent_rules~1{agent_rule_id}/get + $ref: '#/paths/~1api~1v2~1remote_config~1products~1cws~1agent_rules~1{agent_rule_id}/get' response: mediaType: application/json openAPIDocKey: '200' objectKey: $.data + request: + nativeCasing: camel update_csmthreats_agent_rule: + config: + requestBodyTranslate: + algorithm: naive operation: - $ref: >- - #/paths/~1api~1v2~1remote_config~1products~1cws~1agent_rules~1{agent_rule_id}/patch + $ref: '#/paths/~1api~1v2~1remote_config~1products~1cws~1agent_rules~1{agent_rule_id}/patch' response: mediaType: application/json openAPIDocKey: '200' + request: + nativeCasing: camel sqlVerbs: select: - - $ref: >- - #/components/x-stackQL-resources/csm_threats_agent_rules/methods/get_csmthreats_agent_rule - - $ref: >- - #/components/x-stackQL-resources/csm_threats_agent_rules/methods/list_csmthreats_agent_rules + - $ref: '#/components/x-stackQL-resources/csm_threats_agent_rules/methods/get_csmthreats_agent_rule' + - $ref: '#/components/x-stackQL-resources/csm_threats_agent_rules/methods/list_csmthreats_agent_rules' insert: - - $ref: >- - #/components/x-stackQL-resources/csm_threats_agent_rules/methods/create_csmthreats_agent_rule + - $ref: '#/components/x-stackQL-resources/csm_threats_agent_rules/methods/create_csmthreats_agent_rule' update: - - $ref: >- - #/components/x-stackQL-resources/csm_threats_agent_rules/methods/update_csmthreats_agent_rule + - $ref: '#/components/x-stackQL-resources/csm_threats_agent_rules/methods/update_csmthreats_agent_rule' delete: - - $ref: >- - #/components/x-stackQL-resources/csm_threats_agent_rules/methods/delete_csmthreats_agent_rule + - $ref: '#/components/x-stackQL-resources/csm_threats_agent_rules/methods/delete_csmthreats_agent_rule' replace: [] csm_threats_agent_policies: id: datadog.remote_config.csm_threats_agent_policies @@ -6660,125 +3937,95 @@ components: mediaType: application/json openAPIDocKey: '200' objectKey: $.data + request: + nativeCasing: camel create_csmthreats_agent_policy: + config: + requestBodyTranslate: + algorithm: naive operation: $ref: '#/paths/~1api~1v2~1remote_config~1products~1cws~1policy/post' response: mediaType: application/json openAPIDocKey: '200' - download_csmthreats_policy: - operation: - $ref: >- - #/paths/~1api~1v2~1remote_config~1products~1cws~1policy~1download/get - response: - mediaType: application/zip - openAPIDocKey: '200' + request: + nativeCasing: camel delete_csmthreats_agent_policy: operation: - $ref: >- - #/paths/~1api~1v2~1remote_config~1products~1cws~1policy~1{policy_id}/delete + $ref: '#/paths/~1api~1v2~1remote_config~1products~1cws~1policy~1{policy_id}/delete' response: mediaType: application/json openAPIDocKey: '202' + request: + nativeCasing: camel get_csmthreats_agent_policy: operation: - $ref: >- - #/paths/~1api~1v2~1remote_config~1products~1cws~1policy~1{policy_id}/get + $ref: '#/paths/~1api~1v2~1remote_config~1products~1cws~1policy~1{policy_id}/get' response: mediaType: application/json openAPIDocKey: '200' objectKey: $.data + request: + nativeCasing: camel update_csmthreats_agent_policy: + config: + requestBodyTranslate: + algorithm: naive operation: - $ref: >- - #/paths/~1api~1v2~1remote_config~1products~1cws~1policy~1{policy_id}/patch + $ref: '#/paths/~1api~1v2~1remote_config~1products~1cws~1policy~1{policy_id}/patch' response: mediaType: application/json openAPIDocKey: '200' + request: + nativeCasing: camel sqlVerbs: select: - - $ref: >- - #/components/x-stackQL-resources/csm_threats_agent_policies/methods/get_csmthreats_agent_policy - - $ref: >- - #/components/x-stackQL-resources/csm_threats_agent_policies/methods/list_csmthreats_agent_policies + - $ref: '#/components/x-stackQL-resources/csm_threats_agent_policies/methods/get_csmthreats_agent_policy' + - $ref: '#/components/x-stackQL-resources/csm_threats_agent_policies/methods/list_csmthreats_agent_policies' insert: - - $ref: >- - #/components/x-stackQL-resources/csm_threats_agent_policies/methods/create_csmthreats_agent_policy + - $ref: '#/components/x-stackQL-resources/csm_threats_agent_policies/methods/create_csmthreats_agent_policy' update: - - $ref: >- - #/components/x-stackQL-resources/csm_threats_agent_policies/methods/update_csmthreats_agent_policy + - $ref: '#/components/x-stackQL-resources/csm_threats_agent_policies/methods/update_csmthreats_agent_policy' delete: - - $ref: >- - #/components/x-stackQL-resources/csm_threats_agent_policies/methods/delete_csmthreats_agent_policy + - $ref: '#/components/x-stackQL-resources/csm_threats_agent_policies/methods/delete_csmthreats_agent_policy' replace: [] - observability_pipelines: - id: datadog.remote_config.observability_pipelines - name: observability_pipelines - title: Observability Pipelines + rum_configs: + id: datadog.remote_config.rum_configs + name: rum_configs + title: Rum Configs methods: - list_pipelines: - operation: - $ref: >- - #/paths/~1api~1v2~1remote_config~1products~1obs_pipelines~1pipelines/get - response: - mediaType: application/json - openAPIDocKey: '200' - objectKey: $.data - create_pipeline: - operation: - $ref: >- - #/paths/~1api~1v2~1remote_config~1products~1obs_pipelines~1pipelines/post - response: - mediaType: application/json - openAPIDocKey: '201' - validate_pipeline: - operation: - $ref: >- - #/paths/~1api~1v2~1remote_config~1products~1obs_pipelines~1pipelines~1validate/post - response: - mediaType: application/json - openAPIDocKey: '200' - delete_pipeline: - operation: - $ref: >- - #/paths/~1api~1v2~1remote_config~1products~1obs_pipelines~1pipelines~1{pipeline_id}/delete - response: - mediaType: application/json - openAPIDocKey: '204' - get_pipeline: + get_rum_sdk_config: operation: - $ref: >- - #/paths/~1api~1v2~1remote_config~1products~1obs_pipelines~1pipelines~1{pipeline_id}/get + $ref: '#/paths/~1api~1v2~1remote_config~1products~1rum~1configs~1{config_id}/get' response: mediaType: application/json openAPIDocKey: '200' objectKey: $.data - update_pipeline: + request: + nativeCasing: camel + update_rum_sdk_config: + config: + requestBodyTranslate: + algorithm: naive operation: - $ref: >- - #/paths/~1api~1v2~1remote_config~1products~1obs_pipelines~1pipelines~1{pipeline_id}/put + $ref: '#/paths/~1api~1v2~1remote_config~1products~1rum~1configs~1{config_id}/put' response: mediaType: application/json openAPIDocKey: '200' + request: + nativeCasing: camel sqlVerbs: select: - - $ref: >- - #/components/x-stackQL-resources/observability_pipelines/methods/get_pipeline - - $ref: >- - #/components/x-stackQL-resources/observability_pipelines/methods/list_pipelines - insert: - - $ref: >- - #/components/x-stackQL-resources/observability_pipelines/methods/create_pipeline + - $ref: '#/components/x-stackQL-resources/rum_configs/methods/get_rum_sdk_config' + insert: [] update: [] - delete: - - $ref: >- - #/components/x-stackQL-resources/observability_pipelines/methods/delete_pipeline + delete: [] replace: - - $ref: >- - #/components/x-stackQL-resources/observability_pipelines/methods/update_pipeline + - $ref: '#/components/x-stackQL-resources/rum_configs/methods/update_rum_sdk_config' servers: - - url: >- - https://{region:^(?:[^\:/]+(?:\:[0-9]+)?|[0-9]+\.[0-9]+\.[0-9]+\.[0-9]+(?:\:[0-9]+)?)$}/ + - url: https://api.{site:.+} variables: - region: + site: default: datadoghq.com + description: The Datadog site (region) for your organization, for example datadoghq.com, us3.datadoghq.com, us5.datadoghq.com, ap1.datadoghq.com, ap2.datadoghq.com, datadoghq.eu, ddog-gov.com. Resolved from the DD_SITE environment variable when set. + x-stackQL-envVar: DD_SITE diff --git a/providers/src/datadog/v00.00.00000/services/security.yaml b/providers/src/datadog/v00.00.00000/services/security.yaml index 016f1257..3b254e14 100644 --- a/providers/src/datadog/v00.00.00000/services/security.yaml +++ b/providers/src/datadog/v00.00.00000/services/security.yaml @@ -12,6 +12,17 @@ paths: '200': content: application/json: + examples: + default: + value: + data: + - attributes: + lambda: true + sensitive_data: false + vuln_containers_os: true + vuln_host_os: true + id: '123456789012' + type: aws_scan_options schema: $ref: '#/components/schemas/AwsScanOptionsListResponse' description: OK @@ -19,7 +30,12 @@ paths: $ref: '#/components/responses/NotAuthorizedResponse' '429': $ref: '#/components/responses/TooManyRequestsResponse' - summary: List AWS Scan Options + security: + - apiKeyAuth: [] + appKeyAuth: [] + - AuthZ: + - security_monitoring_findings_read + summary: List AWS scan options tags: - Agentless Scanning post: @@ -28,6 +44,18 @@ paths: requestBody: content: application/json: + examples: + default: + value: + data: + attributes: + compliance_host: false + lambda: true + sensitive_data: false + vuln_containers_os: true + vuln_host_os: true + id: '123456789012' + type: aws_scan_options schema: $ref: '#/components/schemas/AwsScanOptionsCreateRequest' description: The definition of the new scan options. @@ -36,6 +64,17 @@ paths: '201': content: application/json: + examples: + default: + value: + data: + attributes: + lambda: true + sensitive_data: false + vuln_containers_os: true + vuln_host_os: true + id: '123456789012' + type: aws_scan_options schema: $ref: '#/components/schemas/AwsScanOptionsResponse' description: Agentless scan options enabled successfully. @@ -47,7 +86,12 @@ paths: $ref: '#/components/responses/ConflictResponse' '429': $ref: '#/components/responses/TooManyRequestsResponse' - summary: Post AWS Scan Options + security: + - apiKeyAuth: [] + appKeyAuth: [] + - AuthZ: + - org_management + summary: Create AWS scan options tags: - Agentless Scanning x-codegen-request-body-name: body @@ -68,7 +112,12 @@ paths: $ref: '#/components/responses/NotFoundResponse' '429': $ref: '#/components/responses/TooManyRequestsResponse' - summary: Delete AWS Scan Options + security: + - apiKeyAuth: [] + appKeyAuth: [] + - AuthZ: + - org_management + summary: Delete AWS scan options tags: - Agentless Scanning get: @@ -80,6 +129,17 @@ paths: '200': content: application/json: + examples: + default: + value: + data: + attributes: + lambda: true + sensitive_data: false + vuln_containers_os: true + vuln_host_os: true + id: '123456789012' + type: aws_scan_options schema: $ref: '#/components/schemas/AwsScanOptionsResponse' description: OK @@ -91,6 +151,11 @@ paths: $ref: '#/components/responses/NotFoundResponse' '429': $ref: '#/components/responses/TooManyRequestsResponse' + security: + - apiKeyAuth: [] + appKeyAuth: [] + - AuthZ: + - security_monitoring_findings_read summary: Get AWS scan options tags: - Agentless Scanning @@ -102,6 +167,18 @@ paths: requestBody: content: application/json: + examples: + default: + value: + data: + attributes: + compliance_host: false + lambda: true + sensitive_data: false + vuln_containers_os: true + vuln_host_os: true + id: '123456789012' + type: aws_scan_options schema: $ref: '#/components/schemas/AwsScanOptionsUpdateRequest' description: New definition of the scan options. @@ -117,79 +194,142 @@ paths: $ref: '#/components/responses/NotFoundResponse' '429': $ref: '#/components/responses/TooManyRequestsResponse' - summary: Patch AWS Scan Options + security: + - apiKeyAuth: [] + appKeyAuth: [] + - AuthZ: + - org_management + summary: Update AWS scan options tags: - Agentless Scanning x-codegen-request-body-name: body - /api/v2/agentless_scanning/ondemand/aws: + /api/v2/agentless_scanning/accounts/azure: get: - description: Fetches the most recent 1000 AWS on demand tasks. - operationId: ListAwsOnDemandTasks + description: Fetches the scan options configured for Azure accounts. + operationId: ListAzureScanOptions responses: '200': content: application/json: + examples: + default: + value: + data: + - attributes: + vuln_containers_os: true + vuln_host_os: true + id: 00000000-0000-0000-0000-000000000001 + type: azure_scan_options schema: - $ref: '#/components/schemas/AwsOnDemandListResponse' + $ref: '#/components/schemas/AzureScanOptionsArray' description: OK - '403': - $ref: '#/components/responses/NotAuthorizedResponse' '429': $ref: '#/components/responses/TooManyRequestsResponse' - summary: Get AWS On Demand tasks + security: + - apiKeyAuth: [] + appKeyAuth: [] + - AuthZ: + - security_monitoring_findings_read + summary: List Azure scan options tags: - Agentless Scanning - x-permission: - operator: OR - permissions: - - security_monitoring_findings_read post: - description: >- - Trigger the scan of an AWS resource with a high priority. Agentless - scanning must be activated for the AWS account containing the resource - to scan. - operationId: CreateAwsOnDemandTask + description: Activate Agentless scan options for an Azure subscription. + operationId: CreateAzureScanOptions requestBody: content: application/json: + examples: + default: + value: + data: + attributes: + compliance_host: false + vuln_containers_os: true + vuln_host_os: true + id: 12345678-90ab-cdef-1234-567890abcdef + type: azure_scan_options schema: - $ref: '#/components/schemas/AwsOnDemandCreateRequest' - description: The definition of the on demand task. + $ref: '#/components/schemas/AzureScanOptions' required: true responses: '201': content: application/json: + examples: + default: + value: + data: + attributes: + vuln_containers_os: true + vuln_host_os: true + id: 00000000-0000-0000-0000-000000000001 + type: azure_scan_options schema: - $ref: '#/components/schemas/AwsOnDemandResponse' - description: AWS on demand task created successfully. - '400': - $ref: '#/components/responses/BadRequestResponse' - '403': - $ref: '#/components/responses/NotAuthorizedResponse' + $ref: '#/components/schemas/AzureScanOptions' + description: Created '429': $ref: '#/components/responses/TooManyRequestsResponse' - summary: Post an AWS on demand task + security: + - apiKeyAuth: [] + appKeyAuth: [] + - AuthZ: + - org_management + summary: Create Azure scan options + tags: + - Agentless Scanning + /api/v2/agentless_scanning/accounts/azure/{subscription_id}: + delete: + description: Delete Agentless scan options for an Azure subscription. + operationId: DeleteAzureScanOptions + parameters: + - description: The Azure subscription ID. + in: path + name: subscription_id + required: true + schema: + example: 12345678-90ab-cdef-1234-567890abcdef + type: string + responses: + '204': + description: No Content + '429': + $ref: '#/components/responses/TooManyRequestsResponse' + security: + - apiKeyAuth: [] + appKeyAuth: [] + - AuthZ: + - org_management + summary: Delete Azure scan options tags: - Agentless Scanning - x-codegen-request-body-name: body - x-permission: - operator: OR - permissions: - - security_monitoring_findings_write - /api/v2/agentless_scanning/ondemand/aws/{task_id}: get: - description: Fetch the data of a specific on demand task. - operationId: GetAwsOnDemandTask + description: Fetches the Agentless scan options for an activated subscription. + operationId: GetAzureScanOptions parameters: - - $ref: '#/components/parameters/OnDemandTaskId' + - description: The Azure subscription ID. + in: path + name: subscription_id + required: true + schema: + example: 12345678-90ab-cdef-1234-567890abcdef + type: string responses: '200': content: application/json: + examples: + default: + value: + data: + attributes: + vuln_containers_os: true + vuln_host_os: true + id: 00000000-0000-0000-0000-000000000001 + type: azure_scan_options schema: - $ref: '#/components/schemas/AwsOnDemandResponse' - description: OK. + $ref: '#/components/schemas/AzureScanOptions' + description: OK '400': $ref: '#/components/responses/BadRequestResponse' '403': @@ -198,2292 +338,3112 @@ paths: $ref: '#/components/responses/NotFoundResponse' '429': $ref: '#/components/responses/TooManyRequestsResponse' - summary: Get AWS On Demand task by id + security: + - apiKeyAuth: [] + appKeyAuth: [] + - AuthZ: + - security_monitoring_findings_read + summary: Get Azure scan options tags: - Agentless Scanning - x-permission: - operator: OR - permissions: - - security_monitoring_findings_read - /api/v2/cloud_security_management/custom_frameworks: - post: - description: Create a custom framework. - operationId: CreateCustomFramework + patch: + description: Update the Agentless scan options for an activated subscription. + operationId: UpdateAzureScanOptions + parameters: + - description: The Azure subscription ID. + in: path + name: subscription_id + required: true + schema: + example: 12345678-90ab-cdef-1234-567890abcdef + type: string requestBody: content: application/json: + examples: + default: + value: + data: + attributes: + vuln_containers_os: false + id: 12345678-90ab-cdef-1234-567890abcdef + type: azure_scan_options schema: - $ref: '#/components/schemas/CreateCustomFrameworkRequest' + $ref: '#/components/schemas/AzureScanOptionsInputUpdate' required: true responses: '200': content: application/json: + examples: + default: + value: + data: + attributes: + vuln_containers_os: false + vuln_host_os: true + id: 00000000-0000-0000-0000-000000000001 + type: azure_scan_options schema: - $ref: '#/components/schemas/CreateCustomFrameworkResponse' + $ref: '#/components/schemas/AzureScanOptions' description: OK - '400': - $ref: '#/components/responses/BadRequestResponse' - '409': - $ref: '#/components/responses/ConflictResponse' '429': $ref: '#/components/responses/TooManyRequestsResponse' - '500': - $ref: '#/components/responses/BadRequestResponse' security: - apiKeyAuth: [] appKeyAuth: [] - AuthZ: - - security_monitoring_rules_read - - security_monitoring_rules_write - summary: Create a custom framework + - org_management + summary: Update Azure scan options tags: - - Security Monitoring - x-codegen-request-body-name: body - x-permission: - operator: AND - permissions: - - security_monitoring_rules_read - - security_monitoring_rules_write - /api/v2/cloud_security_management/custom_frameworks/{handle}/{version}: - delete: - description: Delete a custom framework. - operationId: DeleteCustomFramework - parameters: - - $ref: '#/components/parameters/CustomFrameworkHandle' - - $ref: '#/components/parameters/CustomFrameworkVersion' + - Agentless Scanning + /api/v2/agentless_scanning/accounts/gcp: + get: + description: Fetches the scan options configured for all GCP projects. + operationId: ListGcpScanOptions responses: '200': content: application/json: + examples: + default: + value: + data: + - attributes: + vuln_containers_os: true + vuln_host_os: true + id: abc-123 + type: gcp_scan_options schema: - $ref: '#/components/schemas/DeleteCustomFrameworkResponse' + $ref: '#/components/schemas/GcpScanOptionsArray' description: OK - '400': - $ref: '#/components/responses/BadRequestResponse' + '403': + $ref: '#/components/responses/NotAuthorizedResponse' '429': $ref: '#/components/responses/TooManyRequestsResponse' - '500': - $ref: '#/components/responses/BadRequestResponse' security: - apiKeyAuth: [] appKeyAuth: [] - AuthZ: - - security_monitoring_rules_read - - security_monitoring_rules_write - summary: Delete a custom framework + - security_monitoring_findings_read + summary: List GCP scan options tags: - - Security Monitoring - x-codegen-request-body-name: body - x-permission: - operator: AND - permissions: - - security_monitoring_rules_read - - security_monitoring_rules_write - get: - description: Get a custom framework. - operationId: GetCustomFramework - parameters: - - $ref: '#/components/parameters/CustomFrameworkHandle' - - $ref: '#/components/parameters/CustomFrameworkVersion' + - Agentless Scanning + post: + description: Activate Agentless scan options for a GCP project. + operationId: CreateGcpScanOptions + requestBody: + content: + application/json: + examples: + default: + value: + data: + attributes: + compliance_host: false + vuln_containers_os: true + vuln_host_os: true + id: company-project-id + type: gcp_scan_options + schema: + $ref: '#/components/schemas/GcpScanOptions' + description: The definition of the new scan options. + required: true responses: - '200': + '201': content: application/json: + examples: + default: + value: + data: + attributes: + vuln_containers_os: true + vuln_host_os: true + id: abc-123 + type: gcp_scan_options schema: - $ref: '#/components/schemas/GetCustomFrameworkResponse' - description: OK + $ref: '#/components/schemas/GcpScanOptions' + description: Agentless scan options enabled successfully. '400': $ref: '#/components/responses/BadRequestResponse' + '403': + $ref: '#/components/responses/NotAuthorizedResponse' + '409': + $ref: '#/components/responses/ConflictResponse' '429': $ref: '#/components/responses/TooManyRequestsResponse' - '500': - $ref: '#/components/responses/BadRequestResponse' security: - apiKeyAuth: [] appKeyAuth: [] - AuthZ: - - security_monitoring_rules_read - summary: Get a custom framework + - org_management + summary: Create GCP scan options tags: - - Security Monitoring + - Agentless Scanning x-codegen-request-body-name: body - x-permission: - operator: OR - permissions: - - security_monitoring_rules_read - put: - description: Update a custom framework. - operationId: UpdateCustomFramework + /api/v2/agentless_scanning/accounts/gcp/{project_id}: + delete: + description: Delete Agentless scan options for a GCP project. + operationId: DeleteGcpScanOptions parameters: - - $ref: '#/components/parameters/CustomFrameworkHandle' - - $ref: '#/components/parameters/CustomFrameworkVersion' - requestBody: - content: - application/json: - schema: - $ref: '#/components/schemas/UpdateCustomFrameworkRequest' - required: true + - description: The GCP project ID. + in: path + name: project_id + required: true + schema: + example: company-project-id + type: string responses: - '200': - content: - application/json: - schema: - $ref: '#/components/schemas/UpdateCustomFrameworkResponse' - description: OK + '204': + description: No Content '400': $ref: '#/components/responses/BadRequestResponse' + '403': + $ref: '#/components/responses/NotAuthorizedResponse' + '404': + $ref: '#/components/responses/NotFoundResponse' '429': $ref: '#/components/responses/TooManyRequestsResponse' - '500': - $ref: '#/components/responses/BadRequestResponse' security: - apiKeyAuth: [] appKeyAuth: [] - AuthZ: - - security_monitoring_rules_read - - security_monitoring_rules_write - summary: Update a custom framework + - org_management + summary: Delete GCP scan options tags: - - Security Monitoring - x-codegen-request-body-name: body - x-permission: - operator: AND - permissions: - - security_monitoring_rules_read - - security_monitoring_rules_write - /api/v2/cloud_security_management/resource_filters: + - Agentless Scanning get: - description: List resource filters. - operationId: GetResourceEvaluationFilters + description: Fetches the Agentless scan options for an activated GCP project. + operationId: GetGcpScanOptions parameters: - - $ref: '#/components/parameters/ResourceFilterProvider' - - $ref: '#/components/parameters/ResourceFilterAccountID' - - $ref: '#/components/parameters/SkipCache' + - description: The GCP project ID. + in: path + name: project_id + required: true + schema: + example: company-project-id + type: string responses: '200': content: application/json: + examples: + default: + value: + data: + attributes: + vuln_containers_os: true + vuln_host_os: true + id: abc-123 + type: gcp_scan_options schema: - $ref: '#/components/schemas/GetResourceEvaluationFiltersResponse' + $ref: '#/components/schemas/GcpScanOptions' description: OK '400': $ref: '#/components/responses/BadRequestResponse' '403': $ref: '#/components/responses/NotAuthorizedResponse' + '404': + $ref: '#/components/responses/NotFoundResponse' '429': $ref: '#/components/responses/TooManyRequestsResponse' security: - apiKeyAuth: [] appKeyAuth: [] - AuthZ: - - security_monitoring_filters_read - summary: List resource filters + - security_monitoring_findings_read + summary: Get GCP scan options tags: - - Security Monitoring - x-permission: - operator: OR - permissions: - - security_monitoring_filters_read - put: - description: Update resource filters. - operationId: UpdateResourceEvaluationFilters + - Agentless Scanning + patch: + description: Update the Agentless scan options for an activated GCP project. + operationId: UpdateGcpScanOptions + parameters: + - description: The GCP project ID. + in: path + name: project_id + required: true + schema: + example: company-project-id + type: string requestBody: content: application/json: + examples: + default: + value: + data: + attributes: + vuln_containers_os: false + id: company-project-id + type: gcp_scan_options schema: - $ref: '#/components/schemas/UpdateResourceEvaluationFiltersRequest' + $ref: '#/components/schemas/GcpScanOptionsInputUpdate' + description: New definition of the scan options. required: true responses: - '201': + '200': content: application/json: + examples: + default: + value: + data: + attributes: + vuln_containers_os: true + vuln_host_os: true + id: abc-123 + type: gcp_scan_options schema: - $ref: '#/components/schemas/UpdateResourceEvaluationFiltersResponse' + $ref: '#/components/schemas/GcpScanOptions' description: OK '400': $ref: '#/components/responses/BadRequestResponse' '403': $ref: '#/components/responses/NotAuthorizedResponse' + '404': + $ref: '#/components/responses/NotFoundResponse' '429': $ref: '#/components/responses/TooManyRequestsResponse' security: - apiKeyAuth: [] appKeyAuth: [] - AuthZ: - - security_monitoring_filters_write - summary: Update resource filters + - org_management + summary: Update GCP scan options tags: - - Security Monitoring + - Agentless Scanning x-codegen-request-body-name: body - x-permission: - operator: OR - permissions: - - security_monitoring_filters_write - /api/v2/csm/onboarding/agents: + /api/v2/agentless_scanning/ondemand/aws: get: - description: Get the list of all CSM Agents running on your hosts and containers. - operationId: ListAllCSMAgents - parameters: - - description: The page index for pagination (zero-based). - in: query - name: page - required: false - schema: - example: 2 - format: int32 - maximum: 1000000 - minimum: 0 - type: integer - - description: The number of items to include in a single page. - in: query - name: size - required: false - schema: - example: 12 - format: int32 - maximum: 100 - minimum: 0 - type: integer - - description: >- - A search query string to filter results (for example, - `hostname:COMP-T2H4J27423`). - in: query - name: query - required: false - schema: - example: hostname:COMP-T2H4J27423 - type: string - - description: >- - The sort direction for results. Use `asc` for ascending or `desc` - for descending. - in: query - name: order_direction - required: false - schema: - $ref: '#/components/schemas/OrderDirection' + description: Fetches the most recent 1000 AWS on demand tasks. + operationId: ListAwsOnDemandTasks responses: '200': content: application/json: + examples: + default: + value: + data: + - attributes: + arn: arn:aws:ec2:us-east-1:123456789012:instance/i-0eabb50529b67a1ba + assigned_at: '2024-01-01T00:00:00+00:00' + created_at: '2024-01-01T00:00:00+00:00' + status: QUEUED + id: abc-123 + type: aws_resource schema: - $ref: '#/components/schemas/CsmAgentsResponse' + $ref: '#/components/schemas/AwsOnDemandListResponse' description: OK '403': $ref: '#/components/responses/NotAuthorizedResponse' '429': $ref: '#/components/responses/TooManyRequestsResponse' - summary: Get all CSM Agents + security: + - apiKeyAuth: [] + appKeyAuth: [] + - AuthZ: + - security_monitoring_findings_read + summary: List AWS on demand tasks tags: - - CSM Agents - /api/v2/csm/onboarding/coverage_analysis/cloud_accounts: - get: - description: |- - Get the CSM Coverage Analysis of your Cloud Accounts. - This is calculated based on the number of your Cloud Accounts that are - scanned for security issues. - operationId: GetCSMCloudAccountsCoverageAnalysis + - Agentless Scanning + x-permission: + operator: OR + permissions: + - security_monitoring_findings_read + post: + description: Trigger the scan of an AWS resource with a high priority. Agentless scanning must be activated for the AWS account containing the resource to scan. + operationId: CreateAwsOnDemandTask + requestBody: + content: + application/json: + examples: + default: + value: + data: + attributes: + arn: arn:aws:ec2:us-east-1:727000456123:instance/i-0eabb50529b67a1ba + type: aws_resource + schema: + $ref: '#/components/schemas/AwsOnDemandCreateRequest' + description: The definition of the on demand task. + required: true responses: - '200': + '201': content: application/json: + examples: + default: + value: + data: + attributes: + arn: arn:aws:ec2:us-east-1:123456789012:instance/i-0eabb50529b67a1ba + created_at: '2024-01-01T00:00:00+00:00' + status: QUEUED + id: abc-123 + type: aws_resource schema: - $ref: '#/components/schemas/CsmCloudAccountsCoverageAnalysisResponse' - description: OK + $ref: '#/components/schemas/AwsOnDemandResponse' + description: AWS on demand task created successfully. + '400': + $ref: '#/components/responses/BadRequestResponse' '403': $ref: '#/components/responses/NotAuthorizedResponse' '429': $ref: '#/components/responses/TooManyRequestsResponse' - summary: Get the CSM Cloud Accounts Coverage Analysis + security: + - apiKeyAuth: [] + appKeyAuth: [] + - AuthZ: + - org_management + summary: Create AWS on demand task tags: - - CSM Coverage Analysis - /api/v2/csm/onboarding/coverage_analysis/hosts_and_containers: + - Agentless Scanning + x-codegen-request-body-name: body + x-permission: + operator: OR + permissions: + - security_monitoring_findings_write + /api/v2/agentless_scanning/ondemand/aws/{task_id}: get: - description: |- - Get the CSM Coverage Analysis of your Hosts and Containers. - This is calculated based on the number of agents running on your Hosts - and Containers with CSM feature(s) enabled. - operationId: GetCSMHostsAndContainersCoverageAnalysis + description: Fetch the data of a specific on demand task. + operationId: GetAwsOnDemandTask + parameters: + - $ref: '#/components/parameters/OnDemandTaskId' responses: '200': content: application/json: + examples: + default: + value: + data: + attributes: + arn: arn:aws:ec2:us-east-1:123456789012:instance/i-0eabb50529b67a1ba + assigned_at: '2024-01-01T00:00:00+00:00' + created_at: '2024-01-01T00:00:00+00:00' + status: ASSIGNED + id: abc-123 + type: aws_resource schema: - $ref: >- - #/components/schemas/CsmHostsAndContainersCoverageAnalysisResponse - description: OK + $ref: '#/components/schemas/AwsOnDemandResponse' + description: OK. + '400': + $ref: '#/components/responses/BadRequestResponse' '403': $ref: '#/components/responses/NotAuthorizedResponse' + '404': + $ref: '#/components/responses/NotFoundResponse' '429': $ref: '#/components/responses/TooManyRequestsResponse' - summary: Get the CSM Hosts and Containers Coverage Analysis + security: + - apiKeyAuth: [] + appKeyAuth: [] + - AuthZ: + - security_monitoring_findings_read + summary: Get AWS on demand task tags: - - CSM Coverage Analysis - /api/v2/csm/onboarding/coverage_analysis/serverless: - get: - description: >- - Get the CSM Coverage Analysis of your Serverless Resources. - - This is calculated based on the number of agents running on your - Serverless - - Resources with CSM feature(s) enabled. - operationId: GetCSMServerlessCoverageAnalysis + - Agentless Scanning + x-permission: + operator: OR + permissions: + - security_monitoring_findings_read + /api/v2/cloud_security_management/custom_frameworks: + post: + description: Create a custom framework. + operationId: CreateCustomFramework + requestBody: + content: + application/json: + examples: + default: + value: + data: + attributes: + handle: sec2 + name: security-framework + requirements: + - controls: + - name: control + rules_id: + - def-000-be9 + name: criteria + version: '2' + type: custom_framework + schema: + $ref: '#/components/schemas/CreateCustomFrameworkRequest' + required: true responses: '200': content: application/json: + examples: + default: + value: + data: + attributes: + handle: sec2 + version: '2' + id: sec2-2 + type: custom_framework schema: - $ref: '#/components/schemas/CsmServerlessCoverageAnalysisResponse' + $ref: '#/components/schemas/CreateCustomFrameworkResponse' description: OK - '403': - $ref: '#/components/responses/NotAuthorizedResponse' + '400': + $ref: '#/components/responses/BadRequestResponse' + '409': + $ref: '#/components/responses/ConflictResponse' '429': $ref: '#/components/responses/TooManyRequestsResponse' - summary: Get the CSM Serverless Coverage Analysis + '500': + $ref: '#/components/responses/BadRequestResponse' + security: + - apiKeyAuth: [] + appKeyAuth: [] + - AuthZ: + - security_monitoring_rules_read + - security_monitoring_rules_write + summary: Create a custom framework tags: - - CSM Coverage Analysis - /api/v2/csm/onboarding/serverless/agents: - get: - description: >- - Get the list of all CSM Serverless Agents running on your hosts and - containers. - operationId: ListAllCSMServerlessAgents + - Security Monitoring + x-codegen-request-body-name: body + x-permission: + operator: AND + permissions: + - security_monitoring_rules_read + - security_monitoring_rules_write + /api/v2/cloud_security_management/custom_frameworks/{handle}/{version}: + delete: + description: Delete a custom framework. + operationId: DeleteCustomFramework parameters: - - description: The page index for pagination (zero-based). - in: query - name: page - required: false - schema: - example: 2 - format: int32 - maximum: 1000000 - minimum: 0 - type: integer - - description: The number of items to include in a single page. - in: query - name: size - required: false - schema: - example: 12 - format: int32 - maximum: 100 - minimum: 0 - type: integer - - description: >- - A search query string to filter results (for example, - `hostname:COMP-T2H4J27423`). - in: query - name: query - required: false - schema: - example: hostname:COMP-T2H4J27423 - type: string - - description: >- - The sort direction for results. Use `asc` for ascending or `desc` - for descending. - in: query - name: order_direction - required: false - schema: - $ref: '#/components/schemas/OrderDirection' + - $ref: '#/components/parameters/CustomFrameworkHandle' + - $ref: '#/components/parameters/CustomFrameworkVersion' responses: '200': content: application/json: + examples: + default: + value: + data: + attributes: + handle: sec2 + name: security-framework + version: '2' + id: sec2-2 + type: custom_framework schema: - $ref: '#/components/schemas/CsmAgentsResponse' + $ref: '#/components/schemas/DeleteCustomFrameworkResponse' description: OK - '403': - $ref: '#/components/responses/NotAuthorizedResponse' + '400': + $ref: '#/components/responses/BadRequestResponse' '429': $ref: '#/components/responses/TooManyRequestsResponse' - summary: Get all CSM Serverless Agents + '500': + $ref: '#/components/responses/BadRequestResponse' + security: + - apiKeyAuth: [] + appKeyAuth: [] + - AuthZ: + - security_monitoring_rules_read + - security_monitoring_rules_write + summary: Delete a custom framework tags: - - CSM Agents - /api/v2/posture_management/findings: + - Security Monitoring + x-codegen-request-body-name: body + x-permission: + operator: AND + permissions: + - security_monitoring_rules_read + - security_monitoring_rules_write get: - description: > - Get a list of findings. These include both misconfigurations and - identity risks. - - - **Note**: To filter and return only identity risks, add the following - query parameter: `?filter[tags]=dd_rule_type:ciem` - - - ### Filtering - - - Filters can be applied by appending query parameters to the URL. - - - Using a single filter: `?filter[attribute_key]=attribute_value` - - Chaining filters: `?filter[attribute_key]=attribute_value&filter[attribute_key]=attribute_value...` - - Filtering on tags: `?filter[tags]=tag_key:tag_value&filter[tags]=tag_key_2:tag_value_2` - - Here, `attribute_key` can be any of the filter keys described further - below. - - - Query parameters of type `integer` support comparison operators (`>`, - `>=`, `<`, `<=`). This is particularly useful when filtering by - `evaluation_changed_at` or `resource_discovery_timestamp`. For example: - `?filter[evaluation_changed_at]=>20123123121`. - - - You can also use the negation operator on strings. For example, use - `filter[resource_type]=-aws*` to filter for any non-AWS resources. - - - The operator must come after the equal sign. For example, to filter with - the `>=` operator, add the operator after the equal sign: - `filter[evaluation_changed_at]=>=1678809373257`. - - - Query parameters must be only among the documented ones and with values - of correct types. Duplicated query parameters (e.g. - `filter[status]=low&filter[status]=info`) are not allowed. - - - ### Additional extension fields - - - Additional extension fields are available for some findings. - - - The data is available when you include the query parameter - `?detailed_findings=true` in the request. - - - The following fields are available for findings: - - - `external_id`: The resource external ID related to the finding. - - - `description`: The description and remediation steps for the finding. - - - `datadog_link`: The Datadog relative link for the finding. - - - `ip_addresses`: The list of private IP addresses for the resource - related to the finding. - - - ### Response - - - The response includes an array of finding objects, pagination metadata, - and a count of items that match the query. - - - Each finding object contains the following: - - - - The finding ID that can be used in a `GetFinding` request to retrieve - the full finding details. - - - Core attributes, including status, evaluation, high-level resource - details, muted state, and rule details. - - - `evaluation_changed_at` and `resource_discovery_date` time stamps. - - - An array of associated tags. - operationId: ListFindings + description: Get a custom framework. + operationId: GetCustomFramework parameters: - - description: Limit the number of findings returned. Must be <= 1000. - example: 50 - in: query - name: page[limit] - required: false - schema: - default: 100 - format: int64 - maximum: 1000 - minimum: 1 - type: integer - - description: Return findings for a given snapshot of time (Unix ms). - example: 1678721573794 - in: query - name: snapshot_timestamp - required: false - schema: - format: int64 - minimum: 1 - type: integer - - description: Return the next page of findings pointed to by the cursor. - example: >- - eyJhZnRlciI6IkFRQUFBWWJiaEJXQS1OY1dqUUFBQUFCQldXSmlhRUpYUVVGQlJFSktkbTlDTUdaWFRVbDNRVUUiLCJ2YWx1ZXMiOlsiY3JpdGljYWwiXX0= - in: query - name: page[cursor] - required: false - schema: - type: string - - description: Return findings that have these associated tags (repeatable). - example: >- - filter[tags]=cloud_provider:aws&filter[tags]=aws_account:999999999999 - in: query - name: filter[tags] - required: false - schema: - type: string - - description: >- - Return findings that have changed from pass to fail or vice versa on - a specified date (Unix ms) or date range (using comparison - operators). - example: '>=1678721573794' - in: query - name: filter[evaluation_changed_at] - required: false - schema: - type: string - - description: >- - Set to `true` to return findings that are muted. Set to `false` to - return unmuted findings. - in: query - name: filter[muted] - required: false - schema: - type: boolean - - description: Return findings for the specified rule ID. - in: query - name: filter[rule_id] - required: false - schema: - type: string - - description: Return findings for the specified rule. - in: query - name: filter[rule_name] - required: false - schema: - type: string - - description: Return only findings for the specified resource type. - in: query - name: filter[resource_type] - required: false - schema: - type: string - - description: Return only findings for the specified resource id. - in: query - name: filter[@resource_id] - required: false - schema: - type: string - - description: >- - Return findings that were found on a specified date (Unix ms) or - date range (using comparison operators). - example: '>=1678721573794' - in: query - name: filter[discovery_timestamp] - required: false - schema: - type: string - - description: Return only `pass` or `fail` findings. - example: pass - in: query - name: filter[evaluation] - required: false - schema: - $ref: '#/components/schemas/FindingEvaluation' - - description: Return only findings with the specified status. - example: critical - in: query - name: filter[status] - required: false - schema: - $ref: '#/components/schemas/FindingStatus' - - description: >- - Return findings that match the selected vulnerability types - (repeatable). - example: - - misconfiguration - explode: true - in: query - name: filter[vulnerability_type] - required: false - schema: - items: - $ref: '#/components/schemas/FindingVulnerabilityType' - type: array - - description: Return additional fields for some findings. - example: - - true - in: query - name: detailed_findings - required: false - schema: - type: boolean + - $ref: '#/components/parameters/CustomFrameworkHandle' + - $ref: '#/components/parameters/CustomFrameworkVersion' responses: '200': content: application/json: + examples: + default: + value: + data: + attributes: + handle: sec2 + name: security-framework + requirements: + - controls: + - name: control + rules_id: + - def-000-be9 + name: criteria + version: '2' + id: sec2-2 + type: custom_framework schema: - $ref: '#/components/schemas/ListFindingsResponse' + $ref: '#/components/schemas/GetCustomFrameworkResponse' description: OK '400': - $ref: '#/components/responses/FindingsBadRequestResponse' - '403': - $ref: '#/components/responses/FindingsForbiddenResponse' - '404': - $ref: '#/components/responses/FindingsNotFoundResponse' + $ref: '#/components/responses/BadRequestResponse' '429': - $ref: '#/components/responses/FindingsTooManyRequestsResponse' + $ref: '#/components/responses/TooManyRequestsResponse' + '500': + $ref: '#/components/responses/BadRequestResponse' security: - apiKeyAuth: [] appKeyAuth: [] - AuthZ: - - security_monitoring_findings_read - summary: List findings + - security_monitoring_rules_read + summary: Get a custom framework tags: - Security Monitoring - x-pagination: - cursorParam: page[cursor] - cursorPath: meta.page.cursor - limitParam: page[limit] - resultsPath: data - x-unstable: >- - **Note**: This endpoint is in public beta. - - If you have any feedback, contact [Datadog - support](https://docs.datadoghq.com/help/). - patch: - description: Mute or unmute findings. - operationId: MuteFindings + x-codegen-request-body-name: body + x-permission: + operator: OR + permissions: + - security_monitoring_rules_read + put: + description: Update a custom framework. + operationId: UpdateCustomFramework + parameters: + - $ref: '#/components/parameters/CustomFrameworkHandle' + - $ref: '#/components/parameters/CustomFrameworkVersion' requestBody: content: application/json: + examples: + default: + value: + data: + attributes: + handle: sec2 + name: security-framework + requirements: + - controls: + - name: control + rules_id: + - def-000-be9 + name: criteria + version: '2' + type: custom_framework schema: - $ref: '#/components/schemas/BulkMuteFindingsRequest' - description: > - ### Attributes - - - All findings are updated with the same attributes. The request body - must include at least two attributes: `muted` and `reason`. - - The allowed reasons depend on whether the finding is being muted or - unmuted: - - To mute a finding: `PENDING_FIX`, `FALSE_POSITIVE`, `ACCEPTED_RISK`, `OTHER`. - - To unmute a finding : `NO_PENDING_FIX`, `HUMAN_ERROR`, `NO_LONGER_ACCEPTED_RISK`, `OTHER`. - - ### Meta - - - The request body must include a list of the finding IDs to be updated. + $ref: '#/components/schemas/UpdateCustomFrameworkRequest' required: true responses: '200': content: application/json: + examples: + default: + value: + data: + attributes: + handle: sec2 + version: '2' + id: sec2-2 + type: custom_framework schema: - $ref: '#/components/schemas/BulkMuteFindingsResponse' + $ref: '#/components/schemas/UpdateCustomFrameworkResponse' description: OK '400': - $ref: '#/components/responses/FindingsBadRequestResponse' - '403': - $ref: '#/components/responses/FindingsForbiddenResponse' - '404': - $ref: '#/components/responses/FindingsNotFoundResponse' - '422': - content: - application/json: - schema: - $ref: '#/components/schemas/JSONAPIErrorResponse' - description: >- - Invalid Request: The server understands the request syntax but - cannot process it due to invalid data. + $ref: '#/components/responses/BadRequestResponse' '429': - $ref: '#/components/responses/FindingsTooManyRequestsResponse' + $ref: '#/components/responses/TooManyRequestsResponse' + '500': + $ref: '#/components/responses/BadRequestResponse' security: - apiKeyAuth: [] appKeyAuth: [] - summary: Mute or unmute a batch of findings + - AuthZ: + - security_monitoring_rules_read + - security_monitoring_rules_write + summary: Update a custom framework tags: - Security Monitoring x-codegen-request-body-name: body - x-unstable: >- - **Note**: This endpoint is in public beta. - - If you have any feedback, contact [Datadog - support](https://docs.datadoghq.com/help/). - /api/v2/posture_management/findings/{finding_id}: + x-permission: + operator: AND + permissions: + - security_monitoring_rules_read + - security_monitoring_rules_write + /api/v2/cloud_security_management/resource_filters: get: - description: Returns a single finding with message and resource configuration. - operationId: GetFinding + description: List resource filters. + operationId: GetResourceEvaluationFilters parameters: - - description: The ID of the finding. - in: path - name: finding_id - required: true - schema: - type: string - - description: Return the finding for a given snapshot of time (Unix ms). - example: 1678721573794 - in: query - name: snapshot_timestamp - required: false - schema: - format: int64 - minimum: 1 - type: integer + - $ref: '#/components/parameters/ResourceFilterProvider' + - $ref: '#/components/parameters/ResourceFilterAccountID' + - $ref: '#/components/parameters/SkipCache' responses: '200': content: application/json: + examples: + default: + value: + data: + attributes: + cloud_provider: + aws: + '123456789': + - environment:production + id: csm_resource_filter + type: csm_resource_filter schema: - $ref: '#/components/schemas/GetFindingResponse' + $ref: '#/components/schemas/GetResourceEvaluationFiltersResponse' description: OK '400': - $ref: '#/components/responses/FindingsBadRequestResponse' + $ref: '#/components/responses/BadRequestResponse' '403': - $ref: '#/components/responses/FindingsForbiddenResponse' - '404': - $ref: '#/components/responses/FindingsNotFoundResponse' + $ref: '#/components/responses/NotAuthorizedResponse' '429': - $ref: '#/components/responses/FindingsTooManyRequestsResponse' + $ref: '#/components/responses/TooManyRequestsResponse' security: - apiKeyAuth: [] appKeyAuth: [] - AuthZ: - - security_monitoring_findings_read - summary: Get a finding + - security_monitoring_filters_read + summary: List resource filters tags: - Security Monitoring - x-unstable: >- - **Note**: This endpoint is in public beta. - - If you have any feedback, contact [Datadog - support](https://docs.datadoghq.com/help/). - /api/v2/security/assets: - get: - description: > - Get a list of vulnerable assets. - - - ### Pagination - - - Please review the [Pagination section for the "List - Vulnerabilities"] endpoint. - - - ### Filtering - - - Please review the [Filtering section for the "List - Vulnerabilities"] endpoint. - - - ### Metadata - - - Please review the [Metadata section for the "List - Vulnerabilities"] endpoint. - operationId: ListVulnerableAssets - parameters: - - description: >- - Its value must come from the `links` section of the response of the - first request. Do not manually edit it. - example: >- - b82cef018aab81ed1d4bb4xb35xxfc065da7efa685fbcecdbd338f3015e3afabbbfa3a911b4984_721ee28a-zecb-4e45-9960-c42065b574f4 - in: query - name: page[token] - required: false - schema: - type: string - - description: >- - The page number to be retrieved. It should be equal or greater than - `1` - example: 1 - in: query - name: page[number] - required: false - schema: - format: int64 - minimum: 1 - type: integer - - description: Filter by name. - example: datadog-agent - in: query - name: filter[name] - required: false - schema: - type: string - - description: Filter by type. - example: Host - in: query - name: filter[type] - required: false - schema: - $ref: '#/components/schemas/AssetType' - - description: >- - Filter by the first version of the asset since it has been - vulnerable. - example: v1.15.1 - in: query - name: filter[version.first] - required: false - schema: - type: string - - description: Filter by the last detected version of the asset. - example: v1.15.1 - in: query - name: filter[version.last] - required: false - schema: - type: string - - description: Filter by the repository url associated to the asset. - example: github.com/DataDog/datadog-agent.git - in: query - name: filter[repository_url] - required: false - schema: - type: string - - description: Filter whether the asset is in production or not. - example: false - in: query - name: filter[risks.in_production] - required: false - schema: - type: boolean - - description: Filter whether the asset (Service) is under attack or not. - example: false - in: query - name: filter[risks.under_attack] - required: false - schema: - type: boolean - - description: Filter whether the asset (Host) is publicly accessible or not. - example: false - in: query - name: filter[risks.is_publicly_accessible] - required: false - schema: - type: boolean - - description: Filter whether the asset (Host) has privileged access or not. - example: false - in: query - name: filter[risks.has_privileged_access] - required: false - schema: - type: boolean - - description: >- - Filter whether the asset (Host) has access to sensitive data or - not. - example: false - in: query - name: filter[risks.has_access_to_sensitive_data] - required: false - schema: - type: boolean - - description: Filter by environment. - example: staging - in: query - name: filter[environments] - required: false - schema: - type: string - - description: Filter by teams. - example: compute - in: query - name: filter[teams] - required: false - schema: - type: string - - description: Filter by architecture. - example: arm64 - in: query - name: filter[arch] - required: false - schema: - type: string - - description: Filter by operating system name. - example: ubuntu - in: query - name: filter[operating_system.name] - required: false - schema: - type: string - - description: Filter by operating system version. - example: '24.04' - in: query - name: filter[operating_system.version] - required: false - schema: - type: string + x-permission: + operator: OR + permissions: + - security_monitoring_filters_read + put: + description: Update resource filters. + operationId: UpdateResourceEvaluationFilters + requestBody: + content: + application/json: + examples: + default: + value: + data: + attributes: + aws: + '123456789': + - environment:production + - team:devops + azure: + sub-001: + - app:frontend + gcp: + project-abc: + - region:us-central1 + id: csm_resource_filter + type: csm_resource_filter + schema: + $ref: '#/components/schemas/UpdateResourceEvaluationFiltersRequest' + required: true responses: - '200': + '201': content: application/json: + examples: + default: + value: + data: + attributes: + cloud_provider: + aws: + '123456789': + - environment:production + id: csm_resource_filter + type: csm_resource_filter schema: - $ref: '#/components/schemas/ListVulnerableAssetsResponse' + $ref: '#/components/schemas/UpdateResourceEvaluationFiltersResponse' description: OK '400': - content: - application/json: - schema: - $ref: '#/components/schemas/JSONAPIErrorResponse' - description: >- - Bad request: The server cannot process the request due to invalid - syntax in the request. + $ref: '#/components/responses/BadRequestResponse' '403': - content: - application/json: - schema: - $ref: '#/components/schemas/JSONAPIErrorResponse' - description: 'Forbidden: Access denied' - '404': - content: - application/json: - schema: - $ref: '#/components/schemas/JSONAPIErrorResponse' - description: 'Not found: There is no request associated with the provided token.' + $ref: '#/components/responses/NotAuthorizedResponse' '429': $ref: '#/components/responses/TooManyRequestsResponse' security: - apiKeyAuth: [] appKeyAuth: [] - summary: List vulnerable assets + - AuthZ: + - security_monitoring_filters_write + summary: Update resource filters tags: - Security Monitoring - x-unstable: >- - **Note**: This endpoint is a private preview. - - If you are interested in accessing this API, [fill out this - form](https://forms.gle/kMYC1sDr6WDUBDsx9). - /api/v2/security/cloud_workload/policy/download: + x-codegen-request-body-name: body + x-permission: + operator: OR + permissions: + - security_monitoring_filters_write + /api/v2/compliance_findings/rule_based_view: get: - description: >- - The download endpoint generates a Workload Protection policy file from - your currently active - - Workload Protection agent rules, and downloads them as a `.policy` file. - This file can then be deployed to - - your agents to update the policy running in your environment. - + deprecated: true + description: |- + **This endpoint is deprecated.** Use the [Security Monitoring - Search Security Findings](https://docs.datadoghq.com/api/latest/security-monitoring/search-security-findings/) endpoint instead. - **Note**: This endpoint should only be used for the Government (US1-FED) - site. - operationId: DownloadCloudWorkloadPolicyFile + Get an aggregated view of compliance rules with their pass, fail, and muted finding counts. + Supports filtering by compliance framework, framework version, and additional query filters. + operationId: GetRuleBasedView + parameters: + - $ref: '#/components/parameters/RuleBasedViewTo' + - $ref: '#/components/parameters/RuleBasedViewFramework' + - $ref: '#/components/parameters/RuleBasedViewVersion' + - $ref: '#/components/parameters/RuleBasedViewQueryFindingsWithoutFrameworkVersion' + - $ref: '#/components/parameters/RuleBasedViewIncludeRulesWithoutFindings' + - $ref: '#/components/parameters/RuleBasedViewIsCustom' + - $ref: '#/components/parameters/RuleBasedViewQuery' responses: '200': content: - application/yaml: + application/json: + examples: + default: + value: + data: + attributes: + count: 1 + rules: + - compliance_frameworks: + - control: 164.308-a-4-i + framework: hipaa + is_default: true + message: '' + requirement: Information-Access-Management + version: '1' + enabled: true + id: qjx-udx-xo8 + name: IAM roles should not allow untrusted GitHub Actions to assume them + resourceAttributes: [] + resourceCategory: identity + resourceType: aws_iam_role + stats: + fail: 0 + muted: 0 + pass: 3 + status: critical + tags: + - security:compliance + - cloud_provider:aws + - framework:hipaa + type: cloud_configuration + id: JSONAPI_USELESS_ID + type: rule_based_view schema: - format: binary - type: string + $ref: '#/components/schemas/RuleBasedViewResponse' description: OK + '400': + content: + application/json: + schema: + $ref: '#/components/schemas/JSONAPIErrorResponse' + description: Bad Request '403': $ref: '#/components/responses/NotAuthorizedResponse' '429': $ref: '#/components/responses/TooManyRequestsResponse' - summary: Download the Workload Protection policy (US1-FED) + '503': + content: + application/json: + schema: + $ref: '#/components/schemas/JSONAPIErrorResponse' + description: Service Unavailable + security: + - apiKeyAuth: [] + appKeyAuth: [] + - AuthZ: + - security_monitoring_findings_read + summary: Get the rule-based view of compliance findings tags: - - CSM Threats + - Compliance x-permission: operator: OR permissions: - - security_monitoring_cws_agent_rules_read - /api/v2/security/sboms: + - security_monitoring_findings_read + x-sunset: '2027-06-26' + x-unstable: |- + **Note**: This endpoint is in Preview and subject to change. + If you have any feedback, contact [Datadog support](https://docs.datadoghq.com/help/). + /api/v2/csm/onboarding/agents: get: - description: >- - Get a list of assets SBOMs for an organization. - - - ### Pagination - - - Please review the [Pagination section] for the "List - Vulnerabilities" endpoint. - - - ### Filtering - - - Please review the [Filtering section] for the "List - Vulnerabilities" endpoint. - - - ### Metadata - - - Please review the [Metadata section] for the "List - Vulnerabilities" endpoint. - operationId: ListAssetsSBOMs + description: Get the list of all CSM Agents running on your hosts and containers. + operationId: ListAllCSMAgents parameters: - - description: >- - Its value must come from the `links` section of the response of the - first request. Do not manually edit it. - example: >- - b82cef018aab81ed1d4bb4xb35xxfc065da7efa685fbcecdbd338f3015e3afabbbfa3a911b4984_721ee28a-zecb-4e45-9960-c42065b574f4 + - description: The page index for pagination (zero-based). in: query - name: page[token] + name: page required: false schema: - type: string - - description: >- - The page number to be retrieved. It should be equal to or greater - than 1. - example: 1 + example: 2 + format: int32 + maximum: 1000000 + minimum: 0 + type: integer + - description: The number of items to include in a single page. in: query - name: page[number] + name: size required: false schema: - format: int64 - minimum: 1 + example: 12 + format: int32 + maximum: 100 + minimum: 0 type: integer - - description: The type of the assets for the SBOM request. - example: Repository + - description: A search query string to filter results (for example, `hostname:COMP-T2H4J27423`). in: query - name: filter[asset_type] + name: query required: false schema: - $ref: '#/components/schemas/AssetType' - - description: The name of the asset for the SBOM request. - example: github.com/datadog/datadog-agent + example: hostname:COMP-T2H4J27423 + type: string + - description: The sort direction for results. Use `asc` for ascending or `desc` for descending. in: query - name: filter[asset_name] + name: order_direction required: false schema: - type: string - - description: The name of the component that is a dependency of an asset. - example: opentelemetry-api + $ref: '#/components/schemas/OrderDirection' + responses: + '200': + content: + application/json: + examples: + default: + value: + data: + - attributes: + agent_version: 7.50.0 + hostname: example-host + os: linux + id: abc-123 + type: datadog_agent + meta: + page_index: 0 + page_size: 10 + total_filtered: 1 + schema: + $ref: '#/components/schemas/CsmAgentsResponse' + description: OK + '403': + $ref: '#/components/responses/NotAuthorizedResponse' + '429': + $ref: '#/components/responses/TooManyRequestsResponse' + summary: Get all CSM Agents + tags: + - CSM Agents + /api/v2/csm/onboarding/coverage_analysis/cloud_accounts: + get: + description: |- + Get the CSM Coverage Analysis of your Cloud Accounts. + This is calculated based on the number of your Cloud Accounts that are + scanned for security issues. + operationId: GetCSMCloudAccountsCoverageAnalysis + responses: + '200': + content: + application/json: + examples: + default: + value: + data: + attributes: + org_id: 123 + total_coverage: + configured_resources_count: 8 + coverage: 0.8 + partially_configured_resources_count: 0 + total_resources_count: 10 + id: abc-123 + type: get_cloud_accounts_coverage_analysis_response_public_v0 + schema: + $ref: '#/components/schemas/CsmCloudAccountsCoverageAnalysisResponse' + description: OK + '403': + $ref: '#/components/responses/NotAuthorizedResponse' + '429': + $ref: '#/components/responses/TooManyRequestsResponse' + summary: Get the CSM Cloud Accounts Coverage Analysis + tags: + - CSM Coverage Analysis + /api/v2/csm/onboarding/coverage_analysis/hosts_and_containers: + get: + description: |- + Get the CSM Coverage Analysis of your Hosts and Containers. + This is calculated based on the number of agents running on your Hosts + and Containers with CSM feature(s) enabled. + operationId: GetCSMHostsAndContainersCoverageAnalysis + responses: + '200': + content: + application/json: + examples: + default: + value: + data: + attributes: + org_id: 123 + total_coverage: + configured_resources_count: 8 + coverage: 0.8 + partially_configured_resources_count: 0 + total_resources_count: 10 + id: abc-123 + type: get_hosts_and_containers_coverage_analysis_response_public_v0 + schema: + $ref: '#/components/schemas/CsmHostsAndContainersCoverageAnalysisResponse' + description: OK + '403': + $ref: '#/components/responses/NotAuthorizedResponse' + '429': + $ref: '#/components/responses/TooManyRequestsResponse' + summary: Get the CSM Hosts and Containers Coverage Analysis + tags: + - CSM Coverage Analysis + /api/v2/csm/onboarding/coverage_analysis/serverless: + get: + description: |- + Get the CSM Coverage Analysis of your Serverless Resources. + This is calculated based on the number of agents running on your Serverless + Resources with CSM feature(s) enabled. + operationId: GetCSMServerlessCoverageAnalysis + responses: + '200': + content: + application/json: + examples: + default: + value: + data: + attributes: + org_id: 123 + total_coverage: + configured_resources_count: 8 + coverage: 0.8 + partially_configured_resources_count: 0 + total_resources_count: 10 + id: abc-123 + type: get_serverless_coverage_analysis_response_public_v0 + schema: + $ref: '#/components/schemas/CsmServerlessCoverageAnalysisResponse' + description: OK + '403': + $ref: '#/components/responses/NotAuthorizedResponse' + '429': + $ref: '#/components/responses/TooManyRequestsResponse' + summary: Get the CSM Serverless Coverage Analysis + tags: + - CSM Coverage Analysis + /api/v2/csm/onboarding/serverless/agents: + get: + description: Get the list of all CSM Serverless Agents running on your hosts and containers. + operationId: ListAllCSMServerlessAgents + parameters: + - description: The page index for pagination (zero-based). in: query - name: filter[package_name] + name: page required: false schema: - type: string - - description: The version of the component that is a dependency of an asset. - example: 1.33.1 + example: 2 + format: int32 + maximum: 1000000 + minimum: 0 + type: integer + - description: The number of items to include in a single page. in: query - name: filter[package_version] + name: size required: false schema: - type: string - - description: >- - The software license name of the component that is a dependency of - an asset. - example: Apache-2.0 + example: 12 + format: int32 + maximum: 100 + minimum: 0 + type: integer + - description: A search query string to filter results (for example, `hostname:COMP-T2H4J27423`). in: query - name: filter[license_name] + name: query required: false schema: + example: hostname:COMP-T2H4J27423 type: string - - description: >- - The software license type of the component that is a dependency of - an asset. - example: network_strong_copyleft + - description: The sort direction for results. Use `asc` for ascending or `desc` for descending. in: query - name: filter[license_type] + name: order_direction required: false schema: - $ref: '#/components/schemas/SBOMComponentLicenseType' + $ref: '#/components/schemas/OrderDirection' responses: '200': content: application/json: + examples: + default: + value: + data: + - attributes: + agent_version: 7.50.0 + hostname: example-host + os: linux + id: abc-123 + type: datadog_agent + meta: + page_index: 0 + page_size: 10 + total_filtered: 1 schema: - $ref: '#/components/schemas/ListAssetsSBOMsResponse' + $ref: '#/components/schemas/CsmAgentsResponse' + description: OK + '403': + $ref: '#/components/responses/NotAuthorizedResponse' + '429': + $ref: '#/components/responses/TooManyRequestsResponse' + summary: Get all CSM Serverless Agents + tags: + - CSM Agents + /api/v2/csm/ownership/settings: + get: + description: Get ownership settings for the org. When settings are unset, the API returns the default opt-out configuration with `auto_tag` set to `true` and `confidence_level` set to `high`. + operationId: GetOwnershipSettings + responses: + '200': + content: + application/json: + examples: + default: + value: + data: + attributes: + auto_tag: true + confidence_level: high + version: 1 + id: settings + type: ownership_settings + schema: + $ref: '#/components/schemas/OwnershipSettingsResponse' + description: OK + '401': + content: + application/json: + schema: + $ref: '#/components/schemas/JSONAPIErrorResponse' + description: Unauthorized + '429': + $ref: '#/components/responses/TooManyRequestsResponse' + summary: Get ownership settings for the org + tags: + - CSM Ownership + x-unstable: |- + **Note**: This endpoint is in Preview and may be subject to change. + If you have any feedback, contact [Datadog support](https://docs.datadoghq.com/help/). + post: + description: Update ownership settings for the org. + operationId: PostOwnershipSettings + requestBody: + content: + application/json: + examples: + default: + value: + data: + attributes: + auto_tag: true + confidence_level: high + type: ownership_settings + schema: + $ref: '#/components/schemas/OwnershipSettingsRequest' + required: true + responses: + '200': + content: + application/json: + examples: + default: + value: + data: + attributes: + auto_tag: true + confidence_level: high + version: 1 + id: settings + type: ownership_settings + schema: + $ref: '#/components/schemas/OwnershipSettingsResponse' description: OK '400': content: application/json: schema: $ref: '#/components/schemas/JSONAPIErrorResponse' - description: >- - Bad request: The server cannot process the request due to invalid - syntax in the request. - '403': + description: Bad Request + '401': content: application/json: schema: $ref: '#/components/schemas/JSONAPIErrorResponse' - description: 'Forbidden: Access denied' - '404': + description: Unauthorized + '429': + $ref: '#/components/responses/TooManyRequestsResponse' + summary: Update ownership settings for the org + tags: + - CSM Ownership + x-unstable: |- + **Note**: This endpoint is in Preview and may be subject to change. + If you have any feedback, contact [Datadog support](https://docs.datadoghq.com/help/). + /api/v2/csm/ownership/settings/untagged: + get: + description: Count findings with no team tag, grouped by ownership confidence level. + operationId: GetOwnershipUntaggedFindings + responses: + '200': + content: + application/json: + examples: + default: + value: + data: + attributes: + high_confidence: 30 + low_confidence: 42 + medium_confidence: 70 + total: 142 + id: untagged + type: ownership_untagged_findings + schema: + $ref: '#/components/schemas/OwnershipUntaggedFindingsResponse' + description: OK + '401': content: application/json: schema: $ref: '#/components/schemas/JSONAPIErrorResponse' - description: 'Not found: asset not found' + description: Unauthorized '429': $ref: '#/components/responses/TooManyRequestsResponse' - security: - - apiKeyAuth: [] - appKeyAuth: [] - summary: List assets SBOMs + summary: Count untagged findings by ownership confidence tags: - - Security Monitoring - x-unstable: >- - **Note**: This endpoint is a private preview. - - If you are interested in accessing this API, [fill out this - form](https://forms.gle/kMYC1sDr6WDUBDsx9). - /api/v2/security/sboms/{asset_type}: + - CSM Ownership + x-unstable: |- + **Note**: This endpoint is in Preview and may be subject to change. + If you have any feedback, contact [Datadog support](https://docs.datadoghq.com/help/). + /api/v2/csm/ownership/{resource_id}: get: - description: | - Get a single SBOM related to an asset by its type and name. - operationId: GetSBOM + description: Get all current ownership inferences for a resource, one per owner type (`user`, `team`, `service`, `unknown`). + operationId: ListOwnershipInferences parameters: - - description: The type of the asset for the SBOM request. - example: Repository + - description: The identifier of the resource to retrieve ownership inferences for. in: path - name: asset_type - required: true - schema: - $ref: '#/components/schemas/AssetType' - - description: The name of the asset for the SBOM request. - example: github.com/datadog/datadog-agent - in: query - name: filter[asset_name] + name: resource_id required: true schema: - type: string - - description: >- - The container image `repo_digest` for the SBOM request. When the - requested asset type is 'Image', this filter is mandatory. - example: >- - sha256:0ae7da091191787229d321e3638e39c319a97d6e20f927d465b519d699215bf7 - in: query - name: filter[repo_digest] - required: false - schema: + example: test-resource type: string responses: '200': content: application/json: + examples: + default: + value: + data: + attributes: + items: + - checksum: abc123 + confidence: '0.9500' + created_at: '2026-01-15T10:00:00Z' + evidence_versions: + - pipeline_id: p1 + explanation: High confidence match + id: test-resource:team + owner_type: team + primary_contact_ref: ref:handle/team-a + sources: [] + status: suggested + updated_at: '2026-01-15T10:00:00Z' + id: test-resource + type: ownership_inferences schema: - $ref: '#/components/schemas/GetSBOMResponse' + $ref: '#/components/schemas/OwnershipInferenceListResponse' description: OK '400': content: application/json: schema: $ref: '#/components/schemas/JSONAPIErrorResponse' - description: >- - Bad request: The server cannot process the request due to invalid - syntax in the request. - '403': + description: Bad Request + '401': content: application/json: schema: $ref: '#/components/schemas/JSONAPIErrorResponse' - description: 'Forbidden: Access denied' + description: Unauthorized '404': content: application/json: schema: $ref: '#/components/schemas/JSONAPIErrorResponse' - description: 'Not found: asset not found' + description: Not Found '429': $ref: '#/components/responses/TooManyRequestsResponse' - security: - - apiKeyAuth: [] - appKeyAuth: [] - summary: Get SBOM + summary: List ownership inferences for a resource tags: - - Security Monitoring - x-unstable: >- - **Note**: This endpoint is a private preview. - - If you are interested in accessing this API, [fill out this - form](https://forms.gle/kMYC1sDr6WDUBDsx9). - /api/v2/security/signals/notification_rules: + - CSM Ownership + x-unstable: |- + **Note**: This endpoint is in Preview and may be subject to change. + If you have any feedback, contact [Datadog support](https://docs.datadoghq.com/help/). + /api/v2/csm/ownership/{resource_id}/history: get: - description: Returns the list of notification rules for security signals. - operationId: GetSignalNotificationRules + description: List inference history entries for a resource across all owner types, ordered from most recent to oldest. Uses cursor-based pagination. + operationId: ListOwnershipHistory + parameters: + - description: The identifier of the resource to retrieve inference history for. + in: path + name: resource_id + required: true + schema: + example: res-1 + type: string + - description: An opaque, base64-encoded cursor token returned by a previous call in `pagination.next_cursor`. Omit to fetch the first page. + in: query + name: cursor + required: false + schema: + example: eyJpZCI6OTh9 + type: string + - description: The maximum number of history entries to return per page. + in: query + name: limit + required: false + schema: + default: 25 + example: 25 + format: int32 + maximum: 100 + minimum: 1 + type: integer responses: '200': - $ref: '#/components/responses/NotificationRulesList' - '403': - $ref: '#/components/responses/ForbiddenResponse' - '429': - $ref: '#/components/responses/TooManyRequestsResponse' - security: - - apiKeyAuth: [] - appKeyAuth: [] - summary: Get the list of signal-based notification rules - tags: - - Security Monitoring - x-permission: - operator: OR - permissions: - - security_monitoring_notification_profiles_read - post: - description: >- - Create a new notification rule for security signals and return the - created rule. - operationId: CreateSignalNotificationRule - requestBody: - content: - application/json: - schema: - $ref: '#/components/schemas/CreateNotificationRuleParameters' - description: > - The body of the create notification rule request is composed of the - rule type and the rule attributes: - - the rule name, the selectors, the notification targets, and the rule - enabled status. - required: true - responses: - '201': content: application/json: + examples: + default: + value: + data: + attributes: + items: + - checksum: '' + confidence: '0.9000' + created_at: '2026-01-15T10:00:00Z' + evidence_versions: null + explanation: '' + failed_at: null + failure_reason: null + id: 100 + owner_type: team + primary_contact_ref: ref:handle/team-a + resource_id: res-1 + retry_schedule: null + sources: [] + status: suggested + pagination: + has_more: false + next_cursor: null + id: res-1 + type: ownership_history schema: - $ref: '#/components/schemas/NotificationRuleResponse' - description: Successfully created the notification rule. + $ref: '#/components/schemas/OwnershipHistoryResponse' + description: OK '400': - $ref: '#/components/responses/BadRequestResponse' - '403': - $ref: '#/components/responses/ForbiddenResponse' + content: + application/json: + schema: + $ref: '#/components/schemas/JSONAPIErrorResponse' + description: Bad Request + '401': + content: + application/json: + schema: + $ref: '#/components/schemas/JSONAPIErrorResponse' + description: Unauthorized '429': $ref: '#/components/responses/TooManyRequestsResponse' - security: - - apiKeyAuth: [] - appKeyAuth: [] - summary: Create a new signal-based notification rule + summary: List ownership inference history for a resource tags: - - Security Monitoring - x-codegen-request-body-name: body - x-permission: - operator: OR - permissions: - - security_monitoring_notification_profiles_write - /api/v2/security/signals/notification_rules/{id}: - delete: - description: Delete a notification rule for security signals. - operationId: DeleteSignalNotificationRule + - CSM Ownership + x-unstable: |- + **Note**: This endpoint is in Preview and may be subject to change. + If you have any feedback, contact [Datadog support](https://docs.datadoghq.com/help/). + /api/v2/csm/ownership/{resource_id}/{owner_type}: + get: + description: |- + Get the current ownership inference for a resource for a specific owner type. + + This endpoint supports ETag-based caching. Pass the previously returned `ETag` value in the `If-None-Match` request header to receive a `304 Not Modified` response when the inference has not changed. + operationId: GetOwnershipInference parameters: - - description: ID of the notification rule. + - description: The identifier of the resource to retrieve the ownership inference for. in: path - name: id + name: resource_id required: true schema: + example: test-resource + type: string + - description: The owner type of the inference to retrieve. + in: path + name: owner_type + required: true + schema: + $ref: '#/components/schemas/OwnershipOwnerType' + - description: A previously returned `ETag` value. When supplied and the resource has not changed, the endpoint returns `304 Not Modified`. + in: header + name: If-None-Match + required: false + schema: + example: '"abc123"' type: string responses: - '204': - description: Rule successfully deleted. - '403': - $ref: '#/components/responses/ForbiddenResponse' + '200': + content: + application/json: + examples: + default: + value: + data: + attributes: + checksum: abc123 + confidence: '0.9500' + created_at: '2026-01-15T10:00:00Z' + evidence_versions: + - pipeline_id: p1 + explanation: High confidence match + owner_type: team + primary_contact_ref: ref:handle/team-a + sources: [] + status: suggested + updated_at: '2026-01-15T10:00:00Z' + id: test-resource:team + type: ownership_inference + schema: + $ref: '#/components/schemas/OwnershipInferenceResponse' + description: OK + headers: + Cache-Control: + description: The cache control directives applied to the response. + schema: + example: private, max-age=60 + type: string + ETag: + description: A strong validator that identifies the current state of the inference. + schema: + example: '"abc123"' + type: string + '400': + content: + application/json: + schema: + $ref: '#/components/schemas/JSONAPIErrorResponse' + description: Bad Request + '401': + content: + application/json: + schema: + $ref: '#/components/schemas/JSONAPIErrorResponse' + description: Unauthorized '404': - $ref: '#/components/responses/NotFoundResponse' + content: + application/json: + schema: + $ref: '#/components/schemas/JSONAPIErrorResponse' + description: Not Found '429': $ref: '#/components/responses/TooManyRequestsResponse' - security: - - apiKeyAuth: [] - appKeyAuth: [] - summary: Delete a signal-based notification rule + summary: Get an ownership inference by owner type tags: - - Security Monitoring - x-permission: - operator: OR - permissions: - - security_monitoring_notification_profiles_write + - CSM Ownership + x-unstable: |- + **Note**: This endpoint is in Preview and may be subject to change. + If you have any feedback, contact [Datadog support](https://docs.datadoghq.com/help/). + /api/v2/csm/ownership/{resource_id}/{owner_type}/evidence: get: - description: Get the details of a notification rule for security signals. - operationId: GetSignalNotificationRule + description: |- + Get the evidence versions backing the current ownership inference for a resource and owner type. + + This endpoint supports weak ETag caching. Pass the previously returned `ETag` value in the `If-None-Match` request header to receive a `304 Not Modified` response when the evidence has not changed. + operationId: GetOwnershipEvidence parameters: - - description: ID of the notification rule. + - description: The identifier of the resource to retrieve evidence for. in: path - name: id + name: resource_id + required: true + schema: + example: test-resource + type: string + - description: The owner type of the inference to retrieve evidence for. + in: path + name: owner_type required: true schema: + $ref: '#/components/schemas/OwnershipOwnerType' + - description: A previously returned weak `ETag` value. When supplied and the evidence has not changed, the endpoint returns `304 Not Modified`. + in: header + name: If-None-Match + required: false + schema: + example: W/"f2e126916327bda8" type: string responses: '200': content: application/json: + examples: + default: + value: + data: + attributes: + evidence_versions: + - pipeline_id: p1 + version: v3 + id: test-resource + type: ownership_evidence schema: - $ref: '#/components/schemas/NotificationRuleResponse' - description: Notification rule details. + $ref: '#/components/schemas/OwnershipEvidenceResponse' + description: OK + headers: + ETag: + description: A weak validator that identifies the current state of the evidence. + schema: + example: W/"f2e126916327bda8" + type: string '400': - $ref: '#/components/responses/BadRequestResponse' - '403': - $ref: '#/components/responses/ForbiddenResponse' + content: + application/json: + schema: + $ref: '#/components/schemas/JSONAPIErrorResponse' + description: Bad Request + '401': + content: + application/json: + schema: + $ref: '#/components/schemas/JSONAPIErrorResponse' + description: Unauthorized '404': - $ref: '#/components/responses/NotFoundResponse' + content: + application/json: + schema: + $ref: '#/components/schemas/JSONAPIErrorResponse' + description: Not Found '429': $ref: '#/components/responses/TooManyRequestsResponse' - security: - - apiKeyAuth: [] - appKeyAuth: [] - summary: Get details of a signal-based notification rule + summary: Get the evidence for an ownership inference tags: - - Security Monitoring - x-permission: - operator: OR - permissions: - - security_monitoring_notification_profiles_read - patch: - description: >- - Partially update the notification rule. All fields are optional; if a - field is not provided, it is not updated. - operationId: PatchSignalNotificationRule + - CSM Ownership + x-unstable: |- + **Note**: This endpoint is in Preview and may be subject to change. + If you have any feedback, contact [Datadog support](https://docs.datadoghq.com/help/). + /api/v2/csm/ownership/{resource_id}/{owner_type}/feedback: + post: + description: |- + Submit feedback on the current ownership inference for a resource and owner type. Valid actions are `confirm`, `reject`, `correct`, and `persist`. + + The request must include the current inference `checksum` in `inference_checksum`. If the checksum does not match the current inference state, the endpoint returns `409 Conflict`. + + When `action` is `correct`, `corrected_owner_handle` and `corrected_owner_type` are required. + operationId: CreateOwnershipFeedback parameters: - - description: ID of the notification rule. + - description: The identifier of the resource that the feedback applies to. in: path - name: id + name: resource_id required: true schema: + example: res-1 type: string + - description: The type of owner that the feedback applies to. + in: path + name: owner_type + required: true + schema: + $ref: '#/components/schemas/OwnershipOwnerType' requestBody: content: application/json: + examples: + default: + value: + data: + attributes: + action: confirm + actor_handle: user@example.com + actor_type: user + inference_checksum: abc123 + type: ownership_feedback schema: - $ref: '#/components/schemas/PatchNotificationRuleParameters' + $ref: '#/components/schemas/OwnershipFeedbackRequest' required: true responses: - '200': + '201': content: application/json: + examples: + default: + value: + data: + attributes: + action: confirm + checksum: abc123 + new_status: suggested + owner_type: team + previous_status: suggested + primary_contact_ref: ref:handle/team-a + updated_at: '2026-01-15T10:00:00Z' + id: res-1 + type: ownership_feedback_result schema: - $ref: '#/components/schemas/NotificationRuleResponse' - description: Notification rule successfully patched. + $ref: '#/components/schemas/OwnershipFeedbackResponse' + description: Created '400': - $ref: '#/components/responses/BadRequestResponse' - '403': - $ref: '#/components/responses/ForbiddenResponse' + content: + application/json: + schema: + $ref: '#/components/schemas/JSONAPIErrorResponse' + description: Bad Request + '401': + content: + application/json: + schema: + $ref: '#/components/schemas/JSONAPIErrorResponse' + description: Unauthorized '404': - $ref: '#/components/responses/NotFoundResponse' - '422': - $ref: '#/components/responses/UnprocessableEntityResponse' + content: + application/json: + schema: + $ref: '#/components/schemas/JSONAPIErrorResponse' + description: Not Found + '409': + content: + application/json: + schema: + $ref: '#/components/schemas/OwnershipInferenceResponse' + description: Conflict '429': $ref: '#/components/responses/TooManyRequestsResponse' - security: - - apiKeyAuth: [] - appKeyAuth: [] - summary: Patch a signal-based notification rule + summary: Submit feedback on an ownership inference tags: - - Security Monitoring - x-codegen-request-body-name: body - x-permission: - operator: OR - permissions: - - security_monitoring_notification_profiles_write - /api/v2/security/vulnerabilities: + - CSM Ownership + x-unstable: |- + **Note**: This endpoint is in Preview and may be subject to change. + If you have any feedback, contact [Datadog support](https://docs.datadoghq.com/help/). + /api/v2/csm/ownership/{resource_id}/{owner_type}/history: get: - description: > - Get a list of vulnerabilities. - - - ### Pagination - - - Pagination is enabled by default in both `vulnerabilities` and `assets`. - The size of the page varies depending on the endpoint and cannot be - modified. To automate the request of the next page, you can use the - links section in the response. - - - This endpoint will return paginated responses. The pages are stored in - the links section of the response: - - - ```JSON - - { - "data": [...], - "meta": {...}, - "links": { - "self": "https://.../api/v2/security/vulnerabilities", - "first": "https://.../api/v2/security/vulnerabilities?page[number]=1&page[token]=abc", - "last": "https://.../api/v2/security/vulnerabilities?page[number]=43&page[token]=abc", - "next": "https://.../api/v2/security/vulnerabilities?page[number]=2&page[token]=abc" - } - } - - ``` - - - - - `links.previous` is empty if the first page is requested. - - - `links.next` is empty if the last page is requested. - - - #### Token - - - Vulnerabilities can be created, updated or deleted at any point in time. - - - Upon the first request, a token is created to ensure consistency across - subsequent paginated requests. - - - A token is valid only for 24 hours. - - - #### First request - - - We consider a request to be the first request when there is no - `page[token]` parameter. - - - The response of this first request contains the newly created token in - the `links` section. - - - This token can then be used in the subsequent paginated requests. - - - #### Subsequent requests - - - Any request containing valid `page[token]` and `page[number]` parameters - will be considered a subsequent request. - - - If the `token` is invalid, a `404` response will be returned. - - - If the page `number` is invalid, a `400` response will be returned. - - - ### Filtering - - - The request can include some filter parameters to filter the data to be - retrieved. The format of the filter parameters follows the [JSON:API - format](https://jsonapi.org/format/#fetching-filtering): - `filter[$prop_name]`, where `prop_name` is the property name in the - entity being filtered by. - - - All filters can include multiple values, where data will be filtered - with an OR clause: `filter[title]=Title1,Title2` will filter all - vulnerabilities where title is equal to `Title1` OR `Title2`. - - - String filters are case sensitive. - - - Boolean filters accept `true` or `false` as values. - - - Number filters must include an operator as a second filter input: - `filter[$prop_name][$operator]`. For example, for the vulnerabilities - endpoint: `filter[cvss.base.score][lte]=8`. - - - Available operators are: `eq` (==), `lt` (<), `lte` (<=), `gt` (>) and - `gte` (>=). - - - ### Metadata - - - Following [JSON:API format](https://jsonapi.org/format/#document-meta), - object including non-standard meta-information. - - - This endpoint includes the meta member in the response. For more details - on each of the properties included in this section, check the endpoints - response tables. - - - ```JSON - - { - "data": [...], - "meta": { - "total": 1500, - "count": 18732, - "token": "some_token" - }, - "links": {...} - } - - ``` - operationId: ListVulnerabilities + description: List inference history entries for a resource filtered by owner type, ordered from most recent to oldest. Uses cursor-based pagination. + operationId: ListOwnershipHistoryByOwnerType parameters: - - description: >- - Its value must come from the `links` section of the response of the - first request. Do not manually edit it. - example: >- - b82cef018aab81ed1d4bb4xb35xxfc065da7efa685fbcecdbd338f3015e3afabbbfa3a911b4984_721ee28a-zecb-4e45-9960-c42065b574f4 + - description: The identifier of the resource to retrieve inference history for. + in: path + name: resource_id + required: true + schema: + example: res-1 + type: string + - description: The owner type to filter history by. + in: path + name: owner_type + required: true + schema: + $ref: '#/components/schemas/OwnershipOwnerType' + - description: An opaque, base64-encoded cursor token returned by a previous call in `pagination.next_cursor`. Omit to fetch the first page. in: query - name: page[token] + name: cursor required: false schema: + example: eyJpZCI6OTh9 type: string - - description: >- - The page number to be retrieved. It should be equal or greater than - `1` - example: 1 + - description: The maximum number of history entries to return per page. in: query - name: page[number] + name: limit required: false schema: - format: int64 + default: 25 + example: 25 + format: int32 + maximum: 100 minimum: 1 type: integer - - description: Filter by vulnerability type. - example: WeakCipher - in: query - name: filter[type] - required: false - schema: - $ref: '#/components/schemas/VulnerabilityType' - - description: >- - Filter by vulnerability base (i.e. from the original advisory) - severity score. - example: 5.5 + responses: + '200': + content: + application/json: + examples: + default: + value: + data: + attributes: + items: + - checksum: '' + confidence: '0.9000' + created_at: '2026-01-15T10:00:00Z' + evidence_versions: null + explanation: '' + failed_at: null + failure_reason: null + id: 100 + owner_type: team + primary_contact_ref: ref:handle/team-a + resource_id: res-1 + retry_schedule: null + sources: [] + status: suggested + pagination: + has_more: false + next_cursor: null + id: res-1 + type: ownership_history + schema: + $ref: '#/components/schemas/OwnershipHistoryResponse' + description: OK + '400': + content: + application/json: + schema: + $ref: '#/components/schemas/JSONAPIErrorResponse' + description: Bad Request + '401': + content: + application/json: + schema: + $ref: '#/components/schemas/JSONAPIErrorResponse' + description: Unauthorized + '429': + $ref: '#/components/responses/TooManyRequestsResponse' + summary: List ownership history by owner type + tags: + - CSM Ownership + x-unstable: |- + **Note**: This endpoint is in Preview and may be subject to change. + If you have any feedback, contact [Datadog support](https://docs.datadoghq.com/help/). + /api/v2/csm/settings/agentless_hosts: + get: + description: Get the list of agentless hosts for CSM, with optional pagination and filtering. + operationId: ListCSMAgentlessHosts + parameters: + - description: The page index for pagination (zero-based). in: query - name: filter[cvss.base.score][`$op`] + name: page required: false schema: - format: double - maximum: 10 + default: 0 + example: 0 + format: int32 + maximum: 1000000 minimum: 0 - type: number - - description: Filter by vulnerability base severity. - example: Medium + type: integer + - description: The number of agentless hosts to return per page. in: query - name: filter[cvss.base.severity] + name: size required: false schema: - $ref: '#/components/schemas/VulnerabilitySeverity' - - description: Filter by vulnerability base CVSS vector. - example: CVSS:3.0/AV:L/AC:L/PR:L/UI:N/S:U/C:N/I:N/A:H + default: 10 + example: 10 + format: int32 + maximum: 100 + minimum: 1 + type: integer + - description: A search query string to filter agentless hosts. in: query - name: filter[cvss.base.vector] + name: query required: false schema: + example: cloud_provider:aws type: string - - description: Filter by vulnerability Datadog severity score. - example: 4.3 + responses: + '200': + content: + application/json: + examples: + default: + value: + data: + - attributes: + account_id: '123456789012' + cloud_provider: aws + has_posture_management: true + has_vulnerability_scanning: true + resource_type: aws_ec2_instance + id: i-0123456789abcdef0 + type: agentless_host + meta: + page_index: 0 + page_size: 10 + total_filtered: 1 + schema: + $ref: '#/components/schemas/CsmAgentlessHostsResponse' + description: OK + '400': + content: + application/json: + schema: + $ref: '#/components/schemas/JSONAPIErrorResponse' + description: Bad Request + '403': + $ref: '#/components/responses/NotAuthorizedResponse' + '429': + $ref: '#/components/responses/TooManyRequestsResponse' + summary: List agentless hosts + tags: + - CSM Settings + x-unstable: |- + **Note**: This endpoint is in Preview and may be subject to change. + If you have any feedback, contact [Datadog support](https://docs.datadoghq.com/help/). + /api/v2/csm/settings/agentless_hosts/facet_info: + get: + description: Get the value distribution for a specific agentless host facet, with optional search and filtering. + operationId: GetCSMAgentlessHostFacetInfo + parameters: + - description: The facet identifier to retrieve value distribution for. Valid values are `resource_name`, `account_id`, `resource_type`, `cloud_provider`, `has_vulnerability_scanning`, and `has_posture_management`. in: query - name: filter[cvss.datadog.score][`$op`] - required: false + name: facet + required: true schema: - format: double - maximum: 10 - minimum: 0 - type: number - - description: Filter by vulnerability Datadog severity. - example: Medium + example: cloud_provider + type: string + - description: A search string to filter the facet values. in: query - name: filter[cvss.datadog.severity] + name: search required: false schema: - $ref: '#/components/schemas/VulnerabilitySeverity' - - description: Filter by vulnerability Datadog CVSS vector. - example: >- - CVSS:3.1/AV:L/AC:L/PR:L/UI:N/S:U/C:N/I:N/A:H/E:U/RL:X/RC:X/CR:X/IR:X/AR:X/MAV:L/MAC:H/MPR:L/MUI:N/MS:U/MC:N/MI:N/MA:H + example: aws + type: string + - description: A filter query to scope the facet value counts. in: query - name: filter[cvss.datadog.vector] + name: query required: false schema: + example: cloud_provider:aws type: string - - description: Filter by the status of the vulnerability. - example: Open + responses: + '200': + content: + application/json: + examples: + default: + value: + data: + attributes: + items: + - count: 100 + value: aws + - count: 50 + value: gcp + id: cloud_provider + meta: + total_count: 2 + type: facet_info + schema: + $ref: '#/components/schemas/CsmHostFacetInfoResponse' + description: OK + '400': + content: + application/json: + schema: + $ref: '#/components/schemas/JSONAPIErrorResponse' + description: Bad Request + '403': + $ref: '#/components/responses/NotAuthorizedResponse' + '429': + $ref: '#/components/responses/TooManyRequestsResponse' + summary: Get agentless host facet info + tags: + - CSM Settings + x-unstable: |- + **Note**: This endpoint is in Preview and may be subject to change. + If you have any feedback, contact [Datadog support](https://docs.datadoghq.com/help/). + /api/v2/csm/settings/agentless_hosts/facets: + get: + description: Get the list of available facets for filtering agentless hosts. + operationId: ListCSMAgentlessHostFacets + responses: + '200': + content: + application/json: + examples: + default: + value: + data: + - attributes: + bounded: true + bundled: true + bundledAndUsed: true + defaultValues: [] + description: The cloud provider of the resource. + editable: false + facetType: list + groups: + - agentless + name: Cloud Provider + path: cloud_provider + source: core + type: string + values: + - aws + - gcp + - azure + - oci + id: cloud_provider + type: agentless_host_facet + schema: + $ref: '#/components/schemas/CsmAgentlessHostFacetsResponse' + description: OK + '403': + $ref: '#/components/responses/NotAuthorizedResponse' + '429': + $ref: '#/components/responses/TooManyRequestsResponse' + summary: List agentless host facets + tags: + - CSM Settings + x-unstable: |- + **Note**: This endpoint is in Preview and may be subject to change. + If you have any feedback, contact [Datadog support](https://docs.datadoghq.com/help/). + /api/v2/csm/settings/hosts: + get: + description: Get the list of unified hosts for CSM, combining agent and agentless host data, with optional pagination and filtering. + operationId: ListCSMUnifiedHosts + parameters: + - description: The page index for pagination (zero-based). in: query - name: filter[status] + name: page required: false schema: - $ref: '#/components/schemas/VulnerabilityStatus' - - description: Filter by the tool of the vulnerability. - example: SCA + default: 0 + example: 0 + format: int32 + maximum: 1000000 + minimum: 0 + type: integer + - description: The number of hosts to return per page. in: query - name: filter[tool] + name: size required: false schema: - $ref: '#/components/schemas/VulnerabilityTool' - - description: Filter by library name. - example: linux-aws-5.15 + default: 10 + example: 10 + format: int32 + maximum: 100 + minimum: 1 + type: integer + - description: A search query string to filter unified hosts. in: query - name: filter[library.name] + name: query required: false schema: + example: source:agent type: string - - description: Filter by library version. - example: 5.15.0 + responses: + '200': + content: + application/json: + examples: + default: + value: + data: + - attributes: + agent_cws_enabled: false + agent_posture_management: true + agent_version: 7.50.0 + datadog_agent_key: key123 + os: linux + source: agent + id: agent-host + type: unified_host + - attributes: + account_id: '123456789012' + agentless_posture_management: true + agentless_vulnerability_scanning: true + cloud_provider: aws + resource_type: aws_ec2_instance + source: agentless + id: i-0123456789abcdef0 + type: unified_host + meta: + page_index: 0 + page_size: 10 + total_filtered: 2 + total_pages: 1 + schema: + $ref: '#/components/schemas/CsmUnifiedHostsResponse' + description: OK + '400': + content: + application/json: + schema: + $ref: '#/components/schemas/JSONAPIErrorResponse' + description: Bad Request + '403': + $ref: '#/components/responses/NotAuthorizedResponse' + '429': + $ref: '#/components/responses/TooManyRequestsResponse' + summary: List unified hosts + tags: + - CSM Settings + x-unstable: |- + **Note**: This endpoint is in Preview and may be subject to change. + If you have any feedback, contact [Datadog support](https://docs.datadoghq.com/help/). + /api/v2/csm/settings/hosts/facet_info: + get: + description: Get the value distribution for a specific unified host facet, with optional search and filtering. + operationId: GetCSMUnifiedHostFacetInfo + parameters: + - description: The facet identifier to retrieve value distribution for. Valid values include `resource_name`, `account_id`, `resource_type`, `cloud_provider`, `agentless_vulnerability_scanning`, `agentless_posture_management`, `hostname`, `agent_version`, `os`, `cluster_name`, `agent_posture_management`, `agent_cws_enabled`, `agent_csm_vm_hosts_enabled`, and `agent_csm_vm_containers_enabled`. in: query - name: filter[library.version] - required: false + name: facet + required: true schema: + example: cloud_provider type: string - - description: Filter by advisory ID. - example: TRIVY-CVE-2023-0615 + - description: A search string to filter the facet values. in: query - name: filter[advisory_id] + name: search required: false schema: + example: aws type: string - - description: Filter by exploitation probability. - example: false - in: query - name: filter[risks.exploitation_probability] - required: false - schema: - type: boolean - - description: Filter by POC exploit availability. - example: false - in: query - name: filter[risks.poc_exploit_available] - required: false - schema: - type: boolean - - description: Filter by public exploit availability. - example: false - in: query - name: filter[risks.exploit_available] - required: false - schema: - type: boolean - - description: >- - Filter by vulnerability [EPSS](https://www.first.org/epss/) severity - score. - example: 0.00042 - in: query - name: filter[risks.epss.score][`$op`] - required: false - schema: - format: double - maximum: 1 - minimum: 0 - type: number - - description: >- - Filter by vulnerability [EPSS](https://www.first.org/epss/) - severity. - example: Low - in: query - name: filter[risks.epss.severity] - required: false - schema: - $ref: '#/components/schemas/VulnerabilitySeverity' - - description: Filter by language. - example: ubuntu + - description: A filter query to scope the facet value counts. in: query - name: filter[language] + name: query required: false schema: + example: cloud_provider:aws type: string - - description: Filter by ecosystem. - example: Deb - in: query - name: filter[ecosystem] - required: false - schema: - $ref: '#/components/schemas/VulnerabilityEcosystem' - - description: Filter by vulnerability location. - example: com.example.Class:100 - in: query - name: filter[code_location.location] - required: false - schema: - type: string - - description: Filter by vulnerability file path. - example: src/Class.java:100 - in: query - name: filter[code_location.file_path] - required: false - schema: - type: string - - description: Filter by method. - example: FooBar + responses: + '200': + content: + application/json: + examples: + default: + value: + data: + attributes: + items: + - count: 100 + value: aws + - count: 50 + value: gcp + id: cloud_provider + meta: + total_count: 2 + type: facet_info + schema: + $ref: '#/components/schemas/CsmHostFacetInfoResponse' + description: OK + '400': + content: + application/json: + schema: + $ref: '#/components/schemas/JSONAPIErrorResponse' + description: Bad Request + '403': + $ref: '#/components/responses/NotAuthorizedResponse' + '429': + $ref: '#/components/responses/TooManyRequestsResponse' + summary: Get unified host facet info + tags: + - CSM Settings + x-unstable: |- + **Note**: This endpoint is in Preview and may be subject to change. + If you have any feedback, contact [Datadog support](https://docs.datadoghq.com/help/). + /api/v2/csm/settings/hosts/facets: + get: + description: Get the list of available facets for filtering unified hosts. + operationId: ListCSMUnifiedHostFacets + responses: + '200': + content: + application/json: + examples: + default: + value: + data: + - attributes: + bounded: true + bundled: true + bundledAndUsed: true + defaultValues: [] + description: The cloud provider of the resource. + editable: false + facetType: list + groups: + - hosts + name: Cloud Provider + path: cloud_provider + source: core + type: string + values: + - aws + - gcp + - azure + - oci + id: cloud_provider + type: unified_host_facet + schema: + $ref: '#/components/schemas/CsmUnifiedHostFacetsResponse' + description: OK + '403': + $ref: '#/components/responses/NotAuthorizedResponse' + '429': + $ref: '#/components/responses/TooManyRequestsResponse' + summary: List unified host facets + tags: + - CSM Settings + x-unstable: |- + **Note**: This endpoint is in Preview and may be subject to change. + If you have any feedback, contact [Datadog support](https://docs.datadoghq.com/help/). + /api/v2/posture_management/findings: + get: + description: |- + Get a list of findings. These include both misconfigurations and identity risks. + + **Note**: To filter and return only identity risks, add the following query parameter: `?filter[tags]=dd_rule_type:ciem` + + ### Filtering + + Filters can be applied by appending query parameters to the URL. + + - Using a single filter: `?filter[attribute_key]=attribute_value` + - Chaining filters: `?filter[attribute_key]=attribute_value&filter[attribute_key]=attribute_value...` + - Filtering on tags: `?filter[tags]=tag_key:tag_value&filter[tags]=tag_key_2:tag_value_2` + + Here, `attribute_key` can be any of the filter keys described further below. + + Query parameters of type `integer` support comparison operators (`>`, `>=`, `<`, `<=`). This is particularly useful when filtering by `evaluation_changed_at` or `resource_discovery_timestamp`. For example: `?filter[evaluation_changed_at]=>20123123121`. + + You can also use the negation operator on strings. For example, use `filter[resource_type]=-aws*` to filter for any non-AWS resources. + + The operator must come after the equal sign. For example, to filter with the `>=` operator, add the operator after the equal sign: `filter[evaluation_changed_at]=>=1678809373257`. + + Query parameters must be only among the documented ones and with values of correct types. Duplicated query parameters (e.g. `filter[status]=low&filter[status]=info`) are not allowed. + + ### Additional extension fields + + Additional extension fields are available for some findings. + + The data is available when you include the query parameter `?detailed_findings=true` in the request. + + The following fields are available for findings: + - `external_id`: The resource external ID related to the finding. + - `description`: The description and remediation steps for the finding. + - `datadog_link`: The Datadog relative link for the finding. + - `ip_addresses`: The list of private IP addresses for the resource related to the finding. + + ### Response + + The response includes an array of finding objects, pagination metadata, and a count of items that match the query. + + Each finding object contains the following: + + - The finding ID that can be used in a `GetFinding` request to retrieve the full finding details. + - Core attributes, including status, evaluation, high-level resource details, muted state, and rule details. + - `evaluation_changed_at` and `resource_discovery_date` time stamps. + - An array of associated tags. + operationId: ListFindings + parameters: + - description: Limit the number of findings returned. Must be <= 1000. + example: 50 in: query - name: filter[code_location.method] + name: page[limit] required: false schema: - type: string - - description: Filter by fix availability. - example: false + default: 100 + format: int64 + maximum: 1000 + minimum: 1 + type: integer + - description: Return findings for a given snapshot of time (Unix ms). + example: 1678721573794 in: query - name: filter[fix_available] + name: snapshot_timestamp required: false schema: - type: boolean - - description: >- - Filter by vulnerability `repo_digest` (when the vulnerability is - related to `Image` asset). - example: >- - sha256:0ae7da091191787229d321e3638e39c319a97d6e20f927d465b519d699215bf7 + format: int64 + minimum: 1 + type: integer + - description: Return the next page of findings pointed to by the cursor. + example: eyJhZnRlciI6IkFRQUFBWWJiaEJXQS1OY1dqUUFBQUFCQldXSmlhRUpYUVVGQlJFSktkbTlDTUdaWFRVbDNRVUUiLCJ2YWx1ZXMiOlsiY3JpdGljYWwiXX0= in: query - name: filter[repo_digests] + name: page[cursor] required: false schema: type: string - - description: Filter by origin. - example: agentless-scanner + - description: Return findings that have these associated tags (repeatable). + example: filter[tags]=cloud_provider:aws&filter[tags]=aws_account:999999999999 in: query - name: filter[origin] + name: filter[tags] required: false schema: type: string - - description: Filter by asset name. - example: datadog-agent + - description: Return findings that have changed from pass to fail or vice versa on a specified date (Unix ms) or date range (using comparison operators). + example: '>=1678721573794' in: query - name: filter[asset.name] + name: filter[evaluation_changed_at] required: false schema: type: string - - description: Filter by asset type. - example: Host + - description: Set to `true` to return findings that are muted. Set to `false` to return unmuted findings. in: query - name: filter[asset.type] + name: filter[muted] required: false schema: - $ref: '#/components/schemas/AssetType' - - description: >- - Filter by the first version of the asset this vulnerability has been - detected on. - example: v1.15.1 + type: boolean + - description: Return findings for the specified rule ID. in: query - name: filter[asset.version.first] + name: filter[rule_id] required: false schema: type: string - - description: >- - Filter by the last version of the asset this vulnerability has been - detected on. - example: v1.15.1 + - description: Return findings for the specified rule. in: query - name: filter[asset.version.last] + name: filter[rule_name] required: false schema: type: string - - description: Filter by the repository url associated to the asset. - example: github.com/DataDog/datadog-agent.git + - description: Return only findings for the specified resource type. in: query - name: filter[asset.repository_url] + name: filter[resource_type] required: false schema: type: string - - description: Filter whether the asset is in production or not. - example: false - in: query - name: filter[asset.risks.in_production] - required: false - schema: - type: boolean - - description: Filter whether the asset is under attack or not. - example: false - in: query - name: filter[asset.risks.under_attack] - required: false - schema: - type: boolean - - description: Filter whether the asset is publicly accessible or not. - example: false - in: query - name: filter[asset.risks.is_publicly_accessible] - required: false - schema: - type: boolean - - description: Filter whether the asset is publicly accessible or not. - example: false - in: query - name: filter[asset.risks.has_privileged_access] - required: false - schema: - type: boolean - - description: Filter whether the asset has access to sensitive data or not. - example: false + - description: Return only findings for the specified resource id. in: query - name: filter[asset.risks.has_access_to_sensitive_data] + name: filter[@resource_id] required: false schema: - type: boolean - - description: Filter by asset environments. - example: staging + type: string + - description: Return findings that were found on a specified date (Unix ms) or date range (using comparison operators). + example: '>=1678721573794' in: query - name: filter[asset.environments] + name: filter[discovery_timestamp] required: false schema: type: string - - description: Filter by asset teams. - example: compute + - description: Return only `pass` or `fail` findings. + example: pass in: query - name: filter[asset.teams] + name: filter[evaluation] required: false schema: - type: string - - description: Filter by asset architecture. - example: arm64 + $ref: '#/components/schemas/FindingEvaluation' + - description: Return only findings with the specified status. + example: critical in: query - name: filter[asset.arch] + name: filter[status] required: false schema: - type: string - - description: Filter by asset operating system name. - example: ubuntu + $ref: '#/components/schemas/FindingStatus' + - description: Return findings that match the selected vulnerability types (repeatable). + example: + - misconfiguration + explode: true in: query - name: filter[asset.operating_system.name] + name: filter[vulnerability_type] required: false schema: - type: string - - description: Filter by asset operating system version. - example: '24.04' + items: + $ref: '#/components/schemas/FindingVulnerabilityType' + type: array + - description: Return additional fields for some findings. + example: + - true in: query - name: filter[asset.operating_system.version] + name: detailed_findings required: false schema: - type: string + type: boolean responses: '200': content: application/json: + examples: + default: + value: + data: + - attributes: + evaluation: fail + resource: arn:aws:s3:::my-bucket + resource_type: aws_s3_bucket + status: high + id: abc-123-xyz + type: finding + meta: + page: + cursor: eyJhZnRlciI6IkFRQUFBWWJiaEJXQS1OY1dqUUFBQUFCQldXSmlhRUpYUVVGQlJFSktkbTlDTUdaWFRVbDNRVUUiLCJ2YWx1ZXMiOlsiY3JpdGljYWwiXX0= + total_filtered_count: 1 + snapshot_timestamp: 1678721573794 schema: - $ref: '#/components/schemas/ListVulnerabilitiesResponse' + $ref: '#/components/schemas/ListFindingsResponse' description: OK '400': - content: - application/json: - schema: - $ref: '#/components/schemas/JSONAPIErrorResponse' - description: >- - Bad request: The server cannot process the request due to invalid - syntax in the request. + $ref: '#/components/responses/FindingsBadRequestResponse' '403': - content: - application/json: - schema: - $ref: '#/components/schemas/JSONAPIErrorResponse' - description: 'Forbidden: Access denied' + $ref: '#/components/responses/FindingsForbiddenResponse' '404': - content: - application/json: - schema: - $ref: '#/components/schemas/JSONAPIErrorResponse' - description: 'Not found: There is no request associated with the provided token.' + $ref: '#/components/responses/FindingsNotFoundResponse' '429': - $ref: '#/components/responses/TooManyRequestsResponse' + $ref: '#/components/responses/FindingsTooManyRequestsResponse' security: - apiKeyAuth: [] appKeyAuth: [] - summary: List vulnerabilities + - AuthZ: + - security_monitoring_findings_read + summary: List findings tags: - Security Monitoring - x-unstable: >- - **Note**: This endpoint is a private preview. - - If you are interested in accessing this API, [fill out this - form](https://forms.gle/kMYC1sDr6WDUBDsx9). - /api/v2/security/vulnerabilities/notification_rules: + x-pagination: + cursorParam: page[cursor] + cursorPath: meta.page.cursor + limitParam: page[limit] + resultsPath: data + x-unstable: |- + **Note**: This endpoint uses the legacy security findings data model and is planned for deprecation. + Use the [search security findings endpoint](https://docs.datadoghq.com/api/latest/security-monitoring/#search-security-findings), + which is based on the [new security findings schema](https://docs.datadoghq.com/security/guide/findings-schema/), to search security findings. + If you have any feedback, contact [Datadog support](https://docs.datadoghq.com/help/). + /api/v2/posture_management/findings/{finding_id}: get: - description: Returns the list of notification rules for security vulnerabilities. - operationId: GetVulnerabilityNotificationRules - responses: - '200': - $ref: '#/components/responses/NotificationRulesList' - '403': - $ref: '#/components/responses/ForbiddenResponse' - '429': - $ref: '#/components/responses/TooManyRequestsResponse' - security: - - apiKeyAuth: [] - appKeyAuth: [] - summary: Get the list of vulnerability notification rules - tags: - - Security Monitoring - x-permission: - operator: OR - permissions: - - security_monitoring_notification_profiles_read - post: - description: >- - Create a new notification rule for security vulnerabilities and return - the created rule. - operationId: CreateVulnerabilityNotificationRule - requestBody: - content: - application/json: - schema: - $ref: '#/components/schemas/CreateNotificationRuleParameters' - description: > - The body of the create notification rule request is composed of the - rule type and the rule attributes: - - the rule name, the selectors, the notification targets, and the rule - enabled status. - required: true - responses: - '201': - content: - application/json: - schema: - $ref: '#/components/schemas/NotificationRuleResponse' - description: Successfully created the notification rule. - '400': - $ref: '#/components/responses/BadRequestResponse' - '403': - $ref: '#/components/responses/ForbiddenResponse' - '429': - $ref: '#/components/responses/TooManyRequestsResponse' - security: - - apiKeyAuth: [] - appKeyAuth: [] - summary: Create a new vulnerability-based notification rule - tags: - - Security Monitoring - x-codegen-request-body-name: body - x-permission: - operator: OR - permissions: - - security_monitoring_notification_profiles_write - /api/v2/security/vulnerabilities/notification_rules/{id}: - delete: - description: Delete a notification rule for security vulnerabilities. - operationId: DeleteVulnerabilityNotificationRule + description: Returns a single finding with message and resource configuration. + operationId: GetFinding parameters: - - description: ID of the notification rule. + - description: The ID of the finding. in: path - name: id + name: finding_id required: true schema: type: string + - description: Return the finding for a given snapshot of time (Unix ms). + example: 1678721573794 + in: query + name: snapshot_timestamp + required: false + schema: + format: int64 + minimum: 1 + type: integer responses: - '204': - description: Rule successfully deleted. + '200': + content: + application/json: + examples: + default: + value: + data: + attributes: + evaluation: fail + message: |- + ## Remediation + + 1. Go to Storage Account. + resource: my_resource_name + resource_type: azure_storage_account + status: critical + id: abc-123 + type: detailed_finding + schema: + $ref: '#/components/schemas/GetFindingResponse' + description: OK + '400': + $ref: '#/components/responses/FindingsBadRequestResponse' '403': - $ref: '#/components/responses/ForbiddenResponse' + $ref: '#/components/responses/FindingsForbiddenResponse' '404': - $ref: '#/components/responses/NotFoundResponse' + $ref: '#/components/responses/FindingsNotFoundResponse' '429': - $ref: '#/components/responses/TooManyRequestsResponse' + $ref: '#/components/responses/FindingsTooManyRequestsResponse' security: - apiKeyAuth: [] appKeyAuth: [] - summary: Delete a vulnerability-based notification rule + - AuthZ: + - security_monitoring_findings_read + summary: Get a finding tags: - Security Monitoring - x-permission: - operator: OR - permissions: - - security_monitoring_notification_profiles_write + x-unstable: |- + **Note**: This endpoint uses the legacy security findings data model and is planned for deprecation. + Use the [search security findings endpoint](https://docs.datadoghq.com/api/latest/security-monitoring/#search-security-findings), + which is based on the [new security findings schema](https://docs.datadoghq.com/security/guide/findings-schema/), to search security findings. + If you have any feedback, contact [Datadog support](https://docs.datadoghq.com/help/). + /api/v2/security-entities/risk-scores: get: - description: Get the details of a notification rule for security vulnerabilities. - operationId: GetVulnerabilityNotificationRule + description: Get a list of entity risk scores for your organization. Entity risk scores provide security risk assessment for entities like cloud resources, identities, or services based on detected signals, misconfigurations, and identity risks. + operationId: ListEntityRiskScores parameters: - - description: ID of the notification rule. - in: path - name: id - required: true + - description: Start time for the query in Unix timestamp (milliseconds). Defaults to 2 weeks ago. + in: query + name: from + required: false schema: + example: 1704067200000 + format: int64 + type: integer + - description: End time for the query in Unix timestamp (milliseconds). Defaults to now. + in: query + name: to + required: false + schema: + example: 1705276800000 + format: int64 + type: integer + - description: Size of the page to return. Maximum is 1000. + in: query + name: page[size] + required: false + schema: + default: 10 + example: 10 + format: int64 + type: integer + - description: Page number to return (1-indexed). + in: query + name: page[number] + required: false + schema: + default: 1 + example: 1 + format: int64 + type: integer + - description: Query ID for pagination consistency. + in: query + name: page[queryId] + required: false + schema: + example: abc123def456 + type: string + - description: |- + Sort order for results. Format: `field:direction` where direction is `asc` or `desc`. + Supported fields: `riskScore`, `lastDetected`, `firstDetected`, `entityName`, `signalsDetected`. + in: query + name: filter[sort] + required: false + schema: + example: riskScore:desc + type: string + - description: |- + Supports filtering by entity attributes, risk scores, severity, and more. + Example: `severity:critical AND entityType:aws_iam_user` + in: query + name: filter[query] + required: false + schema: + example: severity:critical type: string + - description: Filter by entity type(s). Can specify multiple values. + explode: true + in: query + name: entityType + required: false + schema: + example: + - aws_iam_user + - aws_ec2_instance + items: + example: aws_iam_user + type: string + type: array + style: form responses: '200': content: application/json: + examples: + default: + value: + data: + - attributes: + accountIds: + - '123456789012' + configRisks: + hasIdentityRisk: false + hasMisconfiguration: true + hasPrivilegedRole: false + isPrivileged: false + isProduction: true + isPubliclyAccessible: true + entityMetadata: + environments: + - production + mitreTactics: + - ta0006-credential-access + mitreTechniques: + - t1078-valid-accounts + services: + - api-gateway + sources: + - cloudtrail + entityName: test-user + entityProviders: + - AWS + entityRoles: [] + entitySubTypes: + - IAM User + entityTypes: + - IAMUser + firstDetected: 1704067200000 + lastActivityTitle: Suspicious API call detected + lastDetected: 1705276800000 + riskScore: 85 + riskScoreEvolution: 12 + severity: critical + signalsDetected: 15 + id: arn:aws:iam::123456789012:user/test-user + type: SecurityEntityRiskScore + meta: + pageNumber: 1 + pageSize: 10 + queryId: abc123def456 + totalRowCount: 1 schema: - $ref: '#/components/schemas/NotificationRuleResponse' - description: Notification rule details. + $ref: '#/components/schemas/SecurityEntityRiskScoresResponse' + description: OK '400': - $ref: '#/components/responses/BadRequestResponse' + content: + application/json: + schema: + $ref: '#/components/schemas/JSONAPIErrorResponse' + description: Bad Request + '401': + content: + application/json: + schema: + $ref: '#/components/schemas/JSONAPIErrorResponse' + description: Unauthorized '403': - $ref: '#/components/responses/ForbiddenResponse' - '404': - $ref: '#/components/responses/NotFoundResponse' + content: + application/json: + schema: + $ref: '#/components/schemas/JSONAPIErrorResponse' + description: Forbidden '429': $ref: '#/components/responses/TooManyRequestsResponse' - security: - - apiKeyAuth: [] - appKeyAuth: [] - summary: Get details of a vulnerability notification rule + summary: List Entity Risk Scores tags: - - Security Monitoring - x-permission: - operator: OR - permissions: - - security_monitoring_notification_profiles_read - patch: - description: >- - Partially update the notification rule. All fields are optional; if a - field is not provided, it is not updated. - operationId: PatchVulnerabilityNotificationRule + - Entity Risk Scores + x-unstable: |- + **Note**: This endpoint is in public beta and it's subject to change. + If you have any feedback, contact [Datadog support](https://docs.datadoghq.com/help/). + /api/v2/security-entities/risk-scores/{entity_id}: + get: + description: Get the risk score for a specific entity by its ID. Returns security risk assessment including risk score, severity, detected signals, misconfigurations, and identity risks. + operationId: GetEntityRiskScore parameters: - - description: ID of the notification rule. + - description: The URL-encoded unique identifier for the entity. in: path - name: id + name: entity_id required: true schema: + example: arn:aws:iam::123456789012:user/john.doe type: string - requestBody: - content: - application/json: - schema: - $ref: '#/components/schemas/PatchNotificationRuleParameters' - required: true responses: '200': content: application/json: + examples: + default: + value: + data: + attributes: + accountIds: + - '123456789012' + configRisks: + hasIdentityRisk: false + hasMisconfiguration: true + hasPrivilegedRole: false + isPrivileged: false + isProduction: true + isPubliclyAccessible: true + entityMetadata: + environments: + - production + mitreTactics: + - ta0006-credential-access + mitreTechniques: + - t1078-valid-accounts + services: + - api-gateway + sources: + - cloudtrail + entityName: test-user + entityProviders: + - AWS + entityRoles: [] + entitySubTypes: + - IAM User + entityTypes: + - IAMUser + firstDetected: 1704067200000 + lastActivityTitle: Suspicious API call detected + lastDetected: 1705276800000 + riskScore: 85 + riskScoreEvolution: 12 + severity: critical + signalsDetected: 15 + id: arn:aws:iam::123456789012:user/test-user + type: SecurityEntityRiskScore schema: - $ref: '#/components/schemas/NotificationRuleResponse' - description: Notification rule successfully patched. + $ref: '#/components/schemas/SecurityEntityRiskScoreResponse' + description: OK '400': - $ref: '#/components/responses/BadRequestResponse' + content: + application/json: + schema: + $ref: '#/components/schemas/JSONAPIErrorResponse' + description: Bad Request + '401': + content: + application/json: + schema: + $ref: '#/components/schemas/JSONAPIErrorResponse' + description: Unauthorized '403': - $ref: '#/components/responses/ForbiddenResponse' + content: + application/json: + schema: + $ref: '#/components/schemas/JSONAPIErrorResponse' + description: Forbidden '404': - $ref: '#/components/responses/NotFoundResponse' - '422': - $ref: '#/components/responses/UnprocessableEntityResponse' + content: + application/json: + schema: + $ref: '#/components/schemas/JSONAPIErrorResponse' + description: Not Found '429': $ref: '#/components/responses/TooManyRequestsResponse' - security: - - apiKeyAuth: [] - appKeyAuth: [] - summary: Patch a vulnerability-based notification rule + summary: Get Entity Risk Score tags: - - Security Monitoring - x-codegen-request-body-name: body - x-permission: - operator: OR - permissions: - - security_monitoring_notification_profiles_write - /api/v2/security_monitoring/cloud_workload_security/agent_rules: + - Entity Risk Scores + x-unstable: |- + **Note**: This endpoint is in public beta and it's subject to change. + If you have any feedback, contact [Datadog support](https://docs.datadoghq.com/help/). + /api/v2/security/asm/services/{service_filter}: get: - description: >- - Get the list of agent rules. - - - **Note**: This endpoint should only be used for the Government (US1-FED) - site. - operationId: ListCloudWorkloadSecurityAgentRules + description: |- + Retrieve Application Security details for services matching the given name. + Returns Application Security activation, compatibility, and product enablement + information for each matching `(service, environment)` pair, along with a count + of services that have Application Security Management (Threats) enabled. + operationId: GetAsmServiceByName + parameters: + - $ref: '#/components/parameters/ApplicationSecurityServiceNameParam' responses: '200': content: application/json: + examples: + default: + value: + data: + - attributes: + agent_versions: + - 7.50.0 + app_type: web + asm_threat_compatible: true + backend_waf_event_count: 10 + business_logic: [] + color: '' + env: prod + event_count: 42 + event_trend: [] + has_appsec_enabled: true + hits: 0 + iast_product_activation: false + iast_product_compatibility: compatible + iast_product_compatibility_reasons: [] + languages: + - go + last_ingested_spans: 1610000000 + rc_capabilities: + - ASM_DD_RULES + recommended_business_logic: [] + risk_product_activation: false + risk_product_compatibility: compatible + risk_product_compatibility_reasons: [] + rules_version: + - 1.13.0 + service: web-store + signal_count: 0 + signal_trend: [] + source: + - services-activity + teams: + - security-team + tracer_versions: + - 1.60.0 + vm-activation: enabled + vuln_critical_count: 0 + vuln_high_count: 0 + without_filter_services: 0 + id: web-store_prod + type: service_env + meta: + num_services_with_appsec: 1 schema: - $ref: >- - #/components/schemas/CloudWorkloadSecurityAgentRulesListResponse + $ref: '#/components/schemas/ApplicationSecurityServicesResponse' description: OK '403': $ref: '#/components/responses/NotAuthorizedResponse' '429': $ref: '#/components/responses/TooManyRequestsResponse' - summary: Get all Workload Protection agent rules (US1-FED) + summary: Get Application Security details for a service tags: - - CSM Threats + - Application Security x-permission: operator: OR permissions: - - security_monitoring_cws_agent_rules_read - post: - description: >- - Create a new agent rule with the given parameters. - + - apm_service_catalog_read + - appsec_protect_read + - apm_read + x-unstable: |- + **Note**: This endpoint is in preview and is subject to change. + If you have any feedback, contact [Datadog support](https://docs.datadoghq.com/help/). + /api/v2/security/cloud_workload/policy/download: + get: + description: |- + The download endpoint generates a Workload Protection policy file from your currently active + Workload Protection agent rules, and downloads them as a `.policy` file. This file can then be deployed to + your agents to update the policy running in your environment. - **Note**: This endpoint should only be used for the Government (US1-FED) - site. - operationId: CreateCloudWorkloadSecurityAgentRule - requestBody: - content: - application/json: - schema: - $ref: '#/components/schemas/CloudWorkloadSecurityAgentRuleCreateRequest' - description: The definition of the new agent rule - required: true + **Note**: This endpoint should only be used for the Government (US1-FED) site. + operationId: DownloadCloudWorkloadPolicyFile responses: '200': content: - application/json: + application/yaml: + examples: + default: + value: '' schema: - $ref: '#/components/schemas/CloudWorkloadSecurityAgentRuleResponse' + format: binary + type: string description: OK - '400': - $ref: '#/components/responses/BadRequestResponse' '403': $ref: '#/components/responses/NotAuthorizedResponse' - '409': - $ref: '#/components/responses/ConflictResponse' '429': $ref: '#/components/responses/TooManyRequestsResponse' - summary: Create a Workload Protection agent rule (US1-FED) + summary: Download the Workload Protection policy (US1-FED) tags: - CSM Threats - x-codegen-request-body-name: body x-permission: operator: OR permissions: - - security_monitoring_cws_agent_rules_write - /api/v2/security_monitoring/cloud_workload_security/agent_rules/{agent_rule_id}: - delete: - description: >- - Delete a specific agent rule. - - - **Note**: This endpoint should only be used for the Government (US1-FED) - site. - operationId: DeleteCloudWorkloadSecurityAgentRule - parameters: - - $ref: '#/components/parameters/CloudWorkloadSecurityAgentRuleID' - responses: - '204': - description: OK - '403': - $ref: '#/components/responses/NotAuthorizedResponse' - '404': - $ref: '#/components/responses/NotFoundResponse' - '429': - $ref: '#/components/responses/TooManyRequestsResponse' - summary: Delete a Workload Protection agent rule (US1-FED) - tags: - - CSM Threats - x-permission: - operator: OR - permissions: - - security_monitoring_cws_agent_rules_write + - security_monitoring_cws_agent_rules_read + /api/v2/security/findings: get: - description: >- - Get the details of a specific agent rule. + description: |- + Get a list of security findings that match a search query. [See the schema for security findings](https://docs.datadoghq.com/security/guide/findings-schema/). + ### Query Syntax - **Note**: This endpoint should only be used for the Government (US1-FED) - site. - operationId: GetCloudWorkloadSecurityAgentRule + This endpoint uses the logs query syntax. Findings attributes (living in the attributes.attributes. namespace) are prefixed by @ when queried. Tags are queried without a prefix. + + Example: `@severity:(critical OR high) @status:open team:platform` + operationId: ListSecurityFindings parameters: - - $ref: '#/components/parameters/CloudWorkloadSecurityAgentRuleID' + - description: The search query following log search syntax. + example: '@severity:(critical OR high) @status:open team:platform' + in: query + name: filter[query] + required: false + schema: + default: '*' + type: string + - description: Get the next page of results with a cursor provided in the previous query. + example: eyJhZnRlciI6IkF3QUFBWnPcm1pd0FBQUJbVlBQUKBa1pqRTVdZUzSTBNemN0YWiIsLTE3Mjk0MzYwMjFdfQ== + in: query + name: page[cursor] + required: false + schema: + type: string + - description: The maximum number of findings in the response. + example: 25 + in: query + name: page[limit] + required: false + schema: + default: 10 + format: int64 + maximum: 150 + minimum: 1 + type: integer + - description: Sorts by @detection_changed_at. + in: query + name: sort + required: false + schema: + $ref: '#/components/schemas/SecurityFindingsSort' responses: '200': content: application/json: + examples: + default: + value: + data: + - attributes: + attributes: + severity: high + status: open + tags: + - team:platform + timestamp: 1765901760 + id: ZGVmLTAwcC1pZXJ-aS0wZjhjNjMyZDNmMzRlZTgzNw== + type: finding + meta: + elapsed: 548 + status: done schema: - $ref: '#/components/schemas/CloudWorkloadSecurityAgentRuleResponse' + $ref: '#/components/schemas/ListSecurityFindingsResponse' description: OK + '400': + $ref: '#/components/responses/BadRequestResponse' '403': - $ref: '#/components/responses/NotAuthorizedResponse' - '404': - $ref: '#/components/responses/NotFoundResponse' + $ref: '#/components/responses/ForbiddenResponse' '429': $ref: '#/components/responses/TooManyRequestsResponse' - summary: Get a Workload Protection agent rule (US1-FED) + security: + - apiKeyAuth: [] + appKeyAuth: [] + - AuthZ: + - security_monitoring_findings_read + summary: List security findings tags: - - CSM Threats + - Security Monitoring + x-pagination: + cursorParam: page[cursor] + cursorPath: meta.page.after + limitParam: page[limit] + resultsPath: data x-permission: operator: OR permissions: - - security_monitoring_cws_agent_rules_read + - security_monitoring_findings_read + - appsec_vm_read + /api/v2/security/findings/assignee: patch: - description: >- - Update a specific agent rule. - - Returns the agent rule object when the request is successful. - - - **Note**: This endpoint should only be used for the Government (US1-FED) - site. - operationId: UpdateCloudWorkloadSecurityAgentRule - parameters: - - $ref: '#/components/parameters/CloudWorkloadSecurityAgentRuleID' + description: |- + Assign or unassign security findings. + You can assign up to 100 security findings per request. Set `assignee_id` to the unique identifier of the Datadog user you want to assign the findings to. Omit `assignee_id` (or set it to `null`) to unassign the findings. Per-finding warnings and failures are returned in the response `meta` object. + operationId: UpdateFindingsAssignee requestBody: content: application/json: + examples: + default: + value: + data: + attributes: + assignee_id: f315bdaf-9ee7-4808-a9c1-99c15bf0f4d0 + id: 00000000-0000-0000-0000-000000000001 + relationships: + findings: + data: + - id: ZGVmLTAwcC1pZXJ-aS0wZjhjNjMyZDNmMzRlZTgzNw== + type: findings + type: assignee schema: - $ref: '#/components/schemas/CloudWorkloadSecurityAgentRuleUpdateRequest' - description: New definition of the agent rule + $ref: '#/components/schemas/AssigneeRequest' required: true responses: - '200': + '202': content: application/json: + examples: + default: + value: + data: + attributes: + assignee_id: f315bdaf-9ee7-4808-a9c1-99c15bf0f4d0 + id: 00000000-0000-0000-0000-000000000001 + type: assignee schema: - $ref: '#/components/schemas/CloudWorkloadSecurityAgentRuleResponse' - description: OK + $ref: '#/components/schemas/AssigneeResponse' + description: Accepted '400': $ref: '#/components/responses/BadRequestResponse' - '403': - $ref: '#/components/responses/NotAuthorizedResponse' '404': $ref: '#/components/responses/NotFoundResponse' - '409': - $ref: '#/components/responses/ConcurrentModificationResponse' '429': $ref: '#/components/responses/TooManyRequestsResponse' - summary: Update a Workload Protection agent rule (US1-FED) + security: + - apiKeyAuth: [] + appKeyAuth: [] + - AuthZ: [] + summary: Assign or unassign security findings tags: - - CSM Threats + - Security Monitoring x-codegen-request-body-name: body x-permission: operator: OR permissions: - - security_monitoring_cws_agent_rules_write - /api/v2/security_monitoring/configuration/security_filters: + - security_monitoring_findings_write + - appsec_vm_write + x-unstable: |- + **Note**: This endpoint is in preview and is subject to change. + If you have any feedback, contact [Datadog support](https://docs.datadoghq.com/help/). + /api/v2/security/findings/automation/due_date_rules: get: - description: Get the list of configured security filters with their definitions. - operationId: ListSecurityFilters + description: Get all due date rules for the current organization. + operationId: ListSecurityFindingsAutomationDueDateRules + parameters: + - description: The number of rules per page. Maximum is 1000. + in: query + name: page[size] + required: false + schema: + default: 1000 + example: 10 + format: int64 + maximum: 1000 + minimum: 1 + type: integer + - description: The page number to return. + in: query + name: page[number] + required: false + schema: + default: 0 + example: 0 + format: int64 + minimum: 0 + type: integer responses: '200': content: application/json: + examples: + default: + value: + data: + - attributes: + action: + due_days_per_severity: + - due_in_days: 7 + severity: critical + - due_in_days: 30 + severity: high + due_from: first_seen + created_at: 1722439510282 + created_by: + id: 00000000-0000-0000-0000-000000000000 + name: Jane Doe + type: user + enabled: true + modified_at: 1722439510282 + modified_by: + id: 00000000-0000-0000-0000-000000000000 + name: Jane Doe + type: user + name: Critical findings due in 7 days + rule: + finding_types: + - misconfiguration + query: env:prod + id: 00000000-0000-0000-0000-000000000000 + type: due_date_rules + links: + first: /api/v2/security/findings/automation/due_date_rules?page[size]=1000&page[number]=0 + last: /api/v2/security/findings/automation/due_date_rules?page[size]=1000&page[number]=0 + meta: + page: + total_filtered_count: 1 schema: - $ref: '#/components/schemas/SecurityFiltersResponse' - description: OK + $ref: '#/components/schemas/DueDateRulesResponse' + description: Successfully retrieved the list of due date rules '403': - $ref: '#/components/responses/NotAuthorizedResponse' + $ref: '#/components/responses/ForbiddenResponse' '429': $ref: '#/components/responses/TooManyRequestsResponse' security: - apiKeyAuth: [] appKeyAuth: [] - - AuthZ: - - security_monitoring_filters_read - summary: Get all security filters + summary: Get all due date rules tags: - Security Monitoring x-permission: operator: OR permissions: - - security_monitoring_filters_read + - security_pipelines_read + x-unstable: |- + **Note**: This endpoint is in Preview and is subject to change. + If you have any feedback, contact [Datadog support](https://docs.datadoghq.com/help/). post: - description: >- - Create a security filter. - - - See the [security filter - guide](https://docs.datadoghq.com/security_platform/guide/how-to-setup-security-filters-using-security-monitoring-api/) - - for more examples. - operationId: CreateSecurityFilter + description: Create a new due date rule for the current organization. + operationId: CreateSecurityFindingsAutomationDueDateRule requestBody: content: application/json: + examples: + default: + value: + data: + attributes: + action: + due_days_per_severity: + - due_in_days: 7 + severity: critical + - due_in_days: 30 + severity: high + due_from: first_seen + enabled: true + name: Critical findings due in 7 days + rule: + finding_types: + - misconfiguration + query: env:prod + type: due_date_rules schema: - $ref: '#/components/schemas/SecurityFilterCreateRequest' - description: The definition of the new security filter. + $ref: '#/components/schemas/DueDateRuleCreateRequest' + required: true + responses: + '201': + content: + application/json: + examples: + default: + value: + data: + attributes: + action: + due_days_per_severity: + - due_in_days: 7 + severity: critical + - due_in_days: 30 + severity: high + due_from: first_seen + created_at: 1722439510282 + created_by: + id: 00000000-0000-0000-0000-000000000000 + name: Jane Doe + type: user + enabled: true + modified_at: 1722439510282 + modified_by: + id: 00000000-0000-0000-0000-000000000000 + name: Jane Doe + type: user + name: Critical findings due in 7 days + rule: + finding_types: + - misconfiguration + query: env:prod + id: 00000000-0000-0000-0000-000000000000 + type: due_date_rules + schema: + $ref: '#/components/schemas/DueDateRuleResponse' + description: Successfully created the due date rule + '400': + content: + application/json: + schema: + $ref: '#/components/schemas/JSONAPIErrorResponse' + description: Bad Request + '403': + $ref: '#/components/responses/ForbiddenResponse' + '422': + content: + application/json: + schema: + $ref: '#/components/schemas/JSONAPIErrorResponse' + description: Unprocessable Entity + '429': + $ref: '#/components/responses/TooManyRequestsResponse' + security: + - apiKeyAuth: [] + appKeyAuth: [] + summary: Create a due date rule + tags: + - Security Monitoring + x-codegen-request-body-name: body + x-permission: + operator: OR + permissions: + - security_pipelines_write + x-unstable: |- + **Note**: This endpoint is in Preview and is subject to change. + If you have any feedback, contact [Datadog support](https://docs.datadoghq.com/help/). + /api/v2/security/findings/automation/due_date_rules/reorder: + post: + description: Reorder the list of due date rules for the current organization. + operationId: ReorderSecurityFindingsAutomationDueDateRules + requestBody: + content: + application/json: + examples: + default: + value: + data: + - id: 00000000-0000-0000-0000-000000000000 + type: due_date_rules + - id: 11111111-1111-1111-1111-111111111111 + type: due_date_rules + schema: + $ref: '#/components/schemas/DueDateRuleReorderRequest' required: true responses: '200': content: application/json: + examples: + default: + value: + data: + - id: 00000000-0000-0000-0000-000000000000 + type: due_date_rules + - id: 11111111-1111-1111-1111-111111111111 + type: due_date_rules schema: - $ref: '#/components/schemas/SecurityFilterResponse' - description: OK + $ref: '#/components/schemas/DueDateRuleReorderRequest' + description: Successfully reordered the due date rules '400': - $ref: '#/components/responses/BadRequestResponse' + content: + application/json: + schema: + $ref: '#/components/schemas/JSONAPIErrorResponse' + description: Bad Request '403': - $ref: '#/components/responses/NotAuthorizedResponse' - '409': - $ref: '#/components/responses/ConflictResponse' + $ref: '#/components/responses/ForbiddenResponse' + '422': + content: + application/json: + schema: + $ref: '#/components/schemas/JSONAPIErrorResponse' + description: Unprocessable Entity '429': $ref: '#/components/responses/TooManyRequestsResponse' security: - apiKeyAuth: [] appKeyAuth: [] - - AuthZ: - - security_monitoring_filters_write - summary: Create a security filter + summary: Reorder due date rules tags: - Security Monitoring x-codegen-request-body-name: body x-permission: operator: OR permissions: - - security_monitoring_filters_write - /api/v2/security_monitoring/configuration/security_filters/{security_filter_id}: + - security_pipelines_write + x-unstable: |- + **Note**: This endpoint is in Preview and is subject to change. + If you have any feedback, contact [Datadog support](https://docs.datadoghq.com/help/). + /api/v2/security/findings/automation/due_date_rules/{rule_id}: delete: - description: Delete a specific security filter. - operationId: DeleteSecurityFilter + description: Delete an existing due date rule by ID. + operationId: DeleteSecurityFindingsAutomationDueDateRule parameters: - - $ref: '#/components/parameters/SecurityFilterID' + - description: The ID of the due date rule. + in: path + name: rule_id + required: true + schema: + example: 00000000-0000-0000-0000-000000000000 + format: uuid + type: string responses: '204': - description: OK + description: Rule successfully deleted. '403': - $ref: '#/components/responses/NotAuthorizedResponse' + $ref: '#/components/responses/ForbiddenResponse' '404': $ref: '#/components/responses/NotFoundResponse' '429': @@ -2491,36 +3451,67 @@ paths: security: - apiKeyAuth: [] appKeyAuth: [] - - AuthZ: - - security_monitoring_filters_write - summary: Delete a security filter + summary: Delete a due date rule tags: - Security Monitoring x-permission: operator: OR permissions: - - security_monitoring_filters_write + - security_pipelines_write + x-unstable: |- + **Note**: This endpoint is in Preview and is subject to change. + If you have any feedback, contact [Datadog support](https://docs.datadoghq.com/help/). get: - description: >- - Get the details of a specific security filter. - - - See the [security filter - guide](https://docs.datadoghq.com/security_platform/guide/how-to-setup-security-filters-using-security-monitoring-api/) - - for more examples. - operationId: GetSecurityFilter + description: Get the details of a due date rule by ID. + operationId: GetSecurityFindingsAutomationDueDateRule parameters: - - $ref: '#/components/parameters/SecurityFilterID' + - description: The ID of the due date rule. + in: path + name: rule_id + required: true + schema: + example: 00000000-0000-0000-0000-000000000000 + format: uuid + type: string responses: '200': content: application/json: + examples: + default: + value: + data: + attributes: + action: + due_days_per_severity: + - due_in_days: 7 + severity: critical + - due_in_days: 30 + severity: high + due_from: first_seen + created_at: 1722439510282 + created_by: + id: 00000000-0000-0000-0000-000000000000 + name: Jane Doe + type: user + enabled: true + modified_at: 1722439510282 + modified_by: + id: 00000000-0000-0000-0000-000000000000 + name: Jane Doe + type: user + name: Critical findings due in 7 days + rule: + finding_types: + - misconfiguration + query: env:prod + id: 00000000-0000-0000-0000-000000000000 + type: due_date_rules schema: - $ref: '#/components/schemas/SecurityFilterResponse' - description: OK + $ref: '#/components/schemas/DueDateRuleResponse' + description: Successfully retrieved the due date rule '403': - $ref: '#/components/responses/NotAuthorizedResponse' + $ref: '#/components/responses/ForbiddenResponse' '404': $ref: '#/components/responses/NotFoundResponse' '429': @@ -2528,219 +3519,379 @@ paths: security: - apiKeyAuth: [] appKeyAuth: [] - - AuthZ: - - security_monitoring_filters_read - summary: Get a security filter + summary: Get a due date rule tags: - Security Monitoring x-permission: operator: OR permissions: - - security_monitoring_filters_read - patch: - description: |- - Update a specific security filter. - Returns the security filter object when the request is successful. - operationId: UpdateSecurityFilter + - security_pipelines_read + x-unstable: |- + **Note**: This endpoint is in Preview and is subject to change. + If you have any feedback, contact [Datadog support](https://docs.datadoghq.com/help/). + put: + description: Update an existing due date rule by ID. + operationId: UpdateSecurityFindingsAutomationDueDateRule parameters: - - $ref: '#/components/parameters/SecurityFilterID' + - description: The ID of the due date rule. + in: path + name: rule_id + required: true + schema: + example: 00000000-0000-0000-0000-000000000000 + format: uuid + type: string requestBody: content: application/json: + examples: + default: + value: + data: + attributes: + action: + due_days_per_severity: + - due_in_days: 7 + severity: critical + - due_in_days: 30 + severity: high + - due_in_days: 90 + severity: medium + due_from: fix_available + enabled: true + name: Critical findings due in 7 days + rule: + finding_types: + - misconfiguration + query: env:prod + type: due_date_rules schema: - $ref: '#/components/schemas/SecurityFilterUpdateRequest' - description: New definition of the security filter. + $ref: '#/components/schemas/DueDateRuleUpdateRequest' required: true responses: '200': content: application/json: + examples: + default: + value: + data: + attributes: + action: + due_days_per_severity: + - due_in_days: 7 + severity: critical + - due_in_days: 30 + severity: high + - due_in_days: 90 + severity: medium + due_from: fix_available + created_at: 1722439510282 + created_by: + id: 00000000-0000-0000-0000-000000000000 + name: Jane Doe + type: user + enabled: true + modified_at: 1722439510999 + modified_by: + id: 00000000-0000-0000-0000-000000000000 + name: Jane Doe + type: user + name: Critical findings due in 7 days + rule: + finding_types: + - misconfiguration + query: env:prod + id: 00000000-0000-0000-0000-000000000000 + type: due_date_rules schema: - $ref: '#/components/schemas/SecurityFilterResponse' - description: OK + $ref: '#/components/schemas/DueDateRuleResponse' + description: Successfully updated the due date rule '400': - $ref: '#/components/responses/BadRequestResponse' + content: + application/json: + schema: + $ref: '#/components/schemas/JSONAPIErrorResponse' + description: Bad Request '403': - $ref: '#/components/responses/NotAuthorizedResponse' + $ref: '#/components/responses/ForbiddenResponse' '404': $ref: '#/components/responses/NotFoundResponse' - '409': - $ref: '#/components/responses/ConcurrentModificationResponse' - '429': + '422': + content: + application/json: + schema: + $ref: '#/components/schemas/JSONAPIErrorResponse' + description: Unprocessable Entity + '429': $ref: '#/components/responses/TooManyRequestsResponse' security: - apiKeyAuth: [] appKeyAuth: [] - - AuthZ: - - security_monitoring_filters_write - summary: Update a security filter + summary: Update a due date rule tags: - Security Monitoring x-codegen-request-body-name: body x-permission: operator: OR permissions: - - security_monitoring_filters_write - /api/v2/security_monitoring/configuration/suppressions: + - security_pipelines_write + x-unstable: |- + **Note**: This endpoint is in Preview and is subject to change. + If you have any feedback, contact [Datadog support](https://docs.datadoghq.com/help/). + /api/v2/security/findings/automation/mute_rules: get: - description: Get the list of all suppression rules. - operationId: ListSecurityMonitoringSuppressions + description: Get all mute rules for the current organization. + operationId: ListSecurityFindingsAutomationMuteRules + parameters: + - description: The number of rules per page. Maximum is 1000. + in: query + name: page[size] + required: false + schema: + default: 1000 + example: 10 + format: int64 + maximum: 1000 + minimum: 1 + type: integer + - description: The page number to return. + in: query + name: page[number] + required: false + schema: + default: 0 + example: 0 + format: int64 + minimum: 0 + type: integer responses: '200': content: application/json: + examples: + default: + value: + data: + - attributes: + action: + expire_at: 4070908800000 + reason: risk_accepted + reason_description: Accepted for dev environments only + created_at: 1722439510282 + created_by: + id: 00000000-0000-0000-0000-000000000000 + name: Jane Doe + type: user + enabled: true + modified_at: 1722439510282 + modified_by: + id: 00000000-0000-0000-0000-000000000000 + name: Jane Doe + type: user + name: Mute accepted risks in dev + rule: + finding_types: + - misconfiguration + query: env:dev team:platform @severity:low + id: 00000000-0000-0000-0000-000000000000 + type: mute_rules + links: + first: /api/v2/security/findings/automation/mute_rules?page[size]=1000&page[number]=0 + last: /api/v2/security/findings/automation/mute_rules?page[size]=1000&page[number]=0 + meta: + page: + total_filtered_count: 1 schema: - $ref: '#/components/schemas/SecurityMonitoringSuppressionsResponse' - description: OK + $ref: '#/components/schemas/MuteRulesResponse' + description: Successfully retrieved the list of mute rules '403': - $ref: '#/components/responses/NotAuthorizedResponse' + $ref: '#/components/responses/ForbiddenResponse' '429': $ref: '#/components/responses/TooManyRequestsResponse' security: - apiKeyAuth: [] appKeyAuth: [] - - AuthZ: - - security_monitoring_suppressions_read - summary: Get all suppression rules + summary: Get all mute rules tags: - Security Monitoring + x-permission: + operator: OR + permissions: + - security_pipelines_read + x-unstable: |- + **Note**: This endpoint is in Preview and is subject to change. + If you have any feedback, contact [Datadog support](https://docs.datadoghq.com/help/). post: - description: Create a new suppression rule. - operationId: CreateSecurityMonitoringSuppression + description: Create a new mute rule for the current organization. + operationId: CreateSecurityFindingsAutomationMuteRule requestBody: content: application/json: + examples: + default: + value: + data: + attributes: + action: + expire_at: 4070908800000 + reason: risk_accepted + reason_description: Accepted for dev environments only + enabled: true + name: Mute accepted risks in dev + rule: + finding_types: + - misconfiguration + query: env:dev team:platform @severity:low + type: mute_rules schema: - $ref: '#/components/schemas/SecurityMonitoringSuppressionCreateRequest' - description: The definition of the new suppression rule. + $ref: '#/components/schemas/MuteRuleCreateRequest' required: true responses: - '200': + '201': content: application/json: + examples: + default: + value: + data: + attributes: + action: + expire_at: 4070908800000 + reason: risk_accepted + reason_description: Accepted for dev environments only + created_at: 1722439510282 + created_by: + id: 00000000-0000-0000-0000-000000000000 + name: Jane Doe + type: user + enabled: true + modified_at: 1722439510282 + modified_by: + id: 00000000-0000-0000-0000-000000000000 + name: Jane Doe + type: user + name: Mute accepted risks in dev + rule: + finding_types: + - misconfiguration + query: env:dev team:platform @severity:low + id: 00000000-0000-0000-0000-000000000000 + type: mute_rules schema: - $ref: '#/components/schemas/SecurityMonitoringSuppressionResponse' - description: OK + $ref: '#/components/schemas/MuteRuleResponse' + description: Successfully created the mute rule '400': - $ref: '#/components/responses/BadRequestResponse' + content: + application/json: + schema: + $ref: '#/components/schemas/JSONAPIErrorResponse' + description: Bad Request '403': - $ref: '#/components/responses/NotAuthorizedResponse' - '409': - $ref: '#/components/responses/ConflictResponse' + $ref: '#/components/responses/ForbiddenResponse' + '422': + content: + application/json: + schema: + $ref: '#/components/schemas/JSONAPIErrorResponse' + description: Unprocessable Entity '429': $ref: '#/components/responses/TooManyRequestsResponse' security: - apiKeyAuth: [] appKeyAuth: [] - - AuthZ: - - security_monitoring_suppressions_write - summary: Create a suppression rule + summary: Create a mute rule tags: - Security Monitoring x-codegen-request-body-name: body - /api/v2/security_monitoring/configuration/suppressions/rules: + x-permission: + operator: OR + permissions: + - security_pipelines_write + x-unstable: |- + **Note**: This endpoint is in Preview and is subject to change. + If you have any feedback, contact [Datadog support](https://docs.datadoghq.com/help/). + /api/v2/security/findings/automation/mute_rules/reorder: post: - description: Get the list of suppressions that would affect a rule. - operationId: GetSuppressionsAffectingFutureRule + description: Reorder the list of mute rules for the current organization. + operationId: ReorderSecurityFindingsAutomationMuteRules requestBody: content: application/json: + examples: + default: + value: + data: + - id: 00000000-0000-0000-0000-000000000000 + type: mute_rules + - id: 11111111-1111-1111-1111-111111111111 + type: mute_rules schema: - $ref: '#/components/schemas/SecurityMonitoringRuleCreatePayload' + $ref: '#/components/schemas/MuteRuleReorderRequest' required: true responses: '200': content: application/json: + examples: + default: + value: + data: + - id: 00000000-0000-0000-0000-000000000000 + type: mute_rules + - id: 11111111-1111-1111-1111-111111111111 + type: mute_rules schema: - $ref: '#/components/schemas/SecurityMonitoringSuppressionsResponse' - description: OK + $ref: '#/components/schemas/MuteRuleReorderRequest' + description: Successfully reordered the mute rules '400': - $ref: '#/components/responses/BadRequestResponse' - '403': - $ref: '#/components/responses/NotAuthorizedResponse' - '429': - $ref: '#/components/responses/TooManyRequestsResponse' - security: - - apiKeyAuth: [] - appKeyAuth: [] - - AuthZ: - - security_monitoring_suppressions_read - summary: Get suppressions affecting future rule - tags: - - Security Monitoring - /api/v2/security_monitoring/configuration/suppressions/rules/{rule_id}: - get: - description: >- - Get the list of suppressions that affect a specific existing rule by its - ID. - operationId: GetSuppressionsAffectingRule - parameters: - - $ref: '#/components/parameters/SecurityMonitoringRuleID' - responses: - '200': content: application/json: schema: - $ref: '#/components/schemas/SecurityMonitoringSuppressionsResponse' - description: OK - '403': - $ref: '#/components/responses/NotAuthorizedResponse' - '404': - $ref: '#/components/responses/NotFoundResponse' - '429': - $ref: '#/components/responses/TooManyRequestsResponse' - security: - - apiKeyAuth: [] - appKeyAuth: [] - - AuthZ: - - security_monitoring_suppressions_read - summary: Get suppressions affecting a specific rule - tags: - - Security Monitoring - /api/v2/security_monitoring/configuration/suppressions/validation: - post: - description: Validate a suppression rule. - operationId: ValidateSecurityMonitoringSuppression - requestBody: - content: - application/json: - schema: - $ref: '#/components/schemas/SecurityMonitoringSuppressionCreateRequest' - required: true - responses: - '204': - description: OK - '400': - $ref: '#/components/responses/BadRequestResponse' + $ref: '#/components/schemas/JSONAPIErrorResponse' + description: Bad Request '403': - $ref: '#/components/responses/NotAuthorizedResponse' + $ref: '#/components/responses/ForbiddenResponse' + '422': + content: + application/json: + schema: + $ref: '#/components/schemas/JSONAPIErrorResponse' + description: Unprocessable Entity '429': $ref: '#/components/responses/TooManyRequestsResponse' security: - apiKeyAuth: [] appKeyAuth: [] - - AuthZ: - - security_monitoring_suppressions_write - summary: Validate a suppression rule + summary: Reorder mute rules tags: - Security Monitoring x-codegen-request-body-name: body x-permission: operator: OR permissions: - - security_monitoring_suppressions_write - /api/v2/security_monitoring/configuration/suppressions/{suppression_id}: + - security_pipelines_write + x-unstable: |- + **Note**: This endpoint is in Preview and is subject to change. + If you have any feedback, contact [Datadog support](https://docs.datadoghq.com/help/). + /api/v2/security/findings/automation/mute_rules/{rule_id}: delete: - description: Delete a specific suppression rule. - operationId: DeleteSecurityMonitoringSuppression + description: Delete an existing mute rule by ID. + operationId: DeleteSecurityFindingsAutomationMuteRule parameters: - - $ref: '#/components/parameters/SecurityMonitoringSuppressionID' + - description: The ID of the mute rule. + in: path + name: rule_id + required: true + schema: + example: 00000000-0000-0000-0000-000000000000 + format: uuid + type: string responses: '204': - description: OK + description: Rule successfully deleted. '403': - $ref: '#/components/responses/NotAuthorizedResponse' + $ref: '#/components/responses/ForbiddenResponse' '404': $ref: '#/components/responses/NotFoundResponse' '429': @@ -2748,25 +3899,64 @@ paths: security: - apiKeyAuth: [] appKeyAuth: [] - - AuthZ: - - security_monitoring_suppressions_write - summary: Delete a suppression rule + summary: Delete a mute rule tags: - Security Monitoring + x-permission: + operator: OR + permissions: + - security_pipelines_write + x-unstable: |- + **Note**: This endpoint is in Preview and is subject to change. + If you have any feedback, contact [Datadog support](https://docs.datadoghq.com/help/). get: - description: Get the details of a specific suppression rule. - operationId: GetSecurityMonitoringSuppression + description: Get the details of a mute rule by ID. + operationId: GetSecurityFindingsAutomationMuteRule parameters: - - $ref: '#/components/parameters/SecurityMonitoringSuppressionID' + - description: The ID of the mute rule. + in: path + name: rule_id + required: true + schema: + example: 00000000-0000-0000-0000-000000000000 + format: uuid + type: string responses: '200': content: application/json: + examples: + default: + value: + data: + attributes: + action: + expire_at: 4070908800000 + reason: risk_accepted + reason_description: Accepted for dev environments only + created_at: 1722439510282 + created_by: + id: 00000000-0000-0000-0000-000000000000 + name: Jane Doe + type: user + enabled: true + modified_at: 1722439510282 + modified_by: + id: 00000000-0000-0000-0000-000000000000 + name: Jane Doe + type: user + name: Mute accepted risks in dev + rule: + finding_types: + - misconfiguration + query: env:dev team:platform @severity:low + id: 00000000-0000-0000-0000-000000000000 + type: mute_rules schema: - $ref: '#/components/schemas/SecurityMonitoringSuppressionResponse' - description: OK + $ref: '#/components/schemas/MuteRuleResponse' + description: Successfully retrieved the mute rule '403': - $ref: '#/components/responses/NotAuthorizedResponse' + $ref: '#/components/responses/ForbiddenResponse' '404': $ref: '#/components/responses/NotFoundResponse' '429': @@ -2774,550 +3964,1021 @@ paths: security: - apiKeyAuth: [] appKeyAuth: [] - - AuthZ: - - security_monitoring_suppressions_read - summary: Get a suppression rule + summary: Get a mute rule tags: - Security Monitoring - patch: - description: Update a specific suppression rule. - operationId: UpdateSecurityMonitoringSuppression + x-permission: + operator: OR + permissions: + - security_pipelines_read + x-unstable: |- + **Note**: This endpoint is in Preview and is subject to change. + If you have any feedback, contact [Datadog support](https://docs.datadoghq.com/help/). + put: + description: Update an existing mute rule by ID. + operationId: UpdateSecurityFindingsAutomationMuteRule parameters: - - $ref: '#/components/parameters/SecurityMonitoringSuppressionID' + - description: The ID of the mute rule. + in: path + name: rule_id + required: true + schema: + example: 00000000-0000-0000-0000-000000000000 + format: uuid + type: string requestBody: content: application/json: + examples: + default: + value: + data: + attributes: + action: + reason: risk_accepted + enabled: false + name: Mute accepted risks in dev + rule: + finding_types: + - misconfiguration + query: env:dev + type: mute_rules schema: - $ref: '#/components/schemas/SecurityMonitoringSuppressionUpdateRequest' - description: New definition of the suppression rule. Supports partial updates. + $ref: '#/components/schemas/MuteRuleUpdateRequest' required: true responses: '200': content: application/json: + examples: + default: + value: + data: + attributes: + action: + reason: risk_accepted + created_at: 1722439510282 + created_by: + id: 00000000-0000-0000-0000-000000000000 + name: Jane Doe + type: user + enabled: false + modified_at: 1722439510999 + modified_by: + id: 00000000-0000-0000-0000-000000000000 + name: Jane Doe + type: user + name: Mute accepted risks in dev + rule: + finding_types: + - misconfiguration + query: env:dev + id: 00000000-0000-0000-0000-000000000000 + type: mute_rules schema: - $ref: '#/components/schemas/SecurityMonitoringSuppressionResponse' - description: OK + $ref: '#/components/schemas/MuteRuleResponse' + description: Successfully updated the mute rule '400': - $ref: '#/components/responses/BadRequestResponse' + content: + application/json: + schema: + $ref: '#/components/schemas/JSONAPIErrorResponse' + description: Bad Request '403': - $ref: '#/components/responses/NotAuthorizedResponse' + $ref: '#/components/responses/ForbiddenResponse' '404': $ref: '#/components/responses/NotFoundResponse' - '409': - $ref: '#/components/responses/ConcurrentModificationResponse' + '422': + content: + application/json: + schema: + $ref: '#/components/schemas/JSONAPIErrorResponse' + description: Unprocessable Entity '429': $ref: '#/components/responses/TooManyRequestsResponse' security: - apiKeyAuth: [] appKeyAuth: [] - - AuthZ: - - security_monitoring_suppressions_write - summary: Update a suppression rule + summary: Update a mute rule tags: - Security Monitoring - /api/v2/security_monitoring/rules: + x-codegen-request-body-name: body + x-permission: + operator: OR + permissions: + - security_pipelines_write + x-unstable: |- + **Note**: This endpoint is in Preview and is subject to change. + If you have any feedback, contact [Datadog support](https://docs.datadoghq.com/help/). + /api/v2/security/findings/automation/severity_modifier_rules: get: - description: List rules. - operationId: ListSecurityMonitoringRules + description: Get all severity modifier rules for the current organization. + operationId: ListSecurityFindingsAutomationSeverityModifierRules parameters: - - $ref: '#/components/parameters/PageSize' - - $ref: '#/components/parameters/PageNumber' + - description: The number of rules per page. Maximum is 1000. + in: query + name: page[size] + required: false + schema: + default: 1000 + example: 10 + format: int64 + maximum: 1000 + minimum: 1 + type: integer + - description: The page number to return. + in: query + name: page[number] + required: false + schema: + default: 0 + example: 0 + format: int64 + minimum: 0 + type: integer responses: '200': content: application/json: + examples: + default: + value: + data: + - attributes: + action: + description: Lower severity for dev environment noise + severity: low + type: set + created_at: 1722439510282 + created_by: + id: 00000000-0000-0000-0000-000000000000 + name: Jane Doe + type: user + enabled: true + modified_at: 1722439510282 + modified_by: + id: 00000000-0000-0000-0000-000000000000 + name: Jane Doe + type: user + name: Downgrade misconfigurations in dev + rule: + finding_types: + - misconfiguration + query: env:dev + id: 00000000-0000-0000-0000-000000000000 + type: severity_modifier_rules + links: + first: /api/v2/security/findings/automation/severity_modifier_rules?page[size]=1000&page[number]=0 + last: /api/v2/security/findings/automation/severity_modifier_rules?page[size]=1000&page[number]=0 + meta: + page: + total_filtered_count: 1 schema: - $ref: '#/components/schemas/SecurityMonitoringListRulesResponse' - description: OK - '400': - $ref: '#/components/responses/BadRequestResponse' + $ref: '#/components/schemas/SeverityModifierRulesResponse' + description: Successfully retrieved the list of severity modifier rules + '403': + $ref: '#/components/responses/ForbiddenResponse' + '404': + $ref: '#/components/responses/NotFoundResponse' '429': $ref: '#/components/responses/TooManyRequestsResponse' security: - apiKeyAuth: [] appKeyAuth: [] - - AuthZ: - - security_monitoring_rules_read - summary: List rules + summary: Get all severity modifier rules tags: - Security Monitoring x-permission: operator: OR permissions: - - security_monitoring_rules_read + - security_pipelines_read + x-unstable: |- + **Note**: This endpoint is in Preview and is subject to change. + If you have any feedback, contact [Datadog support](https://docs.datadoghq.com/help/). post: - description: Create a detection rule. - operationId: CreateSecurityMonitoringRule + description: Create a new severity modifier rule for the current organization. + operationId: CreateSecurityFindingsAutomationSeverityModifierRule requestBody: content: application/json: + examples: + default: + value: + data: + attributes: + action: + description: Lower severity for dev environment noise + severity: low + type: set + enabled: true + name: Downgrade misconfigurations in dev + rule: + finding_types: + - misconfiguration + query: env:dev + type: severity_modifier_rules schema: - $ref: '#/components/schemas/SecurityMonitoringRuleCreatePayload' + $ref: '#/components/schemas/SeverityModifierRuleCreateRequest' required: true responses: - '200': + '201': content: application/json: + examples: + default: + value: + data: + attributes: + action: + description: Lower severity for dev environment noise + severity: low + type: set + created_at: 1722439510282 + created_by: + id: 00000000-0000-0000-0000-000000000000 + name: Jane Doe + type: user + enabled: true + modified_at: 1722439510282 + modified_by: + id: 00000000-0000-0000-0000-000000000000 + name: Jane Doe + type: user + name: Downgrade misconfigurations in dev + rule: + finding_types: + - misconfiguration + query: env:dev + id: 00000000-0000-0000-0000-000000000000 + type: severity_modifier_rules schema: - $ref: '#/components/schemas/SecurityMonitoringRuleResponse' - description: OK + $ref: '#/components/schemas/SeverityModifierRuleResponse' + description: Successfully created the severity modifier rule '400': - $ref: '#/components/responses/BadRequestResponse' - '403': - $ref: '#/components/responses/NotAuthorizedResponse' - '429': - $ref: '#/components/responses/TooManyRequestsResponse' - security: - - apiKeyAuth: [] - appKeyAuth: [] - - AuthZ: - - security_monitoring_rules_write - summary: Create a detection rule - tags: - - Security Monitoring - x-codegen-request-body-name: body - x-permission: - operator: OR - permissions: - - security_monitoring_rules_write - /api/v2/security_monitoring/rules/convert: - post: - description: >- - Convert a rule that doesn't (yet) exist from JSON to Terraform for - datadog provider - - resource datadog_security_monitoring_rule. - operationId: ConvertSecurityMonitoringRuleFromJSONToTerraform - requestBody: - content: - application/json: - schema: - $ref: '#/components/schemas/SecurityMonitoringRuleConvertPayload' - required: true - responses: - '200': content: application/json: schema: - $ref: '#/components/schemas/SecurityMonitoringRuleConvertResponse' - description: OK - '400': - $ref: '#/components/responses/BadRequestResponse' - '401': - $ref: '#/components/responses/ConcurrentModificationResponse' + $ref: '#/components/schemas/JSONAPIErrorResponse' + description: Bad Request '403': - $ref: '#/components/responses/NotAuthorizedResponse' - '404': - $ref: '#/components/responses/NotFoundResponse' + $ref: '#/components/responses/ForbiddenResponse' + '422': + content: + application/json: + schema: + $ref: '#/components/schemas/JSONAPIErrorResponse' + description: Unprocessable Entity '429': $ref: '#/components/responses/TooManyRequestsResponse' security: - apiKeyAuth: [] appKeyAuth: [] - - AuthZ: - - security_monitoring_rules_write - summary: Convert a rule from JSON to Terraform + summary: Create a severity modifier rule tags: - Security Monitoring x-codegen-request-body-name: body x-permission: operator: OR permissions: - - security_monitoring_rules_write - /api/v2/security_monitoring/rules/test: + - security_pipelines_write + x-unstable: |- + **Note**: This endpoint is in Preview and is subject to change. + If you have any feedback, contact [Datadog support](https://docs.datadoghq.com/help/). + /api/v2/security/findings/automation/severity_modifier_rules/reorder: post: - description: Test a rule. - operationId: TestSecurityMonitoringRule + description: Reorder the list of severity modifier rules for the current organization. + operationId: ReorderSecurityFindingsAutomationSeverityModifierRules requestBody: content: application/json: + examples: + default: + value: + data: + - id: 00000000-0000-0000-0000-000000000000 + type: severity_modifier_rules + - id: 11111111-1111-1111-1111-111111111111 + type: severity_modifier_rules schema: - $ref: '#/components/schemas/SecurityMonitoringRuleTestRequest' + $ref: '#/components/schemas/SeverityModifierRuleReorderRequest' required: true responses: '200': content: application/json: + examples: + default: + value: + data: + - id: 00000000-0000-0000-0000-000000000000 + type: severity_modifier_rules + - id: 11111111-1111-1111-1111-111111111111 + type: severity_modifier_rules schema: - $ref: '#/components/schemas/SecurityMonitoringRuleTestResponse' - description: OK - '400': - $ref: '#/components/responses/BadRequestResponse' - '401': - $ref: '#/components/responses/ConcurrentModificationResponse' - '403': - $ref: '#/components/responses/NotAuthorizedResponse' - '404': - $ref: '#/components/responses/NotFoundResponse' - '429': - $ref: '#/components/responses/TooManyRequestsResponse' - security: - - apiKeyAuth: [] - appKeyAuth: [] - - AuthZ: - - security_monitoring_rules_write - summary: Test a rule - tags: - - Security Monitoring - x-codegen-request-body-name: body - x-permission: - operator: OR - permissions: - - security_monitoring_rules_write - /api/v2/security_monitoring/rules/validation: - post: - description: Validate a detection rule. - operationId: ValidateSecurityMonitoringRule - requestBody: - content: - application/json: - schema: - $ref: '#/components/schemas/SecurityMonitoringRuleValidatePayload' - required: true - responses: - '204': - description: OK + $ref: '#/components/schemas/SeverityModifierRuleReorderResponse' + description: Successfully reordered the severity modifier rules '400': - $ref: '#/components/responses/BadRequestResponse' + content: + application/json: + schema: + $ref: '#/components/schemas/JSONAPIErrorResponse' + description: Bad Request '403': - $ref: '#/components/responses/NotAuthorizedResponse' + $ref: '#/components/responses/ForbiddenResponse' + '422': + content: + application/json: + schema: + $ref: '#/components/schemas/JSONAPIErrorResponse' + description: Unprocessable Entity '429': $ref: '#/components/responses/TooManyRequestsResponse' security: - apiKeyAuth: [] appKeyAuth: [] - - AuthZ: - - security_monitoring_rules_write - summary: Validate a detection rule + summary: Reorder severity modifier rules tags: - Security Monitoring x-codegen-request-body-name: body x-permission: operator: OR permissions: - - security_monitoring_rules_write - /api/v2/security_monitoring/rules/{rule_id}: + - security_pipelines_write + x-unstable: |- + **Note**: This endpoint is in Preview and is subject to change. + If you have any feedback, contact [Datadog support](https://docs.datadoghq.com/help/). + /api/v2/security/findings/automation/severity_modifier_rules/{rule_id}: delete: - description: Delete an existing rule. Default rules cannot be deleted. - operationId: DeleteSecurityMonitoringRule + description: Delete an existing severity modifier rule by ID. + operationId: DeleteSecurityFindingsAutomationSeverityModifierRule parameters: - - $ref: '#/components/parameters/SecurityMonitoringRuleID' + - description: The ID of the severity modifier rule. + in: path + name: rule_id + required: true + schema: + example: 00000000-0000-0000-0000-000000000000 + format: uuid + type: string responses: '204': - description: OK + description: Rule successfully deleted '403': - $ref: '#/components/responses/NotAuthorizedResponse' + $ref: '#/components/responses/ForbiddenResponse' '404': $ref: '#/components/responses/NotFoundResponse' + '422': + content: + application/json: + schema: + $ref: '#/components/schemas/JSONAPIErrorResponse' + description: Unprocessable Entity '429': $ref: '#/components/responses/TooManyRequestsResponse' security: - apiKeyAuth: [] appKeyAuth: [] - - AuthZ: - - security_monitoring_rules_write - summary: Delete an existing rule + summary: Delete a severity modifier rule tags: - Security Monitoring x-permission: operator: OR permissions: - - security_monitoring_rules_write + - security_pipelines_write + x-unstable: |- + **Note**: This endpoint is in Preview and is subject to change. + If you have any feedback, contact [Datadog support](https://docs.datadoghq.com/help/). get: - description: Get a rule's details. - operationId: GetSecurityMonitoringRule + description: Get the details of a severity modifier rule by ID. + operationId: GetSecurityFindingsAutomationSeverityModifierRule parameters: - - $ref: '#/components/parameters/SecurityMonitoringRuleID' + - description: The ID of the severity modifier rule. + in: path + name: rule_id + required: true + schema: + example: 00000000-0000-0000-0000-000000000000 + format: uuid + type: string responses: '200': content: application/json: + examples: + default: + value: + data: + attributes: + action: + description: Lower severity for dev environment noise + severity: low + type: set + created_at: 1722439510282 + created_by: + id: 00000000-0000-0000-0000-000000000000 + name: Jane Doe + type: user + enabled: true + modified_at: 1722439510282 + modified_by: + id: 00000000-0000-0000-0000-000000000000 + name: Jane Doe + type: user + name: Downgrade misconfigurations in dev + rule: + finding_types: + - misconfiguration + query: env:dev + id: 00000000-0000-0000-0000-000000000000 + type: severity_modifier_rules schema: - $ref: '#/components/schemas/SecurityMonitoringRuleResponse' - description: OK + $ref: '#/components/schemas/SeverityModifierRuleResponse' + description: Successfully retrieved the severity modifier rule + '403': + $ref: '#/components/responses/ForbiddenResponse' '404': $ref: '#/components/responses/NotFoundResponse' + '422': + content: + application/json: + schema: + $ref: '#/components/schemas/JSONAPIErrorResponse' + description: Unprocessable Entity '429': $ref: '#/components/responses/TooManyRequestsResponse' security: - apiKeyAuth: [] appKeyAuth: [] - - AuthZ: - - security_monitoring_rules_read - summary: Get a rule's details + summary: Get a severity modifier rule tags: - Security Monitoring x-permission: operator: OR permissions: - - security_monitoring_rules_read + - security_pipelines_read + x-unstable: |- + **Note**: This endpoint is in Preview and is subject to change. + If you have any feedback, contact [Datadog support](https://docs.datadoghq.com/help/). put: - description: >- - Update an existing rule. When updating `cases`, `queries` or `options`, - the whole field - - must be included. For example, when modifying a query all queries must - be included. - - Default rules can only be updated to be enabled, to change - notifications, or to update - - the tags (default tags cannot be removed). - operationId: UpdateSecurityMonitoringRule + description: Update an existing severity modifier rule by ID. + operationId: UpdateSecurityFindingsAutomationSeverityModifierRule parameters: - - $ref: '#/components/parameters/SecurityMonitoringRuleID' + - description: The ID of the severity modifier rule. + in: path + name: rule_id + required: true + schema: + example: 00000000-0000-0000-0000-000000000000 + format: uuid + type: string requestBody: content: application/json: + examples: + default: + value: + data: + attributes: + action: + severity_delta: down_one + type: shift + enabled: false + name: Downgrade misconfigurations in dev + rule: + finding_types: + - misconfiguration + query: env:dev + type: severity_modifier_rules schema: - $ref: '#/components/schemas/SecurityMonitoringRuleUpdatePayload' + $ref: '#/components/schemas/SeverityModifierRuleUpdateRequest' required: true responses: '200': content: application/json: + examples: + default: + value: + data: + attributes: + action: + severity_delta: down_one + type: shift + created_at: 1722439510282 + created_by: + id: 00000000-0000-0000-0000-000000000000 + name: Jane Doe + type: user + enabled: false + modified_at: 1722439510999 + modified_by: + id: 00000000-0000-0000-0000-000000000000 + name: Jane Doe + type: user + name: Downgrade misconfigurations in dev + rule: + finding_types: + - misconfiguration + query: env:dev + id: 00000000-0000-0000-0000-000000000000 + type: severity_modifier_rules schema: - $ref: '#/components/schemas/SecurityMonitoringRuleResponse' - description: OK + $ref: '#/components/schemas/SeverityModifierRuleResponse' + description: Successfully updated the severity modifier rule '400': - $ref: '#/components/responses/BadRequestResponse' - '401': - $ref: '#/components/responses/ConcurrentModificationResponse' + content: + application/json: + schema: + $ref: '#/components/schemas/JSONAPIErrorResponse' + description: Bad Request '403': - $ref: '#/components/responses/NotAuthorizedResponse' + $ref: '#/components/responses/ForbiddenResponse' '404': $ref: '#/components/responses/NotFoundResponse' + '422': + content: + application/json: + schema: + $ref: '#/components/schemas/JSONAPIErrorResponse' + description: Unprocessable Entity '429': $ref: '#/components/responses/TooManyRequestsResponse' security: - apiKeyAuth: [] appKeyAuth: [] - - AuthZ: - - security_monitoring_rules_write - summary: Update an existing rule + summary: Update a severity modifier rule tags: - Security Monitoring x-codegen-request-body-name: body x-permission: operator: OR permissions: - - security_monitoring_rules_write - /api/v2/security_monitoring/rules/{rule_id}/convert: + - security_pipelines_write + x-unstable: |- + **Note**: This endpoint is in Preview and is subject to change. + If you have any feedback, contact [Datadog support](https://docs.datadoghq.com/help/). + /api/v2/security/findings/automation/ticket_creation_rules: get: - description: |- - Convert an existing rule from JSON to Terraform for datadog provider - resource datadog_security_monitoring_rule. - operationId: ConvertExistingSecurityMonitoringRule + description: Get all ticket creation rules for the current organization. + operationId: ListSecurityFindingsAutomationTicketCreationRules parameters: - - $ref: '#/components/parameters/SecurityMonitoringRuleID' + - description: The number of rules per page. Maximum is 1000. + in: query + name: page[size] + required: false + schema: + default: 1000 + example: 10 + format: int64 + maximum: 1000 + minimum: 1 + type: integer + - description: The page number to return. + in: query + name: page[number] + required: false + schema: + default: 0 + example: 0 + format: int64 + minimum: 0 + type: integer responses: '200': content: application/json: + examples: + default: + value: + data: + - attributes: + action: + max_tickets_per_day: 100 + project_id: 11111111-1111-1111-1111-111111111111 + target: jira + created_at: 1722439510282 + created_by: + id: 00000000-0000-0000-0000-000000000000 + name: Jane Doe + type: user + enabled: true + modified_at: 1722439510282 + modified_by: + id: 00000000-0000-0000-0000-000000000000 + name: Jane Doe + type: user + name: Auto-create Jira tickets for critical findings + rule: + finding_types: + - misconfiguration + query: env:prod + id: 00000000-0000-0000-0000-000000000000 + type: ticket_creation_rules + links: + first: /api/v2/security/findings/automation/ticket_creation_rules?page[size]=1000&page[number]=0 + last: /api/v2/security/findings/automation/ticket_creation_rules?page[size]=1000&page[number]=0 + meta: + page: + total_filtered_count: 1 schema: - $ref: '#/components/schemas/SecurityMonitoringRuleConvertResponse' - description: OK - '400': - $ref: '#/components/responses/BadRequestResponse' + $ref: '#/components/schemas/TicketCreationRulesResponse' + description: Successfully retrieved the list of ticket creation rules '403': - $ref: '#/components/responses/NotAuthorizedResponse' - '404': - $ref: '#/components/responses/NotFoundResponse' + $ref: '#/components/responses/ForbiddenResponse' '429': $ref: '#/components/responses/TooManyRequestsResponse' security: - apiKeyAuth: [] appKeyAuth: [] - - AuthZ: - - security_monitoring_rules_read - summary: Convert an existing rule from JSON to Terraform + summary: Get all ticket creation rules tags: - Security Monitoring x-permission: operator: OR permissions: - - security_monitoring_rules_read - /api/v2/security_monitoring/rules/{rule_id}/test: + - security_pipelines_read + x-unstable: |- + **Note**: This endpoint is in Preview and is subject to change. + If you have any feedback, contact [Datadog support](https://docs.datadoghq.com/help/). post: - description: Test an existing rule. - operationId: TestExistingSecurityMonitoringRule - parameters: - - $ref: '#/components/parameters/SecurityMonitoringRuleID' + description: Create a new ticket creation rule for the current organization. + operationId: CreateSecurityFindingsAutomationTicketCreationRule requestBody: content: application/json: + examples: + default: + value: + data: + attributes: + action: + max_tickets_per_day: 100 + project_id: 11111111-1111-1111-1111-111111111111 + target: jira + enabled: true + name: Auto-create Jira tickets for critical findings + rule: + finding_types: + - misconfiguration + query: env:prod + type: ticket_creation_rules schema: - $ref: '#/components/schemas/SecurityMonitoringRuleTestRequest' + $ref: '#/components/schemas/TicketCreationRuleCreateRequest' required: true responses: - '200': + '201': content: application/json: + examples: + default: + value: + data: + attributes: + action: + max_tickets_per_day: 100 + project_id: 11111111-1111-1111-1111-111111111111 + target: jira + created_at: 1722439510282 + created_by: + id: 00000000-0000-0000-0000-000000000000 + name: Jane Doe + type: user + enabled: true + modified_at: 1722439510282 + modified_by: + id: 00000000-0000-0000-0000-000000000000 + name: Jane Doe + type: user + name: Auto-create Jira tickets for critical findings + rule: + finding_types: + - misconfiguration + query: env:prod + id: 00000000-0000-0000-0000-000000000000 + type: ticket_creation_rules schema: - $ref: '#/components/schemas/SecurityMonitoringRuleTestResponse' - description: OK + $ref: '#/components/schemas/TicketCreationRuleResponse' + description: Successfully created the ticket creation rule '400': - $ref: '#/components/responses/BadRequestResponse' - '401': - $ref: '#/components/responses/ConcurrentModificationResponse' + content: + application/json: + schema: + $ref: '#/components/schemas/JSONAPIErrorResponse' + description: Bad Request '403': - $ref: '#/components/responses/NotAuthorizedResponse' - '404': - $ref: '#/components/responses/NotFoundResponse' + $ref: '#/components/responses/ForbiddenResponse' + '422': + content: + application/json: + schema: + $ref: '#/components/schemas/JSONAPIErrorResponse' + description: Unprocessable Entity '429': $ref: '#/components/responses/TooManyRequestsResponse' security: - apiKeyAuth: [] appKeyAuth: [] - - AuthZ: - - security_monitoring_rules_write - summary: Test an existing rule + summary: Create a ticket creation rule tags: - Security Monitoring x-codegen-request-body-name: body x-permission: operator: OR permissions: - - security_monitoring_rules_write - /api/v2/security_monitoring/rules/{rule_id}/version_history: - get: - description: Get a rule's version history. - operationId: GetRuleVersionHistory - parameters: - - $ref: '#/components/parameters/SecurityMonitoringRuleID' - - $ref: '#/components/parameters/PageSize' - - $ref: '#/components/parameters/PageNumber' - responses: - '200': + - security_pipelines_write + x-unstable: |- + **Note**: This endpoint is in Preview and is subject to change. + If you have any feedback, contact [Datadog support](https://docs.datadoghq.com/help/). + /api/v2/security/findings/automation/ticket_creation_rules/reorder: + post: + description: Reorder the list of ticket creation rules for the current organization. + operationId: ReorderSecurityFindingsAutomationTicketCreationRules + requestBody: + content: + application/json: + examples: + default: + value: + data: + - id: 00000000-0000-0000-0000-000000000000 + type: ticket_creation_rules + - id: 11111111-1111-1111-1111-111111111111 + type: ticket_creation_rules + schema: + $ref: '#/components/schemas/TicketCreationRuleReorderRequest' + required: true + responses: + '200': content: application/json: + examples: + default: + value: + data: + - id: 00000000-0000-0000-0000-000000000000 + type: ticket_creation_rules + - id: 11111111-1111-1111-1111-111111111111 + type: ticket_creation_rules schema: - $ref: '#/components/schemas/GetRuleVersionHistoryResponse' - description: OK + $ref: '#/components/schemas/TicketCreationRuleReorderRequest' + description: Successfully reordered the ticket creation rules '400': - $ref: '#/components/responses/BadRequestResponse' + content: + application/json: + schema: + $ref: '#/components/schemas/JSONAPIErrorResponse' + description: Bad Request '403': - $ref: '#/components/responses/NotAuthorizedResponse' + $ref: '#/components/responses/ForbiddenResponse' + '422': + content: + application/json: + schema: + $ref: '#/components/schemas/JSONAPIErrorResponse' + description: Unprocessable Entity + '429': + $ref: '#/components/responses/TooManyRequestsResponse' + security: + - apiKeyAuth: [] + appKeyAuth: [] + summary: Reorder ticket creation rules + tags: + - Security Monitoring + x-codegen-request-body-name: body + x-permission: + operator: OR + permissions: + - security_pipelines_write + x-unstable: |- + **Note**: This endpoint is in Preview and is subject to change. + If you have any feedback, contact [Datadog support](https://docs.datadoghq.com/help/). + /api/v2/security/findings/automation/ticket_creation_rules/{rule_id}: + delete: + description: Delete an existing ticket creation rule by ID. + operationId: DeleteSecurityFindingsAutomationTicketCreationRule + parameters: + - description: The ID of the ticket creation rule. + in: path + name: rule_id + required: true + schema: + example: 00000000-0000-0000-0000-000000000000 + format: uuid + type: string + responses: + '204': + description: Rule successfully deleted. + '403': + $ref: '#/components/responses/ForbiddenResponse' '404': $ref: '#/components/responses/NotFoundResponse' '429': $ref: '#/components/responses/TooManyRequestsResponse' - summary: Get a rule's version history + security: + - apiKeyAuth: [] + appKeyAuth: [] + summary: Delete a ticket creation rule tags: - Security Monitoring x-permission: operator: OR permissions: - - security_monitoring_rules_read - x-unstable: '**Note**: This endpoint is in beta and may be subject to changes.' - /api/v2/security_monitoring/signals: + - security_pipelines_write + x-unstable: |- + **Note**: This endpoint is in Preview and is subject to change. + If you have any feedback, contact [Datadog support](https://docs.datadoghq.com/help/). get: - description: >- - The list endpoint returns security signals that match a search query. - - Both this endpoint and the POST endpoint can be used interchangeably - when listing - - security signals. - operationId: ListSecurityMonitoringSignals + description: Get the details of a ticket creation rule by ID. + operationId: GetSecurityFindingsAutomationTicketCreationRule parameters: - - $ref: '#/components/parameters/QueryFilterSearch' - - $ref: '#/components/parameters/QueryFilterFrom' - - $ref: '#/components/parameters/QueryFilterTo' - - $ref: '#/components/parameters/QuerySort' - - $ref: '#/components/parameters/QueryPageCursor' - - $ref: '#/components/parameters/QueryPageLimit' + - description: The ID of the ticket creation rule. + in: path + name: rule_id + required: true + schema: + example: 00000000-0000-0000-0000-000000000000 + format: uuid + type: string responses: '200': content: application/json: + examples: + default: + value: + data: + attributes: + action: + max_tickets_per_day: 100 + project_id: 11111111-1111-1111-1111-111111111111 + target: jira + created_at: 1722439510282 + created_by: + id: 00000000-0000-0000-0000-000000000000 + name: Jane Doe + type: user + enabled: true + modified_at: 1722439510282 + modified_by: + id: 00000000-0000-0000-0000-000000000000 + name: Jane Doe + type: user + name: Auto-create Jira tickets for critical findings + rule: + finding_types: + - misconfiguration + query: env:prod + id: 00000000-0000-0000-0000-000000000000 + type: ticket_creation_rules schema: - $ref: '#/components/schemas/SecurityMonitoringSignalsListResponse' - description: OK - '400': - $ref: '#/components/responses/BadRequestResponse' + $ref: '#/components/schemas/TicketCreationRuleResponse' + description: Successfully retrieved the ticket creation rule '403': - $ref: '#/components/responses/NotAuthorizedResponse' + $ref: '#/components/responses/ForbiddenResponse' + '404': + $ref: '#/components/responses/NotFoundResponse' '429': $ref: '#/components/responses/TooManyRequestsResponse' security: - apiKeyAuth: [] appKeyAuth: [] - - AuthZ: - - security_monitoring_signals_read - summary: Get a quick list of security signals + summary: Get a ticket creation rule tags: - Security Monitoring - x-pagination: - cursorParam: page[cursor] - cursorPath: meta.page.after - limitParam: page[limit] - resultsPath: data x-permission: operator: OR permissions: - - security_monitoring_signals_read - /api/v2/security_monitoring/signals/search: - post: - description: >- - Returns security signals that match a search query. - - Both this endpoint and the GET endpoint can be used interchangeably for - listing - - security signals. - operationId: SearchSecurityMonitoringSignals + - security_pipelines_read + x-unstable: |- + **Note**: This endpoint is in Preview and is subject to change. + If you have any feedback, contact [Datadog support](https://docs.datadoghq.com/help/). + put: + description: Update an existing ticket creation rule by ID. + operationId: UpdateSecurityFindingsAutomationTicketCreationRule + parameters: + - description: The ID of the ticket creation rule. + in: path + name: rule_id + required: true + schema: + example: 00000000-0000-0000-0000-000000000000 + format: uuid + type: string requestBody: content: application/json: + examples: + default: + value: + data: + attributes: + action: + max_tickets_per_day: 50 + project_id: 11111111-1111-1111-1111-111111111111 + target: jira + enabled: true + name: Auto-create Jira tickets for critical findings + rule: + finding_types: + - misconfiguration + query: env:prod + type: ticket_creation_rules schema: - $ref: '#/components/schemas/SecurityMonitoringSignalListRequest' - required: false + $ref: '#/components/schemas/TicketCreationRuleUpdateRequest' + required: true responses: '200': content: application/json: + examples: + default: + value: + data: + attributes: + action: + max_tickets_per_day: 50 + project_id: 11111111-1111-1111-1111-111111111111 + target: jira + created_at: 1722439510282 + created_by: + id: 00000000-0000-0000-0000-000000000000 + name: Jane Doe + type: user + enabled: true + modified_at: 1722439510999 + modified_by: + id: 00000000-0000-0000-0000-000000000000 + name: Jane Doe + type: user + name: Auto-create Jira tickets for critical findings + rule: + finding_types: + - misconfiguration + query: env:prod + id: 00000000-0000-0000-0000-000000000000 + type: ticket_creation_rules schema: - $ref: '#/components/schemas/SecurityMonitoringSignalsListResponse' - description: OK + $ref: '#/components/schemas/TicketCreationRuleResponse' + description: Successfully updated the ticket creation rule '400': - $ref: '#/components/responses/BadRequestResponse' + content: + application/json: + schema: + $ref: '#/components/schemas/JSONAPIErrorResponse' + description: Bad Request '403': - $ref: '#/components/responses/NotAuthorizedResponse' + $ref: '#/components/responses/ForbiddenResponse' + '404': + $ref: '#/components/responses/NotFoundResponse' + '422': + content: + application/json: + schema: + $ref: '#/components/schemas/JSONAPIErrorResponse' + description: Unprocessable Entity '429': $ref: '#/components/responses/TooManyRequestsResponse' security: - apiKeyAuth: [] appKeyAuth: [] - - AuthZ: - - security_monitoring_signals_read - summary: Get a list of security signals + summary: Update a ticket creation rule tags: - Security Monitoring x-codegen-request-body-name: body - x-pagination: - cursorParam: body.page.cursor - cursorPath: meta.page.after - limitParam: body.page.limit - resultsPath: data x-permission: operator: OR permissions: - - security_monitoring_signals_read - /api/v2/security_monitoring/signals/{signal_id}: - get: - description: Get a signal's details. - operationId: GetSecurityMonitoringSignal - parameters: - - $ref: '#/components/parameters/SignalID' + - security_pipelines_write + x-unstable: |- + **Note**: This endpoint is in Preview and is subject to change. + If you have any feedback, contact [Datadog support](https://docs.datadoghq.com/help/). + /api/v2/security/findings/cases: + delete: + description: |- + Detach security findings from their case. + This operation dissociates security findings from their associated cases without deleting the cases themselves. You can detach security findings from multiple different cases in a single request, with a limit of 50 security findings per request. Security findings that are not currently attached to any case will be ignored. + operationId: DetachCase + requestBody: + content: + application/json: + examples: + default: + value: + data: + relationships: + findings: + data: + - id: ZGVmLTAwcC1pZXJ-aS0wZjhjNjMyZDNmMzRlZTgzNw== + type: findings + type: cases + schema: + $ref: '#/components/schemas/DetachCaseRequest' + required: true responses: - '200': - content: - application/json: - schema: - $ref: '#/components/schemas/SecurityMonitoringSignalResponse' - description: OK + '204': + description: No Content + '400': + $ref: '#/components/responses/BadRequestResponse' '404': $ref: '#/components/responses/NotFoundResponse' '429': @@ -3325,654 +4986,1152 @@ paths: security: - apiKeyAuth: [] appKeyAuth: [] - - AuthZ: - - security_monitoring_signals_read - summary: Get a signal's details + - AuthZ: [] + summary: Detach security findings from their case tags: - Security Monitoring + x-codegen-request-body-name: body x-permission: operator: OR permissions: - - security_monitoring_signals_read - /api/v2/security_monitoring/signals/{signal_id}/assignee: - patch: - description: Modify the triage assignee of a security signal. - operationId: EditSecurityMonitoringSignalAssignee - parameters: - - $ref: '#/components/parameters/SignalID' + - security_monitoring_findings_write + - appsec_vm_write + post: + description: |- + Create cases for security findings. + You can create up to 50 cases per request and associate up to 50 security findings per case. Security findings that are already attached to another case will be detached from their previous case and attached to the newly created case. + operationId: CreateCases requestBody: content: application/json: + examples: + default: + value: + data: + - attributes: + assignee_id: f315bdaf-9ee7-4808-a9c1-99c15bf0f4d0 + description: A description of the case. + priority: NOT_DEFINED + title: A title for the case. + relationships: + findings: + data: + - id: YjdhNDM3N2QyNTFjYmUwYTY3NDdhMTg0YTk2Yjg5MDl-ZjNmMzAwOTFkZDNhNGQzYzI0MzgxNTk4MjRjZmE2NzE= + type: findings + project: + data: + id: aeadc05e-98a8-11ec-ac2c-da7ad0900001 + type: cases schema: - $ref: >- - #/components/schemas/SecurityMonitoringSignalAssigneeUpdateRequest - description: Attributes describing the signal update. + $ref: '#/components/schemas/CreateCaseRequestArray' required: true responses: - '200': + '201': content: application/json: + examples: + default: + value: + data: + - attributes: + created_at: '2024-01-01T00:00:00+00:00' + description: A description of the case. + modified_at: '2024-01-01T00:00:00+00:00' + priority: P4 + status: OPEN + title: A title for the case. + id: 00000000-0000-0000-0000-000000000001 + type: cases schema: - $ref: >- - #/components/schemas/SecurityMonitoringSignalTriageUpdateResponse - description: OK + $ref: '#/components/schemas/FindingCaseResponseArray' + description: Created '400': - content: - application/json: - schema: - $ref: '#/components/schemas/APIErrorResponse' - description: Bad Request - '403': - content: - application/json: - schema: - $ref: '#/components/schemas/APIErrorResponse' - description: Forbidden + $ref: '#/components/responses/BadRequestResponse' '404': - content: - application/json: - schema: - $ref: '#/components/schemas/APIErrorResponse' - description: Not Found + $ref: '#/components/responses/NotFoundResponse' '429': $ref: '#/components/responses/TooManyRequestsResponse' - summary: Modify the triage assignee of a security signal + security: + - apiKeyAuth: [] + appKeyAuth: [] + - AuthZ: [] + summary: Create cases for security findings tags: - Security Monitoring x-codegen-request-body-name: body x-permission: operator: OR permissions: - - security_monitoring_signals_write - /api/v2/security_monitoring/signals/{signal_id}/incidents: + - security_monitoring_findings_write + - appsec_vm_write + /api/v2/security/findings/cases/{case_id}: patch: - description: Change the related incidents for a security signal. - operationId: EditSecurityMonitoringSignalIncidents + description: |- + Attach security findings to a case. + You can attach up to 50 security findings per case. Security findings that are already attached to another case will be detached from their previous case and attached to the specified case. + operationId: AttachCase parameters: - - $ref: '#/components/parameters/SignalID' + - description: Unique identifier of the case to attach security findings to + in: path + name: case_id + required: true + schema: + type: string requestBody: content: application/json: + examples: + default: + value: + data: + id: c1234567-89ab-cdef-0123-456789abcdef + relationships: + findings: + data: + - id: ZGVmLTAwcC1pZXJ-aS0wZjhjNjMyZDNmMzRlZTgzNw== + type: cases schema: - $ref: >- - #/components/schemas/SecurityMonitoringSignalIncidentsUpdateRequest - description: Attributes describing the signal update. + $ref: '#/components/schemas/AttachCaseRequest' required: true responses: '200': content: application/json: + examples: + default: + value: + data: + attributes: + created_at: '2024-01-01T00:00:00+00:00' + description: A description of the case. + modified_at: '2024-01-01T00:00:00+00:00' + priority: P4 + status: OPEN + title: A title for the case. + id: 00000000-0000-0000-0000-000000000002 + type: cases schema: - $ref: >- - #/components/schemas/SecurityMonitoringSignalTriageUpdateResponse + $ref: '#/components/schemas/FindingCaseResponse' description: OK '400': - content: - application/json: - schema: - $ref: '#/components/schemas/APIErrorResponse' - description: Bad Request - '403': - content: - application/json: - schema: - $ref: '#/components/schemas/APIErrorResponse' - description: Forbidden + $ref: '#/components/responses/BadRequestResponse' '404': - content: - application/json: - schema: - $ref: '#/components/schemas/APIErrorResponse' - description: Not Found + $ref: '#/components/responses/NotFoundResponse' '429': $ref: '#/components/responses/TooManyRequestsResponse' - summary: Change the related incidents of a security signal + security: + - apiKeyAuth: [] + appKeyAuth: [] + - AuthZ: [] + summary: Attach security findings to a case tags: - Security Monitoring x-codegen-request-body-name: body x-permission: operator: OR permissions: - - security_monitoring_signals_write - /api/v2/security_monitoring/signals/{signal_id}/state: + - security_monitoring_findings_write + - appsec_vm_write + /api/v2/security/findings/jira_issues: patch: - description: Change the triage state of a security signal. - operationId: EditSecurityMonitoringSignalState - parameters: - - $ref: '#/components/parameters/SignalID' + description: |- + Attach security findings to a Jira issue by providing the Jira issue URL. + You can attach up to 50 security findings per Jira issue. If the Jira issue is not linked to any case, this operation will create a case for the security findings and link the Jira issue to the newly created case. To configure the Jira integration, see [Bidirectional ticket syncing with Jira](https://docs.datadoghq.com/security/ticketing_integrations/#bidirectional-ticket-syncing-with-jira). Security findings that are already attached to another Jira issue will be detached from their previous Jira issue and attached to the specified Jira issue. + operationId: AttachJiraIssue requestBody: content: application/json: + examples: + default: + value: + data: + attributes: + jira_issue_url: https://datadoghq-sandbox-538.atlassian.net/browse/CSMSEC-105476 + relationships: + findings: + data: + - id: ZGVmLTAwcC1pZXJ-aS0wZjhjNjMyZDNmMzRlZTgzNw== + project: + data: + id: aeadc05e-98a8-11ec-ac2c-da7ad0900001 + type: projects + type: jira_issues schema: - $ref: '#/components/schemas/SecurityMonitoringSignalStateUpdateRequest' - description: Attributes describing the signal update. + $ref: '#/components/schemas/AttachJiraIssueRequest' required: true responses: '200': content: application/json: + examples: + default: + value: + data: + attributes: + created_at: '2024-01-01T00:00:00+00:00' + description: A description of the Jira issue. + modified_at: '2024-01-01T00:00:00+00:00' + priority: P4 + status: OPEN + title: A title for the Jira issue. + id: 00000000-0000-0000-0000-000000000004 + type: cases schema: - $ref: >- - #/components/schemas/SecurityMonitoringSignalTriageUpdateResponse + $ref: '#/components/schemas/FindingCaseResponse' description: OK '400': - content: - application/json: - schema: - $ref: '#/components/schemas/APIErrorResponse' - description: Bad Request - '403': - content: - application/json: - schema: - $ref: '#/components/schemas/APIErrorResponse' - description: Forbidden + $ref: '#/components/responses/BadRequestResponse' '404': - content: - application/json: - schema: - $ref: '#/components/schemas/APIErrorResponse' - description: Not Found + $ref: '#/components/responses/NotFoundResponse' '429': $ref: '#/components/responses/TooManyRequestsResponse' - summary: Change the triage state of a security signal + security: + - apiKeyAuth: [] + appKeyAuth: [] + - AuthZ: [] + summary: Attach security findings to a Jira issue tags: - Security Monitoring x-codegen-request-body-name: body x-permission: operator: OR permissions: - - security_monitoring_signals_write - /api/v2/sensitive-data-scanner/config: - get: - description: List all the Scanning groups in your organization. - operationId: ListScanningGroups + - security_monitoring_findings_write + - appsec_vm_write + post: + description: |- + Create Jira issues for security findings. + This operation creates a case in Datadog and a Jira issue linked to that case for bidirectional sync between Datadog and Jira. To configure the Jira integration, see [Bidirectional ticket syncing with Jira](https://docs.datadoghq.com/security/ticketing_integrations/#bidirectional-ticket-syncing-with-jira). You can create up to 50 Jira issues per request and associate up to 50 security findings per Jira issue. Security findings that are already attached to another Jira issue will be detached from their previous Jira issue and attached to the newly created Jira issue. + operationId: CreateJiraIssues + requestBody: + content: + application/json: + examples: + default: + value: + data: + - attributes: + assignee_id: f315bdaf-9ee7-4808-a9c1-99c15bf0f4d0 + description: A description of the Jira issue. + fields: + key1: value + key2: + - value + key3: + key4: value + priority: NOT_DEFINED + title: A title for the Jira issue. + relationships: + project: + data: + id: aeadc05e-98a8-11ec-ac2c-da7ad0900001 + type: jira_issues + schema: + $ref: '#/components/schemas/CreateJiraIssueRequestArray' + required: true responses: - '200': + '201': content: application/json: + examples: + default: + value: + data: + - attributes: + created_at: '2024-01-01T00:00:00+00:00' + description: A description of the Jira issue. + modified_at: '2024-01-01T00:00:00+00:00' + priority: P4 + status: OPEN + title: A title for the Jira issue. + id: 00000000-0000-0000-0000-000000000003 + type: cases schema: - $ref: '#/components/schemas/SensitiveDataScannerGetConfigResponse' - description: OK + $ref: '#/components/schemas/FindingCaseResponseArray' + description: Created '400': - content: - application/json: - schema: - $ref: '#/components/schemas/APIErrorResponse' - description: Bad Request - '403': - content: - application/json: - schema: - $ref: '#/components/schemas/APIErrorResponse' - description: Authentication Error + $ref: '#/components/responses/BadRequestResponse' + '404': + $ref: '#/components/responses/NotFoundResponse' '429': $ref: '#/components/responses/TooManyRequestsResponse' - summary: List Scanning Groups + security: + - apiKeyAuth: [] + appKeyAuth: [] + - AuthZ: [] + summary: Create Jira issues for security findings tags: - - Sensitive Data Scanner + - Security Monitoring + x-codegen-request-body-name: body x-permission: operator: OR permissions: - - data_scanner_read + - security_monitoring_findings_write + - appsec_vm_write + /api/v2/security/findings/linear_issues: patch: - description: Reorder the list of groups. - operationId: ReorderScanningGroups + description: |- + Attach security findings to a Linear issue by providing the Linear issue URL. + You can attach up to 50 security findings per Linear issue. If the Linear issue is not linked to any case, this operation will create a case for the security findings and link the Linear issue to the newly created case. Security findings that are already attached to another Linear issue will be detached from their previous Linear issue and attached to the specified Linear issue. + operationId: AttachLinearIssue requestBody: content: application/json: + examples: + default: + value: + data: + attributes: + linear_issue_url: https://linear.app/your-workspace/issue/ENG-123 + relationships: + findings: + data: + - id: ZGVmLTAwcC1pZXJ-aS0wZjhjNjMyZDNmMzRlZTgzNw== + type: findings + project: + data: + id: aeadc05e-98a8-11ec-ac2c-da7ad0900001 + type: projects + type: linear_issues schema: - $ref: '#/components/schemas/SensitiveDataScannerConfigRequest' + $ref: '#/components/schemas/AttachLinearIssueRequest' required: true responses: '200': content: application/json: + examples: + default: + value: + data: + attributes: + created_at: '2024-01-01T00:00:00+00:00' + description: A description of the Linear issue. + modified_at: '2024-01-01T00:00:00+00:00' + priority: P4 + status: OPEN + title: A title for the Linear issue. + id: 00000000-0000-0000-0000-000000000008 + type: cases schema: - $ref: '#/components/schemas/SensitiveDataScannerReorderGroupsResponse' + $ref: '#/components/schemas/FindingCaseResponse' description: OK '400': - content: - application/json: - schema: - $ref: '#/components/schemas/APIErrorResponse' - description: Bad Request - '403': - content: - application/json: - schema: - $ref: '#/components/schemas/APIErrorResponse' - description: Authentication Error + $ref: '#/components/responses/BadRequestResponse' + '404': + $ref: '#/components/responses/NotFoundResponse' '429': $ref: '#/components/responses/TooManyRequestsResponse' - summary: Reorder Groups + security: + - apiKeyAuth: [] + appKeyAuth: [] + - AuthZ: [] + summary: Attach security findings to a Linear issue tags: - - Sensitive Data Scanner + - Security Monitoring x-codegen-request-body-name: body x-permission: operator: OR permissions: - - data_scanner_write - /api/v2/sensitive-data-scanner/config/groups: + - security_monitoring_findings_write + - appsec_vm_write post: - description: >- - Create a scanning group. - - The request MAY include a configuration relationship. - - A rules relationship can be omitted entirely, but if it is included it - MUST be - - null or an empty array (rules cannot be created at the same time). - - The new group will be ordered last within the configuration. - operationId: CreateScanningGroup + description: |- + Create Linear issues for security findings. + This operation creates a case in Datadog and a Linear issue linked to that case for bidirectional sync between Datadog and Linear. You can create up to 50 Linear issues per request and associate up to 50 security findings per Linear issue. Security findings that are already attached to another Linear issue will be detached from their previous Linear issue and attached to the newly created Linear issue. + operationId: CreateLinearIssues requestBody: content: application/json: + examples: + default: + value: + data: + - attributes: + assignee_id: f315bdaf-9ee7-4808-a9c1-99c15bf0f4d0 + description: A description of the Linear issue. + label_ids: + - a1b2c3d4-5e6f-7a8b-9c0d-1e2f3a4b5c6d + linear_project_id: d4c3b2a1-6f5e-8b7a-0d9c-2f1e4a3b6c5d + priority: NOT_DEFINED + title: A title for the Linear issue. + relationships: + findings: + data: + - id: ZGVmLTAwcC1pZXJ-aS0wZjhjNjMyZDNmMzRlZTgzNw== + type: findings + project: + data: + id: aeadc05e-98a8-11ec-ac2c-da7ad0900001 + type: projects + type: linear_issues schema: - $ref: '#/components/schemas/SensitiveDataScannerGroupCreateRequest' + $ref: '#/components/schemas/CreateLinearIssueRequestArray' required: true responses: - '200': + '201': content: application/json: + examples: + default: + value: + data: + - attributes: + created_at: '2024-01-01T00:00:00+00:00' + description: A description of the Linear issue. + modified_at: '2024-01-01T00:00:00+00:00' + priority: P4 + status: OPEN + title: A title for the Linear issue. + id: 00000000-0000-0000-0000-000000000007 + type: cases schema: - $ref: '#/components/schemas/SensitiveDataScannerCreateGroupResponse' - description: OK + $ref: '#/components/schemas/FindingCaseResponseArray' + description: Created '400': - content: - application/json: - schema: - $ref: '#/components/schemas/APIErrorResponse' - description: Bad Request - '403': - content: - application/json: - schema: - $ref: '#/components/schemas/APIErrorResponse' - description: Authentication Error + $ref: '#/components/responses/BadRequestResponse' + '404': + $ref: '#/components/responses/NotFoundResponse' '429': $ref: '#/components/responses/TooManyRequestsResponse' - summary: Create Scanning Group + security: + - apiKeyAuth: [] + appKeyAuth: [] + - AuthZ: [] + summary: Create Linear issues for security findings tags: - - Sensitive Data Scanner + - Security Monitoring x-codegen-request-body-name: body x-permission: operator: OR permissions: - - data_scanner_write - /api/v2/sensitive-data-scanner/config/groups/{group_id}: - delete: - description: Delete a given group. - operationId: DeleteScanningGroup - parameters: - - $ref: '#/components/parameters/SensitiveDataScannerGroupID' + - security_monitoring_findings_write + - appsec_vm_write + /api/v2/security/findings/mute: + patch: + description: |- + Mute or unmute security findings. + You can mute or unmute up to 100 security findings per request. The request body must include `is_muted` and `reason` attributes. The allowed reasons depend on whether the finding is being muted or unmuted: + - To mute a finding: `PENDING_FIX`, `FALSE_POSITIVE`, `OTHER`, `NO_FIX`, `DUPLICATE`, `RISK_ACCEPTED`. + - To unmute a finding: `NO_PENDING_FIX`, `HUMAN_ERROR`, `NO_LONGER_ACCEPTED_RISK`, `OTHER`. + operationId: MuteSecurityFindings requestBody: content: application/json: + examples: + default: + value: + data: + attributes: + mute: + description: To be resolved later. + expire_at: 1778721573794 + is_muted: true + reason: RISK_ACCEPTED + relationships: + findings: + data: + - id: ZGVmLTAwcC1pZXJ-aS0wZjhjNjMyZDNmMzRlZTgzNw== + type: findings + type: mute schema: - $ref: '#/components/schemas/SensitiveDataScannerGroupDeleteRequest' + $ref: '#/components/schemas/MuteFindingsRequest' required: true responses: - '200': + '202': content: application/json: + examples: + default: + value: + data: + id: 00000000-0000-0000-0000-000000000001 + type: mute schema: - $ref: '#/components/schemas/SensitiveDataScannerGroupDeleteResponse' - description: OK + $ref: '#/components/schemas/MuteFindingsResponse' + description: Accepted '400': + $ref: '#/components/responses/BadRequestResponse' + '401': + $ref: '#/components/responses/UnauthorizedResponse' + '404': + $ref: '#/components/responses/NotFoundResponse' + '422': content: application/json: schema: - $ref: '#/components/schemas/APIErrorResponse' - description: Bad Request - '403': - content: - application/json: - schema: - $ref: '#/components/schemas/APIErrorResponse' - description: Authentication Error - '404': - $ref: '#/components/responses/NotFoundResponse' + $ref: '#/components/schemas/JSONAPIErrorResponse' + description: Unprocessable Entity '429': $ref: '#/components/responses/TooManyRequestsResponse' - summary: Delete Scanning Group + security: + - apiKeyAuth: [] + appKeyAuth: [] + - AuthZ: [] + summary: Mute or unmute security findings tags: - - Sensitive Data Scanner + - Security Monitoring x-codegen-request-body-name: body x-permission: operator: OR permissions: - - data_scanner_write - patch: - description: >- - Update a group, including the order of the rules. + - security_monitoring_findings_write + - appsec_vm_write + /api/v2/security/findings/search: + post: + description: |- + Get a list of security findings that match a search query. [See the schema for security findings](https://docs.datadoghq.com/security/guide/findings-schema/). - Rules within the group are reordered by including a rules relationship. - If the rules + ### Query Syntax - relationship is present, its data section MUST contain linkages for all - of the rules + The API uses the logs query syntax. Findings attributes (living in the attributes.attributes. namespace) are prefixed by @ when queried. Tags are queried without a prefix. - currently in the group, and MUST NOT contain any others. - operationId: UpdateScanningGroup - parameters: - - $ref: '#/components/parameters/SensitiveDataScannerGroupID' + Example: `@severity:(critical OR high) @status:open team:platform` + operationId: SearchSecurityFindings requestBody: content: application/json: + examples: + default: + value: + data: + attributes: + filter: '@severity:(critical OR high) @status:open team:platform' + page: + cursor: eyJhZnRlciI6IkF3QUFBWnPcm1pd0FBQUJbVlBQUKBa1pqRTVdZUzSTBNemN0YWiIsLTE3Mjk0MzYwMjFdfQ== + limit: 25 + sort: '@detection_changed_at' schema: - $ref: '#/components/schemas/SensitiveDataScannerGroupUpdateRequest' + $ref: '#/components/schemas/SecurityFindingsSearchRequest' required: true responses: '200': content: application/json: + examples: + default: + value: + data: + - attributes: + attributes: + severity: high + status: open + tags: + - team:platform + timestamp: 1765901760 + id: ZGVmLTAwcC1pZXJ-aS0wZjhjNjMyZDNmMzRlZTgzNw== + type: finding + meta: + elapsed: 548 + status: done schema: - $ref: '#/components/schemas/SensitiveDataScannerGroupUpdateResponse' + $ref: '#/components/schemas/ListSecurityFindingsResponse' description: OK '400': - content: - application/json: - schema: - $ref: '#/components/schemas/APIErrorResponse' - description: Bad Request + $ref: '#/components/responses/BadRequestResponse' '403': - content: - application/json: - schema: - $ref: '#/components/schemas/APIErrorResponse' - description: Authentication Error - '404': - $ref: '#/components/responses/NotFoundResponse' + $ref: '#/components/responses/ForbiddenResponse' '429': $ref: '#/components/responses/TooManyRequestsResponse' - summary: Update Scanning Group + security: + - apiKeyAuth: [] + appKeyAuth: [] + - AuthZ: + - security_monitoring_findings_read + summary: Search security findings tags: - - Sensitive Data Scanner + - Security Monitoring x-codegen-request-body-name: body + x-pagination: + cursorParam: body.data.attributes.page.cursor + cursorPath: meta.page.after + limitParam: body.data.attributes.page.limit + resultsPath: data x-permission: operator: OR permissions: - - data_scanner_write - /api/v2/sensitive-data-scanner/config/rules: - post: - description: >- - Create a scanning rule in a sensitive data scanner group, ordered last. - - The posted rule MUST include a group relationship. - - It MUST include either a standard_pattern relationship or a regex - attribute, but not both. - - If included_attributes is empty or missing, we will scan all attributes - except - - excluded_attributes. If both are missing, we will scan the whole event. - operationId: CreateScanningRule + - security_monitoring_findings_read + - appsec_vm_read + /api/v2/security/findings/servicenow_tickets: + patch: + description: |- + Attach security findings to a ServiceNow ticket by providing the ServiceNow ticket URL. + You can attach up to 50 security findings per ServiceNow ticket. If the ServiceNow ticket is not linked to any case, this operation will create a case for the security findings and link the ServiceNow ticket to the newly created case. Security findings that are already attached to another ServiceNow ticket will be detached from their previous ServiceNow ticket and attached to the specified ServiceNow ticket. + operationId: AttachServiceNowTicket requestBody: content: application/json: + examples: + default: + value: + data: + attributes: + servicenow_ticket_url: https://example.service-now.com/now/nav/ui/classic/params/target/incident.do?sys_id=abcdef0123456789abcdef0123456789 + relationships: + findings: + data: + - id: ZGVmLTAwcC1pZXJ-aS0wZjhjNjMyZDNmMzRlZTgzNw== + type: findings + project: + data: + id: aeadc05e-98a8-11ec-ac2c-da7ad0900001 + type: projects + type: servicenow_tickets schema: - $ref: '#/components/schemas/SensitiveDataScannerRuleCreateRequest' + $ref: '#/components/schemas/AttachServiceNowTicketRequest' required: true responses: '200': content: application/json: + examples: + default: + value: + data: + attributes: + created_at: '2024-01-01T00:00:00+00:00' + description: A description of the ServiceNow ticket. + modified_at: '2024-01-01T00:00:00+00:00' + priority: P4 + status: OPEN + title: A title for the ServiceNow ticket. + id: 00000000-0000-0000-0000-000000000006 + type: cases schema: - $ref: '#/components/schemas/SensitiveDataScannerCreateRuleResponse' + $ref: '#/components/schemas/FindingCaseResponse' description: OK '400': - content: - application/json: - schema: - $ref: '#/components/schemas/APIErrorResponse' - description: Bad Request - '403': - content: - application/json: - schema: - $ref: '#/components/schemas/APIErrorResponse' - description: Authentication Error + $ref: '#/components/responses/BadRequestResponse' + '404': + $ref: '#/components/responses/NotFoundResponse' '429': $ref: '#/components/responses/TooManyRequestsResponse' - summary: Create Scanning Rule + security: + - apiKeyAuth: [] + appKeyAuth: [] + - AuthZ: [] + summary: Attach security findings to a ServiceNow ticket tags: - - Sensitive Data Scanner + - Security Monitoring x-codegen-request-body-name: body x-permission: operator: OR permissions: - - data_scanner_write - /api/v2/sensitive-data-scanner/config/rules/{rule_id}: - delete: - description: Delete a given rule. - operationId: DeleteScanningRule - parameters: - - $ref: '#/components/parameters/SensitiveDataScannerRuleID' + - security_monitoring_findings_write + - appsec_vm_write + post: + description: |- + Create ServiceNow tickets for security findings. + This operation creates a case in Datadog and a ServiceNow ticket linked to that case for bidirectional sync between Datadog and ServiceNow. You can create up to 50 ServiceNow tickets per request and associate up to 50 security findings per ServiceNow ticket. Security findings that are already attached to another ServiceNow ticket will be detached from their previous ServiceNow ticket and attached to the newly created ServiceNow ticket. + operationId: CreateServiceNowTickets requestBody: content: application/json: + examples: + default: + value: + data: + - attributes: + assignee_id: f315bdaf-9ee7-4808-a9c1-99c15bf0f4d0 + description: A description of the ServiceNow ticket. + priority: NOT_DEFINED + title: A title for the ServiceNow ticket. + relationships: + findings: + data: + - id: ZGVmLTAwcC1pZXJ-aS0wZjhjNjMyZDNmMzRlZTgzNw== + type: findings + project: + data: + id: aeadc05e-98a8-11ec-ac2c-da7ad0900001 + type: projects + type: servicenow_tickets schema: - $ref: '#/components/schemas/SensitiveDataScannerRuleDeleteRequest' + $ref: '#/components/schemas/CreateServiceNowTicketRequestArray' required: true responses: - '200': + '201': content: application/json: + examples: + default: + value: + data: + - attributes: + created_at: '2024-01-01T00:00:00+00:00' + description: A description of the ServiceNow ticket. + modified_at: '2024-01-01T00:00:00+00:00' + priority: P4 + status: OPEN + title: A title for the ServiceNow ticket. + id: 00000000-0000-0000-0000-000000000005 + type: cases schema: - $ref: '#/components/schemas/SensitiveDataScannerRuleDeleteResponse' - description: OK + $ref: '#/components/schemas/FindingCaseResponseArray' + description: Created '400': - content: - application/json: - schema: - $ref: '#/components/schemas/APIErrorResponse' - description: Bad Request - '403': - content: - application/json: - schema: - $ref: '#/components/schemas/APIErrorResponse' - description: Authentication Error + $ref: '#/components/responses/BadRequestResponse' '404': $ref: '#/components/responses/NotFoundResponse' '429': $ref: '#/components/responses/TooManyRequestsResponse' - summary: Delete Scanning Rule - tags: - - Sensitive Data Scanner - x-codegen-request-body-name: body + security: + - apiKeyAuth: [] + appKeyAuth: [] + - AuthZ: [] + summary: Create ServiceNow tickets for security findings + tags: + - Security Monitoring + x-codegen-request-body-name: body x-permission: operator: OR permissions: - - data_scanner_write - patch: - description: >- - Update a scanning rule. + - security_monitoring_findings_write + - appsec_vm_write + /api/v2/security/sboms: + get: + description: |- + Get a list of assets SBOMs for an organization. + + The `filter[asset_type]` parameter is required for initial requests (when no `page[token]` is provided). + Subsequent pages encode the asset type in the pagination token, so `filter[asset_type]` is not required + for paginated requests. Mixing infrastructure asset types (`Host`, `HostImage`, `Image`, `ServerlessFunction`) + with code asset types (`Repository`, `Service`) in the same request is not supported and returns a 400 error. - The request body MUST NOT include a standard_pattern relationship, as - that relationship + ### Pagination - is non-editable. Trying to edit the regex attribute of a rule with a - standard_pattern + Please review the [Pagination section](#pagination) for the "List Vulnerabilities" endpoint. - relationship will also result in an error. - operationId: UpdateScanningRule + ### Filtering + + Please review the [Filtering section](#filtering) for the "List Vulnerabilities" endpoint. + + ### Metadata + + Please review the [Metadata section](#metadata) for the "List Vulnerabilities" endpoint. + operationId: ListAssetsSBOMs parameters: - - $ref: '#/components/parameters/SensitiveDataScannerRuleID' - requestBody: - content: - application/json: - schema: - $ref: '#/components/schemas/SensitiveDataScannerRuleUpdateRequest' - required: true + - description: Its value must come from the `links` section of the response of the first request. Do not manually edit it. + example: b82cef018aab81ed1d4bb4xb35xxfc065da7efa685fbcecdbd338f3015e3afabbbfa3a911b4984_721ee28a-zecb-4e45-9960-c42065b574f4 + in: query + name: page[token] + required: false + schema: + type: string + - description: The page number to be retrieved. It should be equal to or greater than 1. + example: 1 + in: query + name: page[number] + required: false + schema: + format: int64 + minimum: 1 + type: integer + - description: The type of the assets for the SBOM request. Required for initial requests (when no `page[token]` is provided). Infrastructure types (`Host`, `HostImage`, `Image`, `ServerlessFunction`) and code types (`Repository`, `Service`) cannot be mixed in the same request. + example: Repository + in: query + name: filter[asset_type] + required: false + schema: + $ref: '#/components/schemas/AssetType' + - description: The name of the asset for the SBOM request. + example: github.com/datadog/datadog-agent + in: query + name: filter[asset_name] + required: false + schema: + type: string + - description: The name of the component that is a dependency of an asset. + example: opentelemetry-api + in: query + name: filter[package_name] + required: false + schema: + type: string + - description: The version of the component that is a dependency of an asset. + example: 1.33.1 + in: query + name: filter[package_version] + required: false + schema: + type: string + - description: The software license name of the component that is a dependency of an asset. + example: Apache-2.0 + in: query + name: filter[license_name] + required: false + schema: + type: string + - description: The software license type of the component that is a dependency of an asset. + example: network_strong_copyleft + in: query + name: filter[license_type] + required: false + schema: + $ref: '#/components/schemas/SBOMComponentLicenseType' responses: '200': content: application/json: + examples: + default: + value: + data: [] schema: - $ref: '#/components/schemas/SensitiveDataScannerRuleUpdateResponse' + $ref: '#/components/schemas/ListAssetsSBOMsResponse' description: OK '400': content: application/json: schema: - $ref: '#/components/schemas/APIErrorResponse' - description: Bad Request + $ref: '#/components/schemas/JSONAPIErrorResponse' + description: 'Bad request: The server cannot process the request due to invalid syntax in the request.' '403': content: application/json: schema: - $ref: '#/components/schemas/APIErrorResponse' - description: Authentication Error + $ref: '#/components/schemas/JSONAPIErrorResponse' + description: 'Forbidden: Access denied' '404': - $ref: '#/components/responses/NotFoundResponse' + content: + application/json: + schema: + $ref: '#/components/schemas/JSONAPIErrorResponse' + description: 'Not found: asset not found' '429': $ref: '#/components/responses/TooManyRequestsResponse' - summary: Update Scanning Rule + security: + - apiKeyAuth: [] + appKeyAuth: [] + summary: List assets SBOMs tags: - - Sensitive Data Scanner - x-codegen-request-body-name: body + - Security Monitoring x-permission: operator: OR permissions: - - data_scanner_write - /api/v2/sensitive-data-scanner/config/standard-patterns: + - appsec_vm_read + /api/v2/security/sboms/{asset_type}: get: - description: Returns all standard patterns. - operationId: ListStandardPatterns + description: Get a single SBOM related to an asset by its type and name. + operationId: GetSBOM + parameters: + - description: The type of the asset for the SBOM request. + example: Repository + in: path + name: asset_type + required: true + schema: + $ref: '#/components/schemas/AssetType' + - description: The name of the asset for the SBOM request. + example: github.com/datadog/datadog-agent + in: query + name: filter[asset_name] + required: true + schema: + type: string + - description: The container image `repo_digest` for the SBOM request. When the requested asset type is 'Image', this filter is mandatory. + example: sha256:0ae7da091191787229d321e3638e39c319a97d6e20f927d465b519d699215bf7 + in: query + name: filter[repo_digest] + required: false + schema: + type: string + - description: The standard of the SBOM. + example: CycloneDX + in: query + name: ext:format + required: false + schema: + $ref: '#/components/schemas/SBOMFormat' responses: '200': content: application/json: + examples: + default: + value: + data: + attributes: + bomFormat: CycloneDX + components: + - name: google.golang.org/grpc + type: library + version: 1.68.1 + dependencies: [] + metadata: {} + serialNumber: urn:uuid:abc-123 + specVersion: '1.6' + version: 1 + id: github.com/datadog/datadog-agent + type: sboms schema: - $ref: >- - #/components/schemas/SensitiveDataScannerStandardPatternsResponseData + $ref: '#/components/schemas/GetSBOMResponse' description: OK '400': content: application/json: schema: - $ref: '#/components/schemas/APIErrorResponse' - description: Bad Request + $ref: '#/components/schemas/JSONAPIErrorResponse' + description: 'Bad request: The server cannot process the request due to invalid syntax in the request.' '403': content: application/json: schema: - $ref: '#/components/schemas/APIErrorResponse' - description: Authentication Error + $ref: '#/components/schemas/JSONAPIErrorResponse' + description: 'Forbidden: Access denied' + '404': + content: + application/json: + schema: + $ref: '#/components/schemas/JSONAPIErrorResponse' + description: 'Not found: asset not found' '429': $ref: '#/components/responses/TooManyRequestsResponse' - summary: List standard patterns + security: + - apiKeyAuth: [] + appKeyAuth: [] + summary: Get SBOM tags: - - Sensitive Data Scanner + - Security Monitoring x-permission: operator: OR permissions: - - data_scanner_read - /api/v2/siem-historical-detections/histsignals: + - appsec_vm_read + /api/v2/security/scanned-assets-metadata: get: - description: List hist signals. - operationId: ListSecurityMonitoringHistsignals + description: |- + Get a list of security scanned assets metadata for an organization. + + ### Pagination + + For the "List Vulnerabilities" endpoint, see the [Pagination section](#pagination). + + ### Filtering + + For the "List Vulnerabilities" endpoint, see the [Filtering section](#filtering). + + ### Metadata + + For the "List Vulnerabilities" endpoint, see the [Metadata section](#metadata). + + ### Related endpoints + + This endpoint returns additional metadata for cloud resources that is not available from the standard resource endpoints. To access a richer dataset, call this endpoint together with the relevant resource endpoint(s) and merge (join) their results using the resource identifier. + + **Hosts** + + To enrich host data, join the response from the [Hosts](https://docs.datadoghq.com/api/latest/hosts/) endpoint with the response from the scanned-assets-metadata endpoint on the following key fields: + + | ENDPOINT | JOIN KEY | TYPE | + | --- | --- | --- | + | [/api/v1/hosts](https://docs.datadoghq.com/api/latest/hosts/) | host_list.host_name | string | + | /api/v2/security/scanned-assets-metadata | data.attributes.asset.name | string | + + **Host Images** + + To enrich host image data, join the response from the [Hosts](https://docs.datadoghq.com/api/latest/hosts/) endpoint with the response from the scanned-assets-metadata endpoint on the following key fields: + + | ENDPOINT | JOIN KEY | TYPE | + | --- | --- | --- | + | [/api/v1/hosts](https://docs.datadoghq.com/api/latest/hosts/) | host_list.tags_by_source["Amazon Web Services"]["image"] | string | + | /api/v2/security/scanned-assets-metadata | data.attributes.asset.name | string | + + **Container Images** + + To enrich container image data, join the response from the [Container Images](https://docs.datadoghq.com/api/latest/container-images/) endpoint with the response from the scanned-assets-metadata endpoint on the following key fields: + + | ENDPOINT | JOIN KEY | TYPE | + | --- | --- | --- | + | [/api/v2/container_images](https://docs.datadoghq.com/api/latest/container-images/) | `data.attributes.name`@`data.attributes.repo_digest` | string | + | /api/v2/security/scanned-assets-metadata | data.attributes.asset.name | string | + operationId: ListScannedAssetsMetadata parameters: - - $ref: '#/components/parameters/QueryFilterSearch' - - $ref: '#/components/parameters/QueryFilterFrom' - - $ref: '#/components/parameters/QueryFilterTo' - - $ref: '#/components/parameters/QuerySort' - - $ref: '#/components/parameters/QueryPageCursor' - - $ref: '#/components/parameters/QueryPageLimit' + - description: Its value must come from the `links` section of the response of the first request. Do not manually edit it. + example: b82cef018aab81ed1d4bb4xb35xxfc065da7efa685fbcecdbd338f3015e3afabbbfa3a911b4984_721ee28a-zecb-4e45-9960-c42065b574f4 + in: query + name: page[token] + required: false + schema: + type: string + - description: The page number to be retrieved. It should be equal to or greater than 1. + example: 1 + in: query + name: page[number] + required: false + schema: + format: int64 + minimum: 1 + type: integer + - description: The type of the scanned asset. + example: Host + in: query + name: filter[asset.type] + required: false + schema: + $ref: '#/components/schemas/CloudAssetType' + - description: The name of the scanned asset. + example: i-0fc7edef1ab26d7ef + in: query + name: filter[asset.name] + required: false + schema: + type: string + - description: The origin of last success scan. + example: agent + in: query + name: filter[last_success.origin] + required: false + schema: + type: string + - description: The environment of last success scan. + example: prod + in: query + name: filter[last_success.env] + required: false + schema: + type: string responses: '200': content: application/json: + examples: + default: + value: + data: + - attributes: + asset: + name: i-0fc7edef1ab26d7ef + type: Host + first_success_timestamp: '2024-01-01T00:00:00Z' + last_success: + env: prod + id: Host|i-0fc7edef1ab26d7ef + type: scanned-assets-metadata schema: - $ref: '#/components/schemas/SecurityMonitoringSignalsListResponse' + $ref: '#/components/schemas/ScannedAssetsMetadata' description: OK '400': - $ref: '#/components/responses/BadRequestResponse' + content: + application/json: + schema: + $ref: '#/components/schemas/JSONAPIErrorResponse' + description: 'Bad request: The server cannot process the request due to invalid syntax in the request.' '403': - $ref: '#/components/responses/NotAuthorizedResponse' + content: + application/json: + schema: + $ref: '#/components/schemas/JSONAPIErrorResponse' + description: 'Forbidden: Access denied' '404': - $ref: '#/components/responses/NotFoundResponse' + content: + application/json: + schema: + $ref: '#/components/schemas/JSONAPIErrorResponse' + description: 'Not found: asset not found' '429': $ref: '#/components/responses/TooManyRequestsResponse' security: - apiKeyAuth: [] appKeyAuth: [] - - AuthZ: - - security_monitoring_signals_read - summary: List hist signals + summary: List scanned assets metadata tags: - Security Monitoring x-permission: operator: OR permissions: - - security_monitoring_signals_read + - appsec_vm_read x-unstable: |- - **Note**: This endpoint is in beta and may be subject to changes. - Please check the documentation regularly for updates. - /api/v2/siem-historical-detections/histsignals/search: + **Note**: This endpoint is a private preview. + If you are interested in accessing this API, [fill out this form](https://forms.gle/kMYC1sDr6WDUBDsx9). + /api/v2/security/siem/ioc-explorer: get: - description: Search hist signals. - operationId: SearchSecurityMonitoringHistsignals - requestBody: - content: - application/json: - schema: - $ref: '#/components/schemas/SecurityMonitoringSignalListRequest' - required: false - responses: - '200': - content: - application/json: - schema: - $ref: '#/components/schemas/SecurityMonitoringSignalsListResponse' - description: OK - '400': - $ref: '#/components/responses/BadRequestResponse' - '403': - $ref: '#/components/responses/NotAuthorizedResponse' - '404': - $ref: '#/components/responses/NotFoundResponse' - '429': - $ref: '#/components/responses/TooManyRequestsResponse' - security: - - apiKeyAuth: [] - appKeyAuth: [] - - AuthZ: - - security_monitoring_signals_read - summary: Search hist signals - tags: - - Security Monitoring - x-permission: - operator: OR - permissions: - - security_monitoring_signals_read - x-unstable: |- - **Note**: This endpoint is in beta and may be subject to changes. - Please check the documentation regularly for updates. - /api/v2/siem-historical-detections/histsignals/{histsignal_id}: - get: - description: Get a hist signal's details. - operationId: GetSecurityMonitoringHistsignal + description: Get a list of indicators of compromise (IoCs) matching the specified filters. + operationId: ListIndicatorsOfCompromise parameters: - - $ref: '#/components/parameters/HistoricalSignalID' + - description: Number of results per page. + in: query + name: limit + required: false + schema: + default: 50 + format: int32 + maximum: 2147483647 + type: integer + - description: Pagination offset. + in: query + name: offset + required: false + schema: + default: 0 + format: int32 + maximum: 2147483647 + type: integer + - description: Search/filter query (supports field:value syntax). + in: query + name: query + required: false + schema: + type: string + - description: 'Sort column: score, first_seen_ts_epoch, last_seen_ts_epoch, indicator, indicator_type, signal_count, log_count, category, as_type.' + in: query + name: sort[column] + required: false + schema: + default: score + type: string + - description: 'Sort order: asc or desc.' + in: query + name: sort[order] + required: false + schema: + default: desc + type: string + - description: When true, return only OCSF field-based matches. When false, return regex/message-based matches. + in: query + name: ocsf + required: false + schema: + default: true + type: boolean + - description: Filter indicators whose triage state was updated by a specific user identified by their handle. + in: query + name: worked_by + required: false + schema: + type: string + - description: Filter by triage state. + in: query + name: triage_state + required: false + schema: + $ref: '#/components/schemas/IoCTriageState' responses: '200': content: application/json: + examples: + default: + value: + data: + attributes: + data: + - id: abc-123 + indicator: 192.0.2.1 + indicator_type: ip + score: 85 + metadata: + count: 1 + paging: + offset: 0 + id: abc-123 + type: ioc_explorer_list_response schema: - $ref: '#/components/schemas/SecurityMonitoringSignalResponse' + $ref: '#/components/schemas/IoCExplorerListResponse' description: OK '400': $ref: '#/components/responses/BadRequestResponse' '403': $ref: '#/components/responses/NotAuthorizedResponse' - '404': - $ref: '#/components/responses/NotFoundResponse' '429': $ref: '#/components/responses/TooManyRequestsResponse' security: @@ -3980,183 +6139,332 @@ paths: appKeyAuth: [] - AuthZ: - security_monitoring_signals_read - summary: Get a hist signal's details + summary: List indicators of compromise tags: - Security Monitoring - x-permission: - operator: OR - permissions: - - security_monitoring_signals_read x-unstable: |- **Note**: This endpoint is in beta and may be subject to changes. Please check the documentation regularly for updates. - /api/v2/siem-historical-detections/jobs: + /api/v2/security/siem/ioc-explorer/indicator: get: - description: List historical jobs. - operationId: ListHistoricalJobs + description: Get detailed information about a specific indicator of compromise (IoC). + operationId: GetIndicatorOfCompromise parameters: - - $ref: '#/components/parameters/PageSize' - - $ref: '#/components/parameters/PageNumber' - - description: The order of the jobs in results. - example: status + - description: The indicator value to look up (for example, an IP address or domain). in: query - name: sort - required: false + name: indicator + required: true schema: type: string - - description: Query used to filter items from the fetched list. - example: security:attack status:high + - description: When true, return only OCSF field-based matches. When false, return regex/message-based matches. in: query - name: filter[query] + name: ocsf required: false schema: - type: string + default: true + type: boolean + - description: Include full triage history for the indicator. + in: query + name: include_triage_history + required: false + schema: + default: false + type: boolean + - description: Maximum number of triage history events returned. Only applied when `include_triage_history` is true. + in: query + name: triage_history_limit + required: false + schema: + default: 50 + format: int32 + maximum: 1000 + minimum: 1 + type: integer + - description: Pagination offset into the triage history. Only applied when `include_triage_history` is true. + in: query + name: triage_history_offset + required: false + schema: + default: 0 + format: int32 + maximum: 2147483647 + type: integer responses: '200': content: application/json: + examples: + default: + value: + data: + attributes: + data: + id: abc-123 + indicator: 192.0.2.1 + indicator_type: ip + score: 85 + id: abc-123 + type: ioc_indicator_response schema: - $ref: '#/components/schemas/ListHistoricalJobsResponse' + $ref: '#/components/schemas/GetIoCIndicatorResponse' description: OK '400': $ref: '#/components/responses/BadRequestResponse' '403': $ref: '#/components/responses/NotAuthorizedResponse' + '404': + $ref: '#/components/responses/NotFoundResponse' '429': $ref: '#/components/responses/TooManyRequestsResponse' security: - apiKeyAuth: [] appKeyAuth: [] - - AuthZ: [] - summary: List historical jobs + - AuthZ: + - security_monitoring_signals_read + summary: Get an indicator of compromise tags: - Security Monitoring x-unstable: |- **Note**: This endpoint is in beta and may be subject to changes. Please check the documentation regularly for updates. + /api/v2/security/siem/ioc-explorer/triage: post: - description: Run a historical job. - operationId: RunHistoricalJob + description: |- + Set the triage state of an indicator of compromise (IoC). This creates or + updates the triage state for the indicator in your organization. + operationId: CreateIoCTriageState requestBody: content: application/json: + examples: + default: + value: + data: + attributes: + indicator: 192.0.2.1 + triage_state: reviewed + type: ioc_triage_state schema: - $ref: '#/components/schemas/RunHistoricalJobRequest' + $ref: '#/components/schemas/IoCTriageWriteRequest' + description: The triage state to set for the indicator. required: true responses: '201': content: application/json: + examples: + default: + value: + data: + attributes: + created_at: '2026-06-04T12:00:00Z' + indicator: 192.0.2.1 + triage_state: reviewed + triaged_at: '2026-06-04T12:00:00Z' + triaged_by: 11111111-2222-3333-4444-555555555555 + id: abc-123 + type: ioc_triage_state schema: - $ref: '#/components/schemas/JobCreateResponse' - description: Status created + $ref: '#/components/schemas/IoCTriageWriteResponse' + description: Created '400': $ref: '#/components/responses/BadRequestResponse' - '401': - $ref: '#/components/responses/ConcurrentModificationResponse' '403': $ref: '#/components/responses/NotAuthorizedResponse' - '404': - $ref: '#/components/responses/NotFoundResponse' '429': $ref: '#/components/responses/TooManyRequestsResponse' security: - apiKeyAuth: [] appKeyAuth: [] - AuthZ: - - security_monitoring_rules_write - summary: Run a historical job + - security_monitoring_signals_write + summary: Create or update an indicator triage state tags: - Security Monitoring - x-codegen-request-body-name: body - x-permission: - operator: OR - permissions: - - security_monitoring_rules_write x-unstable: |- **Note**: This endpoint is in beta and may be subject to changes. Please check the documentation regularly for updates. - /api/v2/siem-historical-detections/jobs/signal_convert: + /api/v2/security/signals/notification_rules: + get: + description: Returns the list of notification rules for security signals. + operationId: GetSignalNotificationRules + responses: + '200': + $ref: '#/components/responses/NotificationRulesList' + '403': + $ref: '#/components/responses/ForbiddenResponse' + '429': + $ref: '#/components/responses/TooManyRequestsResponse' + security: + - apiKeyAuth: [] + appKeyAuth: [] + summary: Get the list of signal-based notification rules + tags: + - Security Monitoring + x-permission: + operator: OR + permissions: + - security_monitoring_notification_profiles_read post: - description: Convert a job result to a signal. - operationId: ConvertJobResultToSignal + description: Create a new notification rule for security signals and return the created rule. + operationId: CreateSignalNotificationRule requestBody: content: application/json: + examples: + default: + value: + data: + attributes: + enabled: true + name: Rule + selectors: + query: (source:production_service OR env:prod) + rule_types: + - misconfiguration + - attack_path + severities: + - critical + trigger_source: security_findings + targets: + - '@john.doe@email.com' + time_aggregation: 86400 + type: notification_rules schema: - $ref: '#/components/schemas/ConvertJobResultsToSignalsRequest' + $ref: '#/components/schemas/CreateNotificationRuleParameters' + description: |- + The body of the create notification rule request is composed of the rule type and the rule attributes: + the rule name, the selectors, the notification targets, and the rule enabled status. required: true responses: - '204': - description: OK + '201': + content: + application/json: + examples: + default: + value: + data: + attributes: + created_at: 1722439510282 + created_by: + handle: example-handle + name: Example Name + enabled: true + modified_at: 1722439510282 + modified_by: + handle: example-handle + name: Example Name + name: Rule 1 + selectors: + query: env:prod + rule_types: + - log_detection + severities: + - critical + trigger_source: security_signals + targets: + - '@test@example.com' + version: 1 + id: aaa-bbb-ccc + type: notification_rules + schema: + $ref: '#/components/schemas/NotificationRuleResponse' + description: Successfully created the notification rule. '400': $ref: '#/components/responses/BadRequestResponse' - '401': - $ref: '#/components/responses/ConcurrentModificationResponse' '403': - $ref: '#/components/responses/NotAuthorizedResponse' - '404': - $ref: '#/components/responses/NotFoundResponse' + $ref: '#/components/responses/ForbiddenResponse' '429': $ref: '#/components/responses/TooManyRequestsResponse' - summary: Convert a job result to a signal + security: + - apiKeyAuth: [] + appKeyAuth: [] + summary: Create a new signal-based notification rule tags: - Security Monitoring x-codegen-request-body-name: body x-permission: operator: OR permissions: - - security_monitoring_signals_write - x-unstable: |- - **Note**: This endpoint is in beta and may be subject to changes. - Please check the documentation regularly for updates. - /api/v2/siem-historical-detections/jobs/{job_id}: + - security_monitoring_notification_profiles_write + /api/v2/security/signals/notification_rules/{id}: delete: - description: Delete an existing job. - operationId: DeleteHistoricalJob + description: Delete a notification rule for security signals. + operationId: DeleteSignalNotificationRule parameters: - - $ref: '#/components/parameters/HistoricalJobID' + - description: ID of the notification rule. + in: path + name: id + required: true + schema: + type: string responses: '204': - description: OK - '400': - $ref: '#/components/responses/BadRequestResponse' - '401': - $ref: '#/components/responses/ConcurrentModificationResponse' + description: Rule successfully deleted. '403': - $ref: '#/components/responses/NotAuthorizedResponse' + $ref: '#/components/responses/ForbiddenResponse' '404': $ref: '#/components/responses/NotFoundResponse' - '409': - $ref: '#/components/responses/ConflictResponse' '429': $ref: '#/components/responses/TooManyRequestsResponse' security: - apiKeyAuth: [] appKeyAuth: [] - - AuthZ: [] - summary: Delete an existing job + summary: Delete a signal-based notification rule tags: - Security Monitoring - x-unstable: |- - **Note**: This endpoint is in beta and may be subject to changes. - Please check the documentation regularly for updates. + x-permission: + operator: OR + permissions: + - security_monitoring_notification_profiles_write get: - description: Get a job's details. - operationId: GetHistoricalJob + description: Get the details of a notification rule for security signals. + operationId: GetSignalNotificationRule parameters: - - $ref: '#/components/parameters/HistoricalJobID' + - description: ID of the notification rule. + in: path + name: id + required: true + schema: + type: string responses: '200': content: application/json: + examples: + default: + value: + data: + attributes: + created_at: 1722439510282 + created_by: + handle: example-handle + name: Example Name + enabled: true + modified_at: 1722439510282 + modified_by: + handle: example-handle + name: Example Name + name: Rule 1 + selectors: + query: env:prod + rule_types: + - log_detection + severities: + - critical + trigger_source: security_signals + targets: + - '@test@example.com' + version: 1 + id: aaa-bbb-ccc + type: notification_rules schema: - $ref: '#/components/schemas/HistoricalJobResponse' - description: OK + $ref: '#/components/schemas/NotificationRuleResponse' + description: Notification rule details. '400': $ref: '#/components/responses/BadRequestResponse' '403': - $ref: '#/components/responses/NotAuthorizedResponse' + $ref: '#/components/responses/ForbiddenResponse' '404': $ref: '#/components/responses/NotFoundResponse' '429': @@ -4164,292 +6472,10510 @@ paths: security: - apiKeyAuth: [] appKeyAuth: [] - - AuthZ: - - security_monitoring_rules_read - summary: Get a job's details + summary: Get details of a signal-based notification rule tags: - Security Monitoring x-permission: operator: OR permissions: - - security_monitoring_rules_read - x-unstable: |- - **Note**: This endpoint is in beta and may be subject to changes. - Please check the documentation regularly for updates. - /api/v2/siem-historical-detections/jobs/{job_id}/cancel: + - security_monitoring_notification_profiles_read patch: - description: Cancel a historical job. - operationId: CancelHistoricalJob + description: Partially update the notification rule. All fields are optional; if a field is not provided, it is not updated. + operationId: PatchSignalNotificationRule parameters: - - $ref: '#/components/parameters/HistoricalJobID' - responses: - '204': - description: OK - '400': - $ref: '#/components/responses/BadRequestResponse' - '401': - $ref: '#/components/responses/ConcurrentModificationResponse' - '403': - $ref: '#/components/responses/NotAuthorizedResponse' - '404': - $ref: '#/components/responses/NotFoundResponse' - '409': - $ref: '#/components/responses/ConflictResponse' - '429': - $ref: '#/components/responses/TooManyRequestsResponse' - security: - - apiKeyAuth: [] - appKeyAuth: [] - - AuthZ: - - security_monitoring_rules_write - summary: Cancel a historical job - tags: - - Security Monitoring - x-permission: - operator: OR - permissions: - - security_monitoring_rules_write - x-unstable: |- - **Note**: This endpoint is in beta and may be subject to changes. - Please check the documentation regularly for updates. - /api/v2/siem-historical-detections/jobs/{job_id}/histsignals: - get: - description: Get a job's hist signals. - operationId: GetSecurityMonitoringHistsignalsByJobId - parameters: - - $ref: '#/components/parameters/HistoricalJobID' - - $ref: '#/components/parameters/QueryFilterSearch' - - $ref: '#/components/parameters/QueryFilterFrom' - - $ref: '#/components/parameters/QueryFilterTo' - - $ref: '#/components/parameters/QuerySort' - - $ref: '#/components/parameters/QueryPageCursor' - - $ref: '#/components/parameters/QueryPageLimit' + - description: ID of the notification rule. + in: path + name: id + required: true + schema: + type: string + requestBody: + content: + application/json: + examples: + default: + value: + data: + attributes: + enabled: true + name: Rule + selectors: + query: (source:production_service OR env:prod) + rule_types: + - misconfiguration + - attack_path + severities: + - critical + trigger_source: security_findings + targets: + - '@john.doe@email.com' + time_aggregation: 86400 + version: 1 + id: aaa-bbb-ccc + type: notification_rules + schema: + $ref: '#/components/schemas/PatchNotificationRuleParameters' + required: true responses: '200': content: application/json: + examples: + default: + value: + data: + attributes: + created_at: 1722439510282 + created_by: + handle: example-handle + name: Example Name + enabled: true + modified_at: 1722439510282 + modified_by: + handle: example-handle + name: Example Name + name: Rule 1 + selectors: + query: env:prod + rule_types: + - log_detection + severities: + - critical + trigger_source: security_signals + targets: + - '@test@example.com' + version: 1 + id: aaa-bbb-ccc + type: notification_rules schema: - $ref: '#/components/schemas/SecurityMonitoringSignalsListResponse' - description: OK + $ref: '#/components/schemas/NotificationRuleResponse' + description: Notification rule successfully patched. '400': $ref: '#/components/responses/BadRequestResponse' '403': - $ref: '#/components/responses/NotAuthorizedResponse' + $ref: '#/components/responses/ForbiddenResponse' '404': $ref: '#/components/responses/NotFoundResponse' + '422': + $ref: '#/components/responses/UnprocessableEntityResponse' '429': $ref: '#/components/responses/TooManyRequestsResponse' security: - apiKeyAuth: [] appKeyAuth: [] - - AuthZ: - - security_monitoring_signals_read - summary: Get a job's hist signals + summary: Patch a signal-based notification rule tags: - Security Monitoring + x-codegen-request-body-name: body x-permission: operator: OR permissions: - - security_monitoring_signals_read - x-unstable: |- - **Note**: This endpoint is in beta and may be subject to changes. - Please check the documentation regularly for updates. -components: - schemas: - AwsScanOptionsListResponse: - description: Response object that includes a list of AWS scan options. - properties: - data: - description: A list of AWS scan options. - items: - $ref: '#/components/schemas/AwsScanOptionsData' - type: array - type: object - AwsScanOptionsCreateRequest: - description: Request object that includes the scan options to create. - properties: - data: - $ref: '#/components/schemas/AwsScanOptionsCreateData' - required: - - data - type: object - AwsScanOptionsResponse: - description: Response object that includes the scan options of an AWS account. - properties: - data: - $ref: '#/components/schemas/AwsScanOptionsData' - type: object - AwsScanOptionsUpdateRequest: - description: Request object that includes the scan options to update. - properties: - data: - $ref: '#/components/schemas/AwsScanOptionsUpdateData' - required: - - data - type: object - AwsOnDemandListResponse: - description: Response object that includes a list of AWS on demand tasks. - properties: - data: - description: A list of on demand tasks. - items: - $ref: '#/components/schemas/AwsOnDemandData' - type: array - type: object - AwsOnDemandCreateRequest: - description: Request object that includes the on demand task to submit. - properties: - data: - $ref: '#/components/schemas/AwsOnDemandCreateData' - required: - - data - type: object - AwsOnDemandResponse: - description: Response object that includes an AWS on demand task. - properties: - data: - $ref: '#/components/schemas/AwsOnDemandData' - type: object - CreateCustomFrameworkRequest: - description: Request object to create a custom framework. - properties: - data: - $ref: '#/components/schemas/CustomFrameworkData' - required: - - data - type: object - CreateCustomFrameworkResponse: - description: Response object to create a custom framework. - properties: - data: - $ref: '#/components/schemas/FrameworkHandleAndVersionResponseData' - required: - - data - type: object - DeleteCustomFrameworkResponse: - description: Response object to delete a custom framework. - properties: - data: - $ref: '#/components/schemas/CustomFrameworkMetadata' - required: - - data - type: object - GetCustomFrameworkResponse: - description: Response object to get a custom framework. - properties: - data: - $ref: '#/components/schemas/FullCustomFrameworkData' - required: - - data - type: object - UpdateCustomFrameworkRequest: - description: Request object to update a custom framework. - properties: - data: - $ref: '#/components/schemas/CustomFrameworkData' - required: - - data - type: object - UpdateCustomFrameworkResponse: - description: Response object to update a custom framework. - properties: - data: - $ref: '#/components/schemas/FrameworkHandleAndVersionResponseData' - required: - - data - type: object - GetResourceEvaluationFiltersResponse: - description: The definition of `GetResourceEvaluationFiltersResponse` object. - properties: - data: - $ref: '#/components/schemas/GetResourceEvaluationFiltersResponseData' - required: - - data - type: object - UpdateResourceEvaluationFiltersRequest: - description: Request object to update a resource filter. - properties: - data: - $ref: '#/components/schemas/UpdateResourceEvaluationFiltersRequestData' - required: - - data - type: object - UpdateResourceEvaluationFiltersResponse: - description: The definition of `UpdateResourceEvaluationFiltersResponse` object. - properties: - data: - $ref: '#/components/schemas/UpdateResourceEvaluationFiltersResponseData' - required: - - data - type: object - OrderDirection: - description: The sort direction for results. - enum: - - asc - - desc - example: asc - type: string - x-enum-varnames: - - ASC - - DESC - CsmAgentsResponse: - description: Response object that includes a list of CSM Agents. - properties: - data: - description: A list of Agents. - items: - $ref: '#/components/schemas/CsmAgentData' - type: array - meta: - $ref: '#/components/schemas/CSMAgentsMetadata' - type: object - CsmCloudAccountsCoverageAnalysisResponse: - description: CSM Cloud Accounts Coverage Analysis response. - properties: - data: - $ref: '#/components/schemas/CsmCloudAccountsCoverageAnalysisData' - type: object - CsmHostsAndContainersCoverageAnalysisResponse: - description: CSM Hosts and Containers Coverage Analysis response. - properties: - data: - $ref: '#/components/schemas/CsmHostsAndContainersCoverageAnalysisData' - type: object - CsmServerlessCoverageAnalysisResponse: - description: CSM Serverless Resources Coverage Analysis response. - properties: - data: - $ref: '#/components/schemas/CsmServerlessCoverageAnalysisData' - type: object - FindingEvaluation: - description: The evaluation of the finding. - enum: - - pass - - fail - example: pass - type: string - x-enum-varnames: - - PASS - - FAIL - FindingStatus: - description: The status of the finding. - enum: - - critical - - high - - medium - - low - - info - example: critical - type: string - x-enum-varnames: - - CRITICAL - - HIGH - - MEDIUM - - LOW - - INFO - FindingVulnerabilityType: - description: The vulnerability type of the finding. - enum: + - security_monitoring_notification_profiles_write + /api/v2/security/vulnerabilities: + get: + deprecated: true + description: |- + Get a list of vulnerabilities. + + ### Pagination + + Pagination is enabled by default in both `vulnerabilities` and `assets`. The size of the page varies depending on the endpoint and cannot be modified. To automate the request of the next page, you can use the links section in the response. + + This endpoint will return paginated responses. The pages are stored in the links section of the response: + + ```JSON + { + "data": [...], + "meta": {...}, + "links": { + "self": "https://.../api/v2/security/vulnerabilities", + "first": "https://.../api/v2/security/vulnerabilities?page[number]=1&page[token]=abc", + "last": "https://.../api/v2/security/vulnerabilities?page[number]=43&page[token]=abc", + "next": "https://.../api/v2/security/vulnerabilities?page[number]=2&page[token]=abc" + } + } + ``` + + + - `links.previous` is empty if the first page is requested. + - `links.next` is empty if the last page is requested. + + #### Token + + Vulnerabilities can be created, updated or deleted at any point in time. + + Upon the first request, a token is created to ensure consistency across subsequent paginated requests. + + A token is valid only for 24 hours. + + #### First request + + We consider a request to be the first request when there is no `page[token]` parameter. + + The response of this first request contains the newly created token in the `links` section. + + This token can then be used in the subsequent paginated requests. + + *Note: The first request may take longer to complete than subsequent requests.* + + #### Subsequent requests + + Any request containing valid `page[token]` and `page[number]` parameters will be considered a subsequent request. + + If the `token` is invalid, a `404` response will be returned. + + If the page `number` is invalid, a `400` response will be returned. + + The returned `token` is valid for all requests in the pagination sequence. To send paginated requests in parallel, reuse the same `token` and change only the `page[number]` parameter. + + ### Filtering + + The request can include some filter parameters to filter the data to be retrieved. The format of the filter parameters follows the [JSON:API format](https://jsonapi.org/format/#fetching-filtering): `filter[$prop_name]`, where `prop_name` is the property name in the entity being filtered by. + + All filters can include multiple values, where data will be filtered with an OR clause: `filter[title]=Title1,Title2` will filter all vulnerabilities where title is equal to `Title1` OR `Title2`. + + String filters are case sensitive. + + Boolean filters accept `true` or `false` as values. + + Number filters must include an operator as a second filter input: `filter[$prop_name][$operator]`. For example, for the vulnerabilities endpoint: `filter[cvss.base.score][lte]=8`. + + Available operators are: `eq` (==), `lt` (<), `lte` (<=), `gt` (>) and `gte` (>=). + + ### Metadata + + Following [JSON:API format](https://jsonapi.org/format/#document-meta), object including non-standard meta-information. + + This endpoint includes the meta member in the response. For more details on each of the properties included in this section, check the endpoints response tables. + + ```JSON + { + "data": [...], + "meta": { + "total": 1500, + "count": 18732, + "token": "some_token" + }, + "links": {...} + } + ``` + ### Extensions + + Requests may include extensions to modify the behavior of the requested endpoint. The filter parameters follow the [JSON:API format](https://jsonapi.org/extensions/#extensions) format: `ext:$extension_name`, where `extension_name` is the name of the modifier that is being applied. + + Extensions can only include one value: `ext:modifier=value`. + operationId: ListVulnerabilities + parameters: + - description: Its value must come from the `links` section of the response of the first request. Do not manually edit it. + example: b82cef018aab81ed1d4bb4xb35xxfc065da7efa685fbcecdbd338f3015e3afabbbfa3a911b4984_721ee28a-zecb-4e45-9960-c42065b574f4 + in: query + name: page[token] + required: false + schema: + type: string + - description: The page number to be retrieved. It should be equal or greater than `1` + example: 1 + in: query + name: page[number] + required: false + schema: + format: int64 + minimum: 1 + type: integer + - description: Filter by vulnerability type. + example: WeakCipher + in: query + name: filter[type] + required: false + schema: + $ref: '#/components/schemas/VulnerabilityType' + - description: Filter by vulnerability base (i.e. from the original advisory) severity score. + example: 5.5 + in: query + name: filter[cvss.base.score][`$op`] + required: false + schema: + format: double + maximum: 10 + minimum: 0 + type: number + - description: Filter by vulnerability base severity. + example: Medium + in: query + name: filter[cvss.base.severity] + required: false + schema: + $ref: '#/components/schemas/VulnerabilitySeverity' + - description: Filter by vulnerability base CVSS vector. + example: CVSS:3.0/AV:L/AC:L/PR:L/UI:N/S:U/C:N/I:N/A:H + in: query + name: filter[cvss.base.vector] + required: false + schema: + type: string + - description: Filter by vulnerability Datadog severity score. + example: 4.3 + in: query + name: filter[cvss.datadog.score][`$op`] + required: false + schema: + format: double + maximum: 10 + minimum: 0 + type: number + - description: Filter by vulnerability Datadog severity. + example: Medium + in: query + name: filter[cvss.datadog.severity] + required: false + schema: + $ref: '#/components/schemas/VulnerabilitySeverity' + - description: Filter by vulnerability Datadog CVSS vector. + example: CVSS:3.1/AV:L/AC:L/PR:L/UI:N/S:U/C:N/I:N/A:H/E:U/RL:X/RC:X/CR:X/IR:X/AR:X/MAV:L/MAC:H/MPR:L/MUI:N/MS:U/MC:N/MI:N/MA:H + in: query + name: filter[cvss.datadog.vector] + required: false + schema: + type: string + - description: Filter by the status of the vulnerability. + example: Open + in: query + name: filter[status] + required: false + schema: + $ref: '#/components/schemas/VulnerabilityStatus' + - description: Filter by the tool of the vulnerability. + example: SCA + in: query + name: filter[tool] + required: false + schema: + $ref: '#/components/schemas/VulnerabilityTool' + - description: Filter by library name. + example: linux-aws-5.15 + in: query + name: filter[library.name] + required: false + schema: + type: string + - description: Filter by library version. + example: 5.15.0 + in: query + name: filter[library.version] + required: false + schema: + type: string + - description: Filter by advisory ID. + example: CVE-2023-0615 + in: query + name: filter[advisory.id] + required: false + schema: + type: string + - description: Filter by exploitation probability. + example: false + in: query + name: filter[risks.exploitation_probability] + required: false + schema: + type: boolean + - description: Filter by POC exploit availability. + example: false + in: query + name: filter[risks.poc_exploit_available] + required: false + schema: + type: boolean + - description: Filter by public exploit availability. + example: false + in: query + name: filter[risks.exploit_available] + required: false + schema: + type: boolean + - description: Filter by vulnerability [EPSS](https://www.first.org/epss/) severity score. + example: 0.00042 + in: query + name: filter[risks.epss.score][`$op`] + required: false + schema: + format: double + maximum: 1 + minimum: 0 + type: number + - description: Filter by vulnerability [EPSS](https://www.first.org/epss/) severity. + example: Low + in: query + name: filter[risks.epss.severity] + required: false + schema: + $ref: '#/components/schemas/VulnerabilitySeverity' + - description: Filter by language. + example: ubuntu + in: query + name: filter[language] + required: false + schema: + type: string + - description: Filter by ecosystem. + example: Deb + in: query + name: filter[ecosystem] + required: false + schema: + $ref: '#/components/schemas/VulnerabilityEcosystem' + - description: Filter by vulnerability location. + example: com.example.Class:100 + in: query + name: filter[code_location.location] + required: false + schema: + type: string + - description: Filter by vulnerability file path. + example: src/Class.java:100 + in: query + name: filter[code_location.file_path] + required: false + schema: + type: string + - description: Filter by method. + example: FooBar + in: query + name: filter[code_location.method] + required: false + schema: + type: string + - description: Filter by fix availability. + example: false + in: query + name: filter[fix_available] + required: false + schema: + type: boolean + - description: Filter by vulnerability `repo_digest` (when the vulnerability is related to `Image` asset). + example: sha256:0ae7da091191787229d321e3638e39c319a97d6e20f927d465b519d699215bf7 + in: query + name: filter[repo_digests] + required: false + schema: + type: string + - description: Filter by origin. + example: agentless-scanner + in: query + name: filter[origin] + required: false + schema: + type: string + - description: Filter for whether the vulnerability affects a running kernel (for vulnerabilities related to a `Host` asset). + example: true + in: query + name: filter[running_kernel] + required: false + schema: + type: boolean + - description: Filter by asset name. This field supports the usage of wildcards (*). + example: datadog-agent + in: query + name: filter[asset.name] + required: false + schema: + type: string + - description: Filter by asset type. + example: Host + in: query + name: filter[asset.type] + required: false + schema: + $ref: '#/components/schemas/AssetType' + - description: Filter by the first version of the asset this vulnerability has been detected on. + example: v1.15.1 + in: query + name: filter[asset.version.first] + required: false + schema: + type: string + - description: Filter by the last version of the asset this vulnerability has been detected on. + example: v1.15.1 + in: query + name: filter[asset.version.last] + required: false + schema: + type: string + - description: Filter by the repository url associated to the asset. + example: github.com/DataDog/datadog-agent.git + in: query + name: filter[asset.repository_url] + required: false + schema: + type: string + - description: Filter whether the asset is in production or not. + example: false + in: query + name: filter[asset.risks.in_production] + required: false + schema: + type: boolean + - description: Filter whether the asset is under attack or not. + example: false + in: query + name: filter[asset.risks.under_attack] + required: false + schema: + type: boolean + - description: Filter whether the asset is publicly accessible or not. + example: false + in: query + name: filter[asset.risks.is_publicly_accessible] + required: false + schema: + type: boolean + - description: Filter whether the asset is publicly accessible or not. + example: false + in: query + name: filter[asset.risks.has_privileged_access] + required: false + schema: + type: boolean + - description: Filter whether the asset has access to sensitive data or not. + example: false + in: query + name: filter[asset.risks.has_access_to_sensitive_data] + required: false + schema: + type: boolean + - description: Filter by asset environments. + example: staging + in: query + name: filter[asset.environments] + required: false + schema: + type: string + - description: Filter by asset teams. + example: compute + in: query + name: filter[asset.teams] + required: false + schema: + type: string + - description: Filter by asset architecture. + example: arm64 + in: query + name: filter[asset.arch] + required: false + schema: + type: string + - description: Filter by asset operating system name. + example: ubuntu + in: query + name: filter[asset.operating_system.name] + required: false + schema: + type: string + - description: Filter by asset operating system version. + example: '24.04' + in: query + name: filter[asset.operating_system.version] + required: false + schema: + type: string + responses: + '200': + content: + application/json: + examples: + default: + value: + data: [] + schema: + $ref: '#/components/schemas/ListVulnerabilitiesResponse' + description: OK + '400': + content: + application/json: + schema: + $ref: '#/components/schemas/JSONAPIErrorResponse' + description: 'Bad request: The server cannot process the request due to invalid syntax in the request.' + '403': + content: + application/json: + schema: + $ref: '#/components/schemas/JSONAPIErrorResponse' + description: 'Forbidden: Access denied' + '404': + content: + application/json: + schema: + $ref: '#/components/schemas/JSONAPIErrorResponse' + description: 'Not found: There is no request associated with the provided token.' + '429': + $ref: '#/components/responses/TooManyRequestsResponse' + security: + - apiKeyAuth: [] + appKeyAuth: [] + summary: List vulnerabilities + tags: + - Security Monitoring + x-permission: + operator: OR + permissions: + - appsec_vm_read + x-sunset: '2027-01-01' + x-unstable: '**Note**: This endpoint is deprecated. See the [List Security Findings endpoint](https://docs.datadoghq.com/api/latest/security-monitoring/#list-security-findings).' + post: + description: |- + Import security vulnerabilities from an external scanner in CycloneDX 1.5 format. + + The payload is validated against the CycloneDX 1.5 JSON schema and the following + additional constraints: + + - `metadata`, `metadata.component`, and `metadata.component.name` are required. + - `metadata.tools.components` must contain exactly one element with a `name` field. + - `components` cannot be empty. Each component requires `bom-ref`, `type`, `name`, and `version`. + - When `type` is `library`, `purl` is required and must be a valid PURL. + - When `type` is `operating-system`, `name` must be one of the supported OS values: + `alma`, `alpine`, `amazon`, `azurelinux`, `bottlerocket`, `cbl-mariner`, `chainguard`, + `centos`, `debian`, `fedora`, `opensuse`, `opensuse-leap`, `opensuse-tumbleweed`, + `oracle`, `photon`, `redhat`, `rocky`, `slem`, `sles`, `ubuntu`, `wolfi`, `windows`, `macos`. + - `vulnerabilities` cannot be empty. Each vulnerability requires `id`, exactly one `ratings` entry, + and at least one `affects` entry. + - Each `affects[].ref` must match a `bom-ref` value in `components`. + operationId: ImportSecurityVulnerabilities + requestBody: + content: + application/json: + examples: + default: + value: + bomFormat: CycloneDX + components: + - bom-ref: a3390fca-c315-41ae-ae05-af5e7859cdee + name: lodash + purl: pkg:npm/lodash@4.17.21 + type: library + version: 4.17.21 + metadata: + component: + name: i-12345 + type: operating-system + tools: + components: + - name: my-scanner + type: application + specVersion: '1.5' + version: 1 + vulnerabilities: + - affects: + - ref: a3390fca-c315-41ae-ae05-af5e7859cdee + description: Sample vulnerability detected in the application. + id: CVE-2021-1234 + ratings: + - score: 9 + severity: high + vector: CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:C/C:H/I:H/A:N + schema: + $ref: '#/components/schemas/CycloneDXBom' + required: true + responses: + '200': + description: Vulnerabilities accepted successfully. + '400': + $ref: '#/components/responses/BadRequestResponse' + '403': + $ref: '#/components/responses/ForbiddenResponse' + '429': + $ref: '#/components/responses/TooManyRequestsResponse' + '500': + content: + application/json: + schema: + $ref: '#/components/schemas/APIErrorResponse' + description: Internal Server Error + security: + - apiKeyAuth: [] + appKeyAuth: [] + - AuthZ: + - security_monitoring_findings_write + summary: Import security vulnerabilities + tags: + - Security Monitoring + x-codegen-request-body-name: body + x-permission: + operator: OR + permissions: + - security_monitoring_findings_write + x-unstable: |- + **Note**: This endpoint is in preview and is subject to change. + If you have any feedback, contact [Datadog support](https://docs.datadoghq.com/help/). + /api/v2/security/vulnerabilities/notification_rules: + get: + description: Returns the list of notification rules for security vulnerabilities. + operationId: GetVulnerabilityNotificationRules + responses: + '200': + $ref: '#/components/responses/NotificationRulesList' + '403': + $ref: '#/components/responses/ForbiddenResponse' + '429': + $ref: '#/components/responses/TooManyRequestsResponse' + security: + - apiKeyAuth: [] + appKeyAuth: [] + summary: Get the list of vulnerability notification rules + tags: + - Security Monitoring + x-permission: + operator: OR + permissions: + - security_monitoring_notification_profiles_read + post: + description: Create a new notification rule for security vulnerabilities and return the created rule. + operationId: CreateVulnerabilityNotificationRule + requestBody: + content: + application/json: + examples: + default: + value: + data: + attributes: + enabled: true + name: Rule + selectors: + query: (source:production_service OR env:prod) + rule_types: + - misconfiguration + - attack_path + severities: + - critical + trigger_source: security_findings + targets: + - '@john.doe@email.com' + time_aggregation: 86400 + type: notification_rules + schema: + $ref: '#/components/schemas/CreateNotificationRuleParameters' + description: |- + The body of the create notification rule request is composed of the rule type and the rule attributes: + the rule name, the selectors, the notification targets, and the rule enabled status. + required: true + responses: + '201': + content: + application/json: + examples: + default: + value: + data: + attributes: + created_at: 1722439510282 + created_by: + handle: example-handle + name: Example Name + enabled: true + modified_at: 1722439510282 + modified_by: + handle: example-handle + name: Example Name + name: Rule 1 + selectors: + query: env:prod + rule_types: + - misconfiguration + severities: + - critical + trigger_source: security_findings + targets: + - '@test@example.com' + time_aggregation: 86400 + version: 1 + id: aaa-bbb-ccc + type: notification_rules + schema: + $ref: '#/components/schemas/NotificationRuleResponse' + description: Successfully created the notification rule. + '400': + $ref: '#/components/responses/BadRequestResponse' + '403': + $ref: '#/components/responses/ForbiddenResponse' + '429': + $ref: '#/components/responses/TooManyRequestsResponse' + security: + - apiKeyAuth: [] + appKeyAuth: [] + summary: Create a new vulnerability-based notification rule + tags: + - Security Monitoring + x-codegen-request-body-name: body + x-permission: + operator: OR + permissions: + - security_monitoring_notification_profiles_write + /api/v2/security/vulnerabilities/notification_rules/{id}: + delete: + description: Delete a notification rule for security vulnerabilities. + operationId: DeleteVulnerabilityNotificationRule + parameters: + - description: ID of the notification rule. + in: path + name: id + required: true + schema: + type: string + responses: + '204': + description: Rule successfully deleted. + '403': + $ref: '#/components/responses/ForbiddenResponse' + '404': + $ref: '#/components/responses/NotFoundResponse' + '429': + $ref: '#/components/responses/TooManyRequestsResponse' + security: + - apiKeyAuth: [] + appKeyAuth: [] + summary: Delete a vulnerability-based notification rule + tags: + - Security Monitoring + x-permission: + operator: OR + permissions: + - security_monitoring_notification_profiles_write + get: + description: Get the details of a notification rule for security vulnerabilities. + operationId: GetVulnerabilityNotificationRule + parameters: + - description: ID of the notification rule. + in: path + name: id + required: true + schema: + type: string + responses: + '200': + content: + application/json: + examples: + default: + value: + data: + attributes: + created_at: 1722439510282 + created_by: + handle: example-handle + name: Example Name + enabled: true + modified_at: 1722439510282 + modified_by: + handle: example-handle + name: Example Name + name: Rule 1 + selectors: + query: env:prod + rule_types: + - misconfiguration + severities: + - critical + trigger_source: security_findings + targets: + - '@test@example.com' + time_aggregation: 86400 + version: 1 + id: aaa-bbb-ccc + type: notification_rules + schema: + $ref: '#/components/schemas/NotificationRuleResponse' + description: Notification rule details. + '400': + $ref: '#/components/responses/BadRequestResponse' + '403': + $ref: '#/components/responses/ForbiddenResponse' + '404': + $ref: '#/components/responses/NotFoundResponse' + '429': + $ref: '#/components/responses/TooManyRequestsResponse' + security: + - apiKeyAuth: [] + appKeyAuth: [] + summary: Get details of a vulnerability notification rule + tags: + - Security Monitoring + x-permission: + operator: OR + permissions: + - security_monitoring_notification_profiles_read + patch: + description: Partially update the notification rule. All fields are optional; if a field is not provided, it is not updated. + operationId: PatchVulnerabilityNotificationRule + parameters: + - description: ID of the notification rule. + in: path + name: id + required: true + schema: + type: string + requestBody: + content: + application/json: + examples: + default: + value: + data: + attributes: + enabled: true + name: Rule + selectors: + query: (source:production_service OR env:prod) + rule_types: + - misconfiguration + - attack_path + severities: + - critical + trigger_source: security_findings + targets: + - '@john.doe@email.com' + time_aggregation: 86400 + version: 1 + id: aaa-bbb-ccc + type: notification_rules + schema: + $ref: '#/components/schemas/PatchNotificationRuleParameters' + required: true + responses: + '200': + content: + application/json: + examples: + default: + value: + data: + attributes: + created_at: 1722439510282 + created_by: + handle: example-handle + name: Example Name + enabled: true + modified_at: 1722439510282 + modified_by: + handle: example-handle + name: Example Name + name: Rule 1 + selectors: + query: env:prod + rule_types: + - misconfiguration + severities: + - critical + trigger_source: security_findings + targets: + - '@test@example.com' + time_aggregation: 86400 + version: 1 + id: aaa-bbb-ccc + type: notification_rules + schema: + $ref: '#/components/schemas/NotificationRuleResponse' + description: Notification rule successfully patched. + '400': + $ref: '#/components/responses/BadRequestResponse' + '403': + $ref: '#/components/responses/ForbiddenResponse' + '404': + $ref: '#/components/responses/NotFoundResponse' + '422': + $ref: '#/components/responses/UnprocessableEntityResponse' + '429': + $ref: '#/components/responses/TooManyRequestsResponse' + security: + - apiKeyAuth: [] + appKeyAuth: [] + summary: Patch a vulnerability-based notification rule + tags: + - Security Monitoring + x-codegen-request-body-name: body + x-permission: + operator: OR + permissions: + - security_monitoring_notification_profiles_write + /api/v2/security/vulnerable-assets: + get: + description: |- + Get a list of vulnerable assets. + + ### Pagination + + Please review the [Pagination section for the "List Vulnerabilities"](#pagination) endpoint. + + ### Filtering + + Please review the [Filtering section for the "List Vulnerabilities"](#filtering) endpoint. + + ### Metadata + + Please review the [Metadata section for the "List Vulnerabilities"](#metadata) endpoint. + operationId: ListVulnerableAssets + parameters: + - description: Its value must come from the `links` section of the response of the first request. Do not manually edit it. + example: b82cef018aab81ed1d4bb4xb35xxfc065da7efa685fbcecdbd338f3015e3afabbbfa3a911b4984_721ee28a-zecb-4e45-9960-c42065b574f4 + in: query + name: page[token] + required: false + schema: + type: string + - description: The page number to be retrieved. It should be equal or greater than `1` + example: 1 + in: query + name: page[number] + required: false + schema: + format: int64 + minimum: 1 + type: integer + - description: Filter by name. This field supports the usage of wildcards (*). + example: datadog-agent + in: query + name: filter[name] + required: false + schema: + type: string + - description: Filter by type. + example: Host + in: query + name: filter[type] + required: false + schema: + $ref: '#/components/schemas/AssetType' + - description: Filter by the first version of the asset since it has been vulnerable. + example: v1.15.1 + in: query + name: filter[version.first] + required: false + schema: + type: string + - description: Filter by the last detected version of the asset. + example: v1.15.1 + in: query + name: filter[version.last] + required: false + schema: + type: string + - description: Filter by the repository url associated to the asset. + example: github.com/DataDog/datadog-agent.git + in: query + name: filter[repository_url] + required: false + schema: + type: string + - description: Filter whether the asset is in production or not. + example: false + in: query + name: filter[risks.in_production] + required: false + schema: + type: boolean + - description: Filter whether the asset (Service) is under attack or not. + example: false + in: query + name: filter[risks.under_attack] + required: false + schema: + type: boolean + - description: Filter whether the asset (Host) is publicly accessible or not. + example: false + in: query + name: filter[risks.is_publicly_accessible] + required: false + schema: + type: boolean + - description: Filter whether the asset (Host) has privileged access or not. + example: false + in: query + name: filter[risks.has_privileged_access] + required: false + schema: + type: boolean + - description: Filter whether the asset (Host) has access to sensitive data or not. + example: false + in: query + name: filter[risks.has_access_to_sensitive_data] + required: false + schema: + type: boolean + - description: Filter by environment. + example: staging + in: query + name: filter[environments] + required: false + schema: + type: string + - description: Filter by teams. + example: compute + in: query + name: filter[teams] + required: false + schema: + type: string + - description: Filter by architecture. + example: arm64 + in: query + name: filter[arch] + required: false + schema: + type: string + - description: Filter by operating system name. + example: ubuntu + in: query + name: filter[operating_system.name] + required: false + schema: + type: string + - description: Filter by operating system version. + example: '24.04' + in: query + name: filter[operating_system.version] + required: false + schema: + type: string + responses: + '200': + content: + application/json: + examples: + default: + value: + data: [] + schema: + $ref: '#/components/schemas/ListVulnerableAssetsResponse' + description: OK + '400': + content: + application/json: + schema: + $ref: '#/components/schemas/JSONAPIErrorResponse' + description: 'Bad request: The server cannot process the request due to invalid syntax in the request.' + '403': + content: + application/json: + schema: + $ref: '#/components/schemas/JSONAPIErrorResponse' + description: 'Forbidden: Access denied' + '404': + content: + application/json: + schema: + $ref: '#/components/schemas/JSONAPIErrorResponse' + description: 'Not found: There is no request associated with the provided token.' + '429': + $ref: '#/components/responses/TooManyRequestsResponse' + security: + - apiKeyAuth: [] + appKeyAuth: [] + summary: List vulnerable assets + tags: + - Security Monitoring + x-permission: + operator: OR + permissions: + - appsec_vm_read + x-unstable: |- + **Note**: This endpoint is a private preview. + If you are interested in accessing this API, [fill out this form](https://forms.gle/kMYC1sDr6WDUBDsx9). + /api/v2/security_monitoring/cloud_workload_security/agent_rules: + get: + description: |- + Get the list of agent rules. + + **Note**: This endpoint should only be used for the Government (US1-FED) site. + operationId: ListCloudWorkloadSecurityAgentRules + responses: + '200': + content: + application/json: + examples: + default: + value: + data: + - attributes: + description: My Agent rule + enabled: true + expression: exec.file.name == "sh" + name: my_agent_rule + id: abc-123 + type: agent_rule + schema: + $ref: '#/components/schemas/CloudWorkloadSecurityAgentRulesListResponse' + description: OK + '403': + $ref: '#/components/responses/NotAuthorizedResponse' + '429': + $ref: '#/components/responses/TooManyRequestsResponse' + summary: Get all Workload Protection agent rules (US1-FED) + tags: + - CSM Threats + x-permission: + operator: OR + permissions: + - security_monitoring_cws_agent_rules_read + post: + description: |- + Create a new agent rule with the given parameters. + + **Note**: This endpoint should only be used for the Government (US1-FED) site. + operationId: CreateCloudWorkloadSecurityAgentRule + requestBody: + content: + application/json: + examples: + default: + value: + data: + attributes: + description: My Agent rule + enabled: true + expression: exec.file.name == "sh" + name: my_agent_rule + type: agent_rule + schema: + $ref: '#/components/schemas/CloudWorkloadSecurityAgentRuleCreateRequest' + description: The definition of the new agent rule + required: true + responses: + '200': + content: + application/json: + examples: + default: + value: + data: + attributes: + description: My Agent rule + enabled: true + expression: exec.file.name == "sh" + name: my_agent_rule + id: abc-123 + type: agent_rule + schema: + $ref: '#/components/schemas/CloudWorkloadSecurityAgentRuleResponse' + description: OK + '400': + $ref: '#/components/responses/BadRequestResponse' + '403': + $ref: '#/components/responses/NotAuthorizedResponse' + '409': + $ref: '#/components/responses/ConflictResponse' + '429': + $ref: '#/components/responses/TooManyRequestsResponse' + summary: Create a Workload Protection agent rule (US1-FED) + tags: + - CSM Threats + x-codegen-request-body-name: body + x-permission: + operator: OR + permissions: + - security_monitoring_cws_agent_rules_write + /api/v2/security_monitoring/cloud_workload_security/agent_rules/{agent_rule_id}: + delete: + description: |- + Delete a specific agent rule. + + **Note**: This endpoint should only be used for the Government (US1-FED) site. + operationId: DeleteCloudWorkloadSecurityAgentRule + parameters: + - $ref: '#/components/parameters/CloudWorkloadSecurityAgentRuleID' + responses: + '204': + description: OK + '403': + $ref: '#/components/responses/NotAuthorizedResponse' + '404': + $ref: '#/components/responses/NotFoundResponse' + '429': + $ref: '#/components/responses/TooManyRequestsResponse' + summary: Delete a Workload Protection agent rule (US1-FED) + tags: + - CSM Threats + x-permission: + operator: OR + permissions: + - security_monitoring_cws_agent_rules_write + get: + description: |- + Get the details of a specific agent rule. + + **Note**: This endpoint should only be used for the Government (US1-FED) site. + operationId: GetCloudWorkloadSecurityAgentRule + parameters: + - $ref: '#/components/parameters/CloudWorkloadSecurityAgentRuleID' + responses: + '200': + content: + application/json: + examples: + default: + value: + data: + attributes: + description: My Agent rule + enabled: true + expression: exec.file.name == "sh" + name: my_agent_rule + id: abc-123 + type: agent_rule + schema: + $ref: '#/components/schemas/CloudWorkloadSecurityAgentRuleResponse' + description: OK + '403': + $ref: '#/components/responses/NotAuthorizedResponse' + '404': + $ref: '#/components/responses/NotFoundResponse' + '429': + $ref: '#/components/responses/TooManyRequestsResponse' + summary: Get a Workload Protection agent rule (US1-FED) + tags: + - CSM Threats + x-permission: + operator: OR + permissions: + - security_monitoring_cws_agent_rules_read + patch: + description: |- + Update a specific agent rule. + Returns the agent rule object when the request is successful. + + **Note**: This endpoint should only be used for the Government (US1-FED) site. + operationId: UpdateCloudWorkloadSecurityAgentRule + parameters: + - $ref: '#/components/parameters/CloudWorkloadSecurityAgentRuleID' + requestBody: + content: + application/json: + examples: + default: + value: + data: + attributes: + description: My Agent rule + enabled: true + expression: exec.file.name == "sh" + id: 3dd-0uc-h1s + type: agent_rule + schema: + $ref: '#/components/schemas/CloudWorkloadSecurityAgentRuleUpdateRequest' + description: New definition of the agent rule + required: true + responses: + '200': + content: + application/json: + examples: + default: + value: + data: + attributes: + description: My Agent rule + enabled: true + expression: exec.file.name == "sh" + name: my_agent_rule + id: abc-123 + type: agent_rule + schema: + $ref: '#/components/schemas/CloudWorkloadSecurityAgentRuleResponse' + description: OK + '400': + $ref: '#/components/responses/BadRequestResponse' + '403': + $ref: '#/components/responses/NotAuthorizedResponse' + '404': + $ref: '#/components/responses/NotFoundResponse' + '409': + $ref: '#/components/responses/ConcurrentModificationResponse' + '429': + $ref: '#/components/responses/TooManyRequestsResponse' + summary: Update a Workload Protection agent rule (US1-FED) + tags: + - CSM Threats + x-codegen-request-body-name: body + x-permission: + operator: OR + permissions: + - security_monitoring_cws_agent_rules_write + /api/v2/security_monitoring/configuration/critical_assets: + get: + description: Get the list of all critical assets. + operationId: ListSecurityMonitoringCriticalAssets + responses: + '200': + content: + application/json: + examples: + default: + value: + data: + - attributes: + enabled: true + query: security:monitoring + rule_query: type:log_detection source:cloudtrail + severity: increase + version: 1 + id: 4e2435a5-6670-4b8f-baff-46083cd1c250 + type: critical_assets + schema: + $ref: '#/components/schemas/SecurityMonitoringCriticalAssetsResponse' + description: OK + '403': + $ref: '#/components/responses/NotAuthorizedResponse' + '429': + $ref: '#/components/responses/TooManyRequestsResponse' + security: + - apiKeyAuth: [] + appKeyAuth: [] + - AuthZ: + - security_monitoring_critical_assets_read + summary: Get all critical assets + tags: + - Security Monitoring + post: + description: Create a new critical asset. + operationId: CreateSecurityMonitoringCriticalAsset + requestBody: + content: + application/json: + examples: + default: + value: + data: + attributes: + enabled: true + query: security:monitoring + rule_query: type:(log_detection OR signal_correlation OR workload_security OR application_security) source:cloudtrail + severity: increase + tags: + - team:database + - source:cloudtrail + type: critical_assets + schema: + $ref: '#/components/schemas/SecurityMonitoringCriticalAssetCreateRequest' + description: The definition of the new critical asset. + required: true + responses: + '200': + content: + application/json: + examples: + default: + value: + data: + attributes: + enabled: true + query: security:monitoring + rule_query: type:log_detection source:cloudtrail + severity: increase + version: 1 + id: 4e2435a5-6670-4b8f-baff-46083cd1c250 + type: critical_assets + schema: + $ref: '#/components/schemas/SecurityMonitoringCriticalAssetResponse' + description: OK + '400': + $ref: '#/components/responses/BadRequestResponse' + '403': + $ref: '#/components/responses/NotAuthorizedResponse' + '409': + $ref: '#/components/responses/ConflictResponse' + '429': + $ref: '#/components/responses/TooManyRequestsResponse' + security: + - apiKeyAuth: [] + appKeyAuth: [] + - AuthZ: + - security_monitoring_critical_assets_write + summary: Create a critical asset + tags: + - Security Monitoring + x-codegen-request-body-name: body + /api/v2/security_monitoring/configuration/critical_assets/rules/{rule_id}: + get: + description: Get the list of critical assets that affect a specific existing rule by the rule's ID. + operationId: GetCriticalAssetsAffectingRule + parameters: + - $ref: '#/components/parameters/SecurityMonitoringRuleID' + responses: + '200': + content: + application/json: + examples: + default: + value: + data: + - attributes: + enabled: true + query: security:monitoring + rule_query: type:log_detection source:cloudtrail + severity: increase + version: 1 + id: 4e2435a5-6670-4b8f-baff-46083cd1c250 + type: critical_assets + schema: + $ref: '#/components/schemas/SecurityMonitoringCriticalAssetsResponse' + description: OK + '403': + $ref: '#/components/responses/NotAuthorizedResponse' + '404': + $ref: '#/components/responses/NotFoundResponse' + '429': + $ref: '#/components/responses/TooManyRequestsResponse' + security: + - apiKeyAuth: [] + appKeyAuth: [] + - AuthZ: + - security_monitoring_critical_assets_read + summary: Get critical assets affecting a specific rule + tags: + - Security Monitoring + /api/v2/security_monitoring/configuration/critical_assets/{critical_asset_id}: + delete: + description: Delete a specific critical asset. + operationId: DeleteSecurityMonitoringCriticalAsset + parameters: + - $ref: '#/components/parameters/SecurityMonitoringCriticalAssetID' + responses: + '204': + description: OK + '403': + $ref: '#/components/responses/NotAuthorizedResponse' + '404': + $ref: '#/components/responses/NotFoundResponse' + '429': + $ref: '#/components/responses/TooManyRequestsResponse' + security: + - apiKeyAuth: [] + appKeyAuth: [] + - AuthZ: + - security_monitoring_critical_assets_write + summary: Delete a critical asset + tags: + - Security Monitoring + get: + description: Get the details of a specific critical asset. + operationId: GetSecurityMonitoringCriticalAsset + parameters: + - $ref: '#/components/parameters/SecurityMonitoringCriticalAssetID' + responses: + '200': + content: + application/json: + examples: + default: + value: + data: + attributes: + enabled: true + query: security:monitoring + rule_query: type:log_detection source:cloudtrail + severity: increase + version: 1 + id: 4e2435a5-6670-4b8f-baff-46083cd1c250 + type: critical_assets + schema: + $ref: '#/components/schemas/SecurityMonitoringCriticalAssetResponse' + description: OK + '403': + $ref: '#/components/responses/NotAuthorizedResponse' + '404': + $ref: '#/components/responses/NotFoundResponse' + '429': + $ref: '#/components/responses/TooManyRequestsResponse' + security: + - apiKeyAuth: [] + appKeyAuth: [] + - AuthZ: + - security_monitoring_critical_assets_read + summary: Get a critical asset + tags: + - Security Monitoring + patch: + description: Update a specific critical asset. + operationId: UpdateSecurityMonitoringCriticalAsset + parameters: + - $ref: '#/components/parameters/SecurityMonitoringCriticalAssetID' + requestBody: + content: + application/json: + examples: + default: + value: + data: + attributes: + enabled: true + query: security:monitoring + rule_query: type:log_detection source:cloudtrail + severity: increase + tags: + - technique:T1110-brute-force + - source:cloudtrail + version: 1 + type: critical_assets + schema: + $ref: '#/components/schemas/SecurityMonitoringCriticalAssetUpdateRequest' + description: New definition of the critical asset. Supports partial updates. + required: true + responses: + '200': + content: + application/json: + examples: + default: + value: + data: + attributes: + enabled: true + query: security:monitoring + rule_query: type:log_detection source:cloudtrail + severity: increase + version: 1 + id: 4e2435a5-6670-4b8f-baff-46083cd1c250 + type: critical_assets + schema: + $ref: '#/components/schemas/SecurityMonitoringCriticalAssetResponse' + description: OK + '400': + $ref: '#/components/responses/BadRequestResponse' + '403': + $ref: '#/components/responses/NotAuthorizedResponse' + '404': + $ref: '#/components/responses/NotFoundResponse' + '409': + $ref: '#/components/responses/ConcurrentModificationResponse' + '429': + $ref: '#/components/responses/TooManyRequestsResponse' + security: + - apiKeyAuth: [] + appKeyAuth: [] + - AuthZ: + - security_monitoring_critical_assets_write + summary: Update a critical asset + tags: + - Security Monitoring + /api/v2/security_monitoring/configuration/integration_config: + get: + description: |- + List the entity context sync configurations for Cloud SIEM. Each configuration connects Cloud SIEM + to an external source that provides entities (for example, users from an identity provider) for use + in signals and the entity explorer. + operationId: ListSecurityMonitoringIntegrationConfigs + parameters: + - description: Filter the entity context sync configurations by source type. + in: query + name: filter[integration_type] + required: false + schema: + $ref: '#/components/schemas/SecurityMonitoringIntegrationType' + responses: + '200': + content: + application/json: + examples: + default: + value: + data: + - attributes: + created_at: '2026-05-01T12:00:00Z' + domain: siem-test.com + enabled: true + integration_type: GOOGLE_WORKSPACE + modified_at: '2026-05-01T12:00:00Z' + name: My GWS Integration + settings: + setting1: value1 + state: valid + id: 11111111-2222-3333-4444-555555555555 + type: integration_config + schema: + $ref: '#/components/schemas/SecurityMonitoringIntegrationConfigsResponse' + description: OK + '403': + $ref: '#/components/responses/NotAuthorizedResponse' + '429': + $ref: '#/components/responses/TooManyRequestsResponse' + security: + - apiKeyAuth: [] + appKeyAuth: [] + - AuthZ: + - integrations_read + summary: List entity context sync configurations + tags: + - Security Monitoring + x-permission: + operator: OR + permissions: + - integrations_read + x-unstable: |- + **Note**: This endpoint is in preview and is subject to change. + If you have any feedback, contact [Datadog support](https://docs.datadoghq.com/help/). + post: + description: |- + Create a new entity context sync configuration so Cloud SIEM can ingest entities from an external + source. The credentials provided in `secrets` are validated against the source before the configuration + is stored and never returned in subsequent responses. + operationId: CreateSecurityMonitoringIntegrationConfig + requestBody: + content: + application/json: + examples: + default: + value: + data: + attributes: + domain: siem-test.com + integration_type: GOOGLE_WORKSPACE + name: My GWS Integration + secrets: + admin_email: test@example.com + settings: + setting1: value1 + type: integration_config + schema: + $ref: '#/components/schemas/SecurityMonitoringIntegrationConfigCreateRequest' + description: The definition of the new integration configuration. + required: true + responses: + '200': + content: + application/json: + examples: + default: + value: + data: + attributes: + created_at: '2026-05-01T12:00:00Z' + domain: siem-test.com + enabled: true + integration_type: GOOGLE_WORKSPACE + modified_at: '2026-05-01T12:00:00Z' + name: My GWS Integration + settings: + setting1: value1 + id: 11111111-2222-3333-4444-555555555555 + type: integration_config + schema: + $ref: '#/components/schemas/SecurityMonitoringIntegrationConfigResponse' + description: OK + '400': + $ref: '#/components/responses/BadRequestResponse' + '403': + $ref: '#/components/responses/NotAuthorizedResponse' + '429': + $ref: '#/components/responses/TooManyRequestsResponse' + security: + - apiKeyAuth: [] + appKeyAuth: [] + - AuthZ: + - manage_integrations + summary: Create an entity context sync configuration + tags: + - Security Monitoring + x-codegen-request-body-name: body + x-permission: + operator: OR + permissions: + - manage_integrations + x-unstable: |- + **Note**: This endpoint is in preview and is subject to change. + If you have any feedback, contact [Datadog support](https://docs.datadoghq.com/help/). + /api/v2/security_monitoring/configuration/integration_config/entra_id/azure_app_registrations: + get: + description: |- + Get the Azure App Registrations discovered for the organization and whether at least one of them has + resource collection enabled, which is a prerequisite for activating the Entra ID entity context sync integration. + operationId: GetEntraIdAzureAppRegistrations + responses: + '200': + content: + application/json: + examples: + default: + value: + data: + attributes: + azure_app_registrations: + - client_id: 66666666-7777-8888-9999-000000000000 + error_count: 0 + resource_collection_enabled: true + subscription_count: 3 + tenant_id: 11111111-2222-3333-4444-555555555555 + has_valid_prerequisite: true + integration_id: 11111111-2222-3333-4444-555555555555 + is_enabled: true + subscribed_at: '2026-05-01T12:00:00Z' + id: '123456' + type: entra_id_azure_app_registrations + schema: + $ref: '#/components/schemas/SecurityMonitoringEntraIdAzureAppRegistrationsResponse' + description: OK + '403': + $ref: '#/components/responses/NotAuthorizedResponse' + '429': + $ref: '#/components/responses/TooManyRequestsResponse' + security: + - apiKeyAuth: [] + appKeyAuth: [] + - AuthZ: + - integrations_read + summary: Get Entra ID Azure App Registration prerequisites + tags: + - Security Monitoring + x-permission: + operator: OR + permissions: + - integrations_read + x-unstable: |- + **Note**: This endpoint is in preview and is subject to change. + If you have any feedback, contact [Datadog support](https://docs.datadoghq.com/help/). + /api/v2/security_monitoring/configuration/integration_config/validate: + post: + description: |- + Validate a set of credentials against the external entity source before creating a sync configuration. + Returns a 200 status code if the credentials are valid. + operationId: ValidateSecurityMonitoringIntegrationCredentials + requestBody: + content: + application/json: + examples: + default: + value: + data: + attributes: + domain: siem-test.com + integration_type: GOOGLE_WORKSPACE + secrets: + admin_email: test@example.com + type: integration_config + schema: + $ref: '#/components/schemas/SecurityMonitoringIntegrationCredentialsValidateRequest' + description: The credentials to validate. + required: true + responses: + '200': + description: OK + '400': + $ref: '#/components/responses/BadRequestResponse' + '403': + $ref: '#/components/responses/NotAuthorizedResponse' + '429': + $ref: '#/components/responses/TooManyRequestsResponse' + security: + - apiKeyAuth: [] + appKeyAuth: [] + - AuthZ: + - integrations_read + summary: Validate entity context sync credentials + tags: + - Security Monitoring + x-codegen-request-body-name: body + x-permission: + operator: OR + permissions: + - integrations_read + x-unstable: |- + **Note**: This endpoint is in preview and is subject to change. + If you have any feedback, contact [Datadog support](https://docs.datadoghq.com/help/). + /api/v2/security_monitoring/configuration/integration_config/{integration_config_id}: + delete: + description: |- + Delete an entity context sync configuration. Cloud SIEM stops ingesting entities from this source, + and the credentials stored for the configuration are removed from the secrets store. + operationId: DeleteSecurityMonitoringIntegrationConfig + parameters: + - $ref: '#/components/parameters/SecurityMonitoringIntegrationConfigID' + responses: + '204': + description: OK + '403': + $ref: '#/components/responses/NotAuthorizedResponse' + '404': + $ref: '#/components/responses/NotFoundResponse' + '429': + $ref: '#/components/responses/TooManyRequestsResponse' + security: + - apiKeyAuth: [] + appKeyAuth: [] + - AuthZ: + - manage_integrations + summary: Delete an entity context sync configuration + tags: + - Security Monitoring + x-permission: + operator: OR + permissions: + - manage_integrations + x-unstable: |- + **Note**: This endpoint is in preview and is subject to change. + If you have any feedback, contact [Datadog support](https://docs.datadoghq.com/help/). + get: + description: Get the details of a specific entity context sync configuration. + operationId: GetSecurityMonitoringIntegrationConfig + parameters: + - $ref: '#/components/parameters/SecurityMonitoringIntegrationConfigID' + responses: + '200': + content: + application/json: + examples: + default: + value: + data: + attributes: + created_at: '2026-05-01T12:00:00Z' + domain: siem-test.com + enabled: true + integration_type: GOOGLE_WORKSPACE + modified_at: '2026-05-01T12:00:00Z' + name: My GWS Integration + settings: + setting1: value1 + state: valid + id: 11111111-2222-3333-4444-555555555555 + type: integration_config + schema: + $ref: '#/components/schemas/SecurityMonitoringIntegrationConfigResponse' + description: OK + '403': + $ref: '#/components/responses/NotAuthorizedResponse' + '404': + $ref: '#/components/responses/NotFoundResponse' + '429': + $ref: '#/components/responses/TooManyRequestsResponse' + security: + - apiKeyAuth: [] + appKeyAuth: [] + - AuthZ: + - integrations_read + summary: Get an entity context sync configuration + tags: + - Security Monitoring + x-permission: + operator: OR + permissions: + - integrations_read + x-unstable: |- + **Note**: This endpoint is in preview and is subject to change. + If you have any feedback, contact [Datadog support](https://docs.datadoghq.com/help/). + patch: + description: Update an existing entity context sync configuration. Supports partial updates; only the fields provided in the request body are modified. + operationId: UpdateSecurityMonitoringIntegrationConfig + parameters: + - $ref: '#/components/parameters/SecurityMonitoringIntegrationConfigID' + requestBody: + content: + application/json: + examples: + default: + value: + data: + attributes: + enabled: false + name: My GWS Integration (renamed) + type: integration_config + schema: + $ref: '#/components/schemas/SecurityMonitoringIntegrationConfigUpdateRequest' + description: The fields to update on the integration configuration. + required: true + responses: + '200': + content: + application/json: + examples: + default: + value: + data: + attributes: + created_at: '2026-05-01T12:00:00Z' + domain: siem-test.com + enabled: false + integration_type: GOOGLE_WORKSPACE + modified_at: '2026-05-08T12:00:00Z' + name: My GWS Integration (renamed) + settings: + setting1: value1 + state: valid + id: 11111111-2222-3333-4444-555555555555 + type: integration_config + schema: + $ref: '#/components/schemas/SecurityMonitoringIntegrationConfigResponse' + description: OK + '400': + $ref: '#/components/responses/BadRequestResponse' + '403': + $ref: '#/components/responses/NotAuthorizedResponse' + '404': + $ref: '#/components/responses/NotFoundResponse' + '429': + $ref: '#/components/responses/TooManyRequestsResponse' + security: + - apiKeyAuth: [] + appKeyAuth: [] + - AuthZ: + - manage_integrations + summary: Update an entity context sync configuration + tags: + - Security Monitoring + x-codegen-request-body-name: body + x-permission: + operator: OR + permissions: + - manage_integrations + x-unstable: |- + **Note**: This endpoint is in preview and is subject to change. + If you have any feedback, contact [Datadog support](https://docs.datadoghq.com/help/). + /api/v2/security_monitoring/configuration/integration_config/{integration_config_id}/validate: + post: + description: |- + Validate the credentials currently stored on an existing entity context sync configuration. + Returns a 200 status code if the credentials are still valid against the external entity source. + operationId: ValidateSecurityMonitoringIntegrationConfig + parameters: + - $ref: '#/components/parameters/SecurityMonitoringIntegrationConfigID' + responses: + '200': + description: OK + '400': + $ref: '#/components/responses/BadRequestResponse' + '403': + $ref: '#/components/responses/NotAuthorizedResponse' + '404': + $ref: '#/components/responses/NotFoundResponse' + '429': + $ref: '#/components/responses/TooManyRequestsResponse' + security: + - apiKeyAuth: [] + appKeyAuth: [] + - AuthZ: + - integrations_read + summary: Validate an entity context sync configuration + tags: + - Security Monitoring + x-permission: + operator: OR + permissions: + - integrations_read + x-unstable: |- + **Note**: This endpoint is in preview and is subject to change. + If you have any feedback, contact [Datadog support](https://docs.datadoghq.com/help/). + /api/v2/security_monitoring/configuration/integration_config/{integration_type}/activate: + post: + description: |- + Activate an entity context sync integration for a source type that does not require manually + supplied credentials (for example, Entra ID). If an integration of this type already exists, + it is returned (re-enabling it first if it was disabled) instead of creating a duplicate. + operationId: ActivateIntegration + parameters: + - description: The integration type to activate (for example, `entra_id`). + in: path + name: integration_type + required: true + schema: + example: entra_id + type: string + requestBody: + content: + application/json: + examples: + default: + value: + data: + attributes: + name: My Entra ID Integration + type: activate_entra_id_request + schema: + $ref: '#/components/schemas/SecurityMonitoringIntegrationActivateRequest' + description: Optional configuration overrides for the integration to activate. + required: false + responses: + '200': + content: + application/json: + examples: + default: + value: + data: + attributes: + created_at: '2026-05-01T12:00:00Z' + domain: default + enabled: true + integration_type: ENTRA_ID + modified_at: '2026-05-01T12:00:00Z' + name: My Entra ID Integration + state: valid + id: 11111111-2222-3333-4444-555555555555 + type: integration_config + schema: + $ref: '#/components/schemas/SecurityMonitoringIntegrationConfigResponse' + description: OK + '400': + $ref: '#/components/responses/BadRequestResponse' + '403': + $ref: '#/components/responses/NotAuthorizedResponse' + '404': + $ref: '#/components/responses/NotFoundResponse' + '429': + $ref: '#/components/responses/TooManyRequestsResponse' + security: + - apiKeyAuth: [] + appKeyAuth: [] + - AuthZ: + - manage_integrations + summary: Activate an entity context sync integration + tags: + - Security Monitoring + x-codegen-request-body-name: body + x-permission: + operator: OR + permissions: + - manage_integrations + x-unstable: |- + **Note**: This endpoint is in preview and is subject to change. + If you have any feedback, contact [Datadog support](https://docs.datadoghq.com/help/). + /api/v2/security_monitoring/configuration/integration_config/{integration_type}/deactivate: + post: + description: Deactivate all active entity context sync integrations of the given source type (for example, Entra ID). + operationId: DeactivateIntegration + parameters: + - description: The integration type to deactivate (for example, `entra_id`). + in: path + name: integration_type + required: true + schema: + example: entra_id + type: string + responses: + '200': + content: + application/json: + examples: + default: + value: + data: + attributes: + created_at: '2026-05-01T12:00:00Z' + domain: default + enabled: false + integration_type: ENTRA_ID + modified_at: '2026-05-08T12:00:00Z' + name: My Entra ID Integration + state: valid + id: 11111111-2222-3333-4444-555555555555 + type: integration_config + schema: + $ref: '#/components/schemas/SecurityMonitoringIntegrationConfigResponse' + description: OK + '403': + $ref: '#/components/responses/NotAuthorizedResponse' + '404': + $ref: '#/components/responses/NotFoundResponse' + '429': + $ref: '#/components/responses/TooManyRequestsResponse' + security: + - apiKeyAuth: [] + appKeyAuth: [] + - AuthZ: + - manage_integrations + summary: Deactivate an entity context sync integration + tags: + - Security Monitoring + x-permission: + operator: OR + permissions: + - manage_integrations + x-unstable: |- + **Note**: This endpoint is in preview and is subject to change. + If you have any feedback, contact [Datadog support](https://docs.datadoghq.com/help/). + /api/v2/security_monitoring/configuration/notification_rules/send_notification_preview: + post: + description: Send a notification preview to test that a notification rule's targets are properly configured. + operationId: SendSecurityMonitoringNotificationPreview + requestBody: + content: + application/json: + examples: + default: + value: + data: + attributes: + enabled: true + name: Rule 1 + selectors: + query: env:prod + rule_types: + - log_detection + severities: + - critical + trigger_source: security_signals + targets: + - '@john.doe@email.com' + type: notification_rules + schema: + $ref: '#/components/schemas/CreateNotificationRuleParameters' + required: true + responses: + '200': + content: + application/json: + examples: + default: + value: + data: + attributes: + preview_results: + - notification_status: DEFAULT + rule_type: log_detection + id: rka-loa-zwu + type: notification_preview_response + schema: + $ref: '#/components/schemas/NotificationRulePreviewResponse' + description: OK + '400': + content: + application/json: + schema: + $ref: '#/components/schemas/JSONAPIErrorResponse' + description: Bad Request + '403': + $ref: '#/components/responses/NotAuthorizedResponse' + '429': + $ref: '#/components/responses/TooManyRequestsResponse' + security: + - apiKeyAuth: [] + appKeyAuth: [] + - AuthZ: + - security_monitoring_notification_profiles_write + summary: Test a notification rule + tags: + - Security Monitoring + x-codegen-request-body-name: body + x-permission: + operator: OR + permissions: + - security_monitoring_notification_profiles_write + /api/v2/security_monitoring/configuration/security_filters: + get: + description: Get the list of configured security filters with their definitions. + operationId: ListSecurityFilters + responses: + '200': + content: + application/json: + examples: + default: + value: + data: + - attributes: + exclusion_filters: + - name: Exclude staging + query: source:staging + filtered_data_type: logs + is_builtin: false + is_enabled: true + name: Custom security filter + query: service:api + version: 1 + id: 3dd-0uc-h1s + type: security_filters + schema: + $ref: '#/components/schemas/SecurityFiltersResponse' + description: OK + '403': + $ref: '#/components/responses/NotAuthorizedResponse' + '429': + $ref: '#/components/responses/TooManyRequestsResponse' + security: + - apiKeyAuth: [] + appKeyAuth: [] + - AuthZ: + - security_monitoring_filters_read + summary: Get all security filters + tags: + - Security Monitoring + x-permission: + operator: OR + permissions: + - security_monitoring_filters_read + post: + description: |- + Create a security filter. + + See the [security filter guide](https://docs.datadoghq.com/security_platform/guide/how-to-setup-security-filters-using-security-monitoring-api/) + for more examples. + operationId: CreateSecurityFilter + requestBody: + content: + application/json: + examples: + default: + value: + data: + attributes: + exclusion_filters: + - name: Exclude staging + query: source:staging + filtered_data_type: logs + is_enabled: true + name: Custom security filter + query: service:api + type: security_filters + schema: + $ref: '#/components/schemas/SecurityFilterCreateRequest' + description: The definition of the new security filter. + required: true + responses: + '200': + content: + application/json: + examples: + default: + value: + data: + attributes: + exclusion_filters: + - name: Exclude staging + query: source:staging + filtered_data_type: logs + is_builtin: false + is_enabled: true + name: Custom security filter + query: service:api + version: 1 + id: 3dd-0uc-h1s + type: security_filters + schema: + $ref: '#/components/schemas/SecurityFilterResponse' + description: OK + '400': + $ref: '#/components/responses/BadRequestResponse' + '403': + $ref: '#/components/responses/NotAuthorizedResponse' + '409': + $ref: '#/components/responses/ConflictResponse' + '429': + $ref: '#/components/responses/TooManyRequestsResponse' + security: + - apiKeyAuth: [] + appKeyAuth: [] + - AuthZ: + - security_monitoring_filters_write + summary: Create a security filter + tags: + - Security Monitoring + x-codegen-request-body-name: body + x-permission: + operator: OR + permissions: + - security_monitoring_filters_write + /api/v2/security_monitoring/configuration/security_filters/versions: + get: + description: |- + Get the configured security filters at each historical version of the configuration. + Each entry in the response represents the set of all security filters at a given version, + ordered from the most recent version to the oldest. + operationId: ListSecurityFilterVersions + responses: + '200': + content: + application/json: + examples: + default: + value: + data: + - attributes: + date: 1758177253469 + filters: + - exclusion_filters: [] + filtered_data_type: logs + id: '123' + is_builtin: false + is_enabled: true + name: Test Security Filter + query: source:test + version: 1 + version: 1 + id: '1' + type: security_filters_configuration + schema: + $ref: '#/components/schemas/SecurityFilterVersionsResponse' + description: OK + '403': + $ref: '#/components/responses/NotAuthorizedResponse' + '429': + $ref: '#/components/responses/TooManyRequestsResponse' + security: + - apiKeyAuth: [] + appKeyAuth: [] + - AuthZ: + - security_monitoring_filters_read + summary: Get the version history of security filters + tags: + - Security Monitoring + x-permission: + operator: OR + permissions: + - security_monitoring_filters_read + /api/v2/security_monitoring/configuration/security_filters/{security_filter_id}: + delete: + description: Delete a specific security filter. + operationId: DeleteSecurityFilter + parameters: + - $ref: '#/components/parameters/SecurityFilterID' + responses: + '204': + description: OK + '403': + $ref: '#/components/responses/NotAuthorizedResponse' + '404': + $ref: '#/components/responses/NotFoundResponse' + '429': + $ref: '#/components/responses/TooManyRequestsResponse' + security: + - apiKeyAuth: [] + appKeyAuth: [] + - AuthZ: + - security_monitoring_filters_write + summary: Delete a security filter + tags: + - Security Monitoring + x-permission: + operator: OR + permissions: + - security_monitoring_filters_write + get: + description: |- + Get the details of a specific security filter. + + See the [security filter guide](https://docs.datadoghq.com/security_platform/guide/how-to-setup-security-filters-using-security-monitoring-api/) + for more examples. + operationId: GetSecurityFilter + parameters: + - $ref: '#/components/parameters/SecurityFilterID' + responses: + '200': + content: + application/json: + examples: + default: + value: + data: + attributes: + exclusion_filters: + - name: Exclude staging + query: source:staging + filtered_data_type: logs + is_builtin: false + is_enabled: true + name: Custom security filter + query: service:api + version: 1 + id: 3dd-0uc-h1s + type: security_filters + schema: + $ref: '#/components/schemas/SecurityFilterResponse' + description: OK + '403': + $ref: '#/components/responses/NotAuthorizedResponse' + '404': + $ref: '#/components/responses/NotFoundResponse' + '429': + $ref: '#/components/responses/TooManyRequestsResponse' + security: + - apiKeyAuth: [] + appKeyAuth: [] + - AuthZ: + - security_monitoring_filters_read + summary: Get a security filter + tags: + - Security Monitoring + x-permission: + operator: OR + permissions: + - security_monitoring_filters_read + patch: + description: |- + Update a specific security filter. + Returns the security filter object when the request is successful. + operationId: UpdateSecurityFilter + parameters: + - $ref: '#/components/parameters/SecurityFilterID' + requestBody: + content: + application/json: + examples: + default: + value: + data: + attributes: + exclusion_filters: [] + filtered_data_type: logs + is_enabled: true + name: Custom security filter + query: service:api + version: 1 + type: security_filters + schema: + $ref: '#/components/schemas/SecurityFilterUpdateRequest' + description: New definition of the security filter. + required: true + responses: + '200': + content: + application/json: + examples: + default: + value: + data: + attributes: + exclusion_filters: + - name: Exclude staging + query: source:staging + filtered_data_type: logs + is_builtin: false + is_enabled: true + name: Custom security filter + query: service:api + version: 1 + id: 3dd-0uc-h1s + type: security_filters + schema: + $ref: '#/components/schemas/SecurityFilterResponse' + description: OK + '400': + $ref: '#/components/responses/BadRequestResponse' + '403': + $ref: '#/components/responses/NotAuthorizedResponse' + '404': + $ref: '#/components/responses/NotFoundResponse' + '409': + $ref: '#/components/responses/ConcurrentModificationResponse' + '429': + $ref: '#/components/responses/TooManyRequestsResponse' + security: + - apiKeyAuth: [] + appKeyAuth: [] + - AuthZ: + - security_monitoring_filters_write + summary: Update a security filter + tags: + - Security Monitoring + x-codegen-request-body-name: body + x-permission: + operator: OR + permissions: + - security_monitoring_filters_write + /api/v2/security_monitoring/configuration/suppressions: + get: + description: Get the list of all suppression rules. + operationId: ListSecurityMonitoringSuppressions + parameters: + - description: Query string. + in: query + name: query + required: false + schema: + type: string + - description: Attribute used to sort the list of suppression rules. Prefix with `-` to sort in descending order. + in: query + name: sort + required: false + schema: + $ref: '#/components/schemas/SecurityMonitoringSuppressionSort' + - description: Size for a given page. Use `-1` to return all items. + in: query + name: page[size] + required: false + schema: + default: -1 + example: 10 + format: int64 + type: integer + - $ref: '#/components/parameters/PageNumber' + responses: + '200': + content: + application/json: + examples: + default: + value: + data: + - attributes: + editable: true + enabled: true + name: Custom suppression + rule_query: type:log_detection source:cloudtrail + suppression_query: env:staging status:low + version: 1 + id: 3dd-0uc-h1s + type: suppressions + meta: + page: + pageNumber: 0 + pageSize: 10 + totalCount: 1 + schema: + $ref: '#/components/schemas/SecurityMonitoringPaginatedSuppressionsResponse' + description: OK + '403': + $ref: '#/components/responses/NotAuthorizedResponse' + '429': + $ref: '#/components/responses/TooManyRequestsResponse' + security: + - apiKeyAuth: [] + appKeyAuth: [] + - AuthZ: + - security_monitoring_suppressions_read + summary: Get all suppression rules + tags: + - Security Monitoring + post: + description: Create a new suppression rule. + operationId: CreateSecurityMonitoringSuppression + requestBody: + content: + application/json: + examples: + default: + value: + data: + attributes: + data_exclusion_query: source:cloudtrail account_id:12345 + description: This rule suppresses low-severity signals in staging environments. + enabled: true + expiration_date: 1703187336000 + name: Custom suppression + rule_query: type:log_detection source:cloudtrail + start_date: 1703187336000 + suppression_query: env:staging status:low + tags: + - technique:T1110-brute-force + - source:cloudtrail + type: suppressions + schema: + $ref: '#/components/schemas/SecurityMonitoringSuppressionCreateRequest' + description: The definition of the new suppression rule. + required: true + responses: + '200': + content: + application/json: + examples: + default: + value: + data: + attributes: + enabled: true + name: Custom suppression + rule_query: type:log_detection source:cloudtrail + suppression_query: env:staging status:low + id: abc-123 + type: suppressions + schema: + $ref: '#/components/schemas/SecurityMonitoringSuppressionResponse' + description: OK + '400': + $ref: '#/components/responses/BadRequestResponse' + '403': + $ref: '#/components/responses/NotAuthorizedResponse' + '409': + $ref: '#/components/responses/ConflictResponse' + '429': + $ref: '#/components/responses/TooManyRequestsResponse' + security: + - apiKeyAuth: [] + appKeyAuth: [] + - AuthZ: + - security_monitoring_suppressions_write + summary: Create a suppression rule + tags: + - Security Monitoring + x-codegen-request-body-name: body + /api/v2/security_monitoring/configuration/suppressions/rules: + post: + description: Get the list of suppressions that would affect a rule. + operationId: GetSuppressionsAffectingFutureRule + requestBody: + content: + application/json: + examples: + default: + value: + calculatedFields: + - expression: '@request_end_timestamp - @request_start_timestamp' + name: response_time + cases: [] + filters: + - action: require + groupSignalsBy: + - service + hasExtendedTitle: true + isEnabled: true + message: '' + name: My security monitoring rule. + options: + anomalyDetectionOptions: + bucketDuration: 300 + detectionTolerance: 5 + instantaneousBaseline: false + complianceRuleOptions: + regoRule: + policy: |- + package datadog + + import data.datadog.output as dd_output + import future.keywords.contains + import future.keywords.if + import future.keywords.in + + eval(resource) = "skip" if { + # Logic that evaluates to true if the resource should be skipped + true + } else = "pass" { + # Logic that evaluates to true if the resource is compliant + true + } else = "fail" { + # Logic that evaluates to true if the resource is not compliant + true + } + + # This part remains unchanged for all rules + results contains result if { + some resource in input.resources[input.main_resource_type] + result := dd_output.format(resource, eval(resource)) + } + resourceTypes: + - gcp_iam_service_account + - gcp_iam_policy + resourceType: aws_acm + decreaseCriticalityBasedOnEnv: false + detectionMethod: threshold + hardcodedEvaluatorType: log4shell + impossibleTravelOptions: + baselineUserLocations: true + baselineUserLocationsDuration: 7 + newValueOptions: + instantaneousBaseline: false + learningMethod: duration + thirdPartyRuleOptions: + defaultStatus: critical + rootQueries: + - query: source:cloudtrail + queries: [] + schedulingOptions: + rrule: FREQ=HOURLY;INTERVAL=1; + start: '2025-07-14T12:00:00' + timezone: America/New_York + tags: + - env:prod + - team:security + thirdPartyCases: [] + type: api_security + schema: + $ref: '#/components/schemas/SecurityMonitoringRuleCreatePayload' + required: true + responses: + '200': + content: + application/json: + examples: + default: + value: + data: + - attributes: + enabled: true + name: Custom suppression + rule_query: type:log_detection source:cloudtrail + suppression_query: env:staging status:low + id: abc-123 + type: suppressions + schema: + $ref: '#/components/schemas/SecurityMonitoringSuppressionsResponse' + description: OK + '400': + $ref: '#/components/responses/BadRequestResponse' + '403': + $ref: '#/components/responses/NotAuthorizedResponse' + '429': + $ref: '#/components/responses/TooManyRequestsResponse' + security: + - apiKeyAuth: [] + appKeyAuth: [] + - AuthZ: + - security_monitoring_suppressions_read + summary: Get suppressions affecting future rule + tags: + - Security Monitoring + /api/v2/security_monitoring/configuration/suppressions/rules/{rule_id}: + get: + description: Get the list of suppressions that affect a specific existing rule by its ID. + operationId: GetSuppressionsAffectingRule + parameters: + - $ref: '#/components/parameters/SecurityMonitoringRuleID' + responses: + '200': + content: + application/json: + examples: + default: + value: + data: + - attributes: + editable: true + enabled: true + name: Custom suppression + rule_query: type:log_detection source:cloudtrail + suppression_query: env:staging status:low + version: 1 + id: 3dd-0uc-h1s + type: suppressions + schema: + $ref: '#/components/schemas/SecurityMonitoringSuppressionsResponse' + description: OK + '403': + $ref: '#/components/responses/NotAuthorizedResponse' + '404': + $ref: '#/components/responses/NotFoundResponse' + '429': + $ref: '#/components/responses/TooManyRequestsResponse' + security: + - apiKeyAuth: [] + appKeyAuth: [] + - AuthZ: + - security_monitoring_suppressions_read + summary: Get suppressions affecting a specific rule + tags: + - Security Monitoring + /api/v2/security_monitoring/configuration/suppressions/validation: + post: + description: Validate a suppression rule. + operationId: ValidateSecurityMonitoringSuppression + requestBody: + content: + application/json: + examples: + default: + value: + data: + attributes: + data_exclusion_query: source:cloudtrail account_id:12345 + description: This rule suppresses low-severity signals in staging environments. + enabled: true + expiration_date: 1703187336000 + name: Custom suppression + rule_query: type:log_detection source:cloudtrail + start_date: 1703187336000 + suppression_query: env:staging status:low + tags: + - technique:T1110-brute-force + - source:cloudtrail + type: suppressions + schema: + $ref: '#/components/schemas/SecurityMonitoringSuppressionCreateRequest' + required: true + responses: + '204': + description: OK + '400': + $ref: '#/components/responses/BadRequestResponse' + '403': + $ref: '#/components/responses/NotAuthorizedResponse' + '429': + $ref: '#/components/responses/TooManyRequestsResponse' + security: + - apiKeyAuth: [] + appKeyAuth: [] + - AuthZ: + - security_monitoring_suppressions_write + summary: Validate a suppression rule + tags: + - Security Monitoring + x-codegen-request-body-name: body + x-permission: + operator: OR + permissions: + - security_monitoring_suppressions_write + /api/v2/security_monitoring/configuration/suppressions/{suppression_id}: + delete: + description: Delete a specific suppression rule. + operationId: DeleteSecurityMonitoringSuppression + parameters: + - $ref: '#/components/parameters/SecurityMonitoringSuppressionID' + responses: + '204': + description: OK + '403': + $ref: '#/components/responses/NotAuthorizedResponse' + '404': + $ref: '#/components/responses/NotFoundResponse' + '429': + $ref: '#/components/responses/TooManyRequestsResponse' + security: + - apiKeyAuth: [] + appKeyAuth: [] + - AuthZ: + - security_monitoring_suppressions_write + summary: Delete a suppression rule + tags: + - Security Monitoring + get: + description: Get the details of a specific suppression rule. + operationId: GetSecurityMonitoringSuppression + parameters: + - $ref: '#/components/parameters/SecurityMonitoringSuppressionID' + responses: + '200': + content: + application/json: + examples: + default: + value: + data: + attributes: + editable: true + enabled: true + name: Custom suppression + rule_query: type:log_detection source:cloudtrail + suppression_query: env:staging status:low + version: 1 + id: 3dd-0uc-h1s + type: suppressions + schema: + $ref: '#/components/schemas/SecurityMonitoringSuppressionResponse' + description: OK + '403': + $ref: '#/components/responses/NotAuthorizedResponse' + '404': + $ref: '#/components/responses/NotFoundResponse' + '429': + $ref: '#/components/responses/TooManyRequestsResponse' + security: + - apiKeyAuth: [] + appKeyAuth: [] + - AuthZ: + - security_monitoring_suppressions_read + summary: Get a suppression rule + tags: + - Security Monitoring + patch: + description: Update a specific suppression rule. + operationId: UpdateSecurityMonitoringSuppression + parameters: + - $ref: '#/components/parameters/SecurityMonitoringSuppressionID' + requestBody: + content: + application/json: + examples: + default: + value: + data: + attributes: + data_exclusion_query: source:cloudtrail account_id:12345 + description: This rule suppresses low-severity signals in staging environments. + enabled: true + expiration_date: 1703187336000 + name: Custom suppression + rule_query: type:log_detection source:cloudtrail + start_date: 1703187336000 + suppression_query: env:staging status:low + tags: + - technique:T1110-brute-force + - source:cloudtrail + type: suppressions + schema: + $ref: '#/components/schemas/SecurityMonitoringSuppressionUpdateRequest' + description: New definition of the suppression rule. Supports partial updates. + required: true + responses: + '200': + content: + application/json: + examples: + default: + value: + data: + attributes: + editable: true + enabled: true + name: Custom suppression + rule_query: type:log_detection source:cloudtrail + suppression_query: env:staging status:low + version: 1 + id: 3dd-0uc-h1s + type: suppressions + schema: + $ref: '#/components/schemas/SecurityMonitoringSuppressionResponse' + description: OK + '400': + $ref: '#/components/responses/BadRequestResponse' + '403': + $ref: '#/components/responses/NotAuthorizedResponse' + '404': + $ref: '#/components/responses/NotFoundResponse' + '409': + $ref: '#/components/responses/ConcurrentModificationResponse' + '429': + $ref: '#/components/responses/TooManyRequestsResponse' + security: + - apiKeyAuth: [] + appKeyAuth: [] + - AuthZ: + - security_monitoring_suppressions_write + summary: Update a suppression rule + tags: + - Security Monitoring + /api/v2/security_monitoring/configuration/suppressions/{suppression_id}/version_history: + get: + description: Get a suppression's version history. + operationId: GetSuppressionVersionHistory + parameters: + - $ref: '#/components/parameters/SecurityMonitoringSuppressionID' + - $ref: '#/components/parameters/PageSize' + - $ref: '#/components/parameters/PageNumber' + responses: + '200': + content: + application/json: + examples: + default: + value: + data: + attributes: + count: 1 + data: + '1': + changes: [] + suppression: + enabled: true + name: Custom suppression + rule_query: type:log_detection source:cloudtrail + version: 1 + id: 3dd-0uc-h1s + type: suppression_version_history + schema: + $ref: '#/components/schemas/GetSuppressionVersionHistoryResponse' + description: OK + '403': + $ref: '#/components/responses/NotAuthorizedResponse' + '404': + $ref: '#/components/responses/NotFoundResponse' + '429': + $ref: '#/components/responses/TooManyRequestsResponse' + security: + - apiKeyAuth: [] + appKeyAuth: [] + - AuthZ: + - security_monitoring_suppressions_read + summary: Get a suppression's version history + tags: + - Security Monitoring + /api/v2/security_monitoring/content_packs/states: + get: + description: |- + Get the activation state, integration status, and log collection status + for all Cloud SIEM content packs. + operationId: GetContentPacksStates + responses: + '200': + content: + application/json: + examples: + default: + value: + data: + - attributes: + details: + cp_activation: activated + data_last_seen: within_24_hours + filters_configured: true + integration_installed_status: installed + logs_seen_from_any_index: true + siem_index_incorrect: false + type: logs + status: active + id: aws-cloudtrail + type: content_pack_state + meta: + cloud_siem_index_incorrect: false + sku: add_on_2024 + schema: + $ref: '#/components/schemas/SecurityMonitoringContentPackStatesResponse' + description: OK + '403': + content: + application/json: + schema: + $ref: '#/components/schemas/JSONAPIErrorResponse' + description: Forbidden + '404': + content: + application/json: + schema: + $ref: '#/components/schemas/JSONAPIErrorResponse' + description: Not Found + '429': + $ref: '#/components/responses/TooManyRequestsResponse' + security: + - apiKeyAuth: [] + appKeyAuth: [] + - AuthZ: + - security_monitoring_filters_read + summary: Get content pack states + tags: + - Security Monitoring + x-permission: + operator: OR + permissions: + - security_monitoring_filters_read + - logs_read_index_data + x-unstable: |- + **Note**: This endpoint is in preview and is subject to change. + If you have any feedback, contact [Datadog support](https://docs.datadoghq.com/help/). + /api/v2/security_monitoring/content_packs/{content_pack_id}/activate: + put: + description: |- + Activate a Cloud SIEM content pack. This operation configures the necessary + log filters or security filters depending on the pricing model and updates the content + pack activation state. + operationId: ActivateContentPack + parameters: + - description: The ID of the content pack to activate (for example, `aws-cloudtrail`). + in: path + name: content_pack_id + required: true + schema: + example: aws-cloudtrail + type: string + responses: + '202': + description: Accepted + '403': + content: + application/json: + schema: + $ref: '#/components/schemas/JSONAPIErrorResponse' + description: Forbidden + '404': + content: + application/json: + schema: + $ref: '#/components/schemas/JSONAPIErrorResponse' + description: Not Found + '429': + $ref: '#/components/responses/TooManyRequestsResponse' + security: + - apiKeyAuth: [] + appKeyAuth: [] + - AuthZ: + - security_monitoring_filters_write + summary: Activate content pack + tags: + - Security Monitoring + x-permission: + operator: OR + permissions: + - security_monitoring_filters_write + - logs_modify_indexes + x-unstable: |- + **Note**: This endpoint is in preview and is subject to change. + If you have any feedback, contact [Datadog support](https://docs.datadoghq.com/help/). + /api/v2/security_monitoring/content_packs/{content_pack_id}/deactivate: + put: + description: |- + Deactivate a Cloud SIEM content pack. This operation removes the content pack's + configuration from log filters or security filters and updates the content pack activation state. + operationId: DeactivateContentPack + parameters: + - description: The ID of the content pack to deactivate (for example, `aws-cloudtrail`). + in: path + name: content_pack_id + required: true + schema: + example: aws-cloudtrail + type: string + responses: + '202': + description: Accepted + '403': + content: + application/json: + schema: + $ref: '#/components/schemas/JSONAPIErrorResponse' + description: Forbidden + '404': + content: + application/json: + schema: + $ref: '#/components/schemas/JSONAPIErrorResponse' + description: Not Found + '429': + $ref: '#/components/responses/TooManyRequestsResponse' + security: + - apiKeyAuth: [] + appKeyAuth: [] + - AuthZ: + - security_monitoring_filters_write + summary: Deactivate content pack + tags: + - Security Monitoring + x-permission: + operator: OR + permissions: + - security_monitoring_filters_write + - logs_modify_indexes + x-unstable: |- + **Note**: This endpoint is in preview and is subject to change. + If you have any feedback, contact [Datadog support](https://docs.datadoghq.com/help/). + /api/v2/security_monitoring/datasets: + get: + description: |- + List all Cloud SIEM datasets available to the organization, including both + customer-defined datasets and Datadog out-of-the-box datasets. + operationId: ListSecurityMonitoringDatasets + parameters: + - description: Size for a given page. The maximum allowed value is 100. + in: query + name: page[size] + required: false + schema: + default: 50 + example: 50 + format: int64 + type: integer + - description: Specific page number to return. + in: query + name: page[number] + required: false + schema: + default: 1 + example: 1 + format: int64 + type: integer + - description: Attribute used to sort datasets. Prefix with `-` to sort in descending order. + in: query + name: sort + required: false + schema: + example: name + type: string + - description: A search query to filter datasets by name or description. + in: query + name: filter[query] + required: false + schema: + example: sample_dataset + type: string + responses: + '200': + content: + application/json: + examples: + default: + value: + data: + - attributes: + createdAt: '2025-03-20T10:00:00Z' + createdByHandle: bruce.lee + createdByName: Bruce Lee + definition: + columns: + - column: message + type: string + data_source: logs + indexes: + - main + name: sample_dataset + search: + query: '*' + description: A sample dataset used for detection rules. + id: 123e4567-e89b-12d3-a456-426614174000 + isDefault: false + isDeprecated: false + modifiedAt: '2025-03-20T10:00:00Z' + name: sample_dataset + updatedByHandle: null + updatedByName: null + version: 1 + id: 123e4567-e89b-12d3-a456-426614174000 + type: dataset + meta: + totalCount: 1 + schema: + $ref: '#/components/schemas/SecurityMonitoringDatasetsListResponse' + description: OK + '400': + content: + application/json: + schema: + $ref: '#/components/schemas/JSONAPIErrorResponse' + description: Bad Request + '403': + content: + application/json: + schema: + $ref: '#/components/schemas/JSONAPIErrorResponse' + description: Forbidden + '429': + $ref: '#/components/responses/TooManyRequestsResponse' + security: + - apiKeyAuth: [] + appKeyAuth: [] + - AuthZ: + - security_monitoring_rules_read + summary: List datasets + tags: + - Security Monitoring + x-permission: + operator: OR + permissions: + - security_monitoring_rules_read + - security_monitoring_dataset_read + x-unstable: |- + **Note**: This endpoint is in preview and is subject to change. + If you have any feedback, contact [Datadog support](https://docs.datadoghq.com/help/). + post: + description: |- + Create a new Cloud SIEM dataset. A dataset bundles a data source, a set of + indexes, and a search query that can be referenced from detection rules. + operationId: CreateSecurityMonitoringDataset + requestBody: + content: + application/json: + examples: + default: + value: + data: + attributes: + definition: + columns: + - column: message + type: string + data_source: logs + indexes: + - main + name: sample_dataset + search: + query: '*' + description: A sample dataset used for detection rules. + type: datasetCreate + schema: + $ref: '#/components/schemas/SecurityMonitoringDatasetCreateRequest' + required: true + responses: + '201': + content: + application/json: + examples: + default: + value: + data: + id: 123e4567-e89b-12d3-a456-426614174000 + type: dataset + schema: + $ref: '#/components/schemas/SecurityMonitoringDatasetCreateResponse' + description: Created + '400': + content: + application/json: + schema: + $ref: '#/components/schemas/JSONAPIErrorResponse' + description: Bad Request + '403': + content: + application/json: + schema: + $ref: '#/components/schemas/JSONAPIErrorResponse' + description: Forbidden + '409': + content: + application/json: + schema: + $ref: '#/components/schemas/JSONAPIErrorResponse' + description: Conflict + '429': + $ref: '#/components/responses/TooManyRequestsResponse' + security: + - apiKeyAuth: [] + appKeyAuth: [] + - AuthZ: + - security_monitoring_rules_write + summary: Create a dataset + tags: + - Security Monitoring + x-permission: + operator: OR + permissions: + - security_monitoring_rules_write + - security_monitoring_dataset_write + x-unstable: |- + **Note**: This endpoint is in preview and is subject to change. + If you have any feedback, contact [Datadog support](https://docs.datadoghq.com/help/). + /api/v2/security_monitoring/datasets/dependencies: + post: + description: |- + Return, for each of the requested datasets, the list of detection rules that depend + on it. Useful for understanding the impact of updating or deleting a dataset. + operationId: BatchGetSecurityMonitoringDatasetDependencies + requestBody: + content: + application/json: + examples: + default: + value: + data: + attributes: + datasetIds: + - 123e4567-e89b-12d3-a456-426614174000 + schema: + $ref: '#/components/schemas/SecurityMonitoringDatasetDependenciesRequest' + required: true + responses: + '200': + content: + application/json: + examples: + default: + value: + data: + - attributes: + count: 0 + datasetId: 123e4567-e89b-12d3-a456-426614174000 + ids: [] + resource_type: security_detection_rule + id: 123e4567-e89b-12d3-a456-426614174000 + type: datasetDependents + schema: + $ref: '#/components/schemas/SecurityMonitoringDatasetDependenciesResponse' + description: OK + '400': + content: + application/json: + schema: + $ref: '#/components/schemas/JSONAPIErrorResponse' + description: Bad Request + '403': + content: + application/json: + schema: + $ref: '#/components/schemas/JSONAPIErrorResponse' + description: Forbidden + '429': + $ref: '#/components/responses/TooManyRequestsResponse' + security: + - apiKeyAuth: [] + appKeyAuth: [] + - AuthZ: + - security_monitoring_rules_read + summary: Get dataset dependencies + tags: + - Security Monitoring + x-permission: + operator: OR + permissions: + - security_monitoring_rules_read + - security_monitoring_dataset_read + x-unstable: |- + **Note**: This endpoint is in preview and is subject to change. + If you have any feedback, contact [Datadog support](https://docs.datadoghq.com/help/). + /api/v2/security_monitoring/datasets/{dataset_id}: + delete: + description: |- + Delete a Cloud SIEM dataset. Out-of-the-box datasets cannot be deleted and + deleting a dataset that is referenced by a detection rule is rejected. + operationId: DeleteSecurityMonitoringDataset + parameters: + - $ref: '#/components/parameters/SecurityMonitoringDatasetID' + responses: + '204': + description: No Content + '400': + content: + application/json: + schema: + $ref: '#/components/schemas/JSONAPIErrorResponse' + description: Bad Request + '403': + content: + application/json: + schema: + $ref: '#/components/schemas/JSONAPIErrorResponse' + description: Forbidden + '404': + content: + application/json: + schema: + $ref: '#/components/schemas/JSONAPIErrorResponse' + description: Not Found + '429': + $ref: '#/components/responses/TooManyRequestsResponse' + security: + - apiKeyAuth: [] + appKeyAuth: [] + - AuthZ: + - security_monitoring_rules_write + summary: Delete a dataset + tags: + - Security Monitoring + x-permission: + operator: OR + permissions: + - security_monitoring_rules_write + - security_monitoring_dataset_write + x-unstable: |- + **Note**: This endpoint is in preview and is subject to change. + If you have any feedback, contact [Datadog support](https://docs.datadoghq.com/help/). + get: + description: Get the current version of a Cloud SIEM dataset by ID. + operationId: GetSecurityMonitoringDataset + parameters: + - $ref: '#/components/parameters/SecurityMonitoringDatasetID' + responses: + '200': + content: + application/json: + examples: + default: + value: + data: + attributes: + createdAt: '2025-03-20T10:00:00Z' + createdByHandle: bruce.lee + createdByName: Bruce Lee + definition: + columns: + - column: message + type: string + data_source: logs + indexes: + - main + name: sample_dataset + search: + query: '*' + description: A sample dataset used for detection rules. + id: 123e4567-e89b-12d3-a456-426614174000 + isDefault: false + isDeprecated: false + modifiedAt: '2025-03-20T10:00:00Z' + name: sample_dataset + updatedByHandle: null + updatedByName: null + version: 1 + id: 123e4567-e89b-12d3-a456-426614174000 + type: dataset + schema: + $ref: '#/components/schemas/SecurityMonitoringDatasetResponse' + description: OK + '400': + content: + application/json: + schema: + $ref: '#/components/schemas/JSONAPIErrorResponse' + description: Bad Request + '403': + content: + application/json: + schema: + $ref: '#/components/schemas/JSONAPIErrorResponse' + description: Forbidden + '404': + content: + application/json: + schema: + $ref: '#/components/schemas/JSONAPIErrorResponse' + description: Not Found + '429': + $ref: '#/components/responses/TooManyRequestsResponse' + security: + - apiKeyAuth: [] + appKeyAuth: [] + - AuthZ: + - security_monitoring_rules_read + summary: Get a dataset + tags: + - Security Monitoring + x-permission: + operator: OR + permissions: + - security_monitoring_rules_read + - security_monitoring_dataset_read + x-unstable: |- + **Note**: This endpoint is in preview and is subject to change. + If you have any feedback, contact [Datadog support](https://docs.datadoghq.com/help/). + patch: + description: |- + Update an existing Cloud SIEM dataset. The current version of the dataset can be + provided to detect concurrent modifications. + operationId: UpdateSecurityMonitoringDataset + parameters: + - $ref: '#/components/parameters/SecurityMonitoringDatasetID' + requestBody: + content: + application/json: + examples: + default: + value: + data: + attributes: + definition: + columns: + - column: message + type: string + data_source: logs + indexes: + - main + name: sample_dataset + search: + query: '*' + description: An updated description for the dataset. + version: 1 + type: datasetUpdate + schema: + $ref: '#/components/schemas/SecurityMonitoringDatasetUpdateRequest' + required: true + responses: + '204': + description: No Content + '400': + content: + application/json: + schema: + $ref: '#/components/schemas/JSONAPIErrorResponse' + description: Bad Request + '403': + content: + application/json: + schema: + $ref: '#/components/schemas/JSONAPIErrorResponse' + description: Forbidden + '404': + content: + application/json: + schema: + $ref: '#/components/schemas/JSONAPIErrorResponse' + description: Not Found + '409': + content: + application/json: + schema: + $ref: '#/components/schemas/JSONAPIErrorResponse' + description: Conflict + '429': + $ref: '#/components/responses/TooManyRequestsResponse' + security: + - apiKeyAuth: [] + appKeyAuth: [] + - AuthZ: + - security_monitoring_rules_write + summary: Update a dataset + tags: + - Security Monitoring + x-permission: + operator: OR + permissions: + - security_monitoring_rules_write + - security_monitoring_dataset_write + x-unstable: |- + **Note**: This endpoint is in preview and is subject to change. + If you have any feedback, contact [Datadog support](https://docs.datadoghq.com/help/). + /api/v2/security_monitoring/datasets/{dataset_id}/version/{version}: + get: + description: Retrieve a specific historical version of a Cloud SIEM dataset. + operationId: GetSecurityMonitoringDatasetByVersion + parameters: + - $ref: '#/components/parameters/SecurityMonitoringDatasetID' + - description: The version number of the dataset to retrieve. + in: path + name: version + required: true + schema: + example: 1 + format: int64 + type: integer + responses: + '200': + content: + application/json: + examples: + default: + value: + data: + attributes: + createdAt: '2025-03-20T10:00:00Z' + createdByHandle: bruce.lee + createdByName: Bruce Lee + definition: + columns: + - column: message + type: string + data_source: logs + indexes: + - main + name: sample_dataset + search: + query: '*' + description: A sample dataset used for detection rules. + id: 123e4567-e89b-12d3-a456-426614174000 + isDefault: false + isDeprecated: false + modifiedAt: '2025-03-20T10:00:00Z' + name: sample_dataset + updatedByHandle: null + updatedByName: null + version: 1 + id: 123e4567-e89b-12d3-a456-426614174000 + type: dataset + schema: + $ref: '#/components/schemas/SecurityMonitoringDatasetResponse' + description: OK + '400': + content: + application/json: + schema: + $ref: '#/components/schemas/JSONAPIErrorResponse' + description: Bad Request + '403': + content: + application/json: + schema: + $ref: '#/components/schemas/JSONAPIErrorResponse' + description: Forbidden + '404': + content: + application/json: + schema: + $ref: '#/components/schemas/JSONAPIErrorResponse' + description: Not Found + '429': + $ref: '#/components/responses/TooManyRequestsResponse' + security: + - apiKeyAuth: [] + appKeyAuth: [] + - AuthZ: + - security_monitoring_rules_read + summary: Get a dataset at a specific version + tags: + - Security Monitoring + x-permission: + operator: OR + permissions: + - security_monitoring_rules_read + - security_monitoring_dataset_read + x-unstable: |- + **Note**: This endpoint is in preview and is subject to change. + If you have any feedback, contact [Datadog support](https://docs.datadoghq.com/help/). + /api/v2/security_monitoring/datasets/{dataset_id}/version_history: + get: + description: Retrieve the version history of a Cloud SIEM dataset, including the changes made at each version. + operationId: GetSecurityMonitoringDatasetVersionHistory + parameters: + - $ref: '#/components/parameters/SecurityMonitoringDatasetID' + - description: Size for a given page. The maximum allowed value is 100. + in: query + name: page[size] + required: false + schema: + default: 10 + example: 10 + format: int64 + type: integer + - description: Specific page number to return. + in: query + name: page[number] + required: false + schema: + default: 0 + example: 0 + format: int64 + type: integer + responses: + '200': + content: + application/json: + examples: + default: + value: + data: + attributes: + count: 1 + data: + '1': + changes: [] + dataset: + createdAt: '2025-03-20T10:00:00Z' + createdByHandle: bruce.lee + createdByName: Bruce Lee + definition: + columns: + - column: message + type: string + data_source: logs + indexes: + - main + name: sample_dataset + search: + query: '*' + description: A sample dataset used for detection rules. + id: 123e4567-e89b-12d3-a456-426614174000 + isDefault: false + isDeprecated: false + modifiedAt: '2025-03-20T10:00:00Z' + name: sample_dataset + updatedByHandle: null + updatedByName: null + version: 1 + id: 123e4567-e89b-12d3-a456-426614174000 + type: dataset_version_history + schema: + $ref: '#/components/schemas/SecurityMonitoringDatasetVersionHistoryResponse' + description: OK + '400': + content: + application/json: + schema: + $ref: '#/components/schemas/JSONAPIErrorResponse' + description: Bad Request + '403': + content: + application/json: + schema: + $ref: '#/components/schemas/JSONAPIErrorResponse' + description: Forbidden + '404': + content: + application/json: + schema: + $ref: '#/components/schemas/JSONAPIErrorResponse' + description: Not Found + '429': + $ref: '#/components/responses/TooManyRequestsResponse' + security: + - apiKeyAuth: [] + appKeyAuth: [] + - AuthZ: + - security_monitoring_rules_read + summary: Get the version history of a dataset + tags: + - Security Monitoring + x-permission: + operator: OR + permissions: + - security_monitoring_rules_read + - security_monitoring_dataset_read + x-unstable: |- + **Note**: This endpoint is in preview and is subject to change. + If you have any feedback, contact [Datadog support](https://docs.datadoghq.com/help/). + /api/v2/security_monitoring/entity_context: + get: + description: |- + Search the Cloud SIEM entity context store for entities that match a query, and return the historical + revisions of each entity in the requested time range. The endpoint can either return revisions across an + interval (`from` / `to`) or the snapshot of each entity at a single point in time (`as_of`); the two modes + are mutually exclusive. + operationId: GetEntityContext + parameters: + - description: A free-text query (for example, an email address or principal ID) used to filter the entities returned. + example: user@example.com + in: query + name: query + required: false + schema: + type: string + - description: |- + The start of the time range to query, as an RFC3339 timestamp or a relative time (for example, `now-7d`). + Defaults to `now-7d`. Ignored when `as_of` is set. + in: query + name: from + required: false + schema: + default: now-7d + example: now-7d + type: string + - description: |- + The end of the time range to query, as an RFC3339 timestamp or a relative time (for example, `now`). + Defaults to `now`. Ignored when `as_of` is set. + in: query + name: to + required: false + schema: + default: now + example: now + type: string + - description: |- + A point in time at which to query the entity revisions, as an RFC3339 timestamp, a Unix timestamp + (in seconds), or a relative time (for example, `now-1d`). When set, `from` and `to` are ignored. + Cannot be combined with custom `from` / `to` values. + example: now-1d + in: query + name: as_of + required: false + schema: + type: string + - description: The maximum number of entities to return. + in: query + name: limit + required: false + schema: + default: 250 + example: 100 + format: int64 + type: integer + - description: An opaque token used to fetch the next page of results, as returned in `meta.page.next_token` of a previous response. + in: query + name: page_token + required: false + schema: + type: string + responses: + '200': + content: + application/json: + examples: + default: + value: + data: + - attributes: + revisions: + - attributes: + accounts: + - linked-account-123 + display_name: Test User + email: user@example.com + principal_id: user@example.com + first_seen_at: '2026-04-01T00:00:00Z' + last_seen_at: '2026-05-01T00:00:00Z' + id: user@example.com + type: siem_entity_identity + meta: + page: + next_token: '' + total_count: 1 + schema: + $ref: '#/components/schemas/EntityContextResponse' + description: OK + '400': + $ref: '#/components/responses/BadRequestResponse' + '403': + $ref: '#/components/responses/NotAuthorizedResponse' + '429': + $ref: '#/components/responses/TooManyRequestsResponse' + security: + - apiKeyAuth: [] + appKeyAuth: [] + - AuthZ: + - siem_entities_read + summary: Get entity context + tags: + - Security Monitoring + x-permission: + operator: OR + permissions: + - siem_entities_read + x-unstable: |- + **Note**: This endpoint is in Preview and is subject to change. + If you have any feedback, contact [Datadog support](https://docs.datadoghq.com/help/). + /api/v2/security_monitoring/entity_context/{id}: + get: + description: |- + Get a single entity from the Cloud SIEM entity context store by its identifier, returning the historical + revisions of the entity in the requested time range. The endpoint can either return revisions across an + interval (`from` / `to`) or the snapshot of the entity at a single point in time (`as_of`); the two modes + are mutually exclusive. + operationId: GetSingleEntityContext + parameters: + - description: The unique identifier of the entity to retrieve. + in: path + name: id + required: true + schema: + example: user@example.com + type: string + - description: |- + The start of the time range to query, as an RFC3339 timestamp or a relative time (for example, `now-7d`). + Defaults to `now-7d`. Ignored when `as_of` is set. + in: query + name: from + required: false + schema: + default: now-7d + example: now-7d + type: string + - description: |- + The end of the time range to query, as an RFC3339 timestamp or a relative time (for example, `now`). + Defaults to `now`. Ignored when `as_of` is set. + in: query + name: to + required: false + schema: + default: now + example: now + type: string + - description: |- + A point in time at which to query the entity revisions, as an RFC3339 timestamp, a Unix timestamp + (in seconds), or a relative time (for example, `now-1d`). When set, `from` and `to` are ignored. + Cannot be combined with custom `from` / `to` values. + example: now-1d + in: query + name: as_of + required: false + schema: + type: string + responses: + '200': + content: + application/json: + examples: + default: + value: + data: + attributes: + revisions: + - attributes: + accounts: + - linked-account-123 + display_name: Test User + email: user@example.com + principal_id: user@example.com + first_seen_at: '2026-04-01T00:00:00Z' + last_seen_at: '2026-05-01T00:00:00Z' + id: user@example.com + type: siem_entity_identity + schema: + $ref: '#/components/schemas/SingleEntityContextResponse' + description: OK + '400': + $ref: '#/components/responses/BadRequestResponse' + '403': + $ref: '#/components/responses/NotAuthorizedResponse' + '404': + $ref: '#/components/responses/NotFoundResponse' + '429': + $ref: '#/components/responses/TooManyRequestsResponse' + security: + - apiKeyAuth: [] + appKeyAuth: [] + - AuthZ: + - siem_entities_read + summary: Get a single entity context + tags: + - Security Monitoring + x-permission: + operator: OR + permissions: + - siem_entities_read + x-unstable: |- + **Note**: This endpoint is in Preview and is subject to change. + If you have any feedback, contact [Datadog support](https://docs.datadoghq.com/help/). + /api/v2/security_monitoring/rules: + get: + description: List rules. + operationId: ListSecurityMonitoringRules + parameters: + - $ref: '#/components/parameters/PageSize' + - $ref: '#/components/parameters/PageNumber' + - description: A search query to filter security rules. You can filter by attributes such as `type`, `source`, `tags`. + example: type:signal_correlation source:cloudtrail + in: query + name: query + required: false + schema: + type: string + - description: Attribute used to sort rules. Prefix with `-` to sort in descending order. + in: query + name: sort + required: false + schema: + $ref: '#/components/schemas/SecurityMonitoringRuleSort' + responses: + '200': + content: + application/json: + examples: + default: + value: + data: + - id: abc-123 + isEnabled: true + name: My security monitoring rule. + type: log_detection + meta: {} + schema: + $ref: '#/components/schemas/SecurityMonitoringListRulesResponse' + description: OK + '400': + $ref: '#/components/responses/BadRequestResponse' + '429': + $ref: '#/components/responses/TooManyRequestsResponse' + security: + - apiKeyAuth: [] + appKeyAuth: [] + - AuthZ: + - security_monitoring_rules_read + summary: List rules + tags: + - Security Monitoring + x-permission: + operator: OR + permissions: + - security_monitoring_rules_read + post: + description: Create a detection rule. + operationId: CreateSecurityMonitoringRule + requestBody: + content: + application/json: + examples: + default: + value: + cases: + - condition: a > 0 + name: '' + notifications: [] + status: info + filters: [] + hasExtendedTitle: true + isEnabled: true + message: Test rule + name: My security monitoring rule. + options: + evaluationWindow: 900 + keepAlive: 3600 + maxSignalDuration: 86400 + queries: + - aggregation: count + distinctFields: [] + groupByFields: [] + metric: '' + query: '@test:true' + referenceTables: + - checkPresence: true + columnName: value + logFieldPath: testtag + ruleQueryName: a + tableName: synthetics_test_reference_table_dont_delete + tags: [] + type: log_detection + schema: + $ref: '#/components/schemas/SecurityMonitoringRuleCreatePayload' + required: true + responses: + '200': + content: + application/json: + examples: + default: + value: + cases: + - condition: a > 0 + name: '' + notifications: [] + status: info + id: abc-123 + isEnabled: true + message: Test rule + name: My security monitoring rule. + tags: [] + type: log_detection + schema: + $ref: '#/components/schemas/SecurityMonitoringRuleResponse' + description: OK + '400': + $ref: '#/components/responses/BadRequestResponse' + '403': + $ref: '#/components/responses/NotAuthorizedResponse' + '429': + $ref: '#/components/responses/TooManyRequestsResponse' + security: + - apiKeyAuth: [] + appKeyAuth: [] + - AuthZ: + - security_monitoring_rules_write + summary: Create a detection rule + tags: + - Security Monitoring + x-codegen-request-body-name: body + x-permission: + operator: OR + permissions: + - security_monitoring_rules_write + /api/v2/security_monitoring/rules/bulk_delete: + delete: + description: Delete multiple security monitoring rules in a single request. Default rules cannot be deleted. + operationId: BulkDeleteSecurityMonitoringRules + requestBody: + content: + application/json: + examples: + default: + value: + data: + attributes: + ruleIds: + - abc-000-u7q + - abc-000-7dd + id: bulk_delete + type: bulk_delete_rules + schema: + $ref: '#/components/schemas/SecurityMonitoringRuleBulkDeletePayload' + required: true + responses: + '200': + content: + application/json: + examples: + default: + value: + data: + attributes: + deletedRules: + - abc-000-u7q + - abc-000-7dd + failedRules: [] + id: bulk_delete_response + type: bulk_delete_response + schema: + $ref: '#/components/schemas/SecurityMonitoringRuleBulkDeleteResponse' + description: OK + '400': + $ref: '#/components/responses/BadRequestResponse' + '403': + $ref: '#/components/responses/NotAuthorizedResponse' + '404': + $ref: '#/components/responses/NotFoundResponse' + '429': + $ref: '#/components/responses/TooManyRequestsResponse' + security: + - apiKeyAuth: [] + appKeyAuth: [] + - AuthZ: + - security_monitoring_rules_write + summary: Bulk delete security monitoring rules + tags: + - Security Monitoring + x-codegen-request-body-name: body + x-permission: + operator: OR + permissions: + - security_monitoring_rules_write + /api/v2/security_monitoring/rules/bulk_export: + post: + description: |- + Export a list of security monitoring rules as a ZIP file containing JSON rule definitions. + The endpoint accepts a list of rule IDs and returns a ZIP archive where each rule is + saved as a separate JSON file named after the rule. + operationId: BulkExportSecurityMonitoringRules + requestBody: + content: + application/json: + examples: + default: + value: + data: + attributes: + ruleIds: + - def-000-u7q + - def-000-7dd + id: bulk_export + type: security_monitoring_rules_bulk_export + schema: + $ref: '#/components/schemas/SecurityMonitoringRuleBulkExportPayload' + required: true + responses: + '200': + content: + application/zip: + examples: + default: + value: + schema: + format: binary + type: string + description: OK + '400': + $ref: '#/components/responses/BadRequestResponse' + '403': + $ref: '#/components/responses/NotAuthorizedResponse' + '404': + $ref: '#/components/responses/NotFoundResponse' + '429': + $ref: '#/components/responses/TooManyRequestsResponse' + security: + - apiKeyAuth: [] + appKeyAuth: [] + - AuthZ: + - security_monitoring_rules_read + summary: Bulk export security monitoring rules + tags: + - Security Monitoring + x-codegen-request-body-name: body + x-permission: + operator: OR + permissions: + - security_monitoring_rules_read + /api/v2/security_monitoring/rules/convert: + post: + description: |- + Convert a rule that doesn't (yet) exist from JSON to Terraform for Datadog provider + resource `datadog_security_monitoring_rule`. You can do so for the following rule types: + - App and API Protection + - Cloud SIEM (log detection and signal correlation) + - Workload Protection + + You can convert Cloud Security configuration rules using Terraform's [Datadog Cloud Configuration Rule resource](https://registry.terraform.io/providers/DataDog/datadog/latest/docs/resources/cloud_configuration_rule). + operationId: ConvertSecurityMonitoringRuleFromJSONToTerraform + requestBody: + content: + application/json: + examples: + default: + value: + calculatedFields: + - expression: '@request_end_timestamp - @request_start_timestamp' + name: response_time + cases: + - condition: a > 0 + name: '' + notifications: [] + status: info + filters: [] + groupSignalsBy: + - service + hasExtendedTitle: true + isEnabled: true + message: My security monitoring rule. + name: My security monitoring rule. + options: + anomalyDetectionOptions: + bucketDuration: 300 + detectionTolerance: 5 + instantaneousBaseline: false + complianceRuleOptions: + regoRule: + policy: |- + package datadog + + import data.datadog.output as dd_output + import future.keywords.contains + import future.keywords.if + import future.keywords.in + + eval(resource) = "skip" if { + # Logic that evaluates to true if the resource should be skipped + true + } else = "pass" { + # Logic that evaluates to true if the resource is compliant + true + } else = "fail" { + # Logic that evaluates to true if the resource is not compliant + true + } + + # This part remains unchanged for all rules + results contains result if { + some resource in input.resources[input.main_resource_type] + result := dd_output.format(resource, eval(resource)) + } + resourceTypes: + - gcp_iam_service_account + - gcp_iam_policy + resourceType: aws_acm + decreaseCriticalityBasedOnEnv: false + detectionMethod: threshold + evaluationWindow: 900 + hardcodedEvaluatorType: log4shell + impossibleTravelOptions: + baselineUserLocations: true + baselineUserLocationsDuration: 7 + keepAlive: 3600 + maxSignalDuration: 86400 + newValueOptions: + instantaneousBaseline: false + learningMethod: duration + thirdPartyRuleOptions: + defaultStatus: critical + rootQueries: + - query: source:cloudtrail + queries: + - aggregation: count + distinctFields: [] + groupByFields: [] + query: source:cloudtrail + schedulingOptions: + rrule: FREQ=HOURLY;INTERVAL=1; + start: '2025-07-14T12:00:00' + timezone: America/New_York + tags: + - env:prod + - team:security + thirdPartyCases: [] + type: log_detection + schema: + $ref: '#/components/schemas/SecurityMonitoringRuleConvertPayload' + required: true + responses: + '200': + content: + application/json: + examples: + default: + value: + ruleId: abc-123 + terraformContent: resource "datadog_security_monitoring_rule" "example" {} + schema: + $ref: '#/components/schemas/SecurityMonitoringRuleConvertResponse' + description: OK + '400': + $ref: '#/components/responses/BadRequestResponse' + '401': + $ref: '#/components/responses/ConcurrentModificationResponse' + '403': + $ref: '#/components/responses/NotAuthorizedResponse' + '404': + $ref: '#/components/responses/NotFoundResponse' + '429': + $ref: '#/components/responses/TooManyRequestsResponse' + security: + - apiKeyAuth: [] + appKeyAuth: [] + - AuthZ: + - security_monitoring_rules_write + summary: Convert a rule from JSON to Terraform + tags: + - Security Monitoring + x-codegen-request-body-name: body + x-permission: + operator: OR + permissions: + - security_monitoring_rules_write + /api/v2/security_monitoring/rules/convert/bulk: + post: + description: |- + Convert a list of existing security monitoring rules to Terraform for the Datadog provider + resource `datadog_security_monitoring_rule`. Returns a ZIP archive containing one Terraform + file per rule. You can convert rules for the following types: + - App and API Protection + - Cloud SIEM (log detection and signal correlation) + - Workload Protection + operationId: BulkConvertExistingSecurityMonitoringRules + requestBody: + content: + application/json: + examples: + default: + value: + data: + attributes: + ruleIds: + - def-000-u7q + - def-000-7dd + id: convert_bulk + type: security_monitoring_rules_convert_bulk + schema: + $ref: '#/components/schemas/SecurityMonitoringRuleConvertBulkPayload' + required: true + responses: + '200': + content: + application/zip: + examples: + default: + value: + schema: + format: binary + type: string + description: OK + '400': + $ref: '#/components/responses/BadRequestResponse' + '403': + $ref: '#/components/responses/NotAuthorizedResponse' + '404': + $ref: '#/components/responses/NotFoundResponse' + '429': + $ref: '#/components/responses/TooManyRequestsResponse' + security: + - apiKeyAuth: [] + appKeyAuth: [] + - AuthZ: + - security_monitoring_rules_read + summary: Bulk convert rules to Terraform + tags: + - Security Monitoring + x-codegen-request-body-name: body + x-permission: + operator: OR + permissions: + - security_monitoring_rules_read + /api/v2/security_monitoring/rules/test: + post: + description: Test a rule. + operationId: TestSecurityMonitoringRule + requestBody: + content: + application/json: + examples: + default: + value: + rule: + calculatedFields: + - expression: '@request_end_timestamp - @request_start_timestamp' + name: response_time + cases: + - condition: a > 0 + name: '' + notifications: [] + status: info + filters: + - action: require + groupSignalsBy: + - service + hasExtendedTitle: true + isEnabled: true + message: My security monitoring rule message. + name: My security monitoring rule. + options: + anomalyDetectionOptions: + bucketDuration: 300 + detectionTolerance: 5 + instantaneousBaseline: false + complianceRuleOptions: + resourceType: aws_acm + decreaseCriticalityBasedOnEnv: false + detectionMethod: threshold + evaluationWindow: 0 + hardcodedEvaluatorType: log4shell + impossibleTravelOptions: + baselineUserLocations: true + baselineUserLocationsDuration: 7 + keepAlive: 0 + maxSignalDuration: 0 + newValueOptions: + instantaneousBaseline: false + learningMethod: duration + thirdPartyRuleOptions: + defaultStatus: critical + queries: + - aggregation: count + distinctFields: [] + groupByFields: + - '@userIdentity.assumed_role' + name: '' + query: source:cloudtrail + schedulingOptions: + rrule: FREQ=HOURLY;INTERVAL=1; + start: '2025-07-14T12:00:00' + timezone: America/New_York + tags: + - env:prod + - team:security + thirdPartyCases: [] + type: log_detection + ruleQueryPayloads: + - expectedResult: true + index: 0 + payload: + ddsource: nginx + ddtags: env:staging,version:5.1 + hostname: i-012345678 + message: 2019-11-19T14:37:58,995 INFO [process.name][20081] Hello World + service: payment + schema: + $ref: '#/components/schemas/SecurityMonitoringRuleTestRequest' + required: true + responses: + '200': + content: + application/json: + examples: + default: + value: + results: + - true + schema: + $ref: '#/components/schemas/SecurityMonitoringRuleTestResponse' + description: OK + '400': + $ref: '#/components/responses/BadRequestResponse' + '401': + $ref: '#/components/responses/ConcurrentModificationResponse' + '403': + $ref: '#/components/responses/NotAuthorizedResponse' + '404': + $ref: '#/components/responses/NotFoundResponse' + '429': + $ref: '#/components/responses/TooManyRequestsResponse' + security: + - apiKeyAuth: [] + appKeyAuth: [] + - AuthZ: + - security_monitoring_rules_write + summary: Test a rule + tags: + - Security Monitoring + x-codegen-request-body-name: body + x-permission: + operator: OR + permissions: + - security_monitoring_rules_write + /api/v2/security_monitoring/rules/validation: + post: + description: Validate a detection rule. + operationId: ValidateSecurityMonitoringRule + requestBody: + content: + application/json: + examples: + default: + value: + calculatedFields: + - expression: '@request_end_timestamp - @request_start_timestamp' + name: response_time + cases: + - condition: a > 0 + name: '' + notifications: [] + status: info + filters: + - action: require + groupSignalsBy: + - service + hasExtendedTitle: true + isEnabled: true + message: My security monitoring rule + name: My security monitoring rule. + options: + anomalyDetectionOptions: + bucketDuration: 300 + detectionTolerance: 5 + instantaneousBaseline: false + complianceRuleOptions: + regoRule: + policy: |- + package datadog + + import data.datadog.output as dd_output + import future.keywords.contains + import future.keywords.if + import future.keywords.in + + eval(resource) = "skip" if { + # Logic that evaluates to true if the resource should be skipped + true + } else = "pass" { + # Logic that evaluates to true if the resource is compliant + true + } else = "fail" { + # Logic that evaluates to true if the resource is not compliant + true + } + + # This part remains unchanged for all rules + results contains result if { + some resource in input.resources[input.main_resource_type] + result := dd_output.format(resource, eval(resource)) + } + resourceTypes: + - gcp_iam_service_account + - gcp_iam_policy + resourceType: aws_acm + decreaseCriticalityBasedOnEnv: false + detectionMethod: threshold + evaluationWindow: 1800 + hardcodedEvaluatorType: log4shell + impossibleTravelOptions: + baselineUserLocations: true + baselineUserLocationsDuration: 7 + keepAlive: 1800 + maxSignalDuration: 1800 + newValueOptions: + instantaneousBaseline: false + learningMethod: duration + thirdPartyRuleOptions: + defaultStatus: critical + rootQueries: + - query: source:cloudtrail + queries: + - aggregation: count + distinctFields: [] + groupByFields: + - '@userIdentity.assumed_role' + name: '' + query: source:cloudtrail + schedulingOptions: + rrule: FREQ=HOURLY;INTERVAL=1; + start: '2025-07-14T12:00:00' + timezone: America/New_York + tags: + - env:prod + - team:security + thirdPartyCases: [] + type: log_detection + schema: + $ref: '#/components/schemas/SecurityMonitoringRuleValidatePayload' + required: true + responses: + '204': + description: OK + '400': + $ref: '#/components/responses/BadRequestResponse' + '403': + $ref: '#/components/responses/NotAuthorizedResponse' + '429': + $ref: '#/components/responses/TooManyRequestsResponse' + security: + - apiKeyAuth: [] + appKeyAuth: [] + - AuthZ: + - security_monitoring_rules_write + summary: Validate a detection rule + tags: + - Security Monitoring + x-codegen-request-body-name: body + x-permission: + operator: OR + permissions: + - security_monitoring_rules_write + /api/v2/security_monitoring/rules/{rule_id}: + delete: + description: Delete an existing rule. Default rules cannot be deleted. + operationId: DeleteSecurityMonitoringRule + parameters: + - $ref: '#/components/parameters/SecurityMonitoringRuleID' + responses: + '204': + description: OK + '403': + $ref: '#/components/responses/NotAuthorizedResponse' + '404': + $ref: '#/components/responses/NotFoundResponse' + '429': + $ref: '#/components/responses/TooManyRequestsResponse' + security: + - apiKeyAuth: [] + appKeyAuth: [] + - AuthZ: + - security_monitoring_rules_write + summary: Delete an existing rule + tags: + - Security Monitoring + x-permission: + operator: OR + permissions: + - security_monitoring_rules_write + get: + description: Get a rule's details. + operationId: GetSecurityMonitoringRule + parameters: + - $ref: '#/components/parameters/SecurityMonitoringRuleID' + responses: + '200': + content: + application/json: + examples: + default: + value: + cases: + - condition: a > 0 + name: '' + notifications: [] + status: info + id: abc-123 + isEnabled: true + message: Test rule + name: My security monitoring rule. + tags: [] + type: log_detection + schema: + $ref: '#/components/schemas/SecurityMonitoringRuleResponse' + description: OK + '404': + $ref: '#/components/responses/NotFoundResponse' + '429': + $ref: '#/components/responses/TooManyRequestsResponse' + security: + - apiKeyAuth: [] + appKeyAuth: [] + - AuthZ: + - security_monitoring_rules_read + summary: Get a rule's details + tags: + - Security Monitoring + x-permission: + operator: OR + permissions: + - security_monitoring_rules_read + put: + description: |- + Update an existing rule. When updating `cases`, `queries` or `options`, the whole field + must be included. For example, when modifying a query all queries must be included. + Default rules can only be updated to be enabled, to change notifications, or to update + the tags (default tags cannot be removed). + operationId: UpdateSecurityMonitoringRule + parameters: + - $ref: '#/components/parameters/SecurityMonitoringRuleID' + requestBody: + content: + application/json: + examples: + default: + value: + cases: + - condition: a > 0 + name: '' + notifications: [] + status: info + filters: [] + isEnabled: true + message: Test rule + name: My security monitoring rule. + options: + evaluationWindow: 900 + keepAlive: 3600 + maxSignalDuration: 86400 + queries: + - aggregation: count + distinctFields: [] + groupByFields: [] + metrics: [] + query: '@test:true' + tags: [] + schema: + $ref: '#/components/schemas/SecurityMonitoringRuleUpdatePayload' + required: true + responses: + '200': + content: + application/json: + examples: + default: + value: + cases: + - condition: a > 0 + name: '' + notifications: [] + status: info + id: abc-123 + isEnabled: true + message: Test rule + name: My security monitoring rule. + tags: [] + type: log_detection + schema: + $ref: '#/components/schemas/SecurityMonitoringRuleResponse' + description: OK + '400': + $ref: '#/components/responses/BadRequestResponse' + '401': + $ref: '#/components/responses/ConcurrentModificationResponse' + '403': + $ref: '#/components/responses/NotAuthorizedResponse' + '404': + $ref: '#/components/responses/NotFoundResponse' + '429': + $ref: '#/components/responses/TooManyRequestsResponse' + security: + - apiKeyAuth: [] + appKeyAuth: [] + - AuthZ: + - security_monitoring_rules_write + summary: Update an existing rule + tags: + - Security Monitoring + x-codegen-request-body-name: body + x-permission: + operator: OR + permissions: + - security_monitoring_rules_write + /api/v2/security_monitoring/rules/{rule_id}/convert: + get: + description: |- + Convert an existing rule from JSON to Terraform for Datadog provider + resource `datadog_security_monitoring_rule`. You can do so for the following rule types: + - App and API Protection + - Cloud SIEM (log detection and signal correlation) + - Workload Protection + + You can convert Cloud Security configuration rules using Terraform's [Datadog Cloud Configuration Rule resource](https://registry.terraform.io/providers/DataDog/datadog/latest/docs/resources/cloud_configuration_rule). + operationId: ConvertExistingSecurityMonitoringRule + parameters: + - $ref: '#/components/parameters/SecurityMonitoringRuleID' + responses: + '200': + content: + application/json: + examples: + default: + value: + ruleId: abc-123 + terraformContent: resource "datadog_security_monitoring_rule" "example" {} + schema: + $ref: '#/components/schemas/SecurityMonitoringRuleConvertResponse' + description: OK + '400': + $ref: '#/components/responses/BadRequestResponse' + '403': + $ref: '#/components/responses/NotAuthorizedResponse' + '404': + $ref: '#/components/responses/NotFoundResponse' + '429': + $ref: '#/components/responses/TooManyRequestsResponse' + security: + - apiKeyAuth: [] + appKeyAuth: [] + - AuthZ: + - security_monitoring_rules_read + summary: Convert an existing rule from JSON to Terraform + tags: + - Security Monitoring + x-permission: + operator: OR + permissions: + - security_monitoring_rules_read + /api/v2/security_monitoring/rules/{rule_id}/restore/{version}: + post: + description: |- + Restores a custom detection rule to a previously saved historical version. + Only custom rules can be restored. Default and partner rules return 400. + The restore creates a new version entry; it does not overwrite history. + operationId: RestoreSecurityMonitoringRule + parameters: + - $ref: '#/components/parameters/SecurityMonitoringRuleID' + - $ref: '#/components/parameters/SecurityMonitoringRuleVersion' + responses: + '200': + content: + application/json: + examples: + default: + value: + cases: + - condition: a > 0 + name: '' + notifications: [] + status: info + id: abc-123 + isEnabled: true + message: Test rule + name: My security monitoring rule. + tags: [] + type: log_detection + schema: + $ref: '#/components/schemas/SecurityMonitoringRuleResponse' + description: OK + '400': + $ref: '#/components/responses/BadRequestResponse' + '403': + $ref: '#/components/responses/NotAuthorizedResponse' + '404': + $ref: '#/components/responses/NotFoundResponse' + '409': + $ref: '#/components/responses/ConflictResponse' + '429': + $ref: '#/components/responses/TooManyRequestsResponse' + security: + - apiKeyAuth: [] + appKeyAuth: [] + - AuthZ: + - security_monitoring_rules_write + summary: Restore a rule to a historical version + tags: + - Security Monitoring + x-permission: + operator: OR + permissions: + - security_monitoring_rules_write + x-unstable: '**Note**: This endpoint is in beta and may be subject to changes.' + /api/v2/security_monitoring/rules/{rule_id}/test: + post: + description: Test an existing rule. + operationId: TestExistingSecurityMonitoringRule + parameters: + - $ref: '#/components/parameters/SecurityMonitoringRuleID' + requestBody: + content: + application/json: + examples: + default: + value: + rule: + cases: + - condition: a > 0 + name: '' + notifications: [] + status: info + hasExtendedTitle: true + isEnabled: true + message: My security monitoring rule message. + name: My security monitoring rule. + options: + decreaseCriticalityBasedOnEnv: false + detectionMethod: threshold + evaluationWindow: 0 + keepAlive: 0 + maxSignalDuration: 0 + queries: + - aggregation: count + distinctFields: [] + groupByFields: + - '@userIdentity.assumed_role' + name: '' + query: source:source_here + tags: + - env:prod + - team:security + type: log_detection + ruleQueryPayloads: + - expectedResult: true + index: 0 + payload: + ddsource: source_here + ddtags: env:staging,version:5.1 + hostname: i-012345678 + message: 2019-11-19T14:37:58,995 INFO [process.name][20081] Hello World + service: payment + userIdentity: + assumed_role: fake assumed_role + schema: + $ref: '#/components/schemas/SecurityMonitoringRuleTestRequest' + required: true + responses: + '200': + content: + application/json: + examples: + default: + value: + results: + - true + schema: + $ref: '#/components/schemas/SecurityMonitoringRuleTestResponse' + description: OK + '400': + $ref: '#/components/responses/BadRequestResponse' + '401': + $ref: '#/components/responses/ConcurrentModificationResponse' + '403': + $ref: '#/components/responses/NotAuthorizedResponse' + '404': + $ref: '#/components/responses/NotFoundResponse' + '429': + $ref: '#/components/responses/TooManyRequestsResponse' + security: + - apiKeyAuth: [] + appKeyAuth: [] + - AuthZ: + - security_monitoring_rules_write + summary: Test an existing rule + tags: + - Security Monitoring + x-codegen-request-body-name: body + x-permission: + operator: OR + permissions: + - security_monitoring_rules_write + /api/v2/security_monitoring/rules/{rule_id}/version_history: + get: + description: Get a rule's version history. + operationId: GetRuleVersionHistory + parameters: + - $ref: '#/components/parameters/SecurityMonitoringRuleID' + - $ref: '#/components/parameters/PageSize' + - $ref: '#/components/parameters/PageNumber' + responses: + '200': + content: + application/json: + examples: + default: + value: + data: + attributes: + count: 1 + data: {} + id: abc-123 + type: GetRuleVersionHistoryResponse + schema: + $ref: '#/components/schemas/GetRuleVersionHistoryResponse' + description: OK + '400': + $ref: '#/components/responses/BadRequestResponse' + '403': + $ref: '#/components/responses/NotAuthorizedResponse' + '404': + $ref: '#/components/responses/NotFoundResponse' + '429': + $ref: '#/components/responses/TooManyRequestsResponse' + summary: Get a rule's version history + tags: + - Security Monitoring + x-permission: + operator: OR + permissions: + - security_monitoring_rules_read + x-unstable: '**Note**: This endpoint is in beta and may be subject to changes.' + /api/v2/security_monitoring/sample_log_generation/subscriptions: + get: + description: |- + Get the sample log generation subscriptions for the organization. + Sample log generation injects representative example logs for a given Cloud SIEM content pack into the Logs platform, + which can be used to test detection rules without onboarding the underlying integration first. + + **Availability**: this endpoint is restricted to Cloud SIEM trial organizations on an eligible + pricing model. Other organizations receive a `403 Forbidden` (non-trial orgs) or a `400 Bad Request` + (feature disabled), and legacy pricing tiers receive a response with `status: not_available`. + operationId: ListSampleLogGenerationSubscriptions + parameters: + - description: |- + Filter the subscriptions by status. Use `active` to return only currently active + subscriptions, or `all` to return every subscription including expired ones. + Ignored when `start_timestamp` is provided. Defaults to `active`. + in: query + name: status + required: false + schema: + $ref: '#/components/schemas/SampleLogGenerationSubscriptionsStatusFilter' + - description: |- + The start of the time range, as an RFC3339 timestamp. When provided, the response includes + every subscription that was active at any point in `[start_timestamp, end_timestamp]`, + and the `status` filter is ignored. + example: '2026-05-01T00:00:00Z' + in: query + name: start_timestamp + required: false + schema: + format: date-time + type: string + - description: |- + The end of the time range, as an RFC3339 timestamp. Ignored unless `start_timestamp` is set. + Defaults to the current time when `start_timestamp` is provided. + example: '2026-05-08T00:00:00Z' + in: query + name: end_timestamp + required: false + schema: + format: date-time + type: string + responses: + '200': + content: + application/json: + examples: + default: + value: + data: + - attributes: + content_pack_id: aws-cloudtrail + created_at: '2026-05-08T20:02:13.77481Z' + expires_at: '2026-05-11T20:02:13.77481Z' + is_active: true + status: subscribed + id: '999' + type: subscriptions + meta: + total_subscriptions: 1 + schema: + $ref: '#/components/schemas/SampleLogGenerationSubscriptionsResponse' + description: OK + '400': + $ref: '#/components/responses/BadRequestResponse' + '403': + $ref: '#/components/responses/NotAuthorizedResponse' + '429': + $ref: '#/components/responses/TooManyRequestsResponse' + security: + - apiKeyAuth: [] + appKeyAuth: [] + - AuthZ: + - security_monitoring_filters_read + - logs_read_index_data + summary: Get sample log generation subscriptions + tags: + - Security Monitoring + x-permission: + operator: OR + permissions: + - security_monitoring_filters_read + - logs_read_index_data + x-unstable: |- + **Note**: This endpoint is in preview and is subject to change. + If you have any feedback, contact [Datadog support](https://docs.datadoghq.com/help/). + post: + description: |- + Subscribe to sample log generation for a Cloud SIEM content pack. Sample logs for the + requested content pack are injected into the Logs platform for the duration of the subscription, + so detection rules can be exercised without onboarding the underlying integration first. + + **Availability**: this endpoint is restricted to Cloud SIEM trial organizations on an + eligible pricing model. Non-trial orgs receive `403 Forbidden`, the feature flag may also reject + requests with `400 Bad Request`, and legacy pricing tiers receive a response with `status: not_available`. + operationId: CreateSampleLogGenerationSubscription + requestBody: + content: + application/json: + examples: + default: + value: + data: + attributes: + content_pack_id: aws-cloudtrail + duration: 3d + type: subscription_requests + schema: + $ref: '#/components/schemas/SampleLogGenerationSubscriptionCreateRequest' + description: The content pack to subscribe to and the desired duration of the subscription. + required: true + responses: + '200': + content: + application/json: + examples: + default: + value: + data: + attributes: + content_pack_id: aws-cloudtrail + created_at: '2026-05-08T20:02:13.77481Z' + expires_at: '2026-05-11T20:02:13.77481Z' + is_active: true + status: subscribed + id: '789' + type: subscriptions + schema: + $ref: '#/components/schemas/SampleLogGenerationSubscriptionResponse' + description: OK + '400': + $ref: '#/components/responses/BadRequestResponse' + '403': + $ref: '#/components/responses/NotAuthorizedResponse' + '429': + $ref: '#/components/responses/TooManyRequestsResponse' + security: + - apiKeyAuth: [] + appKeyAuth: [] + - AuthZ: + - security_monitoring_filters_write + - logs_modify_indexes + summary: Subscribe to sample log generation + tags: + - Security Monitoring + x-codegen-request-body-name: body + x-permission: + operator: OR + permissions: + - security_monitoring_filters_write + - logs_modify_indexes + x-unstable: |- + **Note**: This endpoint is in preview and is subject to change. + If you have any feedback, contact [Datadog support](https://docs.datadoghq.com/help/). + /api/v2/security_monitoring/sample_log_generation/subscriptions/bulk: + post: + description: |- + Subscribe to sample log generation for multiple Cloud SIEM content packs in a single call. + Each requested content pack is processed independently; the response includes a per-item + status so partial successes can be inspected. + + **Availability**: this endpoint is restricted to Cloud SIEM trial organizations on an + eligible pricing model. Non-trial orgs receive `403 Forbidden`, the feature flag may also reject + requests with `400 Bad Request`, and legacy pricing tiers receive per-item responses with `status: not_available`. + operationId: BulkCreateSampleLogGenerationSubscriptions + requestBody: + content: + application/json: + examples: + default: + value: + data: + attributes: + content_pack_ids: + - aws-cloudtrail + duration: 3d + type: bulk_subscription_requests + schema: + $ref: '#/components/schemas/SampleLogGenerationBulkSubscriptionRequest' + description: The content packs to subscribe to and the desired duration of the subscriptions. + required: true + responses: + '200': + content: + application/json: + examples: + default: + value: + data: + - attributes: + content_pack_id: aws-cloudtrail + created_at: '2026-05-08T20:02:13.655716Z' + expires_at: '2026-05-11T20:02:13.655716Z' + is_active: true + status: subscribed + id: '123' + meta: + status: 200 + type: subscriptions + schema: + $ref: '#/components/schemas/SampleLogGenerationBulkSubscriptionResponse' + description: OK + '400': + $ref: '#/components/responses/BadRequestResponse' + '403': + $ref: '#/components/responses/NotAuthorizedResponse' + '429': + $ref: '#/components/responses/TooManyRequestsResponse' + security: + - apiKeyAuth: [] + appKeyAuth: [] + - AuthZ: + - security_monitoring_filters_write + - logs_modify_indexes + summary: Bulk subscribe to sample log generation + tags: + - Security Monitoring + x-codegen-request-body-name: body + x-permission: + operator: OR + permissions: + - security_monitoring_filters_write + - logs_modify_indexes + x-unstable: |- + **Note**: This endpoint is in preview and is subject to change. + If you have any feedback, contact [Datadog support](https://docs.datadoghq.com/help/). + /api/v2/security_monitoring/sample_log_generation/subscriptions/{content_pack_id}: + delete: + description: |- + Unsubscribe from sample log generation for a Cloud SIEM content pack. + After unsubscribing, no more sample logs are generated for the requested content pack. + + **Availability**: this endpoint is restricted to Cloud SIEM trial organizations on an + eligible pricing model. Non-trial orgs receive `403 Forbidden`, the feature flag may also reject + requests with `400 Bad Request`, and legacy pricing tiers receive a response with `status: not_available`. + operationId: DeleteSampleLogGenerationSubscription + parameters: + - $ref: '#/components/parameters/SampleLogGenerationContentPackID' + responses: + '200': + content: + application/json: + examples: + default: + value: + data: + attributes: + content_pack_id: aws-cloudtrail + created_at: '2026-05-08T20:02:13.77481Z' + expires_at: '2026-05-08T20:30:00Z' + is_active: false + status: unsubscribed + id: '789' + type: subscriptions + schema: + $ref: '#/components/schemas/SampleLogGenerationSubscriptionResponse' + description: OK + '400': + $ref: '#/components/responses/BadRequestResponse' + '403': + $ref: '#/components/responses/NotAuthorizedResponse' + '429': + $ref: '#/components/responses/TooManyRequestsResponse' + security: + - apiKeyAuth: [] + appKeyAuth: [] + - AuthZ: + - security_monitoring_filters_write + - logs_modify_indexes + summary: Unsubscribe from sample log generation + tags: + - Security Monitoring + x-permission: + operator: OR + permissions: + - security_monitoring_filters_write + - logs_modify_indexes + x-unstable: |- + **Note**: This endpoint is in preview and is subject to change. + If you have any feedback, contact [Datadog support](https://docs.datadoghq.com/help/). + /api/v2/security_monitoring/signals: + get: + description: |- + The list endpoint returns security signals that match a search query. + Both this endpoint and the POST endpoint can be used interchangeably when listing + security signals. + operationId: ListSecurityMonitoringSignals + parameters: + - $ref: '#/components/parameters/QueryFilterSearch' + - $ref: '#/components/parameters/QueryFilterFrom' + - $ref: '#/components/parameters/QueryFilterTo' + - $ref: '#/components/parameters/QuerySort' + - $ref: '#/components/parameters/QueryPageCursor' + - $ref: '#/components/parameters/QueryPageLimit' + responses: + '200': + content: + application/json: + examples: + default: + value: + data: + - attributes: + tags: + - source:cloudtrail + id: AAAAAWgN8Xwgr1vKDQAAAABBV2dOOFh3ZzZobm1mWXJFYTR0OA + type: signal + links: + next: '' + meta: + page: + after: eyJzdGFydEF0IjoiQVFBQUFYS2tMS3pPbm40NGV3QUFBQUJCV0V0clRFdDZVbG8zY3pCRmNsbHJiVmxDWlEifQ== + schema: + $ref: '#/components/schemas/SecurityMonitoringSignalsListResponse' + description: OK + '400': + $ref: '#/components/responses/BadRequestResponse' + '403': + $ref: '#/components/responses/NotAuthorizedResponse' + '429': + $ref: '#/components/responses/TooManyRequestsResponse' + security: + - apiKeyAuth: [] + appKeyAuth: [] + - AuthZ: + - security_monitoring_signals_read + summary: Get a quick list of security signals + tags: + - Security Monitoring + x-pagination: + cursorParam: page[cursor] + cursorPath: meta.page.after + limitParam: page[limit] + resultsPath: data + x-permission: + operator: OR + permissions: + - security_monitoring_signals_read + /api/v2/security_monitoring/signals/bulk/assignee: + patch: + description: |- + Change the triage assignees of multiple security signals at once. + The maximum number of signals that can be updated in a single request is 199. + operationId: BulkEditSecurityMonitoringSignalsAssignee + requestBody: + content: + application/json: + examples: + default: + value: + data: + - attributes: + assignee: 773b045d-ccf8-4808-bd3b-955ef6a8c940 + id: AAAAAWgN8Xwgr1vKDQAAAABBV2dOOFh3ZzZobm1mWXJFYTR0OA + type: signal + schema: + $ref: '#/components/schemas/SecurityMonitoringSignalsBulkAssigneeUpdateRequest' + description: Attributes describing the signal assignee updates. + required: true + responses: + '200': + content: + application/json: + examples: + default: + value: + result: + count: 1 + events: + - event: + assignee: + uuid: 00000000-0000-0000-0000-000000000001 + id: AAAAAWgN8Xwgr1vKDQAAAABBV2dOOFh3ZzZobm1mWXJFYTR0OA + incident_ids: [] + state: archived + id: AAAAAWgN8Xwgr1vKDQAAAABBV2dOOFh3ZzZobm1mWXJFYTR0OA + status: done + type: status + schema: + $ref: '#/components/schemas/SecurityMonitoringSignalsBulkTriageUpdateResponse' + description: OK + '400': + content: + application/json: + schema: + $ref: '#/components/schemas/JSONAPIErrorResponse' + description: Bad Request + '403': + content: + application/json: + schema: + $ref: '#/components/schemas/JSONAPIErrorResponse' + description: Forbidden + '429': + $ref: '#/components/responses/TooManyRequestsResponse' + summary: Bulk update triage assignee of security signals + tags: + - Security Monitoring + x-codegen-request-body-name: body + x-permission: + operator: OR + permissions: + - security_monitoring_signals_write + /api/v2/security_monitoring/signals/bulk/state: + patch: + description: |- + Change the triage states of multiple security signals at once. + The maximum number of signals that can be updated in a single request is 199. + operationId: BulkEditSecurityMonitoringSignalsState + requestBody: + content: + application/json: + examples: + default: + value: + data: + - attributes: + archive_reason: none + state: archived + id: AAAAAWgN8Xwgr1vKDQAAAABBV2dOOFh3ZzZobm1mWXJFYTR0OA + type: signal + schema: + $ref: '#/components/schemas/SecurityMonitoringSignalsBulkStateUpdateRequest' + description: Attributes describing the signal state updates. + required: true + responses: + '200': + content: + application/json: + examples: + default: + value: + result: + count: 1 + events: + - event: + assignee: + uuid: 00000000-0000-0000-0000-000000000001 + id: AAAAAWgN8Xwgr1vKDQAAAABBV2dOOFh3ZzZobm1mWXJFYTR0OA + incident_ids: [] + state: archived + id: AAAAAWgN8Xwgr1vKDQAAAABBV2dOOFh3ZzZobm1mWXJFYTR0OA + status: done + type: status + schema: + $ref: '#/components/schemas/SecurityMonitoringSignalsBulkTriageUpdateResponse' + description: OK + '400': + content: + application/json: + schema: + $ref: '#/components/schemas/JSONAPIErrorResponse' + description: Bad Request + '403': + content: + application/json: + schema: + $ref: '#/components/schemas/JSONAPIErrorResponse' + description: Forbidden + '429': + $ref: '#/components/responses/TooManyRequestsResponse' + summary: Bulk update triage state of security signals + tags: + - Security Monitoring + x-codegen-request-body-name: body + x-permission: + operator: OR + permissions: + - security_monitoring_signals_write + /api/v2/security_monitoring/signals/bulk/update: + patch: + description: |- + Update the triage state or assignee of multiple security signals at once. + The maximum number of signals that can be updated in a single request is 199. + operationId: BulkEditSecurityMonitoringSignals + requestBody: + content: + application/json: + examples: + default: + value: + data: + - attributes: + archive_reason: none + state: archived + id: AAAAAWgN8Xwgr1vKDQAAAABBV2dOOFh3ZzZobm1mWXJFYTR0OA + type: signal + schema: + $ref: '#/components/schemas/SecurityMonitoringSignalsBulkUpdateRequest' + description: Attributes describing the signal updates. + required: true + responses: + '200': + content: + application/json: + examples: + default: + value: + result: + count: 1 + events: + - event: + assignee: + uuid: 00000000-0000-0000-0000-000000000001 + id: AAAAAWgN8Xwgr1vKDQAAAABBV2dOOFh3ZzZobm1mWXJFYTR0OA + incident_ids: [] + state: archived + id: AAAAAWgN8Xwgr1vKDQAAAABBV2dOOFh3ZzZobm1mWXJFYTR0OA + status: done + type: status + schema: + $ref: '#/components/schemas/SecurityMonitoringSignalsBulkTriageUpdateResponse' + description: OK + '400': + content: + application/json: + schema: + $ref: '#/components/schemas/JSONAPIErrorResponse' + description: Bad Request + '403': + content: + application/json: + schema: + $ref: '#/components/schemas/JSONAPIErrorResponse' + description: Forbidden + '429': + $ref: '#/components/responses/TooManyRequestsResponse' + security: + - apiKeyAuth: [] + appKeyAuth: [] + - AuthZ: [] + summary: Bulk update security signals + tags: + - Security Monitoring + x-codegen-request-body-name: body + x-permission: + operator: OR + permissions: + - security_monitoring_signals_write + /api/v2/security_monitoring/signals/search: + post: + description: |- + Returns security signals that match a search query. + Both this endpoint and the GET endpoint can be used interchangeably for listing + security signals. + operationId: SearchSecurityMonitoringSignals + requestBody: + content: + application/json: + examples: + default: + value: + filter: + from: '2019-01-02T09:42:36.320Z' + query: security:attack status:high + to: '2019-01-03T09:42:36.320Z' + page: + cursor: eyJzdGFydEF0IjoiQVFBQUFYS2tMS3pPbm40NGV3QUFBQUJCV0V0clRFdDZVbG8zY3pCRmNsbHJiVmxDWlEifQ== + limit: 25 + sort: timestamp + schema: + $ref: '#/components/schemas/SecurityMonitoringSignalListRequest' + required: false + responses: + '200': + content: + application/json: + examples: + default: + value: + data: + - attributes: + tags: + - source:cloudtrail + id: AAAAAWgN8Xwgr1vKDQAAAABBV2dOOFh3ZzZobm1mWXJFYTR0OA + type: signal + links: + next: '' + meta: + page: + after: eyJzdGFydEF0IjoiQVFBQUFYS2tMS3pPbm40NGV3QUFBQUJCV0V0clRFdDZVbG8zY3pCRmNsbHJiVmxDWlEifQ== + schema: + $ref: '#/components/schemas/SecurityMonitoringSignalsListResponse' + description: OK + '400': + $ref: '#/components/responses/BadRequestResponse' + '403': + $ref: '#/components/responses/NotAuthorizedResponse' + '429': + $ref: '#/components/responses/TooManyRequestsResponse' + security: + - apiKeyAuth: [] + appKeyAuth: [] + - AuthZ: + - security_monitoring_signals_read + summary: Get a list of security signals + tags: + - Security Monitoring + x-codegen-request-body-name: body + x-pagination: + cursorParam: body.page.cursor + cursorPath: meta.page.after + limitParam: body.page.limit + resultsPath: data + x-permission: + operator: OR + permissions: + - security_monitoring_signals_read + /api/v2/security_monitoring/signals/{signal_id}: + get: + description: Get a signal's details. + operationId: GetSecurityMonitoringSignal + parameters: + - $ref: '#/components/parameters/SignalID' + responses: + '200': + content: + application/json: + examples: + default: + value: + data: + attributes: + tags: + - source:cloudtrail + id: AAAAAWgN8Xwgr1vKDQAAAABBV2dOOFh3ZzZobm1mWXJFYTR0OA + type: signal + schema: + $ref: '#/components/schemas/SecurityMonitoringSignalResponse' + description: OK + '403': + $ref: '#/components/responses/NotAuthorizedResponse' + '404': + $ref: '#/components/responses/NotFoundResponse' + '429': + $ref: '#/components/responses/TooManyRequestsResponse' + security: + - apiKeyAuth: [] + appKeyAuth: [] + - AuthZ: + - security_monitoring_signals_read + summary: Get a signal's details + tags: + - Security Monitoring + x-permission: + operator: OR + permissions: + - security_monitoring_signals_read + /api/v2/security_monitoring/signals/{signal_id}/assignee: + patch: + description: Modify the triage assignee of a security signal. + operationId: EditSecurityMonitoringSignalAssignee + parameters: + - $ref: '#/components/parameters/SignalID' + requestBody: + content: + application/json: + examples: + default: + value: + data: + attributes: + assignee: + uuid: 773b045d-ccf8-4808-bd3b-955ef6a8c940 + schema: + $ref: '#/components/schemas/SecurityMonitoringSignalAssigneeUpdateRequest' + description: Attributes describing the signal update. + required: true + responses: + '200': + content: + application/json: + examples: + default: + value: + data: + attributes: + assignee: + uuid: 00000000-0000-0000-0000-000000000001 + incident_ids: [] + state: archived + id: AAAAAWgN8Xwgr1vKDQAAAABBV2dOOFh3ZzZobm1mWXJFYTR0OA + type: signal_metadata + schema: + $ref: '#/components/schemas/SecurityMonitoringSignalTriageUpdateResponse' + description: OK + '400': + $ref: '#/components/responses/BadRequestResponse' + '403': + $ref: '#/components/responses/NotAuthorizedResponse' + '404': + $ref: '#/components/responses/NotFoundResponse' + '429': + $ref: '#/components/responses/TooManyRequestsResponse' + security: + - apiKeyAuth: [] + appKeyAuth: [] + - AuthZ: [] + summary: Modify the triage assignee of a security signal + tags: + - Security Monitoring + x-codegen-request-body-name: body + x-permission: + operator: OR + permissions: + - security_monitoring_signals_write + /api/v2/security_monitoring/signals/{signal_id}/entities: + get: + description: Get the list of entities related to a security signal, captured at the signal's timestamp. + operationId: GetSignalEntities + parameters: + - $ref: '#/components/parameters/SignalID' + - description: The maximum number of entities to return. + in: query + name: limit + required: false + schema: + default: 10 + example: 10 + format: int32 + maximum: 1000 + type: integer + responses: + '200': + content: + application/json: + examples: + default: + value: + data: + attributes: + identities: + - display_name: Test User + principal_id: user@example.com + id: AAAAAWgN8Xwgr1vKDQAAAABBV2dOOFh3ZzZobm1mWXJFYTR0OA + type: entities + schema: + $ref: '#/components/schemas/SignalEntitiesResponse' + description: OK + '400': + $ref: '#/components/responses/BadRequestResponse' + '403': + $ref: '#/components/responses/NotAuthorizedResponse' + '404': + $ref: '#/components/responses/NotFoundResponse' + '429': + $ref: '#/components/responses/TooManyRequestsResponse' + security: + - apiKeyAuth: [] + appKeyAuth: [] + - AuthZ: + - security_monitoring_signals_read + summary: Get entities related to a signal + tags: + - Security Monitoring + x-permission: + operator: OR + permissions: + - security_monitoring_signals_read + x-unstable: |- + **Note**: This endpoint is in preview and is subject to change. + If you have any feedback, contact [Datadog support](https://docs.datadoghq.com/help/). + /api/v2/security_monitoring/signals/{signal_id}/incidents: + patch: + description: Change the related incidents for a security signal. + operationId: EditSecurityMonitoringSignalIncidents + parameters: + - $ref: '#/components/parameters/SignalID' + requestBody: + content: + application/json: + examples: + default: + value: + data: + attributes: + incident_ids: + - 2066 + schema: + $ref: '#/components/schemas/SecurityMonitoringSignalIncidentsUpdateRequest' + description: Attributes describing the signal update. + required: true + responses: + '200': + content: + application/json: + examples: + default: + value: + data: + attributes: + assignee: + uuid: 00000000-0000-0000-0000-000000000001 + incident_ids: [] + state: archived + id: AAAAAWgN8Xwgr1vKDQAAAABBV2dOOFh3ZzZobm1mWXJFYTR0OA + type: signal_metadata + schema: + $ref: '#/components/schemas/SecurityMonitoringSignalTriageUpdateResponse' + description: OK + '400': + $ref: '#/components/responses/BadRequestResponse' + '403': + $ref: '#/components/responses/NotAuthorizedResponse' + '404': + $ref: '#/components/responses/NotFoundResponse' + '429': + $ref: '#/components/responses/TooManyRequestsResponse' + security: + - apiKeyAuth: [] + appKeyAuth: [] + - AuthZ: [] + summary: Change the related incidents of a security signal + tags: + - Security Monitoring + x-codegen-request-body-name: body + x-permission: + operator: OR + permissions: + - security_monitoring_signals_write + /api/v2/security_monitoring/signals/{signal_id}/investigation_queries: + get: + description: Get the list of investigation log queries available for a given security signal. + operationId: GetInvestigationLogQueriesMatchingSignal + parameters: + - $ref: '#/components/parameters/SignalID' + responses: + '200': + content: + application/json: + example: + data: + - attributes: + name: Cloudtrail events for user ARN + query_filter: source:cloudtrail @userIdentity.arn:"foo" + template_variables: + '@userIdentity.arn': + - foo + url: /logs?query=source%3Acloudtrail+%40userIdentity.arn%3A%22foo%22 + id: w00-t10-992 + type: investigation_log_queries + - attributes: + title: Monitor Okta logs to track system access and unusual activity + url: https://www.datadoghq.com/blog/monitor-activity-with-okta/ + id: bxy-o8v-i1a + type: recommended_blog_posts + schema: + $ref: '#/components/schemas/SecurityMonitoringSignalSuggestedActionsResponse' + description: OK + '403': + $ref: '#/components/responses/NotAuthorizedResponse' + '404': + $ref: '#/components/responses/NotFoundResponse' + '429': + $ref: '#/components/responses/TooManyRequestsResponse' + security: + - apiKeyAuth: [] + appKeyAuth: [] + - AuthZ: + - security_monitoring_rules_read + - security_monitoring_signals_read + summary: Get investigation queries for a signal + tags: + - Security Monitoring + x-permission: + operator: AND + permissions: + - security_monitoring_rules_read + - security_monitoring_signals_read + /api/v2/security_monitoring/signals/{signal_id}/state: + patch: + description: Change the triage state of a security signal. + operationId: EditSecurityMonitoringSignalState + parameters: + - $ref: '#/components/parameters/SignalID' + requestBody: + content: + application/json: + examples: + default: + value: + data: + attributes: + archive_reason: none + state: archived + type: signal_metadata + schema: + $ref: '#/components/schemas/SecurityMonitoringSignalStateUpdateRequest' + description: Attributes describing the signal update. + required: true + responses: + '200': + content: + application/json: + examples: + default: + value: + data: + attributes: + assignee: + uuid: 00000000-0000-0000-0000-000000000001 + incident_ids: [] + state: archived + id: AAAAAWgN8Xwgr1vKDQAAAABBV2dOOFh3ZzZobm1mWXJFYTR0OA + type: signal_metadata + schema: + $ref: '#/components/schemas/SecurityMonitoringSignalTriageUpdateResponse' + description: OK + '400': + $ref: '#/components/responses/BadRequestResponse' + '403': + $ref: '#/components/responses/NotAuthorizedResponse' + '404': + $ref: '#/components/responses/NotFoundResponse' + '429': + $ref: '#/components/responses/TooManyRequestsResponse' + security: + - apiKeyAuth: [] + appKeyAuth: [] + - AuthZ: [] + summary: Change the triage state of a security signal + tags: + - Security Monitoring + x-codegen-request-body-name: body + x-permission: + operator: OR + permissions: + - security_monitoring_signals_write + /api/v2/security_monitoring/signals/{signal_id}/suggested_actions: + get: + description: Get the list of suggested actions for a given security signal. + operationId: GetSuggestedActionsMatchingSignal + parameters: + - $ref: '#/components/parameters/SignalID' + responses: + '200': + content: + application/json: + example: + data: + - attributes: + name: Cloudtrail events for user ARN + query_filter: source:cloudtrail @userIdentity.arn:"foo" + template_variables: + '@userIdentity.arn': + - foo + url: /logs?query=source%3Acloudtrail+%40userIdentity.arn%3A%22foo%22 + id: w00-t10-992 + type: investigation_log_queries + - attributes: + title: Monitor Okta logs to track system access and unusual activity + url: https://www.datadoghq.com/blog/monitor-activity-with-okta/ + id: bxy-o8v-i1a + type: recommended_blog_posts + schema: + $ref: '#/components/schemas/SecurityMonitoringSignalSuggestedActionsResponse' + description: OK + '403': + $ref: '#/components/responses/NotAuthorizedResponse' + '404': + $ref: '#/components/responses/NotFoundResponse' + '429': + $ref: '#/components/responses/TooManyRequestsResponse' + security: + - apiKeyAuth: [] + appKeyAuth: [] + - AuthZ: + - security_monitoring_rules_read + - security_monitoring_signals_read + summary: Get suggested actions for a signal + tags: + - Security Monitoring + x-permission: + operator: AND + permissions: + - security_monitoring_rules_read + - security_monitoring_signals_read + /api/v2/security_monitoring/signals/{signal_id}/update: + patch: + description: Update the triage state or assignee of a security signal. + operationId: EditSecurityMonitoringSignal + parameters: + - $ref: '#/components/parameters/SignalID' + requestBody: + content: + application/json: + examples: + default: + value: + data: + attributes: + archive_reason: none + state: archived + type: signal_metadata + schema: + $ref: '#/components/schemas/SecurityMonitoringSignalUpdateRequest' + description: Attributes describing the signal triage state or assignee update. + required: true + responses: + '200': + content: + application/json: + examples: + default: + value: + data: + attributes: + assignee: + uuid: 00000000-0000-0000-0000-000000000001 + incident_ids: [] + state: archived + id: AAAAAWgN8Xwgr1vKDQAAAABBV2dOOFh3ZzZobm1mWXJFYTR0OA + type: signal_metadata + schema: + $ref: '#/components/schemas/SecurityMonitoringSignalTriageUpdateResponse' + description: OK + '400': + content: + application/json: + schema: + $ref: '#/components/schemas/JSONAPIErrorResponse' + description: Bad Request + '403': + content: + application/json: + schema: + $ref: '#/components/schemas/JSONAPIErrorResponse' + description: Forbidden + '404': + content: + application/json: + schema: + $ref: '#/components/schemas/JSONAPIErrorResponse' + description: Not Found + '429': + $ref: '#/components/responses/TooManyRequestsResponse' + security: + - apiKeyAuth: [] + appKeyAuth: [] + - AuthZ: [] + summary: Update security signal triage state or assignee + tags: + - Security Monitoring + x-codegen-request-body-name: body + x-permission: + operator: OR + permissions: + - security_monitoring_signals_write + /api/v2/security_monitoring/terraform/{resource_type}/bulk: + post: + description: |- + Export multiple security monitoring resources to Terraform, packaged as a zip archive. + The `resource_type` path parameter specifies the type of resources to export + and must be one of `suppressions`, `critical_assets`, `security_filters`, or `rules`. + A maximum of 1000 resources can be exported in a single request. + For `rules`, partner rules cannot be exported and return a 400 error. + operationId: BulkExportSecurityMonitoringTerraformResources + parameters: + - $ref: '#/components/parameters/SecurityMonitoringTerraformResourceType' + requestBody: + content: + application/json: + examples: + default: + value: + data: + attributes: + resource_ids: + - abc-123-def + type: bulk_export_resources + schema: + $ref: '#/components/schemas/SecurityMonitoringTerraformBulkExportRequest' + description: The resource IDs to export. + required: true + responses: + '200': + content: + application/zip: + examples: + default: + value: '' + schema: + format: binary + type: string + description: OK + '400': + $ref: '#/components/responses/BadRequestResponse' + '403': + $ref: '#/components/responses/NotAuthorizedResponse' + '404': + $ref: '#/components/responses/NotFoundResponse' + '429': + $ref: '#/components/responses/TooManyRequestsResponse' + security: + - apiKeyAuth: [] + appKeyAuth: [] + - AuthZ: + - security_monitoring_suppressions_read + - AuthZ: + - security_monitoring_rules_read + - AuthZ: + - security_monitoring_filters_read + summary: Export security monitoring resources to Terraform + tags: + - Security Monitoring + x-codegen-request-body-name: body + x-permission: + operator: OR + permissions: + - security_monitoring_suppressions_read + - security_monitoring_rules_read + - security_monitoring_filters_read + x-unstable: '**Note**: This endpoint is in Preview. If you have any feedback, contact [Datadog support](https://docs.datadoghq.com/help/).' + /api/v2/security_monitoring/terraform/{resource_type}/convert: + post: + description: |- + Convert a security monitoring resource that doesn't (yet) exist from JSON to Terraform. + The `resource_type` path parameter specifies the type of resource to convert + and must be one of `suppressions`, `critical_assets`, `security_filters`, or `rules`. + operationId: ConvertSecurityMonitoringTerraformResource + parameters: + - $ref: '#/components/parameters/SecurityMonitoringTerraformResourceType' + requestBody: + content: + application/json: + examples: + default: + value: + data: + attributes: + resource_json: + enabled: true + name: Example-Security-Monitoring + rule_query: source:cloudtrail + suppression_query: env:test + id: abc-123 + type: convert_resource + schema: + $ref: '#/components/schemas/SecurityMonitoringTerraformConvertRequest' + description: The resource JSON to convert. + required: true + responses: + '200': + content: + application/json: + examples: + default: + value: + data: + attributes: + output: resource "datadog_security_monitoring_suppression" "abc-123" {} + resource_id: abc-123 + type_name: datadog_security_monitoring_suppression + id: datadog_security_monitoring_suppression|abc-123 + type: format_resource + schema: + $ref: '#/components/schemas/SecurityMonitoringTerraformExportResponse' + description: OK + '400': + $ref: '#/components/responses/BadRequestResponse' + '403': + $ref: '#/components/responses/NotAuthorizedResponse' + '429': + $ref: '#/components/responses/TooManyRequestsResponse' + security: + - apiKeyAuth: [] + appKeyAuth: [] + - AuthZ: + - security_monitoring_suppressions_read + - AuthZ: + - security_monitoring_rules_read + - AuthZ: + - security_monitoring_filters_read + summary: Convert security monitoring resource to Terraform + tags: + - Security Monitoring + x-codegen-request-body-name: body + x-permission: + operator: OR + permissions: + - security_monitoring_suppressions_read + - security_monitoring_rules_read + - security_monitoring_filters_read + x-unstable: '**Note**: This endpoint is in Preview. If you have any feedback, contact [Datadog support](https://docs.datadoghq.com/help/).' + /api/v2/security_monitoring/terraform/{resource_type}/{resource_id}: + get: + description: |- + Export a security monitoring resource to a Terraform configuration. + The `resource_type` path parameter specifies the type of resource to export + and must be one of `suppressions`, `critical_assets`, `security_filters`, or `rules`. + For `rules`, partner rules cannot be exported and return a 400 error. + operationId: ExportSecurityMonitoringTerraformResource + parameters: + - $ref: '#/components/parameters/SecurityMonitoringTerraformResourceType' + - $ref: '#/components/parameters/SecurityMonitoringTerraformResourceId' + responses: + '200': + content: + application/json: + examples: + default: + value: + data: + attributes: + output: resource "datadog_security_monitoring_suppression" "abc-123" {} + resource_id: abc-123 + type_name: datadog_security_monitoring_suppression + id: datadog_security_monitoring_suppression|abc-123 + type: format_resource + schema: + $ref: '#/components/schemas/SecurityMonitoringTerraformExportResponse' + description: OK + '403': + $ref: '#/components/responses/NotAuthorizedResponse' + '404': + $ref: '#/components/responses/NotFoundResponse' + '429': + $ref: '#/components/responses/TooManyRequestsResponse' + security: + - apiKeyAuth: [] + appKeyAuth: [] + - AuthZ: + - security_monitoring_suppressions_read + - AuthZ: + - security_monitoring_rules_read + - AuthZ: + - security_monitoring_filters_read + summary: Export security monitoring resource to Terraform + tags: + - Security Monitoring + x-permission: + operator: OR + permissions: + - security_monitoring_suppressions_read + - security_monitoring_rules_read + - security_monitoring_filters_read + x-unstable: '**Note**: This endpoint is in Preview. If you have any feedback, contact [Datadog support](https://docs.datadoghq.com/help/).' + /api/v2/sensitive-data-scanner/config: + get: + description: List all the Scanning groups in your organization. + operationId: ListScanningGroups + responses: + '200': + content: + application/json: + examples: + default: + value: + data: + attributes: {} + id: abc-123 + relationships: + groups: + data: + - id: group-abc-123 + type: sensitive_data_scanner_group + type: sensitive_data_scanner_configuration + included: + - attributes: + description: '' + filter: + query: '*' + is_enabled: true + name: My scanning group + product_list: + - logs + samplings: + - product: logs + rate: 100 + id: group-abc-123 + relationships: + configuration: + data: + id: abc-123 + type: sensitive_data_scanner_configuration + rules: + data: + - id: rule-abc-123 + type: sensitive_data_scanner_rule + type: sensitive_data_scanner_group + - attributes: + description: Detects credit card numbers in various formats + excluded_namespaces: + - admin.name + included_keyword_configuration: + character_count: 35 + keywords: + - credit card + is_enabled: true + name: Credit Card Rule + namespaces: + - admin + priority: 1 + tags: + - sensitive_data:true + text_replacement: + type: none + id: rule-abc-123 + relationships: + group: + data: + id: group-abc-123 + type: sensitive_data_scanner_group + type: sensitive_data_scanner_rule + meta: + count_limit: 500 + group_count_limit: 20 + is_pci_compliant: false + version: 1 + schema: + $ref: '#/components/schemas/SensitiveDataScannerGetConfigResponse' + description: OK + '400': + content: + application/json: + schema: + $ref: '#/components/schemas/APIErrorResponse' + description: Bad Request + '403': + content: + application/json: + schema: + $ref: '#/components/schemas/APIErrorResponse' + description: Authentication Error + '429': + $ref: '#/components/responses/TooManyRequestsResponse' + summary: List Scanning Groups + tags: + - Sensitive Data Scanner + x-permission: + operator: OR + permissions: + - data_scanner_read + patch: + description: Reorder the list of groups. + operationId: ReorderScanningGroups + requestBody: + content: + application/json: + examples: + default: + value: + data: + relationships: + groups: + data: + - id: a796feff-a0cc-4a9f-8c61-16c4d5e44964 + type: sensitive_data_scanner_group + type: sensitive_data_scanner_configuration + meta: + version: 0 + schema: + $ref: '#/components/schemas/SensitiveDataScannerConfigRequest' + required: true + responses: + '200': + content: + application/json: + examples: + default: + value: + meta: + version: 1 + schema: + $ref: '#/components/schemas/SensitiveDataScannerReorderGroupsResponse' + description: OK + '400': + content: + application/json: + schema: + $ref: '#/components/schemas/APIErrorResponse' + description: Bad Request + '403': + content: + application/json: + schema: + $ref: '#/components/schemas/APIErrorResponse' + description: Authentication Error + '429': + $ref: '#/components/responses/TooManyRequestsResponse' + summary: Reorder Groups + tags: + - Sensitive Data Scanner + x-codegen-request-body-name: body + x-permission: + operator: OR + permissions: + - data_scanner_write + /api/v2/sensitive-data-scanner/config/groups: + post: + description: |- + Create a scanning group. + The request MAY include a configuration relationship. + A rules relationship can be omitted entirely, but if it is included it MUST be + null or an empty array (rules cannot be created at the same time). + The new group will be ordered last within the configuration. + operationId: CreateScanningGroup + requestBody: + content: + application/json: + examples: + default: + value: + data: + attributes: + filter: + query: '*' + is_enabled: false + product_list: + - logs + samplings: + - product: logs + rate: 100 + relationships: + configuration: + data: + type: sensitive_data_scanner_configuration + type: sensitive_data_scanner_group + meta: + version: 0 + schema: + $ref: '#/components/schemas/SensitiveDataScannerGroupCreateRequest' + required: true + responses: + '201': + content: + application/json: + examples: + default: + value: + data: + attributes: + description: '' + filter: + query: '*' + is_enabled: false + name: My scanning group + product_list: + - logs + samplings: + - product: logs + rate: 100 + id: group-abc-123 + relationships: + configuration: + data: + id: abc-123 + type: sensitive_data_scanner_configuration + rules: + data: [] + type: sensitive_data_scanner_group + meta: + version: 1 + schema: + $ref: '#/components/schemas/SensitiveDataScannerCreateGroupResponse' + description: OK + '400': + content: + application/json: + schema: + $ref: '#/components/schemas/APIErrorResponse' + description: Bad Request + '403': + content: + application/json: + schema: + $ref: '#/components/schemas/APIErrorResponse' + description: Authentication Error + '429': + $ref: '#/components/responses/TooManyRequestsResponse' + summary: Create Scanning Group + tags: + - Sensitive Data Scanner + x-codegen-request-body-name: body + x-permission: + operator: OR + permissions: + - data_scanner_write + /api/v2/sensitive-data-scanner/config/groups/{group_id}: + delete: + description: Delete a given group. + operationId: DeleteScanningGroup + parameters: + - $ref: '#/components/parameters/SensitiveDataScannerGroupID' + requestBody: + content: + application/json: + examples: + default: + value: + meta: + version: 0 + schema: + $ref: '#/components/schemas/SensitiveDataScannerGroupDeleteRequest' + required: true + responses: + '200': + content: + application/json: + examples: + default: + value: + meta: + version: 1 + schema: + $ref: '#/components/schemas/SensitiveDataScannerGroupDeleteResponse' + description: OK + '400': + content: + application/json: + schema: + $ref: '#/components/schemas/APIErrorResponse' + description: Bad Request + '403': + content: + application/json: + schema: + $ref: '#/components/schemas/APIErrorResponse' + description: Authentication Error + '404': + $ref: '#/components/responses/NotFoundResponse' + '429': + $ref: '#/components/responses/TooManyRequestsResponse' + summary: Delete Scanning Group + tags: + - Sensitive Data Scanner + x-codegen-request-body-name: body + x-permission: + operator: OR + permissions: + - data_scanner_write + patch: + description: |- + Update a group, including the order of the rules. + Rules within the group are reordered by including a rules relationship. If the rules + relationship is present, its data section MUST contain linkages for all of the rules + currently in the group, and MUST NOT contain any others. + operationId: UpdateScanningGroup + parameters: + - $ref: '#/components/parameters/SensitiveDataScannerGroupID' + requestBody: + content: + application/json: + examples: + default: + value: + data: + attributes: + filter: + query: '*' + is_enabled: false + product_list: + - logs + samplings: + - product: logs + rate: 100 + relationships: + configuration: + data: + type: sensitive_data_scanner_configuration + type: sensitive_data_scanner_group + meta: + version: 0 + schema: + $ref: '#/components/schemas/SensitiveDataScannerGroupUpdateRequest' + required: true + responses: + '200': + content: + application/json: + examples: + default: + value: + meta: + version: 1 + schema: + $ref: '#/components/schemas/SensitiveDataScannerGroupUpdateResponse' + description: OK + '400': + content: + application/json: + schema: + $ref: '#/components/schemas/APIErrorResponse' + description: Bad Request + '403': + content: + application/json: + schema: + $ref: '#/components/schemas/APIErrorResponse' + description: Authentication Error + '404': + $ref: '#/components/responses/NotFoundResponse' + '429': + $ref: '#/components/responses/TooManyRequestsResponse' + summary: Update Scanning Group + tags: + - Sensitive Data Scanner + x-codegen-request-body-name: body + x-permission: + operator: OR + permissions: + - data_scanner_write + /api/v2/sensitive-data-scanner/config/rules: + post: + description: |- + Create a scanning rule in a sensitive data scanner group, ordered last. + The posted rule MUST include a group relationship. + It MUST include either a standard_pattern relationship or a regex attribute, but not both. + If included_attributes is empty or missing, we will scan all attributes except + excluded_attributes. If both are missing, we will scan the whole event. + operationId: CreateScanningRule + requestBody: + content: + application/json: + examples: + default: + value: + data: + attributes: + excluded_namespaces: + - admin.name + included_keyword_configuration: + character_count: 30 + keywords: + - email + - address + - login + is_enabled: true + namespaces: + - admin + suppressions: + ends_with: + - '@example.com' + - another.example.com + exact_match: + - admin@example.com + - user@example.com + starts_with: + - admin + - user + tags: + - sensitive_data:true + text_replacement: + type: none + relationships: + group: + data: + type: sensitive_data_scanner_group + standard_pattern: + data: + type: sensitive_data_scanner_standard_pattern + type: sensitive_data_scanner_rule + meta: + version: 0 + schema: + $ref: '#/components/schemas/SensitiveDataScannerRuleCreateRequest' + required: true + responses: + '201': + content: + application/json: + examples: + default: + value: + data: + attributes: + description: Detects credit card numbers in various formats + excluded_namespaces: + - admin.name + included_keyword_configuration: + character_count: 35 + keywords: + - credit card + is_enabled: true + name: Credit Card Rule + namespaces: + - admin + priority: 1 + tags: + - sensitive_data:true + text_replacement: + type: none + id: rule-abc-123 + relationships: + group: + data: + id: group-abc-123 + type: sensitive_data_scanner_group + type: sensitive_data_scanner_rule + meta: + version: 1 + schema: + $ref: '#/components/schemas/SensitiveDataScannerCreateRuleResponse' + description: OK + '400': + content: + application/json: + schema: + $ref: '#/components/schemas/APIErrorResponse' + description: Bad Request + '403': + content: + application/json: + schema: + $ref: '#/components/schemas/APIErrorResponse' + description: Authentication Error + '429': + $ref: '#/components/responses/TooManyRequestsResponse' + summary: Create Scanning Rule + tags: + - Sensitive Data Scanner + x-codegen-request-body-name: body + x-permission: + operator: OR + permissions: + - data_scanner_write + /api/v2/sensitive-data-scanner/config/rules/{rule_id}: + delete: + description: Delete a given rule. + operationId: DeleteScanningRule + parameters: + - $ref: '#/components/parameters/SensitiveDataScannerRuleID' + requestBody: + content: + application/json: + examples: + default: + value: + meta: + version: 0 + schema: + $ref: '#/components/schemas/SensitiveDataScannerRuleDeleteRequest' + required: true + responses: + '200': + content: + application/json: + examples: + default: + value: + meta: + version: 1 + schema: + $ref: '#/components/schemas/SensitiveDataScannerRuleDeleteResponse' + description: OK + '400': + content: + application/json: + schema: + $ref: '#/components/schemas/APIErrorResponse' + description: Bad Request + '403': + content: + application/json: + schema: + $ref: '#/components/schemas/APIErrorResponse' + description: Authentication Error + '404': + $ref: '#/components/responses/NotFoundResponse' + '429': + $ref: '#/components/responses/TooManyRequestsResponse' + summary: Delete Scanning Rule + tags: + - Sensitive Data Scanner + x-codegen-request-body-name: body + x-permission: + operator: OR + permissions: + - data_scanner_write + patch: + description: |- + Update a scanning rule. + The request body MUST NOT include a standard_pattern relationship, as that relationship + is non-editable. Trying to edit the regex attribute of a rule with a standard_pattern + relationship will also result in an error. + operationId: UpdateScanningRule + parameters: + - $ref: '#/components/parameters/SensitiveDataScannerRuleID' + requestBody: + content: + application/json: + examples: + default: + value: + data: + attributes: + excluded_namespaces: + - admin.name + included_keyword_configuration: + character_count: 30 + keywords: + - email + - address + - login + is_enabled: true + namespaces: + - admin + suppressions: + ends_with: + - '@example.com' + - another.example.com + exact_match: + - admin@example.com + - user@example.com + starts_with: + - admin + - user + tags: + - sensitive_data:true + text_replacement: + type: none + relationships: + group: + data: + type: sensitive_data_scanner_group + standard_pattern: + data: + type: sensitive_data_scanner_standard_pattern + type: sensitive_data_scanner_rule + meta: + version: 0 + schema: + $ref: '#/components/schemas/SensitiveDataScannerRuleUpdateRequest' + required: true + responses: + '200': + content: + application/json: + examples: + default: + value: + meta: + version: 1 + schema: + $ref: '#/components/schemas/SensitiveDataScannerRuleUpdateResponse' + description: OK + '400': + content: + application/json: + schema: + $ref: '#/components/schemas/APIErrorResponse' + description: Bad Request + '403': + content: + application/json: + schema: + $ref: '#/components/schemas/APIErrorResponse' + description: Authentication Error + '404': + $ref: '#/components/responses/NotFoundResponse' + '429': + $ref: '#/components/responses/TooManyRequestsResponse' + summary: Update Scanning Rule + tags: + - Sensitive Data Scanner + x-codegen-request-body-name: body + x-permission: + operator: OR + permissions: + - data_scanner_write + /api/v2/sensitive-data-scanner/config/standard-patterns: + get: + description: Returns all standard patterns. + operationId: ListStandardPatterns + responses: + '200': + content: + application/json: + examples: + default: + value: + data: + - attributes: + description: Detects credit card numbers in various formats + included_keywords: + - credit card + - card number + name: Credit Card Number + priority: 1 + tags: + - card_number + id: abc-123 + type: sensitive_data_scanner_standard_pattern + schema: + $ref: '#/components/schemas/SensitiveDataScannerStandardPatternsResponseData' + description: OK + '400': + content: + application/json: + schema: + $ref: '#/components/schemas/APIErrorResponse' + description: Bad Request + '403': + content: + application/json: + schema: + $ref: '#/components/schemas/APIErrorResponse' + description: Authentication Error + '429': + $ref: '#/components/responses/TooManyRequestsResponse' + summary: List standard patterns + tags: + - Sensitive Data Scanner + x-permission: + operator: OR + permissions: + - data_scanner_read + /api/v2/siem-historical-detections/histsignals: + get: + description: List hist signals. + operationId: ListSecurityMonitoringHistsignals + parameters: + - $ref: '#/components/parameters/QueryFilterSearch' + - $ref: '#/components/parameters/QueryFilterFrom' + - $ref: '#/components/parameters/QueryFilterTo' + - $ref: '#/components/parameters/QuerySort' + - $ref: '#/components/parameters/QueryPageCursor' + - $ref: '#/components/parameters/QueryPageLimit' + responses: + '200': + content: + application/json: + examples: + default: + value: + data: + - attributes: + message: A large number of failed login attempts. + tags: + - source:production + timestamp: '2024-01-01T00:00:00+00:00' + id: abc-123 + type: signal + schema: + $ref: '#/components/schemas/SecurityMonitoringSignalsListResponse' + description: OK + '400': + $ref: '#/components/responses/BadRequestResponse' + '403': + $ref: '#/components/responses/NotAuthorizedResponse' + '404': + $ref: '#/components/responses/NotFoundResponse' + '429': + $ref: '#/components/responses/TooManyRequestsResponse' + security: + - apiKeyAuth: [] + appKeyAuth: [] + - AuthZ: + - security_monitoring_signals_read + summary: List hist signals + tags: + - Security Monitoring + x-permission: + operator: OR + permissions: + - security_monitoring_signals_read + x-unstable: |- + **Note**: This endpoint is in beta and may be subject to changes. + Please check the documentation regularly for updates. + /api/v2/siem-historical-detections/histsignals/search: + post: + description: Search hist signals. + operationId: SearchSecurityMonitoringHistsignals + requestBody: + content: + application/json: + examples: + default: + value: + filter: + from: '2019-01-02T09:42:36.320Z' + query: security:attack status:high + to: '2019-01-03T09:42:36.320Z' + page: + limit: 25 + sort: timestamp + schema: + $ref: '#/components/schemas/SecurityMonitoringSignalListRequest' + required: false + responses: + '200': + content: + application/json: + examples: + default: + value: + data: + - attributes: + message: A large number of failed login attempts. + tags: + - source:production + timestamp: '2024-01-01T00:00:00+00:00' + id: abc-123 + type: signal + schema: + $ref: '#/components/schemas/SecurityMonitoringSignalsListResponse' + description: OK + '400': + $ref: '#/components/responses/BadRequestResponse' + '403': + $ref: '#/components/responses/NotAuthorizedResponse' + '404': + $ref: '#/components/responses/NotFoundResponse' + '429': + $ref: '#/components/responses/TooManyRequestsResponse' + security: + - apiKeyAuth: [] + appKeyAuth: [] + - AuthZ: + - security_monitoring_signals_read + summary: Search hist signals + tags: + - Security Monitoring + x-codegen-request-body-name: body + x-permission: + operator: OR + permissions: + - security_monitoring_signals_read + x-unstable: |- + **Note**: This endpoint is in beta and may be subject to changes. + Please check the documentation regularly for updates. + /api/v2/siem-historical-detections/histsignals/{histsignal_id}: + get: + description: Get a hist signal's details. + operationId: GetSecurityMonitoringHistsignal + parameters: + - $ref: '#/components/parameters/HistoricalSignalID' + responses: + '200': + content: + application/json: + examples: + default: + value: + data: + attributes: + message: A large number of failed login attempts. + tags: + - source:production + timestamp: '2024-01-01T00:00:00+00:00' + id: abc-123 + type: signal + schema: + $ref: '#/components/schemas/SecurityMonitoringSignalResponse' + description: OK + '400': + $ref: '#/components/responses/BadRequestResponse' + '403': + $ref: '#/components/responses/NotAuthorizedResponse' + '404': + $ref: '#/components/responses/NotFoundResponse' + '429': + $ref: '#/components/responses/TooManyRequestsResponse' + security: + - apiKeyAuth: [] + appKeyAuth: [] + - AuthZ: + - security_monitoring_signals_read + summary: Get a hist signal's details + tags: + - Security Monitoring + x-permission: + operator: OR + permissions: + - security_monitoring_signals_read + x-unstable: |- + **Note**: This endpoint is in beta and may be subject to changes. + Please check the documentation regularly for updates. + /api/v2/siem-historical-detections/jobs: + get: + description: List historical jobs. + operationId: ListHistoricalJobs + parameters: + - $ref: '#/components/parameters/PageSize' + - $ref: '#/components/parameters/PageNumber' + - description: The order of the jobs in results. + example: status + in: query + name: sort + required: false + schema: + type: string + - description: Query used to filter items from the fetched list. + example: security:attack status:high + in: query + name: filter[query] + required: false + schema: + type: string + responses: + '200': + content: + application/json: + examples: + default: + value: + data: + - attributes: + createdAt: '2024-01-01T00:00:00+00:00' + createdByHandle: example-handle + createdByName: Example Name + jobName: Example Job + jobStatus: COMPLETED + id: abc-123 + type: historicalDetectionsJob + meta: + totalCount: 1 + schema: + $ref: '#/components/schemas/ListHistoricalJobsResponse' + description: OK + '400': + $ref: '#/components/responses/BadRequestResponse' + '403': + $ref: '#/components/responses/NotAuthorizedResponse' + '429': + $ref: '#/components/responses/TooManyRequestsResponse' + security: + - apiKeyAuth: [] + appKeyAuth: [] + - AuthZ: [] + summary: List historical jobs + tags: + - Security Monitoring + x-unstable: |- + **Note**: This endpoint is in beta and may be subject to changes. + Please check the documentation regularly for updates. + post: + description: Run a historical job. + operationId: RunHistoricalJob + requestBody: + content: + application/json: + examples: + default: + value: + data: + attributes: + jobDefinition: + cases: + - condition: a > 1 + name: Condition 1 + notifications: [] + status: info + from: 1730387522611 + index: main + message: A large number of failed login attempts. + name: Excessive number of failed attempts. + options: + evaluationWindow: 900 + keepAlive: 3600 + maxSignalDuration: 86400 + queries: + - aggregation: count + distinctFields: [] + groupByFields: [] + query: source:non_existing_src_weekend + tags: [] + to: 1730391122611 + type: log_detection + type: historicalDetectionsJobCreate + schema: + $ref: '#/components/schemas/RunHistoricalJobRequest' + required: true + responses: + '201': + content: + application/json: + examples: + default: + value: + data: + id: abc-123 + type: historicalDetectionsJob + schema: + $ref: '#/components/schemas/JobCreateResponse' + description: Status created + '400': + $ref: '#/components/responses/BadRequestResponse' + '401': + $ref: '#/components/responses/ConcurrentModificationResponse' + '403': + $ref: '#/components/responses/NotAuthorizedResponse' + '404': + $ref: '#/components/responses/NotFoundResponse' + '429': + $ref: '#/components/responses/TooManyRequestsResponse' + security: + - apiKeyAuth: [] + appKeyAuth: [] + - AuthZ: + - security_monitoring_rules_write + summary: Run a historical job + tags: + - Security Monitoring + x-codegen-request-body-name: body + x-permission: + operator: OR + permissions: + - security_monitoring_rules_write + x-unstable: |- + **Note**: This endpoint is in beta and may be subject to changes. + Please check the documentation regularly for updates. + /api/v2/siem-historical-detections/jobs/signal_convert: + post: + description: Convert a job result to a signal. + operationId: ConvertJobResultToSignal + requestBody: + content: + application/json: + examples: + default: + value: + data: + attributes: + jobResultIds: + - '' + notifications: + - '' + signalMessage: A large number of failed login attempts. + signalSeverity: critical + type: historicalDetectionsJobResultSignalConversion + schema: + $ref: '#/components/schemas/ConvertJobResultsToSignalsRequest' + required: true + responses: + '204': + description: OK + '400': + $ref: '#/components/responses/BadRequestResponse' + '401': + $ref: '#/components/responses/ConcurrentModificationResponse' + '403': + $ref: '#/components/responses/NotAuthorizedResponse' + '404': + $ref: '#/components/responses/NotFoundResponse' + '429': + $ref: '#/components/responses/TooManyRequestsResponse' + summary: Convert a job result to a signal + tags: + - Security Monitoring + x-codegen-request-body-name: body + x-permission: + operator: OR + permissions: + - security_monitoring_signals_write + x-unstable: |- + **Note**: This endpoint is in beta and may be subject to changes. + Please check the documentation regularly for updates. + /api/v2/siem-historical-detections/jobs/{job_id}: + delete: + description: Delete an existing job. + operationId: DeleteHistoricalJob + parameters: + - $ref: '#/components/parameters/HistoricalJobID' + responses: + '204': + description: OK + '400': + $ref: '#/components/responses/BadRequestResponse' + '401': + $ref: '#/components/responses/ConcurrentModificationResponse' + '403': + $ref: '#/components/responses/NotAuthorizedResponse' + '404': + $ref: '#/components/responses/NotFoundResponse' + '409': + $ref: '#/components/responses/ConflictResponse' + '429': + $ref: '#/components/responses/TooManyRequestsResponse' + security: + - apiKeyAuth: [] + appKeyAuth: [] + - AuthZ: [] + summary: Delete an existing job + tags: + - Security Monitoring + x-unstable: |- + **Note**: This endpoint is in beta and may be subject to changes. + Please check the documentation regularly for updates. + get: + description: Get a job's details. + operationId: GetHistoricalJob + parameters: + - $ref: '#/components/parameters/HistoricalJobID' + responses: + '200': + content: + application/json: + examples: + default: + value: + data: + attributes: + createdAt: '2024-01-01T00:00:00+00:00' + createdByHandle: example-handle + createdByName: Example Name + jobName: Example Job + jobStatus: COMPLETED + modifiedAt: '2024-01-01T00:00:00+00:00' + signalOutput: false + id: abc-123 + type: historicalDetectionsJob + schema: + $ref: '#/components/schemas/HistoricalJobResponse' + description: OK + '400': + $ref: '#/components/responses/BadRequestResponse' + '403': + $ref: '#/components/responses/NotAuthorizedResponse' + '404': + $ref: '#/components/responses/NotFoundResponse' + '429': + $ref: '#/components/responses/TooManyRequestsResponse' + security: + - apiKeyAuth: [] + appKeyAuth: [] + - AuthZ: + - security_monitoring_rules_read + summary: Get a job's details + tags: + - Security Monitoring + x-permission: + operator: OR + permissions: + - security_monitoring_rules_read + x-unstable: |- + **Note**: This endpoint is in beta and may be subject to changes. + Please check the documentation regularly for updates. + /api/v2/siem-historical-detections/jobs/{job_id}/cancel: + patch: + description: Cancel a historical job. + operationId: CancelHistoricalJob + parameters: + - $ref: '#/components/parameters/HistoricalJobID' + responses: + '204': + description: OK + '400': + $ref: '#/components/responses/BadRequestResponse' + '401': + $ref: '#/components/responses/ConcurrentModificationResponse' + '403': + $ref: '#/components/responses/NotAuthorizedResponse' + '404': + $ref: '#/components/responses/NotFoundResponse' + '409': + $ref: '#/components/responses/ConflictResponse' + '429': + $ref: '#/components/responses/TooManyRequestsResponse' + security: + - apiKeyAuth: [] + appKeyAuth: [] + - AuthZ: + - security_monitoring_rules_write + summary: Cancel a historical job + tags: + - Security Monitoring + x-permission: + operator: OR + permissions: + - security_monitoring_rules_write + x-unstable: |- + **Note**: This endpoint is in beta and may be subject to changes. + Please check the documentation regularly for updates. + /api/v2/siem-historical-detections/jobs/{job_id}/histsignals: + get: + description: Get a job's hist signals. + operationId: GetSecurityMonitoringHistsignalsByJobId + parameters: + - $ref: '#/components/parameters/HistoricalJobID' + - $ref: '#/components/parameters/QueryFilterSearch' + - $ref: '#/components/parameters/QueryFilterFrom' + - $ref: '#/components/parameters/QueryFilterTo' + - $ref: '#/components/parameters/QuerySort' + - $ref: '#/components/parameters/QueryPageCursor' + - $ref: '#/components/parameters/QueryPageLimit' + responses: + '200': + content: + application/json: + examples: + default: + value: + data: + - attributes: + message: A large number of failed login attempts. + tags: + - source:production + timestamp: '2024-01-01T00:00:00+00:00' + id: abc-123 + type: signal + schema: + $ref: '#/components/schemas/SecurityMonitoringSignalsListResponse' + description: OK + '400': + $ref: '#/components/responses/BadRequestResponse' + '403': + $ref: '#/components/responses/NotAuthorizedResponse' + '404': + $ref: '#/components/responses/NotFoundResponse' + '429': + $ref: '#/components/responses/TooManyRequestsResponse' + security: + - apiKeyAuth: [] + appKeyAuth: [] + - AuthZ: + - security_monitoring_signals_read + summary: Get a job's hist signals + tags: + - Security Monitoring + x-permission: + operator: OR + permissions: + - security_monitoring_signals_read + x-unstable: |- + **Note**: This endpoint is in beta and may be subject to changes. + Please check the documentation regularly for updates. + /api/v2/static-analysis-sca/dependencies: + post: + operationId: CreateSCAResult + requestBody: + content: + application/json: + examples: + default: + value: + data: + type: scarequests + schema: + $ref: '#/components/schemas/ScaRequest' + required: true + responses: + '200': + description: OK + '429': + $ref: '#/components/responses/TooManyRequestsResponse' + security: + - apiKeyAuth: [] + appKeyAuth: [] + - AuthZ: + - code_analysis_read + summary: Post dependencies for analysis + tags: + - Static Analysis + x-unstable: '**Note**: This endpoint may be subject to changes.' + /api/v2/static-analysis-sca/dependencies/scan: + post: + operationId: CreateSCAScan + requestBody: + content: + application/json: + examples: + default: + value: + data: + attributes: + commit_hash: 0e9fc8de83eaabecd722e1cd0ed44fb489fe15fc + libraries: + - exclusions: [] + is_dev: false + is_direct: true + package_manager: nuget + purl: pkg:nuget/Newtonsoft.Json@13.0.1 + target_frameworks: + - net8.0 + resource_name: my-org/my-repo + type: mcpscanrequest + schema: + $ref: '#/components/schemas/McpScanRequest' + required: true + responses: + '202': + content: + application/json: + examples: + default: + value: + data: + attributes: + job_id: 0190a3d4-1234-7000-8000-000000000000 + id: 0190a3d4-1234-7000-8000-000000000000 + type: mcpscanrequestresponse + schema: + $ref: '#/components/schemas/McpScanRequestResponse' + description: Accepted + '400': + content: + application/json: + schema: + $ref: '#/components/schemas/JSONAPIErrorResponse' + description: Bad Request + '429': + $ref: '#/components/responses/TooManyRequestsResponse' + security: + - apiKeyAuth: [] + appKeyAuth: [] + - AuthZ: + - code_analysis_read + summary: Submit libraries for vulnerability scanning + tags: + - Static Analysis + x-unstable: |- + **Note**: This endpoint is in preview and is subject to change. + If you have any feedback, contact [Datadog support](https://docs.datadoghq.com/help/). + /api/v2/static-analysis-sca/dependencies/scan/{job_id}: + get: + operationId: GetSCAScan + parameters: + - description: The job identifier returned when the scan was submitted. + in: path + name: job_id + required: true + schema: + example: 0190a3d4-1234-7000-8000-000000000000 + type: string + responses: + '200': + content: + application/json: + examples: + default: + value: + vulnerabilities: [] + schema: + $ref: '#/components/schemas/ScanResultResponse' + description: OK + '404': + content: + application/json: + schema: + $ref: '#/components/schemas/JSONAPIErrorResponse' + description: Not Found + '429': + $ref: '#/components/responses/TooManyRequestsResponse' + security: + - apiKeyAuth: [] + appKeyAuth: [] + - AuthZ: + - code_analysis_read + summary: Retrieve a dependency scan result + tags: + - Static Analysis + x-unstable: |- + **Note**: This endpoint is in preview and is subject to change. + If you have any feedback, contact [Datadog support](https://docs.datadoghq.com/help/). + /api/v2/static-analysis-sca/licenses/list: + get: + operationId: ListSCALicenses + responses: + '200': + content: + application/json: + examples: + default: + value: + data: + attributes: + licenses: + - display_name: MIT License + identifier: MIT + short_name: MIT + id: 0190a3d4-1234-7000-8000-000000000000 + type: licenserequest + schema: + $ref: '#/components/schemas/LicensesListResponse' + description: OK + '429': + $ref: '#/components/responses/TooManyRequestsResponse' + security: + - apiKeyAuth: [] + appKeyAuth: [] + summary: Get the list of SPDX licenses + tags: + - Static Analysis + x-unstable: |- + **Note**: This endpoint is in preview and is subject to change. + If you have any feedback, contact [Datadog support](https://docs.datadoghq.com/help/). + /api/v2/static-analysis-sca/vulnerabilities/resolve-vulnerable-symbols: + post: + operationId: CreateSCAResolveVulnerableSymbols + requestBody: + content: + application/json: + examples: + default: + value: + data: + type: resolve-vulnerable-symbols-request + schema: + $ref: '#/components/schemas/ResolveVulnerableSymbolsRequest' + required: true + responses: + '200': + content: + application/json: + examples: + default: + value: + data: + attributes: + results: + - purl: pkg:npm/lodash@4.17.20 + vulnerable_symbols: [] + id: abc-123 + type: resolve-vulnerable-symbols-response + schema: + $ref: '#/components/schemas/ResolveVulnerableSymbolsResponse' + description: OK + '429': + $ref: '#/components/responses/TooManyRequestsResponse' + security: + - apiKeyAuth: [] + appKeyAuth: [] + - AuthZ: + - code_analysis_read + summary: POST request to resolve vulnerable symbols + tags: + - Static Analysis + x-unstable: '**Note**: This endpoint may be subject to changes.' + /api/v2/static-analysis/ai/memory: + get: + description: Get all AI memory violation results for the authenticated organization. + operationId: ListAiMemoryViolationResults + responses: + '200': + content: + application/json: + examples: + default: + value: + data: + - attributes: + created_at: '2024-01-01T00:00:00+00:00' + created_by: example-handle + line: 10 + message: This is a false positive. + name: src/main.py + repository_id: my-repo + rule: my-ai-ruleset/my-ai-rule + sha: abc123def456789012345678901234567890abcd + type: FP + id: '42' + type: ai_memory_violation_result + schema: + $ref: '#/components/schemas/AiMemoryViolationResultsResponse' + description: Successful response + '400': + content: + application/json: + schema: + $ref: '#/components/schemas/JSONAPIErrorResponse' + description: Bad Request + '401': + content: + application/json: + schema: + $ref: '#/components/schemas/JSONAPIErrorResponse' + description: Unauthorized + '404': + content: + application/json: + schema: + $ref: '#/components/schemas/JSONAPIErrorResponse' + description: Not Found + '429': + $ref: '#/components/responses/TooManyRequestsResponse' + '500': + content: + application/json: + schema: + $ref: '#/components/schemas/JSONAPIErrorResponse' + description: Internal Server Error + summary: List AI memory violation results + tags: + - Static Analysis + x-unstable: |- + **Note**: This endpoint is in preview and is subject to change. + If you have any feedback, contact [Datadog support](https://docs.datadoghq.com/help/). + post: + description: Add a new AI memory violation result for the authenticated organization. + operationId: CreateAiMemoryViolationResult + requestBody: + content: + application/json: + examples: + default: + value: + data: + attributes: + line: 10 + message: This is a false positive. + name: src/main.py + repository_id: my-repo + rule: my-ai-ruleset/my-ai-rule + sha: abc123def456789012345678901234567890abcd + type: FP + id: violation-abc + type: ai_memory_violation_result + schema: + $ref: '#/components/schemas/AiMemoryViolationResultRequest' + required: true + responses: + '200': + description: Successfully created + '400': + content: + application/json: + schema: + $ref: '#/components/schemas/JSONAPIErrorResponse' + description: Bad Request + '401': + content: + application/json: + schema: + $ref: '#/components/schemas/JSONAPIErrorResponse' + description: Unauthorized + '404': + content: + application/json: + schema: + $ref: '#/components/schemas/JSONAPIErrorResponse' + description: Not Found + '429': + $ref: '#/components/responses/TooManyRequestsResponse' + '500': + content: + application/json: + schema: + $ref: '#/components/schemas/JSONAPIErrorResponse' + description: Internal Server Error + summary: Create an AI memory violation result + tags: + - Static Analysis + x-unstable: |- + **Note**: This endpoint is in preview and is subject to change. + If you have any feedback, contact [Datadog support](https://docs.datadoghq.com/help/). + /api/v2/static-analysis/ai/memory/{id}: + delete: + description: Delete an AI memory violation result by its numeric identifier. + operationId: DeleteAiMemoryViolationResult + parameters: + - description: The numeric identifier of the memory violation result. + in: path + name: id + required: true + schema: + example: '42' + type: string + responses: + '200': + description: Successfully deleted + '400': + content: + application/json: + schema: + $ref: '#/components/schemas/JSONAPIErrorResponse' + description: Bad Request + '401': + content: + application/json: + schema: + $ref: '#/components/schemas/JSONAPIErrorResponse' + description: Unauthorized + '404': + content: + application/json: + schema: + $ref: '#/components/schemas/JSONAPIErrorResponse' + description: Memory violation result not found + '429': + $ref: '#/components/responses/TooManyRequestsResponse' + '500': + content: + application/json: + schema: + $ref: '#/components/schemas/JSONAPIErrorResponse' + description: Internal Server Error + summary: Delete an AI memory violation result + tags: + - Static Analysis + x-unstable: |- + **Note**: This endpoint is in preview and is subject to change. + If you have any feedback, contact [Datadog support](https://docs.datadoghq.com/help/). + /api/v2/static-analysis/ai/prompts: + get: + description: Get all AI prompts, including default prompts and custom AI rule prompts for the authenticated organization. + operationId: ListAiPrompts + responses: + '200': + content: + application/json: + examples: + default: + value: + data: + - attributes: + category: SECURITY + checksum: abc123 + content: Ruleset content + cwe: '79' + description: Ruleset description + directories: [] + execution_mode: auto + file_search_keywords: [] + globs: + - '**/*.py' + is_default: false + is_testing: false + language: PYTHON + result_keywords_exclude: [] + rule_version: '1' + severity: ERROR + short_description: Ruleset short description + id: my-ai-ruleset/my-ai-rule + type: ai_prompt + schema: + $ref: '#/components/schemas/AiPromptsResponse' + description: Successful response + '400': + content: + application/json: + schema: + $ref: '#/components/schemas/JSONAPIErrorResponse' + description: Bad Request + '401': + content: + application/json: + schema: + $ref: '#/components/schemas/JSONAPIErrorResponse' + description: Unauthorized + '404': + content: + application/json: + schema: + $ref: '#/components/schemas/JSONAPIErrorResponse' + description: Not Found + '429': + $ref: '#/components/responses/TooManyRequestsResponse' + '500': + content: + application/json: + schema: + $ref: '#/components/schemas/JSONAPIErrorResponse' + description: Internal Server Error + summary: List AI prompts + tags: + - Static Analysis + x-unstable: |- + **Note**: This endpoint is in preview and is subject to change. + If you have any feedback, contact [Datadog support](https://docs.datadoghq.com/help/). + /api/v2/static-analysis/ai/rulesets: + get: + description: Get all AI custom rulesets for the authenticated organization. + operationId: ListAiCustomRulesets + parameters: + - description: The offset for pagination. + in: query + name: page[offset] + required: false + schema: + default: 0 + format: int64 + type: integer + - description: The maximum number of rulesets to return. + in: query + name: page[limit] + required: false + schema: + default: 100 + format: int64 + type: integer + responses: + '200': + content: + application/json: + examples: + default: + value: + data: + - attributes: + created_at: '2024-01-01T00:00:00+00:00' + created_by: example-handle + description: Ruleset description + name: my-ai-ruleset + rules: [] + short_description: Ruleset short description + id: my-ai-ruleset + type: ai_ruleset + schema: + $ref: '#/components/schemas/AiCustomRulesetsResponse' + description: Successful response + '401': + content: + application/json: + schema: + $ref: '#/components/schemas/JSONAPIErrorResponse' + description: Unauthorized + '429': + $ref: '#/components/responses/TooManyRequestsResponse' + '500': + content: + application/json: + schema: + $ref: '#/components/schemas/JSONAPIErrorResponse' + description: Internal Server Error + summary: List AI custom rulesets + tags: + - Static Analysis + x-unstable: |- + **Note**: This endpoint is in preview and is subject to change. + If you have any feedback, contact [Datadog support](https://docs.datadoghq.com/help/). + post: + description: Create a new AI custom ruleset for the authenticated organization. + operationId: CreateAiCustomRuleset + requestBody: + content: + application/json: + examples: + default: + value: + data: + attributes: + description: Ruleset description + name: my-ai-ruleset + short_description: Ruleset short description + id: my-ai-ruleset + type: ai_ruleset + schema: + $ref: '#/components/schemas/AiCustomRulesetRequest' + required: true + responses: + '200': + content: + application/json: + examples: + default: + value: + data: + attributes: + created_at: '2024-01-01T00:00:00+00:00' + created_by: example-handle + description: Ruleset description + name: my-ai-ruleset + rules: [] + short_description: Ruleset short description + id: my-ai-ruleset + type: ai_ruleset + schema: + $ref: '#/components/schemas/AiCustomRulesetResponse' + description: Successfully created + '400': + content: + application/json: + schema: + $ref: '#/components/schemas/JSONAPIErrorResponse' + description: Bad Request + '401': + content: + application/json: + schema: + $ref: '#/components/schemas/JSONAPIErrorResponse' + description: Unauthorized + '409': + content: + application/json: + schema: + $ref: '#/components/schemas/JSONAPIErrorResponse' + description: Conflict - ruleset already exists + '412': + content: + application/json: + schema: + $ref: '#/components/schemas/JSONAPIErrorResponse' + description: Precondition Failed - validation error + '429': + $ref: '#/components/responses/TooManyRequestsResponse' + '500': + content: + application/json: + schema: + $ref: '#/components/schemas/JSONAPIErrorResponse' + description: Internal Server Error + summary: Create an AI custom ruleset + tags: + - Static Analysis + x-unstable: |- + **Note**: This endpoint is in preview and is subject to change. + If you have any feedback, contact [Datadog support](https://docs.datadoghq.com/help/). + /api/v2/static-analysis/ai/rulesets/{ruleset_name}: + delete: + description: Delete an AI custom ruleset by name. + operationId: DeleteAiCustomRuleset + parameters: + - description: The ruleset name. + in: path + name: ruleset_name + required: true + schema: + example: my-ai-ruleset + type: string + responses: + '200': + description: Successfully deleted + '400': + content: + application/json: + schema: + $ref: '#/components/schemas/JSONAPIErrorResponse' + description: Bad Request + '401': + content: + application/json: + schema: + $ref: '#/components/schemas/JSONAPIErrorResponse' + description: Unauthorized + '404': + content: + application/json: + schema: + $ref: '#/components/schemas/JSONAPIErrorResponse' + description: Ruleset not found + '429': + $ref: '#/components/responses/TooManyRequestsResponse' + '500': + content: + application/json: + schema: + $ref: '#/components/schemas/JSONAPIErrorResponse' + description: Internal Server Error + summary: Delete an AI custom ruleset + tags: + - Static Analysis + x-unstable: |- + **Note**: This endpoint is in preview and is subject to change. + If you have any feedback, contact [Datadog support](https://docs.datadoghq.com/help/). + get: + description: Get an AI custom ruleset by name. + operationId: GetAiCustomRuleset + parameters: + - description: The ruleset name. + in: path + name: ruleset_name + required: true + schema: + example: my-ai-ruleset + type: string + responses: + '200': + content: + application/json: + examples: + default: + value: + data: + attributes: + created_at: '2024-01-01T00:00:00+00:00' + created_by: example-handle + description: Ruleset description + name: my-ai-ruleset + rules: [] + short_description: Ruleset short description + id: my-ai-ruleset + type: ai_ruleset + schema: + $ref: '#/components/schemas/AiCustomRulesetResponse' + description: Successful response + '400': + content: + application/json: + schema: + $ref: '#/components/schemas/JSONAPIErrorResponse' + description: Bad Request + '401': + content: + application/json: + schema: + $ref: '#/components/schemas/JSONAPIErrorResponse' + description: Unauthorized + '404': + content: + application/json: + schema: + $ref: '#/components/schemas/JSONAPIErrorResponse' + description: Ruleset not found + '429': + $ref: '#/components/responses/TooManyRequestsResponse' + '500': + content: + application/json: + schema: + $ref: '#/components/schemas/JSONAPIErrorResponse' + description: Internal Server Error + summary: Get an AI custom ruleset + tags: + - Static Analysis + x-unstable: |- + **Note**: This endpoint is in preview and is subject to change. + If you have any feedback, contact [Datadog support](https://docs.datadoghq.com/help/). + patch: + description: Update the description of an existing AI custom ruleset. + operationId: UpdateAiCustomRuleset + parameters: + - description: The ruleset name. + in: path + name: ruleset_name + required: true + schema: + example: my-ai-ruleset + type: string + requestBody: + content: + application/json: + examples: + default: + value: + data: + attributes: + description: Ruleset description + name: my-ai-ruleset + short_description: Ruleset short description + id: my-ai-ruleset + type: ai_ruleset + schema: + $ref: '#/components/schemas/AiCustomRulesetUpdateRequest' + required: true + responses: + '200': + description: Successfully updated + '400': + content: + application/json: + schema: + $ref: '#/components/schemas/JSONAPIErrorResponse' + description: Bad Request + '401': + content: + application/json: + schema: + $ref: '#/components/schemas/JSONAPIErrorResponse' + description: Unauthorized + '412': + content: + application/json: + schema: + $ref: '#/components/schemas/JSONAPIErrorResponse' + description: Precondition Failed - validation error or ruleset not found + '429': + $ref: '#/components/responses/TooManyRequestsResponse' + '500': + content: + application/json: + schema: + $ref: '#/components/schemas/JSONAPIErrorResponse' + description: Internal Server Error + summary: Update an AI custom ruleset + tags: + - Static Analysis + x-unstable: |- + **Note**: This endpoint is in preview and is subject to change. + If you have any feedback, contact [Datadog support](https://docs.datadoghq.com/help/). + /api/v2/static-analysis/ai/rulesets/{ruleset_name}/rules: + post: + description: Create a new AI custom rule within a ruleset. + operationId: CreateAiCustomRule + parameters: + - description: The ruleset name. + in: path + name: ruleset_name + required: true + schema: + example: my-ai-ruleset + type: string + requestBody: + content: + application/json: + examples: + default: + value: + data: + attributes: + name: my-ai-rule + type: ai_rule + schema: + $ref: '#/components/schemas/AiCustomRuleRequest' + required: true + responses: + '200': + content: + application/json: + examples: + default: + value: + data: + attributes: + created_at: '2024-01-01T00:00:00+00:00' + created_by: example-handle + last_revision: null + name: my-ai-rule + id: my-ai-rule + type: ai_rule + schema: + $ref: '#/components/schemas/AiCustomRuleResponse' + description: Successfully created + '400': + content: + application/json: + schema: + $ref: '#/components/schemas/JSONAPIErrorResponse' + description: Bad Request + '401': + content: + application/json: + schema: + $ref: '#/components/schemas/JSONAPIErrorResponse' + description: Unauthorized + '409': + content: + application/json: + schema: + $ref: '#/components/schemas/JSONAPIErrorResponse' + description: Conflict - rule already exists + '412': + content: + application/json: + schema: + $ref: '#/components/schemas/JSONAPIErrorResponse' + description: Precondition Failed - validation error or ruleset not found + '429': + $ref: '#/components/responses/TooManyRequestsResponse' + '500': + content: + application/json: + schema: + $ref: '#/components/schemas/JSONAPIErrorResponse' + description: Internal Server Error + summary: Create an AI custom rule + tags: + - Static Analysis + x-unstable: |- + **Note**: This endpoint is in preview and is subject to change. + If you have any feedback, contact [Datadog support](https://docs.datadoghq.com/help/). + /api/v2/static-analysis/ai/rulesets/{ruleset_name}/rules/{rule_name}: + delete: + description: Delete an AI custom rule by name within a ruleset. + operationId: DeleteAiCustomRule + parameters: + - description: The ruleset name. + in: path + name: ruleset_name + required: true + schema: + example: my-ai-ruleset + type: string + - description: The rule name. + in: path + name: rule_name + required: true + schema: + example: my-ai-rule + type: string + responses: + '200': + description: Successfully deleted + '400': + content: + application/json: + schema: + $ref: '#/components/schemas/JSONAPIErrorResponse' + description: Bad Request + '401': + content: + application/json: + schema: + $ref: '#/components/schemas/JSONAPIErrorResponse' + description: Unauthorized + '404': + content: + application/json: + schema: + $ref: '#/components/schemas/JSONAPIErrorResponse' + description: Rule not found + '429': + $ref: '#/components/responses/TooManyRequestsResponse' + '500': + content: + application/json: + schema: + $ref: '#/components/schemas/JSONAPIErrorResponse' + description: Internal Server Error + summary: Delete an AI custom rule + tags: + - Static Analysis + x-unstable: |- + **Note**: This endpoint is in preview and is subject to change. + If you have any feedback, contact [Datadog support](https://docs.datadoghq.com/help/). + get: + description: Get an AI custom rule by name within a ruleset. + operationId: GetAiCustomRule + parameters: + - description: The ruleset name. + in: path + name: ruleset_name + required: true + schema: + example: my-ai-ruleset + type: string + - description: The rule name. + in: path + name: rule_name + required: true + schema: + example: my-ai-rule + type: string + responses: + '200': + content: + application/json: + examples: + default: + value: + data: + attributes: + created_at: '2024-01-01T00:00:00+00:00' + created_by: example-handle + last_revision: null + name: my-ai-rule + id: my-ai-rule + type: ai_rule + schema: + $ref: '#/components/schemas/AiCustomRuleResponse' + description: Successful response + '400': + content: + application/json: + schema: + $ref: '#/components/schemas/JSONAPIErrorResponse' + description: Bad Request + '401': + content: + application/json: + schema: + $ref: '#/components/schemas/JSONAPIErrorResponse' + description: Unauthorized + '404': + content: + application/json: + schema: + $ref: '#/components/schemas/JSONAPIErrorResponse' + description: Rule not found + '429': + $ref: '#/components/responses/TooManyRequestsResponse' + '500': + content: + application/json: + schema: + $ref: '#/components/schemas/JSONAPIErrorResponse' + description: Internal Server Error + summary: Get an AI custom rule + tags: + - Static Analysis + x-unstable: |- + **Note**: This endpoint is in preview and is subject to change. + If you have any feedback, contact [Datadog support](https://docs.datadoghq.com/help/). + /api/v2/static-analysis/ai/rulesets/{ruleset_name}/rules/{rule_name}/revisions: + get: + description: Get all revisions for an AI custom rule. + operationId: ListAiCustomRuleRevisions + parameters: + - description: The ruleset name. + in: path + name: ruleset_name + required: true + schema: + example: my-ai-ruleset + type: string + - description: The rule name. + in: path + name: rule_name + required: true + schema: + example: my-ai-rule + type: string + - description: The offset for pagination. + in: query + name: page[offset] + required: false + schema: + default: 0 + format: int64 + type: integer + - description: The maximum number of revisions to return. + in: query + name: page[limit] + required: false + schema: + default: 100 + format: int64 + type: integer + responses: + '200': + content: + application/json: + examples: + default: + value: + data: + - attributes: + category: SECURITY + checksum: abc123 + content: Content + created_at: '2024-01-01T00:00:00+00:00' + created_by: example-handle + cwe: null + description: Ruleset description + directories: [] + execution_mode: auto + globs: + - '**/*.py' + is_default: false + is_published: false + is_testing: false + severity: ERROR + short_description: Ruleset short description + version_id: 1 + id: revision-abc-123 + type: ai_rule_revision + schema: + $ref: '#/components/schemas/AiCustomRuleRevisionsResponse' + description: Successful response + '400': + content: + application/json: + schema: + $ref: '#/components/schemas/JSONAPIErrorResponse' + description: Bad Request + '401': + content: + application/json: + schema: + $ref: '#/components/schemas/JSONAPIErrorResponse' + description: Unauthorized + '404': + content: + application/json: + schema: + $ref: '#/components/schemas/JSONAPIErrorResponse' + description: Rule not found + '429': + $ref: '#/components/responses/TooManyRequestsResponse' + '500': + content: + application/json: + schema: + $ref: '#/components/schemas/JSONAPIErrorResponse' + description: Internal Server Error + summary: List AI custom rule revisions + tags: + - Static Analysis + x-pagination: + limitParam: page[limit] + pageOffsetParam: page[offset] + resultsPath: data + x-unstable: |- + **Note**: This endpoint is in preview and is subject to change. + If you have any feedback, contact [Datadog support](https://docs.datadoghq.com/help/). + post: + description: Create a new revision for an AI custom rule. + operationId: CreateAiCustomRuleRevision + parameters: + - description: The ruleset name. + in: path + name: ruleset_name + required: true + schema: + example: my-ai-ruleset + type: string + - description: The rule name. + in: path + name: rule_name + required: true + schema: + example: my-ai-rule + type: string + requestBody: + content: + application/json: + examples: + default: + value: + data: + attributes: + category: SECURITY + content: Content + description: Ruleset description + directories: [] + execution_mode: auto + globs: + - '**/*.py' + is_published: false + is_testing: false + severity: ERROR + short_description: Ruleset short description + version_id: 1 + id: revision-abc-123 + type: ai_rule_revision + schema: + $ref: '#/components/schemas/AiCustomRuleRevisionRequest' + required: true + responses: + '200': + description: Successfully created + '400': + content: + application/json: + schema: + $ref: '#/components/schemas/JSONAPIErrorResponse' + description: Bad Request + '401': + content: + application/json: + schema: + $ref: '#/components/schemas/JSONAPIErrorResponse' + description: Unauthorized + '404': + content: + application/json: + schema: + $ref: '#/components/schemas/JSONAPIErrorResponse' + description: Rule not found + '429': + $ref: '#/components/responses/TooManyRequestsResponse' + '500': + content: + application/json: + schema: + $ref: '#/components/schemas/JSONAPIErrorResponse' + description: Internal Server Error + summary: Create an AI custom rule revision + tags: + - Static Analysis + x-unstable: |- + **Note**: This endpoint is in preview and is subject to change. + If you have any feedback, contact [Datadog support](https://docs.datadoghq.com/help/). + /api/v2/static-analysis/ai/rulesets/{ruleset_name}/rules/{rule_name}/revisions/{id}: + get: + description: Get a specific revision of an AI custom rule. + operationId: GetAiCustomRuleRevision + parameters: + - description: The ruleset name. + in: path + name: ruleset_name + required: true + schema: + example: my-ai-ruleset + type: string + - description: The rule name. + in: path + name: rule_name + required: true + schema: + example: my-ai-rule + type: string + - description: The revision identifier. + in: path + name: id + required: true + schema: + example: revision-abc-123 + type: string + responses: + '200': + content: + application/json: + examples: + default: + value: + data: + attributes: + category: SECURITY + checksum: abc123 + content: Content + created_at: '2024-01-01T00:00:00+00:00' + created_by: example-handle + cwe: null + description: Ruleset description + directories: [] + execution_mode: auto + globs: + - '**/*.py' + is_default: false + is_published: false + is_testing: false + severity: ERROR + short_description: Ruleset short description + version_id: 1 + id: revision-abc-123 + type: ai_rule_revision + schema: + $ref: '#/components/schemas/AiCustomRuleRevisionResponse' + description: Successful response + '400': + content: + application/json: + schema: + $ref: '#/components/schemas/JSONAPIErrorResponse' + description: Bad Request + '401': + content: + application/json: + schema: + $ref: '#/components/schemas/JSONAPIErrorResponse' + description: Unauthorized + '404': + content: + application/json: + schema: + $ref: '#/components/schemas/JSONAPIErrorResponse' + description: Revision not found + '429': + $ref: '#/components/responses/TooManyRequestsResponse' + '500': + content: + application/json: + schema: + $ref: '#/components/schemas/JSONAPIErrorResponse' + description: Internal Server Error + summary: Get an AI custom rule revision + tags: + - Static Analysis + x-unstable: |- + **Note**: This endpoint is in preview and is subject to change. + If you have any feedback, contact [Datadog support](https://docs.datadoghq.com/help/). + /api/v2/static-analysis/codegen/rulesets: + get: + description: Get the rulesets relevant for code generation for the authenticated user. + operationId: ListStaticAnalysisCodegenRulesets + responses: + '200': + content: + application/json: + examples: + default: + value: + data: [] + schema: + $ref: '#/components/schemas/SastRulesetsResponse' + description: OK + '400': + content: + application/json: + schema: + $ref: '#/components/schemas/JSONAPIErrorResponse' + description: Bad Request + '401': + content: + application/json: + schema: + $ref: '#/components/schemas/JSONAPIErrorResponse' + description: Unauthorized + '429': + $ref: '#/components/responses/TooManyRequestsResponse' + security: + - apiKeyAuth: [] + appKeyAuth: [] + - AuthZ: + - code_analysis_read + summary: List codegen rulesets + tags: + - Security Monitoring + x-unstable: |- + **Note**: This endpoint is in preview and is subject to change. + If you have any feedback, contact [Datadog support](https://docs.datadoghq.com/help/). + /api/v2/static-analysis/custom/rulesets: + get: + description: Get all custom rulesets for the authenticated organization. + operationId: ListCustomRulesets + responses: + '200': + content: + application/json: + examples: + default: + value: + data: [] + schema: + $ref: '#/components/schemas/CustomRulesetListResponse' + description: OK + '401': + content: + application/json: + schema: + $ref: '#/components/schemas/JSONAPIErrorResponse' + description: Unauthorized + '429': + $ref: '#/components/responses/TooManyRequestsResponse' + security: + - apiKeyAuth: [] + appKeyAuth: [] + - AuthZ: + - code_analysis_read + summary: List Custom Rulesets + tags: + - Static Analysis + x-unstable: |- + **Note**: This endpoint is in preview and is subject to change. + If you have any feedback, contact [Datadog support](https://docs.datadoghq.com/help/). + put: + description: Create a new custom ruleset for the authenticated organization. + operationId: CreateCustomRuleset + requestBody: + content: + application/json: + examples: + default: + value: + data: + attributes: + description: My custom ruleset. + name: my-custom-ruleset + type: custom_ruleset + schema: + $ref: '#/components/schemas/CustomRulesetRequest' + required: true + responses: + '200': + content: + application/json: + examples: + default: + value: + data: + attributes: + name: my-custom-ruleset + id: my-custom-ruleset + type: custom_ruleset + schema: + $ref: '#/components/schemas/CustomRulesetResponse' + description: OK + '400': + content: + application/json: + schema: + $ref: '#/components/schemas/JSONAPIErrorResponse' + description: Bad Request + '401': + content: + application/json: + schema: + $ref: '#/components/schemas/JSONAPIErrorResponse' + description: Unauthorized + '409': + content: + application/json: + schema: + $ref: '#/components/schemas/JSONAPIErrorResponse' + description: Conflict + '412': + content: + application/json: + schema: + $ref: '#/components/schemas/JSONAPIErrorResponse' + description: Precondition Failed + '429': + $ref: '#/components/responses/TooManyRequestsResponse' + security: + - apiKeyAuth: [] + appKeyAuth: [] + - AuthZ: + - code_analysis_read + summary: Create Custom Ruleset + tags: + - Static Analysis + x-unstable: |- + **Note**: This endpoint is in preview and is subject to change. + If you have any feedback, contact [Datadog support](https://docs.datadoghq.com/help/). + /api/v2/static-analysis/custom/rulesets/{ruleset_name}: + delete: + description: Delete a custom ruleset + operationId: DeleteCustomRuleset + parameters: + - description: The ruleset name + in: path + name: ruleset_name + required: true + schema: + type: string + responses: + '200': + description: Successfully deleted + '400': + content: + application/json: + schema: + $ref: '#/components/schemas/JSONAPIErrorResponse' + description: Bad request + '401': + content: + application/json: + schema: + $ref: '#/components/schemas/JSONAPIErrorResponse' + description: Unauthorized - custom rules not enabled + '404': + content: + application/json: + schema: + $ref: '#/components/schemas/JSONAPIErrorResponse' + description: Ruleset not found + '429': + $ref: '#/components/responses/TooManyRequestsResponse' + summary: Delete Custom Ruleset + tags: + - Static Analysis + x-unstable: |- + This endpoint is in Preview and may introduce breaking changes. + If you have any feedback, contact [Datadog support](https://docs.datadoghq.com/help/). + get: + description: Get a custom ruleset by name + operationId: GetCustomRuleset + parameters: + - description: The ruleset name + in: path + name: ruleset_name + required: true + schema: + type: string + responses: + '200': + content: + application/json: + examples: + default: + value: + data: + attributes: + created_at: '2024-01-01T00:00:00+00:00' + created_by: example-handle + description: Example ruleset description + name: my-ruleset + rules: [] + short_description: Short description + id: my-ruleset + type: custom_ruleset + schema: + $ref: '#/components/schemas/CustomRulesetResponse' + description: Successful response + '400': + content: + application/json: + schema: + $ref: '#/components/schemas/JSONAPIErrorResponse' + description: Bad request + '401': + content: + application/json: + schema: + $ref: '#/components/schemas/JSONAPIErrorResponse' + description: Unauthorized - custom rules not enabled + '404': + content: + application/json: + schema: + $ref: '#/components/schemas/JSONAPIErrorResponse' + description: Ruleset not found + '429': + $ref: '#/components/responses/TooManyRequestsResponse' + summary: Show Custom Ruleset + tags: + - Static Analysis + x-unstable: |- + This endpoint is in Preview and may introduce breaking changes. + If you have any feedback, contact [Datadog support](https://docs.datadoghq.com/help/). + patch: + description: Update an existing custom ruleset + operationId: UpdateCustomRuleset + parameters: + - description: The ruleset name + in: path + name: ruleset_name + required: true + schema: + type: string + requestBody: + content: + application/json: + examples: + default: + value: + data: + attributes: + rules: + - created_at: '2026-01-09T13:00:57.473141Z' + created_by: foobarbaz + last_revision: + id: revision-123 + name: my-rule + type: custom_ruleset + schema: + $ref: '#/components/schemas/CustomRulesetRequest' + required: true + responses: + '200': + content: + application/json: + examples: + default: + value: + data: + attributes: + created_at: '2024-01-01T00:00:00+00:00' + created_by: example-handle + description: Example ruleset description + name: my-ruleset + rules: [] + short_description: Short description + id: my-ruleset + type: custom_ruleset + schema: + $ref: '#/components/schemas/CustomRulesetResponse' + description: Successfully updated + '400': + content: + application/json: + schema: + $ref: '#/components/schemas/JSONAPIErrorResponse' + description: Bad request + '401': + content: + application/json: + schema: + $ref: '#/components/schemas/JSONAPIErrorResponse' + description: Unauthorized - custom rules not enabled + '412': + content: + application/json: + schema: + $ref: '#/components/schemas/JSONAPIErrorResponse' + description: Precondition failed - validation error or ruleset not found + '429': + $ref: '#/components/responses/TooManyRequestsResponse' + summary: Update Custom Ruleset + tags: + - Static Analysis + x-unstable: |- + This endpoint is in Preview and may introduce breaking changes. + If you have any feedback, contact [Datadog support](https://docs.datadoghq.com/help/). + /api/v2/static-analysis/custom/rulesets/{ruleset_name}/rules: + put: + description: Create a new custom rule within a ruleset + operationId: CreateCustomRule + parameters: + - description: The ruleset name + in: path + name: ruleset_name + required: true + schema: + type: string + requestBody: + content: + application/json: + examples: + default: + value: + data: + type: custom_rule + schema: + $ref: '#/components/schemas/CustomRuleRequest' + required: true + responses: + '200': + content: + application/json: + examples: + default: + value: + data: + attributes: + created_at: '2024-01-01T00:00:00+00:00' + created_by: example-handle + last_revision: + attributes: {} + id: revision-abc-123 + type: custom_rule_revision + name: my-rule + id: my-rule + type: custom_rule + schema: + $ref: '#/components/schemas/CustomRuleResponse' + description: Successfully created + '400': + content: + application/json: + schema: + $ref: '#/components/schemas/JSONAPIErrorResponse' + description: Bad request + '401': + content: + application/json: + schema: + $ref: '#/components/schemas/JSONAPIErrorResponse' + description: Unauthorized - custom rules not enabled + '409': + content: + application/json: + schema: + $ref: '#/components/schemas/JSONAPIErrorResponse' + description: Conflict - rule already exists + '412': + content: + application/json: + schema: + $ref: '#/components/schemas/JSONAPIErrorResponse' + description: Precondition failed - validation error or ruleset not found + '429': + $ref: '#/components/responses/TooManyRequestsResponse' + summary: Create Custom Rule + tags: + - Static Analysis + x-unstable: |- + This endpoint is in Preview and may introduce breaking changes. + If you have any feedback, contact [Datadog support](https://docs.datadoghq.com/help/). + /api/v2/static-analysis/custom/rulesets/{ruleset_name}/rules/{rule_name}: + delete: + description: Delete a custom rule + operationId: DeleteCustomRule + parameters: + - description: The ruleset name + in: path + name: ruleset_name + required: true + schema: + type: string + - description: The rule name + in: path + name: rule_name + required: true + schema: + type: string + responses: + '200': + description: Successfully deleted + '400': + content: + application/json: + schema: + $ref: '#/components/schemas/JSONAPIErrorResponse' + description: Bad request + '401': + content: + application/json: + schema: + $ref: '#/components/schemas/JSONAPIErrorResponse' + description: Unauthorized - custom rules not enabled + '404': + content: + application/json: + schema: + $ref: '#/components/schemas/JSONAPIErrorResponse' + description: Rule not found + '429': + $ref: '#/components/responses/TooManyRequestsResponse' + summary: Delete Custom Rule + tags: + - Static Analysis + x-unstable: |- + This endpoint is in Preview and may introduce breaking changes. + If you have any feedback, contact [Datadog support](https://docs.datadoghq.com/help/). + get: + description: Get a custom rule by name + operationId: GetCustomRule + parameters: + - description: The ruleset name + in: path + name: ruleset_name + required: true + schema: + type: string + - description: The rule name + in: path + name: rule_name + required: true + schema: + type: string + responses: + '200': + content: + application/json: + examples: + default: + value: + data: + attributes: + created_at: '2024-01-01T00:00:00+00:00' + created_by: example-handle + last_revision: + attributes: {} + id: revision-abc-123 + type: custom_rule_revision + name: my-rule + id: my-rule + type: custom_rule + schema: + $ref: '#/components/schemas/CustomRuleResponse' + description: Successful response + '400': + content: + application/json: + schema: + $ref: '#/components/schemas/JSONAPIErrorResponse' + description: Bad request + '401': + content: + application/json: + schema: + $ref: '#/components/schemas/JSONAPIErrorResponse' + description: Unauthorized - custom rules not enabled + '404': + content: + application/json: + schema: + $ref: '#/components/schemas/JSONAPIErrorResponse' + description: Rule not found + '429': + $ref: '#/components/responses/TooManyRequestsResponse' + summary: Show Custom Rule + tags: + - Static Analysis + x-unstable: |- + This endpoint is in Preview and may introduce breaking changes. + If you have any feedback, contact [Datadog support](https://docs.datadoghq.com/help/). + /api/v2/static-analysis/custom/rulesets/{ruleset_name}/rules/{rule_name}/revisions: + get: + description: Get all revisions for a custom rule + operationId: ListCustomRuleRevisions + parameters: + - description: The ruleset name + in: path + name: ruleset_name + required: true + schema: + type: string + - description: The rule name + in: path + name: rule_name + required: true + schema: + type: string + - description: Pagination offset + in: query + name: page[offset] + required: false + schema: + default: 0 + format: int64 + type: integer + - description: Pagination limit + in: query + name: page[limit] + required: false + schema: + default: 10 + format: int64 + type: integer + responses: + '200': + content: + application/json: + examples: + default: + value: + data: + - attributes: + arguments: [] + category: SECURITY + checksum: 8a66c4e4e631099ad71be3c1ea3ea8fc2d57193e56db2c296e2dd8a508b26b99 + code: Y29uZHVjdG9yOgogICAgLSBkZXBsb3lfb25seTogdHJ1ZQ== + created_at: '2024-01-01T00:00:00+00:00' + created_by: example-handle + creation_message: Initial revision + cve: null + cwe: null + description: Example ruleset description + documentation_url: null + is_published: false + is_testing: false + language: PYTHON + severity: ERROR + short_description: Short description + should_use_ai_fix: false + tags: [] + tests: [] + tree_sitter_query: Y29uZHVjdG9yOgogICAgLSBkZXBsb3lfb25seTogdHJ1ZQ== + id: revision-123 + type: custom_rule_revision + schema: + $ref: '#/components/schemas/CustomRuleRevisionsResponse' + description: Successful response + '400': + content: + application/json: + schema: + $ref: '#/components/schemas/JSONAPIErrorResponse' + description: Bad request + '401': + content: + application/json: + schema: + $ref: '#/components/schemas/JSONAPIErrorResponse' + description: Unauthorized - custom rules not enabled + '404': + content: + application/json: + schema: + $ref: '#/components/schemas/JSONAPIErrorResponse' + description: Rule not found + '429': + content: + application/json: + schema: + $ref: '#/components/schemas/JSONAPIErrorResponse' + description: Too many requests + summary: List Custom Rule Revisions + tags: + - Static Analysis + x-pagination: + limitParam: page[limit] + pageOffsetParam: page[offset] + resultsPath: data + x-unstable: |- + This endpoint is in Preview and may introduce breaking changes. + If you have any feedback, contact [Datadog support](https://docs.datadoghq.com/help/). + put: + description: Create a new revision for a custom rule + operationId: CreateCustomRuleRevision + parameters: + - description: The ruleset name + in: path + name: ruleset_name + required: true + schema: + type: string + - description: The rule name + in: path + name: rule_name + required: true + schema: + type: string + requestBody: + content: + application/json: + examples: + default: + value: + data: + attributes: + arguments: + - description: Maximum call depth to analyze + name: max_depth + category: SECURITY + code: 'def rule(node): return node.type == ''call''' + creation_message: Initial revision + cve: CVE-2024-1234 + cwe: CWE-79 + description: Detects insecure coding patterns that may lead to vulnerabilities + documentation_url: https://docs.example.com/rules/my-rule + is_published: false + is_testing: false + language: PYTHON + severity: ERROR + short_description: Rule to detect insecure patterns + should_use_ai_fix: false + tags: + - security + - custom + tests: + - annotation_count: 1 + code: result = insecure_function() + filename: test.yaml + tree_sitter_query: (call_expression) @call + type: custom_rule_revision + schema: + $ref: '#/components/schemas/CustomRuleRevisionRequest' + required: true + responses: + '200': + description: Successfully created + '400': + content: + application/json: + schema: + $ref: '#/components/schemas/JSONAPIErrorResponse' + description: Bad request + '401': + content: + application/json: + schema: + $ref: '#/components/schemas/JSONAPIErrorResponse' + description: Unauthorized - custom rules not enabled + '404': + content: + application/json: + schema: + $ref: '#/components/schemas/JSONAPIErrorResponse' + description: Rule not found + '429': + $ref: '#/components/responses/TooManyRequestsResponse' + summary: Create Custom Rule Revision + tags: + - Static Analysis + x-unstable: |- + This endpoint is in Preview and may introduce breaking changes. + If you have any feedback, contact [Datadog support](https://docs.datadoghq.com/help/). + /api/v2/static-analysis/custom/rulesets/{ruleset_name}/rules/{rule_name}/revisions/revert: + post: + description: Revert a custom rule to a previous revision + operationId: RevertCustomRuleRevision + parameters: + - description: The ruleset name + in: path + name: ruleset_name + required: true + schema: + type: string + - description: The rule name + in: path + name: rule_name + required: true + schema: + type: string + requestBody: + content: + application/json: + examples: + default: + value: + data: + type: revert_custom_rule_revision_request + schema: + $ref: '#/components/schemas/RevertCustomRuleRevisionRequest' + required: true + responses: + '200': + description: Successfully reverted + '400': + content: + application/json: + schema: + $ref: '#/components/schemas/JSONAPIErrorResponse' + description: Bad request + '401': + content: + application/json: + schema: + $ref: '#/components/schemas/JSONAPIErrorResponse' + description: Unauthorized - custom rules not enabled + '429': + $ref: '#/components/responses/TooManyRequestsResponse' + summary: Revert Custom Rule Revision + tags: + - Static Analysis + x-unstable: |- + This endpoint is in Preview and may introduce breaking changes. + If you have any feedback, contact [Datadog support](https://docs.datadoghq.com/help/). + /api/v2/static-analysis/custom/rulesets/{ruleset_name}/rules/{rule_name}/revisions/{id}: + get: + description: Get a specific revision of a custom rule + operationId: GetCustomRuleRevision + parameters: + - description: The ruleset name + in: path + name: ruleset_name + required: true + schema: + type: string + - description: The rule name + in: path + name: rule_name + required: true + schema: + type: string + - description: The revision ID + in: path + name: id + required: true + schema: + type: string + responses: + '200': + content: + application/json: + examples: + default: + value: + data: + attributes: + arguments: [] + category: SECURITY + checksum: 8a66c4e4e631099ad71be3c1ea3ea8fc2d57193e56db2c296e2dd8a508b26b99 + code: Y29uZHVjdG9yOgogICAgLSBkZXBsb3lfb25seTogdHJ1ZQ== + created_at: '2024-01-01T00:00:00+00:00' + created_by: example-handle + creation_message: Initial revision + cve: null + cwe: null + description: Example ruleset description + documentation_url: null + is_published: false + is_testing: false + language: PYTHON + severity: ERROR + short_description: Short description + should_use_ai_fix: false + tags: [] + tests: [] + tree_sitter_query: Y29uZHVjdG9yOgogICAgLSBkZXBsb3lfb25seTogdHJ1ZQ== + id: revision-123 + type: custom_rule_revision + schema: + $ref: '#/components/schemas/CustomRuleRevisionResponse' + description: Successful response + '400': + content: + application/json: + schema: + $ref: '#/components/schemas/JSONAPIErrorResponse' + description: Bad request + '401': + content: + application/json: + schema: + $ref: '#/components/schemas/JSONAPIErrorResponse' + description: Unauthorized - custom rules not enabled + '404': + content: + application/json: + schema: + $ref: '#/components/schemas/JSONAPIErrorResponse' + description: Revision not found + '429': + $ref: '#/components/responses/TooManyRequestsResponse' + summary: Show Custom Rule Revision + tags: + - Static Analysis + x-unstable: |- + This endpoint is in Preview and may introduce breaking changes. + If you have any feedback, contact [Datadog support](https://docs.datadoghq.com/help/). + /api/v2/static-analysis/default-rulesets/{language}: + get: + description: Get the default SAST ruleset names for a given programming language. + operationId: GetStaticAnalysisDefaultRulesets + parameters: + - description: The programming language for which to retrieve the default rulesets. + in: path + name: language + required: true + schema: + example: python + type: string + responses: + '200': + content: + application/json: + examples: + default: + value: + data: + attributes: + rulesets: + - python-best-practices + id: python + type: defaultRulesetsPerLanguage + schema: + $ref: '#/components/schemas/DefaultRulesetsPerLanguageResponse' + description: OK + '400': + content: + application/json: + schema: + $ref: '#/components/schemas/JSONAPIErrorResponse' + description: Bad Request + '429': + $ref: '#/components/responses/TooManyRequestsResponse' + security: + - apiKeyAuth: [] + appKeyAuth: [] + - AuthZ: + - code_analysis_read + summary: Get default rulesets for a language + tags: + - Security Monitoring + x-unstable: |- + **Note**: This endpoint is in preview and is subject to change. + If you have any feedback, contact [Datadog support](https://docs.datadoghq.com/help/). + /api/v2/static-analysis/rulesets: + post: + description: Get rules for multiple rulesets in batch. + operationId: ListMultipleRulesets + requestBody: + content: + application/json: + examples: + default: + value: + data: + type: get_multiple_rulesets_request + schema: + $ref: '#/components/schemas/GetMultipleRulesetsRequest' + required: true + responses: + '200': + content: + application/json: + examples: + default: + value: + data: + attributes: + rulesets: [] + id: abc-123 + type: get_multiple_rulesets_response + schema: + $ref: '#/components/schemas/GetMultipleRulesetsResponse' + description: OK + '429': + $ref: '#/components/responses/TooManyRequestsResponse' + security: + - apiKeyAuth: [] + appKeyAuth: [] + - AuthZ: + - code_analysis_read + summary: Ruleset get multiple + tags: + - Security Monitoring + x-unstable: '**Note**: This endpoint may be subject to changes.' + /api/v2/static-analysis/rulesets/{ruleset_name}: + get: + description: Get a SAST ruleset by name, including all its rules. + operationId: GetStaticAnalysisRuleset + parameters: + - description: The name of the ruleset to retrieve. + in: path + name: ruleset_name + required: true + schema: + example: python-best-practices + type: string + - description: When true, test cases for each rule are included in the response. + in: query + name: include_tests + required: false + schema: + type: boolean + - description: When true, rules that are in testing mode are included in the response. + in: query + name: include_testing_rules + required: false + schema: + type: boolean + responses: + '200': + content: + application/json: + examples: + default: + value: + data: + attributes: + description: A collection of Python best practice rules. + name: python-best-practices + rules: [] + short_description: Python best practices. + id: python-best-practices + type: rulesets + schema: + $ref: '#/components/schemas/SastRulesetResponse' + description: OK + '400': + content: + application/json: + schema: + $ref: '#/components/schemas/JSONAPIErrorResponse' + description: Bad Request + '404': + content: + application/json: + schema: + $ref: '#/components/schemas/JSONAPIErrorResponse' + description: Not Found + '429': + $ref: '#/components/responses/TooManyRequestsResponse' + security: + - apiKeyAuth: [] + appKeyAuth: [] + - AuthZ: + - code_analysis_read + summary: Get a SAST ruleset + tags: + - Security Monitoring + x-unstable: |- + **Note**: This endpoint is in preview and is subject to change. + If you have any feedback, contact [Datadog support](https://docs.datadoghq.com/help/). + /api/v2/static-analysis/secrets/rules: + get: + description: Returns a list of Secrets rules with ID, Pattern, Description, Priority, and SDS ID. + operationId: GetSecretsRules + responses: + '200': + content: + application/json: + examples: + default: + value: + data: + - attributes: + description: Detects example secrets + name: Example Secret Rule + pattern: '[A-Za-z0-9]{32}' + priority: '1' + id: abc-123 + type: secret_rule + schema: + $ref: '#/components/schemas/SecretRuleArray' + description: OK + '429': + $ref: '#/components/responses/TooManyRequestsResponse' + security: + - apiKeyAuth: [] + appKeyAuth: [] + - AuthZ: + - code_analysis_read + summary: Returns a list of Secrets rules + tags: + - Security Monitoring + x-unstable: '**Note**: This endpoint may be subject to changes.' + /api/v2/static-analysis/static-analysis-server/analyze: + post: + description: Run static analysis rules against a source code file and return violations found. + operationId: CreateStaticAnalysisServerAnalysis + requestBody: + content: + application/json: + examples: + default: + value: + data: + attributes: + code: aW1wb3J0IHN5cw== + file_encoding: utf-8 + filename: test.py + language: python + rules: [] + type: analysis_request + schema: + $ref: '#/components/schemas/AnalysisRequest' + required: true + responses: + '200': + content: + application/json: + examples: + default: + value: + data: + attributes: + errors: [] + rule_responses: [] + id: abc-123 + type: server_request + schema: + $ref: '#/components/schemas/AnalysisResponse' + description: OK + '400': + content: + application/json: + schema: + $ref: '#/components/schemas/JSONAPIErrorResponse' + description: Bad Request + '401': + content: + application/json: + schema: + $ref: '#/components/schemas/JSONAPIErrorResponse' + description: Unauthorized + '429': + $ref: '#/components/responses/TooManyRequestsResponse' + security: + - apiKeyAuth: [] + appKeyAuth: [] + - AuthZ: + - code_analysis_read + summary: Analyze code + tags: + - Security Monitoring + x-unstable: |- + **Note**: This endpoint is in preview and is subject to change. + If you have any feedback, contact [Datadog support](https://docs.datadoghq.com/help/). + /api/v2/static-analysis/static-analysis-server/get-ast: + post: + description: Parse source code into an abstract syntax tree (AST) for the specified language. + operationId: CreateStaticAnalysisAst + requestBody: + content: + application/json: + examples: + default: + value: + data: + attributes: + code: aW1wb3J0IHN5cw== + file_encoding: utf-8 + language: python + type: get_ast_request + schema: + $ref: '#/components/schemas/GetAstRequest' + required: true + responses: + '200': + content: + application/json: + examples: + default: + value: + data: + attributes: + ast: {} + type: get_ast_response + schema: + $ref: '#/components/schemas/GetAstResponse' + description: OK + '400': + content: + application/json: + schema: + $ref: '#/components/schemas/JSONAPIErrorResponse' + description: Bad Request + '401': + content: + application/json: + schema: + $ref: '#/components/schemas/JSONAPIErrorResponse' + description: Unauthorized + '429': + $ref: '#/components/responses/TooManyRequestsResponse' + security: + - apiKeyAuth: [] + appKeyAuth: [] + - AuthZ: + - code_analysis_read + summary: Get AST for source code + tags: + - Security Monitoring + x-unstable: |- + **Note**: This endpoint is in preview and is subject to change. + If you have any feedback, contact [Datadog support](https://docs.datadoghq.com/help/). + /api/v2/static-analysis/static-analysis-server/node-types/{language}: + get: + description: Retrieve tree-sitter node type definitions for a given programming language. + operationId: GetStaticAnalysisNodeTypes + parameters: + - description: The programming language for which to retrieve node type definitions. + in: path + name: language + required: true + schema: + example: python + type: string + responses: + '200': + content: + application/json: + examples: + default: + value: + data: + attributes: + node_types: [] + id: python + type: get_node_types_response + schema: + $ref: '#/components/schemas/NodeTypesResponse' + description: OK + '400': + content: + application/json: + schema: + $ref: '#/components/schemas/JSONAPIErrorResponse' + description: Bad Request + '401': + content: + application/json: + schema: + $ref: '#/components/schemas/JSONAPIErrorResponse' + description: Unauthorized + '429': + $ref: '#/components/responses/TooManyRequestsResponse' + security: + - apiKeyAuth: [] + appKeyAuth: [] + - AuthZ: + - code_analysis_read + summary: Get node types for a language + tags: + - Security Monitoring + x-unstable: |- + **Note**: This endpoint is in preview and is subject to change. + If you have any feedback, contact [Datadog support](https://docs.datadoghq.com/help/). + /api/v2/static-analysis/static-analysis-server/tree-sitter-wasm/{file}: + get: + description: Download the WebAssembly binary for a tree-sitter grammar by file name. + operationId: GetStaticAnalysisTreeSitterWasm + parameters: + - description: The name of the WASM file to download. + in: path + name: file + required: true + schema: + example: tree-sitter-python.wasm + type: string + responses: + '200': + content: + application/octet-stream: + examples: + default: + value: '' + schema: + format: binary + type: string + description: BLOB with the content of the WASM file + '400': + content: + application/json: + schema: + $ref: '#/components/schemas/JSONAPIErrorResponse' + description: Bad Request + '401': + content: + application/json: + schema: + $ref: '#/components/schemas/JSONAPIErrorResponse' + description: Unauthorized + '429': + $ref: '#/components/responses/TooManyRequestsResponse' + security: + - apiKeyAuth: [] + appKeyAuth: [] + - AuthZ: + - code_analysis_read + summary: Get tree-sitter WASM file + tags: + - Security Monitoring + x-unstable: |- + **Note**: This endpoint is in preview and is subject to change. + If you have any feedback, contact [Datadog support](https://docs.datadoghq.com/help/). + /api/v1/security_analytics/signals/{signal_id}/add_to_incident: + patch: + description: Add a security signal to an incident. This makes it possible to search for signals by incident within the signal explorer and to view the signals on the incident timeline. + operationId: AddSecurityMonitoringSignalToIncident + parameters: + - $ref: '#/components/parameters/SignalID' + requestBody: + content: + application/json: + examples: + default: + value: + incident_id: 2066 + version: 0 + schema: + $ref: '#/components/schemas/AddSignalToIncidentRequest' + description: Attributes describing the signal update. + required: true + responses: + '200': + content: + application/json: + examples: + default: + value: + status: updated + schema: + $ref: '#/components/schemas/SuccessfulSignalUpdateResponse' + description: OK + '400': + content: + application/json: + schema: + $ref: '#/components/schemas/APIErrorResponseV1' + description: Bad Request + '403': + content: + application/json: + schema: + $ref: '#/components/schemas/APIErrorResponseV1' + description: Forbidden + '404': + content: + application/json: + schema: + $ref: '#/components/schemas/APIErrorResponseV1' + description: Not Found + '429': + $ref: '#/components/responses/TooManyRequestsResponse' + summary: Add a security signal to an incident + tags: + - Security Monitoring + x-codegen-request-body-name: body + x-permission: + operator: OR + permissions: + - security_monitoring_signals_write + /api/v1/security_analytics/signals/{signal_id}/assignee: + patch: + deprecated: true + description: This endpoint is deprecated - Modify the triage assignee of a security signal. + operationId: EditSecurityMonitoringSignalAssigneeV1 + parameters: + - $ref: '#/components/parameters/SignalID' + requestBody: + content: + application/json: + examples: + default: + value: + assignee: 773b045d-ccf8-4808-bd3b-955ef6a8c940 + version: 0 + schema: + $ref: '#/components/schemas/SignalAssigneeUpdateRequest' + description: Attributes describing the signal update. + required: true + responses: + '200': + content: + application/json: + examples: + default: + value: + status: updated + schema: + $ref: '#/components/schemas/SuccessfulSignalUpdateResponse' + description: OK + '400': + content: + application/json: + schema: + $ref: '#/components/schemas/APIErrorResponseV1' + description: Bad Request + '403': + content: + application/json: + schema: + $ref: '#/components/schemas/APIErrorResponseV1' + description: Forbidden + '404': + content: + application/json: + schema: + $ref: '#/components/schemas/APIErrorResponseV1' + description: Not Found + '429': + $ref: '#/components/responses/TooManyRequestsResponse' + summary: Modify the triage assignee of a security signal + tags: + - Security Monitoring + x-codegen-request-body-name: body + x-permission: + operator: OR + permissions: + - security_monitoring_signals_write + /api/v1/security_analytics/signals/{signal_id}/state: + patch: + deprecated: true + description: This endpoint is deprecated - Change the triage state of a security signal. + operationId: EditSecurityMonitoringSignalStateV1 + parameters: + - $ref: '#/components/parameters/SignalID' + requestBody: + content: + application/json: + examples: + default: + value: + archiveReason: none + state: open + version: 0 + schema: + $ref: '#/components/schemas/SignalStateUpdateRequest' + description: Attributes describing the signal update. + required: true + responses: + '200': + content: + application/json: + examples: + default: + value: + status: updated + schema: + $ref: '#/components/schemas/SuccessfulSignalUpdateResponse' + description: OK + '400': + content: + application/json: + schema: + $ref: '#/components/schemas/APIErrorResponseV1' + description: Bad Request + '403': + content: + application/json: + schema: + $ref: '#/components/schemas/APIErrorResponseV1' + description: Forbidden + '404': + content: + application/json: + schema: + $ref: '#/components/schemas/APIErrorResponseV1' + description: Not Found + '429': + $ref: '#/components/responses/TooManyRequestsResponse' + summary: Change the triage state of a security signal + tags: + - Security Monitoring + x-codegen-request-body-name: body + x-permission: + operator: OR + permissions: + - security_monitoring_signals_write +components: + schemas: + AwsScanOptionsListResponse: + description: Response object that includes a list of AWS scan options. + properties: + data: + description: A list of AWS scan options. + items: + $ref: '#/components/schemas/AwsScanOptionsData' + type: array + type: object + AwsScanOptionsCreateRequest: + description: Request object that includes the scan options to create. + properties: + data: + $ref: '#/components/schemas/AwsScanOptionsCreateData' + required: + - data + type: object + AwsScanOptionsResponse: + description: Response object that includes the scan options of an AWS account. + properties: + data: + $ref: '#/components/schemas/AwsScanOptionsData' + type: object + AwsScanOptionsUpdateRequest: + description: Request object that includes the scan options to update. + properties: + data: + $ref: '#/components/schemas/AwsScanOptionsUpdateData' + required: + - data + type: object + AzureScanOptionsArray: + description: Response object containing a list of Azure scan options. + example: + data: + - attributes: + compliance_host: false + function: true + vuln_containers_os: true + vuln_host_os: true + id: 12345678-90ab-cdef-1234-567890abcdef + type: azure_scan_options + properties: + data: + description: A list of Azure scan options. + items: + $ref: '#/components/schemas/AzureScanOptionsData' + type: array + required: + - data + type: object + AzureScanOptions: + description: Response object containing Azure scan options for a single subscription. + example: + data: + attributes: + compliance_host: false + function: true + vuln_containers_os: true + vuln_host_os: true + id: 12345678-90ab-cdef-1234-567890abcdef + type: azure_scan_options + properties: + data: + $ref: '#/components/schemas/AzureScanOptionsData' + type: object + AzureScanOptionsInputUpdate: + description: Request object for updating Azure scan options. + example: + data: + id: 12345678-90ab-cdef-1234-567890abcdef + type: azure_scan_options + properties: + data: + $ref: '#/components/schemas/AzureScanOptionsInputUpdateData' + type: object + GcpScanOptionsArray: + description: Response object containing a list of GCP scan options. + example: + data: + - attributes: + cloud_function: true + compliance_host: false + vuln_containers_os: true + vuln_host_os: true + id: company-project-id + type: gcp_scan_options + properties: + data: + description: A list of GCP scan options. + items: + $ref: '#/components/schemas/GcpScanOptionsData' + type: array + required: + - data + type: object + GcpScanOptions: + description: Response object containing GCP scan options for a single project. + example: + data: + attributes: + cloud_function: true + compliance_host: false + vuln_containers_os: true + vuln_host_os: true + id: company-project-id + type: gcp_scan_options + properties: + data: + $ref: '#/components/schemas/GcpScanOptionsData' + type: object + GcpScanOptionsInputUpdate: + description: Request object for updating GCP scan options. + example: + data: + id: company-project-id + type: gcp_scan_options + properties: + data: + $ref: '#/components/schemas/GcpScanOptionsInputUpdateData' + type: object + AwsOnDemandListResponse: + description: Response object that includes a list of AWS on demand tasks. + properties: + data: + description: A list of on demand tasks. + items: + $ref: '#/components/schemas/AwsOnDemandData' + type: array + type: object + AwsOnDemandCreateRequest: + description: Request object that includes the on demand task to submit. + properties: + data: + $ref: '#/components/schemas/AwsOnDemandCreateData' + required: + - data + type: object + AwsOnDemandResponse: + description: Response object that includes an AWS on demand task. + properties: + data: + $ref: '#/components/schemas/AwsOnDemandData' + type: object + CreateCustomFrameworkRequest: + description: Request object to create a custom framework. + properties: + data: + $ref: '#/components/schemas/CustomFrameworkData' + required: + - data + type: object + CreateCustomFrameworkResponse: + description: Response object to create a custom framework. + properties: + data: + $ref: '#/components/schemas/FrameworkHandleAndVersionResponseData' + required: + - data + type: object + DeleteCustomFrameworkResponse: + description: Response object to delete a custom framework. + properties: + data: + $ref: '#/components/schemas/CustomFrameworkMetadata' + required: + - data + type: object + GetCustomFrameworkResponse: + description: Response object to get a custom framework. + properties: + data: + $ref: '#/components/schemas/FullCustomFrameworkData' + required: + - data + type: object + UpdateCustomFrameworkRequest: + description: Request object to update a custom framework. + properties: + data: + $ref: '#/components/schemas/CustomFrameworkData' + required: + - data + type: object + UpdateCustomFrameworkResponse: + description: Response object to update a custom framework. + properties: + data: + $ref: '#/components/schemas/FrameworkHandleAndVersionResponseData' + required: + - data + type: object + GetResourceEvaluationFiltersResponse: + description: The definition of `GetResourceEvaluationFiltersResponse` object. + properties: + data: + $ref: '#/components/schemas/GetResourceEvaluationFiltersResponseData' + required: + - data + type: object + UpdateResourceEvaluationFiltersRequest: + description: Request object to update a resource filter. + properties: + data: + $ref: '#/components/schemas/UpdateResourceEvaluationFiltersRequestData' + required: + - data + type: object + UpdateResourceEvaluationFiltersResponse: + description: The definition of `UpdateResourceEvaluationFiltersResponse` object. + properties: + data: + $ref: '#/components/schemas/UpdateResourceEvaluationFiltersResponseData' + required: + - data + type: object + RuleBasedViewResponse: + description: Response containing an aggregated view of compliance rules with their finding statistics. + properties: + data: + $ref: '#/components/schemas/RuleBasedViewData' + required: + - data + type: object + JSONAPIErrorResponse: + description: API error response. + properties: + errors: + description: A list of errors. + items: + $ref: '#/components/schemas/JSONAPIErrorItem' + type: array + required: + - errors + type: object + OrderDirection: + description: The sort direction for results. + enum: + - asc + - desc + example: asc + type: string + x-enum-varnames: + - ASC + - DESC + CsmAgentsResponse: + description: Response object that includes a list of CSM Agents. + properties: + data: + description: A list of Agents. + items: + $ref: '#/components/schemas/CsmAgentData' + type: array + meta: + $ref: '#/components/schemas/CSMAgentsMetadata' + type: object + CsmCloudAccountsCoverageAnalysisResponse: + description: CSM Cloud Accounts Coverage Analysis response. + properties: + data: + $ref: '#/components/schemas/CsmCloudAccountsCoverageAnalysisData' + type: object + CsmHostsAndContainersCoverageAnalysisResponse: + description: CSM Hosts and Containers Coverage Analysis response. + properties: + data: + $ref: '#/components/schemas/CsmHostsAndContainersCoverageAnalysisData' + type: object + CsmServerlessCoverageAnalysisResponse: + description: CSM Serverless Resources Coverage Analysis response. + properties: + data: + $ref: '#/components/schemas/CsmServerlessCoverageAnalysisData' + type: object + OwnershipSettingsResponse: + description: The response returned when retrieving or updating ownership settings. + properties: + data: + $ref: '#/components/schemas/OwnershipSettingsData' + required: + - data + type: object + OwnershipSettingsRequest: + description: The request body for updating ownership settings. + properties: + data: + $ref: '#/components/schemas/OwnershipSettingsRequestData' + required: + - data + type: object + OwnershipUntaggedFindingsResponse: + description: The response returned when counting findings without a team tag by ownership confidence. + properties: + data: + $ref: '#/components/schemas/OwnershipUntaggedFindingsData' + required: + - data + type: object + OwnershipInferenceListResponse: + description: The response returned when listing all current ownership inferences for a resource. + properties: + data: + $ref: '#/components/schemas/OwnershipInferenceListData' + required: + - data + type: object + OwnershipHistoryResponse: + description: The response returned when listing the inference history for a resource. + properties: + data: + $ref: '#/components/schemas/OwnershipHistoryData' + required: + - data + type: object + OwnershipOwnerType: + description: The owner type for an ownership inference. + enum: + - user + - team + - service + - unknown + example: team + type: string + x-enum-varnames: + - USER + - TEAM + - SERVICE + - UNKNOWN + OwnershipInferenceResponse: + description: The response returned when retrieving a single ownership inference for an owner type. + properties: + data: + $ref: '#/components/schemas/OwnershipInferenceData' + required: + - data + type: object + OwnershipEvidenceResponse: + description: The response returned when retrieving the evidence backing an ownership inference for an owner type. + properties: + data: + $ref: '#/components/schemas/OwnershipEvidenceData' + required: + - data + type: object + OwnershipFeedbackRequest: + description: The request body for submitting ownership feedback. + properties: + data: + $ref: '#/components/schemas/OwnershipFeedbackRequestData' + required: + - data + type: object + OwnershipFeedbackResponse: + description: The response returned after applying ownership feedback to an inference. + properties: + data: + $ref: '#/components/schemas/OwnershipFeedbackResultData' + required: + - data + type: object + CsmAgentlessHostsResponse: + description: The response returned when listing agentless hosts. + properties: + data: + $ref: '#/components/schemas/CsmAgentlessHostItems' + meta: + $ref: '#/components/schemas/CsmSettingsMeta' + required: + - data + - meta + type: object + CsmHostFacetInfoResponse: + description: The response returned when requesting value distribution for a specific facet. + properties: + data: + $ref: '#/components/schemas/CsmHostFacetInfoData' + required: + - data + type: object + CsmAgentlessHostFacetsResponse: + description: The response returned when listing facets for agentless hosts. + properties: + data: + $ref: '#/components/schemas/CsmAgentlessHostFacetItems' + required: + - data + type: object + CsmUnifiedHostsResponse: + description: The response returned when listing unified hosts. + properties: + data: + $ref: '#/components/schemas/CsmUnifiedHostItems' + meta: + $ref: '#/components/schemas/CsmUnifiedHostsMeta' + required: + - data + - meta + type: object + CsmUnifiedHostFacetsResponse: + description: The response returned when listing facets for unified hosts. + properties: + data: + $ref: '#/components/schemas/CsmUnifiedHostFacetItems' + required: + - data + type: object + FindingEvaluation: + description: The evaluation of the finding. + enum: + - pass + - fail + example: pass + type: string + x-enum-varnames: + - PASS + - FAIL + FindingStatus: + description: The status of the finding. + enum: + - critical + - high + - medium + - low + - info + example: critical + type: string + x-enum-varnames: + - CRITICAL + - HIGH + - MEDIUM + - LOW + - INFO + FindingVulnerabilityType: + description: The vulnerability type of the finding. + enum: - misconfiguration - attack_path - identity_risk @@ -4457,1886 +16983,10683 @@ components: example: misconfiguration type: string x-enum-varnames: - - MISCONFIGURATION - - ATTACK_PATH - - IDENTITY_RISK - - API_SECURITY - ListFindingsResponse: - description: The expected response schema when listing findings. + - MISCONFIGURATION + - ATTACK_PATH + - IDENTITY_RISK + - API_SECURITY + ListFindingsResponse: + description: The expected response schema when listing findings. + properties: + data: + $ref: '#/components/schemas/ListFindingsData' + example: + - attributes: + evaluation: fail + resource: arn:aws:s3:::my-bucket + resource_type: aws_s3_bucket + status: high + id: abc-123-xyz + type: finding + meta: + $ref: '#/components/schemas/ListFindingsMeta' + required: + - data + - meta + type: object + GetFindingResponse: + description: The expected response schema when getting a finding. + properties: + data: + $ref: '#/components/schemas/DetailedFinding' + required: + - data + type: object + SecurityEntityRiskScoresResponse: + description: Response containing a list of entity risk scores + properties: + data: + description: Array of entity risk score objects. + items: + $ref: '#/components/schemas/SecurityEntityRiskScore' + type: array + meta: + $ref: '#/components/schemas/SecurityEntityRiskScoresMeta' + required: + - data + - meta + type: object + SecurityEntityRiskScoreResponse: + description: Response containing a single entity risk score + properties: + data: + $ref: '#/components/schemas/SecurityEntityRiskScore' + required: + - data + type: object + ApplicationSecurityServicesResponse: + description: Response object containing the list of services matching the requested name. + properties: + data: + description: The list of services matching the requested name. + items: + $ref: '#/components/schemas/ApplicationSecurityServiceResource' + type: array + meta: + $ref: '#/components/schemas/ApplicationSecurityServicesMetadata' + required: + - data + - meta + type: object + SecurityFindingsSort: + default: '-@detection_changed_at' + description: The sort parameters when querying security findings. + enum: + - '@detection_changed_at' + - '-@detection_changed_at' + type: string + x-enum-varnames: + - DETECTION_CHANGED_AT_ASC + - DETECTION_CHANGED_AT_DESC + ListSecurityFindingsResponse: + description: The expected response schema when listing security findings. + properties: + data: + description: Array of security findings matching the search query. + items: + $ref: '#/components/schemas/SecurityFindingsData' + type: array + links: + $ref: '#/components/schemas/SecurityFindingsLinks' + meta: + $ref: '#/components/schemas/SecurityFindingsMeta' + type: object + AssigneeRequest: + description: Request to assign or unassign security findings. + properties: + data: + $ref: '#/components/schemas/AssigneeRequestData' + required: + - data + type: object + AssigneeResponse: + description: Response for the assign or unassign request. + properties: + data: + $ref: '#/components/schemas/AssigneeResponseData' + meta: + $ref: '#/components/schemas/AssigneeResponseMeta' + required: + - data + type: object + DueDateRulesResponse: + description: A list of due date rules with pagination metadata. + properties: + data: + $ref: '#/components/schemas/DueDateRulesDataList' + links: + $ref: '#/components/schemas/SecurityAutomationRulesLinks' + meta: + $ref: '#/components/schemas/SecurityAutomationRulesMeta' + required: + - data + - meta + - links + type: object + DueDateRuleCreateRequest: + description: The body of a due date rule create request. + properties: + data: + $ref: '#/components/schemas/DueDateRuleDataCreate' + required: + - data + type: object + DueDateRuleResponse: + description: A single due date rule response. + properties: + data: + $ref: '#/components/schemas/DueDateRuleDataResponse' + required: + - data + type: object + DueDateRuleReorderRequest: + description: The body of the due date rule reorder request. + properties: + data: + $ref: '#/components/schemas/DueDateRuleReorderData' + required: + - data + type: object + DueDateRuleUpdateRequest: + description: The body of a due date rule update request. + properties: + data: + $ref: '#/components/schemas/DueDateRuleDataCreate' + required: + - data + type: object + MuteRulesResponse: + description: A list of mute rules with pagination metadata. + properties: + data: + $ref: '#/components/schemas/MuteRulesDataList' + links: + $ref: '#/components/schemas/SecurityAutomationRulesLinks' + meta: + $ref: '#/components/schemas/SecurityAutomationRulesMeta' + required: + - data + - meta + - links + type: object + MuteRuleCreateRequest: + description: The body of a mute rule create request. + properties: + data: + $ref: '#/components/schemas/MuteRuleDataCreate' + required: + - data + type: object + MuteRuleResponse: + description: A single mute rule response. + properties: + data: + $ref: '#/components/schemas/MuteRuleDataResponse' + required: + - data + type: object + MuteRuleReorderRequest: + description: The body of the mute rule reorder request. + properties: + data: + $ref: '#/components/schemas/MuteRuleReorderData' + required: + - data + type: object + MuteRuleUpdateRequest: + description: The body of a mute rule update request. + properties: + data: + $ref: '#/components/schemas/MuteRuleDataCreate' + required: + - data + type: object + SeverityModifierRulesResponse: + description: A list of severity modifier rules with pagination metadata. + properties: + data: + $ref: '#/components/schemas/SeverityModifierRulesDataList' + links: + $ref: '#/components/schemas/SecurityAutomationRulesLinks' + meta: + $ref: '#/components/schemas/SecurityAutomationRulesMeta' + required: + - data + - meta + - links + type: object + SeverityModifierRuleCreateRequest: + description: The body of a severity modifier rule create request. + properties: + data: + $ref: '#/components/schemas/SeverityModifierRuleDataCreate' + required: + - data + type: object + SeverityModifierRuleResponse: + description: A single severity modifier rule response. + properties: + data: + $ref: '#/components/schemas/SeverityModifierRuleDataResponse' + required: + - data + type: object + SeverityModifierRuleReorderRequest: + description: The body of a severity modifier rule reorder request. + properties: + data: + $ref: '#/components/schemas/SeverityModifierRuleReorderData' + required: + - data + type: object + SeverityModifierRuleReorderResponse: + description: The response of a severity modifier rule reorder request. + properties: + data: + $ref: '#/components/schemas/SeverityModifierRuleReorderData' + required: + - data + type: object + SeverityModifierRuleUpdateRequest: + description: The body of a severity modifier rule update request. + properties: + data: + $ref: '#/components/schemas/SeverityModifierRuleDataCreate' + required: + - data + type: object + TicketCreationRulesResponse: + description: A list of ticket creation rules with pagination metadata. + properties: + data: + $ref: '#/components/schemas/TicketCreationRulesDataList' + links: + $ref: '#/components/schemas/SecurityAutomationRulesLinks' + meta: + $ref: '#/components/schemas/SecurityAutomationRulesMeta' + required: + - data + - meta + - links + type: object + TicketCreationRuleCreateRequest: + description: The body of a ticket creation rule create request. + properties: + data: + $ref: '#/components/schemas/TicketCreationRuleDataCreate' + required: + - data + type: object + TicketCreationRuleResponse: + description: A single ticket creation rule response. + properties: + data: + $ref: '#/components/schemas/TicketCreationRuleDataResponse' + required: + - data + type: object + TicketCreationRuleReorderRequest: + description: The body of the ticket creation rule reorder request. + properties: + data: + $ref: '#/components/schemas/TicketCreationRuleReorderData' + required: + - data + type: object + TicketCreationRuleUpdateRequest: + description: The body of a ticket creation rule update request. + properties: + data: + $ref: '#/components/schemas/TicketCreationRuleDataCreate' + required: + - data + type: object + DetachCaseRequest: + description: Request for detaching security findings from their case. + properties: + data: + $ref: '#/components/schemas/DetachCaseRequestData' + type: object + CreateCaseRequestArray: + description: List of requests to create cases for security findings. + properties: + data: + description: Array of case creation request data objects. + items: + $ref: '#/components/schemas/CreateCaseRequestData' + type: array + required: + - data + type: object + FindingCaseResponseArray: + description: List of case responses. + properties: + data: + description: Array of case response data objects. + items: + $ref: '#/components/schemas/FindingCaseResponseData' + type: array + required: + - data + type: object + AttachCaseRequest: + description: Request for attaching security findings to a case. + properties: + data: + $ref: '#/components/schemas/AttachCaseRequestData' + type: object + FindingCaseResponse: + description: Case response. + properties: + data: + $ref: '#/components/schemas/FindingCaseResponseData' + type: object + AttachJiraIssueRequest: + description: Request for attaching security findings to a Jira issue. + properties: + data: + $ref: '#/components/schemas/AttachJiraIssueRequestData' + type: object + CreateJiraIssueRequestArray: + description: List of requests to create Jira issues for security findings. + properties: + data: + description: Array of Jira issue creation request data objects. + items: + $ref: '#/components/schemas/CreateJiraIssueRequestData' + type: array + required: + - data + type: object + AttachLinearIssueRequest: + description: Request for attaching security findings to a Linear issue. + properties: + data: + $ref: '#/components/schemas/AttachLinearIssueRequestData' + required: + - data + type: object + CreateLinearIssueRequestArray: + description: List of requests to create Linear issues for security findings. + properties: + data: + description: Array of Linear issue creation request data objects. + items: + $ref: '#/components/schemas/CreateLinearIssueRequestData' + type: array + required: + - data + type: object + MuteFindingsRequest: + description: Request to mute or unmute security findings. + properties: + data: + $ref: '#/components/schemas/MuteFindingsRequestData' + required: + - data + type: object + MuteFindingsResponse: + description: Response for the mute or unmute request. + properties: + data: + $ref: '#/components/schemas/MuteFindingsResponseData' + type: object + SecurityFindingsSearchRequest: + description: The request body for searching security findings. + properties: + data: + $ref: '#/components/schemas/SecurityFindingsSearchRequestData' + type: object + AttachServiceNowTicketRequest: + description: Request for attaching security findings to a ServiceNow ticket. + properties: + data: + $ref: '#/components/schemas/AttachServiceNowTicketRequestData' + required: + - data + type: object + CreateServiceNowTicketRequestArray: + description: List of requests to create ServiceNow tickets for security findings. + properties: + data: + description: Array of ServiceNow ticket creation request data objects. + items: + $ref: '#/components/schemas/CreateServiceNowTicketRequestData' + type: array + required: + - data + type: object + AssetType: + description: The asset type + enum: + - Repository + - Service + - Host + - HostImage + - Image + - ServerlessFunction + example: Repository + type: string + x-enum-varnames: + - REPOSITORY + - SERVICE + - HOST + - HOSTIMAGE + - IMAGE + - SERVERLESSFUNCTION + SBOMComponentLicenseType: + description: The SBOM component license type. + enum: + - network_strong_copyleft + - non_standard_copyleft + - other_non_free + - other_non_standard + - permissive + - public_domain + - strong_copyleft + - weak_copyleft + example: application + type: string + x-enum-varnames: + - NETWORK_STRONG_COPYLEFT + - NON_STANDARD_COPYLEFT + - OTHER_NON_FREE + - OTHER_NON_STANDARD + - PERMISSIVE + - PUBLIC_DOMAIN + - STRONG_COPYLEFT + - WEAK_COPYLEFT + ListAssetsSBOMsResponse: + description: The expected response schema when listing assets SBOMs. + properties: + data: + description: List of assets SBOMs. + items: + $ref: '#/components/schemas/SBOM' + type: array + links: + $ref: '#/components/schemas/Links' + meta: + $ref: '#/components/schemas/Metadata' + required: + - data + type: object + SBOMFormat: + description: The SBOM standard + enum: + - CycloneDX + - SPDX + example: CycloneDX + type: string + x-enum-varnames: + - CYCLONEDX + - SPDX + GetSBOMResponse: + description: The expected response schema when getting an SBOM. + properties: + data: + $ref: '#/components/schemas/SBOM' + required: + - data + type: object + CloudAssetType: + description: The cloud asset type + enum: + - Host + - HostImage + - Image + example: Host + type: string + x-enum-varnames: + - HOST + - HOST_IMAGE + - IMAGE + ScannedAssetsMetadata: + description: The expected response schema when listing scanned assets metadata. + properties: + data: + description: List of scanned assets metadata. + items: + $ref: '#/components/schemas/ScannedAssetMetadata' + type: array + links: + $ref: '#/components/schemas/Links' + meta: + $ref: '#/components/schemas/Metadata' + required: + - data + type: object + IoCTriageState: + description: Current triage state of the indicator. + enum: + - not_reviewed + - reviewed + example: not_reviewed + type: string + x-enum-varnames: + - NOT_REVIEWED + - REVIEWED + IoCExplorerListResponse: + description: Response for the list indicators of compromise endpoint. + properties: + data: + $ref: '#/components/schemas/IoCExplorerListResponseData' + type: object + GetIoCIndicatorResponse: + description: Response for the get indicator of compromise endpoint. + properties: + data: + $ref: '#/components/schemas/GetIoCIndicatorResponseData' + type: object + IoCTriageWriteRequest: + description: Request body for creating or updating an indicator triage state. + properties: + data: + $ref: '#/components/schemas/IoCTriageWriteRequestData' + required: + - data + type: object + IoCTriageWriteResponse: + description: Response for the create indicator triage state endpoint. + properties: + data: + $ref: '#/components/schemas/IoCTriageWriteResponseData' + type: object + CreateNotificationRuleParameters: + description: Body of the notification rule create request. + properties: + data: + $ref: '#/components/schemas/CreateNotificationRuleParametersData' + type: object + NotificationRuleResponse: + description: Response object which includes a notification rule. + properties: + data: + $ref: '#/components/schemas/NotificationRule' + type: object + PatchNotificationRuleParameters: + description: Body of the notification rule patch request. + properties: + data: + $ref: '#/components/schemas/PatchNotificationRuleParametersData' + type: object + VulnerabilityType: + description: The vulnerability type. + enum: + - AdminConsoleActive + - CodeInjection + - CommandInjection + - ComponentWithKnownVulnerability + - DangerousWorkflows + - DefaultAppDeployed + - DefaultHtmlEscapeInvalid + - DirectoryListingLeak + - EmailHtmlInjection + - EndOfLife + - HardcodedPassword + - HardcodedSecret + - HeaderInjection + - HstsHeaderMissing + - InsecureAuthProtocol + - InsecureCookie + - InsecureJspLayout + - LdapInjection + - MaliciousPackage + - MandatoryRemediation + - NoHttpOnlyCookie + - NoSameSiteCookie + - NoSqlMongoDbInjection + - PathTraversal + - ReflectionInjection + - RiskyLicense + - SessionRewriting + - SessionRewritting + - SessionTimeout + - SqlInjection + - Ssrf + - StackTraceLeak + - TemplateInjection + - TrustBoundaryViolation + - Unmaintained + - UntrustedDeserialization + - UnvalidatedRedirect + - VerbTampering + - WeakCipher + - WeakHash + - WeakRandomness + - XContentTypeHeaderMissing + - XPathInjection + - Xss + example: WeakCipher + type: string + x-enum-varnames: + - ADMIN_CONSOLE_ACTIVE + - CODE_INJECTION + - COMMAND_INJECTION + - COMPONENT_WITH_KNOWN_VULNERABILITY + - DANGEROUS_WORKFLOWS + - DEFAULT_APP_DEPLOYED + - DEFAULT_HTML_ESCAPE_INVALID + - DIRECTORY_LISTING_LEAK + - EMAIL_HTML_INJECTION + - END_OF_LIFE + - HARDCODED_PASSWORD + - HARDCODED_SECRET + - HEADER_INJECTION + - HSTS_HEADER_MISSING + - INSECURE_AUTH_PROTOCOL + - INSECURE_COOKIE + - INSECURE_JSP_LAYOUT + - LDAP_INJECTION + - MALICIOUS_PACKAGE + - MANDATORY_REMEDIATION + - NO_HTTP_ONLY_COOKIE + - NO_SAME_SITE_COOKIE + - NO_SQL_MONGO_DB_INJECTION + - PATH_TRAVERSAL + - REFLECTION_INJECTION + - RISKY_LICENSE + - SESSION_REWRITING + - SESSION_REWRITTING + - SESSION_TIMEOUT + - SQL_INJECTION + - SSRF + - STACK_TRACE_LEAK + - TEMPLATE_INJECTION + - TRUST_BOUNDARY_VIOLATION + - UNMAINTAINED + - UNTRUSTED_DESERIALIZATION + - UNVALIDATED_REDIRECT + - VERB_TAMPERING + - WEAK_CIPHER + - WEAK_HASH + - WEAK_RANDOMNESS + - X_CONTENT_TYPE_HEADER_MISSING + - X_PATH_INJECTION + - XSS + VulnerabilitySeverity: + description: The vulnerability severity. + enum: + - Unknown + - None + - Low + - Medium + - High + - Critical + example: Medium + type: string + x-enum-varnames: + - UNKNOWN + - NONE + - LOW + - MEDIUM + - HIGH + - CRITICAL + VulnerabilityStatus: + description: The vulnerability status. + enum: + - Open + - Muted + - Remediated + - InProgress + - AutoClosed + example: Open + type: string + x-enum-varnames: + - OPEN + - MUTED + - REMEDIATED + - INPROGRESS + - AUTOCLOSED + VulnerabilityTool: + description: The vulnerability tool. + enum: + - IAST + - SCA + - Infra + - SAST + example: SCA + type: string + x-enum-varnames: + - IAST + - SCA + - INFRA + - SAST + VulnerabilityEcosystem: + description: The related vulnerability asset ecosystem. + enum: + - PyPI + - Maven + - NuGet + - Npm + - RubyGems + - Go + - Packagist + - Deb + - Rpm + - Apk + - Windows + - Generic + - MacOs + - Oci + - BottleRocket + - None + type: string + x-enum-varnames: + - PYPI + - MAVEN + - NUGET + - NPM + - RUBY_GEMS + - GO + - PACKAGIST + - DEB + - RPM + - APK + - WINDOWS + - GENERIC + - MAC_OS + - OCI + - BOTTLE_ROCKET + - NONE + ListVulnerabilitiesResponse: + description: The expected response schema when listing vulnerabilities. + properties: + data: + description: List of vulnerabilities. + items: + $ref: '#/components/schemas/Vulnerability' + type: array + links: + $ref: '#/components/schemas/Links' + meta: + $ref: '#/components/schemas/Metadata' + required: + - data + type: object + CycloneDXBom: + description: A CycloneDX 1.5 Bill of Materials (BOM) document containing vulnerability data. + properties: + bomFormat: + description: The BOM format identifier. Must be `CycloneDX`. + example: CycloneDX + type: string + components: + description: The list of scanned software components. Cannot be empty. + items: + $ref: '#/components/schemas/CycloneDXComponent' + type: array + metadata: + $ref: '#/components/schemas/CycloneDXMetadata' + specVersion: + description: The CycloneDX specification version. Must be `1.5`. + example: '1.5' + type: string + version: + description: The version number of the BOM document. + example: 1 + format: int64 + type: integer + vulnerabilities: + description: The list of detected vulnerabilities. Cannot be empty. + items: + $ref: '#/components/schemas/CycloneDXVulnerability' + type: array + required: + - bomFormat + - specVersion + - metadata + - components + - vulnerabilities + type: object + APIErrorResponse: + description: API error response. + properties: + errors: + description: A list of errors. + example: + - Bad Request + items: + description: A list of items. + example: Bad Request + type: string + type: array + required: + - errors + type: object + ListVulnerableAssetsResponse: + description: The expected response schema when listing vulnerable assets. + properties: + data: + description: List of vulnerable assets. + items: + $ref: '#/components/schemas/Asset' + type: array + links: + $ref: '#/components/schemas/Links' + meta: + $ref: '#/components/schemas/Metadata' + required: + - data + type: object + CloudWorkloadSecurityAgentRulesListResponse: + description: Response object that includes a list of Agent rule + properties: + data: + description: A list of Agent rules objects + items: + $ref: '#/components/schemas/CloudWorkloadSecurityAgentRuleData' + type: array + type: object + CloudWorkloadSecurityAgentRuleCreateRequest: + description: Request object that includes the Agent rule to create + properties: + data: + $ref: '#/components/schemas/CloudWorkloadSecurityAgentRuleCreateData' + required: + - data + type: object + CloudWorkloadSecurityAgentRuleResponse: + description: Response object that includes an Agent rule + properties: + data: + $ref: '#/components/schemas/CloudWorkloadSecurityAgentRuleData' + type: object + CloudWorkloadSecurityAgentRuleUpdateRequest: + description: Request object that includes the Agent rule with the attributes to update + properties: + data: + $ref: '#/components/schemas/CloudWorkloadSecurityAgentRuleUpdateData' + required: + - data + type: object + SecurityMonitoringCriticalAssetsResponse: + description: Response object containing the available critical assets. + properties: + data: + description: A list of critical assets objects. + items: + $ref: '#/components/schemas/SecurityMonitoringCriticalAsset' + type: array + type: object + SecurityMonitoringCriticalAssetCreateRequest: + description: Request object that includes the critical asset that you would like to create. + properties: + data: + $ref: '#/components/schemas/SecurityMonitoringCriticalAssetCreateData' + required: + - data + type: object + SecurityMonitoringCriticalAssetResponse: + description: Response object containing a single critical asset. + properties: + data: + $ref: '#/components/schemas/SecurityMonitoringCriticalAsset' + type: object + SecurityMonitoringCriticalAssetUpdateRequest: + description: Request object containing the fields to update on the critical asset. + properties: + data: + $ref: '#/components/schemas/SecurityMonitoringCriticalAssetUpdateData' + required: + - data + type: object + SecurityMonitoringIntegrationType: + description: The type of external source that provides entities to Cloud SIEM. + enum: + - GOOGLE_WORKSPACE + - OKTA + - ENTRA_ID + - CROWDSTRIKE + - SENTINELONE + example: GOOGLE_WORKSPACE + type: string + x-enum-varnames: + - GOOGLE_WORKSPACE + - OKTA + - ENTRA_ID + - CROWDSTRIKE + - SENTINELONE + SecurityMonitoringIntegrationConfigsResponse: + description: Response containing a list of entity context sync configurations. + properties: + data: + description: The list of integration configurations. + items: + $ref: '#/components/schemas/SecurityMonitoringIntegrationConfigData' + type: array + required: + - data + type: object + SecurityMonitoringIntegrationConfigCreateRequest: + description: Request body to create an entity context sync configuration. + properties: + data: + $ref: '#/components/schemas/SecurityMonitoringIntegrationConfigCreateData' + required: + - data + type: object + SecurityMonitoringIntegrationConfigResponse: + description: Response containing a single entity context sync configuration. + properties: + data: + $ref: '#/components/schemas/SecurityMonitoringIntegrationConfigData' + required: + - data + type: object + SecurityMonitoringEntraIdAzureAppRegistrationsResponse: + description: Response containing the Azure App Registration prerequisites for the Entra ID integration. + properties: + data: + $ref: '#/components/schemas/SecurityMonitoringEntraIdAzureAppRegistrationsData' + required: + - data + type: object + SecurityMonitoringIntegrationCredentialsValidateRequest: + description: Request body to validate credentials against an external entity source before creating a sync configuration. + properties: + data: + $ref: '#/components/schemas/SecurityMonitoringIntegrationCredentialsValidateData' + required: + - data + type: object + SecurityMonitoringIntegrationConfigUpdateRequest: + description: Request body to update an entity context sync configuration. Supports partial updates. + properties: + data: + $ref: '#/components/schemas/SecurityMonitoringIntegrationConfigUpdateData' + required: + - data + type: object + SecurityMonitoringIntegrationActivateRequest: + description: Request body to activate an entity context sync integration for a source type that does not require secrets. + properties: + data: + $ref: '#/components/schemas/SecurityMonitoringIntegrationActivateData' + type: object + NotificationRulePreviewResponse: + description: Response from the notification preview request. + properties: + data: + $ref: '#/components/schemas/NotificationRulePreviewResponseData' + required: + - data + type: object + SecurityFiltersResponse: + description: All the available security filters objects. + properties: + data: + description: A list of security filters objects. + items: + $ref: '#/components/schemas/SecurityFilter' + type: array + meta: + $ref: '#/components/schemas/SecurityFilterMeta' + type: object + SecurityFilterCreateRequest: + description: Request object that includes the security filter that you would like to create. + properties: + data: + $ref: '#/components/schemas/SecurityFilterCreateData' + required: + - data + type: object + SecurityFilterResponse: + description: Response object which includes a single security filter. + properties: + data: + $ref: '#/components/schemas/SecurityFilter' + meta: + $ref: '#/components/schemas/SecurityFilterMeta' + type: object + SecurityFilterVersionsResponse: + description: Response containing the version history of security filters. + properties: + data: + description: A list of historical security filter configurations, ordered from the most recent to the oldest. + items: + $ref: '#/components/schemas/SecurityFilterVersion' + type: array + required: + - data + type: object + SecurityFilterUpdateRequest: + description: The new security filter body. + properties: + data: + $ref: '#/components/schemas/SecurityFilterUpdateData' + required: + - data + type: object + SecurityMonitoringSuppressionSort: + description: The sort parameters used for querying suppression rules. + enum: + - name + - start_date + - expiration_date + - update_date + - enabled + - '-name' + - '-start_date' + - '-expiration_date' + - '-update_date' + - '-creation_date' + - '-enabled' + type: string + x-enum-varnames: + - NAME + - START_DATE + - EXPIRATION_DATE + - UPDATE_DATE + - ENABLED + - NAME_DESCENDING + - START_DATE_DESCENDING + - EXPIRATION_DATE_DESCENDING + - UPDATE_DATE_DESCENDING + - CREATION_DATE_DESCENDING + - ENABLED_DESCENDING + SecurityMonitoringPaginatedSuppressionsResponse: + description: Response object containing the available suppression rules with pagination metadata. + properties: + data: + description: A list of suppressions objects. + items: + $ref: '#/components/schemas/SecurityMonitoringSuppression' + type: array + meta: + $ref: '#/components/schemas/SecurityMonitoringSuppressionsMeta' + type: object + SecurityMonitoringSuppressionCreateRequest: + description: Request object that includes the suppression rule that you would like to create. + properties: + data: + $ref: '#/components/schemas/SecurityMonitoringSuppressionCreateData' + required: + - data + type: object + SecurityMonitoringSuppressionResponse: + description: Response object containing a single suppression rule. + properties: + data: + $ref: '#/components/schemas/SecurityMonitoringSuppression' + type: object + SecurityMonitoringRuleCreatePayload: + description: Create a new rule. + properties: + calculatedFields: + description: Calculated fields. Only allowed for scheduled rules - in other words, when schedulingOptions is also defined. + items: + $ref: '#/components/schemas/CalculatedField' + type: array + cases: + description: Cases for generating signals. + example: [] + items: + $ref: '#/components/schemas/SecurityMonitoringRuleCaseCreate' + type: array + filters: + description: Additional queries to filter matched events before they are processed. This field is deprecated for log detection, signal correlation, and workload security rules. + items: + $ref: '#/components/schemas/SecurityMonitoringFilter' + type: array + groupSignalsBy: + description: Additional grouping to perform on top of the existing groups in the query section. Must be a subset of the existing groups. + example: + - service + items: + description: Field to group by. + type: string + type: array + hasExtendedTitle: + description: Whether the notifications include the triggering group-by values in their title. + example: true + type: boolean + isEnabled: + description: Whether the rule is enabled. + example: true + type: boolean + message: + description: Message for generated signals. + example: '' + type: string + name: + description: The name of the rule. + example: My security monitoring rule. + type: string + options: + $ref: '#/components/schemas/SecurityMonitoringRuleOptions' + queries: + description: Queries for selecting logs which are part of the rule. + example: [] + items: + $ref: '#/components/schemas/SecurityMonitoringStandardRuleQuery' + type: array + referenceTables: + description: Reference tables for the rule. + items: + $ref: '#/components/schemas/SecurityMonitoringReferenceTable' + type: array + schedulingOptions: + $ref: '#/components/schemas/SecurityMonitoringSchedulingOptions' + tags: + description: Tags for generated signals. + example: + - env:prod + - team:security + items: + description: Tag. + type: string + type: array + thirdPartyCases: + description: Cases for generating signals from third-party rules. Only available for third-party rules. + example: [] + items: + $ref: '#/components/schemas/SecurityMonitoringThirdPartyRuleCaseCreate' + type: array + type: + $ref: '#/components/schemas/SecurityMonitoringRuleTypeCreate' + complianceSignalOptions: + $ref: '#/components/schemas/CloudConfigurationRuleComplianceSignalOptions' + required: + - name + - isEnabled + - queries + - options + - cases + - message + - complianceSignalOptions + type: object + SecurityMonitoringSuppressionsResponse: + description: Response object containing the available suppression rules. + properties: + data: + description: A list of suppressions objects. + items: + $ref: '#/components/schemas/SecurityMonitoringSuppression' + type: array + type: object + SecurityMonitoringSuppressionUpdateRequest: + description: Request object containing the fields to update on the suppression rule. + properties: + data: + $ref: '#/components/schemas/SecurityMonitoringSuppressionUpdateData' + required: + - data + type: object + GetSuppressionVersionHistoryResponse: + description: Response for getting the suppression version history. + properties: + data: + $ref: '#/components/schemas/GetSuppressionVersionHistoryData' + type: object + SecurityMonitoringContentPackStatesResponse: + description: Response containing content pack states. + properties: + data: + description: Array of content pack states. + items: + $ref: '#/components/schemas/SecurityMonitoringContentPackStateData' + type: array + meta: + $ref: '#/components/schemas/SecurityMonitoringContentPackStateMeta' + required: + - data + - meta + type: object + SecurityMonitoringDatasetsListResponse: + description: Response containing a paginated list of Cloud SIEM datasets. + properties: + data: + $ref: '#/components/schemas/SecurityMonitoringDatasetsListData' + meta: + $ref: '#/components/schemas/SecurityMonitoringDatasetsListMeta' + required: + - data + - meta + type: object + SecurityMonitoringDatasetCreateRequest: + description: Request body for creating a Cloud SIEM dataset. + properties: + data: + $ref: '#/components/schemas/SecurityMonitoringDatasetCreateData' + required: + - data + type: object + SecurityMonitoringDatasetCreateResponse: + description: Response returned after creating a dataset. + properties: + data: + $ref: '#/components/schemas/SecurityMonitoringDatasetCreateResponseData' + required: + - data + type: object + SecurityMonitoringDatasetDependenciesRequest: + description: Request body for retrieving dependencies of a batch of datasets. + properties: + data: + $ref: '#/components/schemas/SecurityMonitoringDatasetDependenciesRequestData' + required: + - data + type: object + SecurityMonitoringDatasetDependenciesResponse: + description: Response listing the dependents of each requested dataset. + properties: + data: + $ref: '#/components/schemas/SecurityMonitoringDatasetDependenciesResponseData' + required: + - data + type: object + SecurityMonitoringDatasetResponse: + description: Response containing a single Cloud SIEM dataset. + properties: + data: + $ref: '#/components/schemas/SecurityMonitoringDatasetData' + required: + - data + type: object + SecurityMonitoringDatasetUpdateRequest: + description: Request body for updating a Cloud SIEM dataset. + properties: + data: + $ref: '#/components/schemas/SecurityMonitoringDatasetUpdateData' + required: + - data + type: object + SecurityMonitoringDatasetVersionHistoryResponse: + description: Response containing the version history of a Cloud SIEM dataset. + properties: + data: + $ref: '#/components/schemas/SecurityMonitoringDatasetVersionHistoryData' + required: + - data + type: object + EntityContextResponse: + description: Response from the entity context endpoint, containing the matching entities and pagination metadata. + properties: + data: + description: The list of entities matching the query. + items: + $ref: '#/components/schemas/EntityContextEntity' + type: array + meta: + $ref: '#/components/schemas/EntityContextResponseMeta' + required: + - data + - meta + type: object + SingleEntityContextResponse: + description: Response from the single entity context endpoint, containing the matching entity. + properties: + data: + $ref: '#/components/schemas/EntityContextEntity' + required: + - data + type: object + SecurityMonitoringRuleSort: + description: The sort parameters used for querying security monitoring rules. + enum: + - name + - creation_date + - update_date + - enabled + - type + - highest_severity + - source + - '-name' + - '-creation_date' + - '-update_date' + - '-enabled' + - '-type' + - '-highest_severity' + - '-source' + type: string + x-enum-varnames: + - NAME + - CREATION_DATE + - UPDATE_DATE + - ENABLED + - TYPE + - HIGHEST_SEVERITY + - SOURCE + - NAME_DESCENDING + - CREATION_DATE_DESCENDING + - UPDATE_DATE_DESCENDING + - ENABLED_DESCENDING + - TYPE_DESCENDING + - HIGHEST_SEVERITY_DESCENDING + - SOURCE_DESCENDING + SecurityMonitoringListRulesResponse: + description: List of rules. + properties: + data: + description: Array containing the list of rules. + items: + $ref: '#/components/schemas/SecurityMonitoringRuleResponse' + type: array + meta: + $ref: '#/components/schemas/ResponseMetaAttributes' + type: object + SecurityMonitoringRuleResponse: + description: Create a new rule. + properties: + calculatedFields: + description: Calculated fields. Only allowed for scheduled rules - in other words, when schedulingOptions is also defined. + items: + $ref: '#/components/schemas/CalculatedField' + type: array + cases: + description: Cases for generating signals. + items: + $ref: '#/components/schemas/SecurityMonitoringRuleCase' + type: array + complianceSignalOptions: + $ref: '#/components/schemas/CloudConfigurationRuleComplianceSignalOptions' + createdAt: + description: When the rule was created, timestamp in milliseconds. + format: int64 + type: integer + creationAuthorId: + description: User ID of the user who created the rule. + format: int64 + type: integer + customMessage: + description: Custom/Overridden message for generated signals (used in case of Default rule update). + type: string + customName: + description: Custom/Overridden name of the rule (used in case of Default rule update). + type: string + defaultTags: + description: Default Tags for default rules (included in tags) + example: + - security:attacks + items: + description: Default Tag. + type: string + type: array + deprecationDate: + description: When the rule will be deprecated, timestamp in milliseconds. + format: int64 + type: integer + filters: + description: Additional queries to filter matched events before they are processed. This field is deprecated for log detection, signal correlation, and workload security rules. + items: + $ref: '#/components/schemas/SecurityMonitoringFilter' + type: array + groupSignalsBy: + description: Additional grouping to perform on top of the existing groups in the query section. Must be a subset of the existing groups. + example: + - service + items: + description: Field to group by. + type: string + type: array + hasExtendedTitle: + description: Whether the notifications include the triggering group-by values in their title. + type: boolean + id: + description: The ID of the rule. + type: string + isDefault: + description: Whether the rule is included by default. + type: boolean + isDeleted: + description: Whether the rule has been deleted. + type: boolean + isEnabled: + description: Whether the rule is enabled. + type: boolean + message: + description: Message for generated signals. + type: string + name: + description: The name of the rule. + type: string + options: + $ref: '#/components/schemas/SecurityMonitoringRuleOptions' + queries: + description: Queries for selecting logs which are part of the rule. + items: + $ref: '#/components/schemas/SecurityMonitoringStandardRuleQuery' + type: array + referenceTables: + description: Reference tables for the rule. + items: + $ref: '#/components/schemas/SecurityMonitoringReferenceTable' + type: array + schedulingOptions: + $ref: '#/components/schemas/SecurityMonitoringSchedulingOptions' + tags: + description: Tags for generated signals. + items: + description: Tag. + type: string + type: array + thirdPartyCases: + description: Cases for generating signals from third-party rules. Only available for third-party rules. + example: [] + items: + $ref: '#/components/schemas/SecurityMonitoringThirdPartyRuleCase' + type: array + type: + $ref: '#/components/schemas/SecurityMonitoringRuleTypeRead' + updateAuthorId: + description: User ID of the user who updated the rule. + format: int64 + type: integer + updatedAt: + description: The date the rule was last updated, in milliseconds. + format: int64 + type: integer + version: + description: The version of the rule. + format: int64 + type: integer + type: object + SecurityMonitoringRuleBulkDeletePayload: + description: Payload for bulk deleting security monitoring rules. + properties: + data: + $ref: '#/components/schemas/SecurityMonitoringRuleBulkDeleteData' + required: + - data + type: object + SecurityMonitoringRuleBulkDeleteResponse: + description: Response for bulk deleting security monitoring rules. + properties: + data: + $ref: '#/components/schemas/SecurityMonitoringRuleBulkDeleteResponseData' + type: object + SecurityMonitoringRuleBulkExportPayload: + description: Payload for bulk exporting security monitoring rules. + properties: + data: + $ref: '#/components/schemas/SecurityMonitoringRuleBulkExportData' + required: + - data + type: object + SecurityMonitoringRuleConvertPayload: + description: Convert a rule from JSON to Terraform. + properties: + calculatedFields: + description: Calculated fields. Only allowed for scheduled rules - in other words, when schedulingOptions is also defined. + items: + $ref: '#/components/schemas/CalculatedField' + type: array + cases: + description: Cases for generating signals. + example: [] + items: + $ref: '#/components/schemas/SecurityMonitoringRuleCaseCreate' + type: array + customMessage: + description: Custom/Overridden message for generated signals (used in case of Default rule update). + type: string + customName: + description: Custom/Overridden name of the rule (used in case of Default rule update). + type: string + filters: + description: Additional queries to filter matched events before they are processed. This field is deprecated for log detection, signal correlation, and workload security rules. + items: + $ref: '#/components/schemas/SecurityMonitoringFilter' + type: array + groupSignalsBy: + description: Additional grouping to perform on top of the existing groups in the query section. Must be a subset of the existing groups. + example: + - service + items: + description: Field to group by. + type: string + type: array + hasExtendedTitle: + description: Whether the notifications include the triggering group-by values in their title. + example: true + type: boolean + isEnabled: + description: Whether the rule is enabled. + example: true + type: boolean + message: + description: Message for generated signals. + example: '' + type: string + name: + description: The name of the rule. + example: My security monitoring rule. + type: string + options: + $ref: '#/components/schemas/SecurityMonitoringRuleOptions' + queries: + description: Queries for selecting logs which are part of the rule. + example: [] + items: + $ref: '#/components/schemas/SecurityMonitoringStandardRuleQuery' + type: array + referenceTables: + description: Reference tables for the rule. + items: + $ref: '#/components/schemas/SecurityMonitoringReferenceTable' + type: array + schedulingOptions: + $ref: '#/components/schemas/SecurityMonitoringSchedulingOptions' + tags: + description: Tags for generated signals. + example: + - env:prod + - team:security + items: + description: Tag. + type: string + type: array + thirdPartyCases: + description: Cases for generating signals from third-party rules. Only available for third-party rules. + example: [] + items: + $ref: '#/components/schemas/SecurityMonitoringThirdPartyRuleCaseCreate' + type: array + type: + $ref: '#/components/schemas/SecurityMonitoringRuleTypeCreate' + required: + - name + - isEnabled + - queries + - options + - cases + - message + type: object + SecurityMonitoringRuleConvertResponse: + description: Result of the convert rule request containing Terraform content. + properties: + ruleId: + description: the ID of the rule. + type: string + terraformContent: + description: Terraform string as a result of converting the rule from JSON. + type: string + type: object + SecurityMonitoringRuleConvertBulkPayload: + description: Payload for bulk converting security monitoring rules to Terraform. + properties: + data: + $ref: '#/components/schemas/SecurityMonitoringRuleConvertBulkData' + required: + - data + type: object + SecurityMonitoringRuleTestRequest: + description: Test the rule queries of a rule (rule property is ignored when applied to an existing rule) + properties: + rule: + $ref: '#/components/schemas/SecurityMonitoringRuleTestPayload' + ruleQueryPayloads: + description: Data payloads used to test rules query with the expected result. + items: + $ref: '#/components/schemas/SecurityMonitoringRuleQueryPayload' + type: array + type: object + SecurityMonitoringRuleTestResponse: + description: Result of the test of the rule queries. + properties: + results: + description: |- + Assert results are returned in the same order as the rule query payloads. + For each payload, it returns True if the result matched the expected result, + False otherwise. + items: + description: Whether the rule query result matched the expected result. + type: boolean + type: array + type: object + SecurityMonitoringRuleValidatePayload: + description: Validate a rule. + properties: + calculatedFields: + description: Calculated fields. Only allowed for scheduled rules - in other words, when schedulingOptions is also defined. + items: + $ref: '#/components/schemas/CalculatedField' + type: array + cases: + description: Cases for generating signals. + example: [] + items: + $ref: '#/components/schemas/SecurityMonitoringRuleCaseCreate' + type: array + customMessage: + description: Custom/Overridden message for generated signals (used in case of Default rule update). + type: string + customName: + description: Custom/Overridden name of the rule (used in case of Default rule update). + type: string + filters: + description: Additional queries to filter matched events before they are processed. This field is deprecated for log detection, signal correlation, and workload security rules. + items: + $ref: '#/components/schemas/SecurityMonitoringFilter' + type: array + groupSignalsBy: + description: Additional grouping to perform on top of the existing groups in the query section. Must be a subset of the existing groups. + example: + - service + items: + description: Field to group by. + type: string + type: array + hasExtendedTitle: + description: Whether the notifications include the triggering group-by values in their title. + example: true + type: boolean + isEnabled: + description: Whether the rule is enabled. + example: true + type: boolean + message: + description: Message for generated signals. + example: '' + type: string + name: + description: The name of the rule. + example: My security monitoring rule. + type: string + options: + $ref: '#/components/schemas/SecurityMonitoringRuleOptions' + queries: + description: Queries for selecting logs which are part of the rule. + example: [] + items: + $ref: '#/components/schemas/SecurityMonitoringStandardRuleQuery' + type: array + referenceTables: + description: Reference tables for the rule. + items: + $ref: '#/components/schemas/SecurityMonitoringReferenceTable' + type: array + schedulingOptions: + $ref: '#/components/schemas/SecurityMonitoringSchedulingOptions' + tags: + description: Tags for generated signals. + example: + - env:prod + - team:security + items: + description: Tag. + type: string + type: array + thirdPartyCases: + description: Cases for generating signals from third-party rules. Only available for third-party rules. + example: [] + items: + $ref: '#/components/schemas/SecurityMonitoringThirdPartyRuleCaseCreate' + type: array + type: + $ref: '#/components/schemas/SecurityMonitoringRuleTypeCreate' + complianceSignalOptions: + $ref: '#/components/schemas/CloudConfigurationRuleComplianceSignalOptions' + required: + - name + - isEnabled + - queries + - options + - cases + - message + - complianceSignalOptions + type: object + SecurityMonitoringRuleUpdatePayload: + description: Update an existing rule. + properties: + calculatedFields: + description: Calculated fields. Only allowed for scheduled rules - in other words, when schedulingOptions is also defined. + items: + $ref: '#/components/schemas/CalculatedField' + type: array + cases: + description: Cases for generating signals. + items: + $ref: '#/components/schemas/SecurityMonitoringRuleCase' + type: array + complianceSignalOptions: + $ref: '#/components/schemas/CloudConfigurationRuleComplianceSignalOptions' + customMessage: + description: Custom/Overridden Message for generated signals (used in case of Default rule update). + type: string + customName: + description: Custom/Overridden name (used in case of Default rule update). + type: string + filters: + description: Additional queries to filter matched events before they are processed. This field is deprecated for log detection, signal correlation, and workload security rules. + items: + $ref: '#/components/schemas/SecurityMonitoringFilter' + type: array + groupSignalsBy: + description: Additional grouping to perform on top of the existing groups in the query section. Must be a subset of the existing groups. + example: + - service + items: + description: Field to group by. + type: string + type: array + hasExtendedTitle: + description: Whether the notifications include the triggering group-by values in their title. + example: true + type: boolean + isEnabled: + description: Whether the rule is enabled. + type: boolean + message: + description: Message for generated signals. + type: string + name: + description: Name of the rule. + type: string + options: + $ref: '#/components/schemas/SecurityMonitoringRuleOptions' + queries: + description: Queries for selecting logs which are part of the rule. + items: + $ref: '#/components/schemas/SecurityMonitoringRuleQuery' + type: array + referenceTables: + description: Reference tables for the rule. + items: + $ref: '#/components/schemas/SecurityMonitoringReferenceTable' + type: array + schedulingOptions: + $ref: '#/components/schemas/SecurityMonitoringSchedulingOptions' + tags: + description: Tags for generated signals. + items: + description: Tag. + type: string + type: array + thirdPartyCases: + description: Cases for generating signals from third-party rules. Only available for third-party rules. + example: [] + items: + $ref: '#/components/schemas/SecurityMonitoringThirdPartyRuleCase' + type: array + version: + description: The version of the rule being updated. + example: 1 + format: int32 + maximum: 2147483647 + type: integer + type: object + GetRuleVersionHistoryResponse: + description: Response for getting the rule version history. + properties: + data: + $ref: '#/components/schemas/GetRuleVersionHistoryData' + type: object + SampleLogGenerationSubscriptionsStatusFilter: + default: active + description: Filter that controls whether to return only active subscriptions or every subscription on record. + enum: + - active + - all + example: active + type: string + x-enum-varnames: + - ACTIVE + - ALL + SampleLogGenerationSubscriptionsResponse: + description: Response containing a list of sample log generation subscriptions. + properties: + data: + description: The list of sample log generation subscriptions. + items: + $ref: '#/components/schemas/SampleLogGenerationSubscriptionData' + type: array + meta: + $ref: '#/components/schemas/SampleLogGenerationSubscriptionsResponseMeta' + required: + - data + - meta + type: object + SampleLogGenerationSubscriptionCreateRequest: + description: Request body to create a sample log generation subscription for a single content pack. + properties: + data: + $ref: '#/components/schemas/SampleLogGenerationSubscriptionCreateData' + required: + - data + type: object + SampleLogGenerationSubscriptionResponse: + description: Response containing a single sample log generation subscription. + properties: + data: + $ref: '#/components/schemas/SampleLogGenerationSubscriptionData' + required: + - data + type: object + SampleLogGenerationBulkSubscriptionRequest: + description: Request body to create sample log generation subscriptions for multiple content packs at once. + properties: + data: + $ref: '#/components/schemas/SampleLogGenerationBulkSubscriptionData' + required: + - data + type: object + SampleLogGenerationBulkSubscriptionResponse: + description: Response containing the per-content-pack results of a bulk subscription request. + properties: + data: + description: The list of bulk subscription results, one per requested content pack. + items: + $ref: '#/components/schemas/SampleLogGenerationBulkSubscriptionResultItem' + type: array + required: + - data + type: object + SecurityMonitoringSignalsListResponse: + description: |- + The response object with all security signals matching the request + and pagination information. + properties: + data: + description: An array of security signals matching the request. + items: + $ref: '#/components/schemas/SecurityMonitoringSignal' + type: array + links: + $ref: '#/components/schemas/SecurityMonitoringSignalsListResponseLinks' + meta: + $ref: '#/components/schemas/SecurityMonitoringSignalsListResponseMeta' + type: object + SecurityMonitoringSignalsBulkAssigneeUpdateRequest: + description: Request body for updating the assignee of multiple security signals. + properties: + data: + description: An array of signal assignee updates. + items: + $ref: '#/components/schemas/SecurityMonitoringSignalsBulkAssigneeUpdateData' + maxItems: 199 + type: array + required: + - data + type: object + SecurityMonitoringSignalsBulkTriageUpdateResponse: + description: Response for a bulk triage update of security signals. + properties: + result: + $ref: '#/components/schemas/SecurityMonitoringSignalsBulkTriageUpdateResult' + status: + description: The status of the bulk operation. + example: done + type: string + type: + description: The type of the response. + example: status + type: string + required: + - type + - status + - result + type: object + SecurityMonitoringSignalsBulkStateUpdateRequest: + description: Request body for updating the triage states of multiple security signals. + properties: + data: + description: An array of signal state updates. + items: + $ref: '#/components/schemas/SecurityMonitoringSignalsBulkStateUpdateData' + maxItems: 199 + type: array + required: + - data + type: object + SecurityMonitoringSignalsBulkUpdateRequest: + description: Request body for updating multiple attributes of multiple security signals. + properties: + data: + description: An array of signal updates. + items: + $ref: '#/components/schemas/SecurityMonitoringSignalsBulkUpdateData' + maxItems: 199 + type: array + required: + - data + type: object + SecurityMonitoringSignalListRequest: + description: The request for a security signal list. + properties: + filter: + $ref: '#/components/schemas/SecurityMonitoringSignalListRequestFilter' + page: + $ref: '#/components/schemas/SecurityMonitoringSignalListRequestPage' + sort: + $ref: '#/components/schemas/SecurityMonitoringSignalsSort' + type: object + SecurityMonitoringSignalResponse: + description: Security Signal response data object. + properties: + data: + $ref: '#/components/schemas/SecurityMonitoringSignal' + type: object + SecurityMonitoringSignalAssigneeUpdateRequest: + description: Request body for changing the assignee of a given security monitoring signal. + properties: + data: + $ref: '#/components/schemas/SecurityMonitoringSignalAssigneeUpdateData' + required: + - data + type: object + SecurityMonitoringSignalTriageUpdateResponse: + description: The response returned after all triage operations, containing the updated signal triage data. + properties: + data: + $ref: '#/components/schemas/SecurityMonitoringSignalTriageUpdateData' + required: + - data + type: object + SignalEntitiesResponse: + description: Response containing entities related to a security signal. + properties: + data: + $ref: '#/components/schemas/SignalEntitiesData' + required: + - data + type: object + SecurityMonitoringSignalIncidentsUpdateRequest: + description: Request body for changing the related incidents of a given security monitoring signal. + properties: + data: + $ref: '#/components/schemas/SecurityMonitoringSignalIncidentsUpdateData' + required: + - data + type: object + SecurityMonitoringSignalSuggestedActionsResponse: + description: Response with suggested actions for a security signal. + properties: + data: + $ref: '#/components/schemas/SecurityMonitoringSignalSuggestedActionList' + required: + - data + type: object + SecurityMonitoringSignalStateUpdateRequest: + description: Request body for changing the state of a given security monitoring signal. + properties: + data: + $ref: '#/components/schemas/SecurityMonitoringSignalStateUpdateData' + required: + - data + type: object + SecurityMonitoringSignalUpdateRequest: + description: Request body for updating the triage state or assignee of a security signal. + properties: + data: + $ref: '#/components/schemas/SecurityMonitoringSignalUpdateData' + required: + - data + type: object + SecurityMonitoringTerraformBulkExportRequest: + description: Request body for bulk exporting security monitoring resources to Terraform. + properties: + data: + $ref: '#/components/schemas/SecurityMonitoringTerraformBulkExportData' + required: + - data + type: object + SecurityMonitoringTerraformConvertRequest: + description: Request body for converting a security monitoring resource JSON to Terraform. + properties: + data: + $ref: '#/components/schemas/SecurityMonitoringTerraformConvertData' + required: + - data + type: object + SecurityMonitoringTerraformExportResponse: + description: Response containing the Terraform configuration for a security monitoring resource. + properties: + data: + $ref: '#/components/schemas/SecurityMonitoringTerraformExportData' + type: object + SensitiveDataScannerGetConfigResponse: + description: Get all groups response. + properties: + data: + $ref: '#/components/schemas/SensitiveDataScannerGetConfigResponseData' + included: + $ref: '#/components/schemas/SensitiveDataScannerGetConfigIncludedArray' + meta: + $ref: '#/components/schemas/SensitiveDataScannerMeta' + type: object + SensitiveDataScannerConfigRequest: + description: Group reorder request. + properties: + data: + $ref: '#/components/schemas/SensitiveDataScannerReorderConfig' + meta: + $ref: '#/components/schemas/SensitiveDataScannerMetaVersionOnly' + required: + - data + - meta + type: object + SensitiveDataScannerReorderGroupsResponse: + description: Group reorder response. + properties: + meta: + $ref: '#/components/schemas/SensitiveDataScannerMeta' + type: object + SensitiveDataScannerGroupCreateRequest: + description: Create group request. + properties: + data: + $ref: '#/components/schemas/SensitiveDataScannerGroupCreate' + meta: + $ref: '#/components/schemas/SensitiveDataScannerMetaVersionOnly' + type: object + SensitiveDataScannerCreateGroupResponse: + description: Create group response. + properties: + data: + $ref: '#/components/schemas/SensitiveDataScannerGroupResponse' + meta: + $ref: '#/components/schemas/SensitiveDataScannerMetaVersionOnly' + type: object + SensitiveDataScannerGroupDeleteRequest: + description: Delete group request. + properties: + meta: + $ref: '#/components/schemas/SensitiveDataScannerMetaVersionOnly' + required: + - meta + type: object + SensitiveDataScannerGroupDeleteResponse: + description: Delete group response. + properties: + meta: + $ref: '#/components/schemas/SensitiveDataScannerMetaVersionOnly' + type: object + SensitiveDataScannerGroupUpdateRequest: + description: Update group request. + properties: + data: + $ref: '#/components/schemas/SensitiveDataScannerGroupUpdate' + meta: + $ref: '#/components/schemas/SensitiveDataScannerMetaVersionOnly' + required: + - data + - meta + type: object + SensitiveDataScannerGroupUpdateResponse: + description: Update group response. + properties: + meta: + $ref: '#/components/schemas/SensitiveDataScannerMetaVersionOnly' + type: object + SensitiveDataScannerRuleCreateRequest: + description: Create rule request. + properties: + data: + $ref: '#/components/schemas/SensitiveDataScannerRuleCreate' + meta: + $ref: '#/components/schemas/SensitiveDataScannerMetaVersionOnly' + required: + - data + - meta + type: object + SensitiveDataScannerCreateRuleResponse: + description: Create rule response. + properties: + data: + $ref: '#/components/schemas/SensitiveDataScannerRuleResponse' + meta: + $ref: '#/components/schemas/SensitiveDataScannerMetaVersionOnly' + type: object + SensitiveDataScannerRuleDeleteRequest: + description: Delete rule request. + properties: + meta: + $ref: '#/components/schemas/SensitiveDataScannerMetaVersionOnly' + required: + - meta + type: object + SensitiveDataScannerRuleDeleteResponse: + description: Delete rule response. + properties: + meta: + $ref: '#/components/schemas/SensitiveDataScannerMetaVersionOnly' + type: object + SensitiveDataScannerRuleUpdateRequest: + description: Update rule request. + properties: + data: + $ref: '#/components/schemas/SensitiveDataScannerRuleUpdate' + meta: + $ref: '#/components/schemas/SensitiveDataScannerMetaVersionOnly' + required: + - data + - meta + type: object + SensitiveDataScannerRuleUpdateResponse: + description: Update rule response. + properties: + meta: + $ref: '#/components/schemas/SensitiveDataScannerMetaVersionOnly' + type: object + SensitiveDataScannerStandardPatternsResponseData: + description: List Standard patterns response data. + properties: + data: + $ref: '#/components/schemas/SensitiveDataScannerStandardPatternsResponse' + type: object + ListHistoricalJobsResponse: + description: List of historical jobs. + properties: + data: + description: Array containing the list of historical jobs. + items: + $ref: '#/components/schemas/HistoricalJobResponseData' + type: array + meta: + $ref: '#/components/schemas/HistoricalJobListMeta' + type: object + RunHistoricalJobRequest: + description: Run a historical job request. + properties: + data: + $ref: '#/components/schemas/RunHistoricalJobRequestData' + type: object + JobCreateResponse: + description: Run a historical job response. + properties: + data: + $ref: '#/components/schemas/JobCreateResponseData' + type: object + ConvertJobResultsToSignalsRequest: + description: Request for converting historical job results to signals. + properties: + data: + $ref: '#/components/schemas/ConvertJobResultsToSignalsData' + type: object + HistoricalJobResponse: + description: Historical job response. + properties: + data: + $ref: '#/components/schemas/HistoricalJobResponseData' + type: object + ScaRequest: + description: The top-level request object for submitting a Software Composition Analysis (SCA) scan result. + properties: + data: + $ref: '#/components/schemas/ScaRequestData' + type: object + McpScanRequest: + description: The top-level request object for submitting an MCP SCA dependency scan. + properties: + data: + $ref: '#/components/schemas/McpScanRequestData' + required: + - data + type: object + McpScanRequestResponse: + description: The top-level response object returned when an MCP SCA dependency scan request has been accepted. + properties: + data: + $ref: '#/components/schemas/McpScanRequestResponseData' + required: + - data + type: object + ScanResultResponse: + description: |- + The raw scan result document produced by the SCA processor. + The contents reflect the vulnerabilities and metadata produced for the libraries + submitted in the original scan request. + additionalProperties: {} + type: object + LicensesListResponse: + description: The top-level response object returned by the licenses list endpoint, containing the array of supported SPDX licenses. + properties: + data: + $ref: '#/components/schemas/LicensesListResponseData' + required: + - data + type: object + ResolveVulnerableSymbolsRequest: + description: The top-level request object for resolving vulnerable symbols in a set of packages. + properties: + data: + $ref: '#/components/schemas/ResolveVulnerableSymbolsRequestData' + type: object + ResolveVulnerableSymbolsResponse: + description: The top-level response object returned when resolving vulnerable symbols for a set of packages. + properties: + data: + $ref: '#/components/schemas/ResolveVulnerableSymbolsResponseData' + type: object + AiMemoryViolationResultsResponse: + description: Response containing a list of AI memory violation results. + properties: + data: + description: The list of AI memory violation results. + items: + $ref: '#/components/schemas/AiMemoryViolationResultResponseData' + type: array + required: + - data + type: object + AiMemoryViolationResultRequest: + description: Request body for creating an AI memory violation result. + properties: + data: + $ref: '#/components/schemas/AiMemoryViolationResultRequestData' + type: object + AiPromptsResponse: + description: Response containing a list of AI prompts. + properties: + data: + description: The list of AI prompts. + items: + $ref: '#/components/schemas/AiPromptResponseData' + type: array + required: + - data + type: object + AiCustomRulesetsResponse: + description: Response containing a list of AI custom rulesets. + properties: + data: + description: The list of AI custom rulesets. + items: + $ref: '#/components/schemas/AiCustomRulesetResponseData' + type: array + required: + - data + type: object + AiCustomRulesetRequest: + description: Request body for creating an AI custom ruleset. + properties: + data: + $ref: '#/components/schemas/AiCustomRulesetRequestData' + type: object + AiCustomRulesetResponse: + description: Response containing a single AI custom ruleset. + properties: + data: + $ref: '#/components/schemas/AiCustomRulesetResponseData' + required: + - data + type: object + AiCustomRulesetUpdateRequest: + description: Request body for updating an AI custom ruleset. + properties: + data: + $ref: '#/components/schemas/AiCustomRulesetUpdateData' + type: object + AiCustomRuleRequest: + description: Request body for creating an AI custom rule. + properties: + data: + $ref: '#/components/schemas/AiCustomRuleRequestData' + type: object + AiCustomRuleResponse: + description: Response containing a single AI custom rule. + properties: + data: + $ref: '#/components/schemas/AiCustomRuleResponseData' + required: + - data + type: object + AiCustomRuleRevisionsResponse: + description: Response containing a list of AI custom rule revisions. + properties: + data: + description: The list of AI custom rule revisions. + items: + $ref: '#/components/schemas/AiCustomRuleRevisionResponseData' + type: array + required: + - data + type: object + AiCustomRuleRevisionRequest: + description: Request body for creating an AI custom rule revision. + properties: + data: + $ref: '#/components/schemas/AiCustomRuleRevisionRequestData' + type: object + AiCustomRuleRevisionResponse: + description: Response containing a single AI custom rule revision. + properties: + data: + $ref: '#/components/schemas/AiCustomRuleRevisionResponseData' + required: + - data + type: object + SastRulesetsResponse: + description: The response payload containing a list of SAST rulesets and their rules. + properties: + data: + description: The list of SAST rulesets returned in the response. + items: + $ref: '#/components/schemas/SastRulesetData' + type: array + required: + - data + type: object + CustomRulesetListResponse: + description: Response containing a list of custom rulesets for the authenticated organization. + properties: + data: + description: The list of custom rulesets. + items: + $ref: '#/components/schemas/CustomRuleset' + type: array + required: + - data + type: object + CustomRulesetRequest: + description: Request body for creating or updating a custom ruleset. + properties: + data: + $ref: '#/components/schemas/CustomRulesetRequestData' + type: object + CustomRulesetResponse: + description: Response containing a single custom ruleset. + properties: + data: + $ref: '#/components/schemas/CustomRuleset' + required: + - data + type: object + CustomRuleRequest: + description: Request body for creating or updating a custom rule. + properties: + data: + $ref: '#/components/schemas/CustomRuleRequestData' + type: object + CustomRuleResponse: + description: Response containing a single custom rule. + properties: + data: + $ref: '#/components/schemas/CustomRuleResponseData' + required: + - data + type: object + CustomRuleRevisionsResponse: + description: Response containing a paginated list of custom rule revisions. + properties: + data: + description: List of custom rule revisions. + items: + $ref: '#/components/schemas/CustomRuleRevision' + type: array + type: object + CustomRuleRevisionRequest: + description: Request body for creating a new custom rule revision. + properties: + data: + $ref: '#/components/schemas/CustomRuleRevisionRequestData' + type: object + RevertCustomRuleRevisionRequest: + description: Request body for reverting a custom rule to a previous revision. + properties: + data: + $ref: '#/components/schemas/RevertCustomRuleRevisionRequestData' + type: object + CustomRuleRevisionResponse: + description: Response containing a single custom rule revision. + properties: + data: + $ref: '#/components/schemas/CustomRuleRevision' + required: + - data + type: object + DefaultRulesetsPerLanguageResponse: + description: The response payload containing the default ruleset names for a programming language. + properties: + data: + $ref: '#/components/schemas/DefaultRulesetsPerLanguageData' + required: + - data + type: object + GetMultipleRulesetsRequest: + description: The request payload for retrieving rules for multiple rulesets in a single batch call. + properties: + data: + $ref: '#/components/schemas/GetMultipleRulesetsRequestData' + type: object + GetMultipleRulesetsResponse: + description: The response payload for the get-multiple-rulesets endpoint, containing the requested rulesets and their rules. + properties: + data: + $ref: '#/components/schemas/GetMultipleRulesetsResponseData' + type: object + SastRulesetResponse: + description: The response payload containing a single SAST ruleset and its rules. + properties: + data: + $ref: '#/components/schemas/SastRulesetData' + required: + - data + type: object + SecretRuleArray: + description: A collection of secret detection rules returned by the list endpoint. + properties: + data: + description: The list of secret detection rules. + items: + $ref: '#/components/schemas/SecretRuleData' + type: array + required: + - data + type: object + AnalysisRequest: + description: The request payload for running static analysis on source code. + properties: + data: + $ref: '#/components/schemas/AnalysisRequestData' + required: + - data + type: object + AnalysisResponse: + description: The response payload from running static analysis on source code. + properties: + data: + $ref: '#/components/schemas/AnalysisResponseData' + required: + - data + type: object + GetAstRequest: + description: The request payload for parsing source code into an abstract syntax tree. + properties: + data: + $ref: '#/components/schemas/GetAstRequestData' + required: + - data + type: object + GetAstResponse: + description: The response payload containing the parsed abstract syntax tree. + properties: + data: + $ref: '#/components/schemas/GetAstResponseData' + required: + - data + type: object + NodeTypesResponse: + description: The response payload containing tree-sitter node type definitions for a programming language. + properties: + data: + $ref: '#/components/schemas/NodeTypesResponseData' + required: + - data + type: object + AddSignalToIncidentRequest: + description: Attributes describing which incident to add the signal to. + properties: + add_to_signal_timeline: + description: Whether to post the signal on the incident timeline. + type: boolean + incident_id: + description: Public ID attribute of the incident to which the signal will be added. + example: 2066 + format: int64 + type: integer + version: + $ref: '#/components/schemas/VersionV1' + required: + - incident_id + type: object + SuccessfulSignalUpdateResponse: + description: Updated signal data following a successfully performed update. + properties: + status: + description: Status of the response. + type: string + type: object + APIErrorResponseV1: + description: Error response object. + properties: + errors: + description: Array of errors returned by the API. + example: + - Bad Request + items: + description: Error description. + example: Bad Request + type: string + type: array + required: + - errors + type: object + SignalAssigneeUpdateRequest: + description: Attributes describing an assignee update operation over a security signal. + properties: + assignee: + description: The UUID of the user being assigned. Use empty string to return signal to unassigned. + example: 773b045d-ccf8-4808-bd3b-955ef6a8c940 + type: string + version: + $ref: '#/components/schemas/VersionV1' + required: + - assignee + type: object + SignalStateUpdateRequest: + description: Attributes describing the change of state for a given state. + properties: + archiveComment: + description: Optional comment to explain why a signal is being archived. + type: string + archiveReason: + $ref: '#/components/schemas/SignalArchiveReason' + state: + $ref: '#/components/schemas/SignalTriageState' + version: + $ref: '#/components/schemas/VersionV1' + required: + - state + type: object + AwsScanOptionsData: + description: Single AWS Scan Options entry. + properties: + attributes: + $ref: '#/components/schemas/AwsScanOptionsAttributes' + id: + description: The ID of the AWS account. + example: '184366314700' + type: string + type: + $ref: '#/components/schemas/AwsScanOptionsType' + type: object + AwsScanOptionsCreateData: + description: Object for the scan options of a single AWS account. + properties: + attributes: + $ref: '#/components/schemas/AwsScanOptionsCreateAttributes' + id: + $ref: '#/components/schemas/AwsAccountId' + type: + $ref: '#/components/schemas/AwsScanOptionsType' + required: + - id + - type + - attributes + type: object + AwsScanOptionsUpdateData: + description: Object for the scan options of a single AWS account. + properties: + attributes: + $ref: '#/components/schemas/AwsScanOptionsUpdateAttributes' + id: + $ref: '#/components/schemas/AwsAccountId' + type: + $ref: '#/components/schemas/AwsScanOptionsType' + required: + - id + - type + - attributes + type: object + AzureScanOptionsData: + description: Single Azure scan options entry. + properties: + attributes: + $ref: '#/components/schemas/AzureScanOptionsDataAttributes' + id: + description: The Azure subscription ID. + example: '' + type: string + type: + $ref: '#/components/schemas/AzureScanOptionsDataType' + required: + - type + - id + type: object + AzureScanOptionsInputUpdateData: + description: Data object for updating the scan options of a single Azure subscription. + properties: + attributes: + $ref: '#/components/schemas/AzureScanOptionsInputUpdateDataAttributes' + id: + description: The Azure subscription ID. + example: 12345678-90ab-cdef-1234-567890abcdef + type: string + type: + $ref: '#/components/schemas/AzureScanOptionsInputUpdateDataType' + required: + - type + - id + type: object + GcpScanOptionsData: + description: Single GCP scan options entry. + properties: + attributes: + $ref: '#/components/schemas/GcpScanOptionsDataAttributes' + id: + description: The GCP project ID. + example: '' + type: string + type: + $ref: '#/components/schemas/GcpScanOptionsDataType' + required: + - type + - id + type: object + GcpScanOptionsInputUpdateData: + description: Data object for updating the scan options of a single GCP project. + properties: + attributes: + $ref: '#/components/schemas/GcpScanOptionsInputUpdateDataAttributes' + id: + description: The GCP project ID. + example: '' + type: string + type: + $ref: '#/components/schemas/GcpScanOptionsInputUpdateDataType' + required: + - type + - id + type: object + AwsOnDemandData: + description: Single AWS on demand task. + properties: + attributes: + $ref: '#/components/schemas/AwsOnDemandAttributes' + id: + description: The UUID of the task. + example: 6d09294c-9ad9-42fd-a759-a0c1599b4828 + type: string + type: + $ref: '#/components/schemas/AwsOnDemandType' + type: object + AwsOnDemandCreateData: + description: Object for a single AWS on demand task. + properties: + attributes: + $ref: '#/components/schemas/AwsOnDemandCreateAttributes' + type: + $ref: '#/components/schemas/AwsOnDemandType' + required: + - type + - attributes + type: object + CustomFrameworkData: + description: Contains type and attributes for custom frameworks. + properties: + attributes: + $ref: '#/components/schemas/CustomFrameworkDataAttributes' + type: + $ref: '#/components/schemas/CustomFrameworkType' + required: + - type + - attributes + type: object + FrameworkHandleAndVersionResponseData: + description: Contains type and attributes for custom frameworks. + properties: + attributes: + $ref: '#/components/schemas/CustomFrameworkDataHandleAndVersion' + id: + description: The ID of the custom framework. + example: handle-version + type: string + type: + $ref: '#/components/schemas/CustomFrameworkType' + required: + - id + - type + - attributes + type: object + CustomFrameworkMetadata: + description: Metadata for custom frameworks. + properties: + attributes: + $ref: '#/components/schemas/CustomFrameworkWithoutRequirements' + id: + description: The ID of the custom framework. + example: handle-version + type: string + type: + $ref: '#/components/schemas/CustomFrameworkType' + type: object + FullCustomFrameworkData: + description: Contains type and attributes for custom frameworks. + properties: + attributes: + $ref: '#/components/schemas/FullCustomFrameworkDataAttributes' + id: + description: The ID of the custom framework. + example: handle-version + type: string + type: + $ref: '#/components/schemas/CustomFrameworkType' + required: + - id + - type + - attributes + type: object + GetResourceEvaluationFiltersResponseData: + description: The definition of `GetResourceFilterResponseData` object. + properties: + attributes: + $ref: '#/components/schemas/ResourceFilterAttributes' + id: + description: The `data` `id`. + example: csm_resource_filter + type: string + type: + $ref: '#/components/schemas/ResourceFilterRequestType' + type: object + UpdateResourceEvaluationFiltersRequestData: + description: The definition of `UpdateResourceFilterRequestData` object. + properties: + attributes: + $ref: '#/components/schemas/ResourceFilterAttributes' + id: + description: The `UpdateResourceEvaluationFiltersRequestData` `id`. + example: csm_resource_filter + type: string + type: + $ref: '#/components/schemas/ResourceFilterRequestType' + required: + - attributes + - type + type: object + UpdateResourceEvaluationFiltersResponseData: + description: The definition of `UpdateResourceFilterResponseData` object. + properties: + attributes: + $ref: '#/components/schemas/ResourceFilterAttributes' + id: + description: The `data` `id`. + example: csm_resource_filter + type: string + type: + $ref: '#/components/schemas/ResourceFilterRequestType' + required: + - attributes + - type + type: object + RuleBasedViewData: + description: Data envelope for the rule-based view response. + properties: + attributes: + $ref: '#/components/schemas/RuleBasedViewAttributes' + id: + description: Unique identifier of the rule-based view document. + example: JSONAPI_USELESS_ID + type: string + type: + $ref: '#/components/schemas/RuleBasedViewType' + required: + - attributes + - id + - type + type: object + JSONAPIErrorItem: + description: API error response body + properties: + detail: + description: A human-readable explanation specific to this occurrence of the error. + example: Missing required attribute in body + type: string + meta: + additionalProperties: {} + description: Non-standard meta-information about the error + type: object + source: + $ref: '#/components/schemas/JSONAPIErrorItemSource' + status: + description: Status code of the response. + example: '400' + type: string + title: + description: Short human-readable summary of the error. + example: Bad Request + type: string + type: object + CsmAgentData: + description: Single Agent Data. + properties: + attributes: + $ref: '#/components/schemas/CsmAgentsAttributes' + id: + description: The ID of the Agent. + example: fffffc5505f6a006fdf7cf5aae053653 + type: string + type: + $ref: '#/components/schemas/CSMAgentsType' + type: object + CSMAgentsMetadata: + description: Metadata related to the paginated response. + properties: + page_index: + description: The index of the current page in the paginated results. + example: 0 + format: int64 + type: integer + page_size: + description: The number of items per page in the paginated results. + example: 10 + format: int64 + type: integer + total_filtered: + description: Total number of items that match the filter criteria. + example: 128697 + format: int64 + type: integer + type: object + CsmCloudAccountsCoverageAnalysisData: + description: CSM Cloud Accounts Coverage Analysis data. + properties: + attributes: + $ref: '#/components/schemas/CsmCloudAccountsCoverageAnalysisAttributes' + id: + description: The ID of your organization. + example: 66b3c6b5-5c9a-457e-b1c3-f247ca23afa3 + type: string + type: + default: get_cloud_accounts_coverage_analysis_response_public_v0 + description: The type of the resource. The value should always be `get_cloud_accounts_coverage_analysis_response_public_v0`. + example: get_cloud_accounts_coverage_analysis_response_public_v0 + type: string + type: object + CsmHostsAndContainersCoverageAnalysisData: + description: CSM Hosts and Containers Coverage Analysis data. + properties: + attributes: + $ref: '#/components/schemas/CsmHostsAndContainersCoverageAnalysisAttributes' + id: + description: The ID of your organization. + example: 66b3c6b5-5c9a-457e-b1c3-f247ca23afa3 + type: string + type: + default: get_hosts_and_containers_coverage_analysis_response_public_v0 + description: The type of the resource. The value should always be `get_hosts_and_containers_coverage_analysis_response_public_v0`. + example: get_hosts_and_containers_coverage_analysis_response_public_v0 + type: string + type: object + CsmServerlessCoverageAnalysisData: + description: CSM Serverless Resources Coverage Analysis data. + properties: + attributes: + $ref: '#/components/schemas/CsmServerlessCoverageAnalysisAttributes' + id: + description: The ID of your organization. + example: 66b3c6b5-5c9a-457e-b1c3-f247ca23afa3 + type: string + type: + default: get_serverless_coverage_analysis_response_public_v0 + description: The type of the resource. The value should always be `get_serverless_coverage_analysis_response_public_v0`. + example: get_serverless_coverage_analysis_response_public_v0 + type: string + type: object + OwnershipSettingsData: + description: The data wrapper for an ownership settings response. + properties: + attributes: + $ref: '#/components/schemas/OwnershipSettingsAttributes' + id: + description: The identifier of the ownership settings resource. + example: settings + type: string + type: + $ref: '#/components/schemas/OwnershipSettingsType' + required: + - id + - type + - attributes + type: object + OwnershipSettingsRequestData: + description: The data wrapper for an ownership settings request. + properties: + attributes: + $ref: '#/components/schemas/OwnershipSettingsRequestAttributes' + type: + $ref: '#/components/schemas/OwnershipSettingsType' + required: + - type + - attributes + type: object + OwnershipUntaggedFindingsData: + description: The data wrapper for an ownership untagged findings response. + properties: + attributes: + $ref: '#/components/schemas/OwnershipUntaggedFindingsAttributes' + id: + description: The identifier of the ownership untagged findings resource. + example: untagged + type: string + type: + $ref: '#/components/schemas/OwnershipUntaggedFindingsType' + required: + - id + - type + - attributes + type: object + OwnershipInferenceListData: + description: The data wrapper for the ownership inferences collection response. + properties: + attributes: + $ref: '#/components/schemas/OwnershipInferenceListAttributes' + id: + description: The resource identifier associated with the returned inferences. + example: test-resource + type: string + type: + $ref: '#/components/schemas/OwnershipInferencesType' + required: + - id + - type + - attributes + type: object + OwnershipHistoryData: + description: The data wrapper for an ownership history response. + properties: + attributes: + $ref: '#/components/schemas/OwnershipHistoryAttributes' + id: + description: The resource identifier for which history is returned. + example: res-1 + type: string + type: + $ref: '#/components/schemas/OwnershipHistoryType' + required: + - id + - type + - attributes + type: object + OwnershipInferenceData: + description: The data wrapper for a single ownership inference response. + properties: + attributes: + $ref: '#/components/schemas/OwnershipInferenceAttributes' + id: + description: The identifier of the inference, formatted as `resource_id:owner_type`. + example: test-resource:team + type: string + type: + $ref: '#/components/schemas/OwnershipInferenceType' + required: + - id + - type + - attributes + type: object + OwnershipEvidenceData: + description: The data wrapper for an ownership evidence response. + properties: + attributes: + $ref: '#/components/schemas/OwnershipEvidenceAttributes' + id: + description: The identifier of the resource the evidence applies to. + example: test-resource + type: string + type: + $ref: '#/components/schemas/OwnershipEvidenceType' + required: + - id + - type + - attributes + type: object + OwnershipFeedbackRequestData: + description: The data wrapper for an ownership feedback request. + properties: + attributes: + $ref: '#/components/schemas/OwnershipFeedbackRequestAttributes' + type: + $ref: '#/components/schemas/OwnershipFeedbackType' + required: + - type + - attributes + type: object + OwnershipFeedbackResultData: + description: The data wrapper for an ownership feedback result response. + properties: + attributes: + $ref: '#/components/schemas/OwnershipFeedbackResultAttributes' + id: + description: The identifier of the resource that the feedback was applied to. + example: res-1 + type: string + type: + $ref: '#/components/schemas/OwnershipFeedbackResultType' + required: + - id + - type + - attributes + type: object + CsmAgentlessHostItems: + description: The list of agentless hosts for the current page. + items: + $ref: '#/components/schemas/CsmAgentlessHostData' + type: array + CsmSettingsMeta: + description: Pagination metadata for a CSM settings list response. + properties: + page_index: + description: The current page index (zero-based). + example: 0 + format: int64 + type: integer + page_size: + description: The number of resources returned per page. + example: 10 + format: int64 + type: integer + total_filtered: + description: The total number of resources matching the filter criteria. + example: 100 + format: int64 + type: integer + required: + - total_filtered + - page_index + - page_size + type: object + CsmHostFacetInfoData: + description: The data wrapper for a facet info response. + properties: + attributes: + $ref: '#/components/schemas/CsmHostFacetInfoAttributes' + id: + description: The identifier of the facet. + example: cloud_provider + type: string + meta: + $ref: '#/components/schemas/CsmHostFacetInfoMeta' + type: + $ref: '#/components/schemas/CsmFacetInfoType' + required: + - id + - type + - attributes + - meta + type: object + CsmAgentlessHostFacetItems: + description: The list of available facets for agentless hosts. + items: + $ref: '#/components/schemas/CsmAgentlessHostFacetData' + type: array + CsmUnifiedHostItems: + description: The list of unified hosts for the current page. + items: + $ref: '#/components/schemas/CsmUnifiedHostData' + type: array + CsmUnifiedHostsMeta: + description: Pagination metadata for a unified hosts list response. + properties: + page_index: + description: The current page index (zero-based). + example: 0 + format: int64 + type: integer + page_size: + description: The number of hosts returned per page. + example: 10 + format: int64 + type: integer + total_filtered: + description: The total number of hosts matching the filter criteria. + example: 100 + format: int64 + type: integer + total_pages: + description: The total number of pages available. + example: 10 + format: int64 + type: integer + required: + - total_filtered + - page_index + - page_size + - total_pages + type: object + CsmUnifiedHostFacetItems: + description: The list of available facets for unified hosts. + items: + $ref: '#/components/schemas/CsmUnifiedHostFacetData' + type: array + ListFindingsData: + description: Array of findings. + items: + $ref: '#/components/schemas/Finding' + type: array + ListFindingsMeta: + additionalProperties: false + description: Metadata for pagination. + properties: + page: + $ref: '#/components/schemas/ListFindingsPage' + snapshot_timestamp: + description: The point in time corresponding to the listed findings. + example: 1678721573794 + format: int64 + minimum: 1 + type: integer + type: object + DetailedFinding: + description: A single finding with with message and resource configuration. + properties: + attributes: + $ref: '#/components/schemas/DetailedFindingAttributes' + id: + $ref: '#/components/schemas/FindingID' + type: + $ref: '#/components/schemas/DetailedFindingType' + type: object + SecurityEntityRiskScore: + description: An entity risk score containing security risk assessment information + properties: + attributes: + $ref: '#/components/schemas/SecurityEntityRiskScoreAttributes' + id: + description: Unique identifier for the entity + example: arn:aws:iam::123456789012:user/john.doe + type: string + type: + $ref: '#/components/schemas/SecurityEntityRiskScoreType' + required: + - id + - type + - attributes + type: object + SecurityEntityRiskScoresMeta: + description: Metadata for pagination + properties: + pageNumber: + description: Current page number (1-indexed) + example: 1 + format: int64 + type: integer + pageSize: + description: Number of items per page + example: 10 + format: int64 + type: integer + queryId: + description: Query ID for pagination consistency + example: abc123def456 + type: string + totalRowCount: + description: Total number of entities matching the query + example: 150 + format: int64 + type: integer + required: + - queryId + - totalRowCount + - pageSize + - pageNumber + type: object + ApplicationSecurityServiceResource: + description: A JSON:API resource describing a service and its Application Security details. + properties: + attributes: + $ref: '#/components/schemas/ApplicationSecurityServiceAttributes' + id: + description: The unique identifier of the service, formatted as `_`. + example: web-store_prod + type: string + type: + $ref: '#/components/schemas/ApplicationSecurityServiceType' + required: + - id + - type + - attributes + type: object + ApplicationSecurityServicesMetadata: + description: Metadata returned alongside the list of services. + properties: + num_services_with_appsec: + description: The number of services with Application Security Management (Threats) enabled. + example: 1 + format: int64 + type: integer + required: + - num_services_with_appsec + type: object + SecurityFindingsData: + description: A single security finding. + properties: + attributes: + $ref: '#/components/schemas/SecurityFindingsAttributes' + id: + description: The unique ID of the security finding. + example: ZGVmLTAwcC1pZXJ-aS0wZjhjNjMyZDNmMzRlZTgzNw== + type: string + type: + $ref: '#/components/schemas/SecurityFindingsDataType' + type: object + SecurityFindingsLinks: + description: Links for pagination. + properties: + next: + description: Link for the next page of results. Note that paginated requests can also be made using the POST endpoint. + example: https://app.datadoghq.com/api/v2/security/findings?page[cursor]=eyJhZnRlciI6IkF3QUFBWnPcm1pd0FBQUJbVlBQUKBa1pqRTVdZUzSTBNemN0YWiIsLTE3Mjk0MzYwMjFdfQ==&page[limit]=25 + type: string + type: object + SecurityFindingsMeta: + description: Metadata about the response. + properties: + elapsed: + description: The time elapsed in milliseconds. + example: 548 + format: int64 + type: integer + page: + $ref: '#/components/schemas/SecurityFindingsPage' + request_id: + description: The identifier of the request. + example: pddv1ChZwVlMxMUdYRFRMQ1lyb3B4MGNYbFlnIi0KHQu35LDbucx + type: string + status: + $ref: '#/components/schemas/SecurityFindingsStatus' + type: object + AssigneeRequestData: + description: Data of the assignee request. + properties: + attributes: + $ref: '#/components/schemas/AssigneeRequestDataAttributes' + id: + description: Unique identifier of the assignee request. + example: 00000000-0000-0000-0000-000000000001 + type: string + relationships: + $ref: '#/components/schemas/AssigneeRequestDataRelationships' + type: + $ref: '#/components/schemas/AssigneeDataType' + required: + - relationships + - type + type: object + AssigneeResponseData: + description: Data of the assignee response. + properties: + attributes: + $ref: '#/components/schemas/AssigneeResponseDataAttributes' + id: + description: Unique identifier of the assignee request. + example: 00000000-0000-0000-0000-000000000001 + type: string + type: + $ref: '#/components/schemas/AssigneeDataType' + required: + - id + - type + - attributes + type: object + AssigneeResponseMeta: + description: Per-finding warnings and failures produced while processing the bulk assignee request. + properties: + failures: + description: Findings that could not be assigned or unassigned. + items: + $ref: '#/components/schemas/AssignmentResult' + type: array + warnings: + description: Findings for which the assignment succeeded but a non-critical error occurred during processing. + items: + $ref: '#/components/schemas/AssignmentResult' + type: array + type: object + DueDateRulesDataList: + description: A list of due date rule data objects. + items: + $ref: '#/components/schemas/DueDateRuleDataResponse' + type: array + SecurityAutomationRulesLinks: + description: Pagination links for the list of automation rules. + properties: + first: + description: Link to the first page of results. + example: /api/v2/security/findings/automation/mute_rules?page[size]=10&page[number]=0 + type: string + last: + description: Link to the last page of results. + example: /api/v2/security/findings/automation/mute_rules?page[size]=10&page[number]=5 + type: string + next: + description: Link to the next page of results. + example: /api/v2/security/findings/automation/mute_rules?page[size]=10&page[number]=2 + type: string + prev: + description: Link to the previous page of results. + example: /api/v2/security/findings/automation/mute_rules?page[size]=10&page[number]=0 + type: string + required: + - first + - last + type: object + SecurityAutomationRulesMeta: + description: Metadata for the list of automation rules. + properties: + page: + $ref: '#/components/schemas/SecurityAutomationRulesPageInfo' + required: + - page + type: object + DueDateRuleDataCreate: + description: The data object for a due date rule create or update request. + properties: + attributes: + $ref: '#/components/schemas/DueDateRuleAttributesCreate' + type: + $ref: '#/components/schemas/DueDateRuleType' + required: + - type + - attributes + type: object + DueDateRuleDataResponse: + description: The data object for a due date rule returned by the API. + properties: + attributes: + $ref: '#/components/schemas/DueDateRuleAttributesResponse' + id: + description: The ID of the due date rule. + example: 00000000-0000-0000-0000-000000000000 + format: uuid + type: string + type: + $ref: '#/components/schemas/DueDateRuleType' + required: + - id + - type + - attributes + type: object + DueDateRuleReorderData: + description: The ordered list of all due date rules; every rule must be included. + items: + $ref: '#/components/schemas/DueDateRuleReorderItem' + type: array + MuteRulesDataList: + description: A list of mute rule data objects. + items: + $ref: '#/components/schemas/MuteRuleDataResponse' + type: array + MuteRuleDataCreate: + description: The data object for a mute rule create or update request. + properties: + attributes: + $ref: '#/components/schemas/MuteRuleAttributesCreate' + type: + $ref: '#/components/schemas/MuteRuleType' + required: + - type + - attributes + type: object + MuteRuleDataResponse: + description: The data object for a mute rule returned by the API. + properties: + attributes: + $ref: '#/components/schemas/MuteRuleAttributesResponse' + id: + description: The ID of the mute rule. + example: 00000000-0000-0000-0000-000000000000 + format: uuid + type: string + type: + $ref: '#/components/schemas/MuteRuleType' + required: + - id + - type + - attributes + type: object + MuteRuleReorderData: + description: The ordered list of all mute rules; every rule must be included. + items: + $ref: '#/components/schemas/MuteRuleReorderItem' + type: array + SeverityModifierRulesDataList: + description: A list of severity modifier rule data objects. + items: + $ref: '#/components/schemas/SeverityModifierRuleDataResponse' + type: array + SeverityModifierRuleDataCreate: + description: The data object for a severity modifier rule create or update request. + properties: + attributes: + $ref: '#/components/schemas/SeverityModifierRuleAttributesCreate' + type: + $ref: '#/components/schemas/SeverityModifierRuleType' + required: + - type + - attributes + type: object + SeverityModifierRuleDataResponse: + description: The data object for a severity modifier rule as returned by the API. + properties: + attributes: + $ref: '#/components/schemas/SeverityModifierRuleAttributesResponse' + id: + description: The ID of the severity modifier rule. + example: 00000000-0000-0000-0000-000000000000 + format: uuid + type: string + type: + $ref: '#/components/schemas/SeverityModifierRuleType' + required: + - id + - type + - attributes + type: object + SeverityModifierRuleReorderData: + description: The ordered list of severity modifier rules; every rule must be included. + items: + $ref: '#/components/schemas/SeverityModifierRuleReorderItem' + type: array + TicketCreationRulesDataList: + description: A list of ticket creation rule data objects. + items: + $ref: '#/components/schemas/TicketCreationRuleDataResponse' + type: array + TicketCreationRuleDataCreate: + description: The data object for a ticket creation rule create or update request. + properties: + attributes: + $ref: '#/components/schemas/TicketCreationRuleAttributesCreate' + type: + $ref: '#/components/schemas/TicketCreationRuleType' + required: + - type + - attributes + type: object + TicketCreationRuleDataResponse: + description: The data object for a ticket creation rule returned by the API. + properties: + attributes: + $ref: '#/components/schemas/TicketCreationRuleAttributesResponse' + id: + description: The ID of the ticket creation rule. + example: 00000000-0000-0000-0000-000000000000 + format: uuid + type: string + type: + $ref: '#/components/schemas/TicketCreationRuleType' + required: + - id + - type + - attributes + type: object + TicketCreationRuleReorderData: + description: The ordered list of all ticket creation rules; every rule must be included. + items: + $ref: '#/components/schemas/TicketCreationRuleReorderItem' + type: array + DetachCaseRequestData: + description: Data for detaching security findings from their case. + properties: + relationships: + $ref: '#/components/schemas/DetachCaseRequestDataRelationships' + type: + $ref: '#/components/schemas/CaseDataType' + required: + - type + type: object + CreateCaseRequestData: + description: Data of the case to create. + properties: + attributes: + $ref: '#/components/schemas/CreateCaseRequestDataAttributes' + relationships: + $ref: '#/components/schemas/CreateCaseRequestDataRelationships' + type: + $ref: '#/components/schemas/CaseDataType' + required: + - type + type: object + FindingCaseResponseData: + description: Data of the case. + properties: + attributes: + $ref: '#/components/schemas/FindingCaseResponseDataAttributes' + id: + description: Unique identifier of the case. + example: c1234567-89ab-cdef-0123-456789abcdef + type: string + relationships: + $ref: '#/components/schemas/FindingCaseResponseDataRelationships' + type: + $ref: '#/components/schemas/CaseDataType' + required: + - type + type: object + AttachCaseRequestData: + description: Data of the case to attach security findings to. + properties: + id: + description: Unique identifier of the case. + example: c1234567-89ab-cdef-0123-456789abcdef + type: string + relationships: + $ref: '#/components/schemas/AttachCaseRequestDataRelationships' + type: + $ref: '#/components/schemas/CaseDataType' + required: + - type + - id + type: object + AttachJiraIssueRequestData: + description: Data of the Jira issue to attach security findings to. + properties: + attributes: + $ref: '#/components/schemas/AttachJiraIssueRequestDataAttributes' + relationships: + $ref: '#/components/schemas/AttachJiraIssueRequestDataRelationships' + type: + $ref: '#/components/schemas/JiraIssuesDataType' + required: + - type + type: object + CreateJiraIssueRequestData: + description: Data of the Jira issue to create. + properties: + attributes: + $ref: '#/components/schemas/CreateJiraIssueRequestDataAttributes' + relationships: + $ref: '#/components/schemas/CreateJiraIssueRequestDataRelationships' + type: + $ref: '#/components/schemas/JiraIssuesDataType' + required: + - type + type: object + AttachLinearIssueRequestData: + description: Data of the Linear issue to attach security findings to. + properties: + attributes: + $ref: '#/components/schemas/AttachLinearIssueRequestDataAttributes' + relationships: + $ref: '#/components/schemas/AttachLinearIssueRequestDataRelationships' + type: + $ref: '#/components/schemas/LinearIssuesDataType' + required: + - attributes + - relationships + - type + type: object + CreateLinearIssueRequestData: + description: Data of the Linear issue to create. + properties: + attributes: + $ref: '#/components/schemas/CreateLinearIssueRequestDataAttributes' + relationships: + $ref: '#/components/schemas/CreateLinearIssueRequestDataRelationships' + type: + $ref: '#/components/schemas/LinearIssuesDataType' + required: + - type + type: object + MuteFindingsRequestData: + description: Data of the mute request. + properties: + attributes: + $ref: '#/components/schemas/MuteFindingsRequestDataAttributes' + id: + description: Unique identifier of the mute request. + example: 00000000-0000-0000-0000-000000000001 + type: string + relationships: + $ref: '#/components/schemas/MuteFindingsRequestDataRelationships' + type: + $ref: '#/components/schemas/MuteDataType' + required: + - attributes + - relationships + - type + type: object + MuteFindingsResponseData: + description: Data of the mute response. + properties: + id: + description: Unique identifier of the mute request. + example: 00000000-0000-0000-0000-000000000001 + type: string + type: + $ref: '#/components/schemas/MuteDataType' + required: + - type + - id + type: object + SecurityFindingsSearchRequestData: + description: Request data for searching security findings. + properties: + attributes: + $ref: '#/components/schemas/SecurityFindingsSearchRequestDataAttributes' + type: object + AttachServiceNowTicketRequestData: + description: Data of the ServiceNow ticket to attach security findings to. + properties: + attributes: + $ref: '#/components/schemas/AttachServiceNowTicketRequestDataAttributes' + relationships: + $ref: '#/components/schemas/AttachServiceNowTicketRequestDataRelationships' + type: + $ref: '#/components/schemas/ServiceNowTicketsDataType' + required: + - attributes + - relationships + - type + type: object + CreateServiceNowTicketRequestData: + description: Data of the ServiceNow ticket to create. + properties: + attributes: + $ref: '#/components/schemas/CreateServiceNowTicketRequestDataAttributes' + relationships: + $ref: '#/components/schemas/CreateServiceNowTicketRequestDataRelationships' + type: + $ref: '#/components/schemas/ServiceNowTicketsDataType' + required: + - relationships + - type + type: object + SBOM: + description: A single SBOM + properties: + attributes: + $ref: '#/components/schemas/SBOMAttributes' + id: + description: The unique ID for this SBOM (it is equivalent to the `asset_name` or `asset_name@repo_digest` (Image) + example: github.com/datadog/datadog-agent + type: string + type: + $ref: '#/components/schemas/SBOMType' + type: object + Links: + description: The JSON:API links related to pagination. + properties: + first: + description: First page link. + example: https://api.datadoghq.com/api/v2/security/vulnerabilities?page%5Bnumber%5D=1&page%5Btoken%5D=b82cef018aab81ed1d4bb4xb35xxfc065da7efa685fbcecdbd338f3015e3afabbbfa3a911b4984_721ee28a-zecb-4e45-9960-c42065b574f4 + type: string + last: + description: Last page link. + example: https://api.datadoghq.com/api/v2/security/vulnerabilities?page%5Bnumber%5D=15&page%5Btoken%5D=b82cef018aab81ed1d4bb4xb35xxfc065da7efa685fbcecdbd338f3015e3afabbbfa3a911b4984_721ee28a-zecb-4e45-9960-c42065b574f4 + type: string + next: + description: Next page link. + example: https://api.datadoghq.com/api/v2/security/vulnerabilities?page%5Bnumber%5D=16&page%5Btoken%5D=b82cef018aab81ed1d4bb4xb35xxfc065da7efa685fbcecdbd338f3015e3afabbbfa3a911b4984_721ee28a-zecb-4e45-9960-c42065b574f4 + type: string + previous: + description: Previous page link. + example: https://api.datadoghq.com/api/v2/security/vulnerabilities?page%5Bnumber%5D=14&page%5Btoken%5D=b82cef018aab81ed1d4bb4xb35xxfc065da7efa685fbcecdbd338f3015e3afabbbfa3a911b4984_721ee28a-zecb-4e45-9960-c42065b574f4 + type: string + self: + description: Request link. + example: https://api.datadoghq.com/api/v2/security/vulnerabilities?filter%5Btool%5D=Infra + type: string + required: + - self + - first + - last + type: object + Metadata: + description: The metadata related to this request. + properties: + count: + description: Number of entities included in the response. + example: 150 + format: int64 + type: integer + token: + description: The token that identifies the request. + example: b82cef018aab81ed1d4bb4xb35xxfc065da7efa685fbcecdbd338f3015e3afabbbfa3a911b4984_721ee28a-zecb-4e45-9960-c42065b574f4 + type: string + total: + description: Total number of entities across all pages. + example: 152431 + format: int64 + type: integer + required: + - count + - total + - token + type: object + ScannedAssetMetadata: + description: The metadata of a scanned asset. + properties: + attributes: + $ref: '#/components/schemas/ScannedAssetMetadataAttributes' + id: + description: The ID of the scanned asset metadata. + example: Host|i-0fc7edef1ab26d7ef + type: string + type: + $ref: '#/components/schemas/ScannedAssetMetadataType' + required: + - id + - type + - attributes + type: object + IoCExplorerListResponseData: + description: IoC Explorer list response data object. + properties: + attributes: + $ref: '#/components/schemas/IoCExplorerListResponseAttributes' + id: + description: Unique identifier for the response. + type: string + type: + description: Response type identifier. + type: string + type: object + GetIoCIndicatorResponseData: + description: IoC indicator response data object. + properties: + attributes: + $ref: '#/components/schemas/GetIoCIndicatorResponseAttributes' + id: + description: Unique identifier for the response. + type: string + type: + description: Response type identifier. + type: string + type: object + IoCTriageWriteRequestData: + description: Data object for the triage write request. + properties: + attributes: + $ref: '#/components/schemas/IoCTriageWriteRequestAttributes' + type: + default: ioc_triage_state + description: Triage state resource type. + example: ioc_triage_state + type: string + required: + - type + - attributes + type: object + IoCTriageWriteResponseData: + description: Data object of the triage write response. + properties: + attributes: + $ref: '#/components/schemas/IoCTriageWriteResponseAttributes' + id: + description: Unique identifier for the triage state record. + type: string + type: + default: ioc_triage_state + description: Triage state resource type. + type: string + type: object + NotificationRulesListResponse: + description: The list of notification rules. + properties: + data: + items: + $ref: '#/components/schemas/NotificationRule' + type: array + type: object + CreateNotificationRuleParametersData: + description: 'Data of the notification rule create request: the rule type, and the rule attributes. All fields are required.' + properties: + attributes: + $ref: '#/components/schemas/CreateNotificationRuleParametersDataAttributes' + type: + $ref: '#/components/schemas/NotificationRulesType' + required: + - attributes + - type + type: object + NotificationRule: + description: |- + Notification rules allow full control over notifications generated by the various Datadog security products. + They allow users to define the conditions under which a notification should be generated (based on rule severities, + rule types, rule tags, and so on), and the targets to notify. + A notification rule is composed of a rule ID, a rule type, and the rule attributes. All fields are required. + properties: + attributes: + $ref: '#/components/schemas/NotificationRuleAttributes' + id: + $ref: '#/components/schemas/ID' + type: + $ref: '#/components/schemas/NotificationRulesType' + required: + - attributes + - id + - type + type: object + PatchNotificationRuleParametersData: + description: 'Data of the notification rule patch request: the rule ID, the rule type, and the rule attributes. All fields are required.' + properties: + attributes: + $ref: '#/components/schemas/PatchNotificationRuleParametersDataAttributes' + id: + $ref: '#/components/schemas/ID' + type: + $ref: '#/components/schemas/NotificationRulesType' + required: + - attributes + - id + - type + type: object + Vulnerability: + description: A single vulnerability + properties: + attributes: + $ref: '#/components/schemas/VulnerabilityAttributes' + id: + description: The unique ID for this vulnerability. + example: 3ecdfea798f2ce8f6e964805a344945f + type: string + relationships: + $ref: '#/components/schemas/VulnerabilityRelationships' + type: + $ref: '#/components/schemas/VulnerabilitiesType' + required: + - id + - type + - attributes + - relationships + type: object + CycloneDXComponent: + description: A software component identified during scanning. + properties: + bom-ref: + description: A unique reference identifier used to link vulnerabilities to this component. + example: a3390fca-c315-41ae-ae05-af5e7859cdee + type: string + name: + description: The name of the component. + example: lodash + type: string + purl: + description: The Package URL (PURL) of the component. Required when `type` is `library`. + example: pkg:npm/lodash@4.17.21 + type: string + type: + $ref: '#/components/schemas/CycloneDXComponentType' + version: + description: The version of the component. + example: 4.17.21 + type: string + required: + - bom-ref + - type + - name + - version + type: object + CycloneDXMetadata: + description: Metadata about the BOM, including the scanned asset and the scanner tool. + properties: + component: + $ref: '#/components/schemas/CycloneDXMetadataComponent' + tools: + $ref: '#/components/schemas/CycloneDXMetadataTools' + required: + - component + - tools + type: object + CycloneDXVulnerability: + description: A security vulnerability affecting one or more components. + properties: + advisories: + description: External advisory references for the vulnerability. + items: + $ref: '#/components/schemas/CycloneDXVulnerabilityAdvisory' + type: array + affects: + description: The components affected by this vulnerability. Must be non-empty. Each `ref` must match a `bom-ref` in `components`. + items: + $ref: '#/components/schemas/CycloneDXVulnerabilityAffects' + type: array + analysis: + $ref: '#/components/schemas/CycloneDXVulnerabilityAnalysis' + cwes: + description: CWE identifiers associated with the vulnerability. + example: + - 123 + - 345 + items: + format: int64 + type: integer + type: array + description: + description: A short description of the vulnerability. + example: Sample vulnerability detected in the application. + type: string + detail: + description: Detailed information about the vulnerability. + example: Details about the vulnerability. + type: string + id: + description: The vulnerability identifier (for example, a CVE ID). + example: CVE-2021-1234 + type: string + ratings: + description: The severity ratings for the vulnerability. Must contain exactly one element. + items: + $ref: '#/components/schemas/CycloneDXVulnerabilityRating' + type: array + references: + description: External reference identifiers for the vulnerability. + items: + $ref: '#/components/schemas/CycloneDXVulnerabilityReference' + type: array + required: + - id + - ratings + - affects + type: object + Asset: + description: A single vulnerable asset + properties: + attributes: + $ref: '#/components/schemas/AssetAttributes' + id: + description: The unique ID for this asset. + example: Repository|github.com/DataDog/datadog-agent.git + type: string + type: + $ref: '#/components/schemas/AssetEntityType' + required: + - id + - type + - attributes + type: object + CloudWorkloadSecurityAgentRuleData: + description: Object for a single Agent rule + properties: + attributes: + $ref: '#/components/schemas/CloudWorkloadSecurityAgentRuleAttributes' + id: + description: The ID of the Agent rule + example: 3dd-0uc-h1s + type: string + type: + $ref: '#/components/schemas/CloudWorkloadSecurityAgentRuleType' + type: object + CloudWorkloadSecurityAgentRuleCreateData: + description: Object for a single Agent rule + properties: + attributes: + $ref: '#/components/schemas/CloudWorkloadSecurityAgentRuleCreateAttributes' + type: + $ref: '#/components/schemas/CloudWorkloadSecurityAgentRuleType' + required: + - attributes + - type + type: object + CloudWorkloadSecurityAgentRuleUpdateData: + description: Object for a single Agent rule + properties: + attributes: + $ref: '#/components/schemas/CloudWorkloadSecurityAgentRuleUpdateAttributes' + id: + $ref: '#/components/schemas/CloudWorkloadSecurityAgentRuleID' + type: + $ref: '#/components/schemas/CloudWorkloadSecurityAgentRuleType' + required: + - attributes + - type + type: object + SecurityMonitoringCriticalAsset: + description: The critical asset's properties. + properties: + attributes: + $ref: '#/components/schemas/SecurityMonitoringCriticalAssetAttributes' + id: + $ref: '#/components/schemas/SecurityMonitoringCriticalAssetID' + type: + $ref: '#/components/schemas/SecurityMonitoringCriticalAssetType' + type: object + SecurityMonitoringCriticalAssetCreateData: + description: Object for a single critical asset. + properties: + attributes: + $ref: '#/components/schemas/SecurityMonitoringCriticalAssetCreateAttributes' + type: + $ref: '#/components/schemas/SecurityMonitoringCriticalAssetType' + required: + - type + - attributes + type: object + SecurityMonitoringCriticalAssetUpdateData: + description: The new critical asset properties; partial updates are supported. + properties: + attributes: + $ref: '#/components/schemas/SecurityMonitoringCriticalAssetUpdateAttributes' + type: + $ref: '#/components/schemas/SecurityMonitoringCriticalAssetType' + required: + - type + - attributes + type: object + SecurityMonitoringIntegrationConfigData: + description: An entity context sync configuration. + properties: + attributes: + $ref: '#/components/schemas/SecurityMonitoringIntegrationConfigAttributes' + id: + description: The unique identifier of the integration configuration. + example: 11111111-2222-3333-4444-555555555555 + type: string + type: + $ref: '#/components/schemas/SecurityMonitoringIntegrationConfigResourceType' + required: + - id + - type + - attributes + type: object + SecurityMonitoringIntegrationConfigCreateData: + description: The entity context sync configuration to create. + properties: + attributes: + $ref: '#/components/schemas/SecurityMonitoringIntegrationConfigCreateAttributes' + type: + $ref: '#/components/schemas/SecurityMonitoringIntegrationConfigResourceType' + required: + - type + - attributes + type: object + SecurityMonitoringEntraIdAzureAppRegistrationsData: + description: The Azure App Registration prerequisites for the Entra ID integration. + properties: + attributes: + $ref: '#/components/schemas/SecurityMonitoringEntraIdAzureAppRegistrationsAttributes' + id: + description: The ID of the organization the Azure App Registrations belong to. + example: '123456' + type: string + type: + $ref: '#/components/schemas/SecurityMonitoringEntraIdAzureAppRegistrationsResourceType' + required: + - id + - type + - attributes + type: object + SecurityMonitoringIntegrationCredentialsValidateData: + description: The credentials to validate. + properties: + attributes: + $ref: '#/components/schemas/SecurityMonitoringIntegrationCredentialsValidateAttributes' + type: + $ref: '#/components/schemas/SecurityMonitoringIntegrationConfigResourceType' + required: + - type + - attributes + type: object + SecurityMonitoringIntegrationConfigUpdateData: + description: The entity context sync configuration fields to update. + properties: + attributes: + $ref: '#/components/schemas/SecurityMonitoringIntegrationConfigUpdateAttributes' + type: + $ref: '#/components/schemas/SecurityMonitoringIntegrationConfigResourceType' + required: + - type + - attributes + type: object + SecurityMonitoringIntegrationActivateData: + description: The configuration overrides for the integration to activate. + properties: + attributes: + $ref: '#/components/schemas/SecurityMonitoringIntegrationActivateAttributes' + type: + $ref: '#/components/schemas/SecurityMonitoringIntegrationActivateResourceType' + type: object + NotificationRulePreviewResponseData: + description: The notification preview response data. + properties: + attributes: + $ref: '#/components/schemas/NotificationRulePreviewResponseAttributes' + id: + description: The ID of the notification preview response. + example: rka-loa-zwu + type: string + type: + $ref: '#/components/schemas/NotificationRulePreviewResponseType' + required: + - type + - attributes + type: object + SecurityFilter: + description: The security filter's properties. + properties: + attributes: + $ref: '#/components/schemas/SecurityFilterAttributes' + id: + $ref: '#/components/schemas/SecurityFilterID' + type: + $ref: '#/components/schemas/SecurityFilterType' + type: object + SecurityFilterMeta: + description: Optional metadata associated to the response. + properties: + warning: + description: A warning message. + example: All the security filters are disabled. As a result, no logs are being analyzed. + type: string + type: object + SecurityFilterCreateData: + description: Object for a single security filter. + properties: + attributes: + $ref: '#/components/schemas/SecurityFilterCreateAttributes' + type: + $ref: '#/components/schemas/SecurityFilterType' + required: + - type + - attributes + type: object + SecurityFilterVersion: + description: A snapshot of all security filters at a specific configuration version. + properties: + attributes: + $ref: '#/components/schemas/SecurityFilterVersionAttributes' + id: + description: The identifier of the configuration version. + example: '1' + type: string + type: + $ref: '#/components/schemas/SecurityFilterVersionType' + required: + - id + - type + - attributes + type: object + SecurityFilterUpdateData: + description: The new security filter properties. + properties: + attributes: + $ref: '#/components/schemas/SecurityFilterUpdateAttributes' + type: + $ref: '#/components/schemas/SecurityFilterType' + required: + - type + - attributes + type: object + SecurityMonitoringSuppression: + description: The suppression rule's properties. + properties: + attributes: + $ref: '#/components/schemas/SecurityMonitoringSuppressionAttributes' + id: + $ref: '#/components/schemas/SecurityMonitoringSuppressionID' + type: + $ref: '#/components/schemas/SecurityMonitoringSuppressionType' + type: object + SecurityMonitoringSuppressionsMeta: + description: Metadata for the suppression list response. + properties: + page: + $ref: '#/components/schemas/SecurityMonitoringSuppressionsPageMeta' + type: object + SecurityMonitoringSuppressionCreateData: + description: Object for a single suppression rule. + properties: + attributes: + $ref: '#/components/schemas/SecurityMonitoringSuppressionCreateAttributes' + type: + $ref: '#/components/schemas/SecurityMonitoringSuppressionType' + required: + - type + - attributes + type: object + SecurityMonitoringStandardRuleCreatePayload: + description: Create a new rule. + properties: + calculatedFields: + description: Calculated fields. Only allowed for scheduled rules - in other words, when schedulingOptions is also defined. + items: + $ref: '#/components/schemas/CalculatedField' + type: array + cases: + description: Cases for generating signals. + example: [] + items: + $ref: '#/components/schemas/SecurityMonitoringRuleCaseCreate' + type: array + filters: + description: Additional queries to filter matched events before they are processed. This field is deprecated for log detection, signal correlation, and workload security rules. + items: + $ref: '#/components/schemas/SecurityMonitoringFilter' + type: array + groupSignalsBy: + description: Additional grouping to perform on top of the existing groups in the query section. Must be a subset of the existing groups. + example: + - service + items: + description: Field to group by. + type: string + type: array + hasExtendedTitle: + description: Whether the notifications include the triggering group-by values in their title. + example: true + type: boolean + isEnabled: + description: Whether the rule is enabled. + example: true + type: boolean + message: + description: Message for generated signals. + example: '' + type: string + name: + description: The name of the rule. + example: My security monitoring rule. + type: string + options: + $ref: '#/components/schemas/SecurityMonitoringRuleOptions' + queries: + description: Queries for selecting logs which are part of the rule. + example: [] + items: + $ref: '#/components/schemas/SecurityMonitoringStandardRuleQuery' + type: array + referenceTables: + description: Reference tables for the rule. + items: + $ref: '#/components/schemas/SecurityMonitoringReferenceTable' + type: array + schedulingOptions: + $ref: '#/components/schemas/SecurityMonitoringSchedulingOptions' + tags: + description: Tags for generated signals. + example: + - env:prod + - team:security + items: + description: Tag. + type: string + type: array + thirdPartyCases: + description: Cases for generating signals from third-party rules. Only available for third-party rules. + example: [] + items: + $ref: '#/components/schemas/SecurityMonitoringThirdPartyRuleCaseCreate' + type: array + type: + $ref: '#/components/schemas/SecurityMonitoringRuleTypeCreate' + required: + - name + - isEnabled + - queries + - options + - cases + - message + type: object + SecurityMonitoringSignalRuleCreatePayload: + description: Create a new signal correlation rule. + properties: + cases: + description: Cases for generating signals. + example: [] + items: + $ref: '#/components/schemas/SecurityMonitoringRuleCaseCreate' + type: array + filters: + description: Additional queries to filter matched events before they are processed. This field is deprecated for log detection, signal correlation, and workload security rules. + items: + $ref: '#/components/schemas/SecurityMonitoringFilter' + type: array + hasExtendedTitle: + description: Whether the notifications include the triggering group-by values in their title. + example: true + type: boolean + isEnabled: + description: Whether the rule is enabled. + example: true + type: boolean + message: + description: Message for generated signals. + example: '' + type: string + name: + description: The name of the rule. + example: My security monitoring rule. + type: string + options: + $ref: '#/components/schemas/SecurityMonitoringRuleOptions' + queries: + description: Queries for selecting signals which are part of the rule. + example: [] + items: + $ref: '#/components/schemas/SecurityMonitoringSignalRuleQuery' + type: array + tags: + description: Tags for generated signals. + example: + - env:prod + - team:security + items: + description: Tag. + type: string + type: array + type: + $ref: '#/components/schemas/SecurityMonitoringSignalRuleType' + required: + - name + - isEnabled + - queries + - options + - cases + - message + type: object + CloudConfigurationRuleCreatePayload: + description: Create a new cloud configuration rule. + properties: + cases: + description: Description of generated findings and signals (severity and channels to be notified in case of a signal). Must contain exactly one item. + items: + $ref: '#/components/schemas/CloudConfigurationRuleCaseCreate' + type: array + complianceSignalOptions: + $ref: '#/components/schemas/CloudConfigurationRuleComplianceSignalOptions' + filters: + description: Additional queries to filter matched events before they are processed. + items: + $ref: '#/components/schemas/SecurityMonitoringFilter' + type: array + isEnabled: + description: Whether the rule is enabled. + example: true + type: boolean + message: + description: Message in markdown format for generated findings and signals. + example: |- + #Description + Explanation of the rule. + + #Remediation + How to fix the security issue. + type: string + name: + description: The name of the rule. + example: My security monitoring rule. + type: string + options: + $ref: '#/components/schemas/CloudConfigurationRuleOptions' + tags: + description: Tags for generated findings and signals. + example: + - env:prod + - team:security + items: + description: Tag. + type: string + type: array + type: + $ref: '#/components/schemas/CloudConfigurationRuleType' + required: + - name + - isEnabled + - options + - complianceSignalOptions + - cases + - message + type: object + SecurityMonitoringSuppressionUpdateData: + description: The new suppression properties; partial updates are supported. + properties: + attributes: + $ref: '#/components/schemas/SecurityMonitoringSuppressionUpdateAttributes' + type: + $ref: '#/components/schemas/SecurityMonitoringSuppressionType' + required: + - type + - attributes + type: object + GetSuppressionVersionHistoryData: + description: Data for the suppression version history. + properties: + attributes: + $ref: '#/components/schemas/SuppressionVersionHistory' + id: + description: ID of the suppression. + type: string + type: + $ref: '#/components/schemas/GetSuppressionVersionHistoryDataType' + type: object + SecurityMonitoringContentPackStateData: + description: Content pack state data. + properties: + attributes: + $ref: '#/components/schemas/SecurityMonitoringContentPackStateAttributes' + id: + description: The content pack identifier. + example: aws-cloudtrail + type: string + type: + $ref: '#/components/schemas/SecurityMonitoringContentPackStateType' + required: + - id + - type + - attributes + type: object + SecurityMonitoringContentPackStateMeta: + description: Metadata for content pack states. + properties: + cloud_siem_index_incorrect: + description: Whether the Cloud SIEM index configuration is incorrect for the organization. + example: false + type: boolean + retention_months: + description: The number of months that standard logs are retained for organizations on the standalone_indexed` pricing model. This field is omitted for other pricing models. + example: 15 + format: int32 + maximum: 60 + type: integer + sku: + $ref: '#/components/schemas/SecurityMonitoringSKU' + required: + - cloud_siem_index_incorrect + - sku + type: object + SecurityMonitoringDatasetsListData: + description: A list of dataset data items. + items: + $ref: '#/components/schemas/SecurityMonitoringDatasetData' + type: array + SecurityMonitoringDatasetsListMeta: + description: Metadata returned with a list of datasets. + properties: + totalCount: + description: The total number of datasets matching the request, across all pages. + example: 1 + format: int64 + type: integer + required: + - totalCount + type: object + SecurityMonitoringDatasetCreateData: + description: The data wrapper of a dataset create request. + properties: + attributes: + $ref: '#/components/schemas/SecurityMonitoringDatasetAttributesRequest' + type: + $ref: '#/components/schemas/SecurityMonitoringDatasetCreateType' + required: + - type + - attributes + type: object + SecurityMonitoringDatasetCreateResponseData: + description: The data wrapper of a dataset create response. + properties: + id: + description: The UUID of the newly created dataset. + example: 123e4567-e89b-12d3-a456-426614174000 + type: string + type: + $ref: '#/components/schemas/SecurityMonitoringDatasetType' + required: + - id + - type + type: object + SecurityMonitoringDatasetDependenciesRequestData: + description: The data wrapper of a dataset dependencies request. + properties: + attributes: + $ref: '#/components/schemas/SecurityMonitoringDatasetDependenciesRequestAttributes' + required: + - attributes + type: object + SecurityMonitoringDatasetDependenciesResponseData: + description: The list of dataset dependents entries. + items: + $ref: '#/components/schemas/SecurityMonitoringDatasetDependentsData' + type: array + SecurityMonitoringDatasetData: + description: The data wrapper of a dataset response. + properties: + attributes: + $ref: '#/components/schemas/SecurityMonitoringDatasetAttributesResponse' + id: + description: The UUID of the dataset. + example: 123e4567-e89b-12d3-a456-426614174000 + type: string + type: + $ref: '#/components/schemas/SecurityMonitoringDatasetType' + required: + - id + - type + - attributes + type: object + SecurityMonitoringDatasetUpdateData: + description: The data wrapper of a dataset update request. + properties: + attributes: + $ref: '#/components/schemas/SecurityMonitoringDatasetAttributesRequest' + type: + $ref: '#/components/schemas/SecurityMonitoringDatasetUpdateType' + required: + - type + - attributes + type: object + SecurityMonitoringDatasetVersionHistoryData: + description: The data wrapper of a dataset version history response. + properties: + attributes: + $ref: '#/components/schemas/SecurityMonitoringDatasetVersionHistoryAttributes' + id: + description: The UUID of the dataset. + example: 123e4567-e89b-12d3-a456-426614174000 + type: string + type: + $ref: '#/components/schemas/SecurityMonitoringDatasetVersionHistoryType' + required: + - id + - type + - attributes + type: object + EntityContextEntity: + description: A single entity returned by the entity context endpoint. + properties: + attributes: + $ref: '#/components/schemas/EntityContextEntityAttributes' + id: + description: The unique identifier of the entity. + example: user@example.com + type: string + type: + $ref: '#/components/schemas/SecurityMonitoringEntityContextEntityType' + required: + - id + - type + - attributes + type: object + EntityContextResponseMeta: + description: Metadata returned alongside the entity context response. + properties: + page: + $ref: '#/components/schemas/EntityContextPage' + total_count: + description: The total number of entities matching the query, irrespective of pagination. + example: 1 + format: int32 + maximum: 2147483647 + type: integer + required: + - page + - total_count + type: object + ResponseMetaAttributes: + description: Object describing meta attributes of response. + properties: + page: + $ref: '#/components/schemas/Pagination' + type: object + SecurityMonitoringStandardRuleResponse: + description: Rule. + properties: + calculatedFields: + description: Calculated fields. Only allowed for scheduled rules - in other words, when schedulingOptions is also defined. + items: + $ref: '#/components/schemas/CalculatedField' + type: array + cases: + description: Cases for generating signals. + items: + $ref: '#/components/schemas/SecurityMonitoringRuleCase' + type: array + complianceSignalOptions: + $ref: '#/components/schemas/CloudConfigurationRuleComplianceSignalOptions' + createdAt: + description: When the rule was created, timestamp in milliseconds. + format: int64 + type: integer + creationAuthorId: + description: User ID of the user who created the rule. + format: int64 + type: integer + customMessage: + description: Custom/Overridden message for generated signals (used in case of Default rule update). + type: string + customName: + description: Custom/Overridden name of the rule (used in case of Default rule update). + type: string + defaultTags: + description: Default Tags for default rules (included in tags) + example: + - security:attacks + items: + description: Default Tag. + type: string + type: array + deprecationDate: + description: When the rule will be deprecated, timestamp in milliseconds. + format: int64 + type: integer + filters: + description: Additional queries to filter matched events before they are processed. This field is deprecated for log detection, signal correlation, and workload security rules. + items: + $ref: '#/components/schemas/SecurityMonitoringFilter' + type: array + groupSignalsBy: + description: Additional grouping to perform on top of the existing groups in the query section. Must be a subset of the existing groups. + example: + - service + items: + description: Field to group by. + type: string + type: array + hasExtendedTitle: + description: Whether the notifications include the triggering group-by values in their title. + type: boolean + id: + description: The ID of the rule. + type: string + isDefault: + description: Whether the rule is included by default. + type: boolean + isDeleted: + description: Whether the rule has been deleted. + type: boolean + isEnabled: + description: Whether the rule is enabled. + type: boolean + message: + description: Message for generated signals. + type: string + name: + description: The name of the rule. + type: string + options: + $ref: '#/components/schemas/SecurityMonitoringRuleOptions' + queries: + description: Queries for selecting logs which are part of the rule. + items: + $ref: '#/components/schemas/SecurityMonitoringStandardRuleQuery' + type: array + referenceTables: + description: Reference tables for the rule. + items: + $ref: '#/components/schemas/SecurityMonitoringReferenceTable' + type: array + schedulingOptions: + $ref: '#/components/schemas/SecurityMonitoringSchedulingOptions' + tags: + description: Tags for generated signals. + items: + description: Tag. + type: string + type: array + thirdPartyCases: + description: Cases for generating signals from third-party rules. Only available for third-party rules. + example: [] + items: + $ref: '#/components/schemas/SecurityMonitoringThirdPartyRuleCase' + type: array + type: + $ref: '#/components/schemas/SecurityMonitoringRuleTypeRead' + updateAuthorId: + description: User ID of the user who updated the rule. + format: int64 + type: integer + updatedAt: + description: The date the rule was last updated, in milliseconds. + format: int64 + type: integer + version: + description: The version of the rule. + format: int64 + type: integer + type: object + SecurityMonitoringSignalRuleResponse: + description: Rule. + properties: + cases: + description: Cases for generating signals. + items: + $ref: '#/components/schemas/SecurityMonitoringRuleCase' + type: array + createdAt: + description: When the rule was created, timestamp in milliseconds. + format: int64 + type: integer + creationAuthorId: + description: User ID of the user who created the rule. + format: int64 + type: integer + customMessage: + description: Custom/Overridden message for generated signals (used in case of Default rule update). + type: string + customName: + description: Custom/Overridden name of the rule (used in case of Default rule update). + type: string + deprecationDate: + description: When the rule will be deprecated, timestamp in milliseconds. + format: int64 + type: integer + filters: + description: Additional queries to filter matched events before they are processed. This field is deprecated for log detection, signal correlation, and workload security rules. + items: + $ref: '#/components/schemas/SecurityMonitoringFilter' + type: array + hasExtendedTitle: + description: Whether the notifications include the triggering group-by values in their title. + type: boolean + id: + description: The ID of the rule. + type: string + isDefault: + description: Whether the rule is included by default. + type: boolean + isDeleted: + description: Whether the rule has been deleted. + type: boolean + isEnabled: + description: Whether the rule is enabled. + type: boolean + message: + description: Message for generated signals. + type: string + name: + description: The name of the rule. + type: string + options: + $ref: '#/components/schemas/SecurityMonitoringRuleOptions' + queries: + description: Queries for selecting logs which are part of the rule. + items: + $ref: '#/components/schemas/SecurityMonitoringSignalRuleResponseQuery' + type: array + tags: + description: Tags for generated signals. + items: + description: Tag. + type: string + type: array + type: + $ref: '#/components/schemas/SecurityMonitoringSignalRuleType' + updateAuthorId: + description: User ID of the user who updated the rule. + format: int64 + type: integer + version: + description: The version of the rule. + format: int64 + type: integer + type: object + SecurityMonitoringRuleBulkDeleteData: + description: Data for bulk deleting security monitoring rules. + properties: + attributes: + $ref: '#/components/schemas/SecurityMonitoringRuleBulkDeleteAttributes' + id: + description: Request ID. This value is echoed back as the response's resource ID. + example: bulk_delete + type: string + type: + $ref: '#/components/schemas/SecurityMonitoringRuleBulkDeleteRequestDataType' + required: + - attributes + - type + type: object + SecurityMonitoringRuleBulkDeleteResponseData: + description: Data for the bulk delete response. + properties: + attributes: + $ref: '#/components/schemas/SecurityMonitoringRuleBulkDeleteResponseAttributes' + id: + description: The identifier of the bulk delete response. + type: string + type: + $ref: '#/components/schemas/SecurityMonitoringRuleBulkDeleteResponseDataType' + type: object + SecurityMonitoringRuleBulkExportData: + description: Data for bulk exporting security monitoring rules. + properties: + attributes: + $ref: '#/components/schemas/SecurityMonitoringRuleBulkExportAttributes' + id: + description: Request ID. + example: bulk_export + type: string + type: + $ref: '#/components/schemas/SecurityMonitoringRuleBulkExportDataType' + required: + - attributes + - type + type: object + SecurityMonitoringStandardRulePayload: + description: The payload of a rule. + properties: + calculatedFields: + description: Calculated fields. Only allowed for scheduled rules - in other words, when schedulingOptions is also defined. + items: + $ref: '#/components/schemas/CalculatedField' + type: array + cases: + description: Cases for generating signals. + example: [] + items: + $ref: '#/components/schemas/SecurityMonitoringRuleCaseCreate' + type: array + customMessage: + description: Custom/Overridden message for generated signals (used in case of Default rule update). + type: string + customName: + description: Custom/Overridden name of the rule (used in case of Default rule update). + type: string + filters: + description: Additional queries to filter matched events before they are processed. This field is deprecated for log detection, signal correlation, and workload security rules. + items: + $ref: '#/components/schemas/SecurityMonitoringFilter' + type: array + groupSignalsBy: + description: Additional grouping to perform on top of the existing groups in the query section. Must be a subset of the existing groups. + example: + - service + items: + description: Field to group by. + type: string + type: array + hasExtendedTitle: + description: Whether the notifications include the triggering group-by values in their title. + example: true + type: boolean + isEnabled: + description: Whether the rule is enabled. + example: true + type: boolean + message: + description: Message for generated signals. + example: '' + type: string + name: + description: The name of the rule. + example: My security monitoring rule. + type: string + options: + $ref: '#/components/schemas/SecurityMonitoringRuleOptions' + queries: + description: Queries for selecting logs which are part of the rule. + example: [] + items: + $ref: '#/components/schemas/SecurityMonitoringStandardRuleQuery' + type: array + referenceTables: + description: Reference tables for the rule. + items: + $ref: '#/components/schemas/SecurityMonitoringReferenceTable' + type: array + schedulingOptions: + $ref: '#/components/schemas/SecurityMonitoringSchedulingOptions' + tags: + description: Tags for generated signals. + example: + - env:prod + - team:security + items: + description: Tag. + type: string + type: array + thirdPartyCases: + description: Cases for generating signals from third-party rules. Only available for third-party rules. + example: [] + items: + $ref: '#/components/schemas/SecurityMonitoringThirdPartyRuleCaseCreate' + type: array + type: + $ref: '#/components/schemas/SecurityMonitoringRuleTypeCreate' + required: + - name + - isEnabled + - queries + - options + - cases + - message + type: object + SecurityMonitoringSignalRulePayload: + description: The payload of a signal correlation rule. + properties: + cases: + description: Cases for generating signals. + example: [] + items: + $ref: '#/components/schemas/SecurityMonitoringRuleCaseCreate' + type: array + customMessage: + description: Custom/Overridden message for generated signals (used in case of Default rule update). + type: string + customName: + description: Custom/Overridden name of the rule (used in case of Default rule update). + type: string + filters: + description: Additional queries to filter matched events before they are processed. This field is deprecated for log detection, signal correlation, and workload security rules. + items: + $ref: '#/components/schemas/SecurityMonitoringFilter' + type: array + hasExtendedTitle: + description: Whether the notifications include the triggering group-by values in their title. + example: true + type: boolean + isEnabled: + description: Whether the rule is enabled. + example: true + type: boolean + message: + description: Message for generated signals. + example: '' + type: string + name: + description: The name of the rule. + example: My security monitoring rule. + type: string + options: + $ref: '#/components/schemas/SecurityMonitoringRuleOptions' + queries: + description: Queries for selecting signals which are part of the rule. + example: [] + items: + $ref: '#/components/schemas/SecurityMonitoringSignalRuleQuery' + type: array + tags: + description: Tags for generated signals. + example: + - env:prod + - team:security + items: + description: Tag. + type: string + type: array + type: + $ref: '#/components/schemas/SecurityMonitoringSignalRuleType' + required: + - name + - isEnabled + - queries + - options + - cases + - message + type: object + SecurityMonitoringRuleConvertBulkData: + description: Data for bulk converting security monitoring rules to Terraform. + properties: + attributes: + $ref: '#/components/schemas/SecurityMonitoringRuleConvertBulkAttributes' + id: + description: Request ID. + example: convert_bulk + type: string + type: + $ref: '#/components/schemas/SecurityMonitoringRuleConvertBulkDataType' + required: + - attributes + - type + type: object + SecurityMonitoringRuleTestPayload: + description: Test a rule. + properties: + calculatedFields: + description: Calculated fields. Only allowed for scheduled rules - in other words, when schedulingOptions is also defined. + items: + $ref: '#/components/schemas/CalculatedField' + type: array + cases: + description: Cases for generating signals. + example: [] + items: + $ref: '#/components/schemas/SecurityMonitoringRuleCaseCreate' + type: array + filters: + description: Additional queries to filter matched events before they are processed. This field is deprecated for log detection, signal correlation, and workload security rules. + items: + $ref: '#/components/schemas/SecurityMonitoringFilter' + type: array + groupSignalsBy: + description: Additional grouping to perform on top of the existing groups in the query section. Must be a subset of the existing groups. + example: + - service + items: + description: Field to group by. + type: string + type: array + hasExtendedTitle: + description: Whether the notifications include the triggering group-by values in their title. + example: true + type: boolean + isEnabled: + description: Whether the rule is enabled. + example: true + type: boolean + message: + description: Message for generated signals. + example: '' + type: string + name: + description: The name of the rule. + example: My security monitoring rule. + type: string + options: + $ref: '#/components/schemas/SecurityMonitoringRuleOptions' + queries: + description: Queries for selecting logs which are part of the rule. + example: [] + items: + $ref: '#/components/schemas/SecurityMonitoringStandardRuleQuery' + type: array + referenceTables: + description: Reference tables for the rule. + items: + $ref: '#/components/schemas/SecurityMonitoringReferenceTable' + type: array + schedulingOptions: + $ref: '#/components/schemas/SecurityMonitoringSchedulingOptions' + tags: + description: Tags for generated signals. + example: + - env:prod + - team:security + items: + description: Tag. + type: string + type: array + thirdPartyCases: + description: Cases for generating signals from third-party rules. Only available for third-party rules. + example: [] + items: + $ref: '#/components/schemas/SecurityMonitoringThirdPartyRuleCaseCreate' + type: array + type: + $ref: '#/components/schemas/SecurityMonitoringRuleTypeTest' + required: + - name + - isEnabled + - queries + - options + - cases + - message + type: object + SecurityMonitoringRuleQueryPayload: + description: Payload to test a rule query with the expected result. + properties: + expectedResult: + description: Expected result of the test. + example: true + type: boolean + index: + description: Index of the query under test. + example: 0 + format: int64 + minimum: 0 + type: integer + payload: + $ref: '#/components/schemas/SecurityMonitoringRuleQueryPayloadData' + type: object + CloudConfigurationRulePayload: + description: The payload of a cloud configuration rule. + properties: + cases: + description: Description of generated findings and signals (severity and channels to be notified in case of a signal). Must contain exactly one item. + items: + $ref: '#/components/schemas/CloudConfigurationRuleCaseCreate' + type: array + complianceSignalOptions: + $ref: '#/components/schemas/CloudConfigurationRuleComplianceSignalOptions' + customMessage: + description: Custom/Overridden message for generated signals (used in case of Default rule update). + type: string + customName: + description: Custom/Overridden name of the rule (used in case of Default rule update). + type: string + filters: + description: Additional queries to filter matched events before they are processed. + items: + $ref: '#/components/schemas/SecurityMonitoringFilter' + type: array + isEnabled: + description: Whether the rule is enabled. + example: true + type: boolean + message: + description: Message in markdown format for generated findings and signals. + example: |- + #Description + Explanation of the rule. + + #Remediation + How to fix the security issue. + type: string + name: + description: The name of the rule. + example: My security monitoring rule. + type: string + options: + $ref: '#/components/schemas/CloudConfigurationRuleOptions' + tags: + description: Tags for generated findings and signals. + example: + - env:prod + - team:security + items: + description: Tag. + type: string + type: array + type: + $ref: '#/components/schemas/CloudConfigurationRuleType' + required: + - name + - isEnabled + - options + - complianceSignalOptions + - cases + - message + type: object + CalculatedField: + description: Calculated field. + properties: + expression: + description: Expression. + example: '@request_end_timestamp - @request_start_timestamp' + type: string + name: + description: Field name. + example: response_time + type: string + required: + - name + - expression + type: object + SecurityMonitoringRuleCase: + description: Case when signal is generated. + properties: + actions: + description: Action to perform for each rule case. + items: + $ref: '#/components/schemas/SecurityMonitoringRuleCaseAction' + type: array + condition: + description: |- + A rule case contains logical operations (`>`,`>=`, `&&`, `||`) to determine if a signal should be generated + based on the event counts in the previously defined queries. + type: string + customStatus: + $ref: '#/components/schemas/SecurityMonitoringRuleSeverity' + name: + description: Name of the case. + type: string + notifications: + description: Notification targets for each rule case. + items: + description: Notification. + type: string + type: array + status: + $ref: '#/components/schemas/SecurityMonitoringRuleSeverity' + type: object + CloudConfigurationRuleComplianceSignalOptions: + description: How to generate compliance signals. Useful for cloud_configuration rules only. + properties: + defaultActivationStatus: + description: The default activation status. + nullable: true + type: boolean + defaultGroupByFields: + description: The default group by fields. + items: + description: A field name used for default grouping. + type: string + nullable: true + type: array + userActivationStatus: + description: Whether signals will be sent. + nullable: true + type: boolean + userGroupByFields: + description: Fields to use to group findings by when sending signals. + items: + description: A field name to group findings by. + type: string + nullable: true + type: array + type: object + SecurityMonitoringFilter: + description: The rule's suppression filter. + properties: + action: + $ref: '#/components/schemas/SecurityMonitoringFilterAction' + query: + description: Query for selecting logs to apply the filtering action. + type: string + type: object + SecurityMonitoringRuleOptions: + description: Options. + properties: + anomalyDetectionOptions: + $ref: '#/components/schemas/SecurityMonitoringRuleAnomalyDetectionOptions' + complianceRuleOptions: + $ref: '#/components/schemas/CloudConfigurationComplianceRuleOptions' + decreaseCriticalityBasedOnEnv: + $ref: '#/components/schemas/SecurityMonitoringRuleDecreaseCriticalityBasedOnEnv' + detectionMethod: + $ref: '#/components/schemas/SecurityMonitoringRuleDetectionMethod' + evaluationWindow: + $ref: '#/components/schemas/SecurityMonitoringRuleEvaluationWindow' + hardcodedEvaluatorType: + $ref: '#/components/schemas/SecurityMonitoringRuleHardcodedEvaluatorType' + impossibleTravelOptions: + $ref: '#/components/schemas/SecurityMonitoringRuleImpossibleTravelOptions' + keepAlive: + $ref: '#/components/schemas/SecurityMonitoringRuleKeepAlive' + maxSignalDuration: + $ref: '#/components/schemas/SecurityMonitoringRuleMaxSignalDuration' + newValueOptions: + $ref: '#/components/schemas/SecurityMonitoringRuleNewValueOptions' + sequenceDetectionOptions: + $ref: '#/components/schemas/SecurityMonitoringRuleSequenceDetectionOptions' + thirdPartyRuleOptions: + $ref: '#/components/schemas/SecurityMonitoringRuleThirdPartyOptions' + type: object + SecurityMonitoringRuleQuery: + description: Query for matching rule. + properties: + aggregation: + $ref: '#/components/schemas/SecurityMonitoringRuleQueryAggregation' + customQueryExtension: + description: Query extension to append to the logs query. + example: a > 3 + type: string + dataSource: + $ref: '#/components/schemas/SecurityMonitoringStandardDataSource' + distinctFields: + description: Field for which the cardinality is measured. Sent as an array. + items: + description: Field. + type: string + type: array + groupByFields: + description: Fields to group by. + items: + description: Field. + type: string + type: array + hasOptionalGroupByFields: + default: false + description: When false, events without a group-by value are ignored by the rule. When true, events with missing group-by fields are processed with `N/A`, replacing the missing values. + example: false + type: boolean + index: + description: |- + **This field is currently unstable and might be removed in a minor version upgrade.** + The index to run the query on, if the `dataSource` is `logs`. Only used for scheduled rules - in other words, when the `schedulingOptions` field is present in the rule payload. + type: string + indexes: + description: List of indexes to query when the `dataSource` is `logs`. Only used for scheduled rules, such as when the `schedulingOptions` field is present in the rule payload. + items: + description: Index. + type: string + type: array + metric: + deprecated: true + description: |- + (Deprecated) The target field to aggregate over when using the sum or max + aggregations. `metrics` field should be used instead. + type: string + metrics: + description: Group of target fields to aggregate over when using the sum, max, geo data, or new value aggregations. The sum, max, and geo data aggregations only accept one value in this list, whereas the new value aggregation accepts up to five values. + items: + description: Field. + type: string + type: array + name: + description: Name of the query. + type: string + query: + description: Query to run on logs. + example: a > 3 + type: string + correlatedByFields: + description: Fields to group by. + items: + description: Field. + type: string + type: array + correlatedQueryIndex: + description: Index of the rule query used to retrieve the correlated field. + format: int32 + maximum: 9 + type: integer + ruleId: + description: Rule ID to match on signals. + example: org-ru1-e1d + type: string + type: object + required: + - ruleId + SecurityMonitoringReferenceTable: + description: Reference tables used in the queries. + properties: + checkPresence: + description: Whether to include or exclude the matched values. + type: boolean + columnName: + description: The name of the column in the reference table. + type: string + logFieldPath: + description: The field in the log to match against the reference table. + type: string + ruleQueryName: + description: The name of the query to apply the reference table to. + type: string + tableName: + description: The name of the reference table. + type: string + type: object + SecurityMonitoringSchedulingOptions: + description: Options for scheduled rules. When this field is present, the rule runs based on the schedule. When absent, it runs real-time on ingested logs. + nullable: true + properties: + rrule: + description: Schedule for the rule queries, written in RRULE syntax. See [RFC](https://icalendar.org/iCalendar-RFC-5545/3-8-5-3-recurrence-rule.html) for syntax reference. + example: FREQ=HOURLY;INTERVAL=1; + type: string + start: + description: Start date for the schedule, in ISO 8601 format without timezone. + example: '2025-07-14T12:00:00' + type: string + timezone: + description: Time zone of the start date, in the [tz database](https://en.wikipedia.org/wiki/List_of_tz_database_time_zones) format. + example: America/New_York + type: string + type: object + SecurityMonitoringThirdPartyRuleCase: + description: Case when signal is generated by a third party rule. + properties: + customStatus: + $ref: '#/components/schemas/SecurityMonitoringRuleSeverity' + name: + description: Name of the case. + type: string + notifications: + description: Notification targets for each rule case. + items: + description: Notification. + type: string + type: array + query: + description: A query to map a third party event to this case. + type: string + status: + $ref: '#/components/schemas/SecurityMonitoringRuleSeverity' + type: object + GetRuleVersionHistoryData: + description: Data for the rule version history. + properties: + attributes: + $ref: '#/components/schemas/RuleVersionHistory' + id: + description: ID of the rule. + type: string + type: + $ref: '#/components/schemas/GetRuleVersionHistoryDataType' + type: object + SampleLogGenerationSubscriptionData: + description: A sample log generation subscription. + properties: + attributes: + $ref: '#/components/schemas/SampleLogGenerationSubscriptionAttributes' + id: + description: The unique identifier of the subscription. + example: '789' + type: string + type: + $ref: '#/components/schemas/SampleLogGenerationSubscriptionResourceType' + required: + - id + - type + - attributes + type: object + SampleLogGenerationSubscriptionsResponseMeta: + description: Metadata returned alongside a list of sample log generation subscriptions. + properties: + total_subscriptions: + description: The total number of subscriptions matching the request, irrespective of pagination. + example: 1 + format: int32 + maximum: 2147483647 + type: integer + required: + - total_subscriptions + type: object + SampleLogGenerationSubscriptionCreateData: + description: The subscription request body. + properties: + attributes: + $ref: '#/components/schemas/SampleLogGenerationSubscriptionCreateAttributes' + type: + $ref: '#/components/schemas/SampleLogGenerationSubscriptionRequestType' + required: + - type + - attributes + type: object + SampleLogGenerationBulkSubscriptionData: + description: The bulk subscription request body. + properties: + attributes: + $ref: '#/components/schemas/SampleLogGenerationBulkSubscriptionAttributes' + type: + $ref: '#/components/schemas/SampleLogGenerationBulkSubscriptionRequestType' + required: + - type + - attributes + type: object + SampleLogGenerationBulkSubscriptionResultItem: + description: A single result entry returned by the bulk subscription endpoint. + properties: + attributes: + $ref: '#/components/schemas/SampleLogGenerationSubscriptionAttributes' + id: + description: The unique identifier of the subscription, when one was created. + example: '123' + type: string + meta: + $ref: '#/components/schemas/SampleLogGenerationBulkSubscriptionItemMeta' + type: + $ref: '#/components/schemas/SampleLogGenerationSubscriptionResourceType' + required: + - id + - type + - attributes + - meta + type: object + SecurityMonitoringSignalsSort: + description: The sort parameters used for querying security signals. + enum: + - timestamp + - '-timestamp' + type: string + x-enum-varnames: + - TIMESTAMP_ASCENDING + - TIMESTAMP_DESCENDING + SecurityMonitoringSignal: + description: Object description of a security signal. + properties: + attributes: + $ref: '#/components/schemas/SecurityMonitoringSignalAttributes' + id: + description: The unique ID of the security signal. + example: AAAAAWgN8Xwgr1vKDQAAAABBV2dOOFh3ZzZobm1mWXJFYTR0OA + type: string + type: + $ref: '#/components/schemas/SecurityMonitoringSignalType' + type: object + SecurityMonitoringSignalsListResponseLinks: + description: Links attributes. + properties: + next: + description: |- + The link for the next set of results. **Note**: The request can also be made using the + POST endpoint. + example: https://app.datadoghq.com/api/v2/security_monitoring/signals?filter[query]=foo&page[cursor]=eyJzdGFydEF0IjoiQVFBQUFYS2tMS3pPbm40NGV3QUFBQUJCV0V0clRFdDZVbG8zY3pCRmNsbHJiVmxDWlEifQ== + type: string + type: object + SecurityMonitoringSignalsListResponseMeta: + description: Meta attributes. + properties: + page: + $ref: '#/components/schemas/SecurityMonitoringSignalsListResponseMetaPage' + type: object + SecurityMonitoringSignalsBulkAssigneeUpdateData: + description: Data for updating the assignees for multiple security signals. + properties: + attributes: + $ref: '#/components/schemas/SecurityMonitoringSignalsBulkAssigneeUpdateAttributes' + id: + description: The unique ID of the security signal. + example: AAAAAWgN8Xwgr1vKDQAAAABBV2dOOFh3ZzZobm1mWXJFYTR0OA + type: string + type: + $ref: '#/components/schemas/SecurityMonitoringSignalType' + required: + - id + - attributes + type: object + SecurityMonitoringSignalsBulkTriageUpdateResult: + description: The result payload of a bulk signal triage update. + properties: + count: + description: The number of signals updated. + example: 2 + format: int64 + type: integer + events: + description: The list of updated signals. + items: + $ref: '#/components/schemas/SecurityMonitoringSignalsBulkTriageEvent' + type: array + required: + - count + - events + type: object + SecurityMonitoringSignalsBulkStateUpdateData: + description: Data for updating the state for multiple security signals. + properties: + attributes: + $ref: '#/components/schemas/SecurityMonitoringSignalStateUpdateAttributes' + id: + description: The unique ID of the security signal. + example: AAAAAWgN8Xwgr1vKDQAAAABBV2dOOFh3ZzZobm1mWXJFYTR0OA + type: string + type: + $ref: '#/components/schemas/SecurityMonitoringSignalType' + required: + - id + - attributes + type: object + SecurityMonitoringSignalsBulkUpdateData: + description: Data for updating a single security signal in a bulk update operation. + properties: + attributes: + $ref: '#/components/schemas/SecurityMonitoringSignalUpdateAttributes' + id: + description: The unique ID of the security signal. + example: AAAAAWgN8Xwgr1vKDQAAAABBV2dOOFh3ZzZobm1mWXJFYTR0OA + type: string + type: + $ref: '#/components/schemas/SecurityMonitoringSignalType' + required: + - id + - attributes + type: object + SecurityMonitoringSignalListRequestFilter: + description: Search filters for listing security signals. + properties: + from: + description: The minimum timestamp for requested security signals. + example: '2019-01-02T09:42:36.320Z' + format: date-time + type: string + query: + description: Search query for listing security signals. + example: security:attack status:high + type: string + to: + description: The maximum timestamp for requested security signals. + example: '2019-01-03T09:42:36.320Z' + format: date-time + type: string + type: object + SecurityMonitoringSignalListRequestPage: + description: The paging attributes for listing security signals. + properties: + cursor: + description: A list of results using the cursor provided in the previous query. + example: eyJzdGFydEF0IjoiQVFBQUFYS2tMS3pPbm40NGV3QUFBQUJCV0V0clRFdDZVbG8zY3pCRmNsbHJiVmxDWlEifQ== + type: string + limit: + default: 10 + description: The maximum number of security signals in the response. + example: 25 + format: int32 + maximum: 1000 + type: integer + type: object + SecurityMonitoringSignalAssigneeUpdateData: + description: Data containing the patch for changing the assignee of a signal. + properties: + attributes: + $ref: '#/components/schemas/SecurityMonitoringSignalAssigneeUpdateAttributes' + required: + - attributes + type: object + SecurityMonitoringSignalTriageUpdateData: + description: Data containing the updated triage attributes of the signal. + properties: + attributes: + $ref: '#/components/schemas/SecurityMonitoringSignalTriageAttributes' + id: + description: The unique ID of the security signal. + type: string + type: + $ref: '#/components/schemas/SecurityMonitoringSignalMetadataType' + type: object + SignalEntitiesData: + description: Entities related to a security signal. + properties: + attributes: + $ref: '#/components/schemas/SignalEntitiesAttributes' + id: + description: The signal ID the entities are associated with. + example: AAAAAWgN8Xwgr1vKDQAAAABBV2dOOFh3ZzZobm1mWXJFYTR0OA + type: string + type: + $ref: '#/components/schemas/SignalEntitiesType' + required: + - id + - type + - attributes + type: object + SecurityMonitoringSignalIncidentsUpdateData: + description: Data containing the patch for changing the related incidents of a signal. + properties: + attributes: + $ref: '#/components/schemas/SecurityMonitoringSignalIncidentsUpdateAttributes' + required: + - attributes + type: object + SecurityMonitoringSignalSuggestedActionList: + description: List of suggested actions for a security signal. + example: + - attributes: + name: Cloudtrail events for user ARN + query_filter: source:cloudtrail @userIdentity.arn:"foo" + template_variables: + '@userIdentity.arn': + - foo + url: /logs?query=source%3Acloudtrail+%40userIdentity.arn%3A%22foo%22 + id: w00-t10-992 + type: investigation_log_queries + - attributes: + title: Monitor Okta logs to track system access and unusual activity + url: https://www.datadoghq.com/blog/monitor-activity-with-okta/ + id: bxy-o8v-i1a + type: recommended_blog_posts + items: + $ref: '#/components/schemas/SecurityMonitoringSignalSuggestedAction' + type: array + SecurityMonitoringSignalStateUpdateData: + description: Data containing the patch for changing the state of a signal. + properties: + attributes: + $ref: '#/components/schemas/SecurityMonitoringSignalStateUpdateAttributes' + id: + description: The unique ID of the security signal. + type: + $ref: '#/components/schemas/SecurityMonitoringSignalMetadataType' + required: + - attributes + type: object + SecurityMonitoringSignalUpdateData: + description: Data containing the triage state or assignee update for a security signal. + properties: + attributes: + $ref: '#/components/schemas/SecurityMonitoringSignalUpdateAttributes' + type: + $ref: '#/components/schemas/SecurityMonitoringSignalMetadataType' + required: + - attributes + type: object + SecurityMonitoringTerraformResourceType: + description: The type of security monitoring resource to export to Terraform. + enum: + - suppressions + - critical_assets + - security_filters + - rules + type: string + x-enum-varnames: + - SUPPRESSIONS + - CRITICAL_ASSETS + - SECURITY_FILTERS + - RULES + SecurityMonitoringTerraformBulkExportData: + description: The bulk export request data object. + properties: + attributes: + $ref: '#/components/schemas/SecurityMonitoringTerraformBulkExportAttributes' + type: + description: The JSON:API type. Always `bulk_export_resources`. + example: bulk_export_resources + type: string + required: + - type + - attributes + type: object + SecurityMonitoringTerraformConvertData: + description: The convert request data object. + properties: + attributes: + $ref: '#/components/schemas/SecurityMonitoringTerraformConvertAttributes' + id: + description: The ID of the resource being converted. + example: abc-123 + type: string + type: + description: The JSON:API type. Always `convert_resource`. + example: convert_resource + type: string + required: + - type + - id + - attributes + type: object + SecurityMonitoringTerraformExportData: + description: The Terraform export data object. + properties: + attributes: + $ref: '#/components/schemas/SecurityMonitoringTerraformExportAttributes' + id: + description: The resource identifier composed of the Terraform type name and the resource ID separated by `|`. + example: datadog_security_monitoring_suppression|abc-123 + type: string + type: + description: The JSON:API type. Always `format_resource`. + example: format_resource + type: string + required: + - type + - id + - attributes + type: object + SensitiveDataScannerGetConfigResponseData: + description: Response data related to the scanning groups. + properties: + attributes: + additionalProperties: {} + description: Attributes of the Sensitive Data configuration. + type: object + id: + description: ID of the configuration. + type: string + relationships: + $ref: '#/components/schemas/SensitiveDataScannerConfigurationRelationships' + type: + $ref: '#/components/schemas/SensitiveDataScannerConfigurationType' + type: object + SensitiveDataScannerGetConfigIncludedArray: + description: Included objects from relationships. + items: + $ref: '#/components/schemas/SensitiveDataScannerGetConfigIncludedItem' + type: array + SensitiveDataScannerMeta: + description: Meta response containing information about the API. + properties: + count_limit: + description: Maximum number of scanning rules allowed for the org. + format: int64 + type: integer + group_count_limit: + description: Maximum number of scanning groups allowed for the org. + format: int64 + type: integer + has_highlight_enabled: + default: true + deprecated: true + description: (Deprecated) Whether or not scanned events are highlighted in Logs or RUM for the org. + type: boolean + has_multi_pass_enabled: + deprecated: true + description: (Deprecated) Whether or not scanned events have multi-pass enabled. + type: boolean + is_pci_compliant: + description: Whether or not the org is compliant to the payment card industry standard. + type: boolean + version: + description: Version of the API. + example: 0 + format: int64 + minimum: 0 + type: integer + type: object + SensitiveDataScannerReorderConfig: + description: Data related to the reordering of scanning groups. + properties: + id: + description: ID of the configuration. + type: string + relationships: + $ref: '#/components/schemas/SensitiveDataScannerConfigurationRelationships' + type: + $ref: '#/components/schemas/SensitiveDataScannerConfigurationType' + type: object + SensitiveDataScannerMetaVersionOnly: + description: Meta payload containing information about the API. + properties: + version: + description: Version of the API (optional). + example: 0 + format: int64 + minimum: 0 + type: integer + type: object + SensitiveDataScannerGroupCreate: + description: Data related to the creation of a group. + properties: + attributes: + $ref: '#/components/schemas/SensitiveDataScannerGroupAttributes' + relationships: + $ref: '#/components/schemas/SensitiveDataScannerGroupRelationships' + type: + $ref: '#/components/schemas/SensitiveDataScannerGroupType' + required: + - type + - attributes + type: object + SensitiveDataScannerGroupResponse: + description: Response data related to the creation of a group. + properties: + attributes: + $ref: '#/components/schemas/SensitiveDataScannerGroupAttributes' + id: + description: ID of the group. + type: string + relationships: + $ref: '#/components/schemas/SensitiveDataScannerGroupRelationships' + type: + $ref: '#/components/schemas/SensitiveDataScannerGroupType' + type: object + SensitiveDataScannerGroupUpdate: + description: Data related to the update of a group. + properties: + attributes: + $ref: '#/components/schemas/SensitiveDataScannerGroupAttributes' + id: + description: ID of the group. + type: string + relationships: + $ref: '#/components/schemas/SensitiveDataScannerGroupRelationships' + type: + $ref: '#/components/schemas/SensitiveDataScannerGroupType' + type: object + SensitiveDataScannerRuleCreate: + description: Data related to the creation of a rule. + properties: + attributes: + $ref: '#/components/schemas/SensitiveDataScannerRuleAttributes' + relationships: + $ref: '#/components/schemas/SensitiveDataScannerRuleRelationships' + type: + $ref: '#/components/schemas/SensitiveDataScannerRuleType' + required: + - type + - attributes + - relationships + type: object + SensitiveDataScannerRuleResponse: + description: Response data related to the creation of a rule. + properties: + attributes: + $ref: '#/components/schemas/SensitiveDataScannerRuleAttributes' + id: + description: ID of the rule. + type: string + relationships: + $ref: '#/components/schemas/SensitiveDataScannerRuleRelationships' + type: + $ref: '#/components/schemas/SensitiveDataScannerRuleType' + type: object + SensitiveDataScannerRuleUpdate: + description: Data related to the update of a rule. + properties: + attributes: + $ref: '#/components/schemas/SensitiveDataScannerRuleAttributes' + id: + description: ID of the rule. + type: string + relationships: + $ref: '#/components/schemas/SensitiveDataScannerRuleRelationships' + type: + $ref: '#/components/schemas/SensitiveDataScannerRuleType' + type: object + SensitiveDataScannerStandardPatternsResponse: + description: List Standard patterns response. + items: + $ref: '#/components/schemas/SensitiveDataScannerStandardPatternsResponseItem' + type: array + HistoricalJobResponseData: + description: Historical job response data. + properties: + attributes: + $ref: '#/components/schemas/HistoricalJobResponseAttributes' + id: + description: ID of the job. + type: string + type: + $ref: '#/components/schemas/HistoricalJobDataType' + type: object + HistoricalJobListMeta: + description: Metadata about the list of jobs. + properties: + totalCount: + description: Number of jobs in the list. + format: int32 + maximum: 2147483647 + type: integer + type: object + RunHistoricalJobRequestData: + description: Data for running a historical job request. + properties: + attributes: + $ref: '#/components/schemas/RunHistoricalJobRequestAttributes' + type: + $ref: '#/components/schemas/RunHistoricalJobRequestDataType' + type: object + JobCreateResponseData: + description: The definition of `JobCreateResponseData` object. + properties: + id: + description: ID of the created job. + type: string + type: + $ref: '#/components/schemas/HistoricalJobDataType' + type: object + ConvertJobResultsToSignalsData: + description: Data for converting historical job results to signals. + properties: + attributes: + $ref: '#/components/schemas/ConvertJobResultsToSignalsAttributes' + type: + $ref: '#/components/schemas/ConvertJobResultsToSignalsDataType' + type: object + ScaRequestData: + description: The data object in an SCA request, containing the dependency graph attributes and request type. + properties: + attributes: + $ref: '#/components/schemas/ScaRequestDataAttributes' + id: + description: An optional identifier for this SCA request data object. + type: string + type: + $ref: '#/components/schemas/ScaRequestDataType' + required: + - type + type: object + McpScanRequestData: + description: The data object in an MCP SCA scan request, containing the scan attributes and request type. + properties: + attributes: + $ref: '#/components/schemas/McpScanRequestDataAttributes' + id: + description: An optional identifier for this scan request. + type: string + type: + $ref: '#/components/schemas/McpScanRequestDataType' + required: + - type + - attributes + type: object + McpScanRequestResponseData: + description: The data object returned when a scan request has been accepted. + properties: + attributes: + $ref: '#/components/schemas/McpScanRequestResponseDataAttributes' + id: + description: The job identifier assigned to the scan. + example: 0190a3d4-1234-7000-8000-000000000000 + type: string + type: + $ref: '#/components/schemas/McpScanRequestResponseDataType' + required: + - id + - type + - attributes + type: object + AnyValueObject: + additionalProperties: {} + description: An arbitrary object value with additional properties. + type: object + LicensesListResponseData: + description: The data object in a licenses list response, containing the list of SPDX licenses. + properties: + attributes: + $ref: '#/components/schemas/LicensesListResponseDataAttributes' + id: + description: The unique identifier for this licenses list response. + example: 0190a3d4-1234-7000-8000-000000000000 + type: string + type: + $ref: '#/components/schemas/LicensesListResponseDataType' + required: + - id + - type + - attributes + type: object + ResolveVulnerableSymbolsRequestData: + description: The data object in a request to resolve vulnerable symbols, containing the package PURLs and request type. + properties: + attributes: + $ref: '#/components/schemas/ResolveVulnerableSymbolsRequestDataAttributes' + id: + description: An optional identifier for this request data object. + type: string + type: + $ref: '#/components/schemas/ResolveVulnerableSymbolsRequestDataType' + required: + - type + type: object + ResolveVulnerableSymbolsResponseData: + description: The data object in a response for resolving vulnerable symbols, containing the result attributes and response type. + properties: + attributes: + $ref: '#/components/schemas/ResolveVulnerableSymbolsResponseDataAttributes' + id: + description: The unique identifier for this response data object. + type: string + type: + $ref: '#/components/schemas/ResolveVulnerableSymbolsResponseDataType' + required: + - type + type: object + AiMemoryViolationResultResponseData: + description: Response data for an AI memory violation result. + properties: + attributes: + $ref: '#/components/schemas/AiMemoryViolationResultResponseAttributes' + id: + description: The numeric identifier of the violation result. + example: '42' + type: string + type: + $ref: '#/components/schemas/AiMemoryViolationResultDataType' + required: + - id + - type + - attributes + type: object + AiMemoryViolationResultRequestData: + description: Request data for creating an AI memory violation result. + properties: + attributes: + $ref: '#/components/schemas/AiMemoryViolationResultRequestAttributes' + id: + description: The violation result identifier. + example: violation-abc + type: string + type: + $ref: '#/components/schemas/AiMemoryViolationResultDataType' + type: object + AiPromptResponseData: + description: Response data for an AI prompt. + properties: + attributes: + $ref: '#/components/schemas/AiPromptResponseAttributes' + id: + description: The prompt identifier. + example: my-ai-ruleset/my-ai-rule + type: string + type: + $ref: '#/components/schemas/AiPromptDataType' + required: + - id + - type + - attributes + type: object + AiCustomRulesetResponseData: + description: Response data for an AI custom ruleset. + properties: + attributes: + $ref: '#/components/schemas/AiCustomRulesetResponseAttributes' + id: + description: The ruleset identifier. + example: my-ai-ruleset + type: string + type: + $ref: '#/components/schemas/AiCustomRulesetDataType' + required: + - id + - type + - attributes + type: object + AiCustomRulesetRequestData: + description: Request data for creating an AI custom ruleset. + properties: + attributes: + $ref: '#/components/schemas/AiCustomRulesetRequestAttributes' + id: + description: The ruleset identifier, which must match the name. + example: my-ai-ruleset + type: string + type: + $ref: '#/components/schemas/AiCustomRulesetDataType' + type: object + AiCustomRulesetUpdateData: + description: Request data for updating an AI custom ruleset. + properties: + attributes: + $ref: '#/components/schemas/AiCustomRulesetUpdateAttributes' + id: + description: The ruleset identifier. + example: my-ai-ruleset + type: string + type: + $ref: '#/components/schemas/AiCustomRulesetDataType' + type: object + AiCustomRuleRequestData: + description: Request data for creating an AI custom rule. + properties: + attributes: + $ref: '#/components/schemas/AiCustomRuleRequestAttributes' + id: + description: The rule identifier, which must match the name. + example: my-ai-rule + type: string + type: + $ref: '#/components/schemas/AiCustomRuleDataType' + type: object + AiCustomRuleResponseData: + description: Response data for an AI custom rule. + properties: + attributes: + $ref: '#/components/schemas/AiCustomRuleItem' + id: + description: The rule identifier. + example: my-ai-rule + type: string + type: + $ref: '#/components/schemas/AiCustomRuleDataType' + required: + - id + - type + - attributes + type: object + AiCustomRuleRevisionResponseData: + description: Response data for an AI custom rule revision. + properties: + attributes: + $ref: '#/components/schemas/AiCustomRuleRevisionResponseAttributes' + id: + description: The revision identifier. + example: revision-abc-123 + type: string + type: + $ref: '#/components/schemas/AiCustomRuleRevisionDataType' + required: + - id + - type + - attributes + type: object + AiCustomRuleRevisionRequestData: + description: Request data for creating an AI custom rule revision. + properties: + attributes: + $ref: '#/components/schemas/AiCustomRuleRevisionRequestAttributes' + id: + description: The revision identifier. + example: revision-abc-123 + type: string + type: + $ref: '#/components/schemas/AiCustomRuleRevisionDataType' + type: object + SastRulesetData: + description: The primary data object representing a SAST ruleset. + properties: + attributes: + $ref: '#/components/schemas/SastRulesetDataAttributes' + id: + description: The unique identifier of the ruleset resource. + example: python-best-practices + type: string + type: + $ref: '#/components/schemas/GetMultipleRulesetsResponseDataAttributesRulesetsItemsDataType' + required: + - id + - type + - attributes + type: object + CustomRuleset: + description: A custom static analysis ruleset containing a set of user-defined rules. + properties: + attributes: + $ref: '#/components/schemas/CustomRulesetAttributes' + id: + description: Ruleset identifier + example: my-ruleset + type: string + type: + $ref: '#/components/schemas/CustomRulesetDataType' + required: + - id + - type + - attributes + type: object + CustomRulesetRequestData: + description: Data object for a custom ruleset create or update request. + properties: + attributes: + $ref: '#/components/schemas/CustomRulesetRequestDataAttributes' + id: + description: Ruleset identifier + type: string + type: + $ref: '#/components/schemas/CustomRulesetDataType' + type: object + CustomRuleRequestData: + description: Data object for a custom rule create or update request. + properties: + attributes: + $ref: '#/components/schemas/CustomRuleRequestDataAttributes' + id: + description: Rule identifier + type: string + type: + $ref: '#/components/schemas/CustomRuleDataType' + type: object + CustomRuleResponseData: + description: Data object returned in a custom rule response, including its ID, type, and attributes. + properties: + attributes: + $ref: '#/components/schemas/CustomRule' + id: + description: Rule identifier + example: my-rule + type: string + type: + $ref: '#/components/schemas/CustomRuleDataType' + required: + - id + - type + - attributes + type: object + CustomRuleRevision: + description: A specific revision of a custom static analysis rule. + properties: + attributes: + $ref: '#/components/schemas/CustomRuleRevisionAttributes' + id: + description: Revision identifier + example: revision-123 + type: string + type: + $ref: '#/components/schemas/CustomRuleRevisionDataType' + required: + - id + - type + - attributes + type: object + CustomRuleRevisionRequestData: + description: Data object for a custom rule revision create request. + properties: + attributes: + $ref: '#/components/schemas/CustomRuleRevisionInputAttributes' + id: + description: Revision identifier + type: string + type: + $ref: '#/components/schemas/CustomRuleRevisionDataType' + type: object + RevertCustomRuleRevisionRequestData: + description: Data object for a request to revert a custom rule to a previous revision. + properties: + attributes: + $ref: '#/components/schemas/RevertCustomRuleRevisionRequestDataAttributes' + id: + description: Request identifier + type: string + type: + $ref: '#/components/schemas/RevertCustomRuleRevisionDataType' + type: object + DefaultRulesetsPerLanguageData: + description: The primary data object in the default rulesets per language response. + properties: + attributes: + $ref: '#/components/schemas/DefaultRulesetsPerLanguageDataAttributes' + id: + description: The language identifier used as the resource identifier. + example: python + type: string + type: + $ref: '#/components/schemas/DefaultRulesetsPerLanguageDataType' + required: + - id + - type + - attributes + type: object + GetMultipleRulesetsRequestData: + description: The primary data object in the get-multiple-rulesets request, containing request attributes and resource type. + properties: + attributes: + $ref: '#/components/schemas/GetMultipleRulesetsRequestDataAttributes' + id: + description: An optional identifier for the get-multiple-rulesets request resource. + type: string + type: + $ref: '#/components/schemas/GetMultipleRulesetsRequestDataType' + required: + - type + type: object + GetMultipleRulesetsResponseData: + description: The primary data object in the get-multiple-rulesets response, containing the response attributes and resource type. + properties: + attributes: + $ref: '#/components/schemas/GetMultipleRulesetsResponseDataAttributes' + id: + description: The unique identifier of the get-multiple-rulesets response resource. + type: string + type: + $ref: '#/components/schemas/GetMultipleRulesetsResponseDataType' + required: + - type + type: object + SecretRuleData: + description: The data object representing a secret detection rule, including its attributes and resource type. + properties: + attributes: + $ref: '#/components/schemas/SecretRuleDataAttributes' + id: + description: The unique identifier of the secret rule resource. + type: string + type: + $ref: '#/components/schemas/SecretRuleDataType' + required: + - type + type: object + AnalysisRequestData: + description: The primary data object in the analysis request. + properties: + attributes: + $ref: '#/components/schemas/AnalysisRequestDataAttributes' + id: + description: An optional identifier for the analysis request resource. + type: string + type: + $ref: '#/components/schemas/AnalysisRequestDataType' + required: + - type + - attributes + type: object + AnalysisResponseData: + description: The primary data object in the analysis response. + properties: + attributes: + $ref: '#/components/schemas/AnalysisResponseDataAttributes' + id: + description: The unique identifier of the analysis response resource. + example: abc-123 + type: string + type: + $ref: '#/components/schemas/AnalysisResponseDataType' + required: + - id + - type + - attributes + type: object + GetAstRequestData: + description: The primary data object in the get-AST request. + properties: + attributes: + $ref: '#/components/schemas/GetAstRequestDataAttributes' + id: + description: An optional identifier for the get-AST request resource. + type: string + type: + $ref: '#/components/schemas/GetAstRequestDataType' + required: + - type + - attributes + type: object + GetAstResponseData: + description: The primary data object in the get-AST response. + properties: + attributes: + $ref: '#/components/schemas/GetAstResponseDataAttributes' + id: + description: The identifier of the get-AST response resource. + type: string + type: + $ref: '#/components/schemas/GetAstResponseDataType' + required: + - type + - attributes + type: object + NodeTypesResponseData: + description: The primary data object in the node types response. + properties: + attributes: + $ref: '#/components/schemas/NodeTypesResponseDataAttributes' + id: + description: The unique identifier of the node types response resource. + example: python + type: string + type: + $ref: '#/components/schemas/NodeTypesResponseDataType' + required: + - id + - type + - attributes + type: object + VersionV1: + description: Version of the updated signal. If server side version is higher, update will be rejected. + example: 0 + format: int64 + type: integer + SignalArchiveReason: + description: Reason why a signal has been archived. + enum: + - none + - false_positive + - testing_or_maintenance + - investigated_case_opened + - true_positive_benign + - true_positive_malicious + - other + type: string + x-enum-varnames: + - NONE + - FALSE_POSITIVE + - TESTING_OR_MAINTENANCE + - INVESTIGATED_CASE_OPENED + - TRUE_POSITIVE_BENIGN + - TRUE_POSITIVE_MALICIOUS + - OTHER + SignalTriageState: + description: The new triage state of the signal. + enum: + - open + - archived + - under_review + example: open + type: string + x-enum-varnames: + - OPEN + - ARCHIVED + - UNDER_REVIEW + AwsScanOptionsAttributes: + description: Attributes for the AWS scan options. + properties: + compliance_host: + description: Indicates whether host compliance scanning is enabled. + example: false + type: boolean + lambda: + description: Indicates if scanning of Lambda functions is enabled. + example: true + type: boolean + sensitive_data: + description: Indicates if scanning for sensitive data is enabled. + example: false + type: boolean + vuln_containers_os: + description: Indicates if scanning for vulnerabilities in containers is enabled. + example: true + type: boolean + vuln_host_os: + description: Indicates if scanning for vulnerabilities in hosts is enabled. + example: true + type: boolean + type: object + AwsScanOptionsType: + default: aws_scan_options + description: The type of the resource. The value should always be `aws_scan_options`. + enum: + - aws_scan_options + example: aws_scan_options + type: string + x-enum-varnames: + - AWS_SCAN_OPTIONS + AwsScanOptionsCreateAttributes: + description: Attributes for the AWS scan options to create. + properties: + compliance_host: + description: Indicates whether host compliance scanning is enabled. + example: false + type: boolean + lambda: + description: Indicates if scanning of Lambda functions is enabled. + example: true + type: boolean + sensitive_data: + description: Indicates if scanning for sensitive data is enabled. + example: false + type: boolean + vuln_containers_os: + description: Indicates if scanning for vulnerabilities in containers is enabled. + example: true + type: boolean + vuln_host_os: + description: Indicates if scanning for vulnerabilities in hosts is enabled. + example: true + type: boolean + required: + - compliance_host + - lambda + - sensitive_data + - vuln_containers_os + - vuln_host_os + type: object + AwsAccountId: + description: The ID of the AWS account. + example: '123456789012' + type: string + AwsScanOptionsUpdateAttributes: + description: Attributes for the AWS scan options to update. + properties: + compliance_host: + description: Indicates whether host compliance scanning is enabled. + example: false + type: boolean + lambda: + description: Indicates if scanning of Lambda functions is enabled. + example: true + type: boolean + sensitive_data: + description: Indicates if scanning for sensitive data is enabled. + example: false + type: boolean + vuln_containers_os: + description: Indicates if scanning for vulnerabilities in containers is enabled. + example: true + type: boolean + vuln_host_os: + description: Indicates if scanning for vulnerabilities in hosts is enabled. + example: true + type: boolean + type: object + AzureScanOptionsDataAttributes: + description: Attributes for Azure scan options configuration. + properties: + compliance_host: + description: Indicates whether host compliance scanning is enabled. + type: boolean + function: + description: Indicates if scanning of Azure Functions is enabled. + type: boolean + vuln_containers_os: + description: Indicates if scanning for vulnerabilities in containers is enabled. + type: boolean + vuln_host_os: + description: Indicates if scanning for vulnerabilities in hosts is enabled. + type: boolean + type: object + AzureScanOptionsDataType: + default: azure_scan_options + description: The type of the resource. The value should always be `azure_scan_options`. + enum: + - azure_scan_options + example: azure_scan_options + type: string + x-enum-varnames: + - AZURE_SCAN_OPTIONS + AzureScanOptionsInputUpdateDataAttributes: + description: Attributes for updating Azure scan options configuration. + properties: + compliance_host: + description: Indicates whether host compliance scanning is enabled. + type: boolean + function: + description: Indicates if scanning of Azure Functions is enabled. + type: boolean + vuln_containers_os: + description: Indicates if scanning for vulnerabilities in containers is enabled. + type: boolean + vuln_host_os: + description: Indicates if scanning for vulnerabilities in hosts is enabled. + type: boolean + type: object + AzureScanOptionsInputUpdateDataType: + default: azure_scan_options + description: Azure scan options resource type. + enum: + - azure_scan_options + example: azure_scan_options + type: string + x-enum-varnames: + - AZURE_SCAN_OPTIONS + GcpScanOptionsDataAttributes: + description: Attributes for GCP scan options configuration. + properties: + cloud_function: + description: Indicates if scanning of Cloud Functions is enabled. + type: boolean + compliance_host: + description: Indicates whether host compliance scanning is enabled. + type: boolean + vuln_containers_os: + description: Indicates if scanning for vulnerabilities in containers is enabled. + type: boolean + vuln_host_os: + description: Indicates if scanning for vulnerabilities in hosts is enabled. + type: boolean + type: object + GcpScanOptionsDataType: + default: gcp_scan_options + description: GCP scan options resource type. + enum: + - gcp_scan_options + example: gcp_scan_options + type: string + x-enum-varnames: + - GCP_SCAN_OPTIONS + GcpScanOptionsInputUpdateDataAttributes: + description: Attributes for updating GCP scan options configuration. + properties: + cloud_function: + description: Indicates if scanning of Cloud Functions is enabled. + type: boolean + compliance_host: + description: Indicates whether host compliance scanning is enabled. + type: boolean + vuln_containers_os: + description: Indicates if scanning for vulnerabilities in containers is enabled. + type: boolean + vuln_host_os: + description: Indicates if scanning for vulnerabilities in hosts is enabled. + type: boolean + type: object + GcpScanOptionsInputUpdateDataType: + default: gcp_scan_options + description: GCP scan options resource type. + enum: + - gcp_scan_options + example: gcp_scan_options + type: string + x-enum-varnames: + - GCP_SCAN_OPTIONS + AwsOnDemandAttributes: + description: Attributes for the AWS on demand task. + properties: + arn: + description: The arn of the resource to scan. + example: arn:aws:ec2:us-east-1:727000456123:instance/i-0eabb50529b67a1ba + type: string + assigned_at: + description: Specifies the assignment timestamp if the task has been already assigned to a scanner. + example: '2025-02-11T18:25:04.550564Z' + type: string + created_at: + description: The task submission timestamp. + example: '2025-02-11T18:13:24.576915Z' + type: string + status: + description: |- + Indicates the status of the task. + QUEUED: the task has been submitted successfully and the resource has not been assigned to a scanner yet. + ASSIGNED: the task has been assigned. + ABORTED: the scan has been aborted after a period of time due to technical reasons, such as resource not found, insufficient permissions, or the absence of a configured scanner. + example: QUEUED + type: string + type: object + AwsOnDemandType: + default: aws_resource + description: The type of the on demand task. The value should always be `aws_resource`. + enum: + - aws_resource + example: aws_resource + type: string + x-enum-varnames: + - AWS_RESOURCE + AwsOnDemandCreateAttributes: + description: Attributes for the AWS on demand task. + properties: + arn: + description: The arn of the resource to scan. Agentless supports the scan of EC2 instances, lambda functions, AMI, ECR, RDS and S3 buckets. + example: arn:aws:ec2:us-east-1:727000456123:instance/i-0eabb50529b67a1ba + type: string + required: + - arn + type: object + CustomFrameworkDataAttributes: + description: Framework Data Attributes. + properties: + description: + description: Framework Description + type: string + handle: + description: Framework Handle + example: sec2 + type: string + icon_url: + description: Framework Icon URL + type: string + name: + description: Framework Name + example: security-framework + type: string + requirements: + description: Framework Requirements + items: + $ref: '#/components/schemas/CustomFrameworkRequirement' + type: array + version: + description: Framework Version + example: '2' + type: string + required: + - handle + - version + - name + - requirements + type: object + CustomFrameworkType: + default: custom_framework + description: The type of the resource. The value must be `custom_framework`. + enum: + - custom_framework + example: custom_framework + type: string + x-enum-varnames: + - CUSTOM_FRAMEWORK + CustomFrameworkDataHandleAndVersion: + description: Framework Handle and Version. + properties: + handle: + description: Framework Handle + example: sec2 + type: string + version: + description: Framework Version + example: '2' + type: string + type: object + CustomFrameworkWithoutRequirements: + description: Framework without requirements. + properties: + description: + description: Framework Description + example: this is a security description + type: string + handle: + description: Framework Handle + example: sec2 + type: string + icon_url: + description: Framework Icon URL + example: https://example.com/icon.png + type: string + name: + description: Framework Name + example: security-framework + type: string + version: + description: Framework Version + example: '2' + type: string + required: + - handle + - version + - name + type: object + FullCustomFrameworkDataAttributes: + description: Full Framework Data Attributes. + properties: + handle: + description: Framework Handle + example: sec2 + type: string + icon_url: + description: Framework Icon URL + example: https://example.com/icon.png + type: string + name: + description: Framework Name + example: security-framework + type: string + requirements: + description: Framework Requirements + items: + $ref: '#/components/schemas/CustomFrameworkRequirement' + type: array + version: + description: Framework Version + example: '2' + type: string + required: + - handle + - version + - name + - requirements + type: object + ResourceFilterAttributes: + description: Attributes of a resource filter. + example: + aws: + '123456789': + - environment:production + - team:devops + azure: + sub-001: + - app:frontend + gcp: + project-abc: + - region:us-central1 + properties: + cloud_provider: + additionalProperties: + additionalProperties: + items: + description: Tag filter in format "key:value" + example: environment:production + type: string + type: array + type: object + description: A map of cloud provider names (e.g., "aws", "gcp", "azure") to a map of account/resource IDs and their associated tag filters. + type: object + uuid: + description: The UUID of the resource filter. + type: string + required: + - cloud_provider + type: object + ResourceFilterRequestType: + description: Constant string to identify the request type. + enum: + - csm_resource_filter + example: csm_resource_filter + type: string + x-enum-varnames: + - CSM_RESOURCE_FILTER + RuleBasedViewAttributes: + description: Attributes of the rule-based view. + properties: + count: + description: Total number of rules in the view. + example: 1 + format: int64 + type: integer + rules: + $ref: '#/components/schemas/RuleBasedViewRules' + required: + - count + - rules + type: object + RuleBasedViewType: + default: rule_based_view + description: The type of the resource. The value should always be `rule_based_view`. + enum: + - rule_based_view + example: rule_based_view + type: string + x-enum-varnames: + - RULE_BASED_VIEW + JSONAPIErrorItemSource: + description: References to the source of the error. + properties: + header: + description: A string indicating the name of a single request header which caused the error. + example: Authorization + type: string + parameter: + description: A string indicating which URI query parameter caused the error. + example: limit + type: string + pointer: + description: A JSON pointer to the value in the request document that caused the error. + example: /data/attributes/title + type: string + type: object + CsmAgentsAttributes: + description: A CSM Agent returned by the API. + properties: + agent_version: + description: Version of the Datadog Agent. + type: string + aws_fargate: + description: AWS Fargate details. + type: string + cluster_name: + description: List of cluster names associated with the Agent. + items: + description: A cluster name associated with the Agent. + type: string + type: array + datadog_agent: + description: Unique identifier for the Datadog Agent. + type: string + ecs_fargate_task_arn: + description: ARN of the ECS Fargate task. + type: string + envs: + description: List of environments associated with the Agent. + items: + description: An environment name associated with the Agent. + type: string + nullable: true + type: array + host_id: + description: ID of the host. + format: int64 + type: integer + hostname: + description: Name of the host. + type: string + install_method_installer_version: + description: Version of the installer used for installing the Datadog Agent. + type: string + install_method_tool: + description: Tool used for installing the Datadog Agent. + type: string + is_csm_vm_containers_enabled: + description: Indicates if CSM VM Containers is enabled. + nullable: true + type: boolean + is_csm_vm_hosts_enabled: + description: Indicates if CSM VM Hosts is enabled. + nullable: true + type: boolean + is_cspm_enabled: + description: Indicates if CSPM is enabled. + nullable: true + type: boolean + is_cws_enabled: + description: Indicates if CWS is enabled. + nullable: true + type: boolean + is_cws_remote_configuration_enabled: + description: Indicates if CWS Remote Configuration is enabled. + nullable: true + type: boolean + is_remote_configuration_enabled: + description: Indicates if Remote Configuration is enabled. + nullable: true + type: boolean + os: + description: Operating system of the host. + type: string + type: object + CSMAgentsType: + default: datadog_agent + description: The type of the resource. The value should always be `datadog_agent`. + enum: + - datadog_agent + example: datadog_agent + type: string + x-enum-varnames: + - DATADOG_AGENT + CsmCloudAccountsCoverageAnalysisAttributes: + description: CSM Cloud Accounts Coverage Analysis attributes. properties: - data: - $ref: '#/components/schemas/ListFindingsData' - meta: - $ref: '#/components/schemas/ListFindingsMeta' + aws_coverage: + $ref: '#/components/schemas/CsmCoverageAnalysis' + azure_coverage: + $ref: '#/components/schemas/CsmCoverageAnalysis' + gcp_coverage: + $ref: '#/components/schemas/CsmCoverageAnalysis' + org_id: + description: The ID of your organization. + example: 123456 + format: int64 + type: integer + total_coverage: + $ref: '#/components/schemas/CsmCoverageAnalysis' + type: object + CsmHostsAndContainersCoverageAnalysisAttributes: + description: CSM Hosts and Containers Coverage Analysis attributes. + properties: + cspm_coverage: + $ref: '#/components/schemas/CsmCoverageAnalysis' + cws_coverage: + $ref: '#/components/schemas/CsmCoverageAnalysis' + org_id: + description: The ID of your organization. + example: 123456 + format: int64 + type: integer + total_coverage: + $ref: '#/components/schemas/CsmCoverageAnalysis' + vm_coverage: + $ref: '#/components/schemas/CsmCoverageAnalysis' + type: object + CsmServerlessCoverageAnalysisAttributes: + description: CSM Serverless Resources Coverage Analysis attributes. + properties: + cws_coverage: + $ref: '#/components/schemas/CsmCoverageAnalysis' + org_id: + description: The ID of your organization. + example: 123456 + format: int64 + type: integer + total_coverage: + $ref: '#/components/schemas/CsmCoverageAnalysis' + type: object + OwnershipSettingsAttributes: + description: The attributes of the ownership settings response. + properties: + auto_tag: + description: Whether automatic ownership tagging is enabled. + example: true + type: boolean + confidence_level: + $ref: '#/components/schemas/OwnershipConfidenceLevel' + version: + description: The current version of the ownership settings. + example: 1 + format: int64 + type: integer required: - - data - - meta + - version + - auto_tag + - confidence_level + type: object + OwnershipSettingsType: + default: ownership_settings + description: The type of the ownership settings resource. The value should always be `ownership_settings`. + enum: + - ownership_settings + example: ownership_settings + type: string + x-enum-varnames: + - OWNERSHIP_SETTINGS + OwnershipSettingsRequestAttributes: + description: The attributes of an ownership settings request. + properties: + auto_tag: + description: Whether automatic ownership tagging is enabled. + example: true + type: boolean + confidence_level: + $ref: '#/components/schemas/OwnershipConfidenceLevel' + required: + - auto_tag + - confidence_level + type: object + OwnershipUntaggedFindingsAttributes: + description: The counts of findings without a team tag by ownership confidence. + properties: + high_confidence: + description: The number of high confidence findings without a team tag. + example: 30 + format: int64 + type: integer + low_confidence: + description: The number of low confidence findings without a team tag. + example: 42 + format: int64 + type: integer + medium_confidence: + description: The number of medium confidence findings without a team tag. + example: 70 + format: int64 + type: integer + total: + description: The total number of findings without a team tag. + example: 142 + format: int64 + type: integer + required: + - total + - high_confidence + - medium_confidence + - low_confidence + type: object + OwnershipUntaggedFindingsType: + default: ownership_untagged_findings + description: The type of the ownership untagged findings resource. The value should always be `ownership_untagged_findings`. + enum: + - ownership_untagged_findings + example: ownership_untagged_findings + type: string + x-enum-varnames: + - OWNERSHIP_UNTAGGED_FINDINGS + OwnershipInferenceListAttributes: + description: The attributes of the ownership inferences collection response. + properties: + items: + $ref: '#/components/schemas/OwnershipInferenceItems' + required: + - items + type: object + OwnershipInferencesType: + default: ownership_inferences + description: The type of the ownership inferences collection resource. The value should always be `ownership_inferences`. + enum: + - ownership_inferences + example: ownership_inferences + type: string + x-enum-varnames: + - OWNERSHIP_INFERENCES + OwnershipHistoryAttributes: + description: The attributes of an ownership history response. + properties: + items: + $ref: '#/components/schemas/OwnershipHistoryItems' + pagination: + $ref: '#/components/schemas/OwnershipHistoryPagination' + required: + - items + - pagination + type: object + OwnershipHistoryType: + default: ownership_history + description: The type of the ownership history resource. The value should always be `ownership_history`. + enum: + - ownership_history + example: ownership_history + type: string + x-enum-varnames: + - OWNERSHIP_HISTORY + OwnershipInferenceAttributes: + description: The attributes of a single ownership inference. + properties: + checksum: + description: A checksum that uniquely identifies the current state of the inference. Required when submitting feedback. + example: abc123 + type: string + confidence: + description: The confidence score of the inference, expressed as a numeric string with up to four decimal places. + example: '0.9500' + type: string + created_at: + description: The time when the inference was created. + example: '2026-01-15T10:00:00Z' + format: date-time + type: string + evidence_versions: + $ref: '#/components/schemas/OwnershipEvidenceVersions' + explanation: + description: A human-readable explanation of how the inference was produced. + example: High confidence match + type: string + owner_type: + $ref: '#/components/schemas/OwnershipOwnerType' + primary_contact_ref: + description: The primary contact reference for the inferred owner, formatted as `ref:handle/`. + example: ref:handle/team-a + nullable: true + type: string + sources: + $ref: '#/components/schemas/OwnershipInferenceSources' + status: + $ref: '#/components/schemas/OwnershipInferenceStatus' + updated_at: + description: The time when the inference was last updated. + example: '2026-01-15T10:00:00Z' + format: date-time + type: string + required: + - owner_type + - confidence + - explanation + - evidence_versions + - sources + - status + - checksum + - created_at + - updated_at + type: object + OwnershipInferenceType: + default: ownership_inference + description: The type of the ownership inference resource. The value should always be `ownership_inference`. + enum: + - ownership_inference + example: ownership_inference + type: string + x-enum-varnames: + - OWNERSHIP_INFERENCE + OwnershipEvidenceAttributes: + description: The attributes of an ownership evidence response. + properties: + evidence_versions: + $ref: '#/components/schemas/OwnershipEvidenceVersions' + required: + - evidence_versions + type: object + OwnershipEvidenceType: + default: ownership_evidence + description: The type of the ownership evidence resource. The value should always be `ownership_evidence`. + enum: + - ownership_evidence + example: ownership_evidence + type: string + x-enum-varnames: + - OWNERSHIP_EVIDENCE + OwnershipFeedbackRequestAttributes: + description: The attributes of an ownership feedback request. + properties: + action: + $ref: '#/components/schemas/OwnershipFeedbackAction' + actor_handle: + description: The handle of the actor submitting the feedback. + example: user@example.com + type: string + actor_type: + description: The type of actor submitting the feedback, for example `user` or `service`. + example: user + type: string + corrected_owner_handle: + description: The corrected owner handle. Required when `action` is `correct`. + example: team-b + nullable: true + type: string + corrected_owner_type: + description: The corrected owner type. Required when `action` is `correct`. + example: team + nullable: true + type: string + inference_checksum: + description: The checksum of the inference being acted upon. Must match the current inference checksum or the request returns a conflict. + example: abc123 + type: string + reason: + description: An optional free-form reason explaining the feedback. + example: Confirmed by team lead. + nullable: true + type: string + required: + - action + - actor_handle + - actor_type + - inference_checksum + type: object + OwnershipFeedbackType: + default: ownership_feedback + description: The type of the ownership feedback request resource. The value should always be `ownership_feedback`. + enum: + - ownership_feedback + example: ownership_feedback + type: string + x-enum-varnames: + - OWNERSHIP_FEEDBACK + OwnershipFeedbackResultAttributes: + description: The attributes of an ownership feedback result. + properties: + action: + $ref: '#/components/schemas/OwnershipFeedbackAction' + checksum: + description: The checksum of the inference after the feedback was applied. + example: abc123 + type: string + new_status: + $ref: '#/components/schemas/OwnershipInferenceStatus' + owner_type: + $ref: '#/components/schemas/OwnershipOwnerType' + previous_status: + $ref: '#/components/schemas/OwnershipInferenceStatus' + primary_contact_ref: + description: The primary contact reference for the inferred owner after the feedback was applied, formatted as `ref:handle/`. + example: ref:handle/team-a + nullable: true + type: string + updated_at: + description: The time when the inference was updated by the feedback. + example: '2026-01-15T10:00:00Z' + format: date-time + type: string + required: + - action + - previous_status + - new_status + - owner_type + - checksum + - updated_at + type: object + OwnershipFeedbackResultType: + default: ownership_feedback_result + description: The type of the ownership feedback result resource. The value should always be `ownership_feedback_result`. + enum: + - ownership_feedback_result + example: ownership_feedback_result + type: string + x-enum-varnames: + - OWNERSHIP_FEEDBACK_RESULT + CsmAgentlessHostData: + description: A single agentless host resource. + properties: + attributes: + $ref: '#/components/schemas/CsmAgentlessHostAttributes' + id: + description: The resource identifier of the agentless host. + example: i-0123456789abcdef0 + type: string + type: + $ref: '#/components/schemas/CsmAgentlessHostType' + required: + - id + - type + - attributes + type: object + CsmHostFacetInfoAttributes: + description: Attributes of a facet info response, containing the value distribution for the requested facet. + properties: + items: + $ref: '#/components/schemas/CsmHostFacetInfoItems' + required: + - items + type: object + CsmHostFacetInfoMeta: + description: Metadata for the facet info response. + properties: + total_count: + description: The total number of distinct values for this facet. + example: 4 + format: int64 + type: integer + required: + - total_count + type: object + CsmFacetInfoType: + default: facet_info + description: The JSON:API type for facet info resources. The value should always be `facet_info`. + enum: + - facet_info + example: facet_info + type: string + x-enum-varnames: + - FACET_INFO + CsmAgentlessHostFacetData: + description: A single agentless host facet resource. + properties: + attributes: + $ref: '#/components/schemas/CsmAgentlessHostFacetAttributes' + id: + description: The identifier of the facet, corresponding to the field path. + example: cloud_provider + type: string + type: + $ref: '#/components/schemas/CsmAgentlessHostFacetType' + required: + - id + - type + - attributes + type: object + CsmUnifiedHostData: + description: A single unified host resource, combining agent and agentless data. + properties: + attributes: + $ref: '#/components/schemas/CsmUnifiedHostAttributes' + id: + description: The resource identifier of the unified host. + example: i-0123456789abcdef0 + type: string + type: + $ref: '#/components/schemas/CsmUnifiedHostType' + required: + - id + - type + - attributes + type: object + CsmUnifiedHostFacetData: + description: A single unified host facet resource. + properties: + attributes: + $ref: '#/components/schemas/CsmAgentlessHostFacetAttributes' + id: + description: The identifier of the facet, corresponding to the field path. + example: cloud_provider + type: string + type: + $ref: '#/components/schemas/CsmUnifiedHostFacetType' + required: + - id + - type + - attributes + type: object + Finding: + description: A single finding without the message and resource configuration. + properties: + attributes: + $ref: '#/components/schemas/FindingAttributes' + id: + $ref: '#/components/schemas/FindingID' + type: + $ref: '#/components/schemas/FindingType' type: object - BulkMuteFindingsRequest: - description: The new bulk mute finding request. + ListFindingsPage: + additionalProperties: false + description: Pagination and findings count information. properties: - data: - $ref: '#/components/schemas/BulkMuteFindingsRequestData' - required: - - data + cursor: + description: The cursor used to paginate requests. + example: eyJhZnRlciI6IkFRQUFBWWJiaEJXQS1OY1dqUUFBQUFCQldXSmlhRUpYUVVGQlJFSktkbTlDTUdaWFRVbDNRVUUiLCJ2YWx1ZXMiOlsiY3JpdGljYWwiXX0= + type: string + total_filtered_count: + description: The total count of findings after the filter has been applied. + example: 213 + format: int64 + type: integer type: object - BulkMuteFindingsResponse: - description: The expected response schema. + DetailedFindingAttributes: + description: The JSON:API attributes of the detailed finding. properties: - data: - $ref: '#/components/schemas/BulkMuteFindingsResponseData' - required: - - data + evaluation: + $ref: '#/components/schemas/FindingEvaluation' + evaluation_changed_at: + $ref: '#/components/schemas/FindingEvaluationChangedAt' + message: + description: The remediation message for this finding. + example: |- + ## Remediation + + ### From the console + + 1. Go to Storage Account + 2. For each Storage Account, navigate to Data Protection + 3. Select Set soft delete enabled and enter the number of days to retain soft deleted data. + type: string + mute: + $ref: '#/components/schemas/FindingMute' + resource: + $ref: '#/components/schemas/FindingResource' + resource_configuration: + description: The resource configuration for this finding. (opaque JSON object) + type: string + resource_discovery_date: + $ref: '#/components/schemas/FindingResourceDiscoveryDate' + resource_type: + $ref: '#/components/schemas/FindingResourceType' + rule: + $ref: '#/components/schemas/FindingRule' + status: + $ref: '#/components/schemas/FindingStatus' + tags: + $ref: '#/components/schemas/FindingTags' type: object - JSONAPIErrorResponse: - description: API error response. + FindingID: + description: The unique ID for this finding. + example: ZGVmLTAwcC1pZXJ-aS0wZjhjNjMyZDNmMzRlZTgzNw== + type: string + DetailedFindingType: + default: detailed_finding + description: The JSON:API type for findings that have the message and resource configuration. + enum: + - detailed_finding + example: detailed_finding + type: string + x-enum-varnames: + - DETAILED_FINDING + SecurityEntityRiskScoreAttributes: + description: Attributes of an entity risk score. properties: - errors: - description: A list of errors. + accountIds: + description: Cloud account IDs associated with the entity. + example: + - '222233334444' + - '3333333555555' items: - $ref: '#/components/schemas/JSONAPIErrorItem' + description: A cloud account ID. + type: string type: array + configRisks: + $ref: '#/components/schemas/SecurityEntityConfigRisks' + entityMetadata: + $ref: '#/components/schemas/SecurityEntityMetadata' + entityName: + description: Human-readable name of the entity. + example: john.doe + type: string + entityProviders: + description: Cloud providers associated with the entity. + example: + - AWS + items: + description: A cloud provider name. + type: string + type: array + entityRoles: + description: Roles associated with the entity. + example: [] + items: + description: A role assigned to the entity. + type: string + type: array + entitySubTypes: + description: Sub-types associated with the entity. + example: + - Root + items: + description: An entity sub-type label. + type: string + type: array + entityType: + description: Type of the entity (for example, aws_iam_user, aws_ec2_instance). + example: aws_iam_user + type: string + entityTypes: + description: All types associated with the entity. + example: + - Root + - User Name + items: + description: An entity type label. + type: string + type: array + firstDetected: + description: Timestamp when the entity was first detected (Unix milliseconds). + example: 1778876604661 + format: int64 + type: integer + lastActivityTitle: + description: Title of the most recent signal detected for this entity. + example: Suspicious API call detected + type: string + lastDetected: + description: Timestamp when the entity was last detected (Unix milliseconds). + example: 1780064607093 + format: int64 + type: integer + riskScore: + description: Current risk score for the entity. + example: 85 + format: int64 + type: integer + riskScoreEvolution: + description: Change in risk score compared to previous period. + example: 12 + format: int64 + type: integer + severity: + $ref: '#/components/schemas/SecurityEntityRiskScoreAttributesSeverity' + signalsDetected: + description: Number of security signals detected for this entity. + example: 15 + format: int64 + type: integer required: - - errors - type: object - GetFindingResponse: - description: The expected response schema when getting a finding. + - entityProviders + - entitySubTypes + - accountIds + - riskScore + - riskScoreEvolution + - severity + - firstDetected + - lastDetected + - lastActivityTitle + - signalsDetected + - configRisks + - entityMetadata + type: object + SecurityEntityRiskScoreType: + description: Resource type. + enum: + - SecurityEntityRiskScore + example: SecurityEntityRiskScore + type: string + x-enum-varnames: + - SECURITY_ENTITY_RISK_SCORE + ApplicationSecurityServiceAttributes: + description: Application Security details describing a service in a given environment. properties: - data: - $ref: '#/components/schemas/DetailedFinding' + agent_versions: + description: The Datadog Agent versions reporting for the service. + example: + - 7.50.0 + items: + description: A Datadog Agent version reporting for the service. + example: 7.50.0 + type: string + type: array + app_type: + description: The application type of the service, such as `web` or `serverless`. + example: web + type: string + asm_threat_compatible: + description: Whether the service is compatible with Application Security Management (Threats). + example: true + type: boolean + backend_waf_event_count: + description: The number of backend WAF events detected for the service. + example: 10 + format: int64 + type: integer + business_logic: + description: The enabled business logic detection rules for the service. + example: + - users.login.success + items: + description: A business logic detection rule enabled for the service. + example: users.login.success + type: string + type: array + color: + deprecated: true + description: 'Deprecated: a display color associated with the service in the UI.' + example: '' + type: string + env: + description: The environment the service runs in. + example: prod + type: string + event_count: + description: The number of Application Security events detected for the service. + example: 42 + format: int64 + type: integer + event_trend: + deprecated: true + description: 'Deprecated: the trend of Application Security events over time.' + example: + - 0 + items: + description: A point in the Application Security events trend. + example: 0 + format: int64 + type: integer + type: array + has_appsec_enabled: + description: Whether Application Security Management (Threats) is enabled for the service. + example: true + type: boolean + hits: + deprecated: true + description: 'Deprecated: the number of hits for the service.' + example: 0 + format: int64 + type: integer + iast_product_activation: + description: Whether Interactive Application Security Testing (IAST) is enabled for the service. + example: false + type: boolean + iast_product_compatibility: + description: The Interactive Application Security Testing (IAST) compatibility status of the service. + example: compatible + type: string + iast_product_compatibility_reasons: + description: The reasons explaining the Interactive Application Security Testing (IAST) compatibility status. + example: + - service_not_compatible + items: + description: A reason explaining the Interactive Application Security Testing (IAST) compatibility status. + example: service_not_compatible + type: string + type: array + languages: + description: The programming languages detected for the service. + example: + - go + items: + description: A programming language detected for the service. + example: go + type: string + type: array + last_ingested_spans: + description: The Unix timestamp, in seconds, of the last ingested span for the service. + example: 1610000000 + format: int64 + type: integer + rc_capabilities: + description: The Remote Configuration capabilities reported by the service. + example: + - ASM_DD_RULES + items: + description: A Remote Configuration capability reported by the service. + example: ASM_DD_RULES + type: string + type: array + recommended_business_logic: + description: The recommended business logic detection rules for the service. + example: + - users.login.success + items: + description: A recommended business logic detection rule for the service. + example: users.login.success + type: string + type: array + risk_product_activation: + description: Whether Software Composition Analysis (SCA) is enabled for the service. + example: false + type: boolean + risk_product_compatibility: + description: The Software Composition Analysis (SCA) compatibility status of the service. + example: compatible + type: string + risk_product_compatibility_reasons: + description: The reasons explaining the Software Composition Analysis (SCA) compatibility status. + example: + - service_not_compatible + items: + description: A reason explaining the Software Composition Analysis (SCA) compatibility status. + example: service_not_compatible + type: string + type: array + rules_version: + description: The WAF rules versions applied to the service. + example: + - 1.13.0 + items: + description: A WAF rules version applied to the service. + example: 1.13.0 + type: string + type: array + service: + description: The name of the service. + example: web-store + type: string + signal_count: + deprecated: true + description: 'Deprecated: the number of security signals for the service.' + example: 0 + format: int64 + type: integer + signal_trend: + deprecated: true + description: 'Deprecated: the trend of security signals over time.' + example: + - 0 + items: + description: A point in the security signals trend. + example: 0 + format: int64 + type: integer + type: array + source: + description: The data sources that contributed information about the service. + example: + - services-activity + items: + description: A data source that contributed information about the service. + example: services-activity + type: string + type: array + teams: + description: The teams that own the service. + example: + - security-team + items: + description: A team that owns the service. + example: security-team + type: string + type: array + tracer_versions: + description: The Datadog tracing library versions reporting for the service. + example: + - 1.60.0 + items: + description: A Datadog tracing library version reporting for the service. + example: 1.60.0 + type: string + type: array + vm-activation: + description: The Vulnerability Management activation status of the service. + example: enabled + type: string + vuln_critical_count: + deprecated: true + description: 'Deprecated: the number of critical-severity vulnerabilities for the service.' + example: 0 + format: int64 + type: integer + vuln_high_count: + deprecated: true + description: 'Deprecated: the number of high-severity vulnerabilities for the service.' + example: 0 + format: int64 + type: integer + without_filter_services: + description: The total number of services available without applying the service filter. + example: 0 + format: int64 + type: integer required: - - data - type: object - AssetType: - description: The asset type + - service + - env + - app_type + - has_appsec_enabled + - asm_threat_compatible + - languages + - teams + - event_count + - backend_waf_event_count + - risk_product_activation + - risk_product_compatibility + - risk_product_compatibility_reasons + - iast_product_activation + - iast_product_compatibility + - iast_product_compatibility_reasons + - vm-activation + - agent_versions + - tracer_versions + - rules_version + - rc_capabilities + - source + - last_ingested_spans + - business_logic + - recommended_business_logic + - without_filter_services + - color + - event_trend + - signal_trend + - signal_count + - hits + - vuln_high_count + - vuln_critical_count + type: object + ApplicationSecurityServiceType: + default: service_env + description: The type of the resource. The value should always be `service_env`. enum: - - Repository - - Service - - Host - - HostImage - - Image - example: Repository + - service_env + example: service_env type: string x-enum-varnames: - - REPOSITORY - - SERVICE - - HOST - - HOSTIMAGE - - IMAGE - ListVulnerableAssetsResponse: - description: The expected response schema when listing vulnerable assets. + - SERVICE_ENV + SecurityFindingsAttributes: + description: The JSON object containing all attributes of the security finding. properties: - data: - description: List of vulnerable assets. + attributes: + additionalProperties: {} + description: The custom attributes of the security finding. + example: + severity: high + status: open + type: object + tags: + description: List of tags associated with the security finding. + example: + - team:platform + - env:prod items: - $ref: '#/components/schemas/Asset' + description: A tag associated with the security finding. + type: string type: array - links: - $ref: '#/components/schemas/Links' - meta: - $ref: '#/components/schemas/Metadata' - required: - - data + timestamp: + description: The Unix timestamp at which the detection changed for the resource. Same value as @detection_changed_at. + example: 1765901760 + format: int64 + type: integer type: object - SBOMComponentLicenseType: - description: The SBOM component license type. + SecurityFindingsDataType: + default: finding + description: The type of the security finding resource. + enum: + - finding + example: finding + type: string + x-enum-varnames: + - FINDING + SecurityFindingsPage: + description: Pagination information. + properties: + after: + description: The cursor used to get the next page of results. + example: eyJhZnRlciI6IkFRQUFBWWJiaEJXQS1OY1dqUUFBQUFCQldXSmlhRUpYUVVGQlJFSktkbTlDTUdaWFRVbDNRVUUiLCJ2YWx1ZXMiOlsiY3JpdGljYWwiXX0= + type: string + type: object + SecurityFindingsStatus: + description: The status of the response. enum: - - network_strong_copyleft - - non_standard_copyleft - - other_non_free - - other_non_standard - - permissive - - public_domain - - strong_copyleft - - weak_copyleft - example: application + - done + - timeout + example: done type: string x-enum-varnames: - - NETWORK_STRONG_COPYLEFT - - NON_STANDARD_COPYLEFT - - OTHER_NON_FREE - - OTHER_NON_STANDARD - - PERMISSIVE - - PUBLIC_DOMAIN - - STRONG_COPYLEFT - - WEAK_COPYLEFT - ListAssetsSBOMsResponse: - description: The expected response schema when listing assets SBOMs. + - DONE + - TIMEOUT + AssigneeRequestDataAttributes: + description: Attributes of the assignee request. properties: - data: - description: List of assets SBOMs. - items: - $ref: '#/components/schemas/SBOM' - type: array - links: - $ref: '#/components/schemas/Links' - meta: - $ref: '#/components/schemas/Metadata' - required: - - data + assignee_id: + description: Unique identifier of the Datadog user to assign the security findings to. If this field is not provided, the security findings are unassigned. + example: f315bdaf-9ee7-4808-a9c1-99c15bf0f4d0 + type: string type: object - GetSBOMResponse: - description: The expected response schema when getting an SBOM. + AssigneeRequestDataRelationships: + description: Relationships of the assignee request. properties: - data: - $ref: '#/components/schemas/SBOM' + findings: + $ref: '#/components/schemas/Findings' + description: Security findings to assign or unassign. required: - - data + - findings type: object - CreateNotificationRuleParameters: - description: Body of the notification rule create request. + AssigneeDataType: + default: assignee + description: Assignee resource type. + enum: + - assignee + example: assignee + type: string + x-enum-varnames: + - ASSIGNEE + AssigneeResponseDataAttributes: + description: Attributes of the assignee response. properties: - data: - $ref: '#/components/schemas/CreateNotificationRuleParametersData' + assignee_id: + description: Unique identifier of the Datadog user assigned to the security findings. Omitted when the findings were unassigned. + example: f315bdaf-9ee7-4808-a9c1-99c15bf0f4d0 + type: string type: object - NotificationRuleResponse: - description: Response object which includes a notification rule. + AssignmentResult: + description: Per-finding outcome of an assign or unassign operation. properties: - data: - $ref: '#/components/schemas/NotificationRule' + detail: + description: Human-readable explanation of the outcome. + example: failed to update finding assignee + type: string + finding_id: + description: Unique identifier of the security finding. + example: ZGVmLTAwcC1pZXJ-aS0wZjhjNjMyZDNmMzRlZTgzNw== + type: string + status: + description: HTTP-like status code describing the outcome for this finding. + example: 500 + format: int32 + maximum: 599 + type: integer + title: + description: Short label describing the outcome for this finding. + example: Internal Server Error + type: string + required: + - finding_id + - status + - title + - detail type: object - PatchNotificationRuleParameters: - description: Body of the notification rule patch request. + SecurityAutomationRulesPageInfo: + description: Pagination information for the list of automation rules. properties: - data: - $ref: '#/components/schemas/PatchNotificationRuleParametersData' + total_filtered_count: + description: The total number of rules matching the current filter. + example: 42 + format: int64 + type: integer + required: + - total_filtered_count type: object - VulnerabilityType: - description: The vulnerability type. - enum: - - AdminConsoleActive - - CodeInjection - - CommandInjection - - ComponentWithKnownVulnerability - - DangerousWorkflows - - DefaultAppDeployed - - DefaultHtmlEscapeInvalid - - DirectoryListingLeak - - EmailHtmlInjection - - EndOfLife - - HardcodedPassword - - HardcodedSecret - - HeaderInjection - - HstsHeaderMissing - - InsecureAuthProtocol - - InsecureCookie - - InsecureJspLayout - - LdapInjection - - MaliciousPackage - - MandatoryRemediation - - NoHttpOnlyCookie - - NoSameSiteCookie - - NoSqlMongoDbInjection - - PathTraversal - - ReflectionInjection - - RiskyLicense - - SessionRewriting - - SessionTimeout - - SqlInjection - - Ssrf - - StackTraceLeak - - TrustBoundaryViolation - - Unmaintained - - UntrustedDeserialization - - UnvalidatedRedirect - - VerbTampering - - WeakCipher - - WeakHash - - WeakRandomness - - XContentTypeHeaderMissing - - XPathInjection - - Xss - example: WeakCipher - type: string - x-enum-varnames: - - ADMIN_CONSOLE_ACTIVE - - CODE_INJECTION - - COMMAND_INJECTION - - COMPONENT_WITH_KNOWN_VULNERABILITY - - DANGEROUS_WORKFLOWS - - DEFAULT_APP_DEPLOYED - - DEFAULT_HTML_ESCAPE_INVALID - - DIRECTORY_LISTING_LEAK - - EMAIL_HTML_INJECTION - - END_OF_LIFE - - HARDCODED_PASSWORD - - HARDCODED_SECRET - - HEADER_INJECTION - - HSTS_HEADER_MISSING - - INSECURE_AUTH_PROTOCOL - - INSECURE_COOKIE - - INSECURE_JSP_LAYOUT - - LDAP_INJECTION - - MALICIOUS_PACKAGE - - MANDATORY_REMEDIATION - - NO_HTTP_ONLY_COOKIE - - NO_SAME_SITE_COOKIE - - NO_SQL_MONGO_DB_INJECTION - - PATH_TRAVERSAL - - REFLECTION_INJECTION - - RISKY_LICENSE - - SESSION_REWRITING - - SESSION_TIMEOUT - - SQL_INJECTION - - SSRF - - STACK_TRACE_LEAK - - TRUST_BOUNDARY_VIOLATION - - UNMAINTAINED - - UNTRUSTED_DESERIALIZATION - - UNVALIDATED_REDIRECT - - VERB_TAMPERING - - WEAK_CIPHER - - WEAK_HASH - - WEAK_RANDOMNESS - - X_CONTENT_TYPE_HEADER_MISSING - - X_PATH_INJECTION - - XSS - VulnerabilitySeverity: - description: The vulnerability severity. - enum: - - Unknown - - None - - Low - - Medium - - High - - Critical - example: Medium - type: string - x-enum-varnames: - - UNKNOWN - - NONE - - LOW - - MEDIUM - - HIGH - - CRITICAL - VulnerabilityStatus: - description: The vulnerability status. - enum: - - Open - - Muted - - Remediated - - InProgress - - AutoClosed - example: Open - type: string - x-enum-varnames: - - OPEN - - MUTED - - REMEDIATED - - INPROGRESS - - AUTOCLOSED - VulnerabilityTool: - description: The vulnerability tool. + DueDateRuleAttributesCreate: + description: Attributes for creating or updating a due date rule. + properties: + action: + $ref: '#/components/schemas/DueDateRuleAction' + enabled: + description: Whether the due date rule is enabled. + example: true + type: boolean + name: + description: The name of the due date rule. + example: Critical findings due in 7 days + maxLength: 255 + minLength: 1 + type: string + rule: + $ref: '#/components/schemas/AutomationRuleScope' + required: + - name + - rule + - action + type: object + DueDateRuleType: + description: The JSON:API type for due date rules. enum: - - IAST - - SCA - - Infra - example: SCA + - due_date_rules + example: due_date_rules type: string x-enum-varnames: - - IAST - - SCA - - INFRA - VulnerabilityEcosystem: - description: The related vulnerability asset ecosystem. + - DUE_DATE_RULES + DueDateRuleAttributesResponse: + description: Attributes of a due date rule returned by the API. + properties: + action: + $ref: '#/components/schemas/DueDateRuleAction' + created_at: + description: The Unix timestamp in milliseconds when the rule was created. + example: 1722439510282 + format: int64 + type: integer + created_by: + $ref: '#/components/schemas/AutomationRuleCreatedBy' + enabled: + description: Whether the due date rule is enabled. + example: true + type: boolean + modified_at: + description: The Unix timestamp in milliseconds when the rule was last modified. + example: 1722439510282 + format: int64 + type: integer + modified_by: + $ref: '#/components/schemas/AutomationRuleModifiedBy' + name: + description: The name of the due date rule. + example: Critical findings due in 7 days + maxLength: 255 + minLength: 1 + type: string + rule: + $ref: '#/components/schemas/AutomationRuleScope' + required: + - name + - enabled + - rule + - action + - created_at + - created_by + - modified_at + - modified_by + type: object + DueDateRuleReorderItem: + description: A reference to a due date rule used for reordering. + properties: + id: + description: The ID of the automation rule. + example: 00000000-0000-0000-0000-000000000000 + format: uuid + type: string + type: + $ref: '#/components/schemas/DueDateRuleType' + required: + - type + - id + type: object + MuteRuleAttributesCreate: + description: Attributes for creating or updating a mute rule. + properties: + action: + $ref: '#/components/schemas/MuteRuleAction' + enabled: + description: Whether the mute rule is enabled. + example: true + type: boolean + name: + description: The name of the mute rule. + example: Mute accepted risks in dev + maxLength: 255 + minLength: 1 + type: string + rule: + $ref: '#/components/schemas/AutomationRuleScope' + required: + - name + - rule + - action + type: object + MuteRuleType: + description: The JSON:API type for mute rules. enum: - - PyPI - - Maven - - NuGet - - Npm - - RubyGems - - Go - - Packagist - - Ddeb - - Rpm - - Apk - - Windows + - mute_rules + example: mute_rules type: string x-enum-varnames: - - PYPI - - MAVEN - - NUGET - - NPM - - RUBY_GEMS - - GO - - PACKAGIST - - D_DEB - - RPM - - APK - - WINDOWS - ListVulnerabilitiesResponse: - description: The expected response schema when listing vulnerabilities. + - MUTE_RULES + MuteRuleAttributesResponse: + description: Attributes of a mute rule returned by the API. properties: - data: - description: List of vulnerabilities. - items: - $ref: '#/components/schemas/Vulnerability' - type: array - links: - $ref: '#/components/schemas/Links' - meta: - $ref: '#/components/schemas/Metadata' + action: + $ref: '#/components/schemas/MuteRuleAction' + created_at: + description: The Unix timestamp in milliseconds when the rule was created. + example: 1722439510282 + format: int64 + type: integer + created_by: + $ref: '#/components/schemas/AutomationRuleCreatedBy' + enabled: + description: Whether the mute rule is enabled. + example: true + type: boolean + modified_at: + description: The Unix timestamp in milliseconds when the rule was last modified. + example: 1722439510282 + format: int64 + type: integer + modified_by: + $ref: '#/components/schemas/AutomationRuleModifiedBy' + name: + description: The name of the mute rule. + example: Mute accepted risks in dev + maxLength: 255 + minLength: 1 + type: string + rule: + $ref: '#/components/schemas/AutomationRuleScope' required: - - data + - name + - enabled + - rule + - action + - created_at + - created_by + - modified_at + - modified_by type: object - CloudWorkloadSecurityAgentRulesListResponse: - description: Response object that includes a list of Agent rule + MuteRuleReorderItem: + description: A reference to a mute rule used for reordering. properties: - data: - description: A list of Agent rules objects - items: - $ref: '#/components/schemas/CloudWorkloadSecurityAgentRuleData' - type: array + id: + description: The ID of the automation rule. + example: 00000000-0000-0000-0000-000000000000 + format: uuid + type: string + type: + $ref: '#/components/schemas/MuteRuleType' + required: + - type + - id type: object - CloudWorkloadSecurityAgentRuleCreateRequest: - description: Request object that includes the Agent rule to create + SeverityModifierRuleAttributesCreate: + description: Attributes for creating or updating a severity modifier rule. properties: - data: - $ref: '#/components/schemas/CloudWorkloadSecurityAgentRuleCreateData' + action: + $ref: '#/components/schemas/SeverityModifierRuleAction' + enabled: + description: Whether the severity modifier rule is enabled. + example: true + type: boolean + name: + description: The name of the severity modifier rule. + example: Downgrade misconfigurations in dev + maxLength: 255 + minLength: 1 + type: string + rule: + $ref: '#/components/schemas/AutomationRuleScope' required: - - data + - name + - rule + - action type: object - CloudWorkloadSecurityAgentRuleResponse: - description: Response object that includes an Agent rule + SeverityModifierRuleType: + description: The JSON:API type for severity modifier rules. + enum: + - severity_modifier_rules + example: severity_modifier_rules + type: string + x-enum-varnames: + - SEVERITY_MODIFIER_RULES + SeverityModifierRuleAttributesResponse: + description: Attributes of a severity modifier rule as returned by the API. properties: - data: - $ref: '#/components/schemas/CloudWorkloadSecurityAgentRuleData' + action: + $ref: '#/components/schemas/SeverityModifierRuleAction' + created_at: + description: The Unix timestamp in milliseconds when the rule was created. + example: 1722439510282 + format: int64 + type: integer + created_by: + $ref: '#/components/schemas/AutomationRuleCreatedBy' + enabled: + description: Whether the severity modifier rule is enabled. + example: true + type: boolean + modified_at: + description: The Unix timestamp in milliseconds when the rule was last modified. + example: 1722439510282 + format: int64 + type: integer + modified_by: + $ref: '#/components/schemas/AutomationRuleModifiedBy' + name: + description: The name of the severity modifier rule. + example: Downgrade misconfigurations in dev + maxLength: 255 + minLength: 1 + type: string + rule: + $ref: '#/components/schemas/AutomationRuleScope' + required: + - name + - enabled + - rule + - action + - created_at + - created_by + - modified_at + - modified_by type: object - CloudWorkloadSecurityAgentRuleUpdateRequest: - description: >- - Request object that includes the Agent rule with the attributes to - update + SeverityModifierRuleReorderItem: + description: A reference to a severity modifier rule used for reordering. properties: - data: - $ref: '#/components/schemas/CloudWorkloadSecurityAgentRuleUpdateData' + id: + description: The ID of the automation rule. + example: 00000000-0000-0000-0000-000000000000 + format: uuid + type: string + type: + $ref: '#/components/schemas/SeverityModifierRuleType' required: - - data + - type + - id type: object - SecurityFiltersResponse: - description: All the available security filters objects. + TicketCreationRuleAttributesCreate: + description: Attributes for creating or updating a ticket creation rule. properties: - data: - description: A list of security filters objects. - items: - $ref: '#/components/schemas/SecurityFilter' - type: array - meta: - $ref: '#/components/schemas/SecurityFilterMeta' + action: + $ref: '#/components/schemas/TicketCreationRuleAction' + enabled: + description: Whether the ticket creation rule is enabled. + example: true + type: boolean + name: + description: The name of the ticket creation rule. + example: Auto-create Jira tickets for critical findings + maxLength: 255 + minLength: 1 + type: string + rule: + $ref: '#/components/schemas/AutomationRuleScope' + required: + - name + - rule + - action type: object - SecurityFilterCreateRequest: - description: >- - Request object that includes the security filter that you would like to - create. + TicketCreationRuleType: + description: The JSON:API type for ticket creation rules. + enum: + - ticket_creation_rules + example: ticket_creation_rules + type: string + x-enum-varnames: + - TICKET_CREATION_RULES + TicketCreationRuleAttributesResponse: + description: Attributes of a ticket creation rule returned by the API. properties: - data: - $ref: '#/components/schemas/SecurityFilterCreateData' + action: + $ref: '#/components/schemas/TicketCreationRuleActionResponse' + created_at: + description: The Unix timestamp in milliseconds when the rule was created. + example: 1722439510282 + format: int64 + type: integer + created_by: + $ref: '#/components/schemas/AutomationRuleCreatedBy' + enabled: + description: Whether the ticket creation rule is enabled. + example: true + type: boolean + modified_at: + description: The Unix timestamp in milliseconds when the rule was last modified. + example: 1722439510282 + format: int64 + type: integer + modified_by: + $ref: '#/components/schemas/AutomationRuleModifiedBy' + name: + description: The name of the ticket creation rule. + example: Auto-create Jira tickets for critical findings + maxLength: 255 + minLength: 1 + type: string + rule: + $ref: '#/components/schemas/AutomationRuleScope' required: - - data + - name + - enabled + - rule + - action + - created_at + - created_by + - modified_at + - modified_by type: object - SecurityFilterResponse: - description: Response object which includes a single security filter. + TicketCreationRuleReorderItem: + description: A reference to a ticket creation rule used for reordering. properties: - data: - $ref: '#/components/schemas/SecurityFilter' - meta: - $ref: '#/components/schemas/SecurityFilterMeta' + id: + description: The ID of the automation rule. + example: 00000000-0000-0000-0000-000000000000 + format: uuid + type: string + type: + $ref: '#/components/schemas/TicketCreationRuleType' + required: + - type + - id type: object - SecurityFilterUpdateRequest: - description: The new security filter body. + DetachCaseRequestDataRelationships: + description: Relationships detaching security findings from their case. properties: - data: - $ref: '#/components/schemas/SecurityFilterUpdateData' + findings: + $ref: '#/components/schemas/Findings' + description: Security findings to detach from their case. required: - - data + - findings type: object - SecurityMonitoringSuppressionsResponse: - description: Response object containing the available suppression rules. + CaseDataType: + default: cases + description: Cases resource type. + enum: + - cases + example: cases + type: string + x-enum-varnames: + - CASES + CreateCaseRequestDataAttributes: + description: Attributes of the case to create. properties: - data: - description: A list of suppressions objects. + assignee_id: + description: Unique identifier of the user assigned to the case. + example: f315bdaf-9ee7-4808-a9c1-99c15bf0f4d0 + type: string + description: + description: Description of the case. If not provided, the description will be automatically generated. + example: A description of the case. + type: string + priority: + $ref: '#/components/schemas/CasePriority' + description: Priority of the case. If not provided, the priority will be automatically set to "NOT_DEFINED". + example: P4 + title: + description: Title of the case. If not provided, the title will be automatically generated. + example: A title for the case. + type: string + type: object + CreateCaseRequestDataRelationships: + description: Relationships of the case to create. + properties: + findings: + $ref: '#/components/schemas/Findings' + description: Security findings to create a case for. + project: + $ref: '#/components/schemas/CaseManagementProject' + description: Case management project in which the case will be created. + required: + - findings + - project + type: object + FindingCaseResponseDataAttributes: + description: Attributes of the case. + properties: + archived_at: + description: Timestamp of when the case was archived. + example: '2025-01-01T00:00:00.000Z' + format: date-time + type: string + assigned_to: + $ref: '#/components/schemas/RelationshipToUser' + description: User assigned to the case. + attributes: + additionalProperties: + items: + description: A custom attribute value string. + type: string + type: array + description: Custom attributes associated with the case as key-value pairs where values are string arrays. + type: object + closed_at: + description: Timestamp of when the case was closed. + example: '2025-01-01T00:00:00.000Z' + format: date-time + type: string + created_at: + description: Timestamp of when the case was created. + example: '2025-01-01T00:00:00.000Z' + format: date-time + type: string + creation_source: + description: Source of the case creation. + example: CS_SECURITY_FINDING + type: string + description: + description: Description of the case. + example: A description of the case. + type: string + due_date: + description: Due date of the case. + example: '2025-01-01' + type: string + insights: + description: Insights of the case. items: - $ref: '#/components/schemas/SecurityMonitoringSuppression' + $ref: '#/components/schemas/CaseInsightsItems' type: array + jira_issue: + $ref: '#/components/schemas/FindingJiraIssue' + description: Jira issue associated with the case. + key: + description: Key of the case. + example: PROJ-123 + type: string + linear_issue: + $ref: '#/components/schemas/FindingLinearIssue' + description: Linear issue associated with the case. + modified_at: + description: Timestamp of when the case was last modified. + example: '2025-01-01T00:00:00.000Z' + format: date-time + type: string + priority: + description: Priority of the case. + example: P4 + type: string + servicenow_ticket: + $ref: '#/components/schemas/FindingServiceNowTicket' + description: ServiceNow ticket associated with the case. + status: + description: Status of the case. + example: OPEN + type: string + status_group: + description: Status group of the case. + example: SG_OPEN + type: string + status_name: + description: Status name of the case. + example: Open + type: string + title: + description: Title of the case. + example: A title for the case. + type: string + type: + description: Type of the case. For security cases, this is always "SECURITY". + example: SECURITY + type: string type: object - SecurityMonitoringSuppressionCreateRequest: - description: >- - Request object that includes the suppression rule that you would like to - create. + FindingCaseResponseDataRelationships: + description: Relationships of the case. properties: - data: - $ref: '#/components/schemas/SecurityMonitoringSuppressionCreateData' - required: - - data + created_by: + $ref: '#/components/schemas/RelationshipToUser' + description: User who created the case. + modified_by: + $ref: '#/components/schemas/RelationshipToUser' + description: User who last modified the case. + project: + $ref: '#/components/schemas/CaseManagementProject' + description: Project in which the case was created. type: object - SecurityMonitoringSuppressionResponse: - description: Response object containing a single suppression rule. + AttachCaseRequestDataRelationships: + description: Relationships of the case to attach security findings to. properties: - data: - $ref: '#/components/schemas/SecurityMonitoringSuppression' + findings: + $ref: '#/components/schemas/Findings' + description: Security findings to attach to the case. + required: + - findings type: object - SecurityMonitoringRuleCreatePayload: - description: Create a new rule. - oneOf: - - $ref: '#/components/schemas/SecurityMonitoringStandardRuleCreatePayload' - - $ref: '#/components/schemas/SecurityMonitoringSignalRuleCreatePayload' - - $ref: '#/components/schemas/CloudConfigurationRuleCreatePayload' - SecurityMonitoringSuppressionUpdateRequest: - description: Request object containing the fields to update on the suppression rule. + AttachJiraIssueRequestDataAttributes: + description: Attributes of the Jira issue to attach security findings to. properties: - data: - $ref: '#/components/schemas/SecurityMonitoringSuppressionUpdateData' + jira_issue_url: + description: URL of the Jira issue to attach security findings to. + example: https://domain.atlassian.net/browse/PROJ-123 + type: string required: - - data + - jira_issue_url type: object - SecurityMonitoringListRulesResponse: - description: List of rules. + AttachJiraIssueRequestDataRelationships: + description: Relationships of the Jira issue to attach security findings to. properties: - data: - description: Array containing the list of rules. - items: - $ref: '#/components/schemas/SecurityMonitoringRuleResponse' - type: array - meta: - $ref: '#/components/schemas/ResponseMetaAttributes' + findings: + $ref: '#/components/schemas/Findings' + description: Security findings to attach to the Jira issue. + project: + $ref: '#/components/schemas/CaseManagementProject' + description: Case management project with Jira integration configured. It is used to attach security findings to the Jira issue. To configure the integration, see [Bidirectional ticket syncing with Jira](https://docs.datadoghq.com/security/ticketing_integrations/#bidirectional-ticket-syncing-with-jira). + required: + - findings + - project type: object - SecurityMonitoringRuleResponse: - description: Create a new rule. - oneOf: - - $ref: '#/components/schemas/SecurityMonitoringStandardRuleResponse' - - $ref: '#/components/schemas/SecurityMonitoringSignalRuleResponse' - SecurityMonitoringRuleConvertPayload: - description: Convert a rule from JSON to Terraform. - oneOf: - - $ref: '#/components/schemas/SecurityMonitoringStandardRulePayload' - - $ref: '#/components/schemas/SecurityMonitoringSignalRulePayload' - SecurityMonitoringRuleConvertResponse: - description: Result of the convert rule request containing Terraform content. + JiraIssuesDataType: + default: jira_issues + description: Jira issues resource type. + enum: + - jira_issues + example: jira_issues + type: string + x-enum-varnames: + - JIRA_ISSUES + CreateJiraIssueRequestDataAttributes: + description: Attributes of the Jira issue to create. properties: - ruleId: - description: the ID of the rule. + assignee_id: + description: Unique identifier of the Datadog user assigned to the Jira issue. + example: f315bdaf-9ee7-4808-a9c1-99c15bf0f4d0 type: string - terraformContent: - description: Terraform string as a result of converting the rule from JSON. + description: + description: Description of the Jira issue. If not provided, the description will be automatically generated. + example: A description of the Jira issue. + type: string + fields: + additionalProperties: {} + description: Custom fields of the Jira issue to create. For the list of available fields, see [Jira documentation](https://developer.atlassian.com/cloud/jira/platform/rest/v2/api-group-issues/#api-rest-api-2-issue-createmeta-projectidorkey-issuetypes-issuetypeid-get). + example: + key1: value + key2: + - value + key3: + key4: value + type: object + priority: + $ref: '#/components/schemas/CasePriority' + description: Datadog case priority mapped to the Jira issue priority. If not provided, the priority will be automatically set to "NOT_DEFINED". To configure the mapping, see [Bidirectional ticket syncing with Jira](https://docs.datadoghq.com/security/ticketing_integrations/#bidirectional-ticket-syncing-with-jira). + example: P4 + title: + description: Title of the Jira issue. If not provided, the title will be automatically generated. + example: A title for the Jira issue. type: string type: object - SecurityMonitoringRuleTestRequest: - description: >- - Test the rule queries of a rule (rule property is ignored when applied - to an existing rule) + CreateJiraIssueRequestDataRelationships: + description: Relationships of the Jira issue to create. properties: - rule: - $ref: '#/components/schemas/SecurityMonitoringRuleTestPayload' - ruleQueryPayloads: - description: Data payloads used to test rules query with the expected result. - items: - $ref: '#/components/schemas/SecurityMonitoringRuleQueryPayload' - type: array + findings: + $ref: '#/components/schemas/Findings' + description: Security findings to create a Jira issue for. + project: + $ref: '#/components/schemas/CaseManagementProject' + description: Case management project configured with the Jira integration. It is used to create the Jira issue. To configure the Jira integration, see [Bidirectional ticket syncing with Jira](https://docs.datadoghq.com/security/ticketing_integrations/#bidirectional-ticket-syncing-with-jira). + required: + - findings + - project type: object - SecurityMonitoringRuleTestResponse: - description: Result of the test of the rule queries. + AttachLinearIssueRequestDataAttributes: + description: Attributes of the Linear issue to attach security findings to. properties: - results: - description: >- - Assert results are returned in the same order as the rule query - payloads. - - For each payload, it returns True if the result matched the expected - result, - - False otherwise. - items: - type: boolean - type: array + linear_issue_url: + description: URL of the Linear issue to attach security findings to. + example: https://linear.app/your-workspace/issue/ENG-123 + type: string + required: + - linear_issue_url type: object - SecurityMonitoringRuleValidatePayload: - description: Validate a rule. - oneOf: - - $ref: '#/components/schemas/SecurityMonitoringStandardRulePayload' - - $ref: '#/components/schemas/SecurityMonitoringSignalRulePayload' - - $ref: '#/components/schemas/CloudConfigurationRulePayload' - SecurityMonitoringRuleUpdatePayload: - description: Update an existing rule. + AttachLinearIssueRequestDataRelationships: + description: Relationships of the Linear issue to attach security findings to. properties: - calculatedFields: - description: >- - Calculated fields. Only allowed for scheduled rules - in other - words, when schedulingOptions is also defined. - items: - $ref: '#/components/schemas/CalculatedField' - type: array - cases: - description: Cases for generating signals. - items: - $ref: '#/components/schemas/SecurityMonitoringRuleCase' - type: array - complianceSignalOptions: - $ref: '#/components/schemas/CloudConfigurationRuleComplianceSignalOptions' - customMessage: - description: >- - Custom/Overridden Message for generated signals (used in case of - Default rule update). + findings: + $ref: '#/components/schemas/Findings' + description: Security findings to attach to the Linear issue. + project: + $ref: '#/components/schemas/CaseManagementProject' + description: Case management project with the Linear integration configured. It is used to attach security findings to the Linear issue. + required: + - findings + - project + type: object + LinearIssuesDataType: + default: linear_issues + description: Linear issues resource type. + enum: + - linear_issues + example: linear_issues + type: string + x-enum-varnames: + - LINEAR_ISSUES + CreateLinearIssueRequestDataAttributes: + description: Attributes of the Linear issue to create. + properties: + assignee_id: + description: Unique identifier of the Datadog user assigned to the Linear issue. + example: f315bdaf-9ee7-4808-a9c1-99c15bf0f4d0 type: string - customName: - description: Custom/Overridden name (used in case of Default rule update). + description: + description: Description of the Linear issue. If not provided, the description will be automatically generated. + example: A description of the Linear issue. type: string - filters: - description: >- - Additional queries to filter matched events before they are - processed. This field is deprecated for log detection, signal - correlation, and workload security rules. - items: - $ref: '#/components/schemas/SecurityMonitoringFilter' - type: array - groupSignalsBy: - description: >- - Additional grouping to perform on top of the existing groups in the - query section. Must be a subset of the existing groups. + label_ids: + description: Linear label IDs to set on the created issue. example: - - service + - a1b2c3d4-5e6f-7a8b-9c0d-1e2f3a4b5c6d items: - description: Field to group by. + description: A Linear label ID. type: string type: array - hasExtendedTitle: - description: >- - Whether the notifications include the triggering group-by values in - their title. - example: true - type: boolean - isEnabled: - description: Whether the rule is enabled. - type: boolean - message: - description: Message for generated signals. + linear_project_id: + description: Unique identifier of the Linear project to pin the issue to. If not provided, the issue is not associated with a Linear project. + example: d4c3b2a1-6f5e-8b7a-0d9c-2f1e4a3b6c5d type: string - name: - description: Name of the rule. + priority: + $ref: '#/components/schemas/CasePriority' + description: Datadog case priority mapped to the Linear issue priority. If not provided, the priority will be automatically set to "NOT_DEFINED". + example: P4 + title: + description: Title of the Linear issue. If not provided, the title will be automatically generated. + example: A title for the Linear issue. type: string - options: - $ref: '#/components/schemas/SecurityMonitoringRuleOptions' - queries: - description: Queries for selecting logs which are part of the rule. - items: - $ref: '#/components/schemas/SecurityMonitoringRuleQuery' - type: array - referenceTables: - description: Reference tables for the rule. - items: - $ref: '#/components/schemas/SecurityMonitoringReferenceTable' - type: array - schedulingOptions: - $ref: '#/components/schemas/SecurityMonitoringSchedulingOptions' - tags: - description: Tags for generated signals. - items: - description: Tag. - type: string - type: array - thirdPartyCases: - description: >- - Cases for generating signals from third-party rules. Only available - for third-party rules. - example: [] - items: - $ref: '#/components/schemas/SecurityMonitoringThirdPartyRuleCase' - type: array - version: - description: The version of the rule being updated. - example: 1 - format: int32 - maximum: 2147483647 - type: integer type: object - GetRuleVersionHistoryResponse: - description: Response for getting the rule version history. + CreateLinearIssueRequestDataRelationships: + description: Relationships of the Linear issue to create. properties: - data: - $ref: '#/components/schemas/GetRuleVersionHistoryData' + findings: + $ref: '#/components/schemas/Findings' + description: Security findings to create a Linear issue for. + project: + $ref: '#/components/schemas/CaseManagementProject' + description: Case management project configured with the Linear integration. It is used to create the Linear issue. + required: + - findings + - project type: object - SecurityMonitoringSignalsListResponse: - description: |- - The response object with all security signals matching the request - and pagination information. + MuteFindingsRequestDataAttributes: + description: Attributes of the mute request. properties: - data: - description: An array of security signals matching the request. - items: - $ref: '#/components/schemas/SecurityMonitoringSignal' - type: array - links: - $ref: '#/components/schemas/SecurityMonitoringSignalsListResponseLinks' - meta: - $ref: '#/components/schemas/SecurityMonitoringSignalsListResponseMeta' + mute: + $ref: '#/components/schemas/MuteFindingsMuteAttributes' + required: + - mute type: object - SecurityMonitoringSignalListRequest: - description: The request for a security signal list. + MuteFindingsRequestDataRelationships: + description: Relationships of the mute request. + properties: + findings: + $ref: '#/components/schemas/Findings' + description: Security findings to mute or unmute. + required: + - findings + type: object + MuteDataType: + default: mute + description: Mute resource type. + enum: + - mute + example: mute + type: string + x-enum-varnames: + - MUTE + SecurityFindingsSearchRequestDataAttributes: + description: Request attributes for searching security findings. properties: filter: - $ref: '#/components/schemas/SecurityMonitoringSignalListRequestFilter' + default: '*' + description: The search query following log search syntax. + example: '@severity:(critical OR high) @status:open team:platform' + type: string page: - $ref: '#/components/schemas/SecurityMonitoringSignalListRequestPage' + $ref: '#/components/schemas/SecurityFindingsSearchRequestPage' sort: - $ref: '#/components/schemas/SecurityMonitoringSignalsSort' - type: object - SecurityMonitoringSignalResponse: - description: Security Signal response data object. - properties: - data: - $ref: '#/components/schemas/SecurityMonitoringSignal' - type: object - SecurityMonitoringSignalAssigneeUpdateRequest: - description: >- - Request body for changing the assignee of a given security monitoring - signal. - properties: - data: - $ref: '#/components/schemas/SecurityMonitoringSignalAssigneeUpdateData' - required: - - data + $ref: '#/components/schemas/SecurityFindingsSort' type: object - SecurityMonitoringSignalTriageUpdateResponse: - description: >- - The response returned after all triage operations, containing the - updated signal triage data. + AttachServiceNowTicketRequestDataAttributes: + description: Attributes of the ServiceNow ticket to attach security findings to. properties: - data: - $ref: '#/components/schemas/SecurityMonitoringSignalTriageUpdateData' + servicenow_ticket_url: + description: URL of the ServiceNow incident to attach security findings to. Must be a service-now.com URL pointing to an incident record. + example: https://example.service-now.com/now/nav/ui/classic/params/target/incident.do?sys_id=abcdef0123456789abcdef0123456789 + type: string required: - - data + - servicenow_ticket_url type: object - APIErrorResponse: - description: API error response. + AttachServiceNowTicketRequestDataRelationships: + description: Relationships of the ServiceNow ticket to attach security findings to. properties: - errors: - description: A list of errors. - example: - - Bad Request - items: - description: A list of items. - example: Bad Request - type: string - type: array + findings: + $ref: '#/components/schemas/Findings' + description: Security findings to attach to the ServiceNow ticket. + project: + $ref: '#/components/schemas/CaseManagementProject' + description: Case management project with the ServiceNow integration configured. It is used to attach security findings to the ServiceNow ticket. required: - - errors + - findings + - project type: object - SecurityMonitoringSignalIncidentsUpdateRequest: - description: >- - Request body for changing the related incidents of a given security - monitoring signal. + ServiceNowTicketsDataType: + default: servicenow_tickets + description: ServiceNow tickets resource type. + enum: + - servicenow_tickets + example: servicenow_tickets + type: string + x-enum-varnames: + - SERVICENOW_TICKETS + CreateServiceNowTicketRequestDataAttributes: + description: Attributes of the ServiceNow ticket to create. properties: - data: - $ref: '#/components/schemas/SecurityMonitoringSignalIncidentsUpdateData' - required: - - data + assignee_id: + description: Unique identifier of the Datadog user assigned to the case backing the ServiceNow ticket. + example: f315bdaf-9ee7-4808-a9c1-99c15bf0f4d0 + type: string + description: + description: Description of the ServiceNow ticket. If not provided, the description will be automatically generated. + example: A description of the ServiceNow ticket. + type: string + priority: + $ref: '#/components/schemas/CasePriority' + description: Datadog case priority mapped to the ServiceNow ticket priority. If not provided, the priority will be automatically set to "NOT_DEFINED". + example: P4 + title: + description: Title of the ServiceNow ticket. If not provided, the title will be automatically generated. + example: A title for the ServiceNow ticket. + type: string type: object - SecurityMonitoringSignalStateUpdateRequest: - description: >- - Request body for changing the state of a given security monitoring - signal. + CreateServiceNowTicketRequestDataRelationships: + description: Relationships of the ServiceNow ticket to create. properties: - data: - $ref: '#/components/schemas/SecurityMonitoringSignalStateUpdateData' + findings: + $ref: '#/components/schemas/Findings' + description: Security findings to create a ServiceNow ticket for. + project: + $ref: '#/components/schemas/CaseManagementProject' + description: Case management project configured with the ServiceNow integration. It is used to create the ServiceNow ticket. required: - - data - type: object - SensitiveDataScannerGetConfigResponse: - description: Get all groups response. - properties: - data: - $ref: '#/components/schemas/SensitiveDataScannerGetConfigResponseData' - included: - $ref: '#/components/schemas/SensitiveDataScannerGetConfigIncludedArray' - meta: - $ref: '#/components/schemas/SensitiveDataScannerMeta' + - findings + - project type: object - SensitiveDataScannerConfigRequest: - description: Group reorder request. + SBOMAttributes: + description: The JSON:API attributes of the SBOM. properties: - data: - $ref: '#/components/schemas/SensitiveDataScannerReorderConfig' - meta: - $ref: '#/components/schemas/SensitiveDataScannerMetaVersionOnly' + bomFormat: + description: Specifies the format of the BOM. This helps to identify the file as CycloneDX since BOM do not have a filename convention nor does JSON schema support namespaces. This value MUST be `CycloneDX`. + example: CycloneDX + type: string + components: + description: A list of software and hardware components. + items: + $ref: '#/components/schemas/SBOMComponent' + type: array + dependencies: + description: List of dependencies between components of the SBOM. + items: + $ref: '#/components/schemas/SBOMComponentDependency' + type: array + metadata: + $ref: '#/components/schemas/SBOMMetadata' + serialNumber: + description: Every BOM generated has a unique serial number, even if the contents of the BOM have not changed overt time. The serial number follows [RFC-4122](https://datatracker.ietf.org/doc/html/rfc4122) + example: urn:uuid:f7119d2f-1vgh-24b5-91f0-12010db72da7 + type: string + specVersion: + $ref: '#/components/schemas/SpecVersion' + version: + description: It increments when a BOM is modified. The default value is 1. + example: 1 + format: int64 + type: integer required: - - data - - meta + - bomFormat + - specVersion + - components + - metadata + - serialNumber + - version + - dependencies type: object - SensitiveDataScannerReorderGroupsResponse: - description: Group reorder response. + SBOMType: + description: The JSON:API type. + enum: + - sboms + example: sboms + type: string + x-enum-varnames: + - SBOMS + ScannedAssetMetadataAttributes: + description: The attributes of a scanned asset metadata. properties: - meta: - $ref: '#/components/schemas/SensitiveDataScannerMeta' + asset: + $ref: '#/components/schemas/ScannedAssetMetadataAsset' + first_success_timestamp: + description: The timestamp when the scan of the asset was performed for the first time. + example: '2025-07-08T07:24:53Z' + type: string + last_success: + $ref: '#/components/schemas/ScannedAssetMetadataLastSuccess' + required: + - asset + - last_success + - first_success_timestamp type: object - SensitiveDataScannerGroupCreateRequest: - description: Create group request. + ScannedAssetMetadataType: + description: The JSON:API type. + enum: + - scanned-assets-metadata + example: scanned-assets-metadata + type: string + x-enum-varnames: + - SCANNED_ASSETS_METADATA + IoCExplorerListResponseAttributes: + description: Attributes of the IoC Explorer list response. properties: data: - $ref: '#/components/schemas/SensitiveDataScannerGroupCreate' - meta: - $ref: '#/components/schemas/SensitiveDataScannerMetaVersionOnly' + description: List of indicators of compromise. + items: + $ref: '#/components/schemas/IoCIndicator' + type: array + metadata: + $ref: '#/components/schemas/IoCExplorerListResponseMetadata' + paging: + $ref: '#/components/schemas/IoCExplorerListResponsePaging' type: object - SensitiveDataScannerCreateGroupResponse: - description: Create group response. + GetIoCIndicatorResponseAttributes: + description: Attributes of the get indicator response. properties: data: - $ref: '#/components/schemas/SensitiveDataScannerGroupResponse' - meta: - $ref: '#/components/schemas/SensitiveDataScannerMetaVersionOnly' + $ref: '#/components/schemas/IoCIndicatorDetailed' type: object - SensitiveDataScannerGroupDeleteRequest: - description: Delete group request. + IoCTriageWriteRequestAttributes: + description: Attributes for setting an indicator's triage state. properties: - meta: - $ref: '#/components/schemas/SensitiveDataScannerMetaVersionOnly' + indicator: + description: The indicator value to triage (for example, an IP address or domain). + example: 192.0.2.1 + type: string + triage_state: + $ref: '#/components/schemas/IoCTriageState' required: - - meta + - indicator + - triage_state type: object - SensitiveDataScannerGroupDeleteResponse: - description: Delete group response. + IoCTriageWriteResponseAttributes: + description: Attributes of a created or updated triage state. properties: - meta: - $ref: '#/components/schemas/SensitiveDataScannerMetaVersionOnly' + created_at: + description: Timestamp when the triage record was created. + format: date-time + type: string + indicator: + description: The indicator value that was triaged. + type: string + triage_state: + $ref: '#/components/schemas/IoCTriageState' + triaged_at: + description: Timestamp when the triage state was set. + format: date-time + type: string + triaged_by: + description: UUID of the user who set the triage state. + type: string type: object - SensitiveDataScannerGroupUpdateRequest: - description: Update group request. + CreateNotificationRuleParametersDataAttributes: + description: Attributes of the notification rule create request. properties: - data: - $ref: '#/components/schemas/SensitiveDataScannerGroupUpdate' - meta: - $ref: '#/components/schemas/SensitiveDataScannerMetaVersionOnly' + enabled: + $ref: '#/components/schemas/Enabled' + name: + $ref: '#/components/schemas/RuleName' + routing: + $ref: '#/components/schemas/NotificationRuleRouting' + selectors: + $ref: '#/components/schemas/Selectors' + targets: + $ref: '#/components/schemas/Targets' + time_aggregation: + $ref: '#/components/schemas/TimeAggregation' required: - - data - - meta - type: object - SensitiveDataScannerGroupUpdateResponse: - description: Update group response. - properties: - meta: - $ref: '#/components/schemas/SensitiveDataScannerMetaVersionOnly' + - selectors + - name + - targets type: object - SensitiveDataScannerRuleCreateRequest: - description: Create rule request. + NotificationRulesType: + description: The rule type associated to notification rules. + enum: + - notification_rules + example: notification_rules + type: string + x-enum-varnames: + - NOTIFICATION_RULES + NotificationRuleAttributes: + description: Attributes of the notification rule. properties: - data: - $ref: '#/components/schemas/SensitiveDataScannerRuleCreate' - meta: - $ref: '#/components/schemas/SensitiveDataScannerMetaVersionOnly' + created_at: + $ref: '#/components/schemas/Date' + created_by: + $ref: '#/components/schemas/RuleUser' + enabled: + $ref: '#/components/schemas/Enabled' + modified_at: + $ref: '#/components/schemas/Date' + modified_by: + $ref: '#/components/schemas/RuleUser' + name: + $ref: '#/components/schemas/RuleName' + selectors: + $ref: '#/components/schemas/Selectors' + targets: + $ref: '#/components/schemas/Targets' + time_aggregation: + $ref: '#/components/schemas/TimeAggregation' + version: + $ref: '#/components/schemas/Version' required: - - data - - meta + - created_at + - created_by + - enabled + - modified_at + - modified_by + - name + - selectors + - targets + - version type: object - SensitiveDataScannerCreateRuleResponse: - description: Create rule response. + ID: + description: The ID of a notification rule. + example: aaa-bbb-ccc + type: string + PatchNotificationRuleParametersDataAttributes: + description: Attributes of the notification rule patch request. It is required to update the version of the rule when patching it. properties: - data: - $ref: '#/components/schemas/SensitiveDataScannerRuleResponse' - meta: - $ref: '#/components/schemas/SensitiveDataScannerMetaVersionOnly' + enabled: + $ref: '#/components/schemas/Enabled' + name: + $ref: '#/components/schemas/RuleName' + routing: + $ref: '#/components/schemas/NotificationRuleRouting' + selectors: + $ref: '#/components/schemas/Selectors' + targets: + $ref: '#/components/schemas/Targets' + time_aggregation: + $ref: '#/components/schemas/TimeAggregation' + version: + $ref: '#/components/schemas/Version' type: object - SensitiveDataScannerRuleDeleteRequest: - description: Delete rule request. + VulnerabilityAttributes: + description: The JSON:API attributes of the vulnerability. properties: - meta: - $ref: '#/components/schemas/SensitiveDataScannerMetaVersionOnly' + advisory: + $ref: '#/components/schemas/VulnerabilityAdvisory' + advisory_id: + description: Vulnerability advisory ID. + example: TRIVY-CVE-2023-0615 + type: string + code_location: + $ref: '#/components/schemas/CodeLocation' + cve_list: + description: Vulnerability CVE list. + example: + - CVE-2023-0615 + items: + description: A CVE identifier associated with the vulnerability. + example: CVE-2023-0615 + type: string + type: array + cvss: + $ref: '#/components/schemas/VulnerabilityCvss' + dependency_locations: + $ref: '#/components/schemas/VulnerabilityDependencyLocations' + description: + description: Vulnerability description. + example: LDAP Injection is a security vulnerability that occurs when untrusted user input is improperly handled and directly incorporated into LDAP queries without appropriate sanitization or validation. This vulnerability enables attackers to manipulate LDAP queries and potentially gain unauthorized access, modify data, or extract sensitive information from the directory server. By exploiting the LDAP injection vulnerability, attackers can execute malicious commands, bypass authentication mechanisms, and perform unauthorized actions within the directory service. + type: string + ecosystem: + $ref: '#/components/schemas/VulnerabilityEcosystem' + exposure_time: + description: Vulnerability exposure time in seconds. + example: 5618604 + format: int64 + type: integer + first_detection: + description: First detection of the vulnerability in [RFC 3339](https://datatracker.ietf.org/doc/html/rfc3339) format + example: '2024-09-19T21:23:08.000Z' + type: string + fix_available: + description: Whether the vulnerability has a remediation or not. + example: false + type: boolean + language: + description: Vulnerability language. + example: ubuntu + type: string + last_detection: + description: Last detection of the vulnerability in [RFC 3339](https://datatracker.ietf.org/doc/html/rfc3339) format + example: '2024-09-01T21:23:08.000Z' + type: string + library: + $ref: '#/components/schemas/Library' + origin: + description: Vulnerability origin. + example: + - agentless-scanner + items: + description: The detection origin of the vulnerability (for example, the scanner type). + example: agentless-scanner + type: string + type: array + remediations: + description: List of remediations. + items: + $ref: '#/components/schemas/Remediation' + type: array + repo_digests: + description: Vulnerability `repo_digest` list (when the vulnerability is related to `Image` asset). + items: + description: A container image repository digest identifying the affected image. + example: sha256:0ae7da091191787229d321e3638e39c319a97d6e20f927d465b519d699215bf7 + type: string + type: array + risks: + $ref: '#/components/schemas/VulnerabilityRisks' + running_kernel: + description: True if the vulnerability affects a package in the host’s running kernel, false if it affects a non-running kernel, and omit if it is not kernel-related. + example: true + type: boolean + status: + $ref: '#/components/schemas/VulnerabilityStatus' + title: + description: Vulnerability title. + example: LDAP Injection + type: string + tool: + $ref: '#/components/schemas/VulnerabilityTool' + type: + $ref: '#/components/schemas/VulnerabilityType' required: - - meta - type: object - SensitiveDataScannerRuleDeleteResponse: - description: Delete rule response. - properties: - meta: - $ref: '#/components/schemas/SensitiveDataScannerMetaVersionOnly' + - type + - cvss + - status + - tool + - title + - description + - cve_list + - risks + - language + - first_detection + - last_detection + - exposure_time + - remediations + - fix_available + - origin type: object - SensitiveDataScannerRuleUpdateRequest: - description: Update rule request. + VulnerabilityRelationships: + description: Related entities object. properties: - data: - $ref: '#/components/schemas/SensitiveDataScannerRuleUpdate' - meta: - $ref: '#/components/schemas/SensitiveDataScannerMetaVersionOnly' + affects: + $ref: '#/components/schemas/VulnerabilityRelationshipsAffects' required: - - data - - meta - type: object - SensitiveDataScannerRuleUpdateResponse: - description: Update rule response. - properties: - meta: - $ref: '#/components/schemas/SensitiveDataScannerMetaVersionOnly' + - affects type: object - SensitiveDataScannerStandardPatternsResponseData: - description: List Standard patterns response data. + VulnerabilitiesType: + description: The JSON:API type. + enum: + - vulnerabilities + example: vulnerabilities + type: string + x-enum-varnames: + - VULNERABILITIES + CycloneDXComponentType: + description: The type of the scanned component. + enum: + - library + - application + - operating-system + example: library + type: string + x-enum-varnames: + - LIBRARY + - APPLICATION + - OPERATING_SYSTEM + CycloneDXMetadataComponent: + description: The asset that was scanned (for example, a host or container image). properties: - data: - $ref: '#/components/schemas/SensitiveDataScannerStandardPatternsResponse' + bom-ref: + description: A unique reference identifier for this metadata component. If set, must match a `bom-ref` in `components`. + example: host-ref-abc123 + type: string + name: + description: The name or identifier of the scanned asset (for example, an instance ID or hostname). + example: i-12345 + type: string + type: + description: The type of the scanned asset. + example: operating-system + type: string + required: + - name type: object - ListHistoricalJobsResponse: - description: List of historical jobs. + CycloneDXMetadataTools: + description: Information about the scanner tool that produced this BOM. properties: - data: - description: Array containing the list of historical jobs. + components: + description: The scanner tool components. Must contain exactly one element. items: - $ref: '#/components/schemas/HistoricalJobResponseData' + $ref: '#/components/schemas/CycloneDXToolComponent' type: array - meta: - $ref: '#/components/schemas/HistoricalJobListMeta' + required: + - components type: object - RunHistoricalJobRequest: - description: Run a historical job request. + CycloneDXVulnerabilityAdvisory: + description: An external advisory reference for a vulnerability. properties: - data: - $ref: '#/components/schemas/RunHistoricalJobRequestData' + url: + description: The URL of the advisory. + example: https://example.com/advisory/CVE-2021-1234 + type: string type: object - JobCreateResponse: - description: Run a historical job response. + CycloneDXVulnerabilityAffects: + description: A reference to a component affected by a vulnerability. properties: - data: - $ref: '#/components/schemas/JobCreateResponseData' + ref: + description: The `bom-ref` of the affected component. + example: a3390fca-c315-41ae-ae05-af5e7859cdee + type: string + required: + - ref type: object - ConvertJobResultsToSignalsRequest: - description: Request for converting historical job results to signals. + CycloneDXVulnerabilityAnalysis: + description: |- + The exploitability analysis for the vulnerability. When `state` is set to `resolved` + or `resolved_with_pedigree`, the vulnerability is closed in Datadog. + Other state values are accepted but have no effect on the vulnerability status. properties: - data: - $ref: '#/components/schemas/ConvertJobResultsToSignalsData' + state: + description: The vulnerability analysis state. + example: resolved + type: string type: object - HistoricalJobResponse: - description: Historical job response. + CycloneDXVulnerabilityRating: + description: A severity rating for a vulnerability. properties: - data: - $ref: '#/components/schemas/HistoricalJobResponseData' + score: + description: The CVSS score. + example: 9 + format: double + type: number + severity: + description: The severity level. + example: high + type: string + vector: + description: The CVSS vector string. + example: CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:C/C:H/I:H/A:N + type: string type: object - AwsScanOptionsData: - description: Single AWS Scan Options entry. + CycloneDXVulnerabilityReference: + description: An external reference identifier for a vulnerability. properties: - attributes: - $ref: '#/components/schemas/AwsScanOptionsAttributes' id: - description: The ID of the AWS account. - example: '184366314700' + description: The identifier of the external reference (for example, a GHSA ID). + example: GHSA-35m5-8cvj-8783 type: string - type: - $ref: '#/components/schemas/AwsScanOptionsType' + source: + $ref: '#/components/schemas/CycloneDXVulnerabilityReferenceSource' type: object - AwsScanOptionsCreateData: - description: Object for the scan options of a single AWS account. + AssetAttributes: + description: The JSON:API attributes of the asset. properties: - attributes: - $ref: '#/components/schemas/AwsScanOptionsCreateAttributes' - id: - $ref: '#/components/schemas/AwsAccountId' + arch: + description: Asset architecture. + example: arm64 + type: string + environments: + description: List of environments where the asset is deployed. + example: + - staging + items: + description: An environment where the asset is deployed. + example: staging + type: string + type: array + name: + description: Asset name. + example: github.com/DataDog/datadog-agent.git + type: string + operating_system: + $ref: '#/components/schemas/AssetOperatingSystem' + risks: + $ref: '#/components/schemas/AssetRisks' + teams: + description: List of teams that own the asset. + example: + - compute + items: + description: A team that owns the asset. + example: compute + type: string + type: array type: - $ref: '#/components/schemas/AwsScanOptionsType' + $ref: '#/components/schemas/AssetType' + version: + $ref: '#/components/schemas/AssetVersion' required: - - id + - name - type - - attributes + - risks + - environments type: object - AwsScanOptionsUpdateData: - description: Object for the scan options of a single AWS account. + AssetEntityType: + description: The JSON:API type. + enum: + - assets + example: assets + type: string + x-enum-varnames: + - ASSETS + CloudWorkloadSecurityAgentRuleAttributes: + description: A Cloud Workload Security Agent rule returned by the API properties: - attributes: - $ref: '#/components/schemas/AwsScanOptionsUpdateAttributes' - id: - $ref: '#/components/schemas/AwsAccountId' - type: - $ref: '#/components/schemas/AwsScanOptionsType' - required: - - id - - type - - attributes + actions: + $ref: '#/components/schemas/CloudWorkloadSecurityAgentRuleActions' + agentConstraint: + description: The version of the Agent + type: string + blocking: + description: The blocking policies that the rule belongs to + items: + description: The ID of a blocking policy that this rule belongs to. + type: string + type: array + category: + description: The category of the Agent rule + example: Process Activity + type: string + creationAuthorUuId: + description: The ID of the user who created the rule + example: e51c9744-d158-11ec-ad23-da7ad0900002 + type: string + creationDate: + description: When the Agent rule was created, timestamp in milliseconds + example: 1624366480320 + format: int64 + type: integer + creator: + $ref: '#/components/schemas/CloudWorkloadSecurityAgentRuleCreatorAttributes' + defaultRule: + description: Whether the rule is included by default + example: false + type: boolean + description: + description: The description of the Agent rule + example: My Agent rule + type: string + disabled: + description: The disabled policies that the rule belongs to + items: + description: The ID of a disabled policy that this rule belongs to. + type: string + type: array + enabled: + description: Whether the Agent rule is enabled + example: true + type: boolean + expression: + description: The SECL expression of the Agent rule + example: exec.file.name == "sh" + type: string + filters: + description: The platforms the Agent rule is supported on + items: + description: A platform filter that the Agent rule is supported on. + type: string + type: array + monitoring: + description: The monitoring policies that the rule belongs to + items: + description: The ID of a monitoring policy that this rule belongs to. + type: string + type: array + name: + description: The name of the Agent rule + example: my_agent_rule + type: string + product_tags: + description: The list of product tags associated with the rule + items: + description: A product tag associated with the rule. + type: string + type: array + silent: + description: Whether the rule is silent. + example: false + type: boolean + updateAuthorUuId: + description: The ID of the user who updated the rule + example: e51c9744-d158-11ec-ad23-da7ad0900002 + type: string + updateDate: + description: Timestamp in milliseconds when the Agent rule was last updated + example: 1624366480320 + format: int64 + type: integer + updatedAt: + description: When the Agent rule was last updated, timestamp in milliseconds + example: 1624366480320 + format: int64 + type: integer + updater: + $ref: '#/components/schemas/CloudWorkloadSecurityAgentRuleUpdaterAttributes' + version: + description: The version of the Agent rule + example: 23 + format: int64 + type: integer type: object - AwsOnDemandData: - description: Single AWS on demand task. + CloudWorkloadSecurityAgentRuleType: + default: agent_rule + description: The type of the resource, must always be `agent_rule` + enum: + - agent_rule + example: agent_rule + type: string + x-enum-varnames: + - AGENT_RULE + CloudWorkloadSecurityAgentRuleCreateAttributes: + description: Create a new Cloud Workload Security Agent rule. properties: - attributes: - $ref: '#/components/schemas/AwsOnDemandAttributes' - id: - description: The UUID of the task. - example: 6d09294c-9ad9-42fd-a759-a0c1599b4828 + actions: + $ref: '#/components/schemas/CloudWorkloadSecurityAgentRuleActions' + agent_version: + description: Constrain the rule to specific versions of the Datadog Agent. type: string - type: - $ref: '#/components/schemas/AwsOnDemandType' - type: object - AwsOnDemandCreateData: - description: Object for a single AWS on demand task. - properties: - attributes: - $ref: '#/components/schemas/AwsOnDemandCreateAttributes' - type: - $ref: '#/components/schemas/AwsOnDemandType' - required: - - type - - attributes - type: object - CustomFrameworkData: - description: Contains type and attributes for custom frameworks. - properties: - attributes: - $ref: '#/components/schemas/CustomFrameworkDataAttributes' - type: - $ref: '#/components/schemas/CustomFrameworkType' - required: - - type - - attributes - type: object - FrameworkHandleAndVersionResponseData: - description: Contains type and attributes for custom frameworks. - properties: - attributes: - $ref: '#/components/schemas/CustomFrameworkDataHandleAndVersion' - id: - description: The ID of the custom framework. - example: handle-version + blocking: + description: The blocking policies that the rule belongs to. + items: + description: The ID of a blocking policy that this rule belongs to. + type: string + type: array + description: + description: The description of the Agent rule. + example: My Agent rule type: string - type: - $ref: '#/components/schemas/CustomFrameworkType' - required: - - id - - type - - attributes - type: object - CustomFrameworkMetadata: - description: Metadata for custom frameworks. - properties: - attributes: - $ref: '#/components/schemas/CustomFrameworkWithoutRequirements' - id: - description: The ID of the custom framework. - example: handle-version + disabled: + description: The disabled policies that the rule belongs to. + items: + description: The ID of a disabled policy that this rule belongs to. + type: string + type: array + enabled: + description: Whether the Agent rule is enabled. + example: true + type: boolean + expression: + description: The SECL expression of the Agent rule. + example: exec.file.name == "sh" type: string - type: - $ref: '#/components/schemas/CustomFrameworkType' - type: object - FullCustomFrameworkData: - description: Contains type and attributes for custom frameworks. - properties: - attributes: - $ref: '#/components/schemas/FullCustomFrameworkDataAttributes' - id: - description: The ID of the custom framework. - example: handle-version + filters: + description: The platforms the Agent rule is supported on. + items: + description: A platform filter that the Agent rule is supported on. + type: string + type: array + monitoring: + description: The monitoring policies that the rule belongs to. + items: + description: The ID of a monitoring policy that this rule belongs to. + type: string + type: array + name: + description: The name of the Agent rule. + example: my_agent_rule type: string - type: - $ref: '#/components/schemas/CustomFrameworkType' + policy_id: + description: The ID of the policy where the Agent rule is saved. + example: a8c8e364-6556-434d-b798-a4c23de29c0b + type: string + product_tags: + description: The list of product tags associated with the rule. + items: + description: A product tag associated with the rule. + type: string + type: array + silent: + description: Whether the rule is silent. + example: false + type: boolean required: - - id - - type - - attributes + - name + - expression type: object - GetResourceEvaluationFiltersResponseData: - description: The definition of `GetResourceFilterResponseData` object. + CloudWorkloadSecurityAgentRuleUpdateAttributes: + description: Update an existing Cloud Workload Security Agent rule properties: - attributes: - $ref: '#/components/schemas/ResourceFilterAttributes' - id: - description: The `data` `id`. - example: csm_resource_filter + actions: + $ref: '#/components/schemas/CloudWorkloadSecurityAgentRuleActions' + agent_version: + description: Constrain the rule to specific versions of the Datadog Agent type: string - type: - $ref: '#/components/schemas/ResourceFilterRequestType' - type: object - UpdateResourceEvaluationFiltersRequestData: - description: The definition of `UpdateResourceFilterRequestData` object. - properties: - attributes: - $ref: '#/components/schemas/ResourceFilterAttributes' - id: - description: The `UpdateResourceEvaluationFiltersRequestData` `id`. - example: csm_resource_filter + blocking: + description: The blocking policies that the rule belongs to + items: + description: The ID of a blocking policy that this rule belongs to. + type: string + type: array + description: + description: The description of the Agent rule + example: My Agent rule type: string - type: - $ref: '#/components/schemas/ResourceFilterRequestType' - required: - - attributes - - type - type: object - UpdateResourceEvaluationFiltersResponseData: - description: The definition of `UpdateResourceFilterResponseData` object. - properties: - attributes: - $ref: '#/components/schemas/ResourceFilterAttributes' - id: - description: The `data` `id`. - example: csm_resource_filter + disabled: + description: The disabled policies that the rule belongs to + items: + description: The ID of a disabled policy that this rule belongs to. + type: string + type: array + enabled: + description: Whether the Agent rule is enabled + example: true + type: boolean + expression: + description: The SECL expression of the Agent rule + example: exec.file.name == "sh" type: string - type: - $ref: '#/components/schemas/ResourceFilterRequestType' - required: - - attributes - - type - type: object - CsmAgentData: - description: Single Agent Data. - properties: - attributes: - $ref: '#/components/schemas/CsmAgentsAttributes' - id: - description: The ID of the Agent. - example: fffffc5505f6a006fdf7cf5aae053653 + monitoring: + description: The monitoring policies that the rule belongs to + items: + description: The ID of a monitoring policy that this rule belongs to. + type: string + type: array + policy_id: + description: The ID of the policy where the Agent rule is saved + example: a8c8e364-6556-434d-b798-a4c23de29c0b type: string - type: - $ref: '#/components/schemas/CSMAgentsType' + product_tags: + description: The list of product tags associated with the rule + items: + description: A product tag associated with the rule. + type: string + type: array + silent: + description: Whether the rule is silent. + example: false + type: boolean type: object - CSMAgentsMetadata: - description: Metadata related to the paginated response. + CloudWorkloadSecurityAgentRuleID: + description: The ID of the Agent rule + example: 3dd-0uc-h1s + type: string + SecurityMonitoringCriticalAssetAttributes: + description: The attributes of the critical asset. properties: - page_index: - description: The index of the current page in the paginated results. - example: 0 + creation_author_id: + description: ID of user who created the critical asset. + example: 367742 format: int64 type: integer - page_size: - description: The number of items per page in the paginated results. - example: 10 + creation_date: + description: A Unix millisecond timestamp given the creation date of the critical asset. format: int64 type: integer - total_filtered: - description: Total number of items that match the filter criteria. - example: 128697 + creator: + $ref: '#/components/schemas/SecurityMonitoringUser' + description: + description: A description of the critical asset. + example: Production database servers handling PII + type: string + editable: + description: Whether the critical asset is editable. + example: true + type: boolean + enabled: + description: Whether the critical asset is enabled. + example: true + type: boolean + query: + description: The query for the critical asset. It uses the same syntax as the queries to search signals in the Signals Explorer. + example: security:monitoring + type: string + rule_query: + description: The rule query of the critical asset, with the same syntax as the search bar for detection rules. This determines which rules this critical asset will apply to. + example: type:log_detection source:cloudtrail + type: string + severity: + $ref: '#/components/schemas/SecurityMonitoringCriticalAssetSeverity' + tags: + description: List of tags associated with the critical asset. + example: + - team:database + - source:cloudtrail + items: + description: A tag string in `key:value` format. + type: string + type: array + update_author_id: + description: ID of user who updated the critical asset. + example: 367743 format: int64 type: integer + update_date: + description: A Unix millisecond timestamp given the update date of the critical asset. + format: int64 + type: integer + updater: + $ref: '#/components/schemas/SecurityMonitoringUser' + version: + description: The version of the critical asset; it starts at 1, and is incremented at each update. + example: 2 + format: int32 + maximum: 2147483647 + type: integer type: object - CsmCloudAccountsCoverageAnalysisData: - description: CSM Cloud Accounts Coverage Analysis data. + SecurityMonitoringCriticalAssetID: + description: The ID of the critical asset. + example: 4e2435a5-6670-4b8f-baff-46083cd1c250 + type: string + SecurityMonitoringCriticalAssetType: + default: critical_assets + description: The type of the resource. The value should always be `critical_assets`. + enum: + - critical_assets + example: critical_assets + type: string + x-enum-varnames: + - CRITICAL_ASSETS + SecurityMonitoringCriticalAssetCreateAttributes: + description: Object containing the attributes of the critical asset to be created. properties: - attributes: - $ref: '#/components/schemas/CsmCloudAccountsCoverageAnalysisAttributes' - id: - description: The ID of your organization. - example: 66b3c6b5-5c9a-457e-b1c3-f247ca23afa3 - type: string - type: - default: get_cloud_accounts_coverage_analysis_response_public_v0 - description: >- - The type of the resource. The value should always be - `get_cloud_accounts_coverage_analysis_response_public_v0`. - example: get_cloud_accounts_coverage_analysis_response_public_v0 + description: + description: A description of the critical asset. + example: Production database servers handling PII type: string - type: object - CsmHostsAndContainersCoverageAnalysisData: - description: CSM Hosts and Containers Coverage Analysis data. - properties: - attributes: - $ref: '#/components/schemas/CsmHostsAndContainersCoverageAnalysisAttributes' - id: - description: The ID of your organization. - example: 66b3c6b5-5c9a-457e-b1c3-f247ca23afa3 + enabled: + default: true + description: Whether the critical asset is enabled. Defaults to `true` if not specified. + example: true + type: boolean + query: + description: The query for the critical asset. It uses the same syntax as the queries to search signals in the Signals Explorer. + example: security:monitoring type: string - type: - default: get_hosts_and_containers_coverage_analysis_response_public_v0 - description: >- - The type of the resource. The value should always be - `get_hosts_and_containers_coverage_analysis_response_public_v0`. - example: get_hosts_and_containers_coverage_analysis_response_public_v0 + rule_query: + description: The rule query of the critical asset, with the same syntax as the search bar for detection rules. This determines which rules this critical asset will apply to. + example: type:(log_detection OR signal_correlation OR workload_security OR application_security) source:cloudtrail type: string + severity: + $ref: '#/components/schemas/SecurityMonitoringCriticalAssetSeverity' + tags: + description: List of tags associated with the critical asset. + example: + - team:database + - source:cloudtrail + items: + description: A tag string in `key:value` format. + type: string + type: array + required: + - query + - severity + - rule_query type: object - CsmServerlessCoverageAnalysisData: - description: CSM Serverless Resources Coverage Analysis data. + SecurityMonitoringCriticalAssetUpdateAttributes: + description: The critical asset properties to be updated. properties: - attributes: - $ref: '#/components/schemas/CsmServerlessCoverageAnalysisAttributes' - id: - description: The ID of your organization. - example: 66b3c6b5-5c9a-457e-b1c3-f247ca23afa3 + description: + description: A description of the critical asset. + example: Production database servers handling PII type: string - type: - default: get_serverless_coverage_analysis_response_public_v0 - description: >- - The type of the resource. The value should always be - `get_serverless_coverage_analysis_response_public_v0`. - example: get_serverless_coverage_analysis_response_public_v0 + enabled: + description: Whether the critical asset is enabled. + example: true + type: boolean + query: + description: The query for the critical asset. It uses the same syntax as the queries to search signals in the Signals Explorer. + example: security:monitoring type: string - type: object - ListFindingsData: - description: Array of findings. - items: - $ref: '#/components/schemas/Finding' - type: array - ListFindingsMeta: - additionalProperties: false - description: Metadata for pagination. - properties: - page: - $ref: '#/components/schemas/ListFindingsPage' - snapshot_timestamp: - description: The point in time corresponding to the listed findings. - example: 1678721573794 - format: int64 - minimum: 1 + rule_query: + description: The rule query of the critical asset, with the same syntax as the search bar for detection rules. This determines which rules this critical asset will apply to. + example: type:log_detection source:cloudtrail + type: string + severity: + $ref: '#/components/schemas/SecurityMonitoringCriticalAssetSeverity' + tags: + description: List of tags associated with the critical asset. + example: + - technique:T1110-brute-force + - source:cloudtrail + items: + description: A tag string in `key:value` format. + type: string + type: array + version: + description: The version of the critical asset being updated. Used for optimistic locking to prevent concurrent modifications. + example: 1 + format: int32 + maximum: 2147483647 type: integer type: object - BulkMuteFindingsRequestData: - description: Data object containing the new bulk mute properties of the finding. + SecurityMonitoringIntegrationConfigAttributes: + description: The attributes of an entity context sync configuration as returned by the API. properties: - attributes: - $ref: '#/components/schemas/BulkMuteFindingsRequestAttributes' - id: - description: UUID to identify the request - example: dbe5f567-192b-4404-b908-29b70e1c9f76 + created_at: + description: The time at which the entity context sync configuration was created. + example: '2026-05-01T12:00:00Z' + format: date-time type: string - meta: - $ref: '#/components/schemas/BulkMuteFindingsRequestMeta' - type: - $ref: '#/components/schemas/FindingType' + domain: + description: The domain associated with the external entity source (for example, the customer's identity provider domain). + example: siem-test.com + type: string + enabled: + description: Whether the sync is enabled and actively ingesting entities into Cloud SIEM. + example: true + type: boolean + integration_type: + $ref: '#/components/schemas/SecurityMonitoringIntegrationType' + modified_at: + description: The time at which the entity context sync configuration was last modified. + example: '2026-05-01T12:00:00Z' + format: date-time + type: string + name: + description: The display name of the entity context sync configuration. + example: My GWS Integration + type: string + settings: + $ref: '#/components/schemas/SecurityMonitoringIntegrationConfigSettings' + state: + $ref: '#/components/schemas/SecurityMonitoringIntegrationConfigState' required: - - id - - type - - attributes - - meta + - enabled + - domain + - integration_type type: object - BulkMuteFindingsResponseData: - description: Data object containing the ID of the request that was updated. - properties: - id: - description: UUID used to identify the request - example: 93bfeb70-af47-424d-908a-948d3f08e37f + SecurityMonitoringIntegrationConfigResourceType: + default: integration_config + description: The type of the resource. The value should always be `integration_config`. + enum: + - integration_config + example: integration_config + type: string + x-enum-varnames: + - INTEGRATION_CONFIG + SecurityMonitoringIntegrationConfigCreateAttributes: + description: The attributes of the entity context sync configuration to create. + discriminator: + mapping: + CROWDSTRIKE: '#/components/schemas/SecurityMonitoringCrowdStrikeIntegrationConfigCreateAttributes' + ENTRA_ID: '#/components/schemas/SecurityMonitoringEntraIdIntegrationConfigCreateAttributes' + GOOGLE_WORKSPACE: '#/components/schemas/SecurityMonitoringGoogleWorkspaceIntegrationConfigCreateAttributes' + OKTA: '#/components/schemas/SecurityMonitoringOktaIntegrationConfigCreateAttributes' + SENTINELONE: '#/components/schemas/SecurityMonitoringSentinelOneIntegrationConfigCreateAttributes' + propertyName: integration_type + properties: + domain: + description: The domain associated with the external entity source. + example: siem-test.com + type: string + integration_type: + $ref: '#/components/schemas/SecurityMonitoringIntegrationTypeGoogleWorkspace' + name: + description: The display name for the entity context sync configuration. + example: My GWS Integration type: string - type: - $ref: '#/components/schemas/FindingType' + secrets: + $ref: '#/components/schemas/SecurityMonitoringIntegrationConfigGoogleWorkspaceSecrets' + settings: + $ref: '#/components/schemas/SecurityMonitoringIntegrationConfigSettings' + required: + - integration_type + - domain + - name + - secrets type: object - JSONAPIErrorItem: - description: API error response body + SecurityMonitoringEntraIdAzureAppRegistrationsAttributes: + description: The attributes of the Entra ID Azure App Registration prerequisites. properties: - detail: - description: >- - A human-readable explanation specific to this occurrence of the - error. - example: Missing required attribute in body + azure_app_registrations: + description: The Azure App Registrations discovered for the organization. + items: + $ref: '#/components/schemas/SecurityMonitoringAzureAppRegistration' + type: array + has_valid_prerequisite: + description: Whether at least one Azure App Registration has resource collection enabled. + example: true + type: boolean + integration_id: + description: The ID of the Entra ID integration configuration, if one exists. + example: 11111111-2222-3333-4444-555555555555 type: string - meta: - additionalProperties: {} - description: Non-standard meta-information about the error - type: object - source: - $ref: '#/components/schemas/JSONAPIErrorItemSource' - status: - description: Status code of the response. - example: '400' + is_enabled: + description: Whether the Entra ID integration configuration is enabled, if one exists. + example: true + type: boolean + subscribed_at: + description: The time at which the Entra ID integration configuration was created, if one exists. + example: '2026-05-01T12:00:00Z' + format: date-time type: string - title: - description: Short human-readable summary of the error. - example: Bad Request + required: + - azure_app_registrations + - has_valid_prerequisite + type: object + SecurityMonitoringEntraIdAzureAppRegistrationsResourceType: + default: entra_id_azure_app_registrations + description: The type of the resource. The value should always be `entra_id_azure_app_registrations`. + enum: + - entra_id_azure_app_registrations + example: entra_id_azure_app_registrations + type: string + x-enum-varnames: + - ENTRA_ID_AZURE_APP_REGISTRATIONS + SecurityMonitoringIntegrationCredentialsValidateAttributes: + description: The credentials to validate against the external entity source. + discriminator: + mapping: + CROWDSTRIKE: '#/components/schemas/SecurityMonitoringCrowdStrikeIntegrationCredentialsValidateAttributes' + ENTRA_ID: '#/components/schemas/SecurityMonitoringEntraIdIntegrationCredentialsValidateAttributes' + GOOGLE_WORKSPACE: '#/components/schemas/SecurityMonitoringGoogleWorkspaceIntegrationCredentialsValidateAttributes' + OKTA: '#/components/schemas/SecurityMonitoringOktaIntegrationCredentialsValidateAttributes' + SENTINELONE: '#/components/schemas/SecurityMonitoringSentinelOneIntegrationCredentialsValidateAttributes' + propertyName: integration_type + properties: + domain: + description: The domain associated with the external entity source. + example: siem-test.com + type: string + integration_type: + $ref: '#/components/schemas/SecurityMonitoringIntegrationTypeGoogleWorkspace' + secrets: + $ref: '#/components/schemas/SecurityMonitoringIntegrationConfigGoogleWorkspaceSecrets' + required: + - integration_type + - domain + - secrets + type: object + SecurityMonitoringIntegrationConfigUpdateAttributes: + description: Fields to update on the entity context sync configuration. All fields other than the integration type are optional. + discriminator: + mapping: + CROWDSTRIKE: '#/components/schemas/SecurityMonitoringCrowdStrikeIntegrationConfigUpdateAttributes' + ENTRA_ID: '#/components/schemas/SecurityMonitoringEntraIdIntegrationConfigUpdateAttributes' + GOOGLE_WORKSPACE: '#/components/schemas/SecurityMonitoringGoogleWorkspaceIntegrationConfigUpdateAttributes' + OKTA: '#/components/schemas/SecurityMonitoringOktaIntegrationConfigUpdateAttributes' + SENTINELONE: '#/components/schemas/SecurityMonitoringSentinelOneIntegrationConfigUpdateAttributes' + propertyName: integration_type + properties: + domain: + description: The new domain associated with the external entity source. + example: siem-test.com + type: string + enabled: + description: Whether the entity context sync should be enabled. + example: true + type: boolean + integration_type: + $ref: '#/components/schemas/SecurityMonitoringIntegrationTypeGoogleWorkspace' + name: + description: The new display name for the entity context sync configuration. + example: My GWS Integration (renamed) type: string + secrets: + $ref: '#/components/schemas/SecurityMonitoringIntegrationConfigGoogleWorkspaceSecrets' + settings: + $ref: '#/components/schemas/SecurityMonitoringIntegrationConfigSettings' + required: + - integration_type type: object - DetailedFinding: - description: A single finding with with message and resource configuration. + SecurityMonitoringIntegrationActivateAttributes: + description: Overrides applied when activating the integration. All fields are optional. properties: - attributes: - $ref: '#/components/schemas/DetailedFindingAttributes' - id: - $ref: '#/components/schemas/FindingID' - type: - $ref: '#/components/schemas/DetailedFindingType' + domain: + description: The domain associated with the external entity source. + example: default + type: string + name: + description: The display name for the entity context sync configuration. + example: My Entra ID Integration + type: string + settings: + $ref: '#/components/schemas/SecurityMonitoringIntegrationConfigSettings' type: object - Asset: - description: A single vulnerable asset + SecurityMonitoringIntegrationActivateResourceType: + default: activate_entra_id_request + description: The type of the resource. The value should always be `activate_entra_id_request`. + enum: + - activate_entra_id_request + example: activate_entra_id_request + type: string + x-enum-varnames: + - ACTIVATE_ENTRA_ID_REQUEST + NotificationRulePreviewResponseAttributes: + description: Attributes of the notification preview response. properties: - attributes: - $ref: '#/components/schemas/AssetAttributes' - id: - description: The unique ID for this asset. - example: Repository|github.com/DataDog/datadog-agent.git - type: string - type: - $ref: '#/components/schemas/AssetEntityType' + preview_results: + $ref: '#/components/schemas/NotificationRulePreviewResults' required: - - id - - type - - attributes + - preview_results type: object - Links: - description: The JSON:API links related to pagination. + NotificationRulePreviewResponseType: + description: The type of the notification preview response. + enum: + - notification_preview_response + example: notification_preview_response + type: string + x-enum-varnames: + - NOTIFICATION_PREVIEW_RESPONSE + SecurityFilterAttributes: + description: The object describing a security filter. properties: - first: - description: First page link. - example: >- - https://api.datadoghq.com/api/v2/security/vulnerabilities?page%5Bnumber%5D=1&page%5Btoken%5D=b82cef018aab81ed1d4bb4xb35xxfc065da7efa685fbcecdbd338f3015e3afabbbfa3a911b4984_721ee28a-zecb-4e45-9960-c42065b574f4 - type: string - last: - description: Last page link. - example: >- - https://api.datadoghq.com/api/v2/security/vulnerabilities?page%5Bnumber%5D=15&page%5Btoken%5D=b82cef018aab81ed1d4bb4xb35xxfc065da7efa685fbcecdbd338f3015e3afabbbfa3a911b4984_721ee28a-zecb-4e45-9960-c42065b574f4 + exclusion_filters: + description: The list of exclusion filters applied in this security filter. + items: + $ref: '#/components/schemas/SecurityFilterExclusionFilterResponse' + type: array + filtered_data_type: + $ref: '#/components/schemas/SecurityFilterFilteredDataType' + is_builtin: + description: Whether the security filter is the built-in filter. + example: false + type: boolean + is_enabled: + description: Whether the security filter is enabled. + example: false + type: boolean + name: + description: The security filter name. + example: Custom security filter type: string - next: - description: Next page link. - example: >- - https://api.datadoghq.com/api/v2/security/vulnerabilities?page%5Bnumber%5D=16&page%5Btoken%5D=b82cef018aab81ed1d4bb4xb35xxfc065da7efa685fbcecdbd338f3015e3afabbbfa3a911b4984_721ee28a-zecb-4e45-9960-c42065b574f4 + query: + description: The security filter query. Logs accepted by this query will be accepted by this filter. + example: service:api type: string - previous: - description: Previous page link. - example: >- - https://api.datadoghq.com/api/v2/security/vulnerabilities?page%5Bnumber%5D=14&page%5Btoken%5D=b82cef018aab81ed1d4bb4xb35xxfc065da7efa685fbcecdbd338f3015e3afabbbfa3a911b4984_721ee28a-zecb-4e45-9960-c42065b574f4 + version: + description: The version of the security filter. + example: 1 + format: int32 + maximum: 2147483647 + type: integer + type: object + SecurityFilterID: + description: The ID of the security filter. + example: 3dd-0uc-h1s + type: string + SecurityFilterType: + default: security_filters + description: The type of the resource. The value should always be `security_filters`. + enum: + - security_filters + example: security_filters + type: string + x-enum-varnames: + - SECURITY_FILTERS + SecurityFilterCreateAttributes: + description: Object containing the attributes of the security filter to be created. + properties: + exclusion_filters: + description: Exclusion filters to exclude some logs from the security filter. + example: + - name: Exclude staging + query: source:staging + items: + $ref: '#/components/schemas/SecurityFilterExclusionFilter' + type: array + filtered_data_type: + $ref: '#/components/schemas/SecurityFilterFilteredDataType' + is_enabled: + description: Whether the security filter is enabled. + example: true + type: boolean + name: + description: The name of the security filter. + example: Custom security filter type: string - self: - description: Request link. - example: >- - https://api.datadoghq.com/api/v2/security/vulnerabilities?filter%5Btool%5D=Infra + query: + description: The query of the security filter. + example: service:api type: string required: - - self - - first - - last + - name + - query + - exclusion_filters + - filtered_data_type + - is_enabled type: object - Metadata: - description: The metadata related to this request. + SecurityFilterVersionAttributes: + description: The attributes describing a single security filter configuration version. properties: - count: - description: Number of entities included in the response. - example: 150 + date: + description: The Unix timestamp in milliseconds at which this configuration version was applied. + example: 1758177253469 format: int64 type: integer - token: - description: The token that identifies the request. - example: >- - b82cef018aab81ed1d4bb4xb35xxfc065da7efa685fbcecdbd338f3015e3afabbbfa3a911b4984_721ee28a-zecb-4e45-9960-c42065b574f4 - type: string - total: - description: Total number of entities across all pages. - example: 152431 - format: int64 + filters: + description: The set of security filters at this configuration version. + items: + $ref: '#/components/schemas/SecurityFilterVersionEntry' + type: array + version: + description: The configuration version number. + example: 1 + format: int32 + maximum: 2147483647 type: integer required: - - count - - total - - token + - version + - date + - filters type: object - SBOM: - description: A single SBOM + SecurityFilterVersionType: + default: security_filters_configuration + description: The type of the resource. The value should always be `security_filters_configuration`. + enum: + - security_filters_configuration + example: security_filters_configuration + type: string + x-enum-varnames: + - SECURITY_FILTERS_CONFIGURATION + SecurityFilterUpdateAttributes: + description: The security filters properties to be updated. properties: - attributes: - $ref: '#/components/schemas/SBOMAttributes' - id: - description: >- - The unique ID for this SBOM (it is equivalent to the `asset_name` or - `asset_name@repo_digest` (Image) - example: github.com/datadog/datadog-agent + exclusion_filters: + description: Exclusion filters to exclude some logs from the security filter. + example: [] + items: + $ref: '#/components/schemas/SecurityFilterExclusionFilter' + type: array + filtered_data_type: + $ref: '#/components/schemas/SecurityFilterFilteredDataType' + is_enabled: + description: Whether the security filter is enabled. + example: true + type: boolean + name: + description: The name of the security filter. + example: Custom security filter type: string - type: - $ref: '#/components/schemas/SBOMType' - type: object - NotificationRule: - description: > - Notification rules allow full control over notifications generated by - the various Datadog security products. - - They allow users to define the conditions under which a notification - should be generated (based on rule severities, - - rule types, rule tags, and so on), and the targets to notify. - - A notification rule is composed of a rule ID, a rule type, and the rule - attributes. All fields are required. - properties: - attributes: - $ref: '#/components/schemas/NotificationRuleAttributes' - id: - $ref: '#/components/schemas/ID' - type: - $ref: '#/components/schemas/NotificationRulesType' - required: - - attributes - - id - - type - type: object - CreateNotificationRuleParametersData: - description: >- - Data of the notification rule create request: the rule type, and the - rule attributes. All fields are required. - properties: - attributes: - $ref: '#/components/schemas/CreateNotificationRuleParametersDataAttributes' - type: - $ref: '#/components/schemas/NotificationRulesType' - required: - - attributes - - type - type: object - PatchNotificationRuleParametersData: - description: >- - Data of the notification rule patch request: the rule ID, the rule type, - and the rule attributes. All fields are required. - properties: - attributes: - $ref: '#/components/schemas/PatchNotificationRuleParametersDataAttributes' - id: - $ref: '#/components/schemas/ID' - type: - $ref: '#/components/schemas/NotificationRulesType' - required: - - attributes - - id - - type - type: object - Vulnerability: - description: A single vulnerability - properties: - attributes: - $ref: '#/components/schemas/VulnerabilityAttributes' - id: - description: The unique ID for this vulnerability. - example: 3ecdfea798f2ce8f6e964805a344945f + query: + description: The query of the security filter. + example: service:api type: string - relationships: - $ref: '#/components/schemas/VulnerabilityRelationships' - type: - $ref: '#/components/schemas/VulnerabilitiesType' - required: - - id - - type - - attributes - - relationships + version: + description: The version of the security filter to update. + example: 1 + format: int32 + maximum: 2147483647 + type: integer type: object - CloudWorkloadSecurityAgentRuleData: - description: Object for a single Agent rule + SecurityMonitoringSuppressionAttributes: + description: The attributes of the suppression rule. properties: - attributes: - $ref: '#/components/schemas/CloudWorkloadSecurityAgentRuleAttributes' - id: - description: The ID of the Agent rule - example: 3dd-0uc-h1s + creation_date: + description: A Unix millisecond timestamp given the creation date of the suppression rule. + format: int64 + type: integer + creator: + $ref: '#/components/schemas/SecurityMonitoringUser' + data_exclusion_query: + description: An exclusion query on the input data of the security rules, which could be logs, Agent events, or other types of data based on the security rule. Events matching this query are ignored by any detection rules referenced in the suppression rule. + example: source:cloudtrail account_id:12345 type: string - type: - $ref: '#/components/schemas/CloudWorkloadSecurityAgentRuleType' - type: object - CloudWorkloadSecurityAgentRuleCreateData: - description: Object for a single Agent rule - properties: - attributes: - $ref: '#/components/schemas/CloudWorkloadSecurityAgentRuleCreateAttributes' - type: - $ref: '#/components/schemas/CloudWorkloadSecurityAgentRuleType' - required: - - attributes - - type - type: object - CloudWorkloadSecurityAgentRuleUpdateData: - description: Object for a single Agent rule - properties: - attributes: - $ref: '#/components/schemas/CloudWorkloadSecurityAgentRuleUpdateAttributes' - id: - $ref: '#/components/schemas/CloudWorkloadSecurityAgentRuleID' - type: - $ref: '#/components/schemas/CloudWorkloadSecurityAgentRuleType' - required: - - attributes - - type + description: + description: A description for the suppression rule. + example: This rule suppresses low-severity signals in staging environments. + type: string + editable: + description: Whether the suppression rule is editable. + example: true + type: boolean + enabled: + description: Whether the suppression rule is enabled. + example: true + type: boolean + expiration_date: + description: A Unix millisecond timestamp giving an expiration date for the suppression rule. After this date, it won't suppress signals anymore. + example: 1703187336000 + format: int64 + type: integer + name: + description: The name of the suppression rule. + example: Custom suppression + type: string + rule_query: + description: The rule query of the suppression rule, with the same syntax as the search bar for detection rules. + example: type:log_detection source:cloudtrail + type: string + start_date: + description: A Unix millisecond timestamp giving the start date for the suppression rule. After this date, it starts suppressing signals. + example: 1703187336000 + format: int64 + type: integer + suppression_query: + description: The suppression query of the suppression rule. If a signal matches this query, it is suppressed and not triggered. Same syntax as the queries to search signals in the signal explorer. + example: env:staging status:low + type: string + tags: + description: List of tags associated with the suppression rule. + example: + - technique:T1110-brute-force + - source:cloudtrail + items: + description: A tag string in `key:value` format. + type: string + type: array + update_date: + description: A Unix millisecond timestamp given the update date of the suppression rule. + format: int64 + type: integer + updater: + $ref: '#/components/schemas/SecurityMonitoringUser' + version: + description: The version of the suppression rule; it starts at 1, and is incremented at each update. + example: 42 + format: int32 + maximum: 2147483647 + type: integer type: object - SecurityFilter: - description: The security filter's properties. + SecurityMonitoringSuppressionID: + description: The ID of the suppression rule. + example: 3dd-0uc-h1s + type: string + SecurityMonitoringSuppressionType: + default: suppressions + description: The type of the resource. The value should always be `suppressions`. + enum: + - suppressions + example: suppressions + type: string + x-enum-varnames: + - SUPPRESSIONS + SecurityMonitoringSuppressionsPageMeta: + description: Pagination metadata. properties: - attributes: - $ref: '#/components/schemas/SecurityFilterAttributes' - id: - $ref: '#/components/schemas/SecurityFilterID' - type: - $ref: '#/components/schemas/SecurityFilterType' + pageNumber: + description: Current page number. + example: 0 + format: int64 + type: integer + pageSize: + description: Current page size. + example: 2 + format: int64 + type: integer + totalCount: + description: Total count of suppressions. + example: 2 + format: int64 + type: integer type: object - SecurityFilterMeta: - description: Optional metadata associated to the response. + SecurityMonitoringSuppressionCreateAttributes: + description: Object containing the attributes of the suppression rule to be created. properties: - warning: - description: A warning message. - example: >- - All the security filters are disabled. As a result, no logs are - being analyzed. + data_exclusion_query: + description: An exclusion query on the input data of the security rules, which could be logs, Agent events, or other types of data based on the security rule. Events matching this query are ignored by any detection rules referenced in the suppression rule. + example: source:cloudtrail account_id:12345 type: string - type: object - SecurityFilterCreateData: - description: Object for a single security filter. - properties: - attributes: - $ref: '#/components/schemas/SecurityFilterCreateAttributes' - type: - $ref: '#/components/schemas/SecurityFilterType' + description: + description: A description for the suppression rule. + example: This rule suppresses low-severity signals in staging environments. + type: string + enabled: + description: Whether the suppression rule is enabled. + example: true + type: boolean + expiration_date: + description: A Unix millisecond timestamp giving an expiration date for the suppression rule. After this date, it won't suppress signals anymore. + example: 1703187336000 + format: int64 + type: integer + name: + description: The name of the suppression rule. + example: Custom suppression + type: string + rule_query: + description: The rule query of the suppression rule, with the same syntax as the search bar for detection rules. + example: type:log_detection source:cloudtrail + type: string + start_date: + description: A Unix millisecond timestamp giving the start date for the suppression rule. After this date, it starts suppressing signals. + example: 1703187336000 + format: int64 + type: integer + suppression_query: + description: The suppression query of the suppression rule. If a signal matches this query, it is suppressed and is not triggered. It uses the same syntax as the queries to search signals in the Signals Explorer. + example: env:staging status:low + type: string + tags: + description: List of tags associated with the suppression rule. + example: + - technique:T1110-brute-force + - source:cloudtrail + items: + description: A tag string in `key:value` format. + type: string + type: array required: - - type - - attributes + - name + - enabled + - rule_query type: object - SecurityFilterUpdateData: - description: The new security filter properties. + SecurityMonitoringRuleCaseCreate: + description: Case when signal is generated. properties: - attributes: - $ref: '#/components/schemas/SecurityFilterUpdateAttributes' - type: - $ref: '#/components/schemas/SecurityFilterType' + actions: + description: Action to perform for each rule case. + items: + $ref: '#/components/schemas/SecurityMonitoringRuleCaseAction' + type: array + condition: + description: |- + A case contains logical operations (`>`,`>=`, `&&`, `||`) to determine if a signal should be generated + based on the event counts in the previously defined queries. + type: string + name: + description: Name of the case. + type: string + notifications: + description: Notification targets. + items: + description: Notification. + type: string + type: array + status: + $ref: '#/components/schemas/SecurityMonitoringRuleSeverity' required: - - type - - attributes + - status type: object - SecurityMonitoringSuppression: - description: The suppression rule's properties. + SecurityMonitoringStandardRuleQuery: + description: Query for matching rule. properties: - attributes: - $ref: '#/components/schemas/SecurityMonitoringSuppressionAttributes' - id: - $ref: '#/components/schemas/SecurityMonitoringSuppressionID' - type: - $ref: '#/components/schemas/SecurityMonitoringSuppressionType' + aggregation: + $ref: '#/components/schemas/SecurityMonitoringRuleQueryAggregation' + customQueryExtension: + description: Query extension to append to the logs query. + example: a > 3 + type: string + dataSource: + $ref: '#/components/schemas/SecurityMonitoringStandardDataSource' + distinctFields: + description: Field for which the cardinality is measured. Sent as an array. + items: + description: Field. + type: string + type: array + groupByFields: + description: Fields to group by. + items: + description: Field. + type: string + type: array + hasOptionalGroupByFields: + default: false + description: When false, events without a group-by value are ignored by the rule. When true, events with missing group-by fields are processed with `N/A`, replacing the missing values. + example: false + type: boolean + index: + description: |- + **This field is currently unstable and might be removed in a minor version upgrade.** + The index to run the query on, if the `dataSource` is `logs`. Only used for scheduled rules - in other words, when the `schedulingOptions` field is present in the rule payload. + type: string + indexes: + description: List of indexes to query when the `dataSource` is `logs`. Only used for scheduled rules, such as when the `schedulingOptions` field is present in the rule payload. + items: + description: Index. + type: string + type: array + metric: + deprecated: true + description: |- + (Deprecated) The target field to aggregate over when using the sum or max + aggregations. `metrics` field should be used instead. + type: string + metrics: + description: Group of target fields to aggregate over when using the sum, max, geo data, or new value aggregations. The sum, max, and geo data aggregations only accept one value in this list, whereas the new value aggregation accepts up to five values. + items: + description: Field. + type: string + type: array + name: + description: Name of the query. + type: string + query: + description: Query to run on logs. + example: a > 3 + type: string type: object - SecurityMonitoringSuppressionCreateData: - description: Object for a single suppression rule. + SecurityMonitoringThirdPartyRuleCaseCreate: + description: Case when a signal is generated by a third party rule. properties: - attributes: - $ref: '#/components/schemas/SecurityMonitoringSuppressionCreateAttributes' - type: - $ref: '#/components/schemas/SecurityMonitoringSuppressionType' + name: + description: Name of the case. + type: string + notifications: + description: Notification targets for each case. + items: + description: Notification. + type: string + type: array + query: + description: A query to map a third party event to this case. + type: string + status: + $ref: '#/components/schemas/SecurityMonitoringRuleSeverity' required: - - type - - attributes + - status type: object - SecurityMonitoringStandardRuleCreatePayload: - description: Create a new rule. + SecurityMonitoringRuleTypeCreate: + description: The rule type. + enum: + - api_security + - application_security + - log_detection + - workload_activity + - workload_security + type: string + x-enum-varnames: + - API_SECURITY + - APPLICATION_SECURITY + - LOG_DETECTION + - WORKLOAD_ACTIVITY + - WORKLOAD_SECURITY + SecurityMonitoringSignalRuleQuery: + description: Query for matching rule on signals. properties: - calculatedFields: - description: >- - Calculated fields. Only allowed for scheduled rules - in other - words, when schedulingOptions is also defined. - items: - $ref: '#/components/schemas/CalculatedField' - type: array - cases: - description: Cases for generating signals. - example: [] + aggregation: + $ref: '#/components/schemas/SecurityMonitoringRuleQueryAggregation' + correlatedByFields: + description: Fields to group by. items: - $ref: '#/components/schemas/SecurityMonitoringRuleCaseCreate' + description: Field. + type: string type: array - filters: - description: >- - Additional queries to filter matched events before they are - processed. This field is deprecated for log detection, signal - correlation, and workload security rules. + correlatedQueryIndex: + description: Index of the rule query used to retrieve the correlated field. + format: int32 + maximum: 9 + type: integer + metrics: + description: Group of target fields to aggregate over. items: - $ref: '#/components/schemas/SecurityMonitoringFilter' + description: Field. + type: string type: array - groupSignalsBy: - description: >- - Additional grouping to perform on top of the existing groups in the - query section. Must be a subset of the existing groups. - example: - - service + name: + description: Name of the query. + type: string + ruleId: + description: Rule ID to match on signals. + example: org-ru1-e1d + type: string + required: + - ruleId + type: object + SecurityMonitoringSignalRuleType: + description: The rule type. + enum: + - signal_correlation + type: string + x-enum-varnames: + - SIGNAL_CORRELATION + CloudConfigurationRuleCaseCreate: + description: Description of signals. + properties: + notifications: + description: Notification targets for each rule case. items: - description: Field to group by. + description: Notification. type: string type: array - hasExtendedTitle: - description: >- - Whether the notifications include the triggering group-by values in - their title. - example: true - type: boolean - isEnabled: - description: Whether the rule is enabled. + status: + $ref: '#/components/schemas/SecurityMonitoringRuleSeverity' + required: + - status + type: object + CloudConfigurationRuleOptions: + description: Options on cloud configuration rules. + properties: + complianceRuleOptions: + $ref: '#/components/schemas/CloudConfigurationComplianceRuleOptions' + required: + - complianceRuleOptions + type: object + CloudConfigurationRuleType: + description: The rule type. + enum: + - cloud_configuration + type: string + x-enum-varnames: + - CLOUD_CONFIGURATION + SecurityMonitoringSuppressionUpdateAttributes: + description: The suppression rule properties to be updated. + properties: + data_exclusion_query: + description: An exclusion query on the input data of the security rules, which could be logs, Agent events, or other types of data based on the security rule. Events matching this query are ignored by any detection rules referenced in the suppression rule. + example: source:cloudtrail account_id:12345 + type: string + description: + description: A description for the suppression rule. + example: This rule suppresses low-severity signals in staging environments. + type: string + enabled: + description: Whether the suppression rule is enabled. example: true type: boolean - message: - description: Message for generated signals. - example: '' - type: string + expiration_date: + description: A Unix millisecond timestamp giving an expiration date for the suppression rule. After this date, it won't suppress signals anymore. If unset, the expiration date of the suppression rule is left untouched. If set to `null`, the expiration date is removed. + example: 1703187336000 + format: int64 + nullable: true + type: integer name: - description: The name of the rule. - example: My security monitoring rule. + description: The name of the suppression rule. + example: Custom suppression + type: string + rule_query: + description: The rule query of the suppression rule, with the same syntax as the search bar for detection rules. + example: type:log_detection source:cloudtrail + type: string + start_date: + description: A Unix millisecond timestamp giving the start date for the suppression rule. After this date, it starts suppressing signals. If unset, the start date of the suppression rule is left untouched. If set to `null`, the start date is removed. + example: 1703187336000 + format: int64 + nullable: true + type: integer + suppression_query: + description: The suppression query of the suppression rule. If a signal matches this query, it is suppressed and not triggered. Same syntax as the queries to search signals in the signal explorer. + example: env:staging status:low type: string - options: - $ref: '#/components/schemas/SecurityMonitoringRuleOptions' - queries: - description: Queries for selecting logs which are part of the rule. - example: [] - items: - $ref: '#/components/schemas/SecurityMonitoringStandardRuleQuery' - type: array - referenceTables: - description: Reference tables for the rule. - items: - $ref: '#/components/schemas/SecurityMonitoringReferenceTable' - type: array - schedulingOptions: - $ref: '#/components/schemas/SecurityMonitoringSchedulingOptions' tags: - description: Tags for generated signals. + description: List of tags associated with the suppression rule. example: - - env:prod - - team:security + - technique:T1110-brute-force + - source:cloudtrail items: - description: Tag. + description: A tag string in `key:value` format. type: string type: array - thirdPartyCases: - description: >- - Cases for generating signals from third-party rules. Only available - for third-party rules. - example: [] - items: - $ref: '#/components/schemas/SecurityMonitoringThirdPartyRuleCaseCreate' - type: array - type: - $ref: '#/components/schemas/SecurityMonitoringRuleTypeCreate' + version: + description: The current version of the suppression. This is optional, but it can help prevent concurrent modifications. + format: int32 + maximum: 2147483647 + type: integer + type: object + SuppressionVersionHistory: + description: Response object containing the version history of a suppression. + properties: + count: + description: The number of suppression versions. + format: int32 + maximum: 2147483647 + type: integer + data: + additionalProperties: + $ref: '#/components/schemas/SuppressionVersions' + description: A suppression version with a list of updates. + description: The version history of a suppression. + type: object + type: object + GetSuppressionVersionHistoryDataType: + description: Type of data. + enum: + - suppression_version_history + type: string + x-enum-varnames: + - SUPPRESSIONVERSIONHISTORY + SecurityMonitoringContentPackStateAttributes: + description: Attributes of a content pack state. + properties: + details: + $ref: '#/components/schemas/SecurityMonitoringContentPackStateDetails' + status: + $ref: '#/components/schemas/SecurityMonitoringContentPackStatus' required: - - name - - isEnabled - - queries - - options - - cases - - message + - status + - details type: object - SecurityMonitoringSignalRuleCreatePayload: - description: Create a new signal correlation rule. + SecurityMonitoringContentPackStateType: + description: Type for content pack state object + enum: + - content_pack_state + example: content_pack_state + type: string + x-enum-varnames: + - CONTENT_PACK_STATE + SecurityMonitoringSKU: + description: The Cloud SIEM pricing model (SKU) for the organization. + enum: + - per_gb_analyzed + - per_event_in_siem_index_2023 + - add_on_2024 + - standalone_indexed + - unknown + example: add_on_2024 + type: string + x-enum-varnames: + - PER_GB_ANALYZED + - PER_EVENT_IN_SIEM_INDEX_2023 + - ADD_ON_2024 + - STANDALONE_INDEXED + - UNKNOWN + SecurityMonitoringDatasetAttributesRequest: + description: The attributes of a dataset create or update request. properties: - cases: - description: Cases for generating signals. - example: [] - items: - $ref: '#/components/schemas/SecurityMonitoringRuleCaseCreate' - type: array - filters: - description: >- - Additional queries to filter matched events before they are - processed. This field is deprecated for log detection, signal - correlation, and workload security rules. - items: - $ref: '#/components/schemas/SecurityMonitoringFilter' - type: array - hasExtendedTitle: - description: >- - Whether the notifications include the triggering group-by values in - their title. - example: true - type: boolean - isEnabled: - description: Whether the rule is enabled. - example: true - type: boolean - message: - description: Message for generated signals. - example: '' - type: string - name: - description: The name of the rule. - example: My security monitoring rule. + definition: + $ref: '#/components/schemas/SecurityMonitoringDatasetDefinition' + description: + description: The description of the dataset. Maximum 255 characters. + example: A sample dataset used for detection rules. type: string - options: - $ref: '#/components/schemas/SecurityMonitoringRuleOptions' - queries: - description: Queries for selecting signals which are part of the rule. - example: [] - items: - $ref: '#/components/schemas/SecurityMonitoringSignalRuleQuery' - type: array - tags: - description: Tags for generated signals. + version: + description: |- + The expected current version of the dataset for optimistic concurrency control on updates. + If the dataset's current version does not match, the request is rejected with a 409 Conflict. + example: 1 + format: int64 + type: integer + required: + - definition + type: object + SecurityMonitoringDatasetCreateType: + description: The type of resource for a dataset create request. + enum: + - datasetCreate + example: datasetCreate + type: string + x-enum-varnames: + - DATASET_CREATE + SecurityMonitoringDatasetType: + description: The type of resource for a dataset response. + enum: + - dataset + example: dataset + type: string + x-enum-varnames: + - DATASET + SecurityMonitoringDatasetDependenciesRequestAttributes: + description: The attributes of a dataset dependencies request. + properties: + datasetIds: + description: The list of dataset UUIDs to query dependencies for. Must contain between 1 and 100 items. example: - - env:prod - - team:security + - 123e4567-e89b-12d3-a456-426614174000 items: - description: Tag. type: string type: array + required: + - datasetIds + type: object + SecurityMonitoringDatasetDependentsData: + description: A single entry describing the dependents of one dataset. + properties: + attributes: + $ref: '#/components/schemas/SecurityMonitoringDatasetDependentsAttributes' + id: + description: The UUID of the dataset. + example: 123e4567-e89b-12d3-a456-426614174000 + type: string type: - $ref: '#/components/schemas/SecurityMonitoringSignalRuleType' + $ref: '#/components/schemas/SecurityMonitoringDatasetDependentsType' required: - - name - - isEnabled - - queries - - options - - cases - - message + - id + - type + - attributes type: object - CloudConfigurationRuleCreatePayload: - description: Create a new cloud configuration rule. + SecurityMonitoringDatasetAttributesResponse: + description: The attributes of a Cloud SIEM dataset. properties: - cases: - description: > - Description of generated findings and signals (severity and channels - to be notified in case of a signal). Must contain exactly one item. - items: - $ref: '#/components/schemas/CloudConfigurationRuleCaseCreate' - type: array - complianceSignalOptions: - $ref: '#/components/schemas/CloudConfigurationRuleComplianceSignalOptions' - filters: - description: >- - Additional queries to filter matched events before they are - processed. - items: - $ref: '#/components/schemas/SecurityMonitoringFilter' - type: array - isEnabled: - description: Whether the rule is enabled. - example: true + createdAt: + description: The creation timestamp of the dataset, in ISO 8601 format. + example: '2025-03-20T10:00:00Z' + type: string + createdByHandle: + description: The Datadog handle of the user who created the dataset. + example: bruce.lee + type: string + createdByName: + description: The display name of the user who created the dataset. + example: Bruce Lee + type: string + definition: + $ref: '#/components/schemas/SecurityMonitoringDatasetDefinition' + description: + description: The description of the dataset. + example: A sample dataset used for detection rules. + type: string + id: + description: The UUID of the dataset. + example: 123e4567-e89b-12d3-a456-426614174000 + type: string + isDefault: + description: Whether the dataset is an out-of-the-box dataset provided by Datadog. + example: false type: boolean - message: - description: Message in markdown format for generated findings and signals. - example: | - #Description - Explanation of the rule. - - #Remediation - How to fix the security issue. + isDeprecated: + description: Whether the dataset is marked as deprecated. + example: false + type: boolean + modifiedAt: + description: The timestamp of the last modification of the dataset, in ISO 8601 format. + example: '2025-03-20T10:00:00Z' type: string name: - description: The name of the rule. - example: My security monitoring rule. + description: The unique name of the dataset. + example: sample_dataset type: string - options: - $ref: '#/components/schemas/CloudConfigurationRuleOptions' - tags: - description: Tags for generated findings and signals. - example: - - env:prod - - team:security - items: - description: Tag. - type: string - type: array - type: - $ref: '#/components/schemas/CloudConfigurationRuleType' + updatedByHandle: + description: The Datadog handle of the user who last updated the dataset. + example: bruce.lee + nullable: true + type: string + updatedByName: + description: The display name of the user who last updated the dataset. + example: Bruce Lee + nullable: true + type: string + version: + description: The current version of the dataset. + example: 1 + format: int64 + type: integer required: + - id - name - - isEnabled - - options - - complianceSignalOptions - - cases - - message + - description + - version + - definition + - createdAt + - createdByHandle + - createdByName + - modifiedAt + - updatedByHandle + - updatedByName + - isDefault + - isDeprecated + type: object + SecurityMonitoringDatasetUpdateType: + description: The type of resource for a dataset update request. + enum: + - datasetUpdate + example: datasetUpdate + type: string + x-enum-varnames: + - DATASET_UPDATE + SecurityMonitoringDatasetVersionHistoryAttributes: + description: The attributes of a dataset version history response. + properties: + count: + description: The total number of versions available for this dataset. + example: 1 + format: int64 + type: integer + data: + $ref: '#/components/schemas/SecurityMonitoringDatasetVersionHistoryEntries' + required: + - data + - count type: object - SecurityMonitoringSuppressionUpdateData: - description: The new suppression properties; partial updates are supported. + SecurityMonitoringDatasetVersionHistoryType: + description: The type of resource for a dataset version history response. + enum: + - dataset_version_history + example: dataset_version_history + type: string + x-enum-varnames: + - DATASET_VERSION_HISTORY + EntityContextEntityAttributes: + description: The attributes of an entity context entry, grouping all the historical revisions of the entity. properties: - attributes: - $ref: '#/components/schemas/SecurityMonitoringSuppressionUpdateAttributes' - type: - $ref: '#/components/schemas/SecurityMonitoringSuppressionType' + revisions: + description: The historical revisions of the entity, ordered chronologically. + items: + $ref: '#/components/schemas/EntityContextRevision' + type: array required: - - type - - attributes + - revisions type: object - ResponseMetaAttributes: - description: Object describing meta attributes of response. + SecurityMonitoringEntityContextEntityType: + default: entity + description: |- + The type of the entity. Reflects the underlying entity kind from the entity context store + (for example, `siem_entity_identity` for identities). Defaults to `entity` when the kind is unknown. + example: siem_entity_identity + type: string + EntityContextPage: + description: Pagination metadata for the entity context response. properties: - page: - $ref: '#/components/schemas/Pagination' + next_token: + description: An opaque token to pass as `page_token` in a subsequent request to retrieve the next page of results. Empty when there are no more results. + example: '' + type: string + required: + - next_token type: object - SecurityMonitoringStandardRuleResponse: - description: Rule. + Pagination: + description: Pagination object. properties: - calculatedFields: - description: >- - Calculated fields. Only allowed for scheduled rules - in other - words, when schedulingOptions is also defined. - items: - $ref: '#/components/schemas/CalculatedField' - type: array - cases: - description: Cases for generating signals. - items: - $ref: '#/components/schemas/SecurityMonitoringRuleCase' - type: array - complianceSignalOptions: - $ref: '#/components/schemas/CloudConfigurationRuleComplianceSignalOptions' - createdAt: - description: When the rule was created, timestamp in milliseconds. + total_count: + description: Total count. format: int64 type: integer - creationAuthorId: - description: User ID of the user who created the rule. + total_filtered_count: + description: Total count of elements matched by the filter. format: int64 type: integer - customMessage: - description: >- - Custom/Overridden message for generated signals (used in case of - Default rule update). - type: string - customName: - description: >- - Custom/Overridden name of the rule (used in case of Default rule - update). - type: string - defaultTags: - description: Default Tags for default rules (included in tags) - example: - - security:attacks + type: object + SecurityMonitoringRuleTypeRead: + description: The rule type. + enum: + - log_detection + - infrastructure_configuration + - workload_security + - cloud_configuration + - application_security + - api_security + - workload_activity + type: string + x-enum-varnames: + - LOG_DETECTION + - INFRASTRUCTURE_CONFIGURATION + - WORKLOAD_SECURITY + - CLOUD_CONFIGURATION + - APPLICATION_SECURITY + - API_SECURITY + - WORKLOAD_ACTIVITY + SecurityMonitoringSignalRuleResponseQuery: + description: Query for matching rule on signals. + properties: + aggregation: + $ref: '#/components/schemas/SecurityMonitoringRuleQueryAggregation' + correlatedByFields: + description: Fields to correlate by. items: - description: Default Tag. + description: Field. type: string type: array - deprecationDate: - description: When the rule will be deprecated, timestamp in milliseconds. - format: int64 + correlatedQueryIndex: + description: Index of the rule query used to retrieve the correlated field. + format: int32 + maximum: 9 type: integer - filters: - description: >- - Additional queries to filter matched events before they are - processed. This field is deprecated for log detection, signal - correlation, and workload security rules. - items: - $ref: '#/components/schemas/SecurityMonitoringFilter' - type: array - groupSignalsBy: - description: >- - Additional grouping to perform on top of the existing groups in the - query section. Must be a subset of the existing groups. - example: - - service - items: - description: Field to group by. - type: string - type: array - hasExtendedTitle: - description: >- - Whether the notifications include the triggering group-by values in - their title. - type: boolean - id: - description: The ID of the rule. - type: string - isDefault: - description: Whether the rule is included by default. - type: boolean - isDeleted: - description: Whether the rule has been deleted. - type: boolean - isEnabled: - description: Whether the rule is enabled. - type: boolean - message: - description: Message for generated signals. - type: string - name: - description: The name of the rule. + defaultRuleId: + description: Default Rule ID to match on signals. + example: d3f-ru1-e1d type: string - options: - $ref: '#/components/schemas/SecurityMonitoringRuleOptions' - queries: - description: Queries for selecting logs which are part of the rule. + distinctFields: + description: Field for which the cardinality is measured. Sent as an array. items: - $ref: '#/components/schemas/SecurityMonitoringStandardRuleQuery' + description: Field. + type: string type: array - referenceTables: - description: Reference tables for the rule. + groupByFields: + description: Fields to group by. items: - $ref: '#/components/schemas/SecurityMonitoringReferenceTable' + description: Field. + type: string type: array - schedulingOptions: - $ref: '#/components/schemas/SecurityMonitoringSchedulingOptions' - tags: - description: Tags for generated signals. + metrics: + description: Group of target fields to aggregate over. items: - description: Tag. + description: Field. type: string type: array - thirdPartyCases: - description: >- - Cases for generating signals from third-party rules. Only available - for third-party rules. - example: [] + name: + description: Name of the query. + type: string + ruleId: + description: Rule ID to match on signals. + example: org-ru1-e1d + type: string + type: object + SecurityMonitoringRuleBulkDeleteAttributes: + description: Attributes for bulk deleting security monitoring rules. + properties: + ruleIds: + description: List of rule IDs to delete. + example: + - abc-000-u7q + - abc-000-7dd items: - $ref: '#/components/schemas/SecurityMonitoringThirdPartyRuleCase' + description: A rule ID to delete. + type: string + minItems: 1 type: array - type: - $ref: '#/components/schemas/SecurityMonitoringRuleTypeRead' - updateAuthorId: - description: User ID of the user who updated the rule. - format: int64 - type: integer - updatedAt: - description: The date the rule was last updated, in milliseconds. - format: int64 - type: integer - version: - description: The version of the rule. - format: int64 - type: integer + required: + - ruleIds type: object - SecurityMonitoringSignalRuleResponse: - description: Rule. + SecurityMonitoringRuleBulkDeleteRequestDataType: + description: The resource type for a bulk delete request. + enum: + - bulk_delete_rules + example: bulk_delete_rules + type: string + x-enum-varnames: + - BULK_DELETE_RULES + SecurityMonitoringRuleBulkDeleteResponseAttributes: + description: Attributes for the bulk delete response. properties: - cases: - description: Cases for generating signals. + deletedRules: + description: List of successfully deleted rule IDs. items: - $ref: '#/components/schemas/SecurityMonitoringRuleCase' + type: string type: array - createdAt: - description: When the rule was created, timestamp in milliseconds. - format: int64 - type: integer - creationAuthorId: - description: User ID of the user who created the rule. - format: int64 - type: integer - customMessage: - description: >- - Custom/Overridden message for generated signals (used in case of - Default rule update). - type: string - customName: - description: >- - Custom/Overridden name of the rule (used in case of Default rule - update). - type: string - deprecationDate: - description: When the rule will be deprecated, timestamp in milliseconds. - format: int64 - type: integer - filters: - description: >- - Additional queries to filter matched events before they are - processed. This field is deprecated for log detection, signal - correlation, and workload security rules. + failedRules: + description: List of rule IDs that could not be deleted. items: - $ref: '#/components/schemas/SecurityMonitoringFilter' + type: string type: array - hasExtendedTitle: - description: >- - Whether the notifications include the triggering group-by values in - their title. - type: boolean - id: - description: The ID of the rule. - type: string - isDefault: - description: Whether the rule is included by default. - type: boolean - isDeleted: - description: Whether the rule has been deleted. - type: boolean - isEnabled: - description: Whether the rule is enabled. - type: boolean - message: - description: Message for generated signals. - type: string - name: - description: The name of the rule. - type: string - options: - $ref: '#/components/schemas/SecurityMonitoringRuleOptions' - queries: - description: Queries for selecting logs which are part of the rule. + type: object + SecurityMonitoringRuleBulkDeleteResponseDataType: + description: The resource type for a bulk delete response. + enum: + - bulk_delete_response + example: bulk_delete_response + type: string + x-enum-varnames: + - BULK_DELETE_RESPONSE + SecurityMonitoringRuleBulkExportAttributes: + description: Attributes for bulk exporting security monitoring rules. + properties: + ruleIds: + description: |- + List of rule IDs to export. Each rule will be included in the resulting ZIP file + as a separate JSON file. + example: + - def-000-u7q + - def-000-7dd items: - $ref: '#/components/schemas/SecurityMonitoringSignalRuleResponseQuery' + description: A rule ID to include in the bulk export. + type: string + minItems: 1 type: array - tags: - description: Tags for generated signals. + required: + - ruleIds + type: object + SecurityMonitoringRuleBulkExportDataType: + description: The type of the resource. + enum: + - security_monitoring_rules_bulk_export + example: security_monitoring_rules_bulk_export + type: string + x-enum-varnames: + - SECURITY_MONITORING_RULES_BULK_EXPORT + SecurityMonitoringRuleConvertBulkAttributes: + description: Attributes for bulk converting security monitoring rules to Terraform. + properties: + ruleIds: + description: |- + List of rule IDs to convert. Each rule will be included in the resulting ZIP file + as a separate Terraform file. + example: + - def-000-u7q + - def-000-7dd items: - description: Tag. + description: A rule ID to include in the bulk convert. type: string + minItems: 1 type: array - type: - $ref: '#/components/schemas/SecurityMonitoringSignalRuleType' - updateAuthorId: - description: User ID of the user who updated the rule. - format: int64 - type: integer - version: - description: The version of the rule. - format: int64 - type: integer + required: + - ruleIds type: object - SecurityMonitoringStandardRulePayload: - description: The payload of a rule. + SecurityMonitoringRuleConvertBulkDataType: + description: The type of the resource. + enum: + - security_monitoring_rules_convert_bulk + example: security_monitoring_rules_convert_bulk + type: string + x-enum-varnames: + - SECURITY_MONITORING_RULES_CONVERT_BULK + SecurityMonitoringStandardRuleTestPayload: + description: The payload of a rule to test properties: calculatedFields: - description: >- - Calculated fields. Only allowed for scheduled rules - in other - words, when schedulingOptions is also defined. + description: Calculated fields. Only allowed for scheduled rules - in other words, when schedulingOptions is also defined. items: $ref: '#/components/schemas/CalculatedField' type: array @@ -6346,28 +27669,13 @@ components: items: $ref: '#/components/schemas/SecurityMonitoringRuleCaseCreate' type: array - customMessage: - description: >- - Custom/Overridden message for generated signals (used in case of - Default rule update). - type: string - customName: - description: >- - Custom/Overridden name of the rule (used in case of Default rule - update). - type: string filters: - description: >- - Additional queries to filter matched events before they are - processed. This field is deprecated for log detection, signal - correlation, and workload security rules. + description: Additional queries to filter matched events before they are processed. This field is deprecated for log detection, signal correlation, and workload security rules. items: $ref: '#/components/schemas/SecurityMonitoringFilter' type: array groupSignalsBy: - description: >- - Additional grouping to perform on top of the existing groups in the - query section. Must be a subset of the existing groups. + description: Additional grouping to perform on top of the existing groups in the query section. Must be a subset of the existing groups. example: - service items: @@ -6375,9 +27683,7 @@ components: type: string type: array hasExtendedTitle: - description: >- - Whether the notifications include the triggering group-by values in - their title. + description: Whether the notifications include the triggering group-by values in their title. example: true type: boolean isEnabled: @@ -6410,633 +27716,707 @@ components: tags: description: Tags for generated signals. example: - - env:prod - - team:security - items: - description: Tag. - type: string - type: array - thirdPartyCases: - description: >- - Cases for generating signals from third-party rules. Only available - for third-party rules. - example: [] - items: - $ref: '#/components/schemas/SecurityMonitoringThirdPartyRuleCaseCreate' - type: array - type: - $ref: '#/components/schemas/SecurityMonitoringRuleTypeCreate' - required: - - name - - isEnabled - - queries - - options - - cases - - message - type: object - SecurityMonitoringSignalRulePayload: - description: The payload of a signal correlation rule. - properties: - cases: - description: Cases for generating signals. - example: [] - items: - $ref: '#/components/schemas/SecurityMonitoringRuleCaseCreate' - type: array - customMessage: - description: >- - Custom/Overridden message for generated signals (used in case of - Default rule update). - type: string - customName: - description: >- - Custom/Overridden name of the rule (used in case of Default rule - update). - type: string - filters: - description: >- - Additional queries to filter matched events before they are - processed. This field is deprecated for log detection, signal - correlation, and workload security rules. - items: - $ref: '#/components/schemas/SecurityMonitoringFilter' - type: array - hasExtendedTitle: - description: >- - Whether the notifications include the triggering group-by values in - their title. - example: true - type: boolean - isEnabled: - description: Whether the rule is enabled. - example: true - type: boolean - message: - description: Message for generated signals. - example: '' - type: string - name: - description: The name of the rule. - example: My security monitoring rule. - type: string - options: - $ref: '#/components/schemas/SecurityMonitoringRuleOptions' - queries: - description: Queries for selecting signals which are part of the rule. - example: [] - items: - $ref: '#/components/schemas/SecurityMonitoringSignalRuleQuery' - type: array - tags: - description: Tags for generated signals. - example: - - env:prod - - team:security - items: - description: Tag. - type: string - type: array - type: - $ref: '#/components/schemas/SecurityMonitoringSignalRuleType' - required: - - name - - isEnabled - - queries - - options - - cases - - message - type: object - SecurityMonitoringRuleTestPayload: - description: Test a rule. - oneOf: - - $ref: '#/components/schemas/SecurityMonitoringStandardRuleTestPayload' - SecurityMonitoringRuleQueryPayload: - description: Payload to test a rule query with the expected result. - properties: - expectedResult: - description: Expected result of the test. - example: true - type: boolean - index: - description: Index of the query under test. - example: 0 - format: int64 - minimum: 0 - type: integer - payload: - $ref: '#/components/schemas/SecurityMonitoringRuleQueryPayloadData' - type: object - CloudConfigurationRulePayload: - description: The payload of a cloud configuration rule. - properties: - cases: - description: > - Description of generated findings and signals (severity and channels - to be notified in case of a signal). Must contain exactly one item. - items: - $ref: '#/components/schemas/CloudConfigurationRuleCaseCreate' - type: array - complianceSignalOptions: - $ref: '#/components/schemas/CloudConfigurationRuleComplianceSignalOptions' - customMessage: - description: >- - Custom/Overridden message for generated signals (used in case of - Default rule update). - type: string - customName: - description: >- - Custom/Overridden name of the rule (used in case of Default rule - update). - type: string - filters: - description: >- - Additional queries to filter matched events before they are - processed. - items: - $ref: '#/components/schemas/SecurityMonitoringFilter' - type: array - isEnabled: - description: Whether the rule is enabled. - example: true - type: boolean - message: - description: Message in markdown format for generated findings and signals. - example: | - #Description - Explanation of the rule. - - #Remediation - How to fix the security issue. - type: string - name: - description: The name of the rule. - example: My security monitoring rule. - type: string - options: - $ref: '#/components/schemas/CloudConfigurationRuleOptions' - tags: - description: Tags for generated findings and signals. - example: - - env:prod - - team:security - items: - description: Tag. - type: string - type: array - type: - $ref: '#/components/schemas/CloudConfigurationRuleType' - required: - - name - - isEnabled - - options - - complianceSignalOptions - - cases - - message - type: object - CalculatedField: - description: Calculated field. - properties: - expression: - description: Expression. - example: '@request_end_timestamp - @request_start_timestamp' - type: string - name: - description: Field name. - example: response_time - type: string - required: - - name - - expression - type: object - SecurityMonitoringRuleCase: - description: Case when signal is generated. - properties: - actions: - description: Action to perform for each rule case. - items: - $ref: '#/components/schemas/SecurityMonitoringRuleCaseAction' - type: array - condition: - description: >- - A rule case contains logical operations (`>`,`>=`, `&&`, `||`) to - determine if a signal should be generated - - based on the event counts in the previously defined queries. - type: string - customStatus: - $ref: '#/components/schemas/SecurityMonitoringRuleSeverity' - name: - description: Name of the case. - type: string - notifications: - description: Notification targets for each rule case. - items: - description: Notification. - type: string - type: array - status: - $ref: '#/components/schemas/SecurityMonitoringRuleSeverity' - type: object - CloudConfigurationRuleComplianceSignalOptions: - description: >- - How to generate compliance signals. Useful for cloud_configuration rules - only. - properties: - defaultActivationStatus: - description: The default activation status. - nullable: true - type: boolean - defaultGroupByFields: - description: The default group by fields. - items: - type: string - nullable: true - type: array - userActivationStatus: - description: Whether signals will be sent. - nullable: true - type: boolean - userGroupByFields: - description: Fields to use to group findings by when sending signals. - items: - type: string - nullable: true - type: array - type: object - SecurityMonitoringFilter: - description: The rule's suppression filter. - properties: - action: - $ref: '#/components/schemas/SecurityMonitoringFilterAction' - query: - description: Query for selecting logs to apply the filtering action. - type: string - type: object - SecurityMonitoringRuleOptions: - description: Options. - properties: - complianceRuleOptions: - $ref: '#/components/schemas/CloudConfigurationComplianceRuleOptions' - decreaseCriticalityBasedOnEnv: - $ref: >- - #/components/schemas/SecurityMonitoringRuleDecreaseCriticalityBasedOnEnv - detectionMethod: - $ref: '#/components/schemas/SecurityMonitoringRuleDetectionMethod' - evaluationWindow: - $ref: '#/components/schemas/SecurityMonitoringRuleEvaluationWindow' - hardcodedEvaluatorType: - $ref: '#/components/schemas/SecurityMonitoringRuleHardcodedEvaluatorType' - impossibleTravelOptions: - $ref: '#/components/schemas/SecurityMonitoringRuleImpossibleTravelOptions' - keepAlive: - $ref: '#/components/schemas/SecurityMonitoringRuleKeepAlive' - maxSignalDuration: - $ref: '#/components/schemas/SecurityMonitoringRuleMaxSignalDuration' - newValueOptions: - $ref: '#/components/schemas/SecurityMonitoringRuleNewValueOptions' - thirdPartyRuleOptions: - $ref: '#/components/schemas/SecurityMonitoringRuleThirdPartyOptions' + - env:prod + - team:security + items: + description: Tag. + type: string + type: array + thirdPartyCases: + description: Cases for generating signals from third-party rules. Only available for third-party rules. + example: [] + items: + $ref: '#/components/schemas/SecurityMonitoringThirdPartyRuleCaseCreate' + type: array + type: + $ref: '#/components/schemas/SecurityMonitoringRuleTypeTest' + required: + - name + - isEnabled + - queries + - options + - cases + - message type: object - SecurityMonitoringRuleQuery: - description: Query for matching rule. - oneOf: - - $ref: '#/components/schemas/SecurityMonitoringStandardRuleQuery' - - $ref: '#/components/schemas/SecurityMonitoringSignalRuleQuery' - SecurityMonitoringReferenceTable: - description: Reference tables used in the queries. + SecurityMonitoringRuleQueryPayloadData: + additionalProperties: {} + description: Payload used to test the rule query. properties: - checkPresence: - description: Whether to include or exclude the matched values. - type: boolean - columnName: - description: The name of the column in the reference table. + ddsource: + description: Source of the payload. + example: nginx type: string - logFieldPath: - description: The field in the log to match against the reference table. + ddtags: + description: Tags associated with your data. + example: env:staging,version:5.1 type: string - ruleQueryName: - description: The name of the query to apply the reference table to. + hostname: + description: The name of the originating host of the log. + example: i-012345678 type: string - tableName: - description: The name of the reference table. + message: + description: The message of the payload. + example: 2019-11-19T14:37:58,995 INFO [process.name][20081] Hello World + type: string + service: + description: The name of the application or service generating the data. + example: payment type: string type: object - SecurityMonitoringSchedulingOptions: - description: >- - Options for scheduled rules. When this field is present, the rule runs - based on the schedule. When absent, it runs real-time on ingested logs. - nullable: true + SecurityMonitoringRuleCaseAction: + description: Action to perform when a signal is triggered. Only available for Application Security rule type. properties: - rrule: - description: >- - Schedule for the rule queries, written in RRULE syntax. See - [RFC](https://icalendar.org/iCalendar-RFC-5545/3-8-5-3-recurrence-rule.html) - for syntax reference. - example: FREQ=HOURLY;INTERVAL=1; - type: string - start: - description: Start date for the schedule, in ISO 8601 format without timezone. - example: '2025-07-14T12:00:00' - type: string - timezone: - description: >- - Time zone of the start date, in the [tz - database](https://en.wikipedia.org/wiki/List_of_tz_database_time_zones) - format. - example: America/New_York + options: + $ref: '#/components/schemas/SecurityMonitoringRuleCaseActionOptions' + type: + $ref: '#/components/schemas/SecurityMonitoringRuleCaseActionType' + type: object + SecurityMonitoringRuleSeverity: + description: Severity of the Security Signal. + enum: + - info + - low + - medium + - high + - critical + example: critical + type: string + x-enum-varnames: + - INFO + - LOW + - MEDIUM + - HIGH + - CRITICAL + SecurityMonitoringFilterAction: + description: The type of filtering action. + enum: + - require + - suppress + type: string + x-enum-varnames: + - REQUIRE + - SUPPRESS + SecurityMonitoringRuleAnomalyDetectionOptions: + additionalProperties: {} + description: Options on anomaly detection method. + properties: + bucketDuration: + $ref: '#/components/schemas/SecurityMonitoringRuleAnomalyDetectionOptionsBucketDuration' + detectionTolerance: + $ref: '#/components/schemas/SecurityMonitoringRuleAnomalyDetectionOptionsDetectionTolerance' + instantaneousBaseline: + $ref: '#/components/schemas/SecurityMonitoringRuleInstantaneousBaseline' + learningDuration: + $ref: '#/components/schemas/SecurityMonitoringRuleAnomalyDetectionOptionsLearningDuration' + learningPeriodBaseline: + description: An optional override baseline to apply while the rule is in the learning period. Must be greater than or equal to 0. + format: int64 + minimum: 0 + type: integer + type: object + CloudConfigurationComplianceRuleOptions: + additionalProperties: {} + description: |- + Options for cloud_configuration rules. + Fields `resourceType` and `regoRule` are mandatory when managing custom `cloud_configuration` rules. + properties: + complexRule: + description: |- + Whether the rule is a complex one. + Must be set to true if `regoRule.resourceTypes` contains more than one item. Defaults to false. + type: boolean + regoRule: + $ref: '#/components/schemas/CloudConfigurationRegoRule' + resourceType: + description: Main resource type to be checked by the rule. It should be specified again in `regoRule.resourceTypes`. + example: aws_acm type: string type: object - SecurityMonitoringThirdPartyRuleCase: - description: Case when signal is generated by a third party rule. + SecurityMonitoringRuleDecreaseCriticalityBasedOnEnv: + description: |- + If true, signals in non-production environments have a lower severity than what is defined by the rule case, which can reduce signal noise. + The severity is decreased by one level: `CRITICAL` in production becomes `HIGH` in non-production, `HIGH` becomes `MEDIUM` and so on. `INFO` remains `INFO`. + The decrement is applied when the environment tag of the signal starts with `staging`, `test` or `dev`. + example: false + type: boolean + SecurityMonitoringRuleDetectionMethod: + description: The detection method. + enum: + - threshold + - new_value + - anomaly_detection + - impossible_travel + - hardcoded + - third_party + - anomaly_threshold + - sequence_detection + type: string + x-enum-varnames: + - THRESHOLD + - NEW_VALUE + - ANOMALY_DETECTION + - IMPOSSIBLE_TRAVEL + - HARDCODED + - THIRD_PARTY + - ANOMALY_THRESHOLD + - SEQUENCE_DETECTION + SecurityMonitoringRuleEvaluationWindow: + description: |- + A time window is specified to match when at least one of the cases matches true. This is a sliding window + and evaluates in real time. For third party detection method, this field is not used. + enum: + - 0 + - 60 + - 300 + - 600 + - 900 + - 1800 + - 3600 + - 7200 + - 10800 + - 21600 + - 43200 + - 86400 + format: int32 + type: integer + x-enum-varnames: + - ZERO_MINUTES + - ONE_MINUTE + - FIVE_MINUTES + - TEN_MINUTES + - FIFTEEN_MINUTES + - THIRTY_MINUTES + - ONE_HOUR + - TWO_HOURS + - THREE_HOURS + - SIX_HOURS + - TWELVE_HOURS + - ONE_DAY + SecurityMonitoringRuleHardcodedEvaluatorType: + description: Hardcoded evaluator type. + enum: + - log4shell + type: string + x-enum-varnames: + - LOG4SHELL + SecurityMonitoringRuleImpossibleTravelOptions: + description: Options on impossible travel detection method. + properties: + baselineUserLocations: + $ref: '#/components/schemas/SecurityMonitoringRuleImpossibleTravelOptionsBaselineUserLocations' + baselineUserLocationsDuration: + $ref: '#/components/schemas/SecurityMonitoringRuleImpossibleTravelOptionsBaselineUserLocationsDuration' + type: object + SecurityMonitoringRuleKeepAlive: + description: |- + Once a signal is generated, the signal will remain "open" if a case is matched at least once within + this keep alive window. For third party detection method, this field is not used. + enum: + - 0 + - 60 + - 300 + - 600 + - 900 + - 1800 + - 3600 + - 7200 + - 10800 + - 21600 + - 43200 + - 86400 + format: int32 + type: integer + x-enum-varnames: + - ZERO_MINUTES + - ONE_MINUTE + - FIVE_MINUTES + - TEN_MINUTES + - FIFTEEN_MINUTES + - THIRTY_MINUTES + - ONE_HOUR + - TWO_HOURS + - THREE_HOURS + - SIX_HOURS + - TWELVE_HOURS + - ONE_DAY + SecurityMonitoringRuleMaxSignalDuration: + description: |- + A signal will "close" regardless of the query being matched once the time exceeds the maximum duration. + This time is calculated from the first seen timestamp. + enum: + - 0 + - 60 + - 300 + - 600 + - 900 + - 1800 + - 3600 + - 7200 + - 10800 + - 21600 + - 43200 + - 86400 + format: int32 + type: integer + x-enum-varnames: + - ZERO_MINUTES + - ONE_MINUTE + - FIVE_MINUTES + - TEN_MINUTES + - FIFTEEN_MINUTES + - THIRTY_MINUTES + - ONE_HOUR + - TWO_HOURS + - THREE_HOURS + - SIX_HOURS + - TWELVE_HOURS + - ONE_DAY + SecurityMonitoringRuleNewValueOptions: + description: Options on new value detection method. + properties: + forgetAfter: + $ref: '#/components/schemas/SecurityMonitoringRuleNewValueOptionsForgetAfter' + instantaneousBaseline: + $ref: '#/components/schemas/SecurityMonitoringRuleInstantaneousBaseline' + learningDuration: + $ref: '#/components/schemas/SecurityMonitoringRuleNewValueOptionsLearningDuration' + learningMethod: + $ref: '#/components/schemas/SecurityMonitoringRuleNewValueOptionsLearningMethod' + learningThreshold: + $ref: '#/components/schemas/SecurityMonitoringRuleNewValueOptionsLearningThreshold' + type: object + SecurityMonitoringRuleSequenceDetectionOptions: + description: Options on sequence detection method. + properties: + stepTransitions: + description: Transitions defining the allowed order of steps and their evaluation windows. + items: + $ref: '#/components/schemas/SecurityMonitoringRuleSequenceDetectionStepTransition' + type: array + steps: + description: Steps that define the conditions to be matched in sequence. + items: + $ref: '#/components/schemas/SecurityMonitoringRuleSequenceDetectionStep' + type: array + type: object + SecurityMonitoringRuleThirdPartyOptions: + description: Options on third party detection method. properties: - customStatus: - $ref: '#/components/schemas/SecurityMonitoringRuleSeverity' - name: - description: Name of the case. - type: string - notifications: - description: Notification targets for each rule case. + defaultNotifications: + description: Notification targets for the logs that do not correspond to any of the cases. items: description: Notification. type: string type: array - query: - description: A query to map a third party event to this case. - type: string - status: + defaultStatus: $ref: '#/components/schemas/SecurityMonitoringRuleSeverity' + rootQueries: + description: Queries to be combined with third party case queries. Each of them can have different group by fields, to aggregate differently based on the type of alert. + items: + $ref: '#/components/schemas/SecurityMonitoringThirdPartyRootQuery' + type: array + signalTitleTemplate: + description: A template for the signal title; if omitted, the title is generated based on the case name. + type: string type: object - GetRuleVersionHistoryData: - description: Data for the rule version history. + RuleVersionHistory: + description: Response object containing the version history of a rule. properties: - attributes: - $ref: '#/components/schemas/RuleVersionHistory' - id: - description: ID of the rule. - type: string - type: - $ref: '#/components/schemas/GetRuleVersionHistoryDataType' + count: + description: The number of rule versions. + format: int32 + maximum: 2147483647 + type: integer + data: + additionalProperties: + $ref: '#/components/schemas/RuleVersions' + description: A rule version with a list of updates. + description: The `RuleVersionHistory` `data`. + type: object type: object - SecurityMonitoringSignalsSort: - description: The sort parameters used for querying security signals. + GetRuleVersionHistoryDataType: + description: Type of data. enum: - - timestamp - - '-timestamp' + - GetRuleVersionHistoryResponse type: string x-enum-varnames: - - TIMESTAMP_ASCENDING - - TIMESTAMP_DESCENDING - SecurityMonitoringSignal: - description: Object description of a security signal. + - GETRULEVERSIONHISTORYRESPONSE + SampleLogGenerationSubscriptionAttributes: + description: The attributes describing a sample log generation subscription. properties: - attributes: - $ref: '#/components/schemas/SecurityMonitoringSignalAttributes' - id: - description: The unique ID of the security signal. - example: AAAAAWgN8Xwgr1vKDQAAAABBV2dOOFh3ZzZobm1mWXJFYTR0OA + content_pack_id: + description: The identifier of the Cloud SIEM content pack the subscription targets. + example: aws-cloudtrail type: string - type: - $ref: '#/components/schemas/SecurityMonitoringSignalType' + created_at: + description: The time at which the subscription was created. + example: '2026-05-08T20:02:13.77481Z' + format: date-time + type: string + expires_at: + description: The time at which the subscription expires and stops generating logs. + example: '2026-05-11T20:02:13.77481Z' + format: date-time + type: string + is_active: + description: Whether the subscription is currently active and generating logs. + example: true + type: boolean + status: + $ref: '#/components/schemas/SampleLogGenerationSubscriptionStatus' + required: + - content_pack_id + - status + - is_active + - created_at + - expires_at type: object - SecurityMonitoringSignalsListResponseLinks: - description: Links attributes. + SampleLogGenerationSubscriptionResourceType: + default: subscriptions + description: The type of the resource. The value should always be `subscriptions`. + enum: + - subscriptions + example: subscriptions + type: string + x-enum-varnames: + - SUBSCRIPTIONS + SampleLogGenerationSubscriptionCreateAttributes: + description: The attributes for creating a sample log generation subscription. properties: - next: - description: >- - The link for the next set of results. **Note**: The request can also - be made using the - - POST endpoint. - example: >- - https://app.datadoghq.com/api/v2/security_monitoring/signals?filter[query]=foo&page[cursor]=eyJzdGFydEF0IjoiQVFBQUFYS2tMS3pPbm40NGV3QUFBQUJCV0V0clRFdDZVbG8zY3pCRmNsbHJiVmxDWlEifQ== + content_pack_id: + description: The identifier of the Cloud SIEM content pack to subscribe to. + example: aws-cloudtrail type: string + duration: + $ref: '#/components/schemas/SampleLogGenerationDuration' + required: + - content_pack_id type: object - SecurityMonitoringSignalsListResponseMeta: - description: Meta attributes. + SampleLogGenerationSubscriptionRequestType: + default: subscription_requests + description: The type of the resource. The value should always be `subscription_requests`. + enum: + - subscription_requests + example: subscription_requests + type: string + x-enum-varnames: + - SUBSCRIPTION_REQUESTS + SampleLogGenerationBulkSubscriptionAttributes: + description: The attributes for creating sample log generation subscriptions for multiple content packs. properties: - page: - $ref: '#/components/schemas/SecurityMonitoringSignalsListResponseMetaPage' + content_pack_ids: + description: The identifiers of the Cloud SIEM content packs to subscribe to. At most five content packs can be requested in a single call. + example: + - aws-cloudtrail + items: + description: A Cloud SIEM content pack identifier. + type: string + maxItems: 5 + type: array + duration: + $ref: '#/components/schemas/SampleLogGenerationDuration' + required: + - content_pack_ids type: object - SecurityMonitoringSignalListRequestFilter: - description: Search filters for listing security signals. + SampleLogGenerationBulkSubscriptionRequestType: + default: bulk_subscription_requests + description: The type of the resource. The value should always be `bulk_subscription_requests`. + enum: + - bulk_subscription_requests + example: bulk_subscription_requests + type: string + x-enum-varnames: + - BULK_SUBSCRIPTION_REQUESTS + SampleLogGenerationBulkSubscriptionItemMeta: + description: Per-item status returned for a bulk subscription request. properties: - from: - description: The minimum timestamp for requested security signals. - example: '2019-01-02T09:42:36.320Z' - format: date-time + error: + description: A description of the error encountered for this content pack, if the subscription could not be created. + example: content pack does not exist type: string - query: - description: Search query for listing security signals. - example: security:attack status:high + status: + description: The HTTP status code that resulted from creating the subscription for this content pack. + example: 200 + format: int32 + maximum: 599 + type: integer + required: + - status + type: object + SecurityMonitoringSignalAttributes: + additionalProperties: {} + description: |- + The object containing all signal attributes and their + associated values. + properties: + custom: + additionalProperties: {} + description: A JSON object of attributes in the security signal. + example: + workflow: + first_seen: '2020-06-23T14:46:01.000Z' + last_seen: '2020-06-23T14:46:49.000Z' + rule: + id: 0f5-e0c-805 + name: Brute Force Attack Grouped By User + version: 12 + type: object + message: + description: The message in the security signal defined by the rule that generated the signal. + example: Detect Account Take Over (ATO) through brute force attempts type: string - to: - description: The maximum timestamp for requested security signals. - example: '2019-01-03T09:42:36.320Z' + tags: + description: An array of tags associated with the security signal. + example: + - security:attack + - technique:T1110-brute-force + items: + description: The tag associated with the security signal. + type: string + type: array + timestamp: + description: The timestamp of the security signal. + example: '2019-01-02T09:42:36.320Z' format: date-time type: string type: object - SecurityMonitoringSignalListRequestPage: - description: The paging attributes for listing security signals. + SecurityMonitoringSignalType: + default: signal + description: The type of event. + enum: + - signal + example: signal + type: string + x-enum-varnames: + - SIGNAL + SecurityMonitoringSignalsListResponseMetaPage: + description: Paging attributes. properties: - cursor: - description: A list of results using the cursor provided in the previous query. - example: >- - eyJzdGFydEF0IjoiQVFBQUFYS2tMS3pPbm40NGV3QUFBQUJCV0V0clRFdDZVbG8zY3pCRmNsbHJiVmxDWlEifQ== + after: + description: |- + The cursor used to get the next results, if any. To make the next request, use the same + parameters with the addition of the `page[cursor]`. + example: eyJzdGFydEF0IjoiQVFBQUFYS2tMS3pPbm40NGV3QUFBQUJCV0V0clRFdDZVbG8zY3pCRmNsbHJiVmxDWlEifQ== type: string - limit: - default: 10 - description: The maximum number of security signals in the response. - example: 25 - format: int32 - maximum: 1000 - type: integer type: object - SecurityMonitoringSignalAssigneeUpdateData: - description: Data containing the patch for changing the assignee of a signal. + SecurityMonitoringSignalsBulkAssigneeUpdateAttributes: + description: Attributes describing the new assignees for a bulk signal update. properties: - attributes: - $ref: >- - #/components/schemas/SecurityMonitoringSignalAssigneeUpdateAttributes + assignee: + description: UUID of the user to assign to the signal. Use an empty string to unassign. + example: 773b045d-ccf8-4808-bd3b-955ef6a8c940 + type: string + version: + $ref: '#/components/schemas/SecurityMonitoringSignalVersion' required: - - attributes + - assignee type: object - SecurityMonitoringSignalTriageUpdateData: - description: Data containing the updated triage attributes of the signal. + SecurityMonitoringSignalsBulkTriageEvent: + description: A single signal event entry in a bulk triage update response. properties: - attributes: - $ref: '#/components/schemas/SecurityMonitoringSignalTriageAttributes' + event: + $ref: '#/components/schemas/SecurityMonitoringSignalsBulkTriageEventAttributes' id: description: The unique ID of the security signal. + example: AAAAAWgN8Xwgr1vKDQAAAABBV2dOOFh3ZzZobm1mWXJFYTR0OA type: string - type: - $ref: '#/components/schemas/SecurityMonitoringSignalMetadataType' - type: object - SecurityMonitoringSignalIncidentsUpdateData: - description: >- - Data containing the patch for changing the related incidents of a - signal. - properties: - attributes: - $ref: >- - #/components/schemas/SecurityMonitoringSignalIncidentsUpdateAttributes required: - - attributes + - id + - event type: object - SecurityMonitoringSignalStateUpdateData: - description: Data containing the patch for changing the state of a signal. + SecurityMonitoringSignalStateUpdateAttributes: + description: Attributes describing the change of state of a security signal. properties: - attributes: - $ref: '#/components/schemas/SecurityMonitoringSignalStateUpdateAttributes' - id: - description: The unique ID of the security signal. - type: - $ref: '#/components/schemas/SecurityMonitoringSignalMetadataType' + archive_comment: + $ref: '#/components/schemas/SecurityMonitoringSignalArchiveComment' + archive_reason: + $ref: '#/components/schemas/SecurityMonitoringSignalArchiveReason' + state: + $ref: '#/components/schemas/SecurityMonitoringSignalState' + version: + $ref: '#/components/schemas/SecurityMonitoringSignalVersion' required: - - attributes + - state type: object - SensitiveDataScannerGetConfigResponseData: - description: Response data related to the scanning groups. + SecurityMonitoringSignalUpdateAttributes: + description: Attributes for updating the triage state or assignee of a security signal. properties: - attributes: - additionalProperties: {} - description: Attributes of the Sensitive Data configuration. - type: object - id: - description: ID of the configuration. - type: string - relationships: - $ref: '#/components/schemas/SensitiveDataScannerConfigurationRelationships' - type: - $ref: '#/components/schemas/SensitiveDataScannerConfigurationType' + archive_comment: + $ref: '#/components/schemas/SecurityMonitoringSignalArchiveComment' + archive_reason: + $ref: '#/components/schemas/SecurityMonitoringSignalArchiveReason' + assignee: + $ref: '#/components/schemas/SecurityMonitoringTriageUser' + state: + $ref: '#/components/schemas/SecurityMonitoringSignalState' + version: + $ref: '#/components/schemas/SecurityMonitoringSignalVersion' type: object - SensitiveDataScannerGetConfigIncludedArray: - description: Included objects from relationships. - items: - $ref: '#/components/schemas/SensitiveDataScannerGetConfigIncludedItem' - type: array - SensitiveDataScannerMeta: - description: Meta response containing information about the API. + SecurityMonitoringSignalAssigneeUpdateAttributes: + description: Attributes describing the new assignee of a security signal. + properties: + assignee: + $ref: '#/components/schemas/SecurityMonitoringTriageUser' + version: + $ref: '#/components/schemas/SecurityMonitoringSignalVersion' + required: + - assignee + type: object + SecurityMonitoringSignalTriageAttributes: + description: Attributes describing a triage state update operation over a security signal. properties: - count_limit: - description: Maximum number of scanning rules allowed for the org. - format: int64 - type: integer - group_count_limit: - description: Maximum number of scanning groups allowed for the org. + archive_comment: + $ref: '#/components/schemas/SecurityMonitoringSignalArchiveComment' + archive_comment_timestamp: + description: Timestamp of the last edit to the comment. format: int64 + minimum: 0 type: integer - has_highlight_enabled: - default: true - deprecated: true - description: >- - (Deprecated) Whether or not scanned events are highlighted in Logs - or RUM for the org. - type: boolean - has_multi_pass_enabled: - deprecated: true - description: (Deprecated) Whether or not scanned events have multi-pass enabled. - type: boolean - is_pci_compliant: - description: >- - Whether or not the org is compliant to the payment card industry - standard. - type: boolean - version: - description: Version of the API. - example: 0 + archive_comment_user: + $ref: '#/components/schemas/SecurityMonitoringTriageUser' + archive_reason: + $ref: '#/components/schemas/SecurityMonitoringSignalArchiveReason' + assignee: + $ref: '#/components/schemas/SecurityMonitoringTriageUser' + incident_ids: + $ref: '#/components/schemas/SecurityMonitoringSignalIncidentIds' + state: + $ref: '#/components/schemas/SecurityMonitoringSignalState' + state_update_timestamp: + description: Timestamp of the last update to the signal state. format: int64 minimum: 0 type: integer + state_update_user: + $ref: '#/components/schemas/SecurityMonitoringTriageUser' + required: + - assignee + - state + - incident_ids type: object - SensitiveDataScannerReorderConfig: - description: Data related to the reordering of scanning groups. + SecurityMonitoringSignalMetadataType: + default: signal_metadata + description: The type of event. + enum: + - signal_metadata + example: signal_metadata + type: string + x-enum-varnames: + - SIGNAL_METADATA + SignalEntitiesAttributes: + description: Attributes containing the entities related to the signal. properties: - id: - description: ID of the configuration. - type: string - relationships: - $ref: '#/components/schemas/SensitiveDataScannerConfigurationRelationships' - type: - $ref: '#/components/schemas/SensitiveDataScannerConfigurationType' + identities: + description: The identity entities related to the signal. Each item is a free-form object describing an identity (for example, a user or principal). + example: + - display_name: Test User + principal_id: user@example.com + items: + $ref: '#/components/schemas/SignalEntityIdentity' + type: array + required: + - identities type: object - SensitiveDataScannerMetaVersionOnly: - description: Meta payload containing information about the API. + SignalEntitiesType: + default: entities + description: The type of the resource. The value should always be `entities`. + enum: + - entities + example: entities + type: string + x-enum-varnames: + - ENTITIES + SecurityMonitoringSignalIncidentsUpdateAttributes: + description: Attributes describing the new list of related signals for a security signal. properties: + incident_ids: + $ref: '#/components/schemas/SecurityMonitoringSignalIncidentIds' version: - description: Version of the API (optional). - example: 0 - format: int64 - minimum: 0 - type: integer + $ref: '#/components/schemas/SecurityMonitoringSignalVersion' + required: + - incident_ids type: object - SensitiveDataScannerGroupCreate: - description: Data related to the creation of a group. + SecurityMonitoringSignalSuggestedAction: + description: A suggested action for a security signal. properties: attributes: - $ref: '#/components/schemas/SensitiveDataScannerGroupAttributes' - relationships: - $ref: '#/components/schemas/SensitiveDataScannerGroupRelationships' + $ref: '#/components/schemas/SecurityMonitoringSignalSuggestedActionAttributes' + id: + description: The unique ID of the suggested action. + example: w00-t10-992 + type: string type: - $ref: '#/components/schemas/SensitiveDataScannerGroupType' + $ref: '#/components/schemas/SecurityMonitoringSignalSuggestedActionType' required: + - id - type - attributes type: object - SensitiveDataScannerGroupResponse: - description: Response data related to the creation of a group. + SecurityMonitoringTerraformBulkExportAttributes: + description: Attributes for the bulk export request. properties: - attributes: - $ref: '#/components/schemas/SensitiveDataScannerGroupAttributes' - id: - description: ID of the group. - type: string - relationships: - $ref: '#/components/schemas/SensitiveDataScannerGroupRelationships' - type: - $ref: '#/components/schemas/SensitiveDataScannerGroupType' + resource_ids: + description: The list of resource IDs to export. Maximum 1000 items. + example: + - '' + items: + description: The ID of the resource to export. + type: string + maxItems: 1000 + type: array + required: + - resource_ids type: object - SensitiveDataScannerGroupUpdate: - description: Data related to the update of a group. + SecurityMonitoringTerraformConvertAttributes: + description: Attributes for the convert request. properties: - attributes: - $ref: '#/components/schemas/SensitiveDataScannerGroupAttributes' - id: - description: ID of the group. - type: string - relationships: - $ref: '#/components/schemas/SensitiveDataScannerGroupRelationships' - type: - $ref: '#/components/schemas/SensitiveDataScannerGroupType' + resource_json: + additionalProperties: {} + description: The resource attributes as a JSON object, matching the structure returned by the corresponding Datadog API (for example, the attributes of a suppression rule). + example: + enabled: true + name: Custom suppression + rule_query: type:log_detection source:cloudtrail + suppression_query: env:staging status:low + type: object + required: + - resource_json type: object - SensitiveDataScannerRuleCreate: - description: Data related to the creation of a rule. + SecurityMonitoringTerraformExportAttributes: + description: Attributes of the Terraform export response. properties: - attributes: - $ref: '#/components/schemas/SensitiveDataScannerRuleAttributes' - relationships: - $ref: '#/components/schemas/SensitiveDataScannerRuleRelationships' - type: - $ref: '#/components/schemas/SensitiveDataScannerRuleType' + output: + description: The Terraform configuration for the resource. + type: string + resource_id: + description: The ID of the exported resource. + example: abc-123 + type: string + type_name: + description: The Terraform resource type name. + example: datadog_security_monitoring_suppression + type: string required: - - type - - attributes - - relationships + - type_name + - resource_id type: object - SensitiveDataScannerRuleResponse: - description: Response data related to the creation of a rule. + SensitiveDataScannerConfigurationRelationships: + description: Relationships of the configuration. properties: - attributes: - $ref: '#/components/schemas/SensitiveDataScannerRuleAttributes' - id: - description: ID of the rule. - type: string - relationships: - $ref: '#/components/schemas/SensitiveDataScannerRuleRelationships' - type: - $ref: '#/components/schemas/SensitiveDataScannerRuleType' + groups: + $ref: '#/components/schemas/SensitiveDataScannerGroupList' type: object - SensitiveDataScannerRuleUpdate: - description: Data related to the update of a rule. + SensitiveDataScannerConfigurationType: + default: sensitive_data_scanner_configuration + description: Sensitive Data Scanner configuration type. + enum: + - sensitive_data_scanner_configuration + example: sensitive_data_scanner_configuration + type: string + x-enum-varnames: + - SENSITIVE_DATA_SCANNER_CONFIGURATIONS + SensitiveDataScannerGetConfigIncludedItem: + description: An object related to the configuration. properties: attributes: $ref: '#/components/schemas/SensitiveDataScannerRuleAttributes' @@ -7048,2646 +28428,2991 @@ components: type: $ref: '#/components/schemas/SensitiveDataScannerRuleType' type: object - SensitiveDataScannerStandardPatternsResponse: - description: List Standard patterns response. - items: - $ref: '#/components/schemas/SensitiveDataScannerStandardPatternsResponseItem' - type: array - HistoricalJobResponseData: - description: Historical job response data. + SensitiveDataScannerGroupAttributes: + description: Attributes of the Sensitive Data Scanner group. properties: - attributes: - $ref: '#/components/schemas/HistoricalJobResponseAttributes' - id: - description: ID of the job. + description: + description: Description of the group. type: string - type: - $ref: '#/components/schemas/HistoricalJobDataType' + filter: + $ref: '#/components/schemas/SensitiveDataScannerFilter' + is_enabled: + description: Whether or not the group is enabled. + type: boolean + name: + description: Name of the group. + type: string + product_list: + description: List of products the scanning group applies. + items: + $ref: '#/components/schemas/SensitiveDataScannerProduct' + type: array + samplings: + description: List of sampling rates per product type. + items: + $ref: '#/components/schemas/SensitiveDataScannerSamplings' + type: array type: object - HistoricalJobListMeta: - description: Metadata about the list of jobs. + SensitiveDataScannerGroupRelationships: + description: Relationships of the group. properties: - totalCount: - description: Number of jobs in the list. - format: int32 - maximum: 2147483647 + configuration: + $ref: '#/components/schemas/SensitiveDataScannerConfigurationData' + rules: + $ref: '#/components/schemas/SensitiveDataScannerRuleData' + type: object + SensitiveDataScannerGroupType: + default: sensitive_data_scanner_group + description: Sensitive Data Scanner group type. + enum: + - sensitive_data_scanner_group + example: sensitive_data_scanner_group + type: string + x-enum-varnames: + - SENSITIVE_DATA_SCANNER_GROUP + SensitiveDataScannerRuleAttributes: + description: Attributes of the Sensitive Data Scanner rule. + properties: + description: + description: Description of the rule. + type: string + excluded_namespaces: + description: Attributes excluded from the scan. If namespaces is provided, it has to be a sub-path of the namespaces array. + example: + - admin.name + items: + description: An attribute path to exclude from the scan. + type: string + type: array + included_keyword_configuration: + $ref: '#/components/schemas/SensitiveDataScannerIncludedKeywordConfiguration' + is_enabled: + description: Whether or not the rule is enabled. + type: boolean + name: + description: Name of the rule. + type: string + namespaces: + description: |- + Attributes included in the scan. If namespaces is empty or missing, all attributes except excluded_namespaces are scanned. + If both are missing the whole event is scanned. + example: + - admin + items: + description: An attribute path to include in the scan. + type: string + type: array + pattern: + description: Not included if there is a relationship to a standard pattern. + type: string + priority: + description: Integer from 1 (high) to 5 (low) indicating rule issue severity. + format: int64 + maximum: 5 + minimum: 1 type: integer + suppressions: + $ref: '#/components/schemas/SensitiveDataScannerSuppressions' + tags: + description: List of tags. + items: + description: A tag associated with the rule. + type: string + type: array + text_replacement: + $ref: '#/components/schemas/SensitiveDataScannerTextReplacement' type: object - RunHistoricalJobRequestData: - description: Data for running a historical job request. + SensitiveDataScannerRuleRelationships: + description: Relationships of a scanning rule. properties: - attributes: - $ref: '#/components/schemas/RunHistoricalJobRequestAttributes' - type: - $ref: '#/components/schemas/RunHistoricalJobRequestDataType' + group: + $ref: '#/components/schemas/SensitiveDataScannerGroupData' + standard_pattern: + $ref: '#/components/schemas/SensitiveDataScannerStandardPatternData' type: object - JobCreateResponseData: - description: The definition of `JobCreateResponseData` object. + SensitiveDataScannerRuleType: + default: sensitive_data_scanner_rule + description: Sensitive Data Scanner rule type. + enum: + - sensitive_data_scanner_rule + example: sensitive_data_scanner_rule + type: string + x-enum-varnames: + - SENSITIVE_DATA_SCANNER_RULE + SensitiveDataScannerStandardPatternsResponseItem: + description: Standard pattern item. properties: + attributes: + $ref: '#/components/schemas/SensitiveDataScannerStandardPatternAttributes' id: - description: ID of the created job. + description: ID of the standard pattern. type: string type: - $ref: '#/components/schemas/HistoricalJobDataType' - type: object - ConvertJobResultsToSignalsData: - description: Data for converting historical job results to signals. - properties: - attributes: - $ref: '#/components/schemas/ConvertJobResultsToSignalsAttributes' - type: - $ref: '#/components/schemas/ConvertJobResultsToSignalsDataType' + $ref: '#/components/schemas/SensitiveDataScannerStandardPatternType' type: object - AwsScanOptionsAttributes: - description: Attributes for the AWS scan options. + HistoricalJobResponseAttributes: + description: Historical job attributes. properties: - lambda: - description: Indicates if scanning of Lambda functions is enabled. - example: true - type: boolean - sensitive_data: - description: Indicates if scanning for sensitive data is enabled. - example: false - type: boolean - vuln_containers_os: - description: Indicates if scanning for vulnerabilities in containers is enabled. - example: true - type: boolean - vuln_host_os: - description: Indicates if scanning for vulnerabilities in hosts is enabled. - example: true + createdAt: + description: Time when the job was created. + type: string + createdByHandle: + description: The handle of the user who created the job. + type: string + createdByName: + description: The name of the user who created the job. + type: string + createdFromRuleId: + description: ID of the rule used to create the job (if it is created from a rule). + type: string + jobDefinition: + $ref: '#/components/schemas/JobDefinition' + jobName: + description: Job name. + type: string + jobStatus: + description: Job status. + type: string + modifiedAt: + description: Last modification time of the job. + type: string + progressRate: + description: Job execution progress as a value between 0 and 1. Available for ongoing jobs. + format: double + type: number + signalOutput: + description: Whether the job outputs signals. type: boolean type: object - AwsScanOptionsType: - default: aws_scan_options - description: The type of the resource. The value should always be `aws_scan_options`. + HistoricalJobDataType: + description: Type of payload. enum: - - aws_scan_options - example: aws_scan_options + - historicalDetectionsJob type: string x-enum-varnames: - - AWS_SCAN_OPTIONS - AwsScanOptionsCreateAttributes: - description: Attributes for the AWS scan options to create. - properties: - lambda: - description: Indicates if scanning of Lambda functions is enabled. - example: true - type: boolean - sensitive_data: - description: Indicates if scanning for sensitive data is enabled. - example: false - type: boolean - vuln_containers_os: - description: Indicates if scanning for vulnerabilities in containers is enabled. - example: true - type: boolean - vuln_host_os: - description: Indicates if scanning for vulnerabilities in hosts is enabled. - example: true - type: boolean - required: - - lambda - - sensitive_data - - vuln_containers_os - - vuln_host_os - type: object - AwsAccountId: - description: The ID of the AWS account. - example: '123456789012' - type: string - AwsScanOptionsUpdateAttributes: - description: Attributes for the AWS scan options to update. + - HISTORICALDETECTIONSJOB + RunHistoricalJobRequestAttributes: + description: Run a historical job request. properties: - lambda: - description: Indicates if scanning of Lambda functions is enabled. - example: true - type: boolean - sensitive_data: - description: Indicates if scanning for sensitive data is enabled. - example: false - type: boolean - vuln_containers_os: - description: Indicates if scanning for vulnerabilities in containers is enabled. - example: true - type: boolean - vuln_host_os: - description: Indicates if scanning for vulnerabilities in hosts is enabled. - example: true + fromRule: + $ref: '#/components/schemas/JobDefinitionFromRule' + jobDefinition: + $ref: '#/components/schemas/JobDefinition' + signalOutput: + description: Whether the job outputs signals when results are converted. type: boolean type: object - AwsOnDemandAttributes: - description: Attributes for the AWS on demand task. - properties: - arn: - description: The arn of the resource to scan. - example: arn:aws:ec2:us-east-1:727000456123:instance/i-0eabb50529b67a1ba - type: string - assigned_at: - description: >- - Specifies the assignment timestamp if the task has been already - assigned to a scanner. - example: '2025-02-11T18:25:04.550564Z' - type: string - created_at: - description: The task submission timestamp. - example: '2025-02-11T18:13:24.576915Z' - type: string - status: - description: >- - Indicates the status of the task. - - QUEUED: the task has been submitted successfully and the resource - has not been assigned to a scanner yet. - - ASSIGNED: the task has been assigned. - - ABORTED: the scan has been aborted after a period of time due to - technical reasons, such as resource not found, insufficient - permissions, or the absence of a configured scanner. - example: QUEUED - type: string - type: object - AwsOnDemandType: - default: aws_resource - description: >- - The type of the on demand task. The value should always be - `aws_resource`. + RunHistoricalJobRequestDataType: + description: Type of data. enum: - - aws_resource - example: aws_resource + - historicalDetectionsJobCreate type: string x-enum-varnames: - - AWS_RESOURCE - AwsOnDemandCreateAttributes: - description: Attributes for the AWS on demand task. + - HISTORICALDETECTIONSJOBCREATE + ConvertJobResultsToSignalsAttributes: + description: Attributes for converting historical job results to signals. properties: - arn: - description: >- - The arn of the resource to scan. Agentless supports the scan of EC2 - instances, lambda functions, AMI, ECR, RDS and S3 buckets. - example: arn:aws:ec2:us-east-1:727000456123:instance/i-0eabb50529b67a1ba + jobResultIds: + description: Job result IDs. + example: + - '' + items: + description: A job result ID. + type: string + type: array + notifications: + description: Notifications sent. + example: + - '' + items: + description: A notification recipient handle. + type: string + type: array + signalMessage: + description: Message of generated signals. + example: A large number of failed login attempts. type: string + signalSeverity: + $ref: '#/components/schemas/SecurityMonitoringRuleSeverity' required: - - arn + - jobResultIds + - signalSeverity + - signalMessage + - notifications type: object - CustomFrameworkDataAttributes: - description: Framework Data Attributes. + ConvertJobResultsToSignalsDataType: + description: Type of payload. + enum: + - historicalDetectionsJobResultSignalConversion + type: string + x-enum-varnames: + - HISTORICALDETECTIONSJOBRESULTSIGNALCONVERSION + ScaRequestDataAttributes: + description: The attributes of an SCA request, containing dependency graph data, vulnerability information, and repository context. properties: - description: - description: Framework Description - type: string - handle: - description: Framework Handle - example: sec2 - type: string - icon_url: - description: Framework Icon URL - type: string - name: - description: Framework Name - example: security-framework + commit: + $ref: '#/components/schemas/ScaRequestDataAttributesCommit' + dependencies: + description: The list of dependencies discovered in the repository. + items: + $ref: '#/components/schemas/ScaRequestDataAttributesDependenciesItems' + type: array + env: + description: The environment context in which the SCA scan was performed (e.g., production, staging). type: string - requirements: - description: Framework Requirements + files: + description: The list of dependency manifest files found in the repository. items: - $ref: '#/components/schemas/CustomFrameworkRequirement' + $ref: '#/components/schemas/ScaRequestDataAttributesFilesItems' type: array - version: - description: Framework Version - example: '2' + relations: + description: The dependency relations describing the inter-component dependency graph. + items: + $ref: '#/components/schemas/ScaRequestDataAttributesRelationsItems' + type: array + repository: + $ref: '#/components/schemas/ScaRequestDataAttributesRepository' + service: + description: The name of the service or application being analyzed. type: string - required: - - handle - - version - - name - - requirements + tags: + additionalProperties: + type: string + description: A map of key-value tags providing additional metadata for the SCA scan. + type: object + vulnerabilities: + description: The list of vulnerabilities identified in the dependency graph. + items: + $ref: '#/components/schemas/ScaRequestDataAttributesVulnerabilitiesItems' + type: array type: object - CustomFrameworkType: - default: custom_framework - description: The type of the resource. The value must be `custom_framework`. + ScaRequestDataType: + default: scarequests + description: The type identifier for SCA dependency analysis requests. enum: - - custom_framework - example: custom_framework + - scarequests + example: scarequests type: string x-enum-varnames: - - CUSTOM_FRAMEWORK - CustomFrameworkDataHandleAndVersion: - description: Framework Handle and Version. - properties: - handle: - description: Framework Handle - example: sec2 - type: string - version: - description: Framework Version - example: '2' - type: string - type: object - CustomFrameworkWithoutRequirements: - description: Framework without requirements. + - SCAREQUESTS + McpScanRequestDataAttributes: + description: The attributes of an MCP SCA scan request, describing the libraries to scan and their context. properties: - description: - description: Framework Description - example: this is a security description - type: string - handle: - description: Framework Handle - example: sec2 - type: string - icon_url: - description: Framework Icon URL - example: https://example.com/icon.png - type: string - name: - description: Framework Name - example: security-framework + commit_hash: + description: The commit hash of the source code being scanned. + example: 0e9fc8de83eaabecd722e1cd0ed44fb489fe15fc type: string - version: - description: Framework Version - example: '2' + libraries: + $ref: '#/components/schemas/McpScanRequestDataAttributesLibraries' + resource_name: + description: The name of the resource (typically the repository or project name) being scanned. + example: my-org/my-repo type: string required: - - handle - - version - - name + - resource_name + - commit_hash + - libraries type: object - FullCustomFrameworkDataAttributes: - description: Full Framework Data Attributes. + McpScanRequestDataType: + default: mcpscanrequest + description: The type identifier for MCP SCA scan requests. + enum: + - mcpscanrequest + example: mcpscanrequest + type: string + x-enum-varnames: + - MCPSCANREQUEST + McpScanRequestResponseDataAttributes: + description: The attributes returned when a scan request has been accepted, containing the job identifier used to poll for results. properties: - handle: - description: Framework Handle - example: sec2 - type: string - icon_url: - description: Framework Icon URL - example: https://example.com/icon.png - type: string - name: - description: Framework Name - example: security-framework - type: string - requirements: - description: Framework Requirements - items: - $ref: '#/components/schemas/CustomFrameworkRequirement' - type: array - version: - description: Framework Version - example: '2' + job_id: + description: The job identifier assigned to the scan, used to retrieve the scan result. + example: 0190a3d4-1234-7000-8000-000000000000 type: string required: - - handle - - version - - name - - requirements + - job_id type: object - ResourceFilterAttributes: - description: Attributes of a resource filter. - example: - aws: - '123456789': - - environment:production - - team:devops - azure: - sub-001: - - app:frontend - gcp: - project-abc: - - region:us-central1 + McpScanRequestResponseDataType: + default: mcpscanrequestresponse + description: The type identifier for MCP SCA scan request responses. + enum: + - mcpscanrequestresponse + example: mcpscanrequestresponse + type: string + x-enum-varnames: + - MCPSCANREQUESTRESPONSE + LicensesListResponseDataAttributes: + description: The attributes of the licenses list response, containing the array of SPDX licenses. properties: - cloud_provider: - additionalProperties: - additionalProperties: - items: - description: Tag filter in format "key:value" - example: environment:production - type: string - type: array - type: object - description: >- - A map of cloud provider names (e.g., "aws", "gcp", "azure") to a map - of account/resource IDs and their associated tag filters. - type: object - uuid: - description: The UUID of the resource filter. - type: string + licenses: + $ref: '#/components/schemas/LicensesListResponseDataAttributesLicenses' required: - - cloud_provider + - licenses type: object - ResourceFilterRequestType: - description: Constant string to identify the request type. + LicensesListResponseDataType: + default: licenserequest + description: The type identifier for license list responses. enum: - - csm_resource_filter - example: csm_resource_filter + - licenserequest + example: licenserequest type: string x-enum-varnames: - - CSM_RESOURCE_FILTER - CsmAgentsAttributes: - description: A CSM Agent returned by the API. + - LICENSEREQUEST + ResolveVulnerableSymbolsRequestDataAttributes: + description: The attributes of a request to resolve vulnerable symbols, containing the list of package PURLs to check. properties: - agent_version: - description: Version of the Datadog Agent. - type: string - aws_fargate: - description: AWS Fargate details. - type: string - cluster_name: - description: List of cluster names associated with the Agent. - items: - type: string - type: array - datadog_agent: - description: Unique identifier for the Datadog Agent. - type: string - ecs_fargate_task_arn: - description: ARN of the ECS Fargate task. - type: string - envs: - description: List of environments associated with the Agent. + purls: + description: The list of Package URLs (PURLs) for which to resolve vulnerable symbols. items: + description: A Package URL (PURL) identifying a specific package and version. type: string - nullable: true type: array - host_id: - description: ID of the host. - format: int64 - type: integer - hostname: - description: Name of the host. - type: string - install_method_installer_version: - description: Version of the installer used for installing the Datadog Agent. - type: string - install_method_tool: - description: Tool used for installing the Datadog Agent. - type: string - is_csm_vm_containers_enabled: - description: Indicates if CSM VM Containers is enabled. - nullable: true - type: boolean - is_csm_vm_hosts_enabled: - description: Indicates if CSM VM Hosts is enabled. - nullable: true - type: boolean - is_cspm_enabled: - description: Indicates if CSPM is enabled. - nullable: true - type: boolean - is_cws_enabled: - description: Indicates if CWS is enabled. - nullable: true - type: boolean - is_cws_remote_configuration_enabled: - description: Indicates if CWS Remote Configuration is enabled. - nullable: true - type: boolean - is_remote_configuration_enabled: - description: Indicates if Remote Configuration is enabled. - nullable: true - type: boolean - os: - description: Operating system of the host. - type: string type: object - CSMAgentsType: - default: datadog_agent - description: The type of the resource. The value should always be `datadog_agent`. + ResolveVulnerableSymbolsRequestDataType: + default: resolve-vulnerable-symbols-request + description: The type identifier for requests to resolve vulnerable symbols. enum: - - datadog_agent - example: datadog_agent + - resolve-vulnerable-symbols-request + example: resolve-vulnerable-symbols-request type: string x-enum-varnames: - - DATADOG_AGENT - CsmCloudAccountsCoverageAnalysisAttributes: - description: CSM Cloud Accounts Coverage Analysis attributes. - properties: - aws_coverage: - $ref: '#/components/schemas/CsmCoverageAnalysis' - azure_coverage: - $ref: '#/components/schemas/CsmCoverageAnalysis' - gcp_coverage: - $ref: '#/components/schemas/CsmCoverageAnalysis' - org_id: - description: The ID of your organization. - example: 123456 - format: int64 - type: integer - total_coverage: - $ref: '#/components/schemas/CsmCoverageAnalysis' - type: object - CsmHostsAndContainersCoverageAnalysisAttributes: - description: CSM Hosts and Containers Coverage Analysis attributes. + - RESOLVE_VULNERABLE_SYMBOLS_REQUEST + ResolveVulnerableSymbolsResponseDataAttributes: + description: The attributes of a response containing resolved vulnerable symbols, organized by package. properties: - cspm_coverage: - $ref: '#/components/schemas/CsmCoverageAnalysis' - cws_coverage: - $ref: '#/components/schemas/CsmCoverageAnalysis' - org_id: - description: The ID of your organization. - example: 123456 - format: int64 - type: integer - total_coverage: - $ref: '#/components/schemas/CsmCoverageAnalysis' - vm_coverage: - $ref: '#/components/schemas/CsmCoverageAnalysis' + results: + description: The list of resolved vulnerable symbol results, one entry per queried package. + items: + $ref: '#/components/schemas/ResolveVulnerableSymbolsResponseResults' + type: array type: object - CsmServerlessCoverageAnalysisAttributes: - description: CSM Serverless Resources Coverage Analysis attributes. + ResolveVulnerableSymbolsResponseDataType: + default: resolve-vulnerable-symbols-response + description: The type identifier for responses containing resolved vulnerable symbols. + enum: + - resolve-vulnerable-symbols-response + example: resolve-vulnerable-symbols-response + type: string + x-enum-varnames: + - RESOLVE_VULNERABLE_SYMBOLS_RESPONSE + AiMemoryViolationResultResponseAttributes: + description: Response attributes of an AI memory violation result. properties: - cws_coverage: - $ref: '#/components/schemas/CsmCoverageAnalysis' - org_id: - description: The ID of your organization. - example: 123456 + created_at: + description: The creation timestamp. + example: '2024-01-01T00:00:00+00:00' + format: date-time + type: string + created_by: + description: The identifier of the user who created the result. + example: example-handle + type: string + line: + description: The line number where the violation was found. + example: 10 format: int64 type: integer - total_coverage: - $ref: '#/components/schemas/CsmCoverageAnalysis' - type: object - Finding: - description: A single finding without the message and resource configuration. - properties: - attributes: - $ref: '#/components/schemas/FindingAttributes' - id: - $ref: '#/components/schemas/FindingID' + message: + description: A message explaining the violation result. + example: This is a false positive because the input is sanitized. + type: string + name: + description: The file path where the violation was found. + example: src/main.py + type: string + repository_id: + description: The repository identifier. + example: my-repo + type: string + rule: + description: The rule identifier in the format ruleset/rule. + example: my-ai-ruleset/my-ai-rule + type: string + sha: + description: The git commit SHA where the violation was found. + example: abc123def456789012345678901234567890abcd + type: string type: - $ref: '#/components/schemas/FindingType' - type: object - ListFindingsPage: - additionalProperties: false - description: Pagination and findings count information. + $ref: '#/components/schemas/AiMemoryViolationType' + required: + - rule + - repository_id + - sha + - name + - line + - created_at + - created_by + - type + - message + type: object + AiMemoryViolationResultDataType: + description: AI memory violation result resource type. + enum: + - ai_memory_violation_result + example: ai_memory_violation_result + type: string + x-enum-varnames: + - AI_MEMORY_VIOLATION_RESULT + AiMemoryViolationResultRequestAttributes: + description: Attributes for creating an AI memory violation result. properties: - cursor: - description: The cursor used to paginate requests. - example: >- - eyJhZnRlciI6IkFRQUFBWWJiaEJXQS1OY1dqUUFBQUFCQldXSmlhRUpYUVVGQlJFSktkbTlDTUdaWFRVbDNRVUUiLCJ2YWx1ZXMiOlsiY3JpdGljYWwiXX0= - type: string - total_filtered_count: - description: The total count of findings after the filter has been applied. - example: 213 + line: + description: The line number where the violation was found. + example: 10 format: int64 type: integer + message: + description: A message explaining the violation result. + example: This is a false positive because the input is sanitized. + type: string + name: + description: The file path where the violation was found. + example: src/main.py + type: string + repository_id: + description: The repository identifier. + example: my-repo + type: string + rule: + description: The rule identifier in the format ruleset/rule. + example: my-ai-ruleset/my-ai-rule + type: string + sha: + description: The git commit SHA where the violation was found. + example: abc123def456789012345678901234567890abcd + type: string + type: + $ref: '#/components/schemas/AiMemoryViolationType' + required: + - rule + - repository_id + - sha + - name + - line + - type + - message type: object - BulkMuteFindingsRequestAttributes: - additionalProperties: false - description: The mute properties to be updated. + AiPromptResponseAttributes: + description: Response attributes of an AI prompt. properties: - mute: - $ref: '#/components/schemas/BulkMuteFindingsRequestProperties' + category: + $ref: '#/components/schemas/CustomRuleRevisionAttributesCategory' + checksum: + description: Checksum of the prompt content. + example: abc123 + type: string + content: + description: Base64-encoded AI prompt content. + example: Content + type: string + cwe: + description: The CWE identifier associated with this prompt. + example: '79' + type: string + description: + description: Base64-encoded full description. + example: Ruleset description + type: string + directories: + description: Directory patterns this prompt applies to. + example: [] + items: + type: string + type: array + execution_mode: + $ref: '#/components/schemas/AiCustomRuleRevisionExecutionMode' + file_search_keywords: + description: Keywords used to search for relevant files. + example: + - import + items: + type: string + type: array + globs: + description: File glob patterns this prompt applies to. + example: + - '**/*.py' + items: + type: string + type: array + is_default: + description: Whether this is a default Datadog prompt. + example: false + type: boolean + is_testing: + description: Whether this prompt is for testing only. + example: false + type: boolean + language: + $ref: '#/components/schemas/Language' + result_keywords_exclude: + description: Keywords to exclude from results. + example: [] + items: + type: string + type: array + rule_version: + description: The version of the rule this prompt is associated with. + example: '1' + type: string + severity: + $ref: '#/components/schemas/CustomRuleRevisionAttributesSeverity' + short_description: + description: Base64-encoded short description. + example: Ruleset short description + type: string required: - - mute - type: object - BulkMuteFindingsRequestMeta: - description: Meta object containing the findings to be updated. + - rule_version + - globs + - short_description + - description + - severity + - category + - file_search_keywords + - result_keywords_exclude + - content + - checksum + - execution_mode + - directories + - is_testing + - is_default + type: object + AiPromptDataType: + description: AI prompt resource type. + enum: + - ai_prompt + example: ai_prompt + type: string + x-enum-varnames: + - AI_PROMPT + AiCustomRulesetResponseAttributes: + description: Response attributes of an AI custom ruleset. properties: - findings: - description: Array of findings. + created_at: + description: The creation timestamp. + example: '2024-01-01T00:00:00+00:00' + format: date-time + type: string + created_by: + description: The identifier of the user who created the ruleset. + example: example-handle + type: string + description: + description: Base64-encoded full description of the ruleset. + example: Ruleset description + type: string + name: + description: The ruleset name. + example: my-ai-ruleset + type: string + rules: + description: The rules contained in the ruleset. items: - $ref: '#/components/schemas/BulkMuteFindingsRequestMetaFindings' + $ref: '#/components/schemas/AiCustomRuleItem' + nullable: true type: array + short_description: + description: Base64-encoded short description of the ruleset. + example: Ruleset short description + type: string + required: + - name + - short_description + - description + - created_at + - created_by + - rules type: object - FindingType: - default: finding - description: The JSON:API type for findings. + AiCustomRulesetDataType: + description: AI custom ruleset resource type. enum: - - finding - example: finding + - ai_ruleset + example: ai_ruleset type: string x-enum-varnames: - - FINDING - JSONAPIErrorItemSource: - description: References to the source of the error. + - AI_RULESET + AiCustomRulesetRequestAttributes: + description: Attributes for creating an AI custom ruleset. properties: - header: - description: >- - A string indicating the name of a single request header which caused - the error. - example: Authorization + description: + description: Base64-encoded full description of the ruleset. + example: Ruleset description type: string - parameter: - description: A string indicating which URI query parameter caused the error. - example: limit + name: + description: The ruleset name. + example: my-ai-ruleset type: string - pointer: - description: >- - A JSON pointer to the value in the request document that caused the - error. - example: /data/attributes/title + short_description: + description: Base64-encoded short description of the ruleset. + example: Ruleset short description type: string + required: + - name + - short_description + - description type: object - DetailedFindingAttributes: - description: The JSON:API attributes of the detailed finding. + AiCustomRulesetUpdateAttributes: + description: Attributes for updating an AI custom ruleset. properties: - evaluation: - $ref: '#/components/schemas/FindingEvaluation' - evaluation_changed_at: - $ref: '#/components/schemas/FindingEvaluationChangedAt' - message: - description: The remediation message for this finding. - example: >- - ## Remediation - - - ### From the console - - - 1. Go to Storage Account - - 2. For each Storage Account, navigate to Data Protection - - 3. Select Set soft delete enabled and enter the number of days to - retain soft deleted data. + description: + description: Base64-encoded full description of the ruleset. + example: Ruleset description + type: string + name: + description: The ruleset name. + example: my-ai-ruleset + type: string + short_description: + description: Base64-encoded short description of the ruleset. + example: Ruleset short description type: string - mute: - $ref: '#/components/schemas/FindingMute' - resource: - $ref: '#/components/schemas/FindingResource' - resource_configuration: - description: The resource configuration for this finding. - type: object - resource_discovery_date: - $ref: '#/components/schemas/FindingResourceDiscoveryDate' - resource_type: - $ref: '#/components/schemas/FindingResourceType' - rule: - $ref: '#/components/schemas/FindingRule' - status: - $ref: '#/components/schemas/FindingStatus' - tags: - $ref: '#/components/schemas/FindingTags' type: object - FindingID: - description: The unique ID for this finding. - example: ZGVmLTAwcC1pZXJ-aS0wZjhjNjMyZDNmMzRlZTgzNw== - type: string - DetailedFindingType: - default: detailed_finding - description: >- - The JSON:API type for findings that have the message and resource - configuration. + AiCustomRuleRequestAttributes: + description: Attributes for creating an AI custom rule. + properties: + name: + description: The rule name. + example: my-ai-rule + type: string + type: object + AiCustomRuleDataType: + description: AI custom rule resource type. enum: - - detailed_finding - example: detailed_finding + - ai_rule + example: ai_rule type: string x-enum-varnames: - - DETAILED_FINDING - AssetAttributes: - description: The JSON:API attributes of the asset. + - AI_RULE + AiCustomRuleItem: + description: An AI custom rule embedded within a ruleset response. properties: - arch: - description: Asset architecture. - example: arm64 + created_at: + description: The creation timestamp. + example: '2024-01-01T00:00:00+00:00' + format: date-time type: string - environments: - description: List of environments where the asset is deployed. - example: - - staging + created_by: + description: The identifier of the user who created the rule. + example: example-handle + type: string + last_revision: + $ref: '#/components/schemas/AiCustomRuleRevisionResponseAttributes' + description: The most recent revision of the rule. + nullable: true + name: + description: The rule name. + example: my-ai-rule + type: string + required: + - name + - created_at + - created_by + - last_revision + type: object + AiCustomRuleRevisionResponseAttributes: + description: Response attributes of an AI custom rule revision. + properties: + category: + $ref: '#/components/schemas/CustomRuleRevisionAttributesCategory' + checksum: + description: Checksum of the revision content. + example: abc123def456 + type: string + content: + description: Base64-encoded AI model content for this revision. + example: Content + type: string + created_at: + description: The creation timestamp. + example: '2024-01-01T00:00:00+00:00' + format: date-time + type: string + created_by: + description: The identifier of the user who created the revision. + example: example-handle + type: string + cwe: + description: The associated CWE identifier. + example: '79' + nullable: true + type: string + description: + description: Base64-encoded full description. + example: Ruleset description + type: string + directories: + description: Directory patterns this rule applies to. + example: [] items: - example: staging type: string type: array - name: - description: Asset name. - example: github.com/DataDog/datadog-agent.git - type: string - operating_system: - $ref: '#/components/schemas/AssetOperatingSystem' - risks: - $ref: '#/components/schemas/AssetRisks' - teams: - description: List of teams that own the asset. + execution_mode: + $ref: '#/components/schemas/AiCustomRuleRevisionExecutionMode' + globs: + description: File glob patterns this rule applies to. example: - - compute + - '**/*.py' items: - example: compute type: string type: array - type: - $ref: '#/components/schemas/AssetType' - version: - $ref: '#/components/schemas/AssetVersion' + is_default: + description: Whether this is a default Datadog rule. + example: false + type: boolean + is_published: + description: Whether this revision is published. + example: false + type: boolean + is_testing: + description: Whether this revision is for testing only. + example: false + type: boolean + severity: + $ref: '#/components/schemas/CustomRuleRevisionAttributesSeverity' + short_description: + description: Base64-encoded short description. + example: Ruleset short description + type: string + version_id: + description: The version identifier for this revision. + example: 1 + format: int64 + type: integer required: - - name - - type - - risks - - environments + - version_id + - short_description + - description + - content + - globs + - directories + - execution_mode + - cwe + - checksum + - created_at + - created_by + - severity + - category + - is_published + - is_testing + - is_default type: object - AssetEntityType: - description: The JSON:API type. + AiCustomRuleRevisionDataType: + description: AI custom rule revision resource type. enum: - - assets - example: assets + - ai_rule_revision + example: ai_rule_revision type: string x-enum-varnames: - - ASSETS - SBOMAttributes: - description: The JSON:API attributes of the SBOM. + - AI_RULE_REVISION + AiCustomRuleRevisionRequestAttributes: + description: Attributes for creating an AI custom rule revision. properties: - bomFormat: - description: >- - Specifies the format of the BOM. This helps to identify the file as - CycloneDX since BOM do not have a filename convention nor does JSON - schema support namespaces. This value MUST be `CycloneDX`. - example: CycloneDX + category: + $ref: '#/components/schemas/CustomRuleRevisionAttributesCategory' + content: + description: Base64-encoded AI model content for this revision. + example: Content type: string - components: - description: A list of software and hardware components. + cwe: + description: The associated CWE identifier. + example: '79' + nullable: true + type: string + description: + description: Base64-encoded full description. + example: Ruleset description + type: string + directories: + description: Directory patterns this rule applies to. + example: [] items: - $ref: '#/components/schemas/SBOMComponent' + type: string type: array - dependencies: - description: List of dependencies between components of the SBOM. + execution_mode: + $ref: '#/components/schemas/AiCustomRuleRevisionExecutionMode' + globs: + description: File glob patterns this rule applies to. + example: + - '**/*.py' items: - $ref: '#/components/schemas/SBOMComponentDependency' - type: array - metadata: - $ref: '#/components/schemas/SBOMMetadata' - serialNumber: - description: >- - Every BOM generated has a unique serial number, even if the contents - of the BOM have not changed overt time. The serial number follows - [RFC-4122](https://datatracker.ietf.org/doc/html/rfc4122) - example: urn:uuid:f7119d2f-1vgh-24b5-91f0-12010db72da7 + type: string + type: array + is_published: + description: Whether this revision is published. + example: false + type: boolean + is_testing: + description: Whether this revision is for testing only. + example: false + type: boolean + severity: + $ref: '#/components/schemas/CustomRuleRevisionAttributesSeverity' + short_description: + description: Base64-encoded short description. + example: Ruleset short description type: string - specVersion: - $ref: '#/components/schemas/SpecVersion' - version: - description: It increments when a BOM is modified. The default value is 1. + version_id: + description: The version identifier for this revision. example: 1 format: int64 type: integer required: - - bomFormat - - specVersion - - components - - metadata - - serialNumber - - version - - dependencies + - short_description + - description + - content + - globs + - directories + - execution_mode + - severity + - category + - is_published + - is_testing type: object - SBOMType: - description: The JSON:API type. + SastRulesetDataAttributes: + description: The attributes of a SAST ruleset, including its name, description, and rules. + properties: + description: + description: A detailed description of the ruleset's purpose and the types of issues it targets. + example: A collection of Python best practice rules. + type: string + name: + description: The unique name of the ruleset. + example: python-best-practices + type: string + rules: + description: The list of static analysis rules included in this ruleset. + items: + $ref: '#/components/schemas/GetMultipleRulesetsResponseDataAttributesRulesetsItemsRulesItems' + type: array + short_description: + description: A brief summary of the ruleset, suitable for display in listings. + example: Python best practices ruleset. + type: string + required: + - name + - short_description + - description + - rules + type: object + GetMultipleRulesetsResponseDataAttributesRulesetsItemsDataType: + default: rulesets + description: Rulesets resource type. enum: - - sboms - example: sboms + - rulesets + example: rulesets type: string x-enum-varnames: - - SBOMS - NotificationRuleAttributes: - description: Attributes of the notification rule. + - RULESETS + CustomRulesetAttributes: + description: Attributes of a custom ruleset, including its name, description, and rules. properties: created_at: - $ref: '#/components/schemas/Date' + description: Creation timestamp + example: '2026-01-09T13:00:57.473141Z' + format: date-time + type: string created_by: - $ref: '#/components/schemas/RuleUser' - enabled: - $ref: '#/components/schemas/Enabled' - modified_at: - $ref: '#/components/schemas/Date' - modified_by: - $ref: '#/components/schemas/RuleUser' + description: Creator identifier + example: foobarbaz + type: string + description: + description: Base64-encoded full description + example: bG9uZyBkZXNjcmlwdGlvbg== + type: string name: - $ref: '#/components/schemas/RuleName' - selectors: - $ref: '#/components/schemas/Selectors' - targets: - $ref: '#/components/schemas/Targets' - time_aggregation: - $ref: '#/components/schemas/TimeAggregation' - version: - $ref: '#/components/schemas/Version' + description: Ruleset name + example: my-ruleset + type: string + rules: + description: Rules in the ruleset + items: + $ref: '#/components/schemas/CustomRule' + nullable: true + type: array + short_description: + description: Base64-encoded short description + example: c2hvcnQgZGVzY3JpcHRpb24= + type: string required: + - name + - short_description + - description - created_at - created_by - - enabled - - modified_at - - modified_by - - name - - selectors - - targets - - version + - rules type: object - ID: - description: The ID of a notification rule. - example: aaa-bbb-ccc - type: string - NotificationRulesType: - description: The rule type associated to notification rules. + CustomRulesetDataType: + description: Resource type enum: - - notification_rules - example: notification_rules + - custom_ruleset + example: custom_ruleset type: string x-enum-varnames: - - NOTIFICATION_RULES - CreateNotificationRuleParametersDataAttributes: - description: Attributes of the notification rule create request. + - CUSTOM_RULESET + CustomRulesetRequestDataAttributes: + description: Attributes for creating or updating a custom ruleset. properties: - enabled: - $ref: '#/components/schemas/Enabled' + description: + description: Base64-encoded full description + type: string name: - $ref: '#/components/schemas/RuleName' - selectors: - $ref: '#/components/schemas/Selectors' - targets: - $ref: '#/components/schemas/Targets' - time_aggregation: - $ref: '#/components/schemas/TimeAggregation' - required: - - selectors - - name - - targets + description: Ruleset name + type: string + rules: + description: Rules in the ruleset + items: + $ref: '#/components/schemas/CustomRule' + nullable: true + type: array + short_description: + description: Base64-encoded short description + type: string type: object - PatchNotificationRuleParametersDataAttributes: - description: >- - Attributes of the notification rule patch request. It is required to - update the version of the rule when patching it. + CustomRuleRequestDataAttributes: + description: Attributes for creating or updating a custom rule. properties: - enabled: - $ref: '#/components/schemas/Enabled' name: - $ref: '#/components/schemas/RuleName' - selectors: - $ref: '#/components/schemas/Selectors' - targets: - $ref: '#/components/schemas/Targets' - time_aggregation: - $ref: '#/components/schemas/TimeAggregation' - version: - $ref: '#/components/schemas/Version' + description: Rule name + type: string type: object - VulnerabilityAttributes: - description: The JSON:API attributes of the vulnerability. + CustomRuleDataType: + description: Resource type + enum: + - custom_rule + example: custom_rule + type: string + x-enum-varnames: + - CUSTOM_RULE + CustomRule: + description: A custom static analysis rule within a ruleset. properties: - advisory_id: - description: Vulnerability advisory ID. - example: TRIVY-CVE-2023-0615 + created_at: + description: Creation timestamp + example: '2026-01-09T13:00:57.473141Z' + format: date-time type: string - code_location: - $ref: '#/components/schemas/CodeLocation' - cve_list: - description: Vulnerability CVE list. - example: - - CVE-2023-0615 + created_by: + description: Creator identifier + example: foobarbaz + type: string + last_revision: + $ref: '#/components/schemas/CustomRuleRevision' + description: Most recent revision + nullable: true + name: + description: Rule name + example: my-rule + type: string + required: + - name + - created_at + - created_by + - last_revision + type: object + CustomRuleRevisionAttributes: + description: Attributes of a custom rule revision, including code, metadata, and test cases. + properties: + arguments: + description: Rule arguments items: - example: CVE-2023-0615 - type: string + $ref: '#/components/schemas/Argument' type: array - cvss: - $ref: '#/components/schemas/VulnerabilityCvss' - dependency_locations: - $ref: '#/components/schemas/VulnerabilityDependencyLocations' + category: + $ref: '#/components/schemas/CustomRuleRevisionAttributesCategory' + checksum: + description: Code checksum + example: 8a66c4e4e631099ad71be3c1ea3ea8fc2d57193e56db2c296e2dd8a508b26b99 + type: string + code: + description: Rule code + example: Y29uZHVjdG9yOgogICAgLSBkZXBsb3lfb25seTogdHJ1ZQ== + type: string + created_at: + description: Creation timestamp + example: '2026-01-09T13:00:57.473141Z' + format: date-time + type: string + created_by: + description: Creator identifier + example: foobarbaz + type: string + creation_message: + description: Revision creation message + example: Initial revision + type: string + cve: + description: Associated CVE + example: CVE-2024-1234 + nullable: true + type: string + cwe: + description: Associated CWE + example: CWE-79 + nullable: true + type: string description: - description: Vulnerability description. - example: >- - LDAP Injection is a security vulnerability that occurs when - untrusted user input is improperly handled and directly incorporated - into LDAP queries without appropriate sanitization or validation. - This vulnerability enables attackers to manipulate LDAP queries and - potentially gain unauthorized access, modify data, or extract - sensitive information from the directory server. By exploiting the - LDAP injection vulnerability, attackers can execute malicious - commands, bypass authentication mechanisms, and perform unauthorized - actions within the directory service. + description: Full description + example: bG9uZyBkZXNjcmlwdGlvbg== type: string - ecosystem: - $ref: '#/components/schemas/VulnerabilityEcosystem' - exposure_time: - description: Vulnerability exposure time in seconds. - example: 5618604 - format: int64 - type: integer - first_detection: - description: >- - First detection of the vulnerability in [RFC - 3339](https://datatracker.ietf.org/doc/html/rfc3339) format - example: '2024-09-19T21:23:08.000Z' + documentation_url: + description: Documentation URL + example: https://docs.example.com/rules/my-rule + nullable: true type: string - fix_available: - description: Whether the vulnerability has a remediation or not. + is_published: + description: Whether the revision is published + example: false + type: boolean + is_testing: + description: Whether this is a testing revision example: false type: boolean language: - description: Vulnerability language. - example: ubuntu - type: string - last_detection: - description: >- - Last detection of the vulnerability in [RFC - 3339](https://datatracker.ietf.org/doc/html/rfc3339) format - example: '2024-09-01T21:23:08.000Z' + $ref: '#/components/schemas/Language' + severity: + $ref: '#/components/schemas/CustomRuleRevisionAttributesSeverity' + short_description: + description: Short description + example: c2hvcnQgZGVzY3JpcHRpb24= type: string - library: - $ref: '#/components/schemas/Library' - origin: - description: Vulnerability origin. + should_use_ai_fix: + description: Whether to use AI for fixes + example: false + type: boolean + tags: + description: Rule tags example: - - agentless-scanner + - security + - custom items: - example: agentless-scanner + description: A tag attached to the rule. type: string type: array - remediations: - description: List of remediations. - items: - $ref: '#/components/schemas/Remediation' - type: array - repo_digests: - description: >- - Vulnerability `repo_digest` list (when the vulnerability is related - to `Image` asset). + tests: + description: Rule tests items: - example: >- - sha256:0ae7da091191787229d321e3638e39c319a97d6e20f927d465b519d699215bf7 - type: string + $ref: '#/components/schemas/CustomRuleRevisionTest' type: array - risks: - $ref: '#/components/schemas/VulnerabilityRisks' - status: - $ref: '#/components/schemas/VulnerabilityStatus' - title: - description: Vulnerability title. - example: LDAP Injection + tree_sitter_query: + description: Tree-sitter query + example: Y29uZHVjdG9yOgogICAgLSBkZXBsb3lfb25seTogdHJ1ZQ== type: string - tool: - $ref: '#/components/schemas/VulnerabilityTool' - type: - $ref: '#/components/schemas/VulnerabilityType' required: - - type - - cvss - - status - - tool - - title + - creation_message + - short_description - description - - cve_list - - risks + - code + - checksum - language - - first_detection - - last_detection - - exposure_time - - remediations - - fix_available - - origin - type: object - VulnerabilityRelationships: - description: Related entities object. - properties: - affects: - $ref: '#/components/schemas/VulnerabilityRelationshipsAffects' - required: - - affects - type: object - VulnerabilitiesType: - description: The JSON:API type. + - tree_sitter_query + - created_at + - created_by + - severity + - category + - cve + - cwe + - arguments + - tests + - tags + - is_published + - should_use_ai_fix + - documentation_url + - is_testing + type: object + CustomRuleRevisionDataType: + description: Resource type enum: - - vulnerabilities - example: vulnerabilities + - custom_rule_revision + example: custom_rule_revision type: string - x-enum-varnames: - - VULNERABILITIES - CloudWorkloadSecurityAgentRuleAttributes: - description: A Cloud Workload Security Agent rule returned by the API - properties: - actions: - $ref: '#/components/schemas/CloudWorkloadSecurityAgentRuleActions' - agentConstraint: - description: The version of the Agent - type: string - blocking: - description: The blocking policies that the rule belongs to + x-enum-varnames: + - CUSTOM_RULE_REVISION + CustomRuleRevisionInputAttributes: + description: Input attributes for creating or updating a custom rule revision. + properties: + arguments: + description: Rule arguments items: - type: string + $ref: '#/components/schemas/Argument' type: array category: - description: The category of the Agent rule - example: Process Activity + $ref: '#/components/schemas/CustomRuleRevisionAttributesCategory' + code: + description: Rule code + example: Y29uZHVjdG9yOgogICAgLSBkZXBsb3lfb25seTogdHJ1ZQ== + type: string + creation_message: + description: Revision creation message + example: Initial revision + type: string + cve: + description: Associated CVE + example: CVE-2024-1234 + nullable: true type: string - creationAuthorUuId: - description: The ID of the user who created the rule - example: e51c9744-d158-11ec-ad23-da7ad0900002 + cwe: + description: Associated CWE + example: CWE-79 + nullable: true type: string - creationDate: - description: When the Agent rule was created, timestamp in milliseconds - example: 1624366480320 - format: int64 - type: integer - creator: - $ref: '#/components/schemas/CloudWorkloadSecurityAgentRuleCreatorAttributes' - defaultRule: - description: Whether the rule is included by default - example: false - type: boolean description: - description: The description of the Agent rule - example: My Agent rule + description: Full description + example: bG9uZyBkZXNjcmlwdGlvbg== type: string - disabled: - description: The disabled policies that the rule belongs to - items: - type: string - type: array - enabled: - description: Whether the Agent rule is enabled - example: true + documentation_url: + description: Documentation URL + example: https://docs.example.com/rules/my-rule + nullable: true + type: string + is_published: + description: Whether the revision is published + example: false type: boolean - expression: - description: The SECL expression of the Agent rule - example: exec.file.name == "sh" + is_testing: + description: Whether this is a testing revision + example: false + type: boolean + language: + $ref: '#/components/schemas/Language' + severity: + $ref: '#/components/schemas/CustomRuleRevisionAttributesSeverity' + short_description: + description: Short description + example: c2hvcnQgZGVzY3JpcHRpb24= type: string - filters: - description: The platforms the Agent rule is supported on + should_use_ai_fix: + description: Whether to use AI for fixes + example: false + type: boolean + tags: + description: Rule tags + example: + - security + - custom items: + description: A tag attached to the rule. type: string type: array - monitoring: - description: The monitoring policies that the rule belongs to + tests: + description: Rule tests items: - type: string + $ref: '#/components/schemas/CustomRuleRevisionTest' type: array - name: - description: The name of the Agent rule - example: my_agent_rule + tree_sitter_query: + description: Tree-sitter query + example: Y29uZHVjdG9yOgogICAgLSBkZXBsb3lfb25seTogdHJ1ZQ== type: string - product_tags: - description: The list of product tags associated with the rule - items: - type: string - type: array - updateAuthorUuId: - description: The ID of the user who updated the rule - example: e51c9744-d158-11ec-ad23-da7ad0900002 + required: + - creation_message + - short_description + - description + - code + - language + - tree_sitter_query + - severity + - category + - cve + - cwe + - arguments + - tests + - tags + - is_published + - should_use_ai_fix + - documentation_url + - is_testing + type: object + RevertCustomRuleRevisionRequestDataAttributes: + description: Attributes specifying the current and target revision IDs for a revert operation. + properties: + currentRevision: + description: Current revision ID + type: string + revertToRevision: + description: Target revision ID to revert to type: string - updateDate: - description: Timestamp in milliseconds when the Agent rule was last updated - example: 1624366480320 - format: int64 - type: integer - updatedAt: - description: When the Agent rule was last updated, timestamp in milliseconds - example: 1624366480320 - format: int64 - type: integer - updater: - $ref: '#/components/schemas/CloudWorkloadSecurityAgentRuleUpdaterAttributes' - version: - description: The version of the Agent rule - example: 23 - format: int64 - type: integer type: object - CloudWorkloadSecurityAgentRuleType: - default: agent_rule - description: The type of the resource, must always be `agent_rule` + RevertCustomRuleRevisionDataType: + description: Request type enum: - - agent_rule - example: agent_rule + - revert_custom_rule_revision_request type: string x-enum-varnames: - - AGENT_RULE - CloudWorkloadSecurityAgentRuleCreateAttributes: - description: Create a new Cloud Workload Security Agent rule. + - REVERT_CUSTOM_RULE_REVISION_REQUEST + DefaultRulesetsPerLanguageDataAttributes: + description: The attributes of the default rulesets per language response, containing the list of default ruleset names. properties: - actions: - $ref: '#/components/schemas/CloudWorkloadSecurityAgentRuleActions' - blocking: - description: The blocking policies that the rule belongs to + rulesets: + description: The list of default ruleset names for the specified programming language. + example: + - python-best-practices items: type: string type: array - description: - description: The description of the Agent rule. - example: My Agent rule - type: string - disabled: - description: The disabled policies that the rule belongs to + required: + - rulesets + type: object + DefaultRulesetsPerLanguageDataType: + default: defaultRulesetsPerLanguage + description: Default rulesets per language resource type. + enum: + - defaultRulesetsPerLanguage + example: defaultRulesetsPerLanguage + type: string + x-enum-varnames: + - DEFAULT_RULESETS_PER_LANGUAGE + GetMultipleRulesetsRequestDataAttributes: + description: The request attributes for fetching multiple rulesets, specifying which rulesets to retrieve and what data to include. + properties: + include_testing_rules: + description: When true, rules that are available in testing mode are included in the response. + type: boolean + include_tests: + description: When true, test cases associated with each rule are included in the response. + type: boolean + rulesets: + description: The list of ruleset names to retrieve. items: + description: The name of a ruleset to include in the batch request. type: string type: array - enabled: - description: Whether the Agent rule is enabled - example: true - type: boolean - expression: - description: The SECL expression of the Agent rule. - example: exec.file.name == "sh" - type: string - filters: - description: The platforms the Agent rule is supported on + type: object + GetMultipleRulesetsRequestDataType: + default: get_multiple_rulesets_request + description: Get multiple rulesets request resource type. + enum: + - get_multiple_rulesets_request + example: get_multiple_rulesets_request + type: string + x-enum-varnames: + - GET_MULTIPLE_RULESETS_REQUEST + GetMultipleRulesetsResponseDataAttributes: + description: The attributes of the get-multiple-rulesets response, containing the list of requested rulesets. + properties: + rulesets: + description: The list of rulesets returned in response to the batch request. items: - type: string + $ref: '#/components/schemas/GetMultipleRulesetsResponseDataAttributesRulesetsItems' type: array - monitoring: - description: The monitoring policies that the rule belongs to + type: object + GetMultipleRulesetsResponseDataType: + default: get_multiple_rulesets_response + description: Get multiple rulesets response resource type. + enum: + - get_multiple_rulesets_response + example: get_multiple_rulesets_response + type: string + x-enum-varnames: + - GET_MULTIPLE_RULESETS_RESPONSE + SecretRuleDataAttributes: + description: The attributes of a secret detection rule, including its pattern, priority, and validation configuration. + properties: + default_included_keywords: + description: A list of keywords that are included by default when scanning for secrets matching this rule. items: + description: A keyword used to narrow down secret detection to relevant contexts. type: string type: array + description: + description: A detailed explanation of what type of secret this rule detects. + type: string + license: + description: The license under which this secret rule is distributed. + type: string + match_validation: + $ref: '#/components/schemas/SecretRuleDataAttributesMatchValidation' name: - description: The name of the Agent rule. - example: my_agent_rule + description: The unique name of the secret detection rule. type: string - policy_id: - description: The ID of the policy where the Agent rule is saved - example: a8c8e364-6556-434d-b798-a4c23de29c0b + pattern: + description: The regular expression pattern used to identify potential secrets in source code or configuration. type: string - product_tags: - description: The list of product tags associated with the rule + priority: + description: The priority level of this rule, used to rank findings when multiple rules match. + type: string + sds_id: + description: The identifier of the corresponding Sensitive Data Scanner rule, if one exists. + type: string + validators: + description: A list of validator identifiers used to further confirm a detected secret is genuine. items: + description: A validator identifier applied to refine secret detection accuracy. type: string type: array + type: object + SecretRuleDataType: + default: secret_rule + description: Secret rule resource type. + enum: + - secret_rule + example: secret_rule + type: string + x-enum-varnames: + - SECRET_RULE + AnalysisRequestDataAttributes: + description: The attributes of the analysis request, containing the source code and rules to apply. + properties: + code: + description: The base64-encoded source code to analyze. + example: aW1wb3J0IHN5cw== + type: string + file_encoding: + description: The encoding of the source code file (must be `utf-8`). + example: utf-8 + type: string + filename: + description: The name of the file being analyzed. + example: test.py + type: string + language: + description: The programming language of the source code. + example: python + type: string + rules: + description: The list of static analysis rules to apply during analysis. + items: + $ref: '#/components/schemas/AnalysisRequestRule' + type: array required: - - name - - expression + - code + - file_encoding + - filename + - language + - rules type: object - CloudWorkloadSecurityAgentRuleUpdateAttributes: - description: Update an existing Cloud Workload Security Agent rule + AnalysisRequestDataType: + default: analysis_request + description: Analysis request resource type. + enum: + - analysis_request + example: analysis_request + type: string + x-enum-varnames: + - ANALYSIS_REQUEST + AnalysisResponseDataAttributes: + description: The attributes of the analysis response, containing rule results and any top-level errors. properties: - actions: - $ref: '#/components/schemas/CloudWorkloadSecurityAgentRuleActions' - blocking: - description: The blocking policies that the rule belongs to + errors: + description: Top-level error messages encountered during the analysis operation. + example: [] items: type: string type: array - description: - description: The description of the Agent rule - example: My Agent rule - type: string - disabled: - description: The disabled policies that the rule belongs to + rule_responses: + description: The list of results for each static analysis rule applied during analysis. items: - type: string + $ref: '#/components/schemas/AnalysisRuleResponse' type: array - enabled: - description: Whether the Agent rule is enabled - example: true - type: boolean - expression: - description: The SECL expression of the Agent rule - example: exec.file.name == "sh" + required: + - rule_responses + - errors + type: object + AnalysisResponseDataType: + default: server_request + description: Analysis response resource type. + enum: + - server_request + example: server_request + type: string + x-enum-varnames: + - SERVER_REQUEST + GetAstRequestDataAttributes: + description: The attributes of the get-AST request, containing the source code to parse. + properties: + code: + description: The base64-encoded source code to parse into an abstract syntax tree. + example: aW1wb3J0IHN5cw== type: string - monitoring: - description: The monitoring policies that the rule belongs to + file_encoding: + description: The encoding of the source code file (must be utf-8). + example: utf-8 + type: string + language: + description: The programming language of the source code to parse. + example: python + type: string + required: + - code + - file_encoding + - language + type: object + GetAstRequestDataType: + default: get_ast_request + description: Get AST request resource type. + enum: + - get_ast_request + example: get_ast_request + type: string + x-enum-varnames: + - GET_AST_REQUEST + GetAstResponseDataAttributes: + description: The attributes of the get-AST response, containing the parsed abstract syntax tree. + properties: + ast: + additionalProperties: {} + description: The parsed abstract syntax tree as a JSON object. + type: object + required: + - ast + type: object + GetAstResponseDataType: + default: get_ast_response + description: Get AST response resource type. + enum: + - get_ast_response + example: get_ast_response + type: string + x-enum-varnames: + - GET_AST_RESPONSE + NodeTypesResponseDataAttributes: + description: The attributes of the node types response, containing the list of node type definitions for the requested language. + properties: + node_types: + description: The list of tree-sitter node type definitions for the language. items: - type: string + $ref: '#/components/schemas/NodeType' type: array - policy_id: - description: The ID of the policy where the Agent rule is saved - example: a8c8e364-6556-434d-b798-a4c23de29c0b - type: string - product_tags: - description: The list of product tags associated with the rule + required: + - node_types + type: object + NodeTypesResponseDataType: + default: get_node_types_response + description: Get node types response resource type. + enum: + - get_node_types_response + example: get_node_types_response + type: string + x-enum-varnames: + - GET_NODE_TYPES_RESPONSE + CustomFrameworkRequirement: + description: Framework Requirement. + properties: + controls: + description: Requirement Controls. items: - type: string + $ref: '#/components/schemas/CustomFrameworkControl' type: array + name: + description: Requirement Name. + example: criteria + type: string + required: + - name + - controls + type: object + RuleBasedViewRules: + description: List of rules in the rule-based view. + items: + $ref: '#/components/schemas/RuleBasedViewRule' + type: array + CsmCoverageAnalysis: + description: CSM Coverage Analysis. + properties: + configured_resources_count: + description: The number of fully configured resources. + example: 8 + format: int64 + type: integer + coverage: + description: The coverage percentage. + example: 0.8 + format: double + type: number + partially_configured_resources_count: + description: The number of partially configured resources. + example: 0 + format: int64 + type: integer + total_resources_count: + description: The total number of resources. + example: 10 + format: int64 + type: integer type: object - CloudWorkloadSecurityAgentRuleID: - description: The ID of the Agent rule - example: 3dd-0uc-h1s + OwnershipConfidenceLevel: + description: The ownership confidence level. + enum: + - high + - medium + - low + example: high type: string - SecurityFilterAttributes: - description: The object describing a security filter. + x-enum-varnames: + - HIGH + - MEDIUM + - LOW + OwnershipInferenceItems: + description: The list of inferences for a resource, with one inference per owner type. + items: + $ref: '#/components/schemas/OwnershipInferenceItem' + type: array + OwnershipHistoryItems: + description: The list of history entries returned for this page. + items: + $ref: '#/components/schemas/OwnershipHistoryItem' + type: array + OwnershipHistoryPagination: + description: Cursor-based pagination metadata for the history response. properties: - exclusion_filters: - description: The list of exclusion filters applied in this security filter. - items: - $ref: '#/components/schemas/SecurityFilterExclusionFilterResponse' - type: array - filtered_data_type: - $ref: '#/components/schemas/SecurityFilterFilteredDataType' - is_builtin: - description: Whether the security filter is the built-in filter. + has_more: + description: Whether more history entries are available beyond this page. example: false type: boolean - is_enabled: - description: Whether the security filter is enabled. - example: false - type: boolean - name: - description: The security filter name. - example: Custom security filter - type: string - query: - description: >- - The security filter query. Logs accepted by this query will be - accepted by this filter. - example: service:api + next_cursor: + description: An opaque, base64-encoded cursor token. Pass it as the `cursor` query parameter to retrieve the next page. Absent or `null` when there are no further pages. + example: eyJpZCI6OTh9 + nullable: true type: string - version: - description: The version of the security filter. - example: 1 - format: int32 - maximum: 2147483647 - type: integer + required: + - has_more type: object - SecurityFilterID: - description: The ID of the security filter. - example: 3dd-0uc-h1s + OwnershipEvidenceVersions: + description: The list of evidence versions associated with an inference. + example: + - pipeline_id: p1 + version: v3 + items: + $ref: '#/components/schemas/OwnershipEvidenceVersion' + nullable: true + type: array + OwnershipInferenceSources: + description: The list of sources backing an ownership inference. Empty when the inference status is not whitelisted to expose sources. + example: + - kind: code_owners + items: + $ref: '#/components/schemas/OwnershipInferenceSource' + type: array + OwnershipInferenceStatus: + description: The lifecycle status of an ownership inference. + enum: + - suggested + - persisted + - overridden + - failed + - unknown + example: suggested type: string - SecurityFilterType: - default: security_filters - description: The type of the resource. The value should always be `security_filters`. + x-enum-varnames: + - SUGGESTED + - PERSISTED + - OVERRIDDEN + - FAILED + - UNKNOWN + OwnershipFeedbackAction: + description: The feedback action to apply to an inference. enum: - - security_filters - example: security_filters + - confirm + - reject + - correct + - persist + example: confirm type: string x-enum-varnames: - - SECURITY_FILTERS - SecurityFilterCreateAttributes: - description: Object containing the attributes of the security filter to be created. + - CONFIRM + - REJECT + - CORRECT + - PERSIST + CsmAgentlessHostAttributes: + description: Attributes of an agentless host. properties: - exclusion_filters: - description: Exclusion filters to exclude some logs from the security filter. - example: - - name: Exclude staging - query: source:staging - items: - $ref: '#/components/schemas/SecurityFilterExclusionFilter' - type: array - filtered_data_type: - $ref: '#/components/schemas/SecurityFilterFilteredDataType' - is_enabled: - description: Whether the security filter is enabled. + account_id: + description: The ID of the cloud account that the host belongs to. + example: '123456789012' + type: string + cloud_provider: + $ref: '#/components/schemas/CsmCloudProvider' + has_posture_management: + description: Whether CSM Misconfigurations is enabled for this host. `true` if enabled; `false` if disabled. example: true type: boolean - name: - description: The name of the security filter. - example: Custom security filter - type: string - query: - description: The query of the security filter. - example: service:api - type: string + has_vulnerability_scanning: + description: Whether CSM Vulnerabilities is enabled for this host. `true` if enabled; `false` if disabled. + example: true + type: boolean + resource_type: + $ref: '#/components/schemas/CsmAgentlessHostResourceType' required: - - name - - query - - exclusion_filters - - filtered_data_type - - is_enabled + - account_id + - cloud_provider + - resource_type + - has_posture_management + - has_vulnerability_scanning type: object - SecurityFilterUpdateAttributes: - description: The security filters properties to be updated. + CsmAgentlessHostType: + default: agentless_host + description: The JSON:API type for agentless host resources. The value should always be `agentless_host`. + enum: + - agentless_host + example: agentless_host + type: string + x-enum-varnames: + - AGENTLESS_HOST + CsmHostFacetInfoItems: + description: The list of facet value entries for the current page. + items: + $ref: '#/components/schemas/CsmHostFacetInfoItem' + type: array + CsmAgentlessHostFacetAttributes: + description: Attributes of an agentless host facet. properties: - exclusion_filters: - description: Exclusion filters to exclude some logs from the security filter. - example: [] - items: - $ref: '#/components/schemas/SecurityFilterExclusionFilter' - type: array - filtered_data_type: - $ref: '#/components/schemas/SecurityFilterFilteredDataType' - is_enabled: - description: Whether the security filter is enabled. + bounded: + description: Whether the facet has a bounded set of allowed values. `true` indicates a fixed value set and `false` indicates free-form values. example: true type: boolean + bundled: + description: Whether the facet is bundled as part of the default facet set. `true` indicates bundled and `false` indicates custom. + example: true + type: boolean + bundledAndUsed: + description: Whether the facet is both bundled and actively used. `true` indicates in use; `false` indicates unused. + example: true + type: boolean + defaultValues: + $ref: '#/components/schemas/CsmHostFacetDefaultValues' + description: + description: A human-readable description of what the facet represents. + example: The cloud provider of the resource + type: string + editable: + description: Whether the facet can be edited by users. `true` indicates editable; `false` indicates read-only. + example: false + type: boolean + facetType: + description: The UI display type for the facet, such as `list`. + example: list + type: string + groups: + $ref: '#/components/schemas/CsmHostFacetGroups' name: - description: The name of the security filter. - example: Custom security filter + description: The display name of the facet. + example: Cloud Provider type: string - query: - description: The query of the security filter. - example: service:api + path: + description: The field path used when filtering by this facet. + example: cloud_provider type: string - version: - description: The version of the security filter to update. - example: 1 - format: int32 - maximum: 2147483647 - type: integer + source: + description: The data source that provides the facet values. + example: core + type: string + type: + description: The data type of the facet values. + example: string + type: string + values: + $ref: '#/components/schemas/CsmHostFacetValues' + required: + - name + - path + - description + - groups + - bounded + - bundled + - bundledAndUsed + - defaultValues + - editable + - facetType + - source + - type + - values type: object - SecurityMonitoringSuppressionAttributes: - description: The attributes of the suppression rule. + CsmAgentlessHostFacetType: + default: agentless_host_facet + description: The JSON:API type for agentless host facet resources. The value should always be `agentless_host_facet`. + enum: + - agentless_host_facet + example: agentless_host_facet + type: string + x-enum-varnames: + - AGENTLESS_HOST_FACET + CsmUnifiedHostAttributes: + description: Attributes of a unified host, combining data from agent and agentless sources. properties: - creation_date: - description: >- - A Unix millisecond timestamp given the creation date of the - suppression rule. - format: int64 - type: integer - creator: - $ref: '#/components/schemas/SecurityMonitoringUser' - data_exclusion_query: - description: >- - An exclusion query on the input data of the security rules, which - could be logs, Agent events, or other types of data based on the - security rule. Events matching this query are ignored by any - detection rules referenced in the suppression rule. - example: source:cloudtrail account_id:12345 - type: string - description: - description: A description for the suppression rule. - example: This rule suppresses low-severity signals in staging environments. + account_id: + description: The ID of the cloud account that the host belongs to. Present only when the host was discovered through agentless scanning. + example: '123456789012' + nullable: true type: string - editable: - description: Whether the suppression rule is editable. + agent_csm_vm_containers_enabled: + description: Whether CSM Vulnerabilities is enabled for containers through the Datadog Agent. `true` if enabled; `false` if disabled. + example: false + nullable: true + type: boolean + agent_csm_vm_hosts_enabled: + description: Whether CSM Vulnerabilities is enabled for hosts through the Datadog Agent. `true` if enabled; `false` if disabled. example: true + nullable: true type: boolean - enabled: - description: Whether the suppression rule is enabled. + agent_cws_enabled: + description: Whether CSM Threats is enabled for this host through the Datadog Agent. `true` if enabled; `false` if disabled. + example: false + nullable: true + type: boolean + agent_posture_management: + description: Whether CSM Misconfigurations is enabled for this host through the Datadog Agent. `true` if enabled; `false` if disabled. example: true + nullable: true type: boolean - expiration_date: - description: >- - A Unix millisecond timestamp giving an expiration date for the - suppression rule. After this date, it won't suppress signals - anymore. - example: 1703187336000 - format: int64 - type: integer - name: - description: The name of the suppression rule. - example: Custom suppression + agent_version: + description: The version of the Datadog Agent running on this host. + example: 7.50.0 + nullable: true type: string - rule_query: - description: >- - The rule query of the suppression rule, with the same syntax as the - search bar for detection rules. - example: type:log_detection source:cloudtrail + agentless_posture_management: + description: Whether CSM Misconfigurations is enabled for this host via agentless scanning. `true` if enabled; `false` if disabled. + example: false + nullable: true + type: boolean + agentless_vulnerability_scanning: + description: Whether CSM Vulnerabilities is enabled for this host via agentless scanning. `true` if enabled; `false` if disabled. + example: true + nullable: true + type: boolean + cloud_provider: + $ref: '#/components/schemas/CsmCloudProvider' + cluster_name: + description: The name of the Kubernetes cluster the host belongs to, if applicable. + example: my-cluster + nullable: true type: string - start_date: - description: >- - A Unix millisecond timestamp giving the start date for the - suppression rule. After this date, it starts suppressing signals. - example: 1703187336000 - format: int64 - type: integer - suppression_query: - description: >- - The suppression query of the suppression rule. If a signal matches - this query, it is suppressed and not triggered. Same syntax as the - queries to search signals in the signal explorer. - example: env:staging status:low + datadog_agent_key: + description: The Datadog Agent key associated with this host. Present only for agent-sourced hosts. + example: key123 + nullable: true type: string - update_date: - description: >- - A Unix millisecond timestamp given the update date of the - suppression rule. + env: + description: The list of environment tags associated with this host. + example: + - prod + items: + type: string + nullable: true + type: array + host_id: + description: The internal Datadog host identifier. Present only for agent-sourced hosts. + example: 12345678 format: int64 + nullable: true type: integer - updater: - $ref: '#/components/schemas/SecurityMonitoringUser' - version: - description: >- - The version of the suppression rule; it starts at 1, and is - incremented at each update. - example: 42 - format: int32 - maximum: 2147483647 - type: integer + install_method_tool: + description: The tool used to install the Datadog Agent on this host. + example: helm + nullable: true + type: string + os: + description: The operating system of the host. Present only for agent-sourced hosts. + example: linux + nullable: true + type: string + resource_type: + $ref: '#/components/schemas/CsmAgentlessHostResourceType' + source: + $ref: '#/components/schemas/CsmUnifiedHostSource' + required: + - source + type: object + CsmUnifiedHostType: + default: unified_host + description: The JSON:API type for unified host resources. The value should always be `unified_host`. + enum: + - unified_host + example: unified_host + type: string + x-enum-varnames: + - UNIFIED_HOST + CsmUnifiedHostFacetType: + default: unified_host_facet + description: The JSON:API type for unified host facet resources. The value should always be `unified_host_facet`. + enum: + - unified_host_facet + example: unified_host_facet + type: string + x-enum-varnames: + - UNIFIED_HOST_FACET + FindingAttributes: + description: The JSON:API attributes of the finding. + properties: + datadog_link: + $ref: '#/components/schemas/FindingDatadogLink' + description: + $ref: '#/components/schemas/FindingDescription' + evaluation: + $ref: '#/components/schemas/FindingEvaluation' + evaluation_changed_at: + $ref: '#/components/schemas/FindingEvaluationChangedAt' + external_id: + $ref: '#/components/schemas/FindingExternalId' + mute: + $ref: '#/components/schemas/FindingMute' + resource: + $ref: '#/components/schemas/FindingResource' + resource_discovery_date: + $ref: '#/components/schemas/FindingResourceDiscoveryDate' + resource_type: + $ref: '#/components/schemas/FindingResourceType' + rule: + $ref: '#/components/schemas/FindingRule' + status: + $ref: '#/components/schemas/FindingStatus' + tags: + $ref: '#/components/schemas/FindingTags' + vulnerability_type: + $ref: '#/components/schemas/FindingVulnerabilityType' type: object - SecurityMonitoringSuppressionID: - description: The ID of the suppression rule. - example: 3dd-0uc-h1s - type: string - SecurityMonitoringSuppressionType: - default: suppressions - description: The type of the resource. The value should always be `suppressions`. + FindingType: + default: finding + description: The JSON:API type for findings. enum: - - suppressions - example: suppressions + - finding + example: finding type: string x-enum-varnames: - - SUPPRESSIONS - SecurityMonitoringSuppressionCreateAttributes: - description: Object containing the attributes of the suppression rule to be created. + - FINDING + FindingEvaluationChangedAt: + description: The date on which the evaluation for this finding changed (Unix ms). + example: 1678721573794 + format: int64 + minimum: 1 + type: integer + FindingMute: + additionalProperties: false + description: Information about the mute status of this finding. properties: - data_exclusion_query: - description: >- - An exclusion query on the input data of the security rules, which - could be logs, Agent events, or other types of data based on the - security rule. Events matching this query are ignored by any - detection rules referenced in the suppression rule. - example: source:cloudtrail account_id:12345 - type: string description: - description: A description for the suppression rule. - example: This rule suppresses low-severity signals in staging environments. + description: Additional information about the reason why this finding is muted or unmuted. + example: To be resolved later type: string - enabled: - description: Whether the suppression rule is enabled. - example: true - type: boolean expiration_date: - description: >- - A Unix millisecond timestamp giving an expiration date for the - suppression rule. After this date, it won't suppress signals - anymore. - example: 1703187336000 + description: The expiration date of the mute or unmute action (Unix ms). + example: 1778721573794 format: int64 type: integer - name: - description: The name of the suppression rule. - example: Custom suppression - type: string - rule_query: - description: >- - The rule query of the suppression rule, with the same syntax as the - search bar for detection rules. - example: type:log_detection source:cloudtrail - type: string + muted: + description: Whether this finding is muted or unmuted. + example: true + type: boolean + reason: + $ref: '#/components/schemas/FindingMuteReason' start_date: - description: >- - A Unix millisecond timestamp giving the start date for the - suppression rule. After this date, it starts suppressing signals. - example: 1703187336000 + description: The start of the mute period. + example: 1678721573794 format: int64 type: integer - suppression_query: - description: >- - The suppression query of the suppression rule. If a signal matches - this query, it is suppressed and is not triggered. It uses the same - syntax as the queries to search signals in the Signals Explorer. - example: env:staging status:low + uuid: + description: The ID of the user who muted or unmuted this finding. + example: e51c9744-d158-11ec-ad23-da7ad0900002 type: string - required: - - name - - enabled - - rule_query type: object - SecurityMonitoringRuleCaseCreate: - description: Case when signal is generated. + FindingResource: + description: The resource name of this finding. + example: my_resource_name + type: string + FindingResourceDiscoveryDate: + description: The date on which the resource was discovered (Unix ms). + example: 1678721573794 + format: int64 + minimum: 1 + type: integer + FindingResourceType: + description: The resource type of this finding. + example: azure_storage_account + type: string + FindingRule: + additionalProperties: false + description: The rule that triggered this finding. properties: - actions: - description: Action to perform for each rule case. - items: - $ref: '#/components/schemas/SecurityMonitoringRuleCaseAction' - type: array - condition: - description: >- - A case contains logical operations (`>`,`>=`, `&&`, `||`) to - determine if a signal should be generated - - based on the event counts in the previously defined queries. + id: + description: The ID of the rule that triggered this finding. + example: dv2-jzf-41i type: string name: - description: Name of the case. + description: The name of the rule that triggered this finding. + example: Soft delete is enabled for Azure Storage type: string - notifications: - description: Notification targets. - items: - description: Notification. - type: string - type: array - status: - $ref: '#/components/schemas/SecurityMonitoringRuleSeverity' + type: object + FindingTags: + description: The tags associated with this finding. + example: + - cloud_provider:aws + - myTag:myValue + items: + description: The list of tags. + type: string + type: array + SecurityEntityConfigRisks: + description: Configuration risks associated with the entity + properties: + hasIdentityRisk: + description: Whether the entity has identity risks + example: false + type: boolean + hasMisconfiguration: + description: Whether the entity has misconfigurations + example: true + type: boolean + hasPrivilegedRole: + description: Whether the entity has privileged roles + example: true + type: boolean + isPrivileged: + description: Whether the entity has privileged access + example: false + type: boolean + isProduction: + description: Whether the entity is in a production environment + example: true + type: boolean + isPubliclyAccessible: + description: Whether the entity is publicly accessible + example: true + type: boolean required: - - status + - hasMisconfiguration + - hasIdentityRisk + - isPubliclyAccessible + - isProduction + - hasPrivilegedRole + - isPrivileged type: object - SecurityMonitoringStandardRuleQuery: - description: Query for matching rule. + SecurityEntityMetadata: + description: Metadata about the entity from cloud providers properties: - aggregation: - $ref: '#/components/schemas/SecurityMonitoringRuleQueryAggregation' - customQueryExtension: - description: Query extension to append to the logs query. - example: a > 3 + accountID: + description: Cloud account ID (AWS) + example: '123456789012' type: string - dataSource: - $ref: '#/components/schemas/SecurityMonitoringStandardDataSource' - distinctFields: - description: Field for which the cardinality is measured. Sent as an array. - items: - description: Field. - type: string - type: array - groupByFields: - description: Fields to group by. + environments: + description: Environment tags associated with the entity + example: + - production + - us-east-1 items: - description: Field. + description: An environment tag associated with the entity. type: string type: array - hasOptionalGroupByFields: - default: false - description: >- - When false, events without a group-by value are ignored by the rule. - When true, events with missing group-by fields are processed with - `N/A`, replacing the missing values. - example: false - type: boolean - index: - description: >- - **This field is currently unstable and might be removed in a minor - version upgrade.** - - The index to run the query on, if the `dataSource` is `logs`. Only - used for scheduled rules - in other words, when the - `schedulingOptions` field is present in the rule payload. - type: string - metric: - deprecated: true - description: >- - (Deprecated) The target field to aggregate over when using the sum - or max - - aggregations. `metrics` field should be used instead. - type: string - metrics: - description: >- - Group of target fields to aggregate over when using the sum, max, - geo data, or new value aggregations. The sum, max, and geo data - aggregations only accept one value in this list, whereas the new - value aggregation accepts up to five values. + mitreTactics: + description: MITRE ATT&CK tactics detected + example: + - Credential Access + - Privilege Escalation items: - description: Field. + description: Detected MITRE ATT&CK tactic type: string type: array - name: - description: Name of the query. - type: string - query: - description: Query to run on logs. - example: a > 3 - type: string - type: object - SecurityMonitoringThirdPartyRuleCaseCreate: - description: Case when a signal is generated by a third party rule. - properties: - name: - description: Name of the case. - type: string - notifications: - description: Notification targets for each case. + mitreTechniques: + description: MITRE ATT&CK techniques detected + example: + - T1078 + - T1098 items: - description: Notification. + description: Detected MITRE ATT&CK technique type: string type: array - query: - description: A query to map a third party event to this case. + projectID: + description: Cloud project ID (GCP) + example: my-gcp-project type: string - status: - $ref: '#/components/schemas/SecurityMonitoringRuleSeverity' - required: - - status - type: object - SecurityMonitoringRuleTypeCreate: - description: The rule type. - enum: - - api_security - - application_security - - log_detection - - workload_security - type: string - x-enum-varnames: - - API_SECURITY - - APPLICATION_SECURITY - - LOG_DETECTION - - WORKLOAD_SECURITY - SecurityMonitoringSignalRuleQuery: - description: Query for matching rule on signals. - properties: - aggregation: - $ref: '#/components/schemas/SecurityMonitoringRuleQueryAggregation' - correlatedByFields: - description: Fields to group by. + services: + description: Services associated with the entity + example: + - api-gateway + - lambda items: - description: Field. + description: A service name associated with the entity. type: string type: array - correlatedQueryIndex: - description: Index of the rule query used to retrieve the correlated field. - format: int32 - maximum: 9 - type: integer - metrics: - description: Group of target fields to aggregate over. + sources: + description: Data sources that detected this entity + example: + - cloudtrail + - cloud-security-posture-management items: - description: Field. + description: A data source identifier. type: string type: array - name: - description: Name of the query. - type: string - ruleId: - description: Rule ID to match on signals. - example: org-ru1-e1d + subscriptionID: + description: Cloud subscription ID (Azure) + example: a1b2c3d4-e5f6-7890-abcd-ef1234567890 type: string required: - - ruleId + - sources + - environments + - services + - mitreTactics + - mitreTechniques type: object - SecurityMonitoringSignalRuleType: - description: The rule type. + SecurityEntityRiskScoreAttributesSeverity: + description: Severity level based on risk score enum: - - signal_correlation + - critical + - high + - medium + - low + - info + example: critical type: string x-enum-varnames: - - SIGNAL_CORRELATION - CloudConfigurationRuleCaseCreate: - description: Description of signals. + - CRITICAL + - HIGH + - MEDIUM + - LOW + - INFO + Findings: + description: A list of security findings. properties: - notifications: - description: Notification targets for each rule case. + data: + description: Array of security finding data objects. items: - description: Notification. - type: string + $ref: '#/components/schemas/FindingData' type: array - status: - $ref: '#/components/schemas/SecurityMonitoringRuleSeverity' - required: - - status type: object - CloudConfigurationRuleOptions: - description: Options on cloud configuration rules. + DueDateRuleAction: + description: The action to take when the due date rule matches a finding. properties: - complianceRuleOptions: - $ref: '#/components/schemas/CloudConfigurationComplianceRuleOptions' + due_days_per_severity: + $ref: '#/components/schemas/DueDatePerSeverityList' + due_from: + $ref: '#/components/schemas/DueDateFrom' + reason_description: + description: An optional description providing more context for the due date assignment. + example: Applied for production findings only + maxLength: 20000 + type: string required: - - complianceRuleOptions + - due_days_per_severity + - due_from type: object - CloudConfigurationRuleType: - description: The rule type. - enum: - - cloud_configuration - type: string - x-enum-varnames: - - CLOUD_CONFIGURATION - SecurityMonitoringSuppressionUpdateAttributes: - description: The suppression rule properties to be updated. + AutomationRuleScope: + description: Defines the scope of findings to which the automation rule applies. properties: - data_exclusion_query: - description: >- - An exclusion query on the input data of the security rules, which - could be logs, Agent events, or other types of data based on the - security rule. Events matching this query are ignored by any - detection rules referenced in the suppression rule. - example: source:cloudtrail account_id:12345 + finding_types: + $ref: '#/components/schemas/SecurityFindingTypes' + query: + description: A search query to further filter the findings matched by this rule. The `@workflow.*` namespace and `@status` fields are not permitted. For a reference of available fields, see the [Security Findings schema documentation](https://docs.datadoghq.com/security/guide/findings-schema/). + example: env:prod team:platform + maxLength: 30000 type: string - description: - description: A description for the suppression rule. - example: This rule suppresses low-severity signals in staging environments. + required: + - finding_types + type: object + AutomationRuleCreatedBy: + description: The user or Datadog system who created the rule. + properties: + id: + description: The actor's identifier (a user UUID or a system identifier). + example: 00000000-0000-0000-0000-000000000000 type: string - enabled: - description: Whether the suppression rule is enabled. - example: true - type: boolean - expiration_date: - description: >- - A Unix millisecond timestamp giving an expiration date for the - suppression rule. After this date, it won't suppress signals - anymore. If unset, the expiration date of the suppression rule is - left untouched. If set to `null`, the expiration date is removed. - example: 1703187336000 - format: int64 - nullable: true - type: integer name: - description: The name of the suppression rule. - example: Custom suppression + description: The name of the actor. + example: Jane Doe type: string - rule_query: - description: >- - The rule query of the suppression rule, with the same syntax as the - search bar for detection rules. - example: type:log_detection source:cloudtrail + type: + $ref: '#/components/schemas/AutomationRuleActorType' + required: + - type + - id + - name + type: object + AutomationRuleModifiedBy: + description: The user or Datadog system who last modified the rule. + properties: + id: + description: The actor's identifier (a user UUID or a system identifier). + example: 00000000-0000-0000-0000-000000000000 type: string - start_date: - description: >- - A Unix millisecond timestamp giving the start date for the - suppression rule. After this date, it starts suppressing signals. If - unset, the start date of the suppression rule is left untouched. If - set to `null`, the start date is removed. - example: 1703187336000 - format: int64 - nullable: true - type: integer - suppression_query: - description: >- - The suppression query of the suppression rule. If a signal matches - this query, it is suppressed and not triggered. Same syntax as the - queries to search signals in the signal explorer. - example: env:staging status:low + name: + description: The name of the actor. + example: Jane Doe type: string - version: - description: >- - The current version of the suppression. This is optional, but it can - help prevent concurrent modifications. - format: int32 - maximum: 2147483647 - type: integer + type: + $ref: '#/components/schemas/AutomationRuleActorType' + required: + - type + - id + - name type: object - Pagination: - description: Pagination object. + MuteRuleAction: + description: The action to take when the mute rule matches a finding. properties: - total_count: - description: Total count. - format: int64 - type: integer - total_filtered_count: - description: Total count of elements matched by the filter. + expire_at: + description: The Unix timestamp in milliseconds at which the mute expires. If omitted, the mute does not expire. + example: 4070908800000 format: int64 type: integer + reason: + $ref: '#/components/schemas/MuteReason' + reason_description: + description: An optional description providing more context for the mute reason. + example: Accepted for dev environments only + maxLength: 20000 + type: string + required: + - reason type: object - SecurityMonitoringRuleTypeRead: - description: The rule type. - enum: - - log_detection - - infrastructure_configuration - - workload_security - - cloud_configuration - - application_security - - api_security - type: string - x-enum-varnames: - - LOG_DETECTION - - INFRASTRUCTURE_CONFIGURATION - - WORKLOAD_SECURITY - - CLOUD_CONFIGURATION - - APPLICATION_SECURITY - - API_SECURITY - SecurityMonitoringSignalRuleResponseQuery: - description: Query for matching rule on signals. + SeverityModifierRuleAction: + description: |- + The action to take when a severity modifier rule matches a finding. This is a discriminated union on `type`: `set` assigns a fixed severity, while `shift` moves the severity up or down by one rank. + + A severity modifier rule's `rule.query` must not filter on `@severity` or on the `@severity_details.user_adjusted.*` namespace. + + Use `@severity_details.adjusted.value` instead, which reflects the severity before user-defined adjustments. properties: - aggregation: - $ref: '#/components/schemas/SecurityMonitoringRuleQueryAggregation' - correlatedByFields: - description: Fields to correlate by. - items: - description: Field. - type: string - type: array - correlatedQueryIndex: - description: Index of the rule query used to retrieve the correlated field. - format: int32 - maximum: 9 - type: integer - defaultRuleId: - description: Default Rule ID to match on signals. - example: d3f-ru1-e1d + description: + description: An optional free-form explanation for the severity change. + example: Lower severity for dev environment noise + maxLength: 20000 type: string - distinctFields: - description: Field for which the cardinality is measured. Sent as an array. - items: - description: Field. - type: string - type: array - groupByFields: - description: Fields to group by. - items: - description: Field. - type: string - type: array - metrics: - description: Group of target fields to aggregate over. - items: - description: Field. - type: string - type: array - name: - description: Name of the query. + severity: + $ref: '#/components/schemas/SeverityModifierSeverity' + type: + $ref: '#/components/schemas/SeverityModifierRuleSetActionType' + severity_delta: + $ref: '#/components/schemas/SeverityModifierSeverityDelta' + required: + - type + - severity + - severity_delta + type: object + TicketCreationRuleAction: + description: The action to take when the ticket creation rule matches a finding. + properties: + assignee_id: + description: The UUID of the default assignee for created tickets. + example: 22222222-2222-2222-2222-222222222222 + format: uuid type: string - ruleId: - description: Rule ID to match on signals. - example: org-ru1-e1d + fields: + description: Custom fields of the Jira issue to create. For the list of available fields, see [Jira documentation](https://developer.atlassian.com/cloud/jira/platform/rest/v2/api-group-issues/#api-rest-api-2-issue-createmeta-projectidorkey-issuetypes-issuetypeid-get). (opaque JSON object) + example: + labels: + - security + type: string + max_tickets_per_day: + description: The maximum number of tickets the rule may create per day. If exceeded, one final ticket will be created, explaining the limit was hit and link back to the responsible rule. + example: 100 + format: int64 + maximum: 500 + minimum: 1 + type: integer + project_id: + description: The UUID of the case management project. + example: 11111111-1111-1111-1111-111111111111 + format: uuid type: string + target: + $ref: '#/components/schemas/TicketCreationTarget' + required: + - project_id + - target + - max_tickets_per_day type: object - SecurityMonitoringStandardRuleTestPayload: - description: The payload of a rule to test + TicketCreationRuleActionResponse: + description: The action to take when the ticket creation rule matches a finding. properties: - calculatedFields: - description: >- - Calculated fields. Only allowed for scheduled rules - in other - words, when schedulingOptions is also defined. - items: - $ref: '#/components/schemas/CalculatedField' - type: array - cases: - description: Cases for generating signals. - example: [] - items: - $ref: '#/components/schemas/SecurityMonitoringRuleCaseCreate' - type: array - filters: - description: >- - Additional queries to filter matched events before they are - processed. This field is deprecated for log detection, signal - correlation, and workload security rules. - items: - $ref: '#/components/schemas/SecurityMonitoringFilter' - type: array - groupSignalsBy: - description: >- - Additional grouping to perform on top of the existing groups in the - query section. Must be a subset of the existing groups. - example: - - service - items: - description: Field to group by. - type: string - type: array - hasExtendedTitle: - description: >- - Whether the notifications include the triggering group-by values in - their title. - example: true - type: boolean - isEnabled: - description: Whether the rule is enabled. - example: true - type: boolean - message: - description: Message for generated signals. - example: '' + assignee_id: + description: The UUID of the default assignee for created tickets. + example: 22222222-2222-2222-2222-222222222222 + format: uuid type: string - name: - description: The name of the rule. - example: My security monitoring rule. + auto_disabled_reason: + description: The reason the rule was automatically disabled by the system due to a ticketing integration error. + example: Daily ticket creation limit exceeded type: string - options: - $ref: '#/components/schemas/SecurityMonitoringRuleOptions' - queries: - description: Queries for selecting logs which are part of the rule. - example: [] - items: - $ref: '#/components/schemas/SecurityMonitoringStandardRuleQuery' - type: array - referenceTables: - description: Reference tables for the rule. - items: - $ref: '#/components/schemas/SecurityMonitoringReferenceTable' - type: array - schedulingOptions: - $ref: '#/components/schemas/SecurityMonitoringSchedulingOptions' - tags: - description: Tags for generated signals. + fields: + description: Custom fields of the Jira issue to create. For the list of available fields, see [Jira documentation](https://developer.atlassian.com/cloud/jira/platform/rest/v2/api-group-issues/#api-rest-api-2-issue-createmeta-projectidorkey-issuetypes-issuetypeid-get). (opaque JSON object) example: - - env:prod - - team:security - items: - description: Tag. - type: string - type: array - thirdPartyCases: - description: >- - Cases for generating signals from third-party rules. Only available - for third-party rules. - example: [] - items: - $ref: '#/components/schemas/SecurityMonitoringThirdPartyRuleCaseCreate' - type: array - type: - $ref: '#/components/schemas/SecurityMonitoringRuleTypeTest' + labels: + - security + type: string + max_tickets_per_day: + description: The maximum number of tickets the rule may create per day. If exceeded, one final ticket will be created, explaining the limit was hit and link back to the responsible rule. + example: 100 + format: int64 + maximum: 500 + minimum: 1 + type: integer + project_id: + description: The UUID of the case management project. + example: 11111111-1111-1111-1111-111111111111 + format: uuid + type: string + target: + $ref: '#/components/schemas/TicketCreationTarget' required: - - name - - isEnabled - - queries - - options - - cases - - message + - project_id + - target + - max_tickets_per_day + type: object + CasePriority: + default: NOT_DEFINED + description: Case priority + enum: + - NOT_DEFINED + - P1 + - P2 + - P3 + - P4 + - P5 + example: NOT_DEFINED + type: string + x-enum-varnames: + - NOT_DEFINED + - P1 + - P2 + - P3 + - P4 + - P5 + CaseManagementProject: + description: Case management project. + properties: + data: + $ref: '#/components/schemas/CaseManagementProjectData' + required: + - data + type: object + RelationshipToUser: + description: Relationship to user. + properties: + data: + $ref: '#/components/schemas/RelationshipToUserData' + required: + - data type: object - SecurityMonitoringRuleQueryPayloadData: - additionalProperties: {} - description: Payload used to test the rule query. + CaseInsightsItems: + description: An insight of the case. properties: - ddsource: - description: Source of the payload. - example: nginx + ref: + description: Reference of the insight. + example: /security/appsec/vm/library/vulnerability/dfa027f7c037b2f77159adc027fecb56?detection=static type: string - ddtags: - description: Tags associated with your data. - example: env:staging,version:5.1 + resource_id: + description: Unique identifier of the resource. For example, the unique identifier of a security finding. + example: ZGVmLTAwcC1pZXJ-aS0wZjhjNjMyZDNmMzRlZTgzNw== type: string - hostname: - description: The name of the originating host of the log. - example: i-012345678 + type: + description: Type of the resource. For example, the type of a security finding is "SECURITY_FINDING". + example: SECURITY_FINDING type: string - message: - description: The message of the payload. - example: 2019-11-19T14:37:58,995 INFO [process.name][20081] Hello World + type: object + FindingJiraIssue: + description: Jira issue associated with the case. + properties: + error_message: + description: Error message if the Jira issue creation failed. + example: '{"errorMessages":["An error occured."],"errors":{}}' type: string - service: - description: The name of the application or service generating the data. - example: payment + result: + $ref: '#/components/schemas/FindingJiraIssueResult' + status: + description: Status of the Jira issue creation. Can be "COMPLETED" if the Jira issue was created successfully, or "FAILED" if the Jira issue creation failed. + example: COMPLETED type: string type: object - SecurityMonitoringRuleCaseAction: - description: >- - Action to perform when a signal is triggered. Only available for - Application Security rule type. + FindingLinearIssue: + description: Linear issue associated with the case. properties: - options: - $ref: '#/components/schemas/SecurityMonitoringRuleCaseActionOptions' - type: - $ref: '#/components/schemas/SecurityMonitoringRuleCaseActionType' + error_message: + description: Error message if the Linear issue creation failed. + example: Linear issue creation failed. + type: string + result: + $ref: '#/components/schemas/FindingLinearIssueResult' + status: + description: Status of the Linear issue creation. Can be "COMPLETED" if the Linear issue was created successfully, or "FAILED" if the Linear issue creation failed. + example: COMPLETED + type: string type: object - SecurityMonitoringRuleSeverity: - description: Severity of the Security Signal. - enum: - - info - - low - - medium - - high - - critical - example: critical - type: string - x-enum-varnames: - - INFO - - LOW - - MEDIUM - - HIGH - - CRITICAL - SecurityMonitoringFilterAction: - description: The type of filtering action. - enum: - - require - - suppress - type: string - x-enum-varnames: - - REQUIRE - - SUPPRESS - CloudConfigurationComplianceRuleOptions: - additionalProperties: {} - description: > - Options for cloud_configuration rules. - - Fields `resourceType` and `regoRule` are mandatory when managing custom - `cloud_configuration` rules. + FindingServiceNowTicket: + description: ServiceNow ticket associated with the case. properties: - complexRule: - description: > - Whether the rule is a complex one. - - Must be set to true if `regoRule.resourceTypes` contains more than - one item. Defaults to false. - type: boolean - regoRule: - $ref: '#/components/schemas/CloudConfigurationRegoRule' - resourceType: - description: > - Main resource type to be checked by the rule. It should be specified - again in `regoRule.resourceTypes`. - example: aws_acm + result: + $ref: '#/components/schemas/FindingServiceNowTicketResult' + status: + description: Status of the ServiceNow ticket operation. Can be "COMPLETED" if successful, or "FAILED" if the operation failed. + example: COMPLETED type: string type: object - SecurityMonitoringRuleDecreaseCriticalityBasedOnEnv: - description: >- - If true, signals in non-production environments have a lower severity - than what is defined by the rule case, which can reduce signal noise. - - The severity is decreased by one level: `CRITICAL` in production becomes - `HIGH` in non-production, `HIGH` becomes `MEDIUM` and so on. `INFO` - remains `INFO`. - - The decrement is applied when the environment tag of the signal starts - with `staging`, `test` or `dev`. - example: false - type: boolean - SecurityMonitoringRuleDetectionMethod: - description: The detection method. - enum: - - threshold - - new_value - - anomaly_detection - - impossible_travel - - hardcoded - - third_party - - anomaly_threshold - type: string - x-enum-varnames: - - THRESHOLD - - NEW_VALUE - - ANOMALY_DETECTION - - IMPOSSIBLE_TRAVEL - - HARDCODED - - THIRD_PARTY - - ANOMALY_THRESHOLD - SecurityMonitoringRuleEvaluationWindow: - description: >- - A time window is specified to match when at least one of the cases - matches true. This is a sliding window - - and evaluates in real time. For third party detection method, this field - is not used. - enum: - - 0 - - 60 - - 300 - - 600 - - 900 - - 1800 - - 3600 - - 7200 - - 10800 - - 21600 - - 43200 - - 86400 - format: int32 - type: integer - x-enum-varnames: - - ZERO_MINUTES - - ONE_MINUTE - - FIVE_MINUTES - - TEN_MINUTES - - FIFTEEN_MINUTES - - THIRTY_MINUTES - - ONE_HOUR - - TWO_HOURS - - THREE_HOURS - - SIX_HOURS - - TWELVE_HOURS - - ONE_DAY - SecurityMonitoringRuleHardcodedEvaluatorType: - description: Hardcoded evaluator type. - enum: - - log4shell - type: string - x-enum-varnames: - - LOG4SHELL - SecurityMonitoringRuleImpossibleTravelOptions: - description: Options on impossible travel detection method. + MuteFindingsMuteAttributes: + description: Mute properties to apply to the findings. properties: - baselineUserLocations: - $ref: >- - #/components/schemas/SecurityMonitoringRuleImpossibleTravelOptionsBaselineUserLocations + description: + description: Additional information about the reason why the findings are muted or unmuted. This field has a limit of 280 characters. + example: To be resolved later. + type: string + expire_at: + description: The expiration date of the mute action (Unix ms). It must be set to a value greater than the current timestamp. If this field is not provided, the findings remain muted indefinitely. + example: 1778721573794 + format: int64 + type: integer + is_muted: + description: Whether the findings should be muted or unmuted. + example: true + type: boolean + reason: + $ref: '#/components/schemas/MuteFindingsReason' + description: The reason why the findings are muted or unmuted. + required: + - is_muted + - reason type: object - SecurityMonitoringRuleKeepAlive: - description: >- - Once a signal is generated, the signal will remain "open" if a case is - matched at least once within - - this keep alive window. For third party detection method, this field is - not used. - enum: - - 0 - - 60 - - 300 - - 600 - - 900 - - 1800 - - 3600 - - 7200 - - 10800 - - 21600 - - 43200 - - 86400 - format: int32 - type: integer - x-enum-varnames: - - ZERO_MINUTES - - ONE_MINUTE - - FIVE_MINUTES - - TEN_MINUTES - - FIFTEEN_MINUTES - - THIRTY_MINUTES - - ONE_HOUR - - TWO_HOURS - - THREE_HOURS - - SIX_HOURS - - TWELVE_HOURS - - ONE_DAY - SecurityMonitoringRuleMaxSignalDuration: - description: >- - A signal will "close" regardless of the query being matched once the - time exceeds the maximum duration. - - This time is calculated from the first seen timestamp. - enum: - - 0 - - 60 - - 300 - - 600 - - 900 - - 1800 - - 3600 - - 7200 - - 10800 - - 21600 - - 43200 - - 86400 - format: int32 - type: integer - x-enum-varnames: - - ZERO_MINUTES - - ONE_MINUTE - - FIVE_MINUTES - - TEN_MINUTES - - FIFTEEN_MINUTES - - THIRTY_MINUTES - - ONE_HOUR - - TWO_HOURS - - THREE_HOURS - - SIX_HOURS - - TWELVE_HOURS - - ONE_DAY - SecurityMonitoringRuleNewValueOptions: - description: Options on new value detection method. + SecurityFindingsSearchRequestPage: + description: Pagination attributes for the search request. properties: - forgetAfter: - $ref: >- - #/components/schemas/SecurityMonitoringRuleNewValueOptionsForgetAfter - learningDuration: - $ref: >- - #/components/schemas/SecurityMonitoringRuleNewValueOptionsLearningDuration - learningMethod: - $ref: >- - #/components/schemas/SecurityMonitoringRuleNewValueOptionsLearningMethod - learningThreshold: - $ref: >- - #/components/schemas/SecurityMonitoringRuleNewValueOptionsLearningThreshold + cursor: + description: Get the next page of results with a cursor provided in the previous query. + example: eyJhZnRlciI6IkF3QUFBWnPcm1pd0FBQUJbVlBQUKBa1pqRTVdZUzSTBNemN0YWiIsLTE3Mjk0MzYwMjFdfQ== + type: string + limit: + default: 10 + description: The maximum number of security findings in the response. + example: 25 + format: int64 + maximum: 150 + minimum: 1 + type: integer + type: object + SBOMComponent: + description: Software or hardware component. + properties: + bom-ref: + description: An optional identifier that can be used to reference the component elsewhere in the BOM. + example: pkg:golang/google.golang.org/grpc@1.68.1 + type: string + licenses: + description: The software licenses of the SBOM component. + items: + $ref: '#/components/schemas/SBOMComponentLicense' + type: array + name: + description: The name of the component. This will often be a shortened, single name of the component. + example: google.golang.org/grpc + type: string + properties: + description: The custom properties of the component of the SBOM. + items: + $ref: '#/components/schemas/SBOMComponentProperty' + type: array + purl: + description: Specifies the package-url (purl). The purl, if specified, MUST be valid and conform to the [specification](https://github.com/package-url/purl-spec). + example: pkg:golang/google.golang.org/grpc@1.68.1 + type: string + supplier: + $ref: '#/components/schemas/SBOMComponentSupplier' + type: + $ref: '#/components/schemas/SBOMComponentType' + version: + description: The component version. + example: 1.68.1 + type: string + required: + - type + - name + - version + - supplier type: object - SecurityMonitoringRuleThirdPartyOptions: - description: Options on third party detection method. + SBOMComponentDependency: + description: The dependencies of a component of the SBOM. properties: - defaultNotifications: - description: >- - Notification targets for the logs that do not correspond to any of - the cases. + dependsOn: + description: The components that are dependencies of the ref component. items: - description: Notification. + description: A package URL (purl) identifying a dependency of the component. + example: pkg:golang/google.golang.org/grpc@1.68.1 type: string + required: + - ref + - dependsOn type: array - defaultStatus: - $ref: '#/components/schemas/SecurityMonitoringRuleSeverity' - rootQueries: - description: >- - Queries to be combined with third party case queries. Each of them - can have different group by fields, to aggregate differently based - on the type of alert. - items: - $ref: '#/components/schemas/SecurityMonitoringThirdPartyRootQuery' - type: array - signalTitleTemplate: - description: >- - A template for the signal title; if omitted, the title is generated - based on the case name. + ref: + description: The identifier for the related component. + example: Repository|github.com/datadog/datadog-agent type: string type: object - RuleVersionHistory: - description: Response object containing the version history of a rule. - properties: - count: - description: The number of rule versions. - format: int32 - maximum: 2147483647 - type: integer - data: - additionalProperties: - $ref: '#/components/schemas/RuleVersions' - description: A rule version with a list of updates. - description: The `RuleVersionHistory` `data`. - type: object - type: object - GetRuleVersionHistoryDataType: - description: Type of data. - enum: - - GetRuleVersionHistoryResponse - type: string - x-enum-varnames: - - GETRULEVERSIONHISTORYRESPONSE - SecurityMonitoringSignalAttributes: - additionalProperties: {} - description: |- - The object containing all signal attributes and their - associated values. + SBOMMetadata: + description: Provides additional information about a BOM. properties: - custom: - additionalProperties: {} - description: A JSON object of attributes in the security signal. - example: - workflow: - first_seen: '2020-06-23T14:46:01.000Z' - last_seen: '2020-06-23T14:46:49.000Z' - rule: - id: 0f5-e0c-805 - name: 'Brute Force Attack Grouped By User ' - version: 12 - type: object - message: - description: >- - The message in the security signal defined by the rule that - generated the signal. - example: Detect Account Take Over (ATO) through brute force attempts - type: string - tags: - description: An array of tags associated with the security signal. - example: - - security:attack - - technique:T1110-brute-force + authors: + description: List of authors of the SBOM. items: - description: The tag associated with the security signal. - type: string + $ref: '#/components/schemas/SBOMMetadataAuthor' type: array + component: + $ref: '#/components/schemas/SBOMMetadataComponent' timestamp: - description: The timestamp of the security signal. - example: '2019-01-02T09:42:36.320Z' - format: date-time + description: The timestamp of the SBOM creation. + example: '2025-07-08T07:24:53Z' type: string type: object - SecurityMonitoringSignalType: - default: signal - description: The type of event. + SpecVersion: + description: The version of the CycloneDX specification a BOM conforms to. enum: - - signal - example: signal + - '1.0' + - '1.1' + - '1.2' + - '1.3' + - '1.4' + - '1.5' + - '1.6' + example: '1.6' type: string x-enum-varnames: - - SIGNAL - SecurityMonitoringSignalsListResponseMetaPage: - description: Paging attributes. + - ONE_ZERO + - ONE_ONE + - ONE_TWO + - ONE_THREE + - ONE_FOUR + - ONE_FIVE + - ONE_SIX + ScannedAssetMetadataAsset: + description: The asset of a scanned asset metadata. properties: - after: - description: >- - The cursor used to get the next results, if any. To make the next - request, use the same - - parameters with the addition of the `page[cursor]`. - example: >- - eyJzdGFydEF0IjoiQVFBQUFYS2tMS3pPbm40NGV3QUFBQUJCV0V0clRFdDZVbG8zY3pCRmNsbHJiVmxDWlEifQ== + name: + description: The name of the asset. + example: i-0fc7edef1ab26d7ef type: string + type: + $ref: '#/components/schemas/CloudAssetType' + required: + - type + - name type: object - SecurityMonitoringSignalAssigneeUpdateAttributes: - description: Attributes describing the new assignee of a security signal. + ScannedAssetMetadataLastSuccess: + description: Metadata for the last successful scan of an asset. properties: - assignee: - $ref: '#/components/schemas/SecurityMonitoringTriageUser' - version: - $ref: '#/components/schemas/SecurityMonitoringSignalVersion' + env: + description: The environment of the last success scan of the asset. + example: prod + type: string + origin: + description: The list of origins of the last success scan of the asset. + example: + - production + items: + description: An origin identifier for the last successful scan of the asset. + example: production + type: string + type: array + timestamp: + description: The timestamp of the last success scan of the asset. + example: '2025-07-08T07:24:53Z' + type: string required: - - assignee + - timestamp type: object - SecurityMonitoringSignalTriageAttributes: - description: >- - Attributes describing a triage state update operation over a security - signal. + IoCIndicator: + description: An indicator of compromise with threat intelligence data. properties: - archive_comment: - $ref: '#/components/schemas/SecurityMonitoringSignalArchiveComment' - archive_comment_timestamp: - description: Timestamp of the last edit to the comment. + as_geo: + $ref: '#/components/schemas/IoCGeoLocation' + as_type: + description: Autonomous system type. + type: string + benign_sources: + description: Threat intelligence sources that flagged this indicator as benign. + items: + $ref: '#/components/schemas/IoCSource' + nullable: true + type: array + categories: + description: Threat categories associated with the indicator. + items: + type: string + type: array + first_seen: + description: Timestamp when the indicator was first seen. + format: date-time + type: string + id: + description: Unique identifier for the indicator. + type: string + indicator: + description: The indicator value (for example, an IP address or domain). + type: string + indicator_type: + description: Type of indicator (for example, IP address or domain). + type: string + last_seen: + description: Timestamp when the indicator was last seen. + format: date-time + type: string + log_matches: + description: Number of logs that matched this indicator. format: int64 - minimum: 0 type: integer - archive_comment_user: - $ref: '#/components/schemas/SecurityMonitoringTriageUser' - archive_reason: - $ref: '#/components/schemas/SecurityMonitoringSignalArchiveReason' - assignee: - $ref: '#/components/schemas/SecurityMonitoringTriageUser' - incident_ids: - $ref: '#/components/schemas/SecurityMonitoringSignalIncidentIds' - state: - $ref: '#/components/schemas/SecurityMonitoringSignalState' - state_update_timestamp: - description: Timestamp of the last update to the signal state. + m_as_type: + $ref: '#/components/schemas/IoCScoreEffect' + m_persistence: + $ref: '#/components/schemas/IoCScoreEffect' + m_signal: + $ref: '#/components/schemas/IoCScoreEffect' + m_sources: + $ref: '#/components/schemas/IoCScoreEffect' + malicious_sources: + description: Threat intelligence sources that flagged this indicator as malicious. + items: + $ref: '#/components/schemas/IoCSource' + nullable: true + type: array + max_trust_score: + $ref: '#/components/schemas/IoCScoreEffect' + score: + description: Threat score for the indicator (0-100). + format: double + type: number + signal_matches: + description: Number of security signals that matched this indicator. format: int64 - minimum: 0 type: integer - state_update_user: - $ref: '#/components/schemas/SecurityMonitoringTriageUser' - required: - - assignee - - state - - incident_ids - type: object - SecurityMonitoringSignalMetadataType: - default: signal_metadata - description: The type of event. - enum: - - signal_metadata - example: signal_metadata - type: string - x-enum-varnames: - - SIGNAL_METADATA - SecurityMonitoringSignalIncidentsUpdateAttributes: - description: >- - Attributes describing the new list of related signals for a security - signal. - properties: - incident_ids: - $ref: '#/components/schemas/SecurityMonitoringSignalIncidentIds' - version: - $ref: '#/components/schemas/SecurityMonitoringSignalVersion' - required: - - incident_ids + signal_tier: + description: Signal tier level. + format: int64 + type: integer + suspicious_sources: + description: Threat intelligence sources that flagged this indicator as suspicious. + items: + $ref: '#/components/schemas/IoCSource' + nullable: true + type: array + tags: + description: Tags associated with the indicator. + items: + type: string + type: array + triage_state: + $ref: '#/components/schemas/IoCTriageState' + triaged_at: + description: Timestamp when the indicator was last triaged. + format: date-time + type: string + triaged_by: + description: UUID of the user who last triaged the indicator. + type: string type: object - SecurityMonitoringSignalStateUpdateAttributes: - description: Attributes describing the change of state of a security signal. + IoCExplorerListResponseMetadata: + description: Response metadata. properties: - archive_comment: - $ref: '#/components/schemas/SecurityMonitoringSignalArchiveComment' - archive_reason: - $ref: '#/components/schemas/SecurityMonitoringSignalArchiveReason' - state: - $ref: '#/components/schemas/SecurityMonitoringSignalState' - version: - $ref: '#/components/schemas/SecurityMonitoringSignalVersion' - required: - - state + count: + description: Total number of indicators matching the query. + format: int64 + type: integer type: object - SensitiveDataScannerConfigurationRelationships: - description: Relationships of the configuration. + IoCExplorerListResponsePaging: + description: Pagination information. properties: - groups: - $ref: '#/components/schemas/SensitiveDataScannerGroupList' + offset: + description: Current pagination offset. + format: int64 + type: integer type: object - SensitiveDataScannerConfigurationType: - default: sensitive_data_scanner_configuration - description: Sensitive Data Scanner configuration type. - enum: - - sensitive_data_scanner_configuration - example: sensitive_data_scanner_configuration - type: string - x-enum-varnames: - - SENSITIVE_DATA_SCANNER_CONFIGURATIONS - SensitiveDataScannerGetConfigIncludedItem: - description: An object related to the configuration. - oneOf: - - $ref: '#/components/schemas/SensitiveDataScannerRuleIncludedItem' - - $ref: '#/components/schemas/SensitiveDataScannerGroupIncludedItem' - SensitiveDataScannerGroupAttributes: - description: Attributes of the Sensitive Data Scanner group. + IoCIndicatorDetailed: + description: An indicator of compromise with extended context from your environment. properties: - description: - description: Description of the group. + additional_data: + additionalProperties: {} + description: Additional domain-specific context from threat intelligence sources. + type: object + as_cidr_block: + description: Autonomous system CIDR block. type: string - filter: - $ref: '#/components/schemas/SensitiveDataScannerFilter' - is_enabled: - description: Whether or not the group is enabled. - type: boolean - name: - description: Name of the group. + as_geo: + $ref: '#/components/schemas/IoCGeoLocation' + as_number: + description: Autonomous system number. type: string - product_list: - description: List of products the scanning group applies. + as_organization: + description: Autonomous system organization name. + type: string + as_type: + description: Autonomous system type. + type: string + benign_sources: + description: Threat intelligence sources that flagged this indicator as benign. + items: + $ref: '#/components/schemas/IoCSource' + nullable: true + type: array + categories: + description: Threat categories associated with the indicator. items: - $ref: '#/components/schemas/SensitiveDataScannerProduct' + type: string type: array - samplings: - description: List of sampling rates per product type. + critical_assets: + description: Critical assets associated with this indicator. items: - $ref: '#/components/schemas/SensitiveDataScannerSamplings' + type: string type: array - type: object - SensitiveDataScannerGroupRelationships: - description: Relationships of the group. - properties: - configuration: - $ref: '#/components/schemas/SensitiveDataScannerConfigurationData' - rules: - $ref: '#/components/schemas/SensitiveDataScannerRuleData' - type: object - SensitiveDataScannerGroupType: - default: sensitive_data_scanner_group - description: Sensitive Data Scanner group type. - enum: - - sensitive_data_scanner_group - example: sensitive_data_scanner_group - type: string - x-enum-varnames: - - SENSITIVE_DATA_SCANNER_GROUP - SensitiveDataScannerRuleAttributes: - description: Attributes of the Sensitive Data Scanner rule. - properties: - description: - description: Description of the rule. + first_seen: + description: Timestamp when the indicator was first seen. + format: date-time type: string - excluded_namespaces: - description: >- - Attributes excluded from the scan. If namespaces is provided, it has - to be a sub-path of the namespaces array. - example: - - admin.name + hosts: + description: Hosts associated with this indicator. items: type: string type: array - included_keyword_configuration: - $ref: >- - #/components/schemas/SensitiveDataScannerIncludedKeywordConfiguration - is_enabled: - description: Whether or not the rule is enabled. - type: boolean - name: - description: Name of the rule. + id: + description: Unique identifier for the indicator. type: string - namespaces: - description: >- - Attributes included in the scan. If namespaces is empty or missing, - all attributes except excluded_namespaces are scanned. - - If both are missing the whole event is scanned. - example: - - admin + indicator: + description: The indicator value (for example, an IP address or domain). + type: string + indicator_type: + description: Type of indicator (for example, IP address or domain). + type: string + last_seen: + description: Timestamp when the indicator was last seen. + format: date-time + type: string + log_matches: + description: Number of logs that matched this indicator. + format: int64 + type: integer + log_sources: + description: Log sources where this indicator was observed. items: type: string type: array - pattern: - description: Not included if there is a relationship to a standard pattern. - type: string - priority: - description: Integer from 1 (high) to 5 (low) indicating rule issue severity. + m_as_type: + $ref: '#/components/schemas/IoCScoreEffect' + m_persistence: + $ref: '#/components/schemas/IoCScoreEffect' + m_signal: + $ref: '#/components/schemas/IoCScoreEffect' + m_sources: + $ref: '#/components/schemas/IoCScoreEffect' + malicious_sources: + description: Threat intelligence sources that flagged this indicator as malicious. + items: + $ref: '#/components/schemas/IoCSource' + nullable: true + type: array + max_trust_score: + $ref: '#/components/schemas/IoCScoreEffect' + score: + description: Threat score for the indicator (0-100). + format: double + type: number + services: + description: Services where this indicator was observed. + items: + type: string + type: array + signal_matches: + description: Number of security signals that matched this indicator. + format: int64 + type: integer + signal_severity: + description: Breakdown of security signals by severity. + items: + $ref: '#/components/schemas/IoCSignalSeverityCount' + type: array + signal_tier: + description: Signal tier level. format: int64 - maximum: 5 - minimum: 1 type: integer + suspicious_sources: + description: Threat intelligence sources that flagged this indicator as suspicious. + items: + $ref: '#/components/schemas/IoCSource' + nullable: true + type: array tags: - description: List of tags. + description: Tags associated with the indicator. items: type: string type: array - text_replacement: - $ref: '#/components/schemas/SensitiveDataScannerTextReplacement' + triage_history: + description: Full triage history timeline. Returned only when `include_triage_history` is true. + items: + $ref: '#/components/schemas/IoCTriageEvent' + type: array + triage_state: + $ref: '#/components/schemas/IoCTriageState' + triaged_at: + description: Timestamp when the indicator was last triaged. + format: date-time + type: string + triaged_by: + description: UUID of the user who last triaged the indicator. + type: string + users: + additionalProperties: + description: List of user identifiers in this category. + items: + type: string + type: array + description: Users associated with this indicator, grouped by category. + type: object type: object - SensitiveDataScannerRuleRelationships: - description: Relationships of a scanning rule. + Enabled: + description: Field used to enable or disable the rule. + example: true + type: boolean + RuleName: + description: Name of the notification rule. + example: Rule 1 + type: string + NotificationRuleRouting: + description: Routing configuration for the notification rule. properties: - group: - $ref: '#/components/schemas/SensitiveDataScannerGroupData' - standard_pattern: - $ref: '#/components/schemas/SensitiveDataScannerStandardPatternData' + mode: + $ref: '#/components/schemas/NotificationRuleRoutingMode' + required: + - mode type: object - SensitiveDataScannerRuleType: - default: sensitive_data_scanner_rule - description: Sensitive Data Scanner rule type. - enum: - - sensitive_data_scanner_rule - example: sensitive_data_scanner_rule - type: string - x-enum-varnames: - - SENSITIVE_DATA_SCANNER_RULE - SensitiveDataScannerStandardPatternsResponseItem: - description: Standard pattern item. + Selectors: + description: |- + Selectors are used to filter security issues for which notifications should be generated. + Users can specify rule severities, rule types, a query to filter security issues on tags and attributes, and the trigger source. + Only the trigger_source field is required. properties: - attributes: - $ref: '#/components/schemas/SensitiveDataScannerStandardPatternAttributes' - id: - description: ID of the standard pattern. - type: string - type: - $ref: '#/components/schemas/SensitiveDataScannerStandardPatternType' + query: + $ref: '#/components/schemas/NotificationRuleQuery' + rule_types: + $ref: '#/components/schemas/RuleTypes' + severities: + description: The security rules severities to consider. + items: + $ref: '#/components/schemas/RuleSeverity' + type: array + trigger_source: + $ref: '#/components/schemas/TriggerSource' + required: + - trigger_source type: object - HistoricalJobResponseAttributes: - description: Historical job attributes. + Targets: + description: |- + List of recipients to notify when a notification rule is triggered. Many different target types are supported, + such as email addresses, Slack channels, and PagerDuty services. + The appropriate integrations need to be properly configured to send notifications to the specified targets. + example: + - '@john.doe@email.com' + items: + description: Recipients to notify. + type: string + type: array + TimeAggregation: + description: |- + Time aggregation period (in seconds) is used to aggregate the results of the notification rule evaluation. + Results are aggregated over a selected time frame using a rolling window, which updates with each new evaluation. + Notifications are only sent for new issues discovered during the window. + Time aggregation is only available for vulnerability-based notification rules. When omitted or set to 0, no aggregation + is done. + example: 86400 + format: int64 + type: integer + Date: + description: Date as Unix timestamp in milliseconds. + example: 1722439510282 + format: int64 + type: integer + RuleUser: + description: User creating or modifying a rule. properties: - createdAt: - description: Time when the job was created. + handle: + description: The user handle. + example: john.doe@domain.com type: string - createdByHandle: - description: The handle of the user who created the job. + name: + description: The user name. + example: John Doe type: string - createdByName: - description: The name of the user who created the job. + type: object + Version: + description: Version of the notification rule. It is updated when the rule is modified. + example: 1 + format: int64 + type: integer + VulnerabilityAdvisory: + description: Advisory associated with the vulnerability. + properties: + id: + description: Vulnerability advisory ID. + example: TRIVY-CVE-2023-0615 type: string - createdFromRuleId: - description: >- - ID of the rule used to create the job (if it is created from a - rule). + last_modification_date: + description: Vulnerability advisory last modification date. + example: '2024-09-19T21:23:08.000Z' type: string - jobDefinition: - $ref: '#/components/schemas/JobDefinition' - jobName: - description: Job name. + publish_date: + description: Vulnerability advisory publish date. + example: '2024-09-19T21:23:08.000Z' type: string - jobStatus: - description: Job status. + required: + - id + type: object + CodeLocation: + description: Code vulnerability location. + properties: + file_path: + description: Vulnerability location file path. + example: src/Class.java:100 type: string - modifiedAt: - description: Last modification time of the job. + location: + description: Vulnerability extracted location. + example: com.example.Class:100 + type: string + method: + description: Vulnerability location method. + example: FooBar type: string + required: + - location type: object - HistoricalJobDataType: - description: Type of payload. - enum: - - historicalDetectionsJob - type: string - x-enum-varnames: - - HISTORICALDETECTIONSJOB - RunHistoricalJobRequestAttributes: - description: Run a historical job request. + VulnerabilityCvss: + description: Vulnerability severities. properties: - fromRule: - $ref: '#/components/schemas/JobDefinitionFromRule' - id: - description: Request ID. - type: string - jobDefinition: - $ref: '#/components/schemas/JobDefinition' + base: + $ref: '#/components/schemas/CVSS' + datadog: + $ref: '#/components/schemas/CVSS' + required: + - base + - datadog type: object - RunHistoricalJobRequestDataType: - description: Type of data. - enum: - - historicalDetectionsJobCreate - type: string - x-enum-varnames: - - HISTORICALDETECTIONSJOBCREATE - ConvertJobResultsToSignalsAttributes: - description: Attributes for converting historical job results to signals. + VulnerabilityDependencyLocations: + description: Static library vulnerability location. + properties: + block: + $ref: '#/components/schemas/DependencyLocation' + name: + $ref: '#/components/schemas/DependencyLocation' + version: + $ref: '#/components/schemas/DependencyLocation' + required: + - block + type: object + Library: + description: Vulnerability library. properties: - id: - description: Request ID. - type: string - jobResultIds: - description: Job result IDs. - example: - - '' - items: - type: string - type: array - notifications: - description: Notifications sent. - example: - - '' + additional_names: + description: Related library or package names (such as child packages or affected binary paths). items: + description: A related library or package name affected by the vulnerability. + example: linux-tools-common type: string type: array - signalMessage: - description: Message of generated signals. - example: A large number of failed login attempts. + name: + description: Vulnerability library name. + example: linux-aws-5.15 + type: string + version: + description: Vulnerability library version. + example: 5.15.0 type: string - signalSeverity: - $ref: '#/components/schemas/SecurityMonitoringRuleSeverity' required: - - jobResultIds - - signalSeverity - - signalMessage - - notifications + - name type: object - ConvertJobResultsToSignalsDataType: - description: Type of payload. - enum: - - historicalDetectionsJobResultSignalConversion - type: string - x-enum-varnames: - - HISTORICALDETECTIONSJOBRESULTSIGNALCONVERSION - CustomFrameworkRequirement: - description: Framework Requirement. + Remediation: + description: Vulnerability remediation. properties: - controls: - description: Requirement Controls. + auto_solvable: + description: Whether the vulnerability can be resolved when recompiling the package or not. + example: false + type: boolean + avoided_advisories: + description: Avoided advisories. items: - $ref: '#/components/schemas/CustomFrameworkControl' + $ref: '#/components/schemas/Advisory' type: array - name: - description: Requirement Name. - example: criteria + fixed_advisories: + description: Remediation fixed advisories. + items: + $ref: '#/components/schemas/Advisory' + type: array + library_name: + description: Library name remediating the vulnerability. + example: stdlib + type: string + library_version: + description: Library version remediating the vulnerability. + example: Upgrade to a version >= 1.20.0 + type: string + new_advisories: + description: New advisories. + items: + $ref: '#/components/schemas/Advisory' + type: array + remaining_advisories: + description: Remaining advisories. + items: + $ref: '#/components/schemas/Advisory' + type: array + type: + description: Remediation type. + example: text type: string required: - - name - - controls - type: object - CsmCoverageAnalysis: - description: CSM Coverage Analysis. - properties: - configured_resources_count: - description: The number of fully configured resources. - example: 8 - format: int64 - type: integer - coverage: - description: The coverage percentage. - example: 0.8 - format: double - type: number - partially_configured_resources_count: - description: The number of partially configured resources. - example: 0 - format: int64 - type: integer - total_resources_count: - description: The total number of resources. - example: 10 - format: int64 - type: integer - type: object - FindingAttributes: - description: The JSON:API attributes of the finding. - properties: - datadog_link: - $ref: '#/components/schemas/FindingDatadogLink' - description: - $ref: '#/components/schemas/FindingDescription' - evaluation: - $ref: '#/components/schemas/FindingEvaluation' - evaluation_changed_at: - $ref: '#/components/schemas/FindingEvaluationChangedAt' - external_id: - $ref: '#/components/schemas/FindingExternalId' - mute: - $ref: '#/components/schemas/FindingMute' - resource: - $ref: '#/components/schemas/FindingResource' - resource_discovery_date: - $ref: '#/components/schemas/FindingResourceDiscoveryDate' - resource_type: - $ref: '#/components/schemas/FindingResourceType' - rule: - $ref: '#/components/schemas/FindingRule' - status: - $ref: '#/components/schemas/FindingStatus' - tags: - $ref: '#/components/schemas/FindingTags' - vulnerability_type: - $ref: '#/components/schemas/FindingVulnerabilityType' + - type + - library_name + - library_version + - auto_solvable + - fixed_advisories + - remaining_advisories + - new_advisories + - avoided_advisories type: object - BulkMuteFindingsRequestProperties: - additionalProperties: false - description: Object containing the new mute properties of the findings. + VulnerabilityRisks: + description: Vulnerability risks. properties: - description: - description: >- - Additional information about the reason why those findings are muted - or unmuted. This field has a maximum limit of 280 characters. - type: string - expiration_date: - description: > - The expiration date of the mute or unmute action (Unix ms). It must - be set to a value greater than the current timestamp. - - If this field is not provided, the finding will be muted or unmuted - indefinitely, which is equivalent to setting the expiration date to - 9999999999999. - example: 1778721573794 - format: int64 - type: integer - muted: - description: Whether those findings should be muted or unmuted. - example: true + epss: + $ref: '#/components/schemas/EPSS' + exploit_available: + description: Vulnerability public exploit availability. + example: false + type: boolean + exploit_sources: + description: Vulnerability exploit sources. + example: + - NIST + items: + description: An exploit source reporting this vulnerability. + example: NIST + type: string + type: array + exploitation_probability: + description: Vulnerability exploitation probability. + example: false + type: boolean + poc_exploit_available: + description: Vulnerability POC exploit availability. + example: false type: boolean - reason: - $ref: '#/components/schemas/FindingMuteReason' required: - - muted - - reason + - exploitation_probability + - poc_exploit_available + - exploit_available + - exploit_sources type: object - BulkMuteFindingsRequestMetaFindings: - description: Finding object containing the finding information. + VulnerabilityRelationshipsAffects: + description: Relationship type. properties: - finding_id: - $ref: '#/components/schemas/FindingID' + data: + $ref: '#/components/schemas/VulnerabilityRelationshipsAffectsData' + required: + - data type: object - FindingEvaluationChangedAt: - description: The date on which the evaluation for this finding changed (Unix ms). - example: 1678721573794 - format: int64 - minimum: 1 - type: integer - FindingMute: - additionalProperties: false - description: Information about the mute status of this finding. + CycloneDXToolComponent: + description: A scanner tool component. properties: - description: - description: >- - Additional information about the reason why this finding is muted or - unmuted. - example: To be resolved later - type: string - expiration_date: - description: The expiration date of the mute or unmute action (Unix ms). - example: 1778721573794 - format: int64 - type: integer - muted: - description: Whether this finding is muted or unmuted. - example: true - type: boolean - reason: - $ref: '#/components/schemas/FindingMuteReason' - start_date: - description: The start of the mute period. - example: 1678721573794 - format: int64 - type: integer - uuid: - description: The ID of the user who muted or unmuted this finding. - example: e51c9744-d158-11ec-ad23-da7ad0900002 + name: + description: The name of the scanner tool. + example: my-scanner type: string - type: object - FindingResource: - description: The resource name of this finding. - example: my_resource_name - type: string - FindingResourceDiscoveryDate: - description: The date on which the resource was discovered (Unix ms). - example: 1678721573794 - format: int64 - minimum: 1 - type: integer - FindingResourceType: - description: The resource type of this finding. - example: azure_storage_account - type: string - FindingRule: - additionalProperties: false - description: The rule that triggered this finding. - properties: - id: - description: The ID of the rule that triggered this finding. - example: dv2-jzf-41i + type: + description: The type of the tool component. + example: application type: string - name: - description: The name of the rule that triggered this finding. - example: Soft delete is enabled for Azure Storage + required: + - name + type: object + CycloneDXVulnerabilityReferenceSource: + description: The source of an external vulnerability reference. + properties: + url: + description: The URL of the reference source. + example: https://example.com type: string type: object - FindingTags: - description: The tags associated with this finding. - example: - - cloud_provider:aws - - myTag:myValue - items: - description: The list of tags. - type: string - type: array AssetOperatingSystem: description: Asset operating system. properties: @@ -9699,6 +31424,10 @@ components: description: Operating system name. example: ubuntu type: string + version: + description: Operating system version. + example: '24.04' + type: string required: - name type: object @@ -9740,367 +31469,438 @@ components: example: _latest type: string type: object - SBOMComponent: - description: Software or hardware component. + CloudWorkloadSecurityAgentRuleActions: + description: The array of actions the rule can perform if triggered + items: + $ref: '#/components/schemas/CloudWorkloadSecurityAgentRuleAction' + nullable: true + type: array + CloudWorkloadSecurityAgentRuleCreatorAttributes: + description: The attributes of the user who created the Agent rule properties: - bom-ref: - description: >- - An optional identifier that can be used to reference the component - elsewhere in the BOM. - example: pkg:golang/google.golang.org/grpc@1.68.1 + handle: + description: The handle of the user + example: datadog.user@example.com type: string - licenses: - description: The software licenses of the SBOM component. - items: - $ref: '#/components/schemas/SBOMComponentLicense' - type: array name: - description: >- - The name of the component. This will often be a shortened, single - name of the component. - example: google.golang.org/grpc - type: string - properties: - description: The custom properties of the component of the SBOM. - items: - $ref: '#/components/schemas/SBOMComponentProperty' - type: array - purl: - description: >- - Specifies the package-url (purl). The purl, if specified, MUST be - valid and conform to the - [specification](https://github.com/package-url/purl-spec). - example: pkg:golang/google.golang.org/grpc@1.68.1 - type: string - supplier: - $ref: '#/components/schemas/SBOMComponentSupplier' - type: - $ref: '#/components/schemas/SBOMComponentType' - version: - description: The component version. - example: 1.68.1 + description: The name of the user + example: Datadog User + nullable: true type: string - required: - - type - - name - - version - - supplier type: object - SBOMComponentDependency: - description: The dependencies of a component of the SBOM. + CloudWorkloadSecurityAgentRuleUpdaterAttributes: + description: The attributes of the user who last updated the Agent rule properties: - dependsOn: - description: The components that are dependencies of the ref component. - items: - example: pkg:golang/google.golang.org/grpc@1.68.1 - type: string - required: - - ref - - dependsOn - type: array - ref: - description: The identifier for the related component. - example: Repository|github.com/datadog/datadog-agent + handle: + description: The handle of the user + example: datadog.user@example.com + type: string + name: + description: The name of the user + example: Datadog User + nullable: true type: string type: object - SBOMMetadata: - description: Provides additional information about a BOM. + SecurityMonitoringUser: + description: A user. properties: - authors: - description: List of authors of the SBOM. - items: - $ref: '#/components/schemas/SBOMMetadataAuthor' - type: array - component: - $ref: '#/components/schemas/SBOMMetadataComponent' - timestamp: - description: The timestamp of the SBOM creation. - example: '2025-07-08T07:24:53Z' + handle: + description: The handle of the user. + example: john.doe@datadoghq.com + type: string + name: + description: The name of the user. + example: John Doe + nullable: true type: string type: object - SpecVersion: - description: The version of the CycloneDX specification a BOM conforms to. + SecurityMonitoringCriticalAssetSeverity: + description: Severity associated with this critical asset. Either an explicit severity can be set, or the severity can be increased or decreased, or the severity can be left unchanged (no-op). enum: - - '1.0' - - '1.1' - - '1.2' - - '1.3' - - '1.4' - - '1.5' - example: '1.5' + - info + - low + - medium + - high + - critical + - increase + - decrease + - no-op + example: increase type: string x-enum-varnames: - - ONE_ZERO - - ONE_ONE - - ONE_TWO - - ONE_THREE - - ONE_FOUR - - ONE_FIVE - Date: - description: Date as Unix timestamp in milliseconds. - example: 1722439510282 - format: int64 - type: integer - RuleUser: - description: User creating or modifying a rule. + - INFO + - LOW + - MEDIUM + - HIGH + - CRITICAL + - INCREASE + - DECREASE + - NO_OP + SecurityMonitoringIntegrationConfigSettings: + additionalProperties: {} + description: Free-form, non-sensitive settings for the entity context sync. The accepted keys depend on the source type. + example: + setting1: value1 + type: object + SecurityMonitoringIntegrationConfigState: + description: The state of the credentials configured on the entity context sync. + enum: + - valid + - invalid + - initializing + example: valid + type: string + x-enum-varnames: + - VALID + - INVALID + - INITIALIZING + SecurityMonitoringGoogleWorkspaceIntegrationConfigCreateAttributes: + description: The attributes of a Google Workspace entity context sync configuration to create. + properties: + domain: + description: The domain associated with the external entity source. + example: siem-test.com + type: string + integration_type: + $ref: '#/components/schemas/SecurityMonitoringIntegrationTypeGoogleWorkspace' + name: + description: The display name for the entity context sync configuration. + example: My GWS Integration + type: string + secrets: + $ref: '#/components/schemas/SecurityMonitoringIntegrationConfigGoogleWorkspaceSecrets' + settings: + $ref: '#/components/schemas/SecurityMonitoringIntegrationConfigSettings' + required: + - integration_type + - domain + - name + - secrets + type: object + SecurityMonitoringOktaIntegrationConfigCreateAttributes: + description: The attributes of an Okta entity context sync configuration to create. properties: - handle: - description: The user handle. - example: john.doe@domain.com + domain: + description: The domain associated with the external entity source. + example: siem-test.com type: string + integration_type: + $ref: '#/components/schemas/SecurityMonitoringIntegrationTypeOkta' name: - description: The user name. - example: John Doe + description: The display name for the entity context sync configuration. + example: My Okta Integration type: string + secrets: + $ref: '#/components/schemas/SecurityMonitoringIntegrationConfigOktaSecrets' + settings: + $ref: '#/components/schemas/SecurityMonitoringIntegrationConfigSettings' + required: + - integration_type + - domain + - name + - secrets type: object - Enabled: - description: Field used to enable or disable the rule. - example: true - type: boolean - RuleName: - description: Name of the notification rule. - example: Rule 1 - type: string - Selectors: - description: >- - Selectors are used to filter security issues for which notifications - should be generated. - - Users can specify rule severities, rule types, a query to filter - security issues on tags and attributes, and the trigger source. - - Only the trigger_source field is required. + SecurityMonitoringEntraIdIntegrationConfigCreateAttributes: + description: The attributes of an Entra ID entity context sync configuration to create. properties: - query: - $ref: '#/components/schemas/NotificationRuleQuery' - rule_types: - $ref: '#/components/schemas/RuleTypes' - severities: - description: The security rules severities to consider. - items: - $ref: '#/components/schemas/RuleSeverity' - type: array - trigger_source: - $ref: '#/components/schemas/TriggerSource' + domain: + description: The domain associated with the external entity source. + example: siem-test.com + type: string + integration_type: + $ref: '#/components/schemas/SecurityMonitoringIntegrationTypeEntraId' + name: + description: The display name for the entity context sync configuration. + example: My Entra ID Integration + type: string + settings: + $ref: '#/components/schemas/SecurityMonitoringIntegrationConfigSettings' required: - - trigger_source + - integration_type + - domain + - name type: object - Targets: - description: >- - List of recipients to notify when a notification rule is triggered. Many - different target types are supported, - - such as email addresses, Slack channels, and PagerDuty services. - - The appropriate integrations need to be properly configured to send - notifications to the specified targets. - example: - - '@john.doe@email.com' - items: - description: Recipients to notify. - type: string - type: array - TimeAggregation: - description: >- - Time aggregation period (in seconds) is used to aggregate the results of - the notification rule evaluation. - - Results are aggregated over a selected time frame using a rolling - window, which updates with each new evaluation. - - Notifications are only sent for new issues discovered during the window. - - Time aggregation is only available for vulnerability-based notification - rules. When omitted or set to 0, no aggregation - - is done. - example: 86400 - format: int64 - type: integer - Version: - description: >- - Version of the notification rule. It is updated when the rule is - modified. - example: 1 - format: int64 - type: integer - CodeLocation: - description: Code vulnerability location. + SecurityMonitoringCrowdStrikeIntegrationConfigCreateAttributes: + description: The attributes of a CrowdStrike entity context sync configuration to create. properties: - file_path: - description: Vulnerability location file path. - example: src/Class.java:100 + domain: + description: The domain associated with the external entity source. + example: api.crowdstrike.com type: string - location: - description: Vulnerability extracted location. - example: com.example.Class:100 + integration_type: + $ref: '#/components/schemas/SecurityMonitoringIntegrationTypeCrowdStrike' + name: + description: The display name for the entity context sync configuration. + example: My CrowdStrike Integration type: string - method: - description: Vulnerability location method. - example: FooBar + secrets: + $ref: '#/components/schemas/SecurityMonitoringIntegrationConfigCrowdStrikeSecrets' + settings: + $ref: '#/components/schemas/SecurityMonitoringIntegrationConfigSettings' + required: + - integration_type + - domain + - name + - secrets + type: object + SecurityMonitoringSentinelOneIntegrationConfigCreateAttributes: + description: The attributes of a SentinelOne entity context sync configuration to create. + properties: + domain: + description: The domain associated with the external entity source. + example: acme.sentinelone.net + type: string + integration_type: + $ref: '#/components/schemas/SecurityMonitoringIntegrationTypeSentinelOne' + name: + description: The display name for the entity context sync configuration. + example: My SentinelOne Integration type: string + secrets: + $ref: '#/components/schemas/SecurityMonitoringIntegrationConfigSentinelOneSecrets' + settings: + $ref: '#/components/schemas/SecurityMonitoringIntegrationConfigSettings' required: - - location + - integration_type + - domain + - name + - secrets type: object - VulnerabilityCvss: - description: Vulnerability severities. + SecurityMonitoringAzureAppRegistration: + description: An Azure App Registration discovered for the organization. properties: - base: - $ref: '#/components/schemas/CVSS' - datadog: - $ref: '#/components/schemas/CVSS' + client_id: + description: The client ID of the App Registration. + example: 66666666-7777-8888-9999-000000000000 + type: string + error_count: + description: The number of errors encountered while crawling resources for this App Registration. + example: 0 + format: int64 + type: integer + resource_collection_enabled: + description: Whether resource collection is enabled for this App Registration. + example: true + type: boolean + subscription_count: + description: The number of Azure subscriptions associated with this App Registration. + example: 3 + format: int64 + type: integer + tenant_id: + description: The Azure tenant ID of the App Registration. + example: 11111111-2222-3333-4444-555555555555 + type: string required: - - base - - datadog + - tenant_id + - client_id + - resource_collection_enabled + - subscription_count + - error_count + type: object + SecurityMonitoringGoogleWorkspaceIntegrationCredentialsValidateAttributes: + description: The Google Workspace credentials to validate against the external entity source. + properties: + domain: + description: The domain associated with the external entity source. + example: siem-test.com + type: string + integration_type: + $ref: '#/components/schemas/SecurityMonitoringIntegrationTypeGoogleWorkspace' + secrets: + $ref: '#/components/schemas/SecurityMonitoringIntegrationConfigGoogleWorkspaceSecrets' + required: + - integration_type + - domain + - secrets type: object - VulnerabilityDependencyLocations: - description: Static library vulnerability location. + SecurityMonitoringOktaIntegrationCredentialsValidateAttributes: + description: The Okta credentials to validate against the external entity source. properties: - block: - $ref: '#/components/schemas/DependencyLocation' - name: - $ref: '#/components/schemas/DependencyLocation' - version: - $ref: '#/components/schemas/DependencyLocation' + domain: + description: The domain associated with the external entity source. + example: siem-test.com + type: string + integration_type: + $ref: '#/components/schemas/SecurityMonitoringIntegrationTypeOkta' + secrets: + $ref: '#/components/schemas/SecurityMonitoringIntegrationConfigOktaSecrets' required: - - block + - integration_type + - domain + - secrets type: object - Library: - description: Vulnerability library. + SecurityMonitoringEntraIdIntegrationCredentialsValidateAttributes: + description: The Entra ID credentials to validate against the external entity source. properties: - name: - description: Vulnerability library name. - example: linux-aws-5.15 + domain: + description: The domain associated with the external entity source. + example: siem-test.com type: string - version: - description: Vulnerability library version. - example: 5.15.0 + integration_type: + $ref: '#/components/schemas/SecurityMonitoringIntegrationTypeEntraId' + required: + - integration_type + - domain + type: object + SecurityMonitoringCrowdStrikeIntegrationCredentialsValidateAttributes: + description: The CrowdStrike credentials to validate against the external entity source. + properties: + domain: + description: The domain associated with the external entity source. + example: api.crowdstrike.com type: string + integration_type: + $ref: '#/components/schemas/SecurityMonitoringIntegrationTypeCrowdStrike' + secrets: + $ref: '#/components/schemas/SecurityMonitoringIntegrationConfigCrowdStrikeSecrets' required: - - name + - integration_type + - domain + - secrets type: object - Remediation: - description: Vulnerability remediation. + SecurityMonitoringSentinelOneIntegrationCredentialsValidateAttributes: + description: The SentinelOne credentials to validate against the external entity source. properties: - auto_solvable: - description: >- - Whether the vulnerability can be resolved when recompiling the - package or not. - example: false - type: boolean - avoided_advisories: - description: Avoided advisories. - items: - $ref: '#/components/schemas/Advisory' - type: array - fixed_advisories: - description: Remediation fixed advisories. - items: - $ref: '#/components/schemas/Advisory' - type: array - library_name: - description: Library name remediating the vulnerability. - example: stdlib + domain: + description: The domain associated with the external entity source. + example: acme.sentinelone.net type: string - library_version: - description: Library version remediating the vulnerability. - example: Upgrade to a version >= 1.20.0 + integration_type: + $ref: '#/components/schemas/SecurityMonitoringIntegrationTypeSentinelOne' + secrets: + $ref: '#/components/schemas/SecurityMonitoringIntegrationConfigSentinelOneSecrets' + required: + - integration_type + - domain + - secrets + type: object + SecurityMonitoringGoogleWorkspaceIntegrationConfigUpdateAttributes: + description: Fields to update on a Google Workspace entity context sync configuration. + properties: + domain: + description: The new domain associated with the external entity source. + example: siem-test.com type: string - new_advisories: - description: New advisories. - items: - $ref: '#/components/schemas/Advisory' - type: array - remaining_advisories: - description: Remaining advisories. - items: - $ref: '#/components/schemas/Advisory' - type: array - type: - description: Remediation type. - example: text + enabled: + description: Whether the entity context sync should be enabled. + example: true + type: boolean + integration_type: + $ref: '#/components/schemas/SecurityMonitoringIntegrationTypeGoogleWorkspace' + name: + description: The new display name for the entity context sync configuration. + example: My GWS Integration (renamed) type: string + secrets: + $ref: '#/components/schemas/SecurityMonitoringIntegrationConfigGoogleWorkspaceSecrets' + settings: + $ref: '#/components/schemas/SecurityMonitoringIntegrationConfigSettings' required: - - type - - library_name - - library_version - - auto_solvable - - fixed_advisories - - remaining_advisories - - new_advisories - - avoided_advisories + - integration_type type: object - VulnerabilityRisks: - description: Vulnerability risks. + SecurityMonitoringOktaIntegrationConfigUpdateAttributes: + description: Fields to update on an Okta entity context sync configuration. properties: - epss: - $ref: '#/components/schemas/EPSS' - exploit_available: - description: Vulnerability public exploit availability. - example: false - type: boolean - exploit_sources: - description: Vulnerability exploit sources. - example: - - NIST - items: - example: NIST - type: string - type: array - exploitation_probability: - description: Vulnerability exploitation probability. - example: false - type: boolean - poc_exploit_available: - description: Vulnerability POC exploit availability. - example: false + domain: + description: The new domain associated with the external entity source. + example: siem-test.com + type: string + enabled: + description: Whether the entity context sync should be enabled. + example: true type: boolean + integration_type: + $ref: '#/components/schemas/SecurityMonitoringIntegrationTypeOkta' + name: + description: The new display name for the entity context sync configuration. + example: My Okta Integration (renamed) + type: string + secrets: + $ref: '#/components/schemas/SecurityMonitoringIntegrationConfigOktaSecrets' + settings: + $ref: '#/components/schemas/SecurityMonitoringIntegrationConfigSettings' required: - - exploitation_probability - - poc_exploit_available - - exploit_available - - exploit_sources + - integration_type type: object - VulnerabilityRelationshipsAffects: - description: Relationship type. + SecurityMonitoringEntraIdIntegrationConfigUpdateAttributes: + description: Fields to update on an Entra ID entity context sync configuration. properties: - data: - $ref: '#/components/schemas/VulnerabilityRelationshipsAffectsData' + domain: + description: The new domain associated with the external entity source. + example: siem-test.com + type: string + enabled: + description: Whether the entity context sync should be enabled. + example: true + type: boolean + integration_type: + $ref: '#/components/schemas/SecurityMonitoringIntegrationTypeEntraId' + name: + description: The new display name for the entity context sync configuration. + example: My Entra ID Integration (renamed) + type: string + settings: + $ref: '#/components/schemas/SecurityMonitoringIntegrationConfigSettings' required: - - data + - integration_type type: object - CloudWorkloadSecurityAgentRuleActions: - description: The array of actions the rule can perform if triggered - items: - $ref: '#/components/schemas/CloudWorkloadSecurityAgentRuleAction' - nullable: true - type: array - CloudWorkloadSecurityAgentRuleCreatorAttributes: - description: The attributes of the user who created the Agent rule + SecurityMonitoringCrowdStrikeIntegrationConfigUpdateAttributes: + description: Fields to update on a CrowdStrike entity context sync configuration. properties: - handle: - description: The handle of the user - example: datadog.user@example.com + domain: + description: The new domain associated with the external entity source. + example: api.crowdstrike.com type: string + enabled: + description: Whether the entity context sync should be enabled. + example: true + type: boolean + integration_type: + $ref: '#/components/schemas/SecurityMonitoringIntegrationTypeCrowdStrike' name: - description: The name of the user - example: Datadog User - nullable: true + description: The new display name for the entity context sync configuration. + example: My CrowdStrike Integration (renamed) type: string + secrets: + $ref: '#/components/schemas/SecurityMonitoringIntegrationConfigCrowdStrikeSecrets' + settings: + $ref: '#/components/schemas/SecurityMonitoringIntegrationConfigSettings' + required: + - integration_type type: object - CloudWorkloadSecurityAgentRuleUpdaterAttributes: - description: The attributes of the user who last updated the Agent rule + SecurityMonitoringSentinelOneIntegrationConfigUpdateAttributes: + description: Fields to update on a SentinelOne entity context sync configuration. properties: - handle: - description: The handle of the user - example: datadog.user@example.com + domain: + description: The new domain associated with the external entity source. + example: acme.sentinelone.net type: string + enabled: + description: Whether the entity context sync should be enabled. + example: true + type: boolean + integration_type: + $ref: '#/components/schemas/SecurityMonitoringIntegrationTypeSentinelOne' name: - description: The name of the user - example: Datadog User - nullable: true + description: The new display name for the entity context sync configuration. + example: My SentinelOne Integration (renamed) type: string + secrets: + $ref: '#/components/schemas/SecurityMonitoringIntegrationConfigSentinelOneSecrets' + settings: + $ref: '#/components/schemas/SecurityMonitoringIntegrationConfigSettings' + required: + - integration_type type: object + NotificationRulePreviewResults: + description: List of preview results for each rule type matched by the notification rule. + example: + - notification_status: DEFAULT + rule_type: log_detection + items: + $ref: '#/components/schemas/NotificationRulePreviewResult' + type: array SecurityFilterExclusionFilterResponse: description: A single exclusion filter. properties: @@ -10132,70 +31932,290 @@ components: example: Exclude staging type: string query: - description: >- - Exclusion filter query. Logs that match this query are excluded from - the security filter. + description: Exclusion filter query. Logs that match this query are excluded from the security filter. example: source:staging type: string required: - name - query type: object - SecurityMonitoringUser: - description: A user. + SecurityFilterVersionEntry: + description: A single security filter as it existed at a given configuration version. properties: - handle: - description: The handle of the user. - example: john.doe@datadoghq.com + exclusion_filters: + description: The list of exclusion filters applied in this security filter. + items: + $ref: '#/components/schemas/SecurityFilterExclusionFilterResponse' + type: array + filtered_data_type: + $ref: '#/components/schemas/SecurityFilterFilteredDataType' + id: + description: The ID of the security filter. + example: '123' type: string + is_builtin: + description: Whether the security filter is the built-in filter. + example: false + type: boolean + is_enabled: + description: Whether the security filter is enabled. + example: true + type: boolean name: - description: The name of the user. - example: John Doe - nullable: true + description: The name of the security filter. + example: Test Security Filter + type: string + query: + description: The query of the security filter. + example: source:test + type: string + version: + description: The version of this security filter. + example: 1 + format: int32 + maximum: 2147483647 + type: integer + required: + - id + - name + - version + - query + - is_enabled + - exclusion_filters + - filtered_data_type + - is_builtin + type: object + SecurityMonitoringRuleQueryAggregation: + description: The aggregation type. + enum: + - count + - cardinality + - sum + - max + - new_value + - geo_data + - event_count + - none + type: string + x-enum-varnames: + - COUNT + - CARDINALITY + - SUM + - MAX + - NEW_VALUE + - GEO_DATA + - EVENT_COUNT + - NONE + SecurityMonitoringStandardDataSource: + default: logs + description: Source of events, either logs, audit trail, security signals, or Datadog events. `app_sec_spans` is deprecated in favor of `spans`. + enum: + - logs + - audit + - app_sec_spans + - spans + - security_runtime + - network + - events + - security_signals + example: logs + type: string + x-enum-varnames: + - LOGS + - AUDIT + - APP_SEC_SPANS + - SPANS + - SECURITY_RUNTIME + - NETWORK + - EVENTS + - SECURITY_SIGNALS + SuppressionVersions: + description: A suppression version with a list of updates. + properties: + changes: + description: A list of changes. + items: + $ref: '#/components/schemas/VersionHistoryUpdate' + type: array + suppression: + $ref: '#/components/schemas/SecurityMonitoringSuppressionAttributes' + type: object + SecurityMonitoringContentPackStateDetails: + description: |- + Type-specific details for a content pack state. The set of fields present depends + on the content pack's `type`. When Cloud SIEM is inactive for the requesting organization, `onboarding` is returned instead of the content pack's usual type, such as `logs` or `vulnerability`.` + discriminator: + mapping: + appsec: '#/components/schemas/SecurityMonitoringContentPackAppSecDetails' + audit: '#/components/schemas/SecurityMonitoringContentPackAuditDetails' + entity: '#/components/schemas/SecurityMonitoringContentPackEntityDetails' + logs: '#/components/schemas/SecurityMonitoringContentPackLogsDetails' + onboarding: '#/components/schemas/SecurityMonitoringContentPackOnboardingDetails' + threat_intel: '#/components/schemas/SecurityMonitoringContentPackThreatIntelDetails' + vulnerability: '#/components/schemas/SecurityMonitoringContentPackVulnerabilityDetails' + propertyName: type + properties: + cp_activation: + $ref: '#/components/schemas/SecurityMonitoringContentPackActivation' + data_last_seen: + $ref: '#/components/schemas/SecurityMonitoringContentPackTimestampBucket' + filters_configured: + description: |- + Whether filters (Security Filters or Index Query depending on the pricing model) are + present and correctly configured to route logs into Cloud SIEM. + example: true + type: boolean + integration_installed_status: + $ref: '#/components/schemas/SecurityMonitoringContentPackIntegrationStatus' + logs_seen_from_any_index: + description: Whether logs for this content pack have been seen in any Datadog index in the last 72 hours. + example: true + type: boolean + siem_index_incorrect: + description: Whether the Cloud SIEM index configuration is incorrect (only applies to certain pricing models). + example: false + type: boolean + type: + $ref: '#/components/schemas/SecurityFilterFilteredDataType' + required: + - type + - cp_activation + - data_last_seen + - integration_installed_status + - filters_configured + - logs_seen_from_any_index + - siem_index_incorrect + type: object + SecurityMonitoringContentPackStatus: + description: The current operational status of a content pack. + enum: + - install + - activate + - initializing + - active + - warning + - broken + - not_configured + example: active + type: string + x-enum-descriptions: + - Not activated; no logs detected in the last 72 hours. + - Not activated; logs are flowing into a Datadog index but not yet routed through Cloud SIEM. + - Activated; awaiting first log ingestion. + - Activated; logs received within the last 24 hours. + - Activated; integration not installed or logs last seen 24 to 72 hours ago. + - Activated; no logs for over 72 hours, filter missing, or Cloud SIEM index incorrectly ordered. + - Activated, but no credentials are configured (entity content packs only). + x-enum-varnames: + - INSTALL + - ACTIVATE + - INITIALIZING + - ACTIVE + - WARNING + - BROKEN + - NOT_CONFIGURED + SecurityMonitoringDatasetDefinition: + description: |- + The definition of the dataset. The shape depends on the value of `data_source`. + Use `reference_table` or `managed_resource` for a referential dataset, or one of the + event platform sources (for example `logs`, `audit`, `events`, `spans`, `rum`) for + an event platform dataset. + properties: + columns: + description: For event platform datasets, the list of columns exposed by the dataset. + items: + $ref: '#/components/schemas/SecurityMonitoringDatasetColumn' + type: array + data_source: + description: The data source backing this dataset definition. + example: logs + type: string + indexes: + description: For event platform datasets, the list of indexes to query. + items: + type: string + type: array + name: + description: The unique name of the dataset. Must start with a lowercase letter and contain only lowercase letters, digits, and underscores (max 255 characters). + example: sample_dataset + type: string + query_filter: + description: For referential datasets, an optional filter expression applied to the table. + example: status = 'active' type: string + search: + $ref: '#/components/schemas/SecurityMonitoringDatasetSearch' + storage: + description: Storage tier the dataset reads from. Applies to event platform datasets. + example: hot + type: string + table_name: + description: For referential datasets, the name of the underlying table. + example: my_reference_table + type: string + time_window: + $ref: '#/components/schemas/SecurityMonitoringDatasetTimeWindow' + required: + - data_source + - name type: object - SecurityMonitoringRuleQueryAggregation: - description: The aggregation type. - enum: + SecurityMonitoringDatasetDependentsAttributes: + description: The attributes of a dataset dependents entry. + properties: + count: + description: The number of resources that depend on the dataset. + example: 0 + format: int64 + type: integer + datasetId: + description: The UUID of the dataset whose dependencies are being reported. + example: 123e4567-e89b-12d3-a456-426614174000 + type: string + ids: + $ref: '#/components/schemas/SecurityMonitoringDatasetDependentsIds' + resource_type: + description: The type of resource that depends on the dataset. + example: security_detection_rule + type: string + required: + - datasetId + - resource_type + - ids - count - - cardinality - - sum - - max - - new_value - - geo_data - - event_count - - none - type: string - x-enum-varnames: - - COUNT - - CARDINALITY - - SUM - - MAX - - NEW_VALUE - - GEO_DATA - - EVENT_COUNT - - NONE - SecurityMonitoringStandardDataSource: - default: logs - description: Source of events, either logs, audit trail, or Datadog events. + type: object + SecurityMonitoringDatasetDependentsType: + description: The type of resource for a dataset dependents entry. enum: - - logs - - audit - - app_sec_spans - - spans - - security_runtime - - network - - events - example: logs + - datasetDependents + example: datasetDependents type: string x-enum-varnames: - - LOGS - - AUDIT - - APP_SEC_SPANS - - SPANS - - SECURITY_RUNTIME - - NETWORK - - EVENTS + - DATASET_DEPENDENTS + SecurityMonitoringDatasetVersionHistoryEntries: + additionalProperties: + $ref: '#/components/schemas/SecurityMonitoringDatasetVersionEntry' + description: A map from version number (as a string) to the dataset state at that version. + type: object + EntityContextRevision: + description: A single historical revision of an entity, including the time range during which the revision was observed. + properties: + attributes: + $ref: '#/components/schemas/EntityContextRevisionAttributes' + first_seen_at: + description: The first time the entity was observed at this revision. + example: '2026-04-01T00:00:00Z' + format: date-time + type: string + last_seen_at: + description: The last time the entity was observed at this revision. + example: '2026-05-01T00:00:00Z' + format: date-time + type: string + required: + - attributes + - first_seen_at + - last_seen_at + type: object SecurityMonitoringRuleTypeTest: description: The rule type. enum: @@ -10214,11 +32234,9 @@ components: minimum: 0 type: integer flaggedIPType: - $ref: >- - #/components/schemas/SecurityMonitoringRuleCaseActionOptionsFlaggedIPType + $ref: '#/components/schemas/SecurityMonitoringRuleCaseActionOptionsFlaggedIPType' userBehaviorName: - $ref: >- - #/components/schemas/SecurityMonitoringRuleCaseActionOptionsUserBehaviorName + $ref: '#/components/schemas/SecurityMonitoringRuleCaseActionOptionsUserBehaviorName' type: object SecurityMonitoringRuleCaseActionType: description: The action type. @@ -10233,14 +32251,76 @@ components: - BLOCK_USER - USER_BEHAVIOR - FLAG_IP + SecurityMonitoringRuleAnomalyDetectionOptionsBucketDuration: + description: |- + Duration in seconds of the time buckets used to aggregate events matched by the rule. + Must be greater than or equal to 300. + enum: + - 300 + - 600 + - 900 + - 1800 + - 3600 + - 10800 + example: 300 + format: int32 + type: integer + x-enum-varnames: + - FIVE_MINUTES + - TEN_MINUTES + - FIFTEEN_MINUTES + - THIRTY_MINUTES + - ONE_HOUR + - THREE_HOURS + SecurityMonitoringRuleAnomalyDetectionOptionsDetectionTolerance: + description: |- + An optional parameter that sets how permissive anomaly detection is. + Higher values require higher deviations before triggering a signal. + enum: + - 1 + - 2 + - 3 + - 4 + - 5 + example: 5 + format: int32 + type: integer + x-enum-varnames: + - ONE + - TWO + - THREE + - FOUR + - FIVE + SecurityMonitoringRuleInstantaneousBaseline: + description: When set to true, Datadog uses previous values that fall within the defined learning window to construct the baseline, enabling the system to establish an accurate baseline more rapidly rather than relying solely on gradual learning over time. + example: false + type: boolean + SecurityMonitoringRuleAnomalyDetectionOptionsLearningDuration: + description: Learning duration in hours. Anomaly detection waits for at least this amount of historical data before it starts evaluating. + enum: + - 1 + - 6 + - 12 + - 24 + - 48 + - 168 + - 336 + format: int32 + type: integer + x-enum-varnames: + - ONE_HOUR + - SIX_HOURS + - TWELVE_HOURS + - ONE_DAY + - TWO_DAYS + - ONE_WEEK + - TWO_WEEKS CloudConfigurationRegoRule: description: Rule details. properties: policy: - description: >- - The policy written in `rego`, see: - https://www.openpolicyagent.org/docs/latest/policy-language/ - example: | + description: 'The policy written in `rego`, see: https://www.openpolicyagent.org/docs/latest/policy-language/' + example: |- package datadog import data.datadog.output as dd_output @@ -10266,13 +32346,12 @@ components: } type: string resourceTypes: - description: >- - List of resource types that will be evaluated upon. Must have at - least one element. + description: List of resource types that will be evaluated upon. Must have at least one element. example: - gcp_iam_service_account - gcp_iam_policy items: + description: A cloud resource type identifier. type: string type: array required: @@ -10280,55 +32359,36 @@ components: - resourceTypes type: object SecurityMonitoringRuleImpossibleTravelOptionsBaselineUserLocations: - description: >- - If true, signals are suppressed for the first 24 hours. In that time, - Datadog learns the user's regular - - access locations. This can be helpful to reduce noise and infer VPN - usage or credentialed API access. + description: |- + If true, signals are suppressed for the first 24 hours. In that time, Datadog learns the user's regular + access locations. This can be helpful to reduce noise and infer VPN usage or credentialed API access. example: true type: boolean + SecurityMonitoringRuleImpossibleTravelOptionsBaselineUserLocationsDuration: + description: The duration in days during which Datadog learns the user's regular access locations. After this period, signals are generated for accesses from unknown locations. + format: int32 + maximum: 30 + minimum: 1 + nullable: true + type: integer SecurityMonitoringRuleNewValueOptionsForgetAfter: description: The duration in days after which a learned value is forgotten. - enum: - - 1 - - 2 - - 7 - - 14 - - 21 - - 28 format: int32 + maximum: 30 + minimum: 1 type: integer - x-enum-varnames: - - ONE_DAY - - TWO_DAYS - - ONE_WEEK - - TWO_WEEKS - - THREE_WEEKS - - FOUR_WEEKS SecurityMonitoringRuleNewValueOptionsLearningDuration: default: 0 - description: >- - The duration in days during which values are learned, and after which - signals will be generated for values that - - weren't learned. If set to 0, a signal will be generated for all new - values after the first value is learned. - enum: - - 0 - - 1 - - 7 + description: |- + The duration in days during which values are learned, and after which signals will be generated for values that + weren't learned. If set to 0, a signal will be generated for all new values after the first value is learned. format: int32 + maximum: 30 + minimum: 0 type: integer - x-enum-varnames: - - ZERO_DAYS - - ONE_DAY - - SEVEN_DAYS SecurityMonitoringRuleNewValueOptionsLearningMethod: default: duration - description: >- - The learning method used to determine when signals should be generated - for values that weren't learned. + description: The learning method used to determine when signals should be generated for values that weren't learned. enum: - duration - threshold @@ -10338,9 +32398,7 @@ components: - THRESHOLD SecurityMonitoringRuleNewValueOptionsLearningThreshold: default: 0 - description: >- - A number of occurrences after which signals will be generated for values - that weren't learned. + description: A number of occurrences after which signals will be generated for values that weren't learned. enum: - 0 - 1 @@ -10349,6 +32407,30 @@ components: x-enum-varnames: - ZERO_OCCURRENCES - ONE_OCCURRENCE + SecurityMonitoringRuleSequenceDetectionStepTransition: + description: Transition from a parent step to a child step within a sequence detection rule. + properties: + child: + description: Name of the child step. + type: string + evaluationWindow: + $ref: '#/components/schemas/SecurityMonitoringRuleEvaluationWindow' + parent: + description: Name of the parent step. + type: string + type: object + SecurityMonitoringRuleSequenceDetectionStep: + description: Step definition for sequence detection containing the step name, condition, and evaluation window. + properties: + condition: + description: Condition referencing rule queries (e.g., `a > 0`). + type: string + evaluationWindow: + $ref: '#/components/schemas/SecurityMonitoringRuleEvaluationWindow' + name: + description: Unique name identifying the step. + type: string + type: object SecurityMonitoringThirdPartyRootQuery: description: A query to be combined with the third party case query. properties: @@ -10369,11 +32451,121 @@ components: changes: description: A list of changes. items: - $ref: '#/components/schemas/RuleVersionUpdate' + $ref: '#/components/schemas/VersionHistoryUpdate' type: array rule: $ref: '#/components/schemas/SecurityMonitoringRuleResponse' type: object + SampleLogGenerationSubscriptionStatus: + description: The status of the subscription. + enum: + - subscribed + - renewed + - unsubscribed + - no_active_subscription + - not_available + - active + - expired + example: subscribed + type: string + x-enum-varnames: + - SUBSCRIBED + - RENEWED + - UNSUBSCRIBED + - NO_ACTIVE_SUBSCRIPTION + - NOT_AVAILABLE + - ACTIVE + - EXPIRED + SampleLogGenerationDuration: + default: 3d + description: How long the subscription should remain active before expiring. + enum: + - 1h + - 1d + - 3d + - 7d + example: 3d + type: string + x-enum-varnames: + - ONE_HOUR + - ONE_DAY + - THREE_DAYS + - SEVEN_DAYS + SecurityMonitoringSignalVersion: + description: Version of the updated signal. If server side version is higher, update will be rejected. + format: int64 + type: integer + SecurityMonitoringSignalsBulkTriageEventAttributes: + description: Triage attributes of a security signal returned in a bulk update response. + properties: + archive_comment: + $ref: '#/components/schemas/SecurityMonitoringSignalArchiveComment' + archive_comment_timestamp: + description: Timestamp of the last edit to the archive comment. + format: int64 + type: integer + archive_comment_user: + $ref: '#/components/schemas/SecurityMonitoringTriageUser' + archive_reason: + $ref: '#/components/schemas/SecurityMonitoringSignalArchiveReason' + assignee: + $ref: '#/components/schemas/SecurityMonitoringTriageUser' + id: + description: The unique ID of the security signal. + example: AAAAAWgN8Xwgr1vKDQAAAABBV2dOOFh3ZzZobm1mWXJFYTR0OA + type: string + incident_ids: + $ref: '#/components/schemas/SecurityMonitoringSignalIncidentIds' + state: + $ref: '#/components/schemas/SecurityMonitoringSignalState' + state_update_timestamp: + description: Timestamp of the last state update. + format: int64 + type: integer + state_update_user: + $ref: '#/components/schemas/SecurityMonitoringTriageUser' + required: + - id + - state + - assignee + - incident_ids + type: object + SecurityMonitoringSignalArchiveComment: + description: Optional comment to display on archived signals. + type: string + SecurityMonitoringSignalArchiveReason: + description: Reason a signal is archived. + enum: + - none + - false_positive + - testing_or_maintenance + - remediated + - investigated_case_opened + - true_positive_benign + - true_positive_malicious + - other + type: string + x-enum-varnames: + - NONE + - FALSE_POSITIVE + - TESTING_OR_MAINTENANCE + - REMEDIATED + - INVESTIGATED_CASE_OPENED + - TRUE_POSITIVE_BENIGN + - TRUE_POSITIVE_MALICIOUS + - OTHER + SecurityMonitoringSignalState: + description: The new triage state of the signal. + enum: + - open + - archived + - under_review + example: open + type: string + x-enum-varnames: + - OPEN + - ARCHIVED + - UNDER_REVIEW SecurityMonitoringTriageUser: description: Object representing a given user entity. properties: @@ -10400,54 +32592,55 @@ components: required: - uuid type: object - SecurityMonitoringSignalVersion: - description: >- - Version of the updated signal. If server side version is higher, update - will be rejected. - format: int64 - type: integer - SecurityMonitoringSignalArchiveComment: - description: Optional comment to display on archived signals. - type: string - SecurityMonitoringSignalArchiveReason: - description: Reason a signal is archived. - enum: - - none - - false_positive - - testing_or_maintenance - - investigated_case_opened - - other - type: string - x-enum-varnames: - - NONE - - FALSE_POSITIVE - - TESTING_OR_MAINTENANCE - - INVESTIGATED_CASE_OPENED - - OTHER SecurityMonitoringSignalIncidentIds: description: Array of incidents that are associated with this signal. example: - 2066 items: - description: >- - Public ID attribute of the incident that is associated with the - signal. + description: Public ID attribute of the incident that is associated with the signal. example: 2066 format: int64 type: integer type: array - SecurityMonitoringSignalState: - description: The new triage state of the signal. + SignalEntityIdentity: + additionalProperties: {} + description: An identity entity related to a signal. The set of attributes is dynamic and depends on the source providing the identity. + example: + display_name: Test User + principal_id: user@example.com + type: object + SecurityMonitoringSignalSuggestedActionAttributes: + description: Attributes of a suggested action for a security signal. The available fields depend on the action type. + properties: + name: + description: The name of the investigation log query. + example: Cloudtrail events for user ARN + type: string + query_filter: + description: The log query filter for the investigation. + example: source:cloudtrail @userIdentity.arn:"foo" + type: string + template_variables: + $ref: '#/components/schemas/SecurityMonitoringSignalInvestigationQueryTemplateVariables' + title: + description: The title of the recommended blog post. + example: Monitor Okta logs to track system access and unusual activity + type: string + url: + description: The URL of the suggested action. + example: /logs?query=source%3Acloudtrail+%40userIdentity.arn%3A%22foo%22 + type: string + type: object + SecurityMonitoringSignalSuggestedActionType: + description: The type of the suggested action resource. enum: - - open - - archived - - under_review - example: open + - investigation_log_queries + - recommended_blog_posts + example: investigation_log_queries type: string x-enum-varnames: - - OPEN - - ARCHIVED - - UNDER_REVIEW + - INVESTIGATION_LOG_QUERIES + - RECOMMENDED_BLOG_POSTS SensitiveDataScannerGroupList: description: List of groups, ordered. properties: @@ -10531,56 +32724,77 @@ components: items: $ref: '#/components/schemas/SensitiveDataScannerRule' type: array - type: object - SensitiveDataScannerIncludedKeywordConfiguration: - description: >- - Object defining a set of keywords and a number of characters that help - reduce noise. - - You can provide a list of keywords you would like to check within a - defined proximity of the matching pattern. - - If any of the keywords are found within the proximity check, the match - is kept. - + type: object + SensitiveDataScannerIncludedKeywordConfiguration: + description: |- + Object defining a set of keywords and a number of characters that help reduce noise. + You can provide a list of keywords you would like to check within a defined proximity of the matching pattern. + If any of the keywords are found within the proximity check, the match is kept. If none are found, the match is discarded. properties: character_count: - description: >- - The number of characters behind a match detected by Sensitive Data - Scanner to look for the keywords defined. - - `character_count` should be greater than the maximum length of a - keyword defined for a rule. + description: |- + The number of characters behind a match detected by Sensitive Data Scanner to look for the keywords defined. + `character_count` should be greater than the maximum length of a keyword defined for a rule. example: 30 format: int64 maximum: 50 minimum: 1 type: integer keywords: - description: >- - Keyword list that will be checked during scanning in order to - validate a match. - + description: |- + Keyword list that will be checked during scanning in order to validate a match. The number of keywords in the list must be less than or equal to 30. example: - - credit card - - cc + - email + - address + - login items: + description: A keyword to match within the defined proximity of the detected pattern. type: string type: array use_recommended_keywords: - description: >- - Should the rule use the underlying standard pattern keyword - configuration. If set to `true`, the rule must be tied - - to a standard pattern. If set to `false`, the specified keywords and - `character_count` are applied. + description: |- + Should the rule use the underlying standard pattern keyword configuration. If set to `true`, the rule must be tied + to a standard pattern. If set to `false`, the specified keywords and `character_count` are applied. type: boolean required: - keywords - character_count type: object + SensitiveDataScannerSuppressions: + description: |- + Object describing the suppressions for a rule. There are three types of suppressions, `starts_with`, `ends_with`, and `exact_match`. + Suppressed matches are not obfuscated, counted in metrics, or displayed in the Findings page. + properties: + ends_with: + description: List of strings to use for suppression of matches ending with these strings. + example: + - '@example.com' + - another.example.com + items: + description: A string suffix; matches ending with this value are suppressed. + type: string + type: array + exact_match: + description: List of strings to use for suppression of matches exactly matching these strings. + example: + - admin@example.com + - user@example.com + items: + description: A string value; matches exactly equal to this value are suppressed. + type: string + type: array + starts_with: + description: List of strings to use for suppression of matches starting with these strings. + example: + - admin + - user + items: + description: A string prefix; matches starting with this value are suppressed. + type: string + type: array + type: object SensitiveDataScannerTextReplacement: description: Object describing how the scanned event will be replaced. properties: @@ -10595,11 +32809,7 @@ components: description: Required if type == 'replacement_string'. type: string should_save_match: - description: >- - Only valid when type == `replacement_string`. When enabled, matches - can be unmasked in logs by users with ‘Data Scanner Unmask’ - permission. As a security best practice, avoid masking for - highly-sensitive, long-lived data. + description: Only valid when type == `replacement_string`. When enabled, matches can be unmasked in logs by users with ‘Data Scanner Unmask’ permission. As a security best practice, avoid masking for highly-sensitive, long-lived data. type: boolean type: $ref: '#/components/schemas/SensitiveDataScannerTextReplacementType' @@ -10625,6 +32835,7 @@ components: included_keywords: description: List of included keywords. items: + description: A keyword used to increase match precision for the standard pattern. type: string type: array name: @@ -10632,15 +32843,10 @@ components: type: string pattern: deprecated: true - description: >- - (Deprecated) Regex to match, optionally documented for older - standard rules. Refer to the `description` field to understand what - the rule does. + description: (Deprecated) Regex to match, optionally documented for older standard rules. Refer to the `description` field to understand what the rule does. type: string priority: - description: >- - Integer from 1 (high) to 5 (low) indicating standard pattern issue - severity. + description: Integer from 1 (high) to 5 (low) indicating standard pattern issue severity. format: int64 maximum: 5 minimum: 1 @@ -10648,6 +32854,7 @@ components: tags: description: List of tags. items: + description: A tag associated with the standard pattern. type: string type: array type: object @@ -10669,9 +32876,10 @@ components: $ref: '#/components/schemas/CalculatedField' type: array cases: - description: Cases used for generating job results. + description: Cases used for generating job results. Up to 10 cases are allowed. items: $ref: '#/components/schemas/SecurityMonitoringRuleCaseCreate' + maxItems: 10 type: array from: description: Starting time of data analyzed by the job. @@ -10679,9 +32887,7 @@ components: format: int64 type: integer groupSignalsBy: - description: >- - Additional grouping to perform on top of the existing groups in the - query section. Must be a subset of the existing groups. + description: Additional grouping to perform on top of the existing groups in the query section. Must be a subset of the existing groups. example: - service items: @@ -10703,9 +32909,10 @@ components: options: $ref: '#/components/schemas/HistoricalJobOptions' queries: - description: Queries for selecting logs analyzed by the job. + description: Queries for selecting logs analyzed by the job. Up to 10 queries are allowed. items: $ref: '#/components/schemas/HistoricalJobQuery' + maxItems: 10 type: array referenceTables: description: Reference tables used in the queries. @@ -10715,15 +32922,15 @@ components: tags: description: Tags for generated signals. items: + description: A tag string in `key:value` format. type: string type: array thirdPartyCases: - description: >- - Cases for generating results from third-party detection method. Only - available for third-party detection method. + description: Cases for generating results from third-party detection method. Only available for third-party detection method. Up to 10 cases are allowed. example: [] items: $ref: '#/components/schemas/SecurityMonitoringThirdPartyRuleCaseCreate' + maxItems: 10 type: array to: description: Ending time of data analyzed by the job. @@ -10745,6 +32952,12 @@ components: JobDefinitionFromRule: description: Definition of a historical job based on a security monitoring rule. properties: + caseIndex: + description: Zero-based index of the rule case to use as the job's signal condition. When omitted, all cases are evaluated. Up to 10 cases are supported, so valid values are 0 to 9. + format: int32 + maximum: 9 + minimum: 0 + type: integer from: description: Starting time of data analyzed by the job. example: 1729843470000 @@ -10758,23 +32971,519 @@ components: description: Index used to load the data. example: cloud_siem type: string - notifications: - description: Notifications sent when the job is completed. - example: - - '@sns-cloudtrail-results' + notifications: + description: Notifications sent when the job is completed. + example: + - '@sns-cloudtrail-results' + items: + description: A notification recipient handle (for example, `@user` or `@channel`). + type: string + type: array + to: + description: Ending time of data analyzed by the job. + example: 1729847070000 + format: int64 + type: integer + required: + - id + - from + - to + - index + type: object + ScaRequestDataAttributesCommit: + description: Metadata about the commit associated with the SCA scan, including author, committer, and branch information. + properties: + author_date: + description: The date when the commit was authored. + type: string + author_email: + description: The email address of the commit author. + type: string + author_name: + description: The full name of the commit author. + type: string + branch: + description: The branch name on which the commit was made. + type: string + committer_email: + description: The email address of the person who committed the change. + type: string + committer_name: + description: The full name of the person who committed the change. + type: string + sha: + description: The SHA hash uniquely identifying the commit. + type: string + type: object + ScaRequestDataAttributesDependenciesItems: + description: A dependency found in the repository, including its identity, location, and reachability metadata. + properties: + exclusions: + description: A list of patterns or identifiers that should be excluded from analysis for this dependency. + items: + description: An exclusion pattern or identifier. + type: string + type: array + group: + description: The group or organization namespace of the dependency (e.g., Maven group ID). + type: string + is_dev: + description: Indicates whether this is a development-only dependency not used in production. + type: boolean + is_direct: + description: Indicates whether this is a direct dependency (as opposed to a transitive one). + type: boolean + language: + description: The programming language ecosystem of this dependency (e.g., java, python, javascript). + type: string + locations: + description: The list of source file locations where this dependency is declared. + items: + $ref: '#/components/schemas/ScaRequestDataAttributesDependenciesItemsLocationsItems' + type: array + name: + description: The name of the dependency package. + type: string + package_manager: + description: The package manager responsible for this dependency (e.g., maven, pip, npm). + type: string + purl: + description: The Package URL (PURL) uniquely identifying this dependency. + type: string + reachable_symbol_properties: + description: Properties describing symbols from this dependency that are reachable in the application code. + items: + $ref: '#/components/schemas/ScaRequestDataAttributesDependenciesItemsReachableSymbolPropertiesItems' + type: array + version: + description: The version of the dependency. + type: string + type: object + ScaRequestDataAttributesFilesItems: + description: A file entry in the repository associated with a dependency manifest. + properties: + name: + description: The name or path of the file within the repository. + type: string + purl: + description: The Package URL (PURL) associated with the dependency declared in this file. + type: string + type: object + ScaRequestDataAttributesRelationsItems: + description: A dependency relation describing which other components a given component depends on. + properties: + depends_on: + description: The list of BOM references that this component directly depends on. + items: + description: A BOM reference of a dependency. + type: string + type: array + ref: + description: The BOM reference of the component that has dependencies. + type: string + type: object + ScaRequestDataAttributesRepository: + description: Information about the source code repository being analyzed. + properties: + url: + description: The URL of the repository. + type: string + type: object + ScaRequestDataAttributesVulnerabilitiesItems: + description: A vulnerability entry from the Software Bill of Materials (SBOM), describing a known security issue and the components it affects. + properties: + affects: + description: The list of components affected by this vulnerability. + items: + $ref: '#/components/schemas/ScaRequestDataAttributesVulnerabilitiesItemsAffectsItems' + type: array + bom_ref: + description: The unique BOM reference identifier for this vulnerability entry. + type: string + id: + description: The vulnerability identifier (e.g., CVE ID or similar). + type: string + type: object + McpScanRequestDataAttributesLibraries: + description: The list of libraries to scan for vulnerabilities. + items: + $ref: '#/components/schemas/McpScanRequestDataAttributesLibrariesItems' + type: array + LicensesListResponseDataAttributesLicenses: + description: The list of SPDX licenses returned by the API. + items: + $ref: '#/components/schemas/LicensesListResponseDataAttributesLicensesItems' + type: array + ResolveVulnerableSymbolsResponseResults: + description: The result of resolving vulnerable symbols for a specific package, identified by its PURL. + properties: + purl: + description: The Package URL (PURL) uniquely identifying the package for which vulnerable symbols are resolved. + type: string + vulnerable_symbols: + description: The list of vulnerable symbol groups found in this package, organized by advisory. + items: + $ref: '#/components/schemas/ResolveVulnerableSymbolsResponseResultsVulnerableSymbols' + type: array + type: object + AiMemoryViolationType: + description: The type of AI memory violation result indicating whether it is a true positive or false positive. + enum: + - TP + - FP + example: FP + type: string + x-enum-varnames: + - TP + - FP + CustomRuleRevisionAttributesCategory: + description: Rule category + enum: + - SECURITY + - BEST_PRACTICES + - CODE_STYLE + - ERROR_PRONE + - PERFORMANCE + example: SECURITY + type: string + x-enum-varnames: + - SECURITY + - BEST_PRACTICES + - CODE_STYLE + - ERROR_PRONE + - PERFORMANCE + AiCustomRuleRevisionExecutionMode: + description: The execution mode for an AI rule revision. + enum: + - auto + - manual + - always + example: auto + type: string + x-enum-varnames: + - AUTO + - MANUAL + - ALWAYS + Language: + description: Programming language + enum: + - PYTHON + - JAVASCRIPT + - TYPESCRIPT + - JAVA + - GO + - YAML + - RUBY + - CSHARP + - PHP + - KOTLIN + - SWIFT + example: PYTHON + type: string + x-enum-varnames: + - PYTHON + - JAVASCRIPT + - TYPESCRIPT + - JAVA + - GO + - YAML + - RUBY + - CSHARP + - PHP + - KOTLIN + - SWIFT + CustomRuleRevisionAttributesSeverity: + description: Rule severity + enum: + - ERROR + - WARNING + - NOTICE + example: ERROR + type: string + x-enum-varnames: + - ERROR + - WARNING + - NOTICE + GetMultipleRulesetsResponseDataAttributesRulesetsItemsRulesItems: + description: A static analysis rule within a ruleset, including its definition, metadata, and associated test cases. + properties: + arguments: + description: The list of configurable arguments accepted by this rule. + items: + $ref: '#/components/schemas/GetMultipleRulesetsResponseDataAttributesRulesetsItemsRulesItemsArgumentsItems' + type: array + category: + description: The category classifying the type of issue this rule detects (e.g., security, style, performance). + type: string + checksum: + description: A checksum of the rule definition used to detect changes. + type: string + code: + description: The rule implementation code used by the static analysis engine. + type: string + created_at: + description: The date and time when the rule was created. + format: date-time + type: string + created_by: + description: The identifier of the user or system that created the rule. + type: string + cve: + description: The CVE identifier associated with the vulnerability this rule detects, if applicable. + type: string + cwe: + description: The CWE identifier associated with the weakness category this rule detects, if applicable. + type: string + data: + $ref: '#/components/schemas/GetMultipleRulesetsResponseDataAttributesRulesetsItemsRulesItemsData' + description: + description: A detailed explanation of what the rule detects and why it matters. + type: string + documentation_url: + description: A URL pointing to additional documentation for this rule. + type: string + entity_checked: + description: The code entity type (e.g., function, class, variable) that this rule inspects. + type: string + is_published: + description: Indicates whether the rule is publicly published and available to all users. + type: boolean + is_testing: + description: Indicates whether the rule is in testing mode and not yet promoted to production. + type: boolean + language: + description: The programming language this rule applies to. + type: string + last_updated_at: + description: The date and time when the rule was last modified. + format: date-time + type: string + last_updated_by: + description: The identifier of the user or system that last updated the rule. + type: string + name: + description: The unique name identifying this rule within its ruleset. + type: string + regex: + description: A regular expression pattern used by the rule for pattern-based detection. + type: string + severity: + description: The severity level of findings produced by this rule (e.g., ERROR, WARNING, NOTICE). + type: string + short_description: + description: A brief summary of what the rule detects, suitable for display in listings. + type: string + should_use_ai_fix: + description: Indicates whether an AI-generated fix suggestion should be offered for findings from this rule. + type: boolean + tests: + description: The list of test cases used to validate the rule's behavior. + items: + $ref: '#/components/schemas/GetMultipleRulesetsResponseDataAttributesRulesetsItemsRulesItemsTestsItems' + type: array + tree_sitter_query: + description: The Tree-sitter query expression used by the rule to match code patterns in the AST. + type: string + type: + description: The rule type indicating the detection mechanism used (e.g., tree_sitter, regex). + type: string + required: + - data + type: object + Argument: + description: A named argument for a custom static analysis rule. + properties: + description: + description: Base64-encoded argument description + example: YXJndW1lbnQgZGVzY3JpcHRpb24= + type: string + name: + description: Base64-encoded argument name + example: YXJndW1lbnRfbmFtZQ== + type: string + required: + - name + - description + type: object + CustomRuleRevisionTest: + description: A test case associated with a custom rule revision, used to validate rule behavior. + properties: + annotation_count: + description: Expected violation count + example: 1 + format: int64 + type: integer + code: + description: Test code + example: Y29uZHVjdG9yOgogICAgLSBkZXBsb3lfb25seTogdHJ1ZQ== + type: string + filename: + description: Test filename + example: test.yaml + type: string + required: + - filename + - code + - annotation_count + type: object + GetMultipleRulesetsResponseDataAttributesRulesetsItems: + description: A ruleset returned in the response, containing its metadata and associated rules. + properties: + data: + $ref: '#/components/schemas/GetMultipleRulesetsResponseDataAttributesRulesetsItemsData' + description: + description: A detailed description of the ruleset's purpose and the types of issues it targets. + type: string + name: + description: The unique name of the ruleset. + type: string + rules: + description: The list of static analysis rules included in this ruleset. + items: + $ref: '#/components/schemas/GetMultipleRulesetsResponseDataAttributesRulesetsItemsRulesItems' + type: array + short_description: + description: A brief summary of the ruleset, suitable for display in listings. + type: string + required: + - data + type: object + SecretRuleDataAttributesMatchValidation: + description: Configuration for validating whether a detected secret is active by making an HTTP request and inspecting the response. + properties: + endpoint: + description: The URL endpoint to call when validating a detected secret. + type: string + hosts: + description: The list of hostnames to include when performing secret match validation. + items: + description: A hostname used during match validation. + type: string + type: array + http_method: + description: The HTTP method (e.g., GET, POST) to use when making the validation request. + type: string + invalid_http_status_code: + description: The HTTP status code ranges that indicate the detected secret is invalid or inactive. + items: + $ref: '#/components/schemas/SecretRuleDataAttributesMatchValidationInvalidHttpStatusCodeItems' + type: array + request_headers: + additionalProperties: + type: string + description: A map of HTTP header names to values to include in the validation request. + type: object + timeout_seconds: + description: The maximum number of seconds to wait for a response during validation before timing out. + format: int64 + maximum: 18446744073709552000 + minimum: 0 + type: integer + type: + description: The type of match validation to perform (e.g., http). + type: string + valid_http_status_code: + description: The HTTP status code ranges that indicate the detected secret is valid and active. + items: + $ref: '#/components/schemas/SecretRuleDataAttributesMatchValidationValidHttpStatusCodeItems' + type: array + type: object + AnalysisRequestRule: + description: A static analysis rule to apply during code analysis. + properties: + category: + description: The category of the rule (for example, `BEST_PRACTICES`, `SECURITY`). + example: BEST_PRACTICES + type: string + checksum: + description: A checksum of the rule definition. + example: abc123def456 + type: string + code: + description: The base64-encoded rule implementation code. + example: ZnVuY3Rpb24gdmlzaXQobm9kZSkge30= + type: string + entity_checked: + description: The code entity type checked by the rule, applicable when rule type is `AST_CHECK`. + nullable: true + type: string + id: + description: The unique identifier of the rule. + example: python-best-practices/no-exit + type: string + language: + description: The programming language this rule targets. + example: python + type: string + regex: + description: A base64-encoded regex pattern used by the rule, applicable when rule type is `REGEX`. + nullable: true + type: string + severity: + description: The severity of findings from this rule (for example, `ERROR`, `WARNING`). + example: WARNING + type: string + tree_sitter_query: + description: The base64-encoded tree-sitter query used by the rule. + example: KGNhbGwgbmFtZTogKGF0dHJpYnV0ZSkpQHZhbA== + type: string + type: + description: The rule type indicating the detection mechanism (for example, `TREE_SITTER_QUERY`). + example: TREE_SITTER_QUERY + type: string + required: + - id + - category + - checksum + - language + - severity + - tree_sitter_query + - type + - code + type: object + AnalysisRuleResponse: + description: The result of applying a single static analysis rule to the analyzed source code. + properties: + errors: + description: A list of error messages encountered while executing the rule. + example: [] + items: + type: string + type: array + execution_error: + description: An error message if the rule execution failed, or null if execution succeeded. + example: null + nullable: true + type: string + execution_time_ms: + description: The time taken to execute the rule, in milliseconds. + example: 42 + format: int64 + type: integer + identifier: + description: The identifier of the rule that produced this response. + example: python-best-practices/no-exit + type: string + output: + description: The raw output produced by the rule engine during execution. + example: '' + type: string + violations: + description: The list of violations found by this rule. items: - type: string + $ref: '#/components/schemas/AnalysisViolation' type: array - to: - description: Ending time of data analyzed by the job. - example: 1729847070000 - format: int64 - type: integer required: - - id - - from - - to - - index + - errors + - execution_error + - execution_time_ms + - identifier + - output + - violations + type: object + NodeType: + additionalProperties: {} + description: A tree-sitter node type definition for a given language, describing the node's structure, subtypes, and fields. type: object CustomFrameworkControl: description: Framework Control. @@ -10788,29 +33497,290 @@ components: example: - '["def-000-abc"]' items: + description: A rule ID associated with the control. type: string type: array required: - name - rules_id type: object + RuleBasedViewRule: + description: A compliance rule along with its evaluation statistics and framework mappings. + properties: + compliance_frameworks: + $ref: '#/components/schemas/RuleBasedViewComplianceFrameworks' + enabled: + description: Whether the rule is enabled. + example: true + type: boolean + id: + description: Unique identifier of the rule. + example: qjx-udx-xo8 + type: string + name: + description: Human-readable name of the rule. + example: IAM roles should not allow untrusted GitHub Actions to assume them + type: string + resourceAttributes: + $ref: '#/components/schemas/RuleBasedViewResourceAttributes' + resourceCategory: + description: Resource category targeted by the rule. + example: identity + type: string + resourceType: + description: Resource type targeted by the rule. + example: aws_iam_role + type: string + stats: + $ref: '#/components/schemas/RuleBasedViewRuleStats' + status: + description: Severity associated with the rule (for example, `info`, `low`, `medium`, `high`, or `critical`). + example: critical + type: string + tags: + $ref: '#/components/schemas/RuleBasedViewRuleTags' + type: + $ref: '#/components/schemas/RuleBasedViewRuleCategory' + required: + - compliance_frameworks + - enabled + - id + - name + - resourceAttributes + - resourceCategory + - resourceType + - stats + - status + - tags + - type + type: object + OwnershipInferenceItem: + description: A single ownership inference, scoped to a specific owner type. + properties: + checksum: + description: A checksum that uniquely identifies the current state of the inference. Required when submitting feedback. + example: abc123 + type: string + confidence: + description: The confidence score of the inference, expressed as a numeric string with up to four decimal places. + example: '0.9500' + type: string + created_at: + description: The time when the inference was created. + example: '2026-01-15T10:00:00Z' + format: date-time + type: string + evidence_versions: + $ref: '#/components/schemas/OwnershipEvidenceVersions' + explanation: + description: A human-readable explanation of how the inference was produced. + example: High confidence match + type: string + id: + description: The identifier of the inference, formatted as `resource_id:owner_type`. + example: test-resource:team + type: string + owner_type: + $ref: '#/components/schemas/OwnershipOwnerType' + primary_contact_ref: + description: The primary contact reference for the inferred owner, formatted as `ref:handle/`. + example: ref:handle/team-a + nullable: true + type: string + sources: + $ref: '#/components/schemas/OwnershipInferenceSources' + status: + $ref: '#/components/schemas/OwnershipInferenceStatus' + updated_at: + description: The time when the inference was last updated. + example: '2026-01-15T10:00:00Z' + format: date-time + type: string + required: + - id + - owner_type + - confidence + - explanation + - evidence_versions + - sources + - status + - checksum + - created_at + - updated_at + type: object + OwnershipHistoryItem: + description: A single ownership inference history entry. + properties: + checksum: + description: A checksum identifying the state of the inference at this point in time. + example: '' + type: string + confidence: + description: The confidence score of the inference, expressed as a numeric string with up to four decimal places. + example: '0.9000' + type: string + created_at: + description: The time this history entry was created. + example: '2026-01-15T10:00:00Z' + format: date-time + type: string + evidence_versions: + $ref: '#/components/schemas/OwnershipEvidenceVersions' + explanation: + description: A human-readable explanation of how the inference was produced. + example: '' + type: string + failed_at: + description: The time when this inference failed, if applicable. + example: '2026-01-15T10:00:00Z' + format: date-time + nullable: true + type: string + failure_reason: + description: The reason why this inference failed, if applicable. + example: missing evidence + nullable: true + type: string + id: + description: The unique identifier of the history entry. + example: 100 + format: int64 + type: integer + owner_type: + $ref: '#/components/schemas/OwnershipOwnerType' + primary_contact_ref: + description: The primary contact reference for the inferred owner, formatted as `ref:handle/`. + example: ref:handle/team-a + nullable: true + type: string + resource_id: + description: The identifier of the resource that the inference applies to. + example: res-1 + type: string + retry_schedule: + description: The scheduled retry time for a failed inference, if applicable. + example: '2026-01-15T11:00:00Z' + format: date-time + nullable: true + type: string + sources: + $ref: '#/components/schemas/OwnershipInferenceSources' + status: + $ref: '#/components/schemas/OwnershipInferenceStatus' + required: + - id + - resource_id + - owner_type + - confidence + - explanation + - evidence_versions + - sources + - checksum + - status + - created_at + type: object + OwnershipEvidenceVersion: + additionalProperties: {} + description: A single evidence version entry describing how an inference was produced. + example: + pipeline_id: p1 + version: v3 + type: object + OwnershipInferenceSource: + additionalProperties: {} + description: A source describing how an inference was derived. + example: + kind: code_owners + type: object + CsmCloudProvider: + description: The cloud provider of a host resource. + enum: + - aws + - gcp + - azure + - oci + example: aws + type: string + x-enum-varnames: + - AWS + - GCP + - AZURE + - OCI + CsmAgentlessHostResourceType: + description: The type of cloud resource for an agentless host. + enum: + - aws_ec2_instance + - azure_virtual_machine_instance + - gcp_compute_instance + - oci_instance + example: aws_ec2_instance + type: string + x-enum-varnames: + - AWS_EC2_INSTANCE + - AZURE_VIRTUAL_MACHINE_INSTANCE + - GCP_COMPUTE_INSTANCE + - OCI_INSTANCE + CsmHostFacetInfoItem: + description: A single value and its occurrence count for a facet. + properties: + count: + description: The number of resources with this facet value. + example: 100 + format: int64 + type: integer + value: + description: The facet value. + example: aws + type: string + required: + - value + - count + type: object + CsmHostFacetDefaultValues: + description: The list of default filter values for the facet. + example: [] + items: + type: string + type: array + CsmHostFacetGroups: + description: The list of UI groups that this facet belongs to. + example: + - agentless + items: + type: string + type: array + CsmHostFacetValues: + description: The list of allowed filter values for bounded facets. Empty for unbounded facets. + example: + - aws + - gcp + items: + type: string + type: array + CsmUnifiedHostSource: + description: The source of a unified host entry, indicating whether it was discovered via agent, agentless scanning, or both. + enum: + - agent + - agentless + - both + example: agent + type: string + x-enum-varnames: + - AGENT + - AGENTLESS + - BOTH FindingDatadogLink: description: The Datadog relative link for this finding. - example: >- - /security/compliance?panels=cpfinding%7Cevent%7CruleId%3Adef-000-u5t%7CresourceId%3Ae8c9ab7c52ebd7bf2fdb4db641082d7d%7CtabId%3Aoverview + example: /security/compliance?panels=cpfinding%7Cevent%7CruleId%3Adef-000-u5t%7CresourceId%3Ae8c9ab7c52ebd7bf2fdb4db641082d7d%7CtabId%3Aoverview type: string FindingDescription: description: The description and remediation steps for this finding. - example: >- + example: |- ## Remediation - 1. In the console, go to **Storage Account**. - 2. For each Storage Account, navigate to **Data Protection**. - - 3. Select **Set soft delete enabled** and enter the number of days to - retain soft deleted data. + 3. Select **Set soft delete enabled** and enter the number of days to retain soft deleted data. type: string FindingExternalId: description: The cloud-based ID for the resource related to the finding. @@ -10836,6 +33806,234 @@ components: - HUMAN_ERROR - NO_LONGER_ACCEPTED_RISK - OTHER + FindingData: + description: Data object representing a security finding. + properties: + id: + description: Unique identifier of the security finding. + example: ZGVmLTAwcC1pZXJ-aS0wZjhjNjMyZDNmMzRlZTgzNw== + type: string + type: + $ref: '#/components/schemas/FindingDataType' + required: + - type + - id + type: object + DueDatePerSeverityList: + description: A list of severity-to-due-date mappings. Each severity may appear at most once. + items: + $ref: '#/components/schemas/DueDatePerSeverityItem' + type: array + DueDateFrom: + description: The reference point from which the due date is calculated. When `fix_available` is selected but not applicable to the finding type, `first_seen` is used instead. + enum: + - first_seen + - fix_available + example: first_seen + type: string + x-enum-varnames: + - FIRST_SEEN + - FIX_AVAILABLE + SecurityFindingTypes: + description: The list of security finding types that the automation rule applies to. + example: + - misconfiguration + items: + $ref: '#/components/schemas/SecurityFindingType' + minItems: 1 + type: array + AutomationRuleActorType: + description: Whether the actor is a user or the Datadog system. + enum: + - user + - system + example: user + type: string + x-enum-varnames: + - USER + - SYSTEM + MuteReason: + description: The reason for muting a security finding. + enum: + - duplicate + - false_positive + - no_fix + - other + - pending_fix + - risk_accepted + example: risk_accepted + type: string + x-enum-varnames: + - DUPLICATE + - FALSE_POSITIVE + - NO_FIX + - OTHER + - PENDING_FIX + - RISK_ACCEPTED + SeverityModifierRuleSetAction: + description: Sets matched findings to a fixed severity. + properties: + description: + description: An optional free-form explanation for the severity change. + example: Lower severity for dev environment noise + maxLength: 20000 + type: string + severity: + $ref: '#/components/schemas/SeverityModifierSeverity' + type: + $ref: '#/components/schemas/SeverityModifierRuleSetActionType' + required: + - type + - severity + type: object + SeverityModifierRuleShiftAction: + description: Shifts matched findings up or down by one severity rank. + properties: + description: + description: An optional free-form explanation for the severity change. + example: Lower severity for dev environment noise + maxLength: 20000 + type: string + severity_delta: + $ref: '#/components/schemas/SeverityModifierSeverityDelta' + type: + $ref: '#/components/schemas/SeverityModifierRuleShiftActionType' + required: + - type + - severity_delta + type: object + TicketCreationTarget: + description: The ticketing system to create tickets in. + enum: + - jira + - case_management + example: jira + type: string + x-enum-varnames: + - JIRA + - CASE_MANAGEMENT + CaseManagementProjectData: + description: Data object representing a case management project. + properties: + id: + description: Unique identifier of the case management project. + example: aeadc05e-98a8-11ec-ac2c-da7ad0900001 + type: string + type: + $ref: '#/components/schemas/CaseManagementProjectDataType' + required: + - type + - id + type: object + RelationshipToUserData: + description: Relationship to user object. + properties: + id: + description: A unique identifier that represents the user. + example: 00000000-0000-0000-2345-000000000000 + type: string + type: + $ref: '#/components/schemas/UsersType' + required: + - id + - type + type: object + FindingJiraIssueResult: + description: Result of the Jira issue creation. + properties: + account_id: + description: Account ID of the Jira issue. + example: 463a8631-680e-455c-bfd3-3ed04d326eb7 + type: string + issue_id: + description: Unique identifier of the Jira issue. + example: '2871276' + type: string + issue_key: + description: Key of the Jira issue. + example: PROJ-123 + type: string + issue_url: + description: URL of the Jira issue. + example: https://domain.atlassian.net/browse/PROJ-123 + type: string + type: object + FindingLinearIssueResult: + description: Result of the Linear issue creation. + properties: + account_id: + description: Account ID of the Linear workspace. + example: 463a8631-680e-455c-bfd3-3ed04d326eb7 + type: string + issue_id: + description: Unique identifier of the Linear issue. + example: 9c1e5f8a-2b3d-4c7e-8f6a-1d2e3f4a5b6c + type: string + issue_key: + description: Key of the Linear issue. + example: ENG-123 + type: string + team_id: + description: Team ID of the Linear issue. + example: b5d3c8a1-7e6f-4d2c-9a8b-3c4d5e6f7a8b + type: string + url: + description: URL of the Linear issue. + example: https://linear.app/your-workspace/issue/ENG-123 + type: string + type: object + FindingServiceNowTicketResult: + description: Result of the ServiceNow ticket creation or attachment. + properties: + instance_name: + description: ServiceNow instance name extracted from the ticket URL. + example: example + type: string + sys_id: + description: Unique identifier of the ServiceNow incident record. + example: abcdef0123456789abcdef0123456789 + type: string + sys_target_link: + description: Direct link to the ServiceNow incident record. + example: https://example.service-now.com/incident.do?sys_id=abcdef0123456789abcdef0123456789 + type: string + sys_target_sys_id: + description: Unique identifier of the target ServiceNow record. + example: abcdef0123456789abcdef0123456789 + type: string + table_name: + description: ServiceNow table containing the incident record. + example: incident + type: string + url: + description: URL of the ServiceNow incident record. + example: https://example.service-now.com/now/nav/ui/classic/params/target/incident.do?sys_id=abcdef0123456789abcdef0123456789 + type: string + type: object + MuteFindingsReason: + description: The reason why the findings are muted or unmuted. + enum: + - PENDING_FIX + - FALSE_POSITIVE + - OTHER + - NO_FIX + - DUPLICATE + - RISK_ACCEPTED + - NO_PENDING_FIX + - HUMAN_ERROR + - NO_LONGER_ACCEPTED_RISK + example: PENDING_FIX + type: string + x-enum-varnames: + - PENDING_FIX + - FALSE_POSITIVE + - OTHER + - NO_FIX + - DUPLICATE + - RISK_ACCEPTED + - NO_PENDING_FIX + - HUMAN_ERROR + - NO_LONGER_ACCEPTED_RISK SBOMComponentLicense: description: The software license of the component of the SBOM. properties: @@ -10902,29 +34100,88 @@ components: SBOMMetadataAuthor: description: Author of the SBOM. properties: - name: - description: The identifier of the Author of the SBOM. - example: Datadog, Inc. + name: + description: The identifier of the Author of the SBOM. + example: Datadog, Inc. + type: string + type: object + SBOMMetadataComponent: + description: The component that the BOM describes. + properties: + name: + description: The name of the component. This will often be a shortened, single name of the component. + example: github.com/datadog/datadog-agent + type: string + type: + description: Specifies the type of the component. + example: application + type: string + type: object + IoCGeoLocation: + description: Geographic location information for an IP indicator. + properties: + city: + description: City name. + type: string + country_code: + description: ISO country code. + type: string + country_name: + description: Full country name. + type: string + type: object + IoCSource: + description: A threat intelligence source that has flagged an indicator. + properties: + name: + description: Name of the threat intelligence source. + type: string + type: object + IoCScoreEffect: + description: Effect of a scoring factor on the indicator's threat score. + enum: + - RAISE_SCORE + - LOWER_SCORE + - NO_EFFECT + type: string + x-enum-varnames: + - RAISE_SCORE + - LOWER_SCORE + - NO_EFFECT + IoCSignalSeverityCount: + description: Count of security signals by severity level. + properties: + count: + description: Number of signals at this severity level. + format: int64 + type: integer + severity: + description: Severity level (for example, critical, high, medium, low, info). type: string type: object - SBOMMetadataComponent: - description: The component that the BOM describes. + IoCTriageEvent: + description: A single entry in an indicator's triage history timeline. properties: - name: - description: >- - The name of the component. This will often be a shortened, single - name of the component. - example: github.com/datadog/datadog-agent + triage_state: + $ref: '#/components/schemas/IoCTriageState' + triaged_at: + description: Timestamp when this triage action occurred. + format: date-time type: string - type: - description: Specifies the type of the component. - example: application + triaged_by: + description: UUID of the user who performed this triage action. type: string type: object + NotificationRuleRoutingMode: + description: The routing mode for the notification rule. `manual` sends notifications to the configured targets. + enum: + - manual + example: manual + type: string + x-enum-varnames: + - MANUAL NotificationRuleQuery: - description: >- - The query is composed of one or several key:value pairs, which can be - used to filter security issues on tags and attributes. + description: The query is composed of one or several key:value pairs, which can be used to filter security issues on tags and attributes. example: (source:production_service OR env:prod) type: string RuleTypes: @@ -10954,13 +34211,9 @@ components: - UNKNOWN - INFO TriggerSource: - description: >- - The type of security issues on which the rule applies. Notification - rules based on security signals need to use the trigger source - "security_signals", - - while notification rules based on security vulnerabilities need to use - the trigger source "security_findings". + description: |- + The type of security issues on which the rule applies. Notification rules based on security signals need to use the trigger source "security_signals", + while notification rules based on security vulnerabilities need to use the trigger source "security_findings". enum: - security_findings - security_signals @@ -11083,25 +34336,105 @@ components: set: $ref: '#/components/schemas/CloudWorkloadSecurityAgentRuleActionSet' type: object - SecurityMonitoringRuleCaseActionOptionsFlaggedIPType: - description: >- - Used with the case action of type 'flag_ip'. The value specified in this - field is applied as a flag to the IP addresses. + SecurityMonitoringIntegrationTypeGoogleWorkspace: + description: The source type for a Google Workspace entity context sync. enum: - - SUSPICIOUS - - FLAGGED - example: FLAGGED + - GOOGLE_WORKSPACE + example: GOOGLE_WORKSPACE type: string x-enum-varnames: - - SUSPICIOUS - - FLAGGED - SecurityMonitoringRuleCaseActionOptionsUserBehaviorName: - description: >- - Used with the case action of type 'user_behavior'. The value specified - in this field is applied as a risk tag to all users affected by the - rule. + - GOOGLE_WORKSPACE + SecurityMonitoringIntegrationConfigGoogleWorkspaceSecrets: + description: Credentials for a Google Workspace entity context sync. + properties: + admin_email: + description: The admin email to impersonate for domain-wide delegation. + example: admin@example.com + type: string + service_account_json: + $ref: '#/components/schemas/SecurityMonitoringIntegrationConfigGoogleWorkspaceServiceAccount' + required: + - service_account_json + type: object + SecurityMonitoringIntegrationTypeOkta: + description: The source type for an Okta entity context sync. + enum: + - OKTA + example: OKTA + type: string + x-enum-varnames: + - OKTA + SecurityMonitoringIntegrationConfigOktaSecrets: + description: Credentials for an Okta entity context sync. + properties: + api_token: + description: The Okta API token used to authenticate against the Okta API. + example: 00aBcDeFgHiJkLmNoPqRsTuVwXyZ + type: string + required: + - api_token + type: object + SecurityMonitoringIntegrationTypeEntraId: + description: The source type for an Entra ID entity context sync. + enum: + - ENTRA_ID + example: ENTRA_ID + type: string + x-enum-varnames: + - ENTRA_ID + SecurityMonitoringIntegrationTypeCrowdStrike: + description: The source type for a CrowdStrike entity context sync. + enum: + - CROWDSTRIKE + example: CROWDSTRIKE + type: string + x-enum-varnames: + - CROWDSTRIKE + SecurityMonitoringIntegrationConfigCrowdStrikeSecrets: + description: Credentials for a CrowdStrike entity context sync. + properties: + client_id: + description: The CrowdStrike API client ID. + example: abcdef0123456789abcdef0123456789 + type: string + client_secret: + description: The CrowdStrike API client secret. + example: aBcDeFgHiJkLmNoPqRsTuVwXyZ0123456789ABCDEF + type: string + required: + - client_id + - client_secret + type: object + SecurityMonitoringIntegrationTypeSentinelOne: + description: The source type for a SentinelOne entity context sync. + enum: + - SENTINELONE + example: SENTINELONE type: string - RuleVersionUpdate: + x-enum-varnames: + - SENTINELONE + SecurityMonitoringIntegrationConfigSentinelOneSecrets: + description: Credentials for a SentinelOne entity context sync. + properties: + api_token: + description: The SentinelOne API token. + example: aBcDeFgHiJkLmNoPqRsTuVwXyZ0123456789 + type: string + required: + - api_token + type: object + NotificationRulePreviewResult: + description: The preview result for a single rule type. + properties: + notification_status: + $ref: '#/components/schemas/NotificationRulePreviewNotificationStatus' + rule_type: + $ref: '#/components/schemas/RuleTypesItems' + required: + - rule_type + - notification_status + type: object + VersionHistoryUpdate: description: A change in a rule version. properties: change: @@ -11113,7 +34446,207 @@ components: example: Tags type: string type: - $ref: '#/components/schemas/RuleVersionUpdateType' + $ref: '#/components/schemas/VersionHistoryUpdateType' + type: object + SecurityMonitoringContentPackLogsDetails: + description: Details for a logs-based content pack. + properties: + cp_activation: + $ref: '#/components/schemas/SecurityMonitoringContentPackActivation' + data_last_seen: + $ref: '#/components/schemas/SecurityMonitoringContentPackTimestampBucket' + filters_configured: + description: |- + Whether filters (Security Filters or Index Query depending on the pricing model) are + present and correctly configured to route logs into Cloud SIEM. + example: true + type: boolean + integration_installed_status: + $ref: '#/components/schemas/SecurityMonitoringContentPackIntegrationStatus' + logs_seen_from_any_index: + description: Whether logs for this content pack have been seen in any Datadog index in the last 72 hours. + example: true + type: boolean + siem_index_incorrect: + description: Whether the Cloud SIEM index configuration is incorrect (only applies to certain pricing models). + example: false + type: boolean + type: + $ref: '#/components/schemas/SecurityFilterFilteredDataType' + required: + - type + - cp_activation + - data_last_seen + - integration_installed_status + - filters_configured + - logs_seen_from_any_index + - siem_index_incorrect + type: object + SecurityMonitoringContentPackThreatIntelDetails: + description: Details for a threat intelligence content pack. + properties: + cp_activation: + $ref: '#/components/schemas/SecurityMonitoringContentPackActivation' + data_last_seen: + $ref: '#/components/schemas/SecurityMonitoringContentPackTimestampBucket' + integration_installed_status: + $ref: '#/components/schemas/SecurityMonitoringContentPackIntegrationStatus' + type: + $ref: '#/components/schemas/SecurityMonitoringContentPackThreatIntelDetailsType' + required: + - type + - cp_activation + - data_last_seen + - integration_installed_status + type: object + SecurityMonitoringContentPackEntityDetails: + description: Details for an entity or identity content pack. + properties: + cp_activation: + $ref: '#/components/schemas/SecurityMonitoringContentPackActivation' + type: + $ref: '#/components/schemas/SecurityMonitoringContentPackEntityDetailsType' + required: + - type + - cp_activation + type: object + SecurityMonitoringContentPackAuditDetails: + description: Details for an audit trail content pack. + properties: + type: + $ref: '#/components/schemas/SecurityMonitoringContentPackAuditDetailsType' + required: + - type + type: object + SecurityMonitoringContentPackAppSecDetails: + description: Details for an Application Security content pack. + properties: + type: + $ref: '#/components/schemas/SecurityMonitoringContentPackAppSecDetailsType' + required: + - type + type: object + SecurityMonitoringContentPackVulnerabilityDetails: + description: Details for a vulnerability content pack. + properties: + cp_activation: + $ref: '#/components/schemas/SecurityMonitoringContentPackActivation' + data_last_seen: + $ref: '#/components/schemas/SecurityMonitoringContentPackTimestampBucket' + integration_installed_status: + $ref: '#/components/schemas/SecurityMonitoringContentPackIntegrationStatus' + type: + $ref: '#/components/schemas/SecurityMonitoringContentPackVulnerabilityDetailsType' + required: + - type + - cp_activation + - data_last_seen + - integration_installed_status + type: object + SecurityMonitoringContentPackOnboardingDetails: + description: Content pack details returned when Cloud SIEM is inactive for the requesting organization. + properties: + integration_installed_status: + $ref: '#/components/schemas/SecurityMonitoringContentPackIntegrationStatus' + logs_seen_from_any_index: + description: Whether logs for this content pack have been seen in any Datadog index in the last 72 hours. + example: true + type: boolean + type: + $ref: '#/components/schemas/SecurityMonitoringContentPackOnboardingDetailsType' + required: + - type + - logs_seen_from_any_index + type: object + SecurityMonitoringDatasetColumn: + description: A column exposed by an event platform dataset. + properties: + column: + description: The name of the column. + example: message + type: string + type: + description: The type of the column value. + example: string + type: string + required: + - column + - type + type: object + SecurityMonitoringDatasetSearch: + description: The search clause applied to an event platform dataset. + properties: + query: + description: The search query expression. + example: '*' + type: string + required: + - query + type: object + SecurityMonitoringDatasetTimeWindow: + description: An optional time window that overrides the default query time range. + properties: + from: + description: Inclusive start of the time window, in milliseconds since the Unix epoch. + example: 1700000000000 + format: int64 + type: integer + to: + description: Exclusive end of the time window, in milliseconds since the Unix epoch. + example: 1700003600000 + format: int64 + type: integer + type: object + SecurityMonitoringDatasetDependentsIds: + description: The list of resource IDs that depend on the dataset. + example: [] + items: + type: string + type: array + SecurityMonitoringDatasetVersionEntry: + description: A single entry in the version history of a dataset. + properties: + changes: + $ref: '#/components/schemas/SecurityMonitoringDatasetVersionChanges' + dataset: + $ref: '#/components/schemas/SecurityMonitoringDatasetAttributesResponse' + required: + - dataset + - changes + type: object + EntityContextRevisionAttributes: + additionalProperties: {} + description: The set of attributes recorded for the entity at this revision. The keys depend on the kind of entity. + example: + accounts: + - linked-account-123 + display_name: Test User + email: user@example.com + principal_id: user@example.com + type: object + SecurityMonitoringRuleCaseActionOptionsFlaggedIPType: + description: Used with the case action of type 'flag_ip'. The value specified in this field is applied as a flag to the IP addresses. + enum: + - SUSPICIOUS + - FLAGGED + example: FLAGGED + type: string + x-enum-varnames: + - SUSPICIOUS + - FLAGGED + SecurityMonitoringRuleCaseActionOptionsUserBehaviorName: + description: Used with the case action of type 'user_behavior'. The value specified in this field is applied as a risk tag to all users affected by the rule. + type: string + SecurityMonitoringSignalInvestigationQueryTemplateVariables: + additionalProperties: + items: + description: A value for this template variable extracted from the signal. + type: string + type: array + description: Template variables applied to the investigation log query, mapping attribute paths to values extracted from the signal. + example: + '@userIdentity.arn': + - foo type: object SensitiveDataScannerGroupItem: description: Data related to a Sensitive Data Scanner Group. @@ -11144,19 +34677,12 @@ components: type: object SensitiveDataScannerTextReplacementType: default: none - description: >- + description: |- Type of the replacement text. None means no replacement. - hash means the data will be stubbed. replacement_string means that - - one can chose a text to replace the data. - partial_replacement_from_beginning - + one can chose a text to replace the data. partial_replacement_from_beginning allows a user to partially replace the data from the beginning, and - - partial_replacement_from_end on the other hand, allows to replace data - from - + partial_replacement_from_end on the other hand, allows to replace data from the end. enum: - none @@ -11192,6 +34718,8 @@ components: HistoricalJobOptions: description: Job options. properties: + anomalyDetectionOptions: + $ref: '#/components/schemas/SecurityMonitoringRuleAnomalyDetectionOptions' detectionMethod: $ref: '#/components/schemas/SecurityMonitoringRuleDetectionMethod' evaluationWindow: @@ -11204,16 +34732,42 @@ components: $ref: '#/components/schemas/SecurityMonitoringRuleMaxSignalDuration' newValueOptions: $ref: '#/components/schemas/SecurityMonitoringRuleNewValueOptions' + sequenceDetectionOptions: + $ref: '#/components/schemas/SecurityMonitoringRuleSequenceDetectionOptions' thirdPartyRuleOptions: $ref: '#/components/schemas/SecurityMonitoringRuleThirdPartyOptions' type: object HistoricalJobQuery: description: Query for selecting logs analyzed by the historical job. properties: + additionalFilters: + description: Additional filters appended to the query at evaluation time. + type: string aggregation: $ref: '#/components/schemas/SecurityMonitoringRuleQueryAggregation' + correlatedByFields: + description: Fields used to correlate results across queries in sequence detection rules. + items: + description: Field. + type: string + type: array + correlatedQueryIndex: + description: Zero-based index of the query to correlate with in sequence detection rules. Up to 10 queries are supported, so valid values are 0 to 9. + format: int64 + maximum: 9 + minimum: 0 + type: integer + customQueryExtension: + description: Custom query extension used to refine the base query. + type: string dataSource: $ref: '#/components/schemas/SecurityMonitoringStandardDataSource' + datasetIds: + description: IDs of reference datasets used by this query. + items: + description: Dataset ID. + type: string + type: array distinctFields: description: Field for which the cardinality is measured. Sent as an array. items: @@ -11228,30 +34782,408 @@ components: type: array hasOptionalGroupByFields: default: false - description: >- - When false, events without a group-by value are ignored by the - query. When true, events with missing group-by fields are processed - with `N/A`, replacing the missing values. + description: When false, events without a group-by value are ignored by the query. When true, events with missing group-by fields are processed with `N/A`, replacing the missing values. example: false type: boolean + index: + description: Index used to load the data for this query. + type: string + indexes: + description: Indexes used to load the data for this query. Mutually exclusive with `index`. + items: + description: Index name. + type: string + type: array metrics: - description: >- - Group of target fields to aggregate over when using the sum, max, - geo data, or new value aggregations. The sum, max, and geo data - aggregations only accept one value in this list, whereas the new - value aggregation accepts up to five values. + description: Group of target fields to aggregate over when using the sum, max, geo data, or new value aggregations. The sum, max, and geo data aggregations only accept one value in this list, whereas the new value aggregation accepts up to five values. + items: + description: Field. + type: string + type: array + name: + description: Name of the query. + type: string + query: + description: Query to run on logs. + example: a > 3 + type: string + queryLanguage: + description: Language used to parse the query string. + type: string + type: object + ScaRequestDataAttributesDependenciesItemsLocationsItems: + description: The source code location where a dependency is declared, including block, name, namespace, and version positions within the file. + properties: + block: + $ref: '#/components/schemas/ScaRequestDataAttributesDependenciesItemsLocationsItemsFilePosition' + name: + $ref: '#/components/schemas/ScaRequestDataAttributesDependenciesItemsLocationsItemsFilePosition' + namespace: + $ref: '#/components/schemas/ScaRequestDataAttributesDependenciesItemsLocationsItemsFilePosition' + version: + $ref: '#/components/schemas/ScaRequestDataAttributesDependenciesItemsLocationsItemsFilePosition' + type: object + ScaRequestDataAttributesDependenciesItemsReachableSymbolPropertiesItems: + description: A key-value property describing a reachable symbol within a dependency. + properties: + name: + description: The name of the reachable symbol property. + type: string + value: + description: The value of the reachable symbol property. + type: string + type: object + ScaRequestDataAttributesVulnerabilitiesItemsAffectsItems: + description: A reference to a component affected by a vulnerability. + properties: + ref: + description: The BOM reference identifying the affected component. + type: string + type: object + McpScanRequestDataAttributesLibrariesItems: + description: A library declaration to include in the dependency scan. + properties: + exclusions: + $ref: '#/components/schemas/McpScanRequestDataAttributesLibrariesItemsExclusions' + is_dev: + description: Whether this library is a development-only dependency. + example: false + type: boolean + is_direct: + description: Whether this library is a direct (rather than transitive) dependency. + example: true + type: boolean + package_manager: + description: The package manager that produced this library entry (for example, `npm`, `pip`, `nuget`). + example: nuget + type: string + purl: + description: The Package URL (PURL) uniquely identifying the library and its version. + example: pkg:nuget/Newtonsoft.Json@13.0.1 + type: string + target_frameworks: + $ref: '#/components/schemas/McpScanRequestDataAttributesLibrariesItemsTargetFrameworks' + required: + - purl + - is_dev + - is_direct + - package_manager + type: object + LicensesListResponseDataAttributesLicensesItems: + description: An SPDX license entry returned by the licenses list endpoint. + properties: + display_name: + description: The human-readable name of the license. + example: MIT License + type: string + identifier: + description: The SPDX identifier of the license. + example: MIT + type: string + short_name: + description: The short name of the license, typically matching the SPDX identifier. + example: MIT + type: string + required: + - display_name + - identifier + - short_name + type: object + ResolveVulnerableSymbolsResponseResultsVulnerableSymbols: + description: A collection of vulnerable symbols associated with a specific security advisory. + properties: + advisory_id: + description: The identifier of the security advisory that describes the vulnerability. + type: string + symbols: + description: The list of symbols that are vulnerable according to this advisory. + items: + $ref: '#/components/schemas/ResolveVulnerableSymbolsResponseResultsVulnerableSymbolsSymbols' + type: array + type: object + GetMultipleRulesetsResponseDataAttributesRulesetsItemsRulesItemsArgumentsItems: + description: An argument parameter for a static analysis rule, with a name and description. + properties: + description: + description: A human-readable explanation of the argument's purpose and accepted values. + type: string + name: + description: The name of the rule argument. + type: string + type: object + GetMultipleRulesetsResponseDataAttributesRulesetsItemsRulesItemsData: + description: The resource identifier and type for a static analysis rule. + properties: + id: + description: The unique identifier of the rule resource. + type: string + type: + $ref: '#/components/schemas/GetMultipleRulesetsResponseDataAttributesRulesetsItemsRulesItemsDataType' + required: + - type + type: object + GetMultipleRulesetsResponseDataAttributesRulesetsItemsRulesItemsTestsItems: + description: A test case associated with a static analysis rule, containing the source code and expected annotation count. + properties: + annotation_count: + description: The expected number of annotations (findings) the rule should produce when run against the test code. + format: int64 + maximum: 65535 + minimum: 0 + type: integer + code: + description: The source code snippet used as input for the rule test. + type: string + filename: + description: The filename associated with the test code snippet. + type: string + type: object + GetMultipleRulesetsResponseDataAttributesRulesetsItemsData: + description: The resource identifier and type for a ruleset. + properties: + id: + description: The unique identifier of the ruleset resource. + type: string + type: + $ref: '#/components/schemas/GetMultipleRulesetsResponseDataAttributesRulesetsItemsDataType' + required: + - type + type: object + SecretRuleDataAttributesMatchValidationInvalidHttpStatusCodeItems: + description: An HTTP status code range that indicates an invalid (unsuccessful) secret match during validation. + properties: + end: + description: The inclusive upper bound of the HTTP status code range. + format: int64 + maximum: 18446744073709552000 + minimum: 0 + type: integer + start: + description: The inclusive lower bound of the HTTP status code range. + format: int64 + maximum: 18446744073709552000 + minimum: 0 + type: integer + type: object + SecretRuleDataAttributesMatchValidationValidHttpStatusCodeItems: + description: An HTTP status code range that indicates a valid (successful) secret match during validation. + properties: + end: + description: The inclusive upper bound of the HTTP status code range. + format: int64 + maximum: 18446744073709552000 + minimum: 0 + type: integer + start: + description: The inclusive lower bound of the HTTP status code range. + format: int64 + maximum: 18446744073709552000 + minimum: 0 + type: integer + type: object + AnalysisViolation: + description: A rule violation found in the analyzed source code. + properties: + category: + description: The category of the violation. + example: BEST_PRACTICES + type: string + end: + $ref: '#/components/schemas/AnalysisPosition' + fixes: + description: The list of suggested fixes for this violation. items: - description: Field. - type: string + $ref: '#/components/schemas/AnalysisFix' type: array - name: - description: Name of the query. + message: + description: A human-readable description of the violation. + example: Use of sys.exit() is discouraged. type: string - query: - description: Query to run on logs. - example: a > 3 + severity: + description: The severity level of the violation. + example: WARNING type: string + start: + $ref: '#/components/schemas/AnalysisPosition' + required: + - category + - severity + - message + - start + - end + - fixes + type: object + RuleBasedViewComplianceFrameworks: + description: List of compliance framework mappings associated with the rule. + items: + $ref: '#/components/schemas/RuleBasedViewComplianceFramework' + type: array + RuleBasedViewResourceAttributes: + description: List of resource attribute names exposed by the rule. + example: + - instance_id + items: + description: Name of a resource attribute exposed by the rule. + example: instance_id + type: string + type: array + RuleBasedViewRuleStats: + description: Counts of findings for the rule, grouped by their evaluation status. + properties: + fail: + description: Number of findings that failed evaluation. + example: 0 + format: int64 + type: integer + muted: + description: Number of findings that have been muted. + example: 0 + format: int64 + type: integer + pass: + description: Number of findings that passed evaluation. + example: 3 + format: int64 + type: integer + required: + - fail + - pass + - muted + type: object + RuleBasedViewRuleTags: + description: List of tags attached to the rule. + example: + - security:compliance + items: + description: A tag attached to the rule. + example: security:compliance + type: string + type: array + RuleBasedViewRuleCategory: + description: The category of the security rule. + enum: + - cloud_configuration + - infrastructure_configuration + - api_security + example: cloud_configuration + type: string + x-enum-varnames: + - CLOUD_CONFIGURATION + - INFRASTRUCTURE_CONFIGURATION + - API_SECURITY + FindingDataType: + default: findings + description: Security findings resource type. + enum: + - findings + example: findings + type: string + x-enum-varnames: + - FINDINGS + DueDatePerSeverityItem: + description: A mapping of a severity level to the number of days until a finding is due. + properties: + due_in_days: + description: The number of days from the reference point until the finding is due. + example: 7 + format: int64 + maximum: 365 + minimum: 1 + type: integer + severity: + $ref: '#/components/schemas/DueDateSeverity' + required: + - severity + - due_in_days type: object + SecurityFindingType: + description: The type of security finding that the automation rule applies to. + enum: + - api_security + - attack_path + - host_and_container_vulnerability + - iac_misconfiguration + - identity_risk + - library_vulnerability + - misconfiguration + - runtime_code_vulnerability + - secret + - static_code_vulnerability + - workload_activity + example: misconfiguration + type: string + x-enum-varnames: + - API_SECURITY + - ATTACK_PATH + - HOST_AND_CONTAINER_VULNERABILITY + - IAC_MISCONFIGURATION + - IDENTITY_RISK + - LIBRARY_VULNERABILITY + - MISCONFIGURATION + - RUNTIME_CODE_VULNERABILITY + - SECRET + - STATIC_CODE_VULNERABILITY + - WORKLOAD_ACTIVITY + SeverityModifierSeverity: + description: The severity to assign to matched findings. `info_none` is not supported for the `iac_misconfiguration`, `runtime_code_vulnerability`, `secret`, or `static_code_vulnerability` finding types. + enum: + - info_none + - low + - medium + - high + - critical + example: low + type: string + x-enum-varnames: + - INFO_NONE + - LOW + - MEDIUM + - HIGH + - CRITICAL + SeverityModifierRuleSetActionType: + description: The type of a severity modifier rule action that sets a fixed severity. + enum: + - set + example: set + type: string + x-enum-varnames: + - SET + SeverityModifierSeverityDelta: + description: The direction in which to shift the severity of matched findings by one rank. + enum: + - up_one + - down_one + example: up_one + type: string + x-enum-varnames: + - UP_ONE + - DOWN_ONE + SeverityModifierRuleShiftActionType: + description: The type of a severity modifier rule action that shifts the severity by one rank. + enum: + - shift + example: shift + type: string + x-enum-varnames: + - SHIFT + CaseManagementProjectDataType: + default: projects + description: Projects resource type. + enum: + - projects + example: projects + type: string + x-enum-varnames: + - PROJECTS + UsersType: + default: users + description: Users resource type. + enum: + - users + example: users + type: string + x-enum-varnames: + - USERS SBOMComponentLicenseLicense: description: The software license of the component of the SBOM. properties: @@ -11263,21 +35195,13 @@ components: - name type: object RuleTypesItems: - description: >- + description: |- Security rule type which can be used in security rules. - - Signal-based notification rules can filter signals based on rule types - application_security, log_detection, - - workload_security, signal_correlation, cloud_configuration and - infrastructure_configuration. - - Vulnerability-based notification rules can filter vulnerabilities based - on rule types application_code_vulnerability, - - application_library_vulnerability, attack_path, - container_image_vulnerability, identity_risk, misconfiguration, - api_security, host_vulnerability and iac_misconfiguration. + Signal-based notification rules can filter signals based on rule types application_security, log_detection, + workload_security, signal_correlation, cloud_configuration and infrastructure_configuration. + Vulnerability-based notification rules can filter vulnerabilities based on rule types application_code_vulnerability, + application_library_vulnerability, attack_path, container_image_vulnerability, identity_risk, misconfiguration, + api_security, host_vulnerability, iac_misconfiguration, sast_vulnerability, secret_vulnerability and workload_activity. enum: - application_security - log_detection @@ -11294,85 +35218,455 @@ components: - api_security - host_vulnerability - iac_misconfiguration + - sast_vulnerability + - secret_vulnerability + - workload_activity + example: log_detection + type: string + x-enum-varnames: + - APPLICATION_SECURITY + - LOG_DETECTION + - WORKLOAD_SECURITY + - SIGNAL_CORRELATION + - CLOUD_CONFIGURATION + - INFRASTRUCTURE_CONFIGURATION + - APPLICATION_CODE_VULNERABILITY + - APPLICATION_LIBRARY_VULNERABILITY + - ATTACK_PATH + - CONTAINER_IMAGE_VULNERABILITY + - IDENTITY_RISK + - MISCONFIGURATION + - API_SECURITY + - HOST_VULNERABILITY + - IAC_MISCONFIGURATION + - SAST_VULNERABILITY + - SECRET_VULNERABILITY + - WORKLOAD_ACTIVITY + CloudWorkloadSecurityAgentRuleActionHash: + description: Hash file specified by the field attribute + properties: + field: + description: The field of the hash action + type: string + type: object + CloudWorkloadSecurityAgentRuleKill: + description: Kill system call applied on the container matching the rule + properties: + signal: + description: Supported signals for the kill system call + type: string + type: object + CloudWorkloadSecurityAgentRuleActionMetadata: + description: The metadata action applied on the scope matching the rule + properties: + image_tag: + description: The image tag of the metadata action + type: string + service: + description: The service of the metadata action + type: string + short_image: + description: The short image of the metadata action + type: string + type: object + CloudWorkloadSecurityAgentRuleActionSet: + description: The set action applied on the scope matching the rule + properties: + append: + description: Whether the value should be appended to the field. + type: boolean + default_value: + description: The default value of the set action + type: string + expression: + description: The expression of the set action. + type: string + field: + description: The field of the set action + type: string + inherited: + description: Whether the value should be inherited. + type: boolean + name: + description: The name of the set action + type: string + scope: + description: The scope of the set action. + type: string + size: + description: The size of the set action. + format: int64 + type: integer + ttl: + description: The time to live of the set action. + format: int64 + type: integer + value: + $ref: '#/components/schemas/CloudWorkloadSecurityAgentRuleActionSetValue' + type: object + SecurityMonitoringIntegrationConfigGoogleWorkspaceServiceAccount: + additionalProperties: {} + description: The Google Cloud service account JSON used to authenticate against the Google Workspace Admin SDK. Additional keys beyond those documented are preserved. + properties: + client_email: + description: The service account client email. + example: svc@my-project.iam.gserviceaccount.com + type: string + private_key: + description: The service account private key. + example: |- + -----BEGIN PRIVATE KEY----- + ... + -----END PRIVATE KEY----- + type: string + project_id: + description: The Google Cloud project ID that owns the service account. + example: my-project + type: string + type: + description: The service account type. Must be `service_account`. + example: service_account + type: string + required: + - type + - project_id + - private_key + - client_email + type: object + NotificationRulePreviewNotificationStatus: + description: The notification status for the given rule type. `SUCCESS` means a matching event was found and the notification was sent successfully. `DEFAULT` means no matching event was found and a default placeholder notification was sent instead. `ERROR` means an error occurred while sending the notification. + enum: + - SUCCESS + - DEFAULT + - ERROR + example: SUCCESS + type: string + x-enum-varnames: + - SUCCESS + - DEFAULT + - ERROR + VersionHistoryUpdateType: + description: The type of change. + enum: + - create + - update + - delete + type: string + x-enum-varnames: + - CREATE + - UPDATE + - DELETE + SecurityMonitoringContentPackActivation: + description: The activation status of a content pack. + enum: + - never_activated + - activated + - deactivated + example: activated + type: string + x-enum-descriptions: + - Pack has never been activated for this organization. + - Pack is currently activated. + - Pack was previously activated but has since been deactivated. + x-enum-varnames: + - NEVER_ACTIVATED + - ACTIVATED + - DEACTIVATED + SecurityMonitoringContentPackTimestampBucket: + description: Timestamp bucket indicating when logs were last collected. + enum: + - not_seen + - within_24_hours + - within_24_to_72_hours + - over_72h_to_30d + - over_30d + example: within_24_hours + type: string + x-enum-descriptions: + - No logs observed. + - Logs received within the last 24 hours. + - Logs last seen 24 to 72 hours ago. + - Logs last seen 3 to 30 days ago. + - Logs last seen more than 30 days ago. + x-enum-varnames: + - NOT_SEEN + - WITHIN_24_HOURS + - WITHIN_24_TO_72_HOURS + - OVER_72H_TO_30D + - OVER_30D + SecurityMonitoringContentPackIntegrationStatus: + description: The installation status of the related integration. + enum: + - installed + - available + - partially_installed + - detected + - error + example: installed + type: string + x-enum-descriptions: + - Integration is fully installed. + - Integration exists in the catalog but is not installed. + - Integration is only partially configured. + - Integration detected (for example, logs are flowing) but not explicitly installed. + - Integration is in an error state. + x-enum-varnames: + - INSTALLED + - AVAILABLE + - PARTIALLY_INSTALLED + - DETECTED + - ERROR + SecurityMonitoringContentPackThreatIntelDetailsType: + description: Type for threat intelligence content pack details. + enum: + - threat_intel + example: threat_intel + type: string + x-enum-varnames: + - THREAT_INTEL + SecurityMonitoringContentPackEntityDetailsType: + description: Type for entity content pack details. + enum: + - entity + example: entity + type: string + x-enum-varnames: + - ENTITY + SecurityMonitoringContentPackAuditDetailsType: + description: Type for audit trail content pack details. + enum: + - audit + example: audit + type: string + x-enum-varnames: + - AUDIT + SecurityMonitoringContentPackAppSecDetailsType: + description: Type for Application Security content pack details. + enum: + - appsec + example: appsec + type: string + x-enum-varnames: + - APPSEC + SecurityMonitoringContentPackVulnerabilityDetailsType: + description: Type for vulnerability content pack details. + enum: + - vulnerability + example: vulnerability + type: string + x-enum-varnames: + - VULNERABILITY + SecurityMonitoringContentPackOnboardingDetailsType: + description: Type for onboarding content pack details. + enum: + - onboarding + example: onboarding + type: string + x-enum-varnames: + - ONBOARDING + SecurityMonitoringDatasetVersionChanges: + description: The list of field changes between this version of the dataset and the previous one. + items: + $ref: '#/components/schemas/SecurityMonitoringDatasetVersionFieldChange' + type: array + ScaRequestDataAttributesDependenciesItemsLocationsItemsFilePosition: + description: A range within a file defined by a start and end position, along with the file name. + properties: + end: + $ref: '#/components/schemas/ScaRequestDataAttributesDependenciesItemsLocationsItemsPosition' + file_name: + description: The name or path of the file containing this location. + type: string + start: + $ref: '#/components/schemas/ScaRequestDataAttributesDependenciesItemsLocationsItemsPosition' + type: object + McpScanRequestDataAttributesLibrariesItemsExclusions: + description: The list of dependency PURLs to exclude when resolving transitive dependencies for this library. + items: + description: A dependency PURL to exclude. + type: string + type: array + McpScanRequestDataAttributesLibrariesItemsTargetFrameworks: + description: The list of target framework identifiers associated with the library. + items: + description: A target framework identifier (for example, `net8.0`). + type: string + type: array + ResolveVulnerableSymbolsResponseResultsVulnerableSymbolsSymbols: + description: A symbol identified as vulnerable within a dependency, including its name, type, and value. + properties: + name: + description: The name of the vulnerable symbol. + type: string + type: + description: The type classification of the vulnerable symbol (e.g., function, class, variable). + type: string + value: + description: The value or identifier associated with the vulnerable symbol. + type: string + type: object + GetMultipleRulesetsResponseDataAttributesRulesetsItemsRulesItemsDataType: + default: rules + description: Rules resource type. + enum: + - rules + example: rules type: string x-enum-varnames: - - APPLICATION_SECURITY - - LOG_DETECTION - - WORKLOAD_SECURITY - - SIGNAL_CORRELATION - - CLOUD_CONFIGURATION - - INFRASTRUCTURE_CONFIGURATION - - APPLICATION_CODE_VULNERABILITY - - APPLICATION_LIBRARY_VULNERABILITY - - ATTACK_PATH - - CONTAINER_IMAGE_VULNERABILITY - - IDENTITY_RISK - - MISCONFIGURATION - - API_SECURITY - - HOST_VULNERABILITY - - IAC_MISCONFIGURATION - CloudWorkloadSecurityAgentRuleActionHash: - additionalProperties: {} - description: An empty object indicating the hash action + - RULES + AnalysisPosition: + description: A position in source code, identified by line and column numbers. + properties: + col: + description: The column number in the source file (1-based). + example: 5 + format: int64 + type: integer + line: + description: The line number in the source file (1-based). + example: 10 + format: int64 + type: integer + required: + - line + - col type: object - CloudWorkloadSecurityAgentRuleKill: - description: Kill system call applied on the container matching the rule + AnalysisFix: + description: A fix suggestion for a rule violation, consisting of one or more edit operations. properties: - signal: - description: Supported signals for the kill system call + description: + description: A human-readable description of what the fix does. + example: Replace with a safe alternative. type: string + edits: + description: The list of edit operations that constitute the fix. + items: + $ref: '#/components/schemas/AnalysisEdit' + type: array + required: + - description + - edits type: object - CloudWorkloadSecurityAgentRuleActionMetadata: - description: The metadata action applied on the scope matching the rule + RuleBasedViewComplianceFramework: + description: Compliance framework mapping for a rule. properties: - image_tag: - description: The image tag of the metadata action + control: + description: Identifier of the control inside the requirement. + example: 164.308-a-4-i type: string - service: - description: The service of the metadata action + framework: + description: Handle of the compliance framework. + example: hipaa type: string - short_image: - description: The short image of the metadata action + is_default: + description: Whether the framework is a Datadog default framework. `true` indicates a Datadog framework and `false` indicates a custom framework. + example: true + type: boolean + message: + description: Optional message describing the framework mapping for the rule. + example: '' + type: string + requirement: + description: Name of the requirement that contains the control. + example: Information-Access-Management + type: string + version: + description: Version of the compliance framework. + example: '1' type: string type: object - CloudWorkloadSecurityAgentRuleActionSet: - description: The set action applied on the scope matching the rule + DueDateSeverity: + description: A severity level used to configure due date thresholds. + enum: + - critical + - high + - medium + - low + - info + - none + - unknown + example: critical + type: string + x-enum-varnames: + - CRITICAL + - HIGH + - MEDIUM + - LOW + - INFO + - NONE + - UNKNOWN + CloudWorkloadSecurityAgentRuleActionSetValue: + description: The value of the set action + type: string + format: int32 + maximum: 2147483647 + SecurityMonitoringDatasetVersionFieldChange: + description: A single field change between two versions of a dataset. properties: - append: - description: Whether the value should be appended to the field - type: boolean + current: + description: The current value of the field, serialized as a JSON value. + example: New description. field: - description: The field of the set action - type: string - name: - description: The name of the set action + description: The name of the field that changed. + example: description type: string - scope: - description: The scope of the set action - type: string - size: - description: The size of the set action - format: int64 + previous: + description: The previous value of the field, serialized as a JSON value. + example: Old description. + required: + - field + - previous + - current + type: object + ScaRequestDataAttributesDependenciesItemsLocationsItemsPosition: + description: A specific position (line and column) within a source file. + properties: + col: + description: The column number of the position within the line. + format: int32 + maximum: 2147483647 type: integer - ttl: - description: The time to live of the set action - format: int64 + line: + description: The line number of the position within the file. + format: int32 + maximum: 2147483647 type: integer - value: - description: The value of the set action - type: string type: object - RuleVersionUpdateType: - description: The type of change. + AnalysisEdit: + description: A single edit operation within a fix suggestion for a rule violation. + properties: + content: + description: The content to insert or replace at the specified position, if applicable. + example: safe_alternative() + nullable: true + type: string + edit_type: + $ref: '#/components/schemas/AnalysisEditType' + end: + $ref: '#/components/schemas/AnalysisPosition' + description: The end position of the edit, or null for pure insertions. + nullable: true + start: + $ref: '#/components/schemas/AnalysisPosition' + required: + - start + - end + - edit_type + - content + type: object + AnalysisEditType: + default: ADD + description: The type of code edit to apply when fixing a violation. enum: - - create - - update - - delete + - ADD + - UPDATE + - REMOVE + example: ADD type: string x-enum-varnames: - - CREATE + - ADD - UPDATE - - DELETE + - REMOVE responses: NotAuthorizedResponse: content: @@ -11409,9 +35703,7 @@ components: application/json: schema: $ref: '#/components/schemas/JSONAPIErrorResponse' - description: >- - Bad Request: The server cannot process the request due to invalid syntax - in the request. + description: 'Bad Request: The server cannot process the request due to invalid syntax in the request.' FindingsForbiddenResponse: content: application/json: @@ -11430,23 +35722,24 @@ components: schema: $ref: '#/components/schemas/JSONAPIErrorResponse' description: 'Too many requests: The rate limit set by the API has been exceeded.' - NotificationRulesList: + ForbiddenResponse: content: application/json: schema: - properties: - data: - items: - $ref: '#/components/schemas/NotificationRule' - type: array - type: object - description: The list of notification rules. - ForbiddenResponse: + $ref: '#/components/schemas/APIErrorResponse' + description: Forbidden + UnauthorizedResponse: content: application/json: schema: $ref: '#/components/schemas/APIErrorResponse' - description: Forbidden + description: Unauthorized + NotificationRulesList: + content: + application/json: + schema: + $ref: '#/components/schemas/NotificationRulesListResponse' + description: The list of notification rules. UnprocessableEntityResponse: content: application/json: @@ -11498,9 +35791,7 @@ components: schema: type: string ResourceFilterAccountID: - description: >- - Filter resource filters by cloud provider account ID. This parameter is - only valid when provider is specified. + description: Filter resource filters by cloud provider account ID. This parameter is only valid when provider is specified. in: query name: account_id required: false @@ -11513,6 +35804,77 @@ components: required: false schema: type: boolean + RuleBasedViewTo: + description: Timestamp of the query end, in milliseconds since the Unix epoch. + in: query + name: to + required: true + schema: + example: 1739982278000 + format: int64 + type: integer + RuleBasedViewFramework: + description: Compliance framework handle to filter rules and findings by. + in: query + name: framework + required: false + schema: + default: '' + example: hipaa + type: string + RuleBasedViewVersion: + description: Version of the compliance framework to filter rules and findings by. + in: query + name: version + required: false + schema: + example: '1' + type: string + RuleBasedViewQueryFindingsWithoutFrameworkVersion: + description: When `true`, returns findings without a `framework_version` tag. Used for findings from custom frameworks or those created before framework versioning was introduced. + in: query + name: query_findings_without_framework_version + required: false + schema: + default: false + example: false + type: boolean + RuleBasedViewIncludeRulesWithoutFindings: + description: When `true`, includes rules in the response that have no associated findings. + in: query + name: include_rules_without_findings + required: false + schema: + default: false + example: false + type: boolean + RuleBasedViewIsCustom: + description: Set to `true` when the requested `framework` is a custom framework. + in: query + name: is_custom + required: false + schema: + example: false + type: boolean + RuleBasedViewQuery: + description: Additional event-platform filters applied to the underlying findings query. For example, `scored:true project_id:datadog-prod-us5`. + in: query + name: query + required: false + schema: + default: '' + example: scored:true + type: string + ApplicationSecurityServiceNameParam: + description: |- + The name of the service to retrieve Application Security details for. + Returns all matching services across environments. + example: web-store + in: path + name: service_filter + required: true + schema: + type: string CloudWorkloadSecurityAgentRuleID: description: The ID of the Agent rule example: 3b5-v82-ns6 @@ -11521,20 +35883,44 @@ components: required: true schema: type: string - SecurityFilterID: - description: The ID of the security filter. + SecurityMonitoringRuleID: + description: The ID of the rule. in: path - name: security_filter_id + name: rule_id required: true schema: type: string - SecurityMonitoringRuleID: - description: The ID of the rule. + SecurityMonitoringCriticalAssetID: + description: The ID of the critical asset. in: path - name: rule_id + name: critical_asset_id + required: true + schema: + type: string + SecurityMonitoringIntegrationConfigID: + description: The ID of the entity context sync configuration. + in: path + name: integration_config_id + required: true + schema: + type: string + SecurityFilterID: + description: The ID of the security filter. + in: path + name: security_filter_id required: true schema: type: string + PageNumber: + description: Specific page number to return. + in: query + name: page[number] + required: false + schema: + default: 0 + example: 0 + format: int64 + type: integer SecurityMonitoringSuppressionID: description: The ID of the suppression rule in: path @@ -11543,7 +35929,7 @@ components: schema: type: string PageSize: - description: Size for a given page. The maximum allowed value is 100. + description: Number of items to return per page. The maximum allowed value is 100. in: query name: page[size] required: false @@ -11552,16 +35938,30 @@ components: example: 10 format: int64 type: integer - PageNumber: - description: Specific page number to return. - in: query - name: page[number] - required: false + SecurityMonitoringDatasetID: + description: The UUID of the dataset. + in: path + name: dataset_id + required: true schema: - default: 0 - example: 0 + example: 123e4567-e89b-12d3-a456-426614174000 + type: string + SecurityMonitoringRuleVersion: + description: The historical version number of the rule. + in: path + name: version + required: true + schema: + example: 1 format: int64 type: integer + SampleLogGenerationContentPackID: + description: The identifier of the Cloud SIEM content pack to operate on (for example, `aws-cloudtrail`). + in: path + name: content_pack_id + required: true + schema: + type: string QueryFilterSearch: description: The search query for security signals. example: security:attack status:high @@ -11597,8 +35997,7 @@ components: $ref: '#/components/schemas/SecurityMonitoringSignalsSort' QueryPageCursor: description: A list of results using the cursor provided in the previous query. - example: >- - eyJzdGFydEF0IjoiQVFBQUFYS2tMS3pPbm40NGV3QUFBQUJCV0V0clRFdDZVbG8zY3pCRmNsbHJiVmxDWlEifQ== + example: eyJzdGFydEF0IjoiQVFBQUFYS2tMS3pPbm40NGV3QUFBQUJCV0V0clRFdDZVbG8zY3pCRmNsbHJiVmxDWlEifQ== in: query name: page[cursor] required: false @@ -11622,6 +36021,20 @@ components: required: true schema: type: string + SecurityMonitoringTerraformResourceType: + description: The type of security monitoring resource to export. + in: path + name: resource_type + required: true + schema: + $ref: '#/components/schemas/SecurityMonitoringTerraformResourceType' + SecurityMonitoringTerraformResourceId: + description: The ID of the security monitoring resource to export. + in: path + name: resource_id + required: true + schema: + type: string SensitiveDataScannerGroupID: description: The ID of a group of rules. in: path @@ -11656,1098 +36069,3763 @@ components: name: aws_scan_options title: Aws Scan Options methods: - list_aws_scan_options: + list_aws_scan_options: + operation: + $ref: '#/paths/~1api~1v2~1agentless_scanning~1accounts~1aws/get' + response: + mediaType: application/json + openAPIDocKey: '200' + objectKey: $.data + request: + nativeCasing: camel + create_aws_scan_options: + config: + requestBodyTranslate: + algorithm: naive + operation: + $ref: '#/paths/~1api~1v2~1agentless_scanning~1accounts~1aws/post' + response: + mediaType: application/json + openAPIDocKey: '201' + request: + nativeCasing: camel + delete_aws_scan_options: + operation: + $ref: '#/paths/~1api~1v2~1agentless_scanning~1accounts~1aws~1{account_id}/delete' + response: + mediaType: application/json + openAPIDocKey: '204' + request: + nativeCasing: camel + get_aws_scan_options: + operation: + $ref: '#/paths/~1api~1v2~1agentless_scanning~1accounts~1aws~1{account_id}/get' + response: + mediaType: application/json + openAPIDocKey: '200' + objectKey: $.data + request: + nativeCasing: camel + update_aws_scan_options: + config: + requestBodyTranslate: + algorithm: naive + operation: + $ref: '#/paths/~1api~1v2~1agentless_scanning~1accounts~1aws~1{account_id}/patch' + response: + mediaType: application/json + openAPIDocKey: '204' + request: + nativeCasing: camel + sqlVerbs: + select: + - $ref: '#/components/x-stackQL-resources/aws_scan_options/methods/get_aws_scan_options' + - $ref: '#/components/x-stackQL-resources/aws_scan_options/methods/list_aws_scan_options' + insert: + - $ref: '#/components/x-stackQL-resources/aws_scan_options/methods/create_aws_scan_options' + update: + - $ref: '#/components/x-stackQL-resources/aws_scan_options/methods/update_aws_scan_options' + delete: + - $ref: '#/components/x-stackQL-resources/aws_scan_options/methods/delete_aws_scan_options' + replace: [] + agentless_scanning_account_azures: + id: datadog.security.agentless_scanning_account_azures + name: agentless_scanning_account_azures + title: Agentless Scanning Account Azures + methods: + list_azure_scan_options: + operation: + $ref: '#/paths/~1api~1v2~1agentless_scanning~1accounts~1azure/get' + response: + mediaType: application/json + openAPIDocKey: '200' + objectKey: $.data + request: + nativeCasing: camel + create_azure_scan_options: + config: + requestBodyTranslate: + algorithm: naive + operation: + $ref: '#/paths/~1api~1v2~1agentless_scanning~1accounts~1azure/post' + response: + mediaType: application/json + openAPIDocKey: '201' + request: + nativeCasing: camel + delete_azure_scan_options: + operation: + $ref: '#/paths/~1api~1v2~1agentless_scanning~1accounts~1azure~1{subscription_id}/delete' + response: + mediaType: application/json + openAPIDocKey: '204' + request: + nativeCasing: camel + get_azure_scan_options: + operation: + $ref: '#/paths/~1api~1v2~1agentless_scanning~1accounts~1azure~1{subscription_id}/get' + response: + mediaType: application/json + openAPIDocKey: '200' + objectKey: $.data + request: + nativeCasing: camel + update_azure_scan_options: + config: + requestBodyTranslate: + algorithm: naive + operation: + $ref: '#/paths/~1api~1v2~1agentless_scanning~1accounts~1azure~1{subscription_id}/patch' + response: + mediaType: application/json + openAPIDocKey: '200' + request: + nativeCasing: camel + sqlVerbs: + select: + - $ref: '#/components/x-stackQL-resources/agentless_scanning_account_azures/methods/get_azure_scan_options' + - $ref: '#/components/x-stackQL-resources/agentless_scanning_account_azures/methods/list_azure_scan_options' + insert: + - $ref: '#/components/x-stackQL-resources/agentless_scanning_account_azures/methods/create_azure_scan_options' + update: + - $ref: '#/components/x-stackQL-resources/agentless_scanning_account_azures/methods/update_azure_scan_options' + delete: + - $ref: '#/components/x-stackQL-resources/agentless_scanning_account_azures/methods/delete_azure_scan_options' + replace: [] + agentless_scanning_account_gcp: + id: datadog.security.agentless_scanning_account_gcp + name: agentless_scanning_account_gcp + title: Agentless Scanning Account Gcp + methods: + list_gcp_scan_options: + operation: + $ref: '#/paths/~1api~1v2~1agentless_scanning~1accounts~1gcp/get' + response: + mediaType: application/json + openAPIDocKey: '200' + objectKey: $.data + request: + nativeCasing: camel + create_gcp_scan_options: + config: + requestBodyTranslate: + algorithm: naive + operation: + $ref: '#/paths/~1api~1v2~1agentless_scanning~1accounts~1gcp/post' + response: + mediaType: application/json + openAPIDocKey: '201' + request: + nativeCasing: camel + delete_gcp_scan_options: + operation: + $ref: '#/paths/~1api~1v2~1agentless_scanning~1accounts~1gcp~1{project_id}/delete' + response: + mediaType: application/json + openAPIDocKey: '204' + request: + nativeCasing: camel + get_gcp_scan_options: + operation: + $ref: '#/paths/~1api~1v2~1agentless_scanning~1accounts~1gcp~1{project_id}/get' + response: + mediaType: application/json + openAPIDocKey: '200' + objectKey: $.data + request: + nativeCasing: camel + update_gcp_scan_options: + config: + requestBodyTranslate: + algorithm: naive + operation: + $ref: '#/paths/~1api~1v2~1agentless_scanning~1accounts~1gcp~1{project_id}/patch' + response: + mediaType: application/json + openAPIDocKey: '200' + request: + nativeCasing: camel + sqlVerbs: + select: + - $ref: '#/components/x-stackQL-resources/agentless_scanning_account_gcp/methods/get_gcp_scan_options' + - $ref: '#/components/x-stackQL-resources/agentless_scanning_account_gcp/methods/list_gcp_scan_options' + insert: + - $ref: '#/components/x-stackQL-resources/agentless_scanning_account_gcp/methods/create_gcp_scan_options' + update: + - $ref: '#/components/x-stackQL-resources/agentless_scanning_account_gcp/methods/update_gcp_scan_options' + delete: + - $ref: '#/components/x-stackQL-resources/agentless_scanning_account_gcp/methods/delete_gcp_scan_options' + replace: [] + aws_on_demand_tasks: + id: datadog.security.aws_on_demand_tasks + name: aws_on_demand_tasks + title: Aws On Demand Tasks + methods: + list_aws_on_demand_tasks: + operation: + $ref: '#/paths/~1api~1v2~1agentless_scanning~1ondemand~1aws/get' + response: + mediaType: application/json + openAPIDocKey: '200' + objectKey: $.data + request: + nativeCasing: camel + create_aws_on_demand_task: + config: + requestBodyTranslate: + algorithm: naive + operation: + $ref: '#/paths/~1api~1v2~1agentless_scanning~1ondemand~1aws/post' + response: + mediaType: application/json + openAPIDocKey: '201' + request: + nativeCasing: camel + get_aws_on_demand_task: + operation: + $ref: '#/paths/~1api~1v2~1agentless_scanning~1ondemand~1aws~1{task_id}/get' + response: + mediaType: application/json + openAPIDocKey: '200' + objectKey: $.data + request: + nativeCasing: camel + sqlVerbs: + select: + - $ref: '#/components/x-stackQL-resources/aws_on_demand_tasks/methods/get_aws_on_demand_task' + - $ref: '#/components/x-stackQL-resources/aws_on_demand_tasks/methods/list_aws_on_demand_tasks' + insert: + - $ref: '#/components/x-stackQL-resources/aws_on_demand_tasks/methods/create_aws_on_demand_task' + update: [] + delete: [] + replace: [] + custom_frameworks: + id: datadog.security.custom_frameworks + name: custom_frameworks + title: Custom Frameworks + methods: + create_custom_framework: + config: + requestBodyTranslate: + algorithm: naive + operation: + $ref: '#/paths/~1api~1v2~1cloud_security_management~1custom_frameworks/post' + response: + mediaType: application/json + openAPIDocKey: '200' + request: + nativeCasing: camel + delete_custom_framework: + operation: + $ref: '#/paths/~1api~1v2~1cloud_security_management~1custom_frameworks~1{handle}~1{version}/delete' + response: + mediaType: application/json + openAPIDocKey: '200' + request: + nativeCasing: camel + get_custom_framework: + operation: + $ref: '#/paths/~1api~1v2~1cloud_security_management~1custom_frameworks~1{handle}~1{version}/get' + response: + mediaType: application/json + openAPIDocKey: '200' + objectKey: $.data + request: + nativeCasing: camel + update_custom_framework: + config: + requestBodyTranslate: + algorithm: naive + operation: + $ref: '#/paths/~1api~1v2~1cloud_security_management~1custom_frameworks~1{handle}~1{version}/put' + response: + mediaType: application/json + openAPIDocKey: '200' + request: + nativeCasing: camel + sqlVerbs: + select: + - $ref: '#/components/x-stackQL-resources/custom_frameworks/methods/get_custom_framework' + insert: + - $ref: '#/components/x-stackQL-resources/custom_frameworks/methods/create_custom_framework' + update: [] + delete: + - $ref: '#/components/x-stackQL-resources/custom_frameworks/methods/delete_custom_framework' + replace: + - $ref: '#/components/x-stackQL-resources/custom_frameworks/methods/update_custom_framework' + resource_evaluation_filters: + id: datadog.security.resource_evaluation_filters + name: resource_evaluation_filters + title: Resource Evaluation Filters + methods: + get_resource_evaluation_filters: + operation: + $ref: '#/paths/~1api~1v2~1cloud_security_management~1resource_filters/get' + response: + mediaType: application/json + openAPIDocKey: '200' + objectKey: $.data + request: + nativeCasing: camel + update_resource_evaluation_filters: + config: + requestBodyTranslate: + algorithm: naive + operation: + $ref: '#/paths/~1api~1v2~1cloud_security_management~1resource_filters/put' + response: + mediaType: application/json + openAPIDocKey: '201' + request: + nativeCasing: camel + sqlVerbs: + select: + - $ref: '#/components/x-stackQL-resources/resource_evaluation_filters/methods/get_resource_evaluation_filters' + insert: [] + update: [] + delete: [] + replace: + - $ref: '#/components/x-stackQL-resources/resource_evaluation_filters/methods/update_resource_evaluation_filters' + csm_agents: + id: datadog.security.csm_agents + name: csm_agents + title: Csm Agents + methods: + list_all_csmagents: + operation: + $ref: '#/paths/~1api~1v2~1csm~1onboarding~1agents/get' + response: + mediaType: application/json + openAPIDocKey: '200' + objectKey: $.data + request: + nativeCasing: camel + sqlVerbs: + select: + - $ref: '#/components/x-stackQL-resources/csm_agents/methods/list_all_csmagents' + insert: [] + update: [] + delete: [] + replace: [] + csm_cloud_accounts_coverage_analysis: + id: datadog.security.csm_cloud_accounts_coverage_analysis + name: csm_cloud_accounts_coverage_analysis + title: Csm Cloud Accounts Coverage Analysis + methods: + get_csmcloud_accounts_coverage_analysis: + operation: + $ref: '#/paths/~1api~1v2~1csm~1onboarding~1coverage_analysis~1cloud_accounts/get' + response: + mediaType: application/json + openAPIDocKey: '200' + objectKey: $.data + request: + nativeCasing: camel + sqlVerbs: + select: + - $ref: '#/components/x-stackQL-resources/csm_cloud_accounts_coverage_analysis/methods/get_csmcloud_accounts_coverage_analysis' + insert: [] + update: [] + delete: [] + replace: [] + csm_hosts_and_containers_coverage_analysis: + id: datadog.security.csm_hosts_and_containers_coverage_analysis + name: csm_hosts_and_containers_coverage_analysis + title: Csm Hosts And Containers Coverage Analysis + methods: + get_csmhosts_and_containers_coverage_analysis: + operation: + $ref: '#/paths/~1api~1v2~1csm~1onboarding~1coverage_analysis~1hosts_and_containers/get' + response: + mediaType: application/json + openAPIDocKey: '200' + objectKey: $.data + request: + nativeCasing: camel + sqlVerbs: + select: + - $ref: '#/components/x-stackQL-resources/csm_hosts_and_containers_coverage_analysis/methods/get_csmhosts_and_containers_coverage_analysis' + insert: [] + update: [] + delete: [] + replace: [] + csm_serverless_coverage_analysis: + id: datadog.security.csm_serverless_coverage_analysis + name: csm_serverless_coverage_analysis + title: Csm Serverless Coverage Analysis + methods: + get_csmserverless_coverage_analysis: + operation: + $ref: '#/paths/~1api~1v2~1csm~1onboarding~1coverage_analysis~1serverless/get' + response: + mediaType: application/json + openAPIDocKey: '200' + objectKey: $.data + request: + nativeCasing: camel + sqlVerbs: + select: + - $ref: '#/components/x-stackQL-resources/csm_serverless_coverage_analysis/methods/get_csmserverless_coverage_analysis' + insert: [] + update: [] + delete: [] + replace: [] + csm_serverless_agents: + id: datadog.security.csm_serverless_agents + name: csm_serverless_agents + title: Csm Serverless Agents + methods: + list_all_csmserverless_agents: + operation: + $ref: '#/paths/~1api~1v2~1csm~1onboarding~1serverless~1agents/get' + response: + mediaType: application/json + openAPIDocKey: '200' + objectKey: $.data + request: + nativeCasing: camel + sqlVerbs: + select: + - $ref: '#/components/x-stackQL-resources/csm_serverless_agents/methods/list_all_csmserverless_agents' + insert: [] + update: [] + delete: [] + replace: [] + csm_ownership_settings: + id: datadog.security.csm_ownership_settings + name: csm_ownership_settings + title: Csm Ownership Settings + methods: + get_ownership_settings: + operation: + $ref: '#/paths/~1api~1v2~1csm~1ownership~1settings/get' + response: + mediaType: application/json + openAPIDocKey: '200' + objectKey: $.data + request: + nativeCasing: camel + post_ownership_settings: + config: + requestBodyTranslate: + algorithm: naive + operation: + $ref: '#/paths/~1api~1v2~1csm~1ownership~1settings/post' + response: + mediaType: application/json + openAPIDocKey: '200' + request: + nativeCasing: camel + sqlVerbs: + select: + - $ref: '#/components/x-stackQL-resources/csm_ownership_settings/methods/get_ownership_settings' + insert: + - $ref: '#/components/x-stackQL-resources/csm_ownership_settings/methods/post_ownership_settings' + update: [] + delete: [] + replace: [] + csm_ownership_setting_untaggeds: + id: datadog.security.csm_ownership_setting_untaggeds + name: csm_ownership_setting_untaggeds + title: Csm Ownership Setting Untaggeds + methods: + get_ownership_untagged_findings: + operation: + $ref: '#/paths/~1api~1v2~1csm~1ownership~1settings~1untagged/get' + response: + mediaType: application/json + openAPIDocKey: '200' + objectKey: $.data + request: + nativeCasing: camel + sqlVerbs: + select: + - $ref: '#/components/x-stackQL-resources/csm_ownership_setting_untaggeds/methods/get_ownership_untagged_findings' + insert: [] + update: [] + delete: [] + replace: [] + csm_ownerships: + id: datadog.security.csm_ownerships + name: csm_ownerships + title: Csm Ownerships + methods: + list_ownership_inferences: + operation: + $ref: '#/paths/~1api~1v2~1csm~1ownership~1{resource_id}/get' + response: + mediaType: application/json + openAPIDocKey: '200' + objectKey: $.data + request: + nativeCasing: camel + get_ownership_inference: + operation: + $ref: '#/paths/~1api~1v2~1csm~1ownership~1{resource_id}~1{owner_type}/get' + response: + mediaType: application/json + openAPIDocKey: '200' + objectKey: $.data + request: + nativeCasing: camel + sqlVerbs: + select: + - $ref: '#/components/x-stackQL-resources/csm_ownerships/methods/get_ownership_inference' + - $ref: '#/components/x-stackQL-resources/csm_ownerships/methods/list_ownership_inferences' + insert: [] + update: [] + delete: [] + replace: [] + csm_ownership_histories: + id: datadog.security.csm_ownership_histories + name: csm_ownership_histories + title: Csm Ownership Histories + methods: + list_ownership_history: + operation: + $ref: '#/paths/~1api~1v2~1csm~1ownership~1{resource_id}~1history/get' + response: + mediaType: application/json + openAPIDocKey: '200' + objectKey: $.data + request: + nativeCasing: camel + config: + queryParamPushdown: + top: + paramName: limit + maxValue: 100 + list_ownership_history_by_owner_type: + operation: + $ref: '#/paths/~1api~1v2~1csm~1ownership~1{resource_id}~1{owner_type}~1history/get' + response: + mediaType: application/json + openAPIDocKey: '200' + objectKey: $.data + request: + nativeCasing: camel + config: + queryParamPushdown: + top: + paramName: limit + maxValue: 100 + sqlVerbs: + select: + - $ref: '#/components/x-stackQL-resources/csm_ownership_histories/methods/list_ownership_history_by_owner_type' + - $ref: '#/components/x-stackQL-resources/csm_ownership_histories/methods/list_ownership_history' + insert: [] + update: [] + delete: [] + replace: [] + csm_ownership_evidences: + id: datadog.security.csm_ownership_evidences + name: csm_ownership_evidences + title: Csm Ownership Evidences + methods: + get_ownership_evidence: + operation: + $ref: '#/paths/~1api~1v2~1csm~1ownership~1{resource_id}~1{owner_type}~1evidence/get' + response: + mediaType: application/json + openAPIDocKey: '200' + objectKey: $.data + request: + nativeCasing: camel + sqlVerbs: + select: + - $ref: '#/components/x-stackQL-resources/csm_ownership_evidences/methods/get_ownership_evidence' + insert: [] + update: [] + delete: [] + replace: [] + csm_ownership_feedbacks: + id: datadog.security.csm_ownership_feedbacks + name: csm_ownership_feedbacks + title: Csm Ownership Feedbacks + methods: + create_ownership_feedback: + config: + requestBodyTranslate: + algorithm: naive + operation: + $ref: '#/paths/~1api~1v2~1csm~1ownership~1{resource_id}~1{owner_type}~1feedback/post' + response: + mediaType: application/json + openAPIDocKey: '201' + request: + nativeCasing: camel + sqlVerbs: + select: [] + insert: + - $ref: '#/components/x-stackQL-resources/csm_ownership_feedbacks/methods/create_ownership_feedback' + update: [] + delete: [] + replace: [] + csm_setting_agentless_hosts: + id: datadog.security.csm_setting_agentless_hosts + name: csm_setting_agentless_hosts + title: Csm Setting Agentless Hosts + methods: + list_csmagentless_hosts: + operation: + $ref: '#/paths/~1api~1v2~1csm~1settings~1agentless_hosts/get' + response: + mediaType: application/json + openAPIDocKey: '200' + objectKey: $.data + request: + nativeCasing: camel + sqlVerbs: + select: + - $ref: '#/components/x-stackQL-resources/csm_setting_agentless_hosts/methods/list_csmagentless_hosts' + insert: [] + update: [] + delete: [] + replace: [] + csm_setting_agentless_host_facet_infos: + id: datadog.security.csm_setting_agentless_host_facet_infos + name: csm_setting_agentless_host_facet_infos + title: Csm Setting Agentless Host Facet Infos + methods: + get_csmagentless_host_facet_info: + operation: + $ref: '#/paths/~1api~1v2~1csm~1settings~1agentless_hosts~1facet_info/get' + response: + mediaType: application/json + openAPIDocKey: '200' + objectKey: $.data + request: + nativeCasing: camel + sqlVerbs: + select: + - $ref: '#/components/x-stackQL-resources/csm_setting_agentless_host_facet_infos/methods/get_csmagentless_host_facet_info' + insert: [] + update: [] + delete: [] + replace: [] + csm_setting_agentless_host_facets: + id: datadog.security.csm_setting_agentless_host_facets + name: csm_setting_agentless_host_facets + title: Csm Setting Agentless Host Facets + methods: + list_csmagentless_host_facets: + operation: + $ref: '#/paths/~1api~1v2~1csm~1settings~1agentless_hosts~1facets/get' + response: + mediaType: application/json + openAPIDocKey: '200' + objectKey: $.data + request: + nativeCasing: camel + sqlVerbs: + select: + - $ref: '#/components/x-stackQL-resources/csm_setting_agentless_host_facets/methods/list_csmagentless_host_facets' + insert: [] + update: [] + delete: [] + replace: [] + csm_setting_hosts: + id: datadog.security.csm_setting_hosts + name: csm_setting_hosts + title: Csm Setting Hosts + methods: + list_csmunified_hosts: + operation: + $ref: '#/paths/~1api~1v2~1csm~1settings~1hosts/get' + response: + mediaType: application/json + openAPIDocKey: '200' + objectKey: $.data + request: + nativeCasing: camel + sqlVerbs: + select: + - $ref: '#/components/x-stackQL-resources/csm_setting_hosts/methods/list_csmunified_hosts' + insert: [] + update: [] + delete: [] + replace: [] + csm_setting_host_facet_infos: + id: datadog.security.csm_setting_host_facet_infos + name: csm_setting_host_facet_infos + title: Csm Setting Host Facet Infos + methods: + get_csmunified_host_facet_info: + operation: + $ref: '#/paths/~1api~1v2~1csm~1settings~1hosts~1facet_info/get' + response: + mediaType: application/json + openAPIDocKey: '200' + objectKey: $.data + request: + nativeCasing: camel + sqlVerbs: + select: + - $ref: '#/components/x-stackQL-resources/csm_setting_host_facet_infos/methods/get_csmunified_host_facet_info' + insert: [] + update: [] + delete: [] + replace: [] + csm_setting_host_facets: + id: datadog.security.csm_setting_host_facets + name: csm_setting_host_facets + title: Csm Setting Host Facets + methods: + list_csmunified_host_facets: + operation: + $ref: '#/paths/~1api~1v2~1csm~1settings~1hosts~1facets/get' + response: + mediaType: application/json + openAPIDocKey: '200' + objectKey: $.data + request: + nativeCasing: camel + sqlVerbs: + select: + - $ref: '#/components/x-stackQL-resources/csm_setting_host_facets/methods/list_csmunified_host_facets' + insert: [] + update: [] + delete: [] + replace: [] + findings: + id: datadog.security.findings + name: findings + title: Findings + methods: + list_findings: + operation: + $ref: '#/paths/~1api~1v2~1posture_management~1findings/get' + response: + mediaType: application/json + openAPIDocKey: '200' + objectKey: $.data + request: + nativeCasing: camel + config: + pagination: + requestToken: + key: page[cursor] + location: query + responseToken: + key: $.meta.page.cursor + location: body + queryParamPushdown: + top: + paramName: page[limit] + maxValue: 1000 + get_finding: + operation: + $ref: '#/paths/~1api~1v2~1posture_management~1findings~1{finding_id}/get' + response: + mediaType: application/json + openAPIDocKey: '200' + objectKey: $.data + request: + nativeCasing: camel + mute_security_findings: + config: + requestBodyTranslate: + algorithm: naive + operation: + $ref: '#/paths/~1api~1v2~1security~1findings~1mute/patch' + response: + mediaType: application/json + openAPIDocKey: '202' + request: + nativeCasing: camel + sqlVerbs: + select: + - $ref: '#/components/x-stackQL-resources/findings/methods/get_finding' + - $ref: '#/components/x-stackQL-resources/findings/methods/list_findings' + insert: [] + update: [] + delete: [] + replace: [] + security_entity_risk_scores: + id: datadog.security.security_entity_risk_scores + name: security_entity_risk_scores + title: Security Entity Risk Scores + methods: + list_entity_risk_scores: + operation: + $ref: '#/paths/~1api~1v2~1security-entities~1risk-scores/get' + response: + mediaType: application/json + openAPIDocKey: '200' + objectKey: $.data + request: + nativeCasing: camel + config: + queryParamPushdown: + top: + paramName: page[size] + get_entity_risk_score: + operation: + $ref: '#/paths/~1api~1v2~1security-entities~1risk-scores~1{entity_id}/get' + response: + mediaType: application/json + openAPIDocKey: '200' + objectKey: $.data + request: + nativeCasing: camel + sqlVerbs: + select: + - $ref: '#/components/x-stackQL-resources/security_entity_risk_scores/methods/get_entity_risk_score' + - $ref: '#/components/x-stackQL-resources/security_entity_risk_scores/methods/list_entity_risk_scores' + insert: [] + update: [] + delete: [] + replace: [] + application_security_services: + id: datadog.security.application_security_services + name: application_security_services + title: Application Security Services + methods: + get_asm_service_by_name: + operation: + $ref: '#/paths/~1api~1v2~1security~1asm~1services~1{service_filter}/get' + response: + mediaType: application/json + openAPIDocKey: '200' + objectKey: $.data + request: + nativeCasing: camel + sqlVerbs: + select: + - $ref: '#/components/x-stackQL-resources/application_security_services/methods/get_asm_service_by_name' + insert: [] + update: [] + delete: [] + replace: [] + security_findings: + id: datadog.security.security_findings + name: security_findings + title: Security Findings + methods: + list_security_findings: + operation: + $ref: '#/paths/~1api~1v2~1security~1findings/get' + response: + mediaType: application/json + openAPIDocKey: '200' + objectKey: $.data + request: + nativeCasing: camel + config: + pagination: + requestToken: + key: page[cursor] + location: query + responseToken: + key: $.meta.page.after + location: body + queryParamPushdown: + top: + paramName: page[limit] + maxValue: 150 + update_findings_assignee: + config: + requestBodyTranslate: + algorithm: naive + operation: + $ref: '#/paths/~1api~1v2~1security~1findings~1assignee/patch' + response: + mediaType: application/json + openAPIDocKey: '202' + request: + nativeCasing: camel + search_security_findings: + config: + requestBodyTranslate: + algorithm: naive + operation: + $ref: '#/paths/~1api~1v2~1security~1findings~1search/post' + response: + mediaType: application/json + openAPIDocKey: '200' + request: + nativeCasing: camel + sqlVerbs: + select: + - $ref: '#/components/x-stackQL-resources/security_findings/methods/list_security_findings' + insert: [] + update: [] + delete: [] + replace: [] + finding_automation_due_date_rules: + id: datadog.security.finding_automation_due_date_rules + name: finding_automation_due_date_rules + title: Finding Automation Due Date Rules + methods: + list_security_findings_automation_due_date_rules: + operation: + $ref: '#/paths/~1api~1v2~1security~1findings~1automation~1due_date_rules/get' + response: + mediaType: application/json + openAPIDocKey: '200' + objectKey: $.data + request: + nativeCasing: camel + config: + queryParamPushdown: + top: + paramName: page[size] + maxValue: 1000 + create_security_findings_automation_due_date_rule: + config: + requestBodyTranslate: + algorithm: naive + operation: + $ref: '#/paths/~1api~1v2~1security~1findings~1automation~1due_date_rules/post' + response: + mediaType: application/json + openAPIDocKey: '201' + request: + nativeCasing: camel + reorder_security_findings_automation_due_date_rules: + config: + requestBodyTranslate: + algorithm: naive + operation: + $ref: '#/paths/~1api~1v2~1security~1findings~1automation~1due_date_rules~1reorder/post' + response: + mediaType: application/json + openAPIDocKey: '200' + request: + nativeCasing: camel + delete_security_findings_automation_due_date_rule: + operation: + $ref: '#/paths/~1api~1v2~1security~1findings~1automation~1due_date_rules~1{rule_id}/delete' + response: + mediaType: application/json + openAPIDocKey: '204' + request: + nativeCasing: camel + get_security_findings_automation_due_date_rule: + operation: + $ref: '#/paths/~1api~1v2~1security~1findings~1automation~1due_date_rules~1{rule_id}/get' + response: + mediaType: application/json + openAPIDocKey: '200' + objectKey: $.data + request: + nativeCasing: camel + update_security_findings_automation_due_date_rule: + config: + requestBodyTranslate: + algorithm: naive + operation: + $ref: '#/paths/~1api~1v2~1security~1findings~1automation~1due_date_rules~1{rule_id}/put' + response: + mediaType: application/json + openAPIDocKey: '200' + request: + nativeCasing: camel + sqlVerbs: + select: + - $ref: '#/components/x-stackQL-resources/finding_automation_due_date_rules/methods/get_security_findings_automation_due_date_rule' + - $ref: '#/components/x-stackQL-resources/finding_automation_due_date_rules/methods/list_security_findings_automation_due_date_rules' + insert: + - $ref: '#/components/x-stackQL-resources/finding_automation_due_date_rules/methods/create_security_findings_automation_due_date_rule' + update: [] + delete: + - $ref: '#/components/x-stackQL-resources/finding_automation_due_date_rules/methods/delete_security_findings_automation_due_date_rule' + replace: + - $ref: '#/components/x-stackQL-resources/finding_automation_due_date_rules/methods/update_security_findings_automation_due_date_rule' + finding_automation_mute_rules: + id: datadog.security.finding_automation_mute_rules + name: finding_automation_mute_rules + title: Finding Automation Mute Rules + methods: + list_security_findings_automation_mute_rules: + operation: + $ref: '#/paths/~1api~1v2~1security~1findings~1automation~1mute_rules/get' + response: + mediaType: application/json + openAPIDocKey: '200' + objectKey: $.data + request: + nativeCasing: camel + config: + queryParamPushdown: + top: + paramName: page[size] + maxValue: 1000 + create_security_findings_automation_mute_rule: + config: + requestBodyTranslate: + algorithm: naive + operation: + $ref: '#/paths/~1api~1v2~1security~1findings~1automation~1mute_rules/post' + response: + mediaType: application/json + openAPIDocKey: '201' + request: + nativeCasing: camel + reorder_security_findings_automation_mute_rules: + config: + requestBodyTranslate: + algorithm: naive + operation: + $ref: '#/paths/~1api~1v2~1security~1findings~1automation~1mute_rules~1reorder/post' + response: + mediaType: application/json + openAPIDocKey: '200' + request: + nativeCasing: camel + delete_security_findings_automation_mute_rule: + operation: + $ref: '#/paths/~1api~1v2~1security~1findings~1automation~1mute_rules~1{rule_id}/delete' + response: + mediaType: application/json + openAPIDocKey: '204' + request: + nativeCasing: camel + get_security_findings_automation_mute_rule: + operation: + $ref: '#/paths/~1api~1v2~1security~1findings~1automation~1mute_rules~1{rule_id}/get' + response: + mediaType: application/json + openAPIDocKey: '200' + objectKey: $.data + request: + nativeCasing: camel + update_security_findings_automation_mute_rule: + config: + requestBodyTranslate: + algorithm: naive + operation: + $ref: '#/paths/~1api~1v2~1security~1findings~1automation~1mute_rules~1{rule_id}/put' + response: + mediaType: application/json + openAPIDocKey: '200' + request: + nativeCasing: camel + sqlVerbs: + select: + - $ref: '#/components/x-stackQL-resources/finding_automation_mute_rules/methods/get_security_findings_automation_mute_rule' + - $ref: '#/components/x-stackQL-resources/finding_automation_mute_rules/methods/list_security_findings_automation_mute_rules' + insert: + - $ref: '#/components/x-stackQL-resources/finding_automation_mute_rules/methods/create_security_findings_automation_mute_rule' + update: [] + delete: + - $ref: '#/components/x-stackQL-resources/finding_automation_mute_rules/methods/delete_security_findings_automation_mute_rule' + replace: + - $ref: '#/components/x-stackQL-resources/finding_automation_mute_rules/methods/update_security_findings_automation_mute_rule' + finding_automation_severity_modifier_rules: + id: datadog.security.finding_automation_severity_modifier_rules + name: finding_automation_severity_modifier_rules + title: Finding Automation Severity Modifier Rules + methods: + list_security_findings_automation_severity_modifier_rules: + operation: + $ref: '#/paths/~1api~1v2~1security~1findings~1automation~1severity_modifier_rules/get' + response: + mediaType: application/json + openAPIDocKey: '200' + objectKey: $.data + request: + nativeCasing: camel + config: + queryParamPushdown: + top: + paramName: page[size] + maxValue: 1000 + create_security_findings_automation_severity_modifier_rule: + config: + requestBodyTranslate: + algorithm: naive + operation: + $ref: '#/paths/~1api~1v2~1security~1findings~1automation~1severity_modifier_rules/post' + response: + mediaType: application/json + openAPIDocKey: '201' + request: + nativeCasing: camel + reorder_security_findings_automation_severity_modifier_rules: + config: + requestBodyTranslate: + algorithm: naive + operation: + $ref: '#/paths/~1api~1v2~1security~1findings~1automation~1severity_modifier_rules~1reorder/post' + response: + mediaType: application/json + openAPIDocKey: '200' + request: + nativeCasing: camel + delete_security_findings_automation_severity_modifier_rule: + operation: + $ref: '#/paths/~1api~1v2~1security~1findings~1automation~1severity_modifier_rules~1{rule_id}/delete' + response: + mediaType: application/json + openAPIDocKey: '204' + request: + nativeCasing: camel + get_security_findings_automation_severity_modifier_rule: + operation: + $ref: '#/paths/~1api~1v2~1security~1findings~1automation~1severity_modifier_rules~1{rule_id}/get' + response: + mediaType: application/json + openAPIDocKey: '200' + objectKey: $.data + request: + nativeCasing: camel + update_security_findings_automation_severity_modifier_rule: + config: + requestBodyTranslate: + algorithm: naive + operation: + $ref: '#/paths/~1api~1v2~1security~1findings~1automation~1severity_modifier_rules~1{rule_id}/put' + response: + mediaType: application/json + openAPIDocKey: '200' + request: + nativeCasing: camel + sqlVerbs: + select: + - $ref: '#/components/x-stackQL-resources/finding_automation_severity_modifier_rules/methods/get_security_findings_automation_severity_modifier_rule' + - $ref: '#/components/x-stackQL-resources/finding_automation_severity_modifier_rules/methods/list_security_findings_automation_severity_modifier_rules' + insert: + - $ref: '#/components/x-stackQL-resources/finding_automation_severity_modifier_rules/methods/create_security_findings_automation_severity_modifier_rule' + update: [] + delete: + - $ref: '#/components/x-stackQL-resources/finding_automation_severity_modifier_rules/methods/delete_security_findings_automation_severity_modifier_rule' + replace: + - $ref: '#/components/x-stackQL-resources/finding_automation_severity_modifier_rules/methods/update_security_findings_automation_severity_modifier_rule' + finding_automation_ticket_creation_rules: + id: datadog.security.finding_automation_ticket_creation_rules + name: finding_automation_ticket_creation_rules + title: Finding Automation Ticket Creation Rules + methods: + list_security_findings_automation_ticket_creation_rules: + operation: + $ref: '#/paths/~1api~1v2~1security~1findings~1automation~1ticket_creation_rules/get' + response: + mediaType: application/json + openAPIDocKey: '200' + objectKey: $.data + request: + nativeCasing: camel + config: + queryParamPushdown: + top: + paramName: page[size] + maxValue: 1000 + create_security_findings_automation_ticket_creation_rule: + config: + requestBodyTranslate: + algorithm: naive + operation: + $ref: '#/paths/~1api~1v2~1security~1findings~1automation~1ticket_creation_rules/post' + response: + mediaType: application/json + openAPIDocKey: '201' + request: + nativeCasing: camel + reorder_security_findings_automation_ticket_creation_rules: + config: + requestBodyTranslate: + algorithm: naive + operation: + $ref: '#/paths/~1api~1v2~1security~1findings~1automation~1ticket_creation_rules~1reorder/post' + response: + mediaType: application/json + openAPIDocKey: '200' + request: + nativeCasing: camel + delete_security_findings_automation_ticket_creation_rule: + operation: + $ref: '#/paths/~1api~1v2~1security~1findings~1automation~1ticket_creation_rules~1{rule_id}/delete' + response: + mediaType: application/json + openAPIDocKey: '204' + request: + nativeCasing: camel + get_security_findings_automation_ticket_creation_rule: + operation: + $ref: '#/paths/~1api~1v2~1security~1findings~1automation~1ticket_creation_rules~1{rule_id}/get' + response: + mediaType: application/json + openAPIDocKey: '200' + objectKey: $.data + request: + nativeCasing: camel + update_security_findings_automation_ticket_creation_rule: + config: + requestBodyTranslate: + algorithm: naive + operation: + $ref: '#/paths/~1api~1v2~1security~1findings~1automation~1ticket_creation_rules~1{rule_id}/put' + response: + mediaType: application/json + openAPIDocKey: '200' + request: + nativeCasing: camel + sqlVerbs: + select: + - $ref: '#/components/x-stackQL-resources/finding_automation_ticket_creation_rules/methods/get_security_findings_automation_ticket_creation_rule' + - $ref: '#/components/x-stackQL-resources/finding_automation_ticket_creation_rules/methods/list_security_findings_automation_ticket_creation_rules' + insert: + - $ref: '#/components/x-stackQL-resources/finding_automation_ticket_creation_rules/methods/create_security_findings_automation_ticket_creation_rule' + update: [] + delete: + - $ref: '#/components/x-stackQL-resources/finding_automation_ticket_creation_rules/methods/delete_security_findings_automation_ticket_creation_rule' + replace: + - $ref: '#/components/x-stackQL-resources/finding_automation_ticket_creation_rules/methods/update_security_findings_automation_ticket_creation_rule' + finding_cases: + id: datadog.security.finding_cases + name: finding_cases + title: Finding Cases + methods: + detach_case: + operation: + $ref: '#/paths/~1api~1v2~1security~1findings~1cases/delete' + response: + mediaType: application/json + openAPIDocKey: '204' + request: + nativeCasing: camel + create_cases: + config: + requestBodyTranslate: + algorithm: naive + operation: + $ref: '#/paths/~1api~1v2~1security~1findings~1cases/post' + response: + mediaType: application/json + openAPIDocKey: '201' + request: + nativeCasing: camel + attach_case: + config: + requestBodyTranslate: + algorithm: naive + operation: + $ref: '#/paths/~1api~1v2~1security~1findings~1cases~1{case_id}/patch' + response: + mediaType: application/json + openAPIDocKey: '200' + request: + nativeCasing: camel + sqlVerbs: + select: [] + insert: + - $ref: '#/components/x-stackQL-resources/finding_cases/methods/create_cases' + update: + - $ref: '#/components/x-stackQL-resources/finding_cases/methods/attach_case' + delete: + - $ref: '#/components/x-stackQL-resources/finding_cases/methods/detach_case' + replace: [] + finding_jira_issues: + id: datadog.security.finding_jira_issues + name: finding_jira_issues + title: Finding Jira Issues + methods: + attach_jira_issue: + config: + requestBodyTranslate: + algorithm: naive + operation: + $ref: '#/paths/~1api~1v2~1security~1findings~1jira_issues/patch' + response: + mediaType: application/json + openAPIDocKey: '200' + request: + nativeCasing: camel + create_jira_issues: + config: + requestBodyTranslate: + algorithm: naive + operation: + $ref: '#/paths/~1api~1v2~1security~1findings~1jira_issues/post' + response: + mediaType: application/json + openAPIDocKey: '201' + request: + nativeCasing: camel + sqlVerbs: + select: [] + insert: + - $ref: '#/components/x-stackQL-resources/finding_jira_issues/methods/create_jira_issues' + update: + - $ref: '#/components/x-stackQL-resources/finding_jira_issues/methods/attach_jira_issue' + delete: [] + replace: [] + finding_linear_issues: + id: datadog.security.finding_linear_issues + name: finding_linear_issues + title: Finding Linear Issues + methods: + attach_linear_issue: + config: + requestBodyTranslate: + algorithm: naive + operation: + $ref: '#/paths/~1api~1v2~1security~1findings~1linear_issues/patch' + response: + mediaType: application/json + openAPIDocKey: '200' + request: + nativeCasing: camel + create_linear_issues: + config: + requestBodyTranslate: + algorithm: naive + operation: + $ref: '#/paths/~1api~1v2~1security~1findings~1linear_issues/post' + response: + mediaType: application/json + openAPIDocKey: '201' + request: + nativeCasing: camel + sqlVerbs: + select: [] + insert: + - $ref: '#/components/x-stackQL-resources/finding_linear_issues/methods/create_linear_issues' + update: + - $ref: '#/components/x-stackQL-resources/finding_linear_issues/methods/attach_linear_issue' + delete: [] + replace: [] + finding_servicenow_tickets: + id: datadog.security.finding_servicenow_tickets + name: finding_servicenow_tickets + title: Finding Servicenow Tickets + methods: + attach_service_now_ticket: + config: + requestBodyTranslate: + algorithm: naive + operation: + $ref: '#/paths/~1api~1v2~1security~1findings~1servicenow_tickets/patch' + response: + mediaType: application/json + openAPIDocKey: '200' + request: + nativeCasing: camel + create_service_now_tickets: + config: + requestBodyTranslate: + algorithm: naive + operation: + $ref: '#/paths/~1api~1v2~1security~1findings~1servicenow_tickets/post' + response: + mediaType: application/json + openAPIDocKey: '201' + request: + nativeCasing: camel + sqlVerbs: + select: [] + insert: + - $ref: '#/components/x-stackQL-resources/finding_servicenow_tickets/methods/create_service_now_tickets' + update: + - $ref: '#/components/x-stackQL-resources/finding_servicenow_tickets/methods/attach_service_now_ticket' + delete: [] + replace: [] + sboms: + id: datadog.security.sboms + name: sboms + title: Sboms + methods: + list_assets_sboms: + operation: + $ref: '#/paths/~1api~1v2~1security~1sboms/get' + response: + mediaType: application/json + openAPIDocKey: '200' + objectKey: $.data + request: + nativeCasing: camel + get_sbom: + operation: + $ref: '#/paths/~1api~1v2~1security~1sboms~1{asset_type}/get' + response: + mediaType: application/json + openAPIDocKey: '200' + objectKey: $.data + request: + nativeCasing: camel + sqlVerbs: + select: + - $ref: '#/components/x-stackQL-resources/sboms/methods/get_sbom' + - $ref: '#/components/x-stackQL-resources/sboms/methods/list_assets_sboms' + insert: [] + update: [] + delete: [] + replace: [] + scanned_assets_metadata: + id: datadog.security.scanned_assets_metadata + name: scanned_assets_metadata + title: Scanned Assets Metadata + methods: + list_scanned_assets_metadata: + operation: + $ref: '#/paths/~1api~1v2~1security~1scanned-assets-metadata/get' + response: + mediaType: application/json + openAPIDocKey: '200' + objectKey: $.data + request: + nativeCasing: camel + sqlVerbs: + select: + - $ref: '#/components/x-stackQL-resources/scanned_assets_metadata/methods/list_scanned_assets_metadata' + insert: [] + update: [] + delete: [] + replace: [] + siem_ioc_explorers: + id: datadog.security.siem_ioc_explorers + name: siem_ioc_explorers + title: Siem Ioc Explorers + methods: + list_indicators_of_compromise: + operation: + $ref: '#/paths/~1api~1v2~1security~1siem~1ioc-explorer/get' + response: + mediaType: application/json + openAPIDocKey: '200' + objectKey: $.data + request: + nativeCasing: camel + config: + queryParamPushdown: + top: + paramName: limit + maxValue: 2147483647 + skip: + paramName: offset + sqlVerbs: + select: + - $ref: '#/components/x-stackQL-resources/siem_ioc_explorers/methods/list_indicators_of_compromise' + insert: [] + update: [] + delete: [] + replace: [] + siem_ioc_explorer_indicators: + id: datadog.security.siem_ioc_explorer_indicators + name: siem_ioc_explorer_indicators + title: Siem Ioc Explorer Indicators + methods: + get_indicator_of_compromise: + operation: + $ref: '#/paths/~1api~1v2~1security~1siem~1ioc-explorer~1indicator/get' + response: + mediaType: application/json + openAPIDocKey: '200' + objectKey: $.data + request: + nativeCasing: camel + sqlVerbs: + select: + - $ref: '#/components/x-stackQL-resources/siem_ioc_explorer_indicators/methods/get_indicator_of_compromise' + insert: [] + update: [] + delete: [] + replace: [] + siem_ioc_explorer_triages: + id: datadog.security.siem_ioc_explorer_triages + name: siem_ioc_explorer_triages + title: Siem Ioc Explorer Triages + methods: + create_io_ctriage_state: + config: + requestBodyTranslate: + algorithm: naive + operation: + $ref: '#/paths/~1api~1v2~1security~1siem~1ioc-explorer~1triage/post' + response: + mediaType: application/json + openAPIDocKey: '201' + request: + nativeCasing: camel + sqlVerbs: + select: [] + insert: + - $ref: '#/components/x-stackQL-resources/siem_ioc_explorer_triages/methods/create_io_ctriage_state' + update: [] + delete: [] + replace: [] + signal_notification_rules: + id: datadog.security.signal_notification_rules + name: signal_notification_rules + title: Signal Notification Rules + methods: + get_signal_notification_rules: + operation: + $ref: '#/paths/~1api~1v2~1security~1signals~1notification_rules/get' + response: + mediaType: application/json + openAPIDocKey: '200' + objectKey: $.data + request: + nativeCasing: camel + create_signal_notification_rule: + config: + requestBodyTranslate: + algorithm: naive + operation: + $ref: '#/paths/~1api~1v2~1security~1signals~1notification_rules/post' + response: + mediaType: application/json + openAPIDocKey: '201' + request: + nativeCasing: camel + delete_signal_notification_rule: + operation: + $ref: '#/paths/~1api~1v2~1security~1signals~1notification_rules~1{id}/delete' + response: + mediaType: application/json + openAPIDocKey: '204' + request: + nativeCasing: camel + get_signal_notification_rule: + operation: + $ref: '#/paths/~1api~1v2~1security~1signals~1notification_rules~1{id}/get' + response: + mediaType: application/json + openAPIDocKey: '200' + objectKey: $.data + request: + nativeCasing: camel + patch_signal_notification_rule: + config: + requestBodyTranslate: + algorithm: naive + operation: + $ref: '#/paths/~1api~1v2~1security~1signals~1notification_rules~1{id}/patch' + response: + mediaType: application/json + openAPIDocKey: '200' + request: + nativeCasing: camel + sqlVerbs: + select: + - $ref: '#/components/x-stackQL-resources/signal_notification_rules/methods/get_signal_notification_rule' + - $ref: '#/components/x-stackQL-resources/signal_notification_rules/methods/get_signal_notification_rules' + insert: + - $ref: '#/components/x-stackQL-resources/signal_notification_rules/methods/create_signal_notification_rule' + update: + - $ref: '#/components/x-stackQL-resources/signal_notification_rules/methods/patch_signal_notification_rule' + delete: + - $ref: '#/components/x-stackQL-resources/signal_notification_rules/methods/delete_signal_notification_rule' + replace: [] + vulnerabilities: + id: datadog.security.vulnerabilities + name: vulnerabilities + title: Vulnerabilities + methods: + list_vulnerabilities: + operation: + $ref: '#/paths/~1api~1v2~1security~1vulnerabilities/get' + response: + mediaType: application/json + openAPIDocKey: '200' + objectKey: $.data + request: + nativeCasing: camel + import_security_vulnerabilities: + config: + requestBodyTranslate: + algorithm: naive + operation: + $ref: '#/paths/~1api~1v2~1security~1vulnerabilities/post' + response: + mediaType: application/json + openAPIDocKey: '200' + request: + nativeCasing: camel + sqlVerbs: + select: + - $ref: '#/components/x-stackQL-resources/vulnerabilities/methods/list_vulnerabilities' + insert: + - $ref: '#/components/x-stackQL-resources/vulnerabilities/methods/import_security_vulnerabilities' + update: [] + delete: [] + replace: [] + vulnerability_notification_rules: + id: datadog.security.vulnerability_notification_rules + name: vulnerability_notification_rules + title: Vulnerability Notification Rules + methods: + get_vulnerability_notification_rules: + operation: + $ref: '#/paths/~1api~1v2~1security~1vulnerabilities~1notification_rules/get' + response: + mediaType: application/json + openAPIDocKey: '200' + objectKey: $.data + request: + nativeCasing: camel + create_vulnerability_notification_rule: + config: + requestBodyTranslate: + algorithm: naive + operation: + $ref: '#/paths/~1api~1v2~1security~1vulnerabilities~1notification_rules/post' + response: + mediaType: application/json + openAPIDocKey: '201' + request: + nativeCasing: camel + delete_vulnerability_notification_rule: + operation: + $ref: '#/paths/~1api~1v2~1security~1vulnerabilities~1notification_rules~1{id}/delete' + response: + mediaType: application/json + openAPIDocKey: '204' + request: + nativeCasing: camel + get_vulnerability_notification_rule: + operation: + $ref: '#/paths/~1api~1v2~1security~1vulnerabilities~1notification_rules~1{id}/get' + response: + mediaType: application/json + openAPIDocKey: '200' + objectKey: $.data + request: + nativeCasing: camel + patch_vulnerability_notification_rule: + config: + requestBodyTranslate: + algorithm: naive + operation: + $ref: '#/paths/~1api~1v2~1security~1vulnerabilities~1notification_rules~1{id}/patch' + response: + mediaType: application/json + openAPIDocKey: '200' + request: + nativeCasing: camel + sqlVerbs: + select: + - $ref: '#/components/x-stackQL-resources/vulnerability_notification_rules/methods/get_vulnerability_notification_rule' + - $ref: '#/components/x-stackQL-resources/vulnerability_notification_rules/methods/get_vulnerability_notification_rules' + insert: + - $ref: '#/components/x-stackQL-resources/vulnerability_notification_rules/methods/create_vulnerability_notification_rule' + update: + - $ref: '#/components/x-stackQL-resources/vulnerability_notification_rules/methods/patch_vulnerability_notification_rule' + delete: + - $ref: '#/components/x-stackQL-resources/vulnerability_notification_rules/methods/delete_vulnerability_notification_rule' + replace: [] + vulnerable_assets: + id: datadog.security.vulnerable_assets + name: vulnerable_assets + title: Vulnerable Assets + methods: + list_vulnerable_assets: + operation: + $ref: '#/paths/~1api~1v2~1security~1vulnerable-assets/get' + response: + mediaType: application/json + openAPIDocKey: '200' + objectKey: $.data + request: + nativeCasing: camel + sqlVerbs: + select: + - $ref: '#/components/x-stackQL-resources/vulnerable_assets/methods/list_vulnerable_assets' + insert: [] + update: [] + delete: [] + replace: [] + cloud_workload_security_agent_rules: + id: datadog.security.cloud_workload_security_agent_rules + name: cloud_workload_security_agent_rules + title: Cloud Workload Security Agent Rules + methods: + list_cloud_workload_security_agent_rules: + operation: + $ref: '#/paths/~1api~1v2~1security_monitoring~1cloud_workload_security~1agent_rules/get' + response: + mediaType: application/json + openAPIDocKey: '200' + objectKey: $.data + request: + nativeCasing: camel + create_cloud_workload_security_agent_rule: + config: + requestBodyTranslate: + algorithm: naive + operation: + $ref: '#/paths/~1api~1v2~1security_monitoring~1cloud_workload_security~1agent_rules/post' + response: + mediaType: application/json + openAPIDocKey: '200' + request: + nativeCasing: camel + delete_cloud_workload_security_agent_rule: + operation: + $ref: '#/paths/~1api~1v2~1security_monitoring~1cloud_workload_security~1agent_rules~1{agent_rule_id}/delete' + response: + mediaType: application/json + openAPIDocKey: '204' + request: + nativeCasing: camel + get_cloud_workload_security_agent_rule: + operation: + $ref: '#/paths/~1api~1v2~1security_monitoring~1cloud_workload_security~1agent_rules~1{agent_rule_id}/get' + response: + mediaType: application/json + openAPIDocKey: '200' + objectKey: $.data + request: + nativeCasing: camel + update_cloud_workload_security_agent_rule: + config: + requestBodyTranslate: + algorithm: naive + operation: + $ref: '#/paths/~1api~1v2~1security_monitoring~1cloud_workload_security~1agent_rules~1{agent_rule_id}/patch' + response: + mediaType: application/json + openAPIDocKey: '200' + request: + nativeCasing: camel + sqlVerbs: + select: + - $ref: '#/components/x-stackQL-resources/cloud_workload_security_agent_rules/methods/get_cloud_workload_security_agent_rule' + - $ref: '#/components/x-stackQL-resources/cloud_workload_security_agent_rules/methods/list_cloud_workload_security_agent_rules' + insert: + - $ref: '#/components/x-stackQL-resources/cloud_workload_security_agent_rules/methods/create_cloud_workload_security_agent_rule' + update: + - $ref: '#/components/x-stackQL-resources/cloud_workload_security_agent_rules/methods/update_cloud_workload_security_agent_rule' + delete: + - $ref: '#/components/x-stackQL-resources/cloud_workload_security_agent_rules/methods/delete_cloud_workload_security_agent_rule' + replace: [] + monitoring_critical_assets: + id: datadog.security.monitoring_critical_assets + name: monitoring_critical_assets + title: Monitoring Critical Assets + methods: + list_security_monitoring_critical_assets: + operation: + $ref: '#/paths/~1api~1v2~1security_monitoring~1configuration~1critical_assets/get' + response: + mediaType: application/json + openAPIDocKey: '200' + objectKey: $.data + request: + nativeCasing: camel + create_security_monitoring_critical_asset: + config: + requestBodyTranslate: + algorithm: naive + operation: + $ref: '#/paths/~1api~1v2~1security_monitoring~1configuration~1critical_assets/post' + response: + mediaType: application/json + openAPIDocKey: '200' + request: + nativeCasing: camel + delete_security_monitoring_critical_asset: + operation: + $ref: '#/paths/~1api~1v2~1security_monitoring~1configuration~1critical_assets~1{critical_asset_id}/delete' + response: + mediaType: application/json + openAPIDocKey: '204' + request: + nativeCasing: camel + get_security_monitoring_critical_asset: + operation: + $ref: '#/paths/~1api~1v2~1security_monitoring~1configuration~1critical_assets~1{critical_asset_id}/get' + response: + mediaType: application/json + openAPIDocKey: '200' + objectKey: $.data + request: + nativeCasing: camel + update_security_monitoring_critical_asset: + config: + requestBodyTranslate: + algorithm: naive + operation: + $ref: '#/paths/~1api~1v2~1security_monitoring~1configuration~1critical_assets~1{critical_asset_id}/patch' + response: + mediaType: application/json + openAPIDocKey: '200' + request: + nativeCasing: camel + sqlVerbs: + select: + - $ref: '#/components/x-stackQL-resources/monitoring_critical_assets/methods/get_security_monitoring_critical_asset' + - $ref: '#/components/x-stackQL-resources/monitoring_critical_assets/methods/list_security_monitoring_critical_assets' + insert: + - $ref: '#/components/x-stackQL-resources/monitoring_critical_assets/methods/create_security_monitoring_critical_asset' + update: + - $ref: '#/components/x-stackQL-resources/monitoring_critical_assets/methods/update_security_monitoring_critical_asset' + delete: + - $ref: '#/components/x-stackQL-resources/monitoring_critical_assets/methods/delete_security_monitoring_critical_asset' + replace: [] + monitoring_critical_asset_rules: + id: datadog.security.monitoring_critical_asset_rules + name: monitoring_critical_asset_rules + title: Monitoring Critical Asset Rules + methods: + get_critical_assets_affecting_rule: + operation: + $ref: '#/paths/~1api~1v2~1security_monitoring~1configuration~1critical_assets~1rules~1{rule_id}/get' + response: + mediaType: application/json + openAPIDocKey: '200' + objectKey: $.data + request: + nativeCasing: camel + sqlVerbs: + select: + - $ref: '#/components/x-stackQL-resources/monitoring_critical_asset_rules/methods/get_critical_assets_affecting_rule' + insert: [] + update: [] + delete: [] + replace: [] + monitoring_integration_configs: + id: datadog.security.monitoring_integration_configs + name: monitoring_integration_configs + title: Monitoring Integration Configs + methods: + list_security_monitoring_integration_configs: + operation: + $ref: '#/paths/~1api~1v2~1security_monitoring~1configuration~1integration_config/get' + response: + mediaType: application/json + openAPIDocKey: '200' + objectKey: $.data + request: + nativeCasing: camel + create_security_monitoring_integration_config: + config: + requestBodyTranslate: + algorithm: naive + operation: + $ref: '#/paths/~1api~1v2~1security_monitoring~1configuration~1integration_config/post' + response: + mediaType: application/json + openAPIDocKey: '200' + request: + nativeCasing: camel + validate_security_monitoring_integration_credentials: + config: + requestBodyTranslate: + algorithm: naive + operation: + $ref: '#/paths/~1api~1v2~1security_monitoring~1configuration~1integration_config~1validate/post' + response: + mediaType: application/json + openAPIDocKey: '200' + request: + nativeCasing: camel + delete_security_monitoring_integration_config: + operation: + $ref: '#/paths/~1api~1v2~1security_monitoring~1configuration~1integration_config~1{integration_config_id}/delete' + response: + mediaType: application/json + openAPIDocKey: '204' + request: + nativeCasing: camel + get_security_monitoring_integration_config: + operation: + $ref: '#/paths/~1api~1v2~1security_monitoring~1configuration~1integration_config~1{integration_config_id}/get' + response: + mediaType: application/json + openAPIDocKey: '200' + objectKey: $.data + request: + nativeCasing: camel + update_security_monitoring_integration_config: + config: + requestBodyTranslate: + algorithm: naive + operation: + $ref: '#/paths/~1api~1v2~1security_monitoring~1configuration~1integration_config~1{integration_config_id}/patch' + response: + mediaType: application/json + openAPIDocKey: '200' + request: + nativeCasing: camel + validate_security_monitoring_integration_config: + operation: + $ref: '#/paths/~1api~1v2~1security_monitoring~1configuration~1integration_config~1{integration_config_id}~1validate/post' + response: + mediaType: application/json + openAPIDocKey: '200' + request: + nativeCasing: camel + activate_integration: + config: + requestBodyTranslate: + algorithm: naive + operation: + $ref: '#/paths/~1api~1v2~1security_monitoring~1configuration~1integration_config~1{integration_type}~1activate/post' + response: + mediaType: application/json + openAPIDocKey: '200' + request: + nativeCasing: camel + deactivate_integration: + operation: + $ref: '#/paths/~1api~1v2~1security_monitoring~1configuration~1integration_config~1{integration_type}~1deactivate/post' + response: + mediaType: application/json + openAPIDocKey: '200' + request: + nativeCasing: camel + sqlVerbs: + select: + - $ref: '#/components/x-stackQL-resources/monitoring_integration_configs/methods/get_security_monitoring_integration_config' + - $ref: '#/components/x-stackQL-resources/monitoring_integration_configs/methods/list_security_monitoring_integration_configs' + insert: + - $ref: '#/components/x-stackQL-resources/monitoring_integration_configs/methods/create_security_monitoring_integration_config' + update: + - $ref: '#/components/x-stackQL-resources/monitoring_integration_configs/methods/update_security_monitoring_integration_config' + delete: + - $ref: '#/components/x-stackQL-resources/monitoring_integration_configs/methods/delete_security_monitoring_integration_config' + replace: [] + monitoring_entra_id_azure_app_registrations: + id: datadog.security.monitoring_entra_id_azure_app_registrations + name: monitoring_entra_id_azure_app_registrations + title: Monitoring Entra Id Azure App Registrations + methods: + get_entra_id_azure_app_registrations: + operation: + $ref: '#/paths/~1api~1v2~1security_monitoring~1configuration~1integration_config~1entra_id~1azure_app_registrations/get' + response: + mediaType: application/json + openAPIDocKey: '200' + objectKey: $.data + request: + nativeCasing: camel + sqlVerbs: + select: + - $ref: '#/components/x-stackQL-resources/monitoring_entra_id_azure_app_registrations/methods/get_entra_id_azure_app_registrations' + insert: [] + update: [] + delete: [] + replace: [] + monitoring_notification_rules: + id: datadog.security.monitoring_notification_rules + name: monitoring_notification_rules + title: Monitoring Notification Rules + methods: + send_security_monitoring_notification_preview: + config: + requestBodyTranslate: + algorithm: naive + operation: + $ref: '#/paths/~1api~1v2~1security_monitoring~1configuration~1notification_rules~1send_notification_preview/post' + response: + mediaType: application/json + openAPIDocKey: '200' + request: + nativeCasing: camel + sqlVerbs: + select: [] + insert: [] + update: [] + delete: [] + replace: [] + filters: + id: datadog.security.filters + name: filters + title: Filters + methods: + list_security_filters: + operation: + $ref: '#/paths/~1api~1v2~1security_monitoring~1configuration~1security_filters/get' + response: + mediaType: application/json + openAPIDocKey: '200' + objectKey: $.data + request: + nativeCasing: camel + create_security_filter: + config: + requestBodyTranslate: + algorithm: naive + operation: + $ref: '#/paths/~1api~1v2~1security_monitoring~1configuration~1security_filters/post' + response: + mediaType: application/json + openAPIDocKey: '200' + request: + nativeCasing: camel + delete_security_filter: + operation: + $ref: '#/paths/~1api~1v2~1security_monitoring~1configuration~1security_filters~1{security_filter_id}/delete' + response: + mediaType: application/json + openAPIDocKey: '204' + request: + nativeCasing: camel + get_security_filter: + operation: + $ref: '#/paths/~1api~1v2~1security_monitoring~1configuration~1security_filters~1{security_filter_id}/get' + response: + mediaType: application/json + openAPIDocKey: '200' + objectKey: $.data + request: + nativeCasing: camel + update_security_filter: + config: + requestBodyTranslate: + algorithm: naive + operation: + $ref: '#/paths/~1api~1v2~1security_monitoring~1configuration~1security_filters~1{security_filter_id}/patch' + response: + mediaType: application/json + openAPIDocKey: '200' + request: + nativeCasing: camel + sqlVerbs: + select: + - $ref: '#/components/x-stackQL-resources/filters/methods/get_security_filter' + - $ref: '#/components/x-stackQL-resources/filters/methods/list_security_filters' + insert: + - $ref: '#/components/x-stackQL-resources/filters/methods/create_security_filter' + update: + - $ref: '#/components/x-stackQL-resources/filters/methods/update_security_filter' + delete: + - $ref: '#/components/x-stackQL-resources/filters/methods/delete_security_filter' + replace: [] + monitoring_security_filter_versions: + id: datadog.security.monitoring_security_filter_versions + name: monitoring_security_filter_versions + title: Monitoring Security Filter Versions + methods: + list_security_filter_versions: operation: - $ref: '#/paths/~1api~1v2~1agentless_scanning~1accounts~1aws/get' + $ref: '#/paths/~1api~1v2~1security_monitoring~1configuration~1security_filters~1versions/get' response: mediaType: application/json openAPIDocKey: '200' objectKey: $.data - create_aws_scan_options: + request: + nativeCasing: camel + sqlVerbs: + select: + - $ref: '#/components/x-stackQL-resources/monitoring_security_filter_versions/methods/list_security_filter_versions' + insert: [] + update: [] + delete: [] + replace: [] + monitoring_suppressions: + id: datadog.security.monitoring_suppressions + name: monitoring_suppressions + title: Monitoring Suppressions + methods: + list_security_monitoring_suppressions: operation: - $ref: '#/paths/~1api~1v2~1agentless_scanning~1accounts~1aws/post' + $ref: '#/paths/~1api~1v2~1security_monitoring~1configuration~1suppressions/get' response: mediaType: application/json - openAPIDocKey: '201' - delete_aws_scan_options: + openAPIDocKey: '200' + objectKey: $.data + request: + nativeCasing: camel + config: + queryParamPushdown: + top: + paramName: page[size] + create_security_monitoring_suppression: + config: + requestBodyTranslate: + algorithm: naive + operation: + $ref: '#/paths/~1api~1v2~1security_monitoring~1configuration~1suppressions/post' + response: + mediaType: application/json + openAPIDocKey: '200' + request: + nativeCasing: camel + validate_security_monitoring_suppression: + config: + requestBodyTranslate: + algorithm: naive operation: - $ref: >- - #/paths/~1api~1v2~1agentless_scanning~1accounts~1aws~1{account_id}/delete + $ref: '#/paths/~1api~1v2~1security_monitoring~1configuration~1suppressions~1validation/post' response: mediaType: application/json openAPIDocKey: '204' - get_aws_scan_options: + request: + nativeCasing: camel + delete_security_monitoring_suppression: operation: - $ref: >- - #/paths/~1api~1v2~1agentless_scanning~1accounts~1aws~1{account_id}/get + $ref: '#/paths/~1api~1v2~1security_monitoring~1configuration~1suppressions~1{suppression_id}/delete' + response: + mediaType: application/json + openAPIDocKey: '204' + request: + nativeCasing: camel + get_security_monitoring_suppression: + operation: + $ref: '#/paths/~1api~1v2~1security_monitoring~1configuration~1suppressions~1{suppression_id}/get' response: mediaType: application/json openAPIDocKey: '200' objectKey: $.data - update_aws_scan_options: + request: + nativeCasing: camel + update_security_monitoring_suppression: + config: + requestBodyTranslate: + algorithm: naive operation: - $ref: >- - #/paths/~1api~1v2~1agentless_scanning~1accounts~1aws~1{account_id}/patch + $ref: '#/paths/~1api~1v2~1security_monitoring~1configuration~1suppressions~1{suppression_id}/patch' response: mediaType: application/json - openAPIDocKey: '204' + openAPIDocKey: '200' + request: + nativeCasing: camel sqlVerbs: select: - - $ref: >- - #/components/x-stackQL-resources/aws_scan_options/methods/get_aws_scan_options - - $ref: >- - #/components/x-stackQL-resources/aws_scan_options/methods/list_aws_scan_options + - $ref: '#/components/x-stackQL-resources/monitoring_suppressions/methods/get_security_monitoring_suppression' + - $ref: '#/components/x-stackQL-resources/monitoring_suppressions/methods/list_security_monitoring_suppressions' insert: - - $ref: >- - #/components/x-stackQL-resources/aws_scan_options/methods/create_aws_scan_options + - $ref: '#/components/x-stackQL-resources/monitoring_suppressions/methods/create_security_monitoring_suppression' update: - - $ref: >- - #/components/x-stackQL-resources/aws_scan_options/methods/update_aws_scan_options + - $ref: '#/components/x-stackQL-resources/monitoring_suppressions/methods/update_security_monitoring_suppression' delete: - - $ref: >- - #/components/x-stackQL-resources/aws_scan_options/methods/delete_aws_scan_options + - $ref: '#/components/x-stackQL-resources/monitoring_suppressions/methods/delete_security_monitoring_suppression' replace: [] - aws_on_demand_tasks: - id: datadog.security.aws_on_demand_tasks - name: aws_on_demand_tasks - title: Aws On Demand Tasks + suppressions_affecting_future_rule: + id: datadog.security.suppressions_affecting_future_rule + name: suppressions_affecting_future_rule + title: Suppressions Affecting Future Rule methods: - list_aws_on_demand_tasks: + get_suppressions_affecting_future_rule: + config: + requestBodyTranslate: + algorithm: naive operation: - $ref: '#/paths/~1api~1v2~1agentless_scanning~1ondemand~1aws/get' + $ref: '#/paths/~1api~1v2~1security_monitoring~1configuration~1suppressions~1rules/post' response: mediaType: application/json openAPIDocKey: '200' - objectKey: $.data - create_aws_on_demand_task: + request: + nativeCasing: camel + sqlVerbs: + select: [] + insert: + - $ref: '#/components/x-stackQL-resources/suppressions_affecting_future_rule/methods/get_suppressions_affecting_future_rule' + update: [] + delete: [] + replace: [] + suppressions_affecting_rule: + id: datadog.security.suppressions_affecting_rule + name: suppressions_affecting_rule + title: Suppressions Affecting Rule + methods: + get_suppressions_affecting_rule: operation: - $ref: '#/paths/~1api~1v2~1agentless_scanning~1ondemand~1aws/post' + $ref: '#/paths/~1api~1v2~1security_monitoring~1configuration~1suppressions~1rules~1{rule_id}/get' response: mediaType: application/json - openAPIDocKey: '201' - get_aws_on_demand_task: + openAPIDocKey: '200' + objectKey: $.data + request: + nativeCasing: camel + sqlVerbs: + select: + - $ref: '#/components/x-stackQL-resources/suppressions_affecting_rule/methods/get_suppressions_affecting_rule' + insert: [] + update: [] + delete: [] + replace: [] + monitoring_suppression_version_histories: + id: datadog.security.monitoring_suppression_version_histories + name: monitoring_suppression_version_histories + title: Monitoring Suppression Version Histories + methods: + get_suppression_version_history: operation: - $ref: >- - #/paths/~1api~1v2~1agentless_scanning~1ondemand~1aws~1{task_id}/get + $ref: '#/paths/~1api~1v2~1security_monitoring~1configuration~1suppressions~1{suppression_id}~1version_history/get' response: mediaType: application/json openAPIDocKey: '200' objectKey: $.data + request: + nativeCasing: camel + config: + queryParamPushdown: + top: + paramName: page[size] sqlVerbs: select: - - $ref: >- - #/components/x-stackQL-resources/aws_on_demand_tasks/methods/get_aws_on_demand_task - - $ref: >- - #/components/x-stackQL-resources/aws_on_demand_tasks/methods/list_aws_on_demand_tasks - insert: - - $ref: >- - #/components/x-stackQL-resources/aws_on_demand_tasks/methods/create_aws_on_demand_task + - $ref: '#/components/x-stackQL-resources/monitoring_suppression_version_histories/methods/get_suppression_version_history' + insert: [] update: [] delete: [] replace: [] - custom_frameworks: - id: datadog.security.custom_frameworks - name: custom_frameworks - title: Custom Frameworks + monitoring_content_pack_states: + id: datadog.security.monitoring_content_pack_states + name: monitoring_content_pack_states + title: Monitoring Content Pack States methods: - create_custom_framework: + get_content_packs_states: operation: - $ref: >- - #/paths/~1api~1v2~1cloud_security_management~1custom_frameworks/post + $ref: '#/paths/~1api~1v2~1security_monitoring~1content_packs~1states/get' response: mediaType: application/json openAPIDocKey: '200' - delete_custom_framework: + objectKey: $.data + request: + nativeCasing: camel + sqlVerbs: + select: + - $ref: '#/components/x-stackQL-resources/monitoring_content_pack_states/methods/get_content_packs_states' + insert: [] + update: [] + delete: [] + replace: [] + monitoring_content_packs: + id: datadog.security.monitoring_content_packs + name: monitoring_content_packs + title: Monitoring Content Packs + methods: + activate_content_pack: operation: - $ref: >- - #/paths/~1api~1v2~1cloud_security_management~1custom_frameworks~1{handle}~1{version}/delete + $ref: '#/paths/~1api~1v2~1security_monitoring~1content_packs~1{content_pack_id}~1activate/put' response: mediaType: application/json - openAPIDocKey: '200' - get_custom_framework: + openAPIDocKey: '202' + request: + nativeCasing: camel + deactivate_content_pack: + operation: + $ref: '#/paths/~1api~1v2~1security_monitoring~1content_packs~1{content_pack_id}~1deactivate/put' + response: + mediaType: application/json + openAPIDocKey: '202' + request: + nativeCasing: camel + sqlVerbs: + select: [] + insert: [] + update: [] + delete: [] + replace: [] + monitoring_datasets: + id: datadog.security.monitoring_datasets + name: monitoring_datasets + title: Monitoring Datasets + methods: + list_security_monitoring_datasets: operation: - $ref: >- - #/paths/~1api~1v2~1cloud_security_management~1custom_frameworks~1{handle}~1{version}/get + $ref: '#/paths/~1api~1v2~1security_monitoring~1datasets/get' response: mediaType: application/json openAPIDocKey: '200' objectKey: $.data - update_custom_framework: + request: + nativeCasing: camel + config: + queryParamPushdown: + top: + paramName: page[size] + create_security_monitoring_dataset: + config: + requestBodyTranslate: + algorithm: naive + operation: + $ref: '#/paths/~1api~1v2~1security_monitoring~1datasets/post' + response: + mediaType: application/json + openAPIDocKey: '201' + request: + nativeCasing: camel + delete_security_monitoring_dataset: + operation: + $ref: '#/paths/~1api~1v2~1security_monitoring~1datasets~1{dataset_id}/delete' + response: + mediaType: application/json + openAPIDocKey: '204' + request: + nativeCasing: camel + get_security_monitoring_dataset: operation: - $ref: >- - #/paths/~1api~1v2~1cloud_security_management~1custom_frameworks~1{handle}~1{version}/put + $ref: '#/paths/~1api~1v2~1security_monitoring~1datasets~1{dataset_id}/get' response: mediaType: application/json openAPIDocKey: '200' + objectKey: $.data + request: + nativeCasing: camel + update_security_monitoring_dataset: + config: + requestBodyTranslate: + algorithm: naive + operation: + $ref: '#/paths/~1api~1v2~1security_monitoring~1datasets~1{dataset_id}/patch' + response: + mediaType: application/json + openAPIDocKey: '204' + request: + nativeCasing: camel sqlVerbs: select: - - $ref: >- - #/components/x-stackQL-resources/custom_frameworks/methods/get_custom_framework + - $ref: '#/components/x-stackQL-resources/monitoring_datasets/methods/get_security_monitoring_dataset' + - $ref: '#/components/x-stackQL-resources/monitoring_datasets/methods/list_security_monitoring_datasets' insert: - - $ref: >- - #/components/x-stackQL-resources/custom_frameworks/methods/create_custom_framework - update: [] + - $ref: '#/components/x-stackQL-resources/monitoring_datasets/methods/create_security_monitoring_dataset' + update: + - $ref: '#/components/x-stackQL-resources/monitoring_datasets/methods/update_security_monitoring_dataset' delete: - - $ref: >- - #/components/x-stackQL-resources/custom_frameworks/methods/delete_custom_framework - replace: - - $ref: >- - #/components/x-stackQL-resources/custom_frameworks/methods/update_custom_framework - resource_evaluation_filters: - id: datadog.security.resource_evaluation_filters - name: resource_evaluation_filters - title: Resource Evaluation Filters + - $ref: '#/components/x-stackQL-resources/monitoring_datasets/methods/delete_security_monitoring_dataset' + replace: [] + monitoring_dataset_dependencies: + id: datadog.security.monitoring_dataset_dependencies + name: monitoring_dataset_dependencies + title: Monitoring Dataset Dependencies methods: - get_resource_evaluation_filters: + batch_get_security_monitoring_dataset_dependencies: + config: + requestBodyTranslate: + algorithm: naive operation: - $ref: '#/paths/~1api~1v2~1cloud_security_management~1resource_filters/get' + $ref: '#/paths/~1api~1v2~1security_monitoring~1datasets~1dependencies/post' response: mediaType: application/json openAPIDocKey: '200' - objectKey: $.data - update_resource_evaluation_filters: + request: + nativeCasing: camel + sqlVerbs: + select: [] + insert: + - $ref: '#/components/x-stackQL-resources/monitoring_dataset_dependencies/methods/batch_get_security_monitoring_dataset_dependencies' + update: [] + delete: [] + replace: [] + monitoring_dataset_versions: + id: datadog.security.monitoring_dataset_versions + name: monitoring_dataset_versions + title: Monitoring Dataset Versions + methods: + get_security_monitoring_dataset_by_version: operation: - $ref: '#/paths/~1api~1v2~1cloud_security_management~1resource_filters/put' + $ref: '#/paths/~1api~1v2~1security_monitoring~1datasets~1{dataset_id}~1version~1{version}/get' response: mediaType: application/json - openAPIDocKey: '201' + openAPIDocKey: '200' + objectKey: $.data + request: + nativeCasing: camel sqlVerbs: select: - - $ref: >- - #/components/x-stackQL-resources/resource_evaluation_filters/methods/get_resource_evaluation_filters + - $ref: '#/components/x-stackQL-resources/monitoring_dataset_versions/methods/get_security_monitoring_dataset_by_version' insert: [] update: [] delete: [] - replace: - - $ref: >- - #/components/x-stackQL-resources/resource_evaluation_filters/methods/update_resource_evaluation_filters - csm_agents: - id: datadog.security.csm_agents - name: csm_agents - title: Csm Agents + replace: [] + monitoring_dataset_version_histories: + id: datadog.security.monitoring_dataset_version_histories + name: monitoring_dataset_version_histories + title: Monitoring Dataset Version Histories methods: - list_all_csmagents: + get_security_monitoring_dataset_version_history: operation: - $ref: '#/paths/~1api~1v2~1csm~1onboarding~1agents/get' + $ref: '#/paths/~1api~1v2~1security_monitoring~1datasets~1{dataset_id}~1version_history/get' response: mediaType: application/json openAPIDocKey: '200' objectKey: $.data + request: + nativeCasing: camel + config: + queryParamPushdown: + top: + paramName: page[size] sqlVerbs: select: - - $ref: >- - #/components/x-stackQL-resources/csm_agents/methods/list_all_csmagents + - $ref: '#/components/x-stackQL-resources/monitoring_dataset_version_histories/methods/get_security_monitoring_dataset_version_history' insert: [] update: [] delete: [] replace: [] - csm_cloud_accounts_coverage_analysis: - id: datadog.security.csm_cloud_accounts_coverage_analysis - name: csm_cloud_accounts_coverage_analysis - title: Csm Cloud Accounts Coverage Analysis + monitoring_entity_contexts: + id: datadog.security.monitoring_entity_contexts + name: monitoring_entity_contexts + title: Monitoring Entity Contexts methods: - get_csmcloud_accounts_coverage_analysis: + get_entity_context: + operation: + $ref: '#/paths/~1api~1v2~1security_monitoring~1entity_context/get' + response: + mediaType: application/json + openAPIDocKey: '200' + objectKey: $.data + request: + nativeCasing: camel + config: + queryParamPushdown: + top: + paramName: limit + get_single_entity_context: operation: - $ref: >- - #/paths/~1api~1v2~1csm~1onboarding~1coverage_analysis~1cloud_accounts/get + $ref: '#/paths/~1api~1v2~1security_monitoring~1entity_context~1{id}/get' response: mediaType: application/json openAPIDocKey: '200' objectKey: $.data + request: + nativeCasing: camel sqlVerbs: select: - - $ref: >- - #/components/x-stackQL-resources/csm_cloud_accounts_coverage_analysis/methods/get_csmcloud_accounts_coverage_analysis + - $ref: '#/components/x-stackQL-resources/monitoring_entity_contexts/methods/get_single_entity_context' + - $ref: '#/components/x-stackQL-resources/monitoring_entity_contexts/methods/get_entity_context' insert: [] update: [] delete: [] replace: [] - csm_hosts_and_containers_coverage_analysis: - id: datadog.security.csm_hosts_and_containers_coverage_analysis - name: csm_hosts_and_containers_coverage_analysis - title: Csm Hosts And Containers Coverage Analysis + monitoring_rules: + id: datadog.security.monitoring_rules + name: monitoring_rules + title: Monitoring Rules methods: - get_csmhosts_and_containers_coverage_analysis: + list_security_monitoring_rules: operation: - $ref: >- - #/paths/~1api~1v2~1csm~1onboarding~1coverage_analysis~1hosts_and_containers/get + $ref: '#/paths/~1api~1v2~1security_monitoring~1rules/get' response: mediaType: application/json openAPIDocKey: '200' objectKey: $.data + request: + nativeCasing: camel + config: + queryParamPushdown: + top: + paramName: page[size] + create_security_monitoring_rule: + config: + requestBodyTranslate: + algorithm: naive + operation: + $ref: '#/paths/~1api~1v2~1security_monitoring~1rules/post' + response: + mediaType: application/json + openAPIDocKey: '200' + request: + nativeCasing: camel + bulk_delete_security_monitoring_rules: + operation: + $ref: '#/paths/~1api~1v2~1security_monitoring~1rules~1bulk_delete/delete' + response: + mediaType: application/json + openAPIDocKey: '200' + request: + nativeCasing: camel + convert_security_monitoring_rule_from_jsonto_terraform: + config: + requestBodyTranslate: + algorithm: naive + operation: + $ref: '#/paths/~1api~1v2~1security_monitoring~1rules~1convert/post' + response: + mediaType: application/json + openAPIDocKey: '200' + request: + nativeCasing: camel + test_security_monitoring_rule: + config: + requestBodyTranslate: + algorithm: naive + operation: + $ref: '#/paths/~1api~1v2~1security_monitoring~1rules~1test/post' + response: + mediaType: application/json + openAPIDocKey: '200' + request: + nativeCasing: camel + validate_security_monitoring_rule: + config: + requestBodyTranslate: + algorithm: naive + operation: + $ref: '#/paths/~1api~1v2~1security_monitoring~1rules~1validation/post' + response: + mediaType: application/json + openAPIDocKey: '204' + request: + nativeCasing: camel + delete_security_monitoring_rule: + operation: + $ref: '#/paths/~1api~1v2~1security_monitoring~1rules~1{rule_id}/delete' + response: + mediaType: application/json + openAPIDocKey: '204' + request: + nativeCasing: camel + get_security_monitoring_rule: + operation: + $ref: '#/paths/~1api~1v2~1security_monitoring~1rules~1{rule_id}/get' + response: + mediaType: application/json + openAPIDocKey: '200' + request: + nativeCasing: camel + update_security_monitoring_rule: + config: + requestBodyTranslate: + algorithm: naive + operation: + $ref: '#/paths/~1api~1v2~1security_monitoring~1rules~1{rule_id}/put' + response: + mediaType: application/json + openAPIDocKey: '200' + request: + nativeCasing: camel + convert_existing_security_monitoring_rule: + operation: + $ref: '#/paths/~1api~1v2~1security_monitoring~1rules~1{rule_id}~1convert/get' + response: + mediaType: application/json + openAPIDocKey: '200' + request: + nativeCasing: camel + restore_security_monitoring_rule: + operation: + $ref: '#/paths/~1api~1v2~1security_monitoring~1rules~1{rule_id}~1restore~1{version}/post' + response: + mediaType: application/json + openAPIDocKey: '200' + request: + nativeCasing: camel + test_existing_security_monitoring_rule: + config: + requestBodyTranslate: + algorithm: naive + operation: + $ref: '#/paths/~1api~1v2~1security_monitoring~1rules~1{rule_id}~1test/post' + response: + mediaType: application/json + openAPIDocKey: '200' + request: + nativeCasing: camel sqlVerbs: select: - - $ref: >- - #/components/x-stackQL-resources/csm_hosts_and_containers_coverage_analysis/methods/get_csmhosts_and_containers_coverage_analysis - insert: [] + - $ref: '#/components/x-stackQL-resources/monitoring_rules/methods/get_security_monitoring_rule' + - $ref: '#/components/x-stackQL-resources/monitoring_rules/methods/list_security_monitoring_rules' + insert: + - $ref: '#/components/x-stackQL-resources/monitoring_rules/methods/create_security_monitoring_rule' update: [] - delete: [] - replace: [] - csm_serverless_coverage_analysis: - id: datadog.security.csm_serverless_coverage_analysis - name: csm_serverless_coverage_analysis - title: Csm Serverless Coverage Analysis + delete: + - $ref: '#/components/x-stackQL-resources/monitoring_rules/methods/delete_security_monitoring_rule' + - $ref: '#/components/x-stackQL-resources/monitoring_rules/methods/bulk_delete_security_monitoring_rules' + replace: + - $ref: '#/components/x-stackQL-resources/monitoring_rules/methods/update_security_monitoring_rule' + rule_version_history: + id: datadog.security.rule_version_history + name: rule_version_history + title: Rule Version History methods: - get_csmserverless_coverage_analysis: + get_rule_version_history: operation: - $ref: >- - #/paths/~1api~1v2~1csm~1onboarding~1coverage_analysis~1serverless/get + $ref: '#/paths/~1api~1v2~1security_monitoring~1rules~1{rule_id}~1version_history/get' response: mediaType: application/json openAPIDocKey: '200' objectKey: $.data + request: + nativeCasing: camel + config: + queryParamPushdown: + top: + paramName: page[size] sqlVerbs: select: - - $ref: >- - #/components/x-stackQL-resources/csm_serverless_coverage_analysis/methods/get_csmserverless_coverage_analysis + - $ref: '#/components/x-stackQL-resources/rule_version_history/methods/get_rule_version_history' insert: [] update: [] delete: [] replace: [] - csm_serverless_agents: - id: datadog.security.csm_serverless_agents - name: csm_serverless_agents - title: Csm Serverless Agents + monitoring_sample_log_generation_subscriptions: + id: datadog.security.monitoring_sample_log_generation_subscriptions + name: monitoring_sample_log_generation_subscriptions + title: Monitoring Sample Log Generation Subscriptions methods: - list_all_csmserverless_agents: + list_sample_log_generation_subscriptions: operation: - $ref: '#/paths/~1api~1v2~1csm~1onboarding~1serverless~1agents/get' + $ref: '#/paths/~1api~1v2~1security_monitoring~1sample_log_generation~1subscriptions/get' response: mediaType: application/json openAPIDocKey: '200' objectKey: $.data - sqlVerbs: - select: - - $ref: >- - #/components/x-stackQL-resources/csm_serverless_agents/methods/list_all_csmserverless_agents - insert: [] - update: [] - delete: [] - replace: [] - findings: - id: datadog.security.findings - name: findings - title: Findings - methods: - list_findings: + request: + nativeCasing: camel + create_sample_log_generation_subscription: + config: + requestBodyTranslate: + algorithm: naive operation: - $ref: '#/paths/~1api~1v2~1posture_management~1findings/get' + $ref: '#/paths/~1api~1v2~1security_monitoring~1sample_log_generation~1subscriptions/post' response: mediaType: application/json openAPIDocKey: '200' - objectKey: $.data - mute_findings: + request: + nativeCasing: camel + bulk_create_sample_log_generation_subscriptions: + config: + requestBodyTranslate: + algorithm: naive operation: - $ref: '#/paths/~1api~1v2~1posture_management~1findings/patch' + $ref: '#/paths/~1api~1v2~1security_monitoring~1sample_log_generation~1subscriptions~1bulk/post' response: mediaType: application/json openAPIDocKey: '200' - get_finding: + request: + nativeCasing: camel + delete_sample_log_generation_subscription: operation: - $ref: '#/paths/~1api~1v2~1posture_management~1findings~1{finding_id}/get' + $ref: '#/paths/~1api~1v2~1security_monitoring~1sample_log_generation~1subscriptions~1{content_pack_id}/delete' response: mediaType: application/json openAPIDocKey: '200' - objectKey: $.data + request: + nativeCasing: camel sqlVerbs: select: - - $ref: '#/components/x-stackQL-resources/findings/methods/get_finding' - - $ref: '#/components/x-stackQL-resources/findings/methods/list_findings' - insert: [] + - $ref: '#/components/x-stackQL-resources/monitoring_sample_log_generation_subscriptions/methods/list_sample_log_generation_subscriptions' + insert: + - $ref: '#/components/x-stackQL-resources/monitoring_sample_log_generation_subscriptions/methods/create_sample_log_generation_subscription' update: [] - delete: [] + delete: + - $ref: '#/components/x-stackQL-resources/monitoring_sample_log_generation_subscriptions/methods/delete_sample_log_generation_subscription' replace: [] - vulnerable_assets: - id: datadog.security.vulnerable_assets - name: vulnerable_assets - title: Vulnerable Assets + monitoring_signals: + id: datadog.security.monitoring_signals + name: monitoring_signals + title: Monitoring Signals methods: - list_vulnerable_assets: + list_security_monitoring_signals: operation: - $ref: '#/paths/~1api~1v2~1security~1assets/get' + $ref: '#/paths/~1api~1v2~1security_monitoring~1signals/get' response: mediaType: application/json openAPIDocKey: '200' objectKey: $.data - sqlVerbs: - select: - - $ref: >- - #/components/x-stackQL-resources/vulnerable_assets/methods/list_vulnerable_assets - insert: [] - update: [] - delete: [] - replace: [] - cloud_workload_security_agent_rules: - id: datadog.security.cloud_workload_security_agent_rules - name: cloud_workload_security_agent_rules - title: Cloud Workload Security Agent Rules - methods: - download_cloud_workload_policy_file: + request: + nativeCasing: camel + config: + pagination: + requestToken: + key: page[cursor] + location: query + responseToken: + key: $.meta.page.after + location: body + queryParamPushdown: + top: + paramName: page[limit] + maxValue: 1000 + bulk_edit_security_monitoring_signals_assignee: + config: + requestBodyTranslate: + algorithm: naive operation: - $ref: '#/paths/~1api~1v2~1security~1cloud_workload~1policy~1download/get' + $ref: '#/paths/~1api~1v2~1security_monitoring~1signals~1bulk~1assignee/patch' response: - mediaType: application/yaml + mediaType: application/json openAPIDocKey: '200' - list_cloud_workload_security_agent_rules: + request: + nativeCasing: camel + bulk_edit_security_monitoring_signals_state: + config: + requestBodyTranslate: + algorithm: naive operation: - $ref: >- - #/paths/~1api~1v2~1security_monitoring~1cloud_workload_security~1agent_rules/get + $ref: '#/paths/~1api~1v2~1security_monitoring~1signals~1bulk~1state/patch' response: mediaType: application/json openAPIDocKey: '200' - objectKey: $.data - create_cloud_workload_security_agent_rule: + request: + nativeCasing: camel + bulk_edit_security_monitoring_signals: + config: + requestBodyTranslate: + algorithm: naive operation: - $ref: >- - #/paths/~1api~1v2~1security_monitoring~1cloud_workload_security~1agent_rules/post + $ref: '#/paths/~1api~1v2~1security_monitoring~1signals~1bulk~1update/patch' response: mediaType: application/json openAPIDocKey: '200' - delete_cloud_workload_security_agent_rule: + request: + nativeCasing: camel + search_security_monitoring_signals: + config: + requestBodyTranslate: + algorithm: naive operation: - $ref: >- - #/paths/~1api~1v2~1security_monitoring~1cloud_workload_security~1agent_rules~1{agent_rule_id}/delete + $ref: '#/paths/~1api~1v2~1security_monitoring~1signals~1search/post' response: mediaType: application/json - openAPIDocKey: '204' - get_cloud_workload_security_agent_rule: + openAPIDocKey: '200' + request: + nativeCasing: camel + get_security_monitoring_signal: operation: - $ref: >- - #/paths/~1api~1v2~1security_monitoring~1cloud_workload_security~1agent_rules~1{agent_rule_id}/get + $ref: '#/paths/~1api~1v2~1security_monitoring~1signals~1{signal_id}/get' response: mediaType: application/json openAPIDocKey: '200' objectKey: $.data - update_cloud_workload_security_agent_rule: + request: + nativeCasing: camel + edit_security_monitoring_signal_assignee: + config: + requestBodyTranslate: + algorithm: naive operation: - $ref: >- - #/paths/~1api~1v2~1security_monitoring~1cloud_workload_security~1agent_rules~1{agent_rule_id}/patch + $ref: '#/paths/~1api~1v2~1security_monitoring~1signals~1{signal_id}~1assignee/patch' response: mediaType: application/json openAPIDocKey: '200' - sqlVerbs: - select: - - $ref: >- - #/components/x-stackQL-resources/cloud_workload_security_agent_rules/methods/get_cloud_workload_security_agent_rule - - $ref: >- - #/components/x-stackQL-resources/cloud_workload_security_agent_rules/methods/list_cloud_workload_security_agent_rules - insert: - - $ref: >- - #/components/x-stackQL-resources/cloud_workload_security_agent_rules/methods/create_cloud_workload_security_agent_rule - update: - - $ref: >- - #/components/x-stackQL-resources/cloud_workload_security_agent_rules/methods/update_cloud_workload_security_agent_rule - delete: - - $ref: >- - #/components/x-stackQL-resources/cloud_workload_security_agent_rules/methods/delete_cloud_workload_security_agent_rule - replace: [] - sboms: - id: datadog.security.sboms - name: sboms - title: Sboms - methods: - list_assets_sboms: + request: + nativeCasing: camel + edit_security_monitoring_signal_incidents: + config: + requestBodyTranslate: + algorithm: naive operation: - $ref: '#/paths/~1api~1v2~1security~1sboms/get' + $ref: '#/paths/~1api~1v2~1security_monitoring~1signals~1{signal_id}~1incidents/patch' response: mediaType: application/json openAPIDocKey: '200' - objectKey: $.data - get_sbom: + request: + nativeCasing: camel + edit_security_monitoring_signal_state: + config: + requestBodyTranslate: + algorithm: naive operation: - $ref: '#/paths/~1api~1v2~1security~1sboms~1{asset_type}/get' + $ref: '#/paths/~1api~1v2~1security_monitoring~1signals~1{signal_id}~1state/patch' response: mediaType: application/json openAPIDocKey: '200' - objectKey: $.data + request: + nativeCasing: camel + edit_security_monitoring_signal: + config: + requestBodyTranslate: + algorithm: naive + operation: + $ref: '#/paths/~1api~1v2~1security_monitoring~1signals~1{signal_id}~1update/patch' + response: + mediaType: application/json + openAPIDocKey: '200' + request: + nativeCasing: camel + add_security_monitoring_signal_to_incident: + config: + requestBodyTranslate: + algorithm: naive + operation: + $ref: '#/paths/~1api~1v1~1security_analytics~1signals~1{signal_id}~1add_to_incident/patch' + response: + mediaType: application/json + openAPIDocKey: '200' + request: + nativeCasing: camel sqlVerbs: select: - - $ref: '#/components/x-stackQL-resources/sboms/methods/get_sbom' - - $ref: '#/components/x-stackQL-resources/sboms/methods/list_assets_sboms' + - $ref: '#/components/x-stackQL-resources/monitoring_signals/methods/get_security_monitoring_signal' + - $ref: '#/components/x-stackQL-resources/monitoring_signals/methods/list_security_monitoring_signals' insert: [] update: [] delete: [] replace: [] - signal_notification_rules: - id: datadog.security.signal_notification_rules - name: signal_notification_rules - title: Signal Notification Rules + monitoring_signal_entities: + id: datadog.security.monitoring_signal_entities + name: monitoring_signal_entities + title: Monitoring Signal Entities methods: - get_signal_notification_rules: + get_signal_entities: operation: - $ref: '#/paths/~1api~1v2~1security~1signals~1notification_rules/get' + $ref: '#/paths/~1api~1v2~1security_monitoring~1signals~1{signal_id}~1entities/get' response: mediaType: application/json openAPIDocKey: '200' objectKey: $.data - create_signal_notification_rule: - operation: - $ref: '#/paths/~1api~1v2~1security~1signals~1notification_rules/post' - response: - mediaType: application/json - openAPIDocKey: '201' - delete_signal_notification_rule: - operation: - $ref: >- - #/paths/~1api~1v2~1security~1signals~1notification_rules~1{id}/delete - response: - mediaType: application/json - openAPIDocKey: '204' - get_signal_notification_rule: + request: + nativeCasing: camel + config: + queryParamPushdown: + top: + paramName: limit + maxValue: 1000 + sqlVerbs: + select: + - $ref: '#/components/x-stackQL-resources/monitoring_signal_entities/methods/get_signal_entities' + insert: [] + update: [] + delete: [] + replace: [] + monitoring_signal_investigation_queries: + id: datadog.security.monitoring_signal_investigation_queries + name: monitoring_signal_investigation_queries + title: Monitoring Signal Investigation Queries + methods: + get_investigation_log_queries_matching_signal: operation: - $ref: '#/paths/~1api~1v2~1security~1signals~1notification_rules~1{id}/get' + $ref: '#/paths/~1api~1v2~1security_monitoring~1signals~1{signal_id}~1investigation_queries/get' response: mediaType: application/json openAPIDocKey: '200' objectKey: $.data - patch_signal_notification_rule: + request: + nativeCasing: camel + sqlVerbs: + select: + - $ref: '#/components/x-stackQL-resources/monitoring_signal_investigation_queries/methods/get_investigation_log_queries_matching_signal' + insert: [] + update: [] + delete: [] + replace: [] + monitoring_signal_suggested_actions: + id: datadog.security.monitoring_signal_suggested_actions + name: monitoring_signal_suggested_actions + title: Monitoring Signal Suggested Actions + methods: + get_suggested_actions_matching_signal: operation: - $ref: >- - #/paths/~1api~1v2~1security~1signals~1notification_rules~1{id}/patch + $ref: '#/paths/~1api~1v2~1security_monitoring~1signals~1{signal_id}~1suggested_actions/get' response: mediaType: application/json openAPIDocKey: '200' + objectKey: $.data + request: + nativeCasing: camel sqlVerbs: select: - - $ref: >- - #/components/x-stackQL-resources/signal_notification_rules/methods/get_signal_notification_rule - - $ref: >- - #/components/x-stackQL-resources/signal_notification_rules/methods/get_signal_notification_rules - insert: - - $ref: >- - #/components/x-stackQL-resources/signal_notification_rules/methods/create_signal_notification_rule - update: - - $ref: >- - #/components/x-stackQL-resources/signal_notification_rules/methods/patch_signal_notification_rule - delete: - - $ref: >- - #/components/x-stackQL-resources/signal_notification_rules/methods/delete_signal_notification_rule + - $ref: '#/components/x-stackQL-resources/monitoring_signal_suggested_actions/methods/get_suggested_actions_matching_signal' + insert: [] + update: [] + delete: [] replace: [] - vulnerabilities: - id: datadog.security.vulnerabilities - name: vulnerabilities - title: Vulnerabilities + monitoring_terraform_resources: + id: datadog.security.monitoring_terraform_resources + name: monitoring_terraform_resources + title: Monitoring Terraform Resources methods: - list_vulnerabilities: + convert_security_monitoring_terraform_resource: + config: + requestBodyTranslate: + algorithm: naive operation: - $ref: '#/paths/~1api~1v2~1security~1vulnerabilities/get' + $ref: '#/paths/~1api~1v2~1security_monitoring~1terraform~1{resource_type}~1convert/post' + response: + mediaType: application/json + openAPIDocKey: '200' + request: + nativeCasing: camel + export_security_monitoring_terraform_resource: + operation: + $ref: '#/paths/~1api~1v2~1security_monitoring~1terraform~1{resource_type}~1{resource_id}/get' response: mediaType: application/json openAPIDocKey: '200' objectKey: $.data + request: + nativeCasing: camel sqlVerbs: select: - - $ref: >- - #/components/x-stackQL-resources/vulnerabilities/methods/list_vulnerabilities + - $ref: '#/components/x-stackQL-resources/monitoring_terraform_resources/methods/export_security_monitoring_terraform_resource' insert: [] update: [] delete: [] replace: [] - vulnerability_notification_rules: - id: datadog.security.vulnerability_notification_rules - name: vulnerability_notification_rules - title: Vulnerability Notification Rules + scanning_groups: + id: datadog.security.scanning_groups + name: scanning_groups + title: Scanning Groups methods: - get_vulnerability_notification_rules: + list_scanning_groups: operation: - $ref: >- - #/paths/~1api~1v2~1security~1vulnerabilities~1notification_rules/get + $ref: '#/paths/~1api~1v2~1sensitive-data-scanner~1config/get' response: mediaType: application/json openAPIDocKey: '200' objectKey: $.data - create_vulnerability_notification_rule: + request: + nativeCasing: camel + reorder_scanning_groups: + config: + requestBodyTranslate: + algorithm: naive operation: - $ref: >- - #/paths/~1api~1v2~1security~1vulnerabilities~1notification_rules/post + $ref: '#/paths/~1api~1v2~1sensitive-data-scanner~1config/patch' response: mediaType: application/json - openAPIDocKey: '201' - delete_vulnerability_notification_rule: + openAPIDocKey: '200' + request: + nativeCasing: camel + create_scanning_group: + config: + requestBodyTranslate: + algorithm: naive operation: - $ref: >- - #/paths/~1api~1v2~1security~1vulnerabilities~1notification_rules~1{id}/delete + $ref: '#/paths/~1api~1v2~1sensitive-data-scanner~1config~1groups/post' response: mediaType: application/json - openAPIDocKey: '204' - get_vulnerability_notification_rule: + openAPIDocKey: '201' + request: + nativeCasing: camel + delete_scanning_group: operation: - $ref: >- - #/paths/~1api~1v2~1security~1vulnerabilities~1notification_rules~1{id}/get + $ref: '#/paths/~1api~1v2~1sensitive-data-scanner~1config~1groups~1{group_id}/delete' response: mediaType: application/json openAPIDocKey: '200' - objectKey: $.data - patch_vulnerability_notification_rule: + request: + nativeCasing: camel + update_scanning_group: + config: + requestBodyTranslate: + algorithm: naive operation: - $ref: >- - #/paths/~1api~1v2~1security~1vulnerabilities~1notification_rules~1{id}/patch + $ref: '#/paths/~1api~1v2~1sensitive-data-scanner~1config~1groups~1{group_id}/patch' response: mediaType: application/json openAPIDocKey: '200' + request: + nativeCasing: camel sqlVerbs: select: - - $ref: >- - #/components/x-stackQL-resources/vulnerability_notification_rules/methods/get_vulnerability_notification_rule - - $ref: >- - #/components/x-stackQL-resources/vulnerability_notification_rules/methods/get_vulnerability_notification_rules + - $ref: '#/components/x-stackQL-resources/scanning_groups/methods/list_scanning_groups' insert: - - $ref: >- - #/components/x-stackQL-resources/vulnerability_notification_rules/methods/create_vulnerability_notification_rule + - $ref: '#/components/x-stackQL-resources/scanning_groups/methods/create_scanning_group' update: - - $ref: >- - #/components/x-stackQL-resources/vulnerability_notification_rules/methods/patch_vulnerability_notification_rule + - $ref: '#/components/x-stackQL-resources/scanning_groups/methods/update_scanning_group' delete: - - $ref: >- - #/components/x-stackQL-resources/vulnerability_notification_rules/methods/delete_vulnerability_notification_rule + - $ref: '#/components/x-stackQL-resources/scanning_groups/methods/delete_scanning_group' replace: [] - filters: - id: datadog.security.filters - name: filters - title: Filters + scanning_rules: + id: datadog.security.scanning_rules + name: scanning_rules + title: Scanning Rules methods: - list_security_filters: + create_scanning_rule: + config: + requestBodyTranslate: + algorithm: naive + operation: + $ref: '#/paths/~1api~1v2~1sensitive-data-scanner~1config~1rules/post' + response: + mediaType: application/json + openAPIDocKey: '201' + request: + nativeCasing: camel + delete_scanning_rule: operation: - $ref: >- - #/paths/~1api~1v2~1security_monitoring~1configuration~1security_filters/get + $ref: '#/paths/~1api~1v2~1sensitive-data-scanner~1config~1rules~1{rule_id}/delete' response: mediaType: application/json openAPIDocKey: '200' - objectKey: $.data - create_security_filter: + request: + nativeCasing: camel + update_scanning_rule: + config: + requestBodyTranslate: + algorithm: naive operation: - $ref: >- - #/paths/~1api~1v2~1security_monitoring~1configuration~1security_filters/post + $ref: '#/paths/~1api~1v2~1sensitive-data-scanner~1config~1rules~1{rule_id}/patch' response: mediaType: application/json openAPIDocKey: '200' - delete_security_filter: + request: + nativeCasing: camel + sqlVerbs: + select: [] + insert: + - $ref: '#/components/x-stackQL-resources/scanning_rules/methods/create_scanning_rule' + update: + - $ref: '#/components/x-stackQL-resources/scanning_rules/methods/update_scanning_rule' + delete: + - $ref: '#/components/x-stackQL-resources/scanning_rules/methods/delete_scanning_rule' + replace: [] + standard_patterns: + id: datadog.security.standard_patterns + name: standard_patterns + title: Standard Patterns + methods: + list_standard_patterns: operation: - $ref: >- - #/paths/~1api~1v2~1security_monitoring~1configuration~1security_filters~1{security_filter_id}/delete + $ref: '#/paths/~1api~1v2~1sensitive-data-scanner~1config~1standard-patterns/get' response: mediaType: application/json - openAPIDocKey: '204' - get_security_filter: + openAPIDocKey: '200' + objectKey: $.data + request: + nativeCasing: camel + sqlVerbs: + select: + - $ref: '#/components/x-stackQL-resources/standard_patterns/methods/list_standard_patterns' + insert: [] + update: [] + delete: [] + replace: [] + monitoring_hist_signals: + id: datadog.security.monitoring_hist_signals + name: monitoring_hist_signals + title: Monitoring Hist Signals + methods: + list_security_monitoring_histsignals: operation: - $ref: >- - #/paths/~1api~1v2~1security_monitoring~1configuration~1security_filters~1{security_filter_id}/get + $ref: '#/paths/~1api~1v2~1siem-historical-detections~1histsignals/get' response: mediaType: application/json openAPIDocKey: '200' objectKey: $.data - update_security_filter: + request: + nativeCasing: camel + config: + queryParamPushdown: + top: + paramName: page[limit] + maxValue: 1000 + search_security_monitoring_histsignals: + config: + requestBodyTranslate: + algorithm: naive operation: - $ref: >- - #/paths/~1api~1v2~1security_monitoring~1configuration~1security_filters~1{security_filter_id}/patch + $ref: '#/paths/~1api~1v2~1siem-historical-detections~1histsignals~1search/post' response: mediaType: application/json openAPIDocKey: '200' - sqlVerbs: - select: - - $ref: >- - #/components/x-stackQL-resources/filters/methods/get_security_filter - - $ref: >- - #/components/x-stackQL-resources/filters/methods/list_security_filters - insert: - - $ref: >- - #/components/x-stackQL-resources/filters/methods/create_security_filter - update: - - $ref: >- - #/components/x-stackQL-resources/filters/methods/update_security_filter - delete: - - $ref: >- - #/components/x-stackQL-resources/filters/methods/delete_security_filter - replace: [] - monitoring_suppressions: - id: datadog.security.monitoring_suppressions - name: monitoring_suppressions - title: Monitoring Suppressions - methods: - list_security_monitoring_suppressions: + request: + nativeCasing: camel + get_security_monitoring_histsignal: operation: - $ref: >- - #/paths/~1api~1v2~1security_monitoring~1configuration~1suppressions/get + $ref: '#/paths/~1api~1v2~1siem-historical-detections~1histsignals~1{histsignal_id}/get' response: mediaType: application/json openAPIDocKey: '200' objectKey: $.data - create_security_monitoring_suppression: + request: + nativeCasing: camel + convert_job_result_to_signal: + config: + requestBodyTranslate: + algorithm: naive + operation: + $ref: '#/paths/~1api~1v2~1siem-historical-detections~1jobs~1signal_convert/post' + response: + mediaType: application/json + openAPIDocKey: '204' + request: + nativeCasing: camel + get_security_monitoring_histsignals_by_job_id: + operation: + $ref: '#/paths/~1api~1v2~1siem-historical-detections~1jobs~1{job_id}~1histsignals/get' + response: + mediaType: application/json + openAPIDocKey: '200' + objectKey: $.data + request: + nativeCasing: camel + config: + queryParamPushdown: + top: + paramName: page[limit] + maxValue: 1000 + sqlVerbs: + select: + - $ref: '#/components/x-stackQL-resources/monitoring_hist_signals/methods/get_security_monitoring_histsignal' + - $ref: '#/components/x-stackQL-resources/monitoring_hist_signals/methods/get_security_monitoring_histsignals_by_job_id' + - $ref: '#/components/x-stackQL-resources/monitoring_hist_signals/methods/list_security_monitoring_histsignals' + insert: [] + update: [] + delete: [] + replace: [] + historical_jobs: + id: datadog.security.historical_jobs + name: historical_jobs + title: Historical Jobs + methods: + list_historical_jobs: operation: - $ref: >- - #/paths/~1api~1v2~1security_monitoring~1configuration~1suppressions/post + $ref: '#/paths/~1api~1v2~1siem-historical-detections~1jobs/get' response: mediaType: application/json openAPIDocKey: '200' - validate_security_monitoring_suppression: + objectKey: $.data + request: + nativeCasing: camel + config: + queryParamPushdown: + top: + paramName: page[size] + run_historical_job: + config: + requestBodyTranslate: + algorithm: naive operation: - $ref: >- - #/paths/~1api~1v2~1security_monitoring~1configuration~1suppressions~1validation/post + $ref: '#/paths/~1api~1v2~1siem-historical-detections~1jobs/post' response: mediaType: application/json - openAPIDocKey: '204' - delete_security_monitoring_suppression: + openAPIDocKey: '201' + request: + nativeCasing: camel + delete_historical_job: operation: - $ref: >- - #/paths/~1api~1v2~1security_monitoring~1configuration~1suppressions~1{suppression_id}/delete + $ref: '#/paths/~1api~1v2~1siem-historical-detections~1jobs~1{job_id}/delete' response: mediaType: application/json openAPIDocKey: '204' - get_security_monitoring_suppression: + request: + nativeCasing: camel + get_historical_job: operation: - $ref: >- - #/paths/~1api~1v2~1security_monitoring~1configuration~1suppressions~1{suppression_id}/get + $ref: '#/paths/~1api~1v2~1siem-historical-detections~1jobs~1{job_id}/get' response: mediaType: application/json openAPIDocKey: '200' objectKey: $.data - update_security_monitoring_suppression: + request: + nativeCasing: camel + cancel_historical_job: operation: - $ref: >- - #/paths/~1api~1v2~1security_monitoring~1configuration~1suppressions~1{suppression_id}/patch + $ref: '#/paths/~1api~1v2~1siem-historical-detections~1jobs~1{job_id}~1cancel/patch' response: mediaType: application/json - openAPIDocKey: '200' + openAPIDocKey: '204' + request: + nativeCasing: camel sqlVerbs: select: - - $ref: >- - #/components/x-stackQL-resources/monitoring_suppressions/methods/get_security_monitoring_suppression - - $ref: >- - #/components/x-stackQL-resources/monitoring_suppressions/methods/list_security_monitoring_suppressions + - $ref: '#/components/x-stackQL-resources/historical_jobs/methods/get_historical_job' + - $ref: '#/components/x-stackQL-resources/historical_jobs/methods/list_historical_jobs' insert: - - $ref: >- - #/components/x-stackQL-resources/monitoring_suppressions/methods/create_security_monitoring_suppression + - $ref: '#/components/x-stackQL-resources/historical_jobs/methods/run_historical_job' update: - - $ref: >- - #/components/x-stackQL-resources/monitoring_suppressions/methods/update_security_monitoring_suppression + - $ref: '#/components/x-stackQL-resources/historical_jobs/methods/cancel_historical_job' delete: - - $ref: >- - #/components/x-stackQL-resources/monitoring_suppressions/methods/delete_security_monitoring_suppression + - $ref: '#/components/x-stackQL-resources/historical_jobs/methods/delete_historical_job' replace: [] - suppressions_affecting_future_rule: - id: datadog.security.suppressions_affecting_future_rule - name: suppressions_affecting_future_rule - title: Suppressions Affecting Future Rule + sca_dependencies: + id: datadog.security.sca_dependencies + name: sca_dependencies + title: Sca Dependencies methods: - get_suppressions_affecting_future_rule: + create_scaresult: + config: + requestBodyTranslate: + algorithm: naive operation: - $ref: >- - #/paths/~1api~1v2~1security_monitoring~1configuration~1suppressions~1rules/post + $ref: '#/paths/~1api~1v2~1static-analysis-sca~1dependencies/post' response: mediaType: application/json openAPIDocKey: '200' + request: + nativeCasing: camel + create_scascan: + config: + requestBodyTranslate: + algorithm: naive + operation: + $ref: '#/paths/~1api~1v2~1static-analysis-sca~1dependencies~1scan/post' + response: + mediaType: application/json + openAPIDocKey: '202' + request: + nativeCasing: camel sqlVerbs: select: [] insert: - - $ref: >- - #/components/x-stackQL-resources/suppressions_affecting_future_rule/methods/get_suppressions_affecting_future_rule + - $ref: '#/components/x-stackQL-resources/sca_dependencies/methods/create_scaresult' update: [] delete: [] replace: [] - suppressions_affecting_rule: - id: datadog.security.suppressions_affecting_rule - name: suppressions_affecting_rule - title: Suppressions Affecting Rule + sca_dependency_scans: + id: datadog.security.sca_dependency_scans + name: sca_dependency_scans + title: Sca Dependency Scans methods: - get_suppressions_affecting_rule: + get_scascan: operation: - $ref: >- - #/paths/~1api~1v2~1security_monitoring~1configuration~1suppressions~1rules~1{rule_id}/get + $ref: '#/paths/~1api~1v2~1static-analysis-sca~1dependencies~1scan~1{job_id}/get' + response: + mediaType: application/json + openAPIDocKey: '200' + request: + nativeCasing: camel + sqlVerbs: + select: [] + insert: [] + update: [] + delete: [] + replace: [] + sca_licenses: + id: datadog.security.sca_licenses + name: sca_licenses + title: Sca Licenses + methods: + list_scalicenses: + operation: + $ref: '#/paths/~1api~1v2~1static-analysis-sca~1licenses~1list/get' response: mediaType: application/json openAPIDocKey: '200' objectKey: $.data + request: + nativeCasing: camel sqlVerbs: select: - - $ref: >- - #/components/x-stackQL-resources/suppressions_affecting_rule/methods/get_suppressions_affecting_rule + - $ref: '#/components/x-stackQL-resources/sca_licenses/methods/list_scalicenses' insert: [] update: [] delete: [] replace: [] - monitoring_rules: - id: datadog.security.monitoring_rules - name: monitoring_rules - title: Monitoring Rules + sca_vulnerabilities: + id: datadog.security.sca_vulnerabilities + name: sca_vulnerabilities + title: Sca Vulnerabilities methods: - list_security_monitoring_rules: + create_scaresolve_vulnerable_symbols: + config: + requestBodyTranslate: + algorithm: naive operation: - $ref: '#/paths/~1api~1v2~1security_monitoring~1rules/get' + $ref: '#/paths/~1api~1v2~1static-analysis-sca~1vulnerabilities~1resolve-vulnerable-symbols/post' response: mediaType: application/json openAPIDocKey: '200' - objectKey: $.data - create_security_monitoring_rule: + request: + nativeCasing: camel + sqlVerbs: + select: [] + insert: [] + update: [] + delete: [] + replace: [] + static_analysis_ai_memories: + id: datadog.security.static_analysis_ai_memories + name: static_analysis_ai_memories + title: Static Analysis Ai Memories + methods: + list_ai_memory_violation_results: operation: - $ref: '#/paths/~1api~1v2~1security_monitoring~1rules/post' + $ref: '#/paths/~1api~1v2~1static-analysis~1ai~1memory/get' response: mediaType: application/json openAPIDocKey: '200' - convert_security_monitoring_rule_from_jsonto_terraform: + objectKey: $.data + request: + nativeCasing: camel + create_ai_memory_violation_result: + config: + requestBodyTranslate: + algorithm: naive operation: - $ref: '#/paths/~1api~1v2~1security_monitoring~1rules~1convert/post' + $ref: '#/paths/~1api~1v2~1static-analysis~1ai~1memory/post' response: mediaType: application/json openAPIDocKey: '200' - test_security_monitoring_rule: + request: + nativeCasing: camel + delete_ai_memory_violation_result: operation: - $ref: '#/paths/~1api~1v2~1security_monitoring~1rules~1test/post' + $ref: '#/paths/~1api~1v2~1static-analysis~1ai~1memory~1{id}/delete' response: mediaType: application/json openAPIDocKey: '200' - validate_security_monitoring_rule: + request: + nativeCasing: camel + sqlVerbs: + select: + - $ref: '#/components/x-stackQL-resources/static_analysis_ai_memories/methods/list_ai_memory_violation_results' + insert: + - $ref: '#/components/x-stackQL-resources/static_analysis_ai_memories/methods/create_ai_memory_violation_result' + update: [] + delete: + - $ref: '#/components/x-stackQL-resources/static_analysis_ai_memories/methods/delete_ai_memory_violation_result' + replace: [] + static_analysis_ai_prompts: + id: datadog.security.static_analysis_ai_prompts + name: static_analysis_ai_prompts + title: Static Analysis Ai Prompts + methods: + list_ai_prompts: operation: - $ref: '#/paths/~1api~1v2~1security_monitoring~1rules~1validation/post' + $ref: '#/paths/~1api~1v2~1static-analysis~1ai~1prompts/get' response: mediaType: application/json - openAPIDocKey: '204' - delete_security_monitoring_rule: + openAPIDocKey: '200' + objectKey: $.data + request: + nativeCasing: camel + sqlVerbs: + select: + - $ref: '#/components/x-stackQL-resources/static_analysis_ai_prompts/methods/list_ai_prompts' + insert: [] + update: [] + delete: [] + replace: [] + static_analysis_ai_rulesets: + id: datadog.security.static_analysis_ai_rulesets + name: static_analysis_ai_rulesets + title: Static Analysis Ai Rulesets + methods: + list_ai_custom_rulesets: operation: - $ref: '#/paths/~1api~1v2~1security_monitoring~1rules~1{rule_id}/delete' + $ref: '#/paths/~1api~1v2~1static-analysis~1ai~1rulesets/get' response: mediaType: application/json - openAPIDocKey: '204' - get_security_monitoring_rule: + openAPIDocKey: '200' + objectKey: $.data + request: + nativeCasing: camel + config: + queryParamPushdown: + top: + paramName: page[limit] + skip: + paramName: page[offset] + create_ai_custom_ruleset: + config: + requestBodyTranslate: + algorithm: naive operation: - $ref: '#/paths/~1api~1v2~1security_monitoring~1rules~1{rule_id}/get' + $ref: '#/paths/~1api~1v2~1static-analysis~1ai~1rulesets/post' response: mediaType: application/json openAPIDocKey: '200' - update_security_monitoring_rule: + request: + nativeCasing: camel + delete_ai_custom_ruleset: operation: - $ref: '#/paths/~1api~1v2~1security_monitoring~1rules~1{rule_id}/put' + $ref: '#/paths/~1api~1v2~1static-analysis~1ai~1rulesets~1{ruleset_name}/delete' response: mediaType: application/json openAPIDocKey: '200' - convert_existing_security_monitoring_rule: + request: + nativeCasing: camel + get_ai_custom_ruleset: operation: - $ref: >- - #/paths/~1api~1v2~1security_monitoring~1rules~1{rule_id}~1convert/get + $ref: '#/paths/~1api~1v2~1static-analysis~1ai~1rulesets~1{ruleset_name}/get' response: mediaType: application/json openAPIDocKey: '200' - test_existing_security_monitoring_rule: + objectKey: $.data + request: + nativeCasing: camel + update_ai_custom_ruleset: + config: + requestBodyTranslate: + algorithm: naive operation: - $ref: >- - #/paths/~1api~1v2~1security_monitoring~1rules~1{rule_id}~1test/post + $ref: '#/paths/~1api~1v2~1static-analysis~1ai~1rulesets~1{ruleset_name}/patch' response: mediaType: application/json openAPIDocKey: '200' + request: + nativeCasing: camel sqlVerbs: select: - - $ref: >- - #/components/x-stackQL-resources/monitoring_rules/methods/get_security_monitoring_rule - - $ref: >- - #/components/x-stackQL-resources/monitoring_rules/methods/list_security_monitoring_rules + - $ref: '#/components/x-stackQL-resources/static_analysis_ai_rulesets/methods/get_ai_custom_ruleset' + - $ref: '#/components/x-stackQL-resources/static_analysis_ai_rulesets/methods/list_ai_custom_rulesets' insert: - - $ref: >- - #/components/x-stackQL-resources/monitoring_rules/methods/create_security_monitoring_rule - update: [] + - $ref: '#/components/x-stackQL-resources/static_analysis_ai_rulesets/methods/create_ai_custom_ruleset' + update: + - $ref: '#/components/x-stackQL-resources/static_analysis_ai_rulesets/methods/update_ai_custom_ruleset' delete: - - $ref: >- - #/components/x-stackQL-resources/monitoring_rules/methods/delete_security_monitoring_rule - replace: - - $ref: >- - #/components/x-stackQL-resources/monitoring_rules/methods/update_security_monitoring_rule - rule_version_history: - id: datadog.security.rule_version_history - name: rule_version_history - title: Rule Version History + - $ref: '#/components/x-stackQL-resources/static_analysis_ai_rulesets/methods/delete_ai_custom_ruleset' + replace: [] + static_analysis_ai_ruleset_rules: + id: datadog.security.static_analysis_ai_ruleset_rules + name: static_analysis_ai_ruleset_rules + title: Static Analysis Ai Ruleset Rules methods: - get_rule_version_history: + create_ai_custom_rule: + config: + requestBodyTranslate: + algorithm: naive operation: - $ref: >- - #/paths/~1api~1v2~1security_monitoring~1rules~1{rule_id}~1version_history/get + $ref: '#/paths/~1api~1v2~1static-analysis~1ai~1rulesets~1{ruleset_name}~1rules/post' response: mediaType: application/json openAPIDocKey: '200' - objectKey: $.data - sqlVerbs: - select: - - $ref: >- - #/components/x-stackQL-resources/rule_version_history/methods/get_rule_version_history - insert: [] - update: [] - delete: [] - replace: [] - monitoring_signals: - id: datadog.security.monitoring_signals - name: monitoring_signals - title: Monitoring Signals - methods: - list_security_monitoring_signals: + request: + nativeCasing: camel + delete_ai_custom_rule: operation: - $ref: '#/paths/~1api~1v2~1security_monitoring~1signals/get' + $ref: '#/paths/~1api~1v2~1static-analysis~1ai~1rulesets~1{ruleset_name}~1rules~1{rule_name}/delete' response: mediaType: application/json openAPIDocKey: '200' - objectKey: $.data - search_security_monitoring_signals: + request: + nativeCasing: camel + get_ai_custom_rule: operation: - $ref: '#/paths/~1api~1v2~1security_monitoring~1signals~1search/post' + $ref: '#/paths/~1api~1v2~1static-analysis~1ai~1rulesets~1{ruleset_name}~1rules~1{rule_name}/get' response: mediaType: application/json openAPIDocKey: '200' - get_security_monitoring_signal: + objectKey: $.data + request: + nativeCasing: camel + sqlVerbs: + select: + - $ref: '#/components/x-stackQL-resources/static_analysis_ai_ruleset_rules/methods/get_ai_custom_rule' + insert: + - $ref: '#/components/x-stackQL-resources/static_analysis_ai_ruleset_rules/methods/create_ai_custom_rule' + update: [] + delete: + - $ref: '#/components/x-stackQL-resources/static_analysis_ai_ruleset_rules/methods/delete_ai_custom_rule' + replace: [] + static_analysis_ai_ruleset_rule_revisions: + id: datadog.security.static_analysis_ai_ruleset_rule_revisions + name: static_analysis_ai_ruleset_rule_revisions + title: Static Analysis Ai Ruleset Rule Revisions + methods: + list_ai_custom_rule_revisions: operation: - $ref: '#/paths/~1api~1v2~1security_monitoring~1signals~1{signal_id}/get' + $ref: '#/paths/~1api~1v2~1static-analysis~1ai~1rulesets~1{ruleset_name}~1rules~1{rule_name}~1revisions/get' response: mediaType: application/json openAPIDocKey: '200' objectKey: $.data - edit_security_monitoring_signal_assignee: + request: + nativeCasing: camel + config: + queryParamPushdown: + top: + paramName: page[limit] + skip: + paramName: page[offset] + create_ai_custom_rule_revision: + config: + requestBodyTranslate: + algorithm: naive operation: - $ref: >- - #/paths/~1api~1v2~1security_monitoring~1signals~1{signal_id}~1assignee/patch + $ref: '#/paths/~1api~1v2~1static-analysis~1ai~1rulesets~1{ruleset_name}~1rules~1{rule_name}~1revisions/post' response: mediaType: application/json openAPIDocKey: '200' - edit_security_monitoring_signal_incidents: + request: + nativeCasing: camel + get_ai_custom_rule_revision: operation: - $ref: >- - #/paths/~1api~1v2~1security_monitoring~1signals~1{signal_id}~1incidents/patch + $ref: '#/paths/~1api~1v2~1static-analysis~1ai~1rulesets~1{ruleset_name}~1rules~1{rule_name}~1revisions~1{id}/get' response: mediaType: application/json openAPIDocKey: '200' - edit_security_monitoring_signal_state: + objectKey: $.data + request: + nativeCasing: camel + sqlVerbs: + select: + - $ref: '#/components/x-stackQL-resources/static_analysis_ai_ruleset_rule_revisions/methods/get_ai_custom_rule_revision' + - $ref: '#/components/x-stackQL-resources/static_analysis_ai_ruleset_rule_revisions/methods/list_ai_custom_rule_revisions' + insert: + - $ref: '#/components/x-stackQL-resources/static_analysis_ai_ruleset_rule_revisions/methods/create_ai_custom_rule_revision' + update: [] + delete: [] + replace: [] + static_analysis_codegen_rulesets: + id: datadog.security.static_analysis_codegen_rulesets + name: static_analysis_codegen_rulesets + title: Static Analysis Codegen Rulesets + methods: + list_static_analysis_codegen_rulesets: operation: - $ref: >- - #/paths/~1api~1v2~1security_monitoring~1signals~1{signal_id}~1state/patch + $ref: '#/paths/~1api~1v2~1static-analysis~1codegen~1rulesets/get' response: mediaType: application/json openAPIDocKey: '200' + objectKey: $.data + request: + nativeCasing: camel sqlVerbs: select: - - $ref: >- - #/components/x-stackQL-resources/monitoring_signals/methods/get_security_monitoring_signal - - $ref: >- - #/components/x-stackQL-resources/monitoring_signals/methods/list_security_monitoring_signals + - $ref: '#/components/x-stackQL-resources/static_analysis_codegen_rulesets/methods/list_static_analysis_codegen_rulesets' insert: [] update: [] delete: [] replace: [] - scanning_groups: - id: datadog.security.scanning_groups - name: scanning_groups - title: Scanning Groups + static_analysis_custom_rulesets: + id: datadog.security.static_analysis_custom_rulesets + name: static_analysis_custom_rulesets + title: Static Analysis Custom Rulesets methods: - list_scanning_groups: + list_custom_rulesets: operation: - $ref: '#/paths/~1api~1v2~1sensitive-data-scanner~1config/get' + $ref: '#/paths/~1api~1v2~1static-analysis~1custom~1rulesets/get' response: mediaType: application/json openAPIDocKey: '200' objectKey: $.data - reorder_scanning_groups: + request: + nativeCasing: camel + create_custom_ruleset: + config: + requestBodyTranslate: + algorithm: naive operation: - $ref: '#/paths/~1api~1v2~1sensitive-data-scanner~1config/patch' + $ref: '#/paths/~1api~1v2~1static-analysis~1custom~1rulesets/put' response: mediaType: application/json openAPIDocKey: '200' - create_scanning_group: + request: + nativeCasing: camel + delete_custom_ruleset: operation: - $ref: '#/paths/~1api~1v2~1sensitive-data-scanner~1config~1groups/post' + $ref: '#/paths/~1api~1v2~1static-analysis~1custom~1rulesets~1{ruleset_name}/delete' response: mediaType: application/json openAPIDocKey: '200' - delete_scanning_group: + request: + nativeCasing: camel + get_custom_ruleset: operation: - $ref: >- - #/paths/~1api~1v2~1sensitive-data-scanner~1config~1groups~1{group_id}/delete + $ref: '#/paths/~1api~1v2~1static-analysis~1custom~1rulesets~1{ruleset_name}/get' response: mediaType: application/json openAPIDocKey: '200' - update_scanning_group: + objectKey: $.data + request: + nativeCasing: camel + update_custom_ruleset: + config: + requestBodyTranslate: + algorithm: naive operation: - $ref: >- - #/paths/~1api~1v2~1sensitive-data-scanner~1config~1groups~1{group_id}/patch + $ref: '#/paths/~1api~1v2~1static-analysis~1custom~1rulesets~1{ruleset_name}/patch' response: mediaType: application/json openAPIDocKey: '200' + request: + nativeCasing: camel sqlVerbs: select: - - $ref: >- - #/components/x-stackQL-resources/scanning_groups/methods/list_scanning_groups - insert: - - $ref: >- - #/components/x-stackQL-resources/scanning_groups/methods/create_scanning_group + - $ref: '#/components/x-stackQL-resources/static_analysis_custom_rulesets/methods/get_custom_ruleset' + - $ref: '#/components/x-stackQL-resources/static_analysis_custom_rulesets/methods/list_custom_rulesets' + insert: [] update: - - $ref: >- - #/components/x-stackQL-resources/scanning_groups/methods/update_scanning_group + - $ref: '#/components/x-stackQL-resources/static_analysis_custom_rulesets/methods/update_custom_ruleset' delete: - - $ref: >- - #/components/x-stackQL-resources/scanning_groups/methods/delete_scanning_group - replace: [] - scanning_rules: - id: datadog.security.scanning_rules - name: scanning_rules - title: Scanning Rules + - $ref: '#/components/x-stackQL-resources/static_analysis_custom_rulesets/methods/delete_custom_ruleset' + replace: + - $ref: '#/components/x-stackQL-resources/static_analysis_custom_rulesets/methods/create_custom_ruleset' + static_analysis_custom_ruleset_rules: + id: datadog.security.static_analysis_custom_ruleset_rules + name: static_analysis_custom_ruleset_rules + title: Static Analysis Custom Ruleset Rules methods: - create_scanning_rule: - operation: - $ref: '#/paths/~1api~1v2~1sensitive-data-scanner~1config~1rules/post' - response: - mediaType: application/json - openAPIDocKey: '200' - delete_scanning_rule: + create_custom_rule: + config: + requestBodyTranslate: + algorithm: naive operation: - $ref: >- - #/paths/~1api~1v2~1sensitive-data-scanner~1config~1rules~1{rule_id}/delete + $ref: '#/paths/~1api~1v2~1static-analysis~1custom~1rulesets~1{ruleset_name}~1rules/put' response: mediaType: application/json openAPIDocKey: '200' - update_scanning_rule: + request: + nativeCasing: camel + delete_custom_rule: operation: - $ref: >- - #/paths/~1api~1v2~1sensitive-data-scanner~1config~1rules~1{rule_id}/patch + $ref: '#/paths/~1api~1v2~1static-analysis~1custom~1rulesets~1{ruleset_name}~1rules~1{rule_name}/delete' response: mediaType: application/json openAPIDocKey: '200' - sqlVerbs: - select: [] - insert: - - $ref: >- - #/components/x-stackQL-resources/scanning_rules/methods/create_scanning_rule - update: - - $ref: >- - #/components/x-stackQL-resources/scanning_rules/methods/update_scanning_rule - delete: - - $ref: >- - #/components/x-stackQL-resources/scanning_rules/methods/delete_scanning_rule - replace: [] - standard_patterns: - id: datadog.security.standard_patterns - name: standard_patterns - title: Standard Patterns - methods: - list_standard_patterns: + request: + nativeCasing: camel + get_custom_rule: operation: - $ref: >- - #/paths/~1api~1v2~1sensitive-data-scanner~1config~1standard-patterns/get + $ref: '#/paths/~1api~1v2~1static-analysis~1custom~1rulesets~1{ruleset_name}~1rules~1{rule_name}/get' response: mediaType: application/json openAPIDocKey: '200' objectKey: $.data + request: + nativeCasing: camel sqlVerbs: select: - - $ref: >- - #/components/x-stackQL-resources/standard_patterns/methods/list_standard_patterns + - $ref: '#/components/x-stackQL-resources/static_analysis_custom_ruleset_rules/methods/get_custom_rule' insert: [] update: [] - delete: [] - replace: [] - monitoring_hist_signals: - id: datadog.security.monitoring_hist_signals - name: monitoring_hist_signals - title: Monitoring Hist Signals + delete: + - $ref: '#/components/x-stackQL-resources/static_analysis_custom_ruleset_rules/methods/delete_custom_rule' + replace: + - $ref: '#/components/x-stackQL-resources/static_analysis_custom_ruleset_rules/methods/create_custom_rule' + static_analysis_custom_ruleset_rule_revisions: + id: datadog.security.static_analysis_custom_ruleset_rule_revisions + name: static_analysis_custom_ruleset_rule_revisions + title: Static Analysis Custom Ruleset Rule Revisions methods: - list_security_monitoring_histsignals: + list_custom_rule_revisions: operation: - $ref: '#/paths/~1api~1v2~1siem-historical-detections~1histsignals/get' + $ref: '#/paths/~1api~1v2~1static-analysis~1custom~1rulesets~1{ruleset_name}~1rules~1{rule_name}~1revisions/get' response: mediaType: application/json openAPIDocKey: '200' objectKey: $.data - search_security_monitoring_histsignals: + request: + nativeCasing: camel + config: + queryParamPushdown: + top: + paramName: page[limit] + skip: + paramName: page[offset] + create_custom_rule_revision: + config: + requestBodyTranslate: + algorithm: naive operation: - $ref: >- - #/paths/~1api~1v2~1siem-historical-detections~1histsignals~1search/get + $ref: '#/paths/~1api~1v2~1static-analysis~1custom~1rulesets~1{ruleset_name}~1rules~1{rule_name}~1revisions/put' response: mediaType: application/json openAPIDocKey: '200' - get_security_monitoring_histsignal: + request: + nativeCasing: camel + revert_custom_rule_revision: + config: + requestBodyTranslate: + algorithm: naive operation: - $ref: >- - #/paths/~1api~1v2~1siem-historical-detections~1histsignals~1{histsignal_id}/get + $ref: '#/paths/~1api~1v2~1static-analysis~1custom~1rulesets~1{ruleset_name}~1rules~1{rule_name}~1revisions~1revert/post' response: mediaType: application/json openAPIDocKey: '200' - objectKey: $.data - convert_job_result_to_signal: + request: + nativeCasing: camel + get_custom_rule_revision: operation: - $ref: >- - #/paths/~1api~1v2~1siem-historical-detections~1jobs~1signal_convert/post + $ref: '#/paths/~1api~1v2~1static-analysis~1custom~1rulesets~1{ruleset_name}~1rules~1{rule_name}~1revisions~1{id}/get' response: mediaType: application/json - openAPIDocKey: '204' - get_security_monitoring_histsignals_by_job_id: + openAPIDocKey: '200' + objectKey: $.data + request: + nativeCasing: camel + sqlVerbs: + select: + - $ref: '#/components/x-stackQL-resources/static_analysis_custom_ruleset_rule_revisions/methods/get_custom_rule_revision' + - $ref: '#/components/x-stackQL-resources/static_analysis_custom_ruleset_rule_revisions/methods/list_custom_rule_revisions' + insert: [] + update: [] + delete: [] + replace: + - $ref: '#/components/x-stackQL-resources/static_analysis_custom_ruleset_rule_revisions/methods/create_custom_rule_revision' + static_analysis_default_rulesets: + id: datadog.security.static_analysis_default_rulesets + name: static_analysis_default_rulesets + title: Static Analysis Default Rulesets + methods: + get_static_analysis_default_rulesets: operation: - $ref: >- - #/paths/~1api~1v2~1siem-historical-detections~1jobs~1{job_id}~1histsignals/get + $ref: '#/paths/~1api~1v2~1static-analysis~1default-rulesets~1{language}/get' response: mediaType: application/json openAPIDocKey: '200' objectKey: $.data + request: + nativeCasing: camel sqlVerbs: select: - - $ref: >- - #/components/x-stackQL-resources/monitoring_hist_signals/methods/get_security_monitoring_histsignal - - $ref: >- - #/components/x-stackQL-resources/monitoring_hist_signals/methods/get_security_monitoring_histsignals_by_job_id - - $ref: >- - #/components/x-stackQL-resources/monitoring_hist_signals/methods/list_security_monitoring_histsignals + - $ref: '#/components/x-stackQL-resources/static_analysis_default_rulesets/methods/get_static_analysis_default_rulesets' insert: [] update: [] delete: [] replace: [] - historical_jobs: - id: datadog.security.historical_jobs - name: historical_jobs - title: Historical Jobs + static_analysis_rulesets: + id: datadog.security.static_analysis_rulesets + name: static_analysis_rulesets + title: Static Analysis Rulesets methods: - list_historical_jobs: + list_multiple_rulesets: + config: + requestBodyTranslate: + algorithm: naive operation: - $ref: '#/paths/~1api~1v2~1siem-historical-detections~1jobs/get' + $ref: '#/paths/~1api~1v2~1static-analysis~1rulesets/post' + response: + mediaType: application/json + openAPIDocKey: '200' + request: + nativeCasing: camel + get_static_analysis_ruleset: + operation: + $ref: '#/paths/~1api~1v2~1static-analysis~1rulesets~1{ruleset_name}/get' response: mediaType: application/json openAPIDocKey: '200' objectKey: $.data - run_historical_job: + request: + nativeCasing: camel + sqlVerbs: + select: + - $ref: '#/components/x-stackQL-resources/static_analysis_rulesets/methods/get_static_analysis_ruleset' + insert: + - $ref: '#/components/x-stackQL-resources/static_analysis_rulesets/methods/list_multiple_rulesets' + update: [] + delete: [] + replace: [] + static_analysis_secret_rules: + id: datadog.security.static_analysis_secret_rules + name: static_analysis_secret_rules + title: Static Analysis Secret Rules + methods: + get_secrets_rules: operation: - $ref: '#/paths/~1api~1v2~1siem-historical-detections~1jobs/post' + $ref: '#/paths/~1api~1v2~1static-analysis~1secrets~1rules/get' response: mediaType: application/json - openAPIDocKey: '201' - delete_historical_job: + openAPIDocKey: '200' + objectKey: $.data + request: + nativeCasing: camel + sqlVerbs: + select: + - $ref: '#/components/x-stackQL-resources/static_analysis_secret_rules/methods/get_secrets_rules' + insert: [] + update: [] + delete: [] + replace: [] + static_analysis_server: + id: datadog.security.static_analysis_server + name: static_analysis_server + title: Static Analysis Server + methods: + create_static_analysis_server_analysis: + config: + requestBodyTranslate: + algorithm: naive operation: - $ref: >- - #/paths/~1api~1v2~1siem-historical-detections~1jobs~1{job_id}/delete + $ref: '#/paths/~1api~1v2~1static-analysis~1static-analysis-server~1analyze/post' response: mediaType: application/json - openAPIDocKey: '204' - get_historical_job: + openAPIDocKey: '200' + request: + nativeCasing: camel + create_static_analysis_ast: + config: + requestBodyTranslate: + algorithm: naive operation: - $ref: '#/paths/~1api~1v2~1siem-historical-detections~1jobs~1{job_id}/get' + $ref: '#/paths/~1api~1v2~1static-analysis~1static-analysis-server~1get-ast/post' response: mediaType: application/json openAPIDocKey: '200' - objectKey: $.data - cancel_historical_job: + request: + nativeCasing: camel + get_static_analysis_node_types: operation: - $ref: >- - #/paths/~1api~1v2~1siem-historical-detections~1jobs~1{job_id}~1cancel/patch + $ref: '#/paths/~1api~1v2~1static-analysis~1static-analysis-server~1node-types~1{language}/get' response: mediaType: application/json - openAPIDocKey: '204' + openAPIDocKey: '200' + objectKey: $.data + request: + nativeCasing: camel sqlVerbs: - select: - - $ref: >- - #/components/x-stackQL-resources/historical_jobs/methods/get_historical_job - - $ref: >- - #/components/x-stackQL-resources/historical_jobs/methods/list_historical_jobs - insert: - - $ref: >- - #/components/x-stackQL-resources/historical_jobs/methods/run_historical_job - update: - - $ref: >- - #/components/x-stackQL-resources/historical_jobs/methods/cancel_historical_job - delete: - - $ref: >- - #/components/x-stackQL-resources/historical_jobs/methods/delete_historical_job + select: [] + insert: [] + update: [] + delete: [] replace: [] servers: - - url: >- - https://{region:^(?:[^\:/]+(?:\:[0-9]+)?|[0-9]+\.[0-9]+\.[0-9]+\.[0-9]+(?:\:[0-9]+)?)$}/ + - url: https://api.{site:.+} variables: - region: + site: default: datadoghq.com + description: The Datadog site (region) for your organization, for example datadoghq.com, us3.datadoghq.com, us5.datadoghq.com, ap1.datadoghq.com, ap2.datadoghq.com, datadoghq.eu, ddog-gov.com. Resolved from the DD_SITE environment variable when set. + x-stackQL-envVar: DD_SITE diff --git a/providers/src/datadog/v00.00.00000/services/service_management.yaml b/providers/src/datadog/v00.00.00000/services/service_management.yaml index a115bc0f..8f15eb33 100644 --- a/providers/src/datadog/v00.00.00000/services/service_management.yaml +++ b/providers/src/datadog/v00.00.00000/services/service_management.yaml @@ -4,6 +4,213 @@ info: description: datadog service_management API version: '1.0' paths: + /api/v2/bits-ai/investigations: + get: + description: List all Bits AI investigations for the organization. + operationId: ListInvestigations + parameters: + - description: Offset for pagination. + example: 0 + in: query + name: page[offset] + required: false + schema: + format: int64 + type: integer + - description: Maximum number of investigations to return. + example: 25 + in: query + name: page[limit] + required: false + schema: + default: 25 + format: int64 + maximum: 100 + type: integer + - description: Filter investigations by monitor ID. + example: 12345678 + in: query + name: filter[monitor_id] + required: false + schema: + format: int64 + type: integer + responses: + '200': + content: + application/json: + examples: + default: + value: + data: + - attributes: + status: conclusive + title: Monitor alert investigation for web-server-01 + id: a1b2c3d4-5e6f-7a8b-9c0d-1e2f3a4b5c6d + type: investigation + links: + first: https://api.datadoghq.com/api/v2/bits-ai/investigations?page[offset]=0&page[limit]=10 + next: https://api.datadoghq.com/api/v2/bits-ai/investigations?page[offset]=10&page[limit]=10 + self: https://api.datadoghq.com/api/v2/bits-ai/investigations?page[offset]=0&page[limit]=10 + meta: + page: + limit: 10 + offset: 0 + total: 50 + schema: + $ref: '#/components/schemas/ListInvestigationsResponse' + description: OK + '400': + content: + application/json: + schema: + $ref: '#/components/schemas/JSONAPIErrorResponse' + description: Bad Request + '429': + $ref: '#/components/responses/TooManyRequestsResponse' + security: + - apiKeyAuth: [] + appKeyAuth: [] + - AuthZ: + - bits_investigations_read + summary: List Bits AI investigations + tags: + - Bits AI + x-pagination: + limitParam: page[limit] + pageOffsetParam: page[offset] + resultsPath: data + x-permission: + operator: OR + permissions: + - bits_investigations_read + x-unstable: |- + **Note**: This endpoint is in preview and is subject to change. + If you have any feedback, contact [Datadog support](https://docs.datadoghq.com/help/). + post: + description: Trigger a new Bits AI investigation based on a monitor alert. + operationId: TriggerInvestigation + requestBody: + content: + application/json: + examples: + default: + value: + data: + attributes: + trigger: + monitor_alert_trigger: + event_id: '1234567890123456789' + event_ts: 1700000000000 + monitor_id: 12345678 + type: monitor_alert_trigger + type: trigger_investigation_request + schema: + $ref: '#/components/schemas/TriggerInvestigationRequest' + description: Trigger investigation request body. + required: true + responses: + '200': + content: + application/json: + examples: + default: + value: + data: + attributes: + investigation_id: a1b2c3d4-5e6f-7a8b-9c0d-1e2f3a4b5c6d + id: f5e6a7b8-c9d0-1e2f-3a4b-5c6d7e8f9a0b + type: trigger_investigation_response + schema: + $ref: '#/components/schemas/TriggerInvestigationResponse' + description: OK + '400': + content: + application/json: + schema: + $ref: '#/components/schemas/JSONAPIErrorResponse' + description: Bad Request + '429': + $ref: '#/components/responses/TooManyRequestsResponse' + security: + - apiKeyAuth: [] + appKeyAuth: [] + - AuthZ: + - bits_investigations_write + summary: Trigger a Bits AI investigation + tags: + - Bits AI + x-codegen-request-body-name: body + x-permission: + operator: OR + permissions: + - bits_investigations_write + x-unstable: |- + **Note**: This endpoint is in preview and is subject to change. + If you have any feedback, contact [Datadog support](https://docs.datadoghq.com/help/). + /api/v2/bits-ai/investigations/{id}: + get: + description: Get a specific Bits AI investigation by ID. + operationId: GetInvestigation + parameters: + - description: The ID of the investigation. + example: a1b2c3d4-5e6f-7a8b-9c0d-1e2f3a4b5c6d + in: path + name: id + required: true + schema: + type: string + responses: + '200': + content: + application/json: + examples: + default: + value: + data: + attributes: + conclusions: + - description: The investigation found that a memory leak in payments-service caused CPU usage to spike above 95% starting at 14:32 UTC. + summary: CPU usage exceeded 95% for over 10 minutes on web-server-01. + title: High CPU usage detected on web-server-01 + status: conclusive + title: Monitor alert investigation for web-server-01 + id: a1b2c3d4-5e6f-7a8b-9c0d-1e2f3a4b5c6d + type: investigation + links: + self: https://app.datadoghq.com/bits-ai/investigations/a1b2c3d4-5e6f-7a8b-9c0d-1e2f3a4b5c6d + schema: + $ref: '#/components/schemas/GetInvestigationResponse' + description: OK + '400': + content: + application/json: + schema: + $ref: '#/components/schemas/JSONAPIErrorResponse' + description: Bad Request + '404': + content: + application/json: + schema: + $ref: '#/components/schemas/JSONAPIErrorResponse' + description: Not Found + '429': + $ref: '#/components/responses/TooManyRequestsResponse' + security: + - apiKeyAuth: [] + appKeyAuth: [] + - AuthZ: + - bits_investigations_read + summary: Get a Bits AI investigation + tags: + - Bits AI + x-permission: + operator: OR + permissions: + - bits_investigations_read + x-unstable: |- + **Note**: This endpoint is in preview and is subject to change. + If you have any feedback, contact [Datadog support](https://docs.datadoghq.com/help/). /api/v2/cases: get: description: Search cases. @@ -30,6 +237,29 @@ paths: '200': content: application/json: + examples: + default: + value: + data: + - attributes: + created_at: '2024-01-01T00:00:00+00:00' + key: CASEM-1234 + priority: NOT_DEFINED + status: OPEN + status_name: Open + title: Memory leak investigation on API + id: 00000000-0000-0000-0000-000000000001 + relationships: + project: + data: + id: 00000000-0000-0000-0000-000000000002 + type: project + type: case + meta: + page: + current: 1 + size: 10 + total: 1 schema: $ref: '#/components/schemas/CasesResponse' description: OK @@ -54,6 +284,7 @@ paths: x-pagination: limitParam: page[size] pageParam: page[number] + pageStart: 1 resultsPath: data post: description: Create a Case @@ -61,6 +292,25 @@ paths: requestBody: content: application/json: + examples: + default: + value: + data: + attributes: + priority: NOT_DEFINED + status_name: Open + title: Security breach investigation + type_id: 3b010bde-09ce-4449-b745-71dd5f861963 + relationships: + assignee: + data: + id: 00000000-0000-0000-0000-000000000000 + type: user + project: + data: + id: e555e290-ed65-49bd-ae18-8acbfcf18db7 + type: project + type: case schema: $ref: '#/components/schemas/CaseCreateRequest' description: Case payload @@ -69,6 +319,24 @@ paths: '201': content: application/json: + examples: + default: + value: + data: + attributes: + created_at: '2024-01-01T00:00:00+00:00' + key: CASEM-1234 + priority: NOT_DEFINED + status: OPEN + status_name: Open + title: Memory leak investigation on API + id: 00000000-0000-0000-0000-000000000001 + relationships: + project: + data: + id: 00000000-0000-0000-0000-000000000002 + type: project + type: case schema: $ref: '#/components/schemas/CaseResponse' description: CREATED @@ -90,16 +358,46 @@ paths: summary: Create a case tags: - Case Management - /api/v2/cases/projects: - get: - description: Get all projects. - operationId: GetProjects + /api/v2/cases/aggregate: + post: + description: Performs an aggregation query over cases, grouping results by specified fields and returning counts per group along with a total. Useful for dashboards and analytics. + operationId: AggregateCases + requestBody: + content: + application/json: + examples: + default: + value: + data: + attributes: + group_by: + groups: + - status + limit: 14 + query_filter: service:case-api + type: aggregate + schema: + $ref: '#/components/schemas/CaseAggregateRequest' + description: Case aggregate request payload. + required: true responses: '200': content: application/json: + examples: + default: + value: + data: + attributes: + groups: + - group: OPEN + value: + - 42 + total: 100 + id: agg-result-001 + type: aggregate schema: - $ref: '#/components/schemas/ProjectsResponse' + $ref: '#/components/schemas/CaseAggregateResponse' description: OK '400': $ref: '#/components/responses/BadRequestResponse' @@ -116,26 +414,35 @@ paths: appKeyAuth: [] - AuthZ: - cases_read - summary: Get all projects + summary: Aggregate cases tags: - Case Management + /api/v2/cases/bulk: post: - description: Create a project. - operationId: CreateProject + description: Applies a single action (such as changing priority, status, assignment, or archiving) to multiple cases at once. The list of case IDs and the action type with its payload are specified in the request body. + operationId: BulkUpdateCases requestBody: content: application/json: + examples: + default: + value: + data: + attributes: + case_ids: + - case-id-1 + - case-id-2 + payload: + priority: P1 + type: priority + type: bulk schema: - $ref: '#/components/schemas/ProjectCreateRequest' - description: Project payload + $ref: '#/components/schemas/CaseBulkUpdateRequest' + description: Case bulk update request payload. required: true responses: - '201': - content: - application/json: - schema: - $ref: '#/components/schemas/ProjectResponse' - description: CREATED + '200': + description: OK '400': $ref: '#/components/responses/BadRequestResponse' '401': @@ -151,47 +458,52 @@ paths: appKeyAuth: [] - AuthZ: - cases_write - summary: Create a project - tags: - - Case Management - /api/v2/cases/projects/{project_id}: - delete: - description: Remove a project using the project's `id`. - operationId: DeleteProject - parameters: - - $ref: '#/components/parameters/ProjectIDPathParameter' - responses: - '204': - description: No Content - '403': - $ref: '#/components/responses/ForbiddenResponse' - '404': - content: - application/json: - schema: - $ref: '#/components/schemas/APIErrorResponse' - description: API error response - '429': - $ref: '#/components/responses/TooManyRequestsResponse' - security: - - apiKeyAuth: [] - appKeyAuth: [] - - AuthZ: - - cases_write - summary: Remove a project + summary: Bulk update cases tags: - Case Management + /api/v2/cases/count: get: - description: Get the details of a project by `project_id`. - operationId: GetProject + description: Returns case counts, optionally grouped by one or more fields (for example, status, priority). Supports a query filter to narrow the scope. + operationId: CountCases parameters: - - $ref: '#/components/parameters/ProjectIDPathParameter' + - description: Filter query for cases. + in: query + name: query_filter + required: false + schema: + type: string + - description: Comma-separated fields to group by. + example: status,priority + in: query + name: group_bys + required: false + schema: + type: string + - description: Maximum facet values to return. + in: query + name: limit + required: false + schema: + format: int64 + type: integer responses: '200': content: application/json: + examples: + default: + value: + data: + attributes: + groups: + - group: status + group_values: + - count: 42 + value: OPEN + id: count-result-001 + type: count schema: - $ref: '#/components/schemas/ProjectResponse' + $ref: '#/components/schemas/CaseCountResponse' description: OK '400': $ref: '#/components/responses/BadRequestResponse' @@ -208,21 +520,53 @@ paths: appKeyAuth: [] - AuthZ: - cases_read - summary: Get the details of a project + summary: Count cases tags: - Case Management - /api/v2/cases/{case_id}: + /api/v2/cases/link: get: - description: Get the details of case by `case_id` - operationId: GetCase + description: Returns all links associated with a case. Links define relationships (for example, BLOCKS) between cases. Requires entity_type and entity_id query parameters. + operationId: ListCaseLinks parameters: - - $ref: '#/components/parameters/CaseIDPathParameter' + - description: The entity type to look up links for. Use `CASE` to find links for a specific case. + in: query + name: entity_type + required: true + schema: + example: CASE + type: string + - description: The UUID of the entity to look up links for. + in: query + name: entity_id + required: true + schema: + example: bf0cbac6-4c16-4cfb-b6bf-ca5e0ec37a4f + type: string + - description: Optional filter to only return links of a specific relationship type (for example, `BLOCKS` or `CAUSES`). + in: query + name: relationship + required: false + schema: + example: BLOCKS + type: string responses: '200': content: application/json: + examples: + default: + value: + data: + - attributes: + child_entity_id: 4417921d-0866-4a38-822c-6f2a0f65f77d + child_entity_type: CASE + parent_entity_id: bf0cbac6-4c16-4cfb-b6bf-ca5e0ec37a4f + parent_entity_type: CASE + relationship: BLOCKS + id: 804cd682-55f6-4541-ab00-b608b282ea7d + type: link schema: - $ref: '#/components/schemas/CaseResponse' + $ref: '#/components/schemas/CaseLinksResponse' description: OK '400': $ref: '#/components/responses/BadRequestResponse' @@ -239,29 +583,49 @@ paths: appKeyAuth: [] - AuthZ: - cases_read - summary: Get the details of a case + summary: List case links tags: - Case Management - /api/v2/cases/{case_id}/archive: post: - description: Archive case - operationId: ArchiveCase - parameters: - - $ref: '#/components/parameters/CaseIDPathParameter' + description: Creates a directional link between two cases (for example, case A blocks case B). The parent and child cases and their relationship type must be specified. + operationId: CreateCaseLink requestBody: content: application/json: + examples: + default: + value: + data: + attributes: + child_entity_id: 4417921d-0866-4a38-822c-6f2a0f65f77d + child_entity_type: CASE + parent_entity_id: bf0cbac6-4c16-4cfb-b6bf-ca5e0ec37a4f + parent_entity_type: CASE + relationship: BLOCKS + type: link schema: - $ref: '#/components/schemas/CaseEmptyRequest' - description: Archive case payload + $ref: '#/components/schemas/CaseLinkCreateRequest' + description: Case link create request. required: true responses: - '200': + '201': content: application/json: + examples: + default: + value: + data: + attributes: + child_entity_id: 4417921d-0866-4a38-822c-6f2a0f65f77d + child_entity_type: CASE + parent_entity_id: bf0cbac6-4c16-4cfb-b6bf-ca5e0ec37a4f + parent_entity_type: CASE + relationship: BLOCKS + id: 804cd682-55f6-4541-ab00-b608b282ea7d + type: link schema: - $ref: '#/components/schemas/CaseResponse' - description: OK + $ref: '#/components/schemas/CaseLinkResponse' + description: Created '400': $ref: '#/components/responses/BadRequestResponse' '401': @@ -277,30 +641,19 @@ paths: appKeyAuth: [] - AuthZ: - cases_write - summary: Archive case + summary: Create a case link tags: - Case Management - /api/v2/cases/{case_id}/assign: - post: - description: Assign case to a user - operationId: AssignCase + /api/v2/cases/link/{link_id}: + delete: + description: Deletes an existing link between cases by link ID. + operationId: DeleteCaseLink parameters: - - $ref: '#/components/parameters/CaseIDPathParameter' - requestBody: - content: - application/json: - schema: - $ref: '#/components/schemas/CaseAssignRequest' - description: Assign case payload - required: true + - $ref: '#/components/parameters/LinkIDPathParameter' responses: - '200': - content: - application/json: - schema: - $ref: '#/components/schemas/CaseResponse' - description: OK - '400': + '204': + description: No Content + '400': $ref: '#/components/responses/BadRequestResponse' '401': $ref: '#/components/responses/UnauthorizedResponse' @@ -315,28 +668,28 @@ paths: appKeyAuth: [] - AuthZ: - cases_write - summary: Assign case + summary: Delete a case link tags: - Case Management - /api/v2/cases/{case_id}/attributes: - post: - description: Update case attributes - operationId: UpdateAttributes - parameters: - - $ref: '#/components/parameters/CaseIDPathParameter' - requestBody: - content: - application/json: - schema: - $ref: '#/components/schemas/CaseUpdateAttributesRequest' - description: Case attributes update payload - required: true + /api/v2/cases/projects: + get: + description: Get all projects. + operationId: GetProjects responses: '200': content: application/json: + examples: + default: + value: + data: + - attributes: + key: SEC + name: Security Investigation + id: 00000000-0000-0000-0000-000000000002 + type: project schema: - $ref: '#/components/schemas/CaseResponse' + $ref: '#/components/schemas/ProjectsResponse' description: OK '400': $ref: '#/components/responses/BadRequestResponse' @@ -352,30 +705,44 @@ paths: - apiKeyAuth: [] appKeyAuth: [] - AuthZ: - - cases_write - summary: Update case attributes + - cases_read + summary: Get all projects tags: - Case Management - /api/v2/cases/{case_id}/priority: post: - description: Update case priority - operationId: UpdatePriority - parameters: - - $ref: '#/components/parameters/CaseIDPathParameter' + description: Create a project. + operationId: CreateProject requestBody: content: application/json: + examples: + default: + value: + data: + attributes: + key: SEC + name: Security Investigation + type: project schema: - $ref: '#/components/schemas/CaseUpdatePriorityRequest' - description: Case priority update payload + $ref: '#/components/schemas/ProjectCreateRequest' + description: Project payload. required: true responses: - '200': + '201': content: application/json: + examples: + default: + value: + data: + attributes: + key: SEC + name: Security Investigation + id: 00000000-0000-0000-0000-000000000001 + type: project schema: - $ref: '#/components/schemas/CaseResponse' - description: OK + $ref: '#/components/schemas/ProjectResponse' + description: CREATED '400': $ref: '#/components/responses/BadRequestResponse' '401': @@ -391,28 +758,25 @@ paths: appKeyAuth: [] - AuthZ: - cases_write - summary: Update case priority + summary: Create a project tags: - Case Management - /api/v2/cases/{case_id}/status: - post: - description: Update case status - operationId: UpdateStatus - parameters: - - $ref: '#/components/parameters/CaseIDPathParameter' - requestBody: - content: - application/json: - schema: - $ref: '#/components/schemas/CaseUpdateStatusRequest' - description: Case status update payload - required: true + /api/v2/cases/projects/favorites: + get: + description: Returns the list of case projects that the current authenticated user has marked as favorites. + operationId: ListUserCaseProjectFavorites responses: '200': content: application/json: + examples: + default: + value: + data: + - id: e555e290-ed65-49bd-ae18-8acbfcf18db7 + type: project_favorite schema: - $ref: '#/components/schemas/CaseResponse' + $ref: '#/components/schemas/ProjectFavoritesResponse' description: OK '400': $ref: '#/components/responses/BadRequestResponse' @@ -424,33 +788,61 @@ paths: $ref: '#/components/responses/NotFoundResponse' '429': $ref: '#/components/responses/TooManyRequestsResponse' + security: + - apiKeyAuth: [] + appKeyAuth: [] + - AuthZ: + - cases_read + summary: List project favorites + tags: + - Case Management + /api/v2/cases/projects/{project_id}: + delete: + description: Remove a project using the project's `id`. + operationId: DeleteProject + parameters: + - $ref: '#/components/parameters/ProjectIDPathParameter' + responses: + '204': + description: No Content + '403': + $ref: '#/components/responses/ForbiddenResponse' + '404': + content: + application/json: + schema: + $ref: '#/components/schemas/APIErrorResponse' + description: API error response + '429': + $ref: '#/components/responses/TooManyRequestsResponse' security: - apiKeyAuth: [] appKeyAuth: [] - AuthZ: - cases_write - summary: Update case status + summary: Remove a project tags: - Case Management - /api/v2/cases/{case_id}/unarchive: - post: - description: Unarchive case - operationId: UnarchiveCase + get: + description: Get the details of a project by `project_id`. + operationId: GetProject parameters: - - $ref: '#/components/parameters/CaseIDPathParameter' - requestBody: - content: - application/json: - schema: - $ref: '#/components/schemas/CaseEmptyRequest' - description: Unarchive case payload - required: true + - $ref: '#/components/parameters/ProjectIDPathParameter' responses: '200': content: application/json: + examples: + default: + value: + data: + attributes: + key: SEC + name: Security Investigation + id: 00000000-0000-0000-0000-000000000003 + type: project schema: - $ref: '#/components/schemas/CaseResponse' + $ref: '#/components/schemas/ProjectResponse' description: OK '400': $ref: '#/components/responses/BadRequestResponse' @@ -466,29 +858,42 @@ paths: - apiKeyAuth: [] appKeyAuth: [] - AuthZ: - - cases_write - summary: Unarchive case + - cases_read + summary: Get the details of a project tags: - Case Management - /api/v2/cases/{case_id}/unassign: - post: - description: Unassign case - operationId: UnassignCase + patch: + description: Update a project. + operationId: UpdateProject parameters: - - $ref: '#/components/parameters/CaseIDPathParameter' + - $ref: '#/components/parameters/ProjectIDPathParameter' requestBody: content: application/json: + examples: + default: + value: + data: + type: project schema: - $ref: '#/components/schemas/CaseEmptyRequest' - description: Unassign case payload + $ref: '#/components/schemas/ProjectUpdateRequest' + description: Project payload. required: true responses: '200': content: application/json: + examples: + default: + value: + data: + attributes: + key: SEC + name: Security Investigation + id: 00000000-0000-0000-0000-000000000004 + type: project schema: - $ref: '#/components/schemas/CaseResponse' + $ref: '#/components/schemas/ProjectResponse' description: OK '400': $ref: '#/components/responses/BadRequestResponse' @@ -505,338 +910,302 @@ paths: appKeyAuth: [] - AuthZ: - cases_write - summary: Unassign case + summary: Update a project tags: - Case Management - /api/v2/downtime: - get: - description: Get all scheduled downtimes. - operationId: ListDowntimes + /api/v2/cases/projects/{project_id}/favorites: + delete: + description: Removes a case project from the current user's favorites list. + operationId: UnfavoriteCaseProject parameters: - - description: Only return downtimes that are active when the request is made. - in: query - name: current_only - required: false - schema: - type: boolean - - description: >- - Comma-separated list of resource paths for related resources to - include in the response. Supported resource - - paths are `created_by` and `monitor`. - in: query - name: include - required: false - schema: - example: created_by,monitor - type: string - - $ref: '#/components/parameters/PageOffset' - - description: Maximum number of downtimes in the response. - example: 100 - in: query - name: page[limit] - required: false - schema: - default: 30 - format: int64 - type: integer + - $ref: '#/components/parameters/ProjectIDPathParameter' responses: - '200': - content: - application/json: - schema: - $ref: '#/components/schemas/ListDowntimesResponse' - description: OK + '204': + description: No Content + '400': + $ref: '#/components/responses/BadRequestResponse' + '401': + $ref: '#/components/responses/UnauthorizedResponse' '403': - content: - application/json: - schema: - $ref: '#/components/schemas/APIErrorResponse' - description: Forbidden + $ref: '#/components/responses/ForbiddenResponse' + '404': + $ref: '#/components/responses/NotFoundResponse' '429': $ref: '#/components/responses/TooManyRequestsResponse' security: - apiKeyAuth: [] appKeyAuth: [] - AuthZ: - - monitors_downtime - summary: Get all downtimes + - cases_write + summary: Unfavorite a project tags: - - Downtimes - x-pagination: - limitParam: page[limit] - pageOffsetParam: page[offset] - resultsPath: data - x-permission: - operator: OR - permissions: - - monitors_downtime + - Case Management post: - description: Schedule a downtime. - operationId: CreateDowntime - requestBody: - content: - application/json: - schema: - $ref: '#/components/schemas/DowntimeCreateRequest' - description: Schedule a downtime request body. - required: true + description: Marks a case project as a favorite for the current authenticated user. + operationId: FavoriteCaseProject + parameters: + - $ref: '#/components/parameters/ProjectIDPathParameter' responses: - '200': - content: - application/json: - schema: - $ref: '#/components/schemas/DowntimeResponse' - description: OK + '204': + description: No Content '400': - content: - application/json: - schema: - $ref: '#/components/schemas/APIErrorResponse' - description: Bad Request + $ref: '#/components/responses/BadRequestResponse' + '401': + $ref: '#/components/responses/UnauthorizedResponse' '403': - content: - application/json: - schema: - $ref: '#/components/schemas/APIErrorResponse' - description: Forbidden + $ref: '#/components/responses/ForbiddenResponse' + '404': + $ref: '#/components/responses/NotFoundResponse' '429': $ref: '#/components/responses/TooManyRequestsResponse' security: - apiKeyAuth: [] appKeyAuth: [] - AuthZ: - - monitors_downtime - summary: Schedule a downtime + - cases_write + summary: Favorite a project tags: - - Downtimes - x-codegen-request-body-name: body - x-permission: - operator: OR - permissions: - - monitors_downtime - /api/v2/downtime/{downtime_id}: - delete: - description: >- - Cancel a downtime. - - - **Note**: Downtimes canceled through the API are no longer active, but - are retained for approximately two days before being permanently - removed. The downtime may still appear in search results until it is - permanently removed. - operationId: CancelDowntime + - Case Management + /api/v2/cases/projects/{project_id}/notification_rules: + get: + description: Get all notification rules for a project. + operationId: GetProjectNotificationRules parameters: - - description: ID of the downtime to cancel. + - description: Project UUID + example: e555e290-ed65-49bd-ae18-8acbfcf18db7 in: path - name: downtime_id + name: project_id required: true schema: - example: 00000000-0000-1234-0000-000000000000 type: string responses: - '204': - description: OK - '403': + '200': content: application/json: + examples: + default: + value: + data: + - attributes: + is_enabled: true + query: '' + recipients: + - data: + email: test@example.com + type: EMAIL + triggers: + - data: {} + type: CASE_CREATED + id: 00000000-0000-0000-0000-000000000001 + type: notification_rule schema: - $ref: '#/components/schemas/APIErrorResponse' - description: Forbidden + $ref: '#/components/schemas/CaseNotificationRulesResponse' + description: OK + '400': + $ref: '#/components/responses/BadRequestResponse' + '401': + $ref: '#/components/responses/UnauthorizedResponse' + '403': + $ref: '#/components/responses/ForbiddenResponse' '404': - content: - application/json: - schema: - $ref: '#/components/schemas/APIErrorResponse' - description: Downtime not found + $ref: '#/components/responses/NotFoundResponse' '429': $ref: '#/components/responses/TooManyRequestsResponse' security: - apiKeyAuth: [] appKeyAuth: [] - AuthZ: - - monitors_downtime - summary: Cancel a downtime + - cases_read + summary: Get notification rules tags: - - Downtimes - x-permission: - operator: OR - permissions: - - monitors_downtime - get: - description: Get downtime detail by `downtime_id`. - operationId: GetDowntime + - Case Management + post: + description: Create a notification rule for a project. + operationId: CreateProjectNotificationRule parameters: - - description: ID of the downtime to fetch. + - description: Project UUID + example: e555e290-ed65-49bd-ae18-8acbfcf18db7 in: path - name: downtime_id + name: project_id required: true schema: - example: 00000000-0000-1234-0000-000000000000 - type: string - - description: >- - Comma-separated list of resource paths for related resources to - include in the response. Supported resource - - paths are `created_by` and `monitor`. - in: query - name: include - required: false - schema: - example: created_by,monitor type: string + requestBody: + content: + application/json: + examples: + default: + value: + data: + attributes: + recipients: + - type: EMAIL + triggers: + - type: CASE_CREATED + type: notification_rule + schema: + $ref: '#/components/schemas/CaseNotificationRuleCreateRequest' + description: Notification rule payload + required: true responses: - '200': + '201': content: application/json: + examples: + default: + value: + data: + attributes: + is_enabled: true + query: '' + recipients: + - data: + email: test@example.com + type: EMAIL + triggers: + - data: {} + type: CASE_CREATED + id: 00000000-0000-0000-0000-000000000002 + type: notification_rule schema: - $ref: '#/components/schemas/DowntimeResponse' - description: OK + $ref: '#/components/schemas/CaseNotificationRuleResponse' + description: CREATED '400': - content: - application/json: - schema: - $ref: '#/components/schemas/APIErrorResponse' - description: Bad Request + $ref: '#/components/responses/BadRequestResponse' + '401': + $ref: '#/components/responses/UnauthorizedResponse' '403': - content: - application/json: - schema: - $ref: '#/components/schemas/APIErrorResponse' - description: Forbidden + $ref: '#/components/responses/ForbiddenResponse' '404': - content: - application/json: - schema: - $ref: '#/components/schemas/APIErrorResponse' - description: Not Found + $ref: '#/components/responses/NotFoundResponse' '429': $ref: '#/components/responses/TooManyRequestsResponse' security: - apiKeyAuth: [] appKeyAuth: [] - AuthZ: - - monitors_downtime - summary: Get a downtime + - cases_write + summary: Create a notification rule tags: - - Downtimes - x-permission: - operator: OR - permissions: - - monitors_downtime - patch: - description: Update a downtime by `downtime_id`. - operationId: UpdateDowntime + - Case Management + /api/v2/cases/projects/{project_id}/notification_rules/{notification_rule_id}: + delete: + description: Delete a notification rule using the notification rule's `id`. + operationId: DeleteProjectNotificationRule parameters: - - description: ID of the downtime to update. + - description: Project UUID + example: e555e290-ed65-49bd-ae18-8acbfcf18db7 in: path - name: downtime_id + name: project_id required: true schema: - example: 00e000000-0000-1234-0000-000000000000 type: string - requestBody: - content: - application/json: - schema: - $ref: '#/components/schemas/DowntimeUpdateRequest' - description: Update a downtime request body. - required: true + - $ref: '#/components/parameters/NotificationRuleIDPathParameter' responses: - '200': - content: - application/json: - schema: - $ref: '#/components/schemas/DowntimeResponse' - description: OK - '400': - content: - application/json: - schema: - $ref: '#/components/schemas/APIErrorResponse' - description: Bad Request + '204': + description: No Content '403': - content: - application/json: - schema: - $ref: '#/components/schemas/APIErrorResponse' - description: Forbidden + $ref: '#/components/responses/ForbiddenResponse' '404': content: application/json: schema: $ref: '#/components/schemas/APIErrorResponse' - description: Downtime not found + description: API error response '429': $ref: '#/components/responses/TooManyRequestsResponse' security: - apiKeyAuth: [] appKeyAuth: [] - AuthZ: - - monitors_downtime - summary: Update a downtime + - cases_write + summary: Delete a notification rule tags: - - Downtimes - x-codegen-request-body-name: body - x-permission: - operator: OR - permissions: - - monitors_downtime - /api/v2/error-tracking/issues/search: - post: - description: >- - Search issues endpoint allows you to programmatically search for issues - within your organization. This endpoint returns a list of issues that - match a given search query, following the event search syntax. The - search results are limited to a maximum of 100 issues per request. - operationId: SearchIssues + - Case Management + put: + description: Update a notification rule. + operationId: UpdateProjectNotificationRule parameters: - - $ref: '#/components/parameters/SearchIssuesIncludeQueryParameter' + - description: Project UUID + example: e555e290-ed65-49bd-ae18-8acbfcf18db7 + in: path + name: project_id + required: true + schema: + type: string + - $ref: '#/components/parameters/NotificationRuleIDPathParameter' requestBody: content: application/json: + examples: + default: + value: + data: + attributes: + recipients: + - type: EMAIL + triggers: + - type: CASE_CREATED + type: notification_rule schema: - $ref: '#/components/schemas/IssuesSearchRequest' - description: Search issues request payload. + $ref: '#/components/schemas/CaseNotificationRuleUpdateRequest' + description: Notification rule payload required: true responses: - '200': - content: - application/json: - schema: - $ref: '#/components/schemas/IssuesSearchResponse' - description: OK + '204': + description: No Content '400': $ref: '#/components/responses/BadRequestResponse' '401': $ref: '#/components/responses/UnauthorizedResponse' '403': $ref: '#/components/responses/ForbiddenResponse' + '404': + $ref: '#/components/responses/NotFoundResponse' '429': $ref: '#/components/responses/TooManyRequestsResponse' security: - apiKeyAuth: [] appKeyAuth: [] - AuthZ: - - error_tracking_read - summary: Search error tracking issues + - cases_write + summary: Update a notification rule tags: - - Error Tracking - /api/v2/error-tracking/issues/{issue_id}: + - Case Management + /api/v2/cases/projects/{project_id}/rules: get: - description: >- - Retrieve the full details for a specific error tracking issue, including - attributes and relationships. - operationId: GetIssue + description: Returns all automation rules configured for a project. Automation rules allow automatic actions to be triggered by case events like creation, status transitions, or attribute changes. + operationId: ListCaseAutomationRules parameters: - - $ref: '#/components/parameters/IssueIDPathParameter' - - $ref: '#/components/parameters/GetIssueIncludeQueryParameter' + - description: The UUID of the project that owns the automation rules. + example: e555e290-ed65-49bd-ae18-8acbfcf18db7 + in: path + name: project_id + required: true + schema: + type: string responses: '200': content: application/json: + examples: + default: + value: + data: + - attributes: + action: + data: + handle: workflow-handle-123 + type: EXECUTE_WORKFLOW + created_at: '2024-01-01T00:00:00.000Z' + name: Auto-assign workflow + state: ENABLED + trigger: + type: CASE_CREATED + id: e6773723-fe58-49ff-9975-dff00f14e28d + type: rule schema: - $ref: '#/components/schemas/IssueResponse' + $ref: '#/components/schemas/AutomationRulesResponse' description: OK '400': $ref: '#/components/responses/BadRequestResponse' @@ -852,30 +1221,65 @@ paths: - apiKeyAuth: [] appKeyAuth: [] - AuthZ: - - error_tracking_read - summary: Get the details of an error tracking issue + - cases_read + summary: List automation rules tags: - - Error Tracking - /api/v2/error-tracking/issues/{issue_id}/assignee: - put: - description: Update the assignee of an issue by `issue_id`. - operationId: UpdateIssueAssignee + - Case Management + post: + description: Creates an automation rule for a project. The rule defines a trigger event (for example, case created, status transitioned) and an action to execute. + operationId: CreateCaseAutomationRule parameters: - - $ref: '#/components/parameters/IssueIDPathParameter' + - description: The UUID of the project that owns the automation rules. + example: e555e290-ed65-49bd-ae18-8acbfcf18db7 + in: path + name: project_id + required: true + schema: + type: string requestBody: content: application/json: + examples: + default: + value: + data: + attributes: + action: + data: + handle: workflow-handle-123 + type: EXECUTE_WORKFLOW + name: Auto-assign workflow + state: ENABLED + trigger: + type: CASE_CREATED + type: rule schema: - $ref: '#/components/schemas/IssueUpdateAssigneeRequest' - description: Update issue assignee request payload. + $ref: '#/components/schemas/AutomationRuleCreateRequest' + description: Automation rule payload. required: true responses: - '200': + '201': content: application/json: + examples: + default: + value: + data: + attributes: + action: + data: + handle: workflow-handle-123 + type: EXECUTE_WORKFLOW + created_at: '2024-01-01T00:00:00.000Z' + name: Auto-assign workflow + state: ENABLED + trigger: + type: CASE_CREATED + id: e6773723-fe58-49ff-9975-dff00f14e28d + type: rule schema: - $ref: '#/components/schemas/IssueResponse' - description: OK + $ref: '#/components/schemas/AutomationRuleResponse' + description: Created '400': $ref: '#/components/responses/BadRequestResponse' '401': @@ -890,34 +1294,74 @@ paths: - apiKeyAuth: [] appKeyAuth: [] - AuthZ: - - error_tracking_read - - error_tracking_write - - cases_read - cases_write - summary: Update the assignee of an issue + summary: Create an automation rule tags: - - Error Tracking - /api/v2/error-tracking/issues/{issue_id}/state: - put: - description: >- - Update the state of an issue by `issue_id`. Use this endpoint to move an - issue between states such as `OPEN`, `RESOLVED`, or `IGNORED`. - operationId: UpdateIssueState + - Case Management + /api/v2/cases/projects/{project_id}/rules/{rule_id}: + delete: + description: Permanently deletes an automation rule from a project. + operationId: DeleteCaseAutomationRule parameters: - - $ref: '#/components/parameters/IssueIDPathParameter' - requestBody: - content: - application/json: - schema: - $ref: '#/components/schemas/IssueUpdateStateRequest' - description: Update issue state request payload. - required: true + - description: The UUID of the project that owns the automation rules. + example: e555e290-ed65-49bd-ae18-8acbfcf18db7 + in: path + name: project_id + required: true + schema: + type: string + - $ref: '#/components/parameters/RuleIDPathParameter' + responses: + '204': + description: No Content + '403': + $ref: '#/components/responses/ForbiddenResponse' + '404': + $ref: '#/components/responses/NotFoundResponse' + '429': + $ref: '#/components/responses/TooManyRequestsResponse' + security: + - apiKeyAuth: [] + appKeyAuth: [] + - AuthZ: + - cases_write + summary: Delete an automation rule + tags: + - Case Management + get: + description: Returns a single automation rule identified by its UUID, including its trigger, action, and current state (enabled/disabled). + operationId: GetCaseAutomationRule + parameters: + - description: The UUID of the project that owns the automation rules. + example: e555e290-ed65-49bd-ae18-8acbfcf18db7 + in: path + name: project_id + required: true + schema: + type: string + - $ref: '#/components/parameters/RuleIDPathParameter' responses: '200': content: application/json: + examples: + default: + value: + data: + attributes: + action: + data: + handle: workflow-handle-123 + type: EXECUTE_WORKFLOW + created_at: '2024-01-01T00:00:00.000Z' + name: Auto-assign workflow + state: ENABLED + trigger: + type: CASE_CREATED + id: e6773723-fe58-49ff-9975-dff00f14e28d + type: rule schema: - $ref: '#/components/schemas/IssueResponse' + $ref: '#/components/schemas/AutomationRuleResponse' description: OK '400': $ref: '#/components/responses/BadRequestResponse' @@ -933,285 +1377,173 @@ paths: - apiKeyAuth: [] appKeyAuth: [] - AuthZ: - - error_tracking_read - - error_tracking_write - summary: Update the state of an issue + - cases_read + summary: Get an automation rule tags: - - Error Tracking - /api/v2/events: - get: - description: >- - List endpoint returns events that match an events search query. - - [Results are paginated similarly to - logs](https://docs.datadoghq.com/logs/guide/collect-multiple-logs-with-pagination). - - - Use this endpoint to see your latest events. - operationId: ListEvents + - Case Management + put: + description: Updates the trigger, action, name, or state of an existing automation rule. + operationId: UpdateCaseAutomationRule parameters: - - description: Search query following events syntax. - in: query - name: filter[query] - required: false - schema: - type: string - - description: Minimum timestamp for requested events, in milliseconds. - in: query - name: filter[from] - required: false - schema: - type: string - - description: Maximum timestamp for requested events, in milliseconds. - in: query - name: filter[to] - required: false - schema: - type: string - - description: Order of events in results. - in: query - name: sort - required: false - schema: - $ref: '#/components/schemas/EventsSort' - - description: List following results with a cursor provided in the previous query. - example: >- - eyJzdGFydEF0IjoiQVFBQUFYS2tMS3pPbm40NGV3QUFBQUJCV0V0clRFdDZVbG8zY3pCRmNsbHJiVmxDWlEifQ== - in: query - name: page[cursor] - required: false + - description: The UUID of the project that owns the automation rules. + example: e555e290-ed65-49bd-ae18-8acbfcf18db7 + in: path + name: project_id + required: true schema: type: string - - description: Maximum number of events in the response. - example: 25 - in: query - name: page[limit] - required: false - schema: - default: 10 - format: int32 - maximum: 1000 - type: integer - responses: - '200': - content: - application/json: - schema: - $ref: '#/components/schemas/EventsListResponse' - description: OK - '400': - $ref: '#/components/responses/BadRequestResponse' - '403': - $ref: '#/components/responses/NotAuthorizedResponse' - '429': - $ref: '#/components/responses/TooManyRequestsResponse' - security: - - apiKeyAuth: [] - appKeyAuth: [] - - AuthZ: - - events_read - summary: Get a list of events - tags: - - Events - x-pagination: - cursorParam: page[cursor] - cursorPath: meta.page.after - limitParam: page[limit] - resultsPath: data - x-permission: - operator: OR - permissions: - - events_read - post: - description: >- - This endpoint allows you to publish events. - - - **Note:** To utilize this endpoint with our client libraries, please - ensure you are using the latest version released on or after July 1, - 2025. Earlier versions do not support this functionality. - - - ✅ **Only events with the `change` or `alert` category** are in General - Availability. For change events, see [Change - Tracking](https://docs.datadoghq.com/change_tracking) for more details. - - - ❌ For use cases involving other event categories, use the V1 endpoint or - reach out to [support](https://www.datadoghq.com/support/). - - - ❌ Notifications are not yet supported for events sent to this endpoint. - Use the V1 endpoint for notification functionality. - operationId: CreateEvent + - $ref: '#/components/parameters/RuleIDPathParameter' requestBody: content: application/json: examples: - json-request-body: + default: value: data: attributes: - aggregation_key: aggregation_key_123 - attributes: - author: - name: example@datadog.com - type: user - change_metadata: - dd: - team: datadog_team - user_email: datadog@datadog.com - user_id: datadog_user_id - user_name: datadog_username - resource_link: datadog.com/feature/fallback_payments_test - changed_resource: - name: fallback_payments_test - type: feature_flag - impacted_resources: - - name: payments_api - type: service - new_value: - enabled: true - percentage: 50% - rule: - datacenter: devcycle.us1.prod - prev_value: - enabled: true - percentage: 10% - rule: - datacenter: devcycle.us1.prod - category: change - integration_id: custom-events - message: payment_processed feature flag has been enabled - tags: - - env:api_client_test - timestamp: '2020-01-01T01:30:15.010000Z' - title: payment_processed feature flag updated - type: event + action: + data: + handle: workflow-handle-123 + type: EXECUTE_WORKFLOW + name: Auto-assign workflow + state: ENABLED + trigger: + type: CASE_CREATED + type: rule schema: - $ref: '#/components/schemas/EventCreateRequestPayload' - description: Event creation request payload. + $ref: '#/components/schemas/AutomationRuleUpdateRequest' + description: Automation rule payload. required: true responses: - '202': + '200': content: application/json: + examples: + default: + value: + data: + attributes: + action: + data: + handle: workflow-handle-123 + type: EXECUTE_WORKFLOW + created_at: '2024-01-01T00:00:00.000Z' + name: Auto-assign workflow + state: ENABLED + trigger: + type: CASE_CREATED + id: e6773723-fe58-49ff-9975-dff00f14e28d + type: rule schema: - $ref: '#/components/schemas/EventCreateResponsePayload' + $ref: '#/components/schemas/AutomationRuleResponse' description: OK '400': - content: - application/json: - schema: - $ref: '#/components/schemas/JSONAPIErrorResponse' - description: Bad request + $ref: '#/components/responses/BadRequestResponse' + '401': + $ref: '#/components/responses/UnauthorizedResponse' '403': - content: - application/json: - schema: - $ref: '#/components/schemas/JSONAPIErrorResponse' - description: Forbidden + $ref: '#/components/responses/ForbiddenResponse' + '404': + $ref: '#/components/responses/NotFoundResponse' '429': $ref: '#/components/responses/TooManyRequestsResponse' security: - apiKeyAuth: [] appKeyAuth: [] - servers: - - url: https://{subdomain}.{site} - variables: - site: - default: datadoghq.com - description: The regional site for customers. - enum: - - datadoghq.com - - us3.datadoghq.com - - us5.datadoghq.com - - ap1.datadoghq.com - - datadoghq.eu - - ddog-gov.com - subdomain: - default: event-management-intake - description: The subdomain where the API is deployed. - - url: '{protocol}://{name}' - variables: - name: - default: event-management-intake.datadoghq.com - description: Full site DNS name. - protocol: - default: https - description: The protocol for accessing the API. - - url: https://{subdomain}.{site} - variables: - site: - default: datadoghq.com - description: Any Datadog deployment. - subdomain: - default: event-management-intake - description: The subdomain where the API is deployed. - summary: Post an event + - AuthZ: + - cases_write + summary: Update an automation rule tags: - - Events - x-codegen-request-body-name: body - /api/v2/events/search: + - Case Management + /api/v2/cases/projects/{project_id}/rules/{rule_id}/disable: post: - description: >- - List endpoint returns events that match an events search query. - - [Results are paginated similarly to - logs](https://docs.datadoghq.com/logs/guide/collect-multiple-logs-with-pagination). - - - Use this endpoint to build complex events filtering and search. - operationId: SearchEvents - requestBody: - content: - application/json: - schema: - $ref: '#/components/schemas/EventsListRequest' - required: false + description: Disables an automation rule so it no longer triggers on case events. The rule configuration is preserved. + operationId: DisableCaseAutomationRule + parameters: + - description: The UUID of the project that owns the automation rules. + example: e555e290-ed65-49bd-ae18-8acbfcf18db7 + in: path + name: project_id + required: true + schema: + type: string + - $ref: '#/components/parameters/RuleIDPathParameter' responses: '200': content: application/json: + examples: + default: + value: + data: + attributes: + action: + data: + handle: workflow-handle-123 + type: EXECUTE_WORKFLOW + created_at: '2024-01-01T00:00:00.000Z' + name: Auto-assign workflow + state: DISABLED + trigger: + type: CASE_CREATED + id: e6773723-fe58-49ff-9975-dff00f14e28d + type: rule schema: - $ref: '#/components/schemas/EventsListResponse' + $ref: '#/components/schemas/AutomationRuleResponse' description: OK '400': $ref: '#/components/responses/BadRequestResponse' + '401': + $ref: '#/components/responses/UnauthorizedResponse' '403': - $ref: '#/components/responses/NotAuthorizedResponse' + $ref: '#/components/responses/ForbiddenResponse' + '404': + $ref: '#/components/responses/NotFoundResponse' '429': $ref: '#/components/responses/TooManyRequestsResponse' - summary: Search events + security: + - apiKeyAuth: [] + appKeyAuth: [] + - AuthZ: + - cases_write + summary: Disable an automation rule tags: - - Events - x-codegen-request-body-name: body - x-pagination: - cursorParam: body.page.cursor - cursorPath: meta.page.after - limitParam: body.page.limit - resultsPath: data - x-permission: - operator: OR - permissions: - - events_read - /api/v2/events/{event_id}: - get: - description: Get the details of an event by `event_id`. - operationId: GetEvent + - Case Management + /api/v2/cases/projects/{project_id}/rules/{rule_id}/enable: + post: + description: Enables a previously disabled automation rule so it triggers on matching case events. + operationId: EnableCaseAutomationRule parameters: - - description: The UID of the event. + - description: The UUID of the project that owns the automation rules. + example: e555e290-ed65-49bd-ae18-8acbfcf18db7 in: path - name: event_id + name: project_id required: true schema: type: string + - $ref: '#/components/parameters/RuleIDPathParameter' responses: '200': content: application/json: + examples: + default: + value: + data: + attributes: + action: + data: + handle: workflow-handle-123 + type: EXECUTE_WORKFLOW + created_at: '2024-01-01T00:00:00.000Z' + name: Auto-assign workflow + state: ENABLED + trigger: + type: CASE_CREATED + id: e6773723-fe58-49ff-9975-dff00f14e28d + type: rule schema: - $ref: '#/components/schemas/V2EventResponse' + $ref: '#/components/schemas/AutomationRuleResponse' description: OK '400': $ref: '#/components/responses/BadRequestResponse' @@ -1227,76 +1559,75 @@ paths: - apiKeyAuth: [] appKeyAuth: [] - AuthZ: - - events_read - summary: Get an event + - cases_write + summary: Enable an automation rule tags: - - Events - x-permission: - operator: OR - permissions: - - events_read - /api/v2/incidents: + - Case Management + /api/v2/cases/types: get: - description: Get all incidents for the user's organization. - operationId: ListIncidents - parameters: - - $ref: '#/components/parameters/IncidentIncludeQueryParameter' - - $ref: '#/components/parameters/PageSize' - - $ref: '#/components/parameters/PageOffset' + description: Get all case types + operationId: GetAllCaseTypes responses: '200': content: application/json: + examples: + default: + value: + data: + - attributes: + description: Investigations done in case management + emoji: 🕵🏻‍♂️ + name: Investigation + id: 00000000-0000-0000-0000-000000000001 + type: case_type schema: - $ref: '#/components/schemas/IncidentsResponse' + $ref: '#/components/schemas/CaseTypesResponse' description: OK - '400': - $ref: '#/components/responses/BadRequestResponse' '401': $ref: '#/components/responses/UnauthorizedResponse' '403': $ref: '#/components/responses/ForbiddenResponse' - '404': - $ref: '#/components/responses/NotFoundResponse' '429': $ref: '#/components/responses/TooManyRequestsResponse' - security: - - apiKeyAuth: [] - appKeyAuth: [] - - AuthZ: - - incident_read - summary: Get a list of incidents + summary: Get all case types tags: - - Incidents - x-pagination: - limitParam: page[size] - pageOffsetParam: page[offset] - resultsPath: data - x-permission: - operator: OR - permissions: - - incident_read - x-unstable: >- - **Note**: This endpoint is in public beta. - - If you have any feedback, contact [Datadog - support](https://docs.datadoghq.com/help/). + - Case Management Type post: - description: Create an incident. - operationId: CreateIncident + description: Create a Case Type + operationId: CreateCaseType requestBody: content: application/json: + examples: + default: + value: + data: + attributes: + description: Investigations done in case management + emoji: 🕵🏻‍♂️ + name: Investigation + type: case_type schema: - $ref: '#/components/schemas/IncidentCreateRequest' - description: Incident payload. + $ref: '#/components/schemas/CaseTypeCreateRequest' + description: Case type payload required: true responses: '201': content: application/json: + examples: + default: + value: + data: + attributes: + description: Investigations done in case management + emoji: 🕵🏻‍♂️ + name: Investigation + id: 00000000-0000-0000-0000-000000000001 + type: case_type schema: - $ref: '#/components/schemas/IncidentResponse' + $ref: '#/components/schemas/CaseTypeResponse' description: CREATED '400': $ref: '#/components/responses/BadRequestResponse' @@ -1304,87 +1635,100 @@ paths: $ref: '#/components/responses/UnauthorizedResponse' '403': $ref: '#/components/responses/ForbiddenResponse' - '404': - $ref: '#/components/responses/NotFoundResponse' '429': $ref: '#/components/responses/TooManyRequestsResponse' - security: - - apiKeyAuth: [] - appKeyAuth: [] - - AuthZ: - - incident_write - summary: Create an incident + summary: Create a case type tags: - - Incidents - x-codegen-request-body-name: body - x-permission: - operator: OR - permissions: - - incident_write - x-unstable: >- - **Note**: This endpoint is in public beta. - - If you have any feedback, contact [Datadog - support](https://docs.datadoghq.com/help/). - /api/v2/incidents/config/notification-rules: + - Case Management Type + /api/v2/cases/types/custom_attributes: get: - description: >- - Lists all notification rules for the organization. Optionally filter by - incident type. - operationId: ListIncidentNotificationRules - parameters: - - $ref: >- - #/components/parameters/IncidentNotificationRuleIncludeQueryParameter + description: Get all custom attributes + operationId: GetAllCustomAttributes responses: '200': content: application/json: + examples: + default: + value: + data: + - attributes: + case_type_id: 00000000-0000-0000-0000-000000000002 + description: AWS Region, must be a valid region supported by AWS + display_name: AWS Region + is_multi: true + key: aws_region + type: TEXT + id: 00000000-0000-0000-0000-000000000001 + type: custom_attribute schema: - $ref: '#/components/schemas/IncidentNotificationRuleArray' + $ref: '#/components/schemas/CustomAttributeConfigsResponse' description: OK - '400': - $ref: '#/components/responses/BadRequestResponse' '401': $ref: '#/components/responses/UnauthorizedResponse' '403': $ref: '#/components/responses/ForbiddenResponse' - '404': - $ref: '#/components/responses/NotFoundResponse' '429': $ref: '#/components/responses/TooManyRequestsResponse' - security: - - apiKeyAuth: [] - appKeyAuth: [] - - AuthZ: - - incident_notification_settings_read - summary: List incident notification rules + summary: Get all custom attributes tags: - - Incidents - x-permission: - operator: AND - permissions: - - incident_notification_settings_read - x-unstable: >- - **Note**: This endpoint is in Preview. - - If you have any feedback, contact [Datadog - support](https://docs.datadoghq.com/help/). - post: - description: Creates a new notification rule. - operationId: CreateIncidentNotificationRule + - Case Management Attribute + /api/v2/cases/types/{case_type_id}: + delete: + description: Delete a case type + operationId: DeleteCaseType + parameters: + - $ref: '#/components/parameters/CaseTypeIDPathParameter' + responses: + '204': + description: No Content + '401': + $ref: '#/components/responses/UnauthorizedResponse' + '403': + $ref: '#/components/responses/ForbiddenResponse' + '429': + $ref: '#/components/responses/TooManyRequestsResponse' + summary: Delete a case type + tags: + - Case Management Type + put: + description: Updates the name, emoji, or description of an existing case type. + operationId: UpdateCaseType + parameters: + - $ref: '#/components/parameters/CaseTypeIDPathParameter' requestBody: content: application/json: + examples: + default: + value: + data: + attributes: + description: Investigations done in case management + emoji: 🕵🏻‍♂️ + name: Investigation + type: case_type schema: - $ref: '#/components/schemas/CreateIncidentNotificationRuleRequest' + $ref: '#/components/schemas/CaseTypeUpdateRequest' + description: Case type payload. required: true responses: - '201': + '200': content: application/json: + examples: + default: + value: + data: + attributes: + description: Investigations done in case management + emoji: 🕵🏻‍♂️ + name: Investigation + id: 00000000-0000-0000-0000-000000000001 + type: case_type schema: - $ref: '#/components/schemas/IncidentNotificationRule' - description: Created + $ref: '#/components/schemas/CaseTypeResponse' + description: OK '400': $ref: '#/components/responses/BadRequestResponse' '401': @@ -1399,72 +1743,90 @@ paths: - apiKeyAuth: [] appKeyAuth: [] - AuthZ: - - incident_notification_settings_write - summary: Create an incident notification rule + - cases_shared_settings_write + summary: Update a case type tags: - - Incidents - x-codegen-request-body-name: body - x-permission: - operator: AND - permissions: - - incident_notification_settings_write - x-unstable: >- - **Note**: This endpoint is in Preview. - - If you have any feedback, contact [Datadog - support](https://docs.datadoghq.com/help/). - /api/v2/incidents/config/notification-rules/{id}: - delete: - description: Deletes a notification rule by its ID. - operationId: DeleteIncidentNotificationRule + - Case Management Type + /api/v2/cases/types/{case_type_id}/custom_attributes: + get: + description: Get all custom attribute config of case type + operationId: GetAllCustomAttributeConfigsByCaseType parameters: - - $ref: '#/components/parameters/IncidentNotificationRuleIDPathParameter' - - $ref: >- - #/components/parameters/IncidentNotificationRuleIncludeQueryParameter + - $ref: '#/components/parameters/CaseTypeIDPathParameter' responses: - '204': - description: No Content + '200': + content: + application/json: + examples: + default: + value: + data: + - attributes: + case_type_id: 00000000-0000-0000-0000-000000000004 + description: AWS Region, must be a valid region supported by AWS + display_name: AWS Region + is_multi: true + key: aws_region + type: TEXT + id: 00000000-0000-0000-0000-000000000003 + type: custom_attribute + schema: + $ref: '#/components/schemas/CustomAttributeConfigsResponse' + description: OK '400': $ref: '#/components/responses/BadRequestResponse' '401': $ref: '#/components/responses/UnauthorizedResponse' '403': $ref: '#/components/responses/ForbiddenResponse' - '404': - $ref: '#/components/responses/NotFoundResponse' '429': $ref: '#/components/responses/TooManyRequestsResponse' - security: - - apiKeyAuth: [] - appKeyAuth: [] - - AuthZ: - - incident_notification_settings_write - summary: Delete an incident notification rule + summary: Get all custom attributes config of case type tags: - - Incidents - x-permission: - operator: AND - permissions: - - incident_notification_settings_write - x-unstable: >- - **Note**: This endpoint is in Preview. - - If you have any feedback, contact [Datadog - support](https://docs.datadoghq.com/help/). - get: - description: Retrieves a specific notification rule by its ID. - operationId: GetIncidentNotificationRule + - Case Management Attribute + post: + description: Create custom attribute config for a case type + operationId: CreateCustomAttributeConfig parameters: - - $ref: '#/components/parameters/IncidentNotificationRuleIDPathParameter' - - $ref: >- - #/components/parameters/IncidentNotificationRuleIncludeQueryParameter + - $ref: '#/components/parameters/CaseTypeIDPathParameter' + requestBody: + content: + application/json: + examples: + default: + value: + data: + attributes: + description: AWS Region, must be a valid region supported by AWS + display_name: AWS Region + is_multi: true + key: aws_region + type: NUMBER + type: custom_attribute + schema: + $ref: '#/components/schemas/CustomAttributeConfigCreateRequest' + description: Custom attribute config payload + required: true responses: - '200': + '201': content: application/json: + examples: + default: + value: + data: + attributes: + case_type_id: 00000000-0000-0000-0000-000000000006 + description: AWS Region, must be a valid region supported by AWS + display_name: AWS Region + is_multi: true + key: aws_region + type: TEXT + id: 00000000-0000-0000-0000-000000000005 + type: custom_attribute schema: - $ref: '#/components/schemas/IncidentNotificationRule' - description: OK + $ref: '#/components/schemas/CustomAttributeConfigResponse' + description: CREATED '400': $ref: '#/components/responses/BadRequestResponse' '401': @@ -1475,42 +1837,70 @@ paths: $ref: '#/components/responses/NotFoundResponse' '429': $ref: '#/components/responses/TooManyRequestsResponse' - security: - - apiKeyAuth: [] - appKeyAuth: [] - - AuthZ: - - incident_notification_settings_read - summary: Get an incident notification rule + summary: Create custom attribute config for a case type tags: - - Incidents - x-permission: - operator: AND - permissions: - - incident_notification_settings_read - x-unstable: >- - **Note**: This endpoint is in Preview. - - If you have any feedback, contact [Datadog - support](https://docs.datadoghq.com/help/). + - Case Management Attribute + /api/v2/cases/types/{case_type_id}/custom_attributes/{custom_attribute_id}: + delete: + description: Delete custom attribute config + operationId: DeleteCustomAttributeConfig + parameters: + - $ref: '#/components/parameters/CaseTypeIDPathParameter' + - $ref: '#/components/parameters/CaseCustomAttributeIDPathParameter' + responses: + '204': + description: No Content + '400': + $ref: '#/components/responses/BadRequestResponse' + '401': + $ref: '#/components/responses/UnauthorizedResponse' + '403': + $ref: '#/components/responses/ForbiddenResponse' + '429': + $ref: '#/components/responses/TooManyRequestsResponse' + summary: Delete custom attributes config + tags: + - Case Management Attribute put: - description: Updates an existing notification rule with a complete replacement. - operationId: UpdateIncidentNotificationRule + description: Updates the display name, description, type, or options of an existing custom attribute configuration for a case type. + operationId: UpdateCustomAttributeConfig parameters: - - $ref: '#/components/parameters/IncidentNotificationRuleIDPathParameter' - - $ref: >- - #/components/parameters/IncidentNotificationRuleIncludeQueryParameter + - $ref: '#/components/parameters/CaseTypeIDPathParameter' + - $ref: '#/components/parameters/CaseCustomAttributeIDPathParameter' requestBody: content: application/json: + examples: + default: + value: + data: + attributes: + description: Updated description. + display_name: AWS Region + type: custom_attribute schema: - $ref: '#/components/schemas/PutIncidentNotificationRuleRequest' + $ref: '#/components/schemas/CustomAttributeConfigUpdateRequest' + description: Custom attribute config payload. required: true responses: '200': content: application/json: + examples: + default: + value: + data: + attributes: + case_type_id: 00000000-0000-0000-0000-000000000006 + description: Updated description. + display_name: AWS Region + is_multi: true + key: aws_region + type: TEXT + id: 00000000-0000-0000-0000-000000000005 + type: custom_attribute schema: - $ref: '#/components/schemas/IncidentNotificationRule' + $ref: '#/components/schemas/CustomAttributeConfigResponse' description: OK '400': $ref: '#/components/responses/BadRequestResponse' @@ -1526,35 +1916,38 @@ paths: - apiKeyAuth: [] appKeyAuth: [] - AuthZ: - - incident_notification_settings_write - summary: Update an incident notification rule + - cases_shared_settings_write + summary: Update custom attribute config tags: - - Incidents - x-codegen-request-body-name: body - x-permission: - operator: AND - permissions: - - incident_notification_settings_write - x-unstable: >- - **Note**: This endpoint is in Preview. - - If you have any feedback, contact [Datadog - support](https://docs.datadoghq.com/help/). - /api/v2/incidents/config/notification-templates: + - Case Management Attribute + /api/v2/cases/views: get: - description: Lists all notification templates. Optionally filter by incident type. - operationId: ListIncidentNotificationTemplates + description: Returns all saved case views for a given project. Views are saved search queries that allow quick access to filtered lists of cases. + operationId: ListCaseViews parameters: - - $ref: >- - #/components/parameters/IncidentNotificationTemplateIncidentTypeFilterQueryParameter - - $ref: >- - #/components/parameters/IncidentNotificationTemplateIncludeQueryParameter + - description: Filter views by project identifier. + example: e555e290-ed65-49bd-ae18-8acbfcf18db7 + in: query + name: project_id + required: true + schema: + type: string responses: '200': content: application/json: + examples: + default: + value: + data: + - attributes: + created_at: '2024-01-01T00:00:00.000Z' + name: Open bugs + query: status:open type:bug + id: a1b2c3d4-e5f6-7890-abcd-ef1234567890 + type: view schema: - $ref: '#/components/schemas/IncidentNotificationTemplateArray' + $ref: '#/components/schemas/CaseViewsResponse' description: OK '400': $ref: '#/components/responses/BadRequestResponse' @@ -1570,34 +1963,45 @@ paths: - apiKeyAuth: [] appKeyAuth: [] - AuthZ: - - incident_settings_read - summary: List incident notification templates + - cases_read + summary: List case views tags: - - Incidents - x-permission: - operator: AND - permissions: - - incident_notification_settings_read - x-unstable: >- - **Note**: This endpoint is in Preview. - - If you have any feedback, contact [Datadog - support](https://docs.datadoghq.com/help/). + - Case Management post: - description: Creates a new notification template. - operationId: CreateIncidentNotificationTemplate + description: Creates a new saved case view with a name, filter query, and associated project. Optionally, a notification rule can be linked to the view. + operationId: CreateCaseView requestBody: content: application/json: + examples: + default: + value: + data: + attributes: + name: Open bugs + project_id: e555e290-ed65-49bd-ae18-8acbfcf18db7 + query: status:open type:bug + type: view schema: - $ref: '#/components/schemas/CreateIncidentNotificationTemplateRequest' + $ref: '#/components/schemas/CaseViewCreateRequest' + description: Case view payload. required: true responses: '201': content: application/json: + examples: + default: + value: + data: + attributes: + created_at: '2024-01-01T00:00:00.000Z' + name: Open bugs + query: status:open type:bug + id: a1b2c3d4-e5f6-7890-abcd-ef1234567890 + type: view schema: - $ref: '#/components/schemas/IncidentNotificationTemplate' + $ref: '#/components/schemas/CaseViewResponse' description: Created '400': $ref: '#/components/responses/BadRequestResponse' @@ -1613,28 +2017,16 @@ paths: - apiKeyAuth: [] appKeyAuth: [] - AuthZ: - - incident_notification_settings_write - summary: Create incident notification template + - cases_write + summary: Create a case view tags: - - Incidents - x-codegen-request-body-name: body - x-permission: - operator: AND - permissions: - - incident_notification_settings_write - x-unstable: >- - **Note**: This endpoint is in Preview. - - If you have any feedback, contact [Datadog - support](https://docs.datadoghq.com/help/). - /api/v2/incidents/config/notification-templates/{id}: + - Case Management + /api/v2/cases/views/{view_id}: delete: - description: Deletes a notification template by its ID. - operationId: DeleteIncidentNotificationTemplate + description: Permanently deletes a saved case view. + operationId: DeleteCaseView parameters: - - $ref: '#/components/parameters/IncidentNotificationTemplateIDPathParameter' - - $ref: >- - #/components/parameters/IncidentNotificationTemplateIncludeQueryParameter + - $ref: '#/components/parameters/ViewIDPathParameter' responses: '204': description: No Content @@ -1652,32 +2044,31 @@ paths: - apiKeyAuth: [] appKeyAuth: [] - AuthZ: - - incident_notification_settings_write - summary: Delete a notification template + - cases_write + summary: Delete a case view tags: - - Incidents - x-permission: - operator: AND - permissions: - - incident_notification_settings_write - x-unstable: >- - **Note**: This endpoint is in Preview. - - If you have any feedback, contact [Datadog - support](https://docs.datadoghq.com/help/). + - Case Management get: - description: Retrieves a specific notification template by its ID. - operationId: GetIncidentNotificationTemplate + description: Returns a single saved case view identified by its UUID, including its query, associated project, and timestamps. + operationId: GetCaseView parameters: - - $ref: '#/components/parameters/IncidentNotificationTemplateIDPathParameter' - - $ref: >- - #/components/parameters/IncidentNotificationTemplateIncludeQueryParameter + - $ref: '#/components/parameters/ViewIDPathParameter' responses: '200': content: application/json: + examples: + default: + value: + data: + attributes: + created_at: '2024-01-01T00:00:00.000Z' + name: Open bugs + query: status:open type:bug + id: a1b2c3d4-e5f6-7890-abcd-ef1234567890 + type: view schema: - $ref: '#/components/schemas/IncidentNotificationTemplate' + $ref: '#/components/schemas/CaseViewResponse' description: OK '400': $ref: '#/components/responses/BadRequestResponse' @@ -1693,40 +2084,45 @@ paths: - apiKeyAuth: [] appKeyAuth: [] - AuthZ: - - incident_settings_read - summary: Get incident notification template + - cases_read + summary: Get a case view tags: - - Incidents - x-permission: - operator: OR - permissions: - - incident_settings_read - - incident_write - - incident_read - x-unstable: >- - **Note**: This endpoint is in Preview. - - If you have any feedback, contact [Datadog - support](https://docs.datadoghq.com/help/). - patch: - description: Updates an existing notification template's attributes. - operationId: UpdateIncidentNotificationTemplate + - Case Management + put: + description: Updates the name, query, or notification rule of an existing case view. + operationId: UpdateCaseView parameters: - - $ref: '#/components/parameters/IncidentNotificationTemplateIDPathParameter' - - $ref: >- - #/components/parameters/IncidentNotificationTemplateIncludeQueryParameter + - $ref: '#/components/parameters/ViewIDPathParameter' requestBody: content: application/json: + examples: + default: + value: + data: + attributes: + name: Updated view name + type: view schema: - $ref: '#/components/schemas/PatchIncidentNotificationTemplateRequest' + $ref: '#/components/schemas/CaseViewUpdateRequest' + description: Case view payload. required: true responses: '200': content: application/json: + examples: + default: + value: + data: + attributes: + created_at: '2024-01-01T00:00:00.000Z' + name: Updated view name + query: status:open type:bug + id: a1b2c3d4-e5f6-7890-abcd-ef1234567890 + type: view schema: - $ref: '#/components/schemas/IncidentNotificationTemplate' + $ref: '#/components/schemas/CaseViewResponse' description: OK '400': $ref: '#/components/responses/BadRequestResponse' @@ -1742,32 +2138,40 @@ paths: - apiKeyAuth: [] appKeyAuth: [] - AuthZ: - - incident_notification_settings_write - summary: Update incident notification template + - cases_write + summary: Update a case view tags: - - Incidents - x-codegen-request-body-name: body - x-permission: - operator: AND - permissions: - - incident_notification_settings_write - x-unstable: >- - **Note**: This endpoint is in Preview. - - If you have any feedback, contact [Datadog - support](https://docs.datadoghq.com/help/). - /api/v2/incidents/config/types: + - Case Management + /api/v2/cases/{case_id}: get: - description: Get all incident types. - operationId: ListIncidentTypes + description: Get the details of case by `case_id` + operationId: GetCase parameters: - - $ref: '#/components/parameters/IncidentTypeIncludeDeletedParameter' + - $ref: '#/components/parameters/CaseIDPathParameter' responses: '200': content: application/json: + examples: + default: + value: + data: + attributes: + created_at: '2024-01-01T00:00:00+00:00' + key: CASEM-1234 + priority: NOT_DEFINED + status: OPEN + status_name: Open + title: Memory leak investigation on API + id: 00000000-0000-0000-0000-000000000001 + relationships: + project: + data: + id: 00000000-0000-0000-0000-000000000002 + type: project + type: case schema: - $ref: '#/components/schemas/IncidentTypeListResponse' + $ref: '#/components/schemas/CaseResponse' description: OK '400': $ref: '#/components/responses/BadRequestResponse' @@ -1775,42 +2179,61 @@ paths: $ref: '#/components/responses/UnauthorizedResponse' '403': $ref: '#/components/responses/ForbiddenResponse' + '404': + $ref: '#/components/responses/NotFoundResponse' '429': $ref: '#/components/responses/TooManyRequestsResponse' security: - apiKeyAuth: [] appKeyAuth: [] - AuthZ: - - incident_read - summary: Get a list of incident types + - cases_read + summary: Get the details of a case tags: - - Incidents - x-permission: - operator: OR - permissions: - - incident_read - x-unstable: >- - **Note**: This endpoint is in public beta. - - If you have any feedback, contact [Datadog - support](https://docs.datadoghq.com/help/). + - Case Management + /api/v2/cases/{case_id}/archive: post: - description: Create an incident type. - operationId: CreateIncidentType + description: Archive case + operationId: ArchiveCase + parameters: + - $ref: '#/components/parameters/CaseIDPathParameter' requestBody: content: application/json: + examples: + default: + value: + data: + type: case schema: - $ref: '#/components/schemas/IncidentTypeCreateRequest' - description: Incident type payload. + $ref: '#/components/schemas/CaseEmptyRequest' + description: Archive case payload required: true responses: - '201': + '200': content: application/json: + examples: + default: + value: + data: + attributes: + created_at: '2024-01-01T00:00:00+00:00' + key: CASEM-1234 + priority: NOT_DEFINED + status: OPEN + status_name: Open + title: Memory leak investigation on API + id: 00000000-0000-0000-0000-000000000001 + relationships: + project: + data: + id: 00000000-0000-0000-0000-000000000002 + type: project + type: case schema: - $ref: '#/components/schemas/IncidentTypeResponse' - description: CREATED + $ref: '#/components/schemas/CaseResponse' + description: OK '400': $ref: '#/components/responses/BadRequestResponse' '401': @@ -1825,28 +2248,54 @@ paths: - apiKeyAuth: [] appKeyAuth: [] - AuthZ: - - incident_settings_write - summary: Create an incident type + - cases_write + summary: Archive case tags: - - Incidents - x-codegen-request-body-name: body - x-permission: - operator: OR - permissions: - - incident_settings_write - x-unstable: >- - **Note**: This endpoint is in public beta. - - If you have any feedback, contact [Datadog - support](https://docs.datadoghq.com/help/). - /api/v2/incidents/config/types/{incident_type_id}: - delete: - description: Delete an incident type. - operationId: DeleteIncidentType + - Case Management + /api/v2/cases/{case_id}/assign: + post: + description: Assign case to a user + operationId: AssignCase parameters: - - $ref: '#/components/parameters/IncidentTypeIDPathParameter' + - $ref: '#/components/parameters/CaseIDPathParameter' + requestBody: + content: + application/json: + examples: + default: + value: + data: + attributes: + assignee_id: f98a5a5b-e0ff-45d4-b2f5-afe6e74de504 + type: case + schema: + $ref: '#/components/schemas/CaseAssignRequest' + description: Assign case payload + required: true responses: - '204': + '200': + content: + application/json: + examples: + default: + value: + data: + attributes: + created_at: '2024-01-01T00:00:00+00:00' + key: CASEM-1234 + priority: NOT_DEFINED + status: OPEN + status_name: Open + title: Memory leak investigation on API + id: 00000000-0000-0000-0000-000000000001 + relationships: + project: + data: + id: 00000000-0000-0000-0000-000000000002 + type: project + type: case + schema: + $ref: '#/components/schemas/CaseResponse' description: OK '400': $ref: '#/components/responses/BadRequestResponse' @@ -1862,31 +2311,61 @@ paths: - apiKeyAuth: [] appKeyAuth: [] - AuthZ: - - incident_settings_write - summary: Delete an incident type + - cases_write + summary: Assign case tags: - - Incidents - x-codegen-request-body-name: body - x-permission: - operator: OR - permissions: - - incident_settings_write - x-unstable: >- - **Note**: This endpoint is in public beta. - - If you have any feedback, contact [Datadog - support](https://docs.datadoghq.com/help/). - get: - description: Get incident type details. - operationId: GetIncidentType + - Case Management + /api/v2/cases/{case_id}/attributes: + post: + description: Update case attributes + operationId: UpdateAttributes parameters: - - $ref: '#/components/parameters/IncidentTypeIDPathParameter' + - $ref: '#/components/parameters/CaseIDPathParameter' + requestBody: + content: + application/json: + examples: + default: + value: + data: + attributes: + attributes: + env: + - prod + service: + - web-store + - web-api + team: + - engineering + type: case + schema: + $ref: '#/components/schemas/CaseUpdateAttributesRequest' + description: Case attributes update payload + required: true responses: '200': content: application/json: + examples: + default: + value: + data: + attributes: + created_at: '2024-01-01T00:00:00+00:00' + key: CASEM-1234 + priority: NOT_DEFINED + status: OPEN + status_name: Open + title: Memory leak investigation on API + id: 00000000-0000-0000-0000-000000000001 + relationships: + project: + data: + id: 00000000-0000-0000-0000-000000000002 + type: project + type: case schema: - $ref: '#/components/schemas/IncidentTypeResponse' + $ref: '#/components/schemas/CaseResponse' description: OK '400': $ref: '#/components/responses/BadRequestResponse' @@ -1902,37 +2381,47 @@ paths: - apiKeyAuth: [] appKeyAuth: [] - AuthZ: - - incident_read - summary: Get incident type details + - cases_write + summary: Update case attributes tags: - - Incidents - x-permission: - operator: OR - permissions: - - incident_read - x-unstable: >- - **Note**: This endpoint is in public beta. - - If you have any feedback, contact [Datadog - support](https://docs.datadoghq.com/help/). - patch: - description: Update an incident type. - operationId: UpdateIncidentType + - Case Management + /api/v2/cases/{case_id}/comment: + post: + description: Comment case + operationId: CommentCase parameters: - - $ref: '#/components/parameters/IncidentTypeIDPathParameter' + - $ref: '#/components/parameters/CaseIDPathParameter' requestBody: content: application/json: + examples: + default: + value: + data: + attributes: + comment: This is my comment ! + type: case schema: - $ref: '#/components/schemas/IncidentTypePatchRequest' - description: Incident type payload. + $ref: '#/components/schemas/CaseCommentRequest' + description: Case comment payload required: true responses: '200': content: application/json: + examples: + default: + value: + data: + - attributes: + cell_content: + message: This is my comment ! + created_at: '2024-01-01T00:00:00+00:00' + type: COMMENT + id: 00000000-0000-0000-0000-000000000001 + type: timeline_cell schema: - $ref: '#/components/schemas/IncidentTypeResponse' + $ref: '#/components/schemas/TimelineResponse' description: OK '400': $ref: '#/components/responses/BadRequestResponse' @@ -1944,41 +2433,19 @@ paths: $ref: '#/components/responses/NotFoundResponse' '429': $ref: '#/components/responses/TooManyRequestsResponse' - security: - - apiKeyAuth: [] - appKeyAuth: [] - - AuthZ: - - incident_settings_write - summary: Update an incident type + summary: Comment case tags: - - Incidents - x-codegen-request-body-name: body - x-permission: - operator: OR - permissions: - - incident_settings_write - x-unstable: >- - **Note**: This endpoint is in public beta. - - If you have any feedback, contact [Datadog - support](https://docs.datadoghq.com/help/). - /api/v2/incidents/search: - get: - description: Search for incidents matching a certain query. - operationId: SearchIncidents + - Case Management + /api/v2/cases/{case_id}/comment/{cell_id}: + delete: + description: Delete case comment + operationId: DeleteCaseComment parameters: - - $ref: '#/components/parameters/IncidentSearchIncludeQueryParameter' - - $ref: '#/components/parameters/IncidentSearchQueryQueryParameter' - - $ref: '#/components/parameters/IncidentSearchSortQueryParameter' - - $ref: '#/components/parameters/PageSize' - - $ref: '#/components/parameters/PageOffset' + - $ref: '#/components/parameters/CaseIDPathParameter' + - $ref: '#/components/parameters/CellIDPathParameter' responses: - '200': - content: - application/json: - schema: - $ref: '#/components/schemas/IncidentSearchResponse' - description: OK + '204': + description: No Content '400': $ref: '#/components/responses/BadRequestResponse' '401': @@ -1989,35 +2456,31 @@ paths: $ref: '#/components/responses/NotFoundResponse' '429': $ref: '#/components/responses/TooManyRequestsResponse' - security: - - apiKeyAuth: [] - appKeyAuth: [] - - AuthZ: - - incident_read - summary: Search for incidents + summary: Delete case comment tags: - - Incidents - x-pagination: - limitParam: page[size] - pageOffsetParam: page[offset] - resultsPath: data.attributes.incidents - x-permission: - operator: OR - permissions: - - incident_read - x-unstable: >- - **Note**: This endpoint is in public beta. - - If you have any feedback, contact [Datadog - support](https://docs.datadoghq.com/help/). - /api/v2/incidents/{incident_id}: - delete: - description: Deletes an existing incident from the users organization. - operationId: DeleteIncident + - Case Management + put: + description: Updates the text content of an existing comment on a case timeline. The comment is identified by its cell ID. + operationId: UpdateCaseComment parameters: - - $ref: '#/components/parameters/IncidentIDPathParameter' + - $ref: '#/components/parameters/CaseIDPathParameter' + - $ref: '#/components/parameters/CellIDPathParameter' + requestBody: + content: + application/json: + examples: + default: + value: + data: + attributes: + comment: Updated comment text + type: case + schema: + $ref: '#/components/schemas/CaseUpdateCommentRequest' + description: Case update comment payload. + required: true responses: - '204': + '200': description: OK '400': $ref: '#/components/responses/BadRequestResponse' @@ -2033,34 +2496,42 @@ paths: - apiKeyAuth: [] appKeyAuth: [] - AuthZ: - - incident_write - summary: Delete an existing incident + - cases_write + summary: Update case comment tags: - - Incidents - x-permission: - operator: OR - permissions: - - incident_write - x-unstable: >- - **Note**: This endpoint is in public beta. - - If you have any feedback, contact [Datadog - support](https://docs.datadoghq.com/help/). - get: - description: Get the details of an incident by `incident_id`. - operationId: GetIncident + - Case Management + /api/v2/cases/{case_id}/custom_attributes/{custom_attribute_key}: + delete: + description: Delete custom attribute from case + operationId: DeleteCaseCustomAttribute parameters: - - $ref: '#/components/parameters/IncidentIDPathParameter' - - $ref: '#/components/parameters/IncidentIncludeQueryParameter' + - $ref: '#/components/parameters/CaseIDPathParameter' + - $ref: '#/components/parameters/CaseCustomAttributeKeyPathParameter' responses: '200': content: application/json: + examples: + default: + value: + data: + attributes: + created_at: '2024-01-01T00:00:00+00:00' + key: CASEM-1234 + priority: NOT_DEFINED + status: OPEN + status_name: Open + title: Memory leak investigation on API + id: 00000000-0000-0000-0000-000000000001 + relationships: + project: + data: + id: 00000000-0000-0000-0000-000000000002 + type: project + type: case schema: - $ref: '#/components/schemas/IncidentResponse' + $ref: '#/components/schemas/CaseResponse' description: OK - '400': - $ref: '#/components/responses/BadRequestResponse' '401': $ref: '#/components/responses/UnauthorizedResponse' '403': @@ -2073,40 +2544,56 @@ paths: - apiKeyAuth: [] appKeyAuth: [] - AuthZ: - - incident_read - summary: Get the details of an incident + - cases_write + summary: Delete custom attribute from case tags: - - Incidents - x-permission: - operator: OR - permissions: - - incident_read - x-unstable: >- - **Note**: This endpoint is in public beta. - - If you have any feedback, contact [Datadog - support](https://docs.datadoghq.com/help/). - patch: - description: >- - Updates an incident. Provide only the attributes that should be updated - as this request is a partial update. - operationId: UpdateIncident + - Case Management + post: + description: Update case custom attribute + operationId: UpdateCaseCustomAttribute parameters: - - $ref: '#/components/parameters/IncidentIDPathParameter' - - $ref: '#/components/parameters/IncidentIncludeQueryParameter' + - $ref: '#/components/parameters/CaseIDPathParameter' + - $ref: '#/components/parameters/CaseCustomAttributeKeyPathParameter' requestBody: content: application/json: + examples: + default: + value: + data: + attributes: + is_multi: false + type: NUMBER + value: 42 + type: case schema: - $ref: '#/components/schemas/IncidentUpdateRequest' - description: Incident Payload. + $ref: '#/components/schemas/CaseUpdateCustomAttributeRequest' + description: Update case custom attribute payload required: true responses: '200': content: application/json: + examples: + default: + value: + data: + attributes: + created_at: '2024-01-01T00:00:00+00:00' + key: CASEM-1234 + priority: NOT_DEFINED + status: OPEN + status_name: Open + title: Memory leak investigation on API + id: 00000000-0000-0000-0000-000000000001 + relationships: + project: + data: + id: 00000000-0000-0000-0000-000000000002 + type: project + type: case schema: - $ref: '#/components/schemas/IncidentResponse' + $ref: '#/components/schemas/CaseResponse' description: OK '400': $ref: '#/components/responses/BadRequestResponse' @@ -2122,34 +2609,54 @@ paths: - apiKeyAuth: [] appKeyAuth: [] - AuthZ: - - incident_write - summary: Update an existing incident + - cases_write + summary: Update case custom attribute tags: - - Incidents - x-codegen-request-body-name: body - x-permission: - operator: OR - permissions: - - incident_write - x-unstable: >- - **Note**: This endpoint is in public beta. - - If you have any feedback, contact [Datadog - support](https://docs.datadoghq.com/help/). - /api/v2/incidents/{incident_id}/attachments: - get: - description: Get all attachments for a given incident. - operationId: ListIncidentAttachments + - Case Management + /api/v2/cases/{case_id}/description: + post: + description: Update case description + operationId: UpdateCaseDescription parameters: - - $ref: '#/components/parameters/IncidentIDPathParameter' - - $ref: '#/components/parameters/IncidentAttachmentIncludeQueryParameter' - - $ref: '#/components/parameters/IncidentAttachmentFilterQueryParameter' + - $ref: '#/components/parameters/CaseIDPathParameter' + requestBody: + content: + application/json: + examples: + default: + value: + data: + attributes: + description: Seeing some weird memory increase... We shouldn't ignore this + type: case + schema: + $ref: '#/components/schemas/CaseUpdateDescriptionRequest' + description: Case description update payload + required: true responses: '200': content: application/json: + examples: + default: + value: + data: + attributes: + created_at: '2024-01-01T00:00:00+00:00' + key: CASEM-1234 + priority: NOT_DEFINED + status: OPEN + status_name: Open + title: Memory leak investigation on API + id: 00000000-0000-0000-0000-000000000001 + relationships: + project: + data: + id: 00000000-0000-0000-0000-000000000002 + type: project + type: case schema: - $ref: '#/components/schemas/IncidentAttachmentsResponse' + $ref: '#/components/schemas/CaseResponse' description: OK '400': $ref: '#/components/responses/BadRequestResponse' @@ -2161,39 +2668,58 @@ paths: $ref: '#/components/responses/NotFoundResponse' '429': $ref: '#/components/responses/TooManyRequestsResponse' - summary: Get a list of attachments + security: + - apiKeyAuth: [] + appKeyAuth: [] + - AuthZ: + - cases_write + summary: Update case description tags: - - Incidents - x-permission: - operator: OR - permissions: - - incident_read - x-unstable: >- - **Note**: This endpoint is in public beta. - - If you have any feedback, contact [Datadog - support](https://docs.datadoghq.com/help/). - patch: - description: >- - The bulk update endpoint for creating, updating, and deleting - attachments for a given incident. - operationId: UpdateIncidentAttachments + - Case Management + /api/v2/cases/{case_id}/due_date: + post: + description: Sets or updates the due date for a case. The due date is a calendar date (without a time component) indicating when the case should be resolved. + operationId: UpdateCaseDueDate parameters: - - $ref: '#/components/parameters/IncidentIDPathParameter' - - $ref: '#/components/parameters/IncidentAttachmentIncludeQueryParameter' + - $ref: '#/components/parameters/CaseIDPathParameter' requestBody: content: application/json: + examples: + default: + value: + data: + attributes: + due_date: '2026-12-31' + type: case schema: - $ref: '#/components/schemas/IncidentAttachmentUpdateRequest' - description: Incident Attachment Payload. + $ref: '#/components/schemas/CaseUpdateDueDateRequest' + description: Case due date update payload. required: true responses: '200': content: application/json: + examples: + default: + value: + data: + attributes: + created_at: '2024-01-01T00:00:00+00:00' + key: CASEM-1234 + priority: NOT_DEFINED + status: OPEN + status_name: Open + title: Memory leak investigation on API + id: 00000000-0000-0000-0000-000000000001 + relationships: + project: + data: + id: 00000000-0000-0000-0000-000000000002 + type: project + type: case schema: - $ref: '#/components/schemas/IncidentAttachmentUpdateResponse' + $ref: '#/components/schemas/CaseResponse' description: OK '400': $ref: '#/components/responses/BadRequestResponse' @@ -2205,115 +2731,221 @@ paths: $ref: '#/components/responses/NotFoundResponse' '429': $ref: '#/components/responses/TooManyRequestsResponse' - summary: Create, update, and delete incident attachments + security: + - apiKeyAuth: [] + appKeyAuth: [] + - AuthZ: + - cases_write + summary: Update case due date tags: - - Incidents - x-codegen-request-body-name: body - x-permission: - operator: OR - permissions: - - incident_write - x-unstable: >- - **Note**: This endpoint is in public beta. - - If you have any feedback, contact [Datadog - support](https://docs.datadoghq.com/help/). - /api/v2/incidents/{incident_id}/relationships/integrations: - get: - description: Get all integration metadata for an incident. - operationId: ListIncidentIntegrations + - Case Management + /api/v2/cases/{case_id}/insights: + delete: + description: Removes one or more previously added insights from a case by specifying their type and resource identifier in the request body. + operationId: RemoveCaseInsights parameters: - - $ref: '#/components/parameters/IncidentIDPathParameter' + - $ref: '#/components/parameters/CaseIDPathParameter' + requestBody: + content: + application/json: + examples: + default: + value: + data: + attributes: + insights: + - ref: /monitors/12345?q=total + resource_id: '12345' + type: SECURITY_SIGNAL + type: case + schema: + $ref: '#/components/schemas/CaseInsightsRequest' + description: Case insights request. + required: true responses: '200': content: application/json: + examples: + default: + value: + data: + attributes: + created_at: '2024-01-01T00:00:00+00:00' + key: CASEM-1234 + priority: NOT_DEFINED + status: OPEN + status_name: Open + title: Memory leak investigation on API + id: 00000000-0000-0000-0000-000000000001 + relationships: + project: + data: + id: 00000000-0000-0000-0000-000000000002 + type: project + type: case schema: - $ref: '#/components/schemas/IncidentIntegrationMetadataListResponse' + $ref: '#/components/schemas/CaseResponse' description: OK '400': - $ref: '#/components/responses/BadRequestResponse' + content: + application/json: + schema: + $ref: '#/components/schemas/JSONAPIErrorResponse' + description: Bad Request '401': - $ref: '#/components/responses/UnauthorizedResponse' + content: + application/json: + schema: + $ref: '#/components/schemas/JSONAPIErrorResponse' + description: Unauthorized '403': - $ref: '#/components/responses/ForbiddenResponse' + content: + application/json: + schema: + $ref: '#/components/schemas/JSONAPIErrorResponse' + description: Forbidden '404': - $ref: '#/components/responses/NotFoundResponse' + content: + application/json: + schema: + $ref: '#/components/schemas/JSONAPIErrorResponse' + description: Not Found '429': $ref: '#/components/responses/TooManyRequestsResponse' security: - apiKeyAuth: [] appKeyAuth: [] - AuthZ: - - incident_read - summary: Get a list of an incident's integration metadata + - cases_write + summary: Remove insights from a case tags: - - Incidents - x-permission: - operator: OR - permissions: - - incident_read - x-unstable: >- - **Note**: This endpoint is in public beta. - - If you have any feedback, contact [Datadog - support](https://docs.datadoghq.com/help/). - post: - description: Create an incident integration metadata. - operationId: CreateIncidentIntegration + - Case Management + put: + description: Adds one or more insights to a case. Insights are references to related Datadog resources (such as monitors, security signals, incidents, or error tracking issues) that provide investigative context. Up to 100 insights can be added per request. Each insight requires a type (see `CaseInsightType` for allowed values), a ref (URL path to the resource), and a resource_id. + operationId: AddCaseInsights parameters: - - $ref: '#/components/parameters/IncidentIDPathParameter' + - $ref: '#/components/parameters/CaseIDPathParameter' requestBody: content: application/json: + examples: + default: + value: + data: + attributes: + insights: + - ref: /monitors/12345?q=total + resource_id: '12345' + type: SECURITY_SIGNAL + type: case schema: - $ref: '#/components/schemas/IncidentIntegrationMetadataCreateRequest' - description: Incident integration metadata payload. + $ref: '#/components/schemas/CaseInsightsRequest' + description: Case insights request. required: true responses: - '201': + '200': content: application/json: + examples: + default: + value: + data: + attributes: + created_at: '2024-01-01T00:00:00+00:00' + key: CASEM-1234 + priority: NOT_DEFINED + status: OPEN + status_name: Open + title: Memory leak investigation on API + id: 00000000-0000-0000-0000-000000000001 + relationships: + project: + data: + id: 00000000-0000-0000-0000-000000000002 + type: project + type: case schema: - $ref: '#/components/schemas/IncidentIntegrationMetadataResponse' - description: CREATED + $ref: '#/components/schemas/CaseResponse' + description: OK '400': - $ref: '#/components/responses/BadRequestResponse' + content: + application/json: + schema: + $ref: '#/components/schemas/JSONAPIErrorResponse' + description: Bad Request '401': - $ref: '#/components/responses/UnauthorizedResponse' + content: + application/json: + schema: + $ref: '#/components/schemas/JSONAPIErrorResponse' + description: Unauthorized '403': - $ref: '#/components/responses/ForbiddenResponse' + content: + application/json: + schema: + $ref: '#/components/schemas/JSONAPIErrorResponse' + description: Forbidden '404': - $ref: '#/components/responses/NotFoundResponse' + content: + application/json: + schema: + $ref: '#/components/schemas/JSONAPIErrorResponse' + description: Not Found '429': $ref: '#/components/responses/TooManyRequestsResponse' security: - apiKeyAuth: [] appKeyAuth: [] - AuthZ: - - incident_write - summary: Create an incident integration metadata + - cases_write + summary: Add insights to a case tags: - - Incidents - x-codegen-request-body-name: body - x-permission: - operator: OR - permissions: - - incident_write - x-unstable: >- - **Note**: This endpoint is in public beta. - - If you have any feedback, contact [Datadog - support](https://docs.datadoghq.com/help/). - /api/v2/incidents/{incident_id}/relationships/integrations/{integration_metadata_id}: - delete: - description: Delete an incident integration metadata. - operationId: DeleteIncidentIntegration + - Case Management + /api/v2/cases/{case_id}/priority: + post: + description: Update case priority + operationId: UpdatePriority parameters: - - $ref: '#/components/parameters/IncidentIDPathParameter' - - $ref: '#/components/parameters/IncidentIntegrationMetadataIDPathParameter' + - $ref: '#/components/parameters/CaseIDPathParameter' + requestBody: + content: + application/json: + examples: + default: + value: + data: + attributes: + priority: NOT_DEFINED + type: case + schema: + $ref: '#/components/schemas/CaseUpdatePriorityRequest' + description: Case priority update payload + required: true responses: - '204': + '200': + content: + application/json: + examples: + default: + value: + data: + attributes: + created_at: '2024-01-01T00:00:00+00:00' + key: CASEM-1234 + priority: NOT_DEFINED + status: OPEN + status_name: Open + title: Memory leak investigation on API + id: 00000000-0000-0000-0000-000000000001 + relationships: + project: + data: + id: 00000000-0000-0000-0000-000000000002 + type: project + type: case + schema: + $ref: '#/components/schemas/CaseResponse' description: OK '400': $ref: '#/components/responses/BadRequestResponse' @@ -2329,367 +2961,540 @@ paths: - apiKeyAuth: [] appKeyAuth: [] - AuthZ: - - incident_write - summary: Delete an incident integration metadata + - cases_write + summary: Update case priority tags: - - Incidents - x-codegen-request-body-name: body - x-unstable: >- - **Note**: This endpoint is in public beta. - - If you have any feedback, contact [Datadog - support](https://docs.datadoghq.com/help/). - get: - description: Get incident integration metadata details. - operationId: GetIncidentIntegration + - Case Management + /api/v2/cases/{case_id}/relationships/incidents: + post: + description: Link an incident to a case + operationId: LinkIncident parameters: - - $ref: '#/components/parameters/IncidentIDPathParameter' - - $ref: '#/components/parameters/IncidentIntegrationMetadataIDPathParameter' + - $ref: '#/components/parameters/CaseIDPathParameter' + requestBody: + content: + application/json: + examples: + default: + value: + data: + id: 00000000-0000-0000-0000-000000000000 + type: incidents + schema: + $ref: '#/components/schemas/RelationshipToIncidentRequest' + description: Incident link request + required: true responses: - '200': + '201': content: application/json: + examples: + default: + value: + data: + attributes: + key: CASEM-4523 + priority: NOT_DEFINED + status: OPEN + title: Memory leak investigation on API + id: 00000000-0000-0000-0000-000000000002 + type: case schema: - $ref: '#/components/schemas/IncidentIntegrationMetadataResponse' - description: OK + $ref: '#/components/schemas/CaseResponse' + description: Created '400': - $ref: '#/components/responses/BadRequestResponse' + content: + application/json: + schema: + $ref: '#/components/schemas/JSONAPIErrorResponse' + description: Bad Request '401': - $ref: '#/components/responses/UnauthorizedResponse' + content: + application/json: + schema: + $ref: '#/components/schemas/JSONAPIErrorResponse' + description: Unauthorized '403': - $ref: '#/components/responses/ForbiddenResponse' + content: + application/json: + schema: + $ref: '#/components/schemas/JSONAPIErrorResponse' + description: Forbidden '404': - $ref: '#/components/responses/NotFoundResponse' + content: + application/json: + schema: + $ref: '#/components/schemas/JSONAPIErrorResponse' + description: Not Found '429': $ref: '#/components/responses/TooManyRequestsResponse' security: - apiKeyAuth: [] appKeyAuth: [] - AuthZ: - - incident_read - summary: Get incident integration metadata details + - cases_write + summary: Link incident to case tags: - - Incidents - x-unstable: >- - **Note**: This endpoint is in public beta. - - If you have any feedback, contact [Datadog - support](https://docs.datadoghq.com/help/). - patch: - description: Update an existing incident integration metadata. - operationId: UpdateIncidentIntegration + - Case Management + /api/v2/cases/{case_id}/relationships/jira_issues: + delete: + description: Remove the link between a Jira issue and a case + operationId: UnlinkJiraIssue parameters: - - $ref: '#/components/parameters/IncidentIDPathParameter' - - $ref: '#/components/parameters/IncidentIntegrationMetadataIDPathParameter' - requestBody: - content: - application/json: - schema: - $ref: '#/components/schemas/IncidentIntegrationMetadataPatchRequest' - description: Incident integration metadata payload. - required: true + - $ref: '#/components/parameters/CaseIDPathParameter' responses: - '200': + '204': + description: No Content + '400': content: application/json: schema: - $ref: '#/components/schemas/IncidentIntegrationMetadataResponse' - description: OK - '400': - $ref: '#/components/responses/BadRequestResponse' + $ref: '#/components/schemas/JSONAPIErrorResponse' + description: Bad Request '401': - $ref: '#/components/responses/UnauthorizedResponse' + content: + application/json: + schema: + $ref: '#/components/schemas/JSONAPIErrorResponse' + description: Unauthorized '403': - $ref: '#/components/responses/ForbiddenResponse' + content: + application/json: + schema: + $ref: '#/components/schemas/JSONAPIErrorResponse' + description: Forbidden '404': - $ref: '#/components/responses/NotFoundResponse' + content: + application/json: + schema: + $ref: '#/components/schemas/JSONAPIErrorResponse' + description: Not Found '429': $ref: '#/components/responses/TooManyRequestsResponse' security: - apiKeyAuth: [] appKeyAuth: [] - AuthZ: - - incident_write - summary: Update an existing incident integration metadata + - cases_write + summary: Remove Jira issue link from case tags: - - Incidents - x-codegen-request-body-name: body - x-unstable: >- - **Note**: This endpoint is in public beta. - - If you have any feedback, contact [Datadog - support](https://docs.datadoghq.com/help/). - /api/v2/incidents/{incident_id}/relationships/todos: - get: - description: Get all todos for an incident. - operationId: ListIncidentTodos + - Case Management + patch: + description: Link an existing Jira issue to a case + operationId: LinkJiraIssueToCase parameters: - - $ref: '#/components/parameters/IncidentIDPathParameter' + - $ref: '#/components/parameters/CaseIDPathParameter' + requestBody: + content: + application/json: + examples: + default: + value: + data: + attributes: + jira_issue_url: https://jira.example.com/browse/PROJ-123 + type: issues + schema: + $ref: '#/components/schemas/JiraIssueLinkRequest' + description: Jira issue link request + required: true responses: - '200': + '204': + description: No Content + '400': content: application/json: schema: - $ref: '#/components/schemas/IncidentTodoListResponse' - description: OK - '400': - $ref: '#/components/responses/BadRequestResponse' + $ref: '#/components/schemas/JSONAPIErrorResponse' + description: Bad Request '401': - $ref: '#/components/responses/UnauthorizedResponse' + content: + application/json: + schema: + $ref: '#/components/schemas/JSONAPIErrorResponse' + description: Unauthorized '403': - $ref: '#/components/responses/ForbiddenResponse' + content: + application/json: + schema: + $ref: '#/components/schemas/JSONAPIErrorResponse' + description: Forbidden '404': - $ref: '#/components/responses/NotFoundResponse' + content: + application/json: + schema: + $ref: '#/components/schemas/JSONAPIErrorResponse' + description: Not Found + '409': + content: + application/json: + schema: + $ref: '#/components/schemas/JSONAPIErrorResponse' + description: Conflict '429': $ref: '#/components/responses/TooManyRequestsResponse' security: - apiKeyAuth: [] appKeyAuth: [] - AuthZ: - - incident_read - summary: Get a list of an incident's todos + - cases_write + summary: Link existing Jira issue to case tags: - - Incidents - x-permission: - operator: OR - permissions: - - incident_read - x-unstable: >- - **Note**: This endpoint is in public beta. - - If you have any feedback, contact [Datadog - support](https://docs.datadoghq.com/help/). + - Case Management post: - description: Create an incident todo. - operationId: CreateIncidentTodo + description: Create a new Jira issue and link it to a case + operationId: CreateCaseJiraIssue parameters: - - $ref: '#/components/parameters/IncidentIDPathParameter' + - $ref: '#/components/parameters/CaseIDPathParameter' requestBody: content: application/json: + examples: + default: + value: + data: + attributes: + fields: {} + issue_type_id: '10001' + jira_account_id: '1234' + project_id: '5678' + type: issues schema: - $ref: '#/components/schemas/IncidentTodoCreateRequest' - description: Incident todo payload. + $ref: '#/components/schemas/JiraIssueCreateRequest' + description: Jira issue creation request required: true responses: - '201': + '202': + description: Accepted + '400': content: application/json: schema: - $ref: '#/components/schemas/IncidentTodoResponse' - description: CREATED - '400': - $ref: '#/components/responses/BadRequestResponse' + $ref: '#/components/schemas/JSONAPIErrorResponse' + description: Bad Request '401': - $ref: '#/components/responses/UnauthorizedResponse' + content: + application/json: + schema: + $ref: '#/components/schemas/JSONAPIErrorResponse' + description: Unauthorized '403': - $ref: '#/components/responses/ForbiddenResponse' + content: + application/json: + schema: + $ref: '#/components/schemas/JSONAPIErrorResponse' + description: Forbidden '404': - $ref: '#/components/responses/NotFoundResponse' + content: + application/json: + schema: + $ref: '#/components/schemas/JSONAPIErrorResponse' + description: Not Found '429': $ref: '#/components/responses/TooManyRequestsResponse' security: - apiKeyAuth: [] appKeyAuth: [] - AuthZ: - - incident_write - summary: Create an incident todo + - cases_write + summary: Create Jira issue for case tags: - - Incidents - x-codegen-request-body-name: body - x-permission: - operator: OR - permissions: - - incident_write - x-unstable: >- - **Note**: This endpoint is in public beta. - - If you have any feedback, contact [Datadog - support](https://docs.datadoghq.com/help/). - /api/v2/incidents/{incident_id}/relationships/todos/{todo_id}: - delete: - description: Delete an incident todo. - operationId: DeleteIncidentTodo + - Case Management + /api/v2/cases/{case_id}/relationships/notebook: + post: + description: Create a new investigation notebook and link it to a case + operationId: CreateCaseNotebook parameters: - - $ref: '#/components/parameters/IncidentIDPathParameter' - - $ref: '#/components/parameters/IncidentTodoIDPathParameter' + - $ref: '#/components/parameters/CaseIDPathParameter' + requestBody: + content: + application/json: + examples: + default: + value: + data: + type: notebook + schema: + $ref: '#/components/schemas/NotebookCreateRequest' + description: Notebook creation request + required: true responses: '204': - description: OK + description: No Content '400': - $ref: '#/components/responses/BadRequestResponse' + content: + application/json: + schema: + $ref: '#/components/schemas/JSONAPIErrorResponse' + description: Bad Request '401': - $ref: '#/components/responses/UnauthorizedResponse' + content: + application/json: + schema: + $ref: '#/components/schemas/JSONAPIErrorResponse' + description: Unauthorized '403': - $ref: '#/components/responses/ForbiddenResponse' + content: + application/json: + schema: + $ref: '#/components/schemas/JSONAPIErrorResponse' + description: Forbidden '404': - $ref: '#/components/responses/NotFoundResponse' + content: + application/json: + schema: + $ref: '#/components/schemas/JSONAPIErrorResponse' + description: Not Found '429': $ref: '#/components/responses/TooManyRequestsResponse' security: - apiKeyAuth: [] appKeyAuth: [] - AuthZ: - - incident_write - summary: Delete an incident todo + - cases_write + summary: Create investigation notebook for case tags: - - Incidents - x-permission: - operator: OR - permissions: - - incident_write - x-unstable: >- - **Note**: This endpoint is in public beta. - - If you have any feedback, contact [Datadog - support](https://docs.datadoghq.com/help/). - get: - description: Get incident todo details. - operationId: GetIncidentTodo + - Case Management + /api/v2/cases/{case_id}/relationships/project: + patch: + description: Update the project associated with a case + operationId: MoveCaseToProject parameters: - - $ref: '#/components/parameters/IncidentIDPathParameter' - - $ref: '#/components/parameters/IncidentTodoIDPathParameter' + - $ref: '#/components/parameters/CaseIDPathParameter' + requestBody: + content: + application/json: + examples: + default: + value: + data: + id: e555e290-ed65-49bd-ae18-8acbfcf18db7 + type: project + schema: + $ref: '#/components/schemas/ProjectRelationship' + description: Project update request + required: true responses: '200': content: application/json: + examples: + default: + value: + data: + attributes: + key: CASEM-4523 + priority: NOT_DEFINED + status: OPEN + title: Memory leak investigation on API + id: 00000000-0000-0000-0000-000000000001 + type: case schema: - $ref: '#/components/schemas/IncidentTodoResponse' + $ref: '#/components/schemas/CaseResponse' description: OK '400': - $ref: '#/components/responses/BadRequestResponse' + content: + application/json: + schema: + $ref: '#/components/schemas/JSONAPIErrorResponse' + description: Bad Request '401': - $ref: '#/components/responses/UnauthorizedResponse' + content: + application/json: + schema: + $ref: '#/components/schemas/JSONAPIErrorResponse' + description: Unauthorized '403': - $ref: '#/components/responses/ForbiddenResponse' + content: + application/json: + schema: + $ref: '#/components/schemas/JSONAPIErrorResponse' + description: Forbidden '404': - $ref: '#/components/responses/NotFoundResponse' + content: + application/json: + schema: + $ref: '#/components/schemas/JSONAPIErrorResponse' + description: Not Found '429': $ref: '#/components/responses/TooManyRequestsResponse' security: - apiKeyAuth: [] appKeyAuth: [] - AuthZ: - - incident_read - summary: Get incident todo details + - cases_write + summary: Update case project tags: - - Incidents - x-permission: - operator: OR - permissions: - - incident_read - x-unstable: >- - **Note**: This endpoint is in public beta. - - If you have any feedback, contact [Datadog - support](https://docs.datadoghq.com/help/). - patch: - description: Update an incident todo. - operationId: UpdateIncidentTodo + - Case Management + /api/v2/cases/{case_id}/relationships/servicenow_tickets: + post: + description: Create a new ServiceNow incident ticket and link it to a case + operationId: CreateCaseServiceNowTicket parameters: - - $ref: '#/components/parameters/IncidentIDPathParameter' - - $ref: '#/components/parameters/IncidentTodoIDPathParameter' + - $ref: '#/components/parameters/CaseIDPathParameter' requestBody: content: application/json: + examples: + default: + value: + data: + attributes: + assignment_group: IT Support + instance_name: my-instance + type: tickets schema: - $ref: '#/components/schemas/IncidentTodoPatchRequest' - description: Incident todo payload. + $ref: '#/components/schemas/ServiceNowTicketCreateRequest' + description: ServiceNow ticket creation request required: true responses: - '200': + '202': + description: Accepted + '400': content: application/json: schema: - $ref: '#/components/schemas/IncidentTodoResponse' - description: OK - '400': - $ref: '#/components/responses/BadRequestResponse' + $ref: '#/components/schemas/JSONAPIErrorResponse' + description: Bad Request '401': - $ref: '#/components/responses/UnauthorizedResponse' + content: + application/json: + schema: + $ref: '#/components/schemas/JSONAPIErrorResponse' + description: Unauthorized '403': - $ref: '#/components/responses/ForbiddenResponse' + content: + application/json: + schema: + $ref: '#/components/schemas/JSONAPIErrorResponse' + description: Forbidden '404': - $ref: '#/components/responses/NotFoundResponse' + content: + application/json: + schema: + $ref: '#/components/schemas/JSONAPIErrorResponse' + description: Not Found '429': $ref: '#/components/responses/TooManyRequestsResponse' security: - apiKeyAuth: [] appKeyAuth: [] - AuthZ: - - incident_write - summary: Update an incident todo + - cases_write + summary: Create ServiceNow ticket for case tags: - - Incidents - x-codegen-request-body-name: body - x-permission: - operator: OR - permissions: - - incident_write - x-unstable: >- - **Note**: This endpoint is in public beta. - - If you have any feedback, contact [Datadog - support](https://docs.datadoghq.com/help/). - /api/v2/on-call/escalation-policies: + - Case Management + /api/v2/cases/{case_id}/resolved_reason: post: - description: Create a new On-Call escalation policy - operationId: CreateOnCallEscalationPolicy + description: Sets the resolved reason for a security case (for example, FALSE_POSITIVE, TRUE_POSITIVE). Applicable to security-type cases. + operationId: UpdateCaseResolvedReason parameters: - - description: >- - Comma-separated list of included relationships to be returned. - Allowed values: `teams`, `steps`, `steps.targets`. - in: query - name: include - schema: - type: string + - $ref: '#/components/parameters/CaseIDPathParameter' requestBody: content: application/json: + examples: + default: + value: + data: + attributes: + security_resolved_reason: FALSE_POSITIVE + type: case schema: - $ref: '#/components/schemas/EscalationPolicyCreateRequest' + $ref: '#/components/schemas/CaseUpdateResolvedReasonRequest' + description: Case resolved reason update payload. required: true responses: - '201': + '200': content: application/json: + examples: + default: + value: + data: + attributes: + created_at: '2024-01-01T00:00:00+00:00' + key: CASEM-1234 + priority: NOT_DEFINED + status: OPEN + status_name: Open + title: Memory leak investigation on API + id: 00000000-0000-0000-0000-000000000001 + relationships: + project: + data: + id: 00000000-0000-0000-0000-000000000002 + type: project + type: case schema: - $ref: '#/components/schemas/EscalationPolicy' - description: Created + $ref: '#/components/schemas/CaseResponse' + description: OK '400': $ref: '#/components/responses/BadRequestResponse' '401': $ref: '#/components/responses/UnauthorizedResponse' '403': $ref: '#/components/responses/ForbiddenResponse' + '404': + $ref: '#/components/responses/NotFoundResponse' '429': $ref: '#/components/responses/TooManyRequestsResponse' security: - apiKeyAuth: [] appKeyAuth: [] - - AuthZ: [] - summary: Create On-Call escalation policy + - AuthZ: + - cases_write + summary: Update case resolved reason tags: - - On-Call - x-permission: - operator: AND - permissions: - - on_call_write - /api/v2/on-call/escalation-policies/{policy_id}: - delete: - description: Delete an On-Call escalation policy - operationId: DeleteOnCallEscalationPolicy + - Case Management + /api/v2/cases/{case_id}/status: + post: + description: Update case status + operationId: UpdateStatus parameters: - - description: The ID of the escalation policy - in: path - name: policy_id - required: true - schema: - example: a3000000-0000-0000-0000-000000000000 - type: string + - $ref: '#/components/parameters/CaseIDPathParameter' + requestBody: + content: + application/json: + examples: + default: + value: + data: + attributes: + status: OPEN + status_name: Open + type: case + schema: + $ref: '#/components/schemas/CaseUpdateStatusRequest' + description: Case status update payload + required: true responses: - '204': - description: No Content + '200': + content: + application/json: + examples: + default: + value: + data: + attributes: + created_at: '2024-01-01T00:00:00+00:00' + key: CASEM-1234 + priority: NOT_DEFINED + status: OPEN + status_name: Open + title: Memory leak investigation on API + id: 00000000-0000-0000-0000-000000000001 + relationships: + project: + data: + id: 00000000-0000-0000-0000-000000000002 + type: project + type: case + schema: + $ref: '#/components/schemas/CaseResponse' + description: OK + '400': + $ref: '#/components/responses/BadRequestResponse' '401': $ref: '#/components/responses/UnauthorizedResponse' '403': @@ -2701,38 +3506,57 @@ paths: security: - apiKeyAuth: [] appKeyAuth: [] - - AuthZ: [] - summary: Delete On-Call escalation policy + - AuthZ: + - cases_write + summary: Update case status tags: - - On-Call - x-permission: - operator: AND - permissions: - - on_call_write + - Case Management + /api/v2/cases/{case_id}/timelines: get: - description: Get an On-Call escalation policy - operationId: GetOnCallEscalationPolicy + description: Returns the timeline of events for a case, including comments, status changes, and other activity. Supports pagination and sort order. + operationId: ListCaseTimeline parameters: - - description: The ID of the escalation policy - in: path - name: policy_id - required: true + - $ref: '#/components/parameters/CaseIDPathParameter' + - description: Number of timeline cells to return per page. + in: query + name: page[size] + required: false schema: - example: a3000000-0000-0000-0000-000000000000 - type: string - - description: >- - Comma-separated list of included relationships to be returned. - Allowed values: `teams`, `steps`, `steps.targets`. + default: 100 + format: int64 + type: integer + - description: Zero-based page number for pagination. in: query - name: include + name: page[number] + required: false schema: - type: string + default: 0 + format: int64 + type: integer + - description: If `true`, returns timeline cells in chronological order (oldest first). Defaults to `false` (newest first). + in: query + name: sort[ascending] + required: false + schema: + default: false + type: boolean responses: '200': content: application/json: + examples: + default: + value: + data: + - attributes: + cell_content: + message: This is a comment + created_at: '2024-01-01T00:00:00+00:00' + type: COMMENT + id: 00000000-0000-0000-0000-000000000001 + type: timeline_cell schema: - $ref: '#/components/schemas/EscalationPolicy' + $ref: '#/components/schemas/TimelineResponse' description: OK '400': $ref: '#/components/responses/BadRequestResponse' @@ -2747,44 +3571,55 @@ paths: security: - apiKeyAuth: [] appKeyAuth: [] - - AuthZ: [] - summary: Get On-Call escalation policy + - AuthZ: + - cases_read + summary: Get case timeline tags: - - On-Call - x-permission: - operator: AND - permissions: - - on_call_read - put: - description: Update an On-Call escalation policy - operationId: UpdateOnCallEscalationPolicy + - Case Management + /api/v2/cases/{case_id}/title: + post: + description: Update case title + operationId: UpdateCaseTitle parameters: - - description: The ID of the escalation policy - in: path - name: policy_id - required: true - schema: - example: a3000000-0000-0000-0000-000000000000 - type: string - - description: >- - Comma-separated list of included relationships to be returned. - Allowed values: `teams`, `steps`, `steps.targets`. - in: query - name: include - schema: - type: string + - $ref: '#/components/parameters/CaseIDPathParameter' requestBody: content: application/json: + examples: + default: + value: + data: + attributes: + title: Memory leak investigation on API + type: case schema: - $ref: '#/components/schemas/EscalationPolicyUpdateRequest' + $ref: '#/components/schemas/CaseUpdateTitleRequest' + description: Case title update payload required: true responses: '200': content: application/json: + examples: + default: + value: + data: + attributes: + created_at: '2024-01-01T00:00:00+00:00' + key: CASEM-1234 + priority: NOT_DEFINED + status: OPEN + status_name: Open + title: Memory leak investigation on API + id: 00000000-0000-0000-0000-000000000001 + relationships: + project: + data: + id: 00000000-0000-0000-0000-000000000002 + type: project + type: case schema: - $ref: '#/components/schemas/EscalationPolicy' + $ref: '#/components/schemas/CaseResponse' description: OK '400': $ref: '#/components/responses/BadRequestResponse' @@ -2799,299 +3634,121 @@ paths: security: - apiKeyAuth: [] appKeyAuth: [] - - AuthZ: [] - summary: Update On-Call escalation policy + - AuthZ: + - cases_write + summary: Update case title tags: - - On-Call - x-permission: - operator: AND - permissions: - - on_call_write - /api/v2/on-call/pages: + - Case Management + /api/v2/cases/{case_id}/unarchive: post: - description: | - Trigger a new On-Call Page. - operationId: CreateOnCallPage + description: Unarchive case + operationId: UnarchiveCase + parameters: + - $ref: '#/components/parameters/CaseIDPathParameter' requestBody: content: application/json: + examples: + default: + value: + data: + type: case schema: - $ref: '#/components/schemas/CreatePageRequest' + $ref: '#/components/schemas/CaseEmptyRequest' + description: Unarchive case payload required: true responses: '200': content: application/json: + examples: + default: + value: + data: + attributes: + created_at: '2024-01-01T00:00:00+00:00' + key: CASEM-1234 + priority: NOT_DEFINED + status: OPEN + status_name: Open + title: Memory leak investigation on API + id: 00000000-0000-0000-0000-000000000001 + relationships: + project: + data: + id: 00000000-0000-0000-0000-000000000002 + type: project + type: case schema: - $ref: '#/components/schemas/CreatePageResponse' - description: OK. - '429': - $ref: '#/components/responses/TooManyRequestsResponse' - security: - - apiKeyAuth: [] - appKeyAuth: [] - - AuthZ: [] - servers: - - url: https://{site} - variables: - site: - default: navy.oncall.datadoghq.com - description: The globally available endpoint for On-Call. - enum: - - lava.oncall.datadoghq.com - - saffron.oncall.datadoghq.com - - navy.oncall.datadoghq.com - - coral.oncall.datadoghq.com - - teal.oncall.datadoghq.com - - beige.oncall.datadoghq.eu - - url: '{protocol}://{name}' - variables: - name: - default: api.datadoghq.com - description: Full site DNS name. - protocol: - default: https - description: The protocol for accessing the API. - - url: https://{subdomain}.{site} - variables: - site: - default: datadoghq.com - description: Any Datadog deployment. - subdomain: - default: api - description: The subdomain where the API is deployed. - summary: Create On-Call Page - tags: - - On-Call Paging - /api/v2/on-call/pages/{page_id}/acknowledge: - post: - description: | - Acknowledges an On-Call Page. - operationId: AcknowledgeOnCallPage - parameters: - - description: The page ID. - in: path - name: page_id - required: true - schema: - example: 15e74b8b-f865-48d0-bcc5-453323ed2c8f - format: uuid - type: string - responses: - '202': - description: Accepted. - '429': - $ref: '#/components/responses/TooManyRequestsResponse' - security: - - apiKeyAuth: [] - appKeyAuth: [] - - AuthZ: [] - servers: - - url: https://{site} - variables: - site: - default: navy.oncall.datadoghq.com - description: The globally available endpoint for On-Call. - enum: - - lava.oncall.datadoghq.com - - saffron.oncall.datadoghq.com - - navy.oncall.datadoghq.com - - coral.oncall.datadoghq.com - - teal.oncall.datadoghq.com - - beige.oncall.datadoghq.eu - - url: '{protocol}://{name}' - variables: - name: - default: api.datadoghq.com - description: Full site DNS name. - protocol: - default: https - description: The protocol for accessing the API. - - url: https://{subdomain}.{site} - variables: - site: - default: datadoghq.com - description: Any Datadog deployment. - subdomain: - default: api - description: The subdomain where the API is deployed. - summary: Acknowledge On-Call Page - tags: - - On-Call Paging - /api/v2/on-call/pages/{page_id}/escalate: - post: - description: | - Escalates an On-Call Page. - operationId: EscalateOnCallPage - parameters: - - description: The page ID. - in: path - name: page_id - required: true - schema: - example: 15e74b8b-f865-48d0-bcc5-453323ed2c8f - format: uuid - type: string - responses: - '202': - description: Accepted. - '429': - $ref: '#/components/responses/TooManyRequestsResponse' - security: - - apiKeyAuth: [] - appKeyAuth: [] - - AuthZ: [] - servers: - - url: https://{site} - variables: - site: - default: navy.oncall.datadoghq.com - description: The globally available endpoint for On-Call. - enum: - - lava.oncall.datadoghq.com - - saffron.oncall.datadoghq.com - - navy.oncall.datadoghq.com - - coral.oncall.datadoghq.com - - teal.oncall.datadoghq.com - - beige.oncall.datadoghq.eu - - url: '{protocol}://{name}' - variables: - name: - default: api.datadoghq.com - description: Full site DNS name. - protocol: - default: https - description: The protocol for accessing the API. - - url: https://{subdomain}.{site} - variables: - site: - default: datadoghq.com - description: Any Datadog deployment. - subdomain: - default: api - description: The subdomain where the API is deployed. - summary: Escalate On-Call Page - tags: - - On-Call Paging - /api/v2/on-call/pages/{page_id}/resolve: - post: - description: | - Resolves an On-Call Page. - operationId: ResolveOnCallPage - parameters: - - description: The page ID. - in: path - name: page_id - required: true - schema: - example: 15e74b8b-f865-48d0-bcc5-453323ed2c8f - format: uuid - type: string - responses: - '202': - description: Accepted. + $ref: '#/components/schemas/CaseResponse' + description: OK + '400': + $ref: '#/components/responses/BadRequestResponse' + '401': + $ref: '#/components/responses/UnauthorizedResponse' + '403': + $ref: '#/components/responses/ForbiddenResponse' + '404': + $ref: '#/components/responses/NotFoundResponse' '429': $ref: '#/components/responses/TooManyRequestsResponse' security: - apiKeyAuth: [] appKeyAuth: [] - - AuthZ: [] - servers: - - url: https://{site} - variables: - site: - default: navy.oncall.datadoghq.com - description: The globally available endpoint for On-Call. - enum: - - lava.oncall.datadoghq.com - - saffron.oncall.datadoghq.com - - navy.oncall.datadoghq.com - - coral.oncall.datadoghq.com - - teal.oncall.datadoghq.com - - beige.oncall.datadoghq.eu - - url: '{protocol}://{name}' - variables: - name: - default: api.datadoghq.com - description: Full site DNS name. - protocol: - default: https - description: The protocol for accessing the API. - - url: https://{subdomain}.{site} - variables: - site: - default: datadoghq.com - description: Any Datadog deployment. - subdomain: - default: api - description: The subdomain where the API is deployed. - summary: Resolve On-Call Page + - AuthZ: + - cases_write + summary: Unarchive case tags: - - On-Call Paging - /api/v2/on-call/schedules: + - Case Management + /api/v2/cases/{case_id}/unassign: post: - description: Create a new On-Call schedule - operationId: CreateOnCallSchedule + description: Unassign case + operationId: UnassignCase parameters: - - description: >- - Comma-separated list of included relationships to be returned. - Allowed values: `teams`, `layers`, `layers.members`, - `layers.members.user`. - in: query - name: include - schema: - type: string + - $ref: '#/components/parameters/CaseIDPathParameter' requestBody: content: application/json: + examples: + default: + value: + data: + type: case schema: - $ref: '#/components/schemas/ScheduleCreateRequest' + $ref: '#/components/schemas/CaseEmptyRequest' + description: Unassign case payload required: true responses: - '201': + '200': content: application/json: + examples: + default: + value: + data: + attributes: + created_at: '2024-01-01T00:00:00+00:00' + key: CASEM-1234 + priority: NOT_DEFINED + status: OPEN + status_name: Open + title: Memory leak investigation on API + id: 00000000-0000-0000-0000-000000000001 + relationships: + project: + data: + id: 00000000-0000-0000-0000-000000000002 + type: project + type: case schema: - $ref: '#/components/schemas/Schedule' - description: Created + $ref: '#/components/schemas/CaseResponse' + description: OK '400': $ref: '#/components/responses/BadRequestResponse' '401': $ref: '#/components/responses/UnauthorizedResponse' '403': $ref: '#/components/responses/ForbiddenResponse' - '429': - $ref: '#/components/responses/TooManyRequestsResponse' - security: - - apiKeyAuth: [] - appKeyAuth: [] - - AuthZ: [] - summary: Create On-Call schedule - tags: - - On-Call - x-permission: - operator: AND - permissions: - - on_call_write - /api/v2/on-call/schedules/{schedule_id}: - delete: - description: Delete an On-Call schedule - operationId: DeleteOnCallSchedule - parameters: - - description: The ID of the schedule - in: path - name: schedule_id - required: true - schema: - example: 3653d3c6-0c75-11ea-ad28-fb5701eabc7d - type: string - responses: - '204': - description: No Content - '401': - $ref: '#/components/responses/UnauthorizedResponse' - '403': - $ref: '#/components/responses/ForbiddenResponse' '404': $ref: '#/components/responses/NotFoundResponse' '429': @@ -3099,40 +3756,37 @@ paths: security: - apiKeyAuth: [] appKeyAuth: [] - - AuthZ: [] - summary: Delete On-Call schedule + - AuthZ: + - cases_write + summary: Unassign case tags: - - On-Call - x-permission: - operator: AND - permissions: - - on_call_write + - Case Management + /api/v2/cases/{case_id}/watchers: get: - description: Get an On-Call schedule - operationId: GetOnCallSchedule + description: Returns the list of users who are watching a case. Watchers receive notifications about updates to the case. + operationId: ListCaseWatchers parameters: - - description: >- - Comma-separated list of included relationships to be returned. - Allowed values: `teams`, `layers`, `layers.members`, - `layers.members.user`. - in: query - name: include - schema: - type: string - - description: The ID of the schedule - in: path - name: schedule_id - required: true - schema: - example: 3653d3c6-0c75-11ea-ad28-fb5701eabc7d - type: string + - $ref: '#/components/parameters/CaseIDPathParameter' responses: '200': content: application/json: + examples: + default: + value: + data: + - id: 8146583c-0b5f-11ec-abf8-da7ad0900001 + relationships: + user: + data: + id: 8146583c-0b5f-11ec-abf8-da7ad0900001 + type: user + type: watcher schema: - $ref: '#/components/schemas/Schedule' + $ref: '#/components/schemas/CaseWatchersResponse' description: OK + '400': + $ref: '#/components/responses/BadRequestResponse' '401': $ref: '#/components/responses/UnauthorizedResponse' '403': @@ -3144,46 +3798,21 @@ paths: security: - apiKeyAuth: [] appKeyAuth: [] - - AuthZ: [] - summary: Get On-Call schedule + - AuthZ: + - cases_read + summary: List case watchers tags: - - On-Call - x-permission: - operator: AND - permissions: - - on_call_read - put: - description: Update a new On-Call schedule - operationId: UpdateOnCallSchedule + - Case Management + /api/v2/cases/{case_id}/watchers/{user_uuid}: + delete: + description: Removes a user from the watchers list of a case. The user no longer receives notifications about updates to the case. + operationId: UnwatchCase parameters: - - description: >- - Comma-separated list of included relationships to be returned. - Allowed values: `teams`, `layers`, `layers.members`, - `layers.members.user`. - in: query - name: include - schema: - type: string - - description: The ID of the schedule - in: path - name: schedule_id - required: true - schema: - example: 3653d3c6-0c75-11ea-ad28-fb5701eabc7d - type: string - requestBody: - content: - application/json: - schema: - $ref: '#/components/schemas/ScheduleUpdateRequest' - required: true + - $ref: '#/components/parameters/CaseIDPathParameter' + - $ref: '#/components/parameters/UserUUIDPathParameter' responses: - '200': - content: - application/json: - schema: - $ref: '#/components/schemas/Schedule' - description: OK + '204': + description: No Content '400': $ref: '#/components/responses/BadRequestResponse' '401': @@ -3197,50 +3826,20 @@ paths: security: - apiKeyAuth: [] appKeyAuth: [] - - AuthZ: [] - summary: Update On-Call schedule + - AuthZ: + - cases_write + summary: Unwatch a case tags: - - On-Call - x-permission: - operator: AND - permissions: - - on_call_write - /api/v2/on-call/schedules/{schedule_id}/on-call: - get: - description: >- - Retrieves the user who is on-call for the specified schedule at a given - time. - operationId: GetScheduleOnCallUser + - Case Management + post: + description: Adds a user (identified by their UUID) as a watcher of a case. The user receives notifications about subsequent updates to the case. + operationId: WatchCase parameters: - - description: >- - Specifies related resources to include in the response as a - comma-separated list. Allowed value: `user`. - in: query - name: include - schema: - type: string - - description: The ID of the schedule. - in: path - name: schedule_id - required: true - schema: - example: 3653d3c6-0c75-11ea-ad28-fb5701eabc7d - type: string - - description: >- - Retrieves the on-call user at the given timestamp (ISO-8601). - Defaults to the current time if omitted." - in: query - name: filter[at_ts] - schema: - example: '2025-05-07T02:53:01Z' - type: string + - $ref: '#/components/parameters/CaseIDPathParameter' + - $ref: '#/components/parameters/UserUUIDPathParameter' responses: - '200': - content: - application/json: - schema: - $ref: '#/components/schemas/Shift' - description: OK + '201': + description: Created '400': $ref: '#/components/responses/BadRequestResponse' '401': @@ -3254,656 +3853,1069 @@ paths: security: - apiKeyAuth: [] appKeyAuth: [] - - AuthZ: [] - summary: Get the schedule on-call user + - AuthZ: + - cases_write + summary: Watch a case tags: - - On-Call - /api/v2/on-call/teams/{team_id}/on-call: - get: - description: Get a team's on-call users at a given time - operationId: GetTeamOnCallUsers - parameters: - - description: >- - Comma-separated list of included relationships to be returned. - Allowed values: `responders`, `escalations`, - `escalations.responders`. - in: query - name: include - schema: - type: string - - description: The team ID - in: path - name: team_id - required: true - schema: - example: 27590dae-47be-4a7d-9abf-8f4e45124020 - type: string + - Case Management + /api/v2/change-management/change-request: + post: + description: Create a new change request. + operationId: CreateChangeRequest + requestBody: + content: + application/json: + examples: + default: + value: + data: + attributes: + change_request_linked_incident_uuid: 00000000-0000-0000-0000-000000000000 + change_request_maintenance_window_query: '' + change_request_plan: 1. Deploy to staging 2. Run tests 3. Deploy to production + change_request_risk: LOW + change_request_type: NORMAL + description: Deploying new payment service v2.1 + end_date: '2024-01-02T15:00:00Z' + project_id: d4bbe1af-f36e-42f1-87c1-493ca35c320e + requested_teams: + - team-handle-1 + start_date: '2024-01-01T03:00:00Z' + title: Deploy new payment service + type: change_request + schema: + $ref: '#/components/schemas/ChangeRequestCreateRequest' + description: Change request payload. + required: true responses: - '200': + '201': content: application/json: + examples: + default: + value: + data: + attributes: + attributes: {} + change_request_linked_incident_uuid: '' + change_request_maintenance_window_query: '' + change_request_plan: '' + change_request_risk: LOW + change_request_type: NORMAL + created_at: '2024-01-01T00:00:00+00:00' + creation_source: CS_MANUAL + description: Deploying new payment service v2.1 + end_date: '2024-01-02T00:00:00+00:00' + key: CHM-1234 + modified_at: '2024-01-01T00:00:00+00:00' + plan_notebook_id: 0 + priority: NOT_DEFINED + project_id: 00000000-0000-0000-0000-000000000001 + start_date: '2024-01-01T00:00:00+00:00' + status: OPEN + title: Deploy new payment service + type: CHANGE_REQUEST + id: CHM-1234 + relationships: + change_request_decisions: + data: [] + created_by: + data: + id: 00000000-0000-0000-0000-000000000001 + type: user + modified_by: + data: + id: 00000000-0000-0000-0000-000000000001 + type: user + type: change_request schema: - $ref: '#/components/schemas/TeamOnCallResponders' - description: OK + $ref: '#/components/schemas/ChangeRequestResponse' + description: Created '400': - $ref: '#/components/responses/BadRequestResponse' - '401': - $ref: '#/components/responses/UnauthorizedResponse' + content: + application/json: + schema: + $ref: '#/components/schemas/JSONAPIErrorResponse' + description: Bad Request '403': - $ref: '#/components/responses/ForbiddenResponse' - '404': - $ref: '#/components/responses/NotFoundResponse' + content: + application/json: + schema: + $ref: '#/components/schemas/JSONAPIErrorResponse' + description: Forbidden '429': $ref: '#/components/responses/TooManyRequestsResponse' security: - apiKeyAuth: [] appKeyAuth: [] - - AuthZ: [] - summary: Get team on-call users + - AuthZ: + - cases_write + summary: Create a change request tags: - - On-Call - /api/v2/on-call/teams/{team_id}/routing-rules: + - Change Management + x-unstable: |- + **Note**: This endpoint is in preview and is subject to change. + If you have any feedback, contact [Datadog support](https://docs.datadoghq.com/help/). + /api/v2/change-management/change-request/{change_request_id}: get: - description: Get a team's On-Call routing rules - operationId: GetOnCallTeamRoutingRules + description: Get the details of a change request by its ID. + operationId: GetChangeRequest parameters: - - description: The team ID - in: path - name: team_id - required: true - schema: - example: 27590dae-47be-4a7d-9abf-8f4e45124020 - type: string - - description: >- - Comma-separated list of included relationships to be returned. - Allowed values: `rules`, `rules.policy`. - in: query - name: include - schema: - type: string + - $ref: '#/components/parameters/ChangeRequestIDPathParameter' responses: '200': content: application/json: + examples: + default: + value: + data: + attributes: + attributes: {} + change_request_linked_incident_uuid: '' + change_request_maintenance_window_query: '' + change_request_plan: '' + change_request_risk: LOW + change_request_type: NORMAL + created_at: '2024-01-01T00:00:00+00:00' + creation_source: CS_MANUAL + description: Deploying new payment service v2.1 + end_date: '2024-01-02T00:00:00+00:00' + key: CHM-1234 + modified_at: '2024-01-01T00:00:00+00:00' + plan_notebook_id: 0 + priority: NOT_DEFINED + project_id: 00000000-0000-0000-0000-000000000001 + start_date: '2024-01-01T00:00:00+00:00' + status: OPEN + title: Deploy new payment service + type: CHANGE_REQUEST + id: CHM-1234 + relationships: + change_request_decisions: + data: [] + created_by: + data: + id: 00000000-0000-0000-0000-000000000001 + type: user + modified_by: + data: + id: 00000000-0000-0000-0000-000000000001 + type: user + type: change_request schema: - $ref: '#/components/schemas/TeamRoutingRules' + $ref: '#/components/schemas/ChangeRequestResponse' description: OK + '400': + content: + application/json: + schema: + $ref: '#/components/schemas/JSONAPIErrorResponse' + description: Bad Request + '404': + content: + application/json: + schema: + $ref: '#/components/schemas/JSONAPIErrorResponse' + description: Not Found '429': $ref: '#/components/responses/TooManyRequestsResponse' security: - apiKeyAuth: [] appKeyAuth: [] - - AuthZ: [] - summary: Get On-Call team routing rules + - AuthZ: + - cases_read + summary: Get a change request tags: - - On-Call - x-permission: - operator: AND - permissions: - - on_call_read - put: - description: Set a team's On-Call routing rules - operationId: SetOnCallTeamRoutingRules + - Change Management + x-unstable: |- + **Note**: This endpoint is in preview and is subject to change. + If you have any feedback, contact [Datadog support](https://docs.datadoghq.com/help/). + patch: + description: Update the properties of a change request. + operationId: UpdateChangeRequest parameters: - - description: The team ID - in: path - name: team_id - required: true - schema: - example: 27590dae-47be-4a7d-9abf-8f4e45124020 - type: string - - description: >- - Comma-separated list of included relationships to be returned. - Allowed values: `rules`, `rules.policy`. - in: query - name: include - schema: - type: string + - $ref: '#/components/parameters/ChangeRequestIDPathParameter' requestBody: content: application/json: + examples: + default: + value: + data: + attributes: + change_request_plan: Updated deployment plan + change_request_risk: LOW + change_request_type: NORMAL + end_date: '2024-01-02T15:00:00Z' + id: CHM-1234 + start_date: '2024-01-01T03:00:00Z' + relationships: + change_request_decisions: + data: + - id: decision-id-0 + type: change_request + included: + - attributes: + change_request_status: REQUESTED + request_reason: Please review and approve this change + id: decision-id-0 + type: change_request_decision schema: - $ref: '#/components/schemas/TeamRoutingRulesRequest' + $ref: '#/components/schemas/ChangeRequestUpdateRequest' + description: Change request update payload. required: true responses: '200': content: application/json: + examples: + default: + value: + data: + attributes: + attributes: {} + change_request_linked_incident_uuid: '' + change_request_maintenance_window_query: '' + change_request_plan: '' + change_request_risk: LOW + change_request_type: NORMAL + created_at: '2024-01-01T00:00:00+00:00' + creation_source: CS_MANUAL + description: Deploying new payment service v2.1 + end_date: '2024-01-02T00:00:00+00:00' + key: CHM-1234 + modified_at: '2024-01-01T00:00:00+00:00' + plan_notebook_id: 0 + priority: NOT_DEFINED + project_id: 00000000-0000-0000-0000-000000000001 + start_date: '2024-01-01T00:00:00+00:00' + status: OPEN + title: Deploy new payment service + type: CHANGE_REQUEST + id: CHM-1234 + relationships: + change_request_decisions: + data: [] + created_by: + data: + id: 00000000-0000-0000-0000-000000000001 + type: user + modified_by: + data: + id: 00000000-0000-0000-0000-000000000001 + type: user + type: change_request schema: - $ref: '#/components/schemas/TeamRoutingRules' + $ref: '#/components/schemas/ChangeRequestResponse' description: OK - '429': - $ref: '#/components/responses/TooManyRequestsResponse' - security: - - apiKeyAuth: [] - appKeyAuth: [] - - AuthZ: [] - summary: Set On-Call team routing rules - tags: - - On-Call - x-permission: - operator: AND - permissions: - - on_call_write - /api/v2/services: - get: - deprecated: true - description: >- - Get all incident services uploaded for the requesting user's - organization. If the `include[users]` query parameter is provided, the - included attribute will contain the users related to these incident - services. - operationId: ListIncidentServices - parameters: - - $ref: '#/components/parameters/IncidentServiceIncludeQueryParameter' - - $ref: '#/components/parameters/PageSize' - - $ref: '#/components/parameters/PageOffset' - - $ref: '#/components/parameters/IncidentServiceSearchQueryParameter' - responses: - '200': + '400': content: application/json: schema: - $ref: '#/components/schemas/IncidentServicesResponse' - description: OK - '400': - $ref: '#/components/responses/BadRequestResponse' - '401': - $ref: '#/components/responses/UnauthorizedResponse' + $ref: '#/components/schemas/JSONAPIErrorResponse' + description: Bad Request '403': - $ref: '#/components/responses/ForbiddenResponse' + content: + application/json: + schema: + $ref: '#/components/schemas/JSONAPIErrorResponse' + description: Forbidden '404': - $ref: '#/components/responses/NotFoundResponse' + content: + application/json: + schema: + $ref: '#/components/schemas/JSONAPIErrorResponse' + description: Not Found '429': $ref: '#/components/responses/TooManyRequestsResponse' security: - apiKeyAuth: [] appKeyAuth: [] - AuthZ: - - incident_read - summary: Get a list of all incident services + - cases_write + summary: Update a change request tags: - - Incident Services - x-permission: - operator: OR - permissions: - - incident_read - x-unstable: '**Note**: This endpoint is deprecated.' + - Change Management + x-unstable: |- + **Note**: This endpoint is in preview and is subject to change. + If you have any feedback, contact [Datadog support](https://docs.datadoghq.com/help/). + /api/v2/change-management/change-request/{change_request_id}/branch: post: - deprecated: true - description: Creates a new incident service. - operationId: CreateIncidentService + description: Create a new branch in a repository for a change request. + operationId: CreateChangeRequestBranch + parameters: + - $ref: '#/components/parameters/ChangeRequestIDPathParameter' requestBody: content: application/json: + examples: + default: + value: + data: + attributes: + branch_name: chm/CHM-1234 + repo_id: DataDog/test-repo + type: change_request_branch schema: - $ref: '#/components/schemas/IncidentServiceCreateRequest' - description: Incident Service Payload. + $ref: '#/components/schemas/ChangeRequestBranchCreateRequest' + description: Branch creation payload. required: true responses: - '201': + '200': content: application/json: + examples: + default: + value: + data: + attributes: + attributes: {} + change_request_linked_incident_uuid: '' + change_request_maintenance_window_query: '' + change_request_plan: '' + change_request_risk: LOW + change_request_type: NORMAL + created_at: '2024-01-01T00:00:00+00:00' + creation_source: CS_MANUAL + description: Deploying new payment service v2.1 + end_date: '2024-01-02T00:00:00+00:00' + key: CHM-1234 + modified_at: '2024-01-01T00:00:00+00:00' + plan_notebook_id: 0 + priority: NOT_DEFINED + project_id: 00000000-0000-0000-0000-000000000001 + start_date: '2024-01-01T00:00:00+00:00' + status: OPEN + title: Deploy new payment service + type: CHANGE_REQUEST + id: CHM-1234 + relationships: + change_request_decisions: + data: [] + created_by: + data: + id: 00000000-0000-0000-0000-000000000001 + type: user + modified_by: + data: + id: 00000000-0000-0000-0000-000000000001 + type: user + type: change_request schema: - $ref: '#/components/schemas/IncidentServiceResponse' - description: CREATED + $ref: '#/components/schemas/ChangeRequestResponse' + description: OK '400': - $ref: '#/components/responses/BadRequestResponse' - '401': - $ref: '#/components/responses/UnauthorizedResponse' - '403': - $ref: '#/components/responses/ForbiddenResponse' + content: + application/json: + schema: + $ref: '#/components/schemas/JSONAPIErrorResponse' + description: Bad Request '404': - $ref: '#/components/responses/NotFoundResponse' + content: + application/json: + schema: + $ref: '#/components/schemas/JSONAPIErrorResponse' + description: Not Found '429': $ref: '#/components/responses/TooManyRequestsResponse' security: - apiKeyAuth: [] appKeyAuth: [] - AuthZ: - - incident_settings_write - summary: Create a new incident service + - cases_write + summary: Create a change request branch tags: - - Incident Services - x-codegen-request-body-name: body - x-permission: - operator: OR - permissions: - - incident_settings_write - x-unstable: '**Note**: This endpoint is deprecated.' - /api/v2/services/definitions: - get: - description: Get a list of all service definitions from the Datadog Service Catalog. - operationId: ListServiceDefinitions + - Change Management + x-unstable: |- + **Note**: This endpoint is in preview and is subject to change. + If you have any feedback, contact [Datadog support](https://docs.datadoghq.com/help/). + /api/v2/change-management/change-request/{change_request_id}/decisions/{decision_id}: + delete: + description: Delete a decision from a change request. + operationId: DeleteChangeRequestDecision parameters: - - $ref: '#/components/parameters/PageSize' - - $ref: '#/components/parameters/PageNumber' - - $ref: '#/components/parameters/SchemaVersion' + - $ref: '#/components/parameters/ChangeRequestIDPathParameter' + - $ref: '#/components/parameters/ChangeRequestDecisionIDPathParameter' responses: '200': content: application/json: + examples: + default: + value: + data: + attributes: + attributes: {} + change_request_linked_incident_uuid: '' + change_request_maintenance_window_query: '' + change_request_plan: '' + change_request_risk: LOW + change_request_type: NORMAL + created_at: '2024-01-01T00:00:00+00:00' + creation_source: CS_MANUAL + description: Deploying new payment service v2.1 + end_date: '2024-01-02T00:00:00+00:00' + key: CHM-1234 + modified_at: '2024-01-01T00:00:00+00:00' + plan_notebook_id: 0 + priority: NOT_DEFINED + project_id: 00000000-0000-0000-0000-000000000001 + start_date: '2024-01-01T00:00:00+00:00' + status: OPEN + title: Deploy new payment service + type: CHANGE_REQUEST + id: CHM-1234 + relationships: + change_request_decisions: + data: [] + created_by: + data: + id: 00000000-0000-0000-0000-000000000001 + type: user + modified_by: + data: + id: 00000000-0000-0000-0000-000000000001 + type: user + type: change_request schema: - $ref: '#/components/schemas/ServiceDefinitionsListResponse' + $ref: '#/components/schemas/ChangeRequestResponse' description: OK - '403': - $ref: '#/components/responses/ForbiddenResponse' + '400': + content: + application/json: + schema: + $ref: '#/components/schemas/JSONAPIErrorResponse' + description: Bad Request + '404': + content: + application/json: + schema: + $ref: '#/components/schemas/JSONAPIErrorResponse' + description: Not Found '429': $ref: '#/components/responses/TooManyRequestsResponse' security: - apiKeyAuth: [] appKeyAuth: [] - AuthZ: - - apm_service_catalog_read - summary: Get all service definitions + - cases_write + summary: Delete a change request decision tags: - - Service Definition - x-pagination: - limitParam: page[size] - pageParam: page[number] - resultsPath: data - x-permission: - operator: OR - permissions: - - apm_service_catalog_read - post: - description: Create or update service definition in the Datadog Service Catalog. - operationId: CreateOrUpdateServiceDefinitions + - Change Management + x-unstable: |- + **Note**: This endpoint is in preview and is subject to change. + If you have any feedback, contact [Datadog support](https://docs.datadoghq.com/help/). + patch: + description: Update a decision on a change request, such as approving or declining it. + operationId: UpdateChangeRequestDecision + parameters: + - $ref: '#/components/parameters/ChangeRequestIDPathParameter' + - $ref: '#/components/parameters/ChangeRequestDecisionIDPathParameter' requestBody: content: application/json: + examples: + default: + value: + data: + attributes: + id: CHM-1234 + relationships: + change_request_decisions: + data: + - id: decision-id-0 + type: change_request + included: + - attributes: + change_request_status: REQUESTED + request_reason: Please review and approve this change + id: decision-id-0 + type: change_request_decision schema: - $ref: '#/components/schemas/ServiceDefinitionsCreateRequest' - description: Service Definition YAML/JSON. + $ref: '#/components/schemas/ChangeRequestDecisionUpdateRequest' + description: Decision update payload. required: true responses: '200': content: application/json: + examples: + default: + value: + data: + attributes: + attributes: {} + change_request_linked_incident_uuid: '' + change_request_maintenance_window_query: '' + change_request_plan: '' + change_request_risk: LOW + change_request_type: NORMAL + created_at: '2024-01-01T00:00:00+00:00' + creation_source: CS_MANUAL + description: Deploying new payment service v2.1 + end_date: '2024-01-02T00:00:00+00:00' + key: CHM-1234 + modified_at: '2024-01-01T00:00:00+00:00' + plan_notebook_id: 0 + priority: NOT_DEFINED + project_id: 00000000-0000-0000-0000-000000000001 + start_date: '2024-01-01T00:00:00+00:00' + status: OPEN + title: Deploy new payment service + type: CHANGE_REQUEST + id: CHM-1234 + relationships: + change_request_decisions: + data: [] + created_by: + data: + id: 00000000-0000-0000-0000-000000000001 + type: user + modified_by: + data: + id: 00000000-0000-0000-0000-000000000001 + type: user + type: change_request schema: - $ref: '#/components/schemas/ServiceDefinitionCreateResponse' - description: CREATED + $ref: '#/components/schemas/ChangeRequestResponse' + description: OK '400': - $ref: '#/components/responses/BadRequestResponse' - '403': - $ref: '#/components/responses/ForbiddenResponse' - '409': - $ref: '#/components/responses/ConflictResponse' + content: + application/json: + schema: + $ref: '#/components/schemas/JSONAPIErrorResponse' + description: Bad Request + '404': + content: + application/json: + schema: + $ref: '#/components/schemas/JSONAPIErrorResponse' + description: Not Found '429': $ref: '#/components/responses/TooManyRequestsResponse' security: - apiKeyAuth: [] appKeyAuth: [] - AuthZ: - - apm_service_catalog_write - summary: Create or update service definition + - cases_write + summary: Update a change request decision tags: - - Service Definition - x-codegen-request-body-name: body - x-permission: - operator: OR - permissions: - - apm_service_catalog_write - /api/v2/services/definitions/{service_name}: - delete: - description: Delete a single service definition in the Datadog Service Catalog. - operationId: DeleteServiceDefinition + - Change Management + x-unstable: |- + **Note**: This endpoint is in preview and is subject to change. + If you have any feedback, contact [Datadog support](https://docs.datadoghq.com/help/). + /api/v2/downtime: + get: + description: Get all scheduled downtimes. + operationId: ListDowntimes parameters: - - $ref: '#/components/parameters/ServiceName' + - description: Only return downtimes that are active when the request is made. + in: query + name: current_only + required: false + schema: + type: boolean + - description: |- + Comma-separated list of resource paths for related resources to include in the response. Supported resource + paths are `created_by` and `monitor`. + in: query + name: include + required: false + schema: + example: created_by,monitor + type: string + - $ref: '#/components/parameters/PageOffset' + - description: Maximum number of downtimes in the response. + example: 100 + in: query + name: page[limit] + required: false + schema: + default: 30 + format: int64 + type: integer responses: - '204': + '200': + content: + application/json: + examples: + default: + value: + data: + - attributes: + created: '2024-01-01T00:00:00+00:00' + display_timezone: America/New_York + message: Message about the downtime + modified: '2024-01-01T00:00:00+00:00' + monitor_identifier: + monitor_tags: + - '*' + mute_first_recovery_notification: false + notify_end_states: + - alert + - warn + notify_end_types: + - canceled + - expired + scope: env:(staging OR prod) AND datacenter:us-east-1 + status: active + id: 00000000-0000-1234-0000-000000000000 + type: downtime + meta: + page: + total_filtered_count: 1 + schema: + $ref: '#/components/schemas/ListDowntimesResponse' description: OK - '400': - $ref: '#/components/responses/BadRequestResponse' '403': - $ref: '#/components/responses/ForbiddenResponse' - '404': - $ref: '#/components/responses/NotFoundResponse' + content: + application/json: + schema: + $ref: '#/components/schemas/APIErrorResponse' + description: Forbidden '429': $ref: '#/components/responses/TooManyRequestsResponse' security: - apiKeyAuth: [] appKeyAuth: [] - AuthZ: - - apm_service_catalog_write - summary: Delete a single service definition + - monitors_downtime + summary: Get all downtimes tags: - - Service Definition + - Downtimes + x-pagination: + limitParam: page[limit] + pageOffsetParam: page[offset] + resultsPath: data x-permission: operator: OR permissions: - - apm_service_catalog_write - get: - description: Get a single service definition from the Datadog Service Catalog. - operationId: GetServiceDefinition - parameters: - - $ref: '#/components/parameters/ServiceName' - - $ref: '#/components/parameters/SchemaVersion' + - monitors_downtime + post: + description: Schedule a downtime. + operationId: CreateDowntime + requestBody: + content: + application/json: + examples: + default: + value: + data: + attributes: + display_timezone: America/New_York + message: Message about the downtime + monitor_identifier: + monitor_id: 123 + mute_first_recovery_notification: false + notify_end_states: + - alert + - warn + notify_end_types: + - canceled + - expired + schedule: + timezone: America/New_York + scope: env:(staging OR prod) AND datacenter:us-east-1 + type: downtime + schema: + $ref: '#/components/schemas/DowntimeCreateRequest' + description: Schedule a downtime request body. + required: true responses: '200': content: application/json: + examples: + default: + value: + data: + attributes: + created: '2024-01-01T00:00:00+00:00' + display_timezone: America/New_York + message: Message about the downtime + modified: '2024-01-01T00:00:00+00:00' + monitor_identifier: + monitor_tags: + - '*' + mute_first_recovery_notification: false + notify_end_states: + - alert + - warn + notify_end_types: + - canceled + - expired + scope: env:(staging OR prod) AND datacenter:us-east-1 + status: active + id: 00000000-0000-1234-0000-000000000000 + type: downtime schema: - $ref: '#/components/schemas/ServiceDefinitionGetResponse' + $ref: '#/components/schemas/DowntimeResponse' description: OK '400': - $ref: '#/components/responses/BadRequestResponse' + content: + application/json: + schema: + $ref: '#/components/schemas/APIErrorResponse' + description: Bad Request '403': - $ref: '#/components/responses/ForbiddenResponse' - '404': - $ref: '#/components/responses/NotFoundResponse' - '409': - $ref: '#/components/responses/ConflictResponse' + content: + application/json: + schema: + $ref: '#/components/schemas/APIErrorResponse' + description: Forbidden '429': $ref: '#/components/responses/TooManyRequestsResponse' security: - apiKeyAuth: [] appKeyAuth: [] - AuthZ: - - apm_service_catalog_read - summary: Get a single service definition + - monitors_downtime + summary: Schedule a downtime tags: - - Service Definition + - Downtimes + x-codegen-request-body-name: body x-permission: operator: OR permissions: - - apm_service_catalog_read - /api/v2/services/{service_id}: + - monitors_downtime + /api/v2/downtime/{downtime_id}: delete: - deprecated: true - description: Deletes an existing incident service. - operationId: DeleteIncidentService + description: |- + Cancel a downtime. + + **Note**: Downtimes canceled through the API are no longer active, but are retained for approximately two days before being permanently removed. The downtime may still appear in search results until it is permanently removed. + operationId: CancelDowntime parameters: - - $ref: '#/components/parameters/IncidentServiceIDPathParameter' + - description: ID of the downtime to cancel. + in: path + name: downtime_id + required: true + schema: + example: 00000000-0000-1234-0000-000000000000 + type: string responses: '204': description: OK - '400': - $ref: '#/components/responses/BadRequestResponse' - '401': - $ref: '#/components/responses/UnauthorizedResponse' '403': - $ref: '#/components/responses/ForbiddenResponse' + content: + application/json: + schema: + $ref: '#/components/schemas/APIErrorResponse' + description: Forbidden '404': - $ref: '#/components/responses/NotFoundResponse' + content: + application/json: + schema: + $ref: '#/components/schemas/APIErrorResponse' + description: Downtime not found '429': $ref: '#/components/responses/TooManyRequestsResponse' security: - apiKeyAuth: [] appKeyAuth: [] - AuthZ: - - incident_settings_write - summary: Delete an existing incident service + - monitors_downtime + summary: Cancel a downtime tags: - - Incident Services + - Downtimes x-permission: operator: OR permissions: - - incident_settings_write - x-unstable: '**Note**: This endpoint is deprecated.' + - monitors_downtime get: - deprecated: true - description: >- - Get details of an incident service. If the `include[users]` query - parameter is provided, - - the included attribute will contain the users related to these incident - services. - operationId: GetIncidentService + description: Get downtime detail by `downtime_id`. + operationId: GetDowntime parameters: - - $ref: '#/components/parameters/IncidentServiceIDPathParameter' - - $ref: '#/components/parameters/IncidentServiceIncludeQueryParameter' + - description: ID of the downtime to fetch. + in: path + name: downtime_id + required: true + schema: + example: 00000000-0000-1234-0000-000000000000 + type: string + - description: |- + Comma-separated list of resource paths for related resources to include in the response. Supported resource + paths are `created_by` and `monitor`. + in: query + name: include + required: false + schema: + example: created_by,monitor + type: string responses: '200': content: application/json: + examples: + default: + value: + data: + attributes: + created: '2024-01-01T00:00:00+00:00' + display_timezone: America/New_York + message: Message about the downtime + modified: '2024-01-01T00:00:00+00:00' + monitor_identifier: + monitor_tags: + - '*' + mute_first_recovery_notification: false + notify_end_states: + - alert + - warn + notify_end_types: + - canceled + - expired + scope: env:(staging OR prod) AND datacenter:us-east-1 + status: active + id: 00000000-0000-1234-0000-000000000000 + type: downtime schema: - $ref: '#/components/schemas/IncidentServiceResponse' + $ref: '#/components/schemas/DowntimeResponse' description: OK '400': - $ref: '#/components/responses/BadRequestResponse' - '401': - $ref: '#/components/responses/UnauthorizedResponse' + content: + application/json: + schema: + $ref: '#/components/schemas/APIErrorResponse' + description: Bad Request '403': - $ref: '#/components/responses/ForbiddenResponse' + content: + application/json: + schema: + $ref: '#/components/schemas/APIErrorResponse' + description: Forbidden '404': - $ref: '#/components/responses/NotFoundResponse' + content: + application/json: + schema: + $ref: '#/components/schemas/APIErrorResponse' + description: Not Found '429': $ref: '#/components/responses/TooManyRequestsResponse' security: - apiKeyAuth: [] appKeyAuth: [] - AuthZ: - - incident_read - summary: Get details of an incident service + - monitors_downtime + summary: Get a downtime tags: - - Incident Services + - Downtimes x-permission: operator: OR permissions: - - incident_read - x-unstable: '**Note**: This endpoint is deprecated.' + - monitors_downtime patch: - deprecated: true - description: >- - Updates an existing incident service. Only provide the attributes which - should be updated as this request is a partial update. - operationId: UpdateIncidentService + description: Update a downtime by `downtime_id`. + operationId: UpdateDowntime parameters: - - $ref: '#/components/parameters/IncidentServiceIDPathParameter' + - description: ID of the downtime to update. + in: path + name: downtime_id + required: true + schema: + example: 00e000000-0000-1234-0000-000000000000 + type: string requestBody: content: application/json: + examples: + default: + value: + data: + attributes: + display_timezone: America/New_York + message: Message about the downtime + monitor_identifier: + monitor_id: 123 + mute_first_recovery_notification: false + notify_end_states: + - alert + - warn + notify_end_types: + - canceled + - expired + schedule: + timezone: America/New_York + scope: env:(staging OR prod) AND datacenter:us-east-1 + id: 00000000-0000-1234-0000-000000000000 + type: downtime schema: - $ref: '#/components/schemas/IncidentServiceUpdateRequest' - description: Incident Service Payload. + $ref: '#/components/schemas/DowntimeUpdateRequest' + description: Update a downtime request body. required: true responses: '200': content: application/json: + examples: + default: + value: + data: + attributes: + created: '2024-01-01T00:00:00+00:00' + display_timezone: America/New_York + message: Message about the downtime + modified: '2024-01-01T00:00:00+00:00' + monitor_identifier: + monitor_tags: + - '*' + mute_first_recovery_notification: false + notify_end_states: + - alert + - warn + notify_end_types: + - canceled + - expired + scope: env:(staging OR prod) AND datacenter:us-east-1 + status: active + id: 00000000-0000-1234-0000-000000000000 + type: downtime schema: - $ref: '#/components/schemas/IncidentServiceResponse' + $ref: '#/components/schemas/DowntimeResponse' description: OK '400': - $ref: '#/components/responses/BadRequestResponse' - '401': - $ref: '#/components/responses/UnauthorizedResponse' + content: + application/json: + schema: + $ref: '#/components/schemas/APIErrorResponse' + description: Bad Request '403': - $ref: '#/components/responses/ForbiddenResponse' + content: + application/json: + schema: + $ref: '#/components/schemas/APIErrorResponse' + description: Forbidden '404': - $ref: '#/components/responses/NotFoundResponse' + content: + application/json: + schema: + $ref: '#/components/schemas/APIErrorResponse' + description: Downtime not found '429': $ref: '#/components/responses/TooManyRequestsResponse' security: - apiKeyAuth: [] appKeyAuth: [] - AuthZ: - - incident_settings_write - summary: Update an existing incident service + - monitors_downtime + summary: Update a downtime tags: - - Incident Services + - Downtimes x-codegen-request-body-name: body x-permission: operator: OR permissions: - - incident_settings_write - x-unstable: '**Note**: This endpoint is deprecated.' - /api/v2/slo/report: + - monitors_downtime + /api/v2/error-tracking/issues/search: post: - description: >- - Create a job to generate an SLO report. The report job is processed - asynchronously and eventually results in a CSV report being available - for download. - - - Check the status of the job and download the CSV report using the - returned `report_id`. - operationId: CreateSLOReportJob + description: Search issues endpoint allows you to programmatically search for issues within your organization. This endpoint returns a list of issues that match a given search query, following the event search syntax. The search results are limited to a maximum of 100 issues per request. + operationId: SearchIssues + parameters: + - $ref: '#/components/parameters/SearchIssuesIncludeQueryParameter' requestBody: content: application/json: + examples: + default: + value: + data: + attributes: + from: 1671612804000 + order_by: IMPACTED_SESSIONS + persona: BACKEND + query: service:orders-* AND @language:go + to: 1671620004000 + type: search_request schema: - $ref: '#/components/schemas/SloReportCreateRequest' - description: Create SLO report job request body. + $ref: '#/components/schemas/IssuesSearchRequest' + description: Search issues request payload. required: true responses: '200': content: application/json: + examples: + default: + value: + data: + - attributes: + impacted_sessions: 12 + impacted_users: 4 + total_count: 82 + id: abc-123 + type: error_tracking_search_result schema: - $ref: '#/components/schemas/SLOReportPostResponse' - description: OK - '400': - content: - application/json: - schema: - $ref: '#/components/schemas/APIErrorResponse' - description: Bad Request - '403': - content: - application/json: - schema: - $ref: '#/components/schemas/APIErrorResponse' - description: Forbidden - '429': - $ref: '#/components/responses/TooManyRequestsResponse' - security: - - apiKeyAuth: [] - appKeyAuth: [] - - AuthZ: - - slos_read - summary: Create a new SLO report - tags: - - Service Level Objectives - x-codegen-request-body-name: body - x-permission: - operator: OR - permissions: - - slos_read - x-unstable: >- - **Note**: This feature is in private beta. To request access, use the - request access form in the [Service Level - Objectives](https://docs.datadoghq.com/service_management/service_level_objectives/#slo-csv-export) - docs. - /api/v2/slo/report/{report_id}/download: - get: - description: >- - Download an SLO report. This can only be performed after the report job - has completed. - - - Reports are not guaranteed to exist indefinitely. Datadog recommends - that you download the report as soon as it is available. - operationId: GetSLOReport - parameters: - - $ref: '#/components/parameters/ReportID' - responses: - '200': - content: - text/csv: - schema: - type: string + $ref: '#/components/schemas/IssuesSearchResponse' description: OK '400': - content: - application/json: - schema: - $ref: '#/components/schemas/APIErrorResponse' - description: Bad Request + $ref: '#/components/responses/BadRequestResponse' + '401': + $ref: '#/components/responses/UnauthorizedResponse' '403': - content: - application/json: - schema: - $ref: '#/components/schemas/APIErrorResponse' - description: Forbidden - '404': - content: - application/json: - schema: - $ref: '#/components/schemas/APIErrorResponse' - description: Not Found + $ref: '#/components/responses/ForbiddenResponse' '429': $ref: '#/components/responses/TooManyRequestsResponse' security: - apiKeyAuth: [] appKeyAuth: [] - AuthZ: - - slos_read - summary: Get SLO report + - error_tracking_read + summary: Search error tracking issues tags: - - Service Level Objectives - x-unstable: >- - **Note**: This feature is in private beta. To request access, use the - request access form in the [Service Level - Objectives](https://docs.datadoghq.com/service_management/service_level_objectives/#slo-csv-export) - docs. - /api/v2/slo/report/{report_id}/status: + - Error Tracking + /api/v2/error-tracking/issues/{issue_id}: get: - description: Get the status of the SLO report job. - operationId: GetSLOReportJobStatus + description: Retrieve the full details for a specific error tracking issue, including attributes and relationships. + operationId: GetIssue parameters: - - $ref: '#/components/parameters/ReportID' + - $ref: '#/components/parameters/IssueIDPathParameter' + - $ref: '#/components/parameters/GetIssueIncludeQueryParameter' responses: '200': content: application/json: + examples: + default: + value: + data: + attributes: + error_message: object of type 'NoneType' has no len() + error_type: builtins.TypeError + service: test-service + state: OPEN + id: 00000000-0000-0000-0000-000000000001 + type: issue schema: - $ref: '#/components/schemas/SLOReportStatusGetResponse' + $ref: '#/components/schemas/IssueResponse' description: OK '400': - content: - application/json: - schema: - $ref: '#/components/schemas/APIErrorResponse' - description: Bad Request + $ref: '#/components/responses/BadRequestResponse' + '401': + $ref: '#/components/responses/UnauthorizedResponse' '403': - content: - application/json: - schema: - $ref: '#/components/schemas/APIErrorResponse' - description: Forbidden + $ref: '#/components/responses/ForbiddenResponse' '404': - content: - application/json: - schema: - $ref: '#/components/schemas/APIErrorResponse' - description: Not Found + $ref: '#/components/responses/NotFoundResponse' '429': $ref: '#/components/responses/TooManyRequestsResponse' security: - apiKeyAuth: [] appKeyAuth: [] - AuthZ: - - slos_read - summary: Get SLO report status + - error_tracking_read + summary: Get the details of an error tracking issue tags: - - Service Level Objectives - x-unstable: >- - **Note**: This feature is in private beta. To request access, use the - request access form in the [Service Level - Objectives](https://docs.datadoghq.com/service_management/service_level_objectives/#slo-csv-export) - docs. - /api/v2/teams: - get: - deprecated: true - description: >- - Get all incident teams for the requesting user's organization. If the - `include[users]` query parameter is provided, the included attribute - will contain the users related to these incident teams. - operationId: ListIncidentTeams + - Error Tracking + /api/v2/error-tracking/issues/{issue_id}/assignee: + delete: + description: Remove the assignee of an issue by `issue_id`. + operationId: DeleteIssueAssignee parameters: - - $ref: '#/components/parameters/IncidentTeamIncludeQueryParameter' - - $ref: '#/components/parameters/PageSize' - - $ref: '#/components/parameters/PageOffset' - - $ref: '#/components/parameters/IncidentTeamSearchQueryParameter' + - $ref: '#/components/parameters/IssueIDPathParameter' responses: - '200': - content: - application/json: - schema: - $ref: '#/components/schemas/IncidentTeamsResponse' - description: OK + '204': + description: No Content '400': $ref: '#/components/responses/BadRequestResponse' '401': @@ -3918,35 +4930,49 @@ paths: - apiKeyAuth: [] appKeyAuth: [] - AuthZ: - - incident_read - summary: Get a list of all incident teams + - error_tracking_read + - error_tracking_write + - cases_read + - cases_write + summary: Remove the assignee of an issue tags: - - Incident Teams - x-permission: - operator: OR - permissions: - - incident_read - x-unstable: >- - **Note**: This endpoint is deprecated. See the [Teams API - endpoints](https://docs.datadoghq.com/api/latest/teams/). - post: - deprecated: true - description: Creates a new incident team. - operationId: CreateIncidentTeam + - Error Tracking + put: + description: Update the assignee of an issue by `issue_id`. + operationId: UpdateIssueAssignee + parameters: + - $ref: '#/components/parameters/IssueIDPathParameter' requestBody: content: application/json: + examples: + default: + value: + data: + id: 87cb11a0-278c-440a-99fe-701223c80296 + type: assignee schema: - $ref: '#/components/schemas/IncidentTeamCreateRequest' - description: Incident Team Payload. + $ref: '#/components/schemas/IssueUpdateAssigneeRequest' + description: Update issue assignee request payload. required: true responses: - '201': + '200': content: application/json: + examples: + default: + value: + data: + attributes: + error_message: object of type 'NoneType' has no len() + error_type: builtins.TypeError + service: test-service + state: OPEN + id: 00000000-0000-0000-0000-000000000003 + type: issue schema: - $ref: '#/components/schemas/IncidentTeamResponse' - description: CREATED + $ref: '#/components/schemas/IssueResponse' + description: OK '400': $ref: '#/components/responses/BadRequestResponse' '401': @@ -3961,27 +4987,51 @@ paths: - apiKeyAuth: [] appKeyAuth: [] - AuthZ: - - incident_settings_write - summary: Create a new incident team + - error_tracking_read + - error_tracking_write + - cases_read + - cases_write + summary: Update the assignee of an issue tags: - - Incident Teams - x-codegen-request-body-name: body - x-permission: - operator: OR - permissions: - - incident_settings_write - x-unstable: >- - **Note**: This endpoint is deprecated. See the [Teams API - endpoints](https://docs.datadoghq.com/api/latest/teams/). - /api/v2/teams/{team_id}: - delete: - deprecated: true - description: Deletes an existing incident team. - operationId: DeleteIncidentTeam + - Error Tracking + /api/v2/error-tracking/issues/{issue_id}/state: + put: + description: Update the state of an issue by `issue_id`. Use this endpoint to move an issue between states such as `OPEN`, `RESOLVED`, or `IGNORED`. + operationId: UpdateIssueState parameters: - - $ref: '#/components/parameters/IncidentTeamIDPathParameter' + - $ref: '#/components/parameters/IssueIDPathParameter' + requestBody: + content: + application/json: + examples: + default: + value: + data: + attributes: + state: RESOLVED + id: c1726a66-1f64-11ee-b338-da7ad0900002 + type: error_tracking_issue + schema: + $ref: '#/components/schemas/IssueUpdateStateRequest' + description: Update issue state request payload. + required: true responses: - '204': + '200': + content: + application/json: + examples: + default: + value: + data: + attributes: + error_message: object of type 'NoneType' has no len() + error_type: builtins.TypeError + service: test-service + state: RESOLVED + id: 00000000-0000-0000-0000-000000000002 + type: issue + schema: + $ref: '#/components/schemas/IssueResponse' description: OK '400': $ref: '#/components/responses/BadRequestResponse' @@ -3997,82 +5047,383 @@ paths: - apiKeyAuth: [] appKeyAuth: [] - AuthZ: - - incident_settings_write - summary: Delete an existing incident team + - error_tracking_read + - error_tracking_write + summary: Update the state of an issue tags: - - Incident Teams - x-permission: - operator: OR - permissions: - - incident_settings_write - x-unstable: >- - **Note**: This endpoint is deprecated. See the [Teams API - endpoints](https://docs.datadoghq.com/api/latest/teams/). + - Error Tracking + /api/v2/events: get: - deprecated: true - description: >- - Get details of an incident team. If the `include[users]` query parameter - is provided, + description: |- + List endpoint returns events that match an events search query. + [Results are paginated similarly to logs](https://docs.datadoghq.com/logs/guide/collect-multiple-logs-with-pagination). - the included attribute will contain the users related to these incident - teams. - operationId: GetIncidentTeam + Use this endpoint to see your latest events. + operationId: ListEvents parameters: - - $ref: '#/components/parameters/IncidentTeamIDPathParameter' - - $ref: '#/components/parameters/IncidentTeamIncludeQueryParameter' + - description: Search query following events syntax. + in: query + name: filter[query] + required: false + schema: + type: string + - description: Minimum timestamp for requested events, in milliseconds. + in: query + name: filter[from] + required: false + schema: + type: string + - description: Maximum timestamp for requested events, in milliseconds. + in: query + name: filter[to] + required: false + schema: + type: string + - description: Order of events in results. + in: query + name: sort + required: false + schema: + $ref: '#/components/schemas/EventsSort' + - description: List following results with a cursor provided in the previous query. + example: eyJzdGFydEF0IjoiQVFBQUFYS2tMS3pPbm40NGV3QUFBQUJCV0V0clRFdDZVbG8zY3pCRmNsbHJiVmxDWlEifQ== + in: query + name: page[cursor] + required: false + schema: + type: string + - description: Maximum number of events in the response. + example: 25 + in: query + name: page[limit] + required: false + schema: + default: 10 + format: int32 + maximum: 1000 + type: integer responses: '200': content: application/json: + examples: + default: + value: + data: + - attributes: + message: Test event + tags: + - env:prod + timestamp: '2019-01-02T09:42:36.320Z' + id: AAAAAWgN8Xwgr1vKDQAAAABBV2dOOFh3ZzZobm1mWXJFYTR0OA + type: event + meta: + request_id: MWlFUjVaWGZTTTZPYzM0VXp1OXU2d3xLSVpEMjZKQ0VKUTI0dEYtM3RSOFVR schema: - $ref: '#/components/schemas/IncidentTeamResponse' + $ref: '#/components/schemas/EventsListResponse' description: OK '400': $ref: '#/components/responses/BadRequestResponse' - '401': - $ref: '#/components/responses/UnauthorizedResponse' '403': - $ref: '#/components/responses/ForbiddenResponse' - '404': - $ref: '#/components/responses/NotFoundResponse' + $ref: '#/components/responses/NotAuthorizedResponse' '429': $ref: '#/components/responses/TooManyRequestsResponse' security: - apiKeyAuth: [] appKeyAuth: [] - AuthZ: - - incident_read - summary: Get details of an incident team + - events_read + summary: Get a list of events tags: - - Incident Teams + - Events + x-pagination: + cursorParam: page[cursor] + cursorPath: meta.page.after + limitParam: page[limit] + resultsPath: data x-permission: operator: OR permissions: - - incident_read - x-unstable: >- - **Note**: This endpoint is deprecated. See the [Teams API - endpoints](https://docs.datadoghq.com/api/latest/teams/). - patch: - deprecated: true - description: >- - Updates an existing incident team. Only provide the attributes which - should be updated as this request is a partial update. - operationId: UpdateIncidentTeam - parameters: - - $ref: '#/components/parameters/IncidentTeamIDPathParameter' + - events_read + post: + description: |- + This endpoint allows you to publish events. + + **Note:** To utilize this endpoint with our client libraries, please ensure you are using the latest version released on or after July 1, 2025. Earlier versions do not support this functionality. + + **Important:** Upgrade to the latest client library version to use the updated endpoint at `https://event-management-intake.{site}/api/v2/events`. Older client library versions of the Post an event (v2) API send requests to a deprecated endpoint (`https://api.{site}/api/v2/events`). + + ✅ **Only events with the `change` or `alert` category** are in General Availability. For change events, see [Change Tracking](https://docs.datadoghq.com/change_tracking) for more details. + + ❌ For use cases involving other event categories, use the V1 endpoint or reach out to [support](https://www.datadoghq.com/support/). + operationId: CreateEvent requestBody: content: application/json: + examples: + alert-event: + description: Example of an alert event for tracking alerts and monitoring events. + summary: Alert Event + value: + data: + attributes: + aggregation_key: deduplication_key_here + attributes: + custom: + my-object-attribute: + my-array-attribute: + - 1 + - 2 + - 3 + my-array-object-attribute: + - name: test-object-1 + - name: test-object-2 + my-integer-attribute: 1 + my-string-attribute: my-custom-value + links: + - category: runbook + title: Datadog website + url: https://datadoghq.com + priority: '1' + status: error + category: alert + message: Something is broken! + tags: + - service:my-test-service + - datacenter:primary + title: My Alerting Event + type: event + change-event: + description: Example of a change event for tracking configuration or feature flag changes. + summary: Change Event + value: + data: + attributes: + aggregation_key: aggregation_key_123 + attributes: + author: + name: example@datadog.com + type: user + change_metadata: + dd: + team: datadog_team + user_email: datadog@datadog.com + user_id: datadog_user_id + user_name: datadog_username + resource_link: datadog.com/feature/fallback_payments_test + changed_resource: + name: fallback_payments_test + type: feature_flag + impacted_resources: + - name: payments_api + type: service + new_value: + enabled: true + percentage: 50% + rule: + datacenter: devcycle.us1.prod + prev_value: + enabled: true + percentage: 10% + rule: + datacenter: devcycle.us1.prod + category: change + host: hostname + integration_id: custom-events + message: payment_processed feature flag has been enabled + tags: + - env:api_client_test + timestamp: '2020-01-01T01:30:15.010000Z' + title: payment_processed feature flag updated + type: event + default: + value: + data: + attributes: + aggregation_key: aggregation_key_123 + attributes: + author: + name: example@datadog.com + type: user + change_metadata: + dd: + team: datadog_team + user_email: datadog@datadog.com + user_id: datadog_user_id + user_name: datadog_username + resource_link: datadog.com/feature/fallback_payments_test + changed_resource: + name: fallback_payments_test + type: feature_flag + impacted_resources: + - name: payments_api + type: service + new_value: + enabled: true + percentage: 50% + rule: + datacenter: devcycle.us1.prod + prev_value: + enabled: true + percentage: 10% + rule: + datacenter: devcycle.us1.prod + category: change + host: hostname + integration_id: custom-events + message: payment_processed feature flag has been enabled + tags: + - env:api_client_test + timestamp: '2020-01-01T01:30:15.010000Z' + title: payment_processed feature flag updated + type: event schema: - $ref: '#/components/schemas/IncidentTeamUpdateRequest' - description: Incident Team Payload. + $ref: '#/components/schemas/EventCreateRequestPayload' + description: Event creation request payload. required: true + responses: + '202': + content: + application/json: + examples: + default: + value: + data: + attributes: + attributes: + evt: + uid: abc-123 + type: event + schema: + $ref: '#/components/schemas/EventCreateResponsePayload' + description: OK + '400': + content: + application/json: + schema: + $ref: '#/components/schemas/JSONAPIErrorResponse' + description: Bad request + '403': + content: + application/json: + schema: + $ref: '#/components/schemas/JSONAPIErrorResponse' + description: Forbidden + '429': + $ref: '#/components/responses/TooManyRequestsResponse' + security: + - apiKeyAuth: [] + appKeyAuth: [] + summary: Post an event + tags: + - Events + x-codegen-request-body-name: body + servers: + - url: https://event-management-intake.{site:.+} + variables: + site: + default: datadoghq.com + description: The regional site for customers. + x-stackQL-envVar: DD_SITE + /api/v2/events/search: + post: + description: |- + List endpoint returns events that match an events search query. + [Results are paginated similarly to logs](https://docs.datadoghq.com/logs/guide/collect-multiple-logs-with-pagination). + + Use this endpoint to build complex events filtering and search. + operationId: SearchEvents + requestBody: + content: + application/json: + examples: + default: + value: + filter: + from: now-15m + query: service:web* AND @http.status_code:[200 TO 299] + to: now + options: + timezone: GMT + page: + cursor: eyJzdGFydEF0IjoiQVFBQUFYS2tMS3pPbm40NGV3QUFBQUJCV0V0clRFdDZVbG8zY3pCRmNsbHJiVmxDWlEifQ== + limit: 25 + sort: timestamp + schema: + $ref: '#/components/schemas/EventsListRequest' + required: false + responses: + '200': + content: + application/json: + examples: + default: + value: + data: + - attributes: + message: Test event + tags: + - env:prod + timestamp: '2019-01-02T09:42:36.320Z' + id: AAAAAWgN8Xwgr1vKDQAAAABBV2dOOFh3ZzZobm1mWXJFYTR0OA + type: event + meta: + request_id: MWlFUjVaWGZTTTZPYzM0VXp1OXU2d3xLSVpEMjZKQ0VKUTI0dEYtM3RSOFVR + schema: + $ref: '#/components/schemas/EventsListResponse' + description: OK + '400': + $ref: '#/components/responses/BadRequestResponse' + '403': + $ref: '#/components/responses/NotAuthorizedResponse' + '429': + $ref: '#/components/responses/TooManyRequestsResponse' + security: + - apiKeyAuth: [] + appKeyAuth: [] + - AuthZ: + - events_read + summary: Search events + tags: + - Events + x-codegen-request-body-name: body + x-pagination: + cursorParam: body.page.cursor + cursorPath: meta.page.after + limitParam: body.page.limit + resultsPath: data + x-permission: + operator: OR + permissions: + - events_read + /api/v2/events/{event_id}: + get: + description: Get the details of an event by `event_id`. + operationId: GetEvent + parameters: + - description: The UID of the event. + in: path + name: event_id + required: true + schema: + type: string responses: '200': content: application/json: + examples: + default: + value: + data: + attributes: + message: The event message + tags: + - env:api_client_test + timestamp: '2017-01-15T01:30:15.010000Z' + id: abc-123 + type: event schema: - $ref: '#/components/schemas/IncidentTeamResponse' + $ref: '#/components/schemas/V2EventResponse' description: OK '400': $ref: '#/components/responses/BadRequestResponse' @@ -4088,8787 +5439,35654 @@ paths: - apiKeyAuth: [] appKeyAuth: [] - AuthZ: - - incident_settings_write - summary: Update an existing incident team + - events_read + summary: Get an event tags: - - Incident Teams - x-codegen-request-body-name: body + - Events x-permission: operator: OR permissions: - - incident_settings_write - x-unstable: >- - **Note**: This endpoint is deprecated. See the [Teams API - endpoints](https://docs.datadoghq.com/api/latest/teams/). -components: - schemas: - CasesResponse: - description: Response with cases - properties: - data: - description: Cases response data - items: - $ref: '#/components/schemas/Case' - type: array - meta: - $ref: '#/components/schemas/CasesResponseMeta' - type: object - CaseCreateRequest: - description: Case create request - properties: - data: - $ref: '#/components/schemas/CaseCreate' - required: - - data - type: object - CaseResponse: - description: Case response - properties: - data: - $ref: '#/components/schemas/Case' - type: object - ProjectsResponse: - description: Response with projects - properties: - data: - description: Projects response data - items: - $ref: '#/components/schemas/Project' - type: array - type: object - ProjectCreateRequest: - description: Project create request - properties: - data: - $ref: '#/components/schemas/ProjectCreate' - required: - - data - type: object - ProjectResponse: - description: Project response - properties: - data: - $ref: '#/components/schemas/Project' - type: object - APIErrorResponse: - description: API error response. - properties: - errors: - description: A list of errors. - example: - - Bad Request - items: - description: A list of items. - example: Bad Request - type: string - type: array - required: - - errors - type: object - CaseEmptyRequest: - description: Case empty request - properties: - data: - $ref: '#/components/schemas/CaseEmpty' - required: - - data - type: object - CaseAssignRequest: - description: Case assign request - properties: - data: - $ref: '#/components/schemas/CaseAssign' - required: - - data - type: object - CaseUpdateAttributesRequest: - description: Case update attributes request - properties: - data: - $ref: '#/components/schemas/CaseUpdateAttributes' - required: - - data - type: object - CaseUpdatePriorityRequest: - description: Case update priority request - properties: - data: - $ref: '#/components/schemas/CaseUpdatePriority' - required: - - data - type: object - CaseUpdateStatusRequest: - description: Case update status request - properties: - data: - $ref: '#/components/schemas/CaseUpdateStatus' - required: - - data - type: object - ListDowntimesResponse: - description: Response for retrieving all downtimes. - properties: - data: - description: An array of downtimes. - items: - $ref: '#/components/schemas/DowntimeResponseData' - type: array - included: - description: Array of objects related to the downtimes. - items: - $ref: '#/components/schemas/DowntimeResponseIncludedItem' - type: array - meta: - $ref: '#/components/schemas/DowntimeMeta' - type: object - DowntimeCreateRequest: - description: Request for creating a downtime. - properties: - data: - $ref: '#/components/schemas/DowntimeCreateRequestData' - required: - - data - type: object - DowntimeResponse: - description: |- - Downtiming gives you greater control over monitor notifications by - allowing you to globally exclude scopes from alerting. - Downtime settings, which can be scheduled with start and end times, - prevent all alerting related to specified Datadog tags. - properties: - data: - $ref: '#/components/schemas/DowntimeResponseData' - included: - description: Array of objects related to the downtime that the user requested. - items: - $ref: '#/components/schemas/DowntimeResponseIncludedItem' - type: array - type: object - DowntimeUpdateRequest: - description: Request for editing a downtime. - properties: - data: - $ref: '#/components/schemas/DowntimeUpdateRequestData' - required: - - data - type: object - IssuesSearchRequest: - description: Search issues request payload. - properties: - data: - $ref: '#/components/schemas/IssuesSearchRequestData' - required: - - data - type: object - IssuesSearchResponse: - description: Search issues response payload. - properties: - data: - description: Array of results matching the search query. - items: - $ref: '#/components/schemas/IssuesSearchResult' - type: array - included: - description: Array of resources related to the search results. - items: - $ref: '#/components/schemas/IssuesSearchResultIncluded' - type: array - type: object - IssueResponse: - description: Response containing error tracking issue data. - properties: - data: - $ref: '#/components/schemas/Issue' - included: - description: Array of resources related to the issue. - items: - $ref: '#/components/schemas/IssueIncluded' - type: array - type: object - IssueUpdateAssigneeRequest: - description: Update issue assignee request payload. - properties: - data: - $ref: '#/components/schemas/IssueUpdateAssigneeRequestData' - required: - - data - type: object - IssueUpdateStateRequest: - description: Update issue state request payload. - properties: - data: - $ref: '#/components/schemas/IssueUpdateStateRequestData' - required: - - data - type: object - EventsSort: - description: The sort parameters when querying events. - enum: - - timestamp - - '-timestamp' - type: string - x-enum-varnames: - - TIMESTAMP_ASCENDING - - TIMESTAMP_DESCENDING - EventsListResponse: - description: >- - The response object with all events matching the request and pagination - information. - properties: - data: - description: An array of events matching the request. - items: - $ref: '#/components/schemas/EventResponse' - type: array - links: - $ref: '#/components/schemas/EventsListResponseLinks' - meta: - $ref: '#/components/schemas/EventsResponseMetadata' - type: object - EventCreateRequestPayload: - description: Payload for creating an event. - properties: - data: - $ref: '#/components/schemas/EventCreateRequest' - required: - - data - type: object - EventCreateResponsePayload: - description: Event creation response. - properties: - data: - $ref: '#/components/schemas/EventCreateResponse' - links: - $ref: '#/components/schemas/EventCreateResponsePayloadLinks' - type: object - JSONAPIErrorResponse: - description: API error response. - properties: - errors: - description: A list of errors. - items: - $ref: '#/components/schemas/JSONAPIErrorItem' - type: array - required: - - errors - type: object - EventsListRequest: - description: >- - The object sent with the request to retrieve a list of events from your - organization. - properties: - filter: - $ref: '#/components/schemas/EventsQueryFilter' - options: - $ref: '#/components/schemas/EventsQueryOptions' - page: - $ref: '#/components/schemas/EventsRequestPage' - sort: - $ref: '#/components/schemas/EventsSort' - type: object - V2EventResponse: - description: Get an event response. - properties: - data: - $ref: '#/components/schemas/V2Event' - type: object - IncidentsResponse: - description: Response with a list of incidents. - properties: - data: - description: An array of incidents. - example: - - attributes: - created: '2020-04-21T15:34:08.627205+00:00' - creation_idempotency_key: null - customer_impact_duration: 0 - customer_impact_end: null - customer_impact_scope: null - customer_impact_start: null - customer_impacted: false - detected: '2020-04-14T00:00:00+00:00' - incident_type_uuid: 00000000-0000-0000-0000-000000000001 - modified: '2020-09-17T14:16:58.696424+00:00' - public_id: 1 - resolved: null - severity: SEV-1 - time_to_detect: 0 - time_to_internal_response: 0 - time_to_repair: 0 - time_to_resolve: 0 - title: Example Incident - id: 00000000-aaaa-0000-0000-000000000000 - relationships: - attachments: + - events_read + /api/v2/forms: + get: + description: Get all forms for the authenticated user's organization. + operationId: ListForms + responses: + '200': + content: + application/json: + examples: + default: + value: + data: + - attributes: + active: true + anonymous: false + created_at: '2026-05-29T20:06:14.895284Z' + datastore_config: + datastore_id: 00000000-0000-0000-0000-000000000000 + primary_column_name: '' + primary_key_generation_strategy: '' + description: A form to collect user feedback. + end_date: null + idp_survey: false + modified_at: '2026-05-29T20:06:14.895285Z' + name: User Feedback Form + org_id: 2 + self_service: false + single_response: false + user_id: 10001 + user_uuid: 1fc709aa-be19-4539-a47d-52a30d78a978 + id: 22f6006a-2302-4926-9396-d2dfcf7b0b34 + type: forms + schema: + $ref: '#/components/schemas/FormsResponse' + description: OK + '400': + content: + application/json: + schema: + $ref: '#/components/schemas/JSONAPIErrorResponse' + description: Bad Request + '401': + content: + application/json: + schema: + $ref: '#/components/schemas/JSONAPIErrorResponse' + description: Unauthorized + '429': + $ref: '#/components/responses/TooManyRequestsResponse' + summary: List forms + tags: + - Forms + x-unstable: |- + **Note**: This endpoint is in preview and is subject to change. + If you have any feedback, contact [Datadog support](https://docs.datadoghq.com/help/). + post: + description: Create a new form. The form is created in draft mode and must be published before it can be used. This also creates a new datastore for form responses and links it to the form. + operationId: CreateForm + requestBody: + content: + application/json: + examples: + default: + value: data: - - id: 00000000-9999-0000-0000-000000000000 - type: incident_attachments - - id: 00000000-1234-0000-0000-000000000000 - type: incident_attachments - commander_user: - data: - id: 00000000-0000-0000-cccc-000000000000 - type: users - created_by_user: + attributes: + anonymous: false + data_definition: {} + description: A form to collect user feedback. + idp_survey: false + name: User Feedback Form + single_response: false + ui_definition: {} + type: forms + schema: + $ref: '#/components/schemas/CreateFormRequest' + required: true + responses: + '200': + content: + application/json: + examples: + default: + value: + data: + attributes: + active: true + anonymous: false + created_at: '2026-05-29T20:06:14.895284Z' + datastore_config: + datastore_id: 5108ea24-dd83-4696-9caa-f069f73d0fad + primary_column_name: id + primary_key_generation_strategy: none + description: A form to collect user feedback. + end_date: null + idp_survey: false + modified_at: '2026-05-29T20:06:14.895285Z' + name: User Feedback Form + org_id: 2 + self_service: false + single_response: false + user_id: 10001 + user_uuid: 1fc709aa-be19-4539-a47d-52a30d78a978 + id: 22f6006a-2302-4926-9396-d2dfcf7b0b34 + type: forms + schema: + $ref: '#/components/schemas/FormResponse' + description: OK + '400': + content: + application/json: + schema: + $ref: '#/components/schemas/JSONAPIErrorResponse' + description: Bad Request + '401': + content: + application/json: + schema: + $ref: '#/components/schemas/JSONAPIErrorResponse' + description: Unauthorized + '429': + $ref: '#/components/responses/TooManyRequestsResponse' + summary: Create a form + tags: + - Forms + x-unstable: |- + **Note**: This endpoint is in preview and is subject to change. + If you have any feedback, contact [Datadog support](https://docs.datadoghq.com/help/). + /api/v2/forms/create_and_publish: + post: + description: Creates a new form and immediately publishes its initial version. This also creates a new datastore for form responses and links it to the form. + operationId: CreateAndPublishForm + requestBody: + content: + application/json: + examples: + default: + value: data: - id: 00000000-0000-0000-cccc-000000000000 - type: users - integrations: + attributes: + anonymous: false + data_definition: {} + description: A form to collect user feedback. + idp_survey: false + name: User Feedback Form + single_response: false + ui_definition: {} + type: forms + schema: + $ref: '#/components/schemas/CreateFormRequest' + required: true + responses: + '200': + content: + application/json: + examples: + default: + value: + data: + attributes: + active: true + anonymous: false + created_at: '2026-05-29T20:06:14.895284Z' + datastore_config: + datastore_id: 5108ea24-dd83-4696-9caa-f069f73d0fad + primary_column_name: id + primary_key_generation_strategy: none + description: A form to collect user feedback. + end_date: null + idp_survey: false + modified_at: '2026-05-29T20:06:14.895285Z' + name: User Feedback Form + org_id: 2 + self_service: false + single_response: false + user_id: 10001 + user_uuid: 1fc709aa-be19-4539-a47d-52a30d78a978 + id: 22f6006a-2302-4926-9396-d2dfcf7b0b34 + type: forms + schema: + $ref: '#/components/schemas/FormResponse' + description: OK + '400': + content: + application/json: + schema: + $ref: '#/components/schemas/JSONAPIErrorResponse' + description: Bad Request + '401': + content: + application/json: + schema: + $ref: '#/components/schemas/JSONAPIErrorResponse' + description: Unauthorized + '429': + $ref: '#/components/responses/TooManyRequestsResponse' + summary: Create and publish a form + tags: + - Forms + x-unstable: |- + **Note**: This endpoint is in preview and is subject to change. + If you have any feedback, contact [Datadog support](https://docs.datadoghq.com/help/). + /api/v2/forms/{form_id}: + delete: + description: Delete a form by its ID. This will also try to delete the associated datastore. + operationId: DeleteForm + parameters: + - description: The ID of the form. + example: 844dfd88-aa84-4db4-8979-e7bdbb9c1dc3 + in: path + name: form_id + required: true + schema: + format: uuid + type: string + responses: + '200': + content: + application/json: + examples: + default: + value: + data: + id: 844dfd88-aa84-4db4-8979-e7bdbb9c1dc3 + type: forms + schema: + $ref: '#/components/schemas/DeleteFormResponse' + description: OK + '400': + content: + application/json: + schema: + $ref: '#/components/schemas/JSONAPIErrorResponse' + description: Bad Request + '401': + content: + application/json: + schema: + $ref: '#/components/schemas/JSONAPIErrorResponse' + description: Unauthorized + '429': + $ref: '#/components/responses/TooManyRequestsResponse' + summary: Delete a form + tags: + - Forms + x-unstable: |- + **Note**: This endpoint is in preview and is subject to change. + If you have any feedback, contact [Datadog support](https://docs.datadoghq.com/help/). + get: + description: Get a form definition by its ID. + operationId: GetForm + parameters: + - description: The ID of the form. + example: 22f6006a-2302-4926-9396-d2dfcf7b0b34 + in: path + name: form_id + required: true + schema: + format: uuid + type: string + - description: The version of the form to retrieve. Use 'latest' for the most recent draft, 'published' for the last published version, or a specific version number. + in: query + name: version + required: false + schema: + default: latest + type: string + responses: + '200': + content: + application/json: + examples: + default: + value: + data: + attributes: + active: true + anonymous: false + created_at: '2026-05-29T20:06:14.895284Z' + datastore_config: + datastore_id: 5108ea24-dd83-4696-9caa-f069f73d0fad + primary_column_name: id + primary_key_generation_strategy: none + description: A form to collect user feedback. + end_date: null + idp_survey: false + modified_at: '2026-05-29T20:06:14.895285Z' + name: User Feedback Form + org_id: 2 + self_service: false + single_response: false + user_id: 10001 + user_uuid: 1fc709aa-be19-4539-a47d-52a30d78a978 + id: 22f6006a-2302-4926-9396-d2dfcf7b0b34 + type: forms + schema: + $ref: '#/components/schemas/FormResponse' + description: OK + '400': + content: + application/json: + schema: + $ref: '#/components/schemas/JSONAPIErrorResponse' + description: Bad Request + '401': + content: + application/json: + schema: + $ref: '#/components/schemas/JSONAPIErrorResponse' + description: Unauthorized + '404': + content: + application/json: + schema: + $ref: '#/components/schemas/JSONAPIErrorResponse' + description: Not Found + '429': + $ref: '#/components/responses/TooManyRequestsResponse' + summary: Get a form + tags: + - Forms + x-unstable: |- + **Note**: This endpoint is in preview and is subject to change. + If you have any feedback, contact [Datadog support](https://docs.datadoghq.com/help/). + patch: + description: Update a form's properties such as its name, description, or datastore configuration. + operationId: UpdateForm + parameters: + - description: The ID of the form. + example: 22f6006a-2302-4926-9396-d2dfcf7b0b34 + in: path + name: form_id + required: true + schema: + format: uuid + type: string + requestBody: + content: + application/json: + examples: + default: + value: data: - - id: 00000000-0000-0000-4444-000000000000 - type: incident_integrations - - id: 00000000-0000-0000-5555-000000000000 - type: incident_integrations - last_modified_by_user: + attributes: + form_update: + description: An updated description. + name: Updated Form Name + type: forms + schema: + $ref: '#/components/schemas/UpdateFormRequest' + required: true + responses: + '200': + content: + application/json: + examples: + default: + value: + data: + attributes: + active: true + anonymous: false + created_at: '2026-05-29T20:06:14.895284Z' + datastore_config: + datastore_id: 5108ea24-dd83-4696-9caa-f069f73d0fad + primary_column_name: id + primary_key_generation_strategy: none + description: An updated description. + end_date: null + idp_survey: false + modified_at: '2026-05-29T20:06:15.000000Z' + name: Updated Form Name + org_id: 2 + self_service: false + single_response: false + user_id: 10001 + user_uuid: 1fc709aa-be19-4539-a47d-52a30d78a978 + id: 22f6006a-2302-4926-9396-d2dfcf7b0b34 + type: forms + schema: + $ref: '#/components/schemas/FormResponse' + description: OK + '400': + content: + application/json: + schema: + $ref: '#/components/schemas/JSONAPIErrorResponse' + description: Bad Request + '401': + content: + application/json: + schema: + $ref: '#/components/schemas/JSONAPIErrorResponse' + description: Unauthorized + '404': + content: + application/json: + schema: + $ref: '#/components/schemas/JSONAPIErrorResponse' + description: Not Found + '429': + $ref: '#/components/responses/TooManyRequestsResponse' + summary: Update a form + tags: + - Forms + x-unstable: |- + **Note**: This endpoint is in preview and is subject to change. + If you have any feedback, contact [Datadog support](https://docs.datadoghq.com/help/). + /api/v2/forms/{form_id}/clone: + post: + description: Clone an existing form. The clone is created in draft mode using the source form's latest version. + operationId: CloneForm + parameters: + - description: The ID of the form to clone. + example: 22f6006a-2302-4926-9396-d2dfcf7b0b34 + in: path + name: form_id + required: true + schema: + format: uuid + type: string + requestBody: + content: + application/json: + examples: + default: + value: data: - id: 00000000-0000-0000-cccc-000000000000 - type: users - type: incidents - - attributes: - created: '2020-04-21T15:34:08.627205+00:00' - creation_idempotency_key: null - customer_impact_duration: 0 - customer_impact_end: null - customer_impact_scope: null - customer_impact_start: null - customer_impacted: false - detected: '2020-04-14T00:00:00+00:00' - incident_type_uuid: 00000000-0000-0000-0000-000000000002 - modified: '2020-09-17T14:16:58.696424+00:00' - public_id: 2 - resolved: null - severity: SEV-5 - time_to_detect: 0 - time_to_internal_response: 0 - time_to_repair: 0 - time_to_resolve: 0 - title: Example Incident 2 - id: 00000000-1111-0000-0000-000000000000 - relationships: - attachments: + attributes: + name: Copy of My Form + type: forms + schema: + $ref: '#/components/schemas/CloneFormRequest' + required: true + responses: + '200': + content: + application/json: + examples: + default: + value: + data: + attributes: + active: true + anonymous: false + created_at: '2026-05-30T10:00:00.000000Z' + datastore_config: + datastore_id: a2b3c4d5-e6f7-8901-2345-6789abcdef01 + primary_column_name: id + primary_key_generation_strategy: none + description: A form to collect user feedback. + end_date: null + idp_survey: false + modified_at: '2026-05-30T10:00:00.000000Z' + name: Copy of My Form + org_id: 2 + self_service: false + single_response: false + user_id: 10001 + user_uuid: 1fc709aa-be19-4539-a47d-52a30d78a978 + id: 7a1e9054-5f6a-4b08-9e3d-c2f189a3bce0 + type: forms + schema: + $ref: '#/components/schemas/FormResponse' + description: OK + '400': + content: + application/json: + schema: + $ref: '#/components/schemas/JSONAPIErrorResponse' + description: Bad Request + '401': + content: + application/json: + schema: + $ref: '#/components/schemas/JSONAPIErrorResponse' + description: Unauthorized + '404': + content: + application/json: + schema: + $ref: '#/components/schemas/JSONAPIErrorResponse' + description: Not Found + '429': + $ref: '#/components/responses/TooManyRequestsResponse' + summary: Clone a form + tags: + - Forms + x-unstable: |- + **Note**: This endpoint is in preview and is subject to change. + If you have any feedback, contact [Datadog support](https://docs.datadoghq.com/help/). + /api/v2/forms/{form_id}/publish: + post: + description: Publish a specific version of a form, making it available for submissions. + operationId: PublishForm + parameters: + - description: The ID of the form. + example: 22f6006a-2302-4926-9396-d2dfcf7b0b34 + in: path + name: form_id + required: true + schema: + format: uuid + type: string + requestBody: + content: + application/json: + examples: + default: + value: data: - - id: 00000000-9999-0000-0000-000000000000 - type: incident_attachments - commander_user: - data: - id: 00000000-aaaa-0000-0000-000000000000 - type: users - created_by_user: + attributes: + version: 1 + type: form_publications + schema: + $ref: '#/components/schemas/PublishFormRequest' + required: true + responses: + '200': + content: + application/json: + examples: + default: + value: + data: + attributes: + created_at: '2026-05-29T20:06:13.677353Z' + form_id: afc67600-0511-43b1-9b18-578fb4979bd3 + form_version: 1 + id: '42' + modified_at: '2026-05-29T20:06:13.677353Z' + org_id: 2 + publish_seq: 1 + user_id: 10001 + user_uuid: 1fc709aa-be19-4539-a47d-52a30d78a978 + id: '42' + type: form_publications + schema: + $ref: '#/components/schemas/FormPublicationResponse' + description: OK + '400': + content: + application/json: + schema: + $ref: '#/components/schemas/JSONAPIErrorResponse' + description: Bad Request + '401': + content: + application/json: + schema: + $ref: '#/components/schemas/JSONAPIErrorResponse' + description: Unauthorized + '404': + content: + application/json: + schema: + $ref: '#/components/schemas/JSONAPIErrorResponse' + description: Not Found + '429': + $ref: '#/components/responses/TooManyRequestsResponse' + summary: Publish a form version + tags: + - Forms + x-unstable: |- + **Note**: This endpoint is in preview and is subject to change. + If you have any feedback, contact [Datadog support](https://docs.datadoghq.com/help/). + /api/v2/forms/{form_id}/versions: + post: + description: |- + Create or update the latest draft version of a form. The `upsert_params` field controls + optimistic concurrency behavior. + operationId: UpsertFormVersion + parameters: + - description: The ID of the form. + example: 22f6006a-2302-4926-9396-d2dfcf7b0b34 + in: path + name: form_id + required: true + schema: + format: uuid + type: string + requestBody: + content: + application/json: + examples: + default: + value: data: - id: 00000000-aaaa-0000-0000-000000000000 - type: users - integrations: + attributes: + data_definition: {} + state: draft + ui_definition: {} + upsert_params: + match_policy: none + type: form_versions + schema: + $ref: '#/components/schemas/UpsertFormVersionRequest' + required: true + responses: + '200': + content: + application/json: + examples: + default: + value: + data: + attributes: + created_at: '2026-05-29T20:06:14.895921Z' + data_definition: + $ref: '#/components/schemas/FormDataDefinition' + definition_signature: '{"signature":"b7f312957a80cea2c8c9950532b205a90a3f8a7ebb7e52fc25437a25d903d545","version":1}' + etag: b51f08b698d88d8027a935d9db649774949f5fb41a0c559bfee6a9a13225c72d + modified_at: '2026-05-29T20:06:14.949163Z' + state: draft + ui_definition: {} + user_id: 10001 + user_uuid: 1fc709aa-be19-4539-a47d-52a30d78a978 + version: 2 + id: '126' + type: form_versions + schema: + $ref: '#/components/schemas/FormVersionResponse' + description: OK + '400': + content: + application/json: + schema: + $ref: '#/components/schemas/JSONAPIErrorResponse' + description: Bad Request + '401': + content: + application/json: + schema: + $ref: '#/components/schemas/JSONAPIErrorResponse' + description: Unauthorized + '404': + content: + application/json: + schema: + $ref: '#/components/schemas/JSONAPIErrorResponse' + description: Not Found + '429': + $ref: '#/components/responses/TooManyRequestsResponse' + summary: Create or update a form version + tags: + - Forms + x-unstable: |- + **Note**: This endpoint is in preview and is subject to change. + If you have any feedback, contact [Datadog support](https://docs.datadoghq.com/help/). + /api/v2/forms/{form_id}/versions/upsert_and_publish: + post: + description: Upsert the latest form version and publish it in a single atomic transaction. + operationId: UpsertAndPublishFormVersion + parameters: + - description: The ID of the form. + example: 22f6006a-2302-4926-9396-d2dfcf7b0b34 + in: path + name: form_id + required: true + schema: + format: uuid + type: string + requestBody: + content: + application/json: + examples: + default: + value: data: - - id: 00000000-0000-0000-0001-000000000000 - type: incident_integrations - - id: 00000000-0000-0000-0002-000000000000 - type: incident_integrations - last_modified_by_user: + attributes: + data_definition: {} + ui_definition: {} + upsert_params: + etag: b51f08b698d88d8027a935d9db649774949f5fb41a0c559bfee6a9a13225c72d + type: form_versions + schema: + $ref: '#/components/schemas/UpsertAndPublishFormVersionRequest' + required: true + responses: + '200': + content: + application/json: + examples: + default: + value: + data: + attributes: + active: true + anonymous: false + created_at: '2026-05-29T20:06:14.895284Z' + datastore_config: + datastore_id: 5108ea24-dd83-4696-9caa-f069f73d0fad + primary_column_name: id + primary_key_generation_strategy: none + description: A form to collect user feedback. + end_date: null + idp_survey: false + modified_at: '2026-05-29T20:06:15.000000Z' + name: User Feedback Form + org_id: 2 + self_service: false + single_response: false + user_id: 10001 + user_uuid: 1fc709aa-be19-4539-a47d-52a30d78a978 + id: 22f6006a-2302-4926-9396-d2dfcf7b0b34 + type: forms + schema: + $ref: '#/components/schemas/FormResponse' + description: OK + '400': + content: + application/json: + schema: + $ref: '#/components/schemas/JSONAPIErrorResponse' + description: Bad Request + '401': + content: + application/json: + schema: + $ref: '#/components/schemas/JSONAPIErrorResponse' + description: Unauthorized + '404': + content: + application/json: + schema: + $ref: '#/components/schemas/JSONAPIErrorResponse' + description: Not Found + '429': + $ref: '#/components/responses/TooManyRequestsResponse' + summary: Upsert and publish a form version + tags: + - Forms + x-unstable: |- + **Note**: This endpoint is in preview and is subject to change. + If you have any feedback, contact [Datadog support](https://docs.datadoghq.com/help/). + /api/v2/incidents: + get: + description: Get all incidents for the user's organization. + operationId: ListIncidents + parameters: + - $ref: '#/components/parameters/IncidentIncludeQueryParameter' + - $ref: '#/components/parameters/PageSize' + - $ref: '#/components/parameters/PageOffset' + responses: + '200': + content: + application/json: + examples: + default: + value: + data: + - attributes: + created: '2024-01-01T00:00:00+00:00' + customer_impacted: false + modified: '2024-01-01T00:00:00+00:00' + title: A test incident title + id: 00000000-0000-0000-1234-000000000000 + type: incidents + schema: + $ref: '#/components/schemas/IncidentsResponse' + description: OK + '400': + $ref: '#/components/responses/BadRequestResponse' + '401': + $ref: '#/components/responses/UnauthorizedResponse' + '403': + $ref: '#/components/responses/ForbiddenResponse' + '404': + $ref: '#/components/responses/NotFoundResponse' + '429': + $ref: '#/components/responses/TooManyRequestsResponse' + security: + - apiKeyAuth: [] + appKeyAuth: [] + - AuthZ: + - incident_read + summary: Get a list of incidents + tags: + - Incidents + x-pagination: + limitParam: page[size] + pageOffsetParam: page[offset] + resultsPath: data + x-permission: + operator: OR + permissions: + - incident_read + x-unstable: |- + **Note**: This endpoint is in public beta. + If you have any feedback, contact [Datadog support](https://docs.datadoghq.com/help/). + post: + description: Create an incident. + operationId: CreateIncident + requestBody: + content: + application/json: + examples: + default: + value: data: - id: 00000000-aaaa-0000-0000-000000000000 - type: users - type: incidents - items: - $ref: '#/components/schemas/IncidentResponseData' - type: array - included: - description: Included related resources that the user requested. - items: - $ref: '#/components/schemas/IncidentResponseIncludedItem' - readOnly: true - type: array - meta: - $ref: '#/components/schemas/IncidentResponseMeta' - required: - - data - type: object - IncidentCreateRequest: - description: Create request for an incident. - properties: - data: - $ref: '#/components/schemas/IncidentCreateData' - required: - - data - type: object - IncidentResponse: - description: Response with an incident. - properties: - data: - $ref: '#/components/schemas/IncidentResponseData' - included: - description: Included related resources that the user requested. - items: - $ref: '#/components/schemas/IncidentResponseIncludedItem' - readOnly: true - type: array - required: - - data - type: object - IncidentNotificationRuleArray: - description: Response with notification rules. - properties: - data: - description: The `NotificationRuleArray` `data`. - items: - $ref: '#/components/schemas/IncidentNotificationRuleResponseData' - type: array - included: - description: Related objects that are included in the response. - items: - $ref: '#/components/schemas/IncidentNotificationRuleIncludedItems' - type: array - meta: - $ref: '#/components/schemas/IncidentNotificationRuleArrayMeta' - required: - - data - type: object - CreateIncidentNotificationRuleRequest: - description: Create request for a notification rule. - properties: - data: - $ref: '#/components/schemas/IncidentNotificationRuleCreateData' - required: - - data - type: object - IncidentNotificationRule: - description: Response with a notification rule. - properties: - data: - $ref: '#/components/schemas/IncidentNotificationRuleResponseData' - included: - description: Related objects that are included in the response. - items: - $ref: '#/components/schemas/IncidentNotificationRuleIncludedItems' - type: array - required: - - data - type: object - PutIncidentNotificationRuleRequest: - description: Put request for a notification rule. - properties: - data: - $ref: '#/components/schemas/IncidentNotificationRuleUpdateData' - required: - - data - type: object - IncidentNotificationTemplateArray: - description: Response with notification templates. - properties: - data: - description: The `NotificationTemplateArray` `data`. - items: - $ref: '#/components/schemas/IncidentNotificationTemplateResponseData' - type: array - included: - description: Related objects that are included in the response. - items: - $ref: '#/components/schemas/IncidentNotificationTemplateIncludedItems' - type: array - meta: - $ref: '#/components/schemas/IncidentNotificationTemplateArrayMeta' - required: - - data - type: object - CreateIncidentNotificationTemplateRequest: - description: Create request for a notification template. - properties: - data: - $ref: '#/components/schemas/IncidentNotificationTemplateCreateData' - required: - - data - type: object - IncidentNotificationTemplate: - description: Response with a notification template. - properties: - data: - $ref: '#/components/schemas/IncidentNotificationTemplateResponseData' - included: - description: Related objects that are included in the response. - items: - $ref: '#/components/schemas/IncidentNotificationTemplateIncludedItems' - type: array - required: - - data - type: object - PatchIncidentNotificationTemplateRequest: - description: Update request for a notification template. - properties: - data: - $ref: '#/components/schemas/IncidentNotificationTemplateUpdateData' - required: - - data - type: object - IncidentTypeListResponse: - description: Response with a list of incident types. - properties: - data: - description: An array of incident type objects. - items: - $ref: '#/components/schemas/IncidentTypeObject' - type: array - required: - - data - type: object - IncidentTypeCreateRequest: - description: Create request for an incident type. - properties: - data: - $ref: '#/components/schemas/IncidentTypeCreateData' - required: - - data - type: object - IncidentTypeResponse: - description: Incident type response data. - properties: - data: - $ref: '#/components/schemas/IncidentTypeObject' - required: - - data - type: object - IncidentTypePatchRequest: - description: Patch request for an incident type. - properties: - data: - $ref: '#/components/schemas/IncidentTypePatchData' - required: - - data - type: object - IncidentSearchResponse: - description: Response with incidents and facets. - properties: - data: - $ref: '#/components/schemas/IncidentSearchResponseData' - included: - description: Included related resources that the user requested. - items: - $ref: '#/components/schemas/IncidentResponseIncludedItem' - readOnly: true - type: array - meta: - $ref: '#/components/schemas/IncidentSearchResponseMeta' - required: - - data - type: object - IncidentUpdateRequest: - description: Update request for an incident. - properties: - data: - $ref: '#/components/schemas/IncidentUpdateData' - required: - - data - type: object - IncidentAttachmentsResponse: - description: The response object containing an incident's attachments. - properties: - data: - description: An array of incident attachments. - example: - - attributes: - attachment: - documentUrl: '' - title: Postmortem IR-123 - attachment_type: postmortem - id: 00000000-abcd-0002-0000-000000000000 - relationships: - last_modified_by_user: - data: - id: 00000000-0000-0000-cccc-000000000000 - type: users - type: incident_attachments - items: - $ref: '#/components/schemas/IncidentAttachmentData' - type: array - included: - description: Included related resources that the user requested. - items: - $ref: '#/components/schemas/IncidentAttachmentsResponseIncludedItem' - type: array - required: - - data - type: object - IncidentAttachmentUpdateRequest: - description: The update request for an incident's attachments. - properties: - data: - description: >- - An array of incident attachments. An attachment object without an - "id" key indicates that you want to - - create that attachment. An attachment object without an "attributes" - key indicates that you want to - - delete that attachment. An attachment object with both the "id" key - and a populated "attributes" object - - indicates that you want to update that attachment. - example: - - attributes: - attachment: - documentUrl: https://app.datadoghq.com/notebook/123 - title: Postmortem IR-123 - attachment_type: postmortem - id: 00000000-abcd-0002-0000-000000000000 - type: incident_attachments - - attributes: - attachment: - documentUrl: https://www.example.com/webstore-failure-runbook - title: Runbook for webstore service failures - attachment_type: link - type: incident_attachments - - id: 00000000-abcd-0003-0000-000000000000 - type: incident_attachments - items: - $ref: '#/components/schemas/IncidentAttachmentUpdateData' - type: array - required: - - data - type: object - IncidentAttachmentUpdateResponse: - description: >- - The response object containing the created or updated incident - attachments. - properties: - data: - description: >- - An array of incident attachments. Only the attachments that were - created or updated by the request are - - returned. - example: - - attributes: - attachment: - documentUrl: '' - title: Postmortem IR-123 - attachment_type: postmortem - id: 00000000-abcd-0002-0000-000000000000 - relationships: - last_modified_by_user: + attributes: + customer_impact_scope: Example customer impact scope + customer_impacted: false + fields: + severity: + type: dropdown + value: SEV-5 + incident_type_uuid: 00000000-0000-0000-0000-000000000000 + initial_cells: + - cell_type: markdown + content: + content: An example timeline cell message. + important: false + is_test: false + notification_handles: + - display_name: Jane Doe + handle: '@user@email.com' + - display_name: Slack Channel + handle: '@slack-channel' + - display_name: Incident Workflow + handle: '@workflow-from-incident' + title: A test incident title + relationships: + commander_user: + data: + id: 00000000-0000-0000-0000-000000000000 + type: users + type: incidents + schema: + $ref: '#/components/schemas/IncidentCreateRequest' + description: Incident payload. + required: true + responses: + '201': + content: + application/json: + examples: + default: + value: + data: + attributes: + created: '2024-01-01T00:00:00+00:00' + customer_impacted: false + fields: + severity: + type: dropdown + value: SEV-5 + modified: '2024-01-01T00:00:00+00:00' + title: A test incident title + id: 00000000-0000-0000-1234-000000000000 + type: incidents + schema: + $ref: '#/components/schemas/IncidentResponse' + description: CREATED + '400': + $ref: '#/components/responses/BadRequestResponse' + '401': + $ref: '#/components/responses/UnauthorizedResponse' + '403': + $ref: '#/components/responses/ForbiddenResponse' + '404': + $ref: '#/components/responses/NotFoundResponse' + '429': + $ref: '#/components/responses/TooManyRequestsResponse' + security: + - apiKeyAuth: [] + appKeyAuth: [] + - AuthZ: + - incident_write + summary: Create an incident + tags: + - Incidents + x-codegen-request-body-name: body + x-permission: + operator: OR + permissions: + - incident_write + x-unstable: |- + **Note**: This endpoint is in public beta. + If you have any feedback, contact [Datadog support](https://docs.datadoghq.com/help/). + /api/v2/incidents/config/global/incident-handles: + delete: + description: Delete a global incident handle. + operationId: DeleteGlobalIncidentHandle + responses: + '204': + description: No Content + '400': + content: + application/json: + schema: + $ref: '#/components/schemas/JSONAPIErrorResponse' + description: Bad Request + '429': + $ref: '#/components/responses/TooManyRequestsResponse' + summary: Delete global incident handle + tags: + - Incidents + x-unstable: |- + **Note**: This endpoint is in public beta and is subject to change. + If you have any feedback, contact [Datadog support](https://docs.datadoghq.com/help/). + get: + description: Retrieve a list of global incident handles. + operationId: ListGlobalIncidentHandles + parameters: + - description: Comma-separated list of related resources to include in the response + in: query + name: include + required: false + schema: + example: created_by_user,last_modified_by_user,commander_user,incident_type + type: string + responses: + '200': + content: + application/json: + examples: + default: + value: + data: + - attributes: + created_at: '2024-01-01T00:00:00+00:00' + fields: + severity: + - SEV-1 + modified_at: '2024-01-01T00:00:00+00:00' + name: '@incident-sev-1' + id: 00000000-0000-0000-0000-000000000006 + type: incidents_handles + schema: + $ref: '#/components/schemas/IncidentHandlesResponse' + description: OK + '400': + content: + application/json: + schema: + $ref: '#/components/schemas/JSONAPIErrorResponse' + description: Bad Request + '429': + $ref: '#/components/responses/TooManyRequestsResponse' + summary: List global incident handles + tags: + - Incidents + x-unstable: |- + **Note**: This endpoint is in public beta and is subject to change. + If you have any feedback, contact [Datadog support](https://docs.datadoghq.com/help/). + post: + description: Create a new global incident handle. + operationId: CreateGlobalIncidentHandle + parameters: + - description: Comma-separated list of related resources to include in the response + in: query + name: include + required: false + schema: + example: created_by_user,last_modified_by_user,commander_user,incident_type + type: string + requestBody: + content: + application/json: + examples: + default: + value: data: - id: 00000000-0000-0000-cccc-000000000000 - type: users - type: incident_attachments - items: - $ref: '#/components/schemas/IncidentAttachmentData' - type: array - included: - description: Included related resources that the user requested. - items: - $ref: '#/components/schemas/IncidentAttachmentsResponseIncludedItem' - type: array - required: - - data - type: object - IncidentIntegrationMetadataListResponse: - description: Response with a list of incident integration metadata. - properties: - data: + attributes: + fields: + severity: + - SEV-1 + name: '@incident-sev-1' + id: b2494081-cdf0-4205-b366-4e1dd4fdf0bf + relationships: + commander_user: + data: + id: f7b538b1-ed7c-4e84-82de-fdf84a539d40 + type: incident_types + incident_type: + data: + id: f7b538b1-ed7c-4e84-82de-fdf84a539d40 + type: incident_types + type: incidents_handles + schema: + $ref: '#/components/schemas/IncidentHandleRequest' + required: true + responses: + '201': + content: + application/json: + examples: + default: + value: + data: + attributes: + created_at: '2024-01-01T00:00:00+00:00' + fields: + severity: + - SEV-1 + modified_at: '2024-01-01T00:00:00+00:00' + name: '@incident-sev-1' + id: 00000000-0000-0000-0000-000000000007 + type: incidents_handles + schema: + $ref: '#/components/schemas/IncidentHandleResponse' + description: Created + '400': + content: + application/json: + schema: + $ref: '#/components/schemas/JSONAPIErrorResponse' + description: Bad Request + '429': + $ref: '#/components/responses/TooManyRequestsResponse' + summary: Create global incident handle + tags: + - Incidents + x-unstable: |- + **Note**: This endpoint is in public beta and is subject to change. + If you have any feedback, contact [Datadog support](https://docs.datadoghq.com/help/). + put: + description: Update an existing global incident handle. + operationId: UpdateGlobalIncidentHandle + parameters: + - description: Comma-separated list of related resources to include in the response + in: query + name: include + required: false + schema: + example: created_by_user,last_modified_by_user,commander_user,incident_type + type: string + requestBody: + content: + application/json: + examples: + default: + value: + data: + attributes: + fields: + severity: + - SEV-1 + name: '@incident-sev-1' + id: b2494081-cdf0-4205-b366-4e1dd4fdf0bf + relationships: + commander_user: + data: + id: f7b538b1-ed7c-4e84-82de-fdf84a539d40 + type: incident_types + incident_type: + data: + id: f7b538b1-ed7c-4e84-82de-fdf84a539d40 + type: incident_types + type: incidents_handles + schema: + $ref: '#/components/schemas/IncidentHandleRequest' + required: true + responses: + '200': + content: + application/json: + examples: + default: + value: + data: + attributes: + created_at: '2024-01-01T00:00:00+00:00' + fields: + severity: + - SEV-1 + modified_at: '2024-01-01T00:00:00+00:00' + name: '@incident-sev-1' + id: 00000000-0000-0000-0000-000000000008 + type: incidents_handles + schema: + $ref: '#/components/schemas/IncidentHandleResponse' + description: OK + '400': + content: + application/json: + schema: + $ref: '#/components/schemas/JSONAPIErrorResponse' + description: Bad Request + '429': + $ref: '#/components/responses/TooManyRequestsResponse' + summary: Update global incident handle + tags: + - Incidents + x-unstable: |- + **Note**: This endpoint is in public beta and is subject to change. + If you have any feedback, contact [Datadog support](https://docs.datadoghq.com/help/). + /api/v2/incidents/config/global/settings: + get: + description: Retrieve global incident settings for the organization. + operationId: GetGlobalIncidentSettings + responses: + '200': + content: + application/json: + examples: + default: + value: + data: + attributes: + analytics_dashboard_id: 00000000-0000-0000-0000-000000000002-def + created: '2024-01-01T00:00:00+00:00' + modified: '2024-01-01T00:00:00+00:00' + id: 00000000-0000-0000-0000-000000000001 + type: incidents_global_settings + schema: + $ref: '#/components/schemas/GlobalIncidentSettingsResponse' + description: OK + '400': + content: + application/json: + schema: + $ref: '#/components/schemas/JSONAPIErrorResponse' + description: Bad Request + '429': + $ref: '#/components/responses/TooManyRequestsResponse' + summary: Get global incident settings + tags: + - Incidents + x-unstable: |- + **Note**: This endpoint is in public beta and is subject to change. + If you have any feedback, contact [Datadog support](https://docs.datadoghq.com/help/). + patch: + description: Update global incident settings for the organization. + operationId: UpdateGlobalIncidentSettings + requestBody: + content: + application/json: + examples: + default: + value: + data: + attributes: + analytics_dashboard_id: 00000000-0000-0000-0000-000000000003-def + type: incidents_global_settings + schema: + $ref: '#/components/schemas/GlobalIncidentSettingsRequest' + required: true + responses: + '200': + content: + application/json: + examples: + default: + value: + data: + attributes: + analytics_dashboard_id: 00000000-0000-0000-0000-000000000005-def + created: '2024-01-01T00:00:00+00:00' + modified: '2024-01-01T00:00:00+00:00' + id: 00000000-0000-0000-0000-000000000004 + type: incidents_global_settings + schema: + $ref: '#/components/schemas/GlobalIncidentSettingsResponse' + description: OK + '400': + content: + application/json: + schema: + $ref: '#/components/schemas/JSONAPIErrorResponse' + description: Bad Request + '429': + $ref: '#/components/responses/TooManyRequestsResponse' + summary: Update global incident settings + tags: + - Incidents + x-unstable: |- + **Note**: This endpoint is in public beta and is subject to change. + If you have any feedback, contact [Datadog support](https://docs.datadoghq.com/help/). + /api/v2/incidents/config/google-chat-configurations: + post: + description: Create a Google Chat configuration for incidents. + operationId: CreateIncidentGoogleChatConfiguration + requestBody: + content: + application/json: + examples: + default: + value: + data: + attributes: + domain_id: my-domain + space_name_template: '{{incident.title}}' + space_target_audience_id: '123456789' + space_time_zone: America/New_York + relationships: + incident_type: + data: + id: 00000000-0000-0000-0000-000000000000 + type: incident_types + type: google_chat_configurations + schema: + $ref: '#/components/schemas/IncidentGoogleChatConfigurationRequest' + description: Google Chat configuration payload. + required: true + responses: + '201': + content: + application/json: + examples: + default: + value: + data: + attributes: + created_at: '2024-01-01T00:00:00.000Z' + domain_id: my-domain + modified_at: '2024-01-01T00:00:00.000Z' + space_name_template: '{{incident.title}}' + space_target_audience_id: '123456789' + space_time_zone: America/New_York + id: 00000000-0000-0000-0000-000000000001 + type: google_chat_configurations + schema: + $ref: '#/components/schemas/IncidentGoogleChatConfigurationResponse' + description: Created + '400': + $ref: '#/components/responses/BadRequestResponse' + '401': + $ref: '#/components/responses/UnauthorizedResponse' + '403': + $ref: '#/components/responses/ForbiddenResponse' + '429': + $ref: '#/components/responses/TooManyRequestsResponse' + security: + - apiKeyAuth: [] + appKeyAuth: [] + - AuthZ: + - incident_settings_write + summary: Create an incident Google Chat configuration + tags: + - Incidents + x-codegen-request-body-name: body + x-permission: + operator: OR + permissions: + - incident_settings_write + x-unstable: |- + **Note**: This endpoint is in preview and is subject to change. + If you have any feedback, contact [Datadog support](https://docs.datadoghq.com/help/). + /api/v2/incidents/config/google-chat-configurations/{id}: + patch: + description: Update a Google Chat configuration for incidents. + operationId: UpdateIncidentGoogleChatConfiguration + parameters: + - $ref: '#/components/parameters/IncidentGoogleChatConfigurationIDPathParameter' + requestBody: + content: + application/json: + examples: + default: + value: + data: + attributes: + domain_id: updated-domain + id: 00000000-0000-0000-0000-000000000001 + type: google_chat_configurations + schema: + $ref: '#/components/schemas/IncidentGoogleChatConfigurationPatchRequest' + description: Google Chat configuration patch payload. + required: true + responses: + '200': + content: + application/json: + examples: + default: + value: + data: + attributes: + created_at: '2024-01-01T00:00:00.000Z' + domain_id: updated-domain + modified_at: '2024-01-02T00:00:00.000Z' + space_name_template: '{{incident.title}}' + space_target_audience_id: '123456789' + space_time_zone: America/New_York + id: 00000000-0000-0000-0000-000000000001 + type: google_chat_configurations + schema: + $ref: '#/components/schemas/IncidentGoogleChatConfigurationResponse' + description: OK + '400': + $ref: '#/components/responses/BadRequestResponse' + '401': + $ref: '#/components/responses/UnauthorizedResponse' + '403': + $ref: '#/components/responses/ForbiddenResponse' + '404': + $ref: '#/components/responses/NotFoundResponse' + '429': + $ref: '#/components/responses/TooManyRequestsResponse' + security: + - apiKeyAuth: [] + appKeyAuth: [] + - AuthZ: + - incident_settings_write + summary: Update an incident Google Chat configuration + tags: + - Incidents + x-codegen-request-body-name: body + x-permission: + operator: OR + permissions: + - incident_settings_write + x-unstable: |- + **Note**: This endpoint is in preview and is subject to change. + If you have any feedback, contact [Datadog support](https://docs.datadoghq.com/help/). + /api/v2/incidents/config/google-meet-configurations: + post: + description: Create a Google Meet configuration for incidents. + operationId: CreateIncidentGoogleMeetConfiguration + requestBody: + content: + application/json: + examples: + default: + value: + data: + attributes: + allow_manual_meeting_creation: true + auto_summarize: false + relationships: + incident_type: + data: + id: 00000000-0000-0000-0000-000000000000 + type: incident_types + type: google_meet_configurations + schema: + $ref: '#/components/schemas/IncidentGoogleMeetConfigurationRequest' + description: Google Meet configuration payload. + required: true + responses: + '201': + content: + application/json: + examples: + default: + value: + data: + attributes: + allow_manual_meeting_creation: true + auto_summarize: false + created_at: '2024-01-01T00:00:00.000Z' + modified_at: '2024-01-01T00:00:00.000Z' + id: 00000000-0000-0000-0000-000000000001 + type: google_meet_configurations + schema: + $ref: '#/components/schemas/IncidentGoogleMeetConfigurationResponse' + description: Created + '400': + $ref: '#/components/responses/BadRequestResponse' + '401': + $ref: '#/components/responses/UnauthorizedResponse' + '403': + $ref: '#/components/responses/ForbiddenResponse' + '429': + $ref: '#/components/responses/TooManyRequestsResponse' + security: + - apiKeyAuth: [] + appKeyAuth: [] + - AuthZ: + - incident_settings_write + summary: Create an incident Google Meet configuration + tags: + - Incidents + x-codegen-request-body-name: body + x-permission: + operator: OR + permissions: + - incident_settings_write + x-unstable: |- + **Note**: This endpoint is in preview and is subject to change. + If you have any feedback, contact [Datadog support](https://docs.datadoghq.com/help/). + /api/v2/incidents/config/google-meet-configurations/{id}: + patch: + description: Update a Google Meet configuration for incidents. + operationId: UpdateIncidentGoogleMeetConfiguration + parameters: + - $ref: '#/components/parameters/IncidentGoogleMeetConfigurationIDPathParameter' + requestBody: + content: + application/json: + examples: + default: + value: + data: + attributes: + auto_summarize: true + id: 00000000-0000-0000-0000-000000000001 + type: google_meet_configurations + schema: + $ref: '#/components/schemas/IncidentGoogleMeetConfigurationPatchRequest' + description: Google Meet configuration patch payload. + required: true + responses: + '200': + content: + application/json: + examples: + default: + value: + data: + attributes: + allow_manual_meeting_creation: true + auto_summarize: true + created_at: '2024-01-01T00:00:00.000Z' + modified_at: '2024-01-02T00:00:00.000Z' + id: 00000000-0000-0000-0000-000000000001 + type: google_meet_configurations + schema: + $ref: '#/components/schemas/IncidentGoogleMeetConfigurationResponse' + description: OK + '400': + $ref: '#/components/responses/BadRequestResponse' + '401': + $ref: '#/components/responses/UnauthorizedResponse' + '403': + $ref: '#/components/responses/ForbiddenResponse' + '404': + $ref: '#/components/responses/NotFoundResponse' + '429': + $ref: '#/components/responses/TooManyRequestsResponse' + security: + - apiKeyAuth: [] + appKeyAuth: [] + - AuthZ: + - incident_settings_write + summary: Update an incident Google Meet configuration + tags: + - Incidents + x-codegen-request-body-name: body + x-permission: + operator: OR + permissions: + - incident_settings_write + x-unstable: |- + **Note**: This endpoint is in preview and is subject to change. + If you have any feedback, contact [Datadog support](https://docs.datadoghq.com/help/). + /api/v2/incidents/config/impact-fields: + get: + description: List all impact fields for incidents. + operationId: ListIncidentImpactFields + responses: + '200': + content: + application/json: + examples: + default: + value: + data: [] + schema: + $ref: '#/components/schemas/IncidentImpactFieldsResponse' + description: OK + '400': + $ref: '#/components/responses/BadRequestResponse' + '401': + $ref: '#/components/responses/UnauthorizedResponse' + '403': + $ref: '#/components/responses/ForbiddenResponse' + '429': + $ref: '#/components/responses/TooManyRequestsResponse' + security: + - apiKeyAuth: [] + appKeyAuth: [] + - AuthZ: + - incident_settings_read + summary: List incident impact fields + tags: + - Incidents + x-permission: + operator: OR + permissions: + - incident_settings_read + x-unstable: |- + **Note**: This endpoint is in preview and is subject to change. + If you have any feedback, contact [Datadog support](https://docs.datadoghq.com/help/). + post: + description: Create an impact field for incidents. + operationId: CreateIncidentImpactField + requestBody: + content: + application/json: + examples: + default: + value: + data: + attributes: + display_name: Customer Impact Scope + field_choices: + - description: Affects all customers + display_name: All Customers + value: all_customers + - description: Affects some customers + display_name: Some Customers + value: some_customers + field_type: dropdown + name: customer_impact_scope + relationships: + incident_type: + data: + id: 00000000-0000-0000-0000-000000000000 + type: incident_types + type: impact_fields + schema: + $ref: '#/components/schemas/IncidentImpactFieldRequest' + description: Impact field payload. + required: true + responses: + '201': + content: + application/json: + examples: + default: + value: + data: + attributes: + display_name: Customer Impact Scope + field_choices: + - description: Affects all customers + display_name: All Customers + value: all_customers + field_type: dropdown + name: customer_impact_scope + id: 00000000-0000-0000-0000-000000000001 + type: impact_fields + schema: + $ref: '#/components/schemas/IncidentImpactFieldResponse' + description: Created + '400': + $ref: '#/components/responses/BadRequestResponse' + '401': + $ref: '#/components/responses/UnauthorizedResponse' + '403': + $ref: '#/components/responses/ForbiddenResponse' + '429': + $ref: '#/components/responses/TooManyRequestsResponse' + security: + - apiKeyAuth: [] + appKeyAuth: [] + - AuthZ: + - incident_settings_write + summary: Create an incident impact field + tags: + - Incidents + x-codegen-request-body-name: body + x-permission: + operator: OR + permissions: + - incident_settings_write + x-unstable: |- + **Note**: This endpoint is in preview and is subject to change. + If you have any feedback, contact [Datadog support](https://docs.datadoghq.com/help/). + /api/v2/incidents/config/impact-fields/{field_id}: + delete: + description: Delete an impact field for incidents. + operationId: DeleteIncidentImpactField + parameters: + - $ref: '#/components/parameters/IncidentImpactFieldIDPathParameter' + responses: + '204': + description: No Content + '400': + $ref: '#/components/responses/BadRequestResponse' + '401': + $ref: '#/components/responses/UnauthorizedResponse' + '403': + $ref: '#/components/responses/ForbiddenResponse' + '404': + $ref: '#/components/responses/NotFoundResponse' + '429': + $ref: '#/components/responses/TooManyRequestsResponse' + security: + - apiKeyAuth: [] + appKeyAuth: [] + - AuthZ: + - incident_settings_write + summary: Delete an incident impact field + tags: + - Incidents + x-permission: + operator: OR + permissions: + - incident_settings_write + x-unstable: |- + **Note**: This endpoint is in preview and is subject to change. + If you have any feedback, contact [Datadog support](https://docs.datadoghq.com/help/). + put: + description: Update an impact field for incidents. + operationId: UpdateIncidentImpactField + parameters: + - $ref: '#/components/parameters/IncidentImpactFieldIDPathParameter' + requestBody: + content: + application/json: + examples: + default: + value: + data: + attributes: + display_name: Customer Impact Scope Updated + field_type: dropdown + name: customer_impact_scope + relationships: + incident_type: + data: + id: 00000000-0000-0000-0000-000000000000 + type: incident_types + type: impact_fields + schema: + $ref: '#/components/schemas/IncidentImpactFieldRequest' + description: Impact field update payload. + required: true + responses: + '200': + content: + application/json: + examples: + default: + value: + data: + attributes: + display_name: Customer Impact Scope Updated + field_type: dropdown + name: customer_impact_scope + id: 00000000-0000-0000-0000-000000000001 + type: impact_fields + schema: + $ref: '#/components/schemas/IncidentImpactFieldResponse' + description: OK + '400': + $ref: '#/components/responses/BadRequestResponse' + '401': + $ref: '#/components/responses/UnauthorizedResponse' + '403': + $ref: '#/components/responses/ForbiddenResponse' + '404': + $ref: '#/components/responses/NotFoundResponse' + '429': + $ref: '#/components/responses/TooManyRequestsResponse' + security: + - apiKeyAuth: [] + appKeyAuth: [] + - AuthZ: + - incident_settings_write + summary: Update an incident impact field + tags: + - Incidents + x-codegen-request-body-name: body + x-permission: + operator: OR + permissions: + - incident_settings_write + x-unstable: |- + **Note**: This endpoint is in preview and is subject to change. + If you have any feedback, contact [Datadog support](https://docs.datadoghq.com/help/). + /api/v2/incidents/config/notification-rules: + get: + description: Lists all notification rules for the organization. Optionally filter by incident type. + operationId: ListIncidentNotificationRules + parameters: + - $ref: '#/components/parameters/IncidentNotificationRuleIncludeQueryParameter' + responses: + '200': + content: + application/json: + examples: + default: + value: + data: + - attributes: + conditions: + - field: severity + values: + - SEV-1 + - SEV-2 + created: '2024-01-01T00:00:00+00:00' + enabled: true + handles: + - '@team-email@example.com' + modified: '2024-01-01T00:00:00+00:00' + trigger: incident_created_trigger + visibility: organization + id: 00000000-0000-0000-0000-000000000001 + type: incident_notification_rules + schema: + $ref: '#/components/schemas/IncidentNotificationRuleArray' + description: OK + '400': + $ref: '#/components/responses/BadRequestResponse' + '401': + $ref: '#/components/responses/UnauthorizedResponse' + '403': + $ref: '#/components/responses/ForbiddenResponse' + '404': + $ref: '#/components/responses/NotFoundResponse' + '429': + $ref: '#/components/responses/TooManyRequestsResponse' + security: + - apiKeyAuth: [] + appKeyAuth: [] + - AuthZ: [] + summary: List incident notification rules + tags: + - Incidents + x-permission: + operator: AND + permissions: + - incident_notification_settings_read + x-unstable: |- + **Note**: This endpoint is in Preview. + If you have any feedback, contact [Datadog support](https://docs.datadoghq.com/help/). + post: + description: Creates a new notification rule. + operationId: CreateIncidentNotificationRule + requestBody: + content: + application/json: + examples: + default: + value: + data: + attributes: + conditions: + - field: severity + values: + - SEV-1 + - SEV-2 + enabled: true + handles: + - '@team-email@company.com' + - '@slack-channel' + renotify_on: + - status + - severity + trigger: incident_created_trigger + visibility: organization + relationships: + incident_type: + data: + id: 00000000-0000-0000-0000-000000000000 + type: incident_types + notification_template: + data: + id: 00000000-0000-0000-0000-000000000001 + type: notification_templates + type: incident_notification_rules + schema: + $ref: '#/components/schemas/CreateIncidentNotificationRuleRequest' + required: true + responses: + '201': + content: + application/json: + examples: + default: + value: + data: + attributes: + conditions: + - field: severity + values: + - SEV-1 + - SEV-2 + created: '2024-01-01T00:00:00+00:00' + enabled: true + handles: + - '@team-email@example.com' + modified: '2024-01-01T00:00:00+00:00' + trigger: incident_created_trigger + visibility: organization + id: 00000000-0000-0000-0000-000000000001 + type: incident_notification_rules + schema: + $ref: '#/components/schemas/IncidentNotificationRule' + description: Created + '400': + $ref: '#/components/responses/BadRequestResponse' + '401': + $ref: '#/components/responses/UnauthorizedResponse' + '403': + $ref: '#/components/responses/ForbiddenResponse' + '404': + $ref: '#/components/responses/NotFoundResponse' + '429': + $ref: '#/components/responses/TooManyRequestsResponse' + security: + - apiKeyAuth: [] + appKeyAuth: [] + - AuthZ: + - incident_notification_settings_write + summary: Create an incident notification rule + tags: + - Incidents + x-codegen-request-body-name: body + x-permission: + operator: AND + permissions: + - incident_notification_settings_write + x-unstable: |- + **Note**: This endpoint is in Preview. + If you have any feedback, contact [Datadog support](https://docs.datadoghq.com/help/). + /api/v2/incidents/config/notification-rules/{id}: + delete: + description: Deletes a notification rule by its ID. + operationId: DeleteIncidentNotificationRule + parameters: + - $ref: '#/components/parameters/IncidentNotificationRuleIDPathParameter' + - $ref: '#/components/parameters/IncidentNotificationRuleIncludeQueryParameter' + responses: + '204': + description: No Content + '400': + $ref: '#/components/responses/BadRequestResponse' + '401': + $ref: '#/components/responses/UnauthorizedResponse' + '403': + $ref: '#/components/responses/ForbiddenResponse' + '404': + $ref: '#/components/responses/NotFoundResponse' + '429': + $ref: '#/components/responses/TooManyRequestsResponse' + security: + - apiKeyAuth: [] + appKeyAuth: [] + - AuthZ: + - incident_notification_settings_write + summary: Delete an incident notification rule + tags: + - Incidents + x-permission: + operator: AND + permissions: + - incident_notification_settings_write + x-unstable: |- + **Note**: This endpoint is in Preview. + If you have any feedback, contact [Datadog support](https://docs.datadoghq.com/help/). + get: + description: Retrieves a specific notification rule by its ID. + operationId: GetIncidentNotificationRule + parameters: + - $ref: '#/components/parameters/IncidentNotificationRuleIDPathParameter' + - $ref: '#/components/parameters/IncidentNotificationRuleIncludeQueryParameter' + responses: + '200': + content: + application/json: + examples: + default: + value: + data: + attributes: + conditions: + - field: severity + values: + - SEV-1 + - SEV-2 + created: '2024-01-01T00:00:00+00:00' + enabled: true + handles: + - '@team-email@example.com' + modified: '2024-01-01T00:00:00+00:00' + trigger: incident_created_trigger + visibility: organization + id: 00000000-0000-0000-0000-000000000001 + type: incident_notification_rules + schema: + $ref: '#/components/schemas/IncidentNotificationRule' + description: OK + '400': + $ref: '#/components/responses/BadRequestResponse' + '401': + $ref: '#/components/responses/UnauthorizedResponse' + '403': + $ref: '#/components/responses/ForbiddenResponse' + '404': + $ref: '#/components/responses/NotFoundResponse' + '429': + $ref: '#/components/responses/TooManyRequestsResponse' + security: + - apiKeyAuth: [] + appKeyAuth: [] + - AuthZ: + - incident_notification_settings_read + summary: Get an incident notification rule + tags: + - Incidents + x-permission: + operator: AND + permissions: + - incident_notification_settings_read + x-unstable: |- + **Note**: This endpoint is in Preview. + If you have any feedback, contact [Datadog support](https://docs.datadoghq.com/help/). + put: + description: Updates an existing notification rule with a complete replacement. + operationId: UpdateIncidentNotificationRule + parameters: + - $ref: '#/components/parameters/IncidentNotificationRuleIDPathParameter' + - $ref: '#/components/parameters/IncidentNotificationRuleIncludeQueryParameter' + requestBody: + content: + application/json: + examples: + default: + value: + data: + attributes: + conditions: + - field: severity + values: + - SEV-1 + - SEV-2 + enabled: true + handles: + - '@team-email@company.com' + - '@slack-channel' + renotify_on: + - status + - severity + trigger: incident_created_trigger + visibility: organization + id: 00000000-0000-0000-0000-000000000001 + relationships: + incident_type: + data: + id: 00000000-0000-0000-0000-000000000000 + type: incident_types + notification_template: + data: + id: 00000000-0000-0000-0000-000000000001 + type: notification_templates + type: incident_notification_rules + schema: + $ref: '#/components/schemas/PutIncidentNotificationRuleRequest' + required: true + responses: + '200': + content: + application/json: + examples: + default: + value: + data: + attributes: + conditions: + - field: severity + values: + - SEV-1 + - SEV-2 + created: '2024-01-01T00:00:00+00:00' + enabled: true + handles: + - '@team-email@example.com' + modified: '2024-01-01T00:00:00+00:00' + trigger: incident_created_trigger + visibility: organization + id: 00000000-0000-0000-0000-000000000001 + type: incident_notification_rules + schema: + $ref: '#/components/schemas/IncidentNotificationRule' + description: OK + '400': + $ref: '#/components/responses/BadRequestResponse' + '401': + $ref: '#/components/responses/UnauthorizedResponse' + '403': + $ref: '#/components/responses/ForbiddenResponse' + '404': + $ref: '#/components/responses/NotFoundResponse' + '429': + $ref: '#/components/responses/TooManyRequestsResponse' + security: + - apiKeyAuth: [] + appKeyAuth: [] + - AuthZ: + - incident_notification_settings_write + summary: Update an incident notification rule + tags: + - Incidents + x-codegen-request-body-name: body + x-permission: + operator: AND + permissions: + - incident_notification_settings_write + x-unstable: |- + **Note**: This endpoint is in Preview. + If you have any feedback, contact [Datadog support](https://docs.datadoghq.com/help/). + /api/v2/incidents/config/notification-templates: + get: + description: Lists all notification templates. Optionally filter by incident type. + operationId: ListIncidentNotificationTemplates + parameters: + - $ref: '#/components/parameters/IncidentNotificationTemplateIncidentTypeFilterQueryParameter' + - $ref: '#/components/parameters/IncidentNotificationTemplateIncludeQueryParameter' + responses: + '200': + content: + application/json: + examples: + default: + value: + data: + - attributes: + category: alert + content: |- + An incident has been declared. + + Title: {{incident.title}} + created: '2024-01-01T00:00:00+00:00' + modified: '2024-01-01T00:00:00+00:00' + name: Incident Alert Template + subject: '{{incident.severity}} Incident: {{incident.title}}' + id: 00000000-0000-0000-0000-000000000001 + type: notification_templates + schema: + $ref: '#/components/schemas/IncidentNotificationTemplateArray' + description: OK + '400': + $ref: '#/components/responses/BadRequestResponse' + '401': + $ref: '#/components/responses/UnauthorizedResponse' + '403': + $ref: '#/components/responses/ForbiddenResponse' + '404': + $ref: '#/components/responses/NotFoundResponse' + '429': + $ref: '#/components/responses/TooManyRequestsResponse' + security: + - apiKeyAuth: [] + appKeyAuth: [] + - AuthZ: [] + summary: List incident notification templates + tags: + - Incidents + x-permission: + operator: AND + permissions: + - incident_notification_settings_read + x-unstable: |- + **Note**: This endpoint is in Preview. + If you have any feedback, contact [Datadog support](https://docs.datadoghq.com/help/). + post: + description: Creates a new notification template. + operationId: CreateIncidentNotificationTemplate + requestBody: + content: + application/json: + examples: + default: + value: + data: + attributes: + category: alert + content: |- + An incident has been declared. + + Title: {{incident.title}} + Severity: {{incident.severity}} + Affected Services: {{incident.services}} + Status: {{incident.state}} + + Please join the incident channel for updates. + name: Incident Alert Template + subject: '{{incident.severity}} Incident: {{incident.title}}' + relationships: + incident_type: + data: + id: 00000000-0000-0000-0000-000000000000 + type: incident_types + type: notification_templates + schema: + $ref: '#/components/schemas/CreateIncidentNotificationTemplateRequest' + required: true + responses: + '201': + content: + application/json: + examples: + default: + value: + data: + attributes: + category: alert + content: |- + An incident has been declared. + + Title: {{incident.title}} + created: '2024-01-01T00:00:00+00:00' + modified: '2024-01-01T00:00:00+00:00' + name: Incident Alert Template + subject: '{{incident.severity}} Incident: {{incident.title}}' + id: 00000000-0000-0000-0000-000000000001 + type: notification_templates + schema: + $ref: '#/components/schemas/IncidentNotificationTemplate' + description: Created + '400': + $ref: '#/components/responses/BadRequestResponse' + '401': + $ref: '#/components/responses/UnauthorizedResponse' + '403': + $ref: '#/components/responses/ForbiddenResponse' + '404': + $ref: '#/components/responses/NotFoundResponse' + '429': + $ref: '#/components/responses/TooManyRequestsResponse' + security: + - apiKeyAuth: [] + appKeyAuth: [] + - AuthZ: + - incident_notification_settings_write + summary: Create incident notification template + tags: + - Incidents + x-codegen-request-body-name: body + x-permission: + operator: AND + permissions: + - incident_notification_settings_write + x-unstable: |- + **Note**: This endpoint is in Preview. + If you have any feedback, contact [Datadog support](https://docs.datadoghq.com/help/). + /api/v2/incidents/config/notification-templates/{id}: + delete: + description: Deletes a notification template by its ID. + operationId: DeleteIncidentNotificationTemplate + parameters: + - $ref: '#/components/parameters/IncidentNotificationTemplateIDPathParameter' + - $ref: '#/components/parameters/IncidentNotificationTemplateIncludeQueryParameter' + responses: + '204': + description: No Content + '400': + $ref: '#/components/responses/BadRequestResponse' + '401': + $ref: '#/components/responses/UnauthorizedResponse' + '403': + $ref: '#/components/responses/ForbiddenResponse' + '404': + $ref: '#/components/responses/NotFoundResponse' + '429': + $ref: '#/components/responses/TooManyRequestsResponse' + security: + - apiKeyAuth: [] + appKeyAuth: [] + - AuthZ: + - incident_notification_settings_write + summary: Delete a notification template + tags: + - Incidents + x-permission: + operator: AND + permissions: + - incident_notification_settings_write + x-unstable: |- + **Note**: This endpoint is in Preview. + If you have any feedback, contact [Datadog support](https://docs.datadoghq.com/help/). + get: + description: Retrieves a specific notification template by its ID. + operationId: GetIncidentNotificationTemplate + parameters: + - $ref: '#/components/parameters/IncidentNotificationTemplateIDPathParameter' + - $ref: '#/components/parameters/IncidentNotificationTemplateIncludeQueryParameter' + responses: + '200': + content: + application/json: + examples: + default: + value: + data: + attributes: + category: alert + content: |- + An incident has been declared. + + Title: {{incident.title}} + created: '2024-01-01T00:00:00+00:00' + modified: '2024-01-01T00:00:00+00:00' + name: Incident Alert Template + subject: '{{incident.severity}} Incident: {{incident.title}}' + id: 00000000-0000-0000-0000-000000000001 + type: notification_templates + schema: + $ref: '#/components/schemas/IncidentNotificationTemplate' + description: OK + '400': + $ref: '#/components/responses/BadRequestResponse' + '401': + $ref: '#/components/responses/UnauthorizedResponse' + '403': + $ref: '#/components/responses/ForbiddenResponse' + '404': + $ref: '#/components/responses/NotFoundResponse' + '429': + $ref: '#/components/responses/TooManyRequestsResponse' + security: + - apiKeyAuth: [] + appKeyAuth: [] + - AuthZ: + - incident_read + - incident_write + summary: Get incident notification template + tags: + - Incidents + x-permission: + operator: OR + permissions: + - incident_settings_read + - incident_write + - incident_read + x-unstable: |- + **Note**: This endpoint is in Preview. + If you have any feedback, contact [Datadog support](https://docs.datadoghq.com/help/). + patch: + description: Updates an existing notification template's attributes. + operationId: UpdateIncidentNotificationTemplate + parameters: + - $ref: '#/components/parameters/IncidentNotificationTemplateIDPathParameter' + - $ref: '#/components/parameters/IncidentNotificationTemplateIncludeQueryParameter' + requestBody: + content: + application/json: + examples: + default: + value: + data: + attributes: + category: update + content: |- + Incident Status Update: + + Title: {{incident.title}} + New Status: {{incident.state}} + Severity: {{incident.severity}} + Services: {{incident.services}} + Commander: {{incident.commander}} + + For more details, visit the incident page. + name: Incident Status Update Template + subject: 'Incident Update: {{incident.title}} - {{incident.state}}' + id: 00000000-0000-0000-0000-000000000001 + type: notification_templates + schema: + $ref: '#/components/schemas/PatchIncidentNotificationTemplateRequest' + required: true + responses: + '200': + content: + application/json: + examples: + default: + value: + data: + attributes: + category: alert + content: |- + An incident has been declared. + + Title: {{incident.title}} + created: '2024-01-01T00:00:00+00:00' + modified: '2024-01-01T00:00:00+00:00' + name: Incident Alert Template + subject: '{{incident.severity}} Incident: {{incident.title}}' + id: 00000000-0000-0000-0000-000000000001 + type: notification_templates + schema: + $ref: '#/components/schemas/IncidentNotificationTemplate' + description: OK + '400': + $ref: '#/components/responses/BadRequestResponse' + '401': + $ref: '#/components/responses/UnauthorizedResponse' + '403': + $ref: '#/components/responses/ForbiddenResponse' + '404': + $ref: '#/components/responses/NotFoundResponse' + '429': + $ref: '#/components/responses/TooManyRequestsResponse' + security: + - apiKeyAuth: [] + appKeyAuth: [] + - AuthZ: + - incident_notification_settings_write + summary: Update incident notification template + tags: + - Incidents + x-codegen-request-body-name: body + x-permission: + operator: AND + permissions: + - incident_notification_settings_write + x-unstable: |- + **Note**: This endpoint is in Preview. + If you have any feedback, contact [Datadog support](https://docs.datadoghq.com/help/). + /api/v2/incidents/config/postmortem-templates: + get: + description: Retrieve a list of all postmortem templates for incidents. + operationId: ListIncidentPostmortemTemplates + parameters: + - $ref: '#/components/parameters/PostmortemTemplateFilterIncidentTypeParameter' + - $ref: '#/components/parameters/PostmortemTemplateSortParameter' + responses: + '200': + content: + application/json: + examples: + default: + value: + data: + - attributes: + content: |- + # Overview + + # What Happened + + # Timeline + + # Action Items + createdAt: '2024-01-01T00:00:00+00:00' + is_default: '2024-01-01T00:00:00+00:00' + location: datadog_notebooks + modifiedAt: '2024-01-01T00:00:00+00:00' + name: Standard Postmortem Template + id: 00000000-0000-0000-0000-000000000001 + relationships: + incident_type: + data: + id: 00000000-0000-0000-0000-000000000009 + type: incident_types + type: postmortem_templates + schema: + $ref: '#/components/schemas/PostmortemTemplatesResponse' + description: OK + '400': + content: + application/json: + schema: + $ref: '#/components/schemas/JSONAPIErrorResponse' + description: Bad Request + '429': + $ref: '#/components/responses/TooManyRequestsResponse' + summary: List postmortem templates + tags: + - Incidents + x-unstable: |- + **Note**: This endpoint is in preview and is subject to change. + If you have any feedback, contact [Datadog support](https://docs.datadoghq.com/help/). + post: + description: Create a new postmortem template for incidents. + operationId: CreateIncidentPostmortemTemplate + requestBody: + content: + application/json: + examples: + default: + value: + data: + attributes: + content: |- + # Overview + + # What Happened + + # Timeline + + # Action Items + name: Standard Postmortem Template + relationships: + incident_type: + data: + id: 00000000-0000-0000-0000-000000000009 + type: incident_types + type: postmortem_templates + schema: + $ref: '#/components/schemas/PostmortemTemplateRequest' + required: true + responses: + '201': + content: + application/json: + examples: + default: + value: + data: + attributes: + content: |- + # Overview + + # What Happened + + # Timeline + + # Action Items + createdAt: '2024-01-01T00:00:00+00:00' + is_default: null + location: datadog_notebooks + modifiedAt: '2024-01-01T00:00:00+00:00' + name: Standard Postmortem Template + id: 00000000-0000-0000-0000-000000000002 + relationships: + incident_type: + data: + id: 00000000-0000-0000-0000-000000000009 + type: incident_types + type: postmortem_templates + schema: + $ref: '#/components/schemas/PostmortemTemplateResponse' + description: Created + '400': + content: + application/json: + schema: + $ref: '#/components/schemas/JSONAPIErrorResponse' + description: Bad Request + '403': + content: + application/json: + schema: + $ref: '#/components/schemas/JSONAPIErrorResponse' + description: Forbidden + '429': + $ref: '#/components/responses/TooManyRequestsResponse' + summary: Create postmortem template + tags: + - Incidents + x-unstable: |- + **Note**: This endpoint is in preview and is subject to change. + If you have any feedback, contact [Datadog support](https://docs.datadoghq.com/help/). + /api/v2/incidents/config/postmortem-templates/{template_id}: + delete: + description: Delete a postmortem template. + operationId: DeleteIncidentPostmortemTemplate + parameters: + - $ref: '#/components/parameters/PostmortemTemplateIdParameter' + responses: + '204': + description: No Content + '400': + content: + application/json: + schema: + $ref: '#/components/schemas/JSONAPIErrorResponse' + description: Bad Request + '404': + content: + application/json: + schema: + $ref: '#/components/schemas/JSONAPIErrorResponse' + description: Not Found + '429': + $ref: '#/components/responses/TooManyRequestsResponse' + summary: Delete postmortem template + tags: + - Incidents + x-unstable: |- + **Note**: This endpoint is in preview and is subject to change. + If you have any feedback, contact [Datadog support](https://docs.datadoghq.com/help/). + get: + description: Retrieve details of a specific postmortem template. + operationId: GetIncidentPostmortemTemplate + parameters: + - $ref: '#/components/parameters/PostmortemTemplateIdParameter' + responses: + '200': + content: + application/json: + examples: + default: + value: + data: + attributes: + content: |- + # Overview + + # What Happened + + # Timeline + + # Action Items + createdAt: '2024-01-01T00:00:00+00:00' + is_default: null + location: datadog_notebooks + modifiedAt: '2024-01-01T00:00:00+00:00' + name: Standard Postmortem Template + id: 00000000-0000-0000-0000-000000000003 + relationships: + incident_type: + data: + id: 00000000-0000-0000-0000-000000000009 + type: incident_types + type: postmortem_templates + schema: + $ref: '#/components/schemas/PostmortemTemplateResponse' + description: OK + '400': + content: + application/json: + schema: + $ref: '#/components/schemas/JSONAPIErrorResponse' + description: Bad Request + '404': + content: + application/json: + schema: + $ref: '#/components/schemas/JSONAPIErrorResponse' + description: Not Found + '429': + $ref: '#/components/responses/TooManyRequestsResponse' + summary: Get postmortem template + tags: + - Incidents + x-unstable: |- + **Note**: This endpoint is in preview and is subject to change. + If you have any feedback, contact [Datadog support](https://docs.datadoghq.com/help/). + patch: + description: Update an existing postmortem template. + operationId: UpdateIncidentPostmortemTemplate + parameters: + - $ref: '#/components/parameters/PostmortemTemplateIdParameter' + requestBody: + content: + application/json: + examples: + default: + value: + data: + attributes: + name: Standard Postmortem Template + id: 00000000-0000-0000-0000-000000000004 + type: postmortem_templates + schema: + $ref: '#/components/schemas/PostmortemTemplateRequest' + required: true + responses: + '200': + content: + application/json: + examples: + default: + value: + data: + attributes: + content: |- + # Overview + + # What Happened + + # Timeline + + # Action Items + createdAt: '2024-01-01T00:00:00+00:00' + is_default: null + location: datadog_notebooks + modifiedAt: '2024-01-01T00:00:00+00:00' + name: Standard Postmortem Template + id: 00000000-0000-0000-0000-000000000004 + relationships: + incident_type: + data: + id: 00000000-0000-0000-0000-000000000009 + type: incident_types + type: postmortem_templates + schema: + $ref: '#/components/schemas/PostmortemTemplateResponse' + description: OK + '400': + content: + application/json: + schema: + $ref: '#/components/schemas/JSONAPIErrorResponse' + description: Bad Request + '404': + content: + application/json: + schema: + $ref: '#/components/schemas/JSONAPIErrorResponse' + description: Not Found + '429': + $ref: '#/components/responses/TooManyRequestsResponse' + summary: Update postmortem template + tags: + - Incidents + x-unstable: |- + **Note**: This endpoint is in preview and is subject to change. + If you have any feedback, contact [Datadog support](https://docs.datadoghq.com/help/). + /api/v2/incidents/config/rules: + get: + description: List all incident rules. + operationId: ListIncidentRules + parameters: + - description: Filter rules by task ID. + in: query + name: filter[task_id] + required: false + schema: + example: notify-incident-handles-job + type: string + - description: Filter rules by trigger. + in: query + name: filter[trigger] + required: false + schema: + example: incident_created_trigger + type: string + - description: Filter rules by incident type UUID. + in: query + name: incidentTypeUUID + required: false + schema: + example: 00000000-0000-0000-0000-000000000000 + format: uuid + type: string + responses: + '200': + content: + application/json: + examples: + default: + value: + data: [] + schema: + $ref: '#/components/schemas/IncidentRulesResponse' + description: OK + '400': + $ref: '#/components/responses/BadRequestResponse' + '401': + $ref: '#/components/responses/UnauthorizedResponse' + '403': + $ref: '#/components/responses/ForbiddenResponse' + '429': + $ref: '#/components/responses/TooManyRequestsResponse' + security: + - apiKeyAuth: [] + appKeyAuth: [] + - AuthZ: + - incident_settings_read + summary: List incident rules + tags: + - Incidents + x-permission: + operator: OR + permissions: + - incident_settings_read + - incident_notification_settings_read + x-unstable: |- + **Note**: This endpoint is in preview and is subject to change. + If you have any feedback, contact [Datadog support](https://docs.datadoghq.com/help/). + post: + description: Create an incident rule. + operationId: CreateIncidentRule + requestBody: + content: + application/json: + examples: + default: + value: + data: + attributes: + condition: + raw_query: severity:SEV-1 + condition_table_type: 1 + enabled: true + execution_type: 1 + task_id: notify-incident-handles-job + task_payload: '{}' + trigger: incident_created_trigger + type: incident_rules + schema: + $ref: '#/components/schemas/IncidentRuleRequest' + description: Incident rule payload. + required: true + responses: + '201': + content: + application/json: + examples: + default: + value: + data: + attributes: + condition: + raw_query: severity:SEV-1 + condition_table_type: 1 + created: '2024-01-01T00:00:00.000Z' + enabled: true + execution_type: 1 + modified: '2024-01-01T00:00:00.000Z' + task_id: notify-incident-handles-job + task_payload: '{}' + trigger: incident_created_trigger + id: 00000000-0000-0000-0000-000000000001 + type: incidents_rules + schema: + $ref: '#/components/schemas/IncidentRuleResponse' + description: Created + '400': + $ref: '#/components/responses/BadRequestResponse' + '401': + $ref: '#/components/responses/UnauthorizedResponse' + '403': + $ref: '#/components/responses/ForbiddenResponse' + '429': + $ref: '#/components/responses/TooManyRequestsResponse' + security: + - apiKeyAuth: [] + appKeyAuth: [] + - AuthZ: + - incident_settings_write + summary: Create an incident rule + tags: + - Incidents + x-codegen-request-body-name: body + x-permission: + operator: OR + permissions: + - incident_settings_write + - incident_notification_settings_write + x-unstable: |- + **Note**: This endpoint is in preview and is subject to change. + If you have any feedback, contact [Datadog support](https://docs.datadoghq.com/help/). + /api/v2/incidents/config/rules/{rule_id}: + delete: + description: Delete an incident rule. + operationId: DeleteIncidentRule + parameters: + - $ref: '#/components/parameters/IncidentRuleIDPathParameter' + responses: + '204': + description: No Content + '400': + $ref: '#/components/responses/BadRequestResponse' + '401': + $ref: '#/components/responses/UnauthorizedResponse' + '403': + $ref: '#/components/responses/ForbiddenResponse' + '404': + $ref: '#/components/responses/NotFoundResponse' + '429': + $ref: '#/components/responses/TooManyRequestsResponse' + security: + - apiKeyAuth: [] + appKeyAuth: [] + - AuthZ: + - incident_settings_write + summary: Delete an incident rule + tags: + - Incidents + x-permission: + operator: OR + permissions: + - incident_settings_write + - incident_notification_settings_write + x-unstable: |- + **Note**: This endpoint is in preview and is subject to change. + If you have any feedback, contact [Datadog support](https://docs.datadoghq.com/help/). + get: + description: Get a single incident rule by ID. + operationId: GetIncidentRule + parameters: + - $ref: '#/components/parameters/IncidentRuleIDPathParameter' + responses: + '200': + content: + application/json: + examples: + default: + value: + data: + attributes: + condition: + raw_query: severity:SEV-1 + condition_table_type: 1 + created: '2024-01-01T00:00:00.000Z' + enabled: true + execution_type: 1 + modified: '2024-01-01T00:00:00.000Z' + task_id: notify-incident-handles-job + task_payload: '{}' + trigger: incident_created_trigger + id: 00000000-0000-0000-0000-000000000001 + type: incidents_rules + schema: + $ref: '#/components/schemas/IncidentRuleResponse' + description: OK + '400': + $ref: '#/components/responses/BadRequestResponse' + '401': + $ref: '#/components/responses/UnauthorizedResponse' + '403': + $ref: '#/components/responses/ForbiddenResponse' + '404': + $ref: '#/components/responses/NotFoundResponse' + '429': + $ref: '#/components/responses/TooManyRequestsResponse' + security: + - apiKeyAuth: [] + appKeyAuth: [] + - AuthZ: + - incident_settings_read + summary: Get an incident rule + tags: + - Incidents + x-permission: + operator: OR + permissions: + - incident_settings_read + - incident_notification_settings_read + x-unstable: |- + **Note**: This endpoint is in preview and is subject to change. + If you have any feedback, contact [Datadog support](https://docs.datadoghq.com/help/). + patch: + description: Update an incident rule. + operationId: UpdateIncidentRule + parameters: + - $ref: '#/components/parameters/IncidentRuleIDPathParameter' + requestBody: + content: + application/json: + examples: + default: + value: + data: + attributes: + enabled: false + id: 00000000-0000-0000-0000-000000000001 + type: incident_rules + schema: + $ref: '#/components/schemas/IncidentRulePatchRequest' + description: Incident rule patch payload. + required: true + responses: + '200': + content: + application/json: + examples: + default: + value: + data: + attributes: + condition: + raw_query: severity:SEV-1 + condition_table_type: 1 + created: '2024-01-01T00:00:00.000Z' + enabled: false + execution_type: 1 + modified: '2024-01-02T00:00:00.000Z' + task_id: notify-incident-handles-job + task_payload: '{}' + trigger: incident_created_trigger + id: 00000000-0000-0000-0000-000000000001 + type: incidents_rules + schema: + $ref: '#/components/schemas/IncidentRuleResponse' + description: OK + '400': + $ref: '#/components/responses/BadRequestResponse' + '401': + $ref: '#/components/responses/UnauthorizedResponse' + '403': + $ref: '#/components/responses/ForbiddenResponse' + '404': + $ref: '#/components/responses/NotFoundResponse' + '429': + $ref: '#/components/responses/TooManyRequestsResponse' + security: + - apiKeyAuth: [] + appKeyAuth: [] + - AuthZ: + - incident_settings_write + summary: Update an incident rule + tags: + - Incidents + x-codegen-request-body-name: body + x-permission: + operator: OR + permissions: + - incident_settings_write + - incident_notification_settings_write + x-unstable: |- + **Note**: This endpoint is in preview and is subject to change. + If you have any feedback, contact [Datadog support](https://docs.datadoghq.com/help/). + /api/v2/incidents/config/types: + get: + description: Get all incident types. + operationId: ListIncidentTypes + parameters: + - $ref: '#/components/parameters/IncidentTypeIncludeDeletedParameter' + responses: + '200': + content: + application/json: + examples: + default: + value: + data: + - attributes: + description: Any incidents that harm the confidentiality, integrity, or availability of our data. + is_default: false + name: Security Incident + id: 00000000-0000-0000-0000-000000000002 + type: incident_types + schema: + $ref: '#/components/schemas/IncidentTypeListResponse' + description: OK + '400': + $ref: '#/components/responses/BadRequestResponse' + '401': + $ref: '#/components/responses/UnauthorizedResponse' + '403': + $ref: '#/components/responses/ForbiddenResponse' + '429': + $ref: '#/components/responses/TooManyRequestsResponse' + security: + - apiKeyAuth: [] + appKeyAuth: [] + - AuthZ: + - incident_read + summary: Get a list of incident types + tags: + - Incidents + x-permission: + operator: OR + permissions: + - incident_settings_read + - incident_read + x-unstable: |- + **Note**: This endpoint is in public beta. + If you have any feedback, contact [Datadog support](https://docs.datadoghq.com/help/). + post: + description: Create an incident type. + operationId: CreateIncidentType + requestBody: + content: + application/json: + examples: + default: + value: + data: + attributes: + createdBy: 00000000-0000-0000-0000-000000000000 + description: Any incidents that harm (or have the potential to) the confidentiality, integrity, or availability of our data. + is_default: false + lastModifiedBy: 00000000-0000-0000-0000-000000000000 + name: Security Incident + prefix: IR + type: incident_types + schema: + $ref: '#/components/schemas/IncidentTypeCreateRequest' + description: Incident type payload. + required: true + responses: + '201': + content: + application/json: + examples: + default: + value: + data: + attributes: + description: Any incidents that harm the confidentiality, integrity, or availability of our data. + is_default: false + name: Security Incident + id: 00000000-0000-0000-0000-000000000001 + type: incident_types + schema: + $ref: '#/components/schemas/IncidentTypeResponse' + description: CREATED + '400': + $ref: '#/components/responses/BadRequestResponse' + '401': + $ref: '#/components/responses/UnauthorizedResponse' + '403': + $ref: '#/components/responses/ForbiddenResponse' + '404': + $ref: '#/components/responses/NotFoundResponse' + '429': + $ref: '#/components/responses/TooManyRequestsResponse' + security: + - apiKeyAuth: [] + appKeyAuth: [] + - AuthZ: + - incident_settings_write + summary: Create an incident type + tags: + - Incidents + x-codegen-request-body-name: body + x-permission: + operator: AND + permissions: + - incident_settings_write + x-unstable: |- + **Note**: This endpoint is in public beta. + If you have any feedback, contact [Datadog support](https://docs.datadoghq.com/help/). + /api/v2/incidents/config/types/org-settings: + get: + description: List org settings for all incident types. + operationId: ListOrgSettings + parameters: + - description: Maximum number of results to return. + in: query + name: page[size] + required: false + schema: + example: 10 + format: int64 + type: integer + - description: The offset for pagination. + in: query + name: page[offset] + required: false + schema: + example: 0 + format: int64 + type: integer + - description: Whether to include deleted records. + in: query + name: include-deleted + required: false + schema: + example: false + type: boolean + - description: Comma-separated list of related resources to include in the response. + in: query + name: include + required: false + schema: + example: incident_type + type: string + responses: + '200': + content: + application/json: + examples: + default: + value: + data: [] + schema: + $ref: '#/components/schemas/IncidentOrgSettingsListResponse' + description: OK + '400': + $ref: '#/components/responses/BadRequestResponse' + '401': + $ref: '#/components/responses/UnauthorizedResponse' + '403': + $ref: '#/components/responses/ForbiddenResponse' + '429': + $ref: '#/components/responses/TooManyRequestsResponse' + security: + - apiKeyAuth: [] + appKeyAuth: [] + - AuthZ: + - incident_read + summary: List incident type org settings + tags: + - Incidents + x-permission: + operator: OR + permissions: + - incident_settings_read + - incident_read + x-unstable: |- + **Note**: This endpoint is in preview and is subject to change. + If you have any feedback, contact [Datadog support](https://docs.datadoghq.com/help/). + /api/v2/incidents/config/types/{incident_type_id}: + delete: + description: Delete an incident type. + operationId: DeleteIncidentType + parameters: + - $ref: '#/components/parameters/IncidentTypeIDPathParameter' + responses: + '204': + description: OK + '400': + $ref: '#/components/responses/BadRequestResponse' + '401': + $ref: '#/components/responses/UnauthorizedResponse' + '403': + $ref: '#/components/responses/ForbiddenResponse' + '404': + $ref: '#/components/responses/NotFoundResponse' + '429': + $ref: '#/components/responses/TooManyRequestsResponse' + security: + - apiKeyAuth: [] + appKeyAuth: [] + - AuthZ: + - incident_settings_write + summary: Delete an incident type + tags: + - Incidents + x-codegen-request-body-name: body + x-permission: + operator: OR + permissions: + - incident_settings_write + x-unstable: |- + **Note**: This endpoint is in public beta. + If you have any feedback, contact [Datadog support](https://docs.datadoghq.com/help/). + get: + description: Get incident type details. + operationId: GetIncidentType + parameters: + - $ref: '#/components/parameters/IncidentTypeIDPathParameter' + responses: + '200': + content: + application/json: + examples: + default: + value: + data: + attributes: + description: Any incidents that harm the confidentiality, integrity, or availability of our data. + is_default: false + name: Security Incident + id: 00000000-0000-0000-0000-000000000003 + type: incident_types + schema: + $ref: '#/components/schemas/IncidentTypeResponse' + description: OK + '400': + $ref: '#/components/responses/BadRequestResponse' + '401': + $ref: '#/components/responses/UnauthorizedResponse' + '403': + $ref: '#/components/responses/ForbiddenResponse' + '404': + $ref: '#/components/responses/NotFoundResponse' + '429': + $ref: '#/components/responses/TooManyRequestsResponse' + security: + - apiKeyAuth: [] + appKeyAuth: [] + - AuthZ: + - incident_read + summary: Get incident type details + tags: + - Incidents + x-permission: + operator: OR + permissions: + - incident_read + x-unstable: |- + **Note**: This endpoint is in public beta. + If you have any feedback, contact [Datadog support](https://docs.datadoghq.com/help/). + patch: + description: Update an incident type. + operationId: UpdateIncidentType + parameters: + - $ref: '#/components/parameters/IncidentTypeIDPathParameter' + requestBody: + content: + application/json: + examples: + default: + value: + data: + attributes: + createdBy: 00000000-0000-0000-0000-000000000000 + description: 'Any incidents that harm (or have the potential to) the confidentiality, integrity, or availability of our data. Note: This will notify the security team.' + is_default: false + lastModifiedBy: 00000000-0000-0000-0000-000000000000 + name: Security Incident + prefix: IR + id: 00000000-0000-0000-0000-000000000000 + type: incident_types + schema: + $ref: '#/components/schemas/IncidentTypePatchRequest' + description: Incident type payload. + required: true + responses: + '200': + content: + application/json: + examples: + default: + value: + data: + attributes: + description: Any incidents that harm the confidentiality, integrity, or availability of our data. + is_default: false + name: Security Incident + id: 00000000-0000-0000-0000-000000000004 + type: incident_types + schema: + $ref: '#/components/schemas/IncidentTypeResponse' + description: OK + '400': + $ref: '#/components/responses/BadRequestResponse' + '401': + $ref: '#/components/responses/UnauthorizedResponse' + '403': + $ref: '#/components/responses/ForbiddenResponse' + '404': + $ref: '#/components/responses/NotFoundResponse' + '429': + $ref: '#/components/responses/TooManyRequestsResponse' + security: + - apiKeyAuth: [] + appKeyAuth: [] + - AuthZ: + - incident_settings_write + summary: Update an incident type + tags: + - Incidents + x-codegen-request-body-name: body + x-permission: + operator: OR + permissions: + - incident_settings_write + x-unstable: |- + **Note**: This endpoint is in public beta. + If you have any feedback, contact [Datadog support](https://docs.datadoghq.com/help/). + /api/v2/incidents/config/types/{incident_type_id}/org-settings: + get: + description: Get the org settings for a specific incident type. + operationId: GetOrgSettingsByIncidentType + parameters: + - $ref: '#/components/parameters/IncidentOrgSettingsTypeIDPathParameter' + - description: Comma-separated list of related resources to include in the response. + in: query + name: include + required: false + schema: + example: incident_type + type: string + responses: + '200': + content: + application/json: + examples: + default: + value: + data: + attributes: + created: '2024-01-01T00:00:00.000Z' + modified: '2024-01-01T00:00:00.000Z' + settings: + allow_anonymous_incident_declaration: false + allow_guest_incident_declaration: false + pagerduty_paging: true + private_incidents_by_default: false + id: 00000000-0000-0000-0000-000000000001 + type: incident_org_settings + schema: + $ref: '#/components/schemas/IncidentOrgSettingsResponse' + description: OK + '400': + $ref: '#/components/responses/BadRequestResponse' + '401': + $ref: '#/components/responses/UnauthorizedResponse' + '403': + $ref: '#/components/responses/ForbiddenResponse' + '404': + $ref: '#/components/responses/NotFoundResponse' + '429': + $ref: '#/components/responses/TooManyRequestsResponse' + security: + - apiKeyAuth: [] + appKeyAuth: [] + - AuthZ: + - incident_read + summary: Get org settings by incident type + tags: + - Incidents + x-permission: + operator: OR + permissions: + - incident_settings_read + - incident_read + x-unstable: |- + **Note**: This endpoint is in preview and is subject to change. + If you have any feedback, contact [Datadog support](https://docs.datadoghq.com/help/). + /api/v2/incidents/config/user-defined-fields: + get: + description: Get a list of all incident user-defined fields. + operationId: ListIncidentUserDefinedFields + parameters: + - description: The number of results to return per page. Must be between 0 and 1000. + in: query + name: page[size] + schema: + default: 1000 + format: int64 + maximum: 1000 + minimum: 0 + type: integer + - description: The page number to retrieve, starting at 0. + in: query + name: page[number] + schema: + default: 0 + format: int64 + minimum: 0 + type: integer + - description: When true, include soft-deleted fields in the response. + in: query + name: include-deleted + schema: + default: false + type: boolean + - description: Filter results to fields associated with the given incident type UUID. + in: query + name: filter[incident-type] + schema: + type: string + - description: Comma-separated list of related resources to include. Supported values are "last_modified_by_user", "created_by_user", and "incident_type". + in: query + name: include + schema: + type: string + responses: + '200': + content: + application/json: + examples: + default: + value: + data: + - attributes: + category: what_happened + collected: active + created: '2026-03-18T08:40:04.437887Z' + default_value: null + deleted: null + display_name: Root Cause + metadata: null + modified: '2026-03-18T08:40:04.437887Z' + name: root_cause + ordinal: '1.1' + required: false + reserved: false + tag_key: null + type: 1 + valid_values: + - description: A bug in the service code. + display_name: Service Bug + value: service_bug + id: 6f8f42e0-6a84-4495-9a24-6decb0a87de0 + relationships: + created_by_user: + data: + id: 00000000-0000-0000-0000-000000000001 + type: users + incident_type: + data: + id: 7459c30c-c661-4171-9474-db3a486377b2 + type: incident_types + last_modified_by_user: + data: + id: 00000000-0000-0000-0000-000000000001 + type: users + type: user_defined_field + meta: + offset: 0 + size: 1 + schema: + $ref: '#/components/schemas/IncidentUserDefinedFieldListResponse' + description: OK + '400': + content: + application/json: + schema: + $ref: '#/components/schemas/JSONAPIErrorResponse' + description: Bad Request + '401': + $ref: '#/components/responses/UnauthorizedResponse' + '403': + $ref: '#/components/responses/ForbiddenResponse' + '429': + $ref: '#/components/responses/TooManyRequestsResponse' + security: + - apiKeyAuth: [] + appKeyAuth: [] + - AuthZ: + - incident_read + summary: Get a list of incident user-defined fields + tags: + - Incidents + x-permission: + operator: AND + permissions: + - incident_read + x-unstable: |- + **Note**: This endpoint is in preview and is subject to change. + If you have any feedback, contact [Datadog support](https://docs.datadoghq.com/help/). + post: + description: Create an incident user-defined field. + operationId: CreateIncidentUserDefinedField + parameters: + - description: Comma-separated list of related resources to include. Supported values are "last_modified_by_user", "created_by_user", and "incident_type". + in: query + name: include + schema: + type: string + requestBody: + content: + application/json: + examples: + default: + value: + data: + attributes: + category: what_happened + collected: active + default_value: critical + display_name: Root Cause + name: root_cause + ordinal: '1.5' + required: false + tag_key: datacenter + type: 3 + valid_values: + - description: A critical severity incident. + display_name: Critical + short_description: Critical + value: critical + relationships: + incident_type: + data: + id: 00000000-0000-0000-0000-000000000000 + type: incident_types + type: user_defined_field + schema: + $ref: '#/components/schemas/IncidentUserDefinedFieldCreateRequest' + description: Incident user-defined field payload. + required: true + responses: + '201': + content: + application/json: + examples: + default: + value: + data: + attributes: + category: null + collected: null + created: '2026-03-18T08:40:05.185406Z' + default_value: null + deleted: null + display_name: Root Cause + metadata: null + modified: '2026-03-18T08:40:05.185406Z' + name: root_cause + ordinal: '9' + required: false + reserved: false + tag_key: null + type: 3 + valid_values: null + id: 82263487-b540-4c12-8797-58ac1d4fed17 + relationships: + created_by_user: + data: + id: 2f2c94fe-cd6e-4f8e-b9c7-d5755aca09a6 + type: users + incident_type: + data: + id: 7459c30c-c661-4171-9474-db3a486377b2 + type: incident_types + last_modified_by_user: + data: + id: 2f2c94fe-cd6e-4f8e-b9c7-d5755aca09a6 + type: users + type: user_defined_field + schema: + $ref: '#/components/schemas/IncidentUserDefinedFieldResponse' + description: CREATED + '400': + content: + application/json: + schema: + $ref: '#/components/schemas/JSONAPIErrorResponse' + description: Bad Request + '401': + $ref: '#/components/responses/UnauthorizedResponse' + '403': + $ref: '#/components/responses/ForbiddenResponse' + '404': + content: + application/json: + schema: + $ref: '#/components/schemas/JSONAPIErrorResponse' + description: Not Found + '429': + $ref: '#/components/responses/TooManyRequestsResponse' + security: + - apiKeyAuth: [] + appKeyAuth: [] + - AuthZ: + - incident_settings_write + summary: Create an incident user-defined field + tags: + - Incidents + x-codegen-request-body-name: body + x-permission: + operator: AND + permissions: + - incident_settings_write + x-unstable: |- + **Note**: This endpoint is in preview and is subject to change. + If you have any feedback, contact [Datadog support](https://docs.datadoghq.com/help/). + /api/v2/incidents/config/user-defined-fields/{field_id}: + delete: + description: Delete an incident user-defined field. + operationId: DeleteIncidentUserDefinedField + parameters: + - $ref: '#/components/parameters/IncidentUserDefinedFieldIDPathParameter' + responses: + '204': + description: No Content + '400': + content: + application/json: + schema: + $ref: '#/components/schemas/JSONAPIErrorResponse' + description: Bad Request + '401': + $ref: '#/components/responses/UnauthorizedResponse' + '403': + $ref: '#/components/responses/ForbiddenResponse' + '404': + content: + application/json: + schema: + $ref: '#/components/schemas/JSONAPIErrorResponse' + description: Not Found + '429': + $ref: '#/components/responses/TooManyRequestsResponse' + security: + - apiKeyAuth: [] + appKeyAuth: [] + - AuthZ: + - incident_settings_write + summary: Delete an incident user-defined field + tags: + - Incidents + x-permission: + operator: AND + permissions: + - incident_settings_write + x-unstable: |- + **Note**: This endpoint is in preview and is subject to change. + If you have any feedback, contact [Datadog support](https://docs.datadoghq.com/help/). + get: + description: Get details of an incident user-defined field. + operationId: GetIncidentUserDefinedField + parameters: + - $ref: '#/components/parameters/IncidentUserDefinedFieldIDPathParameter' + - description: Comma-separated list of related resources to include. Supported values are "last_modified_by_user", "created_by_user", and "incident_type". + in: query + name: include + schema: + type: string + responses: + '200': + content: + application/json: + examples: + default: + value: + data: + attributes: + category: what_happened + collected: active + created: '2026-03-18T08:40:04.437887Z' + default_value: null + deleted: null + display_name: Root Cause + metadata: null + modified: '2026-03-18T08:40:04.437887Z' + name: root_cause + ordinal: '1.1' + required: false + reserved: false + tag_key: null + type: 1 + valid_values: + - description: A bug in the service code. + display_name: Service Bug + value: service_bug + id: 6f8f42e0-6a84-4495-9a24-6decb0a87de0 + relationships: + created_by_user: + data: + id: 00000000-0000-0000-0000-000000000001 + type: users + incident_type: + data: + id: 7459c30c-c661-4171-9474-db3a486377b2 + type: incident_types + last_modified_by_user: + data: + id: 00000000-0000-0000-0000-000000000001 + type: users + type: user_defined_field + schema: + $ref: '#/components/schemas/IncidentUserDefinedFieldResponse' + description: OK + '401': + $ref: '#/components/responses/UnauthorizedResponse' + '403': + $ref: '#/components/responses/ForbiddenResponse' + '404': + content: + application/json: + schema: + $ref: '#/components/schemas/JSONAPIErrorResponse' + description: Not Found + '429': + $ref: '#/components/responses/TooManyRequestsResponse' + security: + - apiKeyAuth: [] + appKeyAuth: [] + - AuthZ: + - incident_read + summary: Get an incident user-defined field + tags: + - Incidents + x-permission: + operator: AND + permissions: + - incident_read + x-unstable: |- + **Note**: This endpoint is in preview and is subject to change. + If you have any feedback, contact [Datadog support](https://docs.datadoghq.com/help/). + patch: + description: Update an incident user-defined field. + operationId: UpdateIncidentUserDefinedField + parameters: + - $ref: '#/components/parameters/IncidentUserDefinedFieldIDPathParameter' + - description: Comma-separated list of related resources to include. Supported values are "last_modified_by_user", "created_by_user", and "incident_type". + in: query + name: include + schema: + type: string + requestBody: + content: + application/json: + examples: + default: + value: + data: + attributes: + category: what_happened + collected: active + default_value: critical + display_name: Root Cause + ordinal: '1.5' + required: false + valid_values: + - description: A critical severity incident. + display_name: Critical + short_description: Critical + value: critical + id: 00000000-0000-0000-0000-000000000000 + type: user_defined_field + schema: + $ref: '#/components/schemas/IncidentUserDefinedFieldUpdateRequest' + description: Incident user-defined field update payload. + required: true + responses: + '200': + content: + application/json: + examples: + default: + value: + data: + attributes: + category: what_happened + collected: null + created: '2026-03-18T08:39:49.913895Z' + default_value: null + deleted: null + display_name: Root Cause + metadata: null + modified: '2026-03-18T08:39:49.922909Z' + name: root_cause + ordinal: '8' + required: false + reserved: false + tag_key: null + type: 3 + valid_values: null + id: 13a731a3-a010-450e-b6a3-3d450a26170c + relationships: + created_by_user: + data: + id: 8e7d4859-0916-4df8-b51c-5f5a4ea7815e + type: users + incident_type: + data: + id: 95edc42f-c55d-46fa-92a1-a182646454af + type: incident_types + last_modified_by_user: + data: + id: 8e7d4859-0916-4df8-b51c-5f5a4ea7815e + type: users + type: user_defined_field + schema: + $ref: '#/components/schemas/IncidentUserDefinedFieldResponse' + description: OK + '400': + content: + application/json: + schema: + $ref: '#/components/schemas/JSONAPIErrorResponse' + description: Bad Request + '401': + $ref: '#/components/responses/UnauthorizedResponse' + '403': + $ref: '#/components/responses/ForbiddenResponse' + '404': + content: + application/json: + schema: + $ref: '#/components/schemas/JSONAPIErrorResponse' + description: Not Found + '429': + $ref: '#/components/responses/TooManyRequestsResponse' + security: + - apiKeyAuth: [] + appKeyAuth: [] + - AuthZ: + - incident_settings_write + summary: Update an incident user-defined field + tags: + - Incidents + x-codegen-request-body-name: body + x-permission: + operator: AND + permissions: + - incident_settings_write + x-unstable: |- + **Note**: This endpoint is in preview and is subject to change. + If you have any feedback, contact [Datadog support](https://docs.datadoghq.com/help/). + /api/v2/incidents/config/user-defined-roles: + get: + description: List all user-defined roles for incidents. + operationId: ListIncidentUserDefinedRoles + parameters: + - description: Filter roles by incident type UUID. + in: query + name: filter[incident-type] + required: false + schema: + example: 00000000-0000-0000-0000-000000000001 + format: uuid + type: string + - description: Comma-separated list of related resources to include in the response. + in: query + name: include + required: false + schema: + example: created_by_user,last_modified_by_user,incident_type + type: string + responses: + '200': + content: + application/json: + examples: + default: + value: + data: + - attributes: + created: '2024-01-01T00:00:00.000Z' + description: The technical lead for the incident. + modified: '2024-01-01T00:00:00.000Z' + name: Tech Lead + policy: + is_single: true + id: 00000000-0000-0000-0000-000000000002 + type: incident_user_defined_roles + schema: + $ref: '#/components/schemas/IncidentUserDefinedRolesResponse' + description: OK + '400': + content: + application/json: + schema: + $ref: '#/components/schemas/JSONAPIErrorResponse' + description: Bad Request + '429': + $ref: '#/components/responses/TooManyRequestsResponse' + security: + - apiKeyAuth: [] + appKeyAuth: [] + - AuthZ: + - incident_settings_read + summary: List incident user-defined roles + tags: + - Incidents + x-unstable: |- + **Note**: This endpoint is in preview and is subject to change. + If you have any feedback, contact [Datadog support](https://docs.datadoghq.com/help/). + post: + description: Create a new user-defined role for incidents. + operationId: CreateIncidentUserDefinedRole + parameters: + - description: Comma-separated list of related resources to include in the response. + in: query + name: include + required: false + schema: + example: created_by_user,last_modified_by_user,incident_type + type: string + requestBody: + content: + application/json: + examples: + default: + value: + data: + attributes: + description: The technical lead for the incident. + name: Tech Lead + policy: + is_single: true + relationships: + incident_type: + data: + id: 00000000-0000-0000-0000-000000000001 + type: incident_types + type: incident_user_defined_roles + schema: + $ref: '#/components/schemas/IncidentUserDefinedRoleRequest' + required: true + responses: + '201': + content: + application/json: + examples: + default: + value: + data: + attributes: + created: '2024-01-01T00:00:00.000Z' + description: The technical lead for the incident. + modified: '2024-01-01T00:00:00.000Z' + name: Tech Lead + policy: + is_single: true + id: 00000000-0000-0000-0000-000000000002 + type: incident_user_defined_roles + schema: + $ref: '#/components/schemas/IncidentUserDefinedRoleResponse' + description: Created + '400': + content: + application/json: + schema: + $ref: '#/components/schemas/JSONAPIErrorResponse' + description: Bad Request + '403': + content: + application/json: + schema: + $ref: '#/components/schemas/JSONAPIErrorResponse' + description: Forbidden + '429': + $ref: '#/components/responses/TooManyRequestsResponse' + security: + - apiKeyAuth: [] + appKeyAuth: [] + - AuthZ: + - incident_settings_write + summary: Create an incident user-defined role + tags: + - Incidents + x-unstable: |- + **Note**: This endpoint is in preview and is subject to change. + If you have any feedback, contact [Datadog support](https://docs.datadoghq.com/help/). + /api/v2/incidents/config/user-defined-roles/{role_id}: + delete: + description: Delete an existing user-defined role for incidents. + operationId: DeleteIncidentUserDefinedRole + parameters: + - $ref: '#/components/parameters/IncidentUserDefinedRoleIDPathParameter' + responses: + '204': + description: No Content + '400': + content: + application/json: + schema: + $ref: '#/components/schemas/JSONAPIErrorResponse' + description: Bad Request + '404': + content: + application/json: + schema: + $ref: '#/components/schemas/JSONAPIErrorResponse' + description: Not Found + '429': + $ref: '#/components/responses/TooManyRequestsResponse' + security: + - apiKeyAuth: [] + appKeyAuth: [] + - AuthZ: + - incident_settings_write + summary: Delete an incident user-defined role + tags: + - Incidents + x-unstable: |- + **Note**: This endpoint is in preview and is subject to change. + If you have any feedback, contact [Datadog support](https://docs.datadoghq.com/help/). + get: + description: Retrieve a single user-defined role for incidents. + operationId: GetIncidentUserDefinedRole + parameters: + - $ref: '#/components/parameters/IncidentUserDefinedRoleIDPathParameter' + - description: Comma-separated list of related resources to include in the response. + in: query + name: include + required: false + schema: + example: created_by_user,last_modified_by_user,incident_type + type: string + responses: + '200': + content: + application/json: + examples: + default: + value: + data: + attributes: + created: '2024-01-01T00:00:00.000Z' + description: The technical lead for the incident. + modified: '2024-01-01T00:00:00.000Z' + name: Tech Lead + policy: + is_single: true + id: 00000000-0000-0000-0000-000000000002 + type: incident_user_defined_roles + schema: + $ref: '#/components/schemas/IncidentUserDefinedRoleResponse' + description: OK + '400': + content: + application/json: + schema: + $ref: '#/components/schemas/JSONAPIErrorResponse' + description: Bad Request + '404': + content: + application/json: + schema: + $ref: '#/components/schemas/JSONAPIErrorResponse' + description: Not Found + '429': + $ref: '#/components/responses/TooManyRequestsResponse' + security: + - apiKeyAuth: [] + appKeyAuth: [] + - AuthZ: + - incident_settings_read + summary: Get an incident user-defined role + tags: + - Incidents + x-unstable: |- + **Note**: This endpoint is in preview and is subject to change. + If you have any feedback, contact [Datadog support](https://docs.datadoghq.com/help/). + patch: + description: Update an existing user-defined role for incidents. + operationId: UpdateIncidentUserDefinedRole + parameters: + - $ref: '#/components/parameters/IncidentUserDefinedRoleIDPathParameter' + - description: Comma-separated list of related resources to include in the response. + in: query + name: include + required: false + schema: + example: created_by_user,last_modified_by_user,incident_type + type: string + requestBody: + content: + application/json: + examples: + default: + value: + data: + attributes: + name: Updated Tech Lead + id: 00000000-0000-0000-0000-000000000002 + type: incident_user_defined_roles + schema: + $ref: '#/components/schemas/IncidentUserDefinedRolePatchRequest' + required: true + responses: + '200': + content: + application/json: + examples: + default: + value: + data: + attributes: + created: '2024-01-01T00:00:00.000Z' + modified: '2024-01-02T00:00:00.000Z' + name: Updated Tech Lead + policy: + is_single: true + id: 00000000-0000-0000-0000-000000000002 + type: incident_user_defined_roles + schema: + $ref: '#/components/schemas/IncidentUserDefinedRoleResponse' + description: OK + '400': + content: + application/json: + schema: + $ref: '#/components/schemas/JSONAPIErrorResponse' + description: Bad Request + '404': + content: + application/json: + schema: + $ref: '#/components/schemas/JSONAPIErrorResponse' + description: Not Found + '429': + $ref: '#/components/responses/TooManyRequestsResponse' + security: + - apiKeyAuth: [] + appKeyAuth: [] + - AuthZ: + - incident_settings_write + summary: Update an incident user-defined role + tags: + - Incidents + x-unstable: |- + **Note**: This endpoint is in preview and is subject to change. + If you have any feedback, contact [Datadog support](https://docs.datadoghq.com/help/). + /api/v2/incidents/import: + post: + description: |- + Import an incident from an external system. This endpoint allows you to create incidents with + historical data such as custom timestamps for detection, declaration, and resolution. + Imported incidents do not execute integrations or notification rules. + operationId: ImportIncident + parameters: + - $ref: '#/components/parameters/IncidentImportIncludeQueryParameter' + requestBody: + content: + application/json: + examples: + default: + value: + data: + attributes: + declared: '2025-01-01T00:00:00Z' + detected: '2025-01-01T00:00:00Z' + fields: + severity: + value: SEV-5 + state: + value: active + incident_type_uuid: 00000000-0000-0000-0000-000000000000 + resolved: '2025-01-01T01:00:00Z' + title: Imported incident from external system + visibility: organization + relationships: + commander_user: + data: + id: 00000000-0000-0000-0000-000000000000 + type: users + declared_by_user: + data: + id: 00000000-0000-0000-0000-000000000000 + type: users + type: incidents + schema: + $ref: '#/components/schemas/IncidentImportRequest' + description: Incident import payload. + required: true + responses: + '201': + content: + application/json: + examples: + default: + value: + data: + attributes: + created: '2024-01-01T00:00:00+00:00' + fields: + severity: + value: SEV-5 + state: + value: active + modified: '2024-01-01T00:00:00+00:00' + title: Imported incident from external system + id: 00000000-0000-0000-1234-000000000000 + type: incidents + schema: + $ref: '#/components/schemas/IncidentImportResponse' + description: CREATED + '400': + $ref: '#/components/responses/BadRequestResponse' + '401': + $ref: '#/components/responses/UnauthorizedResponse' + '403': + $ref: '#/components/responses/ForbiddenResponse' + '404': + $ref: '#/components/responses/NotFoundResponse' + '429': + $ref: '#/components/responses/TooManyRequestsResponse' + security: + - apiKeyAuth: [] + appKeyAuth: [] + - AuthZ: + - incident_write + summary: Import an incident + tags: + - Incidents + x-codegen-request-body-name: body + x-permission: + operator: AND + permissions: + - incident_write + x-unstable: |- + **Note**: This endpoint is in Preview. + If you have any feedback, contact [Datadog support](https://docs.datadoghq.com/help/). + /api/v2/incidents/search: + get: + description: Search for incidents matching a certain query. + operationId: SearchIncidents + parameters: + - $ref: '#/components/parameters/IncidentSearchIncludeQueryParameter' + - $ref: '#/components/parameters/IncidentSearchQueryQueryParameter' + - $ref: '#/components/parameters/IncidentSearchSortQueryParameter' + - $ref: '#/components/parameters/PageSize' + - $ref: '#/components/parameters/PageOffset' + responses: + '200': + content: + application/json: + examples: + default: + value: + data: + attributes: + facets: + severity: [] + state: [] + incidents: [] + total: 0 + type: incidents_search_results + schema: + $ref: '#/components/schemas/IncidentSearchResponse' + description: OK + '400': + $ref: '#/components/responses/BadRequestResponse' + '401': + $ref: '#/components/responses/UnauthorizedResponse' + '403': + $ref: '#/components/responses/ForbiddenResponse' + '404': + $ref: '#/components/responses/NotFoundResponse' + '429': + $ref: '#/components/responses/TooManyRequestsResponse' + security: + - apiKeyAuth: [] + appKeyAuth: [] + - AuthZ: + - incident_read + summary: Search for incidents + tags: + - Incidents + x-pagination: + limitParam: page[size] + pageOffsetParam: page[offset] + resultsPath: data.attributes.incidents + x-permission: + operator: OR + permissions: + - incident_read + x-unstable: |- + **Note**: This endpoint is in public beta. + If you have any feedback, contact [Datadog support](https://docs.datadoghq.com/help/). + /api/v2/incidents/{incident_id}: + delete: + description: Deletes an existing incident from the users organization. + operationId: DeleteIncident + parameters: + - $ref: '#/components/parameters/IncidentIDPathParameter' + responses: + '204': + description: OK + '400': + $ref: '#/components/responses/BadRequestResponse' + '401': + $ref: '#/components/responses/UnauthorizedResponse' + '403': + $ref: '#/components/responses/ForbiddenResponse' + '404': + $ref: '#/components/responses/NotFoundResponse' + '429': + $ref: '#/components/responses/TooManyRequestsResponse' + security: + - apiKeyAuth: [] + appKeyAuth: [] + - AuthZ: + - incident_write + summary: Delete an existing incident + tags: + - Incidents + x-permission: + operator: OR + permissions: + - incident_write + x-unstable: |- + **Note**: This endpoint is in public beta. + If you have any feedback, contact [Datadog support](https://docs.datadoghq.com/help/). + get: + description: Get the details of an incident by `incident_id`. + operationId: GetIncident + parameters: + - $ref: '#/components/parameters/IncidentIDPathParameter' + - $ref: '#/components/parameters/IncidentIncludeQueryParameter' + responses: + '200': + content: + application/json: + examples: + default: + value: + data: + attributes: + created: '2024-01-01T00:00:00+00:00' + customer_impacted: false + fields: + severity: + type: dropdown + value: SEV-5 + modified: '2024-01-01T00:00:00+00:00' + title: A test incident title + id: 00000000-0000-0000-1234-000000000000 + type: incidents + schema: + $ref: '#/components/schemas/IncidentResponse' + description: OK + '400': + $ref: '#/components/responses/BadRequestResponse' + '401': + $ref: '#/components/responses/UnauthorizedResponse' + '403': + $ref: '#/components/responses/ForbiddenResponse' + '404': + $ref: '#/components/responses/NotFoundResponse' + '429': + $ref: '#/components/responses/TooManyRequestsResponse' + security: + - apiKeyAuth: [] + appKeyAuth: [] + - AuthZ: + - incident_read + summary: Get the details of an incident + tags: + - Incidents + x-permission: + operator: OR + permissions: + - incident_read + x-unstable: |- + **Note**: This endpoint is in public beta. + If you have any feedback, contact [Datadog support](https://docs.datadoghq.com/help/). + patch: + description: Updates an incident. Provide only the attributes that should be updated as this request is a partial update. + operationId: UpdateIncident + parameters: + - $ref: '#/components/parameters/IncidentIDPathParameter' + - $ref: '#/components/parameters/IncidentIncludeQueryParameter' + requestBody: + content: + application/json: + examples: + default: + value: + data: + attributes: + customer_impact_scope: Example customer impact scope + customer_impacted: false + fields: + severity: + type: dropdown + value: SEV-5 + notification_handles: + - display_name: Jane Doe + handle: '@user@email.com' + - display_name: Slack Channel + handle: '@slack-channel' + - display_name: Incident Workflow + handle: '@workflow-from-incident' + title: A test incident title + id: 00000000-0000-0000-4567-000000000000 + relationships: + commander_user: + data: + id: 00000000-0000-0000-0000-000000000000 + type: users + integrations: + data: + - id: 00000000-abcd-0005-0000-000000000000 + type: incident_integrations + - id: 00000000-abcd-0006-0000-000000000000 + type: incident_integrations + postmortem: + data: + id: 00000000-0000-abcd-3000-000000000000 + type: incident_postmortems + type: incidents + schema: + $ref: '#/components/schemas/IncidentUpdateRequest' + description: Incident Payload. + required: true + responses: + '200': + content: + application/json: + examples: + default: + value: + data: + attributes: + created: '2024-01-01T00:00:00+00:00' + customer_impacted: false + fields: + severity: + type: dropdown + value: SEV-5 + modified: '2024-01-01T00:00:00+00:00' + title: A test incident title + id: 00000000-0000-0000-1234-000000000000 + type: incidents + schema: + $ref: '#/components/schemas/IncidentResponse' + description: OK + '400': + $ref: '#/components/responses/BadRequestResponse' + '401': + $ref: '#/components/responses/UnauthorizedResponse' + '403': + $ref: '#/components/responses/ForbiddenResponse' + '404': + $ref: '#/components/responses/NotFoundResponse' + '429': + $ref: '#/components/responses/TooManyRequestsResponse' + security: + - apiKeyAuth: [] + appKeyAuth: [] + - AuthZ: + - incident_write + summary: Update an existing incident + tags: + - Incidents + x-codegen-request-body-name: body + x-permission: + operator: OR + permissions: + - incident_write + x-unstable: |- + **Note**: This endpoint is in public beta. + If you have any feedback, contact [Datadog support](https://docs.datadoghq.com/help/). + /api/v2/incidents/{incident_id}/ai/postmortem: + post: + description: Generate an AI postmortem for an incident. + operationId: GetIncidentAIPostmortem + parameters: + - $ref: '#/components/parameters/IncidentIDPathParameter' + responses: + '200': + content: + application/json: + examples: + default: + value: + data: + attributes: + action_items: 1. Improve failover testing. + customer_impact: 5% of users experienced timeouts for 30 minutes. + executive_summary: A database failover caused a 30-minute service outage. + key_timeline: 10:00 - Alert fired. 10:30 - Issue resolved. + lessons_learned: We need to test the failover process under realistic load. + system_overview: The primary database cluster experienced a failover event. + id: 00000000-0000-0000-0000-000000000000 + type: get_incident_ai_postmortem_response + schema: + $ref: '#/components/schemas/IncidentAIPostmortemResponse' + description: OK + '400': + $ref: '#/components/responses/BadRequestResponse' + '401': + $ref: '#/components/responses/UnauthorizedResponse' + '403': + $ref: '#/components/responses/ForbiddenResponse' + '404': + $ref: '#/components/responses/NotFoundResponse' + '429': + $ref: '#/components/responses/TooManyRequestsResponse' + security: + - apiKeyAuth: [] + appKeyAuth: [] + - AuthZ: + - incident_write + summary: Get an AI-generated incident postmortem + tags: + - Incidents + x-permission: + operator: OR + permissions: + - incident_write + x-unstable: |- + **Note**: This endpoint is in preview and is subject to change. + If you have any feedback, contact [Datadog support](https://docs.datadoghq.com/help/). + /api/v2/incidents/{incident_id}/attachments: + get: + description: List incident attachments. + operationId: ListIncidentAttachments + parameters: + - $ref: '#/components/parameters/IncidentIDPathParameter' + - description: Filter attachments by type. Supported values are `1` (`postmortem`) and `2` (`link`). + in: query + name: filter[attachment_type] + schema: + example: '1' + type: string + - $ref: '#/components/parameters/AttachmentIncludeQueryParameter' + responses: + '200': + content: + application/json: + examples: + default: + value: + data: + - attributes: + attachment: + documentUrl: https://app.datadoghq.com/notebook/123/Postmortem-IR-123 + title: Postmortem IR-123 + attachment_type: postmortem + modified: '2024-01-01T00:00:00+00:00' + id: 00000000-abcd-0002-0000-000000000000 + relationships: + incident: + data: + id: 00000000-0000-0000-1234-000000000000 + type: incidents + type: incident_attachments + schema: + $ref: '#/components/schemas/AttachmentArray' + description: OK + '400': + $ref: '#/components/responses/BadRequestResponse' + '429': + $ref: '#/components/responses/TooManyRequestsResponse' + security: + - apiKeyAuth: [] + appKeyAuth: [] + summary: List incident attachments + tags: + - Incidents + x-permission: + operator: OR + permissions: + - incident_read + x-unstable: |- + **Note**: This endpoint is in Preview. + If you have any feedback, contact [Datadog support](https://docs.datadoghq.com/help/). + post: + description: Create an incident attachment. + operationId: CreateIncidentAttachment + parameters: + - $ref: '#/components/parameters/IncidentIDPathParameter' + - $ref: '#/components/parameters/AttachmentIncludeQueryParameter' + requestBody: + content: + application/json: + examples: + default: + value: + data: + attributes: + attachment: + documentUrl: https://app.datadoghq.com/notebook/123/Postmortem-IR-123 + title: Postmortem-IR-123 + attachment_type: postmortem + type: incident_attachments + schema: + $ref: '#/components/schemas/CreateAttachmentRequest' + required: true + responses: + '201': + content: + application/json: + examples: + default: + value: + data: + attributes: + attachment: + documentUrl: https://app.datadoghq.com/notebook/123/Postmortem-IR-123 + title: Postmortem IR-123 + attachment_type: postmortem + modified: '2024-01-01T00:00:00+00:00' + id: 00000000-abcd-0002-0000-000000000000 + relationships: + incident: + data: + id: 00000000-0000-0000-1234-000000000000 + type: incidents + type: incident_attachments + schema: + $ref: '#/components/schemas/Attachment' + description: Created + '400': + $ref: '#/components/responses/BadRequestResponse' + '403': + $ref: '#/components/responses/ForbiddenResponse' + '429': + $ref: '#/components/responses/TooManyRequestsResponse' + security: + - apiKeyAuth: [] + appKeyAuth: [] + - AuthZ: + - incident_write + summary: Create incident attachment + tags: + - Incidents + x-permission: + operator: AND + permissions: + - incident_write + x-unstable: |- + **Note**: This endpoint is in Preview. + If you have any feedback, contact [Datadog support](https://docs.datadoghq.com/help/). + /api/v2/incidents/{incident_id}/attachments/postmortems: + post: + description: |- + Create a postmortem attachment for an incident. + + The endpoint accepts markdown for notebooks created in Confluence or Google Docs. + Postmortems created from notebooks need to be formatted using frontend notebook cells, + in addition to markdown format. + operationId: CreateIncidentPostmortemAttachment + parameters: + - description: The ID of the incident + in: path + name: incident_id + required: true + schema: + example: 00000000-0000-0000-0000-000000000000 + type: string + requestBody: + content: + application/json: + examples: + default: + value: + data: + attributes: + cells: + - id: cell-1 + type: markdown + content: |- + # Incident Report - IR-123 + [...] + postmortem_template_id: 93645509-874e-45c4-adfa-623bfeaead89-123 + title: Postmortem-IR-123 + type: incident_attachments + schema: + $ref: '#/components/schemas/PostmortemAttachmentRequest' + required: true + responses: + '201': + content: + application/json: + examples: + default: + value: + data: + attributes: + attachment: + documentUrl: https://app.datadoghq.com/notebook/123/Postmortem-IR-123 + title: Postmortem IR-123 + attachment_type: postmortem + modified: '2024-01-01T00:00:00+00:00' + id: 00000000-abcd-0002-0000-000000000000 + relationships: + incident: + data: + id: 00000000-0000-0000-1234-000000000000 + type: incidents + type: incident_attachments + schema: + $ref: '#/components/schemas/Attachment' + description: Created + '400': + content: + application/json: + schema: + $ref: '#/components/schemas/JSONAPIErrorResponse' + description: Bad Request + '429': + $ref: '#/components/responses/TooManyRequestsResponse' + summary: Create postmortem attachment + tags: + - Incidents + x-unstable: |- + **Note**: This endpoint is in public beta and it's subject to change. + If you have any feedback, contact [Datadog support](https://docs.datadoghq.com/help/). + /api/v2/incidents/{incident_id}/attachments/{attachment_id}: + delete: + operationId: DeleteIncidentAttachment + parameters: + - $ref: '#/components/parameters/IncidentIDPathParameter' + - $ref: '#/components/parameters/AttachmentIDPathParameter' + responses: + '204': + description: No Content + '400': + $ref: '#/components/responses/BadRequestResponse' + '403': + $ref: '#/components/responses/ForbiddenResponse' + '404': + $ref: '#/components/responses/NotFoundResponse' + '429': + $ref: '#/components/responses/TooManyRequestsResponse' + security: + - apiKeyAuth: [] + appKeyAuth: [] + - AuthZ: + - incident_write + summary: Delete incident attachment + tags: + - Incidents + x-permission: + operator: AND + permissions: + - incident_write + x-unstable: |- + **Note**: This endpoint is in Preview. + If you have any feedback, contact [Datadog support](https://docs.datadoghq.com/help/). + patch: + operationId: UpdateIncidentAttachment + parameters: + - $ref: '#/components/parameters/IncidentIDPathParameter' + - $ref: '#/components/parameters/AttachmentIDPathParameter' + - $ref: '#/components/parameters/AttachmentIncludeQueryParameter' + requestBody: + content: + application/json: + examples: + default: + value: + data: + attributes: + attachment: + documentUrl: https://app.datadoghq.com/notebook/124/Postmortem-IR-124 + title: Postmortem-IR-124 + id: 00000000-abcd-0002-0000-000000000000 + type: incident_attachments + schema: + $ref: '#/components/schemas/PatchAttachmentRequest' + required: true + responses: + '200': + content: + application/json: + examples: + default: + value: + data: + attributes: + attachment: + documentUrl: https://app.datadoghq.com/notebook/124/Postmortem-IR-124 + title: Postmortem IR-124 + attachment_type: postmortem + modified: '2024-01-01T00:00:00+00:00' + id: 00000000-abcd-0002-0000-000000000000 + relationships: + incident: + data: + id: 00000000-0000-0000-1234-000000000000 + type: incidents + type: incident_attachments + schema: + $ref: '#/components/schemas/Attachment' + description: OK + '400': + $ref: '#/components/responses/BadRequestResponse' + '403': + $ref: '#/components/responses/ForbiddenResponse' + '404': + $ref: '#/components/responses/NotFoundResponse' + '429': + $ref: '#/components/responses/TooManyRequestsResponse' + security: + - apiKeyAuth: [] + appKeyAuth: [] + - AuthZ: + - incident_write + summary: Update incident attachment + tags: + - Incidents + x-permission: + operator: AND + permissions: + - incident_write + x-unstable: |- + **Note**: This endpoint is in Preview. + If you have any feedback, contact [Datadog support](https://docs.datadoghq.com/help/). + /api/v2/incidents/{incident_id}/cases/page: + post: + description: Create a page from an incident using the Cases service. + operationId: CreatePageFromIncident + parameters: + - $ref: '#/components/parameters/IncidentIDPathParameter' + requestBody: + content: + application/json: + examples: + default: + value: + data: + attributes: + description: A critical incident affecting production systems. + services: + - web-store + tags: + - env:prod + target: + identifier: my-oncall-team + type: team_handle + title: Production outage - SEV-1 + type: page + schema: + $ref: '#/components/schemas/IncidentCreatePageFromIncidentRequest' + description: Page creation payload. + required: true + responses: + '200': + content: + application/json: + examples: + default: + value: + data: + id: 00000000-0000-0000-0000-000000000001 + type: page_uuid + schema: + $ref: '#/components/schemas/IncidentPageUUIDResponse' + description: OK + '400': + $ref: '#/components/responses/BadRequestResponse' + '401': + $ref: '#/components/responses/UnauthorizedResponse' + '403': + $ref: '#/components/responses/ForbiddenResponse' + '404': + $ref: '#/components/responses/NotFoundResponse' + '429': + $ref: '#/components/responses/TooManyRequestsResponse' + security: + - apiKeyAuth: [] + appKeyAuth: [] + - AuthZ: + - incident_write + summary: Create a page from an incident + tags: + - Incidents + x-codegen-request-body-name: body + x-permission: + operator: AND + permissions: + - oncall_page + - incident_write + x-unstable: |- + **Note**: This endpoint is in preview and is subject to change. + If you have any feedback, contact [Datadog support](https://docs.datadoghq.com/help/). + /api/v2/incidents/{incident_id}/configurations: + patch: + description: Update a configuration for an incident. + operationId: UpdateIncidentConfiguration + parameters: + - $ref: '#/components/parameters/IncidentIDPathParameter' + requestBody: + content: + application/json: + examples: + default: + value: + data: + attributes: + include_in_search: false + id: 00000000-0000-0000-0000-000000000001 + type: incidents_configurations + schema: + $ref: '#/components/schemas/IncidentConfigurationPatchRequest' + description: Incident configuration patch payload. + required: true + responses: + '200': + content: + application/json: + examples: + default: + value: + data: + attributes: + created_at: '2024-01-01T00:00:00.000Z' + execute_integrations: true + execute_notification_rules: true + incident_id: 00000000-0000-0000-0000-000000000000 + include_in_analytics: true + include_in_search: false + modified_at: '2024-01-02T00:00:00.000Z' + id: 00000000-0000-0000-0000-000000000001 + type: incidents_configurations + schema: + $ref: '#/components/schemas/IncidentConfigurationResponse' + description: OK + '400': + $ref: '#/components/responses/BadRequestResponse' + '401': + $ref: '#/components/responses/UnauthorizedResponse' + '403': + $ref: '#/components/responses/ForbiddenResponse' + '404': + $ref: '#/components/responses/NotFoundResponse' + '429': + $ref: '#/components/responses/TooManyRequestsResponse' + security: + - apiKeyAuth: [] + appKeyAuth: [] + - AuthZ: + - incident_write + summary: Update an incident configuration + tags: + - Incidents + x-codegen-request-body-name: body + x-permission: + operator: OR + permissions: + - incident_write + x-unstable: |- + **Note**: This endpoint is in preview and is subject to change. + If you have any feedback, contact [Datadog support](https://docs.datadoghq.com/help/). + post: + description: Create a configuration for an incident. + operationId: CreateIncidentConfiguration + parameters: + - $ref: '#/components/parameters/IncidentIDPathParameter' + requestBody: + content: + application/json: + examples: + default: + value: + data: + attributes: + execute_integrations: true + execute_notification_rules: true + include_in_analytics: true + include_in_search: true + type: incidents_configurations + schema: + $ref: '#/components/schemas/IncidentConfigurationRequest' + description: Incident configuration payload. + required: true + responses: + '200': + content: + application/json: + examples: + default: + value: + data: + attributes: + created_at: '2024-01-01T00:00:00.000Z' + execute_integrations: true + execute_notification_rules: true + incident_id: 00000000-0000-0000-0000-000000000000 + include_in_analytics: true + include_in_search: true + modified_at: '2024-01-01T00:00:00.000Z' + id: 00000000-0000-0000-0000-000000000001 + type: incidents_configurations + schema: + $ref: '#/components/schemas/IncidentConfigurationResponse' + description: OK + '400': + $ref: '#/components/responses/BadRequestResponse' + '401': + $ref: '#/components/responses/UnauthorizedResponse' + '403': + $ref: '#/components/responses/ForbiddenResponse' + '404': + $ref: '#/components/responses/NotFoundResponse' + '429': + $ref: '#/components/responses/TooManyRequestsResponse' + security: + - apiKeyAuth: [] + appKeyAuth: [] + - AuthZ: + - incident_write + summary: Create an incident configuration + tags: + - Incidents + x-codegen-request-body-name: body + x-permission: + operator: OR + permissions: + - incident_write + x-unstable: |- + **Note**: This endpoint is in preview and is subject to change. + If you have any feedback, contact [Datadog support](https://docs.datadoghq.com/help/). + /api/v2/incidents/{incident_id}/impacts: + get: + description: Get all impacts for an incident. + operationId: ListIncidentImpacts + parameters: + - $ref: '#/components/parameters/IncidentIDPathParameter' + - $ref: '#/components/parameters/IncidentImpactIncludeQueryParameter' + responses: + '200': + content: + application/json: + examples: + default: + value: + data: + - attributes: + description: Service was unavailable for external users + end_at: '2024-01-01T01:00:00+00:00' + start_at: '2024-01-01T00:00:00+00:00' + id: 00000000-0000-0000-0000-000000000001 + type: incident_impacts + schema: + $ref: '#/components/schemas/IncidentImpactsResponse' + description: OK + '400': + $ref: '#/components/responses/BadRequestResponse' + '401': + $ref: '#/components/responses/UnauthorizedResponse' + '403': + $ref: '#/components/responses/ForbiddenResponse' + '404': + $ref: '#/components/responses/NotFoundResponse' + '429': + $ref: '#/components/responses/TooManyRequestsResponse' + security: + - apiKeyAuth: [] + appKeyAuth: [] + - AuthZ: + - incident_read + summary: List an incident's impacts + tags: + - Incidents + x-permission: + operator: OR + permissions: + - incident_read + post: + description: Create an impact for an incident. + operationId: CreateIncidentImpact + parameters: + - $ref: '#/components/parameters/IncidentIDPathParameter' + - $ref: '#/components/parameters/IncidentImpactIncludeQueryParameter' + requestBody: + content: + application/json: + examples: + default: + value: + data: + attributes: + description: Service was unavailable for external users + end_at: '2025-08-29T13:17:00Z' + fields: + customers_impacted: all + products_impacted: + - shopping + - marketing + start_at: '2025-08-28T13:17:00Z' + type: incident_impacts + schema: + $ref: '#/components/schemas/IncidentImpactCreateRequest' + description: Incident impact payload. + required: true + responses: + '201': + content: + application/json: + examples: + default: + value: + data: + attributes: + description: Service was unavailable for external users + end_at: '2024-01-01T01:00:00+00:00' + start_at: '2024-01-01T00:00:00+00:00' + id: 00000000-0000-0000-0000-000000000002 + type: incident_impacts + schema: + $ref: '#/components/schemas/IncidentImpactResponse' + description: CREATED + '400': + $ref: '#/components/responses/BadRequestResponse' + '401': + $ref: '#/components/responses/UnauthorizedResponse' + '403': + $ref: '#/components/responses/ForbiddenResponse' + '404': + $ref: '#/components/responses/NotFoundResponse' + '429': + $ref: '#/components/responses/TooManyRequestsResponse' + security: + - apiKeyAuth: [] + appKeyAuth: [] + - AuthZ: + - incident_write + summary: Create an incident impact + tags: + - Incidents + x-codegen-request-body-name: body + x-permission: + operator: OR + permissions: + - incident_write + /api/v2/incidents/{incident_id}/impacts/{impact_id}: + delete: + description: Delete an incident impact. + operationId: DeleteIncidentImpact + parameters: + - $ref: '#/components/parameters/IncidentIDPathParameter' + - $ref: '#/components/parameters/IncidentImpactIDPathParameter' + responses: + '204': + description: No Content + '401': + $ref: '#/components/responses/UnauthorizedResponse' + '403': + $ref: '#/components/responses/ForbiddenResponse' + '404': + $ref: '#/components/responses/NotFoundResponse' + '429': + $ref: '#/components/responses/TooManyRequestsResponse' + security: + - apiKeyAuth: [] + appKeyAuth: [] + - AuthZ: + - incident_write + summary: Delete an incident impact + tags: + - Incidents + x-permission: + operator: OR + permissions: + - incident_write + patch: + description: Update an incident impact. + operationId: PatchIncidentImpact + parameters: + - $ref: '#/components/parameters/IncidentIDPathParameter' + - $ref: '#/components/parameters/IncidentImpactIDPathParameter' + - $ref: '#/components/parameters/IncidentImpactIncludeQueryParameter' + requestBody: + content: + application/json: + examples: + default: + value: + data: + attributes: + description: Patched service impact description + type: incident_impacts + schema: + $ref: '#/components/schemas/IncidentImpactPatchRequest' + description: Incident impact patch payload. + required: true + responses: + '200': + content: + application/json: + examples: + default: + value: + data: + attributes: + description: Patched service impact description + start_at: '2025-08-28T13:17:00Z' + id: 00000000-0000-0000-0000-000000000002 + type: incident_impacts + schema: + $ref: '#/components/schemas/IncidentImpactResponse' + description: OK + '400': + $ref: '#/components/responses/BadRequestResponse' + '401': + $ref: '#/components/responses/UnauthorizedResponse' + '403': + $ref: '#/components/responses/ForbiddenResponse' + '404': + $ref: '#/components/responses/NotFoundResponse' + '429': + $ref: '#/components/responses/TooManyRequestsResponse' + security: + - apiKeyAuth: [] + appKeyAuth: [] + - AuthZ: + - incident_write + summary: Update an incident impact + tags: + - Incidents + x-codegen-request-body-name: body + x-permission: + operator: OR + permissions: + - incident_write + x-unstable: |- + **Note**: This endpoint is in preview and is subject to change. + If you have any feedback, contact [Datadog support](https://docs.datadoghq.com/help/). + /api/v2/incidents/{incident_id}/page: + post: + description: Create an on-call page directly from an incident. + operationId: CreateOnCallPageFromIncident + parameters: + - $ref: '#/components/parameters/IncidentIDPathParameter' + requestBody: + content: + application/json: + examples: + default: + value: + data: + attributes: + description: A critical incident affecting production systems. + services: + - web-store + target: + identifier: my-oncall-team + type: team_handle + title: Production outage - SEV-1 + type: page + schema: + $ref: '#/components/schemas/IncidentCreateOnCallPageRequest' + description: On-call page creation payload. + required: true + responses: + '200': + content: + application/json: + examples: + default: + value: + data: + id: 00000000-0000-0000-0000-000000000001 + type: page_uuid + schema: + $ref: '#/components/schemas/IncidentPageUUIDResponse' + description: OK + '400': + $ref: '#/components/responses/BadRequestResponse' + '401': + $ref: '#/components/responses/UnauthorizedResponse' + '403': + $ref: '#/components/responses/ForbiddenResponse' + '404': + $ref: '#/components/responses/NotFoundResponse' + '429': + $ref: '#/components/responses/TooManyRequestsResponse' + security: + - apiKeyAuth: [] + appKeyAuth: [] + - AuthZ: + - incident_write + summary: Create an on-call page from an incident + tags: + - Incidents + x-codegen-request-body-name: body + x-permission: + operator: AND + permissions: + - oncall_page + - incident_write + x-unstable: |- + **Note**: This endpoint is in preview and is subject to change. + If you have any feedback, contact [Datadog support](https://docs.datadoghq.com/help/). + /api/v2/incidents/{incident_id}/pages/link: + post: + description: Link an existing on-call page to an incident. + operationId: LinkPageToIncident + parameters: + - $ref: '#/components/parameters/IncidentIDPathParameter' + requestBody: + content: + application/json: + examples: + default: + value: + data: + attributes: + key: PAGE-12345 + page_target: + identifier: my-oncall-team + type: team_handle + id: PAGE-12345 + type: page + schema: + $ref: '#/components/schemas/IncidentOnCallPageLinkRequest' + description: On-call page link payload. + required: true + responses: + '201': + content: + application/json: + examples: + default: + value: + data: + attributes: + integration_type: 15 + status: 2 + id: 00000000-0000-0000-0000-000000000001 + type: incident_integrations + schema: + $ref: '#/components/schemas/IncidentIntegrationMetadataResponse' + description: Created + '400': + $ref: '#/components/responses/BadRequestResponse' + '401': + $ref: '#/components/responses/UnauthorizedResponse' + '403': + $ref: '#/components/responses/ForbiddenResponse' + '404': + $ref: '#/components/responses/NotFoundResponse' + '409': + content: + application/json: + schema: + $ref: '#/components/schemas/JSONAPIErrorResponse' + description: Conflict - page already linked to incident. + '429': + $ref: '#/components/responses/TooManyRequestsResponse' + security: + - apiKeyAuth: [] + appKeyAuth: [] + - AuthZ: + - incident_write + summary: Link a page to an incident + tags: + - Incidents + x-codegen-request-body-name: body + x-permission: + operator: OR + permissions: + - incident_write + x-unstable: |- + **Note**: This endpoint is in preview and is subject to change. + If you have any feedback, contact [Datadog support](https://docs.datadoghq.com/help/). + /api/v2/incidents/{incident_id}/relationships/integrations: + get: + description: Get all integration metadata for an incident. + operationId: ListIncidentIntegrations + parameters: + - $ref: '#/components/parameters/IncidentIDPathParameter' + responses: + '200': + content: + application/json: + examples: + default: + value: + data: + - attributes: + incident_id: 00000000-aaaa-0000-0000-000000000000 + integration_type: 8 + metadata: + issues: + - account: https://example.atlassian.net + project_key: PROJ + id: 00000000-0000-0000-1234-000000000000 + type: incident_integrations + schema: + $ref: '#/components/schemas/IncidentIntegrationMetadataListResponse' + description: OK + '400': + $ref: '#/components/responses/BadRequestResponse' + '401': + $ref: '#/components/responses/UnauthorizedResponse' + '403': + $ref: '#/components/responses/ForbiddenResponse' + '404': + $ref: '#/components/responses/NotFoundResponse' + '429': + $ref: '#/components/responses/TooManyRequestsResponse' + security: + - apiKeyAuth: [] + appKeyAuth: [] + - AuthZ: + - incident_read + summary: Get a list of an incident's integration metadata + tags: + - Incidents + x-permission: + operator: OR + permissions: + - incident_read + x-unstable: |- + **Note**: This endpoint is in public beta. + If you have any feedback, contact [Datadog support](https://docs.datadoghq.com/help/). + post: + description: Create an incident integration metadata. + operationId: CreateIncidentIntegration + parameters: + - $ref: '#/components/parameters/IncidentIDPathParameter' + requestBody: + content: + application/json: + examples: + default: + value: + data: + attributes: + incident_id: 00000000-aaaa-0000-0000-000000000000 + integration_type: 1 + metadata: + channels: + - channel_id: C0123456789 + channel_name: '#new-channel' + redirect_url: https://slack.com/app_redirect?channel=C0123456789&team=T01234567 + team_id: T01234567 + type: incident_integrations + schema: + $ref: '#/components/schemas/IncidentIntegrationMetadataCreateRequest' + description: Incident integration metadata payload. + required: true + responses: + '201': + content: + application/json: + examples: + default: + value: + data: + attributes: + incident_id: 00000000-aaaa-0000-0000-000000000000 + integration_type: 8 + metadata: + issues: + - account: https://example.atlassian.net + project_key: PROJ + id: 00000000-0000-0000-1234-000000000000 + type: incident_integrations + schema: + $ref: '#/components/schemas/IncidentIntegrationMetadataResponse' + description: CREATED + '400': + $ref: '#/components/responses/BadRequestResponse' + '401': + $ref: '#/components/responses/UnauthorizedResponse' + '403': + $ref: '#/components/responses/ForbiddenResponse' + '404': + $ref: '#/components/responses/NotFoundResponse' + '429': + $ref: '#/components/responses/TooManyRequestsResponse' + security: + - apiKeyAuth: [] + appKeyAuth: [] + - AuthZ: + - incident_write + summary: Create an incident integration metadata + tags: + - Incidents + x-codegen-request-body-name: body + x-permission: + operator: OR + permissions: + - incident_write + x-unstable: |- + **Note**: This endpoint is in public beta. + If you have any feedback, contact [Datadog support](https://docs.datadoghq.com/help/). + /api/v2/incidents/{incident_id}/relationships/integrations/{integration_metadata_id}: + delete: + description: Delete an incident integration metadata. + operationId: DeleteIncidentIntegration + parameters: + - $ref: '#/components/parameters/IncidentIDPathParameter' + - $ref: '#/components/parameters/IncidentIntegrationMetadataIDPathParameter' + responses: + '204': + description: OK + '400': + $ref: '#/components/responses/BadRequestResponse' + '401': + $ref: '#/components/responses/UnauthorizedResponse' + '403': + $ref: '#/components/responses/ForbiddenResponse' + '404': + $ref: '#/components/responses/NotFoundResponse' + '429': + $ref: '#/components/responses/TooManyRequestsResponse' + security: + - apiKeyAuth: [] + appKeyAuth: [] + - AuthZ: + - incident_write + summary: Delete an incident integration metadata + tags: + - Incidents + x-codegen-request-body-name: body + x-unstable: |- + **Note**: This endpoint is in public beta. + If you have any feedback, contact [Datadog support](https://docs.datadoghq.com/help/). + get: + description: Get incident integration metadata details. + operationId: GetIncidentIntegration + parameters: + - $ref: '#/components/parameters/IncidentIDPathParameter' + - $ref: '#/components/parameters/IncidentIntegrationMetadataIDPathParameter' + responses: + '200': + content: + application/json: + examples: + default: + value: + data: + attributes: + incident_id: 00000000-aaaa-0000-0000-000000000000 + integration_type: 8 + metadata: + issues: + - account: https://example.atlassian.net + project_key: PROJ + id: 00000000-0000-0000-1234-000000000000 + type: incident_integrations + schema: + $ref: '#/components/schemas/IncidentIntegrationMetadataResponse' + description: OK + '400': + $ref: '#/components/responses/BadRequestResponse' + '401': + $ref: '#/components/responses/UnauthorizedResponse' + '403': + $ref: '#/components/responses/ForbiddenResponse' + '404': + $ref: '#/components/responses/NotFoundResponse' + '429': + $ref: '#/components/responses/TooManyRequestsResponse' + security: + - apiKeyAuth: [] + appKeyAuth: [] + - AuthZ: + - incident_read + summary: Get incident integration metadata details + tags: + - Incidents + x-unstable: |- + **Note**: This endpoint is in public beta. + If you have any feedback, contact [Datadog support](https://docs.datadoghq.com/help/). + patch: + description: Update an existing incident integration metadata. + operationId: UpdateIncidentIntegration + parameters: + - $ref: '#/components/parameters/IncidentIDPathParameter' + - $ref: '#/components/parameters/IncidentIntegrationMetadataIDPathParameter' + requestBody: + content: + application/json: + examples: + default: + value: + data: + attributes: + incident_id: 00000000-aaaa-0000-0000-000000000000 + integration_type: 1 + metadata: + channels: + - channel_id: C0123456789 + channel_name: '#updated-channel-name' + redirect_url: https://slack.com/app_redirect?channel=C0123456789&team=T01234567 + team_id: T01234567 + type: incident_integrations + schema: + $ref: '#/components/schemas/IncidentIntegrationMetadataPatchRequest' + description: Incident integration metadata payload. + required: true + responses: + '200': + content: + application/json: + examples: + default: + value: + data: + attributes: + incident_id: 00000000-aaaa-0000-0000-000000000000 + integration_type: 8 + metadata: + issues: + - account: https://example.atlassian.net + issue_key: PROJ-123 + project_key: PROJ + id: 00000000-0000-0000-1234-000000000000 + type: incident_integrations + schema: + $ref: '#/components/schemas/IncidentIntegrationMetadataResponse' + description: OK + '400': + $ref: '#/components/responses/BadRequestResponse' + '401': + $ref: '#/components/responses/UnauthorizedResponse' + '403': + $ref: '#/components/responses/ForbiddenResponse' + '404': + $ref: '#/components/responses/NotFoundResponse' + '429': + $ref: '#/components/responses/TooManyRequestsResponse' + security: + - apiKeyAuth: [] + appKeyAuth: [] + - AuthZ: + - incident_write + summary: Update an existing incident integration metadata + tags: + - Incidents + x-codegen-request-body-name: body + x-unstable: |- + **Note**: This endpoint is in public beta. + If you have any feedback, contact [Datadog support](https://docs.datadoghq.com/help/). + /api/v2/incidents/{incident_id}/relationships/todos: + get: + description: Get all todos for an incident. + operationId: ListIncidentTodos + parameters: + - $ref: '#/components/parameters/IncidentIDPathParameter' + responses: + '200': + content: + application/json: + examples: + default: + value: + data: + - attributes: + assignees: + - '@test.user@example.com' + content: Restore lost data. + id: 00000000-0000-0000-0000-000000000002 + type: incident_todos + schema: + $ref: '#/components/schemas/IncidentTodoListResponse' + description: OK + '400': + $ref: '#/components/responses/BadRequestResponse' + '401': + $ref: '#/components/responses/UnauthorizedResponse' + '403': + $ref: '#/components/responses/ForbiddenResponse' + '404': + $ref: '#/components/responses/NotFoundResponse' + '429': + $ref: '#/components/responses/TooManyRequestsResponse' + security: + - apiKeyAuth: [] + appKeyAuth: [] + - AuthZ: + - incident_read + summary: Get a list of an incident's todos + tags: + - Incidents + x-permission: + operator: OR + permissions: + - incident_read + x-unstable: |- + **Note**: This endpoint is in public beta. + If you have any feedback, contact [Datadog support](https://docs.datadoghq.com/help/). + post: + description: Create an incident todo. + operationId: CreateIncidentTodo + parameters: + - $ref: '#/components/parameters/IncidentIDPathParameter' + requestBody: + content: + application/json: + examples: + default: + value: + data: + attributes: + assignees: + - '@test.user@test.com' + completed: '2023-03-06T22:00:00.000000+00:00' + content: Restore lost data. + due_date: '2023-07-10T05:00:00.000000+00:00' + incident_id: 00000000-aaaa-0000-0000-000000000000 + type: incident_todos + schema: + $ref: '#/components/schemas/IncidentTodoCreateRequest' + description: Incident todo payload. + required: true + responses: + '201': + content: + application/json: + examples: + default: + value: + data: + attributes: + assignees: + - '@test.user@example.com' + content: Restore lost data. + id: 00000000-0000-0000-0000-000000000001 + type: incident_todos + schema: + $ref: '#/components/schemas/IncidentTodoResponse' + description: CREATED + '400': + $ref: '#/components/responses/BadRequestResponse' + '401': + $ref: '#/components/responses/UnauthorizedResponse' + '403': + $ref: '#/components/responses/ForbiddenResponse' + '404': + $ref: '#/components/responses/NotFoundResponse' + '429': + $ref: '#/components/responses/TooManyRequestsResponse' + security: + - apiKeyAuth: [] + appKeyAuth: [] + - AuthZ: + - incident_write + summary: Create an incident todo + tags: + - Incidents + x-codegen-request-body-name: body + x-permission: + operator: OR + permissions: + - incident_write + x-unstable: |- + **Note**: This endpoint is in public beta. + If you have any feedback, contact [Datadog support](https://docs.datadoghq.com/help/). + /api/v2/incidents/{incident_id}/relationships/todos/{todo_id}: + delete: + description: Delete an incident todo. + operationId: DeleteIncidentTodo + parameters: + - $ref: '#/components/parameters/IncidentIDPathParameter' + - $ref: '#/components/parameters/IncidentTodoIDPathParameter' + responses: + '204': + description: OK + '400': + $ref: '#/components/responses/BadRequestResponse' + '401': + $ref: '#/components/responses/UnauthorizedResponse' + '403': + $ref: '#/components/responses/ForbiddenResponse' + '404': + $ref: '#/components/responses/NotFoundResponse' + '429': + $ref: '#/components/responses/TooManyRequestsResponse' + security: + - apiKeyAuth: [] + appKeyAuth: [] + - AuthZ: + - incident_write + summary: Delete an incident todo + tags: + - Incidents + x-permission: + operator: OR + permissions: + - incident_write + x-unstable: |- + **Note**: This endpoint is in public beta. + If you have any feedback, contact [Datadog support](https://docs.datadoghq.com/help/). + get: + description: Get incident todo details. + operationId: GetIncidentTodo + parameters: + - $ref: '#/components/parameters/IncidentIDPathParameter' + - $ref: '#/components/parameters/IncidentTodoIDPathParameter' + responses: + '200': + content: + application/json: + examples: + default: + value: + data: + attributes: + assignees: + - '@test.user@example.com' + content: Restore lost data. + id: 00000000-0000-0000-0000-000000000003 + type: incident_todos + schema: + $ref: '#/components/schemas/IncidentTodoResponse' + description: OK + '400': + $ref: '#/components/responses/BadRequestResponse' + '401': + $ref: '#/components/responses/UnauthorizedResponse' + '403': + $ref: '#/components/responses/ForbiddenResponse' + '404': + $ref: '#/components/responses/NotFoundResponse' + '429': + $ref: '#/components/responses/TooManyRequestsResponse' + security: + - apiKeyAuth: [] + appKeyAuth: [] + - AuthZ: + - incident_read + summary: Get incident todo details + tags: + - Incidents + x-permission: + operator: OR + permissions: + - incident_read + x-unstable: |- + **Note**: This endpoint is in public beta. + If you have any feedback, contact [Datadog support](https://docs.datadoghq.com/help/). + patch: + description: Update an incident todo. + operationId: UpdateIncidentTodo + parameters: + - $ref: '#/components/parameters/IncidentIDPathParameter' + - $ref: '#/components/parameters/IncidentTodoIDPathParameter' + requestBody: + content: + application/json: + examples: + default: + value: + data: + attributes: + assignees: + - '@test.user@test.com' + completed: '2023-03-06T22:00:00.000000+00:00' + content: Restore lost data. + due_date: '2023-07-10T05:00:00.000000+00:00' + incident_id: 00000000-aaaa-0000-0000-000000000000 + type: incident_todos + schema: + $ref: '#/components/schemas/IncidentTodoPatchRequest' + description: Incident todo payload. + required: true + responses: + '200': + content: + application/json: + examples: + default: + value: + data: + attributes: + assignees: + - '@test.user@example.com' + content: Restore lost data. + id: 00000000-0000-0000-0000-000000000004 + type: incident_todos + schema: + $ref: '#/components/schemas/IncidentTodoResponse' + description: OK + '400': + $ref: '#/components/responses/BadRequestResponse' + '401': + $ref: '#/components/responses/UnauthorizedResponse' + '403': + $ref: '#/components/responses/ForbiddenResponse' + '404': + $ref: '#/components/responses/NotFoundResponse' + '429': + $ref: '#/components/responses/TooManyRequestsResponse' + security: + - apiKeyAuth: [] + appKeyAuth: [] + - AuthZ: + - incident_write + summary: Update an incident todo + tags: + - Incidents + x-codegen-request-body-name: body + x-permission: + operator: OR + permissions: + - incident_write + x-unstable: |- + **Note**: This endpoint is in public beta. + If you have any feedback, contact [Datadog support](https://docs.datadoghq.com/help/). + /api/v2/incidents/{incident_id}/responders: + get: + description: List all responders for an incident. + operationId: ListIncidentResponders + parameters: + - $ref: '#/components/parameters/IncidentIDPathParameter' + responses: + '200': + content: + application/json: + examples: + default: + value: + data: [] + schema: + $ref: '#/components/schemas/IncidentRespondersResponse' + description: OK + '400': + $ref: '#/components/responses/BadRequestResponse' + '401': + $ref: '#/components/responses/UnauthorizedResponse' + '403': + $ref: '#/components/responses/ForbiddenResponse' + '404': + $ref: '#/components/responses/NotFoundResponse' + '429': + $ref: '#/components/responses/TooManyRequestsResponse' + security: + - apiKeyAuth: [] + appKeyAuth: [] + - AuthZ: + - incident_read + summary: List incident responders + tags: + - Incidents + x-permission: + operator: OR + permissions: + - incident_read + x-unstable: |- + **Note**: This endpoint is in preview and is subject to change. + If you have any feedback, contact [Datadog support](https://docs.datadoghq.com/help/). + post: + description: Add a responder to an incident. + operationId: CreateIncidentResponder + parameters: + - $ref: '#/components/parameters/IncidentIDPathParameter' + requestBody: + content: + application/json: + examples: + default: + value: + data: + relationships: + user: + data: + id: 00000000-0000-0000-0000-000000000001 + type: users + type: incident_responders + schema: + $ref: '#/components/schemas/IncidentResponderRequest' + description: Incident responder payload. + required: true + responses: + '201': + content: + application/json: + examples: + default: + value: + data: + attributes: + created: '2024-01-01T00:00:00.000Z' + is_billable: true + modified: '2024-01-01T00:00:00.000Z' + id: 00000000-0000-0000-0000-000000000002 + type: incident_responders + schema: + $ref: '#/components/schemas/IncidentResponderResponse' + description: Created + '400': + $ref: '#/components/responses/BadRequestResponse' + '401': + $ref: '#/components/responses/UnauthorizedResponse' + '403': + $ref: '#/components/responses/ForbiddenResponse' + '404': + $ref: '#/components/responses/NotFoundResponse' + '429': + $ref: '#/components/responses/TooManyRequestsResponse' + security: + - apiKeyAuth: [] + appKeyAuth: [] + - AuthZ: + - incident_write + summary: Create an incident responder + tags: + - Incidents + x-codegen-request-body-name: body + x-permission: + operator: OR + permissions: + - incident_write + x-unstable: |- + **Note**: This endpoint is in preview and is subject to change. + If you have any feedback, contact [Datadog support](https://docs.datadoghq.com/help/). + /api/v2/incidents/{incident_id}/responders/{responder_id}: + delete: + description: Remove a responder from an incident. + operationId: DeleteIncidentResponder + parameters: + - $ref: '#/components/parameters/IncidentIDPathParameter' + - $ref: '#/components/parameters/IncidentResponderIDPathParameter' + responses: + '204': + description: No Content + '400': + $ref: '#/components/responses/BadRequestResponse' + '401': + $ref: '#/components/responses/UnauthorizedResponse' + '403': + $ref: '#/components/responses/ForbiddenResponse' + '404': + $ref: '#/components/responses/NotFoundResponse' + '429': + $ref: '#/components/responses/TooManyRequestsResponse' + security: + - apiKeyAuth: [] + appKeyAuth: [] + - AuthZ: + - incident_write + summary: Delete an incident responder + tags: + - Incidents + x-permission: + operator: OR + permissions: + - incident_write + x-unstable: |- + **Note**: This endpoint is in preview and is subject to change. + If you have any feedback, contact [Datadog support](https://docs.datadoghq.com/help/). + get: + description: Get a single responder for an incident. + operationId: GetIncidentResponder + parameters: + - $ref: '#/components/parameters/IncidentIDPathParameter' + - $ref: '#/components/parameters/IncidentResponderIDPathParameter' + responses: + '200': + content: + application/json: + examples: + default: + value: + data: + attributes: + created: '2024-01-01T00:00:00.000Z' + is_billable: true + modified: '2024-01-01T00:00:00.000Z' + id: 00000000-0000-0000-0000-000000000002 + type: incident_responders + schema: + $ref: '#/components/schemas/IncidentResponderResponse' + description: OK + '400': + $ref: '#/components/responses/BadRequestResponse' + '401': + $ref: '#/components/responses/UnauthorizedResponse' + '403': + $ref: '#/components/responses/ForbiddenResponse' + '404': + $ref: '#/components/responses/NotFoundResponse' + '429': + $ref: '#/components/responses/TooManyRequestsResponse' + security: + - apiKeyAuth: [] + appKeyAuth: [] + - AuthZ: + - incident_read + summary: Get an incident responder + tags: + - Incidents + x-permission: + operator: OR + permissions: + - incident_read + x-unstable: |- + **Note**: This endpoint is in preview and is subject to change. + If you have any feedback, contact [Datadog support](https://docs.datadoghq.com/help/). + /api/v2/incidents/{incident_id}/servicenow-records: + post: + description: Create a ServiceNow record for an incident. + operationId: CreateIncidentServiceNowRecord + parameters: + - $ref: '#/components/parameters/IncidentIDPathParameter' + requestBody: + content: + application/json: + examples: + default: + value: + data: + attributes: + assignment_group: IT Support + configuration_item_mapping: my-service + instance_name: my-instance + type: incident_servicenow_record_prompt + schema: + $ref: '#/components/schemas/IncidentServiceNowRecordRequest' + description: ServiceNow record payload. + required: true + responses: + '201': + content: + application/json: + examples: + default: + value: + data: + attributes: + incident_id: 00000000-0000-0000-0000-000000000000 + integration_type: 13 + metadata: + records: + - instance_name: my-instance + record_num: INC0001234 + redirect_url: https://my-instance.service-now.com/nav_to.do?uri=incident.do?sys_id=abc123 + status: 2 + id: 00000000-0000-0000-0000-000000000001 + type: incident_integrations + schema: + $ref: '#/components/schemas/IncidentIntegrationMetadataResponse' + description: Created + '400': + $ref: '#/components/responses/BadRequestResponse' + '401': + $ref: '#/components/responses/UnauthorizedResponse' + '403': + $ref: '#/components/responses/ForbiddenResponse' + '404': + $ref: '#/components/responses/NotFoundResponse' + '429': + $ref: '#/components/responses/TooManyRequestsResponse' + security: + - apiKeyAuth: [] + appKeyAuth: [] + - AuthZ: + - incident_write + summary: Create an incident ServiceNow record + tags: + - Incidents + x-codegen-request-body-name: body + x-permission: + operator: OR + permissions: + - incident_write + x-unstable: |- + **Note**: This endpoint is in preview and is subject to change. + If you have any feedback, contact [Datadog support](https://docs.datadoghq.com/help/). + /api/v2/incidents/{incident_id}/timestamp-overrides: + get: + description: List all timestamp overrides for an incident. + operationId: ListTimestampOverrides + parameters: + - $ref: '#/components/parameters/IncidentIDPathParameter' + responses: + '200': + content: + application/json: + examples: + default: + value: + data: [] + schema: + $ref: '#/components/schemas/IncidentTimestampOverridesResponse' + description: OK + '400': + $ref: '#/components/responses/BadRequestResponse' + '401': + $ref: '#/components/responses/UnauthorizedResponse' + '403': + $ref: '#/components/responses/ForbiddenResponse' + '404': + $ref: '#/components/responses/NotFoundResponse' + '429': + $ref: '#/components/responses/TooManyRequestsResponse' + security: + - apiKeyAuth: [] + appKeyAuth: [] + - AuthZ: + - incident_read + summary: List incident timestamp overrides + tags: + - Incidents + x-permission: + operator: OR + permissions: + - incident_read + x-unstable: |- + **Note**: This endpoint is in preview and is subject to change. + If you have any feedback, contact [Datadog support](https://docs.datadoghq.com/help/). + post: + description: Create a timestamp override for an incident. + operationId: CreateTimestampOverride + parameters: + - $ref: '#/components/parameters/IncidentIDPathParameter' + requestBody: + content: + application/json: + examples: + default: + value: + data: + attributes: + timestamp_type: detected + timestamp_value: '2024-01-01T10:00:00.000Z' + type: incidents_timestamp_overrides + schema: + $ref: '#/components/schemas/IncidentTimestampOverrideRequest' + description: Timestamp override payload. + required: true + responses: + '201': + content: + application/json: + examples: + default: + value: + data: + attributes: + created_at: '2024-01-01T00:00:00.000Z' + incident_id: 00000000-0000-0000-0000-000000000000 + modified_at: '2024-01-01T00:00:00.000Z' + timestamp_type: detected + timestamp_value: '2024-01-01T10:00:00.000Z' + id: 00000000-0000-0000-0000-000000000001 + type: incidents_timestamp_overrides + schema: + $ref: '#/components/schemas/IncidentTimestampOverrideResponse' + description: Created + '400': + $ref: '#/components/responses/BadRequestResponse' + '401': + $ref: '#/components/responses/UnauthorizedResponse' + '403': + $ref: '#/components/responses/ForbiddenResponse' + '404': + $ref: '#/components/responses/NotFoundResponse' + '429': + $ref: '#/components/responses/TooManyRequestsResponse' + security: + - apiKeyAuth: [] + appKeyAuth: [] + - AuthZ: + - incident_write + summary: Create an incident timestamp override + tags: + - Incidents + x-codegen-request-body-name: body + x-permission: + operator: OR + permissions: + - incident_write + x-unstable: |- + **Note**: This endpoint is in preview and is subject to change. + If you have any feedback, contact [Datadog support](https://docs.datadoghq.com/help/). + /api/v2/incidents/{incident_id}/timestamp-overrides/{id}: + delete: + description: Delete a timestamp override for an incident. + operationId: DeleteTimestampOverride + parameters: + - $ref: '#/components/parameters/IncidentIDPathParameter' + - $ref: '#/components/parameters/IncidentTimestampOverrideIDPathParameter' + responses: + '204': + description: No Content + '400': + $ref: '#/components/responses/BadRequestResponse' + '401': + $ref: '#/components/responses/UnauthorizedResponse' + '403': + $ref: '#/components/responses/ForbiddenResponse' + '404': + $ref: '#/components/responses/NotFoundResponse' + '429': + $ref: '#/components/responses/TooManyRequestsResponse' + security: + - apiKeyAuth: [] + appKeyAuth: [] + - AuthZ: + - incident_write + summary: Delete an incident timestamp override + tags: + - Incidents + x-permission: + operator: OR + permissions: + - incident_write + x-unstable: |- + **Note**: This endpoint is in preview and is subject to change. + If you have any feedback, contact [Datadog support](https://docs.datadoghq.com/help/). + patch: + description: Update a timestamp override for an incident. + operationId: UpdateTimestampOverride + parameters: + - $ref: '#/components/parameters/IncidentIDPathParameter' + - $ref: '#/components/parameters/IncidentTimestampOverrideIDPathParameter' + requestBody: + content: + application/json: + examples: + default: + value: + data: + attributes: + timestamp_value: '2024-01-01T11:00:00.000Z' + id: 00000000-0000-0000-0000-000000000001 + type: incidents_timestamp_overrides + schema: + $ref: '#/components/schemas/IncidentTimestampOverridePatchRequest' + description: Timestamp override patch payload. + required: true + responses: + '200': + content: + application/json: + examples: + default: + value: + data: + attributes: + created_at: '2024-01-01T00:00:00.000Z' + incident_id: 00000000-0000-0000-0000-000000000000 + modified_at: '2024-01-02T00:00:00.000Z' + timestamp_type: detected + timestamp_value: '2024-01-01T11:00:00.000Z' + id: 00000000-0000-0000-0000-000000000001 + type: incidents_timestamp_overrides + schema: + $ref: '#/components/schemas/IncidentTimestampOverrideResponse' + description: OK + '400': + $ref: '#/components/responses/BadRequestResponse' + '401': + $ref: '#/components/responses/UnauthorizedResponse' + '403': + $ref: '#/components/responses/ForbiddenResponse' + '404': + $ref: '#/components/responses/NotFoundResponse' + '429': + $ref: '#/components/responses/TooManyRequestsResponse' + security: + - apiKeyAuth: [] + appKeyAuth: [] + - AuthZ: + - incident_write + summary: Update an incident timestamp override + tags: + - Incidents + x-codegen-request-body-name: body + x-permission: + operator: OR + permissions: + - incident_write + x-unstable: |- + **Note**: This endpoint is in preview and is subject to change. + If you have any feedback, contact [Datadog support](https://docs.datadoghq.com/help/). + /api/v2/maintenance_windows: + get: + description: Returns all configured maintenance windows for event management cases. Maintenance windows define time periods during which case notifications and automation rules are suppressed for cases matching a given query. + operationId: ListMaintenanceWindows + responses: + '200': + content: + application/json: + examples: + default: + value: + data: + - attributes: + end_at: '2026-06-01T06:00:00Z' + name: Weekly maintenance + query: project:SEC + start_at: '2026-06-01T00:00:00Z' + id: a1b2c3d4-e5f6-7890-abcd-ef1234567890 + type: maintenance_window + schema: + $ref: '#/components/schemas/MaintenanceWindowsResponse' + description: OK + '400': + $ref: '#/components/responses/BadRequestResponse' + '401': + $ref: '#/components/responses/UnauthorizedResponse' + '403': + $ref: '#/components/responses/ForbiddenResponse' + '404': + $ref: '#/components/responses/NotFoundResponse' + '429': + $ref: '#/components/responses/TooManyRequestsResponse' + security: + - apiKeyAuth: [] + appKeyAuth: [] + - AuthZ: + - event_correlation_config_read + summary: List maintenance windows + tags: + - Case Management + post: + description: Creates a maintenance window for event management cases with a name, case filter query, and time range (start and end). + operationId: CreateMaintenanceWindow + requestBody: + content: + application/json: + examples: + default: + value: + data: + attributes: + end_at: '2026-06-01T06:00:00Z' + name: Weekly maintenance + query: project:SEC + start_at: '2026-06-01T00:00:00Z' + type: maintenance_window + schema: + $ref: '#/components/schemas/MaintenanceWindowCreateRequest' + description: Maintenance window payload. + required: true + responses: + '201': + content: + application/json: + examples: + default: + value: + data: + attributes: + end_at: '2026-06-01T06:00:00Z' + name: Weekly maintenance + query: project:SEC + start_at: '2026-06-01T00:00:00Z' + id: a1b2c3d4-e5f6-7890-abcd-ef1234567890 + type: maintenance_window + schema: + $ref: '#/components/schemas/MaintenanceWindowResponse' + description: Created + '400': + $ref: '#/components/responses/BadRequestResponse' + '401': + $ref: '#/components/responses/UnauthorizedResponse' + '403': + $ref: '#/components/responses/ForbiddenResponse' + '404': + $ref: '#/components/responses/NotFoundResponse' + '429': + $ref: '#/components/responses/TooManyRequestsResponse' + security: + - apiKeyAuth: [] + appKeyAuth: [] + - AuthZ: + - event_correlation_config_write + summary: Create a maintenance window + tags: + - Case Management + /api/v2/maintenance_windows/{maintenance_window_id}: + delete: + description: Permanently deletes a maintenance window. + operationId: DeleteMaintenanceWindow + parameters: + - $ref: '#/components/parameters/MaintenanceWindowIDPathParameter' + responses: + '204': + description: No Content + '400': + $ref: '#/components/responses/BadRequestResponse' + '401': + $ref: '#/components/responses/UnauthorizedResponse' + '403': + $ref: '#/components/responses/ForbiddenResponse' + '404': + $ref: '#/components/responses/NotFoundResponse' + '429': + $ref: '#/components/responses/TooManyRequestsResponse' + security: + - apiKeyAuth: [] + appKeyAuth: [] + - AuthZ: + - event_correlation_config_write + summary: Delete a maintenance window + tags: + - Case Management + put: + description: Updates the name, query, start time, or end time of an existing maintenance window. + operationId: UpdateMaintenanceWindow + parameters: + - $ref: '#/components/parameters/MaintenanceWindowIDPathParameter' + requestBody: + content: + application/json: + examples: + default: + value: + data: + attributes: + end_at: '2026-06-01T06:00:00Z' + name: Weekly maintenance + query: project:SEC + start_at: '2026-06-01T00:00:00Z' + type: maintenance_window + schema: + $ref: '#/components/schemas/MaintenanceWindowUpdateRequest' + description: Maintenance window payload. + required: true + responses: + '200': + content: + application/json: + examples: + default: + value: + data: + attributes: + end_at: '2026-06-01T06:00:00Z' + name: Weekly maintenance + query: project:SEC + start_at: '2026-06-01T00:00:00Z' + id: a1b2c3d4-e5f6-7890-abcd-ef1234567890 + type: maintenance_window + schema: + $ref: '#/components/schemas/MaintenanceWindowResponse' + description: OK + '400': + $ref: '#/components/responses/BadRequestResponse' + '401': + $ref: '#/components/responses/UnauthorizedResponse' + '403': + $ref: '#/components/responses/ForbiddenResponse' + '404': + $ref: '#/components/responses/NotFoundResponse' + '429': + $ref: '#/components/responses/TooManyRequestsResponse' + security: + - apiKeyAuth: [] + appKeyAuth: [] + - AuthZ: + - event_correlation_config_write + summary: Update a maintenance window + tags: + - Case Management + /api/v2/on-call/escalation-policies: + post: + description: Create a new On-Call escalation policy + operationId: CreateOnCallEscalationPolicy + parameters: + - description: 'Comma-separated list of included relationships to be returned. Allowed values: `teams`, `steps`, `steps.targets`.' + in: query + name: include + schema: + type: string + requestBody: + content: + application/json: + examples: + default: + value: + data: + attributes: + name: Escalation Policy 1 + resolve_page_on_policy_end: true + retries: 2 + steps: + - assignment: default + escalate_after_seconds: 3600 + targets: + - id: 00000000-aba1-0000-0000-000000000000 + type: users + - config: + schedule: + position: previous + id: 00000000-aba2-0000-0000-000000000000 + type: schedules + - id: 00000000-aba3-0000-0000-000000000000 + type: teams + - assignment: round-robin + escalate_after_seconds: 3600 + targets: + - id: 00000000-aba1-0000-0000-000000000000 + type: users + - id: 00000000-abb1-0000-0000-000000000000 + type: users + relationships: + teams: + data: + - id: 00000000-da3a-0000-0000-000000000000 + type: teams + type: policies + schema: + $ref: '#/components/schemas/EscalationPolicyCreateRequest' + required: true + responses: + '201': + content: + application/json: + examples: + default: + value: + data: + attributes: + name: Escalation Policy 1 + resolve_page_on_policy_end: true + retries: 2 + id: 00000000-aba1-0000-0000-000000000000 + relationships: + steps: + data: + - id: 00000000-aba1-0000-0000-000000000000 + type: steps + teams: + data: + - id: 00000000-da3a-0000-0000-000000000000 + type: teams + type: policies + schema: + $ref: '#/components/schemas/EscalationPolicy' + description: Created + '400': + $ref: '#/components/responses/BadRequestResponse' + '401': + $ref: '#/components/responses/UnauthorizedResponse' + '403': + $ref: '#/components/responses/ForbiddenResponse' + '429': + $ref: '#/components/responses/TooManyRequestsResponse' + security: + - apiKeyAuth: [] + appKeyAuth: [] + - AuthZ: [] + summary: Create On-Call escalation policy + tags: + - On-Call + x-permission: + operator: AND + permissions: + - on_call_write + /api/v2/on-call/escalation-policies/{policy_id}: + delete: + description: Delete an On-Call escalation policy + operationId: DeleteOnCallEscalationPolicy + parameters: + - description: The ID of the escalation policy + in: path + name: policy_id + required: true + schema: + example: a3000000-0000-0000-0000-000000000000 + type: string + responses: + '204': + description: No Content + '401': + $ref: '#/components/responses/UnauthorizedResponse' + '403': + $ref: '#/components/responses/ForbiddenResponse' + '404': + $ref: '#/components/responses/NotFoundResponse' + '429': + $ref: '#/components/responses/TooManyRequestsResponse' + security: + - apiKeyAuth: [] + appKeyAuth: [] + - AuthZ: [] + summary: Delete On-Call escalation policy + tags: + - On-Call + x-permission: + operator: AND + permissions: + - on_call_write + get: + description: Get an On-Call escalation policy + operationId: GetOnCallEscalationPolicy + parameters: + - description: The ID of the escalation policy + in: path + name: policy_id + required: true + schema: + example: a3000000-0000-0000-0000-000000000000 + type: string + - description: 'Comma-separated list of included relationships to be returned. Allowed values: `teams`, `steps`, `steps.targets`.' + in: query + name: include + schema: + type: string + responses: + '200': + content: + application/json: + examples: + default: + value: + data: + attributes: + name: Escalation Policy 1 + resolve_page_on_policy_end: true + retries: 2 + id: 00000000-aba1-0000-0000-000000000000 + relationships: + steps: + data: + - id: 00000000-aba1-0000-0000-000000000000 + type: steps + teams: + data: + - id: 00000000-da3a-0000-0000-000000000000 + type: teams + type: policies + schema: + $ref: '#/components/schemas/EscalationPolicy' + description: OK + '400': + $ref: '#/components/responses/BadRequestResponse' + '401': + $ref: '#/components/responses/UnauthorizedResponse' + '403': + $ref: '#/components/responses/ForbiddenResponse' + '404': + $ref: '#/components/responses/NotFoundResponse' + '429': + $ref: '#/components/responses/TooManyRequestsResponse' + security: + - apiKeyAuth: [] + appKeyAuth: [] + - AuthZ: [] + summary: Get On-Call escalation policy + tags: + - On-Call + x-permission: + operator: AND + permissions: + - on_call_read + put: + description: Update an On-Call escalation policy + operationId: UpdateOnCallEscalationPolicy + parameters: + - description: The ID of the escalation policy + in: path + name: policy_id + required: true + schema: + example: a3000000-0000-0000-0000-000000000000 + type: string + - description: 'Comma-separated list of included relationships to be returned. Allowed values: `teams`, `steps`, `steps.targets`.' + in: query + name: include + schema: + type: string + requestBody: + content: + application/json: + examples: + default: + value: + data: + attributes: + name: Escalation Policy 1 + resolve_page_on_policy_end: false + retries: 2 + steps: + - assignment: default + escalate_after_seconds: 3600 + id: 00000000-aba1-0000-0000-000000000000 + targets: + - id: 00000000-aba1-0000-0000-000000000000 + type: users + - id: 00000000-aba2-0000-0000-000000000000 + type: schedules + id: a3000000-0000-0000-0000-000000000000 + relationships: + teams: + data: + - id: 00000000-da3a-0000-0000-000000000000 + type: teams + type: policies + schema: + $ref: '#/components/schemas/EscalationPolicyUpdateRequest' + required: true + responses: + '200': + content: + application/json: + examples: + default: + value: + data: + attributes: + name: Escalation Policy 1 + resolve_page_on_policy_end: true + retries: 2 + id: 00000000-aba1-0000-0000-000000000000 + relationships: + steps: + data: + - id: 00000000-aba1-0000-0000-000000000000 + type: steps + teams: + data: + - id: 00000000-da3a-0000-0000-000000000000 + type: teams + type: policies + schema: + $ref: '#/components/schemas/EscalationPolicy' + description: OK + '400': + $ref: '#/components/responses/BadRequestResponse' + '401': + $ref: '#/components/responses/UnauthorizedResponse' + '403': + $ref: '#/components/responses/ForbiddenResponse' + '404': + $ref: '#/components/responses/NotFoundResponse' + '429': + $ref: '#/components/responses/TooManyRequestsResponse' + security: + - apiKeyAuth: [] + appKeyAuth: [] + - AuthZ: [] + summary: Update On-Call escalation policy + tags: + - On-Call + x-permission: + operator: AND + permissions: + - on_call_write + /api/v2/on-call/pages: + post: + description: Trigger a new On-Call Page. + operationId: CreateOnCallPage + requestBody: + content: + application/json: + examples: + default: + value: + data: + attributes: + description: Page details. + tags: + - service:test + target: + identifier: my-team + type: team_handle + title: Page title + urgency: low + type: pages + schema: + $ref: '#/components/schemas/CreatePageRequest' + required: true + responses: + '200': + content: + application/json: + examples: + default: + value: + data: + id: 00000000-0000-0000-0000-000000000001 + type: pages + schema: + $ref: '#/components/schemas/CreatePageResponse' + description: OK. + '429': + $ref: '#/components/responses/TooManyRequestsResponse' + security: + - apiKeyAuth: [] + appKeyAuth: [] + - AuthZ: [] + summary: Create On-Call Page + tags: + - On-Call Paging + servers: + - url: https://{site:.+} + variables: + site: + default: navy.oncall.datadoghq.com + description: The globally available endpoint for On-Call. + /api/v2/on-call/pages/{page_id}/acknowledge: + post: + description: Acknowledges an On-Call Page. + operationId: AcknowledgeOnCallPage + parameters: + - description: The page ID. + in: path + name: page_id + required: true + schema: + example: 15e74b8b-f865-48d0-bcc5-453323ed2c8f + format: uuid + type: string + responses: + '202': + description: Accepted. + '429': + $ref: '#/components/responses/TooManyRequestsResponse' + security: + - apiKeyAuth: [] + appKeyAuth: [] + - AuthZ: [] + summary: Acknowledge On-Call Page + tags: + - On-Call Paging + servers: + - url: https://{site:.+} + variables: + site: + default: navy.oncall.datadoghq.com + description: The globally available endpoint for On-Call. + /api/v2/on-call/pages/{page_id}/escalate: + post: + description: Escalates an On-Call Page. + operationId: EscalateOnCallPage + parameters: + - description: The page ID. + in: path + name: page_id + required: true + schema: + example: 15e74b8b-f865-48d0-bcc5-453323ed2c8f + format: uuid + type: string + responses: + '202': + description: Accepted. + '429': + $ref: '#/components/responses/TooManyRequestsResponse' + security: + - apiKeyAuth: [] + appKeyAuth: [] + - AuthZ: [] + summary: Escalate On-Call Page + tags: + - On-Call Paging + servers: + - url: https://{site:.+} + variables: + site: + default: navy.oncall.datadoghq.com + description: The globally available endpoint for On-Call. + /api/v2/on-call/pages/{page_id}/resolve: + post: + description: Resolves an On-Call Page. + operationId: ResolveOnCallPage + parameters: + - description: The page ID. + in: path + name: page_id + required: true + schema: + example: 15e74b8b-f865-48d0-bcc5-453323ed2c8f + format: uuid + type: string + responses: + '202': + description: Accepted. + '429': + $ref: '#/components/responses/TooManyRequestsResponse' + security: + - apiKeyAuth: [] + appKeyAuth: [] + - AuthZ: [] + summary: Resolve On-Call Page + tags: + - On-Call Paging + servers: + - url: https://{site:.+} + variables: + site: + default: navy.oncall.datadoghq.com + description: The globally available endpoint for On-Call. + /api/v2/on-call/schedules: + post: + description: Create a new On-Call schedule + operationId: CreateOnCallSchedule + parameters: + - description: 'Comma-separated list of included relationships to be returned. Allowed values: `teams`, `layers`, `layers.members`, `layers.members.user`.' + in: query + name: include + schema: + type: string + requestBody: + content: + application/json: + examples: + default: + value: + data: + attributes: + layers: + - effective_date: '2025-02-03T05:00:00Z' + end_date: '2025-12-31T00:00:00Z' + interval: + days: 1 + members: + - user: + id: 00000000-aba1-0000-0000-000000000000 + name: Layer 1 + restrictions: + - end_day: friday + end_time: '17:00:00' + start_day: monday + start_time: '09:00:00' + rotation_start: '2025-02-01T00:00:00Z' + name: On-Call Schedule + time_zone: America/New_York + relationships: + teams: + data: + - id: 00000000-da3a-0000-0000-000000000000 + type: teams + type: schedules + schema: + $ref: '#/components/schemas/ScheduleCreateRequest' + required: true + responses: + '201': + content: + application/json: + examples: + default: + value: + data: + attributes: + name: On-Call Schedule + time_zone: America/New_York + id: 3653d3c6-0c75-11ea-ad28-fb5701eabc7d + relationships: + layers: + data: + - id: 00000000-0000-0000-0000-000000000001 + type: layers + teams: + data: + - id: 00000000-da3a-0000-0000-000000000000 + type: teams + type: schedules + schema: + $ref: '#/components/schemas/Schedule' + description: Created + '400': + $ref: '#/components/responses/BadRequestResponse' + '401': + $ref: '#/components/responses/UnauthorizedResponse' + '403': + $ref: '#/components/responses/ForbiddenResponse' + '429': + $ref: '#/components/responses/TooManyRequestsResponse' + security: + - apiKeyAuth: [] + appKeyAuth: [] + - AuthZ: [] + summary: Create On-Call schedule + tags: + - On-Call + x-permission: + operator: AND + permissions: + - on_call_write + /api/v2/on-call/schedules/{schedule_id}: + delete: + description: Delete an On-Call schedule + operationId: DeleteOnCallSchedule + parameters: + - description: The ID of the schedule + in: path + name: schedule_id + required: true + schema: + example: 3653d3c6-0c75-11ea-ad28-fb5701eabc7d + type: string + responses: + '204': + description: No Content + '401': + $ref: '#/components/responses/UnauthorizedResponse' + '403': + $ref: '#/components/responses/ForbiddenResponse' + '404': + $ref: '#/components/responses/NotFoundResponse' + '429': + $ref: '#/components/responses/TooManyRequestsResponse' + security: + - apiKeyAuth: [] + appKeyAuth: [] + - AuthZ: [] + summary: Delete On-Call schedule + tags: + - On-Call + x-permission: + operator: AND + permissions: + - on_call_write + get: + description: Get an On-Call schedule + operationId: GetOnCallSchedule + parameters: + - description: 'Comma-separated list of included relationships to be returned. Allowed values: `teams`, `layers`, `layers.members`, `layers.members.user`.' + in: query + name: include + schema: + type: string + - description: The ID of the schedule + in: path + name: schedule_id + required: true + schema: + example: 3653d3c6-0c75-11ea-ad28-fb5701eabc7d + type: string + responses: + '200': + content: + application/json: + examples: + default: + value: + data: + attributes: + name: On-Call Schedule + time_zone: America/New_York + id: 3653d3c6-0c75-11ea-ad28-fb5701eabc7d + relationships: + layers: + data: + - id: 00000000-0000-0000-0000-000000000001 + type: layers + teams: + data: + - id: 00000000-da3a-0000-0000-000000000000 + type: teams + type: schedules + schema: + $ref: '#/components/schemas/Schedule' + description: OK + '401': + $ref: '#/components/responses/UnauthorizedResponse' + '403': + $ref: '#/components/responses/ForbiddenResponse' + '404': + $ref: '#/components/responses/NotFoundResponse' + '429': + $ref: '#/components/responses/TooManyRequestsResponse' + security: + - apiKeyAuth: [] + appKeyAuth: [] + - AuthZ: [] + summary: Get On-Call schedule + tags: + - On-Call + x-permission: + operator: AND + permissions: + - on_call_read + put: + description: Update a new On-Call schedule + operationId: UpdateOnCallSchedule + parameters: + - description: 'Comma-separated list of included relationships to be returned. Allowed values: `teams`, `layers`, `layers.members`, `layers.members.user`.' + in: query + name: include + schema: + type: string + - description: The ID of the schedule + in: path + name: schedule_id + required: true + schema: + example: 3653d3c6-0c75-11ea-ad28-fb5701eabc7d + type: string + requestBody: + content: + application/json: + examples: + default: + value: + data: + attributes: + layers: + - effective_date: '2025-02-03T05:00:00Z' + end_date: '2025-12-31T00:00:00Z' + interval: + seconds: 3600 + members: + - user: + id: 00000000-aba1-0000-0000-000000000000 + name: Layer 1 + restrictions: + - end_day: friday + end_time: '17:00:00' + start_day: monday + start_time: '09:00:00' + rotation_start: '2025-02-01T00:00:00Z' + name: On-Call Schedule Updated + time_zone: America/New_York + id: 3653d3c6-0c75-11ea-ad28-fb5701eabc7d + relationships: + teams: + data: + - id: 00000000-da3a-0000-0000-000000000000 + type: teams + type: schedules + schema: + $ref: '#/components/schemas/ScheduleUpdateRequest' + required: true + responses: + '200': + content: + application/json: + examples: + default: + value: + data: + attributes: + name: On-Call Schedule + time_zone: America/New_York + id: 00000000-0000-0000-0000-000000000001 + relationships: + layers: + data: + - id: 00000000-0000-0000-0000-000000000002 + type: layers + teams: + data: + - id: 00000000-0000-0000-0000-000000000003 + type: teams + type: schedules + schema: + $ref: '#/components/schemas/Schedule' + description: OK + '400': + $ref: '#/components/responses/BadRequestResponse' + '401': + $ref: '#/components/responses/UnauthorizedResponse' + '403': + $ref: '#/components/responses/ForbiddenResponse' + '404': + $ref: '#/components/responses/NotFoundResponse' + '429': + $ref: '#/components/responses/TooManyRequestsResponse' + security: + - apiKeyAuth: [] + appKeyAuth: [] + - AuthZ: [] + summary: Update On-Call schedule + tags: + - On-Call + x-permission: + operator: AND + permissions: + - on_call_write + /api/v2/on-call/schedules/{schedule_id}/on-call: + get: + deprecated: true + description: Retrieves the user who is on-call for the specified schedule at a given time. This endpoint does not support schedules with multiple concurrent on-call responders at a position. Deprecated. Use `Get on-call responders for a schedule` instead. + operationId: GetScheduleOnCallUser + parameters: + - description: 'Specifies related resources to include in the response as a comma-separated list. Allowed value: `user`.' + in: query + name: include + schema: + type: string + - description: The ID of the schedule. + in: path + name: schedule_id + required: true + schema: + example: 3653d3c6-0c75-11ea-ad28-fb5701eabc7d + type: string + - description: Retrieves the on-call user at the given timestamp in RFC3339 format (for example, `2025-05-07T02:53:01Z` or `2025-05-07T02:53:01+00:00`). When using timezone offsets with `+` or `-`, ensure proper URL encoding (`+` should be encoded as `%2B`). Defaults to the current time if omitted. + in: query + name: filter[at_ts] + schema: + example: '2025-05-07T02:53:01Z' + type: string + responses: + '200': + content: + application/json: + examples: + default: + value: + data: + attributes: + end: '2024-01-01T03:53:01.000000000Z' + start: '2024-01-01T02:53:01.000000000Z' + id: 00000000-0000-0000-0000-000000000000 + relationships: + user: + data: + id: 00000000-aba1-0000-0000-000000000000 + type: users + type: shifts + schema: + $ref: '#/components/schemas/Shift' + description: OK + '400': + $ref: '#/components/responses/BadRequestResponse' + '401': + $ref: '#/components/responses/UnauthorizedResponse' + '403': + $ref: '#/components/responses/ForbiddenResponse' + '404': + $ref: '#/components/responses/NotFoundResponse' + '429': + $ref: '#/components/responses/TooManyRequestsResponse' + security: + - apiKeyAuth: [] + appKeyAuth: [] + - AuthZ: [] + summary: Get scheduled on-call user + tags: + - On-Call + x-permission: + operator: AND + permissions: + - on_call_read + x-sunset: '2027-02-01' + /api/v2/on-call/schedules/{schedule_id}/responders: + get: + description: Retrieves the on-call responders for the specified schedule, grouped by position (previous, current, next), at a given time. Supports schedules with multiple concurrent on-call responders at a position, by returning a list of shifts per position. + operationId: GetScheduleOnCallResponders + parameters: + - description: 'Comma-separated list of included relationships to be returned. Allowed values: `schedule`, `responders`, `responders.shifts`, `responders.shifts.user`.' + in: query + name: include + schema: + type: string + - description: The ID of the schedule. + in: path + name: schedule_id + required: true + schema: + example: 3653d3c6-0c75-11ea-ad28-fb5701eabc7d + type: string + - description: 'Comma-separated list of positions to retrieve. Allowed values: `previous`, `current`, `next`. Defaults to `current` if omitted.' + in: query + name: filter[position] + schema: + example: previous,current,next + type: string + - description: Retrieves the on-call responders at the given timestamp in RFC3339 format (for example, `2025-05-07T02:53:01Z` or `2025-05-07T02:53:01+00:00`). When using timezone offsets with `+` or `-`, ensure proper URL encoding (`+` should be encoded as `%2B`). Defaults to the current time if omitted. + in: query + name: filter[at_ts] + schema: + example: '2025-05-07T02:53:01Z' + type: string + responses: + '200': + content: + application/json: + examples: + default: + value: + data: + attributes: + scheduled_at: '2024-05-07T02:53:01.000000000Z' + id: 3653d3c6-0c75-11ea-ad28-fb5701eabc7d-1715054400 + relationships: + responders: + data: + - id: 3653d3c6-0c75-11ea-ad28-fb5701eabc7d-1715054400-current + type: schedule_oncall_responder + schedule: + data: + id: 3653d3c6-0c75-11ea-ad28-fb5701eabc7d + type: schedules + type: schedule_oncall_responders + included: + - attributes: + position: current + id: 3653d3c6-0c75-11ea-ad28-fb5701eabc7d-1715054400-current + relationships: + shifts: + data: + - id: 00000000-0000-0000-0000-000000000000 + type: shifts + type: schedule_oncall_responder + - attributes: + end: '2024-05-08T02:53:01.000000000Z' + start: '2024-05-07T02:53:01.000000000Z' + id: 00000000-0000-0000-0000-000000000000 + relationships: + user: + data: + id: 00000000-aba1-0000-0000-000000000000 + type: users + type: shifts + schema: + $ref: '#/components/schemas/ScheduleOnCallResponders' + description: OK + '400': + $ref: '#/components/responses/BadRequestResponse' + '401': + $ref: '#/components/responses/UnauthorizedResponse' + '403': + $ref: '#/components/responses/ForbiddenResponse' + '404': + $ref: '#/components/responses/NotFoundResponse' + '429': + $ref: '#/components/responses/TooManyRequestsResponse' + security: + - apiKeyAuth: [] + appKeyAuth: [] + - AuthZ: [] + summary: Get on-call responders for a schedule + tags: + - On-Call + x-permission: + operator: AND + permissions: + - on_call_read + /api/v2/on-call/teams/{team_id}/on-call: + get: + description: Get a team's on-call users at a given time + operationId: GetTeamOnCallUsers + parameters: + - description: 'Comma-separated list of included relationships to be returned. Allowed values: `responders`, `escalations`, `escalations.responders`.' + in: query + name: include + schema: + type: string + - description: The team ID + in: path + name: team_id + required: true + schema: + example: 27590dae-47be-4a7d-9abf-8f4e45124020 + type: string + responses: + '200': + content: + application/json: + examples: + default: + value: + data: + id: 00000000-0000-0000-0000-000000000001 + relationships: + escalations: + data: + - id: 00000000-aba1-0000-0000-000000000000 + type: escalation_policy_steps + responders: + data: + - id: 00000000-aba1-0000-0000-000000000000 + type: users + type: team_oncall_responders + schema: + $ref: '#/components/schemas/TeamOnCallResponders' + description: OK + '400': + $ref: '#/components/responses/BadRequestResponse' + '401': + $ref: '#/components/responses/UnauthorizedResponse' + '403': + $ref: '#/components/responses/ForbiddenResponse' + '404': + $ref: '#/components/responses/NotFoundResponse' + '429': + $ref: '#/components/responses/TooManyRequestsResponse' + security: + - apiKeyAuth: [] + appKeyAuth: [] + - AuthZ: [] + summary: Get team on-call users + tags: + - On-Call + x-permission: + operator: AND + permissions: + - on_call_read + /api/v2/on-call/teams/{team_id}/routing-rules: + get: + description: Get a team's On-Call routing rules + operationId: GetOnCallTeamRoutingRules + parameters: + - description: The team ID + in: path + name: team_id + required: true + schema: + example: 27590dae-47be-4a7d-9abf-8f4e45124020 + type: string + - description: 'Comma-separated list of included relationships to be returned. Allowed values: `rules`, `rules.policy`.' + in: query + name: include + schema: + type: string + responses: + '200': + content: + application/json: + examples: + default: + value: + data: + id: 27590dae-47be-4a7d-9abf-8f4e45124020 + type: team_routing_rules + schema: + $ref: '#/components/schemas/TeamRoutingRules' + description: OK + '429': + $ref: '#/components/responses/TooManyRequestsResponse' + security: + - apiKeyAuth: [] + appKeyAuth: [] + - AuthZ: [] + summary: Get On-Call team routing rules + tags: + - On-Call + x-permission: + operator: AND + permissions: + - on_call_read + put: + description: Set a team's On-Call routing rules + operationId: SetOnCallTeamRoutingRules + parameters: + - description: The team ID + in: path + name: team_id + required: true + schema: + example: 27590dae-47be-4a7d-9abf-8f4e45124020 + type: string + - description: 'Comma-separated list of included relationships to be returned. Allowed values: `rules`, `rules.policy`.' + in: query + name: include + schema: + type: string + requestBody: + content: + application/json: + examples: + default: + value: + data: + attributes: + rules: + - actions: null + policy_id: '' + query: tags.service:test + time_restriction: + restrictions: + - end_day: monday + end_time: '17:00:00' + start_day: monday + start_time: '09:00:00' + - end_day: tuesday + end_time: '17:00:00' + start_day: tuesday + start_time: '09:00:00' + time_zone: '' + urgency: high + - actions: + - channel: channel + type: send_slack_message + workspace: workspace + policy_id: fad4eee1-13f5-40d8-886b-4e56d8d5d1c6 + query: '' + time_restriction: null + urgency: low + id: 27590dae-47be-4a7d-9abf-8f4e45124020 + type: team_routing_rules + schema: + $ref: '#/components/schemas/TeamRoutingRulesRequest' + required: true + responses: + '200': + content: + application/json: + examples: + default: + value: + data: + id: 00000000-0000-0000-0000-000000000001 + type: team_routing_rules + schema: + $ref: '#/components/schemas/TeamRoutingRules' + description: OK + '429': + $ref: '#/components/responses/TooManyRequestsResponse' + security: + - apiKeyAuth: [] + appKeyAuth: [] + - AuthZ: [] + summary: Set On-Call team routing rules + tags: + - On-Call + x-permission: + operator: AND + permissions: + - on_call_write + /api/v2/on-call/users/{user_id}/notification-channels: + get: + description: List the notification channels for a user. The authenticated user must be the target user or have the `on_call_admin` permission + operationId: ListUserNotificationChannels + parameters: + - description: The user ID + in: path + name: user_id + required: true + schema: + example: 00000000-0000-0000-0000-000000000000 + type: string + responses: + '200': + content: + application/json: + examples: + default: + value: + data: + - attributes: + config: + address: test@example.com + formats: + - html + type: email + id: 27590dae-47be-4a7d-9abf-8f4e45124020 + type: notification_channels + schema: + $ref: '#/components/schemas/ListNotificationChannelsResponse' + description: OK + '400': + $ref: '#/components/responses/BadRequestResponse' + '401': + $ref: '#/components/responses/UnauthorizedResponse' + '403': + $ref: '#/components/responses/ForbiddenResponse' + '404': + $ref: '#/components/responses/NotFoundResponse' + '429': + $ref: '#/components/responses/TooManyRequestsResponse' + security: + - apiKeyAuth: [] + appKeyAuth: [] + - AuthZ: [] + summary: List On-Call notification channels for a user + tags: + - On-Call + x-permission: + operator: AND + permissions: + - on_call_read + post: + description: Create a new notification channel for a user. The authenticated user must be the target user or have the `on_call_admin` permission + operationId: CreateUserNotificationChannel + parameters: + - description: The user ID + in: path + name: user_id + required: true + schema: + example: 00000000-0000-0000-0000-000000000000 + type: string + requestBody: + content: + application/json: + examples: + default: + value: + data: + attributes: + config: + address: foo@bar.com + formats: + - html + type: email + type: notification_channels + schema: + $ref: '#/components/schemas/CreateUserNotificationChannelRequest' + required: true + responses: + '201': + content: + application/json: + examples: + default: + value: + data: + attributes: + config: + address: test@example.com + formats: + - html + type: email + id: 27590dae-47be-4a7d-9abf-8f4e45124020 + type: notification_channels + schema: + $ref: '#/components/schemas/NotificationChannel' + description: Created + '400': + $ref: '#/components/responses/BadRequestResponse' + '401': + $ref: '#/components/responses/UnauthorizedResponse' + '403': + $ref: '#/components/responses/ForbiddenResponse' + '404': + $ref: '#/components/responses/NotFoundResponse' + '429': + $ref: '#/components/responses/TooManyRequestsResponse' + security: + - apiKeyAuth: [] + appKeyAuth: [] + - AuthZ: [] + summary: Create an On-Call notification channel for a user + tags: + - On-Call + x-permission: + operator: AND + permissions: + - on_call_respond + /api/v2/on-call/users/{user_id}/notification-channels/{channel_id}: + delete: + description: Delete a notification channel for a user. The authenticated user must be the target user or have the `on_call_admin` permission + operationId: DeleteUserNotificationChannel + parameters: + - description: The user ID + in: path + name: user_id + required: true + schema: + example: 00000000-0000-0000-0000-000000000000 + type: string + - description: The channel ID + in: path + name: channel_id + required: true + schema: + example: 00000000-0000-0000-0000-000000000000 + type: string + responses: + '204': + description: No Content + '400': + $ref: '#/components/responses/BadRequestResponse' + '401': + $ref: '#/components/responses/UnauthorizedResponse' + '403': + $ref: '#/components/responses/ForbiddenResponse' + '404': + $ref: '#/components/responses/NotFoundResponse' + '429': + $ref: '#/components/responses/TooManyRequestsResponse' + security: + - apiKeyAuth: [] + appKeyAuth: [] + - AuthZ: [] + summary: Delete an On-Call notification channel for a user + tags: + - On-Call + x-permission: + operator: AND + permissions: + - on_call_respond + get: + description: Get a notification channel for a user. The authenticated user must be the target user or have the `on_call_admin` permission + operationId: GetUserNotificationChannel + parameters: + - description: The user ID + in: path + name: user_id + required: true + schema: + example: 00000000-0000-0000-0000-000000000000 + type: string + - description: The channel ID + in: path + name: channel_id + required: true + schema: + example: 00000000-0000-0000-0000-000000000000 + type: string + responses: + '200': + content: + application/json: + examples: + default: + value: + data: + attributes: + config: + address: test@example.com + formats: + - html + type: email + id: 27590dae-47be-4a7d-9abf-8f4e45124020 + type: notification_channels + schema: + $ref: '#/components/schemas/NotificationChannel' + description: OK + '400': + $ref: '#/components/responses/BadRequestResponse' + '401': + $ref: '#/components/responses/UnauthorizedResponse' + '403': + $ref: '#/components/responses/ForbiddenResponse' + '404': + $ref: '#/components/responses/NotFoundResponse' + '429': + $ref: '#/components/responses/TooManyRequestsResponse' + security: + - apiKeyAuth: [] + appKeyAuth: [] + - AuthZ: [] + summary: Get an On-Call notification channel for a user + tags: + - On-Call + x-permission: + operator: AND + permissions: + - on_call_read + /api/v2/on-call/users/{user_id}/notification-rules: + get: + description: List the notification rules for a user. The authenticated user must be the target user or have the `on_call_admin` permission + operationId: ListUserNotificationRules + parameters: + - description: 'Comma-separated list of included relationships to be returned. Allowed values: `channel`.' + in: query + name: include + schema: + type: string + - description: The user ID + in: path + name: user_id + required: true + schema: + example: 00000000-0000-0000-0000-000000000000 + type: string + responses: + '200': + content: + application/json: + examples: + default: + value: + data: + - attributes: + category: high_urgency + channel_settings: + method: sms + type: phone + delay_minutes: 1 + id: 27590dae-47be-4a7d-9abf-8f4e45124020 + type: notification_rules + schema: + $ref: '#/components/schemas/ListOnCallNotificationRulesResponse' + description: OK + '400': + $ref: '#/components/responses/BadRequestResponse' + '401': + $ref: '#/components/responses/UnauthorizedResponse' + '403': + $ref: '#/components/responses/ForbiddenResponse' + '404': + $ref: '#/components/responses/NotFoundResponse' + '429': + $ref: '#/components/responses/TooManyRequestsResponse' + security: + - apiKeyAuth: [] + appKeyAuth: [] + - AuthZ: [] + summary: List On-Call notification rules for a user + tags: + - On-Call + x-permission: + operator: AND + permissions: + - on_call_read + post: + description: Create a new notification rule for a user. The authenticated user must be the target user or have the `on_call_admin` permission + operationId: CreateUserNotificationRule + parameters: + - description: The user ID + in: path + name: user_id + required: true + schema: + example: 00000000-0000-0000-0000-000000000000 + type: string + requestBody: + content: + application/json: + examples: + default: + value: + data: + attributes: + category: high_urgency + channel_settings: + method: sms + type: phone + delay_minutes: 1 + relationships: + channel: + data: + id: 1562fab3-a8c2-49e2-8f3a-28dcda2405e2 + type: notification_channels + type: notification_rules + schema: + $ref: '#/components/schemas/CreateOnCallNotificationRuleRequest' + required: true + responses: + '201': + content: + application/json: + examples: + default: + value: + data: + attributes: + category: high_urgency + channel_settings: + method: sms + type: phone + delay_minutes: 1 + id: 00000000-0000-0000-0000-000000000001 + relationships: + channel: + data: + id: 00000000-0000-0000-0000-000000000002 + type: notification_channels + type: notification_rules + schema: + $ref: '#/components/schemas/OnCallNotificationRule' + description: Created + '400': + $ref: '#/components/responses/BadRequestResponse' + '401': + $ref: '#/components/responses/UnauthorizedResponse' + '403': + $ref: '#/components/responses/ForbiddenResponse' + '404': + $ref: '#/components/responses/NotFoundResponse' + '429': + $ref: '#/components/responses/TooManyRequestsResponse' + security: + - apiKeyAuth: [] + appKeyAuth: [] + - AuthZ: [] + summary: Create an On-Call notification rule for a user + tags: + - On-Call + x-permission: + operator: AND + permissions: + - on_call_respond + /api/v2/on-call/users/{user_id}/notification-rules/{rule_id}: + delete: + description: Delete a notification rule for a user. The authenticated user must be the target user or have the `on_call_admin` permission + operationId: DeleteUserNotificationRule + parameters: + - description: The user ID + in: path + name: user_id + required: true + schema: + example: 00000000-0000-0000-0000-000000000000 + type: string + - description: The rule ID + in: path + name: rule_id + required: true + schema: + example: 00000000-0000-0000-0000-000000000000 + type: string + responses: + '204': + description: No Content + '400': + $ref: '#/components/responses/BadRequestResponse' + '401': + $ref: '#/components/responses/UnauthorizedResponse' + '403': + $ref: '#/components/responses/ForbiddenResponse' + '404': + $ref: '#/components/responses/NotFoundResponse' + '429': + $ref: '#/components/responses/TooManyRequestsResponse' + security: + - apiKeyAuth: [] + appKeyAuth: [] + - AuthZ: [] + summary: Delete an On-Call notification rule for a user + tags: + - On-Call + x-permission: + operator: OR + permissions: + - on_call_respond + get: + description: Get a notification rule for a user. The authenticated user must be the target user or have the `on_call_admin` permission + operationId: GetUserNotificationRule + parameters: + - description: The user ID + in: path + name: user_id + required: true + schema: + example: 00000000-0000-0000-0000-000000000000 + type: string + - description: The rule ID + in: path + name: rule_id + required: true + schema: + example: 00000000-0000-0000-0000-000000000000 + type: string + - description: 'Comma-separated list of included relationships to be returned. Allowed values: `channel`.' + in: query + name: include + schema: + type: string + responses: + '200': + content: + application/json: + examples: + default: + value: + data: + attributes: + category: high_urgency + channel_settings: + method: sms + type: phone + delay_minutes: 1 + id: 27590dae-47be-4a7d-9abf-8f4e45124020 + relationships: + channel: + data: + id: 1562fab3-a8c2-49e2-8f3a-28dcda2405e2 + type: notification_channels + type: notification_rules + schema: + $ref: '#/components/schemas/OnCallNotificationRule' + description: OK + '400': + $ref: '#/components/responses/BadRequestResponse' + '401': + $ref: '#/components/responses/UnauthorizedResponse' + '403': + $ref: '#/components/responses/ForbiddenResponse' + '404': + $ref: '#/components/responses/NotFoundResponse' + '429': + $ref: '#/components/responses/TooManyRequestsResponse' + security: + - apiKeyAuth: [] + appKeyAuth: [] + - AuthZ: [] + summary: Get an On-Call notification rule for a user + tags: + - On-Call + x-permission: + operator: OR + permissions: + - on_call_read + put: + description: Update a notification rule for a user. The authenticated user must be the target user or have the `on_call_admin` permission + operationId: UpdateUserNotificationRule + parameters: + - description: The user ID + in: path + name: user_id + required: true + schema: + example: 00000000-0000-0000-0000-000000000000 + type: string + - description: The rule ID + in: path + name: rule_id + required: true + schema: + example: 00000000-0000-0000-0000-000000000000 + type: string + - description: 'Comma-separated list of included relationships to be returned. Allowed values: `channel`.' + in: query + name: include + schema: + type: string + requestBody: + content: + application/json: + examples: + default: + value: + data: + attributes: + category: high_urgency + channel_settings: + method: sms + type: phone + delay_minutes: 1 + id: 2462ace1-49e2-aab1-xc4f-29cc4ae1105n7 + relationships: + channel: + data: + id: 1562fab3-a8c2-49e2-8f3a-28dcda2405e2 + type: notification_channels + type: notification_rules + schema: + $ref: '#/components/schemas/UpdateOnCallNotificationRuleRequest' + required: true + responses: + '200': + content: + application/json: + examples: + default: + value: + data: + attributes: + category: high_urgency + channel_settings: + method: sms + type: phone + delay_minutes: 1 + id: 27590dae-47be-4a7d-9abf-8f4e45124020 + relationships: + channel: + data: + id: 1562fab3-a8c2-49e2-8f3a-28dcda2405e2 + type: notification_channels + type: notification_rules + schema: + $ref: '#/components/schemas/OnCallNotificationRule' + description: OK + '400': + $ref: '#/components/responses/BadRequestResponse' + '401': + $ref: '#/components/responses/UnauthorizedResponse' + '403': + $ref: '#/components/responses/ForbiddenResponse' + '404': + $ref: '#/components/responses/NotFoundResponse' + '429': + $ref: '#/components/responses/TooManyRequestsResponse' + security: + - apiKeyAuth: [] + appKeyAuth: [] + - AuthZ: [] + summary: Update an On-Call notification rule for a user + tags: + - On-Call + x-permission: + operator: OR + permissions: + - on_call_read + /api/v2/services/definitions: + get: + description: Get a list of all service definitions from the Datadog Service Catalog. + operationId: ListServiceDefinitions + parameters: + - $ref: '#/components/parameters/PageSize' + - $ref: '#/components/parameters/PageNumber' + - $ref: '#/components/parameters/SchemaVersion' + responses: + '200': + content: + application/json: + examples: + default: + value: + data: + - attributes: + schema: + dd-service: test-service + schema-version: v2.2 + team: my-team + id: test-service + type: service_definitions + schema: + $ref: '#/components/schemas/ServiceDefinitionsListResponse' + description: OK + '403': + $ref: '#/components/responses/ForbiddenResponse' + '429': + $ref: '#/components/responses/TooManyRequestsResponse' + security: + - apiKeyAuth: [] + appKeyAuth: [] + - AuthZ: + - apm_service_catalog_read + summary: Get all service definitions + tags: + - Service Definition + x-pagination: + limitParam: page[size] + pageParam: page[number] + resultsPath: data + x-permission: + operator: OR + permissions: + - apm_service_catalog_read + post: + description: Create or update service definition in the Datadog Service Catalog. + operationId: CreateOrUpdateServiceDefinitions + requestBody: + content: + application/json: + examples: + default: + value: + application: my-app + ci-pipeline-fingerprints: + - j88xdEy0J5lc + - eZ7LMljCk8vo + contacts: + - contact: https://teams.microsoft.com/myteam + name: My team channel + type: slack + dd-service: my-service + description: My service description + extensions: + myorg/extension: extensionValue + integrations: + opsgenie: + region: US + service-url: https://my-org.opsgenie.com/service/123e4567-e89b-12d3-a456-426614174000 + pagerduty: + service-url: https://my-org.pagerduty.com/service-directory/PMyService + languages: + - dotnet + - go + - java + - js + - php + - python + - ruby + - c++ + lifecycle: sandbox + links: + - name: Runbook + provider: Github + type: runbook + url: https://my-runbook + schema-version: v2.2 + tags: + - my:tag + - service:tag + team: my-team + tier: High + type: web + schema: + $ref: '#/components/schemas/ServiceDefinitionsCreateRequest' + description: Service Definition YAML/JSON. + required: true + responses: + '200': + content: + application/json: + examples: + default: + value: + data: + - attributes: + schema: + dd-service: my-service + schema-version: v2.2 + id: abc-123 + type: service_definitions + schema: + $ref: '#/components/schemas/ServiceDefinitionCreateResponse' + description: CREATED + '400': + $ref: '#/components/responses/BadRequestResponse' + '403': + $ref: '#/components/responses/ForbiddenResponse' + '409': + $ref: '#/components/responses/ConflictResponse' + '429': + $ref: '#/components/responses/TooManyRequestsResponse' + security: + - apiKeyAuth: [] + appKeyAuth: [] + - AuthZ: + - apm_service_catalog_write + summary: Create or update service definition + tags: + - Service Definition + x-codegen-request-body-name: body + x-permission: + operator: OR + permissions: + - apm_service_catalog_write + /api/v2/services/definitions/{service_name}: + delete: + description: Delete a single service definition in the Datadog Service Catalog. + operationId: DeleteServiceDefinition + parameters: + - $ref: '#/components/parameters/ServiceName' + responses: + '204': + description: OK + '400': + $ref: '#/components/responses/BadRequestResponse' + '403': + $ref: '#/components/responses/ForbiddenResponse' + '404': + $ref: '#/components/responses/NotFoundResponse' + '429': + $ref: '#/components/responses/TooManyRequestsResponse' + security: + - apiKeyAuth: [] + appKeyAuth: [] + - AuthZ: + - apm_service_catalog_write + summary: Delete a single service definition + tags: + - Service Definition + x-permission: + operator: OR + permissions: + - apm_service_catalog_write + get: + description: Get a single service definition from the Datadog Service Catalog. + operationId: GetServiceDefinition + parameters: + - $ref: '#/components/parameters/ServiceName' + - $ref: '#/components/parameters/SchemaVersion' + responses: + '200': + content: + application/json: + examples: + default: + value: + data: + attributes: + schema: + dd-service: test-service + schema-version: v2.2 + team: my-team + id: test-service + type: service_definitions + schema: + $ref: '#/components/schemas/ServiceDefinitionGetResponse' + description: OK + '400': + $ref: '#/components/responses/BadRequestResponse' + '403': + $ref: '#/components/responses/ForbiddenResponse' + '404': + $ref: '#/components/responses/NotFoundResponse' + '409': + $ref: '#/components/responses/ConflictResponse' + '429': + $ref: '#/components/responses/TooManyRequestsResponse' + security: + - apiKeyAuth: [] + appKeyAuth: [] + - AuthZ: + - apm_service_catalog_read + summary: Get a single service definition + tags: + - Service Definition + x-permission: + operator: OR + permissions: + - apm_service_catalog_read + /api/v2/slo/report: + post: + deprecated: true + description: |- + Create a job to generate an SLO report. The report job is processed asynchronously and eventually results in a CSV report being available for download. + + Check the status of the job and download the CSV report using the returned `report_id`. + operationId: CreateSLOReportJob + requestBody: + content: + application/json: + examples: + default: + value: + data: + attributes: + from_ts: 1690901870 + interval: weekly + query: slo_type:metric + timezone: America/New_York + to_ts: 1706803070 + schema: + $ref: '#/components/schemas/SloReportCreateRequest' + description: Create SLO report job request body. + required: true + responses: + '200': + content: + application/json: + examples: + default: + value: + data: + id: 00000000-0000-0000-0000-000000000001 + type: report_id + schema: + $ref: '#/components/schemas/SLOReportPostResponse' + description: OK + '400': + content: + application/json: + schema: + $ref: '#/components/schemas/APIErrorResponse' + description: Bad Request + '403': + content: + application/json: + schema: + $ref: '#/components/schemas/APIErrorResponse' + description: Forbidden + '429': + $ref: '#/components/responses/TooManyRequestsResponse' + security: + - apiKeyAuth: [] + appKeyAuth: [] + - AuthZ: + - slos_read + summary: Create a new SLO report + tags: + - Service Level Objectives + x-codegen-request-body-name: body + x-permission: + operator: OR + permissions: + - slos_read + x-sunset: '2027-01-25' + x-unstable: '**Note**: This feature is in private beta and is no longer accepting requests for access.' + /api/v2/slo/report/{report_id}/download: + get: + deprecated: true + description: |- + Download an SLO report. This can only be performed after the report job has completed. + + Reports are not guaranteed to exist indefinitely. Datadog recommends that you download the report as soon as it is available. + operationId: GetSLOReport + parameters: + - $ref: '#/components/parameters/ReportID' + responses: + '200': + content: + text/csv: + examples: + default: + value: |- + slo_name,slo_id,sli,error_budget_remaining + My SLO,abc-123,99.95,99.5 + schema: + type: string + description: OK + '400': + content: + application/json: + schema: + $ref: '#/components/schemas/APIErrorResponse' + description: Bad Request + '403': + content: + application/json: + schema: + $ref: '#/components/schemas/APIErrorResponse' + description: Forbidden + '404': + content: + application/json: + schema: + $ref: '#/components/schemas/APIErrorResponse' + description: Not Found + '429': + $ref: '#/components/responses/TooManyRequestsResponse' + security: + - apiKeyAuth: [] + appKeyAuth: [] + - AuthZ: + - slos_read + summary: Get SLO report + tags: + - Service Level Objectives + x-sunset: '2027-01-25' + x-unstable: '**Note**: This feature is in private beta and is no longer accepting requests for access.' + /api/v2/slo/report/{report_id}/status: + get: + deprecated: true + description: Get the status of the SLO report job. + operationId: GetSLOReportJobStatus + parameters: + - $ref: '#/components/parameters/ReportID' + responses: + '200': + content: + application/json: + examples: + default: + value: + data: + attributes: + status: completed + id: 00000000-0000-0000-0000-000000000002 + type: report_id + schema: + $ref: '#/components/schemas/SLOReportStatusGetResponse' + description: OK + '400': + content: + application/json: + schema: + $ref: '#/components/schemas/APIErrorResponse' + description: Bad Request + '403': + content: + application/json: + schema: + $ref: '#/components/schemas/APIErrorResponse' + description: Forbidden + '404': + content: + application/json: + schema: + $ref: '#/components/schemas/APIErrorResponse' + description: Not Found + '429': + $ref: '#/components/responses/TooManyRequestsResponse' + security: + - apiKeyAuth: [] + appKeyAuth: [] + - AuthZ: + - slos_read + summary: Get SLO report status + tags: + - Service Level Objectives + x-sunset: '2027-01-25' + x-unstable: '**Note**: This feature is in private beta and is no longer accepting requests for access.' + /api/v2/slo/{slo_id}/status: + get: + description: |- + Get the status of a Service Level Objective (SLO) for a given time period. + + This endpoint returns the current SLI value, error budget remaining, and other status information for the specified SLO. + operationId: GetSloStatus + parameters: + - $ref: '#/components/parameters/SloID' + - $ref: '#/components/parameters/FromTimestamp' + - $ref: '#/components/parameters/ToTimestamp' + - $ref: '#/components/parameters/DisableCorrections' + responses: + '200': + content: + application/json: + examples: + default: + value: + data: + attributes: + error_budget_remaining: 99.5 + raw_error_budget_remaining: + unit: seconds + value: 86400.5 + sli: 99.95 + span_precision: 2 + state: ok + id: 00000000-0000-0000-0000-000000000000 + type: slo_status + schema: + $ref: '#/components/schemas/SloStatusResponse' + description: OK + '400': + content: + application/json: + schema: + $ref: '#/components/schemas/JSONAPIErrorResponse' + description: Bad Request + '403': + content: + application/json: + schema: + $ref: '#/components/schemas/JSONAPIErrorResponse' + description: Forbidden + '404': + content: + application/json: + schema: + $ref: '#/components/schemas/JSONAPIErrorResponse' + description: Not Found + '429': + $ref: '#/components/responses/TooManyRequestsResponse' + security: + - apiKeyAuth: [] + appKeyAuth: [] + - AuthZ: + - slos_read + summary: Get SLO status + tags: + - Service Level Objectives + x-permission: + operator: OR + permissions: + - slos_read + x-unstable: |- + **Note**: This endpoint is in public beta and it's subject to change. + If you have any feedback, contact [Datadog support](https://docs.datadoghq.com/help/). + /api/v2/statuspages: + get: + description: Lists all status pages for the organization. + operationId: ListStatusPages + parameters: + - description: Offset to use as the start of the page. + in: query + name: page[offset] + schema: + default: 0 + format: int64 + type: integer + - description: The number of status pages to return per page. + in: query + name: page[limit] + schema: + default: 50 + format: int64 + type: integer + - description: Filter status pages by exact domain prefix match. Returns at most one result. + in: query + name: filter[domain_prefix] + schema: + type: string + - description: 'Comma-separated list of resources to include. Supported values: created_by_user, last_modified_by_user.' + in: query + name: include + schema: + type: string + responses: + '200': + content: + application/json: + examples: + default: + value: + data: + - attributes: + components: [] + domain_prefix: status-page-us1 + enabled: true + name: Status Page US1 + subscriptions_enabled: true + type: public + visualization_type: bars_and_uptime_percentage + id: 00000000-0000-0000-0000-000000000001 + type: status_pages + schema: + $ref: '#/components/schemas/StatusPageArray' + description: OK + '429': + $ref: '#/components/responses/TooManyRequestsResponse' + security: + - apiKeyAuth: [] + appKeyAuth: [] + - AuthZ: + - status_pages_settings_read + summary: List status pages + tags: + - Status Pages + x-permission: + operator: AND + permissions: + - status_pages_settings_read + post: + description: Creates a new status page in an unpublished state. Use the dedicated [publish](#publish-status-page) status page endpoint to publish the page after creation. + operationId: CreateStatusPage + parameters: + - description: 'Comma-separated list of resources to include. Supported values: created_by_user, last_modified_by_user.' + in: query + name: include + schema: + type: string + requestBody: + content: + application/json: + examples: + default: + value: + data: + attributes: + company_logo: data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAEAAIKMMMM + components: + - name: API + position: 0 + type: component + - components: + - name: Login + position: 0 + type: component + - name: Settings + position: 1 + type: component + name: Web App + position: 1 + type: group + - name: Webhooks + position: 2 + type: component + domain_prefix: status-page-us1 + email_header_image: data:image/png;base64,pQSLAw0KGgoAAAANSUhEUgAAAQ4AASJKFF + favicon: data:image/png;base64,kWMRNw0KGgoAAAANSUhEUgAAAEAAAABACA + name: Status Page US1 + subscriptions_enabled: true + type: public + visualization_type: bars_and_uptime_percentage + type: status_pages + schema: + $ref: '#/components/schemas/CreateStatusPageRequest' + required: true + responses: + '201': + content: + application/json: + examples: + default: + value: + data: + attributes: + components: [] + domain_prefix: status-page-us1 + enabled: false + name: Status Page US1 + subscriptions_enabled: true + type: public + visualization_type: bars_and_uptime_percentage + id: 00000000-0000-0000-0000-000000000002 + type: status_pages + schema: + $ref: '#/components/schemas/StatusPage' + description: Created + '429': + $ref: '#/components/responses/TooManyRequestsResponse' + security: + - apiKeyAuth: [] + appKeyAuth: [] + - AuthZ: + - status_pages_settings_write + summary: Create status page + tags: + - Status Pages + x-permission: + operator: AND + permissions: + - status_pages_settings_write + /api/v2/statuspages/degradations: + get: + description: Lists all degradations for the organization. Optionally filter by status and page. + operationId: ListDegradations + parameters: + - description: Optional page id filter. + in: query + name: filter[page_id] + schema: + type: string + - description: Offset to use as the start of the page. + in: query + name: page[offset] + schema: + default: 0 + format: int64 + type: integer + - description: The number of degradations to return per page. + in: query + name: page[limit] + schema: + default: 50 + format: int64 + type: integer + - description: 'Comma-separated list of resources to include. Supported values: created_by_user, last_modified_by_user, status_page.' + in: query + name: include + schema: + type: string + - description: 'Optional degradation status filter. Supported values: investigating, identified, monitoring, resolved.' + in: query + name: filter[status] + schema: + type: string + - description: 'Sort order. Prefix with ''-'' for descending. Supported values: created_at, -created_at, modified_at, -modified_at.' + in: query + name: sort + schema: + type: string + - description: Optional source ID filter. Returns only degradations whose source matches this ID (for example, an incident ID). + in: query + name: filter[source_id] + schema: + type: string + responses: + '200': + content: + application/json: + examples: + default: + value: + data: + - attributes: + components_affected: [] + created_at: '2024-01-01T00:00:00+00:00' + description: Our API is experiencing elevated latency. + modified_at: '2024-01-01T00:00:00+00:00' + status: investigating + title: Elevated API Latency + updates: [] + id: 00000000-0000-0000-0000-000000000005 + type: degradations + schema: + $ref: '#/components/schemas/DegradationArray' + description: OK + '429': + $ref: '#/components/responses/TooManyRequestsResponse' + security: + - apiKeyAuth: [] + appKeyAuth: [] + - AuthZ: + - status_pages_settings_read + summary: List degradations + tags: + - Status Pages + x-permission: + operator: AND + permissions: + - status_pages_settings_read + /api/v2/statuspages/maintenances: + get: + description: Lists all maintenances for the organization. Optionally filter by status and page. + operationId: ListMaintenances + parameters: + - description: Optional page id filter. + in: query + name: filter[page_id] + schema: + type: string + - description: Offset to use as the start of the page. + in: query + name: page[offset] + schema: + default: 0 + format: int64 + type: integer + - description: The number of maintenances to return per page. + in: query + name: page[limit] + schema: + default: 50 + format: int64 + type: integer + - description: 'Comma-separated list of resources to include. Supported values: created_by_user, last_modified_by_user, status_page.' + in: query + name: include + schema: + type: string + - description: 'Optional maintenance status filter. Supported values: scheduled, in_progress, completed.' + in: query + name: filter[status] + schema: + type: string + - description: 'Sort order. Prefix with ''-'' for descending. Supported values: created_at, -created_at, start_date, -start_date.' + in: query + name: sort + schema: + type: string + responses: + '200': + content: + application/json: + examples: + default: + value: + data: + - attributes: + completed_date: '2024-01-01T01:00:00+00:00' + completed_description: We have completed maintenance on the API. + components_affected: [] + in_progress_description: We are currently performing maintenance on the API. + scheduled_description: We will be performing maintenance on the API. + start_date: '2024-01-01T00:00:00+00:00' + status: scheduled + title: API Maintenance + id: 00000000-0000-0000-0000-000000000016 + type: maintenances + schema: + $ref: '#/components/schemas/MaintenanceArray' + description: OK + '429': + $ref: '#/components/responses/TooManyRequestsResponse' + security: + - apiKeyAuth: [] + appKeyAuth: [] + - AuthZ: + - status_pages_settings_read + summary: List maintenances + tags: + - Status Pages + x-permission: + operator: AND + permissions: + - status_pages_settings_read + /api/v2/statuspages/{page_id}: + delete: + description: Deletes a status page by its ID. + operationId: DeleteStatusPage + parameters: + - description: The ID of the status page. + in: path + name: page_id + required: true + schema: + example: 1234abcd-12ab-34cd-56ef-123456abcdef + format: uuid + type: string + responses: + '204': + description: No Content + '429': + $ref: '#/components/responses/TooManyRequestsResponse' + security: + - apiKeyAuth: [] + appKeyAuth: [] + - AuthZ: + - status_pages_settings_write + summary: Delete status page + tags: + - Status Pages + x-permission: + operator: AND + permissions: + - status_pages_settings_write + get: + description: Retrieves a specific status page by its ID. + operationId: GetStatusPage + parameters: + - description: The ID of the status page. + in: path + name: page_id + required: true + schema: + example: 1234abcd-12ab-34cd-56ef-123456abcdef + format: uuid + type: string + - description: 'Comma-separated list of resources to include. Supported values: created_by_user, last_modified_by_user.' + in: query + name: include + schema: + type: string + responses: + '200': + content: + application/json: + examples: + default: + value: + data: + attributes: + components: [] + domain_prefix: status-page-us1 + enabled: true + name: Status Page US1 + subscriptions_enabled: true + type: public + visualization_type: bars_and_uptime_percentage + id: 00000000-0000-0000-0000-000000000007 + type: status_pages + schema: + $ref: '#/components/schemas/StatusPage' + description: OK + '429': + $ref: '#/components/responses/TooManyRequestsResponse' + security: + - apiKeyAuth: [] + appKeyAuth: [] + - AuthZ: + - status_pages_settings_read + summary: Get status page + tags: + - Status Pages + x-permission: + operator: AND + permissions: + - status_pages_settings_read + patch: + description: Updates an existing status page's attributes. To publish and unpublish status pages, use the dedicated [publish](#publish-status-page) and [unpublish](#unpublish-status-page) status page endpoints. + operationId: UpdateStatusPage + parameters: + - description: Whether to delete existing subscribers when updating a status page's type. + in: query + name: delete_subscribers + schema: + default: false + type: boolean + - description: The ID of the status page. + in: path + name: page_id + required: true + schema: + example: 1234abcd-12ab-34cd-56ef-123456abcdef + format: uuid + type: string + - description: 'Comma-separated list of resources to include. Supported values: created_by_user, last_modified_by_user.' + in: query + name: include + schema: + type: string + requestBody: + content: + application/json: + examples: + default: + value: + data: + attributes: + company_logo: data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAEAAIKMMMM + domain_prefix: status-page-us1-east + email_header_image: data:image/png;base64,pQSLAw0KGgoAAAANSUhEUgAAAQ4AASJKFF + favicon: data:image/png;base64,kWMRNw0KGgoAAAANSUhEUgAAAEAAAABACA + name: Status Page US1 East + subscriptions_enabled: false + type: internal + visualization_type: bars_only + id: 1234abcd-12ab-34cd-56ef-123456abcdef + type: status_pages + schema: + $ref: '#/components/schemas/PatchStatusPageRequest' + required: true + responses: + '200': + content: + application/json: + examples: + default: + value: + data: + attributes: + components: [] + domain_prefix: status-page-us1-east + enabled: false + name: Status Page US1 East + subscriptions_enabled: false + type: internal + visualization_type: bars_only + id: 00000000-0000-0000-0000-000000000006 + type: status_pages + schema: + $ref: '#/components/schemas/StatusPage' + description: OK + '429': + $ref: '#/components/responses/TooManyRequestsResponse' + security: + - apiKeyAuth: [] + appKeyAuth: [] + - AuthZ: + - status_pages_settings_write + summary: Update status page + tags: + - Status Pages + x-permission: + operator: AND + permissions: + - status_pages_settings_write + /api/v2/statuspages/{page_id}/components: + get: + description: Lists all components for a status page. + operationId: ListComponents + parameters: + - description: The ID of the status page. + in: path + name: page_id + required: true + schema: + example: 1234abcd-12ab-34cd-56ef-123456abcdef + format: uuid + type: string + - description: 'Comma-separated list of resources to include. Supported values: created_by_user, last_modified_by_user, status_page, group.' + in: query + name: include + schema: + type: string + responses: + '200': + content: + application/json: + examples: + default: + value: + data: + - attributes: + name: Metrics Intake + position: 0 + status: operational + type: component + id: 00000000-0000-0000-0000-000000000008 + type: components + schema: + $ref: '#/components/schemas/StatusPagesComponentArray' + description: OK + '429': + $ref: '#/components/responses/TooManyRequestsResponse' + security: + - apiKeyAuth: [] + appKeyAuth: [] + - AuthZ: + - status_pages_settings_read + summary: List components + tags: + - Status Pages + x-permission: + operator: AND + permissions: + - status_pages_settings_read + post: + description: Creates a new component. + operationId: CreateComponent + parameters: + - description: The ID of the status page. + in: path + name: page_id + required: true + schema: + example: 1234abcd-12ab-34cd-56ef-123456abcdef + format: uuid + type: string + - description: 'Comma-separated list of resources to include. Supported values: created_by_user, last_modified_by_user, status_page, group.' + in: query + name: include + schema: + type: string + requestBody: + content: + application/json: + examples: + default: + value: + data: + attributes: + name: Metrics Intake + position: 0 + type: component + relationships: + group: + data: null + type: components + schema: + $ref: '#/components/schemas/CreateComponentRequest' + required: true + responses: + '201': + content: + application/json: + examples: + default: + value: + data: + attributes: + name: Metrics Intake + position: 0 + status: operational + type: component + id: 00000000-0000-0000-0000-000000000009 + type: components + schema: + $ref: '#/components/schemas/StatusPagesComponent' + description: Created + '429': + $ref: '#/components/responses/TooManyRequestsResponse' + security: + - apiKeyAuth: [] + appKeyAuth: [] + - AuthZ: + - status_pages_settings_write + summary: Create component + tags: + - Status Pages + x-permission: + operator: AND + permissions: + - status_pages_settings_write + /api/v2/statuspages/{page_id}/components/{component_id}: + delete: + description: Deletes a component by its ID. + operationId: DeleteComponent + parameters: + - description: The ID of the status page. + in: path + name: page_id + required: true + schema: + example: 1234abcd-12ab-34cd-56ef-123456abcdef + format: uuid + type: string + - description: The ID of the component. + in: path + name: component_id + required: true + schema: + example: 1234abcd-12ab-34cd-56ef-123456abcdef + format: uuid + type: string + responses: + '204': + description: No Content + '429': + $ref: '#/components/responses/TooManyRequestsResponse' + security: + - apiKeyAuth: [] + appKeyAuth: [] + - AuthZ: + - status_pages_settings_write + summary: Delete component + tags: + - Status Pages + x-permission: + operator: AND + permissions: + - status_pages_settings_write + get: + description: Retrieves a specific component by its ID. + operationId: GetComponent + parameters: + - description: The ID of the status page. + in: path + name: page_id + required: true + schema: + example: 1234abcd-12ab-34cd-56ef-123456abcdef + format: uuid + type: string + - description: The ID of the component. + in: path + name: component_id + required: true + schema: + example: 1234abcd-12ab-34cd-56ef-123456abcdef + format: uuid + type: string + - description: 'Comma-separated list of resources to include. Supported values: created_by_user, last_modified_by_user, status_page, group.' + in: query + name: include + schema: + type: string + responses: + '200': + content: + application/json: + examples: + default: + value: + data: + attributes: + name: Metrics Intake + position: 0 + status: operational + type: component + id: 00000000-0000-0000-0000-000000000012 + type: components + schema: + $ref: '#/components/schemas/StatusPagesComponent' + description: OK + '429': + $ref: '#/components/responses/TooManyRequestsResponse' + security: + - apiKeyAuth: [] + appKeyAuth: [] + - AuthZ: + - status_pages_settings_read + summary: Get component + tags: + - Status Pages + x-permission: + operator: AND + permissions: + - status_pages_settings_read + patch: + description: Updates an existing component's attributes. + operationId: UpdateComponent + parameters: + - description: The ID of the status page. + in: path + name: page_id + required: true + schema: + example: 1234abcd-12ab-34cd-56ef-123456abcdef + format: uuid + type: string + - description: The ID of the component. + in: path + name: component_id + required: true + schema: + example: 1234abcd-12ab-34cd-56ef-123456abcdef + format: uuid + type: string + - description: 'Comma-separated list of resources to include. Supported values: created_by_user, last_modified_by_user, status_page, group.' + in: query + name: include + schema: + type: string + requestBody: + content: + application/json: + examples: + default: + value: + data: + attributes: + name: Metrics Intake Service + position: 4 + id: 1234abcd-12ab-34cd-56ef-123456abcdef + type: components + schema: + $ref: '#/components/schemas/PatchComponentRequest' + required: true + responses: + '200': + content: + application/json: + examples: + default: + value: + data: + attributes: + name: Metrics Intake Service + position: 4 + status: operational + type: component + id: 00000000-0000-0000-0000-000000000011 + type: components + schema: + $ref: '#/components/schemas/StatusPagesComponent' + description: OK + '429': + $ref: '#/components/responses/TooManyRequestsResponse' + security: + - apiKeyAuth: [] + appKeyAuth: [] + - AuthZ: + - status_pages_settings_write + summary: Update component + tags: + - Status Pages + x-permission: + operator: AND + permissions: + - status_pages_settings_write + /api/v2/statuspages/{page_id}/degradation_templates: + get: + description: Lists all degradation templates for a status page. + operationId: ListDegradationTemplates + parameters: + - description: 'Comma-separated list of resources to include. Supported values: created_by_user, last_modified_by_user, status_page.' + in: query + name: include + schema: + type: string + - description: The ID of the status page. + in: path + name: page_id + required: true + schema: + format: uuid + type: string + responses: + '200': + content: + application/json: + examples: + default: + value: + data: + - attributes: + components_affected: + - id: 1234abcd-12ab-34cd-56ef-123456abcdef + status: degraded + degradation_title: Elevated API Latency + name: Elevated API Latency + updates: + - message: We are investigating the issue. + status: investigating + id: 00000000-0000-0000-0000-000000000003 + type: degradation_templates + schema: + $ref: '#/components/schemas/DegradationTemplateArray' + description: OK + '429': + $ref: '#/components/responses/TooManyRequestsResponse' + security: + - apiKeyAuth: [] + appKeyAuth: [] + - AuthZ: + - status_pages_settings_read + summary: List degradation templates + tags: + - Status Pages + post: + description: Creates a new degradation template. + operationId: CreateDegradationTemplate + parameters: + - description: The ID of the status page. + in: path + name: page_id + required: true + schema: + format: uuid + type: string + - description: 'Comma-separated list of resources to include. Supported values: created_by_user, last_modified_by_user, status_page.' + in: query + name: include + schema: + type: string + requestBody: + content: + application/json: + examples: + default: + value: + data: + attributes: + components_affected: + - id: 1234abcd-12ab-34cd-56ef-123456abcdef + status: degraded + degradation_title: Elevated API Latency + name: Elevated API Latency + updates: + - message: We are investigating the issue. + status: investigating + type: degradation_templates + schema: + $ref: '#/components/schemas/CreateDegradationTemplateRequest' + required: true + responses: + '201': + content: + application/json: + examples: + default: + value: + data: + attributes: + components_affected: + - id: 1234abcd-12ab-34cd-56ef-123456abcdef + status: degraded + degradation_title: Elevated API Latency + name: Elevated API Latency + updates: + - message: We are investigating the issue. + status: investigating + id: 00000000-0000-0000-0000-000000000003 + type: degradation_templates + schema: + $ref: '#/components/schemas/DegradationTemplate' + description: Created + '429': + $ref: '#/components/responses/TooManyRequestsResponse' + security: + - apiKeyAuth: [] + appKeyAuth: [] + - AuthZ: + - status_pages_settings_write + summary: Create degradation template + tags: + - Status Pages + /api/v2/statuspages/{page_id}/degradation_templates/{template_id}: + delete: + description: Deletes a degradation template by its ID (soft delete). + operationId: DeleteDegradationTemplate + parameters: + - description: The ID of the status page. + in: path + name: page_id + required: true + schema: + format: uuid + type: string + - description: The ID of the degradation or maintenance template. + in: path + name: template_id + required: true + schema: + format: uuid + type: string + responses: + '204': + description: No Content + '429': + $ref: '#/components/responses/TooManyRequestsResponse' + security: + - apiKeyAuth: [] + appKeyAuth: [] + - AuthZ: + - status_pages_settings_write + summary: Delete degradation template + tags: + - Status Pages + get: + description: Retrieves a specific degradation template by its ID. + operationId: GetDegradationTemplate + parameters: + - description: The ID of the status page. + in: path + name: page_id + required: true + schema: + format: uuid + type: string + - description: The ID of the degradation or maintenance template. + in: path + name: template_id + required: true + schema: + format: uuid + type: string + - description: 'Comma-separated list of resources to include. Supported values: created_by_user, last_modified_by_user, status_page.' + in: query + name: include + schema: + type: string + responses: + '200': + content: + application/json: + examples: + default: + value: + data: + attributes: + components_affected: + - id: 1234abcd-12ab-34cd-56ef-123456abcdef + status: degraded + degradation_title: Elevated API Latency + name: Elevated API Latency + updates: + - message: We are investigating the issue. + status: investigating + id: 00000000-0000-0000-0000-000000000003 + type: degradation_templates + schema: + $ref: '#/components/schemas/DegradationTemplate' + description: OK + '429': + $ref: '#/components/responses/TooManyRequestsResponse' + security: + - apiKeyAuth: [] + appKeyAuth: [] + - AuthZ: + - status_pages_settings_read + summary: Get degradation template + tags: + - Status Pages + patch: + description: Updates an existing degradation template's attributes. + operationId: UpdateDegradationTemplate + parameters: + - description: The ID of the degradation or maintenance template. + in: path + name: template_id + required: true + schema: + format: uuid + type: string + - description: 'Comma-separated list of resources to include. Supported values: created_by_user, last_modified_by_user, status_page.' + in: query + name: include + schema: + type: string + - description: The ID of the status page. + in: path + name: page_id + required: true + schema: + format: uuid + type: string + requestBody: + content: + application/json: + examples: + default: + value: + data: + attributes: + degradation_title: Elevated API Latency for 40 minutes + name: Elevated API Latency + id: 00000000-0000-0000-0000-000000000003 + type: degradation_templates + schema: + $ref: '#/components/schemas/PatchDegradationTemplateRequest' + required: true + responses: + '200': + content: + application/json: + examples: + default: + value: + data: + attributes: + components_affected: + - id: 1234abcd-12ab-34cd-56ef-123456abcdef + status: degraded + degradation_title: Elevated API Latency for 40 minutes + name: Elevated API Latency + updates: + - message: We are investigating the issue. + status: investigating + id: 00000000-0000-0000-0000-000000000003 + type: degradation_templates + schema: + $ref: '#/components/schemas/DegradationTemplate' + description: OK + '429': + $ref: '#/components/responses/TooManyRequestsResponse' + security: + - apiKeyAuth: [] + appKeyAuth: [] + - AuthZ: + - status_pages_settings_write + summary: Update degradation template + tags: + - Status Pages + /api/v2/statuspages/{page_id}/degradations: + post: + description: Creates a new degradation. + operationId: CreateDegradation + parameters: + - description: The ID of the status page. + in: path + name: page_id + required: true + schema: + example: 1234abcd-12ab-34cd-56ef-123456abcdef + format: uuid + type: string + - description: Whether to notify page subscribers of the degradation. + in: query + name: notify_subscribers + schema: + default: true + type: boolean + - description: 'Comma-separated list of resources to include. Supported values: created_by_user, last_modified_by_user, status_page.' + in: query + name: include + schema: + type: string + requestBody: + content: + application/json: + examples: + default: + value: + data: + attributes: + components_affected: + - id: 1234abcd-12ab-34cd-56ef-123456abcdef + status: degraded + description: Our API is experiencing elevated latency. We are investigating the issue. + status: investigating + title: Elevated API Latency + type: degradations + schema: + $ref: '#/components/schemas/CreateDegradationRequest' + required: true + responses: + '201': + content: + application/json: + examples: + default: + value: + data: + attributes: + components_affected: + - id: 00000000-0000-0000-0000-000000000019 + status: degraded + created_at: '2024-01-01T00:00:00+00:00' + description: Our API is experiencing elevated latency. We are investigating the issue. + modified_at: '2024-01-01T00:00:00+00:00' + status: investigating + title: Elevated API Latency + updates: [] + id: 00000000-0000-0000-0000-000000000010 + type: degradations + schema: + $ref: '#/components/schemas/Degradation' + description: Created + '429': + $ref: '#/components/responses/TooManyRequestsResponse' + security: + - apiKeyAuth: [] + appKeyAuth: [] + - AuthZ: + - status_pages_incident_write + summary: Create degradation + tags: + - Status Pages + x-permission: + operator: AND + permissions: + - status_pages_incident_write + /api/v2/statuspages/{page_id}/degradations/backfill: + post: + description: Creates a backfilled degradation with predefined updates. + operationId: CreateBackfilledDegradation + parameters: + - description: 'Comma-separated list of resources to include. Supported values: created_by_user, last_modified_by_user, status_page.' + in: query + name: include + schema: + type: string + - description: The ID of the status page. + in: path + name: page_id + required: true + schema: + format: uuid + type: string + requestBody: + content: + application/json: + examples: + default: + value: + data: + attributes: + title: Past API Outage + updates: + - components_affected: + - id: 1234abcd-12ab-34cd-56ef-123456abcdef + status: degraded + description: We detected elevated error rates in the API. + started_at: '2026-04-27T13:37:31Z' + status: investigating + - components_affected: + - id: 1234abcd-12ab-34cd-56ef-123456abcdef + status: operational + description: The issue has been resolved. + started_at: '2026-04-27T14:37:31Z' + status: resolved + type: degradations + schema: + $ref: '#/components/schemas/CreateBackfilledDegradationRequest' + required: true + responses: + '201': + content: + application/json: + examples: + default: + value: + data: + attributes: + components_affected: + - id: 1234abcd-12ab-34cd-56ef-123456abcdef + status: operational + created_at: '2026-04-27T13:37:31+00:00' + description: The issue has been resolved. + modified_at: '2026-04-27T14:37:31+00:00' + status: resolved + title: Past API Outage + updates: [] + id: 00000000-0000-0000-0000-000000000010 + type: degradations + schema: + $ref: '#/components/schemas/Degradation' + description: Created + '429': + $ref: '#/components/responses/TooManyRequestsResponse' + security: + - apiKeyAuth: [] + appKeyAuth: [] + - AuthZ: + - status_pages_incident_write + summary: Create backfilled degradation + tags: + - Status Pages + x-permission: + operator: AND + permissions: + - status_pages_incident_write + /api/v2/statuspages/{page_id}/degradations/{degradation_id}: + delete: + description: Deletes a degradation by its ID. + operationId: DeleteDegradation + parameters: + - description: The ID of the status page. + in: path + name: page_id + required: true + schema: + example: 1234abcd-12ab-34cd-56ef-123456abcdef + format: uuid + type: string + - description: The ID of the degradation. + in: path + name: degradation_id + required: true + schema: + example: 1234abcd-12ab-34cd-56ef-123456abcdef + format: uuid + type: string + responses: + '204': + description: No Content + '429': + $ref: '#/components/responses/TooManyRequestsResponse' + security: + - apiKeyAuth: [] + appKeyAuth: [] + - AuthZ: + - status_pages_incident_write + summary: Delete degradation + tags: + - Status Pages + x-permission: + operator: AND + permissions: + - status_pages_incident_write + get: + description: Retrieves a specific degradation by its ID. + operationId: GetDegradation + parameters: + - description: The ID of the status page. + in: path + name: page_id + required: true + schema: + example: 1234abcd-12ab-34cd-56ef-123456abcdef + format: uuid + type: string + - description: The ID of the degradation. + in: path + name: degradation_id + required: true + schema: + example: 1234abcd-12ab-34cd-56ef-123456abcdef + format: uuid + type: string + - description: 'Comma-separated list of resources to include. Supported values: created_by_user, last_modified_by_user, status_page.' + in: query + name: include + schema: + type: string + responses: + '200': + content: + application/json: + examples: + default: + value: + data: + attributes: + components_affected: + - id: 00000000-0000-0000-0000-000000000018 + status: degraded + created_at: '2024-01-01T00:00:00+00:00' + description: Our API is experiencing elevated latency. We are investigating the issue. + modified_at: '2024-01-01T00:00:00+00:00' + status: investigating + title: Elevated API Latency + updates: [] + id: 00000000-0000-0000-0000-000000000004 + type: degradations + schema: + $ref: '#/components/schemas/Degradation' + description: OK + '429': + $ref: '#/components/responses/TooManyRequestsResponse' + security: + - apiKeyAuth: [] + appKeyAuth: [] + - AuthZ: + - status_pages_settings_read + summary: Get degradation + tags: + - Status Pages + x-permission: + operator: AND + permissions: + - status_pages_settings_read + patch: + description: Updates an existing degradation's attributes. + operationId: UpdateDegradation + parameters: + - description: The ID of the status page. + in: path + name: page_id + required: true + schema: + example: 1234abcd-12ab-34cd-56ef-123456abcdef + format: uuid + type: string + - description: Whether to notify page subscribers of the degradation. + in: query + name: notify_subscribers + schema: + default: true + type: boolean + - description: The ID of the degradation. + in: path + name: degradation_id + required: true + schema: + example: 1234abcd-12ab-34cd-56ef-123456abcdef + format: uuid + type: string + - description: 'Comma-separated list of resources to include. Supported values: created_by_user, last_modified_by_user, status_page.' + in: query + name: include + schema: + type: string + requestBody: + content: + application/json: + examples: + default: + value: + data: + attributes: + components_affected: + - id: 1234abcd-12ab-34cd-56ef-123456abcdef + status: operational + description: We've deployed a fix and latency has returned to normal. This issue has been resolved. + status: resolved + title: Elevated API Latency in US1 + id: 1234abcd-12ab-34cd-56ef-123456abcdef + type: degradations + schema: + $ref: '#/components/schemas/PatchDegradationRequest' + required: true + responses: + '200': + content: + application/json: + examples: + default: + value: + data: + attributes: + components_affected: + - id: 00000000-0000-0000-0000-000000000017 + status: operational + created_at: '2024-01-01T00:00:00+00:00' + description: We've deployed a fix and latency has returned to normal. + modified_at: '2024-01-01T00:00:00+00:00' + status: resolved + title: Elevated API Latency + updates: [] + id: 00000000-0000-0000-0000-000000000003 + type: degradations + schema: + $ref: '#/components/schemas/Degradation' + description: OK + '429': + $ref: '#/components/responses/TooManyRequestsResponse' + security: + - apiKeyAuth: [] + appKeyAuth: [] + - AuthZ: + - status_pages_incident_write + summary: Update degradation + tags: + - Status Pages + x-permission: + operator: AND + permissions: + - status_pages_incident_write + /api/v2/statuspages/{page_id}/degradations/{degradation_id}/updates/{update_id}: + delete: + description: Soft-deletes a degradation update. + operationId: SoftDeleteDegradationUpdate + parameters: + - description: The ID of the degradation. + in: path + name: degradation_id + required: true + schema: + format: uuid + type: string + - description: The ID of the status page. + in: path + name: page_id + required: true + schema: + format: uuid + type: string + - description: The ID of the degradation update. + in: path + name: update_id + required: true + schema: + format: uuid + type: string + responses: + '204': + description: No Content + '429': + $ref: '#/components/responses/TooManyRequestsResponse' + security: + - apiKeyAuth: [] + appKeyAuth: [] + - AuthZ: + - status_pages_incident_write + summary: Soft delete degradation update + tags: + - Status Pages + patch: + description: Edits a specific degradation update. + operationId: EditDegradationUpdate + parameters: + - description: The ID of the degradation. + in: path + name: degradation_id + required: true + schema: + format: uuid + type: string + - description: 'Comma-separated list of resources to include. Supported values: created_by_user, last_modified_by_user, degradation, status_page.' + in: query + name: include + schema: + type: string + - description: The ID of the status page. + in: path + name: page_id + required: true + schema: + format: uuid + type: string + - description: The ID of the degradation update. + in: path + name: update_id + required: true + schema: + format: uuid + type: string + requestBody: + content: + application/json: + examples: + default: + value: + data: + attributes: + description: We've identified the source of the latency increase and are deploying a fix. + status: identified + id: 00000000-0000-0000-0000-000000000000 + type: degradation_updates + schema: + $ref: '#/components/schemas/PatchDegradationUpdateRequest' + required: true + responses: + '200': + content: + application/json: + examples: + default: + value: + data: + attributes: + description: We've identified the source of the latency increase and are deploying a fix. + status: identified + id: 00000000-0000-0000-0000-000000000000 + type: degradation_updates + schema: + $ref: '#/components/schemas/DegradationUpdate' + description: OK + '429': + $ref: '#/components/responses/TooManyRequestsResponse' + security: + - apiKeyAuth: [] + appKeyAuth: [] + - AuthZ: + - status_pages_incident_write + summary: Edit degradation update + tags: + - Status Pages + /api/v2/statuspages/{page_id}/maintenance_templates: + get: + description: Lists all maintenance templates for a status page. + operationId: ListMaintenanceTemplates + parameters: + - description: The ID of the status page. + in: path + name: page_id + required: true + schema: + format: uuid + type: string + - description: 'Comma-separated list of resources to include. Supported values: created_by_user, last_modified_by_user, status_page.' + in: query + name: include + schema: + type: string + responses: + '200': + content: + application/json: + examples: + default: + value: + data: + - attributes: + completed_description: We have completed maintenance on the API to improve performance. + component_ids: + - 1234abcd-12ab-34cd-56ef-123456abcdef + in_progress_description: We are currently performing maintenance on the API to improve performance. + maintenance_title: API Maintenance + name: API Maintenance + scheduled_description: We will be performing maintenance on the API to improve performance. + id: 00000000-0000-0000-0000-000000000004 + type: maintenance_templates + schema: + $ref: '#/components/schemas/MaintenanceTemplateArray' + description: OK + '429': + $ref: '#/components/responses/TooManyRequestsResponse' + security: + - apiKeyAuth: [] + appKeyAuth: [] + - AuthZ: + - status_pages_settings_read + summary: List maintenance templates + tags: + - Status Pages + post: + description: Creates a new maintenance template. + operationId: CreateMaintenanceTemplate + parameters: + - description: The ID of the status page. + in: path + name: page_id + required: true + schema: + format: uuid + type: string + - description: 'Comma-separated list of resources to include. Supported values: created_by_user, last_modified_by_user, status_page.' + in: query + name: include + schema: + type: string + requestBody: + content: + application/json: + examples: + default: + value: + data: + attributes: + completed_description: We have completed maintenance on the API to improve performance. + component_ids: + - 1234abcd-12ab-34cd-56ef-123456abcdef + in_progress_description: We are currently performing maintenance on the API to improve performance. + maintenance_title: API Maintenance + name: API Maintenance + scheduled_description: We will be performing maintenance on the API to improve performance. + type: maintenance_templates + schema: + $ref: '#/components/schemas/CreateMaintenanceTemplateRequest' + required: true + responses: + '201': + content: + application/json: + examples: + default: + value: + data: + attributes: + completed_description: We have completed maintenance on the API to improve performance. + component_ids: + - 1234abcd-12ab-34cd-56ef-123456abcdef + in_progress_description: We are currently performing maintenance on the API to improve performance. + maintenance_title: API Maintenance + name: API Maintenance + scheduled_description: We will be performing maintenance on the API to improve performance. + id: 00000000-0000-0000-0000-000000000004 + type: maintenance_templates + schema: + $ref: '#/components/schemas/MaintenanceTemplate' + description: Created + '429': + $ref: '#/components/responses/TooManyRequestsResponse' + security: + - apiKeyAuth: [] + appKeyAuth: [] + - AuthZ: + - status_pages_settings_write + summary: Create maintenance template + tags: + - Status Pages + /api/v2/statuspages/{page_id}/maintenance_templates/{template_id}: + delete: + description: Deletes a maintenance template by its ID (soft delete). + operationId: DeleteMaintenanceTemplate + parameters: + - description: The ID of the status page. + in: path + name: page_id + required: true + schema: + format: uuid + type: string + - description: The ID of the degradation or maintenance template. + in: path + name: template_id + required: true + schema: + format: uuid + type: string + responses: + '204': + description: No Content + '429': + $ref: '#/components/responses/TooManyRequestsResponse' + security: + - apiKeyAuth: [] + appKeyAuth: [] + - AuthZ: + - status_pages_settings_write + summary: Delete maintenance template + tags: + - Status Pages + get: + description: Retrieves a specific maintenance template by its ID. + operationId: GetMaintenanceTemplate + parameters: + - description: The ID of the status page. + in: path + name: page_id + required: true + schema: + format: uuid + type: string + - description: The ID of the degradation or maintenance template. + in: path + name: template_id + required: true + schema: + format: uuid + type: string + - description: 'Comma-separated list of resources to include. Supported values: created_by_user, last_modified_by_user, status_page.' + in: query + name: include + schema: + type: string + responses: + '200': + content: + application/json: + examples: + default: + value: + data: + attributes: + completed_description: We have completed maintenance on the API to improve performance. + component_ids: + - 1234abcd-12ab-34cd-56ef-123456abcdef + in_progress_description: We are currently performing maintenance on the API to improve performance. + maintenance_title: API Maintenance + name: API Maintenance + scheduled_description: We will be performing maintenance on the API to improve performance. + id: 00000000-0000-0000-0000-000000000004 + type: maintenance_templates + schema: + $ref: '#/components/schemas/MaintenanceTemplate' + description: OK + '429': + $ref: '#/components/responses/TooManyRequestsResponse' + security: + - apiKeyAuth: [] + appKeyAuth: [] + - AuthZ: + - status_pages_settings_read + summary: Get maintenance template + tags: + - Status Pages + patch: + description: Updates an existing maintenance template's attributes. + operationId: UpdateMaintenanceTemplate + parameters: + - description: The ID of the status page. + in: path + name: page_id + required: true + schema: + format: uuid + type: string + - description: The ID of the degradation or maintenance template. + in: path + name: template_id + required: true + schema: + format: uuid + type: string + - description: 'Comma-separated list of resources to include. Supported values: created_by_user, last_modified_by_user, status_page.' + in: query + name: include + schema: + type: string + requestBody: + content: + application/json: + examples: + default: + value: + data: + attributes: + completed_description: We have completed maintenance on the API to improve performance. + in_progress_description: We are currently performing maintenance on the API to improve performance for 40 minutes. + maintenance_title: API Maintenance + scheduled_description: We will be performing maintenance on the API to improve performance for 40 minutes. + id: 00000000-0000-0000-0000-000000000004 + type: maintenance_templates + schema: + $ref: '#/components/schemas/PatchMaintenanceTemplateRequest' + required: true + responses: + '200': + content: + application/json: + examples: + default: + value: + data: + attributes: + completed_description: We have completed maintenance on the API to improve performance. + component_ids: + - 1234abcd-12ab-34cd-56ef-123456abcdef + in_progress_description: We are currently performing maintenance on the API to improve performance for 40 minutes. + maintenance_title: API Maintenance + name: API Maintenance + scheduled_description: We will be performing maintenance on the API to improve performance for 40 minutes. + id: 00000000-0000-0000-0000-000000000004 + type: maintenance_templates + schema: + $ref: '#/components/schemas/MaintenanceTemplate' + description: OK + '429': + $ref: '#/components/responses/TooManyRequestsResponse' + security: + - apiKeyAuth: [] + appKeyAuth: [] + - AuthZ: + - status_pages_settings_write + summary: Update maintenance template + tags: + - Status Pages + /api/v2/statuspages/{page_id}/maintenances: + post: + description: Schedules a new maintenance. + operationId: CreateMaintenance + parameters: + - description: The ID of the status page. + in: path + name: page_id + required: true + schema: + format: uuid + type: string + - description: Whether to notify page subscribers of the maintenance. + in: query + name: notify_subscribers + schema: + default: true + type: boolean + - description: 'Comma-separated list of resources to include. Supported values: created_by_user, last_modified_by_user, status_page.' + in: query + name: include + schema: + type: string + requestBody: + content: + application/json: + examples: + default: + value: + data: + attributes: + completed_date: '2026-02-18T19:51:13.332360075Z' + completed_description: We have completed maintenance on the API to improve performance. + components_affected: + - id: 1234abcd-12ab-34cd-56ef-123456abcdef + status: operational + in_progress_description: We are currently performing maintenance on the API to improve performance. + scheduled_description: We will be performing maintenance on the API to improve performance. + start_date: '2026-02-18T19:21:13.332360075Z' + title: API Maintenance + type: maintenances + schema: + $ref: '#/components/schemas/CreateMaintenanceRequest' + required: true + responses: + '201': + content: + application/json: + examples: + default: + value: + data: + attributes: + completed_date: '2024-01-01T01:00:00+00:00' + completed_description: We have completed maintenance on the API to improve performance. + components_affected: [] + in_progress_description: We are currently performing maintenance on the API to improve performance. + scheduled_description: We will be performing maintenance on the API to improve performance. + start_date: '2024-01-01T00:00:00+00:00' + status: scheduled + title: API Maintenance + id: 00000000-0000-0000-0000-000000000015 + type: maintenances + schema: + $ref: '#/components/schemas/Maintenance' + description: Created + '429': + $ref: '#/components/responses/TooManyRequestsResponse' + security: + - apiKeyAuth: [] + appKeyAuth: [] + - AuthZ: + - status_pages_incident_write + summary: Schedule maintenance + tags: + - Status Pages + x-permission: + operator: AND + permissions: + - status_pages_incident_write + /api/v2/statuspages/{page_id}/maintenances/backfill: + post: + description: Creates a backfilled maintenance with predefined updates. + operationId: CreateBackfilledMaintenance + parameters: + - description: 'Comma-separated list of resources to include. Supported values: created_by_user, last_modified_by_user, status_page.' + in: query + name: include + schema: + type: string + - description: The ID of the status page. + in: path + name: page_id + required: true + schema: + format: uuid + type: string + requestBody: + content: + application/json: + examples: + default: + value: + data: + attributes: + title: Past Database Maintenance + updates: + - components_affected: + - id: 1234abcd-12ab-34cd-56ef-123456abcdef + status: maintenance + description: Database maintenance is in progress. + started_at: '2026-04-27T13:37:31Z' + status: in_progress + - components_affected: + - id: 1234abcd-12ab-34cd-56ef-123456abcdef + status: operational + description: Database maintenance has been completed. + started_at: '2026-04-27T14:37:31Z' + status: completed + type: maintenances + schema: + $ref: '#/components/schemas/CreateBackfilledMaintenanceRequest' + required: true + responses: + '201': + content: + application/json: + examples: + default: + value: + data: + attributes: + completed_date: '2026-04-27T14:37:31+00:00' + completed_description: '' + components_affected: [] + in_progress_description: '' + scheduled_description: '' + start_date: '2026-04-27T13:37:31+00:00' + status: completed + title: Past Database Maintenance + id: 00000000-0000-0000-0000-000000000015 + type: maintenances + schema: + $ref: '#/components/schemas/Maintenance' + description: Created + '429': + $ref: '#/components/responses/TooManyRequestsResponse' + security: + - apiKeyAuth: [] + appKeyAuth: [] + - AuthZ: + - status_pages_incident_write + summary: Create backfilled maintenance + tags: + - Status Pages + x-permission: + operator: AND + permissions: + - status_pages_incident_write + /api/v2/statuspages/{page_id}/maintenances/{maintenance_id}: + get: + description: Retrieves a specific maintenance by its ID. + operationId: GetMaintenance + parameters: + - description: The ID of the status page. + in: path + name: page_id + required: true + schema: + format: uuid + type: string + - description: The ID of the maintenance. + in: path + name: maintenance_id + required: true + schema: + format: uuid + type: string + - description: 'Comma-separated list of resources to include. Supported values: created_by_user, last_modified_by_user, status_page.' + in: query + name: include + schema: + type: string + responses: + '200': + content: + application/json: + examples: + default: + value: + data: + attributes: + completed_date: '2024-01-01T01:00:00+00:00' + completed_description: We have completed maintenance on the API. + components_affected: [] + in_progress_description: We are currently performing maintenance on the API. + scheduled_description: We will be performing maintenance on the API. + start_date: '2024-01-01T00:00:00+00:00' + status: scheduled + title: API Maintenance + id: 00000000-0000-0000-0000-000000000013 + type: maintenances + schema: + $ref: '#/components/schemas/Maintenance' + description: OK + '429': + $ref: '#/components/responses/TooManyRequestsResponse' + security: + - apiKeyAuth: [] + appKeyAuth: [] + - AuthZ: + - status_pages_settings_read + summary: Get maintenance + tags: + - Status Pages + x-permission: + operator: AND + permissions: + - status_pages_settings_read + patch: + description: Updates an existing maintenance's attributes. + operationId: UpdateMaintenance + parameters: + - description: The ID of the status page. + in: path + name: page_id + required: true + schema: + format: uuid + type: string + - description: Whether to notify page subscribers of the maintenance. + in: query + name: notify_subscribers + schema: + default: true + type: boolean + - description: The ID of the maintenance. + in: path + name: maintenance_id + required: true + schema: + format: uuid + type: string + - description: 'Comma-separated list of resources to include. Supported values: created_by_user, last_modified_by_user, status_page.' + in: query + name: include + schema: + type: string + requestBody: + content: + application/json: + examples: + default: + value: + data: + attributes: + completed_date: '2026-02-18T20:01:13.332360075Z' + in_progress_description: We are currently performing maintenance on the API to improve performance for 40 minutes. + scheduled_description: We will be performing maintenance on the API to improve performance for 40 minutes. + start_date: '2026-02-18T19:21:13.332360075Z' + title: API Maintenance + id: 1234abcd-12ab-34cd-56ef-123456abcdef + type: maintenances + schema: + $ref: '#/components/schemas/PatchMaintenanceRequest' + required: true + responses: + '200': + content: + application/json: + examples: + default: + value: + data: + attributes: + completed_date: '2024-01-01T01:00:00+00:00' + completed_description: We have completed maintenance on the API. + components_affected: [] + in_progress_description: We are currently performing maintenance on the API to improve performance for 40 minutes. + scheduled_description: We will be performing maintenance on the API to improve performance for 40 minutes. + start_date: '2024-01-01T00:00:00+00:00' + status: scheduled + title: API Maintenance + id: 00000000-0000-0000-0000-000000000014 + type: maintenances + schema: + $ref: '#/components/schemas/Maintenance' + description: OK + '429': + $ref: '#/components/responses/TooManyRequestsResponse' + security: + - apiKeyAuth: [] + appKeyAuth: [] + - AuthZ: + - status_pages_incident_write + summary: Update maintenance + tags: + - Status Pages + x-permission: + operator: AND + permissions: + - status_pages_incident_write + /api/v2/statuspages/{page_id}/maintenances/{maintenance_id}/updates/{update_id}: + patch: + description: Edits the message of a specific maintenance update. Editing is allowed regardless of the parent maintenance's status, including completed and canceled maintenances. + operationId: PatchMaintenanceUpdate + parameters: + - description: The ID of the status page. + in: path + name: page_id + required: true + schema: + format: uuid + type: string + - description: The ID of the maintenance. + in: path + name: maintenance_id + required: true + schema: + format: uuid + type: string + - description: The ID of the maintenance update. + in: path + name: update_id + required: true + schema: + format: uuid + type: string + requestBody: + content: + application/json: + examples: + default: + value: + data: + attributes: + description: We have completed maintenance on the API to improve performance. + id: 00000000-0000-0000-0000-000000000000 + type: maintenance_updates + schema: + $ref: '#/components/schemas/PatchMaintenanceUpdateRequest' + required: true + responses: + '200': + content: + application/json: + examples: + default: + value: + data: + attributes: + components_affected: [] + created_at: '2026-04-27T13:37:31+00:00' + description: We have completed maintenance on the API to improve performance. + manual_transition: true + modified_at: '2026-04-27T14:37:31+00:00' + started_at: '2026-04-27T13:37:31+00:00' + status: completed + id: 00000000-0000-0000-0000-000000000000 + type: maintenance_updates + schema: + $ref: '#/components/schemas/MaintenanceUpdate' + description: OK + '429': + $ref: '#/components/responses/TooManyRequestsResponse' + security: + - apiKeyAuth: [] + appKeyAuth: [] + - AuthZ: + - status_pages_incident_write + summary: Edit maintenance update + tags: + - Status Pages + x-permission: + operator: AND + permissions: + - status_pages_incident_write + /api/v2/statuspages/{page_id}/publish: + post: + description: Publishes a status page. For pages of type `public`, makes the status page available on the public internet and requires the `status_pages_public_page_publish` permission. For pages of type `internal`, makes the status page available under the `status-pages/$domain_prefix/view` route within the Datadog organization and requires the `status_pages_internal_page_publish` permission. + operationId: PublishStatusPage + parameters: + - description: The ID of the status page. + in: path + name: page_id + required: true + schema: + format: uuid + type: string + responses: + '204': + description: No Content + '429': + $ref: '#/components/responses/TooManyRequestsResponse' + security: + - apiKeyAuth: [] + appKeyAuth: [] + - AuthZ: + - status_pages_internal_page_publish + - status_pages_public_page_publish + summary: Publish status page + tags: + - Status Pages + x-permission: + operator: OR + permissions: + - status_pages_public_page_publish + - status_pages_internal_page_publish + /api/v2/statuspages/{page_id}/unpublish: + post: + description: Unpublishes a status page. For pages of type `public`, removes the status page from the public internet and requires the `status_pages_public_page_publish` permission. For pages of type `internal`, removes the `status-pages/$domain_prefix/view` route from the Datadog organization and requires the `status_pages_internal_page_publish` permission. + operationId: UnpublishStatusPage + parameters: + - description: The ID of the status page. + in: path + name: page_id + required: true + schema: + format: uuid + type: string + responses: + '204': + description: No Content + '429': + $ref: '#/components/responses/TooManyRequestsResponse' + security: + - apiKeyAuth: [] + appKeyAuth: [] + - AuthZ: + - status_pages_internal_page_publish + - status_pages_public_page_publish + summary: Unpublish status page + tags: + - Status Pages + x-permission: + operator: OR + permissions: + - status_pages_public_page_publish + - status_pages_internal_page_publish + /api/v1/downtime: + get: + deprecated: true + description: Get all scheduled downtimes. **Note:** This endpoint has been deprecated. Please use v2 endpoints. + operationId: ListDowntimesV1 + parameters: + - description: Only return downtimes that are active when the request is made. + in: query + name: current_only + required: false + schema: + type: boolean + - description: Return creator information. + in: query + name: with_creator + required: false + schema: + type: boolean + responses: + '200': + content: + application/json: + examples: + default: + value: + - active: true + disabled: false + end: 1412793983 + id: 1625 + message: Scheduled maintenance + scope: + - env:staging + start: 1412792983 + schema: + type: array + items: + $ref: '#/components/schemas/Downtime' + description: OK + '403': + content: + application/json: + schema: + $ref: '#/components/schemas/APIErrorResponseV1' + description: Forbidden + '429': + $ref: '#/components/responses/TooManyRequestsResponse' + security: + - apiKeyAuth: [] + appKeyAuth: [] + - AuthZ: + - monitors_read + summary: Get all downtimes + tags: + - Downtimes + x-permission: + operator: OR + permissions: + - monitors_read + post: + deprecated: true + description: Schedule a downtime. **Note:** This endpoint has been deprecated. Please use v2 endpoints. + operationId: CreateDowntimeV1 + requestBody: + content: + application/json: + examples: + default: + value: + end: 1412793983 + message: Scheduling downtime for a database maintenance window. + monitor_tags: + - '*' + scope: + - env:staging + start: 1412792983 + timezone: America/New_York + schema: + $ref: '#/components/schemas/Downtime' + description: Schedule a downtime request body. + required: true + responses: + '200': + content: + application/json: + examples: + default: + value: + active: true + disabled: false + end: 1412793983 + id: 1625 + message: Scheduling downtime for a database maintenance window. + scope: + - env:staging + start: 1412792983 + schema: + $ref: '#/components/schemas/Downtime' + description: OK + '400': + content: + application/json: + schema: + $ref: '#/components/schemas/APIErrorResponseV1' + description: Bad Request + '403': + content: + application/json: + schema: + $ref: '#/components/schemas/APIErrorResponseV1' + description: Forbidden + '429': + $ref: '#/components/responses/TooManyRequestsResponse' + security: + - apiKeyAuth: [] + appKeyAuth: [] + - AuthZ: + - monitors_downtime + summary: Schedule a downtime + tags: + - Downtimes + x-codegen-request-body-name: body + x-permission: + operator: OR + permissions: + - monitors_downtime + /api/v1/downtime/cancel/by_scope: + post: + deprecated: true + description: Delete all downtimes that match the scope of `X`. **Note:** This only interacts with Downtimes created using v1 endpoints. This endpoint has been deprecated and will not be replaced. Please use v2 endpoints to find and cancel downtimes. + operationId: CancelDowntimesByScope + requestBody: + content: + application/json: + examples: + default: + value: + scope: host:myserver + schema: + $ref: '#/components/schemas/CancelDowntimesByScopeRequest' + description: Scope to cancel downtimes for. + required: true + responses: + '200': + content: + application/json: + examples: + default: + value: + cancelled_ids: + - 123 + schema: + $ref: '#/components/schemas/CanceledDowntimesIds' + description: OK + '400': + content: + application/json: + schema: + $ref: '#/components/schemas/APIErrorResponseV1' + description: Bad Request + '403': + content: + application/json: + schema: + $ref: '#/components/schemas/APIErrorResponseV1' + description: Forbidden + '404': + content: + application/json: + schema: + $ref: '#/components/schemas/APIErrorResponseV1' + description: Downtimes not found + '429': + $ref: '#/components/responses/TooManyRequestsResponse' + security: + - apiKeyAuth: [] + appKeyAuth: [] + - AuthZ: + - monitors_downtime + summary: Cancel downtimes by scope + tags: + - Downtimes + x-codegen-request-body-name: body + x-permission: + operator: OR + permissions: + - monitors_downtime + /api/v1/downtime/{downtime_id}: + delete: + deprecated: true + description: Cancel a downtime. **Note:** This endpoint has been deprecated. Please use v2 endpoints. + operationId: CancelDowntimeV1 + parameters: + - description: ID of the downtime to cancel. + in: path + name: downtime_id + required: true + schema: + example: 123456 + format: int64 + type: integer + responses: + '204': + description: OK + '403': + content: + application/json: + schema: + $ref: '#/components/schemas/APIErrorResponseV1' + description: Forbidden + '404': + content: + application/json: + schema: + $ref: '#/components/schemas/APIErrorResponseV1' + description: Downtime not found + '429': + $ref: '#/components/responses/TooManyRequestsResponse' + security: + - apiKeyAuth: [] + appKeyAuth: [] + - AuthZ: + - monitors_downtime + summary: Cancel a downtime + tags: + - Downtimes + x-permission: + operator: OR + permissions: + - monitors_downtime + get: + deprecated: true + description: Get downtime detail by `downtime_id`. **Note:** This endpoint has been deprecated. Please use v2 endpoints. + operationId: GetDowntimeV1 + parameters: + - description: ID of the downtime to fetch. + in: path + name: downtime_id + required: true + schema: + example: 123456 + format: int64 + type: integer + responses: + '200': + content: + application/json: + examples: + default: + value: + active: true + disabled: false + end: 1412793983 + id: 1625 + message: Scheduled maintenance + scope: + - env:staging + start: 1412792983 + schema: + $ref: '#/components/schemas/Downtime' + description: OK + '403': + content: + application/json: + schema: + $ref: '#/components/schemas/APIErrorResponseV1' + description: Forbidden + '404': + content: + application/json: + schema: + $ref: '#/components/schemas/APIErrorResponseV1' + description: Downtime not found + '429': + $ref: '#/components/responses/TooManyRequestsResponse' + security: + - apiKeyAuth: [] + appKeyAuth: [] + - AuthZ: + - monitors_read + summary: Get a downtime + tags: + - Downtimes + x-permission: + operator: OR + permissions: + - monitors_read + put: + deprecated: true + description: Update a single downtime by `downtime_id`. **Note:** This endpoint has been deprecated. Please use v2 endpoints. + operationId: UpdateDowntimeV1 + parameters: + - description: ID of the downtime to update. + in: path + name: downtime_id + required: true + schema: + example: 123456 + format: int64 + type: integer + style: simple + requestBody: + content: + application/json: + examples: + default: + value: + end: 1412793983 + message: Updating downtime end time. + monitor_tags: + - '*' + scope: + - env:staging + start: 1412792983 + timezone: America/New_York + schema: + $ref: '#/components/schemas/Downtime' + description: Update a downtime request body. + required: true + responses: + '200': + content: + application/json: + examples: + default: + value: + active: true + disabled: false + end: 1412793983 + id: 1625 + message: Updating downtime end time. + scope: + - env:staging + start: 1412792983 + schema: + $ref: '#/components/schemas/Downtime' + description: OK + '400': + content: + application/json: + schema: + $ref: '#/components/schemas/APIErrorResponseV1' + description: Bad Request + '403': + content: + application/json: + schema: + $ref: '#/components/schemas/APIErrorResponseV1' + description: Forbidden + '404': + content: + application/json: + schema: + $ref: '#/components/schemas/APIErrorResponseV1' + description: Downtime not found + '429': + $ref: '#/components/responses/TooManyRequestsResponse' + security: + - apiKeyAuth: [] + appKeyAuth: [] + - AuthZ: + - monitors_downtime + summary: Update a downtime + tags: + - Downtimes + x-codegen-request-body-name: body + x-permission: + operator: OR + permissions: + - monitors_downtime + /api/v1/events: + get: + description: |- + The event stream can be queried and filtered by time, priority, sources and tags. + + **Notes**: + - If the event you’re querying contains markdown formatting of any kind, + you may see characters such as `%`,`\`,`n` in your output. + + - This endpoint returns a maximum of `1000` most recent results. To return additional results, + identify the last timestamp of the last result and set that as the `end` query time to + paginate the results. You can also use the page parameter to specify which set of `1000` results to return. + operationId: ListEventsV1 + parameters: + - description: POSIX timestamp. + in: query + name: start + required: true + schema: + format: int64 + type: integer + - description: POSIX timestamp. + in: query + name: end + required: true + schema: + format: int64 + type: integer + - description: Priority of your events, either `low` or `normal`. + in: query + name: priority + required: false + schema: + $ref: '#/components/schemas/EventPriorityV1' + - description: A comma separated string of sources. + in: query + name: sources + schema: + type: string + - description: A comma separated list indicating what tags, if any, should be used to filter the list of events. + example: host:host0 + in: query + name: tags + required: false + schema: + type: string + - description: |- + Set unaggregated to `true` to return all events within the specified [`start`,`end`] timeframe. + Otherwise if an event is aggregated to a parent event with a timestamp outside of the timeframe, + it won't be available in the output. Aggregated events with `is_aggregate=true` in the response will still be returned unless exclude_aggregate is set to `true.` + in: query + name: unaggregated + required: false + schema: + type: boolean + - description: |- + Set `exclude_aggregate` to `true` to only return unaggregated events where `is_aggregate=false` in the response. If the `exclude_aggregate` parameter is set to `true`, + then the unaggregated parameter is ignored and will be `true` by default. + in: query + name: exclude_aggregate + required: false + schema: + type: boolean + - description: |- + By default 1000 results are returned per request. Set page to the number of the page to return with `0` being the first page. The page parameter can only be used + when either unaggregated or exclude_aggregate is set to `true.` + in: query + name: page + required: false + schema: + format: int32 + maximum: 2147483647 + type: integer + responses: + '200': + content: + application/json: + examples: + default: + value: + events: + - alert_type: info + date_happened: 1674842440 + host: test.host + id: 123 + id_str: '123' + priority: normal + source_type_name: my_apps + tags: + - environment:test + text: Oh boy! + title: Did you hear the news today? + url: /event/event?id=123 + status: ok + schema: + $ref: '#/components/schemas/EventListResponse' + description: OK + '400': + content: + application/json: + schema: + $ref: '#/components/schemas/APIErrorResponseV1' + description: Bad Request + '403': + content: + application/json: + schema: + $ref: '#/components/schemas/APIErrorResponseV1' + description: Authentication Error + '429': + $ref: '#/components/responses/TooManyRequestsResponse' + security: + - apiKeyAuth: [] + appKeyAuth: [] + - AuthZ: + - events_read + summary: Get a list of events + tags: + - Events + x-permission: + operator: OR + permissions: + - events_read + post: + description: |- + This endpoint allows you to post events to the stream. + Tag them, set priority and event aggregate them with other events. + operationId: CreateEventV1 + requestBody: + content: + application/json: + examples: + default: + value: + priority: normal + tags: + - environment:test + text: Oh boy! + title: Did you hear the news today? + schema: + $ref: '#/components/schemas/EventCreateRequestV1' + description: Event request object + required: true + responses: + '202': + content: + application/json: + examples: + default: + value: + event: + alert_type: info + date_happened: 1674842440 + id: 123 + id_str: '123' + priority: normal + tags: + - environment:test + text: Oh boy! + title: Did you hear the news today? + url: /event/event?id=123 + status: ok + schema: + $ref: '#/components/schemas/EventCreateResponseV1' + description: OK + '400': + content: + application/json: + schema: + $ref: '#/components/schemas/APIErrorResponseV1' + description: Bad Request + '429': + $ref: '#/components/responses/TooManyRequestsResponse' + security: + - apiKeyAuth: [] + summary: Post an event + tags: + - Events + x-codegen-request-body-name: body + /api/v1/events/{event_id}: + get: + description: |- + This endpoint allows you to query for event details. + + **Note**: If the event you’re querying contains markdown formatting of any kind, + you may see characters such as `%`,`\`,`n` in your output. + operationId: GetEventV1 + parameters: + - description: The ID of the event. + in: path + name: event_id + required: true + schema: + format: int64 + type: integer + responses: + '200': + content: + application/json: + examples: + default: + value: + event: + alert_type: info + date_happened: 1674842440 + host: test.host + id: 123 + id_str: '123' + priority: normal + tags: + - environment:test + text: Oh boy! + title: Did you hear the news today? + url: /event/event?id=123 + status: ok + schema: + $ref: '#/components/schemas/EventResponseV1' + description: OK + '403': + content: + application/json: + schema: + $ref: '#/components/schemas/APIErrorResponseV1' + description: Authentication Error + '404': + content: + application/json: + schema: + $ref: '#/components/schemas/APIErrorResponseV1' + description: Item Not Found + '429': + $ref: '#/components/responses/TooManyRequestsResponse' + security: + - apiKeyAuth: [] + appKeyAuth: [] + - AuthZ: + - events_read + summary: Get an event + tags: + - Events + x-permission: + operator: OR + permissions: + - events_read + /api/v1/slo: + get: + description: Get a list of service level objective objects for your organization. + operationId: ListSLOs + parameters: + - description: A comma separated list of the IDs of the service level objectives objects. + example: id1, id2, id3 + in: query + name: ids + required: false + schema: + type: string + - description: The query string to filter results based on SLO names. + example: monitor + in: query + name: query + required: false + schema: + type: string + - description: The query string to filter results based on a single SLO tag. + example: env:prod + in: query + name: tags_query + required: false + schema: + type: string + - description: The query string to filter results based on SLO numerator and denominator. + example: aws.elb.request_count + in: query + name: metrics_query + required: false + schema: + type: string + - description: The number of SLOs to return in the response. + in: query + name: limit + required: false + schema: + default: 1000 + format: int64 + type: integer + - description: The specific offset to use as the beginning of the returned response. + in: query + name: offset + required: false + schema: + format: int64 + type: integer + - description: Whether to return only deleted service level objective objects. + example: true + in: query + name: is_deleted + required: false + schema: + default: false + type: boolean + responses: + '200': + content: + application/json: + examples: + default: + value: + data: + - id: abc-123 + name: Custom Metric SLO + tags: + - env:prod + - app:core + thresholds: + - target: 95 + timeframe: 7d + - target: 95 + timeframe: 30d + warning: 97 + type: metric + errors: [] + schema: + $ref: '#/components/schemas/SLOListResponse' + description: OK + '400': + content: + application/json: + schema: + $ref: '#/components/schemas/APIErrorResponseV1' + description: Bad Request + '403': + content: + application/json: + schema: + $ref: '#/components/schemas/APIErrorResponseV1' + description: Forbidden + '404': + content: + application/json: + schema: + $ref: '#/components/schemas/APIErrorResponseV1' + description: Not Found + '429': + $ref: '#/components/responses/TooManyRequestsResponse' + security: + - apiKeyAuth: [] + appKeyAuth: [] + - AuthZ: + - slos_read + summary: Get all SLOs + tags: + - Service Level Objectives + x-pagination: + limitParam: limit + pageOffsetParam: offset + resultsPath: data + x-permission: + operator: OR + permissions: + - slos_read + post: + description: Create a service level objective object. + operationId: CreateSLO + requestBody: + content: + application/json: + examples: + default: + value: + description: Track the availability of our custom metric. + name: Custom Metric SLO + query: + denominator: sum:my.custom.metric{*}.as_count() + numerator: sum:my.custom.metric{type:good}.as_count() + tags: + - env:prod + - app:core + thresholds: + - target: 95 + timeframe: 7d + - target: 95 + timeframe: 30d + warning: 97 + type: metric + schema: + $ref: '#/components/schemas/ServiceLevelObjectiveRequest' + description: Service level objective request object. + required: true + responses: + '200': + content: + application/json: + examples: + default: + value: + data: + - description: Track the availability of our custom metric. + id: abc-123 + name: Custom Metric SLO + tags: + - env:prod + - app:core + thresholds: + - target: 95 + target_display: '95.0' + timeframe: 7d + type: metric + errors: [] + schema: + $ref: '#/components/schemas/SLOListResponse' + description: OK + '400': + content: + application/json: + schema: + $ref: '#/components/schemas/APIErrorResponseV1' + description: Bad Request + '403': + content: + application/json: + schema: + $ref: '#/components/schemas/APIErrorResponseV1' + description: Forbidden + '429': + $ref: '#/components/responses/TooManyRequestsResponse' + security: + - apiKeyAuth: [] + appKeyAuth: [] + - AuthZ: + - slos_write + summary: Create an SLO object + tags: + - Service Level Objectives + x-codegen-request-body-name: body + x-permission: + operator: OR + permissions: + - slos_write + /api/v1/slo/bulk_delete: + post: + description: |- + Delete (or partially delete) multiple service level objective objects. + + This endpoint facilitates deletion of one or more thresholds for one or more + service level objective objects. If all thresholds are deleted, the service level + objective object is deleted as well. + operationId: DeleteSLOTimeframeInBulk + requestBody: + content: + application/json: + examples: + default: + value: + id1: + - 7d + - 30d + id2: + - 7d + - 30d + schema: + $ref: '#/components/schemas/SLOBulkDelete' + description: Delete multiple service level objective objects request body. + required: true + responses: + '200': + content: + application/json: + examples: + default: + value: + data: + deleted: [] + updated: + - abc-123 + errors: [] + schema: + $ref: '#/components/schemas/SLOBulkDeleteResponse' + description: OK + '400': + content: + application/json: + schema: + $ref: '#/components/schemas/APIErrorResponseV1' + description: Bad Request + '403': + content: + application/json: + schema: + $ref: '#/components/schemas/APIErrorResponseV1' + description: Forbidden + '429': + $ref: '#/components/responses/TooManyRequestsResponse' + security: + - apiKeyAuth: [] + appKeyAuth: [] + - AuthZ: + - slos_write + summary: Bulk Delete SLO Timeframes + tags: + - Service Level Objectives + x-codegen-request-body-name: body + x-permission: + operator: OR + permissions: + - slos_write + /api/v1/slo/can_delete: + get: + description: |- + Check if an SLO can be safely deleted. For example, + assure an SLO can be deleted without disrupting a dashboard. + operationId: CheckCanDeleteSLO + parameters: + - description: A comma separated list of the IDs of the service level objectives objects. + example: id1, id2, id3 + in: query + name: ids + required: true + schema: + type: string + responses: + '200': + content: + application/json: + examples: + default: + value: + data: + ok: + - abc-123 + errors: {} + schema: + $ref: '#/components/schemas/CheckCanDeleteSLOResponse' + description: OK + '400': + content: + application/json: + schema: + $ref: '#/components/schemas/APIErrorResponseV1' + description: Bad Request + '403': + content: + application/json: + schema: + $ref: '#/components/schemas/APIErrorResponseV1' + description: Forbidden + '409': + content: + application/json: + schema: + $ref: '#/components/schemas/CheckCanDeleteSLOResponse' + description: Conflict + '429': + $ref: '#/components/responses/TooManyRequestsResponse' + security: + - apiKeyAuth: [] + appKeyAuth: [] + - AuthZ: + - slos_read + summary: Check if SLOs can be safely deleted + tags: + - Service Level Objectives + x-permission: + operator: OR + permissions: + - slos_read + /api/v1/slo/correction: + get: + description: Get all Service Level Objective corrections. + operationId: ListSLOCorrection + parameters: + - description: The specific offset to use as the beginning of the returned response. + in: query + name: offset + required: false + schema: + format: int64 + type: integer + - description: The number of SLO corrections to return in the response. Default is 25. + in: query + name: limit + required: false + schema: + default: 25 + format: int64 + type: integer + responses: + '200': + content: + application/json: + examples: + default: + value: + data: + - attributes: + category: Scheduled Maintenance + end: 1600003600 + slo_id: abc-123 + start: 1600000000 + timezone: UTC + id: abc-123 + type: correction + schema: + $ref: '#/components/schemas/SLOCorrectionListResponse' + description: OK + '403': + content: + application/json: + schema: + $ref: '#/components/schemas/APIErrorResponseV1' + description: Forbidden + '429': + $ref: '#/components/responses/TooManyRequestsResponse' + security: + - apiKeyAuth: [] + appKeyAuth: [] + - AuthZ: + - slos_read + summary: Get all SLO corrections + tags: + - Service Level Objective Corrections + x-pagination: + limitParam: limit + pageOffsetParam: offset + resultsPath: data + x-permission: + operator: OR + permissions: + - slos_read + post: + description: |- + Create an SLO correction. Use `slo_id` to apply the correction to a single SLO, or `slo_query` to apply the + correction to SLOs that match a query. Exactly one of `slo_id` or `slo_query` is required. + operationId: CreateSLOCorrection + requestBody: + content: + application/json: + examples: + default: + value: + data: + attributes: + category: Scheduled Maintenance + description: Planned maintenance window for database upgrade. + end: 1600003600 + slo_id: sloId + start: 1600000000 + timezone: UTC + type: correction + slo_query: + value: + data: + attributes: + category: Scheduled Maintenance + description: Planned maintenance window for checkout services. + end: 1600003600 + slo_query: env:prod service:checkout + start: 1600000000 + timezone: UTC + type: correction + schema: + $ref: '#/components/schemas/SLOCorrectionCreateRequest' + description: Create an SLO Correction + required: true + responses: + '200': + content: + application/json: + examples: + default: + value: + data: + attributes: + category: Scheduled Maintenance + end: 1600003600 + slo_id: abc-123 + start: 1600000000 + timezone: UTC + id: abc-123 + type: correction + schema: + $ref: '#/components/schemas/SLOCorrectionResponse' + description: OK + '400': + content: + application/json: + schema: + $ref: '#/components/schemas/APIErrorResponseV1' + description: Bad Request + '403': + content: + application/json: + schema: + $ref: '#/components/schemas/APIErrorResponseV1' + description: Forbidden + '404': + content: + application/json: + schema: + $ref: '#/components/schemas/APIErrorResponseV1' + description: SLO Not Found + '429': + $ref: '#/components/responses/TooManyRequestsResponse' + security: + - apiKeyAuth: [] + appKeyAuth: [] + - AuthZ: + - slos_corrections + summary: Create an SLO correction + tags: + - Service Level Objective Corrections + x-codegen-request-body-name: body + x-permission: + operator: OR + permissions: + - slos_corrections + /api/v1/slo/correction/{slo_correction_id}: + delete: + description: Permanently delete the specified SLO correction object. + operationId: DeleteSLOCorrection + parameters: + - description: The ID of the SLO correction object. + in: path + name: slo_correction_id + required: true + schema: + type: string + responses: + '204': + description: OK + '403': + content: + application/json: + schema: + $ref: '#/components/schemas/APIErrorResponseV1' + description: Forbidden + '404': + content: + application/json: + schema: + $ref: '#/components/schemas/APIErrorResponseV1' + description: Not found + '429': + $ref: '#/components/responses/TooManyRequestsResponse' + summary: Delete an SLO correction + tags: + - Service Level Objective Corrections + get: + description: Get an SLO correction. + operationId: GetSLOCorrection + parameters: + - description: The ID of the SLO correction object. + in: path + name: slo_correction_id + required: true + schema: + type: string + responses: + '200': + content: + application/json: + examples: + default: + value: + data: + attributes: + category: Scheduled Maintenance + end: 1600003600 + slo_id: abc-123 + start: 1600000000 + timezone: UTC + id: abc-123 + type: correction + schema: + $ref: '#/components/schemas/SLOCorrectionResponse' + description: OK + '400': + content: + application/json: + schema: + $ref: '#/components/schemas/APIErrorResponseV1' + description: Bad Request + '403': + content: + application/json: + schema: + $ref: '#/components/schemas/APIErrorResponseV1' + description: Forbidden + '429': + $ref: '#/components/responses/TooManyRequestsResponse' + summary: Get an SLO correction for an SLO + tags: + - Service Level Objective Corrections + patch: + description: Update the specified SLO correction object. + operationId: UpdateSLOCorrection + parameters: + - description: The ID of the SLO correction object. + in: path + name: slo_correction_id + required: true + schema: + type: string + requestBody: + content: + application/json: + examples: + default: + value: + data: + attributes: + category: Scheduled Maintenance + description: Updated correction for maintenance window. + end: 1600003600 + start: 1600000000 + timezone: UTC + type: correction + slo_query: + value: + data: + attributes: + category: Scheduled Maintenance + description: Updated correction for checkout services. + end: 1600003600 + slo_query: env:prod service:checkout + start: 1600000000 + timezone: UTC + type: correction + schema: + $ref: '#/components/schemas/SLOCorrectionUpdateRequest' + description: The edited SLO correction object. + required: true + responses: + '200': + content: + application/json: + examples: + default: + value: + data: + attributes: + category: Scheduled Maintenance + end: 1600003600 + slo_id: abc-123 + start: 1600000000 + timezone: UTC + id: abc-123 + type: correction + schema: + $ref: '#/components/schemas/SLOCorrectionResponse' + description: OK + '400': + content: + application/json: + schema: + $ref: '#/components/schemas/APIErrorResponseV1' + description: Bad Request + '403': + content: + application/json: + schema: + $ref: '#/components/schemas/APIErrorResponseV1' + description: Forbidden + '404': + content: + application/json: + schema: + $ref: '#/components/schemas/APIErrorResponseV1' + description: Not Found + '429': + $ref: '#/components/responses/TooManyRequestsResponse' + summary: Update an SLO correction + tags: + - Service Level Objective Corrections + x-codegen-request-body-name: body + /api/v1/slo/search: + get: + description: Get a list of service level objective objects for your organization. + operationId: SearchSLO + parameters: + - description: |- + The query string to filter results based on SLO names. + Some examples of queries include `service:` + and ``. + in: query + name: query + required: false + schema: + type: string + - description: The number of files to return in the response `[default=10]`. + in: query + name: page[size] + required: false + schema: + format: int64 + type: integer + - description: The identifier of the first page to return. This parameter is used for the pagination feature `[default=0]`. + in: query + name: page[number] + required: false + schema: + format: int64 + type: integer + - description: Whether or not to return facet information in the response `[default=false]`. + in: query + name: include_facets + required: false + schema: + type: boolean + responses: + '200': + content: + application/json: + examples: + default: + value: + data: + attributes: + slos: + - data: + attributes: + name: Example SLO + thresholds: + - target: 95 + target_display: '95' + timeframe: 7d + id: abc-123 + type: slo + type: service_level_objective_search_results + schema: + $ref: '#/components/schemas/SearchSLOResponse' + description: OK + '400': + content: + application/json: + schema: + $ref: '#/components/schemas/APIErrorResponseV1' + description: Bad Request + '403': + content: + application/json: + schema: + $ref: '#/components/schemas/APIErrorResponseV1' + description: Forbidden + '429': + $ref: '#/components/responses/TooManyRequestsResponse' + security: + - apiKeyAuth: [] + appKeyAuth: [] + - AuthZ: + - slos_read + summary: Search for SLOs + tags: + - Service Level Objectives + x-permission: + operator: OR + permissions: + - slos_read + /api/v1/slo/{slo_id}: + delete: + description: |- + Permanently delete the specified service level objective object. + + If an SLO is used in a dashboard, the `DELETE /v1/slo/` endpoint returns + a 409 conflict error because the SLO is referenced in a dashboard. + operationId: DeleteSLO + parameters: + - description: The ID of the service level objective. + in: path + name: slo_id + required: true + schema: + type: string + - description: Delete the monitor even if it's referenced by other resources (for example SLO, composite monitor). + in: query + name: force + required: false + schema: + type: string + responses: + '200': + content: + application/json: + examples: + default: + value: + data: + - abc-123 + errors: {} + schema: + $ref: '#/components/schemas/SLODeleteResponse' + description: OK + '403': + content: + application/json: + schema: + $ref: '#/components/schemas/APIErrorResponseV1' + description: Forbidden + '404': + content: + application/json: + schema: + $ref: '#/components/schemas/APIErrorResponseV1' + description: Not found + '409': + content: + application/json: + schema: + $ref: '#/components/schemas/SLODeleteResponse' + description: Conflict + '429': + $ref: '#/components/responses/TooManyRequestsResponse' + security: + - apiKeyAuth: [] + appKeyAuth: [] + - AuthZ: + - slos_write + summary: Delete an SLO + tags: + - Service Level Objectives + x-permission: + operator: OR + permissions: + - slos_write + get: + description: Get a service level objective object. + operationId: GetSLO + parameters: + - description: The ID of the service level objective object. + in: path + name: slo_id + required: true + schema: + type: string + - description: Get the IDs of SLO monitors that reference this SLO. + example: true + in: query + name: with_configured_alert_ids + required: false + schema: + type: boolean + responses: + '200': + content: + application/json: + examples: + default: + value: + data: + description: Track the availability of our custom metric. + id: abc-123 + name: Custom Metric SLO + tags: + - env:prod + thresholds: + - target: 95 + target_display: '95.0' + timeframe: 7d + type: metric + errors: [] + schema: + $ref: '#/components/schemas/SLOResponse' + description: OK + '403': + content: + application/json: + schema: + $ref: '#/components/schemas/APIErrorResponseV1' + description: Forbidden + '404': + content: + application/json: + schema: + $ref: '#/components/schemas/APIErrorResponseV1' + description: Not found + '429': + $ref: '#/components/responses/TooManyRequestsResponse' + security: + - apiKeyAuth: [] + appKeyAuth: [] + - AuthZ: + - slos_read + summary: Get an SLO's details + tags: + - Service Level Objectives + x-permission: + operator: OR + permissions: + - slos_read + put: + description: Update the specified service level objective object. + operationId: UpdateSLO + parameters: + - description: The ID of the service level objective object. + in: path + name: slo_id + required: true + schema: + type: string + requestBody: + content: + application/json: + examples: + default: + value: + description: Updated description for the SLO. + name: Custom Metric SLO + query: + denominator: sum:my.custom.metric{*}.as_count() + numerator: sum:my.custom.metric{type:good}.as_count() + tags: + - env:prod + - app:core + thresholds: + - target: 95 + timeframe: 7d + - target: 95 + timeframe: 30d + warning: 97 + type: metric + schema: + $ref: '#/components/schemas/ServiceLevelObjective' + description: The edited service level objective request object. + required: true + responses: + '200': + content: + application/json: + examples: + default: + value: + data: + - description: Updated description for the SLO. + id: abc-123 + name: Custom Metric SLO + tags: + - env:prod + thresholds: + - target: 95 + target_display: '95.0' + timeframe: 7d + type: metric + errors: [] + schema: + $ref: '#/components/schemas/SLOListResponse' + description: OK + '400': + content: + application/json: + schema: + $ref: '#/components/schemas/APIErrorResponseV1' + description: Bad Request + '403': + content: + application/json: + schema: + $ref: '#/components/schemas/APIErrorResponseV1' + description: Forbidden + '404': + content: + application/json: + schema: + $ref: '#/components/schemas/APIErrorResponseV1' + description: Not Found + '429': + $ref: '#/components/responses/TooManyRequestsResponse' + security: + - apiKeyAuth: [] + appKeyAuth: [] + - AuthZ: + - slos_write + summary: Update an SLO + tags: + - Service Level Objectives + x-codegen-request-body-name: body + x-permission: + operator: OR + permissions: + - slos_write + /api/v1/slo/{slo_id}/corrections: + get: + description: Get corrections applied to an SLO + operationId: GetSLOCorrections + parameters: + - description: The ID of the service level objective object. + in: path + name: slo_id + required: true + schema: + type: string + responses: + '200': + content: + application/json: + examples: + default: + value: + data: + - attributes: + category: Scheduled Maintenance + end: 1600003600 + slo_id: abc-123 + start: 1600000000 + timezone: UTC + id: abc-123 + type: correction + schema: + $ref: '#/components/schemas/SLOCorrectionListResponse' + description: OK + '400': + content: + application/json: + schema: + $ref: '#/components/schemas/APIErrorResponseV1' + description: Bad Request + '403': + content: + application/json: + schema: + $ref: '#/components/schemas/APIErrorResponseV1' + description: Forbidden + '404': + content: + application/json: + schema: + $ref: '#/components/schemas/APIErrorResponseV1' + description: Not Found + '429': + $ref: '#/components/responses/TooManyRequestsResponse' + security: + - apiKeyAuth: [] + appKeyAuth: [] + - AuthZ: + - slos_read + summary: Get Corrections For an SLO + tags: + - Service Level Objectives + x-permission: + operator: OR + permissions: + - slos_read + /api/v1/slo/{slo_id}/history: + get: + description: |- + Get a specific SLO’s history, regardless of its SLO type. + + The detailed history data is structured according to the source data type. + For example, metric data is included for event SLOs that use + the metric source, and monitor SLO types include the monitor transition history. + + **Note:** There are different response formats for event based and time based SLOs. + Examples of both are shown. + operationId: GetSLOHistory + parameters: + - description: The ID of the service level objective object. + in: path + name: slo_id + required: true + schema: + type: string + - description: The `from` timestamp for the query window in epoch seconds. + in: query + name: from_ts + required: true + schema: + format: int64 + type: integer + - description: The `to` timestamp for the query window in epoch seconds. + in: query + name: to_ts + required: true + schema: + format: int64 + type: integer + - description: The SLO target. If `target` is passed in, the response will include the remaining error budget and a timeframe value of `custom`. + in: query + name: target + schema: + exclusiveMaximum: true + exclusiveMinimum: true + format: double + maximum: 100 + minimum: 0 + type: number + - description: |- + Defaults to `true`. If any SLO corrections are applied and this parameter is set to `false`, + then the corrections will not be applied and the SLI values will not be affected. + in: query + name: apply_correction + required: false + schema: + type: boolean + responses: + '200': + content: + application/json: + examples: + default: + value: + data: + from_ts: 1615323990 + overall: + sli_value: 99.99 + span_precision: 2 + thresholds: + 7d: + target: 95 + timeframe: 7d + to_ts: 1615928790 + type: metric + type_id: 1 + errors: null + schema: + $ref: '#/components/schemas/SLOHistoryResponse' + description: OK + '400': + content: + application/json: + schema: + $ref: '#/components/schemas/APIErrorResponseV1' + description: Bad Request + '403': + content: + application/json: + schema: + $ref: '#/components/schemas/APIErrorResponseV1' + description: Forbidden + '404': + content: + application/json: + schema: + $ref: '#/components/schemas/APIErrorResponseV1' + description: Not Found + '429': + $ref: '#/components/responses/TooManyRequestsResponse' + security: + - apiKeyAuth: [] + appKeyAuth: [] + - AuthZ: + - slos_read + summary: Get an SLO's history + tags: + - Service Level Objectives + x-permission: + operator: OR + permissions: + - slos_read +components: + schemas: + ListInvestigationsResponse: + description: Response for listing investigations. + properties: + data: + description: List of investigations. + items: + $ref: '#/components/schemas/ListInvestigationsResponseData' + type: array + links: + $ref: '#/components/schemas/ListInvestigationsResponseLinks' + meta: + $ref: '#/components/schemas/ListInvestigationsResponseMeta' + required: + - data + - meta + - links + type: object + JSONAPIErrorResponse: + description: API error response. + properties: + errors: + description: A list of errors. + items: + $ref: '#/components/schemas/JSONAPIErrorItem' + type: array + required: + - errors + type: object + TriggerInvestigationRequest: + description: Request to trigger a new investigation. + properties: + data: + $ref: '#/components/schemas/TriggerInvestigationRequestData' + required: + - data + type: object + TriggerInvestigationResponse: + description: Response after triggering an investigation. + properties: + data: + $ref: '#/components/schemas/TriggerInvestigationResponseData' + required: + - data + type: object + GetInvestigationResponse: + description: Response for a single Bits AI investigation. + properties: + data: + $ref: '#/components/schemas/GetInvestigationResponseData' + links: + $ref: '#/components/schemas/GetInvestigationResponseLinks' + required: + - data + - links + type: object + CasesResponse: + description: Response with cases + properties: + data: + description: Cases response data + items: + $ref: '#/components/schemas/Case' + type: array + meta: + $ref: '#/components/schemas/CasesResponseMeta' + type: object + CaseCreateRequest: + description: Case create request + properties: + data: + $ref: '#/components/schemas/CaseCreate' + required: + - data + type: object + CaseResponse: + description: Case response + properties: + data: + $ref: '#/components/schemas/Case' + type: object + CaseAggregateRequest: + description: Request payload for aggregating case counts with grouping. Use this to get faceted breakdowns of cases (for example, count of cases grouped by priority and status). + properties: + data: + $ref: '#/components/schemas/CaseAggregateRequestData' + required: + - data + type: object + CaseAggregateResponse: + description: Response containing aggregated case counts grouped by the requested fields. + properties: + data: + $ref: '#/components/schemas/CaseAggregateResponseData' + required: + - data + type: object + CaseBulkUpdateRequest: + description: Request payload for applying a single action (such as changing priority, status, or assignment) to multiple cases at once. + properties: + data: + $ref: '#/components/schemas/CaseBulkUpdateRequestData' + required: + - data + type: object + CaseCountResponse: + description: Response containing the total number of cases matching a query, optionally grouped by specified fields. + properties: + data: + $ref: '#/components/schemas/CaseCountResponseData' + required: + - data + type: object + CaseLinksResponse: + description: Response containing a list of case links. + properties: + data: + description: A list of case links. + items: + $ref: '#/components/schemas/CaseLink' + type: array + required: + - data + type: object + CaseLinkCreateRequest: + description: Request payload for creating a link between two entities. + properties: + data: + $ref: '#/components/schemas/CaseLinkCreate' + required: + - data + type: object + CaseLinkResponse: + description: Response containing a single case link. + properties: + data: + $ref: '#/components/schemas/CaseLink' + required: + - data + type: object + ProjectsResponse: + description: Response with projects. + properties: + data: + description: Projects response data. + items: + $ref: '#/components/schemas/Project' + type: array + type: object + ProjectCreateRequest: + description: Project create request. + properties: + data: + $ref: '#/components/schemas/ProjectCreate' + required: + - data + type: object + ProjectResponse: + description: Project response. + properties: + data: + $ref: '#/components/schemas/Project' + type: object + ProjectFavoritesResponse: + description: Response containing the list of projects the current user has favorited. + properties: + data: + description: List of project favorites. + items: + $ref: '#/components/schemas/ProjectFavorite' + type: array + required: + - data + type: object + APIErrorResponse: + description: API error response. + properties: + errors: + description: A list of errors. + example: + - Bad Request + items: + description: A list of items. + example: Bad Request + type: string + type: array + required: + - errors + type: object + ProjectUpdateRequest: + description: Project update request. + properties: + data: + $ref: '#/components/schemas/ProjectUpdate' + required: + - data + type: object + CaseNotificationRulesResponse: + description: Response with notification rules + properties: + data: + description: Notification rules data + items: + $ref: '#/components/schemas/CaseNotificationRule' + type: array + type: object + CaseNotificationRuleCreateRequest: + description: Notification rule create request + properties: + data: + $ref: '#/components/schemas/CaseNotificationRuleCreate' + required: + - data + type: object + CaseNotificationRuleResponse: + description: Notification rule response + properties: + data: + $ref: '#/components/schemas/CaseNotificationRule' + type: object + CaseNotificationRuleUpdateRequest: + description: Notification rule update request + properties: + data: + $ref: '#/components/schemas/CaseNotificationRuleUpdate' + required: + - data + type: object + AutomationRulesResponse: + description: Response containing a list of automation rules for a project. + properties: + data: + description: List of automation rules. + items: + $ref: '#/components/schemas/AutomationRule' + type: array + required: + - data + type: object + AutomationRuleCreateRequest: + description: Request payload for creating an automation rule. + properties: + data: + $ref: '#/components/schemas/AutomationRuleCreate' + required: + - data + type: object + AutomationRuleResponse: + description: Response containing a single automation rule. + properties: + data: + $ref: '#/components/schemas/AutomationRule' + required: + - data + type: object + AutomationRuleUpdateRequest: + description: Request payload for updating an automation rule. + properties: + data: + $ref: '#/components/schemas/AutomationRuleUpdate' + required: + - data + type: object + CaseTypesResponse: + description: Response containing a list of case types. + properties: + data: + description: List of case types + items: + $ref: '#/components/schemas/CaseTypeResource' + type: array + type: object + CaseTypeCreateRequest: + description: Request payload for creating a case type. + properties: + data: + $ref: '#/components/schemas/CaseTypeCreate' + required: + - data + type: object + CaseTypeResponse: + description: Response containing a single case type. + properties: + data: + $ref: '#/components/schemas/CaseTypeResource' + type: object + CustomAttributeConfigsResponse: + description: Response containing a list of custom attribute configurations. + properties: + data: + description: List of custom attribute configs of case type + items: + $ref: '#/components/schemas/CustomAttributeConfig' + type: array + type: object + CaseTypeUpdateRequest: + description: Request payload for updating a case type. + properties: + data: + $ref: '#/components/schemas/CaseTypeUpdate' + required: + - data + type: object + CustomAttributeConfigCreateRequest: + description: Request payload for creating a custom attribute configuration. + properties: + data: + $ref: '#/components/schemas/CustomAttributeConfigCreate' + required: + - data + type: object + CustomAttributeConfigResponse: + description: Response containing a single custom attribute configuration. + properties: + data: + $ref: '#/components/schemas/CustomAttributeConfig' + type: object + CustomAttributeConfigUpdateRequest: + description: Request payload for updating a custom attribute configuration. + properties: + data: + $ref: '#/components/schemas/CustomAttributeConfigUpdate' + required: + - data + type: object + CaseViewsResponse: + description: Response containing a list of case views. + properties: + data: + description: A list of case views. + items: + $ref: '#/components/schemas/CaseView' + type: array + required: + - data + type: object + CaseViewCreateRequest: + description: Request payload for creating a case view. + properties: + data: + $ref: '#/components/schemas/CaseViewCreate' + required: + - data + type: object + CaseViewResponse: + description: Response containing a single case view. + properties: + data: + $ref: '#/components/schemas/CaseView' + required: + - data + type: object + CaseViewUpdateRequest: + description: Request payload for updating a case view. + properties: + data: + $ref: '#/components/schemas/CaseViewUpdate' + required: + - data + type: object + CaseEmptyRequest: + description: Case empty request + properties: + data: + $ref: '#/components/schemas/CaseEmpty' + required: + - data + type: object + CaseAssignRequest: + description: Case assign request + properties: + data: + $ref: '#/components/schemas/CaseAssign' + required: + - data + type: object + CaseUpdateAttributesRequest: + description: Case update attributes request + properties: + data: + $ref: '#/components/schemas/CaseUpdateAttributes' + required: + - data + type: object + CaseCommentRequest: + description: Case comment request + properties: + data: + $ref: '#/components/schemas/CaseComment' + required: + - data + type: object + TimelineResponse: + description: Response containing the chronological list of timeline cells for a case. + properties: + data: + description: The `TimelineResponse` `data`. + items: + $ref: '#/components/schemas/TimelineCellResource' + type: array + type: object + CaseUpdateCommentRequest: + description: Request payload for updating a comment on a case timeline. + properties: + data: + $ref: '#/components/schemas/CaseUpdateComment' + required: + - data + type: object + CaseUpdateCustomAttributeRequest: + description: Case update custom attribute request + properties: + data: + $ref: '#/components/schemas/CaseUpdateCustomAttribute' + required: + - data + type: object + CaseUpdateDescriptionRequest: + description: Case update description request + properties: + data: + $ref: '#/components/schemas/CaseUpdateDescription' + required: + - data + type: object + CaseUpdateDueDateRequest: + description: Request payload for updating a case's due date. + properties: + data: + $ref: '#/components/schemas/CaseUpdateDueDate' + required: + - data + type: object + CaseInsightsRequest: + description: Request payload for adding or removing case insights. + properties: + data: + $ref: '#/components/schemas/CaseInsightsData' + required: + - data + type: object + CaseUpdatePriorityRequest: + description: Case update priority request + properties: + data: + $ref: '#/components/schemas/CaseUpdatePriority' + required: + - data + type: object + RelationshipToIncidentRequest: + description: Relationship to incident request + properties: + data: + $ref: '#/components/schemas/IncidentRelationshipData' + required: + - data + type: object + JiraIssueLinkRequest: + description: Jira issue link request + properties: + data: + $ref: '#/components/schemas/JiraIssueLinkData' + required: + - data + type: object + JiraIssueCreateRequest: + description: Jira issue creation request + properties: + data: + $ref: '#/components/schemas/JiraIssueCreateData' + required: + - data + type: object + NotebookCreateRequest: + description: Notebook creation request + properties: + data: + $ref: '#/components/schemas/NotebookCreateData' + required: + - data + type: object + ProjectRelationship: + description: Relationship to project. + properties: + data: + $ref: '#/components/schemas/ProjectRelationshipData' + required: + - data + type: object + ServiceNowTicketCreateRequest: + description: ServiceNow ticket creation request + properties: + data: + $ref: '#/components/schemas/ServiceNowTicketCreateData' + required: + - data + type: object + CaseUpdateResolvedReasonRequest: + description: Request payload for updating the resolution reason on a closed security case. + properties: + data: + $ref: '#/components/schemas/CaseUpdateResolvedReason' + required: + - data + type: object + CaseUpdateStatusRequest: + description: Case update status request + properties: + data: + $ref: '#/components/schemas/CaseUpdateStatus' + required: + - data + type: object + CaseUpdateTitleRequest: + description: Case update title request + properties: + data: + $ref: '#/components/schemas/CaseUpdateTitle' + required: + - data + type: object + CaseWatchersResponse: + description: Response containing the list of users watching a case. + properties: + data: + description: List of case watchers. + items: + $ref: '#/components/schemas/CaseWatcher' + type: array + required: + - data + type: object + ChangeRequestCreateRequest: + description: Request object to create a change request. + properties: + data: + $ref: '#/components/schemas/ChangeRequestCreateData' + required: + - data + type: object + ChangeRequestResponse: + description: Response object for a change request. + properties: + data: + $ref: '#/components/schemas/ChangeRequestResponseData' + included: + $ref: '#/components/schemas/ChangeRequestIncluded' + required: + - data + type: object + ChangeRequestUpdateRequest: + description: Request object to update a change request. + properties: + data: + $ref: '#/components/schemas/ChangeRequestUpdateData' + included: + $ref: '#/components/schemas/ChangeRequestUpdateIncluded' + required: + - data + type: object + ChangeRequestBranchCreateRequest: + description: Request object to create a branch for a change request. + properties: + data: + $ref: '#/components/schemas/ChangeRequestBranchCreateData' + required: + - data + type: object + ChangeRequestDecisionUpdateRequest: + description: Request object to update a change request decision. + properties: + data: + $ref: '#/components/schemas/ChangeRequestDecisionUpdateData' + included: + $ref: '#/components/schemas/ChangeRequestUpdateIncluded' + required: + - data + type: object + ListDowntimesResponse: + description: Response for retrieving all downtimes. + properties: + data: + description: An array of downtimes. + items: + $ref: '#/components/schemas/DowntimeResponseData' + type: array + included: + description: Array of objects related to the downtimes. + items: + $ref: '#/components/schemas/DowntimeResponseIncludedItem' + type: array + meta: + $ref: '#/components/schemas/DowntimeMeta' + type: object + DowntimeCreateRequest: + description: Request for creating a downtime. + properties: + data: + $ref: '#/components/schemas/DowntimeCreateRequestData' + required: + - data + type: object + DowntimeResponse: + description: |- + Downtiming gives you greater control over monitor notifications by + allowing you to globally exclude scopes from alerting. + Downtime settings, which can be scheduled with start and end times, + prevent all alerting related to specified Datadog tags. + properties: + data: + $ref: '#/components/schemas/DowntimeResponseData' + included: + description: Array of objects related to the downtime that the user requested. + items: + $ref: '#/components/schemas/DowntimeResponseIncludedItem' + type: array + type: object + DowntimeUpdateRequest: + description: Request for editing a downtime. + properties: + data: + $ref: '#/components/schemas/DowntimeUpdateRequestData' + required: + - data + type: object + IssuesSearchRequest: + description: Search issues request payload. + properties: + data: + $ref: '#/components/schemas/IssuesSearchRequestData' + required: + - data + type: object + IssuesSearchResponse: + description: Search issues response payload. + properties: + data: + description: Array of results matching the search query. + items: + $ref: '#/components/schemas/IssuesSearchResult' + type: array + included: + description: Array of resources related to the search results. + items: + $ref: '#/components/schemas/IssuesSearchResultIncluded' + type: array + type: object + IssueResponse: + description: Response containing error tracking issue data. + properties: + data: + $ref: '#/components/schemas/Issue' + included: + description: Array of resources related to the issue. + items: + $ref: '#/components/schemas/IssueIncluded' + type: array + type: object + IssueUpdateAssigneeRequest: + description: Update issue assignee request payload. + properties: + data: + $ref: '#/components/schemas/IssueUpdateAssigneeRequestData' + required: + - data + type: object + IssueUpdateStateRequest: + description: Update issue state request payload. + properties: + data: + $ref: '#/components/schemas/IssueUpdateStateRequestData' + required: + - data + type: object + EventsSort: + description: The sort parameters when querying events. + enum: + - timestamp + - '-timestamp' + type: string + x-enum-varnames: + - TIMESTAMP_ASCENDING + - TIMESTAMP_DESCENDING + EventsListResponse: + description: The response object with all events matching the request and pagination information. + properties: + data: + description: An array of events matching the request. + items: + $ref: '#/components/schemas/EventResponse' + type: array + links: + $ref: '#/components/schemas/EventsListResponseLinks' + meta: + $ref: '#/components/schemas/EventsResponseMetadata' + type: object + EventCreateRequestPayload: + description: Payload for creating an event. + properties: + data: + $ref: '#/components/schemas/EventCreateRequest' + required: + - data + type: object + EventCreateResponsePayload: + description: Event creation response. + properties: + data: + $ref: '#/components/schemas/EventCreateResponse' + links: + $ref: '#/components/schemas/EventCreateResponsePayloadLinks' + type: object + EventsListRequest: + description: The object sent with the request to retrieve a list of events from your organization. + properties: + filter: + $ref: '#/components/schemas/EventsQueryFilter' + options: + $ref: '#/components/schemas/EventsQueryOptions' + page: + $ref: '#/components/schemas/EventsRequestPage' + sort: + $ref: '#/components/schemas/EventsSort' + type: object + V2EventResponse: + description: Get an event response. + properties: + data: + $ref: '#/components/schemas/V2Event' + type: object + FormsResponse: + description: A response containing a list of forms. + properties: + data: + $ref: '#/components/schemas/FormDataList' + required: + - data + type: object + CreateFormRequest: + description: A request to create a form. + properties: + data: + $ref: '#/components/schemas/CreateFormData' + required: + - data + type: object + FormResponse: + description: A response containing a single form. + properties: + data: + $ref: '#/components/schemas/FormData' + required: + - data + type: object + DeleteFormResponse: + description: A response returned after deleting a form. + properties: + data: + $ref: '#/components/schemas/DeleteFormData' + type: object + UpdateFormRequest: + description: A request to update a form. + properties: + data: + $ref: '#/components/schemas/UpdateFormData' + required: + - data + type: object + CloneFormRequest: + description: A request to clone a form. + properties: + data: + $ref: '#/components/schemas/CloneFormData' + required: + - data + type: object + PublishFormRequest: + description: A request to publish a form version. + properties: + data: + $ref: '#/components/schemas/PublishFormData' + required: + - data + type: object + FormPublicationResponse: + description: A response containing a single form publication. + properties: + data: + $ref: '#/components/schemas/FormPublicationData' + required: + - data + type: object + UpsertFormVersionRequest: + description: A request to create or update a form version. + properties: + data: + $ref: '#/components/schemas/UpsertFormVersionData' + required: + - data + type: object + FormDataDefinition: + additionalProperties: {} + description: A JSON Schema definition that describes the form's data fields. + properties: + description: + description: A description shown to form respondents. + example: Welcome to the Engineering Experience Survey. + type: string + properties: + additionalProperties: {} + description: A map of field names to their JSON Schema definitions. + type: object + required: + description: List of field names that must be answered. + items: + type: string + type: array + title: + description: The title of the form schema. + example: Developer Experience Survey + type: string + type: + $ref: '#/components/schemas/FormDataDefinitionType' + type: object + FormVersionResponse: + description: A response containing a single form version. + properties: + data: + $ref: '#/components/schemas/FormVersionData' + required: + - data + type: object + UpsertAndPublishFormVersionRequest: + description: A request to upsert and publish a form version in a single transaction. + properties: + data: + $ref: '#/components/schemas/UpsertAndPublishFormVersionData' + required: + - data + type: object + IncidentsResponse: + description: Response with a list of incidents. + properties: + data: + description: An array of incidents. + example: + - attributes: + created: '2020-04-21T15:34:08.627205+00:00' + creation_idempotency_key: null + customer_impact_duration: 0 + customer_impact_end: null + customer_impact_scope: null + customer_impact_start: null + customer_impacted: false + detected: '2020-04-14T00:00:00+00:00' + incident_type_uuid: 00000000-0000-0000-0000-000000000001 + modified: '2020-09-17T14:16:58.696424+00:00' + public_id: 1 + resolved: null + severity: SEV-1 + time_to_detect: 0 + time_to_internal_response: 0 + time_to_repair: 0 + time_to_resolve: 0 + title: Example Incident + id: 00000000-aaaa-0000-0000-000000000000 + relationships: + attachments: + data: + - id: 00000000-9999-0000-0000-000000000000 + type: incident_attachments + - id: 00000000-1234-0000-0000-000000000000 + type: incident_attachments + commander_user: + data: + id: 00000000-0000-0000-cccc-000000000000 + type: users + created_by_user: + data: + id: 00000000-0000-0000-cccc-000000000000 + type: users + integrations: + data: + - id: 00000000-0000-0000-4444-000000000000 + type: incident_integrations + - id: 00000000-0000-0000-5555-000000000000 + type: incident_integrations + last_modified_by_user: + data: + id: 00000000-0000-0000-cccc-000000000000 + type: users + type: incidents + - attributes: + created: '2020-04-21T15:34:08.627205+00:00' + creation_idempotency_key: null + customer_impact_duration: 0 + customer_impact_end: null + customer_impact_scope: null + customer_impact_start: null + customer_impacted: false + detected: '2020-04-14T00:00:00+00:00' + incident_type_uuid: 00000000-0000-0000-0000-000000000002 + modified: '2020-09-17T14:16:58.696424+00:00' + public_id: 2 + resolved: null + severity: SEV-5 + time_to_detect: 0 + time_to_internal_response: 0 + time_to_repair: 0 + time_to_resolve: 0 + title: Example Incident 2 + id: 00000000-1111-0000-0000-000000000000 + relationships: + attachments: + data: + - id: 00000000-9999-0000-0000-000000000000 + type: incident_attachments + commander_user: + data: + id: 00000000-aaaa-0000-0000-000000000000 + type: users + created_by_user: + data: + id: 00000000-aaaa-0000-0000-000000000000 + type: users + integrations: + data: + - id: 00000000-0000-0000-0001-000000000000 + type: incident_integrations + - id: 00000000-0000-0000-0002-000000000000 + type: incident_integrations + last_modified_by_user: + data: + id: 00000000-aaaa-0000-0000-000000000000 + type: users + type: incidents + items: + $ref: '#/components/schemas/IncidentResponseData' + type: array + included: + description: Included related resources that the user requested. + items: + $ref: '#/components/schemas/IncidentResponseIncludedItem' + readOnly: true + type: array + meta: + $ref: '#/components/schemas/IncidentResponseMeta' + required: + - data + type: object + IncidentCreateRequest: + description: Create request for an incident. + properties: + data: + $ref: '#/components/schemas/IncidentCreateData' + required: + - data + type: object + IncidentResponse: + description: Response with an incident. + properties: + data: + $ref: '#/components/schemas/IncidentResponseData' + included: + description: Included related resources that the user requested. + items: + $ref: '#/components/schemas/IncidentResponseIncludedItem' + readOnly: true + type: array + required: + - data + type: object + IncidentHandlesResponse: + description: Response payload for a list of global incident handles, including handle data and related resources. + properties: + data: + $ref: '#/components/schemas/IncidentHandlesResponseData' + example: + - attributes: + name: '@incident-sev-1' + id: 12ceee6d-a7c0-4407-bc54-30e54140d7f0 + type: incident_handles + included: + $ref: '#/components/schemas/IncidentHandleIncludedResponse' + required: + - data + type: object + IncidentHandleRequest: + description: Request payload for creating or updating a global incident handle. + properties: + data: + $ref: '#/components/schemas/IncidentHandleDataRequest' + required: + - data + type: object + IncidentHandleResponse: + description: Response payload for a single incident handle, including the handle data and related resources. + properties: + data: + $ref: '#/components/schemas/IncidentHandleDataResponse' + included: + $ref: '#/components/schemas/IncidentHandleIncludedResponse' + required: + - data + type: object + GlobalIncidentSettingsResponse: + description: Response payload containing global incident settings. + properties: + data: + $ref: '#/components/schemas/GlobalIncidentSettingsDataResponse' + required: + - data + type: object + GlobalIncidentSettingsRequest: + description: Request payload for updating global incident settings. + properties: + data: + $ref: '#/components/schemas/GlobalIncidentSettingsDataRequest' + required: + - data + type: object + IncidentGoogleChatConfigurationRequest: + description: Request payload for creating a Google Chat configuration. + properties: + data: + $ref: '#/components/schemas/IncidentGoogleChatConfigurationDataRequest' + required: + - data + type: object + IncidentGoogleChatConfigurationResponse: + description: Response with a Google Chat configuration. + properties: + data: + $ref: '#/components/schemas/IncidentGoogleChatConfigurationDataResponse' + included: + description: Included related resources. + items: + $ref: '#/components/schemas/IncidentUserData' + readOnly: true + type: array + required: + - data + type: object + IncidentGoogleChatConfigurationPatchRequest: + description: Request payload for patching a Google Chat configuration. + properties: + data: + $ref: '#/components/schemas/IncidentGoogleChatConfigurationPatchDataRequest' + required: + - data + type: object + IncidentGoogleMeetConfigurationRequest: + description: Request payload for creating a Google Meet configuration. + properties: + data: + $ref: '#/components/schemas/IncidentGoogleMeetConfigurationDataRequest' + required: + - data + type: object + IncidentGoogleMeetConfigurationResponse: + description: Response with a Google Meet configuration. + properties: + data: + $ref: '#/components/schemas/IncidentGoogleMeetConfigurationDataResponse' + included: + description: Included related resources. + items: + $ref: '#/components/schemas/IncidentUserData' + readOnly: true + type: array + required: + - data + type: object + IncidentGoogleMeetConfigurationPatchRequest: + description: Request payload for patching a Google Meet configuration. + properties: + data: + $ref: '#/components/schemas/IncidentGoogleMeetConfigurationPatchDataRequest' + required: + - data + type: object + IncidentImpactFieldsResponse: + description: Response with a list of impact fields. + properties: + data: + description: List of impact fields. + items: + $ref: '#/components/schemas/IncidentImpactFieldDataResponse' + type: array + included: + description: Included related resources. + items: + $ref: '#/components/schemas/IncidentUserData' + readOnly: true + type: array + required: + - data + type: object + IncidentImpactFieldRequest: + description: Request payload for creating an impact field. + properties: + data: + $ref: '#/components/schemas/IncidentImpactFieldDataRequest' + required: + - data + type: object + IncidentImpactFieldResponse: + description: Response with a single impact field. + properties: + data: + $ref: '#/components/schemas/IncidentImpactFieldDataResponse' + included: + description: Included related resources. + items: + $ref: '#/components/schemas/IncidentUserData' + readOnly: true + type: array + required: + - data + type: object + IncidentNotificationRuleArray: + description: Response with notification rules. + properties: + data: + description: The `NotificationRuleArray` `data`. + items: + $ref: '#/components/schemas/IncidentNotificationRuleResponseData' + type: array + included: + description: Related objects that are included in the response. + items: + $ref: '#/components/schemas/IncidentNotificationRuleIncludedItems' + type: array + meta: + $ref: '#/components/schemas/IncidentNotificationRuleArrayMeta' + required: + - data + type: object + CreateIncidentNotificationRuleRequest: + description: Create request for a notification rule. + properties: + data: + $ref: '#/components/schemas/IncidentNotificationRuleCreateData' + required: + - data + type: object + IncidentNotificationRule: + description: Response with a notification rule. + properties: + data: + $ref: '#/components/schemas/IncidentNotificationRuleResponseData' + included: + description: Related objects that are included in the response. + items: + $ref: '#/components/schemas/IncidentNotificationRuleIncludedItems' + type: array + required: + - data + type: object + PutIncidentNotificationRuleRequest: + description: Put request for a notification rule. + properties: + data: + $ref: '#/components/schemas/IncidentNotificationRuleUpdateData' + required: + - data + type: object + IncidentNotificationTemplateArray: + description: Response with notification templates. + properties: + data: + description: The `NotificationTemplateArray` `data`. + items: + $ref: '#/components/schemas/IncidentNotificationTemplateResponseData' + type: array + included: + description: Related objects that are included in the response. + items: + $ref: '#/components/schemas/IncidentNotificationTemplateIncludedItems' + type: array + meta: + $ref: '#/components/schemas/IncidentNotificationTemplateArrayMeta' + required: + - data + type: object + CreateIncidentNotificationTemplateRequest: + description: Create request for a notification template. + properties: + data: + $ref: '#/components/schemas/IncidentNotificationTemplateCreateData' + required: + - data + type: object + IncidentNotificationTemplate: + description: Response with a notification template. + properties: + data: + $ref: '#/components/schemas/IncidentNotificationTemplateResponseData' + included: + description: Related objects that are included in the response. + items: + $ref: '#/components/schemas/IncidentNotificationTemplateIncludedItems' + type: array + required: + - data + type: object + PatchIncidentNotificationTemplateRequest: + description: Update request for a notification template. + properties: + data: + $ref: '#/components/schemas/IncidentNotificationTemplateUpdateData' + required: + - data + type: object + PostmortemTemplatesResponse: + description: Response containing a list of postmortem templates. + properties: + data: + description: An array of postmortem template data objects. + items: + $ref: '#/components/schemas/PostmortemTemplateDataResponse' + type: array + required: + - data + type: object + PostmortemTemplateRequest: + description: Request body for creating or updating a postmortem template. + properties: + data: + $ref: '#/components/schemas/PostmortemTemplateDataRequest' + required: + - data + type: object + PostmortemTemplateResponse: + description: Response containing a single postmortem template. + properties: + data: + $ref: '#/components/schemas/PostmortemTemplateDataResponse' + required: + - data + type: object + IncidentRulesResponse: + description: Response with a list of incident rules. + properties: + data: + description: List of incident rules. + items: + $ref: '#/components/schemas/IncidentRuleDataResponse' + type: array + required: + - data + type: object + IncidentRuleRequest: + description: Request payload for creating an incident rule. + properties: + data: + $ref: '#/components/schemas/IncidentRuleDataRequest' + required: + - data + type: object + IncidentRuleResponse: + description: Response with a single incident rule. + properties: + data: + $ref: '#/components/schemas/IncidentRuleDataResponse' + required: + - data + type: object + IncidentRulePatchRequest: + description: Request payload for patching an incident rule. + properties: + data: + $ref: '#/components/schemas/IncidentRulePatchDataRequest' + required: + - data + type: object + IncidentTypeListResponse: + description: Response with a list of incident types. + properties: + data: + description: An array of incident type objects. + items: + $ref: '#/components/schemas/IncidentTypeObject' + type: array + required: + - data + type: object + IncidentTypeCreateRequest: + description: Create request for an incident type. + properties: + data: + $ref: '#/components/schemas/IncidentTypeCreateData' + required: + - data + type: object + IncidentTypeResponse: + description: Incident type response data. + properties: + data: + $ref: '#/components/schemas/IncidentTypeObject' + required: + - data + type: object + IncidentOrgSettingsListResponse: + description: Response with a list of incident org settings resources. + properties: + data: + description: List of incident org settings resources. + items: + $ref: '#/components/schemas/IncidentOrgSettingsDataResponse' + type: array + required: + - data + type: object + IncidentTypePatchRequest: + description: Patch request for an incident type. + properties: + data: + $ref: '#/components/schemas/IncidentTypePatchData' + required: + - data + type: object + IncidentOrgSettingsResponse: + description: Response with a single incident org settings resource. + properties: + data: + $ref: '#/components/schemas/IncidentOrgSettingsDataResponse' + required: + - data + type: object + IncidentUserDefinedFieldListResponse: + description: Response containing a list of incident user-defined fields. + properties: + data: + description: An array of user-defined field objects. + items: + $ref: '#/components/schemas/IncidentUserDefinedFieldResponseData' + type: array + meta: + $ref: '#/components/schemas/IncidentUserDefinedFieldListMeta' + required: + - data + - meta + type: object + IncidentUserDefinedFieldCreateRequest: + description: Request body for creating an incident user-defined field. + properties: + data: + $ref: '#/components/schemas/IncidentUserDefinedFieldCreateData' + required: + - data + type: object + IncidentUserDefinedFieldResponse: + description: Response containing a single incident user-defined field. + properties: + data: + $ref: '#/components/schemas/IncidentUserDefinedFieldResponseData' + required: + - data + type: object + IncidentUserDefinedFieldUpdateRequest: + description: Request body for updating an incident user-defined field. + properties: + data: + $ref: '#/components/schemas/IncidentUserDefinedFieldUpdateData' + required: + - data + type: object + IncidentUserDefinedRolesResponse: + description: Response with a list of incident user-defined roles. + properties: + data: + $ref: '#/components/schemas/IncidentUserDefinedRolesDataResponse' + included: + $ref: '#/components/schemas/IncidentUserDefinedRoleIncludedResponse' + required: + - data + type: object + IncidentUserDefinedRoleRequest: + description: Request for creating an incident user-defined role. + properties: + data: + $ref: '#/components/schemas/IncidentUserDefinedRoleDataRequest' + required: + - data + type: object + IncidentUserDefinedRoleResponse: + description: Response with a single incident user-defined role. + properties: + data: + $ref: '#/components/schemas/IncidentUserDefinedRoleDataResponse' + included: + $ref: '#/components/schemas/IncidentUserDefinedRoleIncludedResponse' + required: + - data + type: object + IncidentUserDefinedRolePatchRequest: + description: Request for updating an incident user-defined role. + properties: + data: + $ref: '#/components/schemas/IncidentUserDefinedRolePatchDataRequest' + required: + - data + type: object + IncidentImportRequest: + description: Import request for an incident. Used to import historical incidents from external systems. + properties: + data: + $ref: '#/components/schemas/IncidentImportRequestData' + required: + - data + type: object + IncidentImportResponse: + description: Response with an incident. + properties: + data: + $ref: '#/components/schemas/IncidentImportResponseData' + included: + description: Included related resources that the user requested. + items: + $ref: '#/components/schemas/IncidentImportResponseIncludedItem' + readOnly: true + type: array + required: + - data + type: object + IncidentSearchResponse: + description: Response with incidents and facets. + properties: + data: + $ref: '#/components/schemas/IncidentSearchResponseData' + included: + description: Included related resources that the user requested. + items: + $ref: '#/components/schemas/IncidentResponseIncludedItem' + readOnly: true + type: array + meta: + $ref: '#/components/schemas/IncidentSearchResponseMeta' + required: + - data + type: object + IncidentUpdateRequest: + description: Update request for an incident. + properties: + data: + $ref: '#/components/schemas/IncidentUpdateData' + required: + - data + type: object + IncidentAIPostmortemResponse: + description: Response with an AI-generated incident postmortem. + properties: + data: + $ref: '#/components/schemas/IncidentAIPostmortemDataResponse' + required: + - data + type: object + AttachmentArray: + description: A list of incident attachments. + properties: + data: + description: An array of attachment data objects. + items: + $ref: '#/components/schemas/AttachmentData' + type: array + included: + description: A list of related objects included in the response. + items: + $ref: '#/components/schemas/AttachmentIncluded' + type: array + required: + - data + type: object + CreateAttachmentRequest: + description: Create request for an attachment. + properties: + data: + $ref: '#/components/schemas/CreateAttachmentRequestData' + type: object + Attachment: + description: An attachment response containing the attachment data and related objects. + properties: + data: + $ref: '#/components/schemas/AttachmentData' + included: + description: A list of related objects included in the response. + items: + $ref: '#/components/schemas/AttachmentIncluded' + type: array + type: object + PostmortemAttachmentRequest: + description: Request body for creating a postmortem attachment. + properties: + data: + $ref: '#/components/schemas/PostmortemAttachmentRequestData' + required: + - data + type: object + PatchAttachmentRequest: + description: Request to update an attachment. + properties: + data: + $ref: '#/components/schemas/PatchAttachmentRequestData' + type: object + IncidentCreatePageFromIncidentRequest: + description: Request payload for creating a page from an incident. + properties: + data: + $ref: '#/components/schemas/IncidentCreatePageFromIncidentDataRequest' + required: + - data + type: object + IncidentPageUUIDResponse: + description: Response with a page UUID. + properties: + data: + $ref: '#/components/schemas/IncidentPageUUIDDataResponse' + required: + - data + type: object + IncidentConfigurationPatchRequest: + description: Request payload for patching an incident configuration. + properties: + data: + $ref: '#/components/schemas/IncidentConfigurationPatchDataRequest' + required: + - data + type: object + IncidentConfigurationResponse: + description: Response with an incident configuration. + properties: + data: + $ref: '#/components/schemas/IncidentConfigurationDataResponse' + included: + description: Included related resources. + items: + $ref: '#/components/schemas/IncidentUserData' + readOnly: true + type: array + required: + - data + type: object + IncidentConfigurationRequest: + description: Request payload for creating an incident configuration. + properties: + data: + $ref: '#/components/schemas/IncidentConfigurationDataRequest' + required: + - data + type: object + IncidentImpactsResponse: + description: Response with a list of incident impacts. + properties: + data: + description: An array of incident impacts. + items: + $ref: '#/components/schemas/IncidentImpactResponseData' + type: array + included: + description: Included related resources that the user requested. + items: + $ref: '#/components/schemas/IncidentUserData' + readOnly: true + type: array + required: + - data + type: object + IncidentImpactCreateRequest: + description: Create request for an incident impact. + properties: + data: + $ref: '#/components/schemas/IncidentImpactCreateData' + required: + - data + type: object + IncidentImpactResponse: + description: Response with an incident impact. + properties: + data: + $ref: '#/components/schemas/IncidentImpactResponseData' + included: + description: Included related resources that the user requested. + items: + $ref: '#/components/schemas/IncidentUserData' + readOnly: true + type: array + required: + - data + type: object + IncidentImpactPatchRequest: + description: Patch request for an incident impact. + properties: + data: + $ref: '#/components/schemas/IncidentImpactPatchData' + required: + - data + type: object + IncidentCreateOnCallPageRequest: + description: Request payload for creating an on-call page from an incident. + properties: + data: + $ref: '#/components/schemas/IncidentCreateOnCallPageDataRequest' + required: + - data + type: object + IncidentOnCallPageLinkRequest: + description: Request payload for linking an on-call page to an incident. + properties: + data: + $ref: '#/components/schemas/IncidentOnCallPageDataRequest' + required: + - data + type: object + IncidentIntegrationMetadataResponse: + description: Response with an incident integration metadata. + properties: + data: + $ref: '#/components/schemas/IncidentIntegrationMetadataResponseData' + included: + description: Included related resources that the user requested. + items: + $ref: '#/components/schemas/IncidentIntegrationMetadataResponseIncludedItem' + readOnly: true + type: array + required: + - data + type: object + IncidentIntegrationMetadataListResponse: + description: Response with a list of incident integration metadata. + properties: + data: description: An array of incident integration metadata. items: - $ref: '#/components/schemas/IncidentIntegrationMetadataResponseData' + $ref: '#/components/schemas/IncidentIntegrationMetadataResponseData' + type: array + included: + description: Included related resources that the user requested. + items: + $ref: '#/components/schemas/IncidentIntegrationMetadataResponseIncludedItem' + readOnly: true + type: array + meta: + $ref: '#/components/schemas/IncidentResponseMeta' + required: + - data + type: object + IncidentIntegrationMetadataCreateRequest: + description: Create request for an incident integration metadata. + properties: + data: + $ref: '#/components/schemas/IncidentIntegrationMetadataCreateData' + required: + - data + type: object + IncidentIntegrationMetadataPatchRequest: + description: Patch request for an incident integration metadata. + properties: + data: + $ref: '#/components/schemas/IncidentIntegrationMetadataPatchData' + required: + - data + type: object + IncidentTodoListResponse: + description: Response with a list of incident todos. + properties: + data: + description: An array of incident todos. + items: + $ref: '#/components/schemas/IncidentTodoResponseData' + type: array + included: + description: Included related resources that the user requested. + items: + $ref: '#/components/schemas/IncidentTodoResponseIncludedItem' + readOnly: true + type: array + meta: + $ref: '#/components/schemas/IncidentResponseMeta' + required: + - data + type: object + IncidentTodoCreateRequest: + description: Create request for an incident todo. + properties: + data: + $ref: '#/components/schemas/IncidentTodoCreateData' + required: + - data + type: object + IncidentTodoResponse: + description: Response with an incident todo. + properties: + data: + $ref: '#/components/schemas/IncidentTodoResponseData' + included: + description: Included related resources that the user requested. + items: + $ref: '#/components/schemas/IncidentTodoResponseIncludedItem' + readOnly: true + type: array + required: + - data + type: object + IncidentTodoPatchRequest: + description: Patch request for an incident todo. + properties: + data: + $ref: '#/components/schemas/IncidentTodoPatchData' + required: + - data + type: object + IncidentRespondersResponse: + description: Response with a list of incident responders. + properties: + data: + description: List of incident responders. + items: + $ref: '#/components/schemas/IncidentResponderDataResponse' + type: array + included: + description: Included related resources. + items: + $ref: '#/components/schemas/IncidentUserData' + readOnly: true + type: array + required: + - data + type: object + IncidentResponderRequest: + description: Request payload for creating an incident responder. + properties: + data: + $ref: '#/components/schemas/IncidentResponderDataRequest' + required: + - data + type: object + IncidentResponderResponse: + description: Response with a single incident responder. + properties: + data: + $ref: '#/components/schemas/IncidentResponderDataResponse' + included: + description: Included related resources. + items: + $ref: '#/components/schemas/IncidentUserData' + readOnly: true + type: array + required: + - data + type: object + IncidentServiceNowRecordRequest: + description: Request payload for creating a ServiceNow record for an incident. + properties: + data: + $ref: '#/components/schemas/IncidentServiceNowRecordDataRequest' + required: + - data + type: object + IncidentTimestampOverridesResponse: + description: Response with a list of timestamp overrides. + properties: + data: + description: List of timestamp overrides. + items: + $ref: '#/components/schemas/IncidentTimestampOverrideDataResponse' + type: array + included: + description: Included related resources. + items: + $ref: '#/components/schemas/IncidentUserData' + readOnly: true + type: array + required: + - data + type: object + IncidentTimestampOverrideRequest: + description: Request payload for creating a timestamp override. + properties: + data: + $ref: '#/components/schemas/IncidentTimestampOverrideDataRequest' + required: + - data + type: object + IncidentTimestampOverrideResponse: + description: Response with a single timestamp override. + properties: + data: + $ref: '#/components/schemas/IncidentTimestampOverrideDataResponse' + included: + description: Included related resources. + items: + $ref: '#/components/schemas/IncidentUserData' + readOnly: true + type: array + required: + - data + type: object + IncidentTimestampOverridePatchRequest: + description: Request payload for patching a timestamp override. + properties: + data: + $ref: '#/components/schemas/IncidentTimestampOverridePatchDataRequest' + required: + - data + type: object + MaintenanceWindowsResponse: + description: Response containing a list of maintenance windows. + properties: + data: + description: List of maintenance windows. + items: + $ref: '#/components/schemas/MaintenanceWindow' + type: array + required: + - data + type: object + MaintenanceWindowCreateRequest: + description: Request payload for creating a maintenance window. + properties: + data: + $ref: '#/components/schemas/MaintenanceWindowCreate' + required: + - data + type: object + MaintenanceWindowResponse: + description: Response containing a single maintenance window. + properties: + data: + $ref: '#/components/schemas/MaintenanceWindow' + required: + - data + type: object + MaintenanceWindowUpdateRequest: + description: Request payload for updating a maintenance window. + properties: + data: + $ref: '#/components/schemas/MaintenanceWindowUpdate' + required: + - data + type: object + EscalationPolicyCreateRequest: + description: Represents a request to create a new escalation policy, including the policy data. + example: + data: + attributes: + name: Escalation Policy 1 + resolve_page_on_policy_end: true + retries: 2 + steps: + - assignment: default + escalate_after_seconds: 3600 + targets: + - id: 00000000-aba1-0000-0000-000000000000 + type: users + - config: + schedule: + position: previous + id: 00000000-aba2-0000-0000-000000000000 + type: schedules + - id: 00000000-aba3-0000-0000-000000000000 + type: teams + - assignment: round-robin + escalate_after_seconds: 3600 + targets: + - id: 00000000-aba1-0000-0000-000000000000 + type: users + - id: 00000000-abb1-0000-0000-000000000000 + type: users + relationships: + teams: + data: + - id: 00000000-da3a-0000-0000-000000000000 + type: teams + type: policies + properties: + data: + $ref: '#/components/schemas/EscalationPolicyCreateRequestData' + required: + - data + type: object + EscalationPolicy: + description: Represents a complete escalation policy response, including policy data and optionally included related resources. + example: + data: + attributes: + name: Escalation Policy 1 + resolve_page_on_policy_end: true + retries: 2 + id: 00000000-aba1-0000-0000-000000000000 + relationships: + steps: + data: + - id: 00000000-aba1-0000-0000-000000000000 + type: steps + teams: + data: + - id: 00000000-da3a-0000-0000-000000000000 + type: teams + type: policies + included: + - attributes: + avatar: '' + description: Team 1 description + handle: team1 + name: Team 1 + id: 00000000-da3a-0000-0000-000000000000 + type: teams + - attributes: + assignment: default + escalate_after_seconds: 3600 + id: 00000000-aba1-0000-0000-000000000000 + relationships: + targets: + data: + - id: 00000000-aba1-0000-0000-000000000000 + type: users + - id: 00000000-aba2-0000-0000-000000000000 + type: schedules + - id: 00000000-aba2-0000-0000-000000000000_previous + type: schedule_target + - id: 00000000-aba3-0000-0000-000000000000 + type: teams + type: steps + - id: 00000000-aba1-0000-0000-000000000000 + type: users + - id: 00000000-aba2-0000-0000-000000000000 + type: schedules + - attributes: + position: previous + id: 00000000-aba2-0000-0000-000000000000_previous + relationships: + schedule: + data: + id: 00000000-aba2-0000-0000-000000000000 + type: schedules + type: schedule_target + - id: 00000000-aba3-0000-0000-000000000000 + type: teams + properties: + data: + $ref: '#/components/schemas/EscalationPolicyData' + included: + description: Provides any included related resources, such as steps or targets, returned with the policy. + items: + $ref: '#/components/schemas/EscalationPolicyIncluded' + type: array + type: object + EscalationPolicyUpdateRequest: + description: Represents a request to update an existing escalation policy, including the updated policy data. + example: + data: + attributes: + name: Escalation Policy 1 + resolve_page_on_policy_end: false + retries: 2 + steps: + - assignment: default + escalate_after_seconds: 3600 + id: 00000000-aba1-0000-0000-000000000000 + targets: + - id: 00000000-aba1-0000-0000-000000000000 + type: users + - id: 00000000-aba2-0000-0000-000000000000 + type: schedules + id: a3000000-0000-0000-0000-000000000000 + relationships: + teams: + data: + - id: 00000000-da3a-0000-0000-000000000000 + type: teams + type: policies + properties: + data: + $ref: '#/components/schemas/EscalationPolicyUpdateRequestData' + required: + - data + type: object + CreatePageRequest: + description: Full request to trigger an On-Call Page. + example: + data: + attributes: + description: Page details. + tags: + - service:test + target: + identifier: my-team + type: team_handle + title: Page title + urgency: low + type: pages + properties: + data: + $ref: '#/components/schemas/CreatePageRequestData' + type: object + CreatePageResponse: + description: The full response object after creating a new On-Call Page. + example: + data: + id: 15e74b8b-f865-48d0-bcc5-453323ed2c8f + type: pages + properties: + data: + $ref: '#/components/schemas/CreatePageResponseData' + type: object + ScheduleCreateRequest: + description: The top-level request body for schedule creation, wrapping a `data` object. + example: + data: + attributes: + layers: + - effective_date: '2025-02-03T05:00:00Z' + end_date: '2025-12-31T00:00:00Z' + interval: + days: 1 + members: + - user: + id: 00000000-aba1-0000-0000-000000000000 + name: Layer 1 + restrictions: + - end_day: friday + end_time: '17:00:00' + start_day: monday + start_time: '09:00:00' + rotation_start: '2025-02-01T00:00:00Z' + name: On-Call Schedule + time_zone: America/New_York + relationships: + teams: + data: + - id: 00000000-da3a-0000-0000-000000000000 + type: teams + type: schedules + properties: + data: + $ref: '#/components/schemas/ScheduleCreateRequestData' + required: + - data + type: object + Schedule: + description: Top-level container for a schedule object, including both the `data` payload and any related `included` resources (such as teams, layers, or members). + example: + data: + attributes: + name: On-Call Schedule + time_zone: America/New_York + id: 3653d3c6-0c75-11ea-ad28-fb5701eabc7d + relationships: + layers: + data: + - id: 00000000-0000-0000-0000-000000000001 + type: layers + teams: + data: + - id: 00000000-da3a-0000-0000-000000000000 + type: teams + type: schedules + included: + - attributes: + avatar: '' + description: Team 1 description + handle: team1 + name: Team 1 + id: 00000000-da3a-0000-0000-000000000000 + type: teams + - attributes: + effective_date: '2025-02-03T05:00:00Z' + end_date: '2025-12-31T00:00:00Z' + interval: + days: 1 + name: Layer 1 + restrictions: + - end_day: friday + end_time: '17:00:00' + start_day: monday + start_time: '09:00:00' + rotation_start: '2025-02-01T00:00:00Z' + id: 00000000-0000-0000-0000-000000000001 + relationships: + members: + data: + - id: 00000000-0000-0000-0000-000000000002 + type: members + type: layers + - id: 00000000-0000-0000-0000-000000000002 + relationships: + user: + data: + id: 00000000-aba1-0000-0000-000000000000 + type: users + type: members + - attributes: + email: foo@bar.com + name: User 1 + id: 00000000-aba1-0000-0000-000000000000 + type: users + properties: + data: + $ref: '#/components/schemas/ScheduleData' + included: + description: Any additional resources related to this schedule, such as teams and layers. + items: + $ref: '#/components/schemas/ScheduleDataIncludedItem' + type: array + type: object + ScheduleUpdateRequest: + description: A top-level wrapper for a schedule update request, referring to the `data` object with the new details. + example: + data: + attributes: + layers: + - effective_date: '2025-02-03T05:00:00Z' + end_date: '2025-12-31T00:00:00Z' + interval: + seconds: 3600 + members: + - user: + id: 00000000-aba1-0000-0000-000000000000 + name: Layer 1 + restrictions: + - end_day: friday + end_time: '17:00:00' + start_day: monday + start_time: '09:00:00' + rotation_start: '2025-02-01T00:00:00Z' + name: On-Call Schedule Updated + time_zone: America/New_York + id: 3653d3c6-0c75-11ea-ad28-fb5701eabc7d + relationships: + teams: + data: + - id: 00000000-da3a-0000-0000-000000000000 + type: teams + type: schedules + properties: + data: + $ref: '#/components/schemas/ScheduleUpdateRequestData' + required: + - data + type: object + Shift: + description: An on-call shift with its associated data and relationships. + example: + data: + attributes: + end: '2025-05-07T03:53:01.206662873Z' + start: '2025-05-07T02:53:01.206662814Z' + id: 00000000-0000-0000-0000-000000000000 + relationships: + user: + data: + id: 00000000-aba1-0000-0000-000000000000 + type: users + type: shifts + included: + - attributes: + email: foo@bar.com + name: User 1 + status: '' + id: 00000000-aba1-0000-0000-000000000000 + type: users + properties: + data: + $ref: '#/components/schemas/ShiftData' + nullable: true + included: + description: The `Shift` `included`. + items: + $ref: '#/components/schemas/ShiftIncluded' + type: array + type: object + ScheduleOnCallResponders: + description: Root object representing a schedule's on-call responders, grouped by position (previous, current, next), for a given point in time. + example: + data: + attributes: + scheduled_at: '2024-05-07T02:53:01.000000000Z' + id: 3653d3c6-0c75-11ea-ad28-fb5701eabc7d-1715054400 + relationships: + responders: + data: + - id: 3653d3c6-0c75-11ea-ad28-fb5701eabc7d-1715054400-current + type: schedule_oncall_responder + schedule: + data: + id: 3653d3c6-0c75-11ea-ad28-fb5701eabc7d + type: schedules + type: schedule_oncall_responders + included: + - attributes: + position: current + id: 3653d3c6-0c75-11ea-ad28-fb5701eabc7d-1715054400-current + relationships: + shifts: + data: + - id: 00000000-0000-0000-0000-000000000000 + type: shifts + type: schedule_oncall_responder + - attributes: + end: '2024-05-08T02:53:01.000000000Z' + start: '2024-05-07T02:53:01.000000000Z' + id: 00000000-0000-0000-0000-000000000000 + relationships: + user: + data: + id: 00000000-aba1-0000-0000-000000000000 + type: users + type: shifts + - attributes: + email: test@test.com + name: Test User + status: active + id: 00000000-aba1-0000-0000-000000000000 + type: users + properties: + data: + $ref: '#/components/schemas/ScheduleOnCallRespondersData' + included: + description: Related resources referenced in the responder groups' relationships, such as shifts, schedules, and users. + items: + $ref: '#/components/schemas/ScheduleOnCallRespondersIncluded' + type: array + type: object + TeamOnCallResponders: + description: Root object representing a team's on-call responder configuration. + example: + data: + id: 111ee23r-aaaaa-aaaa-aaww-1234wertsd23 + relationships: + escalations: + data: + - id: 111ee23r-aaaaa-aaaa-aaww-1234wertsd23 + type: escalation_policy_steps + responders: + data: + - id: 111ee23r-aaaaa-aaaa-aaww-1234wertsd23 + type: users + type: team_oncall_responders + included: + - attributes: + email: test@test.com + name: Test User + status: active + id: 111ee23r-aaaaa-aaaa-aaww-1234wertsd23 + type: users + - id: 111ee23r-aaaaa-aaaa-aaww-1234wertsd23 + relationships: + responders: + data: + - id: 111ee23r-aaaaa-aaaa-aaww-1234wertsd23 + type: users + type: escalation_policy_steps + properties: + data: + $ref: '#/components/schemas/TeamOnCallRespondersData' + included: + description: The `TeamOnCallResponders` `included`. + items: + $ref: '#/components/schemas/TeamOnCallRespondersIncluded' + type: array + type: object + TeamRoutingRules: + description: Represents a complete set of team routing rules, including data and optionally included related resources. + example: + data: + id: 27590dae-47be-4a7d-9abf-8f4e45124020 + relationships: + rules: + data: + - id: 03aff2d6-6cbf-496c-997f-a857bbe9a94a + type: team_routing_rules + - id: 03aff2d6-6cbf-496c-997f-a857bbe9a94a + type: team_routing_rules + type: team_routing_rules + included: + - attributes: + actions: null + query: tags.service:test + time_restriction: + restrictions: + - end_day: monday + end_time: '17:00:00' + start_day: monday + start_time: '09:00:00' + - end_day: tuesday + end_time: '17:00:00' + start_day: tuesday + start_time: '09:00:00' + time_zone: '' + urgency: high + id: 03aff2d6-6cbf-496c-997f-a857bbe9a94a + relationships: + policy: + data: null + type: team_routing_rules + properties: + data: + $ref: '#/components/schemas/TeamRoutingRulesData' + included: + description: Provides related routing rules or other included resources. + items: + $ref: '#/components/schemas/TeamRoutingRulesIncluded' + type: array + type: object + TeamRoutingRulesRequest: + description: Represents a request to create or update team routing rules, including the data payload. + example: + data: + attributes: + rules: + - actions: null + policy_id: '' + query: tags.service:test + time_restriction: + restrictions: + - end_day: monday + end_time: '17:00:00' + start_day: monday + start_time: '09:00:00' + - end_day: tuesday + end_time: '17:00:00' + start_day: tuesday + start_time: '09:00:00' + time_zone: '' + urgency: high + - actions: + - channel: channel + type: send_slack_message + workspace: workspace + policy_id: fad4eee1-13f5-40d8-886b-4e56d8d5d1c6 + query: '' + time_restriction: null + urgency: low + id: 27590dae-47be-4a7d-9abf-8f4e45124020 + type: team_routing_rules + properties: + data: + $ref: '#/components/schemas/TeamRoutingRulesRequestData' + type: object + ListNotificationChannelsResponse: + description: Response type for listing notification channels for a user + properties: + data: + description: Array of notification channel data objects. + items: + $ref: '#/components/schemas/NotificationChannelData' + type: array + type: object + CreateUserNotificationChannelRequest: + description: A top-level wrapper for creating a notification channel for a user + example: + data: + attributes: + config: + address: foo@bar.com + formats: + - html + type: email + type: notification_channels + properties: + data: + $ref: '#/components/schemas/CreateNotificationChannelData' + required: + - data + type: object + NotificationChannel: + description: A top-level wrapper for a user notification channel + example: + data: + attributes: + config: + address: foo@bar.com + formats: + - html + type: email + id: 27590dae-47be-4a7d-9abf-8f4e45124020 + type: notification_channels + properties: + data: + $ref: '#/components/schemas/NotificationChannelData' + type: object + ListOnCallNotificationRulesResponse: + description: Response type for listing notification rules for a user + properties: + data: + description: Array of notification rule data objects. + items: + $ref: '#/components/schemas/OnCallNotificationRuleData' + type: array + included: + items: + $ref: '#/components/schemas/OnCallNotificationRulesIncluded' + type: array + type: object + CreateOnCallNotificationRuleRequest: + description: A top-level wrapper for creating a notification rule for a user + example: + data: + attributes: + category: high_urgency + channel_settings: + method: sms + type: phone + delay_minutes: 1 + relationships: + channel: + data: + id: 1562fab3-a8c2-49e2-8f3a-28dcda2405e2 + type: notification_channels + type: notification_rules + properties: + data: + $ref: '#/components/schemas/CreateOnCallNotificationRuleRequestData' + required: + - data + type: object + OnCallNotificationRule: + description: A top-level wrapper for a notification rule + example: + data: + attributes: + category: high_urgency + channel_settings: + method: sms + type: phone + delay_minutes: 1 + id: 27590dae-47be-4a7d-9abf-8f4e45124020 + relationships: + channel: + data: + id: 1562fab3-a8c2-49e2-8f3a-28dcda2405e2 + type: notification_channels + type: notification_rules + properties: + data: + $ref: '#/components/schemas/OnCallNotificationRuleData' + included: + items: + $ref: '#/components/schemas/OnCallNotificationRulesIncluded' + type: array + required: + - data + type: object + UpdateOnCallNotificationRuleRequest: + description: A top-level wrapper for updating a notification rule for a user + example: + data: + attributes: + category: high_urgency + channel_settings: + method: sms + type: phone + delay_minutes: 1 + id: 2462ace1-49e2-aab1-xc4f-29cc4ae1105n7 + relationships: + channel: + data: + id: 1562fab3-a8c2-49e2-8f3a-28dcda2405e2 + type: notification_channels + type: notification_rules + properties: + data: + $ref: '#/components/schemas/UpdateOnCallNotificationRuleRequestData' + required: + - data + type: object + ServiceDefinitionsListResponse: + description: Create service definitions response. + properties: + data: + description: Data representing service definitions. + items: + $ref: '#/components/schemas/ServiceDefinitionData' + type: array + type: object + ServiceDefinitionsCreateRequest: + description: Create service definitions request. + properties: + application: + description: Identifier for a group of related services serving a product feature, which the service is a part of. + example: my-app + type: string + ci-pipeline-fingerprints: + description: A set of CI fingerprints. + example: + - j88xdEy0J5lc + - eZ7LMljCk8vo + items: + description: A CI pipeline fingerprint string. + type: string + type: array + contacts: + description: A list of contacts related to the services. + items: + $ref: '#/components/schemas/ServiceDefinitionV2Dot2Contact' + type: array + dd-service: + description: Unique identifier of the service. Must be unique across all services and is used to match with a service in Datadog. + example: my-service + type: string + description: + description: A short description of the service. + example: My service description + type: string + extensions: + additionalProperties: {} + description: Extensions to v2.2 schema. + example: + myorg/extension: extensionValue + type: object + integrations: + $ref: '#/components/schemas/ServiceDefinitionV2Dot2Integrations' + languages: + description: 'The service''s programming language. Datadog recognizes the following languages: `dotnet`, `go`, `java`, `js`, `php`, `python`, `ruby`, and `c++`.' + example: + - dotnet + - go + - java + - js + - php + - python + - ruby + - c++ + items: + description: A programming language identifier. + type: string + type: array + lifecycle: + description: The current life cycle phase of the service. + example: sandbox + type: string + links: + description: A list of links related to the services. + items: + $ref: '#/components/schemas/ServiceDefinitionV2Dot2Link' + type: array + schema-version: + $ref: '#/components/schemas/ServiceDefinitionV2Dot2Version' + tags: + description: A set of custom tags. + example: + - my:tag + - service:tag + items: + description: A custom tag string in `key:value` format. + type: string + type: array + team: + description: Team that owns the service. It is used to locate a team defined in Datadog Teams if it exists. + example: my-team + type: string + tier: + description: Importance of the service. + example: High + type: string + type: + $ref: '#/components/schemas/ServiceDefinitionV2Dot2Type' + dd-team: + description: Experimental feature. A Team handle that matches a Team in the Datadog Teams product. + example: my-team + type: string + docs: + description: A list of documentation related to the services. + items: + $ref: '#/components/schemas/ServiceDefinitionV2Doc' + type: array + repos: + description: A list of code repositories related to the services. + items: + $ref: '#/components/schemas/ServiceDefinitionV2Repo' + type: array + required: + - schema-version + - dd-service + type: object + example: |- + --- + schema-version: v2 + dd-service: my-service + ServiceDefinitionCreateResponse: + description: Create service definitions response. + properties: + data: + description: Create service definitions response payload. + items: + $ref: '#/components/schemas/ServiceDefinitionData' + type: array + type: object + ServiceDefinitionGetResponse: + description: Get service definition response. + properties: + data: + $ref: '#/components/schemas/ServiceDefinitionData' + type: object + SloReportCreateRequest: + description: The SLO report request body. + properties: + data: + $ref: '#/components/schemas/SloReportCreateRequestData' + required: + - data + type: object + SLOReportPostResponse: + description: The SLO report response. + properties: + data: + $ref: '#/components/schemas/SLOReportPostResponseData' + type: object + SLOReportStatusGetResponse: + description: The SLO report status response. + properties: + data: + $ref: '#/components/schemas/SLOReportStatusGetResponseData' + type: object + SloStatusResponse: + description: The SLO status response. + properties: + data: + $ref: '#/components/schemas/SloStatusData' + required: + - data + type: object + StatusPageArray: + description: Response object for a list of status pages. + properties: + data: + description: A list of status page data objects. + items: + $ref: '#/components/schemas/StatusPageData' + type: array + included: + description: The included related resources of a status page. Client must explicitly request these resources by name in the `include` query parameter. + items: + $ref: '#/components/schemas/StatusPageArrayIncluded' + type: array + meta: + $ref: '#/components/schemas/PaginationMeta' + required: + - data + type: object + CreateStatusPageRequest: + description: Request object for creating a status page. + example: + data: + attributes: + company_logo: data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAEAAIKMMMM + components: + - name: API + position: 0 + type: component + - components: + - name: Login + position: 0 + type: component + - name: Settings + position: 1 + type: component + name: Web App + position: 1 + type: group + - name: Webhooks + position: 2 + type: component + domain_prefix: status-page-us1 + email_header_image: data:image/png;base64,pQSLAw0KGgoAAAANSUhEUgAAAQ4AASJKFF + favicon: data:image/png;base64,kWMRNw0KGgoAAAANSUhEUgAAAEAAAABACA + name: Status Page US1 + subscriptions_enabled: true + type: public + visualization_type: bars_and_uptime_percentage + type: status_pages + properties: + data: + $ref: '#/components/schemas/CreateStatusPageRequestData' + type: object + StatusPage: + description: Response object for a single status page. + properties: + data: + $ref: '#/components/schemas/StatusPageData' + included: + description: The included related resources of a status page. Client must explicitly request these resources by name in the `include` query parameter. + items: + $ref: '#/components/schemas/StatusPageArrayIncluded' + type: array + type: object + DegradationArray: + description: Response object for a list of degradations. + properties: + data: + description: A list of degradation data objects. + items: + $ref: '#/components/schemas/DegradationData' + type: array + included: + description: The included related resources of a degradation. Client must explicitly request these resources by name in the `include` query parameter. + items: + $ref: '#/components/schemas/DegradationIncluded' + type: array + meta: + $ref: '#/components/schemas/PaginationMeta' + required: + - data + type: object + MaintenanceArray: + description: Response object for a list of maintenances. + properties: + data: + description: A list of maintenance data objects. + items: + $ref: '#/components/schemas/MaintenanceData' + type: array + included: + description: The included related resources of a maintenance. Client must explicitly request these resources by name in the `include` query parameter. + items: + $ref: '#/components/schemas/DegradationIncluded' + type: array + meta: + $ref: '#/components/schemas/PaginationMeta' + required: + - data + type: object + PatchStatusPageRequest: + description: Request object for updating a status page. + example: + data: + attributes: + company_logo: data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAEAAIKMMMM + domain_prefix: status-page-us1-east + email_header_image: data:image/png;base64,pQSLAw0KGgoAAAANSUhEUgAAAQ4AASJKFF + favicon: data:image/png;base64,kWMRNw0KGgoAAAANSUhEUgAAAEAAAABACA + name: Status Page US1 East + subscriptions_enabled: false + type: internal + visualization_type: bars_only + id: 1234abcd-12ab-34cd-56ef-123456abcdef + type: status_pages + properties: + data: + $ref: '#/components/schemas/PatchStatusPageRequestData' + type: object + StatusPagesComponentArray: + description: Response object for a list of components. + properties: + data: + description: A list of component data objects. + items: + $ref: '#/components/schemas/StatusPagesComponentData' + type: array + included: + description: The included related resources of a component. Client must explicitly request these resources by name in the `include` query parameter. + items: + $ref: '#/components/schemas/StatusPagesComponentArrayIncluded' + type: array + required: + - data + type: object + CreateComponentRequest: + description: Request object for creating a component. + example: + data: + attributes: + name: Metrics Intake + position: 0 + type: component + relationships: + group: + data: null + type: components + properties: + data: + $ref: '#/components/schemas/CreateComponentRequestData' + type: object + StatusPagesComponent: + description: Response object for a single component. + properties: + data: + $ref: '#/components/schemas/StatusPagesComponentData' + included: + description: The included related resources of a component. Client must explicitly request these resources by name in the `include` query parameter. + items: + $ref: '#/components/schemas/StatusPagesComponentArrayIncluded' + type: array + type: object + PatchComponentRequest: + description: Request object for updating a component. + example: + data: + attributes: + name: Metrics Intake Service + position: 4 + id: 1234abcd-12ab-34cd-56ef-123456abcdef + type: components + properties: + data: + $ref: '#/components/schemas/PatchComponentRequestData' + type: object + DegradationTemplateArray: + description: Response object for a list of degradation templates. + properties: + data: + description: A list of degradation template data objects. + items: + $ref: '#/components/schemas/DegradationTemplateData' + type: array + included: + description: The included related resources of a degradation template. Client must explicitly request these resources by name in the `include` query parameter. + items: + $ref: '#/components/schemas/DegradationIncluded' + type: array + required: + - data + type: object + CreateDegradationTemplateRequest: + description: Request object for creating a degradation template. + properties: + data: + $ref: '#/components/schemas/CreateDegradationTemplateRequestData' + type: object + DegradationTemplate: + description: Response object for a single degradation template. + properties: + data: + $ref: '#/components/schemas/DegradationTemplateData' + included: + description: The included related resources of a degradation template. Client must explicitly request these resources by name in the `include` query parameter. + items: + $ref: '#/components/schemas/DegradationIncluded' + type: array + type: object + PatchDegradationTemplateRequest: + description: Request object for updating a degradation template. + properties: + data: + $ref: '#/components/schemas/PatchDegradationTemplateRequestData' + type: object + CreateDegradationRequest: + description: Request object for creating a degradation. + example: + data: + attributes: + components_affected: + - id: 1234abcd-12ab-34cd-56ef-123456abcdef + status: degraded + description: Our API is experiencing elevated latency. We are investigating the issue. + status: investigating + title: Elevated API Latency + type: degradations + properties: + data: + $ref: '#/components/schemas/CreateDegradationRequestData' + meta: + $ref: '#/components/schemas/DegradationRequestMeta' + description: The supported metadata for creating a degradation. + type: object + Degradation: + description: Response object for a single degradation. + properties: + data: + $ref: '#/components/schemas/DegradationData' + included: + description: The included related resources of a degradation. Client must explicitly request these resources by name in the `include` query parameter. + items: + $ref: '#/components/schemas/DegradationIncluded' + type: array + type: object + CreateBackfilledDegradationRequest: + description: Request object for creating a backfilled degradation. + example: + data: + attributes: + title: Past API Outage + updates: + - components_affected: + - id: 1234abcd-12ab-34cd-56ef-123456abcdef + status: degraded + description: We detected elevated error rates in the API. + started_at: '2026-04-27T13:37:31.038001628Z' + status: investigating + - components_affected: + - id: 1234abcd-12ab-34cd-56ef-123456abcdef + status: degraded + description: Root cause identified as a misconfigured deployment. + started_at: '2026-04-27T14:07:31.038001628Z' + status: identified + - components_affected: + - id: 1234abcd-12ab-34cd-56ef-123456abcdef + status: operational + description: The issue has been resolved and API is operating normally. + started_at: '2026-04-27T14:37:31.038001628Z' + status: resolved + type: degradations + properties: + data: + $ref: '#/components/schemas/CreateBackfilledDegradationRequestData' + type: object + PatchDegradationRequest: + description: Request object for updating a degradation. + example: + data: + attributes: + components_affected: + - id: 1234abcd-12ab-34cd-56ef-123456abcdef + status: operational + description: We've deployed a fix and latency has returned to normal. This issue has been resolved. + status: resolved + id: 1234abcd-12ab-34cd-56ef-123456abcdef + type: degradations + properties: + data: + $ref: '#/components/schemas/PatchDegradationRequestData' + meta: + $ref: '#/components/schemas/DegradationRequestMeta' + description: The supported metadata for updating a degradation. + type: object + PatchDegradationUpdateRequest: + description: Request object for editing a degradation update. + example: + data: + attributes: + description: We've identified the source of the latency increase and are deploying a fix. + status: identified + id: 00000000-0000-0000-0000-000000000000 + type: degradation_updates + properties: + data: + $ref: '#/components/schemas/PatchDegradationUpdateRequestData' + type: object + DegradationUpdate: + description: Response object for a degradation update. + properties: + data: + $ref: '#/components/schemas/DegradationUpdateData' + included: + description: Resources related to the degradation update. + items: + $ref: '#/components/schemas/DegradationUpdateIncluded' + type: array + type: object + MaintenanceTemplateArray: + description: Response object for a list of maintenance templates. + properties: + data: + description: A list of maintenance template data objects. + items: + $ref: '#/components/schemas/MaintenanceTemplateData' + type: array + included: + description: The included related resources of a maintenance template. Client must explicitly request these resources by name in the `include` query parameter. + items: + $ref: '#/components/schemas/DegradationIncluded' + type: array + required: + - data + type: object + CreateMaintenanceTemplateRequest: + description: Request object for creating a maintenance template. + properties: + data: + $ref: '#/components/schemas/CreateMaintenanceTemplateRequestData' + type: object + MaintenanceTemplate: + description: Response object for a single maintenance template. + properties: + data: + $ref: '#/components/schemas/MaintenanceTemplateData' + included: + description: The included related resources of a maintenance template. Client must explicitly request these resources by name in the `include` query parameter. + items: + $ref: '#/components/schemas/DegradationIncluded' + type: array + type: object + PatchMaintenanceTemplateRequest: + description: Request object for updating a maintenance template. + properties: + data: + $ref: '#/components/schemas/PatchMaintenanceTemplateRequestData' + type: object + CreateMaintenanceRequest: + description: Request object for creating a maintenance. + example: + data: + attributes: + completed_date: '2026-02-18T19:51:13.332360075Z' + completed_description: We have completed maintenance on the API to improve performance. + components_affected: + - id: 1234abcd-12ab-34cd-56ef-123456abcdef + status: operational + in_progress_description: We are currently performing maintenance on the API to improve performance. + scheduled_description: We will be performing maintenance on the API to improve performance. + start_date: '2026-02-18T19:21:13.332360075Z' + title: API Maintenance + type: maintenances + properties: + data: + $ref: '#/components/schemas/CreateMaintenanceRequestData' + type: object + Maintenance: + description: Response object for a single maintenance. + properties: + data: + $ref: '#/components/schemas/MaintenanceData' + included: + description: The included related resources of a maintenance. Client must explicitly request these resources by name in the `include` query parameter. + items: + $ref: '#/components/schemas/DegradationIncluded' + type: array + type: object + CreateBackfilledMaintenanceRequest: + description: Request object for creating a backfilled maintenance. + example: + data: + attributes: + title: Past Database Maintenance + updates: + - components_affected: + - id: 1234abcd-12ab-34cd-56ef-123456abcdef + status: maintenance + description: Database maintenance is in progress. + started_at: '2026-04-27T13:37:31.038003786Z' + status: in_progress + - components_affected: + - id: 1234abcd-12ab-34cd-56ef-123456abcdef + status: operational + description: Database maintenance has been completed successfully. + started_at: '2026-04-27T14:37:31.038003786Z' + status: completed + type: maintenances + properties: + data: + $ref: '#/components/schemas/CreateBackfilledMaintenanceRequestData' + type: object + PatchMaintenanceRequest: + description: Request object for updating a maintenance. + example: + data: + attributes: + completed_date: '2026-02-18T20:01:13.332360075Z' + in_progress_description: We are currently performing maintenance on the API to improve performance for 40 minutes. + scheduled_description: We will be performing maintenance on the API to improve performance for 40 minutes. + start_date: '2026-02-18T19:21:13.332360075Z' + title: API Maintenance + id: 1234abcd-12ab-34cd-56ef-123456abcdef + type: maintenances + properties: + data: + $ref: '#/components/schemas/PatchMaintenanceRequestData' + type: object + PatchMaintenanceUpdateRequest: + description: Request object for editing a maintenance update. + example: + data: + attributes: + description: We have completed maintenance on the API to improve performance. + id: 00000000-0000-0000-0000-000000000000 + type: maintenance_updates + properties: + data: + $ref: '#/components/schemas/PatchMaintenanceUpdateRequestData' + type: object + MaintenanceUpdate: + description: Response object for a maintenance update. + properties: + data: + $ref: '#/components/schemas/MaintenanceUpdateData' + type: object + Downtime: + description: |- + Downtiming gives you greater control over monitor notifications by + allowing you to globally exclude scopes from alerting. + Downtime settings, which can be scheduled with start and end times, + prevent all alerting related to specified Datadog tags. + properties: + active: + description: If a scheduled downtime currently exists. + example: true + readOnly: true + type: boolean + active_child: + $ref: '#/components/schemas/DowntimeChild' + canceled: + description: If a scheduled downtime is canceled. + example: 1412799983 + format: int64 + nullable: true + readOnly: true + type: integer + creator_id: + description: User ID of the downtime creator. + example: 123456 + format: int32 + maximum: 2147483647 + readOnly: true + type: integer + disabled: + description: If a downtime has been disabled. + example: false + type: boolean + downtime_type: + description: |- + `0` for a downtime applied on `*` or all, + `1` when the downtime is only scoped to hosts, + or `2` when the downtime is scoped to anything but hosts. + example: 2 + format: int32 + maximum: 2147483647 + readOnly: true + type: integer + end: + description: |- + POSIX timestamp to end the downtime. If not provided, + the downtime is in effect indefinitely until you cancel it. + example: 1412793983 + format: int64 + nullable: true + type: integer + id: + description: The downtime ID. + example: 1625 + format: int64 + readOnly: true + type: integer + message: + description: |- + A message to include with notifications for this downtime. + Email notifications can be sent to specific users by using the same `@username` notation as events. + example: Message on the downtime + nullable: true + type: string + monitor_id: + description: |- + A single monitor to which the downtime applies. + If not provided, the downtime applies to all monitors. + example: 123456 + format: int64 + nullable: true + type: integer + monitor_tags: + description: |- + A comma-separated list of monitor tags. For example, tags that are applied directly to monitors, + not tags that are used in monitor queries (which are filtered by the scope parameter), to which the downtime applies. + The resulting downtime applies to monitors that match ALL provided monitor tags. + For example, `service:postgres` **AND** `team:frontend`. + example: + - '*' + items: + description: A monitor tag. + type: string + type: array + mute_first_recovery_notification: + description: If the first recovery notification during a downtime should be muted. + example: false + type: boolean + notify_end_states: + $ref: '#/components/schemas/NotifyEndStates' + notify_end_types: + $ref: '#/components/schemas/NotifyEndTypes' + parent_id: + description: ID of the parent Downtime. + example: 123 + format: int64 + nullable: true + type: integer + recurrence: + $ref: '#/components/schemas/DowntimeRecurrence' + scope: + description: |- + The scope(s) to which the downtime applies and must be in `key:value` format. For example, `host:app2`. + Provide multiple scopes as a comma-separated list like `env:dev,env:prod`. + The resulting downtime applies to sources that matches ALL provided scopes (`env:dev` **AND** `env:prod`). + example: + - env:staging + items: + description: A scope. For example, `"env:staging"`. + type: string + type: array + start: + description: |- + POSIX timestamp to start the downtime. + If not provided, the downtime starts the moment it is created. + example: 1412792983 + format: int64 + type: integer + timezone: + description: The timezone in which to display the downtime's start and end times in Datadog applications. + example: America/New_York + type: string + updater_id: + description: ID of the last user that updated the downtime. + example: 123456 + format: int32 + maximum: 2147483647 + nullable: true + readOnly: true + type: integer + type: object + APIErrorResponseV1: + description: Error response object. + properties: + errors: + description: Array of errors returned by the API. + example: + - Bad Request + items: + description: Error description. + example: Bad Request + type: string + type: array + required: + - errors + type: object + CancelDowntimesByScopeRequest: + description: Cancel downtimes according to scope. + properties: + scope: + description: |- + The scope(s) to which the downtime applies and must be in `key:value` format. For example, `host:app2`. + Provide multiple scopes as a comma-separated list like `env:dev,env:prod`. + The resulting downtime applies to sources that matches ALL provided scopes (`env:dev` **AND** `env:prod`). + example: host:myserver + type: string + required: + - scope + type: object + CanceledDowntimesIds: + description: Object containing array of IDs of canceled downtimes. + properties: + cancelled_ids: + description: ID of downtimes that were canceled. + example: + - 123456789 + - 123456790 + items: + description: Integer representation of one downtime ID. + format: int64 + type: integer + type: array + type: object + EventPriorityV1: + description: The priority of the event. For example, `normal` or `low`. + enum: + - normal + - low + example: normal + nullable: true + type: string + x-enum-varnames: + - NORMAL + - LOW + EventListResponse: + description: An event list response. + properties: + events: + description: An array of events. + items: + $ref: '#/components/schemas/EventV1' + type: array + status: + description: A status. + type: string + type: object + EventCreateRequestV1: + description: Object representing an event. + properties: + aggregation_key: + description: |- + An arbitrary string to use for aggregation. Limited to 100 characters. + If you specify a key, all events using that key are grouped together in the Event Stream. + maxLength: 100 + type: string + alert_type: + $ref: '#/components/schemas/EventAlertType' + date_happened: + description: |- + POSIX timestamp of the event. Must be sent as an integer (that is no quotes). + Limited to events no older than 18 hours + format: int64 + type: integer + device_name: + description: A device name. + type: string + host: + description: |- + Host name to associate with the event. + Any tags associated with the host are also applied to this event. + type: string + priority: + $ref: '#/components/schemas/EventPriorityV1' + related_event_id: + description: ID of the parent event. Must be sent as an integer (that is no quotes). + format: int64 + type: integer + source_type_name: + description: |- + The type of event being posted. Option examples include nagios, hudson, jenkins, my_apps, chef, puppet, git, bitbucket, etc. + A complete list of source attribute values [available here](https://docs.datadoghq.com/integrations/faq/list-of-api-source-attribute-value). + type: string + tags: + description: A list of tags to apply to the event. + example: + - environment:test + items: + description: A tag. + type: string + type: array + text: + description: |- + The body of the event. Limited to 4000 characters. The text supports markdown. + To use markdown in the event text, start the text block with `%%% \n` and end the text block with `\n %%%`. + Use `msg_text` with the Datadog Ruby library. + example: Oh boy! + maxLength: 4000 + type: string + title: + description: The event title. + example: Did you hear the news today? + type: string + required: + - title + - text + type: object + EventCreateResponseV1: + description: Object containing an event response. + properties: + event: + $ref: '#/components/schemas/EventV1' + status: + description: A status. + type: string + type: object + EventResponseV1: + description: Object containing an event response. + properties: + event: + $ref: '#/components/schemas/EventV1' + status: + description: A status. + type: string + type: object + SLOListResponse: + description: A response with one or more service level objective. + properties: + data: + description: An array of service level objective objects. + items: + $ref: '#/components/schemas/ServiceLevelObjective' + type: array + errors: + description: |- + An array of error messages. Each endpoint documents how/whether this field is + used. + items: + description: The error message. + type: string + type: array + metadata: + $ref: '#/components/schemas/SLOListResponseMetadata' + type: object + ServiceLevelObjectiveRequest: + description: |- + A service level objective object includes a service level indicator, thresholds + for one or more timeframes, and metadata (`name`, `description`, `tags`, etc.). + properties: + description: + description: |- + A user-defined description of the service level objective. + + Always included in service level objective responses (but may be `null`). + Optional in create/update requests. + nullable: true + type: string + groups: + description: |- + A list of (up to 100) monitor groups that narrow the scope of a monitor service level objective. + + Included in service level objective responses if it is not empty. Optional in + create/update requests for monitor service level objectives, but may only be + used when then length of the `monitor_ids` field is one. + example: + - env:prod + - role:mysql + items: + description: A group name, for instance `env:prod`. + type: string + type: array + monitor_ids: + description: |- + A list of monitor IDs that defines the scope of a monitor service level + objective. **Required if type is `monitor`**. + items: + description: A monitor ID. + format: int64 + type: integer + type: array + name: + description: The name of the service level objective object. + example: Custom Metric SLO + type: string + query: + $ref: '#/components/schemas/ServiceLevelObjectiveQuery' + sli_specification: + $ref: '#/components/schemas/SLOSliSpec' + tags: + description: |- + A list of tags associated with this service level objective. + Always included in service level objective responses (but may be empty). + Optional in create/update requests. + example: + - env:prod + - app:core + items: + description: A tag to apply to your SLO. + type: string + type: array + target_threshold: + description: |- + The target threshold such that when the service level indicator is above this + threshold over the given timeframe, the objective is being met. + example: 99.9 + format: double + type: number + thresholds: + description: |- + The thresholds (timeframes and associated targets) for this service level + objective object. + example: + - target: 95 + timeframe: 7d + - target: 95 + timeframe: 30d + warning: 97 + items: + $ref: '#/components/schemas/SLOThreshold' + type: array + timeframe: + $ref: '#/components/schemas/SLOTimeframe' + type: + $ref: '#/components/schemas/SLOType' + warning_threshold: + description: |- + The optional warning threshold such that when the service level indicator is + below this value for the given threshold, but above the target threshold, the + objective appears in a "warning" state. This value must be greater than the target + threshold. + example: 99.95 + format: double + type: number + required: + - name + - thresholds + - type + type: object + SLOBulkDelete: + additionalProperties: + description: An array of all SLO timeframes. + items: + $ref: '#/components/schemas/SLOTimeframe' + type: array + description: |- + A map of service level objective object IDs to arrays of timeframes, + which indicate the thresholds to delete for each ID. + example: + id1: + - 7d + - 30d + id2: + - 7d + - 30d + type: object + SLOBulkDeleteResponse: + description: |- + The bulk partial delete service level objective object endpoint + response. + + This endpoint operates on multiple service level objective objects, so + it may be partially successful. In such cases, the "data" and "error" + fields in this response indicate which deletions succeeded and failed. + properties: + data: + $ref: '#/components/schemas/SLOBulkDeleteResponseData' + errors: + description: Array of errors object returned. + items: + $ref: '#/components/schemas/SLOBulkDeleteError' + type: array + type: object + CheckCanDeleteSLOResponse: + description: A service level objective response containing the requested object. + properties: + data: + $ref: '#/components/schemas/CheckCanDeleteSLOResponseData' + errors: + additionalProperties: + description: Description of the service level objective reference. + type: string + description: A mapping of SLO id to it's current usages. + type: object + type: object + SLOCorrectionListResponse: + description: A list of SLO correction objects. + properties: + data: + description: The list of SLO corrections objects. + items: + $ref: '#/components/schemas/SLOCorrection' + type: array + meta: + $ref: '#/components/schemas/ResponseMetaAttributes' + type: object + SLOCorrectionCreateRequest: + description: An object that defines a correction to be applied to one or more SLOs. + properties: + data: + $ref: '#/components/schemas/SLOCorrectionCreateData' + type: object + SLOCorrectionResponse: + description: The response object of an SLO correction. + properties: + data: + $ref: '#/components/schemas/SLOCorrection' + type: object + SLOCorrectionUpdateRequest: + description: An object that defines a correction to be applied to an SLO. + properties: + data: + $ref: '#/components/schemas/SLOCorrectionUpdateData' + type: object + SearchSLOResponse: + description: A search SLO response containing results from the search query. + properties: + data: + $ref: '#/components/schemas/SearchSLOResponseData' + links: + $ref: '#/components/schemas/SearchSLOResponseLinks' + meta: + $ref: '#/components/schemas/SearchSLOResponseMeta' + type: object + SLODeleteResponse: + description: A response list of all service level objective deleted. + properties: + data: + description: An array containing the ID of the deleted service level objective object. + items: + description: ID of a deleted SLO. + type: string + type: array + errors: + additionalProperties: + description: Error preventing the SLO deletion. + type: string + description: An dictionary containing the ID of the SLO as key and a deletion error as value. + type: object + type: object + SLOResponse: + description: A service level objective response containing a single service level objective. + properties: + data: + $ref: '#/components/schemas/SLOResponseData' + errors: + description: |- + An array of error messages. Each endpoint documents how/whether this field is + used. + items: + description: The error message. + type: string + type: array + type: object + ServiceLevelObjective: + description: |- + A service level objective object includes a service level indicator, thresholds + for one or more timeframes, and metadata (`name`, `description`, `tags`, etc.). + properties: + created_at: + description: |- + Creation timestamp (UNIX time in seconds) + + Always included in service level objective responses. + format: int64 + readOnly: true + type: integer + creator: + $ref: '#/components/schemas/CreatorV1' + description: + description: |- + A user-defined description of the service level objective. + + Always included in service level objective responses (but may be `null`). + Optional in create/update requests. + nullable: true + type: string + groups: + description: |- + A list of (up to 100) monitor groups that narrow the scope of a monitor service level objective. + + Included in service level objective responses if it is not empty. Optional in + create/update requests for monitor service level objectives, but may only be + used when then length of the `monitor_ids` field is one. + example: + - env:prod + - role:mysql + items: + description: A group name, for instance `env:prod`. + type: string + type: array + id: + description: |- + A unique identifier for the service level objective object. + + Always included in service level objective responses. + readOnly: true + type: string + modified_at: + description: |- + Modification timestamp (UNIX time in seconds) + + Always included in service level objective responses. + format: int64 + readOnly: true + type: integer + monitor_ids: + description: |- + A list of monitor ids that defines the scope of a monitor service level + objective. **Required if type is `monitor`**. + items: + description: A monitor ID. + format: int64 + type: integer + type: array + monitor_tags: + description: |- + The union of monitor tags for all monitors referenced by the `monitor_ids` + field. + Always included in service level objective responses for monitor-based service level + objectives (but may be empty). Ignored in create/update requests. Does not + affect which monitors are included in the service level objective (that is + determined entirely by the `monitor_ids` field). + items: + description: A monitor tag. + type: string + type: array + name: + description: The name of the service level objective object. + example: Custom Metric SLO + type: string + query: + $ref: '#/components/schemas/ServiceLevelObjectiveQuery' + sli_specification: + $ref: '#/components/schemas/SLOSliSpec' + tags: + description: |- + A list of tags associated with this service level objective. + Always included in service level objective responses (but may be empty). + Optional in create/update requests. + example: + - env:prod + - app:core + items: + description: A tag to apply to your SLO. + type: string + type: array + target_threshold: + description: |- + The target threshold such that when the service level indicator is above this + threshold over the given timeframe, the objective is being met. + example: 99.9 + format: double + type: number + thresholds: + description: |- + The thresholds (timeframes and associated targets) for this service level + objective object. + example: + - target: 95 + timeframe: 7d + - target: 95 + timeframe: 30d + warning: 97 + items: + $ref: '#/components/schemas/SLOThreshold' + type: array + timeframe: + $ref: '#/components/schemas/SLOTimeframe' + type: + $ref: '#/components/schemas/SLOType' + warning_threshold: + description: |- + The optional warning threshold such that when the service level indicator is + below this value for the given threshold, but above the target threshold, the + objective appears in a "warning" state. This value must be greater than the target + threshold. + example: 99.95 + format: double + type: number + required: + - name + - thresholds + - type + type: object + SLOHistoryResponse: + description: A service level objective history response. + properties: + data: + $ref: '#/components/schemas/SLOHistoryResponseData' + errors: + description: A list of errors while querying the history data for the service level objective. + items: + $ref: '#/components/schemas/SLOHistoryResponseError' + nullable: true + type: array + type: object + ListInvestigationsResponseData: + description: Data for an investigation list item. + properties: + attributes: + $ref: '#/components/schemas/ListInvestigationsResponseDataAttributes' + id: + description: The unique identifier of the investigation. + example: a1b2c3d4-5e6f-7a8b-9c0d-1e2f3a4b5c6d + type: string + type: + $ref: '#/components/schemas/InvestigationType' + required: + - id + - type + - attributes + type: object + ListInvestigationsResponseLinks: + description: Pagination links for the list investigations response. + properties: + first: + description: Link to the first page. + example: https://api.datadoghq.com/api/v2/bits-ai/investigations?page[offset]=0&page[limit]=10 + type: string + last: + description: Link to the last page. + nullable: true + type: string + next: + description: Link to the next page. + example: https://api.datadoghq.com/api/v2/bits-ai/investigations?page[offset]=10&page[limit]=10 + type: string + prev: + description: Link to the previous page. + nullable: true + type: string + self: + description: Link to the current page. + example: https://api.datadoghq.com/api/v2/bits-ai/investigations?page[offset]=0&page[limit]=10 + type: string + required: + - first + - next + - self + type: object + ListInvestigationsResponseMeta: + description: Metadata for the list investigations response. + properties: + page: + $ref: '#/components/schemas/ListInvestigationsResponseMetaPage' + required: + - page + type: object + JSONAPIErrorItem: + description: API error response body + properties: + detail: + description: A human-readable explanation specific to this occurrence of the error. + example: Missing required attribute in body + type: string + meta: + additionalProperties: {} + description: Non-standard meta-information about the error + type: object + source: + $ref: '#/components/schemas/JSONAPIErrorItemSource' + status: + description: Status code of the response. + example: '400' + type: string + title: + description: Short human-readable summary of the error. + example: Bad Request + type: string + type: object + TriggerInvestigationRequestData: + description: Data for the trigger investigation request. + properties: + attributes: + $ref: '#/components/schemas/TriggerInvestigationRequestDataAttributes' + type: + $ref: '#/components/schemas/TriggerInvestigationRequestType' + required: + - type + - attributes + type: object + TriggerInvestigationResponseData: + description: Data for the trigger investigation response. + properties: + attributes: + $ref: '#/components/schemas/TriggerInvestigationResponseDataAttributes' + id: + description: Unique identifier for the trigger response. + example: f5e6a7b8-c9d0-1e2f-3a4b-5c6d7e8f9a0b + type: string + type: + $ref: '#/components/schemas/TriggerInvestigationResponseType' + required: + - id + - type + - attributes + type: object + GetInvestigationResponseData: + description: Data for the get investigation response. + properties: + attributes: + $ref: '#/components/schemas/GetInvestigationResponseDataAttributes' + id: + description: The unique identifier of the investigation. + example: a1b2c3d4-5e6f-7a8b-9c0d-1e2f3a4b5c6d + type: string + type: + $ref: '#/components/schemas/InvestigationType' + required: + - id + - type + - attributes + type: object + GetInvestigationResponseLinks: + description: Links related to the investigation. + properties: + self: + description: The URL to the investigation in the Datadog app. + example: https://app.datadoghq.com/bits-ai/investigations/a1b2c3d4-5e6f-7a8b-9c0d-1e2f3a4b5c6d + type: string + required: + - self + type: object + CaseSortableField: + description: Case field that can be sorted on + enum: + - created_at + - priority + - status + example: created_at + type: string + x-enum-varnames: + - CREATED_AT + - PRIORITY + - STATUS + Case: + description: A case + properties: + attributes: + $ref: '#/components/schemas/CaseAttributes' + id: + description: Case's identifier + example: aeadc05e-98a8-11ec-ac2c-da7ad0900001 + type: string + relationships: + $ref: '#/components/schemas/CaseRelationships' + type: + $ref: '#/components/schemas/CaseResourceType' + required: + - id + - type + - attributes + type: object + CasesResponseMeta: + description: Cases response metadata + properties: + page: + $ref: '#/components/schemas/CasesResponseMetaPagination' + type: object + CaseCreate: + description: Case creation data + properties: + attributes: + $ref: '#/components/schemas/CaseCreateAttributes' + relationships: + $ref: '#/components/schemas/CaseCreateRelationships' + type: + $ref: '#/components/schemas/CaseResourceType' + required: + - attributes + - type + type: object + CaseAggregateRequestData: + description: Data object wrapping the aggregation query type and attributes. + properties: + attributes: + $ref: '#/components/schemas/CaseAggregateRequestAttributes' + type: + $ref: '#/components/schemas/CaseAggregateResourceType' + required: + - attributes + - type + type: object + CaseAggregateResponseData: + description: Data object containing the aggregation results, including total count and per-group breakdowns. + properties: + attributes: + $ref: '#/components/schemas/CaseAggregateResponseAttributes' + id: + description: Aggregate response identifier. + example: agg-result-001 + type: string + type: + description: Aggregate resource type. + example: aggregate + type: string + required: + - type + - id + - attributes + type: object + CaseBulkUpdateRequestData: + description: Data object wrapping the bulk update type and attributes. + properties: + attributes: + $ref: '#/components/schemas/CaseBulkUpdateRequestAttributes' + type: + $ref: '#/components/schemas/CaseBulkResourceType' + required: + - attributes + - type + type: object + CaseCountResponseData: + description: Data object containing the count results, including per-field group breakdowns. + properties: + attributes: + $ref: '#/components/schemas/CaseCountResponseAttributes' + id: + description: Count response identifier. + example: count-result-001 + type: string + type: + description: Count resource type. + example: count + type: string + required: + - type + - id + - attributes + type: object + CaseLink: + description: A directional link representing a relationship between two entities. At least one entity must be a case. + properties: + attributes: + $ref: '#/components/schemas/CaseLinkAttributes' + id: + description: The case link identifier. + example: 804cd682-55f6-4541-ab00-b608b282ea7d + type: string + type: + $ref: '#/components/schemas/CaseLinkResourceType' + required: + - id + - type + - attributes + type: object + CaseLinkCreate: + description: Data object for creating a case link. + properties: + attributes: + $ref: '#/components/schemas/CaseLinkAttributes' + type: + $ref: '#/components/schemas/CaseLinkResourceType' + required: + - type + - attributes + type: object + Project: + description: A Project. + properties: + attributes: + $ref: '#/components/schemas/ProjectAttributes' + id: + description: The Project's identifier. + example: aeadc05e-98a8-11ec-ac2c-da7ad0900001 + type: string + relationships: + $ref: '#/components/schemas/ProjectRelationships' + type: + $ref: '#/components/schemas/ProjectResourceType' + required: + - id + - type + - attributes + type: object + ProjectCreate: + description: Project create. + properties: + attributes: + $ref: '#/components/schemas/ProjectCreateAttributes' + type: + $ref: '#/components/schemas/ProjectResourceType' + required: + - attributes + - type + type: object + ProjectFavorite: + description: Represents a case project that the current user has bookmarked for quick access. Favorited projects appear prominently in the Case Management UI. + properties: + id: + description: The UUID of the favorited project. + example: e555e290-ed65-49bd-ae18-8acbfcf18db7 + type: string + type: + $ref: '#/components/schemas/ProjectFavoriteResourceType' + required: + - id + - type + type: object + ProjectUpdate: + description: Project update. + properties: + attributes: + $ref: '#/components/schemas/ProjectUpdateAttributes' + type: + $ref: '#/components/schemas/ProjectResourceType' + required: + - type + type: object + CaseNotificationRule: + description: A notification rule for case management + properties: + attributes: + $ref: '#/components/schemas/CaseNotificationRuleAttributes' + id: + description: The notification rule's identifier + example: aeadc05e-98a8-11ec-ac2c-da7ad0900001 + type: string + type: + $ref: '#/components/schemas/CaseNotificationRuleResourceType' + required: + - id + - type + - attributes + type: object + CaseNotificationRuleCreate: + description: Notification rule create + properties: + attributes: + $ref: '#/components/schemas/CaseNotificationRuleCreateAttributes' + type: + $ref: '#/components/schemas/CaseNotificationRuleResourceType' + required: + - attributes + - type + type: object + CaseNotificationRuleUpdate: + description: Notification rule update + properties: + attributes: + $ref: '#/components/schemas/CaseNotificationRuleAttributes' + type: + $ref: '#/components/schemas/CaseNotificationRuleResourceType' + required: + - type + type: object + AutomationRule: + description: An automation rule that executes an action (such as running a Datadog workflow or assigning an AI agent) when a specified case event occurs within a project. + properties: + attributes: + $ref: '#/components/schemas/AutomationRuleAttributes' + id: + description: Automation rule identifier. + example: e6773723-fe58-49ff-9975-dff00f14e28d + type: string + relationships: + $ref: '#/components/schemas/AutomationRuleRelationships' + type: + $ref: '#/components/schemas/CaseAutomationRuleResourceType' + required: + - id + - type + - attributes + type: object + AutomationRuleCreate: + description: Data object for creating an automation rule. + properties: + attributes: + $ref: '#/components/schemas/AutomationRuleCreateAttributes' + type: + $ref: '#/components/schemas/CaseAutomationRuleResourceType' + required: + - type + - attributes + type: object + AutomationRuleUpdate: + description: Data object for updating an automation rule. + properties: + attributes: + $ref: '#/components/schemas/AutomationRuleCreateAttributes' + type: + $ref: '#/components/schemas/CaseAutomationRuleResourceType' + required: + - type + type: object + CaseTypeResource: + description: A case type that defines a classification category for cases. Each case type can have its own custom attributes, statuses, and automation rules. + properties: + attributes: + $ref: '#/components/schemas/CaseTypeResourceAttributes' + id: + description: Case type's identifier + example: aeadc05e-98a8-11ec-ac2c-da7ad0900001 + type: string + type: + $ref: '#/components/schemas/CaseTypeResourceType' + type: object + CaseTypeCreate: + description: Data object for creating a case type. + properties: + attributes: + $ref: '#/components/schemas/CaseTypeResourceAttributes' + type: + $ref: '#/components/schemas/CaseTypeResourceType' + required: + - attributes + - type + type: object + CustomAttributeConfig: + description: A custom attribute configuration that defines an organization-specific metadata field on cases. Custom attributes are scoped to a case type and can hold text, URLs, numbers, or predefined select options. + properties: + attributes: + $ref: '#/components/schemas/CustomAttributeConfigResourceAttributes' + id: + description: Custom attribute configs identifier + example: aeadc05e-98a8-11ec-ac2c-da7ad0900001 + type: string + type: + $ref: '#/components/schemas/CustomAttributeConfigResourceType' + type: object + CaseTypeUpdate: + description: Data object for updating a case type. + properties: + attributes: + $ref: '#/components/schemas/CaseTypeResourceAttributes' + type: + $ref: '#/components/schemas/CaseTypeResourceType' + required: + - type + type: object + CustomAttributeConfigCreate: + description: Data object for creating a custom attribute configuration. + properties: + attributes: + $ref: '#/components/schemas/CustomAttributeConfigAttributesCreate' + type: + $ref: '#/components/schemas/CustomAttributeConfigResourceType' + required: + - attributes + - type + type: object + CustomAttributeConfigUpdate: + description: Data object for updating a custom attribute configuration. + properties: + attributes: + $ref: '#/components/schemas/CustomAttributeConfigUpdateAttributes' + type: + $ref: '#/components/schemas/CustomAttributeConfigResourceType' + required: + - type + type: object + CaseView: + description: A saved case view that provides a filtered, reusable list of cases matching a specific query. Views act as persistent dashboards for monitoring case subsets. + properties: + attributes: + $ref: '#/components/schemas/CaseViewAttributes' + id: + description: The view's identifier. + example: a1b2c3d4-e5f6-7890-abcd-ef1234567890 + type: string + relationships: + $ref: '#/components/schemas/CaseViewRelationships' + type: + $ref: '#/components/schemas/CaseViewResourceType' + required: + - id + - type + - attributes + type: object + CaseViewCreate: + description: Data object for creating a case view. + properties: + attributes: + $ref: '#/components/schemas/CaseViewCreateAttributes' + type: + $ref: '#/components/schemas/CaseViewResourceType' + required: + - type + - attributes + type: object + CaseViewUpdate: + description: Data object for updating a case view. + properties: + attributes: + $ref: '#/components/schemas/CaseViewUpdateAttributes' + type: + $ref: '#/components/schemas/CaseViewResourceType' + required: + - type + type: object + CaseEmpty: + description: Case empty request data + properties: + type: + $ref: '#/components/schemas/CaseResourceType' + required: + - type + type: object + CaseAssign: + description: Case assign + properties: + attributes: + $ref: '#/components/schemas/CaseAssignAttributes' + type: + $ref: '#/components/schemas/CaseResourceType' + required: + - attributes + - type + type: object + CaseUpdateAttributes: + description: Case update attributes + properties: + attributes: + $ref: '#/components/schemas/CaseUpdateAttributesAttributes' + type: + $ref: '#/components/schemas/CaseResourceType' + required: + - attributes + - type + type: object + CaseComment: + description: Case comment + properties: + attributes: + $ref: '#/components/schemas/CaseCommentAttributes' + type: + $ref: '#/components/schemas/CaseResourceType' + required: + - attributes + - type + type: object + TimelineCellResource: + description: A timeline cell resource representing a single entry in a case's activity timeline. + properties: + attributes: + $ref: '#/components/schemas/TimelineCell' + id: + description: Timeline cell's identifier + example: aeadc05e-98a8-11ec-ac2c-da7ad0900001 + type: string + type: + $ref: '#/components/schemas/TimelineCellResourceType' + required: + - id + - type + - attributes + type: object + CaseUpdateComment: + description: Data object for updating a case comment. + properties: + attributes: + $ref: '#/components/schemas/CaseUpdateCommentAttributes' + type: + $ref: '#/components/schemas/CaseResourceType' + required: + - type + - attributes + type: object + CaseUpdateCustomAttribute: + description: Case update custom attribute + properties: + attributes: + $ref: '#/components/schemas/CustomAttributeValue' + type: + $ref: '#/components/schemas/CaseResourceType' + required: + - attributes + - type + type: object + CaseUpdateDescription: + description: Case update description + properties: + attributes: + $ref: '#/components/schemas/CaseUpdateDescriptionAttributes' + type: + $ref: '#/components/schemas/CaseResourceType' + required: + - attributes + - type + type: object + CaseUpdateDueDate: + description: Data object for updating a case's due date. + properties: + attributes: + $ref: '#/components/schemas/CaseUpdateDueDateAttributes' + type: + $ref: '#/components/schemas/CaseResourceType' + required: + - attributes + - type + type: object + CaseInsightsData: + description: Data object containing the insights to add or remove. + properties: + attributes: + $ref: '#/components/schemas/CaseInsightsAttributes' + type: + $ref: '#/components/schemas/CaseResourceType' + required: + - type + - attributes + type: object + CaseUpdatePriority: + description: Case priority status + properties: + attributes: + $ref: '#/components/schemas/CaseUpdatePriorityAttributes' + type: + $ref: '#/components/schemas/CaseResourceType' + required: + - attributes + - type + type: object + IncidentRelationshipData: + description: Incident relationship data + properties: + id: + description: Incident identifier + example: 00000000-0000-0000-0000-000000000000 + type: string + type: + $ref: '#/components/schemas/IncidentResourceType' + required: + - type + - id + type: object + JiraIssueLinkData: + description: Jira issue link data + properties: + attributes: + $ref: '#/components/schemas/JiraIssueLinkAttributes' + type: + $ref: '#/components/schemas/JiraIssueResourceType' + required: + - type + - attributes + type: object + JiraIssueCreateData: + description: Jira issue creation data + properties: + attributes: + $ref: '#/components/schemas/JiraIssueCreateAttributes' + type: + $ref: '#/components/schemas/JiraIssueResourceType' + required: + - type + - attributes + type: object + NotebookCreateData: + description: Notebook creation data + properties: + type: + $ref: '#/components/schemas/NotebookResourceType' + required: + - type + type: object + ProjectRelationshipData: + description: Relationship to project object. + properties: + id: + description: A unique identifier that represents the project. + example: e555e290-ed65-49bd-ae18-8acbfcf18db7 + type: string + type: + $ref: '#/components/schemas/ProjectResourceType' + required: + - id + - type + type: object + ServiceNowTicketCreateData: + description: ServiceNow ticket creation data + properties: + attributes: + $ref: '#/components/schemas/ServiceNowTicketCreateAttributes' + type: + $ref: '#/components/schemas/ServiceNowTicketResourceType' + required: + - type + - attributes + type: object + CaseUpdateResolvedReason: + description: Data object for updating a case's resolved reason. + properties: + attributes: + $ref: '#/components/schemas/CaseUpdateResolvedReasonAttributes' + type: + $ref: '#/components/schemas/CaseResourceType' + required: + - attributes + - type + type: object + CaseUpdateStatus: + description: Case update status + properties: + attributes: + $ref: '#/components/schemas/CaseUpdateStatusAttributes' + type: + $ref: '#/components/schemas/CaseResourceType' + required: + - attributes + - type + type: object + CaseUpdateTitle: + description: Case update title + properties: + attributes: + $ref: '#/components/schemas/CaseUpdateTitleAttributes' + type: + $ref: '#/components/schemas/CaseResourceType' + required: + - attributes + - type + type: object + CaseWatcher: + description: Represents a user who is subscribed to notifications for a case. Watchers receive updates when the case's status, priority, assignee, or comments change. + properties: + id: + description: The primary identifier of the case watcher. + example: 8146583c-0b5f-11ec-abf8-da7ad0900001 + type: string + relationships: + $ref: '#/components/schemas/CaseWatcherRelationships' + type: + $ref: '#/components/schemas/CaseWatcherResourceType' + required: + - id + - type + - relationships + type: object + ChangeRequestCreateData: + description: Data object to create a change request. + properties: + attributes: + $ref: '#/components/schemas/ChangeRequestCreateAttributes' + type: + $ref: '#/components/schemas/ChangeRequestResourceType' + required: + - type + - attributes + type: object + ChangeRequestResponseData: + description: Data object for a change request response. + properties: + attributes: + $ref: '#/components/schemas/ChangeRequestResponseAttributes' + id: + description: The identifier of the change request. + example: CHM-1234 + type: string + relationships: + $ref: '#/components/schemas/ChangeRequestRelationships' + type: + $ref: '#/components/schemas/ChangeRequestResourceType' + required: + - id + - type + - attributes + type: object + ChangeRequestIncluded: + description: Included resources related to the change request. + items: + $ref: '#/components/schemas/ChangeRequestIncludedItem' + type: array + ChangeRequestUpdateData: + description: Data object to update a change request. + properties: + attributes: + $ref: '#/components/schemas/ChangeRequestUpdateAttributes' + relationships: + $ref: '#/components/schemas/ChangeRequestUpdateRelationships' + type: + $ref: '#/components/schemas/ChangeRequestResourceType' + required: + - type + type: object + ChangeRequestUpdateIncluded: + description: Included resources for the change request update. + items: + $ref: '#/components/schemas/ChangeRequestDecisionCreateItem' + type: array + ChangeRequestBranchCreateData: + description: Data object to create a change request branch. + properties: + attributes: + $ref: '#/components/schemas/ChangeRequestBranchCreateAttributes' + type: + $ref: '#/components/schemas/ChangeRequestBranchResourceType' + required: + - type + - attributes + type: object + ChangeRequestDecisionUpdateData: + description: Data object to update a change request decision. + properties: + attributes: + $ref: '#/components/schemas/ChangeRequestDecisionUpdateDataAttributes' + relationships: + $ref: '#/components/schemas/ChangeRequestDecisionUpdateDataRelationships' + type: + $ref: '#/components/schemas/ChangeRequestResourceType' + required: + - type + type: object + DowntimeResponseData: + description: Downtime data. + properties: + attributes: + $ref: '#/components/schemas/DowntimeResponseAttributes' + id: + description: The downtime ID. + example: 00000000-0000-1234-0000-000000000000 + type: string + relationships: + $ref: '#/components/schemas/DowntimeRelationships' + type: + $ref: '#/components/schemas/DowntimeResourceType' + type: object + DowntimeResponseIncludedItem: + description: An object related to a downtime. + properties: + attributes: + $ref: '#/components/schemas/UserAttributes' + id: + description: ID of the user. + type: string + relationships: + $ref: '#/components/schemas/UserResponseRelationships' + type: + $ref: '#/components/schemas/UsersType' + type: object + DowntimeMeta: + description: Pagination metadata returned by the API. + properties: + page: + $ref: '#/components/schemas/DowntimeMetaPage' + type: object + DowntimeCreateRequestData: + description: Object to create a downtime. + properties: + attributes: + $ref: '#/components/schemas/DowntimeCreateRequestAttributes' + type: + $ref: '#/components/schemas/DowntimeResourceType' + required: + - type + - attributes + type: object + DowntimeUpdateRequestData: + description: Object to update a downtime. + properties: + attributes: + $ref: '#/components/schemas/DowntimeUpdateRequestAttributes' + id: + description: ID of this downtime. + example: 00000000-0000-1234-0000-000000000000 + type: string + type: + $ref: '#/components/schemas/DowntimeResourceType' + required: + - id + - type + - attributes + type: object + SearchIssuesIncludeQueryParameterItem: + description: Relationship object that should be included in the search response. + enum: + - issue + - issue.assignee + - issue.case + - issue.team_owners + example: issue.case + type: string + x-enum-varnames: + - ISSUE + - ISSUE_ASSIGNEE + - ISSUE_CASE + - ISSUE_TEAM_OWNERS + IssuesSearchRequestData: + description: Search issues request. + properties: + attributes: + $ref: '#/components/schemas/IssuesSearchRequestDataAttributes' + type: + $ref: '#/components/schemas/IssuesSearchRequestDataType' + required: + - type + - attributes + type: object + IssuesSearchResult: + description: Result matching the search query. + properties: + attributes: + $ref: '#/components/schemas/IssuesSearchResultAttributes' + id: + description: Search result identifier (matches the nested issue's identifier). + example: c1726a66-1f64-11ee-b338-da7ad0900002 + type: string + relationships: + $ref: '#/components/schemas/IssuesSearchResultRelationships' + type: + $ref: '#/components/schemas/IssuesSearchResultType' + required: + - id + - type + - attributes + type: object + IssuesSearchResultIncluded: + description: An array of related resources, returned when the `include` query parameter is used. + properties: + attributes: + $ref: '#/components/schemas/IssueAttributes' + id: + description: Issue identifier. + example: c1726a66-1f64-11ee-b338-da7ad0900002 + type: string + relationships: + $ref: '#/components/schemas/IssueRelationships' + type: + $ref: '#/components/schemas/IssueType' + required: + - id + - type + - attributes + type: object + GetIssueIncludeQueryParameterItem: + description: Relationship object that should be included in the response. + enum: + - assignee + - case + - team_owners + example: case + type: string + x-enum-varnames: + - ASSIGNEE + - CASE + - TEAM_OWNERS + Issue: + description: The issue matching the request. + properties: + attributes: + $ref: '#/components/schemas/IssueAttributes' + id: + description: Issue identifier. + example: c1726a66-1f64-11ee-b338-da7ad0900002 + type: string + relationships: + $ref: '#/components/schemas/IssueRelationships' + type: + $ref: '#/components/schemas/IssueType' + required: + - id + - type + - attributes + type: object + IssueIncluded: + description: An array of related resources, returned when the `include` query parameter is used. + properties: + attributes: + $ref: '#/components/schemas/IssueCaseAttributes' + id: + description: Case identifier. + example: 2841440d-e780-4fe2-96cd-6a8c1d194da5 + type: string + relationships: + $ref: '#/components/schemas/IssueCaseRelationships' + type: + $ref: '#/components/schemas/IssueCaseResourceType' + required: + - id + - type + - attributes + type: object + IssueUpdateAssigneeRequestData: + description: Update issue assignee request. + properties: + id: + description: User identifier. + example: 87cb11a0-278c-440a-99fe-701223c80296 + type: string + type: + $ref: '#/components/schemas/IssueUpdateAssigneeRequestDataType' + required: + - id + - type + type: object + IssueUpdateStateRequestData: + description: Update issue state request. + properties: + attributes: + $ref: '#/components/schemas/IssueUpdateStateRequestDataAttributes' + id: + description: Issue identifier. + example: c1726a66-1f64-11ee-b338-da7ad0900002 + type: string + type: + $ref: '#/components/schemas/IssueUpdateStateRequestDataType' + required: + - id + - type + - attributes + type: object + EventResponse: + description: The object description of an event after being processed and stored by Datadog. + properties: + attributes: + $ref: '#/components/schemas/EventResponseAttributes' + id: + description: the unique ID of the event. + example: AAAAAWgN8Xwgr1vKDQAAAABBV2dOOFh3ZzZobm1mWXJFYTR0OA + type: string + type: + $ref: '#/components/schemas/EventType' + type: object + EventsListResponseLinks: + description: Links attributes. + properties: + next: + description: |- + Link for the next set of results. Note that the request can also be made using the + POST endpoint. + example: https://app.datadoghq.com/api/v2/events?filter[query]=foo&page[cursor]=eyJzdGFydEF0IjoiQVFBQUFYS2tMS3pPbm40NGV3QUFBQUJCV0V0clRFdDZVbG8zY3pCRmNsbHJiVmxDWlEifQ== + type: string + type: object + EventsResponseMetadata: + description: The metadata associated with a request. + properties: + elapsed: + description: The time elapsed in milliseconds. + example: 132 + format: int64 + type: integer + page: + $ref: '#/components/schemas/EventsResponseMetadataPage' + request_id: + description: The identifier of the request. + example: MWlFUjVaWGZTTTZPYzM0VXp1OXU2d3xLSVpEMjZKQ0VKUTI0dEYtM3RSOFVR + type: string + status: + description: The request status. + example: done + type: string + warnings: + description: |- + A list of warnings (non-fatal errors) encountered. Partial results might be returned if + warnings are present in the response. + items: + $ref: '#/components/schemas/EventsWarning' + type: array + type: object + EventCreateRequest: + description: An event object. + properties: + attributes: + $ref: '#/components/schemas/EventPayload' + type: + $ref: '#/components/schemas/EventCreateRequestType' + required: + - type + - attributes + type: object + EventCreateResponse: + description: Event object. + properties: + attributes: + $ref: '#/components/schemas/EventCreateResponseAttributes' + type: + description: Entity type. + example: event + type: string + type: object + EventCreateResponsePayloadLinks: + description: Links to the event. + properties: + self: + description: The URL of the event. This link is only functional when using the default subdomain. + type: string + type: object + EventsQueryFilter: + description: The search and filter query settings. + properties: + from: + default: now-15m + description: The minimum time for the requested events. Supports date math and regular timestamps in milliseconds. + example: now-15m + type: string + query: + default: '*' + description: The search query following the event search syntax. + example: service:web* AND @http.status_code:[200 TO 299] + type: string + to: + default: now + description: The maximum time for the requested events. Supports date math and regular timestamps in milliseconds. + example: now + type: string + type: object + EventsQueryOptions: + description: |- + The global query options that are used. Either provide a timezone or a time offset but not both, + otherwise the query fails. + properties: + timeOffset: + description: The time offset to apply to the query in seconds. + format: int64 + type: integer + timezone: + default: UTC + description: The timezone can be specified as GMT, UTC, an offset from UTC (like UTC+1), or as a Timezone Database identifier (like America/New_York). + example: GMT + type: string + type: object + EventsRequestPage: + description: Pagination settings. + properties: + cursor: + description: The returned paging point to use to get the next results. + example: eyJzdGFydEF0IjoiQVFBQUFYS2tMS3pPbm40NGV3QUFBQUJCV0V0clRFdDZVbG8zY3pCRmNsbHJiVmxDWlEifQ== + type: string + limit: + default: 10 + description: The maximum number of logs in the response. + example: 25 + format: int32 + maximum: 1000 + type: integer + type: object + V2Event: + description: An event object. + properties: + attributes: + $ref: '#/components/schemas/V2EventAttributes' + id: + description: The event's ID. + example: '' + type: string + type: + description: Entity type. + example: event + type: string + type: object + FormDataList: + description: A list of form resource objects. + items: + $ref: '#/components/schemas/FormData' + type: array + CreateFormData: + description: The data for creating a form. + properties: + attributes: + $ref: '#/components/schemas/CreateFormDataAttributes' + type: + $ref: '#/components/schemas/FormType' + required: + - attributes + - type + type: object + FormData: + description: A form resource object. + properties: + attributes: + $ref: '#/components/schemas/FormDataAttributes' + id: + description: The ID of the form. + example: 22f6006a-2302-4926-9396-d2dfcf7b0b34 + format: uuid + type: string + type: + $ref: '#/components/schemas/FormType' + required: + - id + - type + - attributes + type: object + DeleteFormData: + description: The data returned when a form is deleted. + properties: + id: + description: The ID of the deleted form. + example: 844dfd88-aa84-4db4-8979-e7bdbb9c1dc3 + format: uuid + type: string + type: + $ref: '#/components/schemas/FormType' + required: + - id + - type + type: object + UpdateFormData: + description: The data for updating a form. + properties: + attributes: + $ref: '#/components/schemas/UpdateFormDataAttributes' + id: + description: The ID of the form. + example: 22f6006a-2302-4926-9396-d2dfcf7b0b34 + format: uuid + type: string + type: + $ref: '#/components/schemas/FormType' + required: + - type + - attributes + type: object + CloneFormData: + description: The data for cloning a form. + properties: + attributes: + $ref: '#/components/schemas/CloneFormDataAttributes' + type: + $ref: '#/components/schemas/FormType' + required: + - type + type: object + PublishFormData: + description: The data for publishing a form version. + properties: + attributes: + $ref: '#/components/schemas/PublishFormDataAttributes' + type: + $ref: '#/components/schemas/FormPublicationType' + required: + - type + - attributes + type: object + FormPublicationData: + description: A form publication resource object. + properties: + attributes: + $ref: '#/components/schemas/FormPublicationAttributes' + id: + description: The ID of the form publication. + example: '42' + type: string + type: + $ref: '#/components/schemas/FormPublicationType' + required: + - id + - type + - attributes + type: object + UpsertFormVersionData: + description: The data for creating or updating a form version. + properties: + attributes: + $ref: '#/components/schemas/UpsertFormVersionDataAttributes' + type: + $ref: '#/components/schemas/FormVersionType' + required: + - type + - attributes + type: object + FormDataDefinitionType: + default: object + description: The root schema type. + enum: + - object + type: string + x-enum-varnames: + - OBJECT + FormVersionData: + description: A form version resource object. + properties: + attributes: + $ref: '#/components/schemas/FormVersionAttributes' + id: + description: The ID of the form version. + example: '126' + type: string + type: + $ref: '#/components/schemas/FormVersionType' + required: + - id + - type + - attributes + type: object + UpsertAndPublishFormVersionData: + description: The data for upserting and publishing a form version. + properties: + attributes: + $ref: '#/components/schemas/UpsertAndPublishFormVersionDataAttributes' + type: + $ref: '#/components/schemas/FormVersionType' + required: + - type + - attributes + type: object + IncidentRelatedObject: + description: Object related to an incident. + enum: + - users + - attachments + type: string + x-enum-varnames: + - USERS + - ATTACHMENTS + IncidentResponseData: + description: Incident data from a response. + properties: + attributes: + $ref: '#/components/schemas/IncidentResponseAttributes' + id: + description: The incident's ID. + example: 00000000-0000-0000-1234-000000000000 + type: string + relationships: + $ref: '#/components/schemas/IncidentResponseRelationships' + type: + $ref: '#/components/schemas/IncidentType' + required: + - id + - type + type: object + IncidentResponseIncludedItem: + description: An object related to an incident that is included in the response. + properties: + attributes: + $ref: '#/components/schemas/IncidentUserAttributes' + id: + description: ID of the user. + type: string + type: + $ref: '#/components/schemas/UsersType' + relationships: + $ref: '#/components/schemas/AttachmentDataRelationships' + type: object + required: + - type + - attributes + - relationships + - id + IncidentResponseMeta: + description: The metadata object containing pagination metadata. + properties: + pagination: + $ref: '#/components/schemas/IncidentResponseMetaPagination' + readOnly: true + type: object + IncidentCreateData: + description: Incident data for a create request. + properties: + attributes: + $ref: '#/components/schemas/IncidentCreateAttributes' + relationships: + $ref: '#/components/schemas/IncidentCreateRelationships' + type: + $ref: '#/components/schemas/IncidentType' + required: + - type + - attributes + type: object + IncidentHandlesResponseData: + description: Array of incident handle data objects returned in a list response. + items: + $ref: '#/components/schemas/IncidentHandleDataResponse' + type: array + IncidentHandleIncludedResponse: + description: Included related resources + items: + $ref: '#/components/schemas/IncidentHandleIncludedItemResponse' + type: array + IncidentHandleDataRequest: + description: Data object representing an incident handle in a create or update request. + properties: + attributes: + $ref: '#/components/schemas/IncidentHandleAttributesRequest' + id: + description: The ID of the incident handle (required for PUT requests) + example: b2494081-cdf0-4205-b366-4e1dd4fdf0bf + type: string + relationships: + $ref: '#/components/schemas/IncidentHandleRelationshipsRequest' + type: + $ref: '#/components/schemas/IncidentHandleType' + required: + - type + - attributes + type: object + IncidentHandleDataResponse: + description: Data object representing an incident handle in a response. + properties: + attributes: + $ref: '#/components/schemas/IncidentHandleAttributesResponse' + id: + description: The ID of the incident handle + example: 12ceee6d-a7c0-4407-bc54-30e54140d7f0 + type: string + relationships: + $ref: '#/components/schemas/IncidentHandleRelationships' + type: + $ref: '#/components/schemas/IncidentHandleType' + required: + - id + - type + - attributes + type: object + GlobalIncidentSettingsDataResponse: + description: Data object in the global incident settings response. + properties: + attributes: + $ref: '#/components/schemas/GlobalIncidentSettingsAttributesResponse' + id: + description: The unique identifier for the global incident settings + example: f8b9a915-ed85-48b4-9071-ceba567a3db5 + type: string + type: + $ref: '#/components/schemas/GlobalIncidentSettingsType' + required: + - id + - type + - attributes + type: object + GlobalIncidentSettingsDataRequest: + description: Data object in the global incident settings request. + properties: + attributes: + $ref: '#/components/schemas/GlobalIncidentSettingsAttributesRequest' + type: + $ref: '#/components/schemas/GlobalIncidentSettingsType' + required: + - type + type: object + IncidentGoogleChatConfigurationDataRequest: + description: Google Chat configuration data in a create request. + properties: + attributes: + $ref: '#/components/schemas/IncidentGoogleChatConfigurationDataAttributesRequest' + relationships: + $ref: '#/components/schemas/IncidentGoogleChatConfigurationRelationshipsRequest' + type: + $ref: '#/components/schemas/IncidentGoogleChatConfigurationType' + required: + - type + - attributes + - relationships + type: object + IncidentGoogleChatConfigurationDataResponse: + description: Google Chat configuration data in a response. + properties: + attributes: + $ref: '#/components/schemas/IncidentGoogleChatConfigurationDataAttributesResponse' + id: + description: The configuration identifier. + example: 00000000-0000-0000-0000-000000000000 + format: uuid + type: string + relationships: + $ref: '#/components/schemas/IncidentGoogleChatConfigurationRelationships' + type: + $ref: '#/components/schemas/IncidentGoogleChatConfigurationType' + required: + - id + - type + - attributes + type: object + IncidentUserData: + description: User object returned by the API. + properties: + attributes: + $ref: '#/components/schemas/IncidentUserAttributes' + id: + description: ID of the user. + type: string + type: + $ref: '#/components/schemas/UsersType' + type: object + IncidentGoogleChatConfigurationPatchDataRequest: + description: Google Chat configuration data in a patch request. + properties: + attributes: + $ref: '#/components/schemas/IncidentGoogleChatConfigurationPatchDataAttributesRequest' + id: + description: The configuration identifier. + example: 00000000-0000-0000-0000-000000000000 + format: uuid + type: string + type: + $ref: '#/components/schemas/IncidentGoogleChatConfigurationType' + required: + - id + - type + type: object + IncidentGoogleMeetConfigurationDataRequest: + description: Google Meet configuration data in a create request. + properties: + attributes: + $ref: '#/components/schemas/IncidentGoogleMeetConfigurationDataAttributesRequest' + relationships: + $ref: '#/components/schemas/IncidentGoogleMeetConfigurationRelationshipsRequest' + type: + $ref: '#/components/schemas/IncidentGoogleMeetConfigurationType' + required: + - type + - attributes + - relationships + type: object + IncidentGoogleMeetConfigurationDataResponse: + description: Google Meet configuration data in a response. + properties: + attributes: + $ref: '#/components/schemas/IncidentGoogleMeetConfigurationDataAttributesResponse' + id: + description: The configuration identifier. + example: 00000000-0000-0000-0000-000000000000 + format: uuid + type: string + relationships: + $ref: '#/components/schemas/IncidentGoogleMeetConfigurationRelationships' + type: + $ref: '#/components/schemas/IncidentGoogleMeetConfigurationType' + required: + - id + - type + - attributes + type: object + IncidentGoogleMeetConfigurationPatchDataRequest: + description: Google Meet configuration data in a patch request. + properties: + attributes: + $ref: '#/components/schemas/IncidentGoogleMeetConfigurationPatchDataAttributesRequest' + id: + description: The configuration identifier. + example: 00000000-0000-0000-0000-000000000000 + format: uuid + type: string + type: + $ref: '#/components/schemas/IncidentGoogleMeetConfigurationType' + required: + - id + - type + type: object + IncidentImpactFieldDataResponse: + description: Impact field data in a response. + properties: + attributes: + $ref: '#/components/schemas/IncidentImpactFieldDataAttributesResponse' + id: + description: The impact field identifier. + example: 00000000-0000-0000-0000-000000000000 + format: uuid + type: string + relationships: + $ref: '#/components/schemas/IncidentImpactFieldRelationships' + type: + $ref: '#/components/schemas/IncidentImpactFieldType' + required: + - id + - type + - attributes + type: object + IncidentImpactFieldDataRequest: + description: Impact field data in a create request. + properties: + attributes: + $ref: '#/components/schemas/IncidentImpactFieldDataAttributesRequest' + relationships: + $ref: '#/components/schemas/IncidentImpactFieldRelationshipsRequest' + type: + $ref: '#/components/schemas/IncidentImpactFieldType' + required: + - type + - attributes + - relationships + type: object + IncidentNotificationRuleResponseData: + description: Notification rule data from a response. + properties: + attributes: + $ref: '#/components/schemas/IncidentNotificationRuleAttributes' + id: + description: The unique identifier of the notification rule. + example: 00000000-0000-0000-0000-000000000001 + format: uuid + type: string + relationships: + $ref: '#/components/schemas/IncidentNotificationRuleRelationships' + type: + $ref: '#/components/schemas/IncidentNotificationRuleType' + required: + - id + - type + type: object + IncidentNotificationRuleIncludedItems: + description: Objects related to a notification rule. + properties: + attributes: + $ref: '#/components/schemas/UserAttributes' + id: + description: ID of the user. + type: string + relationships: + $ref: '#/components/schemas/UserResponseRelationships' + type: + $ref: '#/components/schemas/UsersType' + type: object + required: + - id + - type + IncidentNotificationRuleArrayMeta: + description: Response metadata. + properties: + pagination: + $ref: '#/components/schemas/IncidentNotificationRuleArrayMetaPage' + type: object + IncidentNotificationRuleCreateData: + description: Notification rule data for a create request. + properties: + attributes: + $ref: '#/components/schemas/IncidentNotificationRuleCreateAttributes' + relationships: + $ref: '#/components/schemas/IncidentNotificationRuleCreateDataRelationships' + type: + $ref: '#/components/schemas/IncidentNotificationRuleType' + required: + - type + - attributes + type: object + IncidentNotificationRuleUpdateData: + description: Notification rule data for an update request. + properties: + attributes: + $ref: '#/components/schemas/IncidentNotificationRuleCreateAttributes' + id: + description: The unique identifier of the notification rule. + example: 00000000-0000-0000-0000-000000000001 + format: uuid + type: string + relationships: + $ref: '#/components/schemas/IncidentNotificationRuleCreateDataRelationships' + type: + $ref: '#/components/schemas/IncidentNotificationRuleType' + required: + - id + - type + - attributes + type: object + IncidentNotificationTemplateResponseData: + description: Notification template data from a response. + properties: + attributes: + $ref: '#/components/schemas/IncidentNotificationTemplateAttributes' + id: + description: The unique identifier of the notification template. + example: 00000000-0000-0000-0000-000000000001 + format: uuid + type: string + relationships: + $ref: '#/components/schemas/IncidentNotificationTemplateRelationships' + type: + $ref: '#/components/schemas/IncidentNotificationTemplateType' + required: + - id + - type + type: object + IncidentNotificationTemplateIncludedItems: + description: Objects related to a notification template. + properties: + attributes: + $ref: '#/components/schemas/UserAttributes' + id: + description: ID of the user. + type: string + relationships: + $ref: '#/components/schemas/UserResponseRelationships' + type: + $ref: '#/components/schemas/UsersType' + type: object + required: + - id + - type + IncidentNotificationTemplateArrayMeta: + description: Response metadata. + properties: + page: + $ref: '#/components/schemas/IncidentNotificationTemplateArrayMetaPage' + type: object + IncidentNotificationTemplateCreateData: + description: Notification template data for a create request. + properties: + attributes: + $ref: '#/components/schemas/IncidentNotificationTemplateCreateAttributes' + relationships: + $ref: '#/components/schemas/IncidentNotificationTemplateCreateDataRelationships' + type: + $ref: '#/components/schemas/IncidentNotificationTemplateType' + required: + - type + - attributes + type: object + IncidentNotificationTemplateUpdateData: + description: Notification template data for an update request. + properties: + attributes: + $ref: '#/components/schemas/IncidentNotificationTemplateUpdateAttributes' + id: + description: The unique identifier of the notification template. + example: 00000000-0000-0000-0000-000000000001 + format: uuid + type: string + type: + $ref: '#/components/schemas/IncidentNotificationTemplateType' + required: + - id + - type + type: object + PostmortemTemplateDataResponse: + description: Data object for a postmortem template returned in a response. + properties: + attributes: + $ref: '#/components/schemas/PostmortemTemplateAttributesResponse' + id: + description: The ID of the template. + example: 00000000-0000-0000-0000-000000000000 + type: string + relationships: + $ref: '#/components/schemas/PostmortemTemplateResponseRelationships' + type: + $ref: '#/components/schemas/PostmortemTemplateType' + required: + - id + - type + - attributes + type: object + PostmortemTemplateDataRequest: + description: Data object for creating or updating a postmortem template. + properties: + attributes: + $ref: '#/components/schemas/PostmortemTemplateAttributesRequest' + id: + description: The ID of the template. Required when updating. + example: 00000000-0000-0000-0000-000000000000 + type: string + relationships: + $ref: '#/components/schemas/PostmortemTemplateCreateRelationships' + type: + $ref: '#/components/schemas/PostmortemTemplateType' + required: + - type + - attributes + type: object + IncidentRuleDataResponse: + description: Incident rule data in a response. + properties: + attributes: + $ref: '#/components/schemas/IncidentRuleDataAttributesResponse' + id: + description: The rule identifier. + example: 00000000-0000-0000-0000-000000000000 + format: uuid + type: string + type: + $ref: '#/components/schemas/IncidentRuleResponseType' + required: + - id + - type + - attributes + type: object + IncidentRuleDataRequest: + description: Incident rule data in a create request. + properties: + attributes: + $ref: '#/components/schemas/IncidentRuleDataAttributesRequest' + type: + $ref: '#/components/schemas/IncidentRuleType' + required: + - type + - attributes + type: object + IncidentRulePatchDataRequest: + description: Incident rule data in a patch request. + properties: + attributes: + $ref: '#/components/schemas/IncidentRulePatchDataAttributesRequest' + id: + description: The rule identifier. + example: 00000000-0000-0000-0000-000000000000 + format: uuid + type: string + type: + $ref: '#/components/schemas/IncidentRuleType' + required: + - id + - type + type: object + IncidentTypeObject: + description: Incident type response data. + properties: + attributes: + $ref: '#/components/schemas/IncidentTypeAttributes' + id: + description: The incident type's ID. + example: 00000000-0000-0000-0000-000000000000 + type: string + relationships: + $ref: '#/components/schemas/IncidentTypeRelationships' + type: + $ref: '#/components/schemas/IncidentTypeType' + required: + - id + - type + type: object + IncidentTypeCreateData: + description: Incident type data for a create request. + properties: + attributes: + $ref: '#/components/schemas/IncidentTypeAttributes' + type: + $ref: '#/components/schemas/IncidentTypeType' + required: + - type + - attributes + type: object + IncidentOrgSettingsDataResponse: + description: Incident org settings data in a response. + properties: + attributes: + $ref: '#/components/schemas/IncidentOrgSettingsDataAttributesResponse' + id: + description: The org settings identifier. + example: 00000000-0000-0000-0000-000000000000 + format: uuid + type: string + relationships: + $ref: '#/components/schemas/IncidentOrgSettingsRelationships' + type: + $ref: '#/components/schemas/IncidentOrgSettingsType' + required: + - id + - type + - attributes + type: object + IncidentTypePatchData: + description: Incident type data for a patch request. + properties: + attributes: + $ref: '#/components/schemas/IncidentTypeUpdateAttributes' + id: + description: The incident type's ID. + example: 00000000-0000-0000-0000-000000000000 + type: string + type: + $ref: '#/components/schemas/IncidentTypeType' + required: + - id + - type + - attributes + type: object + IncidentUserDefinedFieldResponseData: + description: Data object for an incident user-defined field response. + properties: + attributes: + $ref: '#/components/schemas/IncidentUserDefinedFieldAttributesResponse' + id: + description: The unique identifier of the user-defined field. + example: 00000000-0000-0000-0000-000000000000 + type: string + relationships: + $ref: '#/components/schemas/IncidentUserDefinedFieldRelationships' + type: + $ref: '#/components/schemas/IncidentUserDefinedFieldType' + required: + - id + - type + - attributes + - relationships + type: object + IncidentUserDefinedFieldListMeta: + description: Pagination metadata for the user-defined field list response. + properties: + offset: + description: The offset of the current page. + example: 0 + format: int64 + type: integer + size: + description: The total number of items in the current page. + example: 5 + format: int64 + type: integer + type: object + IncidentUserDefinedFieldCreateData: + description: Data for creating an incident user-defined field. + properties: + attributes: + $ref: '#/components/schemas/IncidentUserDefinedFieldAttributesCreateRequest' + relationships: + $ref: '#/components/schemas/IncidentUserDefinedFieldCreateRelationships' + type: + $ref: '#/components/schemas/IncidentUserDefinedFieldType' + required: + - type + - attributes + - relationships + type: object + IncidentUserDefinedFieldUpdateData: + description: Data for updating an incident user-defined field. + properties: + attributes: + $ref: '#/components/schemas/IncidentUserDefinedFieldAttributesUpdateRequest' + id: + description: The unique identifier of the user-defined field to update. + example: 00000000-0000-0000-0000-000000000000 + type: string + type: + $ref: '#/components/schemas/IncidentUserDefinedFieldType' + required: + - id + - type + - attributes + type: object + IncidentUserDefinedRolesDataResponse: + description: List of incident user-defined role data objects. + items: + $ref: '#/components/schemas/IncidentUserDefinedRoleDataResponse' + type: array + IncidentUserDefinedRoleIncludedResponse: + description: Included resources for an incident user-defined role response. + items: + $ref: '#/components/schemas/IncidentUserDefinedRoleIncludedItem' + type: array + IncidentUserDefinedRoleDataRequest: + description: Data for creating an incident user-defined role. + properties: + attributes: + $ref: '#/components/schemas/IncidentUserDefinedRoleDataAttributesRequest' + relationships: + $ref: '#/components/schemas/IncidentUserDefinedRoleRelationshipsRequest' + type: + $ref: '#/components/schemas/IncidentUserDefinedRoleType' + required: + - type + - attributes + - relationships + type: object + IncidentUserDefinedRoleDataResponse: + description: Data for an incident user-defined role response. + properties: + attributes: + $ref: '#/components/schemas/IncidentUserDefinedRoleDataAttributesResponse' + id: + description: The ID of the user-defined role. + example: 00000000-0000-0000-0000-000000000002 + format: uuid + type: string + relationships: + $ref: '#/components/schemas/IncidentUserDefinedRoleRelationshipsResponse' + type: + $ref: '#/components/schemas/IncidentUserDefinedRoleType' + required: + - id + - type + - attributes + type: object + IncidentUserDefinedRolePatchDataRequest: + description: Data for updating an incident user-defined role. + properties: + attributes: + $ref: '#/components/schemas/IncidentUserDefinedRolePatchDataAttributesRequest' + id: + description: The ID of the user-defined role to update. + example: 00000000-0000-0000-0000-000000000002 + format: uuid + type: string + type: + $ref: '#/components/schemas/IncidentUserDefinedRoleType' + required: + - id + - type + type: object + IncidentImportRelatedObject: + description: Object related to an incident that can be included in the response. + enum: + - last_modified_by_user + - created_by_user + - commander_user + - declared_by_user + - incident_type + type: string + x-enum-varnames: + - LAST_MODIFIED_BY_USER + - CREATED_BY_USER + - COMMANDER_USER + - DECLARED_BY_USER + - INCIDENT_TYPE + IncidentImportRequestData: + description: Incident data for an import request. + properties: + attributes: + $ref: '#/components/schemas/IncidentImportRequestAttributes' + relationships: + $ref: '#/components/schemas/IncidentImportRelationships' + type: + $ref: '#/components/schemas/IncidentType' + required: + - type + - attributes + type: object + IncidentImportResponseData: + description: Incident data from an import response. + properties: + attributes: + $ref: '#/components/schemas/IncidentImportResponseAttributes' + id: + description: The incident's ID. + example: 00000000-0000-0000-1234-000000000000 + type: string + relationships: + $ref: '#/components/schemas/IncidentImportResponseRelationships' + type: + $ref: '#/components/schemas/IncidentType' + required: + - id + - type + type: object + IncidentImportResponseIncludedItem: + description: An object related to an incident that is included in the response. + properties: + attributes: + $ref: '#/components/schemas/IncidentUserAttributes' + id: + description: ID of the user. + type: string + type: + $ref: '#/components/schemas/UsersType' + relationships: + $ref: '#/components/schemas/IncidentTypeRelationships' + type: object + required: + - id + - type + IncidentSearchSortOrder: + description: The ways searched incidents can be sorted. + enum: + - created + - '-created' + type: string + x-enum-varnames: + - CREATED_ASCENDING + - CREATED_DESCENDING + IncidentSearchResponseData: + description: Data returned by an incident search. + properties: + attributes: + $ref: '#/components/schemas/IncidentSearchResponseAttributes' + type: + $ref: '#/components/schemas/IncidentSearchResultsType' + type: object + IncidentSearchResponseMeta: + description: The metadata object containing pagination metadata. + properties: + pagination: + $ref: '#/components/schemas/IncidentResponseMetaPagination' + readOnly: true + type: object + IncidentUpdateData: + description: Incident data for an update request. + properties: + attributes: + $ref: '#/components/schemas/IncidentUpdateAttributes' + id: + description: The incident's ID. + example: 00000000-0000-0000-4567-000000000000 + type: string + relationships: + $ref: '#/components/schemas/IncidentUpdateRelationships' + type: + $ref: '#/components/schemas/IncidentType' + required: + - id + - type + type: object + IncidentAIPostmortemDataResponse: + description: AI postmortem data in a response. + properties: + attributes: + $ref: '#/components/schemas/IncidentAIPostmortemDataAttributesResponse' + id: + description: The incident identifier. + example: 00000000-0000-0000-0000-000000000000 + format: uuid + type: string + type: + $ref: '#/components/schemas/IncidentAIPostmortemResponseType' + required: + - id + - type + - attributes + type: object + AttachmentData: + description: Attachment data from a response. + properties: + attributes: + $ref: '#/components/schemas/AttachmentDataAttributes' + id: + description: The unique identifier of the attachment. + example: 00000000-abcd-0002-0000-000000000000 + type: string + relationships: + $ref: '#/components/schemas/AttachmentDataRelationships' + type: + $ref: '#/components/schemas/IncidentAttachmentType' + required: + - type + - attributes + - relationships + - id + type: object + AttachmentIncluded: + description: Objects related to an attachment. + properties: + attributes: + $ref: '#/components/schemas/IncidentUserAttributes' + id: + description: ID of the user. + type: string + type: + $ref: '#/components/schemas/UsersType' + type: object + CreateAttachmentRequestData: + description: Attachment data for a create request. + properties: + attributes: + $ref: '#/components/schemas/CreateAttachmentRequestDataAttributes' + id: + description: The unique identifier of the attachment. + type: string + type: + $ref: '#/components/schemas/IncidentAttachmentType' + required: + - type + type: object + PostmortemAttachmentRequestData: + description: Postmortem attachment data + properties: + attributes: + $ref: '#/components/schemas/PostmortemAttachmentRequestAttributes' + type: + $ref: '#/components/schemas/IncidentAttachmentType' + required: + - type + - attributes + type: object + PatchAttachmentRequestData: + description: Attachment data for an update request. + properties: + attributes: + $ref: '#/components/schemas/PatchAttachmentRequestDataAttributes' + id: + description: The unique identifier of the attachment. + example: 00000000-abcd-0002-0000-000000000000 + type: string + type: + $ref: '#/components/schemas/IncidentAttachmentType' + required: + - type + type: object + IncidentCreatePageFromIncidentDataRequest: + description: Page data in a create request. + properties: + attributes: + $ref: '#/components/schemas/IncidentCreatePageFromIncidentDataAttributesRequest' + type: + $ref: '#/components/schemas/IncidentCreatePageFromIncidentType' + required: + - type + - attributes + type: object + IncidentPageUUIDDataResponse: + description: Page UUID data in a response. + properties: + id: + description: The UUID of the created page. + example: 00000000-0000-0000-0000-000000000001 + format: uuid + type: string + type: + $ref: '#/components/schemas/IncidentPageUUIDType' + required: + - id + - type + type: object + IncidentConfigurationPatchDataRequest: + description: Incident configuration data in a patch request. + properties: + attributes: + $ref: '#/components/schemas/IncidentConfigurationPatchDataAttributesRequest' + id: + description: The incident configuration identifier. + example: 00000000-0000-0000-0000-000000000000 + format: uuid + type: string + type: + $ref: '#/components/schemas/IncidentConfigurationType' + required: + - id + - type + type: object + IncidentConfigurationDataResponse: + description: Incident configuration data in a response. + properties: + attributes: + $ref: '#/components/schemas/IncidentConfigurationDataAttributesResponse' + id: + description: The incident configuration identifier. + example: 00000000-0000-0000-0000-000000000000 + format: uuid + type: string + relationships: + $ref: '#/components/schemas/IncidentConfigurationRelationships' + type: + $ref: '#/components/schemas/IncidentConfigurationType' + required: + - id + - type + - attributes + type: object + IncidentConfigurationDataRequest: + description: Incident configuration data in a create request. + properties: + attributes: + $ref: '#/components/schemas/IncidentConfigurationDataAttributesRequest' + type: + $ref: '#/components/schemas/IncidentConfigurationType' + required: + - type + type: object + IncidentImpactRelatedObject: + description: A reference to a resource related to an incident impact. + enum: + - incident + - created_by_user + - last_modified_by_user + type: string + x-enum-varnames: + - INCIDENT + - CREATED_BY_USER + - LAST_MODIFIED_BY_USER + IncidentImpactResponseData: + description: Incident impact data from a response. + properties: + attributes: + $ref: '#/components/schemas/IncidentImpactAttributes' + id: + description: The incident impact's ID. + example: 00000000-0000-0000-1234-000000000000 + type: string + relationships: + $ref: '#/components/schemas/IncidentImpactRelationships' + type: + $ref: '#/components/schemas/IncidentImpactType' + required: + - id + - type + type: object + IncidentImpactCreateData: + description: Incident impact data for a create request. + properties: + attributes: + $ref: '#/components/schemas/IncidentImpactCreateAttributes' + type: + $ref: '#/components/schemas/IncidentImpactType' + required: + - type + - attributes + type: object + IncidentImpactPatchData: + description: Incident impact data for a patch request. + properties: + attributes: + $ref: '#/components/schemas/IncidentImpactPatchAttributes' + type: + $ref: '#/components/schemas/IncidentImpactType' + required: + - type + type: object + IncidentCreateOnCallPageDataRequest: + description: On-call page data in a create request. + properties: + attributes: + $ref: '#/components/schemas/IncidentCreateOnCallPageDataAttributesRequest' + type: + $ref: '#/components/schemas/IncidentCreatePageFromIncidentType' + required: + - type + - attributes + type: object + IncidentOnCallPageDataRequest: + description: On-call page data in a link request. + properties: + attributes: + $ref: '#/components/schemas/IncidentOnCallPageDataAttributesRequest' + id: + description: The ID of the on-call page to link. + example: PAGE-12345 + type: string + type: + $ref: '#/components/schemas/IncidentOnCallPageType' + required: + - id + - type + type: object + IncidentIntegrationMetadataResponseData: + description: Incident integration metadata from a response. + properties: + attributes: + $ref: '#/components/schemas/IncidentIntegrationMetadataAttributes' + id: + description: The incident integration metadata's ID. + example: 00000000-0000-0000-1234-000000000000 + type: string + relationships: + $ref: '#/components/schemas/IncidentIntegrationRelationships' + type: + $ref: '#/components/schemas/IncidentIntegrationMetadataType' + required: + - id + - type + type: object + IncidentIntegrationMetadataResponseIncludedItem: + description: An object related to an incident integration metadata that is included in the response. + properties: + attributes: + $ref: '#/components/schemas/UserAttributes' + id: + description: ID of the user. + type: string + relationships: + $ref: '#/components/schemas/UserResponseRelationships' + type: + $ref: '#/components/schemas/UsersType' + type: object + IncidentIntegrationMetadataCreateData: + description: Incident integration metadata data for a create request. + properties: + attributes: + $ref: '#/components/schemas/IncidentIntegrationMetadataAttributes' + type: + $ref: '#/components/schemas/IncidentIntegrationMetadataType' + required: + - type + - attributes + type: object + IncidentIntegrationMetadataPatchData: + description: Incident integration metadata data for a patch request. + properties: + attributes: + $ref: '#/components/schemas/IncidentIntegrationMetadataAttributes' + type: + $ref: '#/components/schemas/IncidentIntegrationMetadataType' + required: + - type + - attributes + type: object + IncidentTodoResponseData: + description: Incident todo response data. + properties: + attributes: + $ref: '#/components/schemas/IncidentTodoAttributes' + id: + description: The incident todo's ID. + example: 00000000-0000-0000-1234-000000000000 + type: string + relationships: + $ref: '#/components/schemas/IncidentTodoRelationships' + type: + $ref: '#/components/schemas/IncidentTodoType' + required: + - id + - type + type: object + IncidentTodoResponseIncludedItem: + description: An object related to an incident todo that is included in the response. + properties: + attributes: + $ref: '#/components/schemas/UserAttributes' + id: + description: ID of the user. + type: string + relationships: + $ref: '#/components/schemas/UserResponseRelationships' + type: + $ref: '#/components/schemas/UsersType' + type: object + IncidentTodoCreateData: + description: Incident todo data for a create request. + properties: + attributes: + $ref: '#/components/schemas/IncidentTodoAttributes' + type: + $ref: '#/components/schemas/IncidentTodoType' + required: + - type + - attributes + type: object + IncidentTodoPatchData: + description: Incident todo data for a patch request. + properties: + attributes: + $ref: '#/components/schemas/IncidentTodoAttributes' + type: + $ref: '#/components/schemas/IncidentTodoType' + required: + - type + - attributes + type: object + IncidentResponderDataResponse: + description: Incident responder data in a response. + properties: + attributes: + $ref: '#/components/schemas/IncidentResponderDataAttributesResponse' + id: + description: The responder identifier. + example: 00000000-0000-0000-0000-000000000000 + format: uuid + type: string + relationships: + $ref: '#/components/schemas/IncidentResponderRelationships' + type: + $ref: '#/components/schemas/IncidentResponderType' + required: + - id + - type + - attributes + type: object + IncidentResponderDataRequest: + description: Incident responder data in a create request. + properties: + relationships: + $ref: '#/components/schemas/IncidentResponderRelationshipsRequest' + type: + $ref: '#/components/schemas/IncidentResponderType' + required: + - type + - relationships + type: object + IncidentServiceNowRecordDataRequest: + description: ServiceNow record data in a create request. + properties: + attributes: + $ref: '#/components/schemas/IncidentServiceNowRecordDataAttributesRequest' + type: + $ref: '#/components/schemas/IncidentServiceNowRecordPromptType' + required: + - type + - attributes + type: object + IncidentTimestampOverrideDataResponse: + description: Timestamp override data in a response. + properties: + attributes: + $ref: '#/components/schemas/IncidentTimestampOverrideDataAttributesResponse' + id: + description: The timestamp override identifier. + example: 00000000-0000-0000-0000-000000000000 + format: uuid + type: string + relationships: + $ref: '#/components/schemas/IncidentTimestampOverrideRelationships' + type: + $ref: '#/components/schemas/IncidentTimestampOverrideType' + required: + - id + - type + - attributes + type: object + IncidentTimestampOverrideDataRequest: + description: Timestamp override data in a create request. + properties: + attributes: + $ref: '#/components/schemas/IncidentTimestampOverrideDataAttributesRequest' + type: + $ref: '#/components/schemas/IncidentTimestampOverrideType' + required: + - type + - attributes + type: object + IncidentTimestampOverridePatchDataRequest: + description: Timestamp override data in a patch request. + properties: + attributes: + $ref: '#/components/schemas/IncidentTimestampOverridePatchDataAttributesRequest' + id: + description: The timestamp override identifier. + example: 00000000-0000-0000-0000-000000000000 + format: uuid + type: string + type: + $ref: '#/components/schemas/IncidentTimestampOverrideType' + required: + - id + - type + type: object + MaintenanceWindow: + description: A maintenance window that defines a scheduled time period during which case-related notifications and automation rules are suppressed. Each maintenance window applies to cases matching a specified query. + properties: + attributes: + $ref: '#/components/schemas/MaintenanceWindowAttributes' + id: + description: The maintenance window's identifier. + example: a1b2c3d4-e5f6-7890-abcd-ef1234567890 + type: string + type: + $ref: '#/components/schemas/MaintenanceWindowResourceType' + required: + - id + - type + - attributes + type: object + MaintenanceWindowCreate: + description: Data object for creating a maintenance window. + properties: + attributes: + $ref: '#/components/schemas/MaintenanceWindowCreateAttributes' + type: + $ref: '#/components/schemas/MaintenanceWindowResourceType' + required: + - type + - attributes + type: object + MaintenanceWindowUpdate: + description: Data object for updating a maintenance window. + properties: + attributes: + $ref: '#/components/schemas/MaintenanceWindowUpdateAttributes' + type: + $ref: '#/components/schemas/MaintenanceWindowResourceType' + required: + - type + type: object + EscalationPolicyCreateRequestData: + description: Represents the data for creating an escalation policy, including its attributes, relationships, and resource type. + properties: + attributes: + $ref: '#/components/schemas/EscalationPolicyCreateRequestDataAttributes' + relationships: + $ref: '#/components/schemas/EscalationPolicyCreateRequestDataRelationships' + type: + $ref: '#/components/schemas/EscalationPolicyCreateRequestDataType' + required: + - type + - attributes + type: object + EscalationPolicyData: + description: Represents the data for a single escalation policy, including its attributes, ID, relationships, and resource type. + properties: + attributes: + $ref: '#/components/schemas/EscalationPolicyDataAttributes' + id: + description: Specifies the unique identifier of the escalation policy. + example: ab000000-0000-0000-0000-000000000000 + type: string + relationships: + $ref: '#/components/schemas/EscalationPolicyDataRelationships' + type: + $ref: '#/components/schemas/EscalationPolicyDataType' + required: + - type + type: object + EscalationPolicyIncluded: + description: Represents included related resources when retrieving an escalation policy, such as teams, steps, or targets. + properties: + attributes: + $ref: '#/components/schemas/EscalationPolicyStepAttributes' + id: + description: Specifies the unique identifier of this escalation policy step. + type: string + relationships: + $ref: '#/components/schemas/EscalationPolicyStepRelationships' + type: + $ref: '#/components/schemas/EscalationPolicyStepType' + required: + - type + - id + - attributes + - relationships + type: object + EscalationPolicyUpdateRequestData: + description: Represents the data for updating an existing escalation policy, including its ID, attributes, relationships, and resource type. + properties: + attributes: + $ref: '#/components/schemas/EscalationPolicyUpdateRequestDataAttributes' + id: + description: Specifies the unique identifier of the escalation policy being updated. + example: 00000000-aba1-0000-0000-000000000000 + type: string + relationships: + $ref: '#/components/schemas/EscalationPolicyUpdateRequestDataRelationships' + type: + $ref: '#/components/schemas/EscalationPolicyUpdateRequestDataType' + required: + - type + - id + - attributes + type: object + CreatePageRequestData: + description: The main request body, including attributes and resource type. + properties: + attributes: + $ref: '#/components/schemas/CreatePageRequestDataAttributes' + type: + $ref: '#/components/schemas/CreatePageRequestDataType' + required: + - type + type: object + CreatePageResponseData: + description: The information returned after successfully creating a page. + properties: + id: + description: The unique ID of the created page. + type: string + type: + $ref: '#/components/schemas/CreatePageResponseDataType' + required: + - type + type: object + ScheduleCreateRequestData: + description: The core data wrapper for creating a schedule, encompassing attributes, relationships, and the resource type. + properties: + attributes: + $ref: '#/components/schemas/ScheduleCreateRequestDataAttributes' + relationships: + $ref: '#/components/schemas/ScheduleCreateRequestDataRelationships' + type: + $ref: '#/components/schemas/ScheduleCreateRequestDataType' + required: + - type + - attributes + type: object + ScheduleData: + description: Represents the primary data object for a schedule, linking attributes and relationships. + properties: + attributes: + $ref: '#/components/schemas/ScheduleDataAttributes' + id: + description: The schedule's unique identifier. + example: 3653d3c6-0c75-11ea-ad28-fb5701eabc7d + type: string + relationships: + $ref: '#/components/schemas/ScheduleDataRelationships' + type: + $ref: '#/components/schemas/ScheduleDataType' + required: + - type + type: object + ScheduleDataIncludedItem: + description: Any additional resources related to this schedule, such as teams and layers. + properties: + attributes: + $ref: '#/components/schemas/TeamReferenceAttributes' + id: + description: The team's unique identifier. + type: string + type: + $ref: '#/components/schemas/TeamReferenceType' + relationships: + $ref: '#/components/schemas/LayerRelationships' + required: + - type + type: object + ScheduleUpdateRequestData: + description: Contains all data needed to update an existing schedule, including its attributes (such as name and time zone) and any relationships to teams. + properties: + attributes: + $ref: '#/components/schemas/ScheduleUpdateRequestDataAttributes' + id: + description: The ID of the schedule to be updated. + example: 3653d3c6-0c75-11ea-ad28-fb5701eabc7d + type: string + relationships: + $ref: '#/components/schemas/ScheduleUpdateRequestDataRelationships' + type: + $ref: '#/components/schemas/ScheduleUpdateRequestDataType' + required: + - type + - id + - attributes + type: object + ShiftData: + description: Data for an on-call shift. + properties: + attributes: + $ref: '#/components/schemas/ShiftDataAttributes' + id: + description: The `ShiftData` `id`. + type: string + relationships: + $ref: '#/components/schemas/ShiftDataRelationships' + type: + $ref: '#/components/schemas/ShiftDataType' + required: + - type + type: object + ShiftIncluded: + description: Included data for shift operations. + properties: + attributes: + $ref: '#/components/schemas/ScheduleUserAttributes' + id: + description: The unique user identifier. + type: string + type: + $ref: '#/components/schemas/ScheduleUserType' + required: + - type + type: object + ScheduleOnCallRespondersData: + description: The main data object representing a schedule's on-call responders lookup, including relationships and metadata. + properties: + attributes: + $ref: '#/components/schemas/ScheduleOnCallRespondersDataAttributes' + id: + description: Unique identifier of this on-call responders lookup. + type: string + relationships: + $ref: '#/components/schemas/ScheduleOnCallRespondersDataRelationships' + type: + $ref: '#/components/schemas/ScheduleOnCallRespondersDataType' + required: + - type + type: object + ScheduleOnCallRespondersIncluded: + description: Represents a union of related resources included in the response, such as responder groups, shifts, schedules, and users. + properties: + attributes: + $ref: '#/components/schemas/ScheduleOnCallResponderDataAttributes' + id: + description: Unique identifier of this responder group. + type: string + relationships: + $ref: '#/components/schemas/ScheduleOnCallResponderDataRelationships' + type: + $ref: '#/components/schemas/ScheduleOnCallResponderDataType' + required: + - type + type: object + TeamOnCallRespondersData: + description: Defines the main on-call responder object for a team, including relationships and metadata. + properties: + id: + description: Unique identifier of the on-call responder configuration. + type: string + relationships: + $ref: '#/components/schemas/TeamOnCallRespondersDataRelationships' + type: + $ref: '#/components/schemas/TeamOnCallRespondersDataType' + required: + - type + type: object + TeamOnCallRespondersIncluded: + description: Represents an union of related resources included in the response, such as users and escalation steps. + properties: + attributes: + $ref: '#/components/schemas/UserAttributes' + id: + description: ID of the user. + type: string + relationships: + $ref: '#/components/schemas/UserResponseRelationships' + type: + $ref: '#/components/schemas/UsersType' + type: object + required: + - type + TeamRoutingRulesData: + description: Represents the top-level data object for team routing rules, containing the ID, relationships, and resource type. + properties: + id: + description: Specifies the unique identifier of this team routing rules record. + type: string + relationships: + $ref: '#/components/schemas/TeamRoutingRulesDataRelationships' + type: + $ref: '#/components/schemas/TeamRoutingRulesDataType' + required: + - type + type: object + TeamRoutingRulesIncluded: + description: Represents additional included resources for team routing rules, such as associated routing rules. + properties: + attributes: + $ref: '#/components/schemas/RoutingRuleAttributes' + id: + description: Specifies the unique identifier of this routing rule. + type: string + relationships: + $ref: '#/components/schemas/RoutingRuleRelationships' + type: + $ref: '#/components/schemas/RoutingRuleType' + required: + - type + type: object + TeamRoutingRulesRequestData: + description: Holds the data necessary to create or update team routing rules, including attributes, ID, and resource type. + properties: + attributes: + $ref: '#/components/schemas/TeamRoutingRulesRequestDataAttributes' + id: + description: Specifies the unique identifier for this set of team routing rules. + type: string + type: + $ref: '#/components/schemas/TeamRoutingRulesRequestDataType' + required: + - type + type: object + NotificationChannelData: + description: Data for an on-call notification channel + properties: + attributes: + $ref: '#/components/schemas/NotificationChannelAttributes' + id: + description: Unique identifier for the channel + type: string + type: + $ref: '#/components/schemas/NotificationChannelType' + required: + - type + type: object + CreateNotificationChannelData: + description: Data for creating an on-call notification channel + properties: + attributes: + $ref: '#/components/schemas/CreateNotificationChannelAttributes' + type: + $ref: '#/components/schemas/NotificationChannelType' + required: + - type + type: object + OnCallNotificationRuleData: + description: Data for an on-call notification rule + properties: + attributes: + $ref: '#/components/schemas/OnCallNotificationRuleAttributes' + id: + description: Unique identifier for the rule + type: string + relationships: + $ref: '#/components/schemas/OnCallNotificationRuleRelationships' + type: + $ref: '#/components/schemas/OnCallNotificationRuleType' + required: + - type + type: object + OnCallNotificationRulesIncluded: + description: Represents additional included resources for a on-call notification rules + properties: + attributes: + $ref: '#/components/schemas/NotificationChannelAttributes' + id: + description: Unique identifier for the channel + type: string + type: + $ref: '#/components/schemas/NotificationChannelType' + required: + - type + type: object + CreateOnCallNotificationRuleRequestData: + description: Data for creating an on-call notification rule + properties: + attributes: + $ref: '#/components/schemas/OnCallNotificationRuleRequestAttributes' + relationships: + $ref: '#/components/schemas/OnCallNotificationRuleRelationships' + type: + $ref: '#/components/schemas/OnCallNotificationRuleType' + required: + - type + type: object + UpdateOnCallNotificationRuleRequestData: + description: Data for updating an on-call notification rule + properties: + attributes: + $ref: '#/components/schemas/UpdateOnCallNotificationRuleRequestAttributes' + id: + description: Unique identifier for the rule + type: string + relationships: + $ref: '#/components/schemas/OnCallNotificationRuleRelationships' + type: + $ref: '#/components/schemas/OnCallNotificationRuleType' + required: + - type + type: object + ServiceDefinitionSchemaVersions: + description: Schema versions + enum: + - v1 + - v2 + - v2.1 + - v2.2 + type: string + x-enum-varnames: + - V1 + - V2 + - V2_1 + - V2_2 + ServiceDefinitionData: + description: Service definition data. + properties: + attributes: + $ref: '#/components/schemas/ServiceDefinitionDataAttributes' + id: + description: Service definition id. + type: string + type: + description: Service definition type. + type: string + type: object + ServiceDefinitionV2Dot2: + description: Service definition v2.2 for providing service metadata and integrations. + properties: + application: + description: Identifier for a group of related services serving a product feature, which the service is a part of. + example: my-app + type: string + ci-pipeline-fingerprints: + description: A set of CI fingerprints. + example: + - j88xdEy0J5lc + - eZ7LMljCk8vo + items: + description: A CI pipeline fingerprint string. + type: string + type: array + contacts: + description: A list of contacts related to the services. + items: + $ref: '#/components/schemas/ServiceDefinitionV2Dot2Contact' + type: array + dd-service: + description: Unique identifier of the service. Must be unique across all services and is used to match with a service in Datadog. + example: my-service + type: string + description: + description: A short description of the service. + example: My service description + type: string + extensions: + additionalProperties: {} + description: Extensions to v2.2 schema. + example: + myorg/extension: extensionValue + type: object + integrations: + $ref: '#/components/schemas/ServiceDefinitionV2Dot2Integrations' + languages: + description: 'The service''s programming language. Datadog recognizes the following languages: `dotnet`, `go`, `java`, `js`, `php`, `python`, `ruby`, and `c++`.' + example: + - dotnet + - go + - java + - js + - php + - python + - ruby + - c++ + items: + description: A programming language identifier. + type: string + type: array + lifecycle: + description: The current life cycle phase of the service. + example: sandbox + type: string + links: + description: A list of links related to the services. + items: + $ref: '#/components/schemas/ServiceDefinitionV2Dot2Link' + type: array + schema-version: + $ref: '#/components/schemas/ServiceDefinitionV2Dot2Version' + tags: + description: A set of custom tags. + example: + - my:tag + - service:tag + items: + description: A custom tag string in `key:value` format. + type: string + type: array + team: + description: Team that owns the service. It is used to locate a team defined in Datadog Teams if it exists. + example: my-team + type: string + tier: + description: Importance of the service. + example: High + type: string + type: + $ref: '#/components/schemas/ServiceDefinitionV2Dot2Type' + required: + - schema-version + - dd-service + type: object + ServiceDefinitionV2Dot1: + description: Service definition v2.1 for providing service metadata and integrations. + properties: + application: + description: Identifier for a group of related services serving a product feature, which the service is a part of. + example: my-app + type: string + contacts: + description: A list of contacts related to the services. + items: + $ref: '#/components/schemas/ServiceDefinitionV2Dot1Contact' + type: array + dd-service: + description: Unique identifier of the service. Must be unique across all services and is used to match with a service in Datadog. + example: my-service + type: string + description: + description: A short description of the service. + example: My service description + type: string + extensions: + additionalProperties: {} + description: Extensions to v2.1 schema. + example: + myorg/extension: extensionValue + type: object + integrations: + $ref: '#/components/schemas/ServiceDefinitionV2Dot1Integrations' + lifecycle: + description: The current life cycle phase of the service. + example: sandbox + type: string + links: + description: A list of links related to the services. + items: + $ref: '#/components/schemas/ServiceDefinitionV2Dot1Link' + type: array + schema-version: + $ref: '#/components/schemas/ServiceDefinitionV2Dot1Version' + tags: + description: A set of custom tags. + example: + - my:tag + - service:tag + items: + description: A custom tag string in `key:value` format. + type: string + type: array + team: + description: Team that owns the service. It is used to locate a team defined in Datadog Teams if it exists. + example: my-team + type: string + tier: + description: Importance of the service. + example: High + type: string + required: + - schema-version + - dd-service + type: object + ServiceDefinitionV2: + description: Service definition V2 for providing service metadata and integrations. + properties: + contacts: + description: A list of contacts related to the services. + items: + $ref: '#/components/schemas/ServiceDefinitionV2Contact' + type: array + dd-service: + description: Unique identifier of the service. Must be unique across all services and is used to match with a service in Datadog. + example: my-service + type: string + dd-team: + description: Experimental feature. A Team handle that matches a Team in the Datadog Teams product. + example: my-team + type: string + docs: + description: A list of documentation related to the services. + items: + $ref: '#/components/schemas/ServiceDefinitionV2Doc' + type: array + extensions: + additionalProperties: {} + description: Extensions to V2 schema. + example: + myorg/extension: extensionValue + type: object + integrations: + $ref: '#/components/schemas/ServiceDefinitionV2Integrations' + links: + description: A list of links related to the services. + items: + $ref: '#/components/schemas/ServiceDefinitionV2Link' + type: array + repos: + description: A list of code repositories related to the services. + items: + $ref: '#/components/schemas/ServiceDefinitionV2Repo' + type: array + schema-version: + $ref: '#/components/schemas/ServiceDefinitionV2Version' + tags: + description: A set of custom tags. + example: + - my:tag + - service:tag + items: + description: A custom tag string in `key:value` format. + type: string + type: array + team: + description: Team that owns the service. + example: my-team + type: string + required: + - schema-version + - dd-service + type: object + ServiceDefinitionRaw: + description: Service Definition in raw JSON/YAML representation. + example: |- + --- + schema-version: v2 + dd-service: my-service + type: string + SloReportCreateRequestData: + description: The data portion of the SLO report request. + properties: + attributes: + $ref: '#/components/schemas/SloReportCreateRequestAttributes' + required: + - attributes + type: object + SLOReportPostResponseData: + description: The data portion of the SLO report response. + properties: + id: + description: The ID of the report job. + example: dc8d92aa-e0af-11ee-af21-1feeaccaa3a3 + type: string + type: + description: The type of ID. + example: report_id + type: string + type: object + SLOReportStatusGetResponseData: + description: The data portion of the SLO report status response. + properties: + attributes: + $ref: '#/components/schemas/SLOReportStatusGetResponseAttributes' + id: + description: The ID of the report job. + example: dc8d92aa-e0af-11ee-af21-1feeaccaa3a3 + type: string + type: + description: The type of ID. + example: report_id + type: string + type: object + SloStatusData: + description: The data portion of the SLO status response. + properties: + attributes: + $ref: '#/components/schemas/SloStatusDataAttributes' + id: + description: The ID of the SLO. + example: 00000000-0000-0000-0000-000000000000 + type: string + type: + $ref: '#/components/schemas/SloStatusType' + required: + - id + - type + - attributes + type: object + StatusPageData: + description: The data object for a status page. + properties: + attributes: + $ref: '#/components/schemas/StatusPageDataAttributes' + id: + description: The ID of the status page. + format: uuid + type: string + relationships: + $ref: '#/components/schemas/StatusPageDataRelationships' + type: + $ref: '#/components/schemas/StatusPageDataType' + required: + - type + type: object + StatusPageArrayIncluded: + description: An included resource related to a status page. + properties: + attributes: + $ref: '#/components/schemas/StatusPagesUserAttributes' + id: + description: The ID of the Datadog user. + format: uuid + type: string + type: + $ref: '#/components/schemas/StatusPagesUserType' + required: + - type + type: object + PaginationMeta: + description: Response metadata. + properties: + page: + $ref: '#/components/schemas/PaginationMetaPage' + readOnly: true + type: object + CreateStatusPageRequestData: + description: The data object for creating a status page. + properties: + attributes: + $ref: '#/components/schemas/CreateStatusPageRequestDataAttributes' + type: + $ref: '#/components/schemas/StatusPageDataType' + required: + - attributes + - type + type: object + DegradationData: + description: The data object for a degradation. + properties: + attributes: + $ref: '#/components/schemas/DegradationDataAttributes' + id: + description: The ID of the degradation. + format: uuid + type: string + relationships: + $ref: '#/components/schemas/DegradationDataRelationships' + type: + $ref: '#/components/schemas/PatchDegradationRequestDataType' + required: + - type + type: object + DegradationIncluded: + description: An included resource related to a degradation or maintenance. + properties: + attributes: + $ref: '#/components/schemas/StatusPagesUserAttributes' + id: + description: The ID of the Datadog user. + format: uuid + type: string + type: + $ref: '#/components/schemas/StatusPagesUserType' + relationships: + $ref: '#/components/schemas/StatusPageAsIncludedRelationships' + required: + - type + type: object + MaintenanceData: + description: The data object for a maintenance. + properties: + attributes: + $ref: '#/components/schemas/MaintenanceDataAttributes' + id: + description: The ID of the maintenance. + format: uuid + type: string + relationships: + $ref: '#/components/schemas/MaintenanceDataRelationships' + type: + $ref: '#/components/schemas/PatchMaintenanceRequestDataType' + required: + - type + type: object + PatchStatusPageRequestData: + description: The data object for updating a status page. + properties: + attributes: + $ref: '#/components/schemas/PatchStatusPageRequestDataAttributes' + id: + description: The ID of the status page. + example: 1234abcd-12ab-34cd-56ef-123456abcdef + format: uuid + type: string + type: + $ref: '#/components/schemas/StatusPageDataType' + required: + - attributes + - id + - type + type: object + StatusPagesComponentData: + description: The data object for a component. + properties: + attributes: + $ref: '#/components/schemas/StatusPagesComponentDataAttributes' + id: + description: The ID of the component. + format: uuid + type: string + relationships: + $ref: '#/components/schemas/StatusPagesComponentDataRelationships' + type: + $ref: '#/components/schemas/StatusPagesComponentGroupType' + required: + - type + type: object + StatusPagesComponentArrayIncluded: + description: An included resource related to a component. + properties: + attributes: + $ref: '#/components/schemas/StatusPagesUserAttributes' + id: + description: The ID of the Datadog user. + format: uuid + type: string + type: + $ref: '#/components/schemas/StatusPagesUserType' + relationships: + $ref: '#/components/schemas/StatusPageAsIncludedRelationships' + required: + - type + type: object + CreateComponentRequestData: + description: The data object for creating a component. + properties: + attributes: + $ref: '#/components/schemas/CreateComponentRequestDataAttributes' + relationships: + $ref: '#/components/schemas/CreateComponentRequestDataRelationships' + type: + $ref: '#/components/schemas/StatusPagesComponentGroupType' + required: + - attributes + - type + type: object + PatchComponentRequestData: + description: The data object for updating a component. + properties: + attributes: + $ref: '#/components/schemas/PatchComponentRequestDataAttributes' + id: + description: The ID of the component. + example: 1234abcd-12ab-34cd-56ef-123456abcdef + format: uuid + type: string + type: + $ref: '#/components/schemas/StatusPagesComponentGroupType' + required: + - attributes + - id + - type + type: object + DegradationTemplateData: + description: The data object for a degradation template. + properties: + attributes: + $ref: '#/components/schemas/DegradationTemplateDataAttributes' + id: + description: The ID of the degradation template. + type: string + relationships: + $ref: '#/components/schemas/DegradationTemplateDataRelationships' + type: + $ref: '#/components/schemas/PatchDegradationTemplateRequestDataType' + required: + - type + type: object + CreateDegradationTemplateRequestData: + description: The data object for creating a degradation template. + properties: + attributes: + $ref: '#/components/schemas/CreateDegradationTemplateRequestDataAttributes' + type: + $ref: '#/components/schemas/PatchDegradationTemplateRequestDataType' + required: + - type + type: object + PatchDegradationTemplateRequestData: + description: The data object for updating a degradation template. + properties: + attributes: + $ref: '#/components/schemas/PatchDegradationTemplateRequestDataAttributes' + id: + description: The ID of the degradation template. + example: '' + type: string + type: + $ref: '#/components/schemas/PatchDegradationTemplateRequestDataType' + required: + - type + - id + type: object + CreateDegradationRequestData: + description: The data object for creating a degradation. + properties: + attributes: + $ref: '#/components/schemas/CreateDegradationRequestDataAttributes' + relationships: + $ref: '#/components/schemas/CreateDegradationRequestDataRelationships' + type: + $ref: '#/components/schemas/PatchDegradationRequestDataType' + required: + - attributes + - type + type: object + DegradationRequestMeta: + description: The supported metadata for a degradation request. + properties: + idempotency_key: + description: A unique key used to ensure idempotent requests. + example: 1e6a4b8e-4c2f-4a3d-8f1a-9c7d2e5b6f10 + format: uuid + type: string + type: object + CreateBackfilledDegradationRequestData: + description: The data object for creating a backfilled degradation. + properties: + attributes: + $ref: '#/components/schemas/CreateBackfilledDegradationRequestDataAttributes' + relationships: + $ref: '#/components/schemas/CreateBackfilledDegradationRequestDataRelationships' + type: + $ref: '#/components/schemas/PatchDegradationRequestDataType' + required: + - type + type: object + PatchDegradationRequestData: + description: The data object for updating a degradation. + properties: + attributes: + $ref: '#/components/schemas/PatchDegradationRequestDataAttributes' + id: + description: The ID of the degradation. + example: 1234abcd-12ab-34cd-56ef-123456abcdef + format: uuid + type: string + relationships: + $ref: '#/components/schemas/PatchDegradationRequestDataRelationships' + type: + $ref: '#/components/schemas/PatchDegradationRequestDataType' + required: + - attributes + - id + - type + type: object + PatchDegradationUpdateRequestData: + description: The data object for editing a degradation update. + properties: + attributes: + $ref: '#/components/schemas/PatchDegradationUpdateRequestDataAttributes' + id: + description: The ID of the degradation update to edit. + type: string + type: + $ref: '#/components/schemas/PatchDegradationUpdateRequestDataType' + required: + - type + type: object + DegradationUpdateData: + description: The data object for a degradation update. + properties: + attributes: + $ref: '#/components/schemas/DegradationUpdateDataAttributes' + id: + description: The ID of the degradation update. + type: string + relationships: + $ref: '#/components/schemas/DegradationUpdateDataRelationships' + type: + $ref: '#/components/schemas/PatchDegradationUpdateRequestDataType' + required: + - type + type: object + DegradationUpdateIncluded: + description: Resources included in a degradation update response. + properties: + attributes: + $ref: '#/components/schemas/StatusPagesUserAttributes' + id: + description: The ID of the Datadog user. + format: uuid + type: string + type: + $ref: '#/components/schemas/StatusPagesUserType' + data: + $ref: '#/components/schemas/DegradationData' + included: + description: The included related resources of a degradation. Client must explicitly request these resources by name in the `include` query parameter. + items: + $ref: '#/components/schemas/DegradationIncluded' + type: array + relationships: + $ref: '#/components/schemas/StatusPageAsIncludedRelationships' + required: + - type + type: object + MaintenanceTemplateData: + description: The data object for a maintenance template. + properties: + attributes: + $ref: '#/components/schemas/MaintenanceTemplateDataAttributes' + id: + description: The ID of the maintenance template. + type: string + relationships: + $ref: '#/components/schemas/MaintenanceTemplateDataRelationships' + type: + $ref: '#/components/schemas/PatchMaintenanceTemplateRequestDataType' + required: + - type + type: object + CreateMaintenanceTemplateRequestData: + description: The data object for creating a maintenance template. + properties: + attributes: + $ref: '#/components/schemas/CreateMaintenanceTemplateRequestDataAttributes' + type: + $ref: '#/components/schemas/PatchMaintenanceTemplateRequestDataType' + required: + - type + type: object + PatchMaintenanceTemplateRequestData: + description: The data object for updating a maintenance template. + properties: + attributes: + $ref: '#/components/schemas/PatchMaintenanceTemplateRequestDataAttributes' + id: + description: The ID of the maintenance template. + example: '' + type: string + type: + $ref: '#/components/schemas/PatchMaintenanceTemplateRequestDataType' + required: + - type + - id + type: object + CreateMaintenanceRequestData: + description: The data object for creating a maintenance. + properties: + attributes: + $ref: '#/components/schemas/CreateMaintenanceRequestDataAttributes' + relationships: + $ref: '#/components/schemas/CreateMaintenanceRequestDataRelationships' + type: + $ref: '#/components/schemas/PatchMaintenanceRequestDataType' + required: + - attributes + - type + type: object + CreateBackfilledMaintenanceRequestData: + description: The data object for creating a backfilled maintenance. + properties: + attributes: + $ref: '#/components/schemas/CreateBackfilledMaintenanceRequestDataAttributes' + relationships: + $ref: '#/components/schemas/CreateBackfilledMaintenanceRequestDataRelationships' + type: + $ref: '#/components/schemas/PatchMaintenanceRequestDataType' + required: + - type + type: object + PatchMaintenanceRequestData: + description: The data object for updating a maintenance. + properties: + attributes: + $ref: '#/components/schemas/PatchMaintenanceRequestDataAttributes' + id: + description: The ID of the maintenance. + example: 1234abcd-12ab-34cd-56ef-123456abcdef + format: uuid + type: string + relationships: + $ref: '#/components/schemas/PatchMaintenanceRequestDataRelationships' + type: + $ref: '#/components/schemas/PatchMaintenanceRequestDataType' + required: + - attributes + - type + - id + type: object + PatchMaintenanceUpdateRequestData: + description: The data object for editing a maintenance update. + properties: + attributes: + $ref: '#/components/schemas/PatchMaintenanceUpdateRequestDataAttributes' + id: + description: The ID of the maintenance update to edit. Must match the `update_id` path parameter. + example: 1234abcd-12ab-34cd-56ef-123456abcdef + type: string + type: + $ref: '#/components/schemas/PatchMaintenanceUpdateRequestDataType' + required: + - id + - type + type: object + MaintenanceUpdateData: + description: The data object for a maintenance update. + properties: + attributes: + $ref: '#/components/schemas/MaintenanceUpdateDataAttributes' + id: + description: The ID of the maintenance update. + example: 1234abcd-12ab-34cd-56ef-123456abcdef + format: uuid + type: string + relationships: + $ref: '#/components/schemas/MaintenanceUpdateDataRelationships' + type: + $ref: '#/components/schemas/PatchMaintenanceUpdateRequestDataType' + required: + - id + - type + type: object + DowntimeChild: + description: |- + The downtime object definition of the active child for the original parent recurring downtime. This + field will only exist on recurring downtimes. + nullable: true + properties: + active: + description: If a scheduled downtime currently exists. + example: true + readOnly: true + type: boolean + canceled: + description: If a scheduled downtime is canceled. + example: 1412799983 + format: int64 + nullable: true + readOnly: true + type: integer + creator_id: + description: User ID of the downtime creator. + example: 123456 + format: int32 + maximum: 2147483647 + readOnly: true + type: integer + disabled: + description: If a downtime has been disabled. + example: false + type: boolean + downtime_type: + description: |- + `0` for a downtime applied on `*` or all, + `1` when the downtime is only scoped to hosts, + or `2` when the downtime is scoped to anything but hosts. + example: 2 + format: int32 + maximum: 2147483647 + readOnly: true + type: integer + end: + description: |- + POSIX timestamp to end the downtime. If not provided, + the downtime is in effect indefinitely until you cancel it. + example: 1412793983 + format: int64 + nullable: true + type: integer + id: + description: The downtime ID. + example: 1626 + format: int64 + readOnly: true + type: integer + message: + description: |- + A message to include with notifications for this downtime. + Email notifications can be sent to specific users by using the same `@username` notation as events. + example: Message on the downtime + nullable: true + type: string + monitor_id: + description: |- + A single monitor to which the downtime applies. + If not provided, the downtime applies to all monitors. + example: 123456 + format: int64 + nullable: true + type: integer + monitor_tags: + description: |- + A comma-separated list of monitor tags. For example, tags that are applied directly to monitors, + not tags that are used in monitor queries (which are filtered by the scope parameter), to which the downtime applies. + The resulting downtime applies to monitors that match ALL provided monitor tags. + For example, `service:postgres` **AND** `team:frontend`. + example: + - '*' + items: + description: A monitor tag. + type: string + type: array + mute_first_recovery_notification: + description: If the first recovery notification during a downtime should be muted. + example: false + type: boolean + notify_end_states: + $ref: '#/components/schemas/NotifyEndStates' + notify_end_types: + $ref: '#/components/schemas/NotifyEndTypes' + parent_id: + description: ID of the parent Downtime. + example: 123 + format: int64 + nullable: true + type: integer + recurrence: + $ref: '#/components/schemas/DowntimeRecurrence' + scope: + description: |- + The scope(s) to which the downtime applies and must be in `key:value` format. For example, `host:app2`. + Provide multiple scopes as a comma-separated list like `env:dev,env:prod`. + The resulting downtime applies to sources that matches ALL provided scopes (`env:dev` **AND** `env:prod`). + example: + - env:staging + items: + description: A scope. For example, `"env:staging"`. + type: string + type: array + start: + description: |- + POSIX timestamp to start the downtime. + If not provided, the downtime starts the moment it is created. + example: 1412792983 + format: int64 + type: integer + timezone: + description: The timezone in which to display the downtime's start and end times in Datadog applications. + example: America/New_York + type: string + updater_id: + description: ID of the last user that updated the downtime. + example: 123456 + format: int32 + maximum: 2147483647 + nullable: true + readOnly: true + type: integer + readOnly: true + type: object + NotifyEndStates: + default: + - alert + - no data + - warn + description: States for which `notify_end_types` sends out notifications for. + example: + - alert + - no data + - warn + items: + $ref: '#/components/schemas/NotifyEndState' + type: array + NotifyEndTypes: + default: + - expired + description: |- + If set, notifies if a monitor is in an alert-worthy state (`ALERT`, `WARNING`, or `NO DATA`) + when this downtime expires or is canceled. Applied to monitors that change states during + the downtime (such as from `OK` to `ALERT`, `WARNING`, or `NO DATA`), and to monitors that + already have an alert-worthy state when downtime begins. + example: + - canceled + - expired + items: + $ref: '#/components/schemas/NotifyEndType' + type: array + DowntimeRecurrence: + description: An object defining the recurrence of the downtime. + nullable: true + properties: + period: + description: |- + How often to repeat as an integer. + For example, to repeat every 3 days, select a type of `days` and a period of `3`. + example: 1 + format: int32 + maximum: 2147483647 + type: integer + rrule: + description: |- + The `RRULE` standard for defining recurring events (**requires to set "type" to rrule**) + For example, to have a recurring event on the first day of each month, set the type to `rrule` and set the `FREQ` to `MONTHLY` and `BYMONTHDAY` to `1`. + Most common `rrule` options from the [iCalendar Spec](https://tools.ietf.org/html/rfc5545) are supported. + + **Note**: Attributes specifying the duration in `RRULE` are not supported (for example, `DTSTART`, `DTEND`, `DURATION`). + More examples available in this [downtime guide](https://docs.datadoghq.com/monitors/guide/suppress-alert-with-downtimes/?tab=api) + example: FREQ=MONTHLY;BYSETPOS=3;BYDAY=WE;INTERVAL=1 + type: string + type: + description: The type of recurrence. Choose from `days`, `weeks`, `months`, `years`, `rrule`. + example: weeks + type: string + until_date: + description: |- + The date at which the recurrence should end as a POSIX timestamp. + `until_occurences` and `until_date` are mutually exclusive. + example: 1447786293 + format: int64 + nullable: true + type: integer + until_occurrences: + description: |- + How many times the downtime is rescheduled. + `until_occurences` and `until_date` are mutually exclusive. + example: 2 + format: int32 + maximum: 2147483647 + nullable: true + type: integer + week_days: + description: |- + A list of week days to repeat on. Choose from `Mon`, `Tue`, `Wed`, `Thu`, `Fri`, `Sat` or `Sun`. + Only applicable when type is weeks. First letter must be capitalized. + example: + - Mon + - Tue + items: + description: A day of the week, formatted as `Mon`, `Tue`, `Wed`, `Thu`, `Fri`, `Sat` or `Sun`. + type: string + nullable: true + type: array + type: object + EventV1: + description: Object representing an event. + properties: + alert_type: + $ref: '#/components/schemas/EventAlertType' + date_happened: + description: |- + POSIX timestamp of the event. Must be sent as an integer (that is no quotes). + Limited to events up to 18 hours in the past and two hours in the future. + format: int64 + type: integer + device_name: + description: A device name. + type: string + host: + description: |- + Host name to associate with the event. + Any tags associated with the host are also applied to this event. + type: string + id: + description: Integer ID of the event. + format: int64 + readOnly: true + type: integer + id_str: + description: |- + Handling IDs as large 64-bit numbers can cause loss of accuracy issues with some programming languages. + Instead, use the string representation of the Event ID to avoid losing accuracy. + readOnly: true + type: string + payload: + description: Payload of the event. + example: '{}' + readOnly: true + type: string + priority: + $ref: '#/components/schemas/EventPriorityV1' + source_type_name: + description: |- + The type of event being posted. Option examples include nagios, hudson, jenkins, my_apps, chef, puppet, git, bitbucket, etc. + The list of standard source attribute values [available here](https://docs.datadoghq.com/integrations/faq/list-of-api-source-attribute-value). + type: string + tags: + description: A list of tags to apply to the event. + example: + - environment:test + items: + description: A tag. + type: string + type: array + text: + description: |- + The body of the event. Limited to 4000 characters. The text supports markdown. + To use markdown in the event text, start the text block with `%%% \n` and end the text block with `\n %%%`. + Use `msg_text` with the Datadog Ruby library. + example: Oh boy! + maxLength: 4000 + type: string + title: + description: The event title. + example: Did you hear the news today? + type: string + url: + description: URL of the event. + readOnly: true + type: string + type: object + EventAlertType: + description: |- + If an alert event is enabled, set its type. + For example, `error`, `warning`, `info`, `success`, `user_update`, + `recommendation`, and `snapshot`. + enum: + - error + - warning + - info + - success + - user_update + - recommendation + - snapshot + example: info + type: string + x-enum-varnames: + - ERROR + - WARNING + - INFO + - SUCCESS + - USER_UPDATE + - RECOMMENDATION + - SNAPSHOT + SLOListResponseMetadata: + description: The metadata object containing additional information about the list of SLOs. + properties: + page: + $ref: '#/components/schemas/SLOListResponseMetadataPage' + type: object + ServiceLevelObjectiveQuery: + description: |- + A count-based (metric) SLO query. This field is superseded by `sli_specification` but is retained for backwards compatibility. Note that Datadog only allows the sum by aggregator + to be used because this will sum up all request counts instead of averaging them, or taking the max or + min of all of those requests. + properties: + denominator: + description: A Datadog metric query for total (valid) events. + example: sum:my.custom.metric{*}.as_count() + type: string + numerator: + description: A Datadog metric query for good events. + example: sum:my.custom.metric{type:good}.as_count() + type: string + required: + - numerator + - denominator + type: object + SLOSliSpec: + description: A generic SLI specification. This is used for time-slice and count-based (metric) SLOs only. + additionalProperties: false + example: + time_slice: + comparator: < + query: + formulas: + - formula: query2/query1 + queries: + - data_source: metrics + name: query1 + query: sum:trace.servlet.request.hits{*} by {env}.as_count() + - data_source: metrics + name: query2 + query: sum:trace.servlet.request.errors{*} by {env}.as_count() + threshold: 5 + count: + bad_events_formula: query2 + good_events_formula: query1 + queries: + - data_source: metrics + name: query1 + query: sum:trace.servlet.request.hits{!http.status_code:500} by {env}.as_count() + - data_source: metrics + name: query2 + query: sum:trace.servlet.request.hits{http.status_code:500} by {env}.as_count() + properties: + time_slice: + $ref: '#/components/schemas/SLOTimeSliceCondition' + count: + $ref: '#/components/schemas/SLOCountDefinition' + required: + - time_slice + - count + type: object + SLOThreshold: + description: SLO thresholds (target and optionally warning) for a single time window. + properties: + target: + description: |- + The target value for the service level indicator within the corresponding + timeframe. + example: 99.9 + format: double + type: number + target_display: + description: |- + A string representation of the target that indicates its precision. + It uses trailing zeros to show significant decimal places (for example `98.00`). + + Always included in service level objective responses. Ignored in + create/update requests. + example: '99.9' + type: string + timeframe: + $ref: '#/components/schemas/SLOTimeframe' + warning: + description: The warning value for the service level objective. + example: 90 + format: double + type: number + warning_display: + description: |- + A string representation of the warning target (see the description of + the `target_display` field for details). + + Included in service level objective responses if a warning target exists. + Ignored in create/update requests. + example: '90.0' + type: string + required: + - timeframe + - target + type: object + SLOTimeframe: + description: |- + The SLO time window options. Note that "custom" is not a valid option for creating + or updating SLOs. It is only used when querying SLO history over custom timeframes. + enum: + - 7d + - 30d + - 90d + - custom + example: 30d + type: string + x-enum-varnames: + - SEVEN_DAYS + - THIRTY_DAYS + - NINETY_DAYS + - CUSTOM + SLOType: + description: The type of the service level objective. + enum: + - metric + - monitor + - time_slice + example: metric + type: string + x-enum-varnames: + - METRIC + - MONITOR + - TIME_SLICE + SLOBulkDeleteResponseData: + description: An array of service level objective objects. + properties: + deleted: + description: |- + An array of service level objective object IDs that indicates + which objects that were completely deleted. + items: + description: A deleted SLO ID. + type: string + type: array + updated: + description: |- + An array of service level objective object IDs that indicates + which objects that were modified (objects for which at least one + threshold was deleted, but that were not completely deleted). + items: + description: An updated SLO ID. + type: string + type: array + type: object + SLOBulkDeleteError: + description: Object describing the error. + properties: + id: + description: |- + The ID of the service level objective object associated with + this error. + example: '' + type: string + message: + description: The error message. + example: '' + type: string + timeframe: + $ref: '#/components/schemas/SLOErrorTimeframe' + required: + - id + - timeframe + - message + type: object + CheckCanDeleteSLOResponseData: + description: An array of service level objective objects. + properties: + ok: + description: An array of SLO IDs that can be safely deleted. + items: + description: An SLO ID. + type: string + type: array + type: object + SLOCorrection: + description: The response object of a list of SLO corrections. + properties: + attributes: + $ref: '#/components/schemas/SLOCorrectionResponseAttributes' + id: + description: The ID of the SLO correction. + type: string + type: + $ref: '#/components/schemas/SLOCorrectionType' + type: object + ResponseMetaAttributes: + description: Object describing meta attributes of response. + properties: + page: + $ref: '#/components/schemas/Pagination' + type: object + SLOCorrectionCreateData: + description: The data object associated with the SLO correction to be created. + properties: + attributes: + $ref: '#/components/schemas/SLOCorrectionCreateRequestAttributes' + type: + $ref: '#/components/schemas/SLOCorrectionType' + required: + - type + type: object + SLOCorrectionUpdateData: + description: The data object associated with the SLO correction to be updated. + properties: + attributes: + $ref: '#/components/schemas/SLOCorrectionUpdateRequestAttributes' + type: + $ref: '#/components/schemas/SLOCorrectionType' + type: object + SearchSLOResponseData: + description: Data from search SLO response. + properties: + attributes: + $ref: '#/components/schemas/SearchSLOResponseDataAttributes' + type: + description: Type of service level objective result. + example: '' + type: string + type: object + SearchSLOResponseLinks: + description: Pagination links. + properties: + first: + description: Link to last page. + type: string + last: + description: Link to first page. + nullable: true + type: string + next: + description: Link to the next page. + type: string + prev: + description: Link to previous page. + nullable: true + type: string + self: + description: Link to current page. + type: string + type: object + SearchSLOResponseMeta: + description: Searches metadata returned by the API. + properties: + pagination: + $ref: '#/components/schemas/SearchSLOResponseMetaPage' + type: object + SLOResponseData: + description: |- + A service level objective object includes a service level indicator, thresholds + for one or more timeframes, and metadata (`name`, `description`, `tags`, etc.). + properties: + configured_alert_ids: + description: A list of SLO monitors IDs that reference this SLO. This field is returned only when `with_configured_alert_ids` parameter is true in query. + example: + - 123 + - 456 + - 789 + items: + description: A monitor ID. + format: int64 + type: integer + type: array + created_at: + description: |- + Creation timestamp (UNIX time in seconds) + + Always included in service level objective responses. + format: int64 + readOnly: true + type: integer + creator: + $ref: '#/components/schemas/CreatorV1' + description: + description: |- + A user-defined description of the service level objective. + + Always included in service level objective responses (but may be `null`). + Optional in create/update requests. + nullable: true + type: string + groups: + description: |- + A list of (up to 20) monitor groups that narrow the scope of a monitor service level objective. + + Included in service level objective responses if it is not empty. Optional in + create/update requests for monitor service level objectives, but may only be + used when then length of the `monitor_ids` field is one. + example: + - env:prod + - role:mysql + items: + description: A group name, for instance `env:prod`. + type: string + type: array + id: + description: |- + A unique identifier for the service level objective object. + + Always included in service level objective responses. + readOnly: true + type: string + modified_at: + description: |- + Modification timestamp (UNIX time in seconds) + + Always included in service level objective responses. + format: int64 + readOnly: true + type: integer + monitor_ids: + description: |- + A list of monitor ids that defines the scope of a monitor service level + objective. **Required if type is `monitor`**. + items: + description: A monitor ID. + format: int64 + type: integer + type: array + monitor_tags: + description: |- + The union of monitor tags for all monitors referenced by the `monitor_ids` + field. + Always included in service level objective responses for monitor service level + objectives (but may be empty). Ignored in create/update requests. Does not + affect which monitors are included in the service level objective (that is + determined entirely by the `monitor_ids` field). + items: + description: A monitor tag. + type: string + type: array + name: + description: The name of the service level objective object. + example: Custom Metric SLO + type: string + query: + $ref: '#/components/schemas/ServiceLevelObjectiveQuery' + description: The metric query used to define a count-based SLO as the ratio of good events to total events. + sli_specification: + $ref: '#/components/schemas/SLOSliSpec' + description: A generic SLI specification. This is currently used for time-slice and count-based (metric) SLOs only. + tags: + description: |- + A list of tags associated with this service level objective. + Always included in service level objective responses (but may be empty). + Optional in create/update requests. + example: + - env:prod + - app:core + items: + description: A tag to apply to your SLO. + type: string + type: array + target_threshold: + description: |- + The target threshold such that when the service level indicator is above this + threshold over the given timeframe, the objective is being met. + example: 99.9 + format: double + type: number + thresholds: + description: |- + The thresholds (timeframes and associated targets) for this service level + objective object. + example: + - target: 95 + timeframe: 7d + - target: 95 + timeframe: 30d + warning: 97 + items: + $ref: '#/components/schemas/SLOThreshold' + type: array + timeframe: + $ref: '#/components/schemas/SLOTimeframe' + type: + $ref: '#/components/schemas/SLOType' + warning_threshold: + description: |- + The optional warning threshold such that when the service level indicator is + below this value for the given threshold, but above the target threshold, the + objective appears in a "warning" state. This value must be greater than the target + threshold. + example: 99.95 + format: double + type: number + type: object + CreatorV1: + description: Object describing the creator of the shared element. + properties: + email: + description: Email of the creator. + type: string + handle: + description: Handle of the creator. + type: string + name: + description: Name of the creator. + nullable: true + type: string + readOnly: true + type: object + SLOHistoryResponseData: + description: An array of service level objective objects. + properties: + from_ts: + description: The `from` timestamp in epoch seconds. + example: 1615323990 + format: int64 + type: integer + group_by: + description: |- + For `metric` based SLOs where the query includes a group-by clause, this represents the list of grouping parameters. + + This is not included in responses for `monitor` based SLOs. + items: + description: A grouping parameter. + type: string + type: array + groups: + description: |- + For grouped SLOs, this represents SLI data for specific groups. + + This is not included in the responses for `metric` based SLOs. + items: + $ref: '#/components/schemas/SLOHistoryMonitor' + type: array + monitors: + description: |- + For multi-monitor SLOs, this represents SLI data for specific monitors. + + This is not included in the responses for `metric` based SLOs. + items: + $ref: '#/components/schemas/SLOHistoryMonitor' + type: array + overall: + $ref: '#/components/schemas/SLOHistorySLIData' + series: + $ref: '#/components/schemas/SLOHistoryMetrics' + thresholds: + additionalProperties: + $ref: '#/components/schemas/SLOThreshold' + description: mapping of string timeframe to the SLO threshold. + example: + my_service: + target: 95 + timeframe: 7d + type: object + to_ts: + description: The `to` timestamp in epoch seconds. + example: 1615928790 + format: int64 + type: integer + type: + $ref: '#/components/schemas/SLOType' + type_id: + $ref: '#/components/schemas/SLOTypeNumeric' + type: object + SLOHistoryResponseError: + description: A list of errors while querying the history data for the service level objective. + properties: + error: + description: Human readable error. + type: string + type: object + ListInvestigationsResponseDataAttributes: + description: Attributes of an investigation list item. + properties: + status: + description: The current status of the investigation. + example: conclusive + type: string + title: + description: The title of the investigation. + example: Monitor alert investigation for web-server-01 + type: string + required: + - status + - title + type: object + InvestigationType: + description: The resource type for investigations. + enum: + - investigation + example: investigation + type: string + x-enum-varnames: + - INVESTIGATION + ListInvestigationsResponseMetaPage: + description: Pagination metadata. + properties: + limit: + description: Maximum number of results per page. + example: 10 + format: int64 + type: integer + offset: + description: Offset of the current page. + example: 0 + format: int64 + type: integer + total: + description: Total number of investigations. + example: 50 + format: int64 + type: integer + required: + - total + - limit + - offset + type: object + JSONAPIErrorItemSource: + description: References to the source of the error. + properties: + header: + description: A string indicating the name of a single request header which caused the error. + example: Authorization + type: string + parameter: + description: A string indicating which URI query parameter caused the error. + example: limit + type: string + pointer: + description: A JSON pointer to the value in the request document that caused the error. + example: /data/attributes/title + type: string + type: object + TriggerInvestigationRequestDataAttributes: + description: Attributes for the trigger investigation request. + properties: + trigger: + $ref: '#/components/schemas/TriggerAttributes' + required: + - trigger + type: object + TriggerInvestigationRequestType: + description: The resource type for trigger investigation requests. + enum: + - trigger_investigation_request + example: trigger_investigation_request + type: string + x-enum-varnames: + - TRIGGER_INVESTIGATION_REQUEST + TriggerInvestigationResponseDataAttributes: + description: Attributes for the trigger investigation response. + properties: + investigation_id: + description: The ID of the investigation that was created. + example: a1b2c3d4-5e6f-7a8b-9c0d-1e2f3a4b5c6d + type: string + required: + - investigation_id + type: object + TriggerInvestigationResponseType: + description: The resource type for trigger investigation responses. + enum: + - trigger_investigation_response + example: trigger_investigation_response + type: string + x-enum-varnames: + - TRIGGER_INVESTIGATION_RESPONSE + GetInvestigationResponseDataAttributes: + description: Attributes of the investigation. + properties: + conclusions: + description: The conclusions drawn from the investigation. + items: + $ref: '#/components/schemas/InvestigationConclusion' + type: array + status: + description: The current status of the investigation. + example: conclusive + type: string + title: + description: The title of the investigation. + example: Monitor alert investigation for web-server-01 + type: string + required: + - title + - status + - conclusions + type: object + CaseAttributes: + description: Case resource attributes + properties: + archived_at: + description: Timestamp of when the case was archived + format: date-time + nullable: true + readOnly: true + type: string + attributes: + $ref: '#/components/schemas/CaseObjectAttributes' + closed_at: + description: Timestamp of when the case was closed + format: date-time + nullable: true + readOnly: true + type: string + created_at: + description: Timestamp of when the case was created + format: date-time + readOnly: true + type: string + custom_attributes: + additionalProperties: + $ref: '#/components/schemas/CustomAttributeValue' + description: Case custom attributes + type: object + description: + description: Description + type: string + jira_issue: + $ref: '#/components/schemas/JiraIssue' + key: + description: Key + example: CASEM-4523 + type: string + modified_at: + description: Timestamp of when the case was last modified + format: date-time + nullable: true + readOnly: true + type: string + priority: + $ref: '#/components/schemas/CasePriority' + service_now_ticket: + $ref: '#/components/schemas/ServiceNowTicket' + status: + $ref: '#/components/schemas/CaseStatus' + status_group: + $ref: '#/components/schemas/CaseStatusGroup' + status_name: + $ref: '#/components/schemas/CaseStatusName' + title: + description: Title + example: Memory leak investigation on API + type: string + type: + $ref: '#/components/schemas/CaseType' + type_id: + description: Case type UUID + example: 3b010bde-09ce-4449-b745-71dd5f861963 + type: string + type: object + CaseRelationships: + description: Resources related to a case + properties: + assignee: + $ref: '#/components/schemas/NullableUserRelationship' + created_by: + $ref: '#/components/schemas/NullableUserRelationship' + modified_by: + $ref: '#/components/schemas/NullableUserRelationship' + project: + $ref: '#/components/schemas/ProjectRelationship' + type: object + CaseResourceType: + default: case + description: JSON:API resource type for cases. + enum: + - case + example: case + type: string + x-enum-varnames: + - CASE + CasesResponseMetaPagination: + description: Pagination metadata + properties: + current: + description: Current page number + format: int64 + type: integer + size: + description: Number of cases in current page + format: int64 + type: integer + total: + description: Total number of pages + format: int64 + type: integer + type: object + CaseCreateAttributes: + description: Case creation attributes + properties: + custom_attributes: + additionalProperties: + $ref: '#/components/schemas/CustomAttributeValue' + description: Case custom attributes + type: object + description: + description: Description + type: string + priority: + $ref: '#/components/schemas/CasePriority' + status_name: + $ref: '#/components/schemas/CaseStatusName' + title: + description: Title + example: Security breach investigation + type: string + type_id: + description: Case type UUID + example: 3b010bde-09ce-4449-b745-71dd5f861963 + type: string + required: + - title + - type_id + type: object + CaseCreateRelationships: + description: Relationships formed with the case on creation + properties: + assignee: + $ref: '#/components/schemas/NullableUserRelationship' + project: + $ref: '#/components/schemas/ProjectRelationship' + required: + - project + type: object + CaseAggregateRequestAttributes: + description: Attributes for the aggregation request, including the search query and grouping configuration. + properties: + group_by: + $ref: '#/components/schemas/CaseAggregateGroupBy' + query_filter: + description: A search query to filter which cases are included in the aggregation. Uses the same syntax as the Case Management search bar. + example: service:case-api + type: string + required: + - query_filter + - group_by + type: object + CaseAggregateResourceType: + description: JSON:API resource type for case aggregation requests. + enum: + - aggregate + example: aggregate + type: string + x-enum-varnames: + - AGGREGATE + CaseAggregateResponseAttributes: + description: Attributes of the aggregation result, including the total count across all groups and the per-group breakdowns. + properties: + groups: + description: Aggregated groups. + items: + $ref: '#/components/schemas/CaseAggregateGroup' + type: array + total: + description: Total count of aggregated cases. + example: 100 + format: double + type: number + required: + - total + - groups + type: object + CaseBulkUpdateRequestAttributes: + description: Attributes for the bulk update, specifying which cases to update and the action to apply. + properties: + case_ids: + description: An array of case identifiers to apply the bulk action to. + example: + - case-id-1 + - case-id-2 + items: + type: string + type: array + payload: + additionalProperties: + type: string + description: A key-value map of action-specific parameters. The required keys depend on the action type (for example, `priority` for the priority action, `assignee_id` for assign). + example: + priority: P1 + type: object + type: + $ref: '#/components/schemas/CaseBulkActionType' + required: + - case_ids + - type + type: object + CaseBulkResourceType: + description: JSON:API resource type for bulk case operations. + enum: + - bulk + example: bulk + type: string + x-enum-varnames: + - BULK + CaseCountResponseAttributes: + description: Attributes for the count response, including the total count and optional facet breakdowns. + properties: + groups: + description: List of facet groups, one per field specified in `group_bys`. + items: + $ref: '#/components/schemas/CaseCountGroup' + type: array + required: + - groups + type: object + CaseLinkAttributes: + description: Attributes describing a directional relationship between two entities (cases, incidents, or pages). + properties: + child_entity_id: + description: The UUID of the child (target) entity in the relationship. + example: 4417921d-0866-4a38-822c-6f2a0f65f77d + type: string + child_entity_type: + description: 'The type of the child entity. Allowed values: `CASE`, `INCIDENT`, `PAGE`, `AGENT_CONVERSATION`.' + example: CASE + type: string + parent_entity_id: + description: The UUID of the parent (source) entity in the relationship. + example: bf0cbac6-4c16-4cfb-b6bf-ca5e0ec37a4f + type: string + parent_entity_type: + description: 'The type of the parent entity. Allowed values: `CASE`, `INCIDENT`, `PAGE`, `AGENT_CONVERSATION`.' + example: CASE + type: string + relationship: + description: 'The type of directional relationship. Allowed values: `RELATES_TO` (bidirectional association), `CAUSES` (parent causes child), `BLOCKS` (parent blocks child), `DUPLICATES` (parent duplicates child), `PARENT_OF` (hierarchical), `SUCCESSOR_OF` (sequence), `ESCALATES_TO` (priority escalation).' + example: BLOCKS + type: string + required: + - relationship + - parent_entity_id + - parent_entity_type + - child_entity_id + - child_entity_type + type: object + CaseLinkResourceType: + description: JSON:API resource type for case links. + enum: + - link + example: link + type: string + x-enum-varnames: + - LINK + ProjectAttributes: + description: Project attributes. + properties: + columns_config: + $ref: '#/components/schemas/ProjectColumnsConfig' + enabled_custom_case_types: + description: List of enabled custom case type IDs. + items: + description: A custom case type identifier. + type: string + type: array + key: + description: The project's key. + example: CASEM + type: string + name: + description: Project's name. + example: Security Investigation + type: string + restricted: + description: Whether the project is restricted. + type: boolean + settings: + $ref: '#/components/schemas/ProjectSettings' + type: object + ProjectRelationships: + description: Project relationships. + properties: + member_team: + $ref: '#/components/schemas/RelationshipToTeamLinks' + member_user: + $ref: '#/components/schemas/UsersRelationship' + type: object + ProjectResourceType: + default: project + description: Project resource type. + enum: + - project + example: project + type: string + x-enum-varnames: + - PROJECT + ProjectCreateAttributes: + description: Project creation attributes. + properties: + enabled_custom_case_types: + description: List of enabled custom case type IDs. + items: + description: A custom case type identifier. + type: string + type: array + key: + description: Project's key. Cannot be "CASE". + example: SEC + type: string + name: + description: Project name. + example: Security Investigation + type: string + team_uuid: + description: Team UUID to associate with the project. + type: string + required: + - name + - key + type: object + ProjectFavoriteResourceType: + default: project_favorite + description: JSON:API resource type for project favorites. + enum: + - project_favorite + example: project_favorite + type: string + x-enum-varnames: + - PROJECT_FAVORITE + ProjectUpdateAttributes: + description: Project update attributes. + properties: + columns_config: + $ref: '#/components/schemas/ProjectColumnsConfig' + enabled_custom_case_types: + description: List of enabled custom case type IDs. + items: + description: A custom case type identifier. + type: string + type: array + name: + description: Project name. + type: string + settings: + $ref: '#/components/schemas/ProjectSettings' + team_uuid: + description: Team UUID to associate with the project. + type: string + type: object + CaseNotificationRuleAttributes: + description: Notification rule attributes + properties: + is_enabled: + description: Whether the notification rule is enabled + type: boolean + query: + description: Query to filter cases for this notification rule + type: string + recipients: + description: List of notification recipients + items: + $ref: '#/components/schemas/CaseNotificationRuleRecipient' + type: array + triggers: + description: List of triggers for this notification rule + items: + $ref: '#/components/schemas/CaseNotificationRuleTrigger' + type: array + type: object + CaseNotificationRuleResourceType: + default: notification_rule + description: Notification rule resource type + enum: + - notification_rule + example: notification_rule + type: string + x-enum-varnames: + - NOTIFICATION_RULE + CaseNotificationRuleCreateAttributes: + description: Notification rule creation attributes + properties: + is_enabled: + default: true + description: Whether the notification rule is enabled + type: boolean + query: + description: Query to filter cases for this notification rule + type: string + recipients: + description: List of notification recipients + items: + $ref: '#/components/schemas/CaseNotificationRuleRecipient' + type: array + triggers: + description: List of triggers for this notification rule + items: + $ref: '#/components/schemas/CaseNotificationRuleTrigger' + type: array + required: + - recipients + - triggers + type: object + AutomationRuleAttributes: + description: Core attributes of an automation rule, including its name, trigger condition, action to execute, and current state. + properties: + action: + $ref: '#/components/schemas/AutomationRuleAction' + created_at: + description: Timestamp when the automation rule was created. + example: '2024-01-01T00:00:00.000Z' + format: date-time + readOnly: true + type: string + modified_at: + description: Timestamp when the automation rule was last modified. + format: date-time + readOnly: true + type: string + name: + description: A human-readable name for the automation rule, used to identify the rule in the UI and API responses. + example: Auto-assign workflow + type: string + state: + $ref: '#/components/schemas/CaseAutomationRuleState' + trigger: + $ref: '#/components/schemas/AutomationRuleTrigger' + required: + - name + - trigger + - action + - state + - created_at + type: object + AutomationRuleRelationships: + description: Related resources for the automation rule, including the users who created and last modified it. + properties: + created_by: + $ref: '#/components/schemas/NullableUserRelationship' + modified_by: + $ref: '#/components/schemas/NullableUserRelationship' + type: object + CaseAutomationRuleResourceType: + default: rule + description: JSON:API resource type for case automation rules. + enum: + - rule + example: rule + type: string + x-enum-varnames: + - RULE + AutomationRuleCreateAttributes: + description: Attributes required to create an automation rule. + properties: + action: + $ref: '#/components/schemas/AutomationRuleAction' + name: + description: Name of the automation rule. + example: Auto-assign workflow + type: string + state: + $ref: '#/components/schemas/CaseAutomationRuleState' + trigger: + $ref: '#/components/schemas/AutomationRuleTrigger' + required: + - name + - trigger + - action + type: object + CaseTypeResourceAttributes: + description: Attributes of a case type, which define a classification category for cases. Organizations use case types to model different workflows (for example, Security Incident, Bug Report, Change Request). + properties: + deleted_at: + description: Timestamp when the case type was marked as deleted. A null value indicates the case type is active. + format: date-time + nullable: true + readOnly: true + type: string + description: + description: A detailed description explaining when this case type should be used. + example: Investigations done in case management + type: string + emoji: + description: An emoji icon representing the case type in the UI. + example: 🕵🏻‍♂️ + type: string + name: + description: The display name of the case type, shown in the Case Management UI when creating or viewing cases. + example: Investigation + type: string + required: + - name + type: object + CaseTypeResourceType: + default: case_type + description: JSON:API resource type for case types. + enum: + - case_type + example: case_type + type: string + x-enum-varnames: + - CASE_TYPE + CustomAttributeConfigResourceAttributes: + description: Attributes of a custom attribute configuration, defining an organization-specific metadata field that can be added to cases of a given type. + properties: + case_type_id: + description: The UUID of the case type this custom attribute belongs to. + example: aeadc05e-98a8-11ec-ac2c-da7ad0900001 + type: string + description: + description: A description explaining the purpose and expected values for this custom attribute. + example: AWS Region, must be a valid region supported by AWS + type: string + display_name: + description: The human-readable label shown in the Case Management UI for this custom attribute. + example: AWS Region + type: string + is_multi: + description: If `true`, this attribute accepts an array of values. If `false`, only a single value is allowed. + example: true + type: boolean + key: + description: The programmatic key used to reference this custom attribute in search queries and API calls. + example: aws_region + type: string + type: + $ref: '#/components/schemas/CustomAttributeType' + required: + - case_type_id + - display_name + - key + - type + - is_multi + type: object + CustomAttributeConfigResourceType: + default: custom_attribute + description: JSON:API resource type for custom attribute configurations. + enum: + - custom_attribute + example: custom_attribute + type: string + x-enum-varnames: + - CUSTOM_ATTRIBUTE + CustomAttributeConfigAttributesCreate: + description: Attributes required to create a custom attribute configuration. + properties: + description: + description: A description explaining the purpose and expected values for this custom attribute. + example: AWS Region, must be a valid region supported by AWS + type: string + display_name: + description: The human-readable label shown in the Case Management UI for this custom attribute. + example: AWS Region + type: string + is_multi: + description: If `true`, this attribute accepts an array of values. If `false`, only a single value is allowed. + example: true + type: boolean + key: + description: The programmatic key used to reference this custom attribute in search queries and API calls. + example: aws_region + type: string + type: + $ref: '#/components/schemas/CustomAttributeType' + required: + - display_name + - key + - type + - is_multi + type: object + CustomAttributeConfigUpdateAttributes: + description: Attributes that can be updated on a custom attribute configuration. All fields are optional; only provided fields are changed. + properties: + description: + description: A description explaining the purpose and expected values for this custom attribute. + example: Updated description. + type: string + display_name: + description: The human-readable label shown in the Case Management UI for this custom attribute. + example: AWS Region + type: string + map_from: + description: An external field identifier to auto-populate this attribute from (used for integrations with external systems). + type: string + type: + $ref: '#/components/schemas/CustomAttributeType' + type_data: + $ref: '#/components/schemas/CustomAttributeTypeData' + type: object + CaseViewAttributes: + description: Attributes of a case view, including the filter query and optional notification rule. + properties: + created_at: + description: Timestamp when the view was created. + example: '2024-01-01T00:00:00.000Z' + format: date-time + readOnly: true + type: string + modified_at: + description: Timestamp when the view was last modified. + format: date-time + readOnly: true + type: string + name: + description: A human-readable name for the view, displayed in the Case Management UI. + example: Open bugs + type: string + np_rule_id: + description: The identifier of a notification rule linked to this view. When set, users subscribed to the view receive alerts for matching cases. + type: string + query: + description: The search query that determines which cases appear in this view. Uses the same syntax as the Case Management search bar (for example, `status:open priority:P1`). + example: status:open type:bug + type: string + required: + - name + - query + - created_at + type: object + CaseViewRelationships: + description: Related resources for the case view, including the creator, last modifier, and associated project. + properties: + created_by: + $ref: '#/components/schemas/NullableUserRelationship' + modified_by: + $ref: '#/components/schemas/NullableUserRelationship' + project: + $ref: '#/components/schemas/ProjectRelationship' + type: object + CaseViewResourceType: + default: view + description: JSON:API resource type for case views. + enum: + - view + example: view + type: string + x-enum-varnames: + - VIEW + CaseViewCreateAttributes: + description: Attributes required to create a case view. + properties: + name: + description: The name of the view. + example: Open bugs + type: string + np_rule_id: + description: The identifier of a notification rule linked to this view. When set, users subscribed to the view receive alerts for matching cases. + type: string + project_id: + description: The UUID of the project this view belongs to. Views are scoped to a single project. + example: e555e290-ed65-49bd-ae18-8acbfcf18db7 + type: string + query: + description: The query used to filter cases in this view. + example: status:open type:bug + type: string + required: + - name + - query + - project_id + type: object + CaseViewUpdateAttributes: + description: Attributes that can be updated on a case view. All fields are optional; only provided fields are changed. + properties: + name: + description: The name of the view. + type: string + np_rule_id: + description: The identifier of a notification rule linked to this view. When set, users subscribed to the view receive alerts for matching cases. + type: string + query: + description: The query used to filter cases in this view. + type: string + type: object + CaseAssignAttributes: + description: Case assign attributes + properties: + assignee_id: + description: Assignee's UUID + example: f98a5a5b-e0ff-45d4-b2f5-afe6e74de504 + type: string + required: + - assignee_id + type: object + CaseUpdateAttributesAttributes: + description: Case update attributes attributes + properties: + attributes: + $ref: '#/components/schemas/CaseObjectAttributes' + required: + - attributes + type: object + CaseCommentAttributes: + description: Case comment attributes + properties: + comment: + description: The `CaseCommentAttributes` `message`. + example: This is my comment ! + type: string + required: + - comment + type: object + TimelineCell: + description: Attributes of a timeline cell, representing a single event in a case's chronological activity log (for example, a comment, status change, or assignment update). + properties: + author: + $ref: '#/components/schemas/TimelineCellAuthor' + cell_content: + $ref: '#/components/schemas/TimelineCellContent' + created_at: + description: Timestamp of when the cell was created + format: date-time + readOnly: true + type: string + deleted_at: + description: Timestamp of when the cell was deleted + format: date-time + readOnly: true + type: string + modified_at: + description: Timestamp of when the cell was last modified + format: date-time + readOnly: true + type: string + type: + $ref: '#/components/schemas/TimelineCellType' + type: object + TimelineCellResourceType: + default: timeline_cell + description: JSON:API resource type for timeline cells. + enum: + - timeline_cell + example: timeline_cell + type: string + x-enum-varnames: + - TIMELINE_CELL + CaseUpdateCommentAttributes: + description: Attributes for updating a comment. + properties: + comment: + description: The updated comment message. + example: Updated comment text + type: string + required: + - comment + type: object + CustomAttributeValue: + description: A typed value for a custom attribute on a specific case. + properties: + is_multi: + description: If true, value must be an array + example: false + type: boolean + type: + $ref: '#/components/schemas/CustomAttributeType' + value: + $ref: '#/components/schemas/CustomAttributeValuesUnion' + required: + - type + - is_multi + - value + type: object + CaseUpdateDescriptionAttributes: + description: Case update description attributes + properties: + description: + description: Case new description + example: Seeing some weird memory increase... We shouldn't ignore this + type: string + required: + - description + type: object + CaseUpdateDueDateAttributes: + description: Attributes for setting or clearing a case's due date. + properties: + due_date: + description: The target resolution date for the case, in `YYYY-MM-DD` format. Set to `null` to clear the due date. + example: '2026-12-31' + type: string + required: + - due_date + type: object + CaseInsightsAttributes: + description: Attributes for adding or removing insights from a case. + properties: + insights: + description: Array of insights to add to or remove from a case. + items: + $ref: '#/components/schemas/CaseInsight' + maxItems: 100 + minItems: 1 + type: array + required: + - insights + type: object + CaseUpdatePriorityAttributes: + description: Case update priority attributes + properties: + priority: + $ref: '#/components/schemas/CasePriority' + required: + - priority + type: object + IncidentResourceType: + description: Incident resource type + enum: + - incidents + example: incidents + type: string + x-enum-varnames: + - INCIDENTS + JiraIssueLinkAttributes: + description: Jira issue link attributes + properties: + jira_issue_url: + description: URL of the Jira issue + example: https://jira.example.com/browse/PROJ-123 + type: string + required: + - jira_issue_url + type: object + JiraIssueResourceType: + description: Jira issue resource type + enum: + - issues + example: issues + type: string + x-enum-varnames: + - ISSUES + JiraIssueCreateAttributes: + description: Jira issue creation attributes + properties: + fields: + additionalProperties: {} + description: Additional Jira fields + example: {} + type: object + issue_type_id: + description: Jira issue type ID + example: '10001' + type: string + jira_account_id: + description: Jira account ID + example: '1234' + type: string + project_id: + description: Jira project ID + example: '5678' + type: string + required: + - jira_account_id + - project_id + - issue_type_id + type: object + NotebookResourceType: + description: Notebook resource type + enum: + - notebook + example: notebook + type: string + x-enum-varnames: + - NOTEBOOK + ServiceNowTicketCreateAttributes: + description: ServiceNow ticket creation attributes + properties: + assignment_group: + description: ServiceNow assignment group + example: IT Support + type: string + instance_name: + description: ServiceNow instance name + example: my-instance + type: string + required: + - instance_name + type: object + ServiceNowTicketResourceType: + description: ServiceNow ticket resource type + enum: + - tickets + example: tickets + type: string + x-enum-varnames: + - TICKETS + CaseUpdateResolvedReasonAttributes: + description: Attributes for setting the resolution reason on a security case. + properties: + security_resolved_reason: + description: The reason the security case was resolved (for example, `FALSE_POSITIVE`, `TRUE_POSITIVE`, `BENIGN_POSITIVE`). + example: FALSE_POSITIVE + type: string + required: + - security_resolved_reason + type: object + CaseUpdateStatusAttributes: + description: Case update status attributes + properties: + status: + $ref: '#/components/schemas/CaseStatus' + deprecated: true + status_name: + $ref: '#/components/schemas/CaseStatusName' + type: object + CaseUpdateTitleAttributes: + description: Case update title attributes + properties: + title: + description: Case new title + example: Memory leak investigation on API + type: string + required: + - title + type: object + CaseWatcherRelationships: + description: Relationships for a case watcher, linking to the underlying user resource. + properties: + user: + $ref: '#/components/schemas/CaseWatcherUserRelationship' + required: + - user + type: object + CaseWatcherResourceType: + default: watcher + description: JSON:API resource type for case watchers. + enum: + - watcher + example: watcher + type: string + x-enum-varnames: + - WATCHER + ChangeRequestCreateAttributes: + description: Attributes for creating a change request. + properties: + change_request_linked_incident_uuid: + description: The UUID of an incident to link to the change request. + example: 00000000-0000-0000-0000-000000000000 + type: string + change_request_maintenance_window_query: + description: The maintenance window query for the change request. + example: '' + type: string + change_request_plan: + description: The plan associated with the change request. + example: 1. Deploy to staging 2. Run tests 3. Deploy to production + type: string + change_request_risk: + $ref: '#/components/schemas/ChangeRequestRiskLevel' + change_request_type: + $ref: '#/components/schemas/ChangeRequestChangeType' + description: + description: The description of the change request. + example: Deploying new payment service v2.1 + type: string + end_date: + description: The planned end date of the change request. + example: '2024-01-02T15:00:00Z' + format: date-time + type: string + project_id: + description: The project UUID to associate with the change request. + example: d4bbe1af-f36e-42f1-87c1-493ca35c320e + type: string + requested_teams: + description: A list of team handles to request decisions from. + example: + - team-handle-1 + items: + description: A team handle to request decisions from. + type: string + type: array + start_date: + description: The planned start date of the change request. + example: '2024-01-01T03:00:00Z' + format: date-time + type: string + title: + description: The title of the change request. + example: Deploy new payment service + type: string + required: + - title + type: object + ChangeRequestResourceType: + description: Change request resource type. + enum: + - change_request + example: change_request + type: string + x-enum-varnames: + - CHANGE_REQUEST + ChangeRequestResponseAttributes: + description: Attributes of a change request response. + properties: + archived_at: + description: Timestamp of when the change request was archived. + format: date-time + nullable: true + readOnly: true + type: string + attributes: + $ref: '#/components/schemas/ChangeRequestObjectAttributes' + change_request_linked_incident_uuid: + description: The UUID of the linked incident. + example: '' + type: string + change_request_maintenance_window_query: + description: The maintenance window query for the change request. + example: '' + type: string + change_request_plan: + description: The plan associated with the change request. + example: '' + type: string + change_request_risk: + $ref: '#/components/schemas/ChangeRequestRiskLevel' + change_request_type: + $ref: '#/components/schemas/ChangeRequestChangeType' + closed_at: + description: Timestamp of when the change request was closed. + format: date-time + nullable: true + readOnly: true + type: string + created_at: + description: Timestamp of when the change request was created. + example: '2024-01-01T00:00:00Z' + format: date-time + readOnly: true + type: string + creation_source: + description: The source from which the change request was created. + example: CS_MANUAL + type: string + description: + description: The description of the change request. + example: Deploying new payment service v2.1 + type: string + end_date: + description: The planned end date of the change request. + example: '2024-01-02T15:00:00Z' + format: date-time + type: string + key: + description: The human-readable key of the change request. + example: CHM-1234 + type: string + modified_at: + description: Timestamp of when the change request was last modified. + example: '2024-01-01T00:00:00Z' + format: date-time + readOnly: true + type: string + plan_notebook_id: + description: The notebook ID associated with the change request plan. + example: 0 + format: int64 + type: integer + priority: + description: The priority of the change request. + example: NOT_DEFINED + type: string + project_id: + description: The project UUID associated with the change request. + example: d4bbe1af-f36e-42f1-87c1-493ca35c320e + type: string + start_date: + description: The planned start date of the change request. + example: '2024-01-01T03:00:00Z' + format: date-time + type: string + status: + description: The current status of the change request. + example: OPEN + type: string + title: + description: The title of the change request. + example: Deploy new payment service + type: string + type: + description: The case type. + example: CHANGE_REQUEST + type: string + required: + - key + - title + - type + - priority + - status + - description + - creation_source + - plan_notebook_id + - project_id + - attributes + - created_at + - modified_at + - change_request_type + - change_request_risk + - change_request_plan + - change_request_linked_incident_uuid + - change_request_maintenance_window_query + type: object + ChangeRequestRelationships: + description: Relationships of a change request. + properties: + change_request_decisions: + $ref: '#/components/schemas/ChangeRequestDecisionsRelationship' + created_by: + $ref: '#/components/schemas/ChangeRequestUserRelationship' + modified_by: + $ref: '#/components/schemas/ChangeRequestUserRelationship' + required: + - created_by + - modified_by + - change_request_decisions + type: object + ChangeRequestIncludedItem: + description: An included resource item in the change request response. + properties: + attributes: + $ref: '#/components/schemas/ChangeRequestIncludedUserAttributes' + id: + description: The user UUID. + example: 00000000-0000-0000-0000-000000000000 + type: string + type: + description: The resource type. + example: user + type: string + relationships: + $ref: '#/components/schemas/ChangeRequestDecisionRelationships' + required: + - type + - id + - attributes + type: object + ChangeRequestUpdateAttributes: + description: Attributes for updating a change request. + properties: + change_request_plan: + description: The plan associated with the change request. + example: Updated deployment plan + type: string + change_request_risk: + $ref: '#/components/schemas/ChangeRequestRiskLevel' + change_request_type: + $ref: '#/components/schemas/ChangeRequestChangeType' + end_date: + description: The planned end date of the change request. + example: '2024-01-02T15:00:00Z' + format: date-time + type: string + id: + description: The identifier of the change request to update. + example: CHM-1234 + type: string + start_date: + description: The planned start date of the change request. + example: '2024-01-01T03:00:00Z' + format: date-time + type: string + type: object + ChangeRequestUpdateRelationships: + description: Relationships for updating a change request. + properties: + change_request_decisions: + $ref: '#/components/schemas/ChangeRequestDecisionsRelationship' + type: object + ChangeRequestDecisionCreateItem: + description: An included change request decision for a create or update operation. + properties: + attributes: + $ref: '#/components/schemas/ChangeRequestDecisionCreateAttributes' + id: + description: The decision identifier. + example: decision-id-0 + type: string + relationships: + $ref: '#/components/schemas/ChangeRequestDecisionCreateRelationships' + type: + $ref: '#/components/schemas/ChangeRequestDecisionResourceType' + required: + - type + - id + type: object + ChangeRequestBranchCreateAttributes: + description: Attributes for creating a change request branch. + properties: + branch_name: + description: The name of the branch to create. + example: chm/CHM-1234 + type: string + repo_id: + description: The repository identifier in the format owner/repository. + example: DataDog/dd-source + type: string + required: + - repo_id + - branch_name + type: object + ChangeRequestBranchResourceType: + description: Change request branch resource type. + enum: + - change_request_branch + example: change_request_branch + type: string + x-enum-varnames: + - CHANGE_REQUEST_BRANCH + ChangeRequestDecisionUpdateDataAttributes: + description: Attributes of the parent change request for a decision update. + properties: + id: + description: The identifier of the change request. + example: CHM-1234 + type: string + type: object + ChangeRequestDecisionUpdateDataRelationships: + description: Relationships for updating a change request decision. + properties: + change_request_decisions: + $ref: '#/components/schemas/ChangeRequestDecisionsRelationship' + required: + - change_request_decisions + type: object + DowntimeResponseAttributes: + description: Downtime details. + properties: + canceled: + description: Time that the downtime was canceled. + example: 2020-01-02T03:04:05.282979+0000 + format: date-time + nullable: true + type: string + created: + description: Creation time of the downtime. + example: 2020-01-02T03:04:05.282979+0000 + format: date-time + type: string + display_timezone: + $ref: '#/components/schemas/DowntimeDisplayTimezone' + message: + $ref: '#/components/schemas/DowntimeMessage' + modified: + description: Time that the downtime was last modified. + example: 2020-01-02T03:04:05.282979+0000 + format: date-time + type: string + monitor_identifier: + $ref: '#/components/schemas/DowntimeMonitorIdentifier' + mute_first_recovery_notification: + $ref: '#/components/schemas/DowntimeMuteFirstRecoveryNotification' + notify_end_states: + $ref: '#/components/schemas/DowntimeNotifyEndStates' + notify_end_types: + $ref: '#/components/schemas/DowntimeNotifyEndTypes' + schedule: + $ref: '#/components/schemas/DowntimeScheduleResponse' + scope: + $ref: '#/components/schemas/DowntimeScope' + status: + $ref: '#/components/schemas/DowntimeStatus' + type: object + DowntimeRelationships: + description: All relationships associated with downtime. + properties: + created_by: + $ref: '#/components/schemas/DowntimeRelationshipsCreatedBy' + monitor: + $ref: '#/components/schemas/DowntimeRelationshipsMonitor' + type: object + DowntimeResourceType: + default: downtime + description: Downtime resource type. + enum: + - downtime + example: downtime + type: string + x-enum-varnames: + - DOWNTIME + User: + description: User object returned by the API. + properties: + attributes: + $ref: '#/components/schemas/UserAttributes' + id: + description: ID of the user. + type: string + relationships: + $ref: '#/components/schemas/UserResponseRelationships' + type: + $ref: '#/components/schemas/UsersType' + type: object + DowntimeMonitorIncludedItem: + description: Information about the monitor identified by the downtime. + properties: + attributes: + $ref: '#/components/schemas/DowntimeMonitorIncludedAttributes' + id: + description: ID of the monitor identified by the downtime. + example: 12345 + format: int64 + type: integer + type: + $ref: '#/components/schemas/DowntimeIncludedMonitorType' + type: object + DowntimeMetaPage: + description: Object containing the total filtered count. + properties: + total_filtered_count: + description: Total count of elements matched by the filter. + format: int64 + type: integer + type: object + DowntimeCreateRequestAttributes: + description: Downtime details. + properties: + display_timezone: + $ref: '#/components/schemas/DowntimeDisplayTimezone' + message: + $ref: '#/components/schemas/DowntimeMessage' + monitor_identifier: + $ref: '#/components/schemas/DowntimeMonitorIdentifier' + mute_first_recovery_notification: + $ref: '#/components/schemas/DowntimeMuteFirstRecoveryNotification' + notify_end_states: + $ref: '#/components/schemas/DowntimeNotifyEndStates' + notify_end_types: + $ref: '#/components/schemas/DowntimeNotifyEndTypes' + schedule: + $ref: '#/components/schemas/DowntimeScheduleCreateRequest' + scope: + $ref: '#/components/schemas/DowntimeScope' + required: + - scope + - monitor_identifier + type: object + DowntimeUpdateRequestAttributes: + description: Attributes of the downtime to update. + properties: + display_timezone: + $ref: '#/components/schemas/DowntimeDisplayTimezone' + message: + $ref: '#/components/schemas/DowntimeMessage' + monitor_identifier: + $ref: '#/components/schemas/DowntimeMonitorIdentifier' + mute_first_recovery_notification: + $ref: '#/components/schemas/DowntimeMuteFirstRecoveryNotification' + notify_end_states: + $ref: '#/components/schemas/DowntimeNotifyEndStates' + notify_end_types: + $ref: '#/components/schemas/DowntimeNotifyEndTypes' + schedule: + $ref: '#/components/schemas/DowntimeScheduleUpdateRequest' + scope: + $ref: '#/components/schemas/DowntimeScope' + type: object + IssuesSearchRequestDataAttributes: + description: Object describing a search issue request. + properties: + assignee_ids: + description: Filter issues by assignee IDs. Multiple values are combined with OR logic. + example: + - 00000000-0000-0000-0000-000000000001 + items: + format: uuid + type: string + maxItems: 50 + type: array + from: + description: Start date (inclusive) of the query in milliseconds since the Unix epoch. + example: 1671612804000 + format: int64 + type: integer + order_by: + $ref: '#/components/schemas/IssuesSearchRequestDataAttributesOrderBy' + persona: + $ref: '#/components/schemas/IssuesSearchRequestDataAttributesPersona' + query: + description: Search query following the event search syntax. + example: service:orders-* AND @language:go + type: string + states: + description: Filter issues by state. Multiple values are combined with OR logic. + example: + - OPEN + - ACKNOWLEDGED + items: + $ref: '#/components/schemas/IssueState' + maxItems: 20 + type: array + team_ids: + description: Filter issues by team IDs. Multiple values are combined with OR logic. + example: + - 00000000-0000-0000-0000-000000000002 + items: + format: uuid + type: string + maxItems: 50 + type: array + to: + description: End date (exclusive) of the query in milliseconds since the Unix epoch. + example: 1671620004000 + format: int64 + type: integer + track: + $ref: '#/components/schemas/IssuesSearchRequestDataAttributesTrack' + required: + - query + - from + - to + type: object + IssuesSearchRequestDataType: + description: Type of the object. + enum: + - search_request + example: search_request + type: string + x-enum-varnames: + - SEARCH_REQUEST + IssuesSearchResultAttributes: + description: Object containing the information of a search result. + properties: + impacted_sessions: + description: Count of sessions impacted by the issue over the queried time window. + example: 12 + format: int64 + type: integer + impacted_users: + description: Count of users impacted by the issue over the queried time window. + example: 4 + format: int64 + type: integer + total_count: + description: Total count of errors that match the issue over the queried time window. + example: 82 + format: int64 + type: integer + type: object + IssuesSearchResultRelationships: + description: Relationships between the search result and other resources. + properties: + issue: + $ref: '#/components/schemas/IssuesSearchResultIssueRelationship' + type: object + IssuesSearchResultType: + description: Type of the object. + enum: + - error_tracking_search_result + example: error_tracking_search_result + type: string + x-enum-varnames: + - ERROR_TRACKING_SEARCH_RESULT + IssueUser: + description: The user to whom the issue is assigned. + properties: + attributes: + $ref: '#/components/schemas/IssueUserAttributes' + id: + description: User identifier. + example: 87cb11a0-278c-440a-99fe-701223c80296 + type: string + type: + $ref: '#/components/schemas/IssueUserType' + required: + - id + - type + - attributes + type: object + IssueTeam: + description: A team that owns an issue. + properties: + attributes: + $ref: '#/components/schemas/IssueTeamAttributes' + id: + description: Team identifier. + example: 221b0179-6447-4d03-91c3-3ca98bf60e8a + type: string + type: + $ref: '#/components/schemas/IssueTeamType' + required: + - id + - type + - attributes + type: object + IssueAttributes: + description: Object containing the information of an issue. + properties: + error_message: + description: Error message associated with the issue. + example: object of type 'NoneType' has no len() + type: string + error_type: + description: Type of the error that matches the issue. + example: builtins.TypeError + type: string + file_path: + description: Path of the file where the issue occurred. + example: /django-email/conduit/apps/core/utils.py + type: string + first_seen: + description: Timestamp of the first seen error in milliseconds since the Unix epoch. + example: 1671612804001 + format: int64 + type: integer + first_seen_version: + description: The application version (for example, git commit hash) where the issue was first observed. + example: aaf65cd0 + type: string + function_name: + description: Name of the function where the issue occurred. + example: filter_forbidden_tags + type: string + is_crash: + description: Error is a crash. + example: false + type: boolean + languages: + description: Array of programming languages associated with the issue. + example: + - PYTHON + - GO + items: + $ref: '#/components/schemas/IssueLanguage' + type: array + last_seen: + description: Timestamp of the last seen error in milliseconds since the Unix epoch. + example: 1671620003100 + format: int64 + type: integer + last_seen_version: + description: The application version (for example, git commit hash) where the issue was last observed. + example: b6199f80 + type: string + platform: + $ref: '#/components/schemas/IssuePlatform' + regression: + $ref: '#/components/schemas/IssueRegression' + service: + description: Service name. + example: email-api-py + type: string + state: + $ref: '#/components/schemas/IssueState' + type: object + IssueRelationships: + description: Relationship between the issue and an assignee, case and/or teams. + properties: + assignee: + $ref: '#/components/schemas/IssueAssigneeRelationship' + case: + $ref: '#/components/schemas/IssueCaseRelationship' + team_owners: + $ref: '#/components/schemas/IssueTeamOwnersRelationship' + type: object + IssueType: + description: Type of the object. + enum: + - issue + example: issue + type: string + x-enum-varnames: + - ISSUE + IssueCase: + description: The case attached to the issue. + properties: + attributes: + $ref: '#/components/schemas/IssueCaseAttributes' + id: + description: Case identifier. + example: 2841440d-e780-4fe2-96cd-6a8c1d194da5 + type: string + relationships: + $ref: '#/components/schemas/IssueCaseRelationships' + type: + $ref: '#/components/schemas/IssueCaseResourceType' + required: + - id + - type + - attributes + type: object + IssueUpdateAssigneeRequestDataType: + description: Type of the object. + enum: + - assignee + example: assignee + type: string + x-enum-varnames: + - ASSIGNEE + IssueUpdateStateRequestDataAttributes: + description: Object describing an issue state update request. + properties: + state: + $ref: '#/components/schemas/IssueState' + required: + - state + type: object + IssueUpdateStateRequestDataType: + description: Type of the object. + enum: + - error_tracking_issue + example: error_tracking_issue + type: string + x-enum-varnames: + - ERROR_TRACKING_ISSUE + EventResponseAttributes: + description: The object description of an event response attribute. + properties: + attributes: + $ref: '#/components/schemas/EventAttributes' + message: + description: The message of the event. + type: string + tags: + description: An array of tags associated with the event. + example: + - team:A + items: + description: The tag associated with the event. + type: string + type: array + timestamp: + description: The timestamp of the event. + example: '2019-01-02T09:42:36.320Z' + format: date-time + type: string + type: object + EventType: + default: event + description: Type of the event. + enum: + - event + example: event + type: string + x-enum-varnames: + - EVENT + EventsResponseMetadataPage: + description: Pagination attributes. + properties: + after: + description: |- + The cursor to use to get the next results, if any. To make the next request, use the same + parameters with the addition of the `page[cursor]`. + example: eyJzdGFydEF0IjoiQVFBQUFYS2tMS3pPbm40NGV3QUFBQUJCV0V0clRFdDZVbG8zY3pCRmNsbHJiVmxDWlEifQ== + type: string + type: object + EventsWarning: + description: A warning message indicating something is wrong with the query. + properties: + code: + description: A unique code for this type of warning. + example: unknown_index + type: string + detail: + description: A detailed explanation of this specific warning. + example: 'indexes: foo, bar' + type: string + title: + description: A short human-readable summary of the warning. + example: One or several indexes are missing or invalid. Results hold data from the other indexes. + type: string + type: object + EventPayload: + additionalProperties: false + description: Event attributes. + properties: + aggregation_key: + description: A string used for aggregation when [correlating](https://docs.datadoghq.com/service_management/events/correlation/) events. If you specify a key, events are deduplicated to alerts based on this key. Limited to 100 characters. + example: aggregation_key_123 + maxLength: 100 + minLength: 1 + type: string + attributes: + $ref: '#/components/schemas/EventPayloadAttributes' + category: + $ref: '#/components/schemas/EventCategory' + host: + description: Host name to associate with the event. Any tags associated with the host are also applied to this event. Limited to 255 characters. + example: hostname + maxLength: 255 + minLength: 1 + type: string + integration_id: + $ref: '#/components/schemas/EventPayloadIntegrationId' + message: + description: Free formed text associated with the event. It's suggested to use `data.attributes.attributes.custom` for well-structured attributes. Limited to 4000 characters. + example: payment_processed feature flag has been enabled + maxLength: 4000 + minLength: 1 + type: string + tags: + description: |- + A list of tags associated with the event. Maximum of 100 tags allowed. + Refer to [Tags docs](https://docs.datadoghq.com/getting_started/tagging/). + example: + - env:api_client_test + items: + description: A tag. + maxLength: 200 + minLength: 1 + type: string + maxItems: 100 + minItems: 1 + type: array + timestamp: + description: |- + Timestamp when the event occurred. Must follow [ISO 8601](https://www.iso.org/iso-8601-date-and-time-format.html) format. + For example `"2017-01-15T01:30:15.010000Z"`. + Defaults to the timestamp of receipt. Limited to values no older than 18 hours. + type: string + title: + description: The title of the event. Limited to 500 characters. + example: payment_processed feature flag updated + maxLength: 500 + minLength: 1 + type: string + required: + - title + - category + - attributes + type: object + EventCreateRequestType: + description: Entity type. + enum: + - event + example: event + type: string + x-enum-varnames: + - EVENT + EventCreateResponseAttributes: + description: Event attributes. + properties: + attributes: + $ref: '#/components/schemas/EventCreateResponseAttributesAttributes' + type: object + V2EventAttributes: + description: Event attributes. + properties: + attributes: + $ref: '#/components/schemas/V2EventAttributesAttributes' + message: + description: Free-form text associated with the event. + example: The event message + type: string + tags: + description: A list of tags associated with the event. + example: + - env:api_client_test + items: + description: A tag. + type: string + type: array + timestamp: + description: Timestamp when the event occurred. + example: '2017-01-15T01:30:15.010000Z' + type: string + type: object + CreateFormDataAttributes: + description: The attributes for creating a form. + properties: + anonymous: + default: false + description: Whether the form accepts anonymous submissions. + example: false + type: boolean + data_definition: + $ref: '#/components/schemas/FormDataDefinition' + description: + description: The description of the form. + example: A form to collect user feedback. + type: string + idp_survey: + default: false + description: Whether the form is an IDP survey. + example: false + type: boolean + name: + description: The name of the form. + example: User Feedback Form + type: string + single_response: + default: false + description: Whether each user can only submit one response. + example: false + type: boolean + ui_definition: + $ref: '#/components/schemas/FormUiDefinition' + required: + - data_definition + - name + - ui_definition + type: object + FormType: + default: forms + description: The resource type for a form. + enum: + - forms + example: forms + type: string + x-enum-varnames: + - FORMS + FormDataAttributes: + description: The attributes of a form. + properties: + active: + description: Whether the form is currently active. + example: true + type: boolean + anonymous: + description: Whether the form accepts anonymous submissions. + example: false + type: boolean + created_at: + description: The time at which the form was created. + example: '2026-05-29T20:06:13.677353Z' + format: date-time + type: string + datastore_config: + $ref: '#/components/schemas/FormDatastoreConfigAttributes' + description: + description: The description of the form. + example: A form to collect user feedback. + type: string + end_date: + description: The date and time at which the form stops accepting responses. + example: null + format: date-time + nullable: true + type: string + has_submitted: + description: Whether the current user has already submitted this form. Only present for forms with `single_response` set to `true`. + nullable: true + type: boolean + idp_survey: + description: Whether the form is an IDP survey. + example: false + type: boolean + modified_at: + description: The time at which the form was last modified. + example: '2026-05-29T20:06:13.677353Z' + format: date-time + type: string + name: + description: The name of the form. + example: User Feedback Form + type: string + org_id: + description: The ID of the organization that owns this form. + example: 2 + format: int64 + type: integer + publication: + $ref: '#/components/schemas/FormPublicationAttributes' + self_service: + description: Whether the form is available in the self-service catalog. + example: false + type: boolean + single_response: + description: Whether each user can only submit one response. + example: false + type: boolean + user_id: + description: The ID of the user who created this form. + example: 10001 + format: int64 + type: integer + user_uuid: + description: The UUID of the user who created this form. + example: 1fc709aa-be19-4539-a47d-52a30d78a978 + format: uuid + type: string + version: + $ref: '#/components/schemas/FormVersionAttributes' + required: + - active + - anonymous + - created_at + - datastore_config + - description + - idp_survey + - modified_at + - name + - org_id + - self_service + - single_response + - user_id + - user_uuid + type: object + UpdateFormDataAttributes: + description: The attributes for updating a form. + properties: + form_update: + $ref: '#/components/schemas/FormUpdateAttributes' + required: + - form_update + type: object + CloneFormDataAttributes: + description: The attributes for cloning a form. + properties: + name: + description: The name for the cloned form. Defaults to "Copy of (source form name)" if not provided. + example: Copy of My Form + type: string + type: object + PublishFormDataAttributes: + description: The attributes for publishing a form version. + properties: + version: + description: The version number to publish. + example: 1 + format: int64 + type: integer + required: + - version + type: object + FormPublicationType: + default: form_publications + description: The resource type for a form publication. + enum: + - form_publications + example: form_publications + type: string + x-enum-varnames: + - FORM_PUBLICATIONS + FormPublicationAttributes: + description: The attributes of a form publication. + properties: + created_at: + description: The time at which the publication was created. + example: '2026-05-29T20:06:13.677353Z' + format: date-time + type: string + form_id: + description: The ID of the form. + example: afc67600-0511-43b1-9b18-578fb4979bd3 + format: uuid + type: string + form_version: + description: The version number that was published. + example: 1 + format: int64 + type: integer + id: + description: The ID of the form publication. + example: '42' + type: string + modified_at: + description: The time at which the publication was last modified. + example: '2026-05-29T20:06:13.677353Z' + format: date-time + type: string + org_id: + description: The ID of the organization that owns this publication. + example: 2 + format: int64 + type: integer + publish_seq: + description: The sequential publication number for this form. + example: 1 + format: int64 + type: integer + user_id: + description: The ID of the user who created this publication. + example: 10001 + format: int64 + type: integer + user_uuid: + description: The UUID of the user who created this publication. + example: 1fc709aa-be19-4539-a47d-52a30d78a978 + format: uuid + type: string + required: + - created_at + - form_id + - form_version + - modified_at + - org_id + - publish_seq + - user_id + - user_uuid + type: object + UpsertFormVersionDataAttributes: + description: The attributes for creating or updating a form version. + properties: + data_definition: + $ref: '#/components/schemas/FormDataDefinition' + state: + $ref: '#/components/schemas/FormVersionState' + ui_definition: + $ref: '#/components/schemas/FormUiDefinition' + upsert_params: + $ref: '#/components/schemas/UpsertFormVersionUpsertParams' + required: + - state + - data_definition + - ui_definition + - upsert_params + type: object + FormVersionType: + default: form_versions + description: The resource type for a form version. + enum: + - form_versions + example: form_versions + type: string + x-enum-varnames: + - FORM_VERSIONS + FormVersionAttributes: + description: The attributes of a form version. + properties: + created_at: + description: The time at which the version was created. + example: '2026-05-29T20:06:14.895921Z' + format: date-time + type: string + data_definition: + $ref: '#/components/schemas/FormDataDefinition' + definition_signature: + description: The signature of the version definition. + example: '{"signature":"b7f312957a80cea2c8c9950532b205a90a3f8a7ebb7e52fc25437a25d903d545","version":1}' + type: string + etag: + description: The ETag for optimistic concurrency control. + example: b51f08b698d88d8027a935d9db649774949f5fb41a0c559bfee6a9a13225c72d + nullable: true + type: string + id: + description: The ID of the form version. + example: '126' + type: string + modified_at: + description: The time at which the version was last modified. + example: '2026-05-29T20:06:14.949163Z' + format: date-time + type: string + state: + $ref: '#/components/schemas/FormVersionState' + ui_definition: + $ref: '#/components/schemas/FormUiDefinition' + user_id: + description: The ID of the user who created this version. + example: 10001 + format: int64 + type: integer + user_uuid: + description: The UUID of the user who created this version. + example: 1fc709aa-be19-4539-a47d-52a30d78a978 + format: uuid + type: string + version: + description: The sequential version number. + example: 1 + format: int64 + type: integer + required: + - created_at + - data_definition + - definition_signature + - etag + - modified_at + - state + - ui_definition + - user_id + - user_uuid + - version + type: object + UpsertAndPublishFormVersionDataAttributes: + description: The attributes for upserting and publishing a form version. + properties: + data_definition: + $ref: '#/components/schemas/FormDataDefinition' + ui_definition: + $ref: '#/components/schemas/FormUiDefinition' + upsert_params: + $ref: '#/components/schemas/UpsertAndPublishFormVersionUpsertParams' + required: + - data_definition + - ui_definition + - upsert_params + type: object + IncidentResponseAttributes: + additionalProperties: {} + description: The incident's attributes from a response. + properties: + archived: + description: Timestamp of when the incident was archived. + format: date-time + nullable: true + readOnly: true + type: string + case_id: + description: The incident case id. + format: int64 + nullable: true + type: integer + created: + description: Timestamp when the incident was created. + format: date-time + readOnly: true + type: string + customer_impact_duration: + description: |- + Length of the incident's customer impact in seconds. + Equals the difference between `customer_impact_start` and `customer_impact_end`. + format: int64 + readOnly: true + type: integer + customer_impact_end: + description: Timestamp when customers were no longer impacted by the incident. + format: date-time + nullable: true + type: string + customer_impact_scope: + description: A summary of the impact customers experienced during the incident. + example: An example customer impact scope + nullable: true + type: string + customer_impact_start: + description: Timestamp when customers began being impacted by the incident. + format: date-time + nullable: true + type: string + customer_impacted: + description: A flag indicating whether the incident caused customer impact. + example: false + type: boolean + declared: + description: Timestamp when the incident was declared. + format: date-time + readOnly: true + type: string + declared_by: + $ref: '#/components/schemas/IncidentNonDatadogCreator' + declared_by_uuid: + description: UUID of the user who declared the incident. + nullable: true + type: string + detected: + description: Timestamp when the incident was detected. + format: date-time + nullable: true + type: string + fields: + additionalProperties: + $ref: '#/components/schemas/IncidentFieldAttributes' + description: A condensed view of the user-defined fields attached to incidents. + example: + severity: + type: dropdown + value: SEV-5 + type: object + incident_type_uuid: + description: A unique identifier that represents an incident type. + example: 00000000-0000-0000-0000-000000000000 + type: string + is_test: + description: A flag indicating whether the incident is a test incident. + example: false + type: boolean + modified: + description: Timestamp when the incident was last modified. + format: date-time + readOnly: true + type: string + non_datadog_creator: + $ref: '#/components/schemas/IncidentNonDatadogCreator' + notification_handles: + description: Notification handles that will be notified of the incident during update. + example: + - display_name: Jane Doe + handle: '@user@email.com' + - display_name: Slack Channel + handle: '@slack-channel' + - display_name: Incident Workflow + handle: '@workflow-from-incident' + items: + $ref: '#/components/schemas/IncidentNotificationHandle' + nullable: true + type: array + public_id: + description: The monotonically increasing integer ID for the incident. + example: 1 + format: int64 + type: integer + resolved: + description: Timestamp when the incident's state was last changed from active or stable to resolved or completed. + format: date-time + nullable: true + type: string + severity: + $ref: '#/components/schemas/IncidentSeverity' + state: + description: The state incident. + nullable: true + type: string + time_to_detect: + description: |- + The amount of time in seconds to detect the incident. + Equals the difference between `customer_impact_start` and `detected`. + format: int64 + readOnly: true + type: integer + time_to_internal_response: + description: The amount of time in seconds to call incident after detection. Equals the difference of `detected` and `created`. + format: int64 + readOnly: true + type: integer + time_to_repair: + description: The amount of time in seconds to resolve customer impact after detecting the issue. Equals the difference between `customer_impact_end` and `detected`. + format: int64 + readOnly: true + type: integer + time_to_resolve: + description: The amount of time in seconds to resolve the incident after it was created. Equals the difference between `created` and `resolved`. + format: int64 + readOnly: true + type: integer + title: + description: The title of the incident, which summarizes what happened. + example: A test incident title + type: string + visibility: + description: The incident visibility status. + nullable: true + type: string + required: + - title + type: object + IncidentResponseRelationships: + description: The incident's relationships from a response. + properties: + attachments: + $ref: '#/components/schemas/RelationshipToIncidentAttachment' + commander_user: + $ref: '#/components/schemas/NullableRelationshipToUser' + created_by_user: + $ref: '#/components/schemas/RelationshipToUser' + declared_by_user: + $ref: '#/components/schemas/RelationshipToUser' + impacts: + $ref: '#/components/schemas/RelationshipToIncidentImpacts' + integrations: + $ref: '#/components/schemas/RelationshipToIncidentIntegrationMetadatas' + last_modified_by_user: + $ref: '#/components/schemas/RelationshipToUser' + responders: + $ref: '#/components/schemas/RelationshipToIncidentResponders' + user_defined_fields: + $ref: '#/components/schemas/RelationshipToIncidentUserDefinedFields' + type: object + IncidentType: + default: incidents + description: Incident resource type. + enum: + - incidents + example: incidents + type: string + x-enum-varnames: + - INCIDENTS + IncidentResponseMetaPagination: + description: Pagination properties. + properties: + next_offset: + description: The index of the first element in the next page of results. Equal to page size added to the current offset. + example: 1000 + format: int64 + type: integer + offset: + description: The index of the first element in the results. + example: 10 + format: int64 + type: integer + size: + description: Maximum size of pages to return. + example: 1000 + format: int64 + type: integer + type: object + IncidentCreateAttributes: + description: The incident's attributes for a create request. + properties: + customer_impact_scope: + description: Required if `customer_impacted:"true"`. A summary of the impact customers experienced during the incident. + example: Example customer impact scope + type: string + customer_impacted: + description: A flag indicating whether the incident caused customer impact. + example: false + type: boolean + fields: + additionalProperties: + $ref: '#/components/schemas/IncidentFieldAttributes' + description: A condensed view of the user-defined fields for which to create initial selections. + example: + severity: + type: dropdown + value: SEV-5 + type: object + incident_type_uuid: + description: A unique identifier that represents an incident type. The default incident type will be used if this property is not provided. + example: 00000000-0000-0000-0000-000000000000 + type: string + initial_cells: + description: An array of initial timeline cells to be placed at the beginning of the incident timeline. + items: + $ref: '#/components/schemas/IncidentTimelineCellCreateAttributes' + type: array + is_test: + description: A flag indicating whether the incident is a test incident. + example: false + type: boolean + notification_handles: + description: Notification handles that will be notified of the incident at creation. + example: + - display_name: Jane Doe + handle: '@user@email.com' + - display_name: Slack Channel + handle: '@slack-channel' + - display_name: Incident Workflow + handle: '@workflow-from-incident' + items: + $ref: '#/components/schemas/IncidentNotificationHandle' + type: array + title: + description: The title of the incident, which summarizes what happened. + example: A test incident title + type: string + required: + - title + - customer_impacted + type: object + IncidentCreateRelationships: + description: The relationships the incident will have with other resources once created. + properties: + commander_user: + $ref: '#/components/schemas/NullableRelationshipToUser' + required: + - commander_user + type: object + IncidentHandleIncludedItemResponse: + description: A single included resource item in an incident handle response, which can be a user or an incident type. + properties: + attributes: + $ref: '#/components/schemas/IncidentUserAttributes' + id: + description: ID of the user. + type: string + type: + $ref: '#/components/schemas/UsersType' + relationships: + $ref: '#/components/schemas/IncidentTypeRelationships' + type: object + required: + - id + - type + IncidentHandleAttributesRequest: + description: Incident handle attributes for requests + properties: + fields: + $ref: '#/components/schemas/IncidentHandleAttributesFields' + name: + description: The handle name + example: '@incident-sev-1' + type: string + required: + - name + type: object + IncidentHandleRelationshipsRequest: + description: Relationships to associate with an incident handle in a create or update request. + nullable: true + properties: + commander_user: + $ref: '#/components/schemas/IncidentHandleRelationship' + incident_type: + $ref: '#/components/schemas/IncidentHandleRelationship' + required: + - incident_type + type: object + IncidentHandleType: + description: Incident handle resource type + enum: + - incidents_handles + example: incidents_handles + type: string + x-enum-varnames: + - INCIDENTS_HANDLES + IncidentHandleAttributesResponse: + description: Incident handle attributes for responses + properties: + created_at: + description: Timestamp when the handle was created + example: '2026-01-13T17:15:52.726905Z' + format: date-time + type: string + fields: + $ref: '#/components/schemas/IncidentHandleAttributesFields' + modified_at: + description: Timestamp when the handle was last modified + example: '2026-01-13T17:15:52.726905Z' + format: date-time + type: string + name: + description: The handle name + example: '@incident-sev-1' + type: string + required: + - name + - fields + - created_at + - modified_at + type: object + IncidentHandleRelationships: + description: Relationships associated with an incident handle response, including linked users and incident type. + nullable: true + properties: + commander_user: + $ref: '#/components/schemas/IncidentHandleRelationship' + created_by_user: + $ref: '#/components/schemas/IncidentHandleRelationship' + incident_type: + $ref: '#/components/schemas/IncidentHandleRelationship' + last_modified_by_user: + $ref: '#/components/schemas/IncidentHandleRelationship' + required: + - incident_type + - created_by_user + - last_modified_by_user + type: object + GlobalIncidentSettingsAttributesResponse: + description: Global incident settings attributes + properties: + analytics_dashboard_id: + description: The analytics dashboard ID + example: abc-123-def + type: string + created: + description: Timestamp when the settings were created + example: '2026-01-13T17:15:56.557278191Z' + format: date-time + type: string + modified: + description: Timestamp when the settings were last modified + example: '2026-01-13T17:15:56.557278191Z' + format: date-time + type: string + required: + - created + - modified + - analytics_dashboard_id + type: object + GlobalIncidentSettingsType: + description: Global incident settings resource type + enum: + - incidents_global_settings + example: incidents_global_settings + type: string + x-enum-varnames: + - INCIDENTS_GLOBAL_SETTINGS + GlobalIncidentSettingsAttributesRequest: + description: Global incident settings attributes + properties: + analytics_dashboard_id: + description: The analytics dashboard ID + example: abc-123-def + type: string + type: object + IncidentGoogleChatConfigurationDataAttributesRequest: + description: Attributes for creating a Google Chat configuration. + properties: + domain_id: + description: The Google Chat domain ID. + example: my-domain + type: string + space_name_template: + description: The template for the Google Chat space name. + example: '{{incident.title}}' + type: string + space_target_audience_id: + description: The target audience ID for the Google Chat space. + example: '123456789' + type: string + space_time_zone: + description: The time zone for the Google Chat space. + example: America/New_York + type: string + required: + - domain_id + - space_name_template + - space_time_zone + - space_target_audience_id + type: object + IncidentGoogleChatConfigurationRelationshipsRequest: + description: Relationships for a Google Chat configuration create request. + properties: + incident_type: + $ref: '#/components/schemas/RelationshipToIncidentType' + required: + - incident_type + type: object + IncidentGoogleChatConfigurationType: + description: Google Chat configuration resource type. + enum: + - google_chat_configurations + example: google_chat_configurations + type: string + x-enum-varnames: + - GOOGLE_CHAT_CONFIGURATIONS + IncidentGoogleChatConfigurationDataAttributesResponse: + description: Attributes of a Google Chat configuration. + properties: + created_at: + description: Timestamp when the configuration was created. + example: '2024-01-01T00:00:00.000Z' + format: date-time + type: string + domain_id: + description: The Google Chat domain ID. + example: my-domain + type: string + modified_at: + description: Timestamp when the configuration was last modified. + example: '2024-01-01T00:00:00.000Z' + format: date-time + type: string + space_name_template: + description: The template for the Google Chat space name. + example: '{{incident.title}}' + type: string + space_target_audience_id: + description: The target audience ID for the Google Chat space. + example: '123456789' + type: string + space_time_zone: + description: The time zone for the Google Chat space. + example: America/New_York + type: string + required: + - domain_id + - space_name_template + - space_time_zone + - space_target_audience_id + - created_at + - modified_at + type: object + IncidentGoogleChatConfigurationRelationships: + description: Relationships for a Google Chat configuration. + properties: + created_by_user: + $ref: '#/components/schemas/RelationshipToUser' + incident_type: + $ref: '#/components/schemas/RelationshipToIncidentType' + last_modified_by_user: + $ref: '#/components/schemas/RelationshipToUser' + type: object + IncidentUserAttributes: + description: Attributes of user object returned by the API. + properties: + email: + description: Email of the user. + type: string + handle: + description: Handle of the user. + type: string + icon: + description: URL of the user's icon. + type: string + name: + description: Name of the user. + nullable: true + type: string + uuid: + description: UUID of the user. + type: string + type: object + UsersType: + default: users + description: Users resource type. + enum: + - users + example: users + type: string + x-enum-varnames: + - USERS + IncidentGoogleChatConfigurationPatchDataAttributesRequest: + description: Attributes for patching a Google Chat configuration. All fields are optional. + properties: + domain_id: + description: The Google Chat domain ID. + example: my-domain + type: string + space_name_template: + description: The template for the Google Chat space name. + example: '{{incident.title}}' + type: string + space_target_audience_id: + description: The target audience ID for the Google Chat space. + example: '123456789' + type: string + space_time_zone: + description: The time zone for the Google Chat space. + example: America/New_York + type: string + type: object + IncidentGoogleMeetConfigurationDataAttributesRequest: + description: Attributes for creating a Google Meet configuration. + properties: + allow_manual_meeting_creation: + description: Whether to allow manual meeting creation. + example: true + type: boolean + auto_summarize: + description: Whether to auto-summarize meetings. + example: false + type: boolean + required: + - allow_manual_meeting_creation + - auto_summarize + type: object + IncidentGoogleMeetConfigurationRelationshipsRequest: + description: Relationships for a Google Meet configuration create request. + properties: + incident_type: + $ref: '#/components/schemas/RelationshipToIncidentType' + required: + - incident_type + type: object + IncidentGoogleMeetConfigurationType: + description: Google Meet configuration resource type. + enum: + - google_meet_configurations + example: google_meet_configurations + type: string + x-enum-varnames: + - GOOGLE_MEET_CONFIGURATIONS + IncidentGoogleMeetConfigurationDataAttributesResponse: + description: Attributes of a Google Meet configuration. + properties: + allow_manual_meeting_creation: + description: Whether manual meeting creation is allowed. + example: true + type: boolean + auto_summarize: + description: Whether meetings are auto-summarized. + example: false + type: boolean + created_at: + description: Timestamp when the configuration was created. + example: '2024-01-01T00:00:00.000Z' + format: date-time + type: string + modified_at: + description: Timestamp when the configuration was last modified. + example: '2024-01-01T00:00:00.000Z' + format: date-time + type: string + required: + - allow_manual_meeting_creation + - auto_summarize + - modified_at + type: object + IncidentGoogleMeetConfigurationRelationships: + description: Relationships for a Google Meet configuration. + properties: + created_by_user: + $ref: '#/components/schemas/RelationshipToUser' + incident_type: + $ref: '#/components/schemas/RelationshipToIncidentType' + last_modified_by_user: + $ref: '#/components/schemas/RelationshipToUser' + type: object + IncidentGoogleMeetConfigurationPatchDataAttributesRequest: + description: Attributes for patching a Google Meet configuration. All fields are optional. + properties: + allow_manual_meeting_creation: + description: Whether to allow manual meeting creation. + example: true + type: boolean + auto_summarize: + description: Whether to auto-summarize meetings. + example: false + type: boolean + type: object + IncidentImpactFieldDataAttributesResponse: + description: Attributes of an impact field in a response. + properties: + display_name: + description: The display name of the impact field. + example: Customer Impact Scope + type: string + field_choices: + description: The choices for dropdown or multiselect fields. + items: + $ref: '#/components/schemas/IncidentImpactFieldChoice' + type: array + field_type: + $ref: '#/components/schemas/IncidentImpactFieldValueType' + name: + description: The normalized name of the impact field. + example: customer_impact_scope + type: string + tag_key: + description: The tag key associated with the field. + example: env + nullable: true + type: string + required: + - name + - display_name + - field_type + type: object + IncidentImpactFieldRelationships: + description: Relationships for an impact field. + properties: + created_by_user: + $ref: '#/components/schemas/RelationshipToUser' + incident_type: + $ref: '#/components/schemas/RelationshipToIncidentType' + last_modified_by_user: + $ref: '#/components/schemas/RelationshipToUser' + type: object + IncidentImpactFieldType: + description: Impact field resource type. + enum: + - impact_fields + example: impact_fields + type: string + x-enum-varnames: + - IMPACT_FIELDS + IncidentImpactFieldDataAttributesRequest: + description: Attributes for creating an impact field. + properties: + display_name: + description: The display name of the impact field. + example: Customer Impact Scope + type: string + field_choices: + description: The choices for dropdown or multiselect fields. + items: + $ref: '#/components/schemas/IncidentImpactFieldChoice' + type: array + field_type: + $ref: '#/components/schemas/IncidentImpactFieldValueType' + name: + description: The normalized name of the impact field (used as identifier). + example: customer_impact_scope + type: string + tag_key: + description: The tag key associated with the field (for metrictag type). + example: env + nullable: true + type: string + required: + - name + - display_name + - field_type + type: object + IncidentImpactFieldRelationshipsRequest: + description: Relationships for an impact field create request. + properties: + incident_type: + $ref: '#/components/schemas/RelationshipToIncidentType' + required: + - incident_type + type: object + IncidentNotificationRuleAttributes: + description: The notification rule's attributes. + properties: + conditions: + $ref: '#/components/schemas/IncidentNotificationRuleConditions' + created: + description: Timestamp when the notification rule was created. + example: '2025-01-15T10:30:00Z' + format: date-time + readOnly: true + type: string + enabled: + description: Whether the notification rule is enabled. + example: true + type: boolean + handles: + $ref: '#/components/schemas/IncidentNotificationRuleHandles' + modified: + description: Timestamp when the notification rule was last modified. + example: '2025-01-15T14:45:00Z' + format: date-time + readOnly: true + type: string + renotify_on: + $ref: '#/components/schemas/IncidentNotificationRuleRenotifyOn' + trigger: + description: The trigger event for this notification rule. + example: incident_created_trigger + type: string + visibility: + $ref: '#/components/schemas/IncidentNotificationRuleAttributesVisibility' + required: + - conditions + - handles + - visibility + - trigger + - enabled + - created + - modified + type: object + IncidentNotificationRuleRelationships: + description: The notification rule's resource relationships. + properties: + created_by_user: + $ref: '#/components/schemas/RelationshipToUser' + incident_type: + $ref: '#/components/schemas/RelationshipToIncidentType' + last_modified_by_user: + $ref: '#/components/schemas/RelationshipToUser' + notification_template: + $ref: '#/components/schemas/RelationshipToIncidentNotificationTemplate' + type: object + IncidentNotificationRuleType: + description: Notification rules resource type. + enum: + - incident_notification_rules + example: incident_notification_rules + type: string + x-enum-varnames: + - INCIDENT_NOTIFICATION_RULES + IncidentNotificationTemplateObject: + description: A notification template object for inclusion in other resources. + properties: + attributes: + $ref: '#/components/schemas/IncidentNotificationTemplateAttributes' + id: + description: The unique identifier of the notification template. + example: 00000000-0000-0000-0000-000000000001 + format: uuid + type: string + relationships: + $ref: '#/components/schemas/IncidentNotificationTemplateRelationships' + type: + $ref: '#/components/schemas/IncidentNotificationTemplateType' + required: + - id + - type + type: object + IncidentNotificationRuleArrayMetaPage: + description: Pagination metadata. + properties: + next_offset: + description: The offset for the next page of results. + example: 15 + format: int64 + type: integer + offset: + description: The current offset in the results. + example: 0 + format: int64 + type: integer + size: + description: The number of results returned per page. + example: 15 + format: int64 + type: integer + type: object + IncidentNotificationRuleCreateAttributes: + description: The attributes for creating a notification rule. + properties: + conditions: + $ref: '#/components/schemas/IncidentNotificationRuleConditions' + enabled: + default: false + description: Whether the notification rule is enabled. + example: true + type: boolean + handles: + $ref: '#/components/schemas/IncidentNotificationRuleHandles' + renotify_on: + $ref: '#/components/schemas/IncidentNotificationRuleRenotifyOn' + trigger: + description: The trigger event for this notification rule. + example: incident_created_trigger + type: string + visibility: + $ref: '#/components/schemas/IncidentNotificationRuleCreateAttributesVisibility' + required: + - conditions + - handles + - trigger + type: object + IncidentNotificationRuleCreateDataRelationships: + description: The definition of `NotificationRuleCreateDataRelationships` object. + properties: + incident_type: + $ref: '#/components/schemas/RelationshipToIncidentType' + notification_template: + $ref: '#/components/schemas/RelationshipToIncidentNotificationTemplate' + type: object + IncidentNotificationTemplateAttributes: + description: The notification template's attributes. + properties: + category: + description: The category of the notification template. + example: alert + type: string + content: + description: The content body of the notification template. + example: |- + An incident has been declared. + + Title: {{incident.title}} + Severity: {{incident.severity}} + Affected Services: {{incident.services}} + Status: {{incident.state}} + + Please join the incident channel for updates. + type: string + created: + description: Timestamp when the notification template was created. + example: '2025-01-15T10:30:00Z' + format: date-time + readOnly: true + type: string + modified: + description: Timestamp when the notification template was last modified. + example: '2025-01-15T14:45:00Z' + format: date-time + readOnly: true + type: string + name: + description: The name of the notification template. + example: Incident Alert Template + type: string + subject: + description: The subject line of the notification template. + example: '{{incident.severity}} Incident: {{incident.title}}' + type: string + required: + - name + - subject + - content + - category + - created + - modified + type: object + IncidentNotificationTemplateRelationships: + description: The notification template's resource relationships. + properties: + created_by_user: + $ref: '#/components/schemas/RelationshipToUser' + incident_type: + $ref: '#/components/schemas/RelationshipToIncidentType' + last_modified_by_user: + $ref: '#/components/schemas/RelationshipToUser' + type: object + IncidentNotificationTemplateType: + description: Notification templates resource type. + enum: + - notification_templates + example: notification_templates + type: string + x-enum-varnames: + - NOTIFICATION_TEMPLATES + IncidentNotificationTemplateArrayMetaPage: + description: Pagination metadata. + properties: + total_count: + description: Total number of notification templates. + example: 42 + format: int64 + type: integer + total_filtered_count: + description: Total number of notification templates matching the filter. + example: 15 + format: int64 + type: integer + type: object + IncidentNotificationTemplateCreateAttributes: + description: The attributes for creating a notification template. + properties: + category: + description: The category of the notification template. + example: alert + type: string + content: + description: The content body of the notification template. + example: |- + An incident has been declared. + + Title: {{incident.title}} + Severity: {{incident.severity}} + Affected Services: {{incident.services}} + Status: {{incident.state}} + + Please join the incident channel for updates. + type: string + name: + description: The name of the notification template. + example: Incident Alert Template + type: string + subject: + description: The subject line of the notification template. + example: '{{incident.severity}} Incident: {{incident.title}}' + type: string + required: + - name + - subject + - content + - category + type: object + IncidentNotificationTemplateCreateDataRelationships: + description: The definition of `NotificationTemplateCreateDataRelationships` object. + properties: + incident_type: + $ref: '#/components/schemas/RelationshipToIncidentType' + type: object + IncidentNotificationTemplateUpdateAttributes: + description: The attributes to update on a notification template. + properties: + category: + description: The category of the notification template. + example: update + type: string + content: + description: The content body of the notification template. + example: |- + Incident Status Update: + + Title: {{incident.title}} + New Status: {{incident.state}} + Severity: {{incident.severity}} + Services: {{incident.services}} + Commander: {{incident.commander}} + + For more details, visit the incident page. + type: string + name: + description: The name of the notification template. + example: Incident Status Update Template + type: string + subject: + description: The subject line of the notification template. + example: 'Incident Update: {{incident.title}} - {{incident.state}}' + type: string + type: object + PostmortemTemplateAttributesResponse: + description: Attributes of a postmortem template returned in a response. + properties: + confluence_postmortem_settings: + $ref: '#/components/schemas/ConfluencePostmortemSettings' + content: + description: The templated content of the postmortem, supporting Markdown and incident template variables. + example: |- + # Overview + + # What Happened + + # Timeline + + # Action Items + type: string + createdAt: + description: When the template was created. + example: '2026-01-13T17:15:53.208340Z' + format: date-time + type: string + google_docs_postmortem_settings: + $ref: '#/components/schemas/GoogleDocsPostmortemSettings' + is_default: + description: When set, marks this template as a default. The effective default for an incident type is the template with the most recent `is_default` timestamp. + example: '2024-01-01T00:00:00+00:00' + format: date-time + nullable: true + type: string + location: + $ref: '#/components/schemas/PostmortemTemplateLocation' + modifiedAt: + description: When the template was last modified. + example: '2026-01-13T17:15:53.208340Z' + format: date-time + type: string + name: + description: The name of the template. + example: Standard Postmortem Template + type: string + required: + - name + - content + - is_default + - location + - createdAt + - modifiedAt + type: object + PostmortemTemplateResponseRelationships: + description: Relationships of a postmortem template returned in a response. + properties: + incident_type: + $ref: '#/components/schemas/PostmortemTemplateIncidentTypeRelationship' + last_modified_by_user: + $ref: '#/components/schemas/PostmortemTemplateUserRelationship' + type: object + PostmortemTemplateType: + description: Postmortem template resource type. + enum: + - postmortem_templates + - postmortem_template + example: postmortem_templates + type: string + x-enum-varnames: + - POSTMORTEM_TEMPLATES + - POSTMORTEM_TEMPLATE + PostmortemTemplateAttributesRequest: + description: Attributes for creating or updating a postmortem template. + properties: + confluence_postmortem_settings: + $ref: '#/components/schemas/ConfluencePostmortemSettings' + content: + description: The templated content of the postmortem, supporting Markdown and incident template variables. + example: |- + # Overview + + # What Happened + + # Timeline + + # Action Items + type: string + google_docs_postmortem_settings: + $ref: '#/components/schemas/GoogleDocsPostmortemSettings' + is_default: + description: When set, marks this template as a default. The effective default for an incident type is the template with the most recent `is_default` timestamp. Set to `null` to unset. + example: '2024-01-01T00:00:00+00:00' + format: date-time + nullable: true + type: string + location: + $ref: '#/components/schemas/PostmortemTemplateLocation' + name: + description: The name of the template. + example: Standard Postmortem Template + type: string + required: + - name + type: object + PostmortemTemplateCreateRelationships: + description: Relationships for a postmortem template. `incident_type` is required when creating a template and is immutable afterwards. + properties: + incident_type: + $ref: '#/components/schemas/PostmortemTemplateIncidentTypeRelationship' + type: object + IncidentRuleDataAttributesResponse: + description: Attributes of an incident rule in a response. + properties: + condition: + $ref: '#/components/schemas/IncidentRuleQueryCondition' + condition_table_type: + description: The condition table type. + example: 1 + format: int64 + type: integer + conditions: + description: List of field-based conditions. + items: + $ref: '#/components/schemas/IncidentRuleCondition' + type: array + created: + description: Timestamp when the rule was created. + example: '2024-01-01T00:00:00.000Z' + format: date-time + type: string + created_by_uuid: + description: UUID of the user who created the rule. + example: 00000000-0000-0000-0000-000000000001 + format: uuid + type: string + deleted: + description: Timestamp when the rule was deleted. + example: null + format: date-time + nullable: true + type: string + enabled: + description: Whether the rule is enabled. + example: true + type: boolean + execution_type: + description: The execution type of the rule. + example: 1 + format: int64 + type: integer + incident_settings_association_uuid: + description: The incident settings association UUID. + example: null + format: uuid + nullable: true + type: string + match_any_condition: + description: Whether any condition should match. + example: false + type: boolean + modified: + description: Timestamp when the rule was last modified. + example: '2024-01-01T00:00:00.000Z' + format: date-time + type: string + modified_by_uuid: + description: UUID of the user who last modified the rule. + example: 00000000-0000-0000-0000-000000000001 + format: uuid + type: string + org_id: + description: The organization ID. + example: 123456 + format: int64 + type: integer + task_id: + description: The task ID. + example: notify-incident-handles-job + nullable: true + type: string + task_payload: + description: The JSON-encoded task payload. + example: '{}' + nullable: true + type: string + trigger: + description: The trigger event for the rule. + example: incident_created_trigger + type: string + type: object + IncidentRuleResponseType: + description: Incident rule response resource type. + enum: + - incidents_rules + example: incidents_rules + type: string + x-enum-varnames: + - INCIDENTS_RULES + IncidentRuleDataAttributesRequest: + description: Attributes for creating an incident rule. + properties: + condition: + $ref: '#/components/schemas/IncidentRuleQueryCondition' + condition_table_type: + description: The condition table type. 1 = raw query. + example: 1 + format: int64 + type: integer + conditions: + description: List of field-based conditions. + items: + $ref: '#/components/schemas/IncidentRuleCondition' + type: array + enabled: + description: Whether the rule is enabled. + example: true + type: boolean + execution_type: + $ref: '#/components/schemas/IncidentRuleExecutionType' + incident_type_uuid: + description: The UUID of the incident type this rule applies to. + example: 00000000-0000-0000-0000-000000000000 + format: uuid + nullable: true + type: string + match_any_condition: + description: Whether any condition (OR logic) should match instead of all (AND logic). + example: false + type: boolean + task_id: + $ref: '#/components/schemas/IncidentRuleTaskIDType' + task_payload: + description: The JSON-encoded payload for the task. + example: '{}' + type: string + trigger: + $ref: '#/components/schemas/IncidentRuleTriggerType' + required: + - execution_type + - condition_table_type + - condition + - task_id + - task_payload + - enabled + type: object + IncidentRuleType: + description: Incident rule resource type. + enum: + - incident_rules + example: incident_rules + type: string + x-enum-varnames: + - INCIDENT_RULES + IncidentRulePatchDataAttributesRequest: + description: Attributes for patching an incident rule. All fields are optional. + properties: + condition: + $ref: '#/components/schemas/IncidentRuleQueryCondition' + conditions: + description: List of field-based conditions. + items: + $ref: '#/components/schemas/IncidentRuleCondition' + type: array + enabled: + description: Whether the rule is enabled. + example: true + type: boolean + task_payload: + description: The JSON-encoded payload for the task. + example: '{}' + type: string + trigger: + $ref: '#/components/schemas/IncidentRuleTriggerType' + type: object + IncidentTypeAttributes: + description: Incident type's attributes. + properties: + configuration: + $ref: '#/components/schemas/IncidentTypeConfiguration' + readOnly: true + createdAt: + description: Timestamp when the incident type was created. + format: date-time + readOnly: true + type: string + createdBy: + description: A unique identifier that represents the user that created the incident type. + example: 00000000-0000-0000-0000-000000000000 + readOnly: true + type: string + description: + description: Text that describes the incident type. + example: Any incidents that harm (or have the potential to) the confidentiality, integrity, or availability of our data. + type: string + is_default: + default: false + description: If true, this incident type will be used as the default incident type if a type is not specified during the creation of incident resources. + example: false + type: boolean + lastModifiedBy: + description: A unique identifier that represents the user that last modified the incident type. + example: 00000000-0000-0000-0000-000000000000 + readOnly: true + type: string + modifiedAt: + description: Timestamp when the incident type was last modified. + format: date-time + readOnly: true + type: string + name: + description: The name of the incident type. + example: Security Incident + type: string + prefix: + description: The string that will be prepended to the incident title across the Datadog app. + example: IR + readOnly: true + type: string + required: + - name + type: object + IncidentTypeRelationships: + additionalProperties: {} + description: The incident type's resource relationships. + properties: + created_by_user: + $ref: '#/components/schemas/RelationshipToUser' + google_meet_configuration: + $ref: '#/components/schemas/GoogleMeetConfigurationReference' + last_modified_by_user: + $ref: '#/components/schemas/RelationshipToUser' + microsoft_teams_configuration: + $ref: '#/components/schemas/MicrosoftTeamsConfigurationReference' + zoom_configuration: + $ref: '#/components/schemas/ZoomConfigurationReference' + type: object + IncidentTypeType: + default: incident_types + description: Incident type resource type. + enum: + - incident_types + example: incident_types + type: string + x-enum-varnames: + - INCIDENT_TYPES + IncidentOrgSettingsDataAttributesResponse: + description: Attributes of an incident org settings resource in a response. + properties: + created: + description: Timestamp when the settings were created. + example: '2024-01-01T00:00:00.000Z' + format: date-time + type: string + modified: + description: Timestamp when the settings were last modified. + example: '2024-01-01T00:00:00.000Z' + format: date-time + type: string + settings: + $ref: '#/components/schemas/IncidentOrgSettingsMeta' + required: + - created + - modified + - settings + type: object + IncidentOrgSettingsRelationships: + description: Relationships for an incident org settings resource. + properties: + incident_type: + $ref: '#/components/schemas/RelationshipToIncidentType' + type: object + IncidentOrgSettingsType: + description: Incident org settings resource type. + enum: + - incident_org_settings + example: incident_org_settings + type: string + x-enum-varnames: + - INCIDENT_ORG_SETTINGS + IncidentTypeUpdateAttributes: + description: Incident type's attributes for updates. + properties: + configuration: + $ref: '#/components/schemas/IncidentTypeConfiguration' + createdAt: + description: Timestamp when the incident type was created. + format: date-time + readOnly: true + type: string + createdBy: + description: A unique identifier that represents the user that created the incident type. + example: 00000000-0000-0000-0000-000000000000 + readOnly: true + type: string + description: + description: Text that describes the incident type. + example: 'Any incidents that harm (or have the potential to) the confidentiality, integrity, or availability of our data. Note: This will notify the security team.' + type: string + is_default: + description: When true, this incident type will be used as the default type when an incident type is not specified. + example: false + type: boolean + lastModifiedBy: + description: A unique identifier that represents the user that last modified the incident type. + example: 00000000-0000-0000-0000-000000000000 + readOnly: true + type: string + modifiedAt: + description: Timestamp when the incident type was last modified. + format: date-time + readOnly: true + type: string + name: + description: The name of the incident type. + example: Security Incident + type: string + prefix: + description: The string that will be prepended to the incident title across the Datadog app. + example: IR + readOnly: true + type: string + type: object + IncidentUserDefinedFieldAttributesResponse: + description: Attributes of an incident user-defined field. + properties: + category: + $ref: '#/components/schemas/IncidentUserDefinedFieldCategory' + collected: + $ref: '#/components/schemas/IncidentUserDefinedFieldCollected' + created: + description: Timestamp when the field was created. + example: '2026-03-18T08:40:05.185406Z' + format: date-time + readOnly: true + type: string + default_value: + description: The default value for the field. + example: critical + nullable: true + type: string + deleted: + description: Timestamp when the field was soft-deleted, or null if not deleted. + example: null + format: date-time + nullable: true + readOnly: true + type: string + display_name: + description: The human-readable name shown in the UI. + example: Root Cause + type: string + metadata: + $ref: '#/components/schemas/IncidentUserDefinedFieldMetadata' + modified: + description: Timestamp when the field was last modified. + example: '2026-03-18T08:40:05.185406Z' + format: date-time + nullable: true + readOnly: true + type: string + name: + description: The unique identifier of the field. + example: root_cause + type: string + ordinal: + description: A decimal string representing the field's display order in the UI. + example: '1.5' + nullable: true + type: string + required: + description: When true, users must fill out this field on incidents. + example: false + type: boolean + reserved: + description: When true, this field is reserved for system use and cannot be deleted. + example: false + readOnly: true + type: boolean + tag_key: + description: For metric tag-type fields only, the metric tag key that powers the autocomplete options. + example: null + nullable: true + type: string + type: + description: The data type of the field. 1=dropdown, 2=multiselect, 3=textbox, 4=textarray, 5=metrictag, 6=autocomplete, 7=number, 8=datetime. + example: 3 + format: int32 + maximum: 8 + minimum: 1 + nullable: true + type: integer + valid_values: + description: The list of allowed values for dropdown, multiselect, and autocomplete fields. + items: + $ref: '#/components/schemas/IncidentUserDefinedFieldValidValue' + nullable: true + type: array + required: + - category + - collected + - created + - default_value + - deleted + - display_name + - metadata + - modified + - name + - ordinal + - required + - reserved + - tag_key + - type + - valid_values + type: object + IncidentUserDefinedFieldRelationships: + description: Relationships of an incident user-defined field. + properties: + created_by_user: + $ref: '#/components/schemas/RelationshipToUser' + incident_type: + $ref: '#/components/schemas/RelationshipToIncidentType' + last_modified_by_user: + $ref: '#/components/schemas/RelationshipToUser' + required: + - created_by_user + - last_modified_by_user + - incident_type + type: object + IncidentUserDefinedFieldType: + description: The incident user defined fields type. + enum: + - user_defined_field + example: user_defined_field + type: string + x-enum-varnames: + - USER_DEFINED_FIELD + IncidentUserDefinedFieldAttributesCreateRequest: + description: Attributes for creating an incident user-defined field. + properties: + category: + $ref: '#/components/schemas/IncidentUserDefinedFieldCategory' + collected: + $ref: '#/components/schemas/IncidentUserDefinedFieldCollected' + default_value: + description: The default value for the field. Must be one of the valid values when valid_values is set. + example: critical + nullable: true + type: string + display_name: + description: The human-readable name shown in the UI. Defaults to a formatted version of the name if not provided. + example: Root Cause + type: string + name: + description: The unique identifier of the field. Must start with a letter or digit and contain only letters, digits, underscores, or periods. + example: root_cause + type: string + ordinal: + description: A decimal string representing the field's display order in the UI. + example: '1.5' + nullable: true + type: string + required: + description: When true, users must fill out this field on incidents. + example: false + type: boolean + tag_key: + description: For metric tag-type fields only, the metric tag key that powers the autocomplete options. + example: datacenter + nullable: true + type: string + type: + $ref: '#/components/schemas/IncidentUserDefinedFieldFieldType' + valid_values: + description: The list of allowed values for dropdown and multiselect fields. Limited to 1000 values. + items: + $ref: '#/components/schemas/IncidentUserDefinedFieldValidValue' + type: array + required: + - name + - type + type: object + IncidentUserDefinedFieldCreateRelationships: + description: Relationships for creating an incident user-defined field. + properties: + incident_type: + $ref: '#/components/schemas/RelationshipToIncidentType' + required: + - incident_type + type: object + IncidentUserDefinedFieldAttributesUpdateRequest: + description: Attributes for updating an incident user-defined field. All fields are optional. + properties: + category: + $ref: '#/components/schemas/IncidentUserDefinedFieldCategory' + collected: + $ref: '#/components/schemas/IncidentUserDefinedFieldCollected' + default_value: + description: The default value for the field. Must be one of the valid values when valid_values is set. + example: critical + nullable: true + type: string + display_name: + description: The human-readable name shown in the UI. + example: Root Cause + type: string + ordinal: + description: A decimal string representing the field's display order in the UI. + example: '1.5' + nullable: true + type: string + required: + description: When true, users must fill out this field on incidents. + example: false + nullable: true + type: boolean + valid_values: + description: The list of allowed values for dropdown and multiselect fields. Limited to 1000 values. + items: + $ref: '#/components/schemas/IncidentUserDefinedFieldValidValue' + nullable: true + type: array + type: object + IncidentUserDefinedRoleIncludedItem: + description: A single included resource in a user-defined role response. + properties: + attributes: + $ref: '#/components/schemas/IncidentUserAttributes' + id: + description: ID of the user. + type: string + type: + $ref: '#/components/schemas/UsersType' + relationships: + $ref: '#/components/schemas/IncidentTypeRelationships' + type: object + required: + - id + - type + IncidentUserDefinedRoleDataAttributesRequest: + description: Attributes for creating an incident user-defined role. + properties: + description: + description: A description of the user-defined role. + example: The technical lead for the incident. + nullable: true + type: string + name: + description: The name of the user-defined role. + example: Tech Lead + type: string + policy: + $ref: '#/components/schemas/IncidentUserDefinedRolePolicy' + required: + - name + type: object + IncidentUserDefinedRoleRelationshipsRequest: + description: Relationships for creating a user-defined role. + properties: + incident_type: + $ref: '#/components/schemas/IncidentUserDefinedRoleIncidentTypeRelationship' + required: + - incident_type + type: object + IncidentUserDefinedRoleType: + description: Incident user-defined role resource type. + enum: + - incident_user_defined_roles + example: incident_user_defined_roles + type: string + x-enum-varnames: + - INCIDENT_USER_DEFINED_ROLES + IncidentUserDefinedRoleDataAttributesResponse: + description: Attributes of an incident user-defined role. + properties: + created: + description: Timestamp when the role was created. + example: '2024-01-01T00:00:00.000Z' + format: date-time + type: string + description: + description: A description of the user-defined role. + example: The technical lead for the incident. + nullable: true + type: string + modified: + description: Timestamp when the role was last modified. + example: '2024-01-01T00:00:00.000Z' + format: date-time + type: string + name: + description: The name of the user-defined role. + example: Tech Lead + type: string + policy: + $ref: '#/components/schemas/IncidentUserDefinedRolePolicy' + required: + - name + - policy + - created + - modified + type: object + IncidentUserDefinedRoleRelationshipsResponse: + description: Relationships of a user-defined role response. + properties: + created_by_user: + $ref: '#/components/schemas/RelationshipToUser' + incident_type: + $ref: '#/components/schemas/IncidentUserDefinedRoleIncidentTypeRelationship' + last_modified_by_user: + $ref: '#/components/schemas/RelationshipToUser' + type: object + IncidentUserDefinedRolePatchDataAttributesRequest: + description: Attributes for updating an incident user-defined role. + properties: + description: + description: A description of the user-defined role. + example: The technical lead for the incident. + nullable: true + type: string + name: + description: The name of the user-defined role. + example: Tech Lead + type: string + policy: + $ref: '#/components/schemas/IncidentUserDefinedRolePolicy' + type: object + IncidentImportRequestAttributes: + description: The incident's attributes for an import request. + properties: + declared: + description: Timestamp when the incident was declared. + example: '2025-01-01T00:00:00Z' + format: date-time + type: string + detected: + description: Timestamp when the incident was detected. + example: '2025-01-01T00:00:00Z' + format: date-time + type: string + fields: + additionalProperties: + $ref: '#/components/schemas/IncidentImportFieldAttributes' + description: A condensed view of the user-defined fields for which to create initial selections. + example: + severity: + value: SEV-5 + state: + value: active + type: object + incident_type_uuid: + description: A unique identifier that represents the incident type. If not provided, the default incident type is used. + example: 00000000-0000-0000-0000-000000000000 + type: string + resolved: + description: Timestamp when the incident was resolved. Can only be set when the state field is set to 'resolved'. + example: '2025-01-01T01:00:00Z' + format: date-time + type: string + title: + description: The title of the incident that summarizes what happened. + example: Imported incident from external system + maxLength: 1024 + type: string + visibility: + $ref: '#/components/schemas/IncidentImportVisibility' + required: + - title + type: object + IncidentImportRelationships: + description: The relationships for an incident import request. + properties: + commander_user: + $ref: '#/components/schemas/NullableRelationshipToUser' + declared_by_user: + $ref: '#/components/schemas/NullableRelationshipToUser' + type: object + IncidentImportResponseAttributes: + description: The incident's attributes from an import response. + properties: + archived: + description: Timestamp when the incident was archived. + format: date-time + nullable: true + readOnly: true + type: string + case_id: + description: The incident case ID. + format: int64 + nullable: true + type: integer + created: + description: Timestamp when the incident was created. + example: '2025-01-01T00:00:00Z' + format: date-time + readOnly: true + type: string + created_by_uuid: + description: UUID of the user who created the incident. + nullable: true + type: string + creation_idempotency_key: + description: A unique key used to ensure idempotent incident creation. + nullable: true + type: string + customer_impact_end: + description: Timestamp when customers were no longer impacted by the incident. + format: date-time + nullable: true + type: string + customer_impact_scope: + description: A summary of the impact customers experienced during the incident. + example: An example customer impact scope + nullable: true + type: string + customer_impact_start: + description: Timestamp when customers began to be impacted by the incident. + format: date-time + nullable: true + type: string + declared: + description: Timestamp when the incident was declared. + example: '2025-01-01T00:00:00Z' + format: date-time + nullable: true + type: string + declared_by_uuid: + description: UUID of the user who declared the incident. + nullable: true + type: string + detected: + description: Timestamp when the incident was detected. + example: '2025-01-01T00:00:00Z' + format: date-time + nullable: true + type: string + fields: + additionalProperties: + $ref: '#/components/schemas/IncidentFieldAttributes' + description: A condensed view of the user-defined fields attached to incidents. + example: + severity: + type: dropdown + value: SEV-5 + type: object + incident_type_uuid: + description: A unique identifier that represents an incident type. + example: 00000000-0000-0000-0000-000000000000 + type: string + is_test: + description: A flag indicating whether the incident is a test incident. + example: false + type: boolean + last_modified_by_uuid: + description: UUID of the user who last modified the incident. + nullable: true + type: string + modified: + description: Timestamp when the incident was last modified. + format: date-time + readOnly: true + type: string + non_datadog_creator: + $ref: '#/components/schemas/IncidentNonDatadogCreator' + notification_handles: + description: Notification handles that are notified of the incident during update. + items: + $ref: '#/components/schemas/IncidentNotificationHandle' + nullable: true + type: array + public_id: + description: The monotonically increasing integer ID for the incident. + example: 1 + format: int64 + type: integer + resolved: + description: Timestamp when the incident's state was last changed from active or stable to resolved or completed. + format: date-time + nullable: true + type: string + severity: + $ref: '#/components/schemas/IncidentSeverity' + state: + description: The state of the incident. + nullable: true + type: string + title: + description: The title of the incident that summarizes what happened. + example: A test incident title + type: string + visibility: + description: The incident visibility status. + nullable: true + type: string + required: + - title + type: object + IncidentImportResponseRelationships: + description: The incident's relationships from an import response. + properties: + attachments: + $ref: '#/components/schemas/RelationshipToIncidentAttachment' + commander_user: + $ref: '#/components/schemas/NullableRelationshipToUser' + created_by_user: + $ref: '#/components/schemas/RelationshipToUser' + declared_by_user: + $ref: '#/components/schemas/RelationshipToUser' + impacts: + $ref: '#/components/schemas/RelationshipToIncidentImpacts' + incident_type: + $ref: '#/components/schemas/RelationshipToIncidentType' + integrations: + $ref: '#/components/schemas/RelationshipToIncidentIntegrationMetadatas' + last_modified_by_user: + $ref: '#/components/schemas/RelationshipToUser' + responders: + $ref: '#/components/schemas/RelationshipToIncidentResponders' + user_defined_fields: + $ref: '#/components/schemas/RelationshipToIncidentUserDefinedFields' + type: object + IncidentSearchResponseAttributes: + description: Attributes returned by an incident search. + properties: + facets: + $ref: '#/components/schemas/IncidentSearchResponseFacetsData' + incidents: + description: Incidents returned by the search. + items: + $ref: '#/components/schemas/IncidentSearchResponseIncidentsData' + type: array + total: + description: Number of incidents returned by the search. + example: 10 + format: int32 + maximum: 2147483647 + type: integer + required: + - facets + - incidents + - total + type: object + IncidentSearchResultsType: + default: incidents_search_results + description: Incident search result type. + enum: + - incidents_search_results + example: incidents_search_results + type: string + x-enum-varnames: + - INCIDENTS_SEARCH_RESULTS + IncidentUpdateAttributes: + description: The incident's attributes for an update request. + properties: + customer_impact_end: + description: Timestamp when customers were no longer impacted by the incident. + format: date-time + nullable: true + type: string + customer_impact_scope: + description: A summary of the impact customers experienced during the incident. + example: Example customer impact scope + type: string + customer_impact_start: + description: Timestamp when customers began being impacted by the incident. + format: date-time + nullable: true + type: string + customer_impacted: + description: A flag indicating whether the incident caused customer impact. + example: false + type: boolean + detected: + description: Timestamp when the incident was detected. + format: date-time + nullable: true + type: string + fields: + additionalProperties: + $ref: '#/components/schemas/IncidentFieldAttributes' + description: A condensed view of the user-defined fields for which to update selections. + example: + severity: + type: dropdown + value: SEV-5 + type: object + notification_handles: + description: Notification handles that will be notified of the incident during update. + example: + - display_name: Jane Doe + handle: '@user@email.com' + - display_name: Slack Channel + handle: '@slack-channel' + - display_name: Incident Workflow + handle: '@workflow-from-incident' + items: + $ref: '#/components/schemas/IncidentNotificationHandle' + type: array + title: + description: The title of the incident, which summarizes what happened. + example: A test incident title + type: string + type: object + IncidentUpdateRelationships: + description: The incident's relationships for an update request. + properties: + commander_user: + $ref: '#/components/schemas/NullableRelationshipToUser' + integrations: + $ref: '#/components/schemas/RelationshipToIncidentIntegrationMetadatas' + postmortem: + $ref: '#/components/schemas/RelationshipToIncidentPostmortem' + type: object + IncidentAIPostmortemDataAttributesResponse: + description: Attributes of an AI-generated incident postmortem. + properties: + action_items: + description: Action items to prevent recurrence. + example: 1. Improve failover testing. 2. Add more monitoring alerts. + type: string + customer_impact: + description: The impact of the incident on customers. + example: 5% of users experienced timeouts for 30 minutes. + type: string + executive_summary: + description: An executive summary of the incident. + example: A database failover caused a 30-minute service outage affecting 5% of users. + type: string + key_timeline: + description: Key timeline events during the incident. + example: 10:00 - Alert fired. 10:05 - On-call engineer paged. 10:30 - Issue resolved. + type: string + lessons_learned: + description: Lessons learned from the incident. + example: We need to test the failover process under realistic load conditions. + type: string + system_overview: + description: An overview of the affected systems. + example: The primary database cluster experienced a failover event. + type: string + type: object + IncidentAIPostmortemResponseType: + description: AI postmortem response resource type. + enum: + - get_incident_ai_postmortem_response + example: get_incident_ai_postmortem_response + type: string + x-enum-varnames: + - GET_INCIDENT_AI_POSTMORTEM_RESPONSE + AttachmentDataAttributes: + description: The attachment's attributes. + properties: + attachment: + $ref: '#/components/schemas/AttachmentDataAttributesAttachment' + attachment_type: + $ref: '#/components/schemas/AttachmentDataAttributesAttachmentType' + modified: + description: Timestamp when the attachment was last modified. + example: '2025-01-01T01:01:01.000000001Z' + format: date-time + type: string + type: object + AttachmentDataRelationships: + description: The attachment's resource relationships. + properties: + incident: + $ref: '#/components/schemas/RelationshipToIncident' + last_modified_by_user: + $ref: '#/components/schemas/RelationshipToUser' + type: object + IncidentAttachmentType: + default: incident_attachments + description: The incident attachment resource type. + enum: + - incident_attachments + example: incident_attachments + type: string + x-enum-varnames: + - INCIDENT_ATTACHMENTS + CreateAttachmentRequestDataAttributes: + description: The attributes for creating an attachment. + properties: + attachment: + $ref: '#/components/schemas/CreateAttachmentRequestDataAttributesAttachment' + attachment_type: + $ref: '#/components/schemas/AttachmentDataAttributesAttachmentType' + type: object + PostmortemAttachmentRequestAttributes: + description: Postmortem attachment attributes + properties: + cells: + description: The cells of the postmortem + items: + $ref: '#/components/schemas/PostmortemCell' + type: array + content: + description: The content of the postmortem + example: |- + # Incident Report - IR-123 + [...] + type: string + postmortem_template_id: + description: The ID of the postmortem template + example: 93645509-874e-45c4-adfa-623bfeaead89-123 + type: string + title: + description: The title of the postmortem + example: Postmortem-IR-123 + type: string + type: object + PatchAttachmentRequestDataAttributes: + description: The attributes for updating an attachment. + properties: + attachment: + $ref: '#/components/schemas/PatchAttachmentRequestDataAttributesAttachment' + type: object + IncidentCreatePageFromIncidentDataAttributesRequest: + description: Attributes for creating a page from an incident. + properties: + description: + description: The description of the page. + example: A critical incident affecting production systems. + type: string + incident_public_id: + description: The public ID of the incident. + example: '12345' + type: string + role: + $ref: '#/components/schemas/IncidentPageRoleReference' + services: + description: List of affected services. + example: + - web-store + - checkout + items: + type: string + type: array + tags: + description: List of tags for the page. + example: + - env:prod + items: + type: string + type: array + target: + $ref: '#/components/schemas/IncidentPageTarget' + title: + description: The title of the page. + example: Production outage - SEV-1 + type: string + type: object + IncidentCreatePageFromIncidentType: + description: Resource type for a page creation request. + enum: + - page + example: page + type: string + x-enum-varnames: + - PAGE + IncidentPageUUIDType: + description: Resource type for a page UUID response. + enum: + - page_uuid + example: page_uuid + type: string + x-enum-varnames: + - PAGE_UUID + IncidentConfigurationPatchDataAttributesRequest: + description: Attributes for patching an incident configuration. All fields are optional. + properties: + execute_integrations: + description: Whether to execute integrations for this incident. + example: true + type: boolean + execute_notification_rules: + description: Whether to execute notification rules for this incident. + example: true + type: boolean + include_in_analytics: + description: Whether to include this incident in analytics. + example: true + type: boolean + include_in_search: + description: Whether to include this incident in search results. + example: true + type: boolean + type: object + IncidentConfigurationType: + description: Incident configuration resource type. + enum: + - incidents_configurations + example: incidents_configurations + type: string + x-enum-varnames: + - INCIDENTS_CONFIGURATIONS + IncidentConfigurationDataAttributesResponse: + description: Attributes of an incident configuration in a response. + properties: + created_at: + description: Timestamp when the configuration was created. + example: '2024-01-01T00:00:00.000Z' + format: date-time + type: string + execute_integrations: + description: Whether integrations are executed for this incident. + example: true + type: boolean + execute_notification_rules: + description: Whether notification rules are executed for this incident. + example: true + type: boolean + incident_id: + description: The incident identifier. + example: 00000000-0000-0000-0000-000000000000 + type: string + include_in_analytics: + description: Whether this incident is included in analytics. + example: true + type: boolean + include_in_search: + description: Whether this incident is included in search results. + example: true + type: boolean + modified_at: + description: Timestamp when the configuration was last modified. + example: '2024-01-01T00:00:00.000Z' + format: date-time + type: string + required: + - incident_id + - created_at + - modified_at + type: object + IncidentConfigurationRelationships: + description: Relationships for an incident configuration. + properties: + created_by_user: + $ref: '#/components/schemas/RelationshipToUser' + last_modified_by_user: + $ref: '#/components/schemas/RelationshipToUser' + type: object + IncidentConfigurationDataAttributesRequest: + description: Attributes for creating an incident configuration. + properties: + execute_integrations: + description: Whether to execute integrations for this incident. + example: true + type: boolean + execute_notification_rules: + description: Whether to execute notification rules for this incident. + example: true + type: boolean + include_in_analytics: + description: Whether to include this incident in analytics. + example: true + type: boolean + include_in_search: + description: Whether to include this incident in search results. + example: true + type: boolean + type: object + IncidentImpactAttributes: + description: The incident impact's attributes. + properties: + created: + description: Timestamp when the impact was created. + example: '2025-08-29T13:17:00Z' + format: date-time + readOnly: true + type: string + description: + description: Description of the impact. + example: Service was unavailable for external users + type: string + end_at: + description: Timestamp when the impact ended. + example: '2025-08-29T13:17:00Z' + format: date-time + nullable: true + type: string + fields: + $ref: '#/components/schemas/IncidentImpactFieldsObject' + impact_type: + description: The type of impact. + example: customer + type: string + modified: + description: Timestamp when the impact was last modified. + example: '2025-08-29T13:17:00Z' + format: date-time + readOnly: true + type: string + start_at: + description: Timestamp representing when the impact started. + example: '2025-08-28T13:17:00Z' + format: date-time + type: string + required: + - description + - start_at + type: object + IncidentImpactRelationships: + description: The incident impact's resource relationships. + properties: + created_by_user: + $ref: '#/components/schemas/RelationshipToUser' + incident: + $ref: '#/components/schemas/RelationshipToIncident' + last_modified_by_user: + $ref: '#/components/schemas/RelationshipToUser' + type: object + IncidentImpactType: + default: incident_impacts + description: Incident impact resource type. + enum: + - incident_impacts + example: incident_impacts + type: string + x-enum-varnames: + - INCIDENT_IMPACTS + IncidentImpactCreateAttributes: + description: The incident impact's attributes for a create request. + properties: + description: + description: Description of the impact. + example: Service was unavailable for external users + type: string + end_at: + description: Timestamp when the impact ended. + example: '2025-08-29T13:17:00Z' + format: date-time + nullable: true + type: string + fields: + $ref: '#/components/schemas/IncidentImpactFieldsObject' + start_at: + description: Timestamp when the impact started. + example: '2025-08-28T13:17:00Z' + format: date-time + type: string + required: + - description + - start_at + type: object + IncidentImpactPatchAttributes: + description: The incident impact's attributes for a patch request. All fields are optional. + properties: + description: + description: Description of the impact. + example: Service was unavailable for external users + type: string + end_at: + description: Timestamp when the impact ended. + example: '2025-08-29T13:17:00Z' + format: date-time + nullable: true + type: string + fields: + $ref: '#/components/schemas/IncidentImpactFieldsObject' + start_at: + description: Timestamp when the impact started. + example: '2025-08-28T13:17:00Z' + format: date-time + type: string + type: object + IncidentCreateOnCallPageDataAttributesRequest: + description: Attributes for creating an on-call page from an incident. + properties: + description: + description: The description of the page. + example: A critical incident affecting production systems. + type: string + role: + $ref: '#/components/schemas/IncidentPageRoleReference' + services: + description: List of affected services. + example: + - web-store + items: + type: string + type: array + tags: + description: List of tags for the page. + example: + - env:prod + items: + type: string + type: array + target: + $ref: '#/components/schemas/IncidentPageTarget' + title: + description: The title of the page. + example: Production outage - SEV-1 + type: string + type: object + IncidentOnCallPageDataAttributesRequest: + description: Attributes for linking a page to an incident. + properties: + key: + description: The key of the on-call page. + example: PAGE-12345 + type: string + page_target: + $ref: '#/components/schemas/IncidentOnCallPageTarget' + team_id: + description: The team ID associated with the page (deprecated, use page_target instead). + example: team-abc-123 + type: string + type: object + IncidentOnCallPageType: + description: On-call page resource type. + enum: + - page + example: page + type: string + x-enum-varnames: + - PAGE + IncidentIntegrationMetadataAttributes: + description: Incident integration metadata's attributes for a create request. + properties: + created: + description: Timestamp when the incident todo was created. + format: date-time + readOnly: true + type: string + incident_id: + description: UUID of the incident this integration metadata is connected to. + example: 00000000-aaaa-0000-0000-000000000000 + type: string + integration_type: + description: |- + A number indicating the type of integration this metadata is for. 1 indicates Slack; + 7 indicates Microsoft Teams; + 8 indicates Jira. + example: 1 + format: int32 + maximum: 100 + type: integer + metadata: + $ref: '#/components/schemas/IncidentIntegrationMetadataMetadata' + modified: + description: Timestamp when the incident todo was last modified. + format: date-time + readOnly: true + type: string + status: + description: |- + A number indicating the status of this integration metadata. 0 indicates unknown; + 1 indicates pending; 2 indicates complete; 3 indicates manually created; + 4 indicates manually updated; 5 indicates failed. + format: int32 + maximum: 5 + type: integer + required: + - integration_type + - metadata + type: object + IncidentIntegrationRelationships: + description: The incident's integration relationships from a response. + properties: + created_by_user: + $ref: '#/components/schemas/RelationshipToUser' + last_modified_by_user: + $ref: '#/components/schemas/RelationshipToUser' + type: object + IncidentIntegrationMetadataType: + default: incident_integrations + description: Integration metadata resource type. + enum: + - incident_integrations + example: incident_integrations + type: string + x-enum-varnames: + - INCIDENT_INTEGRATIONS + IncidentTodoAttributes: + description: Incident todo's attributes. + properties: + assignees: + $ref: '#/components/schemas/IncidentTodoAssigneeArray' + completed: + description: Timestamp when the todo was completed. + example: '2023-03-06T22:00:00.000000+00:00' + nullable: true + type: string + content: + description: The follow-up task's content. + example: Restore lost data. + type: string + created: + description: Timestamp when the incident todo was created. + format: date-time + readOnly: true + type: string + due_date: + description: Timestamp when the todo should be completed by. + example: '2023-07-10T05:00:00.000000+00:00' + nullable: true + type: string + incident_id: + description: UUID of the incident this todo is connected to. + example: 00000000-aaaa-0000-0000-000000000000 + type: string + modified: + description: Timestamp when the incident todo was last modified. + format: date-time + readOnly: true + type: string + required: + - content + - assignees + type: object + IncidentTodoRelationships: + description: The incident's relationships from a response. + properties: + created_by_user: + $ref: '#/components/schemas/RelationshipToUser' + last_modified_by_user: + $ref: '#/components/schemas/RelationshipToUser' + type: object + IncidentTodoType: + default: incident_todos + description: Todo resource type. + enum: + - incident_todos + example: incident_todos + type: string + x-enum-varnames: + - INCIDENT_TODOS + IncidentResponderDataAttributesResponse: + description: Attributes of an incident responder in a response. + properties: + created: + description: Timestamp when the responder was created. + example: '2024-01-01T00:00:00.000Z' + format: date-time + type: string + external_id: + description: The external ID of the responder. + example: null + nullable: true + type: string + external_source: + description: The external source of the responder. + example: null + nullable: true + type: string + is_billable: + description: Whether this responder counts toward billing. + example: true + type: boolean + last_active: + description: Timestamp when the responder was last active. + example: '2024-01-01T00:00:00.000Z' + format: date-time + nullable: true + type: string + meta: + additionalProperties: {} + description: Additional metadata for the responder. + nullable: true + type: object + modified: + description: Timestamp when the responder was last modified. + example: '2024-01-01T00:00:00.000Z' + format: date-time + type: string + required: + - created + - modified + - is_billable + type: object + IncidentResponderRelationships: + description: Relationships for an incident responder. + properties: + created_by: + $ref: '#/components/schemas/RelationshipToUser' + last_modified_by: + $ref: '#/components/schemas/RelationshipToUser' + role_assignments: + $ref: '#/components/schemas/IncidentResponderRoleAssignmentsRelationship' + user: + $ref: '#/components/schemas/NullableRelationshipToUser' + type: object + IncidentResponderType: + description: Incident responder resource type. + enum: + - incident_responders + example: incident_responders + type: string + x-enum-varnames: + - INCIDENT_RESPONDERS + IncidentResponderRelationshipsRequest: + description: Relationships for creating an incident responder. + properties: + user: + $ref: '#/components/schemas/IncidentResponderUserRelationship' + required: + - user + type: object + IncidentServiceNowRecordDataAttributesRequest: + description: Attributes for creating a ServiceNow record for an incident. + properties: + assignment_group: + description: The ServiceNow assignment group. + example: IT Support + type: string + configuration_item_mapping: + description: The ServiceNow configuration item mapping. + example: my-service + type: string + instance_name: + description: The ServiceNow instance name. + example: my-instance + type: string + record_id: + description: An existing ServiceNow record ID (Sys ID) to link instead of creating a new record. + example: abc123def456 + type: string + required: + - instance_name + - assignment_group + - configuration_item_mapping + type: object + IncidentServiceNowRecordPromptType: + description: ServiceNow record prompt resource type. + enum: + - incident_servicenow_record_prompt + example: incident_servicenow_record_prompt + type: string + x-enum-varnames: + - INCIDENT_SERVICENOW_RECORD_PROMPT + IncidentTimestampOverrideDataAttributesResponse: + description: Attributes of a timestamp override in a response. + properties: + created_at: + description: Timestamp when the override was created. + example: '2024-01-01T00:00:00.000Z' + format: date-time + type: string + deleted_at: + description: Timestamp when the override was deleted. + example: null + format: date-time + nullable: true + type: string + incident_id: + description: The incident identifier. + example: 00000000-0000-0000-0000-000000000000 + type: string + modified_at: + description: Timestamp when the override was last modified. + example: '2024-01-01T00:00:00.000Z' + format: date-time + type: string + timestamp_type: + $ref: '#/components/schemas/IncidentTimestampType' + timestamp_value: + description: The overridden timestamp value. + example: '2024-01-01T10:00:00.000Z' + format: date-time + type: string + required: + - incident_id + - timestamp_type + - timestamp_value + - created_at + - modified_at + type: object + IncidentTimestampOverrideRelationships: + description: Relationships for a timestamp override. + properties: + created_by_user: + $ref: '#/components/schemas/RelationshipToUser' + last_modified_by_user: + $ref: '#/components/schemas/RelationshipToUser' + type: object + IncidentTimestampOverrideType: + description: Incident timestamp override resource type. + enum: + - incidents_timestamp_overrides + example: incidents_timestamp_overrides + type: string + x-enum-varnames: + - INCIDENTS_TIMESTAMP_OVERRIDES + IncidentTimestampOverrideDataAttributesRequest: + description: Attributes for creating a timestamp override. + properties: + timestamp_type: + $ref: '#/components/schemas/IncidentTimestampType' + timestamp_value: + description: The overridden timestamp value. + example: '2024-01-01T10:00:00.000Z' + format: date-time + type: string + required: + - timestamp_type + - timestamp_value + type: object + IncidentTimestampOverridePatchDataAttributesRequest: + description: Attributes for patching a timestamp override. + properties: + timestamp_value: + description: The overridden timestamp value. + example: '2024-01-01T10:00:00.000Z' + format: date-time + type: string + required: + - timestamp_value + type: object + MaintenanceWindowAttributes: + description: Attributes of a maintenance window, including its schedule and the query that determines which cases are affected. + properties: + created_by: + description: The UUID of the user who created this maintenance window. Read-only. + readOnly: true + type: string + end_at: + description: The ISO 8601 timestamp when the maintenance window ends and normal notification behavior resumes. + example: '2026-06-01T06:00:00Z' + format: date-time + type: string + name: + description: A human-readable name for the maintenance window (for example, `Database migration - Dec 15`). + example: Weekly maintenance + type: string + query: + description: A case search query that determines which cases are affected during the maintenance window. Uses the same syntax as the Case Management search bar. + example: project:SEC + type: string + start_at: + description: The ISO 8601 timestamp when the maintenance window begins and notifications start being suppressed. + example: '2026-06-01T00:00:00Z' + format: date-time + type: string + updated_by: + description: The UUID of the user who last modified this maintenance window. Read-only. + readOnly: true + type: string + required: + - name + - query + - start_at + - end_at + type: object + MaintenanceWindowResourceType: + default: maintenance_window + description: JSON:API resource type for maintenance windows. + enum: + - maintenance_window + example: maintenance_window + type: string + x-enum-varnames: + - MAINTENANCE_WINDOW + MaintenanceWindowCreateAttributes: + description: Attributes required to create a maintenance window. + properties: + end_at: + description: The end time of the maintenance window. + example: '2026-06-01T06:00:00Z' + format: date-time + type: string + name: + description: The name of the maintenance window. + example: Weekly maintenance + type: string + query: + description: The query to filter event management cases for this maintenance window. + example: project:SEC + type: string + start_at: + description: The start time of the maintenance window. + example: '2026-06-01T00:00:00Z' + format: date-time + type: string + required: + - name + - query + - start_at + - end_at + type: object + MaintenanceWindowUpdateAttributes: + description: Attributes that can be updated on a maintenance window. All fields are optional; only provided fields are changed. + properties: + end_at: + description: The end time of the maintenance window. + format: date-time + type: string + name: + description: The name of the maintenance window. + type: string + query: + description: The query to filter event management cases for this maintenance window. + type: string + start_at: + description: The start time of the maintenance window. + format: date-time + type: string + type: object + EscalationPolicyCreateRequestDataAttributes: + description: Defines the attributes for creating an escalation policy, including its description, name, resolution behavior, retries, and steps. + properties: + name: + description: Specifies the name for the new escalation policy. + example: On-Call Escalation Policy + minLength: 1 + type: string + resolve_page_on_policy_end: + description: Indicates whether the page is automatically resolved when the policy ends. + type: boolean + retries: + description: Specifies how many times the escalation sequence is retried if there is no response. + format: int64 + maximum: 10 + minimum: 0 + type: integer + steps: + description: A list of escalation steps, each defining assignment, escalation timeout, and targets for the new policy. + items: + $ref: '#/components/schemas/EscalationPolicyCreateRequestDataAttributesStepsItems' + maxItems: 10 + minItems: 1 + type: array + required: + - name + - steps + type: object + EscalationPolicyCreateRequestDataRelationships: + description: Represents relationships in an escalation policy creation request, including references to teams. + properties: + teams: + $ref: '#/components/schemas/DataRelationshipsTeams' + type: object + EscalationPolicyCreateRequestDataType: + default: policies + description: Indicates that the resource is of type `policies`. + enum: + - policies + example: policies + type: string + x-enum-varnames: + - POLICIES + EscalationPolicyDataAttributes: + description: Defines the main attributes of an escalation policy, such as its name and behavior on policy end. + properties: + name: + description: Specifies the name of the escalation policy. + example: On-Call Escalation Policy + minLength: 1 + type: string + resolve_page_on_policy_end: + description: Indicates whether the page is automatically resolved when the policy ends. + type: boolean + retries: + description: Specifies how many times the escalation sequence is retried if there is no response. + format: int64 + maximum: 10 + minimum: 0 + type: integer + required: + - name + type: object + EscalationPolicyDataRelationships: + description: Represents the relationships for an escalation policy, including references to steps and teams. + properties: + steps: + $ref: '#/components/schemas/EscalationPolicyDataRelationshipsSteps' + teams: + $ref: '#/components/schemas/DataRelationshipsTeams' + required: + - steps + type: object + EscalationPolicyDataType: + default: policies + description: Indicates that the resource is of type `policies`. + enum: + - policies + example: policies + type: string + x-enum-varnames: + - POLICIES + EscalationPolicyStep: + description: Represents a single step in an escalation policy, including its attributes, relationships, and resource type. + properties: + attributes: + $ref: '#/components/schemas/EscalationPolicyStepAttributes' + id: + description: Specifies the unique identifier of this escalation policy step. + type: string + relationships: + $ref: '#/components/schemas/EscalationPolicyStepRelationships' + type: + $ref: '#/components/schemas/EscalationPolicyStepType' + required: + - type + type: object + EscalationPolicyUser: + description: Represents a user object in the context of an escalation policy, including their `id`, type, and basic attributes. + properties: + attributes: + $ref: '#/components/schemas/EscalationPolicyUserAttributes' + id: + description: The unique user identifier. + type: string + type: + $ref: '#/components/schemas/EscalationPolicyUserType' + required: + - type + type: object + ConfiguredSchedule: + description: Full resource representation of a configured schedule target with position (previous, current, or next). + properties: + attributes: + $ref: '#/components/schemas/ConfiguredScheduleTargetAttributes' + id: + description: Specifies the unique identifier of the configured schedule target. + example: 00000000-aba1-0000-0000-000000000000_previous + type: string + relationships: + $ref: '#/components/schemas/ConfiguredScheduleTargetRelationships' + type: + $ref: '#/components/schemas/ConfiguredScheduleTargetType' + required: + - type + - id + - attributes + - relationships + type: object + TeamReference: + description: Provides a reference to a team, including ID, type, and basic attributes/relationships. + properties: + attributes: + $ref: '#/components/schemas/TeamReferenceAttributes' + id: + description: The team's unique identifier. + type: string + type: + $ref: '#/components/schemas/TeamReferenceType' + required: + - type + type: object + EscalationPolicyUpdateRequestDataAttributes: + description: Defines the attributes that can be updated for an escalation policy, such as description, name, resolution behavior, retries, and steps. + properties: + name: + description: Specifies the name of the escalation policy. + example: On-Call Escalation Policy + minLength: 1 + type: string + resolve_page_on_policy_end: + description: Indicates whether the page is automatically resolved when the policy ends. + type: boolean + retries: + description: Specifies how many times the escalation sequence is retried if there is no response. + format: int64 + maximum: 10 + minimum: 0 + type: integer + steps: + description: A list of escalation steps, each defining assignment, escalation timeout, and targets. + items: + $ref: '#/components/schemas/EscalationPolicyUpdateRequestDataAttributesStepsItems' + maxItems: 10 + minItems: 1 type: array - included: - description: Included related resources that the user requested. + required: + - name + - steps + type: object + EscalationPolicyUpdateRequestDataRelationships: + description: Represents relationships in an escalation policy update request, including references to teams. + properties: + teams: + $ref: '#/components/schemas/DataRelationshipsTeams' + type: object + EscalationPolicyUpdateRequestDataType: + default: policies + description: Indicates that the resource is of type `policies`. + enum: + - policies + example: policies + type: string + x-enum-varnames: + - POLICIES + CreatePageRequestDataAttributes: + description: Details about the On-Call Page you want to create. + properties: + description: + description: A short summary of the issue or context. + type: string + tags: + description: Tags to help categorize or filter the page. + items: + description: A single tag for categorizing the page. + type: string + type: array + target: + $ref: '#/components/schemas/CreatePageRequestDataAttributesTarget' + title: + description: The title of the page. + example: 'Service: Test is down' + type: string + urgency: + $ref: '#/components/schemas/PageUrgency' + required: + - target + - title + - urgency + type: object + CreatePageRequestDataType: + default: pages + description: The type of resource used when creating an On-Call Page. + enum: + - pages + example: pages + type: string + x-enum-varnames: + - PAGES + CreatePageResponseDataType: + default: pages + description: The type of resource used when creating an On-Call Page. + enum: + - pages + example: pages + type: string + x-enum-varnames: + - PAGES + ScheduleCreateRequestDataAttributes: + description: Describes the main attributes for creating a new schedule, including name, layers, and time zone. + properties: + layers: + description: The layers of On-Call coverage that define rotation intervals and restrictions. + items: + $ref: '#/components/schemas/ScheduleCreateRequestDataAttributesLayersItems' + type: array + name: + description: A human-readable name for the new schedule. + example: Team A On-Call + type: string + time_zone: + description: The time zone in which the schedule is defined. + example: America/New_York + type: string + required: + - name + - time_zone + - layers + type: object + ScheduleCreateRequestDataRelationships: + description: Gathers relationship objects for the schedule creation request, including the teams to associate. + properties: + teams: + $ref: '#/components/schemas/DataRelationshipsTeams' + type: object + ScheduleCreateRequestDataType: + default: schedules + description: Schedules resource type. + enum: + - schedules + example: schedules + type: string + x-enum-varnames: + - SCHEDULES + ScheduleDataAttributes: + description: Provides core properties of a schedule object such as its name and time zone. + properties: + name: + description: A short name for the schedule. + example: Primary On-Call + type: string + tags: + description: A list of tags associated with the schedule. + items: + type: string + type: array + time_zone: + description: The time zone in which this schedule operates. + example: America/New_York + type: string + type: object + ScheduleDataRelationships: + description: Groups the relationships for a schedule object, referencing layers and teams. + properties: + layers: + $ref: '#/components/schemas/ScheduleDataRelationshipsLayers' + teams: + $ref: '#/components/schemas/DataRelationshipsTeams' + type: object + ScheduleDataType: + default: schedules + description: Schedules resource type. + enum: + - schedules + example: schedules + type: string + x-enum-varnames: + - SCHEDULES + Layer: + description: Encapsulates a layer resource, holding attributes like rotation details, plus relationships to the members covering that layer. + properties: + attributes: + $ref: '#/components/schemas/LayerAttributes' + id: + description: A unique identifier for this layer. + type: string + relationships: + $ref: '#/components/schemas/LayerRelationships' + type: + $ref: '#/components/schemas/LayerType' + required: + - type + type: object + ScheduleMember: + description: Represents a single member entry in a schedule, referencing a specific user. + properties: + id: + description: The unique identifier for this schedule member. + type: string + relationships: + $ref: '#/components/schemas/ScheduleMemberRelationships' + type: + $ref: '#/components/schemas/ScheduleMemberType' + required: + - type + type: object + ScheduleUser: + description: Represents a user object in the context of a schedule, including their `id`, type, and basic attributes. + properties: + attributes: + $ref: '#/components/schemas/ScheduleUserAttributes' + id: + description: The unique user identifier. + type: string + type: + $ref: '#/components/schemas/ScheduleUserType' + required: + - type + type: object + ScheduleUpdateRequestDataAttributes: + description: Defines the updatable attributes for a schedule, such as name, time zone, and layers. + properties: + layers: + description: The updated list of layers (rotations) for this schedule. + items: + $ref: '#/components/schemas/ScheduleUpdateRequestDataAttributesLayersItems' + type: array + name: + description: A short name for the schedule. + example: Primary On-Call + type: string + time_zone: + description: The time zone used when interpreting rotation times. + example: America/New_York + type: string + required: + - name + - time_zone + - layers + type: object + ScheduleUpdateRequestDataRelationships: + description: Houses relationships for the schedule update, typically referencing teams. + properties: + teams: + $ref: '#/components/schemas/DataRelationshipsTeams' + type: object + ScheduleUpdateRequestDataType: + default: schedules + description: Schedules resource type. + enum: + - schedules + example: schedules + type: string + x-enum-varnames: + - SCHEDULES + ShiftDataAttributes: + description: Attributes for an on-call shift. + properties: + end: + description: The end time of the shift. + format: date-time + type: string + start: + description: The start time of the shift. + format: date-time + type: string + type: object + ShiftDataRelationships: + description: Relationships for an on-call shift. + properties: + user: + $ref: '#/components/schemas/ShiftDataRelationshipsUser' + type: object + ShiftDataType: + default: shifts + description: Indicates that the resource is of type 'shifts'. + enum: + - shifts + example: shifts + type: string + x-enum-varnames: + - SHIFTS + ScheduleOnCallRespondersDataAttributes: + description: Attributes for a schedule's on-call responders lookup. + properties: + scheduled_at: + description: The timestamp the responders were resolved at. + format: date-time + type: string + type: object + ScheduleOnCallRespondersDataRelationships: + description: Relationships for a schedule's on-call responders lookup, including the schedule and its responder groups. + properties: + responders: + $ref: '#/components/schemas/ScheduleOnCallRespondersDataRelationshipsResponders' + schedule: + $ref: '#/components/schemas/ScheduleOnCallRespondersDataRelationshipsSchedule' + type: object + ScheduleOnCallRespondersDataType: + default: schedule_oncall_responders + description: Represents the resource type for a schedule's grouped on-call responders across the previous, current, and next positions. + enum: + - schedule_oncall_responders + example: schedule_oncall_responders + type: string + x-enum-varnames: + - SCHEDULE_ONCALL_RESPONDERS + ScheduleOnCallResponderData: + description: Represents one position's (previous, current, or next) group of on-call responder shifts. Positions with no matching shift are omitted entirely from the response. + properties: + attributes: + $ref: '#/components/schemas/ScheduleOnCallResponderDataAttributes' + id: + description: Unique identifier of this responder group. + type: string + relationships: + $ref: '#/components/schemas/ScheduleOnCallResponderDataRelationships' + type: + $ref: '#/components/schemas/ScheduleOnCallResponderDataType' + required: + - type + type: object + TeamOnCallRespondersDataRelationships: + description: Relationship objects linked to a team's on-call responder configuration, including escalations and responders. + properties: + escalations: + $ref: '#/components/schemas/TeamOnCallRespondersDataRelationshipsEscalations' + responders: + $ref: '#/components/schemas/TeamOnCallRespondersDataRelationshipsResponders' + type: object + TeamOnCallRespondersDataType: + default: team_oncall_responders + description: Represents the resource type for a group of users assigned to handle on-call duties within a team. + enum: + - team_oncall_responders + example: team_oncall_responders + type: string + x-enum-varnames: + - TEAM_ONCALL_RESPONDERS + Escalation: + description: Represents an escalation policy step. + properties: + id: + description: Unique identifier of the escalation step. + type: string + relationships: + $ref: '#/components/schemas/EscalationRelationships' + type: + $ref: '#/components/schemas/EscalationType' + required: + - type + type: object + TeamRoutingRulesDataRelationships: + description: Specifies relationships for team routing rules, including rule references. + properties: + rules: + $ref: '#/components/schemas/TeamRoutingRulesDataRelationshipsRules' + type: object + TeamRoutingRulesDataType: + default: team_routing_rules + description: Team routing rules resource type. + enum: + - team_routing_rules + example: team_routing_rules + type: string + x-enum-varnames: + - TEAM_ROUTING_RULES + RoutingRule: + description: Represents a routing rule, including its attributes, relationships, and unique identifier. + properties: + attributes: + $ref: '#/components/schemas/RoutingRuleAttributes' + id: + description: Specifies the unique identifier of this routing rule. + type: string + relationships: + $ref: '#/components/schemas/RoutingRuleRelationships' + type: + $ref: '#/components/schemas/RoutingRuleType' + required: + - type + type: object + TeamRoutingRulesRequestDataAttributes: + description: Represents the attributes of a request to update or create team routing rules. + properties: + rules: + description: A list of routing rule items that define how incoming pages should be handled. items: - $ref: >- - #/components/schemas/IncidentIntegrationMetadataResponseIncludedItem - readOnly: true + $ref: '#/components/schemas/TeamRoutingRulesRequestRule' type: array + type: object + TeamRoutingRulesRequestDataType: + default: team_routing_rules + description: Team routing rules resource type. + enum: + - team_routing_rules + example: team_routing_rules + type: string + x-enum-varnames: + - TEAM_ROUTING_RULES + NotificationChannelAttributes: + description: Attributes for an on-call notification channel. + properties: + active: + description: Whether the notification channel is currently active. + type: boolean + config: + $ref: '#/components/schemas/NotificationChannelConfig' + description: Notification channel configuration + type: object + NotificationChannelType: + default: notification_channels + description: Indicates that the resource is of type 'notification_channels'. + enum: + - notification_channels + example: notification_channels + type: string + x-enum-varnames: + - NOTIFICATION_CHANNELS + CreateNotificationChannelAttributes: + description: Attributes for creating an on-call notification channel. + properties: + config: + $ref: '#/components/schemas/CreateNotificationChannelConfig' + description: Notification channel configuration + type: object + OnCallNotificationRuleAttributes: + description: Attributes for an on-call notification rule. + properties: + category: + $ref: '#/components/schemas/OnCallNotificationRuleCategory' + channel_settings: + $ref: '#/components/schemas/OnCallNotificationRuleChannelSettings' + description: Configuration for the associated channel, if necessary + nullable: true + delay_minutes: + description: The number of minutes that will elapse before this rule is evaluated. 0 indicates immediate evaluation + format: int64 + type: integer + type: object + OnCallNotificationRuleRelationships: + description: Relationship object for creating a notification rule + properties: + channel: + $ref: '#/components/schemas/OnCallNotificationRuleChannelRelationship' + type: object + OnCallNotificationRuleType: + default: notification_rules + description: Indicates that the resource is of type 'notification_rules'. + enum: + - notification_rules + example: notification_rules + type: string + x-enum-varnames: + - NOTIFICATION_RULES + OnCallNotificationRuleRequestAttributes: + description: Attributes for creating or modifying an on-call notification rule. + properties: + category: + $ref: '#/components/schemas/OnCallNotificationRuleCategory' + channel_settings: + $ref: '#/components/schemas/OnCallNotificationRuleChannelSettings' + description: Configuration for the associated channel, if necessary + nullable: true + delay_minutes: + description: The number of minutes that will elapse before this rule is evaluated. 0 indicates immediate evaluation + format: int64 + type: integer + type: object + UpdateOnCallNotificationRuleRequestAttributes: + description: Attributes for creating or modifying an on-call notification rule. + properties: + category: + $ref: '#/components/schemas/OnCallNotificationRuleCategory' + channel_settings: + $ref: '#/components/schemas/OnCallNotificationRuleChannelSettings' + description: Configuration for the associated channel, if necessary + nullable: true + delay_minutes: + description: The number of minutes that will elapse before this rule is evaluated. 0 indicates immediate evaluation + format: int64 + type: integer + type: object + ServiceDefinitionDataAttributes: + description: Service definition attributes. + properties: meta: - $ref: '#/components/schemas/IncidentResponseMeta' + $ref: '#/components/schemas/ServiceDefinitionMeta' + schema: + $ref: '#/components/schemas/ServiceDefinitionSchema' + type: object + ServiceDefinitionV2Dot2Contact: + description: Service owner's contacts information. + properties: + contact: + description: Contact value. + example: https://teams.microsoft.com/myteam + type: string + name: + description: Contact Name. + example: My team channel + type: string + type: + description: 'Contact type. Datadog recognizes the following types: `email`, `slack`, and `microsoft-teams`.' + example: slack + type: string required: - - data + - type + - contact type: object - IncidentIntegrationMetadataCreateRequest: - description: Create request for an incident integration metadata. + ServiceDefinitionV2Dot2Integrations: + description: Third party integrations that Datadog supports. + properties: + opsgenie: + $ref: '#/components/schemas/ServiceDefinitionV2Dot2Opsgenie' + pagerduty: + $ref: '#/components/schemas/ServiceDefinitionV2Dot2Pagerduty' + type: object + ServiceDefinitionV2Dot2Link: + description: Service's external links. + properties: + name: + description: Link name. + example: Runbook + type: string + provider: + description: Link provider. + example: Github + type: string + type: + description: 'Link type. Datadog recognizes the following types: `runbook`, `doc`, `repo`, `dashboard`, and `other`.' + example: runbook + type: string + url: + description: Link URL. + example: https://my-runbook + type: string + required: + - name + - type + - url + type: object + ServiceDefinitionV2Dot2Version: + default: v2.2 + description: Schema version being used. + enum: + - v2.2 + example: v2.2 + type: string + x-enum-varnames: + - V2_2 + ServiceDefinitionV2Dot2Type: + description: The type of service. + example: web + type: string + ServiceDefinitionV2Dot1Contact: + description: Service owner's contacts information. + properties: + contact: + description: Contact value. + example: contact@datadoghq.com + type: string + name: + description: Contact email. + example: Team Email + type: string + type: + $ref: '#/components/schemas/ServiceDefinitionV2Dot1EmailType' + required: + - type + - contact + type: object + ServiceDefinitionV2Dot1Integrations: + description: Third party integrations that Datadog supports. + properties: + opsgenie: + $ref: '#/components/schemas/ServiceDefinitionV2Dot1Opsgenie' + pagerduty: + $ref: '#/components/schemas/ServiceDefinitionV2Dot1Pagerduty' + type: object + ServiceDefinitionV2Dot1Link: + description: Service's external links. + properties: + name: + description: Link name. + example: Runbook + type: string + provider: + description: Link provider. + example: Github + type: string + type: + $ref: '#/components/schemas/ServiceDefinitionV2Dot1LinkType' + url: + description: Link URL. + example: https://my-runbook + type: string + required: + - name + - type + - url + type: object + ServiceDefinitionV2Dot1Version: + default: v2.1 + description: Schema version being used. + enum: + - v2.1 + example: v2.1 + type: string + x-enum-varnames: + - V2_1 + ServiceDefinitionV2Contact: + description: Service owner's contacts information. properties: - data: - $ref: '#/components/schemas/IncidentIntegrationMetadataCreateData' + contact: + description: Contact value. + example: contact@datadoghq.com + type: string + name: + description: Contact email. + example: Team Email + type: string + type: + $ref: '#/components/schemas/ServiceDefinitionV2EmailType' required: - - data + - type + - contact type: object - IncidentIntegrationMetadataResponse: - description: Response with an incident integration metadata. + ServiceDefinitionV2Doc: + description: Service documents. properties: - data: - $ref: '#/components/schemas/IncidentIntegrationMetadataResponseData' - included: - description: Included related resources that the user requested. - items: - $ref: >- - #/components/schemas/IncidentIntegrationMetadataResponseIncludedItem - readOnly: true - type: array + name: + description: Document name. + example: Architecture + type: string + provider: + description: Document provider. + example: google drive + type: string + url: + description: Document URL. + example: https://gdrive/mydoc + type: string required: - - data + - name + - url type: object - IncidentIntegrationMetadataPatchRequest: - description: Patch request for an incident integration metadata. + ServiceDefinitionV2Integrations: + description: Third party integrations that Datadog supports. properties: - data: - $ref: '#/components/schemas/IncidentIntegrationMetadataPatchData' - required: - - data + opsgenie: + $ref: '#/components/schemas/ServiceDefinitionV2Opsgenie' + pagerduty: + $ref: '#/components/schemas/ServiceDefinitionV2Pagerduty' type: object - IncidentTodoListResponse: - description: Response with a list of incident todos. + ServiceDefinitionV2Link: + description: Service's external links. properties: - data: - description: An array of incident todos. - items: - $ref: '#/components/schemas/IncidentTodoResponseData' - type: array - included: - description: Included related resources that the user requested. - items: - $ref: '#/components/schemas/IncidentTodoResponseIncludedItem' - readOnly: true - type: array - meta: - $ref: '#/components/schemas/IncidentResponseMeta' + name: + description: Link name. + example: Runbook + type: string + type: + $ref: '#/components/schemas/ServiceDefinitionV2LinkType' + url: + description: Link URL. + example: https://my-runbook + type: string required: - - data + - name + - type + - url type: object - IncidentTodoCreateRequest: - description: Create request for an incident todo. + ServiceDefinitionV2Repo: + description: Service code repositories. properties: - data: - $ref: '#/components/schemas/IncidentTodoCreateData' + name: + description: Repository name. + example: Source Code + type: string + provider: + description: Repository provider. + example: GitHub + type: string + url: + description: Repository URL. + example: https://github.com/DataDog/schema + type: string required: - - data + - name + - url type: object - IncidentTodoResponse: - description: Response with an incident todo. + ServiceDefinitionV2Version: + default: v2 + description: Schema version being used. + enum: + - v2 + example: v2 + type: string + x-enum-varnames: + - V2 + SloReportCreateRequestAttributes: + description: The attributes portion of the SLO report request. properties: - data: - $ref: '#/components/schemas/IncidentTodoResponseData' - included: - description: Included related resources that the user requested. - items: - $ref: '#/components/schemas/IncidentTodoResponseIncludedItem' - readOnly: true - type: array + from_ts: + description: The `from` timestamp for the report in epoch seconds. + example: 1690901870 + format: int64 + type: integer + interval: + $ref: '#/components/schemas/SLOReportInterval' + query: + description: The query string used to filter SLO results. Some examples of queries include `service:` and `slo-name`. + example: slo_type:metric + type: string + timezone: + description: The timezone used to determine the start and end of each interval. For example, weekly intervals start at 12am on Sunday in the specified timezone. + example: America/New_York + type: string + to_ts: + description: The `to` timestamp for the report in epoch seconds. + example: 1706803070 + format: int64 + type: integer required: - - data + - query + - from_ts + - to_ts type: object - IncidentTodoPatchRequest: - description: Patch request for an incident todo. + SLOReportStatusGetResponseAttributes: + description: The attributes portion of the SLO report status response. properties: - data: - $ref: '#/components/schemas/IncidentTodoPatchData' - required: - - data + status: + $ref: '#/components/schemas/SLOReportStatus' type: object - EscalationPolicyCreateRequest: - description: >- - Represents a request to create a new escalation policy, including the - policy data. - example: - data: - attributes: - name: Escalation Policy 1 - resolve_page_on_policy_end: true - retries: 2 - steps: - - assignment: default - escalate_after_seconds: 3600 - targets: - - id: 00000000-aba1-0000-0000-000000000000 - type: users - - id: 00000000-aba2-0000-0000-000000000000 - type: schedules - - id: 00000000-aba3-0000-0000-000000000000 - type: teams - - assignment: round-robin - escalate_after_seconds: 3600 - targets: - - id: 00000000-aba1-0000-0000-000000000000 - type: users - - id: 00000000-abb1-0000-0000-000000000000 - type: users - relationships: - teams: - data: - - id: 00000000-da3a-0000-0000-000000000000 - type: teams - type: policies + SloStatusDataAttributes: + description: The attributes of the SLO status. properties: - data: - $ref: '#/components/schemas/EscalationPolicyCreateRequestData' + error_budget_remaining: + description: The percentage of error budget remaining. + example: 99.5 + format: double + type: number + raw_error_budget_remaining: + $ref: '#/components/schemas/RawErrorBudgetRemaining' + sli: + description: The current Service Level Indicator (SLI) value as a percentage. + example: 99.95 + format: double + type: number + span_precision: + description: The precision of the time span in seconds. + example: 2 + format: int64 + type: integer + state: + description: The current state of the SLO (for example, `breached`, `warning`, `ok`). + example: ok + type: string required: - - data - type: object - EscalationPolicy: - description: >- - Represents a complete escalation policy response, including policy data - and optionally included related resources. - example: - data: - attributes: - name: Escalation Policy 1 - resolve_page_on_policy_end: true - retries: 2 - id: 00000000-aba1-0000-0000-000000000000 - relationships: - steps: - data: - - id: 00000000-aba1-0000-0000-000000000000 - type: steps - teams: - data: - - id: 00000000-da3a-0000-0000-000000000000 - type: teams - type: policies - included: - - attributes: - avatar: '' - description: Team 1 description - handle: team1 - name: Team 1 - id: 00000000-da3a-0000-0000-000000000000 - type: teams - - attributes: - assignment: default - escalate_after_seconds: 3600 - id: 00000000-aba1-0000-0000-000000000000 - relationships: - targets: - data: - - id: 00000000-aba1-0000-0000-000000000000 - type: users - - id: 00000000-aba2-0000-0000-000000000000 - type: schedules - - id: 00000000-aba3-0000-0000-000000000000 - type: teams - type: steps - - id: 00000000-aba1-0000-0000-000000000000 - type: users - - id: 00000000-aba2-0000-0000-000000000000 - type: schedules - - id: 00000000-aba3-0000-0000-000000000000 - type: teams + - sli + - error_budget_remaining + - raw_error_budget_remaining + - state + - span_precision + type: object + SloStatusType: + description: The type of the SLO status resource. + enum: + - slo_status + example: slo_status + type: string + x-enum-varnames: + - SLO_STATUS + StatusPageDataAttributes: + description: The attributes of a status page. properties: - data: - $ref: '#/components/schemas/EscalationPolicyData' - included: - description: >- - Provides any included related resources, such as steps or targets, - returned with the policy. + company_logo: + description: Base64-encoded image data displayed on the status page. + nullable: true + type: string + components: + description: Components displayed on the status page. items: - $ref: '#/components/schemas/EscalationPolicyIncluded' + $ref: '#/components/schemas/StatusPageDataAttributesComponentsItems' type: array + created_at: + description: Timestamp of when the status page was created. + format: date-time + type: string + custom_domain: + description: If configured, the url that the status page is accessible at. + nullable: true + type: string + custom_domain_enabled: + description: Whether the custom domain is configured. + type: boolean + domain_prefix: + description: The subdomain of the status page's url taking the form `https://{domain_prefix}.statuspage.datadoghq.com`. Globally unique across Datadog Status Pages. + type: string + email_header_image: + description: Base64-encoded image data included in email notifications sent to status page subscribers. + nullable: true + type: string + enabled: + description: Whether the status page is enabled. + type: boolean + favicon: + description: Base64-encoded image data displayed in the browser tab. + nullable: true + type: string + modified_at: + description: Timestamp of when the status page was last modified. + format: date-time + type: string + name: + description: The name of the status page. + type: string + page_url: + description: The url that the status page is accessible at. + type: string + slack_app_icon: + description: The Slack app icon URL for the status page. + type: string + slack_subscriptions_enabled: + description: Whether Slack subscriptions are enabled for the status page. + type: boolean + subscriptions_enabled: + description: Whether users can subscribe to the status page. + type: boolean + type: + $ref: '#/components/schemas/CreateStatusPageRequestDataAttributesType' + visualization_type: + $ref: '#/components/schemas/CreateStatusPageRequestDataAttributesVisualizationType' type: object - EscalationPolicyUpdateRequest: - description: >- - Represents a request to update an existing escalation policy, including - the updated policy data. - example: - data: - attributes: - name: Escalation Policy 1 - resolve_page_on_policy_end: false - retries: 2 - steps: - - assignment: default - escalate_after_seconds: 3600 - id: 00000000-aba1-0000-0000-000000000000 - targets: - - id: 00000000-aba1-0000-0000-000000000000 - type: users - - id: 00000000-aba2-0000-0000-000000000000 - type: schedules - id: a3000000-0000-0000-0000-000000000000 - relationships: - teams: - data: - - id: 00000000-da3a-0000-0000-000000000000 - type: teams - type: policies + StatusPageDataRelationships: + description: The relationships of a status page. properties: - data: - $ref: '#/components/schemas/EscalationPolicyUpdateRequestData' - required: - - data + created_by_user: + $ref: '#/components/schemas/StatusPageDataRelationshipsCreatedByUser' + description: The Datadog user who created the status page. + last_modified_by_user: + $ref: '#/components/schemas/StatusPageDataRelationshipsLastModifiedByUser' + description: The Datadog user who last modified the status page. type: object - CreatePageRequest: - description: Full request to trigger an On-Call Page. - example: - data: - attributes: - description: Page details. - tags: - - service:test - target: - identifier: my-team - type: team_handle - title: Page title - urgency: low - type: pages + StatusPageDataType: + default: status_pages + description: Status pages resource type. + enum: + - status_pages + example: status_pages + type: string + x-enum-varnames: + - STATUS_PAGES + StatusPagesUser: + description: The included Datadog user resource. properties: - data: - $ref: '#/components/schemas/CreatePageRequestData' + attributes: + $ref: '#/components/schemas/StatusPagesUserAttributes' + id: + description: The ID of the Datadog user. + format: uuid + type: string + type: + $ref: '#/components/schemas/StatusPagesUserType' + required: + - type type: object - CreatePageResponse: - description: The full response object after creating a new On-Call Page. + PaginationMetaPage: + description: Offset-based pagination schema. example: - data: - id: 15e74b8b-f865-48d0-bcc5-453323ed2c8f - type: pages - properties: - data: - $ref: '#/components/schemas/CreatePageResponseData' + first_offset: 0 + last_offset: 900 + limit: 100 + next_offset: 100 + offset: 0 + prev_offset: 100 + total: 1000 + type: offset_limit + properties: + first_offset: + description: Integer representing the offset to fetch the first page of results. + example: 0 + format: int64 + type: integer + last_offset: + description: Integer representing the offset to fetch the last page of results. + example: 900 + format: int64 + nullable: true + type: integer + limit: + description: Integer representing the number of elements to be returned in the results. + example: 100 + format: int64 + type: integer + next_offset: + description: Integer representing the index of the first element in the next page of results. Equal to page size added to the current offset. + example: 100 + format: int64 + nullable: true + type: integer + offset: + description: Integer representing the index of the first element in the results. + example: 0 + format: int64 + type: integer + prev_offset: + description: Integer representing the index of the first element in the previous page of results. + example: 100 + format: int64 + nullable: true + type: integer + total: + description: Integer representing the total number of elements available. + example: 1000 + format: int64 + nullable: true + type: integer + type: + $ref: '#/components/schemas/PaginationMetaPageType' type: object - ScheduleCreateRequest: - description: >- - The top-level request body for schedule creation, wrapping a `data` - object. - example: - data: - attributes: - layers: - - effective_date: '2025-02-03T05:00:00Z' - end_date: '2025-12-31T00:00:00Z' - interval: - days: 1 - members: - - user: - id: 00000000-aba1-0000-0000-000000000000 - name: Layer 1 - restrictions: - - end_day: friday - end_time: '17:00:00' - start_day: monday - start_time: '09:00:00' - rotation_start: '2025-02-01T00:00:00Z' - name: On-Call Schedule - time_zone: America/New_York - relationships: - teams: - data: - - id: 00000000-da3a-0000-0000-000000000000 - type: teams - type: schedules + CreateStatusPageRequestDataAttributes: + description: The supported attributes for creating a status page. properties: - data: - $ref: '#/components/schemas/ScheduleCreateRequestData' + company_logo: + description: The base64-encoded image data displayed on the status page. + example: data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAEAAIKMMMM + type: string + components: + description: The components displayed on the status page. + example: + - components: + - name: Login + position: 0 + type: component + - name: Settings + position: 1 + type: component + name: Web App + position: 0 + type: group + - name: API + position: 1 + type: component + - name: Webhooks + position: 2 + type: component + items: + $ref: '#/components/schemas/CreateStatusPageRequestDataAttributesComponentsItems' + type: array + domain_prefix: + description: The subdomain of the status page's url taking the form `https://{domain_prefix}.statuspage.datadoghq.com`. Globally unique across Datadog Status Pages. + example: status-page-us1 + type: string + email_header_image: + description: Base64-encoded image data included in email notifications sent to status page subscribers. + example: data:image/png;base64,pQSLAw0KGgoAAAANSUhEUgAAAQ4AASJKFF + type: string + favicon: + description: Base64-encoded image data displayed in the browser tab. + example: data:image/png;base64,kWMRNw0KGgoAAAANSUhEUgAAAEAAAABACA + type: string + name: + description: The name of the status page. + example: Status Page US1 + type: string + slack_app_icon: + description: The Slack app icon URL for the status page. + type: string + slack_subscriptions_enabled: + description: Whether Slack subscriptions are enabled for the status page. + type: boolean + subscriptions_enabled: + description: Whether users can subscribe to the status page. + example: true + type: boolean + type: + $ref: '#/components/schemas/CreateStatusPageRequestDataAttributesType' + example: public + visualization_type: + $ref: '#/components/schemas/CreateStatusPageRequestDataAttributesVisualizationType' + example: bars_and_uptime_percentage required: - - data + - domain_prefix + - name + - type + - visualization_type type: object - Schedule: - description: >- - Top-level container for a schedule object, including both the `data` - payload and any related `included` resources (such as teams, layers, or - members). - example: - data: - attributes: - name: On-Call Schedule - time_zone: America/New_York - id: 3653d3c6-0c75-11ea-ad28-fb5701eabc7d - relationships: - layers: - data: - - id: 00000000-0000-0000-0000-000000000001 - type: layers - teams: - data: - - id: 00000000-da3a-0000-0000-000000000000 - type: teams - type: schedules - included: - - attributes: - avatar: '' - description: Team 1 description - handle: team1 - name: Team 1 - id: 00000000-da3a-0000-0000-000000000000 - type: teams - - attributes: - effective_date: '2025-02-03T05:00:00Z' - end_date: '2025-12-31T00:00:00Z' - interval: - days: 1 - name: Layer 1 - restrictions: - - end_day: friday - end_time: '17:00:00' - start_day: monday - start_time: '09:00:00' - rotation_start: '2025-02-01T00:00:00Z' - id: 00000000-0000-0000-0000-000000000001 - relationships: - members: - data: - - id: 00000000-0000-0000-0000-000000000002 - type: members - type: layers - - id: 00000000-0000-0000-0000-000000000002 - relationships: - user: - data: - id: 00000000-aba1-0000-0000-000000000000 - type: users - type: members - - attributes: - email: foo@bar.com - name: User 1 - id: 00000000-aba1-0000-0000-000000000000 - type: users + DegradationDataAttributes: + description: The attributes of a degradation. + properties: + components_affected: + description: Components affected by the degradation. + items: + $ref: '#/components/schemas/DegradationDataAttributesComponentsAffectedItems' + type: array + created_at: + description: Timestamp of when the degradation was created. + format: date-time + type: string + description: + description: Description of the degradation. + type: string + is_backfilled: + description: Whether the degradation was backfilled. + type: boolean + modified_at: + description: Timestamp of when the degradation was last modified. + format: date-time + type: string + source: + $ref: '#/components/schemas/DegradationDataAttributesSource' + status: + $ref: '#/components/schemas/CreateDegradationRequestDataAttributesStatus' + title: + description: Title of the degradation. + type: string + updates: + description: Past updates made to the degradation. + items: + $ref: '#/components/schemas/DegradationDataAttributesUpdatesItems' + type: array + type: object + DegradationDataRelationships: + description: The relationships of a degradation. + properties: + created_by_user: + $ref: '#/components/schemas/DegradationDataRelationshipsCreatedByUser' + description: The Datadog user who created the degradation. + last_modified_by_user: + $ref: '#/components/schemas/DegradationDataRelationshipsLastModifiedByUser' + description: The Datadog user who last modified the degradation. + status_page: + $ref: '#/components/schemas/DegradationDataRelationshipsStatusPage' + description: The status page the degradation belongs to. + template: + $ref: '#/components/schemas/DegradationDataRelationshipsTemplate' + description: The template the degradation was created from. + type: object + PatchDegradationRequestDataType: + default: degradations + description: Degradations resource type. + enum: + - degradations + example: degradations + type: string + x-enum-varnames: + - DEGRADATIONS + StatusPageAsIncluded: + description: The included status page resource. + properties: + attributes: + $ref: '#/components/schemas/StatusPageAsIncludedAttributes' + id: + description: The ID of the status page. + format: uuid + type: string + relationships: + $ref: '#/components/schemas/StatusPageAsIncludedRelationships' + type: + $ref: '#/components/schemas/StatusPageDataType' + required: + - type + type: object + MaintenanceDataAttributes: + description: The attributes of a maintenance. properties: - data: - $ref: '#/components/schemas/ScheduleData' - included: - description: >- - Any additional resources related to this schedule, such as teams and - layers. + completed_date: + description: Timestamp of when the maintenance was completed. + format: date-time + type: string + completed_description: + description: The description shown when the maintenance is completed. + type: string + components_affected: + description: Components affected by the maintenance. items: - $ref: '#/components/schemas/ScheduleDataIncludedItem' + $ref: '#/components/schemas/MaintenanceDataAttributesComponentsAffectedItems' + type: array + in_progress_description: + description: The description shown while the maintenance is in progress. + type: string + is_backfilled: + description: Whether the maintenance was backfilled. + type: boolean + modified_at: + description: Timestamp of when the maintenance was last modified. + format: date-time + type: string + published_date: + description: Timestamp of when the maintenance was published. + format: date-time + type: string + scheduled_description: + description: The description shown when the maintenance is scheduled. + type: string + start_date: + description: Timestamp of when the maintenance is scheduled to start. + format: date-time + type: string + status: + $ref: '#/components/schemas/MaintenanceDataAttributesStatus' + description: The status of the maintenance. + title: + description: Title of the maintenance. + type: string + updates: + description: Past updates made to the maintenance. + items: + $ref: '#/components/schemas/MaintenanceDataAttributesUpdatesItems' type: array type: object - ScheduleUpdateRequest: - description: >- - A top-level wrapper for a schedule update request, referring to the - `data` object with the new details. - example: - data: - attributes: - layers: - - effective_date: '2025-02-03T05:00:00Z' - end_date: '2025-12-31T00:00:00Z' - interval: - seconds: 3600 - members: - - user: - id: 00000000-aba1-0000-0000-000000000000 - name: Layer 1 - restrictions: - - end_day: friday - end_time: '17:00:00' - start_day: monday - start_time: '09:00:00' - rotation_start: '2025-02-01T00:00:00Z' - name: On-Call Schedule Updated - time_zone: America/New_York - id: 3653d3c6-0c75-11ea-ad28-fb5701eabc7d - relationships: - teams: - data: - - id: 00000000-da3a-0000-0000-000000000000 - type: teams - type: schedules + MaintenanceDataRelationships: + description: The relationships of a maintenance. properties: - data: - $ref: '#/components/schemas/ScheduleUpdateRequestData' - required: - - data + created_by_user: + $ref: '#/components/schemas/MaintenanceDataRelationshipsCreatedByUser' + description: The Datadog user who created the maintenance. + last_modified_by_user: + $ref: '#/components/schemas/MaintenanceDataRelationshipsLastModifiedByUser' + description: The Datadog user who last modified the maintenance. + status_page: + $ref: '#/components/schemas/MaintenanceDataRelationshipsStatusPage' + description: The status page the maintenance belongs to. + template: + $ref: '#/components/schemas/MaintenanceDataRelationshipsTemplate' + description: The template the maintenance was created from. + type: object + PatchMaintenanceRequestDataType: + default: maintenances + description: Maintenances resource type. + enum: + - maintenances + example: maintenances + type: string + x-enum-varnames: + - MAINTENANCES + PatchStatusPageRequestDataAttributes: + description: The supported attributes for updating a status page. + properties: + company_logo: + description: The base64-encoded image data displayed on the status page. + example: data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAEAAIKMMMM + type: string + domain_prefix: + description: The subdomain of the status page's url taking the form `https://{domain_prefix}.statuspage.datadoghq.com`. Globally unique across Datadog Status Pages. + example: status-page-us1 + type: string + email_header_image: + description: The base64-encoded image data displayed in email notifications sent to status page subscribers. + example: data:image/png;base64,pQSLAw0KGgoAAAANSUhEUgAAAQ4AASJKFF + type: string + favicon: + description: The base64-encoded image data displayed in the browser tab. + example: data:image/png;base64,kWMRNw0KGgoAAAANSUhEUgAAAEAAAABACA + type: string + name: + description: The name of the status page. + example: Status Page US1 + type: string + slack_app_icon: + description: The Slack app icon URL for the status page. + type: string + slack_subscriptions_enabled: + description: Whether Slack subscriptions are enabled for the status page. + type: boolean + subscriptions_enabled: + description: Whether users can subscribe to the status page. + example: true + type: boolean + type: + $ref: '#/components/schemas/CreateStatusPageRequestDataAttributesType' + example: public + visualization_type: + $ref: '#/components/schemas/CreateStatusPageRequestDataAttributesVisualizationType' + example: bars_and_uptime_percentage type: object - Shift: - description: An on-call shift with its associated data and relationships. - example: - data: - attributes: - end: '2025-05-07T03:53:01.206662873Z' - start: '2025-05-07T02:53:01.206662814Z' - id: 00000000-0000-0000-0000-000000000000 - relationships: - user: - data: - id: 00000000-aba1-0000-0000-000000000000 - type: users - type: shifts - included: - - attributes: - email: foo@bar.com - name: User 1 - status: '' - id: 00000000-aba1-0000-0000-000000000000 - type: users + StatusPagesComponentDataAttributes: + description: The attributes of a component. properties: - data: - $ref: '#/components/schemas/ShiftData' - nullable: true - included: - description: The `Shift` `included`. + components: + description: If the component is of type `group`, the components within the group. items: - $ref: '#/components/schemas/ShiftIncluded' + $ref: '#/components/schemas/StatusPagesComponentDataAttributesComponentsItems' type: array + created_at: + description: Timestamp of when the component was created. + format: date-time + type: string + modified_at: + description: Timestamp of when the component was last modified. + format: date-time + type: string + name: + description: The name of the component. + type: string + position: + description: The zero-indexed position of the component. + format: int64 + type: integer + status: + $ref: '#/components/schemas/StatusPagesComponentDataAttributesStatus' + type: + $ref: '#/components/schemas/CreateComponentRequestDataAttributesType' + required: + - type type: object - TeamOnCallResponders: - description: Root object representing a team's on-call responder configuration. - example: - data: - id: 111ee23r-aaaaa-aaaa-aaww-1234wertsd23 - relationships: - escalations: - data: - - id: 111ee23r-aaaaa-aaaa-aaww-1234wertsd23 - type: escalation_policy_steps - responders: - data: - - id: 111ee23r-aaaaa-aaaa-aaww-1234wertsd23 - type: users - type: team_oncall_responders - included: - - attributes: - email: test@test.com - name: Test User - status: active - id: 111ee23r-aaaaa-aaaa-aaww-1234wertsd23 - type: users - - id: 111ee23r-aaaaa-aaaa-aaww-1234wertsd23 - relationships: - responders: - data: - - id: 111ee23r-aaaaa-aaaa-aaww-1234wertsd23 - type: users - type: escalation_policy_steps + StatusPagesComponentDataRelationships: + description: The relationships of a component. properties: - data: - $ref: '#/components/schemas/TeamOnCallRespondersData' - included: - description: The `TeamOnCallResponders` `included`. - items: - $ref: '#/components/schemas/TeamOnCallRespondersIncluded' - type: array + created_by_user: + $ref: '#/components/schemas/StatusPagesComponentDataRelationshipsCreatedByUser' + description: The Datadog user who created the component. + group: + $ref: '#/components/schemas/StatusPagesComponentDataRelationshipsGroup' + description: The group the component belongs to. + last_modified_by_user: + $ref: '#/components/schemas/StatusPagesComponentDataRelationshipsLastModifiedByUser' + description: The Datadog user who last modified the component. + status_page: + $ref: '#/components/schemas/StatusPagesComponentDataRelationshipsStatusPage' + description: The status page the component belongs to. + type: object + StatusPagesComponentGroupType: + default: components + description: Components resource type. + enum: + - components + example: components + type: string + x-enum-varnames: + - COMPONENTS + StatusPagesComponentGroup: + description: The included component group resource. + properties: + attributes: + $ref: '#/components/schemas/StatusPagesComponentGroupAttributes' + id: + description: The ID of the component. + format: uuid + type: string + relationships: + $ref: '#/components/schemas/StatusPagesComponentGroupRelationships' + type: + $ref: '#/components/schemas/StatusPagesComponentGroupType' + required: + - type type: object - TeamRoutingRules: - description: >- - Represents a complete set of team routing rules, including data and - optionally included related resources. - example: - data: - id: 27590dae-47be-4a7d-9abf-8f4e45124020 - relationships: - rules: - data: - - id: 03aff2d6-6cbf-496c-997f-a857bbe9a94a - type: team_routing_rules - - id: 03aff2d6-6cbf-496c-997f-a857bbe9a94a - type: team_routing_rules - type: team_routing_rules - included: - - attributes: - actions: null - query: tags.service:test - time_restriction: - restrictions: - - end_day: monday - end_time: '17:00:00' - start_day: monday - start_time: '09:00:00' - - end_day: tuesday - end_time: '17:00:00' - start_day: tuesday - start_time: '09:00:00' - time_zone: '' - urgency: high - id: 03aff2d6-6cbf-496c-997f-a857bbe9a94a - relationships: - policy: - data: null - type: team_routing_rules + CreateComponentRequestDataAttributes: + description: The supported attributes for creating a component. properties: - data: - $ref: '#/components/schemas/TeamRoutingRulesData' - included: - description: Provides related routing rules or other included resources. + components: + description: If creating a component of type `group`, the components to create within the group. + example: + - name: Login + position: 0 + type: component + - name: Settings + position: 1 + type: component items: - $ref: '#/components/schemas/TeamRoutingRulesIncluded' + $ref: '#/components/schemas/CreateComponentRequestDataAttributesComponentsItems' type: array + name: + description: The name of the component. + example: Web App + type: string + position: + description: The zero-indexed position of the component. + example: 0 + format: int64 + type: integer + type: + $ref: '#/components/schemas/CreateComponentRequestDataAttributesType' + description: The type of the component. + example: group + required: + - name + - position + - type type: object - TeamRoutingRulesRequest: - description: >- - Represents a request to create or update team routing rules, including - the data payload. - example: - data: - attributes: - rules: - - actions: null - policy_id: '' - query: tags.service:test - time_restriction: - restrictions: - - end_day: monday - end_time: '17:00:00' - start_day: monday - start_time: '09:00:00' - - end_day: tuesday - end_time: '17:00:00' - start_day: tuesday - start_time: '09:00:00' - time_zone: '' - urgency: high - - actions: - - channel: channel - type: send_slack_message - workspace: workspace - policy_id: fad4eee1-13f5-40d8-886b-4e56d8d5d1c6 - query: '' - time_restriction: null - urgency: low - id: 27590dae-47be-4a7d-9abf-8f4e45124020 - type: team_routing_rules + CreateComponentRequestDataRelationships: + description: The supported relationships for creating a component. properties: - data: - $ref: '#/components/schemas/TeamRoutingRulesRequestData' + group: + $ref: '#/components/schemas/CreateComponentRequestDataRelationshipsGroup' + description: The group to create the component within. type: object - IncidentServicesResponse: - description: Response with a list of incident service payloads. + PatchComponentRequestDataAttributes: + description: The supported attributes for updating a component. properties: - data: - description: An array of incident services. - example: - - id: 00000000-0000-0000-0000-000000000000 - type: services + name: + description: The name of the component. + example: Web App + type: string + position: + description: The position of the component. If the component belongs to a group, the position is relative to the other components in the group. + example: 1 + format: int64 + type: integer + type: object + DegradationTemplateDataAttributes: + description: The attributes of a degradation template. + properties: + components_affected: + description: The components affected by a degradation created from this template. items: - $ref: '#/components/schemas/IncidentServiceResponseData' + $ref: '#/components/schemas/DegradationTemplateDataAttributesComponentsAffectedItems' type: array - included: - description: Included related resources which the user requested. + created_at: + description: Timestamp of when the degradation template was created. + format: date-time + type: string + degradation_title: + description: The title used for a degradation created from this template. + type: string + modified_at: + description: Timestamp of when the degradation template was last modified. + format: date-time + type: string + name: + description: The name of the degradation template. + type: string + updates: + description: The pre-filled updates for a degradation created from this template. items: - $ref: '#/components/schemas/IncidentServiceIncludedItems' - readOnly: true + $ref: '#/components/schemas/DegradationTemplateDataAttributesUpdatesItems' type: array - meta: - $ref: '#/components/schemas/IncidentResponseMeta' - required: - - data type: object - IncidentServiceCreateRequest: - description: Create request with an incident service payload. + DegradationTemplateDataRelationships: + description: The relationships of a degradation template. properties: - data: - $ref: '#/components/schemas/IncidentServiceCreateData' - required: - - data - type: object - IncidentServiceResponse: - description: Response with an incident service payload. + created_by_user: + $ref: '#/components/schemas/DegradationTemplateDataRelationshipsCreatedByUser' + description: The Datadog user who created the degradation template. + last_modified_by_user: + $ref: '#/components/schemas/DegradationTemplateDataRelationshipsLastModifiedByUser' + description: The Datadog user who last modified the degradation template. + status_page: + $ref: '#/components/schemas/DegradationTemplateDataRelationshipsStatusPage' + description: The status page the degradation template belongs to. + type: object + PatchDegradationTemplateRequestDataType: + default: degradation_templates + description: Degradation templates resource type. + enum: + - degradation_templates + example: degradation_templates + type: string + x-enum-varnames: + - DEGRADATION_TEMPLATES + CreateDegradationTemplateRequestDataAttributes: + description: The attributes for creating a degradation template. properties: - data: - $ref: '#/components/schemas/IncidentServiceResponseData' - included: - description: Included objects from relationships. + components_affected: + description: The components affected by a degradation created from this template. items: - $ref: '#/components/schemas/IncidentServiceIncludedItems' - readOnly: true + $ref: '#/components/schemas/CreateDegradationTemplateRequestDataAttributesComponentsAffectedItems' + type: array + degradation_title: + description: The title used for a degradation created from this template. + type: string + name: + description: The name of the degradation template. + example: '' + type: string + updates: + description: The pre-filled updates for a degradation created from this template. + items: + $ref: '#/components/schemas/CreateDegradationTemplateRequestDataAttributesUpdatesItems' type: array required: - - data + - name type: object - ServiceDefinitionsListResponse: - description: Create service definitions response. + PatchDegradationTemplateRequestDataAttributes: + description: The supported attributes for updating a degradation template. properties: - data: - description: Data representing service definitions. + components_affected: + description: The components affected by a degradation created from this template. items: - $ref: '#/components/schemas/ServiceDefinitionData' + $ref: '#/components/schemas/PatchDegradationTemplateRequestDataAttributesComponentsAffectedItems' type: array - type: object - ServiceDefinitionsCreateRequest: - description: Create service definitions request. - oneOf: - - $ref: '#/components/schemas/ServiceDefinitionV2Dot2' - - $ref: '#/components/schemas/ServiceDefinitionV2Dot1' - - $ref: '#/components/schemas/ServiceDefinitionV2' - - $ref: '#/components/schemas/ServiceDefinitionRaw' - ServiceDefinitionCreateResponse: - description: Create service definitions response. - properties: - data: - description: Create service definitions response payload. + degradation_title: + description: The title used for a degradation created from this template. + type: string + name: + description: The name of the degradation template. + type: string + updates: + description: The pre-filled updates for a degradation created from this template. items: - $ref: '#/components/schemas/ServiceDefinitionData' + $ref: '#/components/schemas/PatchDegradationTemplateRequestDataAttributesUpdatesItems' type: array type: object - ServiceDefinitionGetResponse: - description: Get service definition response. - properties: - data: - $ref: '#/components/schemas/ServiceDefinitionData' - type: object - IncidentServiceUpdateRequest: - description: Update request with an incident service payload. - properties: - data: - $ref: '#/components/schemas/IncidentServiceUpdateData' - required: - - data - type: object - SloReportCreateRequest: - description: The SLO report request body. + CreateDegradationRequestDataAttributes: + description: The supported attributes for creating a degradation. properties: - data: - $ref: '#/components/schemas/SloReportCreateRequestData' + components_affected: + description: The components affected by the degradation. + example: + - id: 1234abcd-12ab-34cd-56ef-123456abcdef + status: degraded + items: + $ref: '#/components/schemas/CreateDegradationRequestDataAttributesComponentsAffectedItems' + type: array + description: + description: The description of the degradation. + example: Our API is experiencing elevated latency. We are investigating the issue. + type: string + status: + $ref: '#/components/schemas/CreateDegradationRequestDataAttributesStatus' + description: The status of the degradation. + example: investigating + title: + description: The title of the degradation. + example: Elevated API Latency + type: string required: - - data - type: object - SLOReportPostResponse: - description: The SLO report response. - properties: - data: - $ref: '#/components/schemas/SLOReportPostResponseData' + - components_affected + - status + - title type: object - SLOReportStatusGetResponse: - description: The SLO report status response. + CreateDegradationRequestDataRelationships: + description: The supported relationships for creating a degradation. properties: - data: - $ref: '#/components/schemas/SLOReportStatusGetResponseData' + template: + $ref: '#/components/schemas/CreateDegradationRequestDataRelationshipsTemplate' + description: The template used to create the degradation. type: object - IncidentTeamsResponse: - description: Response with a list of incident team payloads. + CreateBackfilledDegradationRequestDataAttributes: + description: The supported attributes for creating a backfilled degradation. properties: - data: - description: An array of incident teams. - example: - - attributes: - name: team name - id: 00000000-7ea3-0000-0000-000000000000 - type: teams - items: - $ref: '#/components/schemas/IncidentTeamResponseData' - type: array - included: - description: Included related resources which the user requested. + title: + description: The title of the backfilled degradation. + example: '' + type: string + updates: + description: The list of status updates describing the timeline of the degradation. items: - $ref: '#/components/schemas/IncidentTeamIncludedItems' - readOnly: true + $ref: '#/components/schemas/CreateBackfilledDegradationRequestDataAttributesUpdatesItems' type: array - meta: - $ref: '#/components/schemas/IncidentResponseMeta' required: - - data + - title + - updates type: object - IncidentTeamCreateRequest: - description: Create request with an incident team payload. + CreateBackfilledDegradationRequestDataRelationships: + description: The supported relationships for creating a backfilled degradation. properties: - data: - $ref: '#/components/schemas/IncidentTeamCreateData' - required: - - data + template: + $ref: '#/components/schemas/CreateBackfilledDegradationRequestDataRelationshipsTemplate' + description: The template used to create the backfilled degradation. type: object - IncidentTeamResponse: - description: Response with an incident team payload. + PatchDegradationRequestDataAttributes: + description: The supported attributes for updating a degradation. properties: - data: - $ref: '#/components/schemas/IncidentTeamResponseData' - included: - description: Included objects from relationships. + components_affected: + description: The components affected by the degradation. + example: + - id: 1234abcd-12ab-34cd-56ef-123456abcdef + status: operational items: - $ref: '#/components/schemas/IncidentTeamIncludedItems' - readOnly: true + $ref: '#/components/schemas/PatchDegradationRequestDataAttributesComponentsAffectedItems' type: array - required: - - data + description: + description: The description of the degradation. + example: We've deployed a fix and latency has returned to normal. This issue has been resolved. + type: string + status: + $ref: '#/components/schemas/PatchDegradationRequestDataAttributesStatus' + example: resolved + title: + description: The title of the degradation. + example: Elevated API Latency + type: string type: object - IncidentTeamUpdateRequest: - description: Update request with an incident team payload. + PatchDegradationRequestDataRelationships: + description: The supported relationships for updating a degradation. properties: - data: - $ref: '#/components/schemas/IncidentTeamUpdateData' - required: - - data + template: + $ref: '#/components/schemas/PatchDegradationRequestDataRelationshipsTemplate' + description: The template used to create the degradation. type: object - CaseSortableField: - description: Case field that can be sorted on + PatchDegradationUpdateRequestDataAttributes: + description: Attributes for editing a degradation update. + properties: + description: + description: The message body of the update. + type: string + status: + $ref: '#/components/schemas/PatchDegradationUpdateRequestDataAttributesStatus' + type: object + PatchDegradationUpdateRequestDataType: + default: degradation_updates + description: Degradation updates resource type. enum: - - created_at - - priority - - status - example: created_at + - degradation_updates + example: degradation_updates type: string x-enum-varnames: - - CREATED_AT - - PRIORITY - - STATUS - Case: - description: A case + - DEGRADATION_UPDATES + DegradationUpdateDataAttributes: + description: Attributes of a degradation update resource. properties: - attributes: - $ref: '#/components/schemas/CaseAttributes' - id: - description: Case's identifier - example: aeadc05e-98a8-11ec-ac2c-da7ad0900001 + components_affected: + description: Components affected by this update. + items: + $ref: '#/components/schemas/DegradationUpdateDataAttributesComponentsAffectedItems' + type: array + created_at: + description: The date and time the update was created. + format: date-time type: string - relationships: - $ref: '#/components/schemas/CaseRelationships' - type: - $ref: '#/components/schemas/CaseResourceType' - required: - - id - - type - - attributes - type: object - CasesResponseMeta: - description: Cases response metadata - properties: - page: - $ref: '#/components/schemas/CasesResponseMetaPagination' + deleted_at: + description: The date and time the update was soft-deleted. + format: date-time + type: string + description: + description: The message body of the update. + type: string + modified_at: + description: The date and time the update was last modified. + format: date-time + type: string + started_at: + description: The date and time the update started. + format: date-time + type: string + status: + $ref: '#/components/schemas/CreateDegradationRequestDataAttributesStatus' type: object - CaseCreate: - description: Case creation data + DegradationUpdateDataRelationships: + description: Relationships of a degradation update resource. properties: - attributes: - $ref: '#/components/schemas/CaseCreateAttributes' - relationships: - $ref: '#/components/schemas/CaseCreateRelationships' - type: - $ref: '#/components/schemas/CaseResourceType' - required: - - attributes - - type + created_by_user: + $ref: '#/components/schemas/DegradationUpdateDataRelationshipsUser' + degradation: + $ref: '#/components/schemas/DegradationUpdateDataRelationshipsDegradation' + deleted_by_user: + $ref: '#/components/schemas/DegradationUpdateDataRelationshipsUser' + last_modified_by_user: + $ref: '#/components/schemas/DegradationUpdateDataRelationshipsUser' + status_page: + $ref: '#/components/schemas/DegradationUpdateDataRelationshipsStatusPage' type: object - Project: - description: A Project + MaintenanceTemplateDataAttributes: + description: The attributes of a maintenance template. properties: - attributes: - $ref: '#/components/schemas/ProjectAttributes' - id: - description: The Project's identifier - example: aeadc05e-98a8-11ec-ac2c-da7ad0900001 + completed_description: + description: The description shown when a maintenance created from this template is completed. + type: string + component_ids: + description: The IDs of the components affected by a maintenance created from this template. + items: + type: string + type: array + created_at: + description: Timestamp of when the maintenance template was created. + format: date-time + type: string + in_progress_description: + description: The description shown while a maintenance created from this template is in progress. + type: string + maintenance_title: + description: The title used for a maintenance created from this template. + type: string + modified_at: + description: Timestamp of when the maintenance template was last modified. + format: date-time + type: string + name: + description: The name of the maintenance template. + type: string + scheduled_description: + description: The description shown when a maintenance created from this template is scheduled. type: string - relationships: - $ref: '#/components/schemas/ProjectRelationships' - type: - $ref: '#/components/schemas/ProjectResourceType' - required: - - id - - type - - attributes type: object - ProjectCreate: - description: Project create + MaintenanceTemplateDataRelationships: + description: The relationships of a maintenance template. properties: - attributes: - $ref: '#/components/schemas/ProjectCreateAttributes' - type: - $ref: '#/components/schemas/ProjectResourceType' - required: - - attributes - - type - type: object - CaseEmpty: - description: Case empty request data + created_by_user: + $ref: '#/components/schemas/MaintenanceTemplateDataRelationshipsCreatedByUser' + description: The Datadog user who created the maintenance template. + last_modified_by_user: + $ref: '#/components/schemas/MaintenanceTemplateDataRelationshipsLastModifiedByUser' + description: The Datadog user who last modified the maintenance template. + status_page: + $ref: '#/components/schemas/MaintenanceTemplateDataRelationshipsStatusPage' + description: The status page the maintenance template belongs to. + type: object + PatchMaintenanceTemplateRequestDataType: + default: maintenance_templates + description: Maintenance templates resource type. + enum: + - maintenance_templates + example: maintenance_templates + type: string + x-enum-varnames: + - MAINTENANCE_TEMPLATES + CreateMaintenanceTemplateRequestDataAttributes: + description: The attributes for creating a maintenance template. properties: - type: - $ref: '#/components/schemas/CaseResourceType' + completed_description: + description: The description shown when a maintenance created from this template is completed. + type: string + component_ids: + description: The IDs of the components affected by a maintenance created from this template. + items: + type: string + type: array + in_progress_description: + description: The description shown while a maintenance created from this template is in progress. + type: string + maintenance_title: + description: The title used for a maintenance created from this template. + type: string + name: + description: The name of the maintenance template. + example: '' + type: string + scheduled_description: + description: The description shown when a maintenance created from this template is scheduled. + type: string required: - - type + - name type: object - CaseAssign: - description: Case assign + PatchMaintenanceTemplateRequestDataAttributes: + description: The supported attributes for updating a maintenance template. properties: - attributes: - $ref: '#/components/schemas/CaseAssignAttributes' - type: - $ref: '#/components/schemas/CaseResourceType' - required: - - attributes - - type + completed_description: + description: The description shown when a maintenance created from this template is completed. + type: string + component_ids: + description: The IDs of the components affected by a maintenance created from this template. + items: + type: string + type: array + in_progress_description: + description: The description shown while a maintenance created from this template is in progress. + type: string + maintenance_title: + description: The title used for a maintenance created from this template. + type: string + name: + description: The name of the maintenance template. + type: string + scheduled_description: + description: The description shown when a maintenance created from this template is scheduled. + type: string type: object - CaseUpdateAttributes: - description: Case update attributes + CreateMaintenanceRequestDataAttributes: + description: The supported attributes for creating a maintenance. properties: - attributes: - $ref: '#/components/schemas/CaseUpdateAttributesAttributes' - type: - $ref: '#/components/schemas/CaseResourceType' + completed_date: + description: Timestamp of when the maintenance was completed. + example: '2026-02-18T19:51:13.332360075Z' + format: date-time + type: string + completed_description: + description: The description shown when the maintenance is completed. + example: We have completed maintenance on the API to improve performance. + type: string + components_affected: + description: The components affected by the maintenance. + items: + $ref: '#/components/schemas/CreateMaintenanceRequestDataAttributesComponentsAffectedItems' + type: array + in_progress_description: + description: The description shown while the maintenance is in progress. + example: We are currently performing maintenance on the API to improve performance. + type: string + scheduled_description: + description: The description shown when the maintenance is scheduled. + example: We will be performing maintenance on the API to improve performance. + type: string + start_date: + description: Timestamp of when the maintenance is scheduled to start. + example: '2026-02-18T19:21:13.332360075Z' + format: date-time + type: string + title: + description: The title of the maintenance. + example: API Maintenance + type: string required: - - attributes - - type + - title + - completed_date + - completed_description + - scheduled_description + - start_date + - in_progress_description type: object - CaseUpdatePriority: - description: Case priority status + CreateMaintenanceRequestDataRelationships: + description: The supported relationships for creating a maintenance. properties: - attributes: - $ref: '#/components/schemas/CaseUpdatePriorityAttributes' - type: - $ref: '#/components/schemas/CaseResourceType' - required: - - attributes - - type + template: + $ref: '#/components/schemas/CreateMaintenanceRequestDataRelationshipsTemplate' + description: The template used to create the maintenance. type: object - CaseUpdateStatus: - description: Case update status + CreateBackfilledMaintenanceRequestDataAttributes: + description: The supported attributes for creating a backfilled maintenance. properties: - attributes: - $ref: '#/components/schemas/CaseUpdateStatusAttributes' - type: - $ref: '#/components/schemas/CaseResourceType' + title: + description: The title of the backfilled maintenance. + example: '' + type: string + updates: + description: 'The list of updates. Exactly two updates are required: the start (`in_progress`) and the end (`completed`).' + items: + $ref: '#/components/schemas/CreateBackfilledMaintenanceRequestDataAttributesUpdatesItems' + maxItems: 2 + minItems: 2 + type: array required: - - attributes - - type + - title + - updates type: object - DowntimeResponseData: - description: Downtime data. + CreateBackfilledMaintenanceRequestDataRelationships: + description: The supported relationships for creating a backfilled maintenance. properties: - attributes: - $ref: '#/components/schemas/DowntimeResponseAttributes' - id: - description: The downtime ID. - example: 00000000-0000-1234-0000-000000000000 - type: string - relationships: - $ref: '#/components/schemas/DowntimeRelationships' - type: - $ref: '#/components/schemas/DowntimeResourceType' + template: + $ref: '#/components/schemas/CreateBackfilledMaintenanceRequestDataRelationshipsTemplate' + description: The template used to create the backfilled maintenance. type: object - DowntimeResponseIncludedItem: - description: An object related to a downtime. - oneOf: - - $ref: '#/components/schemas/User' - - $ref: '#/components/schemas/DowntimeMonitorIncludedItem' - DowntimeMeta: - description: Pagination metadata returned by the API. + PatchMaintenanceRequestDataAttributes: + description: The supported attributes for updating a maintenance. properties: - page: - $ref: '#/components/schemas/DowntimeMetaPage' + canceled_description: + description: The description shown when the maintenance is canceled. + type: string + completed_date: + description: Timestamp of when the maintenance was completed. + format: date-time + type: string + completed_description: + description: The description shown when the maintenance is completed. + type: string + components_affected: + description: The components affected by the maintenance. + items: + $ref: '#/components/schemas/PatchMaintenanceRequestDataAttributesComponentsAffectedItems' + type: array + in_progress_description: + description: The description shown while the maintenance is in progress. + type: string + scheduled_description: + description: The description shown when the maintenance is scheduled. + type: string + start_date: + description: Timestamp of when the maintenance is scheduled to start. + format: date-time + type: string + status: + $ref: '#/components/schemas/MaintenanceDataAttributesStatus' + description: The status of the maintenance. + title: + description: The title of the maintenance. + type: string type: object - DowntimeCreateRequestData: - description: Object to create a downtime. + PatchMaintenanceRequestDataRelationships: + description: The supported relationships for updating a maintenance. properties: - attributes: - $ref: '#/components/schemas/DowntimeCreateRequestAttributes' - type: - $ref: '#/components/schemas/DowntimeResourceType' - required: - - type - - attributes + template: + $ref: '#/components/schemas/PatchMaintenanceRequestDataRelationshipsTemplate' + description: The template used to create the maintenance. type: object - DowntimeUpdateRequestData: - description: Object to update a downtime. + PatchMaintenanceUpdateRequestDataAttributes: + description: Attributes for editing a maintenance update. properties: - attributes: - $ref: '#/components/schemas/DowntimeUpdateRequestAttributes' - id: - description: ID of this downtime. - example: 00000000-0000-1234-0000-000000000000 + description: + description: The message body of the update. + example: '' type: string - type: - $ref: '#/components/schemas/DowntimeResourceType' - required: - - id - - type - - attributes type: object - SearchIssuesIncludeQueryParameterItem: - description: Relationship object that should be included in the search response. + PatchMaintenanceUpdateRequestDataType: + default: maintenance_updates + description: Maintenance updates resource type. enum: - - issue - - issue.assignee - - issue.case - - issue.team_owners - example: issue.case + - maintenance_updates + example: maintenance_updates type: string x-enum-varnames: - - ISSUE - - ISSUE_ASSIGNEE - - ISSUE_CASE - - ISSUE_TEAM_OWNERS - IssuesSearchRequestData: - description: Search issues request. + - MAINTENANCE_UPDATES + MaintenanceUpdateDataAttributes: + description: Attributes of a maintenance update resource. properties: - attributes: - $ref: '#/components/schemas/IssuesSearchRequestDataAttributes' - type: - $ref: '#/components/schemas/IssuesSearchRequestDataType' - required: - - type - - attributes + components_affected: + description: Components affected at the time of the update. + items: + $ref: '#/components/schemas/CreateMaintenanceRequestDataAttributesComponentsAffectedItems' + type: array + created_at: + description: The date and time the update was created. + format: date-time + type: string + description: + description: The message body of the update. + type: string + manual_transition: + description: Whether the update was applied manually by a user (true) or automatically by the system (false). + type: boolean + modified_at: + description: The date and time the update was last modified. + format: date-time + type: string + started_at: + description: The date and time the update started. + format: date-time + type: string + status: + $ref: '#/components/schemas/MaintenanceUpdateDataAttributesStatus' type: object - IssuesSearchResult: - description: Result matching the search query. + MaintenanceUpdateDataRelationships: + description: Relationships of a maintenance update resource. properties: - attributes: - $ref: '#/components/schemas/IssuesSearchResultAttributes' - id: - description: Search result identifier (matches the nested issue's identifier). - example: c1726a66-1f64-11ee-b338-da7ad0900002 - type: string - relationships: - $ref: '#/components/schemas/IssuesSearchResultRelationships' - type: - $ref: '#/components/schemas/IssuesSearchResultType' - required: - - id - - type - - attributes + created_by_user: + $ref: '#/components/schemas/MaintenanceUpdateDataRelationshipsUser' + last_modified_by_user: + $ref: '#/components/schemas/MaintenanceUpdateDataRelationshipsUser' + maintenance: + $ref: '#/components/schemas/MaintenanceUpdateDataRelationshipsMaintenance' type: object - IssuesSearchResultIncluded: - description: >- - An array of related resources, returned when the `include` query - parameter is used. - oneOf: - - $ref: '#/components/schemas/Issue' - - $ref: '#/components/schemas/Case' - - $ref: '#/components/schemas/IssueUser' - - $ref: '#/components/schemas/IssueTeam' - GetIssueIncludeQueryParameterItem: - description: Relationship object that should be included in the response. + NotifyEndState: + description: A notification end state. enum: - - assignee - - case - - team_owners - example: case + - alert + - no data + - warn + example: alert type: string x-enum-varnames: - - ASSIGNEE - - CASE - - TEAM_OWNERS - Issue: - description: The issue matching the request. + - ALERT + - NO_DATA + - WARN + NotifyEndType: + description: A notification end type. + enum: + - canceled + - expired + example: expired + type: string + x-enum-varnames: + - CANCELED + - EXPIRED + SLOListResponseMetadataPage: + description: The object containing information about the pages of the list of SLOs. properties: - attributes: - $ref: '#/components/schemas/IssueAttributes' - id: - description: Issue identifier. - example: c1726a66-1f64-11ee-b338-da7ad0900002 - type: string - relationships: - $ref: '#/components/schemas/IssueRelationships' - type: - $ref: '#/components/schemas/IssueType' - required: - - id - - type - - attributes + total_count: + description: The total number of resources that could be retrieved ignoring the parameters and filters in the request. + format: int64 + type: integer + total_filtered_count: + description: The total number of resources that match the parameters and filters in the request. This attribute can be used by a client to determine the total number of pages. + format: int64 + type: integer type: object - IssueIncluded: - description: >- - An array of related resources, returned when the `include` query - parameter is used. - oneOf: - - $ref: '#/components/schemas/IssueCase' - - $ref: '#/components/schemas/IssueUser' - - $ref: '#/components/schemas/IssueTeam' - IssueUpdateAssigneeRequestData: - description: Update issue assignee request. + SLOTimeSliceSpec: + additionalProperties: false + description: A time-slice SLI specification. + example: + time_slice: + comparator: < + query: + formulas: + - formula: query2/query1 + queries: + - data_source: metrics + name: query1 + query: sum:trace.servlet.request.hits{*} by {env}.as_count() + - data_source: metrics + name: query2 + query: sum:trace.servlet.request.errors{*} by {env}.as_count() + threshold: 5 + properties: + time_slice: + $ref: '#/components/schemas/SLOTimeSliceCondition' + required: + - time_slice + type: object + SLOCountSpec: + additionalProperties: false + description: A metric SLI specification. + example: + count: + bad_events_formula: query2 + good_events_formula: query1 + queries: + - data_source: metrics + name: query1 + query: sum:trace.servlet.request.hits{!http.status_code:500} by {env}.as_count() + - data_source: metrics + name: query2 + query: sum:trace.servlet.request.hits{http.status_code:500} by {env}.as_count() properties: - id: - description: User identifier. - example: 87cb11a0-278c-440a-99fe-701223c80296 - type: string - type: - $ref: '#/components/schemas/IssueUpdateAssigneeRequestDataType' + count: + $ref: '#/components/schemas/SLOCountDefinition' required: - - id - - type + - count type: object - IssueUpdateStateRequestData: - description: Update issue state request. + SLOErrorTimeframe: + description: |- + The timeframe of the threshold associated with this error + or "all" if all thresholds are affected. + enum: + - 7d + - 30d + - 90d + - all + example: 30d + type: string + x-enum-varnames: + - SEVEN_DAYS + - THIRTY_DAYS + - NINETY_DAYS + - ALL + SLOCorrectionResponseAttributes: + description: The attribute object associated with the SLO correction. properties: - attributes: - $ref: '#/components/schemas/IssueUpdateStateRequestDataAttributes' - id: - description: Issue identifier. - example: c1726a66-1f64-11ee-b338-da7ad0900002 + category: + $ref: '#/components/schemas/SLOCorrectionCategory' + created_at: + description: The epoch timestamp of when the correction was created at. + format: int64 + nullable: true + type: integer + creator: + $ref: '#/components/schemas/CreatorV1' + description: + description: Description of the correction being made. + type: string + duration: + description: Length of time (in seconds) for a specified `rrule` recurring SLO correction. + example: 3600 + format: int64 + nullable: true + type: integer + end: + description: Ending time of the correction in epoch seconds. + format: int64 + nullable: true + type: integer + modified_at: + description: The epoch timestamp of when the correction was modified at. + format: int64 + nullable: true + type: integer + modifier: + $ref: '#/components/schemas/SLOCorrectionResponseAttributesModifier' + rrule: + description: |- + The recurrence rules as defined in the iCalendar RFC 5545. The supported rules for SLO corrections + are `FREQ`, `INTERVAL`, `COUNT`, `UNTIL` and `BYDAY`. + example: FREQ=DAILY;INTERVAL=10;COUNT=5 + nullable: true + type: string + slo_id: + description: ID of the single SLO that this correction applies to. + nullable: true + type: string + slo_query: + description: Query that matches the SLOs this correction applies to. + nullable: true + type: string + start: + description: Starting time of the correction in epoch seconds. + format: int64 + type: integer + timezone: + description: The timezone to display in the UI for the correction times (defaults to "UTC"). type: string - type: - $ref: '#/components/schemas/IssueUpdateStateRequestDataType' - required: - - id - - type - - attributes type: object - EventResponse: - description: >- - The object description of an event after being processed and stored by - Datadog. + SLOCorrectionType: + default: correction + description: SLO correction resource type. + enum: + - correction + example: correction + type: string + x-enum-varnames: + - CORRECTION + Pagination: + description: Pagination object. properties: - attributes: - $ref: '#/components/schemas/EventResponseAttributes' - id: - description: the unique ID of the event. - example: AAAAAWgN8Xwgr1vKDQAAAABBV2dOOFh3ZzZobm1mWXJFYTR0OA - type: string - type: - $ref: '#/components/schemas/EventType' + total_count: + description: Total count. + format: int64 + type: integer + total_filtered_count: + description: Total count of elements matched by the filter. + format: int64 + type: integer type: object - EventsListResponseLinks: - description: Links attributes. - properties: - next: - description: >- - Link for the next set of results. Note that the request can also be - made using the + SLOCorrectionCreateRequestAttributes: + description: |- + The attribute object associated with the SLO correction to be created. - POST endpoint. - example: >- - https://app.datadoghq.com/api/v2/events?filter[query]=foo&page[cursor]=eyJzdGFydEF0IjoiQVFBQUFYS2tMS3pPbm40NGV3QUFBQUJCV0V0clRFdDZVbG8zY3pCRmNsbHJiVmxDWlEifQ== + Exactly one of `slo_id` or `slo_query` must be provided. + properties: + category: + $ref: '#/components/schemas/SLOCorrectionCategory' + description: + description: Description of the correction being made. + type: string + duration: + description: Length of time (in seconds) for a specified `rrule` recurring SLO correction. + example: 1600000000 + format: int64 + type: integer + end: + description: Ending time of the correction in epoch seconds. + example: 1600000000 + format: int64 + type: integer + rrule: + description: |- + The recurrence rules as defined in the iCalendar RFC 5545. The supported rules for SLO corrections + are `FREQ`, `INTERVAL`, `COUNT`, `UNTIL` and `BYDAY`. + example: FREQ=DAILY;INTERVAL=10;COUNT=5 + type: string + slo_id: + description: ID of the single SLO that this correction applies to. + example: sloId + type: string + slo_query: + description: |- + Query that matches the SLOs this correction applies to. + The query uses the [Events search syntax](https://docs.datadoghq.com/events/explorer/searching/) + and can filter SLOs by SLO tags. + example: env:prod service:checkout + type: string + start: + description: Starting time of the correction in epoch seconds. + example: 1600000000 + format: int64 + type: integer + timezone: + description: The timezone to display in the UI for the correction times (defaults to "UTC"). + example: UTC type: string + required: + - start + - category type: object - EventsResponseMetadata: - description: The metadata associated with a request. + SLOCorrectionUpdateRequestAttributes: + description: The attribute object associated with the SLO correction to be updated. properties: - elapsed: - description: The time elapsed in milliseconds. - example: 132 + category: + $ref: '#/components/schemas/SLOCorrectionCategory' + description: + description: Description of the correction being made. + type: string + duration: + description: Length of time (in seconds) for a specified `rrule` recurring SLO correction. + example: 3600 format: int64 type: integer - page: - $ref: '#/components/schemas/EventsResponseMetadataPage' - request_id: - description: The identifier of the request. - example: MWlFUjVaWGZTTTZPYzM0VXp1OXU2d3xLSVpEMjZKQ0VKUTI0dEYtM3RSOFVR + end: + description: Ending time of the correction in epoch seconds. + example: 1600000000 + format: int64 + type: integer + rrule: + description: |- + The recurrence rules as defined in the iCalendar RFC 5545. The supported rules for SLO corrections + are `FREQ`, `INTERVAL`, `COUNT`, `UNTIL` and `BYDAY`. + example: FREQ=DAILY;INTERVAL=10;COUNT=5 type: string - status: - description: The request status. - example: done + slo_query: + description: |- + Query that matches the SLOs this correction applies to. + The query uses the [Events search syntax](https://docs.datadoghq.com/events/explorer/searching/) + and can filter SLOs by SLO tags. + example: env:prod service:checkout + type: string + start: + description: Starting time of the correction in epoch seconds. + example: 1600000000 + format: int64 + type: integer + timezone: + description: The timezone to display in the UI for the correction times (defaults to "UTC"). + example: UTC type: string - warnings: - description: >- - A list of warnings (non-fatal errors) encountered. Partial results - might be returned if - - warnings are present in the response. - items: - $ref: '#/components/schemas/EventsWarning' - type: array type: object - EventCreateRequest: - description: An event object. + SearchSLOResponseDataAttributes: + description: Attributes properties: - attributes: - $ref: '#/components/schemas/EventPayload' - type: - $ref: '#/components/schemas/EventCreateRequestType' - required: - - type - - attributes + facets: + $ref: '#/components/schemas/SearchSLOResponseDataAttributesFacets' + slos: + description: SLOs + items: + $ref: '#/components/schemas/SearchServiceLevelObjective' + type: array type: object - EventCreateResponse: - description: Event object. + SearchSLOResponseMetaPage: + description: Pagination metadata returned by the API. properties: - attributes: - $ref: '#/components/schemas/EventCreateResponseAttributes' + first_number: + description: The first number. + format: int64 + type: integer + last_number: + description: The last number. + format: int64 + type: integer + next_number: + description: The next number. + format: int64 + type: integer + number: + description: The page number. + format: int64 + type: integer + prev_number: + description: The previous page number. + format: int64 + type: integer + size: + description: The size of the response. + format: int64 + type: integer + total: + description: The total number of SLOs in the response. + format: int64 + type: integer type: - description: Entity type. - example: event - type: string - type: object - EventCreateResponsePayloadLinks: - description: Links to the event. - properties: - self: - description: >- - The URL of the event. This link is only functional when using the - default subdomain. + description: Type of pagination. type: string type: object - JSONAPIErrorItem: - description: API error response body + SLOHistoryMonitor: + description: |- + An object that holds an SLI value and its associated data. It can represent an SLO's overall SLI value. + This can also represent the SLI value for a specific monitor in multi-monitor SLOs, or a group in grouped SLOs. properties: - detail: - description: >- - A human-readable explanation specific to this occurrence of the - error. - example: Missing required attribute in body + error_budget_remaining: + $ref: '#/components/schemas/SLOErrorBudgetRemainingData' + errors: + description: An array of error objects returned while querying the history data for the service level objective. + items: + $ref: '#/components/schemas/SLOHistoryResponseErrorWithType' + type: array + group: + description: For groups in a grouped SLO, this is the group name. + example: name type: string - meta: - additionalProperties: {} - description: Non-standard meta-information about the error - type: object - source: - $ref: '#/components/schemas/JSONAPIErrorItemSource' - status: - description: Status code of the response. - example: '400' + history: + description: |- + The state transition history for the monitor. It is represented as + an array of pairs. Each pair is an array containing the timestamp of the transition + as an integer in Unix epoch format in the first element, and the state as an integer in the + second element. An integer value of `0` for state means uptime, `1` means downtime, and `2` means no data. + Periods of no data are counted either as uptime or downtime depending on monitor settings. + See [SLO documentation](https://docs.datadoghq.com/service_management/service_level_objectives/monitor/#missing-data) + for detailed information. + example: + - - 1579212382 + - 0 + items: + description: Represents an array timeseries data. + example: + - 1579212382 + - 0 + items: + description: A timeseries data point which is a tuple of (timestamp, value). + format: double + type: number + maxItems: 2 + minItems: 2 + type: array + type: array + monitor_modified: + description: For `monitor` based SLOs, this is the last modified timestamp in epoch seconds of the monitor. + example: 1615867200 + format: int64 + type: integer + monitor_type: + description: For `monitor` based SLOs, this describes the type of monitor. + example: string type: string - title: - description: Short human-readable summary of the error. - example: Bad Request + name: + description: For groups in a grouped SLO, this is the group name. For monitors in a multi-monitor SLO, this is the monitor name. + example: string type: string + precision: + deprecated: true + description: The amount of decimal places the SLI value is accurate to for the given from `&&` to timestamp. Use `span_precision` instead. + example: 2 + format: double + type: number + preview: + description: |- + For `monitor` based SLOs, when `true` this indicates that a replay is in progress to give an accurate uptime + calculation. + example: true + type: boolean + sli_value: + description: The current SLI value of the SLO over the history window. + example: 99.99 + format: double + nullable: true + type: number + span_precision: + description: The amount of decimal places the SLI value is accurate to for the given from `&&` to timestamp. + example: 2 + format: double + type: number + uptime: + deprecated: true + description: Use `sli_value` instead. + example: 99.99 + format: double + type: number type: object - EventsQueryFilter: - description: The search and filter query settings. + SLOHistorySLIData: + description: |- + An object that holds an SLI value and its associated data. It can represent an SLO's overall SLI value. + This can also represent the SLI value for a specific monitor in multi-monitor SLOs, or a group in grouped SLOs. properties: - from: - default: now-15m - description: >- - The minimum time for the requested events. Supports date math and - regular timestamps in milliseconds. - example: now-15m + error_budget_remaining: + $ref: '#/components/schemas/SLOErrorBudgetRemainingData' + errors: + description: An array of error objects returned while querying the history data for the service level objective. + items: + $ref: '#/components/schemas/SLOHistoryResponseErrorWithType' + type: array + group: + description: For groups in a grouped SLO, this is the group name. + example: name type: string - query: - default: '*' - description: The search query following the event search syntax. - example: service:web* AND @http.status_code:[200 TO 299] + history: + description: |- + The state transition history for `monitor` or `time-slice` SLOs. It is represented as + an array of pairs. Each pair is an array containing the timestamp of the transition + as an integer in Unix epoch format in the first element, and the state as an integer in the + second element. An integer value of `0` for state means uptime, `1` means downtime, and `2` means no data. + Periods of no data count as uptime in time-slice SLOs, while for monitor SLOs, no data is counted + either as uptime or downtime depending on monitor settings. See + [SLO documentation](https://docs.datadoghq.com/service_management/service_level_objectives/monitor/#missing-data) + for detailed information. + example: + - - 1579212382 + - 0 + items: + description: Represents an array timeseries data. + example: + - 1579212382 + - 0 + items: + description: A timeseries data point which is a tuple of (timestamp, value). + format: double + type: number + maxItems: 2 + minItems: 2 + type: array + type: array + monitor_modified: + description: For `monitor` based SLOs, this is the last modified timestamp in epoch seconds of the monitor. + example: 1615867200 + format: int64 + type: integer + monitor_type: + description: For `monitor` based SLOs, this describes the type of monitor. + example: string type: string - to: - default: now - description: >- - The maximum time for the requested events. Supports date math and - regular timestamps in milliseconds. - example: now + name: + description: For groups in a grouped SLO, this is the group name. For monitors in a multi-monitor SLO, this is the monitor name. + example: string type: string + precision: + additionalProperties: + description: The number of accurate decimals. + format: double + type: number + description: A mapping of threshold `timeframe` to number of accurate decimals, regardless of the from && to timestamp. + example: + 30d: 1 + 7d: 2 + type: object + preview: + description: |- + For `monitor` based SLOs, when `true` this indicates that a replay is in progress to give an accurate uptime + calculation. + example: true + type: boolean + sli_value: + description: The current SLI value of the SLO over the history window. + example: 99.99 + format: double + nullable: true + type: number + span_precision: + description: The amount of decimal places the SLI value is accurate to for the given from `&&` to timestamp. + example: 2 + format: double + type: number + uptime: + deprecated: true + description: Use `sli_value` instead. + example: 99.99 + format: double + nullable: true + type: number type: object - EventsQueryOptions: - description: >- - The global query options that are used. Either provide a timezone or a - time offset but not both, + SLOHistoryMetrics: + description: |- + A `metric` based SLO history response. - otherwise the query fails. + This is not included in responses for `monitor` based SLOs. properties: - timeOffset: - description: The time offset to apply to the query in seconds. + denominator: + $ref: '#/components/schemas/SLOHistoryMetricsSeries' + interval: + description: The aggregated query interval for the series data. It's implicit based on the query time window. + example: 0 format: int64 type: integer - timezone: - default: UTC - description: >- - The timezone can be specified as GMT, UTC, an offset from UTC (like - UTC+1), or as a Timezone Database identifier (like - America/New_York). - example: GMT - type: string - type: object - EventsRequestPage: - description: Pagination settings. - properties: - cursor: - description: The returned paging point to use to get the next results. - example: >- - eyJzdGFydEF0IjoiQVFBQUFYS2tMS3pPbm40NGV3QUFBQUJCV0V0clRFdDZVbG8zY3pCRmNsbHJiVmxDWlEifQ== + message: + description: Optional message if there are specific query issues/warnings. + example: '' type: string - limit: - default: 10 - description: The maximum number of logs in the response. - example: 25 - format: int32 - maximum: 1000 - type: integer - type: object - V2Event: - description: An event object. - properties: - attributes: - $ref: '#/components/schemas/V2EventAttributes' - id: - description: The event's ID. + numerator: + $ref: '#/components/schemas/SLOHistoryMetricsSeries' + query: + description: The combined numerator and denominator query CSV. example: '' type: string - type: - description: Entity type. - example: event + res_type: + description: The series result type. This mimics `batch_query` response type. + example: '' type: string + resp_version: + description: The series response version type. This mimics `batch_query` response type. + example: 0 + format: int64 + type: integer + times: + description: An array of query timestamps in EPOCH milliseconds. + example: [] + items: + description: A timestamp in EPOCH milliseconds. + format: double + type: number + type: array + required: + - res_type + - interval + - resp_version + - query + - times + - numerator + - denominator type: object - IncidentRelatedObject: - description: Object related to an incident. + SLOTypeNumeric: + description: |- + A numeric representation of the type of the service level objective (`0` for + monitor, `1` for metric). Always included in service level objective responses. + Ignored in create/update requests. enum: - - users - - attachments - type: string + - 0 + - 1 + - 2 + example: 0 + format: int32 + type: integer x-enum-varnames: - - USERS - - ATTACHMENTS - IncidentResponseData: - description: Incident data from a response. - properties: - attributes: - $ref: '#/components/schemas/IncidentResponseAttributes' - id: - description: The incident's ID. - example: 00000000-0000-0000-1234-000000000000 - type: string - relationships: - $ref: '#/components/schemas/IncidentResponseRelationships' + - MONITOR + - METRIC + - TIME_SLICE + TriggerAttributes: + description: The trigger definition for starting an investigation. + properties: + monitor_alert_trigger: + $ref: '#/components/schemas/MonitorAlertTriggerAttributes' type: - $ref: '#/components/schemas/IncidentType' + $ref: '#/components/schemas/TriggerType' required: - - id - type + - monitor_alert_trigger type: object - IncidentResponseIncludedItem: - description: An object related to an incident that is included in the response. - oneOf: - - $ref: '#/components/schemas/IncidentUserData' - - $ref: '#/components/schemas/IncidentAttachmentData' - IncidentResponseMeta: - description: The metadata object containing pagination metadata. - properties: - pagination: - $ref: '#/components/schemas/IncidentResponseMetaPagination' - readOnly: true - type: object - IncidentCreateData: - description: Incident data for a create request. + InvestigationConclusion: + description: A full explanation of the finding, including root cause analysis and supporting evidence. properties: - attributes: - $ref: '#/components/schemas/IncidentCreateAttributes' - relationships: - $ref: '#/components/schemas/IncidentCreateRelationships' - type: - $ref: '#/components/schemas/IncidentType' + description: + description: A full explanation of the finding, including root cause analysis and supporting evidence. + example: The investigation found that a memory leak in payments-service caused CPU usage to spike above 95% starting at 14:32 UTC. + type: string + summary: + description: A summary of the finding, including affected components and timeframe. + example: CPU usage exceeded 95% for over 10 minutes on web-server-01. + type: string + title: + description: The title of the conclusion. + example: High CPU usage detected on web-server-01 + type: string required: - - type - - attributes + - title + - summary + - description type: object - IncidentNotificationRuleResponseData: - description: Notification rule data from a response. - properties: - attributes: - $ref: '#/components/schemas/IncidentNotificationRuleAttributes' - id: - description: The unique identifier of the notification rule. - example: 00000000-0000-0000-0000-000000000001 - format: uuid + CaseObjectAttributes: + additionalProperties: + items: + description: An attribute value. type: string - relationships: - $ref: '#/components/schemas/IncidentNotificationRuleRelationships' - type: - $ref: '#/components/schemas/IncidentNotificationRuleType' - required: - - id - - type + type: array + description: Key-value pairs of case attributes. Each key maps to an array of string values, used for flexible metadata such as labels or tags. type: object - IncidentNotificationRuleIncludedItems: - description: Objects related to a notification rule. - oneOf: - - $ref: '#/components/schemas/User' - - $ref: '#/components/schemas/IncidentTypeObject' - - $ref: '#/components/schemas/IncidentNotificationTemplateObject' - IncidentNotificationRuleArrayMeta: - description: Response metadata. + JiraIssue: + description: Jira issue attached to case + nullable: true properties: - pagination: - $ref: '#/components/schemas/IncidentNotificationRuleArrayMetaPage' + result: + $ref: '#/components/schemas/JiraIssueResult' + status: + $ref: '#/components/schemas/Case3rdPartyTicketStatus' + readOnly: true type: object - IncidentNotificationRuleCreateData: - description: Notification rule data for a create request. + CasePriority: + default: NOT_DEFINED + description: Case priority + enum: + - NOT_DEFINED + - P1 + - P2 + - P3 + - P4 + - P5 + example: NOT_DEFINED + type: string + x-enum-varnames: + - NOT_DEFINED + - P1 + - P2 + - P3 + - P4 + - P5 + ServiceNowTicket: + description: ServiceNow ticket attached to case + nullable: true properties: - attributes: - $ref: '#/components/schemas/IncidentNotificationRuleCreateAttributes' - relationships: - $ref: '#/components/schemas/IncidentNotificationRuleCreateDataRelationships' - type: - $ref: '#/components/schemas/IncidentNotificationRuleType' + result: + $ref: '#/components/schemas/ServiceNowTicketResult' + status: + $ref: '#/components/schemas/Case3rdPartyTicketStatus' + readOnly: true + type: object + CaseStatus: + deprecated: true + description: Deprecated way of representing the case status, which only supports OPEN, IN_PROGRESS, and CLOSED statuses. Use `status_name` instead. + enum: + - OPEN + - IN_PROGRESS + - CLOSED + example: OPEN + type: string + x-enum-varnames: + - OPEN + - IN_PROGRESS + - CLOSED + CaseStatusGroup: + description: Status group of the case. + enum: + - SG_OPEN + - SG_IN_PROGRESS + - SG_CLOSED + example: SG_OPEN + type: string + x-enum-varnames: + - SG_OPEN + - SG_IN_PROGRESS + - SG_CLOSED + CaseStatusName: + description: Status of the case. Must be one of the existing statuses for the case's type. + example: Open + type: string + CaseType: + deprecated: true + description: Case type + enum: + - STANDARD + example: STANDARD + type: string + x-enum-varnames: + - STANDARD + NullableUserRelationship: + description: Relationship to user. + nullable: true + properties: + data: + $ref: '#/components/schemas/NullableUserRelationshipData' required: - - type - - attributes + - data type: object - IncidentNotificationRuleUpdateData: - description: Notification rule data for an update request. + CaseAggregateGroupBy: + description: Configuration for grouping aggregated results by one or more case fields. properties: - attributes: - $ref: '#/components/schemas/IncidentNotificationRuleCreateAttributes' - id: - description: The unique identifier of the notification rule. - example: 00000000-0000-0000-0000-000000000001 - format: uuid - type: string - relationships: - $ref: '#/components/schemas/IncidentNotificationRuleCreateDataRelationships' - type: - $ref: '#/components/schemas/IncidentNotificationRuleType' + groups: + description: Fields to group by. + example: + - status + items: + type: string + type: array + limit: + description: Maximum number of groups to return. + example: 14 + format: int32 + maximum: 1000 + type: integer required: - - id - - type - - attributes + - groups + - limit type: object - IncidentNotificationTemplateResponseData: - description: Notification template data from a response. + CaseAggregateGroup: + description: A single group within the aggregation results, containing the group key and its associated count values. properties: - attributes: - $ref: '#/components/schemas/IncidentNotificationTemplateAttributes' - id: - description: The unique identifier of the notification template. - example: 00000000-0000-0000-0000-000000000001 - format: uuid + group: + description: The value of the field being grouped on (for example, `OPEN` when grouping by status). + example: OPEN type: string - relationships: - $ref: '#/components/schemas/IncidentNotificationTemplateRelationships' - type: - $ref: '#/components/schemas/IncidentNotificationTemplateType' + value: + description: The count of cases in this group. + example: + - 42 + items: + format: double + type: number + type: array required: - - id - - type + - group + - value type: object - IncidentNotificationTemplateIncludedItems: - description: Objects related to a notification template. - oneOf: - - $ref: '#/components/schemas/User' - - $ref: '#/components/schemas/IncidentTypeObject' - IncidentNotificationTemplateArrayMeta: - description: Response metadata. + CaseBulkActionType: + description: The type of action to apply in a bulk update. Allowed values are `priority`, `status`, `assign`, `unassign`, `archive`, `unarchive`, `jira`, `servicenow`, `linear`, `update_project`. + enum: + - priority + - status + - assign + - unassign + - archive + - unarchive + - jira + - servicenow + - linear + - update_project + example: priority + type: string + x-enum-varnames: + - PRIORITY + - STATUS + - ASSIGN + - UNASSIGN + - ARCHIVE + - UNARCHIVE + - JIRA + - SERVICENOW + - LINEAR + - UPDATE_PROJECT + CaseCountGroup: + description: A facet group containing counts broken down by the distinct values of a case field (for example, status or priority). + properties: + group: + description: The name of the field being grouped on (for example, `status` or `priority`). + example: status + type: string + group_values: + description: Values within this group. + items: + $ref: '#/components/schemas/CaseCountGroupValue' + type: array + required: + - group + - group_values + type: object + ProjectColumnsConfig: + description: Project columns configuration. properties: - page: - $ref: '#/components/schemas/IncidentNotificationTemplateArrayMetaPage' + columns: + description: List of column configurations for the project board view. + items: + $ref: '#/components/schemas/ProjectColumnsConfigColumnsItems' + type: array type: object - IncidentNotificationTemplateCreateData: - description: Notification template data for a create request. + ProjectSettings: + description: Project settings. + properties: + auto_close_inactive_cases: + $ref: '#/components/schemas/AutoCloseInactiveCases' + auto_transition_assigned_cases: + $ref: '#/components/schemas/AutoTransitionAssignedCases' + integration_incident: + $ref: '#/components/schemas/IntegrationIncident' + integration_jira: + $ref: '#/components/schemas/IntegrationJira' + integration_monitor: + $ref: '#/components/schemas/IntegrationMonitor' + integration_on_call: + $ref: '#/components/schemas/IntegrationOnCall' + integration_service_now: + $ref: '#/components/schemas/IntegrationServiceNow' + notification: + $ref: '#/components/schemas/ProjectNotificationSettings' + type: object + RelationshipToTeamLinks: + description: Relationship between a team and a team link properties: - attributes: - $ref: '#/components/schemas/IncidentNotificationTemplateCreateAttributes' - relationships: - $ref: >- - #/components/schemas/IncidentNotificationTemplateCreateDataRelationships - type: - $ref: '#/components/schemas/IncidentNotificationTemplateType' - required: - - type - - attributes + data: + description: Related team links + items: + $ref: '#/components/schemas/RelationshipToTeamLinkData' + type: array + links: + $ref: '#/components/schemas/TeamRelationshipsLinks' type: object - IncidentNotificationTemplateUpdateData: - description: Notification template data for an update request. + UsersRelationship: + description: Relationship to users. properties: - attributes: - $ref: '#/components/schemas/IncidentNotificationTemplateUpdateAttributes' - id: - description: The unique identifier of the notification template. - example: 00000000-0000-0000-0000-000000000001 - format: uuid - type: string - type: - $ref: '#/components/schemas/IncidentNotificationTemplateType' + data: + description: Relationships to user objects. + example: [] + items: + $ref: '#/components/schemas/UserRelationshipData' + type: array required: - - id - - type + - data type: object - IncidentTypeObject: - description: Incident type response data. + CaseNotificationRuleRecipient: + description: Notification rule recipient properties: - attributes: - $ref: '#/components/schemas/IncidentTypeAttributes' - id: - description: The incident type's ID. - example: 00000000-0000-0000-0000-000000000000 + data: + $ref: '#/components/schemas/CaseNotificationRuleRecipientData' + type: + description: Type of recipient (SLACK_CHANNEL, EMAIL, HTTP, PAGERDUTY_SERVICE, MS_TEAMS_CHANNEL) + example: EMAIL type: string - relationships: - $ref: '#/components/schemas/IncidentTypeRelationships' + type: object + CaseNotificationRuleTrigger: + description: Notification rule trigger + properties: + data: + $ref: '#/components/schemas/CaseNotificationRuleTriggerData' type: - $ref: '#/components/schemas/IncidentTypeType' - required: - - id - - type + description: Type of trigger (CASE_CREATED, STATUS_TRANSITIONED, ATTRIBUTE_VALUE_CHANGED, EVENT_CORRELATION_SIGNAL_CORRELATED) + example: CASE_CREATED + type: string type: object - IncidentTypeCreateData: - description: Incident type data for a create request. + AutomationRuleAction: + description: Defines what happens when the rule triggers. Combines an action type with action-specific configuration data. properties: - attributes: - $ref: '#/components/schemas/IncidentTypeAttributes' + data: + $ref: '#/components/schemas/AutomationRuleActionData' type: - $ref: '#/components/schemas/IncidentTypeType' + $ref: '#/components/schemas/AutomationRuleActionType' required: - type - - attributes + - data type: object - IncidentTypePatchData: - description: Incident type data for a patch request. + CaseAutomationRuleState: + description: Whether the automation rule is active. Enabled rules trigger on matching case events; disabled rules are inactive but preserve their configuration. + enum: + - ENABLED + - DISABLED + example: ENABLED + type: string + x-enum-varnames: + - ENABLED + - DISABLED + AutomationRuleTrigger: + description: Defines when the rule activates. Combines a trigger type (the case event to listen for) with optional trigger data (conditions that narrow when the trigger fires). properties: - attributes: - $ref: '#/components/schemas/IncidentTypeUpdateAttributes' - id: - description: The incident type's ID. - example: 00000000-0000-0000-0000-000000000000 - type: string + data: + $ref: '#/components/schemas/AutomationRuleTriggerData' type: - $ref: '#/components/schemas/IncidentTypeType' + $ref: '#/components/schemas/AutomationRuleTriggerType' required: - - id - type - - attributes type: object - IncidentSearchSortOrder: - description: The ways searched incidents can be sorted. + CustomAttributeType: + description: The data type of the custom attribute, which determines the allowed values and UI input control. enum: - - created - - '-created' + - URL + - TEXT + - NUMBER + - SELECT + example: NUMBER type: string x-enum-varnames: - - CREATED_ASCENDING - - CREATED_DESCENDING - IncidentSearchResponseData: - description: Data returned by an incident search. + - URL + - TEXT + - NUMBER + - SELECT + CustomAttributeTypeData: + description: Type-specific configuration for the custom attribute. For SELECT-type attributes, this contains the list of allowed options. properties: - attributes: - $ref: '#/components/schemas/IncidentSearchResponseAttributes' + options: + description: Options for SELECT type custom attributes. + items: + $ref: '#/components/schemas/CustomAttributeSelectOption' + type: array + type: object + TimelineCellAuthor: + description: The author of the timeline cell. Currently only user authors are supported. + properties: + content: + $ref: '#/components/schemas/TimelineCellAuthorUserContent' type: - $ref: '#/components/schemas/IncidentSearchResultsType' + $ref: '#/components/schemas/TimelineCellAuthorUserType' type: object - IncidentSearchResponseMeta: - description: The metadata object containing pagination metadata. + TimelineCellContent: + description: The content payload of a timeline cell, varying by cell type. properties: - pagination: - $ref: '#/components/schemas/IncidentResponseMetaPagination' - readOnly: true + message: + description: The text content of the comment. Supports Markdown formatting. + type: string type: object - IncidentUpdateData: - description: Incident data for an update request. + TimelineCellType: + description: The type of content in the timeline cell. Currently only `COMMENT` is supported in this endpoint. + enum: + - COMMENT + example: COMMENT + type: string + x-enum-varnames: + - COMMENT + CustomAttributeValuesUnion: + description: The value of a custom attribute. The accepted format depends on the attribute's type and whether it accepts multiple values. + example: '' + type: string + items: + description: TEXT/URL/NUMBER/SELECT Value + type: string + format: double + format: double + CaseInsight: + description: A reference to an external Datadog resource that provides investigative context for a case, such as a security signal, monitor alert, error tracking issue, or incident. properties: - attributes: - $ref: '#/components/schemas/IncidentUpdateAttributes' - id: - description: The incident's ID. - example: 00000000-0000-0000-4567-000000000000 + ref: + description: The URL path or deep link to the insight resource within Datadog (for example, `/monitors/12345?q=total`). + example: /monitors/12345?q=total + type: string + resource_id: + description: The unique identifier of the referenced Datadog resource (for example, a monitor ID, incident ID, or signal ID). + example: '12345' type: string - relationships: - $ref: '#/components/schemas/IncidentUpdateRelationships' type: - $ref: '#/components/schemas/IncidentType' + $ref: '#/components/schemas/CaseInsightType' required: - - id - type + - ref + - resource_id + type: object + CaseWatcherUserRelationship: + description: The user relationship for a case watcher. + properties: + data: + $ref: '#/components/schemas/UserRelationshipData' + required: + - data type: object - IncidentAttachmentRelatedObject: - description: The object related to an incident attachment. + ChangeRequestRiskLevel: + description: The risk level of the change request. enum: - - users + - UNDEFINED + - LOW + - MEDIUM + - HIGH + example: LOW type: string x-enum-varnames: - - USERS - IncidentAttachmentAttachmentType: - description: The type of the incident attachment attributes. + - UNDEFINED + - LOW + - MEDIUM + - HIGH + ChangeRequestChangeType: + description: The type of the change request. enum: - - link - - postmortem - example: link + - NORMAL + - STANDARD + - EMERGENCY + example: NORMAL type: string x-enum-varnames: - - LINK - - POSTMORTEM - IncidentAttachmentData: - description: A single incident attachment. - example: - attributes: - attachment: - documentUrl: '' - title: Postmortem IR-123 - attachment_type: postmortem - id: 00000000-abcd-0002-0000-000000000000 - relationships: - last_modified_by_user: - data: - id: 00000000-0000-0000-cccc-000000000000 - type: users - type: incident_attachments + - NORMAL + - STANDARD + - EMERGENCY + ChangeRequestObjectAttributes: + additionalProperties: + items: + description: An attribute value. + type: string + type: array + description: Custom attributes of the change request as key-value pairs. + type: object + ChangeRequestDecisionsRelationship: + description: Relationship to change request decisions. + properties: + data: + description: Array of decision relationship data. + items: + $ref: '#/components/schemas/ChangeRequestDecisionRelationshipData' + type: array + required: + - data + type: object + ChangeRequestUserRelationship: + description: Relationship to a user. + properties: + data: + $ref: '#/components/schemas/ChangeRequestUserRelationshipData' + required: + - data + type: object + ChangeRequestIncludedUser: + description: An included user resource. properties: attributes: - $ref: '#/components/schemas/IncidentAttachmentAttributes' + $ref: '#/components/schemas/ChangeRequestIncludedUserAttributes' id: - description: A unique identifier that represents the incident attachment. - example: 00000000-abcd-0001-0000-000000000000 + description: The user UUID. + example: 00000000-0000-0000-0000-000000000000 type: string - relationships: - $ref: '#/components/schemas/IncidentAttachmentRelationships' type: - $ref: '#/components/schemas/IncidentAttachmentType' + description: The resource type. + example: user + type: string required: - type - - attributes - id - - relationships + - attributes type: object - IncidentAttachmentsResponseIncludedItem: - description: An object related to an attachment that is included in the response. - oneOf: - - $ref: '#/components/schemas/User' - IncidentAttachmentUpdateData: - description: A single incident attachment. + ChangeRequestIncludedDecision: + description: An included change request decision resource. properties: attributes: - $ref: '#/components/schemas/IncidentAttachmentUpdateAttributes' + $ref: '#/components/schemas/ChangeRequestDecisionResponseAttributes' id: - description: A unique identifier that represents the incident attachment. - example: 00000000-abcd-0001-0000-000000000000 + description: The decision UUID. + example: decision-id-0 type: string + relationships: + $ref: '#/components/schemas/ChangeRequestDecisionRelationships' type: - $ref: '#/components/schemas/IncidentAttachmentType' + $ref: '#/components/schemas/ChangeRequestDecisionResourceType' required: - type + - id + - attributes type: object - IncidentIntegrationMetadataResponseData: - description: Incident integration metadata from a response. + ChangeRequestDecisionCreateAttributes: + description: Attributes for creating a change request decision. properties: - attributes: - $ref: '#/components/schemas/IncidentIntegrationMetadataAttributes' - id: - description: The incident integration metadata's ID. - example: 00000000-0000-0000-1234-000000000000 + change_request_status: + $ref: '#/components/schemas/ChangeRequestDecisionStatusType' + request_reason: + description: The reason for requesting the decision. + example: Please review and approve this change type: string - relationships: - $ref: '#/components/schemas/IncidentIntegrationRelationships' - type: - $ref: '#/components/schemas/IncidentIntegrationMetadataType' + type: object + ChangeRequestDecisionCreateRelationships: + description: Relationships for creating a change request decision. + properties: + requested_user: + $ref: '#/components/schemas/ChangeRequestUserRelationship' + type: object + ChangeRequestDecisionResourceType: + description: Change request decision resource type. + enum: + - change_request_decision + example: change_request_decision + type: string + x-enum-varnames: + - CHANGE_REQUEST_DECISION + DowntimeDisplayTimezone: + default: UTC + description: |- + The timezone in which to display the downtime's start and end times in Datadog applications. This is not used + as an offset for scheduling. + example: America/New_York + nullable: true + type: string + DowntimeMessage: + description: |- + A message to include with notifications for this downtime. Email notifications can be sent to specific users + by using the same `@username` notation as events. + example: Message about the downtime + nullable: true + type: string + DowntimeMonitorIdentifier: + description: Monitor identifier for the downtime. + additionalProperties: {} + properties: + monitor_id: + description: ID of the monitor to prevent notifications. + example: 123 + format: int64 + type: integer + monitor_tags: + description: |- + A list of monitor tags. For example, tags that are applied directly to monitors, + not tags that are used in monitor queries (which are filtered by the scope parameter), to which the downtime applies. + The resulting downtime applies to monitors that match **all** provided monitor tags. Setting `monitor_tags` + to `[*]` configures the downtime to mute all monitors for the given scope. + example: + - service:postgres + - team:frontend + items: + description: A list of monitor tags. + example: service:postgres + type: string + minItems: 1 + type: array required: - - id - - type + - monitor_id + - monitor_tags type: object - IncidentIntegrationMetadataResponseIncludedItem: - description: >- - An object related to an incident integration metadata that is included - in the response. - oneOf: - - $ref: '#/components/schemas/User' - IncidentIntegrationMetadataCreateData: - description: Incident integration metadata data for a create request. + DowntimeMuteFirstRecoveryNotification: + description: If the first recovery notification during a downtime should be muted. + example: false + type: boolean + DowntimeNotifyEndStates: + description: States that will trigger a monitor notification when the `notify_end_types` action occurs. + example: + - alert + - warn + items: + $ref: '#/components/schemas/DowntimeNotifyEndStateTypes' + type: array + DowntimeNotifyEndTypes: + description: Actions that will trigger a monitor notification if the downtime is in the `notify_end_types` state. + example: + - canceled + - expired + items: + $ref: '#/components/schemas/DowntimeNotifyEndStateActions' + type: array + DowntimeScheduleResponse: + description: |- + The schedule that defines when the monitor starts, stops, and recurs. There are two types of schedules: + one-time and recurring. Recurring schedules may have up to five RRULE-based recurrences. If no schedules are + provided, the downtime will begin immediately and never end. properties: - attributes: - $ref: '#/components/schemas/IncidentIntegrationMetadataAttributes' - type: - $ref: '#/components/schemas/IncidentIntegrationMetadataType' + current_downtime: + $ref: '#/components/schemas/DowntimeScheduleCurrentDowntimeResponse' + recurrences: + description: A list of downtime recurrences. + items: + $ref: '#/components/schemas/DowntimeScheduleRecurrenceResponse' + maxItems: 5 + minItems: 1 + type: array + timezone: + default: UTC + description: |- + The timezone in which to schedule the downtime. This affects recurring start and end dates. + Must match `display_timezone`. + example: America/New_York + type: string + end: + description: ISO-8601 Datetime to end the downtime. + example: '2020-01-02T03:04:00.000Z' + format: date-time + nullable: true + type: string + start: + description: ISO-8601 Datetime to start the downtime. + example: '2020-01-02T03:04:00.000Z' + format: date-time + type: string required: - - type - - attributes + - recurrences + - start type: object - IncidentIntegrationMetadataPatchData: - description: Incident integration metadata data for a patch request. + DowntimeScope: + description: The scope to which the downtime applies. Must follow the [common search syntax](https://docs.datadoghq.com/logs/explorer/search_syntax/). + example: env:(staging OR prod) AND datacenter:us-east-1 + type: string + DowntimeStatus: + description: The current status of the downtime. + enum: + - active + - canceled + - ended + - scheduled + example: active + type: string + x-enum-varnames: + - ACTIVE + - CANCELED + - ENDED + - SCHEDULED + DowntimeRelationshipsCreatedBy: + description: The user who created the downtime. properties: - attributes: - $ref: '#/components/schemas/IncidentIntegrationMetadataAttributes' - type: - $ref: '#/components/schemas/IncidentIntegrationMetadataType' - required: - - type - - attributes + data: + $ref: '#/components/schemas/DowntimeRelationshipsCreatedByData' type: object - IncidentTodoResponseData: - description: Incident todo response data. + DowntimeRelationshipsMonitor: + description: The monitor identified by the downtime. properties: - attributes: - $ref: '#/components/schemas/IncidentTodoAttributes' - id: - description: The incident todo's ID. - example: 00000000-0000-0000-1234-000000000000 - type: string - relationships: - $ref: '#/components/schemas/IncidentTodoRelationships' - type: - $ref: '#/components/schemas/IncidentTodoType' - required: - - id - - type + data: + $ref: '#/components/schemas/DowntimeRelationshipsMonitorData' type: object - IncidentTodoResponseIncludedItem: - description: An object related to an incident todo that is included in the response. - oneOf: - - $ref: '#/components/schemas/User' - IncidentTodoCreateData: - description: Incident todo data for a create request. + UserAttributes: + description: Attributes of user object returned by the API. properties: - attributes: - $ref: '#/components/schemas/IncidentTodoAttributes' - type: - $ref: '#/components/schemas/IncidentTodoType' - required: - - type - - attributes + created_at: + description: The ISO 8601 timestamp of when the user account was created. + format: date-time + type: string + disabled: + description: Whether the user account is deactivated. Disabled users cannot log in. + type: boolean + email: + description: The email address of the user, used for login and notifications. + type: string + handle: + description: The unique handle (username) of the user, typically matching their email prefix. + type: string + icon: + description: URL of the user's profile icon, typically a Gravatar URL derived from the email address. + type: string + last_login_time: + description: The ISO 8601 timestamp of the user's most recent login, or null if the user has never logged in. + format: date-time + nullable: true + readOnly: true + type: string + mfa_enabled: + description: Whether multi-factor authentication (MFA) is enabled for the user's account. + readOnly: true + type: boolean + modified_at: + description: The ISO 8601 timestamp of when the user account was last modified. + format: date-time + type: string + name: + description: The full display name of the user as shown in the Datadog UI. + nullable: true + type: string + service_account: + description: |- + Whether this is a service account rather than a human user. + Service accounts are used for programmatic API access. + type: boolean + status: + description: The current status of the user account (for example, `Active`, `Pending`, or `Disabled`). + type: string + title: + description: The job title of the user (for example, "Senior Engineer" or "Product Manager"). + nullable: true + type: string + uuid: + description: The globally unique identifier (UUID) of the user. + readOnly: true + type: string + verified: + description: Whether the user's email address has been verified. + type: boolean type: object - IncidentTodoPatchData: - description: Incident todo data for a patch request. + UserResponseRelationships: + description: Relationships of the user object returned by the API. properties: - attributes: - $ref: '#/components/schemas/IncidentTodoAttributes' - type: - $ref: '#/components/schemas/IncidentTodoType' - required: - - type - - attributes + org: + $ref: '#/components/schemas/RelationshipToOrganization' + other_orgs: + $ref: '#/components/schemas/RelationshipToOrganizations' + other_users: + $ref: '#/components/schemas/RelationshipToUsers' + roles: + $ref: '#/components/schemas/RelationshipToRoles' type: object - EscalationPolicyCreateRequestData: - description: >- - Represents the data for creating an escalation policy, including its - attributes, relationships, and resource type. + DowntimeMonitorIncludedAttributes: + description: Attributes of the monitor identified by the downtime. properties: - attributes: - $ref: '#/components/schemas/EscalationPolicyCreateRequestDataAttributes' - relationships: - $ref: '#/components/schemas/EscalationPolicyCreateRequestDataRelationships' - type: - $ref: '#/components/schemas/EscalationPolicyCreateRequestDataType' - required: - - type - - attributes + name: + description: The name of the monitor identified by the downtime. + example: A monitor name + type: string type: object - EscalationPolicyData: - description: >- - Represents the data for a single escalation policy, including its - attributes, ID, relationships, and resource type. + DowntimeIncludedMonitorType: + default: monitors + description: Monitor resource type. + enum: + - monitors + example: monitors + type: string + x-enum-varnames: + - MONITORS + DowntimeScheduleCreateRequest: + description: Schedule for the downtime. properties: - attributes: - $ref: '#/components/schemas/EscalationPolicyDataAttributes' - id: - description: Specifies the unique identifier of the escalation policy. - example: ab000000-0000-0000-0000-000000000000 + recurrences: + description: A list of downtime recurrences. + items: + $ref: '#/components/schemas/DowntimeScheduleRecurrenceCreateUpdateRequest' + type: array + timezone: + default: UTC + description: The timezone in which to schedule the downtime. + example: America/New_York + type: string + end: + description: |- + ISO-8601 Datetime to end the downtime. Must include a UTC offset of zero. If not provided, the + downtime continues forever. + example: '2020-01-02T03:04:00.000Z' + format: date-time + nullable: true + type: string + start: + description: |- + ISO-8601 Datetime to start the downtime. Must include a UTC offset of zero. If not provided, the + downtime starts the moment it is created. + example: '2020-01-02T03:04:00.000Z' + format: date-time + nullable: true type: string - relationships: - $ref: '#/components/schemas/EscalationPolicyDataRelationships' - type: - $ref: '#/components/schemas/EscalationPolicyDataType' required: - - type + - recurrences type: object - EscalationPolicyIncluded: - description: >- - Represents included related resources when retrieving an escalation - policy, such as teams, steps, or targets. - oneOf: - - $ref: '#/components/schemas/TeamReference' - - $ref: '#/components/schemas/EscalationPolicyStep' - - $ref: '#/components/schemas/EscalationPolicyUser' - - $ref: '#/components/schemas/ScheduleData' - EscalationPolicyUpdateRequestData: - description: >- - Represents the data for updating an existing escalation policy, - including its ID, attributes, relationships, and resource type. + additionalProperties: false + DowntimeScheduleUpdateRequest: + description: Schedule for the downtime. + additionalProperties: false properties: - attributes: - $ref: '#/components/schemas/EscalationPolicyUpdateRequestDataAttributes' - id: - description: >- - Specifies the unique identifier of the escalation policy being - updated. - example: 00000000-aba1-0000-0000-000000000000 + recurrences: + description: A list of downtime recurrences. + items: + $ref: '#/components/schemas/DowntimeScheduleRecurrenceCreateUpdateRequest' + type: array + timezone: + default: UTC + description: The timezone in which to schedule the downtime. + example: America/New_York + type: string + end: + description: |- + ISO-8601 Datetime to end the downtime. Must include a UTC offset of zero. If not provided, the + downtime continues forever. + example: '2020-01-02T03:04:00.000Z' + format: date-time + nullable: true + type: string + start: + description: |- + ISO-8601 Datetime to start the downtime. Must include a UTC offset of zero. If not provided, the + downtime starts the moment it is created. + example: '2020-01-02T03:04:00.000Z' + format: date-time + nullable: true type: string - relationships: - $ref: '#/components/schemas/EscalationPolicyUpdateRequestDataRelationships' - type: - $ref: '#/components/schemas/EscalationPolicyUpdateRequestDataType' - required: - - type - - id - - attributes type: object - CreatePageRequestData: - description: The main request body, including attributes and resource type. + IssuesSearchRequestDataAttributesOrderBy: + description: The attribute to sort the search results by. + enum: + - TOTAL_COUNT + - FIRST_SEEN + - IMPACTED_SESSIONS + - PRIORITY + example: IMPACTED_SESSIONS + type: string + x-enum-varnames: + - TOTAL_COUNT + - FIRST_SEEN + - IMPACTED_SESSIONS + - PRIORITY + IssuesSearchRequestDataAttributesPersona: + description: Persona for the search. Either track(s) or persona(s) must be specified. + enum: + - ALL + - BROWSER + - MOBILE + - BACKEND + example: BACKEND + type: string + x-enum-varnames: + - ALL + - BROWSER + - MOBILE + - BACKEND + IssueState: + description: State of the issue + enum: + - OPEN + - ACKNOWLEDGED + - RESOLVED + - IGNORED + - EXCLUDED + example: RESOLVED + type: string + x-enum-varnames: + - OPEN + - ACKNOWLEDGED + - RESOLVED + - IGNORED + - EXCLUDED + IssuesSearchRequestDataAttributesTrack: + description: Track of the events to query. Either track(s) or persona(s) must be specified. + enum: + - trace + - logs + - rum + example: trace + type: string + x-enum-varnames: + - TRACE + - LOGS + - RUM + IssuesSearchResultIssueRelationship: + description: Relationship between the search result and the corresponding issue. properties: - attributes: - $ref: '#/components/schemas/CreatePageRequestDataAttributes' - type: - $ref: '#/components/schemas/CreatePageRequestDataType' + data: + $ref: '#/components/schemas/IssueReference' required: - - type + - data type: object - CreatePageResponseData: - description: The information returned after successfully creating a page. + IssueUserAttributes: + description: Object containing the information of a user. properties: - id: - description: The unique ID of the created page. + email: + description: Email of the user. + example: user@company.com type: string - type: - $ref: '#/components/schemas/CreatePageResponseDataType' - required: - - type - type: object - ScheduleCreateRequestData: - description: >- - The core data wrapper for creating a schedule, encompassing attributes, - relationships, and the resource type. - properties: - attributes: - $ref: '#/components/schemas/ScheduleCreateRequestDataAttributes' - relationships: - $ref: '#/components/schemas/ScheduleCreateRequestDataRelationships' - type: - $ref: '#/components/schemas/ScheduleCreateRequestDataType' - required: - - type - - attributes - type: object - ScheduleData: - description: >- - Represents the primary data object for a schedule, linking attributes - and relationships. - properties: - attributes: - $ref: '#/components/schemas/ScheduleDataAttributes' - id: - description: The schedule's unique identifier. - example: 3653d3c6-0c75-11ea-ad28-fb5701eabc7d + handle: + description: Handle of the user. + example: User Handle type: string - relationships: - $ref: '#/components/schemas/ScheduleDataRelationships' - type: - $ref: '#/components/schemas/ScheduleDataType' - required: - - type - type: object - ScheduleDataIncludedItem: - description: >- - Any additional resources related to this schedule, such as teams and - layers. - oneOf: - - $ref: '#/components/schemas/TeamReference' - - $ref: '#/components/schemas/Layer' - - $ref: '#/components/schemas/ScheduleMember' - - $ref: '#/components/schemas/ScheduleUser' - ScheduleUpdateRequestData: - description: >- - Contains all data needed to update an existing schedule, including its - attributes (such as name and time zone) and any relationships to teams. - properties: - attributes: - $ref: '#/components/schemas/ScheduleUpdateRequestDataAttributes' - id: - description: The ID of the schedule to be updated. - example: 3653d3c6-0c75-11ea-ad28-fb5701eabc7d + name: + description: Name of the user. + example: User Name type: string - relationships: - $ref: '#/components/schemas/ScheduleUpdateRequestDataRelationships' - type: - $ref: '#/components/schemas/ScheduleUpdateRequestDataType' - required: - - type - - id - - attributes type: object - ShiftData: - description: Data for an on-call shift. + IssueUserType: + description: Type of the object + enum: + - user + example: user + type: string + x-enum-varnames: + - USER + IssueTeamAttributes: + description: Object containing the information of a team. properties: - attributes: - $ref: '#/components/schemas/ShiftDataAttributes' - id: - description: The `ShiftData` `id`. + handle: + description: The team's identifier. + example: team-handle type: string - relationships: - $ref: '#/components/schemas/ShiftDataRelationships' - type: - $ref: '#/components/schemas/ShiftDataType' - required: - - type - type: object - ShiftIncluded: - description: Included data for shift operations. - oneOf: - - $ref: '#/components/schemas/ScheduleUser' - TeamOnCallRespondersData: - description: >- - Defines the main on-call responder object for a team, including - relationships and metadata. - properties: - id: - description: Unique identifier of the on-call responder configuration. + name: + description: The name of the team. + example: Team Name + type: string + summary: + description: A brief summary of the team, derived from its description. + example: This is a team. type: string - relationships: - $ref: '#/components/schemas/TeamOnCallRespondersDataRelationships' - type: - $ref: '#/components/schemas/TeamOnCallRespondersDataType' - required: - - type type: object - TeamOnCallRespondersIncluded: - description: >- - Represents an union of related resources included in the response, such - as users and escalation steps. - oneOf: - - $ref: '#/components/schemas/User' - - $ref: '#/components/schemas/Escalation' - TeamRoutingRulesData: - description: >- - Represents the top-level data object for team routing rules, containing - the ID, relationships, and resource type. + IssueTeamType: + description: Type of the object. + enum: + - team + example: team + type: string + x-enum-varnames: + - TEAM + IssueLanguage: + description: Programming language associated with the issue. + enum: + - BRIGHTSCRIPT + - C + - C_PLUS_PLUS + - C_SHARP + - CLOJURE + - DOT_NET + - ELIXIR + - ERLANG + - GO + - GROOVY + - HASKELL + - HCL + - JAVA + - JAVASCRIPT + - JVM + - KOTLIN + - OBJECTIVE_C + - PERL + - PHP + - PYTHON + - RUBY + - RUST + - SCALA + - SWIFT + - TERRAFORM + - TYPESCRIPT + - UNKNOWN + example: PYTHON + type: string + x-enum-varnames: + - BRIGHTSCRIPT + - C + - C_PLUS_PLUS + - C_SHARP + - CLOJURE + - DOT_NET + - ELIXIR + - ERLANG + - GO + - GROOVY + - HASKELL + - HCL + - JAVA + - JAVASCRIPT + - JVM + - KOTLIN + - OBJECTIVE_C + - PERL + - PHP + - PYTHON + - RUBY + - RUST + - SCALA + - SWIFT + - TERRAFORM + - TYPESCRIPT + - UNKNOWN + IssuePlatform: + description: Platform associated with the issue. + enum: + - ANDROID + - BACKEND + - BROWSER + - FLUTTER + - IOS + - REACT_NATIVE + - ROKU + - UNKNOWN + example: BACKEND + type: string + x-enum-varnames: + - ANDROID + - BACKEND + - BROWSER + - FLUTTER + - IOS + - REACT_NATIVE + - ROKU + - UNKNOWN + IssueRegression: + description: Regression information for an issue that was previously resolved and then reopened. properties: - id: - description: Specifies the unique identifier of this team routing rules record. + regressed_at: + description: Timestamp when the issue was reopened (regressed). + example: '2024-01-03T08:00:00Z' + format: date-time + type: string + regressed_at_version: + description: Application version where the regression was observed. + example: v2.5.2 + type: string + resolved_at: + description: Timestamp when the issue was resolved before the regression. + example: '2024-01-01T10:00:00Z' + format: date-time type: string - relationships: - $ref: '#/components/schemas/TeamRoutingRulesDataRelationships' - type: - $ref: '#/components/schemas/TeamRoutingRulesDataType' required: - - type + - resolved_at + - regressed_at type: object - TeamRoutingRulesIncluded: - description: >- - Represents additional included resources for team routing rules, such as - associated routing rules. - oneOf: - - $ref: '#/components/schemas/RoutingRule' - TeamRoutingRulesRequestData: - description: >- - Holds the data necessary to create or update team routing rules, - including attributes, ID, and resource type. - properties: - attributes: - $ref: '#/components/schemas/TeamRoutingRulesRequestDataAttributes' - id: - description: Specifies the unique identifier for this set of team routing rules. - type: string - type: - $ref: '#/components/schemas/TeamRoutingRulesRequestDataType' + IssueAssigneeRelationship: + description: Relationship between the issue and assignee. + properties: + data: + $ref: '#/components/schemas/IssueUserReference' required: - - type + - data type: object - IncidentServiceResponseData: - description: Incident Service data from responses. + IssueCaseRelationship: + description: Relationship between the issue and case. properties: - attributes: - $ref: '#/components/schemas/IncidentServiceResponseAttributes' - id: - description: The incident service's ID. - example: 00000000-0000-0000-0000-000000000000 - type: string - relationships: - $ref: '#/components/schemas/IncidentServiceRelationships' - type: - $ref: '#/components/schemas/IncidentServiceType' + data: + $ref: '#/components/schemas/IssueCaseReference' required: - - id - - type + - data type: object - IncidentServiceIncludedItems: - description: >- - An object related to an incident service which is present in the - included payload. - oneOf: - - $ref: '#/components/schemas/User' - IncidentServiceCreateData: - description: Incident Service payload for create requests. + IssueTeamOwnersRelationship: + description: Relationship between the issue and teams. properties: - attributes: - $ref: '#/components/schemas/IncidentServiceCreateAttributes' - relationships: - $ref: '#/components/schemas/IncidentServiceRelationships' - type: - $ref: '#/components/schemas/IncidentServiceType' + data: + description: Array of teams that are owners of the issue. + items: + $ref: '#/components/schemas/IssueTeamReference' + type: array required: - - type + - data type: object - ServiceDefinitionSchemaVersions: - description: Schema versions - enum: - - v1 - - v2 - - v2.1 - - v2.2 - type: string - x-enum-varnames: - - V1 - - V2 - - V2_1 - - V2_2 - ServiceDefinitionData: - description: Service definition data. + IssueCaseAttributes: + description: Object containing the information of a case. properties: - attributes: - $ref: '#/components/schemas/ServiceDefinitionDataAttributes' - id: - description: Service definition id. + archived_at: + description: Timestamp of when the case was archived. + example: '2025-01-01T00:00:00Z' + format: date-time type: string - type: - description: Service definition type. + closed_at: + description: Timestamp of when the case was closed. + example: '2025-01-01T00:00:00Z' + format: date-time type: string - type: object - ServiceDefinitionV2Dot2: - description: Service definition v2.2 for providing service metadata and integrations. - properties: - application: - description: >- - Identifier for a group of related services serving a product - feature, which the service is a part of. - example: my-app + created_at: + description: Timestamp of when the case was created. + example: '2025-01-01T00:00:00Z' + format: date-time type: string - ci-pipeline-fingerprints: - description: A set of CI fingerprints. - example: - - j88xdEy0J5lc - - eZ7LMljCk8vo - items: - type: string - type: array - contacts: - description: A list of contacts related to the services. - items: - $ref: '#/components/schemas/ServiceDefinitionV2Dot2Contact' - type: array - dd-service: - description: >- - Unique identifier of the service. Must be unique across all services - and is used to match with a service in Datadog. - example: my-service + creation_source: + description: Source of the case creation. + example: ERROR_TRACKING type: string description: - description: A short description of the service. - example: My service description + description: Description of the case. type: string - extensions: - additionalProperties: {} - description: Extensions to v2.2 schema. - example: - myorg/extension: extensionValue - type: object - integrations: - $ref: '#/components/schemas/ServiceDefinitionV2Dot2Integrations' - languages: - description: >- - The service's programming language. Datadog recognizes the following - languages: `dotnet`, `go`, `java`, `js`, `php`, `python`, `ruby`, - and `c++`. - example: - - dotnet - - go - - java - - js - - php - - python - - ruby - - c++ - items: - type: string - type: array - lifecycle: - description: The current life cycle phase of the service. - example: sandbox + due_date: + description: Due date of the case. + example: '2025-01-01' type: string - links: - description: A list of links related to the services. - items: - $ref: '#/components/schemas/ServiceDefinitionV2Dot2Link' - type: array - schema-version: - $ref: '#/components/schemas/ServiceDefinitionV2Dot2Version' - tags: - description: A set of custom tags. - example: - - my:tag - - service:tag + insights: + description: Insights of the case. items: - type: string + $ref: '#/components/schemas/IssueCaseInsight' type: array - team: - description: >- - Team that owns the service. It is used to locate a team defined in - Datadog Teams if it exists. - example: my-team + jira_issue: + $ref: '#/components/schemas/IssueCaseJiraIssue' + key: + description: Key of the case. + example: ET-123 type: string - tier: - description: Importance of the service. - example: High + linear_issue: + $ref: '#/components/schemas/IssueCaseLinearIssue' + modified_at: + description: Timestamp of when the case was last modified. + example: '2025-01-01T00:00:00Z' + format: date-time + type: string + priority: + $ref: '#/components/schemas/CasePriority' + status: + $ref: '#/components/schemas/CaseStatus' + title: + description: Title of the case. + example: 'Error: HTTP error' type: string type: - $ref: '#/components/schemas/ServiceDefinitionV2Dot2Type' - required: - - schema-version - - dd-service + description: Type of the case. + example: ERROR_TRACKING_ISSUE + type: string type: object - ServiceDefinitionV2Dot1: - description: Service definition v2.1 for providing service metadata and integrations. + IssueCaseRelationships: + description: Resources related to a case. properties: - application: - description: >- - Identifier for a group of related services serving a product - feature, which the service is a part of. - example: my-app + assignee: + $ref: '#/components/schemas/NullableUserRelationship' + created_by: + $ref: '#/components/schemas/NullableUserRelationship' + modified_by: + $ref: '#/components/schemas/NullableUserRelationship' + project: + $ref: '#/components/schemas/ProjectRelationship' + type: object + IssueCaseResourceType: + description: Type of the object. + enum: + - case + example: case + type: string + x-enum-varnames: + - CASE + EventAttributes: + description: Object description of attributes from your event. + properties: + aggregation_key: + description: Aggregation key of the event. type: string - contacts: - description: A list of contacts related to the services. + date_happened: + description: |- + POSIX timestamp of the event. Must be sent as an integer (no quotation marks). + Limited to events no older than 18 hours. + format: int64 + type: integer + device_name: + description: A device name. + type: string + duration: + description: The duration between the triggering of the event and its recovery in nanoseconds. + format: int64 + type: integer + event_object: + description: The event title. + example: Did you hear the news today? + type: string + evt: + $ref: '#/components/schemas/Event' + hostname: + description: |- + Host name to associate with the event. + Any tags associated with the host are also applied to this event. + type: string + monitor: + $ref: '#/components/schemas/MonitorType' + monitor_groups: + description: List of groups referred to in the event. items: - $ref: '#/components/schemas/ServiceDefinitionV2Dot1Contact' + description: Group referred to in the event. + type: string + nullable: true type: array - dd-service: - description: >- - Unique identifier of the service. Must be unique across all services - and is used to match with a service in Datadog. - example: my-service - type: string - description: - description: A short description of the service. - example: My service description + monitor_id: + description: ID of the monitor that triggered the event. When an event isn't related to a monitor, this field is empty. + format: int64 + nullable: true + type: integer + priority: + $ref: '#/components/schemas/EventPriority' + related_event_id: + description: Related event ID. + format: int64 + type: integer + service: + description: Service that triggered the event. + example: datadog-api type: string - extensions: - additionalProperties: {} - description: Extensions to v2.1 schema. - example: - myorg/extension: extensionValue - type: object - integrations: - $ref: '#/components/schemas/ServiceDefinitionV2Dot1Integrations' - lifecycle: - description: The current life cycle phase of the service. - example: sandbox + source_type_name: + description: |- + The type of event being posted. + For example, `nagios`, `hudson`, `jenkins`, `my_apps`, `chef`, `puppet`, `git` or `bitbucket`. + The list of standard source attribute values is [available here](https://docs.datadoghq.com/integrations/faq/list-of-api-source-attribute-value). type: string - links: - description: A list of links related to the services. - items: - $ref: '#/components/schemas/ServiceDefinitionV2Dot1Link' - type: array - schema-version: - $ref: '#/components/schemas/ServiceDefinitionV2Dot1Version' + sourcecategory: + description: Identifier for the source of the event, such as a monitor alert, an externally-submitted event, or an integration. + type: string + status: + $ref: '#/components/schemas/EventStatusType' tags: - description: A set of custom tags. + description: A list of tags to apply to the event. example: - - my:tag - - service:tag + - environment:test items: + description: A tag. type: string type: array - team: - description: >- - Team that owns the service. It is used to locate a team defined in - Datadog Teams if it exists. - example: my-team - type: string - tier: - description: Importance of the service. - example: High + timestamp: + description: POSIX timestamp of your event in milliseconds. + example: 1652274265000 + format: int64 + type: integer + title: + description: The event title. + example: Oh boy! type: string - required: - - schema-version - - dd-service type: object - ServiceDefinitionV2: - description: Service definition V2 for providing service metadata and integrations. + EventPayloadAttributes: + description: JSON object for category-specific attributes. Schema is different per event category. + additionalProperties: false properties: - contacts: - description: A list of contacts related to the services. - items: - $ref: '#/components/schemas/ServiceDefinitionV2Contact' - type: array - dd-service: - description: >- - Unique identifier of the service. Must be unique across all services - and is used to match with a service in Datadog. - example: my-service - type: string - dd-team: - description: >- - Experimental feature. A Team handle that matches a Team in the - Datadog Teams product. - example: my-team - type: string - docs: - description: A list of documentation related to the services. - items: - $ref: '#/components/schemas/ServiceDefinitionV2Doc' - type: array - extensions: + author: + $ref: '#/components/schemas/ChangeEventCustomAttributesAuthor' + change_metadata: additionalProperties: {} - description: Extensions to V2 schema. + description: Free form JSON object with information related to the `change` event. Supports up to 100 properties per object and a maximum nesting depth of 10 levels. example: - myorg/extension: extensionValue + dd: + team: datadog_team + user_email: datadog@datadog.com + user_id: datadog_user_id + user_name: datadog_username + resource_link: datadog.com/feature/fallback_payments_test type: object - integrations: - $ref: '#/components/schemas/ServiceDefinitionV2Integrations' - links: - description: A list of links related to the services. - items: - $ref: '#/components/schemas/ServiceDefinitionV2Link' - type: array - repos: - description: A list of code repositories related to the services. - items: - $ref: '#/components/schemas/ServiceDefinitionV2Repo' - type: array - schema-version: - $ref: '#/components/schemas/ServiceDefinitionV2Version' - tags: - description: A set of custom tags. + changed_resource: + $ref: '#/components/schemas/ChangeEventCustomAttributesChangedResource' + impacted_resources: + description: |- + A list of resources impacted by this change. It is recommended to provide an impacted resource to display + the change event at the correct location. Only resources of type `service` are supported. Maximum of 100 impacted resources allowed. example: - - my:tag - - service:tag + - name: payments_api + type: service items: - type: string + $ref: '#/components/schemas/ChangeEventCustomAttributesImpactedResourcesItems' + maxItems: 100 type: array - team: - description: Team that owns the service. - example: my-team - type: string + new_value: + additionalProperties: {} + description: Free form JSON object representing the new state of the changed resource. + example: + enabled: true + percentage: 50% + rule: + datacenter: devcycle.us1.prod + type: object + prev_value: + additionalProperties: {} + description: Free form JSON object representing the previous state of the changed resource. + example: + enabled: true + percentage: 10% + rule: + datacenter: devcycle.us1.prod + type: object + custom: + $ref: '#/components/schemas/AlertEventCustomAttributesCustom' + links: + $ref: '#/components/schemas/AlertEventCustomAttributesLinks' + priority: + $ref: '#/components/schemas/AlertEventCustomAttributesPriority' + status: + $ref: '#/components/schemas/AlertEventCustomAttributesStatus' required: - - schema-version - - dd-service + - changed_resource + - status type: object - ServiceDefinitionRaw: - description: Service Definition in raw JSON/YAML representation. - example: | - --- - schema-version: v2 - dd-service: my-service + EventCategory: + description: Event category identifying the type of event. + enum: + - change + - alert + example: change type: string - IncidentServiceUpdateData: - description: Incident Service payload for update requests. - properties: - attributes: - $ref: '#/components/schemas/IncidentServiceUpdateAttributes' - id: - description: The incident service's ID. - example: 00000000-0000-0000-0000-000000000000 - type: string - relationships: - $ref: '#/components/schemas/IncidentServiceRelationships' - type: - $ref: '#/components/schemas/IncidentServiceType' - required: - - type - type: object - SloReportCreateRequestData: - description: The data portion of the SLO report request. + x-enum-varnames: + - CHANGE + - ALERT + EventPayloadIntegrationId: + description: Integration ID sourced from integration manifests. + enum: + - custom-events + example: custom-events + type: string + x-enum-varnames: + - CUSTOM_EVENTS + EventCreateResponseAttributesAttributes: + description: JSON object for category-specific attributes. properties: - attributes: - $ref: '#/components/schemas/SloReportCreateRequestAttributes' - required: - - attributes + evt: + $ref: '#/components/schemas/EventCreateResponseAttributesAttributesEvt' type: object - SLOReportPostResponseData: - description: The data portion of the SLO report response. + V2EventAttributesAttributes: + description: JSON object for category-specific attributes. properties: - id: - description: The ID of the report job. - example: dc8d92aa-e0af-11ee-af21-1feeaccaa3a3 + aggregation_key: + $ref: '#/components/schemas/V2EventAggregationKey' + author: + $ref: '#/components/schemas/ChangeEventAttributesAuthor' + change_metadata: + description: JSON object of change metadata. (opaque JSON object) + example: + dd: + team: datadog_team + user_email: datadog@datadog.com + user_id: datadog_user_id + user_name: datadog_username type: string - type: - description: The type of ID. - example: report_id + changed_resource: + $ref: '#/components/schemas/ChangeEventAttributesChangedResource' + evt: + $ref: '#/components/schemas/EventSystemAttributes' + impacted_resources: + description: A list of resources impacted by this change. + example: + - name: service-name + type: service + items: + $ref: '#/components/schemas/ChangeEventAttributesImpactedResourcesItem' + type: array + new_value: + description: The new state of the changed resource. (opaque JSON object) + example: + enabled: true + percentage: 50% + rule: + datacenter: devcycle.us1.prod + type: string + prev_value: + description: The previous state of the changed resource. (opaque JSON object) + example: + enabled: true + percentage: 10% + rule: + datacenter: devcycle.us1.prod + type: string + service: + $ref: '#/components/schemas/V2EventService' + timestamp: + $ref: '#/components/schemas/V2EventTimestamp' + title: + $ref: '#/components/schemas/V2EventTitle' + custom: + description: JSON object of custom attributes. (opaque JSON object) + example: {} type: string + links: + description: The links related to the event. + example: + - category: runbook + title: Runbook Link + url: https://app.datadoghq.com/runbook + items: + $ref: '#/components/schemas/AlertEventAttributesLinksItem' + type: array + priority: + $ref: '#/components/schemas/AlertEventAttributesPriority' + status: + $ref: '#/components/schemas/AlertEventAttributesStatus' type: object - SLOReportStatusGetResponseData: - description: The data portion of the SLO report status response. + FormUiDefinition: + additionalProperties: {} + description: UI configuration for rendering form fields, including widget overrides, field ordering, and themes. properties: - attributes: - $ref: '#/components/schemas/SLOReportStatusGetResponseAttributes' - id: - description: The ID of the report job. - example: dc8d92aa-e0af-11ee-af21-1feeaccaa3a3 + ui:order: + description: The order in which form fields are displayed. + items: + type: string + type: array + ui:theme: + $ref: '#/components/schemas/FormUiDefinitionUiTheme' + type: object + FormDatastoreConfigAttributes: + description: The datastore configuration for a form. + properties: + datastore_id: + description: The ID of the datastore. + example: 5108ea24-dd83-4696-9caa-f069f73d0fad + format: uuid type: string - type: - description: The type of ID. - example: report_id + primary_column_name: + description: The name of the primary column in the datastore. + example: id type: string + primary_key_generation_strategy: + description: The strategy used to generate primary keys in the datastore. + example: none + type: string + required: + - datastore_id + - primary_column_name + - primary_key_generation_strategy type: object - IncidentTeamResponseData: - description: Incident Team data from a response. + FormUpdateAttributes: + description: The fields to update on a form. At least one field must be provided. properties: - attributes: - $ref: '#/components/schemas/IncidentTeamResponseAttributes' - id: - description: The incident team's ID. - example: 00000000-7ea3-0000-000a-000000000000 + datastore_config: + $ref: '#/components/schemas/FormDatastoreConfigAttributes' + description: + description: The updated description of the form. + example: An updated description. + type: string + name: + description: The updated name of the form. + example: Updated Form Name type: string - relationships: - $ref: '#/components/schemas/IncidentTeamRelationships' - type: - $ref: '#/components/schemas/IncidentTeamType' type: object - IncidentTeamIncludedItems: - description: >- - An object related to an incident team which is present in the included - payload. - oneOf: - - $ref: '#/components/schemas/User' - IncidentTeamCreateData: - description: Incident Team data for a create request. - properties: - attributes: - $ref: '#/components/schemas/IncidentTeamCreateAttributes' - relationships: - $ref: '#/components/schemas/IncidentTeamRelationships' - type: - $ref: '#/components/schemas/IncidentTeamType' + FormVersionState: + description: The state of a form version. + enum: + - draft + - frozen + example: frozen + type: string + x-enum-varnames: + - DRAFT + - FROZEN + UpsertFormVersionUpsertParams: + description: Concurrency control parameters for the form version upsert operation. + properties: + etag: + description: The ETag of the latest version. Required when `match_policy` is `if_etag_match`. + example: b51f08b698d88d8027a935d9db649774949f5fb41a0c559bfee6a9a13225c72d + nullable: true + type: string + insert_only: + description: If true, only a new version may be inserted; updating the current draft is not allowed. + example: false + type: boolean + match_policy: + $ref: '#/components/schemas/LatestVersionMatchPolicy' required: - - type + - match_policy type: object - IncidentTeamUpdateData: - description: Incident Team data for an update request. + UpsertAndPublishFormVersionUpsertParams: + description: Concurrency control parameters for the upsert and publish operation. properties: - attributes: - $ref: '#/components/schemas/IncidentTeamUpdateAttributes' - id: - description: The incident team's ID. - example: 00000000-7ea3-0000-0001-000000000000 + etag: + description: The ETag of the latest version used for optimistic concurrency control. + example: b51f08b698d88d8027a935d9db649774949f5fb41a0c559bfee6a9a13225c72d type: string - relationships: - $ref: '#/components/schemas/IncidentTeamRelationships' - type: - $ref: '#/components/schemas/IncidentTeamType' required: - - type + - etag type: object - CaseAttributes: - description: Case resource attributes + IncidentNonDatadogCreator: + description: Incident's non Datadog creator. + nullable: true properties: - archived_at: - description: Timestamp of when the case was archived - format: date-time - nullable: true - readOnly: true - type: string - attributes: - $ref: '#/components/schemas/CaseObjectAttributes' - closed_at: - description: Timestamp of when the case was closed - format: date-time - nullable: true - readOnly: true - type: string - created_at: - description: Timestamp of when the case was created - format: date-time - readOnly: true - type: string - description: - description: Description + image_48_px: + description: Non Datadog creator `48px` image. type: string - jira_issue: - $ref: '#/components/schemas/JiraIssue' - key: - description: Key - example: CASEM-4523 + name: + description: Non Datadog creator name. type: string - modified_at: - description: Timestamp of when the case was last modified - format: date-time + type: object + IncidentFieldAttributes: + description: Dynamic fields for which selections can be made, with field names as keys. + properties: + type: + $ref: '#/components/schemas/IncidentFieldAttributesSingleValueType' + value: + description: The single value selected for this field. + example: SEV-1 nullable: true - readOnly: true - type: string - priority: - $ref: '#/components/schemas/CasePriority' - service_now_ticket: - $ref: '#/components/schemas/ServiceNowTicket' - status: - $ref: '#/components/schemas/CaseStatus' - title: - description: Title - example: Memory leak investigation on API type: string - type: - $ref: '#/components/schemas/CaseType' type: object - CaseRelationships: - description: Resources related to a case + IncidentNotificationHandle: + description: A notification handle that will be notified at incident creation. properties: - assignee: - $ref: '#/components/schemas/NullableUserRelationship' - created_by: - $ref: '#/components/schemas/NullableUserRelationship' - modified_by: - $ref: '#/components/schemas/NullableUserRelationship' - project: - $ref: '#/components/schemas/ProjectRelationship' + display_name: + description: The name of the notified handle. + example: Jane Doe + type: string + handle: + description: The handle used for the notification. This includes an email address, Slack channel, or workflow. + example: '@test.user@test.com' + type: string type: object - CaseResourceType: - default: case - description: Case resource type + IncidentSeverity: + description: The incident severity. enum: - - case - example: case + - UNKNOWN + - SEV-0 + - SEV-1 + - SEV-2 + - SEV-3 + - SEV-4 + - SEV-5 + example: UNKNOWN type: string x-enum-varnames: - - CASE - CasesResponseMetaPagination: - description: Pagination metadata + - UNKNOWN + - SEV_0 + - SEV_1 + - SEV_2 + - SEV_3 + - SEV_4 + - SEV_5 + RelationshipToIncidentAttachment: + description: A relationship reference for attachments. properties: - current: - description: Current page number - format: int64 - type: integer - size: - description: Number of cases in current page - format: int64 - type: integer - total: - description: Total number of pages - format: int64 - type: integer + data: + description: An array of incident attachments. + items: + $ref: '#/components/schemas/RelationshipToIncidentAttachmentData' + type: array + required: + - data type: object - CaseCreateAttributes: - description: Case creation attributes + NullableRelationshipToUser: + description: Relationship to user. + nullable: true properties: - description: - description: Description - type: string - priority: - $ref: '#/components/schemas/CasePriority' - title: - description: Title - example: Security breach investigation - type: string - type: - $ref: '#/components/schemas/CaseType' + data: + $ref: '#/components/schemas/NullableRelationshipToUserData' required: - - title - - type + - data type: object - CaseCreateRelationships: - description: Relationships formed with the case on creation + RelationshipToUser: + description: Relationship to user. properties: - assignee: - $ref: '#/components/schemas/NullableUserRelationship' - project: - $ref: '#/components/schemas/ProjectRelationship' + data: + $ref: '#/components/schemas/RelationshipToUserData' required: - - project + - data type: object - ProjectAttributes: - description: Project attributes + RelationshipToIncidentImpacts: + description: Relationship to impacts. properties: - key: - description: The project's key - example: CASEM - type: string - name: - description: Project's name - type: string + data: + description: An array of incident impacts. + items: + $ref: '#/components/schemas/RelationshipToIncidentImpactData' + type: array + required: + - data type: object - ProjectRelationships: - description: Project relationships + RelationshipToIncidentIntegrationMetadatas: + description: A relationship reference for multiple integration metadata objects. + example: + data: + - id: 00000000-abcd-0005-0000-000000000000 + type: incident_integrations + - id: 00000000-abcd-0006-0000-000000000000 + type: incident_integrations properties: - member_team: - $ref: '#/components/schemas/RelationshipToTeamLinks' - member_user: - $ref: '#/components/schemas/UsersRelationship' + data: + description: Integration metadata relationship array + example: + - id: 00000000-abcd-0003-0000-000000000000 + type: incident_integrations + - id: 00000000-abcd-0004-0000-000000000000 + type: incident_integrations + items: + $ref: '#/components/schemas/RelationshipToIncidentIntegrationMetadataData' + type: array + required: + - data type: object - ProjectResourceType: - default: project - description: Project resource type - enum: - - project - example: project - type: string - x-enum-varnames: - - PROJECT - ProjectCreateAttributes: - description: Project creation attributes + RelationshipToIncidentResponders: + description: Relationship to incident responders. properties: - key: - description: Project's key. Cannot be "CASE" - example: SEC - type: string - name: - description: name - example: Security Investigation - type: string + data: + description: An array of incident responders. + items: + $ref: '#/components/schemas/RelationshipToIncidentResponderData' + type: array required: - - name - - key + - data type: object - CaseAssignAttributes: - description: Case assign attributes + RelationshipToIncidentUserDefinedFields: + description: Relationship to incident user defined fields. properties: - assignee_id: - description: Assignee's UUID - example: f98a5a5b-e0ff-45d4-b2f5-afe6e74de504 - type: string + data: + description: An array of user defined fields. + items: + $ref: '#/components/schemas/RelationshipToIncidentUserDefinedFieldData' + type: array required: - - assignee_id + - data type: object - CaseUpdateAttributesAttributes: - description: Case update attributes attributes + IncidentTimelineCellCreateAttributes: + description: The timeline cell's attributes for a create request. properties: - attributes: - $ref: '#/components/schemas/CaseObjectAttributes' + cell_type: + $ref: '#/components/schemas/IncidentTimelineCellMarkdownContentType' + content: + $ref: '#/components/schemas/IncidentTimelineCellMarkdownCreateAttributesContent' + important: + default: false + description: A flag indicating whether the timeline cell is important and should be highlighted. + example: false + type: boolean required: - - attributes + - content + - cell_type type: object - CaseUpdatePriorityAttributes: - description: Case update priority attributes + IncidentHandleAttributesFields: + description: Dynamic fields associated with the handle + example: + severity: + - SEV-1 properties: - priority: - $ref: '#/components/schemas/CasePriority' + severity: + description: Severity levels associated with the handle + items: + $ref: '#/components/schemas/IncidentHandleAttributesFieldsSeverity' + type: array + type: object + IncidentHandleRelationship: + description: A single relationship object for an incident handle, wrapping the related resource data. + properties: + data: + $ref: '#/components/schemas/IncidentHandleRelationshipData' required: - - priority + - data type: object - CaseUpdateStatusAttributes: - description: Case update status attributes + RelationshipToIncidentType: + description: Relationship to an incident type. properties: - status: - $ref: '#/components/schemas/CaseStatus' + data: + $ref: '#/components/schemas/RelationshipToIncidentTypeData' required: - - status + - data type: object - DowntimeResponseAttributes: - description: Downtime details. + IncidentImpactFieldChoice: + description: A choice option for a dropdown or multiselect impact field. properties: - canceled: - description: Time that the downtime was canceled. - example: 2020-01-02T03:04:05.282979+0000 - format: date-time - nullable: true + description: + description: The description of the choice. + example: Affects all customers type: string - created: - description: Creation time of the downtime. - example: 2020-01-02T03:04:05.282979+0000 - format: date-time + display_name: + description: The display name of the choice. + example: Critical type: string - display_timezone: - $ref: '#/components/schemas/DowntimeDisplayTimezone' - message: - $ref: '#/components/schemas/DowntimeMessage' - modified: - description: Time that the downtime was last modified. - example: 2020-01-02T03:04:05.282979+0000 - format: date-time + value: + description: The value of the choice. + example: critical type: string - monitor_identifier: - $ref: '#/components/schemas/DowntimeMonitorIdentifier' - mute_first_recovery_notification: - $ref: '#/components/schemas/DowntimeMuteFirstRecoveryNotification' - notify_end_states: - $ref: '#/components/schemas/DowntimeNotifyEndStates' - notify_end_types: - $ref: '#/components/schemas/DowntimeNotifyEndTypes' - schedule: - $ref: '#/components/schemas/DowntimeScheduleResponse' - scope: - $ref: '#/components/schemas/DowntimeScope' - status: - $ref: '#/components/schemas/DowntimeStatus' - type: object - DowntimeRelationships: - description: All relationships associated with downtime. - properties: - created_by: - $ref: '#/components/schemas/DowntimeRelationshipsCreatedBy' - monitor: - $ref: '#/components/schemas/DowntimeRelationshipsMonitor' + required: + - value + - display_name type: object - DowntimeResourceType: - default: downtime - description: Downtime resource type. + IncidentImpactFieldValueType: + description: The type of an impact field. enum: - - downtime - example: downtime + - dropdown + - text + - textarray + - metrictag + - number + - datetime + - multiselect + example: dropdown type: string x-enum-varnames: - - DOWNTIME - User: - description: User object returned by the API. - properties: - attributes: - $ref: '#/components/schemas/UserAttributes' - id: - description: ID of the user. - type: string - relationships: - $ref: '#/components/schemas/UserResponseRelationships' - type: - $ref: '#/components/schemas/UsersType' - type: object - DowntimeMonitorIncludedItem: - description: Information about the monitor identified by the downtime. - properties: - attributes: - $ref: '#/components/schemas/DowntimeMonitorIncludedAttributes' - id: - description: ID of the monitor identified by the downtime. - example: 12345 - format: int64 - type: integer - type: - $ref: '#/components/schemas/DowntimeIncludedMonitorType' - type: object - DowntimeMetaPage: - description: Object containing the total filtered count. - properties: - total_filtered_count: - description: Total count of elements matched by the filter. - format: int64 - type: integer - type: object - DowntimeCreateRequestAttributes: - description: Downtime details. - properties: - display_timezone: - $ref: '#/components/schemas/DowntimeDisplayTimezone' - message: - $ref: '#/components/schemas/DowntimeMessage' - monitor_identifier: - $ref: '#/components/schemas/DowntimeMonitorIdentifier' - mute_first_recovery_notification: - $ref: '#/components/schemas/DowntimeMuteFirstRecoveryNotification' - notify_end_states: - $ref: '#/components/schemas/DowntimeNotifyEndStates' - notify_end_types: - $ref: '#/components/schemas/DowntimeNotifyEndTypes' - schedule: - $ref: '#/components/schemas/DowntimeScheduleCreateRequest' - scope: - $ref: '#/components/schemas/DowntimeScope' - required: - - scope - - monitor_identifier - type: object - DowntimeUpdateRequestAttributes: - description: Attributes of the downtime to update. - properties: - display_timezone: - $ref: '#/components/schemas/DowntimeDisplayTimezone' - message: - $ref: '#/components/schemas/DowntimeMessage' - monitor_identifier: - $ref: '#/components/schemas/DowntimeMonitorIdentifier' - mute_first_recovery_notification: - $ref: '#/components/schemas/DowntimeMuteFirstRecoveryNotification' - notify_end_states: - $ref: '#/components/schemas/DowntimeNotifyEndStates' - notify_end_types: - $ref: '#/components/schemas/DowntimeNotifyEndTypes' - schedule: - $ref: '#/components/schemas/DowntimeScheduleUpdateRequest' - scope: - $ref: '#/components/schemas/DowntimeScope' - type: object - IssuesSearchRequestDataAttributes: - description: Object describing a search issue request. + - DROPDOWN + - TEXT + - TEXTARRAY + - METRICTAG + - NUMBER + - DATETIME + - MULTISELECT + IncidentNotificationRuleConditions: + description: The conditions that trigger this notification rule. + example: + - field: severity + values: + - SEV-1 + - SEV-2 + items: + $ref: '#/components/schemas/IncidentNotificationRuleConditionsItems' + type: array + IncidentNotificationRuleHandles: + description: The notification handles (targets) for this rule. + example: + - '@team-email@company.com' + - '@slack-channel' + items: + description: A notification handle (email, Slack channel, etc.). + type: string + type: array + IncidentNotificationRuleRenotifyOn: + description: List of incident fields that trigger re-notification when changed. + example: + - status + - severity + items: + description: An incident field name. + type: string + type: array + IncidentNotificationRuleAttributesVisibility: + description: The visibility of the notification rule. + enum: + - all + - organization + - private + example: organization + type: string + x-enum-varnames: + - ALL + - ORGANIZATION + - PRIVATE + RelationshipToIncidentNotificationTemplate: + description: A relationship reference to a notification template. properties: - from: - description: >- - Start date (inclusive) of the query in milliseconds since the Unix - epoch. - example: 1671612804000 - format: int64 - type: integer - order_by: - $ref: '#/components/schemas/IssuesSearchRequestDataAttributesOrderBy' - persona: - $ref: '#/components/schemas/IssuesSearchRequestDataAttributesPersona' - query: - description: Search query following the event search syntax. - example: service:orders-* AND @language:go - type: string - to: - description: >- - End date (exclusive) of the query in milliseconds since the Unix - epoch. - example: 1671620004000 - format: int64 - type: integer - track: - $ref: '#/components/schemas/IssuesSearchRequestDataAttributesTrack' + data: + $ref: '#/components/schemas/RelationshipToIncidentNotificationTemplateData' required: - - query - - from - - to + - data type: object - IssuesSearchRequestDataType: - description: Type of the object. - enum: - - search_request - example: search_request + IncidentNotificationRuleCreateAttributesVisibility: + description: The visibility of the notification rule. + enum: + - all + - organization + - private + example: organization type: string x-enum-varnames: - - SEARCH_REQUEST - IssuesSearchResultAttributes: - description: Object containing the information of a search result. + - ALL + - ORGANIZATION + - PRIVATE + ConfluencePostmortemSettings: + description: Settings for a postmortem template stored in Confluence. Required when `location` is `confluence`. properties: - impacted_sessions: - description: >- - Count of sessions impacted by the issue over the queried time - window. - example: 12 - format: int64 - type: integer - impacted_users: - description: Count of users impacted by the issue over the queried time window. - example: 4 - format: int64 - type: integer - total_count: - description: >- - Total count of errors that match the issue over the queried time - window. - example: 82 - format: int64 - type: integer + account_id: + description: The ID of the Confluence integration account. + example: '123456' + type: string + parent_id: + description: The ID of the parent Confluence page under which postmortems are created. + example: '345678' + nullable: true + type: string + space_id: + description: The ID of the Confluence space where postmortems are created. + example: '789012' + type: string + required: + - account_id + - space_id type: object - IssuesSearchResultRelationships: - description: Relationships between the search result and other resources. + GoogleDocsPostmortemSettings: + description: Settings for a postmortem template stored in Google Docs. Required when `location` is `google_docs`. properties: - issue: - $ref: '#/components/schemas/IssuesSearchResultIssueRelationship' + account_id: + description: The ID of the Google Drive integration account. + example: '123456' + type: string + parent_folder_id: + description: The ID of the Google Drive folder where postmortems are created. + example: '789012' + type: string + required: + - account_id + - parent_folder_id type: object - IssuesSearchResultType: - description: Type of the object. + PostmortemTemplateLocation: + default: datadog_notebooks + description: The location where the postmortem is created and stored. enum: - - error_tracking_search_result - example: error_tracking_search_result + - datadog_notebooks + - confluence + - google_docs + example: datadog_notebooks type: string x-enum-varnames: - - ERROR_TRACKING_SEARCH_RESULT - IssueUser: - description: The user to whom the issue is assigned. + - DATADOG_NOTEBOOKS + - CONFLUENCE + - GOOGLE_DOCS + PostmortemTemplateIncidentTypeRelationship: + description: Relationship to the incident type this template belongs to. properties: - attributes: - $ref: '#/components/schemas/IssueUserAttributes' - id: - description: User identifier. - example: 87cb11a0-278c-440a-99fe-701223c80296 - type: string - type: - $ref: '#/components/schemas/IssueUserType' + data: + $ref: '#/components/schemas/PostmortemTemplateIncidentTypeRelationshipData' required: - - id - - type - - attributes + - data type: object - IssueTeam: - description: A team that owns an issue. + PostmortemTemplateUserRelationship: + description: Relationship to a user. properties: - attributes: - $ref: '#/components/schemas/IssueTeamAttributes' - id: - description: Team identifier. - example: 221b0179-6447-4d03-91c3-3ca98bf60e8a - type: string - type: - $ref: '#/components/schemas/IssueTeamType' + data: + $ref: '#/components/schemas/PostmortemTemplateUserRelationshipData' required: - - id - - type - - attributes + - data type: object - IssueAttributes: - description: Object containing the information of an issue. + IncidentRuleQueryCondition: + description: A query-based condition for an incident rule. properties: - error_message: - description: Error message associated with the issue. - example: object of type 'NoneType' has no len() - type: string - error_type: - description: Type of the error that matches the issue. - example: builtins.TypeError - type: string - file_path: - description: Path of the file where the issue occurred. - example: /django-email/conduit/apps/core/utils.py + normalized_query: + description: The normalized query string. + example: severity:SEV-1 + nullable: true type: string - first_seen: - description: >- - Timestamp of the first seen error in milliseconds since the Unix - epoch. - example: 1671612804001 - format: int64 - type: integer - first_seen_version: - description: >- - The application version (for example, git commit hash) where the - issue was first observed. - example: aaf65cd0 + raw_query: + description: The raw query string. + example: severity:SEV-1 + nullable: true type: string - function_name: - description: Name of the function where the issue occurred. - example: filter_forbidden_tags + type: object + IncidentRuleCondition: + description: A condition for an incident rule. + properties: + field: + description: The field to match on. + example: severity type: string - is_crash: - description: Error is a crash. - example: false - type: boolean - languages: - description: Array of programming languages associated with the issue. + values: + description: The values to match. example: - - PYTHON - - GO + - SEV-1 + - SEV-2 items: - $ref: '#/components/schemas/IssueLanguage' + type: string type: array - last_seen: - description: >- - Timestamp of the last seen error in milliseconds since the Unix - epoch. - example: 1671620003100 - format: int64 - type: integer - last_seen_version: - description: >- - The application version (for example, git commit hash) where the - issue was last observed. - example: b6199f80 - type: string - platform: - $ref: '#/components/schemas/IssuePlatform' - service: - description: Service name. - example: email-api-py - type: string - state: - $ref: '#/components/schemas/IssueState' - type: object - IssueRelationships: - description: Relationship between the issue and an assignee, case and/or teams. - properties: - assignee: - $ref: '#/components/schemas/IssueAssigneeRelationship' - case: - $ref: '#/components/schemas/IssueCaseRelationship' - team_owners: - $ref: '#/components/schemas/IssueTeamOwnersRelationship' + required: + - field + - values type: object - IssueType: - description: Type of the object. + IncidentRuleExecutionType: + description: The execution type of an incident rule. enum: - - issue - example: issue + - 1 + - 2 + example: 1 + format: int64 + type: integer + x-enum-varnames: + - SINGLE_EXECUTION + - MULTI_EXECUTION + IncidentRuleTaskIDType: + description: The task ID for an incident rule. + enum: + - jira-create-issue-job + - notify-incident-handles-job + - servicenow-create-incident-job + - slack-create-channel-job + - zoom-create-meeting-job + - google-meet-create-meeting-job + - workflow-automation-job + - ms-teams-create-meeting-job + - google-chat-create-space-job + - zoom-suppress-summarization-job + - ms-teams-suppress-summarization-job + - google-meet-suppress-summarization-job + example: notify-incident-handles-job type: string x-enum-varnames: - - ISSUE - IssueCase: - description: The case attached to the issue. + - JIRA_CREATE_ISSUE_JOB + - NOTIFY_INCIDENT_HANDLES_JOB + - SERVICENOW_CREATE_INCIDENT_JOB + - SLACK_CREATE_CHANNEL_JOB + - ZOOM_CREATE_MEETING_JOB + - GOOGLE_MEET_CREATE_MEETING_JOB + - WORKFLOW_AUTOMATION_JOB + - MS_TEAMS_CREATE_MEETING_JOB + - GOOGLE_CHAT_CREATE_SPACE_JOB + - ZOOM_SUPPRESS_SUMMARIZATION_JOB + - MS_TEAMS_SUPPRESS_SUMMARIZATION_JOB + - GOOGLE_MEET_SUPPRESS_SUMMARIZATION_JOB + IncidentRuleTriggerType: + description: The trigger event for an incident rule. + enum: + - incident_saved_trigger + - incident_created_trigger + - incident_modified_trigger + example: incident_created_trigger + type: string + x-enum-varnames: + - INCIDENT_SAVED_TRIGGER + - INCIDENT_CREATED_TRIGGER + - INCIDENT_MODIFIED_TRIGGER + IncidentTypeConfiguration: + description: The incident-type-scoped behavior settings. All fields are optional on update. Any field omitted from a PATCH request keeps its current value. This object is read-only on the incident type resource itself and is only mutated through the update (PATCH) endpoint. properties: - attributes: - $ref: '#/components/schemas/IssueCaseAttributes' - id: - description: Case identifier. - example: 2841440d-e780-4fe2-96cd-6a8c1d194da5 + allow_incident_deletion: + default: false + description: Whether incidents of this type can be deleted. + example: false + type: boolean + allow_workflows: + default: true + description: Whether automation workflows can be triggered for incidents of this type. + example: true + type: boolean + create_message: + description: An optional message shown to users when they declare an incident of this type. + example: Create an incident here type: string - relationships: - $ref: '#/components/schemas/IssueCaseRelationships' - type: - $ref: '#/components/schemas/IssueCaseResourceType' + editable_timestamps: + default: false + description: Whether responders can edit incident timestamps for incidents of this type. + example: false + type: boolean + private_incidents: + default: false + description: Whether responders can create private incidents of this type. This is an opt-in setting, distinct from `private_incidents_by_default`, which controls whether incidents are created private automatically. + example: false + type: boolean + private_incidents_by_default: + default: false + description: Whether incidents of this type are created as private by default. + example: false + type: boolean + slug_source: + $ref: '#/components/schemas/IncidentTypeSlugSource' + test_incidents: + default: true + description: Whether incidents of this type are treated as test incidents. + example: true + type: boolean + type: object + GoogleMeetConfigurationReference: + description: A reference to a Google Meet Configuration resource. + nullable: true + properties: + data: + $ref: '#/components/schemas/GoogleMeetConfigurationReferenceData' required: - - id - - type - - attributes + - data type: object - IssueUpdateAssigneeRequestDataType: - description: Type of the object. - enum: - - assignee - example: assignee - type: string - x-enum-varnames: - - ASSIGNEE - IssueUpdateStateRequestDataAttributes: - description: Object describing an issue state update request. + MicrosoftTeamsConfigurationReference: + description: A reference to a Microsoft Teams Configuration resource. + nullable: true properties: - state: - $ref: '#/components/schemas/IssueState' + data: + $ref: '#/components/schemas/MicrosoftTeamsConfigurationReferenceData' required: - - state + - data type: object - IssueUpdateStateRequestDataType: - description: Type of the object. + ZoomConfigurationReference: + description: A reference to a Zoom configuration resource. + nullable: true + properties: + data: + $ref: '#/components/schemas/ZoomConfigurationReferenceData' + required: + - data + type: object + IncidentOrgSettingsMeta: + additionalProperties: {} + description: The settings configuration for an incident org settings resource. + example: + allow_anonymous_incident_declaration: false + allow_guest_incident_declaration: false + pagerduty_paging: true + private_incidents_by_default: false + type: object + IncidentUserDefinedFieldCategory: + description: 'The section in which the field appears: "what_happened" or "why_it_happened". When null, the field appears in the Attributes section.' enum: - - error_tracking_issue - example: error_tracking_issue + - what_happened + - why_it_happened + example: what_happened + nullable: true type: string x-enum-varnames: - - ERROR_TRACKING_ISSUE - EventResponseAttributes: - description: The object description of an event response attribute. - properties: - attributes: - $ref: '#/components/schemas/EventAttributes' - message: - description: The message of the event. - type: string - tags: - description: An array of tags associated with the event. - example: - - team:A - items: - description: The tag associated with the event. - type: string - type: array - timestamp: - description: The timestamp of the event. - example: '2019-01-02T09:42:36.320Z' - format: date-time - type: string - type: object - EventType: - default: event - description: Type of the event. + - WHAT_HAPPENED + - WHY_IT_HAPPENED + IncidentUserDefinedFieldCollected: + description: The lifecycle stage at which the app prompts users to fill out this field. Cannot be set on required fields. enum: - - event - example: event + - active + - stable + - resolved + - completed + example: active + nullable: true type: string x-enum-varnames: - - EVENT - EventsResponseMetadataPage: - description: Pagination attributes. + - ACTIVE + - STABLE + - RESOLVED + - COMPLETED + IncidentUserDefinedFieldMetadata: + description: Metadata for autocomplete-type user-defined fields, describing how to populate autocomplete options. + nullable: true properties: - after: - description: >- - The cursor to use to get the next results, if any. To make the next - request, use the same - - parameters with the addition of the `page[cursor]`. - example: >- - eyJzdGFydEF0IjoiQVFBQUFYS2tMS3pPbm40NGV3QUFBQUJCV0V0clRFdDZVbG8zY3pCRmNsbHJiVmxDWlEifQ== + category: + description: The category of the autocomplete source. + example: teams_and_services type: string - type: object - EventsWarning: - description: A warning message indicating something is wrong with the query. - properties: - code: - description: A unique code for this type of warning. - example: unknown_index + search_limit_param: + description: The query parameter used to limit the number of autocomplete results. + example: page[size] type: string - detail: - description: A detailed explanation of this specific warning. - example: 'indexes: foo, bar' + search_params: + additionalProperties: {} + description: Additional query parameters to include in the search URL. + type: object + search_query_param: + description: The query parameter used to pass typed input to the search URL. + example: filter type: string - title: - description: A short human-readable summary of the warning. - example: >- - One or several indexes are missing or invalid. Results hold data - from the other indexes. + search_result_path: + description: The JSON path to the results in the response body. + example: $.data[*].attributes.name + type: string + search_url: + description: The URL used to populate autocomplete options. + example: /api/v2/incidents/config/services type: string + required: + - category + - search_url + - search_query_param + - search_limit_param + - search_result_path + - search_params type: object - EventPayload: - additionalProperties: false - description: Event attributes. + IncidentUserDefinedFieldValidValue: + description: A valid value for an incident user-defined field. properties: - aggregation_key: - description: >- - A string used for aggregation when - [correlating](https://docs.datadoghq.com/service_management/events/correlation/) - events. If you specify a key, events are deduplicated to alerts - based on this key. Limited to 100 characters. - example: aggregation_key_123 - maxLength: 100 - minLength: 1 + description: + description: A detailed description of the valid value. + example: A critical severity incident. type: string - attributes: - $ref: '#/components/schemas/EventPayloadAttributes' - category: - $ref: '#/components/schemas/EventCategory' - integration_id: - $ref: '#/components/schemas/EventPayloadIntegrationId' - message: - description: >- - Free formed text associated with the event. It's suggested to use - `data.attributes.attributes.custom` for well-structured attributes. - Limited to 4000 characters. - example: payment_processed feature flag has been enabled - maxLength: 4000 - minLength: 1 + display_name: + description: The human-readable display name for this value. + example: Critical type: string - tags: - description: >- - A list of tags associated with the event. Maximum of 100 tags - allowed. - - Refer to [Tags - docs](https://docs.datadoghq.com/getting_started/tagging/). - example: - - env:api_client_test - items: - description: A tag. - maxLength: 200 - minLength: 1 - type: string - maxItems: 100 - minItems: 1 - type: array - timestamp: - description: >- - Timestamp when the event occurred. Must follow [ISO - 8601](https://www.iso.org/iso-8601-date-and-time-format.html) - format. - - For example `"2017-01-15T01:30:15.010000Z"`. - - Defaults to the timestamp of receipt. Limited to values no older - than 18 hours. + short_description: + description: A short description of the valid value. + example: Critical type: string - title: - description: The title of the event. Limited to 500 characters. - example: payment_processed feature flag updated - maxLength: 500 - minLength: 1 + value: + description: The identifier that is stored when this option is selected. + example: critical type: string required: - - title - - category - - attributes + - display_name + - value type: object - EventCreateRequestType: - description: Entity type. + IncidentUserDefinedFieldFieldType: + description: The data type of the field. 1=dropdown, 2=multiselect, 3=textbox, 4=textarray, 5=metrictag, 6=autocomplete, 7=number, 8=datetime. enum: - - event - example: event - type: string + - 1 + - 2 + - 3 + - 4 + - 5 + - 6 + - 7 + - 8 + example: 3 + format: int32 + type: integer x-enum-varnames: - - EVENT - EventCreateResponseAttributes: - description: Event attributes. + - DROPDOWN + - MULTISELECT + - TEXTBOX + - TEXTARRAY + - METRICTAG + - AUTOCOMPLETE + - NUMBER + - DATETIME + IncidentUserDefinedRolePolicy: + description: Policy configuration for a user-defined role. properties: - attributes: - $ref: '#/components/schemas/EventCreateResponseAttributesAttributes' + is_single: + description: Whether this role can only be assigned to one responder at a time. + example: true + type: boolean + required: + - is_single type: object - JSONAPIErrorItemSource: - description: References to the source of the error. + IncidentUserDefinedRoleIncidentTypeRelationship: + description: Relationship to an incident type for a user-defined role. properties: - header: - description: >- - A string indicating the name of a single request header which caused - the error. - example: Authorization - type: string - parameter: - description: A string indicating which URI query parameter caused the error. - example: limit - type: string - pointer: - description: >- - A JSON pointer to the value in the request document that caused the - error. - example: /data/attributes/title - type: string + data: + $ref: '#/components/schemas/IncidentUserDefinedRoleIncidentTypeRelationshipData' + required: + - data type: object - V2EventAttributes: - description: Event attributes. + IncidentImportFieldAttributes: + description: Dynamic fields for which selections can be made, with field names as keys. + additionalProperties: false properties: - attributes: - $ref: '#/components/schemas/V2EventAttributesAttributes' - message: - description: Free-form text associated with the event. - example: The event message - type: string - tags: - description: A list of tags associated with the event. - example: - - env:api_client_test - items: - description: A tag. - type: string - type: array - timestamp: - description: Timestamp when the event occurred. - example: '2017-01-15T01:30:15.010000Z' + value: + description: The single value selected for this field. + example: SEV-1 + nullable: true type: string type: object - IncidentResponseAttributes: - description: The incident's attributes from a response. + IncidentImportVisibility: + default: organization + description: The visibility of the incident. + enum: + - organization + - private + example: organization + type: string + x-enum-varnames: + - ORGANIZATION + - PRIVATE + IncidentSearchResponseFacetsData: + description: Facet data for incidents returned by a search query. properties: - archived: - description: Timestamp of when the incident was archived. - format: date-time - nullable: true - readOnly: true - type: string - case_id: - description: The incident case id. - format: int64 - nullable: true - type: integer - created: - description: Timestamp when the incident was created. - format: date-time - readOnly: true - type: string - customer_impact_duration: - description: >- - Length of the incident's customer impact in seconds. - - Equals the difference between `customer_impact_start` and - `customer_impact_end`. - format: int64 - readOnly: true - type: integer - customer_impact_end: - description: Timestamp when customers were no longer impacted by the incident. - format: date-time - nullable: true - type: string - customer_impact_scope: - description: A summary of the impact customers experienced during the incident. - example: An example customer impact scope - nullable: true - type: string - customer_impact_start: - description: Timestamp when customers began being impacted by the incident. - format: date-time - nullable: true - type: string - customer_impacted: - description: A flag indicating whether the incident caused customer impact. - example: false - type: boolean - detected: - description: Timestamp when the incident was detected. - format: date-time - nullable: true - type: string + commander: + description: Facet data for incident commander users. + items: + $ref: '#/components/schemas/IncidentSearchResponseUserFacetData' + type: array + created_by: + description: Facet data for incident creator users. + items: + $ref: '#/components/schemas/IncidentSearchResponseUserFacetData' + type: array fields: - additionalProperties: - $ref: '#/components/schemas/IncidentFieldAttributes' - description: A condensed view of the user-defined fields attached to incidents. - example: - severity: - type: dropdown - value: SEV-5 - type: object - incident_type_uuid: - description: A unique identifier that represents an incident type. - example: 00000000-0000-0000-0000-000000000000 - type: string - is_test: - description: A flag indicating whether the incident is a test incident. - example: false - type: boolean - modified: - description: Timestamp when the incident was last modified. - format: date-time - readOnly: true - type: string - non_datadog_creator: - $ref: '#/components/schemas/IncidentNonDatadogCreator' - notification_handles: - description: >- - Notification handles that will be notified of the incident during - update. - example: - - display_name: Jane Doe - handle: '@user@email.com' - - display_name: Slack Channel - handle: '@slack-channel' - - display_name: Incident Workflow - handle: '@workflow-from-incident' + description: Facet data for incident property fields. items: - $ref: '#/components/schemas/IncidentNotificationHandle' - nullable: true + $ref: '#/components/schemas/IncidentSearchResponsePropertyFieldFacetData' + type: array + impact: + description: Facet data for incident impact attributes. + items: + $ref: '#/components/schemas/IncidentSearchResponseFieldFacetData' + type: array + last_modified_by: + description: Facet data for incident last modified by users. + items: + $ref: '#/components/schemas/IncidentSearchResponseUserFacetData' + type: array + postmortem: + description: Facet data for incident postmortem existence. + items: + $ref: '#/components/schemas/IncidentSearchResponseFieldFacetData' + type: array + responder: + description: Facet data for incident responder users. + items: + $ref: '#/components/schemas/IncidentSearchResponseUserFacetData' type: array - public_id: - description: The monotonically increasing integer ID for the incident. - example: 1 - format: int64 - type: integer - resolved: - description: >- - Timestamp when the incident's state was last changed from active or - stable to resolved or completed. - format: date-time - nullable: true - type: string severity: - $ref: '#/components/schemas/IncidentSeverity' + description: Facet data for incident severity attributes. + items: + $ref: '#/components/schemas/IncidentSearchResponseFieldFacetData' + type: array state: - description: The state incident. - nullable: true - type: string - time_to_detect: - description: >- - The amount of time in seconds to detect the incident. - - Equals the difference between `customer_impact_start` and - `detected`. - format: int64 - readOnly: true - type: integer - time_to_internal_response: - description: >- - The amount of time in seconds to call incident after detection. - Equals the difference of `detected` and `created`. - format: int64 - readOnly: true - type: integer + description: Facet data for incident state attributes. + items: + $ref: '#/components/schemas/IncidentSearchResponseFieldFacetData' + type: array time_to_repair: - description: >- - The amount of time in seconds to resolve customer impact after - detecting the issue. Equals the difference between - `customer_impact_end` and `detected`. - format: int64 - readOnly: true - type: integer + description: Facet data for incident time to repair metrics. + items: + $ref: '#/components/schemas/IncidentSearchResponseNumericFacetData' + type: array time_to_resolve: - description: >- - The amount of time in seconds to resolve the incident after it was - created. Equals the difference between `created` and `resolved`. - format: int64 - readOnly: true - type: integer - title: - description: The title of the incident, which summarizes what happened. - example: A test incident title - type: string - visibility: - description: The incident visibility status. - nullable: true - type: string + description: Facet data for incident time to resolve metrics. + items: + $ref: '#/components/schemas/IncidentSearchResponseNumericFacetData' + type: array + type: object + IncidentSearchResponseIncidentsData: + description: Incident returned by the search. + properties: + data: + $ref: '#/components/schemas/IncidentResponseData' required: - - title + - data type: object - IncidentResponseRelationships: - description: The incident's relationships from a response. + RelationshipToIncidentPostmortem: + description: A relationship reference for postmortems. + example: + data: + id: 00000000-0000-abcd-3000-000000000000 + type: incident_postmortems properties: - attachments: - $ref: '#/components/schemas/RelationshipToIncidentAttachment' - commander_user: - $ref: '#/components/schemas/NullableRelationshipToUser' - created_by_user: - $ref: '#/components/schemas/RelationshipToUser' - impacts: - $ref: '#/components/schemas/RelationshipToIncidentImpacts' - integrations: - $ref: '#/components/schemas/RelationshipToIncidentIntegrationMetadatas' - last_modified_by_user: - $ref: '#/components/schemas/RelationshipToUser' - responders: - $ref: '#/components/schemas/RelationshipToIncidentResponders' - user_defined_fields: - $ref: '#/components/schemas/RelationshipToIncidentUserDefinedFields' + data: + $ref: '#/components/schemas/RelationshipToIncidentPostmortemData' + required: + - data type: object - IncidentType: - default: incidents - description: Incident resource type. + AttachmentDataAttributesAttachment: + description: The attachment object. + properties: + documentUrl: + description: The URL of the attachment. + example: https://app.datadoghq.com/notebook/123/Postmortem-IR-123 + type: string + title: + description: The title of the attachment. + example: Postmortem IR-123 + type: string + type: object + AttachmentDataAttributesAttachmentType: + description: The type of the attachment. enum: - - incidents - example: incidents + - postmortem + - link + example: postmortem type: string x-enum-varnames: - - INCIDENTS - IncidentUserData: - description: User object returned by the API. + - POSTMORTEM + - LINK + RelationshipToIncident: + description: Relationship to incident. + properties: + data: + $ref: '#/components/schemas/RelationshipToIncidentData' + required: + - data + type: object + CreateAttachmentRequestDataAttributesAttachment: + description: The attachment object for creating an attachment. + properties: + documentUrl: + description: The URL of the attachment. + example: https://app.datadoghq.com/notebook/123/Postmortem-IR-123 + type: string + title: + description: The title of the attachment. + example: Postmortem-IR-123 + type: string + type: object + PostmortemCell: + description: A cell in the postmortem properties: attributes: - $ref: '#/components/schemas/IncidentUserAttributes' + $ref: '#/components/schemas/PostmortemCellAttributes' id: - description: ID of the user. + description: The unique identifier of the cell + example: cell-1 type: string type: - $ref: '#/components/schemas/UsersType' + $ref: '#/components/schemas/PostmortemCellType' type: object - IncidentResponseMetaPagination: - description: Pagination properties. + PatchAttachmentRequestDataAttributesAttachment: + description: The updated attachment object. properties: - next_offset: - description: >- - The index of the first element in the next page of results. Equal to - page size added to the current offset. - example: 1000 - format: int64 - type: integer - offset: - description: The index of the first element in the results. - example: 10 - format: int64 - type: integer - size: - description: Maximum size of pages to return. - example: 1000 - format: int64 - type: integer + documentUrl: + description: The updated URL for the attachment. + example: https://app.datadoghq.com/notebook/124/Postmortem-IR-124 + type: string + title: + description: The updated title for the attachment. + example: Postmortem-IR-124 + type: string type: object - IncidentCreateAttributes: - description: The incident's attributes for a create request. + IncidentPageRoleReference: + description: A reference to an incident role for a page. properties: - customer_impact_scope: - description: >- - Required if `customer_impacted:"true"`. A summary of the impact - customers experienced during the incident. - example: Example customer impact scope - type: string - customer_impacted: - description: A flag indicating whether the incident caused customer impact. - example: false - type: boolean - fields: - additionalProperties: - $ref: '#/components/schemas/IncidentFieldAttributes' - description: >- - A condensed view of the user-defined fields for which to create - initial selections. - example: - severity: - type: dropdown - value: SEV-5 - type: object - incident_type_uuid: - description: >- - A unique identifier that represents an incident type. The default - incident type will be used if this property is not provided. + id: + description: The role identifier. example: 00000000-0000-0000-0000-000000000000 + format: uuid type: string - initial_cells: - description: >- - An array of initial timeline cells to be placed at the beginning of - the incident timeline. + type: + $ref: '#/components/schemas/IncidentPageRoleType' + required: + - type + - id + type: object + IncidentPageTarget: + description: The target recipient for a page. + properties: + identifier: + description: The identifier of the target (handle, UUID, or user UUID). + example: my-team-handle + type: string + type: + $ref: '#/components/schemas/IncidentPageTargetType' + required: + - type + - identifier + type: object + IncidentImpactFieldsObject: + additionalProperties: {} + description: An object mapping impact field names to field values. + example: + customers_impacted: all + products_impacted: + - shopping + - marketing + type: object + IncidentOnCallPageTarget: + description: The target of an on-call page. + properties: + identifier: + description: The identifier of the page target. + example: my-oncall-team + type: string + type: + description: The type of the page target. + example: team_handle + type: string + required: + - type + - identifier + type: object + IncidentIntegrationMetadataMetadata: + description: Incident integration metadata's metadata attribute. + properties: + channels: + description: Array of Slack channels in this integration metadata. + example: [] items: - $ref: '#/components/schemas/IncidentTimelineCellCreateAttributes' + $ref: '#/components/schemas/SlackIntegrationMetadataChannelItem' type: array - is_test: - description: A flag indicating whether the incident is a test incident. - example: false - type: boolean - notification_handles: - description: >- - Notification handles that will be notified of the incident at - creation. + issues: + description: Array of Jira issues in this integration metadata. + example: [] + items: + $ref: '#/components/schemas/JiraIntegrationMetadataIssuesItem' + type: array + teams: + description: Array of Microsoft Teams in this integration metadata. + example: [] + items: + $ref: '#/components/schemas/MSTeamsIntegrationMetadataTeamsItem' + type: array + required: + - channels + - issues + - teams + type: object + IncidentTodoAssigneeArray: + description: Array of todo assignees. + example: + - '@test.user@test.com' + items: + $ref: '#/components/schemas/IncidentTodoAssignee' + type: array + IncidentResponderRoleAssignmentsRelationship: + description: Relationship to role assignments for a responder. + properties: + data: + description: List of role assignment relationship data. + items: + $ref: '#/components/schemas/IncidentResponderRoleAssignmentRelationshipData' + type: array + type: object + IncidentResponderUserRelationship: + description: Relationship to a user for a responder create request. + properties: + data: + $ref: '#/components/schemas/IncidentResponderUserRelationshipData' + required: + - data + type: object + IncidentTimestampType: + description: The type of timestamp to override. + enum: + - detected + - resolved + - declared + example: detected + type: string + x-enum-varnames: + - DETECTED + - RESOLVED + - DECLARED + EscalationPolicyCreateRequestDataAttributesStepsItems: + description: Defines a single escalation step within an escalation policy creation request. Contains assignment strategy, escalation timeout, and a list of targets. + properties: + assignment: + $ref: '#/components/schemas/EscalationPolicyStepAttributesAssignment' + escalate_after_seconds: + description: Defines how many seconds to wait before escalating to the next step. + example: 3600 + format: int64 + maximum: 36000 + minimum: 60 + type: integer + targets: + description: Specifies the collection of escalation targets for this step. example: - - display_name: Jane Doe - handle: '@user@email.com' - - display_name: Slack Channel - handle: '@slack-channel' - - display_name: Incident Workflow - handle: '@workflow-from-incident' + - users items: - $ref: '#/components/schemas/IncidentNotificationHandle' + $ref: '#/components/schemas/EscalationPolicyStepTarget' type: array - title: - description: The title of the incident, which summarizes what happened. - example: A test incident title - type: string required: - - title - - customer_impacted + - targets type: object - IncidentCreateRelationships: - description: >- - The relationships the incident will have with other resources once - created. + DataRelationshipsTeams: + description: Associates teams with this schedule in a data structure. properties: - commander_user: - $ref: '#/components/schemas/NullableRelationshipToUser' - required: - - commander_user + data: + description: An array of team references for this schedule. + items: + $ref: '#/components/schemas/DataRelationshipsTeamsDataItems' + type: array type: object - IncidentNotificationRuleAttributes: - description: The notification rule's attributes. + EscalationPolicyDataRelationshipsSteps: + description: Defines the relationship to a collection of steps within an escalation policy. Contains an array of step data references. properties: - conditions: - $ref: '#/components/schemas/IncidentNotificationRuleConditions' - created: - description: Timestamp when the notification rule was created. - example: '2025-01-15T10:30:00Z' - format: date-time - readOnly: true - type: string - enabled: - description: Whether the notification rule is enabled. - example: true - type: boolean - handles: - $ref: '#/components/schemas/IncidentNotificationRuleHandles' - modified: - description: Timestamp when the notification rule was last modified. - example: '2025-01-15T14:45:00Z' - format: date-time - readOnly: true + data: + description: An array of references to the steps defined in this escalation policy. + items: + $ref: '#/components/schemas/EscalationPolicyDataRelationshipsStepsDataItems' + type: array + type: object + EscalationPolicyStepAttributes: + description: Defines attributes for an escalation policy step, such as assignment strategy and escalation timeout. + properties: + assignment: + $ref: '#/components/schemas/EscalationPolicyStepAttributesAssignment' + escalate_after_seconds: + description: Specifies how many seconds to wait before escalating to the next step. + format: int64 + type: integer + type: object + EscalationPolicyStepRelationships: + description: Represents the relationship of an escalation policy step to its targets. + properties: + targets: + $ref: '#/components/schemas/EscalationTargets' + type: object + EscalationPolicyStepType: + default: steps + description: Indicates that the resource is of type `steps`. + enum: + - steps + example: steps + type: string + x-enum-varnames: + - STEPS + EscalationPolicyUserAttributes: + description: Provides basic user information for an escalation policy, including a name and email address. + properties: + email: + description: The user's email address. + example: jane.doe@example.com type: string - renotify_on: - $ref: '#/components/schemas/IncidentNotificationRuleRenotifyOn' - trigger: - description: The trigger event for this notification rule. - example: incident_created_trigger + name: + description: The user's name. + example: Jane Doe type: string - visibility: - $ref: '#/components/schemas/IncidentNotificationRuleAttributesVisibility' + status: + $ref: '#/components/schemas/UserAttributesStatus' + type: object + EscalationPolicyUserType: + default: users + description: Users resource type. + enum: + - users + example: users + type: string + x-enum-varnames: + - USERS + ConfiguredScheduleTargetAttributes: + description: Attributes for a configured schedule target, including position. + example: + position: previous + properties: + position: + $ref: '#/components/schemas/ScheduleTargetPosition' required: - - conditions - - handles - - visibility - - trigger - - enabled - - created - - modified + - position type: object - IncidentNotificationRuleRelationships: - description: The notification rule's resource relationships. + ConfiguredScheduleTargetRelationships: + description: Represents the relationships of a configured schedule target. properties: - created_by_user: - $ref: '#/components/schemas/RelationshipToUser' - incident_type: - $ref: '#/components/schemas/RelationshipToIncidentType' - last_modified_by_user: - $ref: '#/components/schemas/RelationshipToUser' - notification_template: - $ref: '#/components/schemas/RelationshipToIncidentNotificationTemplate' + schedule: + $ref: '#/components/schemas/ConfiguredScheduleTargetRelationshipsSchedule' + required: + - schedule type: object - IncidentNotificationRuleType: - description: Notification rules resource type. + ConfiguredScheduleTargetType: + default: schedule_target + description: Indicates that the resource is of type `schedule_target`. enum: - - incident_notification_rules - example: incident_notification_rules + - schedule_target + example: schedule_target type: string x-enum-varnames: - - INCIDENT_NOTIFICATION_RULES - IncidentNotificationTemplateObject: - description: A notification template object for inclusion in other resources. + - SCHEDULE_TARGET + TeamReferenceAttributes: + description: Encapsulates the basic attributes of a Team reference, such as name, handle, and an optional avatar or description. properties: - attributes: - $ref: '#/components/schemas/IncidentNotificationTemplateAttributes' - id: - description: The unique identifier of the notification template. - example: 00000000-0000-0000-0000-000000000001 - format: uuid + avatar: + description: URL or reference for the team's avatar (if available). + type: string + description: + description: A short text describing the team. + type: string + handle: + description: A unique handle/slug for the team. + type: string + name: + description: The full, human-readable name of the team. type: string - relationships: - $ref: '#/components/schemas/IncidentNotificationTemplateRelationships' - type: - $ref: '#/components/schemas/IncidentNotificationTemplateType' - required: - - id - - type type: object - IncidentNotificationRuleArrayMetaPage: - description: Pagination metadata. + TeamReferenceType: + default: teams + description: Teams resource type. + enum: + - teams + example: teams + type: string + x-enum-varnames: + - TEAMS + EscalationPolicyUpdateRequestDataAttributesStepsItems: + description: Defines a single escalation step within an escalation policy update request. Contains assignment strategy, escalation timeout, an optional step ID, and a list of targets. properties: - next_offset: - description: The offset for the next page of results. - example: 15 - format: int64 - type: integer - offset: - description: The current offset in the results. - example: 0 - format: int64 - type: integer - size: - description: The number of results returned per page. - example: 15 + assignment: + $ref: '#/components/schemas/EscalationPolicyStepAttributesAssignment' + escalate_after_seconds: + description: Defines how many seconds to wait before escalating to the next step. + example: 3600 format: int64 + maximum: 36000 + minimum: 60 type: integer - type: object - IncidentNotificationRuleCreateAttributes: - description: The attributes for creating a notification rule. - properties: - conditions: - $ref: '#/components/schemas/IncidentNotificationRuleConditions' - enabled: - default: false - description: Whether the notification rule is enabled. - example: true - type: boolean - handles: - $ref: '#/components/schemas/IncidentNotificationRuleHandles' - renotify_on: - $ref: '#/components/schemas/IncidentNotificationRuleRenotifyOn' - trigger: - description: The trigger event for this notification rule. - example: incident_created_trigger + id: + description: Specifies the unique identifier of this step. + example: 00000000-aba1-0000-0000-000000000000 type: string - visibility: - $ref: >- - #/components/schemas/IncidentNotificationRuleCreateAttributesVisibility + targets: + description: Specifies the collection of escalation targets for this step. + items: + $ref: '#/components/schemas/EscalationPolicyStepTarget' + type: array required: - - conditions - - handles - - trigger - type: object - IncidentNotificationRuleCreateDataRelationships: - description: The definition of `NotificationRuleCreateDataRelationships` object. - properties: - incident_type: - $ref: '#/components/schemas/RelationshipToIncidentType' - notification_template: - $ref: '#/components/schemas/RelationshipToIncidentNotificationTemplate' + - targets type: object - IncidentNotificationTemplateAttributes: - description: The notification template's attributes. + CreatePageRequestDataAttributesTarget: + description: Information about the target to notify (such as a team or user). properties: - category: - description: The category of the notification template. - example: alert - type: string - content: - description: The content body of the notification template. - example: |- - An incident has been declared. - - Title: {{incident.title}} - Severity: {{incident.severity}} - Affected Services: {{incident.services}} - Status: {{incident.state}} - - Please join the incident channel for updates. + identifier: + description: Identifier for the target (for example, team handle or user ID). type: string - created: - description: Timestamp when the notification template was created. - example: '2025-01-15T10:30:00Z' + type: + $ref: '#/components/schemas/OnCallPageTargetType' + type: object + PageUrgency: + default: high + description: On-Call Page urgency level. + enum: + - low + - high + example: high + type: string + x-enum-varnames: + - LOW + - HIGH + ScheduleCreateRequestDataAttributesLayersItems: + description: Describes a schedule layer, including rotation intervals, members, restrictions, and timeline settings. + properties: + effective_date: + description: The date/time when this layer becomes active (in ISO 8601). + example: '2025-01-01T00:00:00Z' format: date-time - readOnly: true type: string - modified: - description: Timestamp when the notification template was last modified. - example: '2025-01-15T14:45:00Z' + end_date: + description: The date/time after which this layer no longer applies (in ISO 8601). format: date-time - readOnly: true type: string + interval: + $ref: '#/components/schemas/LayerAttributesInterval' + members: + description: A list of members who participate in this layer's rotation. + items: + $ref: '#/components/schemas/ScheduleRequestDataAttributesLayersItemsMembersItems' + type: array name: - description: The name of the notification template. - example: Incident Alert Template + description: The name of this layer. + example: Primary On-Call Layer type: string - subject: - description: The subject line of the notification template. - example: '{{incident.severity}} Incident: {{incident.title}}' + restrictions: + description: Zero or more time-based restrictions (for example, only weekdays, during business hours). + items: + $ref: '#/components/schemas/TimeRestriction' + type: array + rotation_start: + description: The date/time when the rotation for this layer starts (in ISO 8601). + example: '2025-01-01T00:00:00Z' + format: date-time + type: string + time_zone: + description: The time zone for this layer. + example: America/New_York type: string required: - name - - subject - - content - - category - - created - - modified - type: object - IncidentNotificationTemplateRelationships: - description: The notification template's resource relationships. - properties: - created_by_user: - $ref: '#/components/schemas/RelationshipToUser' - incident_type: - $ref: '#/components/schemas/RelationshipToIncidentType' - last_modified_by_user: - $ref: '#/components/schemas/RelationshipToUser' + - interval + - rotation_start + - effective_date + - members type: object - IncidentNotificationTemplateType: - description: Notification templates resource type. - enum: - - notification_templates - example: notification_templates - type: string - x-enum-varnames: - - NOTIFICATION_TEMPLATES - IncidentNotificationTemplateArrayMetaPage: - description: Pagination metadata. + ScheduleDataRelationshipsLayers: + description: Associates layers with this schedule in a data structure. properties: - total_count: - description: Total number of notification templates. - example: 42 - format: int64 - type: integer - total_filtered_count: - description: Total number of notification templates matching the filter. - example: 15 - format: int64 - type: integer + data: + description: An array of layer references for this schedule. + items: + $ref: '#/components/schemas/ScheduleDataRelationshipsLayersDataItems' + type: array type: object - IncidentNotificationTemplateCreateAttributes: - description: The attributes for creating a notification template. + LayerAttributes: + description: Describes key properties of a Layer, including rotation details, name, start/end times, and any restrictions. properties: - category: - description: The category of the notification template. - example: alert + effective_date: + description: When the layer becomes active (ISO 8601). + format: date-time type: string - content: - description: The content body of the notification template. - example: |- - An incident has been declared. - - Title: {{incident.title}} - Severity: {{incident.severity}} - Affected Services: {{incident.services}} - Status: {{incident.state}} - - Please join the incident channel for updates. + end_date: + description: When the layer ceases to be active (ISO 8601). + format: date-time type: string + interval: + $ref: '#/components/schemas/LayerAttributesInterval' name: - description: The name of the notification template. - example: Incident Alert Template + description: The name of this layer. + example: Weekend Layer type: string - subject: - description: The subject line of the notification template. - example: '{{incident.severity}} Incident: {{incident.title}}' + restrictions: + description: An optional list of time restrictions for when this layer is in effect. + items: + $ref: '#/components/schemas/TimeRestriction' + type: array + rotation_start: + description: The date/time when the rotation starts (ISO 8601). + format: date-time + type: string + time_zone: + description: The time zone for this layer. + example: America/New_York type: string - required: - - name - - subject - - content - - category type: object - IncidentNotificationTemplateCreateDataRelationships: - description: The definition of `NotificationTemplateCreateDataRelationships` object. + LayerRelationships: + description: Holds references to objects related to the Layer entity, such as its members. properties: - incident_type: - $ref: '#/components/schemas/RelationshipToIncidentType' + members: + $ref: '#/components/schemas/LayerRelationshipsMembers' type: object - IncidentNotificationTemplateUpdateAttributes: - description: The attributes to update on a notification template. + LayerType: + default: layers + description: Layers resource type. + enum: + - layers + example: layers + type: string + x-enum-varnames: + - LAYERS + ScheduleMemberRelationships: + description: Defines relationships for a schedule member, primarily referencing a single user. properties: - category: - description: The category of the notification template. - example: update - type: string - content: - description: The content body of the notification template. - example: |- - Incident Status Update: - - Title: {{incident.title}} - New Status: {{incident.state}} - Severity: {{incident.severity}} - Services: {{incident.services}} - Commander: {{incident.commander}} - - For more details, visit the incident page. + user: + $ref: '#/components/schemas/ScheduleMemberRelationshipsUser' + type: object + ScheduleMemberType: + default: members + description: Schedule Members resource type. + enum: + - members + example: members + type: string + x-enum-varnames: + - MEMBERS + ScheduleUserAttributes: + description: Provides basic user information for a schedule, including a name and email address. + properties: + email: + description: The user's email address. + example: jane.doe@example.com type: string name: - description: The name of the notification template. - example: Incident Status Update Template - type: string - subject: - description: The subject line of the notification template. - example: 'Incident Update: {{incident.title}} - {{incident.state}}' + description: The user's name. + example: Jane Doe type: string + status: + $ref: '#/components/schemas/UserAttributesStatus' type: object - IncidentTypeAttributes: - description: Incident type's attributes. + ScheduleUserType: + default: users + description: Users resource type. + enum: + - users + example: users + type: string + x-enum-varnames: + - USERS + ScheduleUpdateRequestDataAttributesLayersItems: + description: |- + Represents a layer within a schedule update, including rotation details, members, + and optional restrictions. properties: - createdAt: - description: Timestamp when the incident type was created. + effective_date: + description: When this updated layer takes effect (ISO 8601 format). + example: '2025-02-03T05:00:00Z' format: date-time - readOnly: true - type: string - createdBy: - description: >- - A unique identifier that represents the user that created the - incident type. - example: 00000000-0000-0000-0000-000000000000 - readOnly: true - type: string - description: - description: Text that describes the incident type. - example: >- - Any incidents that harm (or have the potential to) the - confidentiality, integrity, or availability of our data. - type: string - is_default: - default: false - description: >- - If true, this incident type will be used as the default incident - type if a type is not specified during the creation of incident - resources. - example: false - type: boolean - lastModifiedBy: - description: >- - A unique identifier that represents the user that last modified the - incident type. - example: 00000000-0000-0000-0000-000000000000 - readOnly: true type: string - modifiedAt: - description: Timestamp when the incident type was last modified. + end_date: + description: When this updated layer should stop being active (ISO 8601 format). + example: '2025-12-31T00:00:00Z' format: date-time - readOnly: true type: string + id: + description: A unique identifier for the layer being updated. + example: 00000000-0000-0000-0000-000000000001 + type: string + interval: + $ref: '#/components/schemas/LayerAttributesInterval' + members: + description: The members assigned to this layer. + items: + $ref: '#/components/schemas/ScheduleRequestDataAttributesLayersItemsMembersItems' + type: array name: - description: The name of the incident type. - example: Security Incident + description: The name for this layer (for example, "Secondary Coverage"). + example: Primary On-Call Layer + type: string + restrictions: + description: Any time restrictions that define when this layer is active. + items: + $ref: '#/components/schemas/TimeRestriction' + type: array + rotation_start: + description: The date/time at which the rotation begins (ISO 8601 format). + example: '2025-02-01T00:00:00Z' + format: date-time type: string - prefix: - description: >- - The string that will be prepended to the incident title across the - Datadog app. - example: IR - readOnly: true + time_zone: + description: The time zone for this layer. + example: America/New_York type: string required: + - effective_date + - interval + - members - name + - rotation_start type: object - IncidentTypeRelationships: - additionalProperties: {} - description: The incident type's resource relationships. + ShiftDataRelationshipsUser: + description: Defines the relationship between a shift and the user who is working that shift. properties: - created_by_user: - $ref: '#/components/schemas/RelationshipToUser' - google_meet_configuration: - $ref: '#/components/schemas/GoogleMeetConfigurationReference' - last_modified_by_user: - $ref: '#/components/schemas/RelationshipToUser' - microsoft_teams_configuration: - $ref: '#/components/schemas/MicrosoftTeamsConfigurationReference' - zoom_configuration: - $ref: '#/components/schemas/ZoomConfigurationReference' + data: + $ref: '#/components/schemas/ShiftDataRelationshipsUserData' + required: + - data type: object - IncidentTypeType: - default: incident_types - description: Incident type resource type. + ScheduleOnCallRespondersDataRelationshipsResponders: + description: Defines the list of per-position (previous, current, next) responder groups for the schedule. + properties: + data: + description: Array of references to the responder groups included in the response. + items: + $ref: '#/components/schemas/ScheduleOnCallRespondersDataRelationshipsRespondersDataItems' + type: array + type: object + ScheduleOnCallRespondersDataRelationshipsSchedule: + description: Defines the relationship to the schedule this on-call responders lookup was performed for. + properties: + data: + $ref: '#/components/schemas/ScheduleOnCallRespondersDataRelationshipsScheduleData' + type: object + ScheduleOnCallResponderDataAttributes: + description: Attributes for one position's (previous, current, or next) group of on-call responder shifts. + properties: + position: + $ref: '#/components/schemas/ScheduleTargetPosition' + type: object + ScheduleOnCallResponderDataRelationships: + description: Relationships for a single position's (previous, current, or next) responder group. + properties: + shifts: + $ref: '#/components/schemas/ScheduleOnCallResponderDataRelationshipsShifts' + type: object + ScheduleOnCallResponderDataType: + default: schedule_oncall_responder + description: Represents the resource type for a single position's (previous, current, or next) group of on-call responder shifts. enum: - - incident_types - example: incident_types + - schedule_oncall_responder + example: schedule_oncall_responder type: string x-enum-varnames: - - INCIDENT_TYPES - IncidentTypeUpdateAttributes: - description: Incident type's attributes for updates. + - SCHEDULE_ONCALL_RESPONDER + TeamOnCallRespondersDataRelationshipsEscalations: + description: Defines the escalation policy steps linked to the team's on-call configuration. properties: - createdAt: - description: Timestamp when the incident type was created. - format: date-time - readOnly: true - type: string - createdBy: - description: >- - A unique identifier that represents the user that created the - incident type. - example: 00000000-0000-0000-0000-000000000000 - readOnly: true - type: string - description: - description: Text that describes the incident type. - example: >- - Any incidents that harm (or have the potential to) the - confidentiality, integrity, or availability of our data. Note: This - will notify the security team. - type: string - is_default: - description: >- - When true, this incident type will be used as the default type when - an incident type is not specified. - example: false - type: boolean - lastModifiedBy: - description: >- - A unique identifier that represents the user that last modified the - incident type. - example: 00000000-0000-0000-0000-000000000000 - readOnly: true - type: string - modifiedAt: - description: Timestamp when the incident type was last modified. - format: date-time - readOnly: true - type: string - name: - description: The name of the incident type. - example: Security Incident - type: string - prefix: - description: >- - The string that will be prepended to the incident title across the - Datadog app. - example: IR - readOnly: true - type: string + data: + description: Array of escalation step references. + items: + $ref: '#/components/schemas/TeamOnCallRespondersDataRelationshipsEscalationsDataItems' + type: array type: object - IncidentSearchResponseAttributes: - description: Attributes returned by an incident search. + TeamOnCallRespondersDataRelationshipsResponders: + description: Defines the list of users assigned as on-call responders for the team. properties: - facets: - $ref: '#/components/schemas/IncidentSearchResponseFacetsData' - incidents: - description: Incidents returned by the search. + data: + description: Array of user references associated as responders. items: - $ref: '#/components/schemas/IncidentSearchResponseIncidentsData' + $ref: '#/components/schemas/TeamOnCallRespondersDataRelationshipsRespondersDataItems' type: array - total: - description: Number of incidents returned by the search. - example: 10 - format: int32 - maximum: 2147483647 - type: integer - required: - - facets - - incidents - - total type: object - IncidentSearchResultsType: - default: incidents_search_results - description: Incident search result type. + EscalationRelationships: + description: Contains the relationships of an escalation object, including its responders. + properties: + responders: + $ref: '#/components/schemas/EscalationRelationshipsResponders' + type: object + EscalationType: + default: escalation_policy_steps + description: Represents the resource type for individual steps in an escalation policy used during incident response. enum: - - incidents_search_results - example: incidents_search_results + - escalation_policy_steps + example: escalation_policy_steps type: string x-enum-varnames: - - INCIDENTS_SEARCH_RESULTS - IncidentUpdateAttributes: - description: The incident's attributes for an update request. + - ESCALATION_POLICY_STEPS + TeamRoutingRulesDataRelationshipsRules: + description: Holds references to a set of routing rules in a relationship. properties: - customer_impact_end: - description: Timestamp when customers were no longer impacted by the incident. - format: date-time + data: + description: An array of references to the routing rules associated with this team. + items: + $ref: '#/components/schemas/TeamRoutingRulesDataRelationshipsRulesDataItems' + type: array + type: object + RoutingRuleAttributes: + description: Defines the configurable attributes of a routing rule, such as actions, query, time restriction, and urgency. + properties: + actions: + description: Specifies the list of actions to perform when the routing rule matches. + items: + $ref: '#/components/schemas/RoutingRuleAction' + type: array + query: + description: Defines the query or condition that triggers this routing rule. + type: string + time_restriction: + $ref: '#/components/schemas/TimeRestrictions' nullable: true + urgency: + $ref: '#/components/schemas/Urgency' + type: object + RoutingRuleRelationships: + description: Specifies relationships for a routing rule, linking to associated policy resources. + properties: + policy: + $ref: '#/components/schemas/RoutingRuleRelationshipsPolicy' + type: object + RoutingRuleType: + default: team_routing_rules + description: Team routing rules resource type. + enum: + - team_routing_rules + example: team_routing_rules + type: string + x-enum-varnames: + - TEAM_ROUTING_RULES + TeamRoutingRulesRequestRule: + description: Defines an individual routing rule item that contains the rule data for the request. + properties: + actions: + description: Specifies the list of actions to perform when the routing rule is matched. + items: + $ref: '#/components/schemas/RoutingRuleAction' + type: array + policy_id: + description: Identifies the policy to be applied when this routing rule matches. type: string - customer_impact_scope: - description: A summary of the impact customers experienced during the incident. - example: Example customer impact scope + query: + description: Defines the query or condition that triggers this routing rule. type: string - customer_impact_start: - description: Timestamp when customers began being impacted by the incident. + time_restriction: + $ref: '#/components/schemas/TimeRestrictions' + urgency: + $ref: '#/components/schemas/Urgency' + type: object + NotificationChannelConfig: + description: Defines the configuration for an On-Call notification channel + properties: + formatted_number: + description: The formatted international version of Number (e.g. +33 7 1 23 45 67). + example: '' + type: string + number: + description: The E-164 formatted phone number (e.g. +3371234567) + example: '' + type: string + region: + description: The ISO 3166-1 alpha-2 two-letter country code. + example: '' + type: string + sms_subscribed_at: + description: If present, the date the user subscribed this number to SMS messages format: date-time nullable: true type: string - customer_impacted: - description: A flag indicating whether the incident caused customer impact. + type: + $ref: '#/components/schemas/NotificationChannelPhoneConfigType' + verified: + description: Indicates whether this phone has been verified by the user in Datadog On-Call example: false type: boolean - detected: - description: Timestamp when the incident was detected. - format: date-time - nullable: true + address: + description: The e-mail address to be notified + example: '' type: string - fields: - additionalProperties: - $ref: '#/components/schemas/IncidentFieldAttributes' - description: >- - A condensed view of the user-defined fields for which to update - selections. - example: - severity: - type: dropdown - value: SEV-5 - type: object - notification_handles: - description: >- - Notification handles that will be notified of the incident during - update. + formats: + description: Preferred content formats for notifications. example: - - display_name: Jane Doe - handle: '@user@email.com' - - display_name: Slack Channel - handle: '@slack-channel' - - display_name: Incident Workflow - handle: '@workflow-from-incident' + - html items: - $ref: '#/components/schemas/IncidentNotificationHandle' + $ref: '#/components/schemas/NotificationChannelEmailFormatType' type: array - title: - description: The title of the incident, which summarizes what happened. - example: A test incident title + application_name: + description: The name of the application used to receive push notifications + example: '' type: string - type: object - IncidentUpdateRelationships: - description: The incident's relationships for an update request. - properties: - commander_user: - $ref: '#/components/schemas/NullableRelationshipToUser' - integrations: - $ref: '#/components/schemas/RelationshipToIncidentIntegrationMetadatas' - postmortem: - $ref: '#/components/schemas/RelationshipToIncidentPostmortem' - type: object - IncidentAttachmentAttributes: - description: The attributes object for an attachment. - oneOf: - - $ref: '#/components/schemas/IncidentAttachmentPostmortemAttributes' - - $ref: '#/components/schemas/IncidentAttachmentLinkAttributes' - IncidentAttachmentRelationships: - description: The incident attachment's relationships. - properties: - last_modified_by_user: - $ref: '#/components/schemas/RelationshipToUser' - type: object - IncidentAttachmentType: - default: incident_attachments - description: The incident attachment resource type. - enum: - - incident_attachments - example: incident_attachments - type: string - x-enum-varnames: - - INCIDENT_ATTACHMENTS - IncidentAttachmentUpdateAttributes: - description: Incident attachment attributes. - oneOf: - - $ref: '#/components/schemas/IncidentAttachmentPostmortemAttributes' - - $ref: '#/components/schemas/IncidentAttachmentLinkAttributes' - IncidentIntegrationMetadataAttributes: - description: Incident integration metadata's attributes for a create request. - properties: - created: - description: Timestamp when the incident todo was created. - format: date-time - readOnly: true + device_name: + description: The name of the mobile device being used + example: '' type: string - incident_id: - description: UUID of the incident this integration metadata is connected to. - example: 00000000-aaaa-0000-0000-000000000000 + required: + - type + - number + - formatted_number + - region + - verified + - address + - formats + - device_name + - application_name + type: object + CreateNotificationChannelConfig: + description: Defines the configuration for creating an On-Call notification channel + properties: + number: + description: The E-164 formatted phone number (e.g. +3371234567) + example: '' type: string - integration_type: - description: >- - A number indicating the type of integration this metadata is for. 1 - indicates Slack; - - 8 indicates Jira. - example: 1 - format: int32 - maximum: 9 - type: integer - metadata: - $ref: '#/components/schemas/IncidentIntegrationMetadataMetadata' - modified: - description: Timestamp when the incident todo was last modified. - format: date-time - readOnly: true + type: + $ref: '#/components/schemas/NotificationChannelPhoneConfigType' + address: + description: The e-mail address to be notified + example: '' type: string - status: - description: >- - A number indicating the status of this integration metadata. 0 - indicates unknown; - - 1 indicates pending; 2 indicates complete; 3 indicates manually - created; - - 4 indicates manually updated; 5 indicates failed. - format: int32 - maximum: 5 - type: integer + formats: + description: Preferred content formats for notifications. + example: + - html + items: + $ref: '#/components/schemas/NotificationChannelEmailFormatType' + type: array required: - - integration_type - - metadata - type: object - IncidentIntegrationRelationships: - description: The incident's integration relationships from a response. - properties: - created_by_user: - $ref: '#/components/schemas/RelationshipToUser' - last_modified_by_user: - $ref: '#/components/schemas/RelationshipToUser' + - type + - number + - address + - formats type: object - IncidentIntegrationMetadataType: - default: incident_integrations - description: Integration metadata resource type. + OnCallNotificationRuleCategory: + default: high_urgency + description: Specifies the category a notification rule will apply to enum: - - incident_integrations - example: incident_integrations + - high_urgency + - low_urgency type: string x-enum-varnames: - - INCIDENT_INTEGRATIONS - IncidentTodoAttributes: - description: Incident todo's attributes. + - HIGH_URGENCY + - LOW_URGENCY + OnCallNotificationRuleChannelSettings: + description: Defines the configuration for a channel associated with a notification rule properties: - assignees: - $ref: '#/components/schemas/IncidentTodoAssigneeArray' - completed: - description: Timestamp when the todo was completed. - example: '2023-03-06T22:00:00.000000+00:00' - nullable: true + method: + $ref: '#/components/schemas/OnCallPhoneNotificationRuleMethod' + type: + $ref: '#/components/schemas/NotificationChannelPhoneConfigType' + required: + - type + - method + type: object + OnCallNotificationRuleChannelRelationship: + description: Relationship object for creating a notification rule + properties: + data: + $ref: '#/components/schemas/OnCallNotificationRuleChannelRelationshipData' + required: + - data + type: object + ServiceDefinitionMeta: + description: Metadata about a service definition. + properties: + github-html-url: + description: GitHub HTML URL. type: string - content: - description: The follow-up task's content. - example: Restore lost data. + ingested-schema-version: + description: Ingestion schema version. type: string - created: - description: Timestamp when the incident todo was created. - format: date-time - readOnly: true + ingestion-source: + description: Ingestion source of the service definition. type: string - due_date: - description: Timestamp when the todo should be completed by. - example: '2023-07-10T05:00:00.000000+00:00' - nullable: true + last-modified-time: + description: Last modified time of the service definition. type: string - incident_id: - description: UUID of the incident this todo is connected to. - example: 00000000-aaaa-0000-0000-000000000000 + origin: + description: User defined origin of the service definition. type: string - modified: - description: Timestamp when the incident todo was last modified. - format: date-time - readOnly: true + origin-detail: + description: User defined origin's detail of the service definition. + type: string + warnings: + description: A list of schema validation warnings. + items: + $ref: '#/components/schemas/ServiceDefinitionMetaWarnings' + type: array + type: object + ServiceDefinitionSchema: + description: Service definition schema. + deprecated: true + properties: + contact: + $ref: '#/components/schemas/ServiceDefinitionV1Contact' + extensions: + additionalProperties: {} + description: Extensions to V1 schema. + example: + myorg/extension: extensionValue + type: object + external-resources: + description: A list of external links related to the services. + items: + $ref: '#/components/schemas/ServiceDefinitionV1Resource' + type: array + info: + $ref: '#/components/schemas/ServiceDefinitionV1Info' + integrations: + $ref: '#/components/schemas/ServiceDefinitionV1Integrations' + org: + $ref: '#/components/schemas/ServiceDefinitionV1Org' + schema-version: + $ref: '#/components/schemas/ServiceDefinitionV1Version' + tags: + description: A set of custom tags. + example: + - my:tag + - service:tag + items: + description: A custom tag string in `key:value` format. + type: string + type: array + contacts: + description: A list of contacts related to the services. + items: + $ref: '#/components/schemas/ServiceDefinitionV2Contact' + type: array + dd-service: + description: Unique identifier of the service. Must be unique across all services and is used to match with a service in Datadog. + example: my-service + type: string + dd-team: + description: Experimental feature. A Team handle that matches a Team in the Datadog Teams product. + example: my-team + type: string + docs: + description: A list of documentation related to the services. + items: + $ref: '#/components/schemas/ServiceDefinitionV2Doc' + type: array + links: + description: A list of links related to the services. + items: + $ref: '#/components/schemas/ServiceDefinitionV2Link' + type: array + repos: + description: A list of code repositories related to the services. + items: + $ref: '#/components/schemas/ServiceDefinitionV2Repo' + type: array + team: + description: Team that owns the service. + example: my-team + type: string + application: + description: Identifier for a group of related services serving a product feature, which the service is a part of. + example: my-app + type: string + description: + description: A short description of the service. + example: My service description + type: string + lifecycle: + description: The current life cycle phase of the service. + example: sandbox + type: string + tier: + description: Importance of the service. + example: High + type: string + ci-pipeline-fingerprints: + description: A set of CI fingerprints. + example: + - j88xdEy0J5lc + - eZ7LMljCk8vo + items: + description: A CI pipeline fingerprint string. + type: string + type: array + languages: + description: 'The service''s programming language. Datadog recognizes the following languages: `dotnet`, `go`, `java`, `js`, `php`, `python`, `ruby`, and `c++`.' + example: + - dotnet + - go + - java + - js + - php + - python + - ruby + - c++ + items: + description: A programming language identifier. + type: string + type: array + type: + $ref: '#/components/schemas/ServiceDefinitionV2Dot2Type' + required: + - schema-version + - info + - dd-service + type: object + ServiceDefinitionV2Dot2Opsgenie: + description: Opsgenie integration for the service. + properties: + region: + $ref: '#/components/schemas/ServiceDefinitionV2Dot2OpsgenieRegion' + service-url: + description: Opsgenie service url. + example: https://my-org.opsgenie.com/service/123e4567-e89b-12d3-a456-426614174000 type: string required: - - content - - assignees + - service-url type: object - IncidentTodoRelationships: - description: The incident's relationships from a response. + ServiceDefinitionV2Dot2Pagerduty: + description: PagerDuty integration for the service. properties: - created_by_user: - $ref: '#/components/schemas/RelationshipToUser' - last_modified_by_user: - $ref: '#/components/schemas/RelationshipToUser' + service-url: + description: PagerDuty service url. + example: https://my-org.pagerduty.com/service-directory/PMyService + type: string type: object - IncidentTodoType: - default: incident_todos - description: Todo resource type. - enum: - - incident_todos - example: incident_todos - type: string - x-enum-varnames: - - INCIDENT_TODOS - EscalationPolicyCreateRequestDataAttributes: - description: >- - Defines the attributes for creating an escalation policy, including its - description, name, resolution behavior, retries, and steps. + ServiceDefinitionV2Dot1Email: + description: Service owner's email. properties: + contact: + description: Contact value. + example: contact@datadoghq.com + type: string name: - description: Specifies the name for the new escalation policy. - example: On-Call Escalation Policy + description: Contact email. + example: Team Email type: string - resolve_page_on_policy_end: - description: >- - Indicates whether the page is automatically resolved when the policy - ends. - type: boolean - retries: - description: >- - Specifies how many times the escalation sequence is retried if there - is no response. - format: int64 - type: integer - steps: - description: >- - A list of escalation steps, each defining assignment, escalation - timeout, and targets for the new policy. - items: - $ref: >- - #/components/schemas/EscalationPolicyCreateRequestDataAttributesStepsItems - type: array + type: + $ref: '#/components/schemas/ServiceDefinitionV2Dot1EmailType' required: - - name - - steps + - type + - contact type: object - EscalationPolicyCreateRequestDataRelationships: - description: >- - Represents relationships in an escalation policy creation request, - including references to teams. + ServiceDefinitionV2Dot1Slack: + description: Service owner's Slack channel. properties: - teams: - $ref: '#/components/schemas/DataRelationshipsTeams' + contact: + description: Slack Channel. + example: https://yourcompany.slack.com/archives/channel123 + type: string + name: + description: Contact Slack. + example: Team Slack + type: string + type: + $ref: '#/components/schemas/ServiceDefinitionV2Dot1SlackType' + required: + - type + - contact type: object - EscalationPolicyCreateRequestDataType: - default: policies - description: Indicates that the resource is of type `policies`. - enum: - - policies - example: policies - type: string - x-enum-varnames: - - POLICIES - EscalationPolicyDataAttributes: - description: >- - Defines the main attributes of an escalation policy, such as its name - and behavior on policy end. + ServiceDefinitionV2Dot1MSTeams: + description: Service owner's Microsoft Teams. properties: + contact: + description: Contact value. + example: https://teams.microsoft.com/myteam + type: string name: - description: Specifies the name of the escalation policy. - example: On-Call Escalation Policy + description: Contact Microsoft Teams. + example: My team channel type: string - resolve_page_on_policy_end: - description: >- - Indicates whether the page is automatically resolved when the policy - ends. - type: boolean - retries: - description: >- - Specifies how many times the escalation sequence is retried if there - is no response. - format: int64 - type: integer + type: + $ref: '#/components/schemas/ServiceDefinitionV2Dot1MSTeamsType' required: - - name + - type + - contact type: object - EscalationPolicyDataRelationships: - description: >- - Represents the relationships for an escalation policy, including - references to steps and teams. + ServiceDefinitionV2Dot1Opsgenie: + description: Opsgenie integration for the service. properties: - steps: - $ref: '#/components/schemas/EscalationPolicyDataRelationshipsSteps' - teams: - $ref: '#/components/schemas/DataRelationshipsTeams' + region: + $ref: '#/components/schemas/ServiceDefinitionV2Dot1OpsgenieRegion' + service-url: + description: Opsgenie service url. + example: https://my-org.opsgenie.com/service/123e4567-e89b-12d3-a456-426614174000 + type: string required: - - steps + - service-url type: object - EscalationPolicyDataType: - default: policies - description: Indicates that the resource is of type `policies`. + ServiceDefinitionV2Dot1Pagerduty: + description: PagerDuty integration for the service. + properties: + service-url: + description: PagerDuty service url. + example: https://my-org.pagerduty.com/service-directory/PMyService + type: string + type: object + ServiceDefinitionV2Dot1LinkType: + description: Link type. enum: - - policies - example: policies + - doc + - repo + - runbook + - dashboard + - other + example: runbook type: string x-enum-varnames: - - POLICIES - TeamReference: - description: >- - Provides a reference to a team, including ID, type, and basic - attributes/relationships. + - DOC + - REPO + - RUNBOOK + - DASHBOARD + - OTHER + ServiceDefinitionV2Email: + description: Service owner's email. properties: - attributes: - $ref: '#/components/schemas/TeamReferenceAttributes' - id: - description: The team's unique identifier. + contact: + description: Contact value. + example: contact@datadoghq.com + type: string + name: + description: Contact email. + example: Team Email type: string type: - $ref: '#/components/schemas/TeamReferenceType' + $ref: '#/components/schemas/ServiceDefinitionV2EmailType' required: - type + - contact type: object - EscalationPolicyStep: - description: >- - Represents a single step in an escalation policy, including its - attributes, relationships, and resource type. + ServiceDefinitionV2Slack: + description: Service owner's Slack channel. properties: - attributes: - $ref: '#/components/schemas/EscalationPolicyStepAttributes' - id: - description: Specifies the unique identifier of this escalation policy step. + contact: + description: Slack Channel. + example: https://yourcompany.slack.com/archives/channel123 + type: string + name: + description: Contact Slack. + example: Team Slack type: string - relationships: - $ref: '#/components/schemas/EscalationPolicyStepRelationships' type: - $ref: '#/components/schemas/EscalationPolicyStepType' + $ref: '#/components/schemas/ServiceDefinitionV2SlackType' required: - type + - contact type: object - EscalationPolicyUser: - description: >- - Represents a user object in the context of an escalation policy, - including their `id`, type, and basic attributes. + ServiceDefinitionV2MSTeams: + description: Service owner's Microsoft Teams. properties: - attributes: - $ref: '#/components/schemas/EscalationPolicyUserAttributes' - id: - description: The unique user identifier. + contact: + description: Contact value. + example: https://teams.microsoft.com/myteam + type: string + name: + description: Contact Microsoft Teams. + example: My team channel type: string type: - $ref: '#/components/schemas/EscalationPolicyUserType' + $ref: '#/components/schemas/ServiceDefinitionV2MSTeamsType' required: - type + - contact type: object - EscalationPolicyUpdateRequestDataAttributes: - description: >- - Defines the attributes that can be updated for an escalation policy, - such as description, name, resolution behavior, retries, and steps. + ServiceDefinitionV2Opsgenie: + description: Opsgenie integration for the service. properties: - name: - description: Specifies the name of the escalation policy. - example: On-Call Escalation Policy + region: + $ref: '#/components/schemas/ServiceDefinitionV2OpsgenieRegion' + service-url: + description: Opsgenie service url. + example: https://my-org.opsgenie.com/service/123e4567-e89b-12d3-a456-426614174000 type: string - resolve_page_on_policy_end: - description: >- - Indicates whether the page is automatically resolved when the policy - ends. - type: boolean - retries: - description: >- - Specifies how many times the escalation sequence is retried if there - is no response. - format: int64 - type: integer - steps: - description: >- - A list of escalation steps, each defining assignment, escalation - timeout, and targets. - items: - $ref: >- - #/components/schemas/EscalationPolicyUpdateRequestDataAttributesStepsItems - type: array required: - - name - - steps - type: object - EscalationPolicyUpdateRequestDataRelationships: - description: >- - Represents relationships in an escalation policy update request, - including references to teams. - properties: - teams: - $ref: '#/components/schemas/DataRelationshipsTeams' + - service-url type: object - EscalationPolicyUpdateRequestDataType: - default: policies - description: Indicates that the resource is of type `policies`. + ServiceDefinitionV2Pagerduty: + description: PagerDuty service URL for the service. + example: https://my-org.pagerduty.com/service-directory/PMyService + type: string + ServiceDefinitionV2LinkType: + description: Link type. enum: - - policies - example: policies + - doc + - wiki + - runbook + - url + - repo + - dashboard + - oncall + - code + - link + example: runbook type: string x-enum-varnames: - - POLICIES - CreatePageRequestDataAttributes: - description: Details about the On-Call Page you want to create. + - DOC + - WIKI + - RUNBOOK + - URL + - REPO + - DASHBOARD + - ONCALL + - CODE + - LINK + SLOReportInterval: + description: The frequency at which report data is to be generated. + enum: + - daily + - weekly + - monthly + example: weekly + type: string + x-enum-varnames: + - DAILY + - WEEKLY + - MONTHLY + SLOReportStatus: + description: The status of the SLO report job. + enum: + - in_progress + - completed + - completed_with_errors + - failed + example: completed + type: string + x-enum-varnames: + - IN_PROGRESS + - COMPLETED + - COMPLETED_WITH_ERRORS + - FAILED + RawErrorBudgetRemaining: + description: The raw error budget remaining for the SLO. properties: - description: - description: A short summary of the issue or context. + unit: + description: The unit of the error budget (for example, `seconds`, `requests`). + example: seconds type: string - tags: - description: Tags to help categorize or filter the page. + value: + description: The numeric value of the remaining error budget. + example: 86400.5 + format: double + type: number + required: + - value + - unit + type: object + StatusPageDataAttributesComponentsItems: + description: A component displayed on a status page. + properties: + components: + description: If the component is of type `group`, the components within the group. items: - type: string + $ref: '#/components/schemas/StatusPageDataAttributesComponentsItemsComponentsItems' type: array - target: - $ref: '#/components/schemas/CreatePageRequestDataAttributesTarget' - title: - description: The title of the page. - example: 'Service: Test is down' - type: string - urgency: - $ref: '#/components/schemas/PageUrgency' - required: - - target - - title - - urgency + id: + description: The ID of the component. + format: uuid + type: string + name: + description: The name of the component. + type: string + position: + description: The zero-indexed position of the component. + format: int64 + type: integer + status: + $ref: '#/components/schemas/StatusPagesComponentGroupAttributesComponentsItemsStatus' + type: + $ref: '#/components/schemas/CreateComponentRequestDataAttributesType' type: object - CreatePageRequestDataType: - default: pages - description: The type of resource used when creating an On-Call Page. + CreateStatusPageRequestDataAttributesType: + description: The type of the status page controlling how the status page is accessed. enum: - - pages - example: pages + - public + - internal + example: public type: string x-enum-varnames: - - PAGES - CreatePageResponseDataType: - default: pages - description: The type of resource used when creating an On-Call Page. + - PUBLIC + - INTERNAL + CreateStatusPageRequestDataAttributesVisualizationType: + description: The visualization type of the status page. enum: - - pages - example: pages + - bars_and_uptime_percentage + - bars_only + - component_name_only + example: bars_and_uptime_percentage type: string x-enum-varnames: - - PAGES - ScheduleCreateRequestDataAttributes: - description: >- - Describes the main attributes for creating a new schedule, including - name, layers, and time zone. + - BARS_AND_UPTIME_PERCENTAGE + - BARS_ONLY + - COMPONENT_NAME_ONLY + StatusPageDataRelationshipsCreatedByUser: + description: The Datadog user who created the status page. properties: - layers: - description: >- - The layers of On-Call coverage that define rotation intervals and - restrictions. - items: - $ref: >- - #/components/schemas/ScheduleCreateRequestDataAttributesLayersItems - type: array - name: - description: A human-readable name for the new schedule. - example: Team A On-Call - type: string - time_zone: - description: The time zone in which the schedule is defined. - example: America/New_York - type: string + data: + $ref: '#/components/schemas/StatusPageDataRelationshipsCreatedByUserData' required: - - name - - time_zone - - layers + - data type: object - ScheduleCreateRequestDataRelationships: - description: >- - Gathers relationship objects for the schedule creation request, - including the teams to associate. + StatusPageDataRelationshipsLastModifiedByUser: + description: The Datadog user who last modified the status page. properties: - teams: - $ref: '#/components/schemas/DataRelationshipsTeams' + data: + $ref: '#/components/schemas/StatusPageDataRelationshipsLastModifiedByUserData' + required: + - data type: object - ScheduleCreateRequestDataType: - default: schedules - description: Schedules resource type. - enum: - - schedules - example: schedules - type: string - x-enum-varnames: - - SCHEDULES - ScheduleDataAttributes: - description: >- - Provides core properties of a schedule object such as its name and time - zone. + StatusPagesUserAttributes: + description: Attributes of the Datadog user. properties: + email: + description: The email of the Datadog user. + type: string + handle: + description: The handle of the Datadog user. + type: string + icon: + description: The icon of the Datadog user. + type: string name: - description: A short name for the schedule. - example: Primary On-Call + description: The name of the Datadog user. type: string - time_zone: - description: The time zone in which this schedule operates. - example: America/New_York + uuid: + description: The UUID of the Datadog user. type: string type: object - ScheduleDataRelationships: - description: >- - Groups the relationships for a schedule object, referencing layers and - teams. - properties: - layers: - $ref: '#/components/schemas/ScheduleDataRelationshipsLayers' - teams: - $ref: '#/components/schemas/DataRelationshipsTeams' - type: object - ScheduleDataType: - default: schedules - description: Schedules resource type. + StatusPagesUserType: + default: users + description: Users resource type. enum: - - schedules - example: schedules + - users + example: users type: string x-enum-varnames: - - SCHEDULES - Layer: - description: >- - Encapsulates a layer resource, holding attributes like rotation details, - plus relationships to the members covering that layer. + - USERS + PaginationMetaPageType: + default: offset_limit + description: The pagination type used for offset-based pagination. + enum: + - offset_limit + example: offset_limit + type: string + x-enum-varnames: + - OFFSET_LIMIT + CreateStatusPageRequestDataAttributesComponentsItems: + description: A component to be created on a status page. properties: - attributes: - $ref: '#/components/schemas/LayerAttributes' + components: + description: If creating a component of type `group`, the components to create within the group. + items: + $ref: '#/components/schemas/CreateStatusPageRequestDataAttributesComponentsItemsComponentsItems' + type: array id: - description: A unique identifier for this layer. + description: The ID of the component. + format: uuid + readOnly: true type: string - relationships: - $ref: '#/components/schemas/LayerRelationships' + name: + description: The name of the component. + type: string + position: + description: The zero-indexed position of the component. + format: int64 + type: integer + status: + $ref: '#/components/schemas/StatusPagesComponentGroupAttributesComponentsItemsStatus' type: - $ref: '#/components/schemas/LayerType' - required: - - type + $ref: '#/components/schemas/CreateComponentRequestDataAttributesType' type: object - ScheduleMember: - description: >- - Represents a single member entry in a schedule, referencing a specific - user. + DegradationDataAttributesComponentsAffectedItems: + description: A component affected by a degradation. properties: id: - description: The unique identifier for this schedule member. + description: The ID of the component. + example: 1234abcd-12ab-34cd-56ef-123456abcdef + format: uuid type: string - relationships: - $ref: '#/components/schemas/ScheduleMemberRelationships' - type: - $ref: '#/components/schemas/ScheduleMemberType' + name: + description: The name of the component. + readOnly: true + type: string + status: + $ref: '#/components/schemas/StatusPagesComponentDataAttributesStatus' required: - - type + - id + - status type: object - ScheduleUser: - description: >- - Represents a user object in the context of a schedule, including their - `id`, type, and basic attributes. + DegradationDataAttributesSource: + description: The source of the degradation. properties: - attributes: - $ref: '#/components/schemas/ScheduleUserAttributes' - id: - description: The unique user identifier. + created_at: + description: Timestamp of when the source was created. + example: '' + format: date-time + type: string + source_id: + description: The ID of the source. + example: '' type: string type: - $ref: '#/components/schemas/ScheduleUserType' + $ref: '#/components/schemas/DegradationDataAttributesSourceType' required: + - created_at + - source_id - type type: object - ScheduleUpdateRequestDataAttributes: - description: >- - Defines the updatable attributes for a schedule, such as name, time - zone, and layers. + CreateDegradationRequestDataAttributesStatus: + description: The status of the degradation. + enum: + - investigating + - identified + - monitoring + - resolved + example: investigating + type: string + x-enum-varnames: + - INVESTIGATING + - IDENTIFIED + - MONITORING + - RESOLVED + DegradationDataAttributesUpdatesItems: + description: A status update recorded during a degradation. properties: - layers: - description: The updated list of layers (rotations) for this schedule. + components_affected: + description: The components affected at the time of the update. items: - $ref: >- - #/components/schemas/ScheduleUpdateRequestDataAttributesLayersItems + $ref: '#/components/schemas/DegradationDataAttributesUpdatesItemsComponentsAffectedItems' type: array - name: - description: A short name for the schedule. - example: Primary On-Call + created_at: + description: Timestamp of when the update was created. + format: date-time + readOnly: true type: string - time_zone: - description: The time zone used when interpreting rotation times. - example: America/New_York + deleted_at: + description: The date and time the resource was deleted. type: string - required: - - name - - time_zone - - layers - type: object - ScheduleUpdateRequestDataRelationships: - description: >- - Houses relationships for the schedule update, typically referencing - teams. - properties: - teams: - $ref: '#/components/schemas/DataRelationshipsTeams' - type: object - ScheduleUpdateRequestDataType: - default: schedules - description: Schedules resource type. - enum: - - schedules - example: schedules - type: string - x-enum-varnames: - - SCHEDULES - ShiftDataAttributes: - description: Attributes for an on-call shift. - properties: - end: - description: The end time of the shift. + deleted_by_user_uuid: + description: UUID of the user who deleted the resource. + type: string + description: + description: Description of the update. + type: string + id: + description: Identifier of the update. + format: uuid + readOnly: true + type: string + last_modified_by_user_uuid: + description: UUID of the user who last modified the resource. + type: string + modified_at: + description: Timestamp of when the update was last modified. format: date-time + readOnly: true type: string - start: - description: The start time of the shift. + started_at: + description: Timestamp of when the update started. format: date-time type: string + status: + $ref: '#/components/schemas/CreateDegradationRequestDataAttributesStatus' type: object - ShiftDataRelationships: - description: Relationships for an on-call shift. + DegradationDataRelationshipsCreatedByUser: + description: The Datadog user who created the degradation. properties: - user: - $ref: '#/components/schemas/ShiftDataRelationshipsUser' + data: + $ref: '#/components/schemas/DegradationDataRelationshipsCreatedByUserData' + required: + - data type: object - ShiftDataType: - default: shifts - description: Indicates that the resource is of type 'shifts'. - enum: - - shifts - example: shifts - type: string - x-enum-varnames: - - SHIFTS - TeamOnCallRespondersDataRelationships: - description: >- - Relationship objects linked to a team's on-call responder configuration, - including escalations and responders. + DegradationDataRelationshipsLastModifiedByUser: + description: The Datadog user who last modified the degradation. properties: - escalations: - $ref: >- - #/components/schemas/TeamOnCallRespondersDataRelationshipsEscalations - responders: - $ref: '#/components/schemas/TeamOnCallRespondersDataRelationshipsResponders' + data: + $ref: '#/components/schemas/DegradationDataRelationshipsLastModifiedByUserData' + required: + - data type: object - TeamOnCallRespondersDataType: - default: team_oncall_responders - description: >- - Represents the resource type for a group of users assigned to handle - on-call duties within a team. - enum: - - team_oncall_responders - example: team_oncall_responders - type: string - x-enum-varnames: - - TEAM_ONCALL_RESPONDERS - Escalation: - description: Represents an escalation policy step. + DegradationDataRelationshipsStatusPage: + description: The status page the degradation belongs to. properties: - id: - description: Unique identifier of the escalation step. + data: + $ref: '#/components/schemas/DegradationDataRelationshipsStatusPageData' + required: + - data + type: object + DegradationDataRelationshipsTemplate: + description: The template the degradation was created from. + properties: + data: + $ref: '#/components/schemas/DegradationDataRelationshipsTemplateData' + required: + - data + type: object + StatusPageAsIncludedAttributes: + description: The attributes of a status page. + properties: + company_logo: + description: The base64-encoded image data displayed in the company logo. type: string - relationships: - $ref: '#/components/schemas/EscalationRelationships' + components: + description: Components displayed on the status page. + items: + $ref: '#/components/schemas/StatusPageAsIncludedAttributesComponentsItems' + type: array + created_at: + description: Timestamp of when the status page was created. + format: date-time + type: string + custom_domain: + description: If configured, the url that the status page is accessible at. + type: string + custom_domain_enabled: + description: Whether the custom domain is configured. + type: boolean + domain_prefix: + description: The subdomain of the status page's url taking the form `https://{domain_prefix}.statuspage.datadoghq.com`. Globally unique across Datadog Status Pages. + type: string + email_header_image: + description: Base64-encoded image data included in email notifications sent to status page subscribers. + type: string + enabled: + description: Whether the status page is enabled. + type: boolean + favicon: + description: Base64-encoded image data displayed in the browser tab. + type: string + modified_at: + description: Timestamp of when the status page was last modified. + format: date-time + type: string + name: + description: The name of the status page. + type: string + page_url: + description: The url that the status page is accessible at. + type: string + slack_app_icon: + description: The Slack app icon URL for the status page. + type: string + slack_subscriptions_enabled: + description: Whether Slack subscriptions are enabled for the status page. + type: boolean + subscriptions_enabled: + description: Whether users can subscribe to the status page. + type: boolean type: - $ref: '#/components/schemas/EscalationType' - required: - - type + $ref: '#/components/schemas/CreateStatusPageRequestDataAttributesType' + visualization_type: + $ref: '#/components/schemas/CreateStatusPageRequestDataAttributesVisualizationType' type: object - TeamRoutingRulesDataRelationships: - description: >- - Specifies relationships for team routing rules, including rule - references. + StatusPageAsIncludedRelationships: + description: The relationships of a status page. properties: - rules: - $ref: '#/components/schemas/TeamRoutingRulesDataRelationshipsRules' + created_by_user: + $ref: '#/components/schemas/StatusPageAsIncludedRelationshipsCreatedByUser' + description: The Datadog user who created the status page. + last_modified_by_user: + $ref: '#/components/schemas/StatusPageAsIncludedRelationshipsLastModifiedByUser' + description: The Datadog user who last modified the status page. type: object - TeamRoutingRulesDataType: - default: team_routing_rules - description: Team routing rules resource type. - enum: - - team_routing_rules - example: team_routing_rules - type: string - x-enum-varnames: - - TEAM_ROUTING_RULES - RoutingRule: - description: >- - Represents a routing rule, including its attributes, relationships, and - unique identifier. + MaintenanceDataAttributesComponentsAffectedItems: + description: A component affected by a maintenance. properties: - attributes: - $ref: '#/components/schemas/RoutingRuleAttributes' id: - description: Specifies the unique identifier of this routing rule. + description: The ID of the component. Must be a component of type `component`. + example: 1234abcd-12ab-34cd-56ef-123456abcdef + format: uuid type: string - relationships: - $ref: '#/components/schemas/RoutingRuleRelationships' - type: - $ref: '#/components/schemas/RoutingRuleType' + name: + description: The name of the component. + readOnly: true + type: string + status: + $ref: '#/components/schemas/PatchMaintenanceRequestDataAttributesComponentsAffectedItemsStatus' required: - - type - type: object - TeamRoutingRulesRequestDataAttributes: - description: >- - Represents the attributes of a request to update or create team routing - rules. - properties: - rules: - description: >- - A list of routing rule items that define how incoming pages should - be handled. - items: - $ref: '#/components/schemas/TeamRoutingRulesRequestRule' - type: array + - id + - status type: object - TeamRoutingRulesRequestDataType: - default: team_routing_rules - description: Team routing rules resource type. + MaintenanceDataAttributesStatus: + description: The status of the maintenance. enum: - - team_routing_rules - example: team_routing_rules + - scheduled + - in_progress + - completed type: string x-enum-varnames: - - TEAM_ROUTING_RULES - IncidentServiceResponseAttributes: - description: The incident service's attributes from a response. + - SCHEDULED + - IN_PROGRESS + - COMPLETED + MaintenanceDataAttributesUpdatesItems: + description: An update made to a maintenance. properties: - created: - description: Timestamp of when the incident service was created. + components_affected: + description: The components affected at the time of the update. + items: + $ref: '#/components/schemas/MaintenanceDataAttributesUpdatesItemsComponentsAffectedItems' + type: array + created_at: + description: Timestamp of when the update was created. format: date-time readOnly: true type: string - modified: - description: Timestamp of when the incident service was modified. + description: + description: Description of the update. + type: string + id: + description: Identifier of the update. + format: uuid + readOnly: true + type: string + manual_transition: + description: Whether the update was applied manually by a user (true) or automatically by the system (false). + readOnly: true + type: boolean + modified_at: + description: Timestamp of when the update was last modified. format: date-time readOnly: true type: string - name: - description: Name of the incident service. - example: service name + started_at: + description: Timestamp of when the update started. + format: date-time + type: string + status: + description: The status of the update. type: string type: object - IncidentServiceRelationships: - description: The incident service's relationships. + MaintenanceDataRelationshipsCreatedByUser: + description: The Datadog user who created the maintenance. properties: - created_by: - $ref: '#/components/schemas/RelationshipToUser' - last_modified_by: - $ref: '#/components/schemas/RelationshipToUser' - readOnly: true + data: + $ref: '#/components/schemas/MaintenanceDataRelationshipsCreatedByUserData' + required: + - data type: object - IncidentServiceType: - default: services - description: Incident service resource type. - enum: - - services - example: services - type: string - x-enum-varnames: - - SERVICES - IncidentServiceCreateAttributes: - description: The incident service's attributes for a create request. + MaintenanceDataRelationshipsLastModifiedByUser: + description: The Datadog user who last modified the maintenance. properties: - name: - description: Name of the incident service. - example: an example service name - type: string + data: + $ref: '#/components/schemas/MaintenanceDataRelationshipsLastModifiedByUserData' required: - - name + - data type: object - ServiceDefinitionDataAttributes: - description: Service definition attributes. + MaintenanceDataRelationshipsStatusPage: + description: The status page the maintenance belongs to. properties: - meta: - $ref: '#/components/schemas/ServiceDefinitionMeta' - schema: - $ref: '#/components/schemas/ServiceDefinitionSchema' + data: + $ref: '#/components/schemas/MaintenanceDataRelationshipsStatusPageData' + required: + - data type: object - ServiceDefinitionV2Dot2Contact: - description: Service owner's contacts information. + MaintenanceDataRelationshipsTemplate: + description: The template the maintenance was created from. properties: - contact: - description: Contact value. - example: https://teams.microsoft.com/myteam + data: + $ref: '#/components/schemas/MaintenanceDataRelationshipsTemplateData' + required: + - data + type: object + StatusPagesComponentDataAttributesComponentsItems: + description: A component within a component group. + properties: + id: + description: The ID of the component within the group. + format: uuid + readOnly: true type: string name: - description: Contact Name. - example: My team channel + description: The name of the component within the group. type: string + position: + description: The zero-indexed position of the component within the group. + format: int64 + type: integer + status: + $ref: '#/components/schemas/StatusPagesComponentGroupAttributesComponentsItemsStatus' type: - description: >- - Contact type. Datadog recognizes the following types: `email`, - `slack`, and `microsoft-teams`. - example: slack - type: string + $ref: '#/components/schemas/StatusPagesComponentGroupAttributesComponentsItemsType' + type: object + StatusPagesComponentDataAttributesStatus: + description: The status of the component. + enum: + - operational + - degraded + - partial_outage + - major_outage + - maintenance + example: operational + type: string + x-enum-varnames: + - OPERATIONAL + - DEGRADED + - PARTIAL_OUTAGE + - MAJOR_OUTAGE + - MAINTENANCE + CreateComponentRequestDataAttributesType: + description: The type of the component. + enum: + - component + - group + example: component + type: string + x-enum-varnames: + - COMPONENT + - GROUP + StatusPagesComponentDataRelationshipsCreatedByUser: + description: The Datadog user who created the component. + properties: + data: + $ref: '#/components/schemas/StatusPagesComponentDataRelationshipsCreatedByUserData' required: - - type - - contact + - data type: object - ServiceDefinitionV2Dot2Integrations: - description: Third party integrations that Datadog supports. + StatusPagesComponentDataRelationshipsGroup: + description: The group the component belongs to. properties: - opsgenie: - $ref: '#/components/schemas/ServiceDefinitionV2Dot2Opsgenie' - pagerduty: - $ref: '#/components/schemas/ServiceDefinitionV2Dot2Pagerduty' + data: + $ref: '#/components/schemas/StatusPagesComponentDataRelationshipsGroupData' + required: + - data type: object - ServiceDefinitionV2Dot2Link: - description: Service's external links. + StatusPagesComponentDataRelationshipsLastModifiedByUser: + description: The Datadog user who last modified the component. properties: - name: - description: Link name. - example: Runbook - type: string - provider: - description: Link provider. - example: Github + data: + $ref: '#/components/schemas/StatusPagesComponentDataRelationshipsLastModifiedByUserData' + required: + - data + type: object + StatusPagesComponentDataRelationshipsStatusPage: + description: The status page the component belongs to. + properties: + data: + $ref: '#/components/schemas/StatusPagesComponentDataRelationshipsStatusPageData' + required: + - data + type: object + StatusPagesComponentGroupAttributes: + description: The attributes of a component group. + properties: + components: + description: If the component is of type `group`, the components within the group. + items: + $ref: '#/components/schemas/StatusPagesComponentGroupAttributesComponentsItems' + type: array + created_at: + description: Timestamp of when the component was created. + format: date-time type: string - type: - description: >- - Link type. Datadog recognizes the following types: `runbook`, `doc`, - `repo`, `dashboard`, and `other`. - example: runbook + modified_at: + description: Timestamp of when the component was last modified. + format: date-time type: string - url: - description: Link URL. - example: https://my-runbook + name: + description: The name of the component. type: string + position: + description: The zero-indexed position of the component. + format: int64 + type: integer + status: + $ref: '#/components/schemas/StatusPagesComponentDataAttributesStatus' + type: + $ref: '#/components/schemas/CreateComponentRequestDataAttributesType' required: - - name - type - - url type: object - ServiceDefinitionV2Dot2Version: - default: v2.2 - description: Schema version being used. - enum: - - v2.2 - example: v2.2 - type: string - x-enum-varnames: - - V2_2 - ServiceDefinitionV2Dot2Type: - description: The type of service. - example: web - type: string - ServiceDefinitionV2Dot1Contact: - description: Service owner's contacts information. - oneOf: - - $ref: '#/components/schemas/ServiceDefinitionV2Dot1Email' - - $ref: '#/components/schemas/ServiceDefinitionV2Dot1Slack' - - $ref: '#/components/schemas/ServiceDefinitionV2Dot1MSTeams' - ServiceDefinitionV2Dot1Integrations: - description: Third party integrations that Datadog supports. + StatusPagesComponentGroupRelationships: + description: The relationships of a component group. properties: - opsgenie: - $ref: '#/components/schemas/ServiceDefinitionV2Dot1Opsgenie' - pagerduty: - $ref: '#/components/schemas/ServiceDefinitionV2Dot1Pagerduty' + created_by_user: + $ref: '#/components/schemas/StatusPagesComponentGroupRelationshipsCreatedByUser' + group: + $ref: '#/components/schemas/StatusPagesComponentGroupRelationshipsGroup' + last_modified_by_user: + $ref: '#/components/schemas/StatusPagesComponentGroupRelationshipsLastModifiedByUser' + status_page: + $ref: '#/components/schemas/StatusPagesComponentGroupRelationshipsStatusPage' type: object - ServiceDefinitionV2Dot1Link: - description: Service's external links. + CreateComponentRequestDataAttributesComponentsItems: + description: A component to be created within a group. properties: name: - description: Link name. - example: Runbook - type: string - provider: - description: Link provider. - example: Github + description: The name of the grouped component. + example: '' type: string + position: + description: The zero-indexed position of the grouped component relative to the other components in the group. + example: 0 + format: int64 + type: integer type: - $ref: '#/components/schemas/ServiceDefinitionV2Dot1LinkType' - url: - description: Link URL. - example: https://my-runbook - type: string + $ref: '#/components/schemas/StatusPagesComponentGroupAttributesComponentsItemsType' required: - name + - position - type - - url type: object - ServiceDefinitionV2Dot1Version: - default: v2.1 - description: Schema version being used. - enum: - - v2.1 - example: v2.1 - type: string - x-enum-varnames: - - V2_1 - ServiceDefinitionV2Contact: - description: Service owner's contacts information. - oneOf: - - $ref: '#/components/schemas/ServiceDefinitionV2Email' - - $ref: '#/components/schemas/ServiceDefinitionV2Slack' - - $ref: '#/components/schemas/ServiceDefinitionV2MSTeams' - ServiceDefinitionV2Doc: - description: Service documents. + CreateComponentRequestDataRelationshipsGroup: + description: The group to create the component within. properties: - name: - description: Document name. - example: Architecture + data: + $ref: '#/components/schemas/CreateComponentRequestDataRelationshipsGroupData' + required: + - data + type: object + DegradationTemplateDataAttributesComponentsAffectedItems: + description: A component affected by a degradation created from this template. + properties: + id: + description: The ID of the component. + example: '' type: string - provider: - description: Document provider. - example: google drive + name: + description: The name of the component. + readOnly: true type: string - url: - description: Document URL. - example: https://gdrive/mydoc + status: + $ref: '#/components/schemas/PatchDegradationTemplateRequestDataAttributesComponentsAffectedItemsStatus' + required: + - id + - status + type: object + DegradationTemplateDataAttributesUpdatesItems: + description: A pre-filled update for a degradation created from this template. + properties: + message: + description: The message of the update. type: string + status: + $ref: '#/components/schemas/CreateDegradationRequestDataAttributesStatus' + required: + - status + type: object + DegradationTemplateDataRelationshipsCreatedByUser: + description: The Datadog user who created the degradation template. + properties: + data: + $ref: '#/components/schemas/DegradationTemplateDataRelationshipsCreatedByUserData' + required: + - data + type: object + DegradationTemplateDataRelationshipsLastModifiedByUser: + description: The Datadog user who last modified the degradation template. + properties: + data: + $ref: '#/components/schemas/DegradationTemplateDataRelationshipsLastModifiedByUserData' required: - - name - - url + - data type: object - ServiceDefinitionV2Integrations: - description: Third party integrations that Datadog supports. + DegradationTemplateDataRelationshipsStatusPage: + description: The status page the degradation template belongs to. properties: - opsgenie: - $ref: '#/components/schemas/ServiceDefinitionV2Opsgenie' - pagerduty: - $ref: '#/components/schemas/ServiceDefinitionV2Pagerduty' + data: + $ref: '#/components/schemas/DegradationTemplateDataRelationshipsStatusPageData' + required: + - data type: object - ServiceDefinitionV2Link: - description: Service's external links. + CreateDegradationTemplateRequestDataAttributesComponentsAffectedItems: + description: A component affected by a degradation created from this template. properties: - name: - description: Link name. - example: Runbook + id: + description: The ID of the component. Must be a component of type `component`. + example: '' type: string - type: - $ref: '#/components/schemas/ServiceDefinitionV2LinkType' - url: - description: Link URL. - example: https://my-runbook + name: + description: The name of the component. + readOnly: true type: string + status: + $ref: '#/components/schemas/PatchDegradationTemplateRequestDataAttributesComponentsAffectedItemsStatus' required: - - name - - type - - url + - id + - status type: object - ServiceDefinitionV2Repo: - description: Service code repositories. + CreateDegradationTemplateRequestDataAttributesUpdatesItems: + description: A pre-filled update for a degradation created from this template. properties: - name: - description: Repository name. - example: Source Code + message: + description: The message of the update. type: string - provider: - description: Repository provider. - example: GitHub + status: + $ref: '#/components/schemas/CreateDegradationRequestDataAttributesStatus' + required: + - status + type: object + PatchDegradationTemplateRequestDataAttributesComponentsAffectedItems: + description: A component affected by a degradation created from this template. + properties: + id: + description: The ID of the component. Must be a component of type `component`. + example: '' type: string - url: - description: Repository URL. - example: https://github.com/DataDog/schema + name: + description: The name of the component. + readOnly: true type: string + status: + $ref: '#/components/schemas/PatchDegradationTemplateRequestDataAttributesComponentsAffectedItemsStatus' required: - - name - - url + - id + - status type: object - ServiceDefinitionV2Version: - default: v2 - description: Schema version being used. - enum: - - v2 - example: v2 - type: string - x-enum-varnames: - - V2 - IncidentServiceUpdateAttributes: - description: The incident service's attributes for an update request. + PatchDegradationTemplateRequestDataAttributesUpdatesItems: + description: A pre-filled update for a degradation created from this template. properties: - name: - description: Name of the incident service. - example: an example service name + message: + description: The message of the update. type: string + status: + $ref: '#/components/schemas/CreateDegradationRequestDataAttributesStatus' required: - - name + - status type: object - SloReportCreateRequestAttributes: - description: The attributes portion of the SLO report request. + CreateDegradationRequestDataAttributesComponentsAffectedItems: + description: A component affected by a degradation. properties: - from_ts: - description: The `from` timestamp for the report in epoch seconds. - example: 1690901870 - format: int64 - type: integer - interval: - $ref: '#/components/schemas/SLOReportInterval' - query: - description: >- - The query string used to filter SLO results. Some examples of - queries include `service:` and `slo-name`. - example: slo_type:metric + id: + description: The ID of the component. Must be a component of type `component`. + example: 1234abcd-12ab-34cd-56ef-123456abcdef + format: uuid type: string - timezone: - description: >- - The timezone used to determine the start and end of each interval. - For example, weekly intervals start at 12am on Sunday in the - specified timezone. - example: America/New_York + name: + description: The name of the component. + readOnly: true type: string - to_ts: - description: The `to` timestamp for the report in epoch seconds. - example: 1706803070 - format: int64 - type: integer + status: + $ref: '#/components/schemas/StatusPagesComponentDataAttributesStatus' required: - - query - - from_ts - - to_ts + - id + - status type: object - SLOReportStatusGetResponseAttributes: - description: The attributes portion of the SLO report status response. + CreateDegradationRequestDataRelationshipsTemplate: + description: The template used to create the degradation. properties: - status: - $ref: '#/components/schemas/SLOReportStatus' + data: + $ref: '#/components/schemas/CreateDegradationRequestDataRelationshipsTemplateData' + required: + - data type: object - IncidentTeamResponseAttributes: - description: The incident team's attributes from a response. + CreateBackfilledDegradationRequestDataAttributesUpdatesItems: + description: A backfilled degradation update entry. properties: - created: - description: Timestamp of when the incident team was created. - format: date-time - readOnly: true + components_affected: + description: The components affected. + items: + $ref: '#/components/schemas/CreateDegradationRequestDataAttributesComponentsAffectedItems' + type: array + description: + description: A description of the update. type: string - modified: - description: Timestamp of when the incident team was modified. + started_at: + description: Timestamp of when the update occurred. + example: '' format: date-time - readOnly: true + type: string + status: + $ref: '#/components/schemas/CreateDegradationRequestDataAttributesStatus' + required: + - started_at + - status + type: object + CreateBackfilledDegradationRequestDataRelationshipsTemplate: + description: The template used to create the backfilled degradation. + properties: + data: + $ref: '#/components/schemas/CreateBackfilledDegradationRequestDataRelationshipsTemplateData' + required: + - data + type: object + PatchDegradationRequestDataAttributesComponentsAffectedItems: + description: A component affected by a degradation. + properties: + id: + description: The ID of the component. Must be a component of type `component`. + example: 1234abcd-12ab-34cd-56ef-123456abcdef + format: uuid type: string name: - description: Name of the incident team. - example: team name + description: The name of the component. + readOnly: true type: string + status: + $ref: '#/components/schemas/StatusPagesComponentDataAttributesStatus' + required: + - id + - status type: object - IncidentTeamRelationships: - description: The incident team's relationships. + PatchDegradationRequestDataAttributesStatus: + description: The status of the degradation. + enum: + - investigating + - identified + - monitoring + - resolved + type: string + x-enum-varnames: + - INVESTIGATING + - IDENTIFIED + - MONITORING + - RESOLVED + PatchDegradationRequestDataRelationshipsTemplate: + description: The template used to create the degradation. properties: - created_by: - $ref: '#/components/schemas/RelationshipToUser' - last_modified_by: - $ref: '#/components/schemas/RelationshipToUser' - readOnly: true + data: + $ref: '#/components/schemas/PatchDegradationRequestDataRelationshipsTemplateData' + required: + - data type: object - IncidentTeamType: - default: teams - description: Incident Team resource type. + PatchDegradationUpdateRequestDataAttributesStatus: + description: The status of the degradation update. enum: - - teams - example: teams + - investigating + - identified + - monitoring type: string x-enum-varnames: - - TEAMS - IncidentTeamCreateAttributes: - description: The incident team's attributes for a create request. + - INVESTIGATING + - IDENTIFIED + - MONITORING + DegradationUpdateDataAttributesComponentsAffectedItems: + description: A component affected by a degradation update. properties: + id: + description: The ID of the affected component. + example: '' + type: string name: - description: Name of the incident team. - example: team name + description: The name of the affected component. + readOnly: true type: string + status: + $ref: '#/components/schemas/StatusPagesComponentDataAttributesStatus' required: - - name + - id + - status type: object - IncidentTeamUpdateAttributes: - description: The incident team's attributes for an update request. + DegradationUpdateDataRelationshipsUser: + description: A user relationship of a degradation update. properties: - name: - description: Name of the incident team. - example: team name - type: string + data: + $ref: '#/components/schemas/DegradationUpdateDataRelationshipsUserData' required: - - name + - data type: object - CaseObjectAttributes: - additionalProperties: - items: - type: string - type: array - description: The definition of `CaseObjectAttributes` object. + DegradationUpdateDataRelationshipsDegradation: + description: The degradation relationship of a degradation update. + properties: + data: + $ref: '#/components/schemas/DegradationUpdateDataRelationshipsDegradationData' + required: + - data type: object - JiraIssue: - description: Jira issue attached to case - nullable: true + DegradationUpdateDataRelationshipsStatusPage: + description: The status page relationship of a degradation update. properties: - result: - $ref: '#/components/schemas/JiraIssueResult' - status: - $ref: '#/components/schemas/Case3rdPartyTicketStatus' - readOnly: true + data: + $ref: '#/components/schemas/DegradationUpdateDataRelationshipsStatusPageData' + required: + - data type: object - CasePriority: - default: NOT_DEFINED - description: Case priority - enum: - - NOT_DEFINED - - P1 - - P2 - - P3 - - P4 - - P5 - example: NOT_DEFINED - type: string - x-enum-varnames: - - NOT_DEFINED - - P1 - - P2 - - P3 - - P4 - - P5 - ServiceNowTicket: - description: ServiceNow ticket attached to case - nullable: true + MaintenanceTemplateDataRelationshipsCreatedByUser: + description: The Datadog user who created the maintenance template. properties: - result: - $ref: '#/components/schemas/ServiceNowTicketResult' - status: - $ref: '#/components/schemas/Case3rdPartyTicketStatus' - readOnly: true + data: + $ref: '#/components/schemas/MaintenanceTemplateDataRelationshipsCreatedByUserData' + required: + - data type: object - CaseStatus: - description: Case status - enum: - - OPEN - - IN_PROGRESS - - CLOSED - example: OPEN - type: string - x-enum-varnames: - - OPEN - - IN_PROGRESS - - CLOSED - CaseType: - description: Case type - enum: - - STANDARD - example: STANDARD - type: string - x-enum-varnames: - - STANDARD - NullableUserRelationship: - description: Relationship to user. - nullable: true + MaintenanceTemplateDataRelationshipsLastModifiedByUser: + description: The Datadog user who last modified the maintenance template. + properties: + data: + $ref: '#/components/schemas/MaintenanceTemplateDataRelationshipsLastModifiedByUserData' + required: + - data + type: object + MaintenanceTemplateDataRelationshipsStatusPage: + description: The status page the maintenance template belongs to. + properties: + data: + $ref: '#/components/schemas/MaintenanceTemplateDataRelationshipsStatusPageData' + required: + - data + type: object + CreateMaintenanceRequestDataAttributesComponentsAffectedItems: + description: A component affected by a maintenance. + properties: + id: + description: The ID of the component. Must be a component of type `component`. + example: 1234abcd-12ab-34cd-56ef-123456abcdef + format: uuid + type: string + name: + description: The name of the component. + readOnly: true + type: string + status: + $ref: '#/components/schemas/PatchMaintenanceRequestDataAttributesComponentsAffectedItemsStatus' + required: + - id + - status + type: object + CreateMaintenanceRequestDataRelationshipsTemplate: + description: The template used to create the maintenance. properties: data: - $ref: '#/components/schemas/NullableUserRelationshipData' + $ref: '#/components/schemas/CreateMaintenanceRequestDataRelationshipsTemplateData' required: - data type: object - ProjectRelationship: - description: Relationship to project + CreateBackfilledMaintenanceRequestDataAttributesUpdatesItems: + description: A backfilled maintenance update entry. + properties: + components_affected: + description: The components affected. + items: + $ref: '#/components/schemas/CreateMaintenanceRequestDataAttributesComponentsAffectedItems' + type: array + description: + description: A description of the update. + example: '' + type: string + started_at: + description: Timestamp of when the update occurred. + example: '' + format: date-time + type: string + status: + $ref: '#/components/schemas/CreateMaintenanceRequestDataAttributesUpdatesItemsStatus' + required: + - description + - started_at + - status + type: object + CreateBackfilledMaintenanceRequestDataRelationshipsTemplate: + description: The template used to create the backfilled maintenance. properties: data: - $ref: '#/components/schemas/ProjectRelationshipData' + $ref: '#/components/schemas/CreateBackfilledMaintenanceRequestDataRelationshipsTemplateData' required: - data type: object - RelationshipToTeamLinks: - description: Relationship between a team and a team link + PatchMaintenanceRequestDataAttributesComponentsAffectedItems: + description: A component affected by a maintenance. properties: - data: - description: Related team links - items: - $ref: '#/components/schemas/RelationshipToTeamLinkData' - type: array - links: - $ref: '#/components/schemas/TeamRelationshipsLinks' + id: + description: The ID of the component. Must be a component of type `component`. + example: 1234abcd-12ab-34cd-56ef-123456abcdef + format: uuid + type: string + name: + description: The name of the component. + readOnly: true + type: string + status: + $ref: '#/components/schemas/PatchMaintenanceRequestDataAttributesComponentsAffectedItemsStatus' + required: + - id + - status type: object - UsersRelationship: - description: Relationship to users. + PatchMaintenanceRequestDataRelationshipsTemplate: + description: The template used to create the maintenance. properties: data: - description: Relationships to user objects. - example: [] - items: - $ref: '#/components/schemas/UserRelationshipData' - type: array + $ref: '#/components/schemas/PatchMaintenanceRequestDataRelationshipsTemplateData' required: - data type: object - DowntimeDisplayTimezone: - default: UTC - description: >- - The timezone in which to display the downtime's start and end times in - Datadog applications. This is not used - - as an offset for scheduling. - example: America/New_York - nullable: true - type: string - DowntimeMessage: - description: >- - A message to include with notifications for this downtime. Email - notifications can be sent to specific users - - by using the same `@username` notation as events. - example: Message about the downtime - nullable: true - type: string - DowntimeMonitorIdentifier: - description: Monitor identifier for the downtime. - oneOf: - - $ref: '#/components/schemas/DowntimeMonitorIdentifierId' - - $ref: '#/components/schemas/DowntimeMonitorIdentifierTags' - DowntimeMuteFirstRecoveryNotification: - description: If the first recovery notification during a downtime should be muted. - example: false - type: boolean - DowntimeNotifyEndStates: - description: >- - States that will trigger a monitor notification when the - `notify_end_types` action occurs. - example: - - alert - - warn - items: - $ref: '#/components/schemas/DowntimeNotifyEndStateTypes' - type: array - DowntimeNotifyEndTypes: - description: >- - Actions that will trigger a monitor notification if the downtime is in - the `notify_end_types` state. - example: - - canceled - - expired - items: - $ref: '#/components/schemas/DowntimeNotifyEndStateActions' - type: array - DowntimeScheduleResponse: - description: >- - The schedule that defines when the monitor starts, stops, and recurs. - There are two types of schedules: - - one-time and recurring. Recurring schedules may have up to five - RRULE-based recurrences. If no schedules are - - provided, the downtime will begin immediately and never end. - oneOf: - - $ref: '#/components/schemas/DowntimeScheduleRecurrencesResponse' - - $ref: '#/components/schemas/DowntimeScheduleOneTimeResponse' - DowntimeScope: - description: >- - The scope to which the downtime applies. Must follow the [common search - syntax](https://docs.datadoghq.com/logs/explorer/search_syntax/). - example: env:(staging OR prod) AND datacenter:us-east-1 - type: string - DowntimeStatus: - description: The current status of the downtime. + MaintenanceUpdateDataAttributesStatus: + description: The status of the maintenance update. enum: - - active - - canceled - - ended - scheduled - example: active + - in_progress + - completed + - canceled type: string x-enum-varnames: - - ACTIVE - - CANCELED - - ENDED - SCHEDULED - DowntimeRelationshipsCreatedBy: - description: The user who created the downtime. + - IN_PROGRESS + - COMPLETED + - CANCELED + MaintenanceUpdateDataRelationshipsUser: + description: A user relationship of a maintenance update. properties: data: - $ref: '#/components/schemas/DowntimeRelationshipsCreatedByData' + $ref: '#/components/schemas/MaintenanceUpdateDataRelationshipsUserData' + required: + - data type: object - DowntimeRelationshipsMonitor: - description: The monitor identified by the downtime. + MaintenanceUpdateDataRelationshipsMaintenance: + description: The parent maintenance of the update. properties: data: - $ref: '#/components/schemas/DowntimeRelationshipsMonitorData' + $ref: '#/components/schemas/MaintenanceUpdateDataRelationshipsMaintenanceData' + required: + - data type: object - UserAttributes: - description: Attributes of user object returned by the API. + SLOTimeSliceCondition: + description: |- + The time-slice condition, composed of 3 parts: 1. the metric timeseries query, 2. the comparator, + and 3. the threshold. Optionally, a fourth part, the query interval, can be provided. + example: + comparator: < + query: + formulas: + - formula: query2/query1 + queries: + - data_source: metrics + name: query1 + query: sum:trace.servlet.request.hits{*} by {env}.as_count() + - data_source: metrics + name: query1 + query: sum:trace.servlet.request.errors{*} by {env}.as_count() + threshold: 5 + properties: + comparator: + $ref: '#/components/schemas/SLOTimeSliceComparator' + query: + $ref: '#/components/schemas/SLOTimeSliceQuery' + query_interval_seconds: + $ref: '#/components/schemas/SLOTimeSliceInterval' + threshold: + description: The threshold value to which each SLI value will be compared. + example: 5 + format: double + type: number + required: + - comparator + - threshold + - query + type: object + SLOCountDefinition: + description: |- + A count-based (metric) SLI specification, composed of three parts: the good events formula, + the bad or total events formula, and the underlying queries. + Exactly one of `total_events_formula` or `bad_events_formula` must be provided. + example: + bad_events_formula: query2 + good_events_formula: query1 + queries: + - data_source: metrics + name: query1 + query: sum:trace.servlet.request.hits{!http.status_code:500} by {env}.as_count() + - data_source: metrics + name: query2 + query: sum:trace.servlet.request.hits{http.status_code:500} by {env}.as_count() + additionalProperties: false + properties: + good_events_formula: + $ref: '#/components/schemas/SLOFormula' + queries: + example: + - data_source: metrics + name: query1 + query: sum:trace.servlet.request.hits{!http.status_code:500} by {env}.as_count() + - data_source: metrics + name: query2 + query: sum:trace.servlet.request.hits{http.status_code:500} by {env}.as_count() + items: + $ref: '#/components/schemas/SLODataSourceQueryDefinition' + minItems: 1 + type: array + total_events_formula: + $ref: '#/components/schemas/SLOFormula' + description: The total events formula. Bad events queries can be defined using the `bad_events_formula` field as an alternative. Only one of `total_events_formula` or `bad_events_formula` must be provided. + bad_events_formula: + $ref: '#/components/schemas/SLOFormula' + description: The bad events formula (recommended). Total events queries can be defined using the `total_events_formula` field as an alternative. Only one of `total_events_formula` or `bad_events_formula` must be provided. + required: + - good_events_formula + - total_events_formula + - queries + - bad_events_formula + type: object + SLOCorrectionCategory: + description: Category the SLO correction belongs to. + enum: + - Scheduled Maintenance + - Outside Business Hours + - Deployment + - Other + example: Scheduled Maintenance + type: string + x-enum-varnames: + - SCHEDULED_MAINTENANCE + - OUTSIDE_BUSINESS_HOURS + - DEPLOYMENT + - OTHER + SLOCorrectionResponseAttributesModifier: + description: Modifier of the object. + nullable: true properties: - created_at: - description: Creation time of the user. - format: date-time - type: string - disabled: - description: Whether the user is disabled. - type: boolean email: - description: Email of the user. + description: Email of the Modifier. type: string handle: - description: Handle of the user. - type: string - icon: - description: URL of the user's icon. - type: string - mfa_enabled: - description: If user has MFA enabled. - readOnly: true - type: boolean - modified_at: - description: Time that the user was last modified. - format: date-time + description: Handle of the Modifier. type: string name: - description: Name of the user. - nullable: true - type: string - service_account: - description: Whether the user is a service account. - type: boolean - status: - description: Status of the user. - type: string - title: - description: Title of the user. - nullable: true + description: Name of the Modifier. type: string - verified: - description: Whether the user is verified. - type: boolean type: object - UserResponseRelationships: - description: Relationships of the user object returned by the API. + SearchSLOResponseDataAttributesFacets: + description: Facets properties: - org: - $ref: '#/components/schemas/RelationshipToOrganization' - other_orgs: - $ref: '#/components/schemas/RelationshipToOrganizations' - other_users: - $ref: '#/components/schemas/RelationshipToUsers' - roles: - $ref: '#/components/schemas/RelationshipToRoles' + all_tags: + description: All tags associated with an SLO. + items: + $ref: '#/components/schemas/SearchSLOResponseDataAttributesFacetsObjectString' + type: array + creator_name: + description: Creator of an SLO. + items: + $ref: '#/components/schemas/SearchSLOResponseDataAttributesFacetsObjectString' + type: array + env_tags: + description: Tags with the `env` tag key. + items: + $ref: '#/components/schemas/SearchSLOResponseDataAttributesFacetsObjectString' + type: array + service_tags: + description: Tags with the `service` tag key. + items: + $ref: '#/components/schemas/SearchSLOResponseDataAttributesFacetsObjectString' + type: array + slo_type: + description: Type of SLO. + items: + $ref: '#/components/schemas/SearchSLOResponseDataAttributesFacetsObjectInt' + type: array + target: + description: SLO Target + items: + $ref: '#/components/schemas/SearchSLOResponseDataAttributesFacetsObjectInt' + type: array + team_tags: + description: Tags with the `team` tag key. + items: + $ref: '#/components/schemas/SearchSLOResponseDataAttributesFacetsObjectString' + type: array + timeframe: + description: Timeframes of SLOs. + items: + $ref: '#/components/schemas/SearchSLOResponseDataAttributesFacetsObjectString' + type: array type: object - UsersType: - default: users - description: Users resource type. - enum: - - users - example: users - type: string - x-enum-varnames: - - USERS - DowntimeMonitorIncludedAttributes: - description: Attributes of the monitor identified by the downtime. + SearchServiceLevelObjective: + description: A service level objective data container. properties: - name: - description: The name of the monitor identified by the downtime. - example: A monitor name + data: + $ref: '#/components/schemas/SearchServiceLevelObjectiveData' + type: object + SLOErrorBudgetRemainingData: + additionalProperties: + description: Remaining error budget. + format: double + type: number + description: A mapping of threshold `timeframe` to the remaining error budget. + example: + 7d: 100 + type: object + SLOHistoryResponseErrorWithType: + description: An object describing the error with error type and error message. + properties: + error_message: + description: A message with more details about the error. + example: '' type: string + error_type: + description: Type of the error. + example: '' + type: string + required: + - error_type + - error_message type: object - DowntimeIncludedMonitorType: - default: monitors - description: Monitor resource type. - enum: - - monitors - example: monitors - type: string - x-enum-varnames: - - MONITORS - DowntimeScheduleCreateRequest: - description: Schedule for the downtime. - oneOf: - - $ref: '#/components/schemas/DowntimeScheduleRecurrencesCreateRequest' - - $ref: '#/components/schemas/DowntimeScheduleOneTimeCreateUpdateRequest' - DowntimeScheduleUpdateRequest: - description: Schedule for the downtime. - oneOf: - - $ref: '#/components/schemas/DowntimeScheduleRecurrencesUpdateRequest' - - $ref: '#/components/schemas/DowntimeScheduleOneTimeCreateUpdateRequest' - IssuesSearchRequestDataAttributesOrderBy: - description: The attribute to sort the search results by. - enum: - - TOTAL_COUNT - - FIRST_SEEN - - IMPACTED_SESSIONS - - PRIORITY - example: IMPACTED_SESSIONS - type: string - x-enum-varnames: - - TOTAL_COUNT - - FIRST_SEEN - - IMPACTED_SESSIONS - - PRIORITY - IssuesSearchRequestDataAttributesPersona: - description: Persona for the search. Either track(s) or persona(s) must be specified. + SLOHistoryMetricsSeries: + description: |- + A representation of `metric` based SLO timeseries for the provided queries. + This is the same response type from `batch_query` endpoint. + properties: + count: + description: Count of submitted metrics. + example: 0 + format: int64 + type: integer + metadata: + $ref: '#/components/schemas/SLOHistoryMetricsSeriesMetadata' + sum: + description: Total sum of the query. + example: 0 + format: double + type: number + values: + description: The query values for each metric. + example: [] + items: + description: A metric name and its value. + format: double + type: number + type: array + required: + - count + - sum + - values + type: object + MonitorAlertTriggerAttributes: + description: Attributes for a monitor alert trigger. + properties: + event_id: + description: The event ID associated with the monitor alert. + example: '1234567890123456789' + type: string + event_ts: + description: The timestamp of the event in Unix milliseconds. + example: 1700000000000 + format: int64 + type: integer + monitor_id: + description: The monitor ID that triggered the alert. + example: 12345678 + format: int64 + type: integer + required: + - monitor_id + - event_id + - event_ts + type: object + TriggerType: + description: The type of trigger for the investigation. enum: - - ALL - - BROWSER - - MOBILE - - BACKEND - example: BACKEND + - monitor_alert_trigger + example: monitor_alert_trigger type: string x-enum-varnames: - - ALL - - BROWSER - - MOBILE - - BACKEND - IssuesSearchRequestDataAttributesTrack: - description: >- - Track of the events to query. Either track(s) or persona(s) must be - specified. + - MONITOR_ALERT_TRIGGER + JiraIssueResult: + description: Jira issue information + properties: + issue_id: + description: Jira issue ID + type: string + issue_key: + description: Jira issue key + type: string + issue_url: + description: Jira issue URL + type: string + project_key: + description: Jira project key + type: string + type: object + Case3rdPartyTicketStatus: + default: IN_PROGRESS + description: Case status enum: - - trace - - logs - - rum - example: trace + - IN_PROGRESS + - COMPLETED + - FAILED + example: COMPLETED + readOnly: true type: string x-enum-varnames: - - TRACE - - LOGS - - RUM - IssuesSearchResultIssueRelationship: - description: Relationship between the search result and the corresponding issue. + - IN_PROGRESS + - COMPLETED + - FAILED + ServiceNowTicketResult: + description: ServiceNow ticket information properties: - data: - $ref: '#/components/schemas/IssueReference' + sys_target_link: + description: Link to the Incident created on ServiceNow + type: string + type: object + NullableUserRelationshipData: + description: Relationship to user object. + nullable: true + properties: + id: + description: A unique identifier that represents the user. + example: 00000000-0000-0000-0000-000000000000 + type: string + type: + $ref: '#/components/schemas/UserResourceType' required: - - data + - id + - type type: object - IssueUserAttributes: - description: Object containing the information of a user. + CaseCountGroupValue: + description: A single value within a count group, representing the number of cases with that specific field value. properties: - email: - description: Email of the user. - example: user@company.com + count: + description: Count of cases for this value. + example: 42 + format: int64 + type: integer + value: + description: The group value. + example: OPEN type: string - handle: - description: Handle of the user. - example: User Handle + required: + - value + - count + type: object + ProjectColumnsConfigColumnsItems: + description: Configuration for a single column in a project board view. + properties: + sort: + $ref: '#/components/schemas/ProjectColumnsConfigColumnsItemsSort' + sort_field: + description: The field used to sort items in this column. type: string - name: - description: Name of the user. - example: User Name + type: + description: The type of column. type: string type: object - IssueUserType: - description: Type of the object - enum: - - user - example: user - type: string - x-enum-varnames: - - USER - IssueTeamAttributes: - description: Object containing the information of a team. + AutoCloseInactiveCases: + description: Auto-close inactive cases settings. properties: - handle: - description: The team's identifier. - example: team-handle + enabled: + description: Whether auto-close is enabled. + type: boolean + max_inactive_time_in_secs: + description: Maximum inactive time in seconds before auto-closing. + format: int64 + type: integer + type: object + AutoTransitionAssignedCases: + description: Auto-transition assigned cases settings. + properties: + auto_transition_assigned_cases_on_self_assigned: + description: Whether to auto-transition cases when self-assigned. + type: boolean + type: object + IntegrationIncident: + description: Incident integration settings. + properties: + auto_escalation_query: + description: Query for auto-escalation. type: string - name: - description: The name of the team. - example: Team Name + default_incident_commander: + description: Default incident commander. type: string - summary: - description: A brief summary of the team, derived from its description. - example: This is a team. + enabled: + description: Whether incident integration is enabled. + type: boolean + field_mappings: + description: List of mappings between incident fields and case fields. + items: + $ref: '#/components/schemas/IntegrationIncidentFieldMappingsItems' + type: array + incident_type: + description: Incident type. type: string + severity_config: + $ref: '#/components/schemas/IntegrationIncidentSeverityConfig' type: object - IssueTeamType: - description: Type of the object. - enum: - - team - example: team - type: string - x-enum-varnames: - - TEAM - IssueLanguage: - description: Programming language associated with the issue. - enum: - - BRIGHTSCRIPT - - C - - C_PLUS_PLUS - - C_SHARP - - CLOJURE - - DOT_NET - - ELIXIR - - ERLANG - - GO - - GROOVY - - HASKELL - - HCL - - JAVA - - JAVASCRIPT - - JVM - - KOTLIN - - OBJECTIVE_C - - PERL - - PHP - - PYTHON - - RUBY - - RUST - - SCALA - - SWIFT - - TERRAFORM - - TYPESCRIPT - - UNKNOWN - example: PYTHON - type: string - x-enum-varnames: - - BRIGHTSCRIPT - - C - - C_PLUS_PLUS - - C_SHARP - - CLOJURE - - DOT_NET - - ELIXIR - - ERLANG - - GO - - GROOVY - - HASKELL - - HCL - - JAVA - - JAVASCRIPT - - JVM - - KOTLIN - - OBJECTIVE_C - - PERL - - PHP - - PYTHON - - RUBY - - RUST - - SCALA - - SWIFT - - TERRAFORM - - TYPESCRIPT - - UNKNOWN - IssuePlatform: - description: Platform associated with the issue. - enum: - - ANDROID - - BACKEND - - BROWSER - - FLUTTER - - IOS - - REACT_NATIVE - - ROKU - - UNKNOWN - example: BACKEND - type: string - x-enum-varnames: - - ANDROID - - BACKEND - - BROWSER - - FLUTTER - - IOS - - REACT_NATIVE - - ROKU - - UNKNOWN - IssueState: - description: State of the issue - enum: - - OPEN - - ACKNOWLEDGED - - RESOLVED - - IGNORED - - EXCLUDED - example: RESOLVED - type: string - x-enum-varnames: - - OPEN - - ACKNOWLEDGED - - RESOLVED - - IGNORED - - EXCLUDED - IssueAssigneeRelationship: - description: Relationship between the issue and assignee. + IntegrationJira: + description: Jira integration settings. + properties: + auto_creation: + $ref: '#/components/schemas/IntegrationJiraAutoCreation' + enabled: + description: Whether Jira integration is enabled. + type: boolean + metadata: + $ref: '#/components/schemas/IntegrationJiraMetadata' + sync: + $ref: '#/components/schemas/IntegrationJiraSync' + type: object + IntegrationMonitor: + description: Monitor integration settings. + properties: + auto_resolve_enabled: + description: Whether auto-resolve is enabled. + type: boolean + case_type_id: + description: Case type ID for monitor integration. + type: string + enabled: + description: Whether monitor integration is enabled. + type: boolean + handle: + description: Monitor handle. + type: string + type: object + IntegrationOnCall: + description: On-Call integration settings. properties: - data: - $ref: '#/components/schemas/IssueUserReference' - required: - - data + auto_assign_on_call: + description: Whether to auto-assign on-call. + type: boolean + enabled: + description: Whether On-Call integration is enabled. + type: boolean + escalation_queries: + description: List of escalation queries for routing cases to on-call responders. + items: + $ref: '#/components/schemas/IntegrationOnCallEscalationQueriesItems' + type: array type: object - IssueCaseRelationship: - description: Relationship between the issue and case. + IntegrationServiceNow: + description: ServiceNow integration settings. properties: - data: - $ref: '#/components/schemas/IssueCaseReference' - required: - - data + assignment_group: + description: Assignment group. + type: string + auto_creation: + $ref: '#/components/schemas/IntegrationServiceNowAutoCreation' + enabled: + description: Whether ServiceNow integration is enabled. + type: boolean + instance_name: + description: ServiceNow instance name. + type: string + sync_config: + $ref: '#/components/schemas/IntegrationServiceNowSyncConfig' type: object - IssueTeamOwnersRelationship: - description: Relationship between the issue and teams. + ProjectNotificationSettings: + description: Project notification settings. properties: - data: - description: Array of teams that are owners of the issue. + destinations: + description: Notification destinations (1=email, 2=slack, 3=in-app). items: - $ref: '#/components/schemas/IssueTeamReference' + description: Notification channel identifier (1=email, 2=slack, 3=in-app). + format: int64 + type: integer type: array + enabled: + description: Whether notifications are enabled. + type: boolean + notify_on_case_assignment: + description: Whether to send a notification when a case is assigned. + type: boolean + notify_on_case_closed: + description: Whether to send a notification when a case is closed. + type: boolean + notify_on_case_comment: + description: Whether to send a notification when a comment is added to a case. + type: boolean + notify_on_case_comment_mention: + description: Whether to send a notification when a user is mentioned in a case comment. + type: boolean + notify_on_case_priority_change: + description: Whether to send a notification when a case's priority changes. + type: boolean + notify_on_case_status_change: + description: Whether to send a notification when a case's status changes. + type: boolean + notify_on_case_unassignment: + description: Whether to send a notification when a case is unassigned. + type: boolean + type: object + RelationshipToTeamLinkData: + description: Relationship between a link and a team + properties: + id: + description: The team link's identifier + example: f9bb8444-af7f-11ec-ac2c-da7ad0900001 + type: string + type: + $ref: '#/components/schemas/TeamLinkType' required: - - data + - id + - type type: object - IssueCaseAttributes: - description: Object containing the information of a case. + TeamRelationshipsLinks: + description: Links attributes. properties: - archived_at: - description: Timestamp of when the case was archived. - example: '2025-01-01T00:00:00Z' - format: date-time + related: + description: Related link. + example: /api/v2/team/c75a4a8e-20c7-11ee-a3a5-da7ad0900002/links type: string - closed_at: - description: Timestamp of when the case was closed. - example: '2025-01-01T00:00:00Z' - format: date-time + type: object + UserRelationshipData: + description: Relationship to user object. + properties: + id: + description: A unique identifier that represents the user. + example: 00000000-0000-0000-0000-000000000000 type: string - created_at: - description: Timestamp of when the case was created. - example: '2025-01-01T00:00:00Z' - format: date-time + type: + $ref: '#/components/schemas/UserResourceType' + required: + - id + - type + type: object + CaseNotificationRuleRecipientData: + description: Recipient data + properties: + channel: + description: Slack channel name type: string - creation_source: - description: Source of the case creation. - example: ERROR_TRACKING + channel_id: + description: Slack channel ID type: string - description: - description: Description of the case. + channel_name: + description: Microsoft Teams channel name type: string - due_date: - description: Due date of the case. - example: '2025-01-01' + connector_name: + description: Microsoft Teams connector name type: string - insights: - description: Insights of the case. - items: - $ref: '#/components/schemas/IssueCaseInsight' - type: array - jira_issue: - $ref: '#/components/schemas/IssueCaseJiraIssue' - key: - description: Key of the case. - example: ET-123 + email: + description: Email address type: string - modified_at: - description: Timestamp of when the case was last modified. - example: '2025-01-01T00:00:00Z' - format: date-time + name: + description: HTTP webhook name type: string - priority: - $ref: '#/components/schemas/CasePriority' - status: - $ref: '#/components/schemas/CaseStatus' - title: - description: Title of the case. - example: 'Error: HTTP error' + service_name: + description: PagerDuty service name type: string - type: - description: Type of the case. - example: ERROR_TRACKING_ISSUE + team_id: + description: Microsoft Teams team ID + type: string + team_name: + description: Microsoft Teams team name + type: string + tenant_id: + description: Microsoft Teams tenant ID + type: string + tenant_name: + description: Microsoft Teams tenant name + type: string + workspace: + description: Slack workspace name + type: string + workspace_id: + description: Slack workspace ID type: string type: object - IssueCaseRelationships: - description: Resources related to a case. - properties: - assignee: - $ref: '#/components/schemas/NullableUserRelationship' - created_by: - $ref: '#/components/schemas/NullableUserRelationship' - modified_by: - $ref: '#/components/schemas/NullableUserRelationship' - project: - $ref: '#/components/schemas/ProjectRelationship' - type: object - IssueCaseResourceType: - description: Type of the object. - enum: - - case - example: case - type: string - x-enum-varnames: - - CASE - EventAttributes: - description: Object description of attributes from your event. + CaseNotificationRuleTriggerData: + description: Trigger data properties: - aggregation_key: - description: Aggregation key of the event. + change_type: + description: Change type (added, removed, changed) type: string - date_happened: - description: >- - POSIX timestamp of the event. Must be sent as an integer (no - quotation marks). - - Limited to events no older than 18 hours. - format: int64 - type: integer - device_name: - description: A device name. + field: + description: Field name for attribute value changed trigger type: string - duration: - description: >- - The duration between the triggering of the event and its recovery in - nanoseconds. - format: int64 - type: integer - event_object: - description: The event title. - example: Did you hear the news today? + from_status: + description: Status ID to transition from type: string - evt: - $ref: '#/components/schemas/Event' - hostname: - description: |- - Host name to associate with the event. - Any tags associated with the host are also applied to this event. + from_status_name: + description: Status name to transition from type: string - monitor: - $ref: '#/components/schemas/MonitorType' - monitor_groups: - description: List of groups referred to in the event. - items: - description: Group referred to in the event. - type: string - nullable: true - type: array - monitor_id: - description: >- - ID of the monitor that triggered the event. When an event isn't - related to a monitor, this field is empty. - format: int64 - nullable: true - type: integer - priority: - $ref: '#/components/schemas/EventPriority' - related_event_id: - description: Related event ID. - format: int64 - type: integer - service: - description: Service that triggered the event. - example: datadog-api + to_status: + description: Status ID to transition to type: string - source_type_name: - description: >- - The type of event being posted. - - For example, `nagios`, `hudson`, `jenkins`, `my_apps`, `chef`, - `puppet`, `git` or `bitbucket`. - - The list of standard source attribute values is [available - here](https://docs.datadoghq.com/integrations/faq/list-of-api-source-attribute-value). + to_status_name: + description: Status name to transition to type: string - sourcecategory: - description: >- - Identifier for the source of the event, such as a monitor alert, an - externally-submitted event, or an integration. + type: object + AutomationRuleActionData: + description: Configuration for the action to execute, dependent on the action type. + properties: + agent_type: + description: The type of AI agent to assign. Required when the action type is `ASSIGN_AGENT`. type: string - status: - $ref: '#/components/schemas/EventStatusType' - tags: - description: A list of tags to apply to the event. - example: - - environment:test - items: - description: A tag. - type: string - type: array - timestamp: - description: POSIX timestamp of your event in milliseconds. - example: 1652274265000 - format: int64 - type: integer - title: - description: The event title. - example: Oh boy! + assigned_agent_id: + description: The identifier of the AI agent to assign to the case. Required when the action type is `ASSIGN_AGENT`. + type: string + handle: + description: The handle of the Datadog workflow to execute. Required when the action type is `EXECUTE_WORKFLOW`. + example: workflow-handle-123 type: string type: object - EventPayloadAttributes: - description: >- - JSON object for category-specific attributes. Schema is different per - event category. - oneOf: - - $ref: '#/components/schemas/ChangeEventCustomAttributes' - - $ref: '#/components/schemas/AlertEventCustomAttributes' - EventCategory: - description: Event category identifying the type of event. - enum: - - change - - alert - example: change - type: string - x-enum-varnames: - - CHANGE - - ALERT - EventPayloadIntegrationId: - description: Integration ID sourced from integration manifests. + AutomationRuleActionType: + description: The type of automated action to perform when the rule triggers. `EXECUTE_WORKFLOW` runs a Datadog workflow; `ASSIGN_AGENT` assigns an AI agent to the case. enum: - - custom-events - example: custom-events + - EXECUTE_WORKFLOW + - ASSIGN_AGENT + example: EXECUTE_WORKFLOW type: string x-enum-varnames: - - CUSTOM_EVENTS - EventCreateResponseAttributesAttributes: - description: JSON object for category-specific attributes. - properties: - evt: - $ref: '#/components/schemas/EventCreateResponseAttributesAttributesEvt' - type: object - V2EventAttributesAttributes: - description: JSON object for category-specific attributes. - oneOf: - - $ref: '#/components/schemas/ChangeEventAttributes' - - $ref: '#/components/schemas/AlertEventAttributes' - IncidentFieldAttributes: - description: >- - Dynamic fields for which selections can be made, with field names as - keys. - oneOf: - - $ref: '#/components/schemas/IncidentFieldAttributesSingleValue' - - $ref: '#/components/schemas/IncidentFieldAttributesMultipleValue' - IncidentNonDatadogCreator: - description: Incident's non Datadog creator. - nullable: true + - EXECUTE_WORKFLOW + - ASSIGN_AGENT + AutomationRuleTriggerData: + description: Additional configuration for the trigger, dependent on the trigger type. For `STATUS_TRANSITIONED` triggers, specify `from_status_name` and `to_status_name`. For `ATTRIBUTE_VALUE_CHANGED` triggers, specify `field` and `change_type`. properties: - image_48_px: - description: Non Datadog creator `48px` image. + approval_type: + description: The approval outcome to match. Used with `CASE_REVIEW_APPROVED` triggers. type: string - name: - description: Non Datadog creator name. + change_type: + description: 'The kind of attribute change to match. Allowed values: `VALUE_ADDED`, `VALUE_DELETED`, `ANY_CHANGES`. Used with `ATTRIBUTE_VALUE_CHANGED` triggers.' + type: string + field: + description: The case attribute field name to monitor for changes. Used with `ATTRIBUTE_VALUE_CHANGED` triggers. + type: string + from_status_name: + description: The originating status name. Used with `STATUS_TRANSITIONED` triggers to match transitions from this status. + type: string + to_status_name: + description: The destination status name. Used with `STATUS_TRANSITIONED` triggers to match transitions to this status. type: string type: object - IncidentNotificationHandle: - description: A notification handle that will be notified at incident creation. + AutomationRuleTriggerType: + description: The case event that activates the automation rule. + enum: + - CASE_CREATED + - STATUS_TRANSITIONED + - ATTRIBUTE_VALUE_CHANGED + - EVENT_CORRELATION_SIGNAL_CORRELATED + - CASE_REVIEW_APPROVED + - COMMENT_ADDED + example: CASE_CREATED + type: string + x-enum-varnames: + - CASE_CREATED + - STATUS_TRANSITIONED + - ATTRIBUTE_VALUE_CHANGED + - EVENT_CORRELATION_SIGNAL_CORRELATED + - CASE_REVIEW_APPROVED + - COMMENT_ADDED + CustomAttributeSelectOption: + description: A selectable option for a SELECT-type custom attribute. properties: - display_name: - description: The name of the notified handle. - example: Jane Doe + value: + description: Option value. + example: us-east-1 type: string - handle: - description: >- - The handle used for the notification. This includes an email - address, Slack channel, or workflow. - example: '@test.user@test.com' + required: + - value + type: object + TimelineCellAuthorUser: + description: A user who authored a timeline cell. + properties: + content: + $ref: '#/components/schemas/TimelineCellAuthorUserContent' + type: + $ref: '#/components/schemas/TimelineCellAuthorUserType' + type: object + TimelineCellContentComment: + description: The content of a comment timeline cell. + properties: + message: + description: The text content of the comment. Supports Markdown formatting. type: string type: object - IncidentSeverity: - description: The incident severity. + CustomAttributeStringValue: + description: A string value for a TEXT, URL, or SELECT-type custom attribute. + type: string + CustomAttributeMultiStringValue: + description: An array of string values for a multi-value TEXT, URL, or SELECT-type custom attribute. + items: + description: TEXT/URL/NUMBER/SELECT Value + type: string + type: array + CustomAttributeNumberValue: + description: A numeric value for a NUMBER-type custom attribute. + format: double + type: number + CustomAttributeMultiNumberValue: + description: An array of numeric values for a multi-value NUMBER-type custom attribute. + items: + description: NUMBER value + format: double + type: number + type: array + CaseInsightType: + description: The type of Datadog resource linked to the case as contextual evidence. Each type corresponds to a different Datadog product signal (for example, a security finding, a monitor alert, or an incident). enum: - - UNKNOWN - - SEV-0 - - SEV-1 - - SEV-2 - - SEV-3 - - SEV-4 - - SEV-5 - example: UNKNOWN + - SECURITY_SIGNAL + - MONITOR + - EVENT_CORRELATION + - ERROR_TRACKING + - CLOUD_COST_RECOMMENDATION + - INCIDENT + - SENSITIVE_DATA_SCANNER_ISSUE + - EVENT + - WATCHDOG_STORY + - WIDGET + - SECURITY_FINDING + - INSIGHT_SCORECARD_CAMPAIGN + - RESOURCE_POLICY + - APM_RECOMMENDATION + - SCM_URL + - PROFILING_DOWNSIZING_EXPERIMENT + example: SECURITY_SIGNAL type: string x-enum-varnames: - - UNKNOWN - - SEV_0 - - SEV_1 - - SEV_2 - - SEV_3 - - SEV_4 - - SEV_5 - RelationshipToIncidentAttachment: - description: A relationship reference for attachments. + - SECURITY_SIGNAL + - MONITOR + - EVENT_CORRELATION + - ERROR_TRACKING + - CLOUD_COST_RECOMMENDATION + - INCIDENT + - SENSITIVE_DATA_SCANNER_ISSUE + - EVENT + - WATCHDOG_STORY + - WIDGET + - SECURITY_FINDING + - INSIGHT_SCORECARD_CAMPAIGN + - RESOURCE_POLICY + - APM_RECOMMENDATION + - SCM_URL + - PROFILING_DOWNSIZING_EXPERIMENT + ChangeRequestDecisionRelationshipData: + description: Change request decision relationship data. properties: - data: - description: An array of incident attachments. - items: - $ref: '#/components/schemas/RelationshipToIncidentAttachmentData' - type: array + id: + description: The decision UUID. + example: decision-id-0 + type: string + type: + $ref: '#/components/schemas/ChangeRequestDecisionResourceType' required: - - data + - id + - type type: object - NullableRelationshipToUser: - description: Relationship to user. + ChangeRequestUserRelationshipData: + description: User relationship data. nullable: true properties: - data: - $ref: '#/components/schemas/NullableRelationshipToUserData' + id: + description: The user UUID. + example: 00000000-0000-0000-0000-000000000000 + type: string + type: + description: The user resource type. + example: user + type: string required: - - data + - id + - type type: object - RelationshipToUser: - description: Relationship to user. + ChangeRequestIncludedUserAttributes: + description: Attributes of an included user. properties: - data: - $ref: '#/components/schemas/RelationshipToUserData' + email: + description: The email of the user. + example: john.doe@example.com + type: string + handle: + description: The handle of the user. + example: john.doe@example.com + type: string + name: + description: The name of the user. + example: John Doe + type: string required: - - data + - name + - email + - handle type: object - RelationshipToIncidentImpacts: - description: Relationship to impacts. + ChangeRequestDecisionResponseAttributes: + description: Attributes of a change request decision in a response. properties: - data: - description: An array of incident impacts. - items: - $ref: '#/components/schemas/RelationshipToIncidentImpactData' - type: array + change_request_status: + $ref: '#/components/schemas/ChangeRequestDecisionStatusType' + decided_at: + description: Timestamp of when the decision was made. + example: '2024-01-02T00:00:00Z' + format: date-time + type: string + decision_reason: + description: The reason for the decision. + example: LGTM + type: string + deleted_at: + description: Timestamp of when the decision was deleted. + example: '0001-01-01T00:00:00Z' + format: date-time + type: string + request_reason: + description: The reason for requesting the decision. + example: Please review this change + type: string + requested_at: + description: Timestamp of when the decision was requested. + example: '2024-01-01T00:00:00Z' + format: date-time + type: string required: - - data + - change_request_status + - request_reason + - decision_reason + - requested_at + - decided_at + - deleted_at type: object - RelationshipToIncidentIntegrationMetadatas: - description: A relationship reference for multiple integration metadata objects. - example: - data: - - id: 00000000-abcd-0005-0000-000000000000 - type: incident_integrations - - id: 00000000-abcd-0006-0000-000000000000 - type: incident_integrations + ChangeRequestDecisionRelationships: + description: Relationships of a change request decision. properties: - data: - description: Integration metadata relationship array - example: - - id: 00000000-abcd-0003-0000-000000000000 - type: incident_integrations - - id: 00000000-abcd-0004-0000-000000000000 - type: incident_integrations - items: - $ref: '#/components/schemas/RelationshipToIncidentIntegrationMetadataData' - type: array - required: - - data - type: object - RelationshipToIncidentResponders: - description: Relationship to incident responders. + modified_by: + $ref: '#/components/schemas/ChangeRequestUserRelationship' + requested_by_user: + $ref: '#/components/schemas/ChangeRequestUserRelationship' + requested_user: + $ref: '#/components/schemas/ChangeRequestUserRelationship' + required: + - requested_user + - requested_by_user + - modified_by + type: object + ChangeRequestDecisionStatusType: + description: The status of a change request decision. + enum: + - REQUESTED + - APPROVED + - DECLINED + example: REQUESTED + type: string + x-enum-varnames: + - REQUESTED + - APPROVED + - DECLINED + DowntimeMonitorIdentifierId: + additionalProperties: {} + description: Object of the monitor identifier. properties: - data: - description: An array of incident responders. - items: - $ref: '#/components/schemas/RelationshipToIncidentResponderData' - type: array + monitor_id: + description: ID of the monitor to prevent notifications. + example: 123 + format: int64 + type: integer required: - - data + - monitor_id type: object - RelationshipToIncidentUserDefinedFields: - description: Relationship to incident user defined fields. + DowntimeMonitorIdentifierTags: + additionalProperties: {} + description: Object of the monitor tags. properties: - data: - description: An array of user defined fields. + monitor_tags: + description: |- + A list of monitor tags. For example, tags that are applied directly to monitors, + not tags that are used in monitor queries (which are filtered by the scope parameter), to which the downtime applies. + The resulting downtime applies to monitors that match **all** provided monitor tags. Setting `monitor_tags` + to `[*]` configures the downtime to mute all monitors for the given scope. + example: + - service:postgres + - team:frontend items: - $ref: '#/components/schemas/RelationshipToIncidentUserDefinedFieldData' + description: A list of monitor tags. + example: service:postgres + type: string + minItems: 1 type: array required: - - data - type: object - IncidentUserAttributes: - description: Attributes of user object returned by the API. - properties: - email: - description: Email of the user. - type: string - handle: - description: Handle of the user. - type: string - icon: - description: URL of the user's icon. - type: string - name: - description: Name of the user. - nullable: true - type: string - uuid: - description: UUID of the user. - type: string + - monitor_tags type: object - IncidentTimelineCellCreateAttributes: - description: The timeline cell's attributes for a create request. - oneOf: - - $ref: '#/components/schemas/IncidentTimelineCellMarkdownCreateAttributes' - IncidentNotificationRuleConditions: - description: The conditions that trigger this notification rule. - example: - - field: severity - values: - - SEV-1 - - SEV-2 - items: - $ref: '#/components/schemas/IncidentNotificationRuleConditionsItems' - type: array - IncidentNotificationRuleHandles: - description: The notification handles (targets) for this rule. - example: - - '@team-email@company.com' - - '@slack-channel' - items: - description: A notification handle (email, Slack channel, etc.). - type: string - type: array - IncidentNotificationRuleRenotifyOn: - description: List of incident fields that trigger re-notification when changed. - example: - - status - - severity - items: - description: An incident field name. - type: string - type: array - IncidentNotificationRuleAttributesVisibility: - description: The visibility of the notification rule. + DowntimeNotifyEndStateTypes: + description: State that will trigger a monitor notification when the `notify_end_types` action occurs. enum: - - all - - organization - - private - example: organization + - alert + - no data + - warn + example: alert type: string x-enum-varnames: - - ALL - - ORGANIZATION - - PRIVATE - RelationshipToIncidentType: - description: Relationship to an incident type. + - ALERT + - NO_DATA + - WARN + DowntimeNotifyEndStateActions: + description: Action that will trigger a monitor notification if the downtime is in the `notify_end_types` state. + enum: + - canceled + - expired + example: canceled + type: string + x-enum-varnames: + - CANCELED + - EXPIRED + DowntimeScheduleRecurrencesResponse: + description: A recurring downtime schedule definition. properties: - data: - $ref: '#/components/schemas/RelationshipToIncidentTypeData' + current_downtime: + $ref: '#/components/schemas/DowntimeScheduleCurrentDowntimeResponse' + recurrences: + description: A list of downtime recurrences. + items: + $ref: '#/components/schemas/DowntimeScheduleRecurrenceResponse' + maxItems: 5 + minItems: 1 + type: array + timezone: + default: UTC + description: |- + The timezone in which to schedule the downtime. This affects recurring start and end dates. + Must match `display_timezone`. + example: America/New_York + type: string required: - - data + - recurrences type: object - RelationshipToIncidentNotificationTemplate: - description: A relationship reference to a notification template. + DowntimeScheduleOneTimeResponse: + description: A one-time downtime definition. properties: - data: - $ref: '#/components/schemas/RelationshipToIncidentNotificationTemplateData' + end: + description: ISO-8601 Datetime to end the downtime. + example: '2020-01-02T03:04:00.000Z' + format: date-time + nullable: true + type: string + start: + description: ISO-8601 Datetime to start the downtime. + example: '2020-01-02T03:04:00.000Z' + format: date-time + type: string required: - - data + - start type: object - IncidentNotificationRuleCreateAttributesVisibility: - description: The visibility of the notification rule. - enum: - - all - - organization - - private - example: organization - type: string - x-enum-varnames: - - ALL - - ORGANIZATION - - PRIVATE - GoogleMeetConfigurationReference: - description: A reference to a Google Meet Configuration resource. + DowntimeRelationshipsCreatedByData: + description: Data for the user who created the downtime. nullable: true properties: - data: - $ref: '#/components/schemas/GoogleMeetConfigurationReferenceData' - required: - - data + id: + description: User ID of the downtime creator. + example: 00000000-0000-1234-0000-000000000000 + type: string + type: + $ref: '#/components/schemas/UsersType' type: object - MicrosoftTeamsConfigurationReference: - description: A reference to a Microsoft Teams Configuration resource. + DowntimeRelationshipsMonitorData: + description: Data for the monitor. nullable: true properties: - data: - $ref: '#/components/schemas/MicrosoftTeamsConfigurationReferenceData' - required: - - data + id: + description: Monitor ID of the downtime. + example: '12345' + type: string + type: + $ref: '#/components/schemas/DowntimeIncludedMonitorType' type: object - ZoomConfigurationReference: - description: A reference to a Zoom configuration resource. - nullable: true + RelationshipToOrganization: + description: Relationship to an organization. properties: data: - $ref: '#/components/schemas/ZoomConfigurationReferenceData' + $ref: '#/components/schemas/RelationshipToOrganizationData' required: - data type: object - IncidentSearchResponseFacetsData: - description: Facet data for incidents returned by a search query. + RelationshipToOrganizations: + description: Relationship to organizations. properties: - commander: - description: Facet data for incident commander users. - items: - $ref: '#/components/schemas/IncidentSearchResponseUserFacetData' - type: array - created_by: - description: Facet data for incident creator users. - items: - $ref: '#/components/schemas/IncidentSearchResponseUserFacetData' - type: array - fields: - description: Facet data for incident property fields. - items: - $ref: '#/components/schemas/IncidentSearchResponsePropertyFieldFacetData' - type: array - impact: - description: Facet data for incident impact attributes. - items: - $ref: '#/components/schemas/IncidentSearchResponseFieldFacetData' - type: array - last_modified_by: - description: Facet data for incident last modified by users. - items: - $ref: '#/components/schemas/IncidentSearchResponseUserFacetData' - type: array - postmortem: - description: Facet data for incident postmortem existence. - items: - $ref: '#/components/schemas/IncidentSearchResponseFieldFacetData' - type: array - responder: - description: Facet data for incident responder users. - items: - $ref: '#/components/schemas/IncidentSearchResponseUserFacetData' - type: array - severity: - description: Facet data for incident severity attributes. - items: - $ref: '#/components/schemas/IncidentSearchResponseFieldFacetData' - type: array - state: - description: Facet data for incident state attributes. - items: - $ref: '#/components/schemas/IncidentSearchResponseFieldFacetData' - type: array - time_to_repair: - description: Facet data for incident time to repair metrics. - items: - $ref: '#/components/schemas/IncidentSearchResponseNumericFacetData' - type: array - time_to_resolve: - description: Facet data for incident time to resolve metrics. + data: + description: Relationships to organization objects. + example: [] items: - $ref: '#/components/schemas/IncidentSearchResponseNumericFacetData' + $ref: '#/components/schemas/RelationshipToOrganizationData' type: array - type: object - IncidentSearchResponseIncidentsData: - description: Incident returned by the search. - properties: - data: - $ref: '#/components/schemas/IncidentResponseData' required: - data type: object - RelationshipToIncidentPostmortem: - description: A relationship reference for postmortems. - example: - data: - id: 00000000-0000-abcd-3000-000000000000 - type: incident_postmortems + RelationshipToUsers: + description: Relationship to users. properties: data: - $ref: '#/components/schemas/RelationshipToIncidentPostmortemData' - required: - - data - type: object - IncidentAttachmentPostmortemAttributes: - description: The attributes object for a postmortem attachment. - properties: - attachment: - $ref: >- - #/components/schemas/IncidentAttachmentsPostmortemAttributesAttachmentObject - attachment_type: - $ref: '#/components/schemas/IncidentAttachmentPostmortemAttachmentType' - required: - - attachment_type - - attachment - type: object - IncidentAttachmentLinkAttributes: - description: The attributes object for a link attachment. - properties: - attachment: - $ref: >- - #/components/schemas/IncidentAttachmentLinkAttributesAttachmentObject - attachment_type: - $ref: '#/components/schemas/IncidentAttachmentLinkAttachmentType' - modified: - description: Timestamp when the incident attachment link was last modified. - format: date-time - readOnly: true - type: string - required: - - attachment_type - - attachment - type: object - IncidentIntegrationMetadataMetadata: - description: Incident integration metadata's metadata attribute. - oneOf: - - $ref: '#/components/schemas/SlackIntegrationMetadata' - - $ref: '#/components/schemas/JiraIntegrationMetadata' - - $ref: '#/components/schemas/MSTeamsIntegrationMetadata' - IncidentTodoAssigneeArray: - description: Array of todo assignees. - example: - - '@test.user@test.com' - items: - $ref: '#/components/schemas/IncidentTodoAssignee' - type: array - EscalationPolicyCreateRequestDataAttributesStepsItems: - description: >- - Defines a single escalation step within an escalation policy creation - request. Contains assignment strategy, escalation timeout, and a list of - targets. - properties: - assignment: - $ref: '#/components/schemas/EscalationPolicyStepAttributesAssignment' - escalate_after_seconds: - description: Defines how many seconds to wait before escalating to the next step. - example: 3600 - format: int64 - type: integer - targets: - description: Specifies the collection of escalation targets for this step. - example: - - users + description: Relationships to user objects. + example: [] items: - $ref: '#/components/schemas/EscalationPolicyStepTarget' + $ref: '#/components/schemas/RelationshipToUserData' type: array required: - - targets + - data type: object - DataRelationshipsTeams: - description: Associates teams with this schedule in a data structure. + RelationshipToRoles: + description: Relationship to roles. properties: data: - description: An array of team references for this schedule. + description: An array containing type and the unique identifier of a role. items: - $ref: '#/components/schemas/DataRelationshipsTeamsDataItems' + $ref: '#/components/schemas/RelationshipToRoleData' type: array type: object - EscalationPolicyDataRelationshipsSteps: - description: >- - Defines the relationship to a collection of steps within an escalation - policy. Contains an array of step data references. + DowntimeScheduleRecurrencesCreateRequest: + description: A recurring downtime schedule definition. properties: - data: - description: >- - An array of references to the steps defined in this escalation - policy. + recurrences: + description: A list of downtime recurrences. items: - $ref: >- - #/components/schemas/EscalationPolicyDataRelationshipsStepsDataItems + $ref: '#/components/schemas/DowntimeScheduleRecurrenceCreateUpdateRequest' type: array + timezone: + default: UTC + description: The timezone in which to schedule the downtime. + example: America/New_York + type: string + required: + - recurrences type: object - TeamReferenceAttributes: - description: >- - Encapsulates the basic attributes of a Team reference, such as name, - handle, and an optional avatar or description. + DowntimeScheduleOneTimeCreateUpdateRequest: + additionalProperties: false + description: A one-time downtime definition. properties: - avatar: - description: URL or reference for the team's avatar (if available). - type: string - description: - description: A short text describing the team. - type: string - handle: - description: A unique handle/slug for the team. + end: + description: |- + ISO-8601 Datetime to end the downtime. Must include a UTC offset of zero. If not provided, the + downtime continues forever. + example: '2020-01-02T03:04:00.000Z' + format: date-time + nullable: true type: string - name: - description: The full, human-readable name of the team. + start: + description: |- + ISO-8601 Datetime to start the downtime. Must include a UTC offset of zero. If not provided, the + downtime starts the moment it is created. + example: '2020-01-02T03:04:00.000Z' + format: date-time + nullable: true type: string type: object - TeamReferenceType: - default: teams - description: Teams resource type. - enum: - - teams - example: teams - type: string - x-enum-varnames: - - TEAMS - EscalationPolicyStepAttributes: - description: >- - Defines attributes for an escalation policy step, such as assignment - strategy and escalation timeout. - properties: - assignment: - $ref: '#/components/schemas/EscalationPolicyStepAttributesAssignment' - escalate_after_seconds: - description: >- - Specifies how many seconds to wait before escalating to the next - step. - format: int64 - type: integer + DowntimeScheduleRecurrencesUpdateRequest: + additionalProperties: false + description: A recurring downtime schedule definition. + properties: + recurrences: + description: A list of downtime recurrences. + items: + $ref: '#/components/schemas/DowntimeScheduleRecurrenceCreateUpdateRequest' + type: array + timezone: + default: UTC + description: The timezone in which to schedule the downtime. + example: America/New_York + type: string type: object - EscalationPolicyStepRelationships: - description: Represents the relationship of an escalation policy step to its targets. + IssueReference: + description: The issue the search result corresponds to. properties: - targets: - $ref: '#/components/schemas/EscalationTargets' + id: + description: Issue identifier. + example: c1726a66-1f64-11ee-b338-da7ad0900002 + type: string + type: + $ref: '#/components/schemas/IssueType' + required: + - id + - type type: object - EscalationPolicyStepType: - default: steps - description: Indicates that the resource is of type `steps`. - enum: - - steps - example: steps - type: string - x-enum-varnames: - - STEPS - EscalationPolicyUserAttributes: - description: >- - Provides basic user information for an escalation policy, including a - name and email address. + IssueUserReference: + description: The user the issue is assigned to. properties: - email: - description: The user's email address. - example: jane.doe@example.com + id: + description: User identifier. + example: 87cb11a0-278c-440a-99fe-701223c80296 type: string - name: - description: The user's name. - example: Jane Doe + type: + $ref: '#/components/schemas/IssueUserType' + required: + - id + - type + type: object + IssueCaseReference: + description: The case the issue is attached to. + properties: + id: + description: Case identifier. + example: 2841440d-e780-4fe2-96cd-6a8c1d194da5 type: string - status: - $ref: '#/components/schemas/UserAttributesStatus' + type: + $ref: '#/components/schemas/IssueCaseResourceType' + required: + - id + - type type: object - EscalationPolicyUserType: - default: users - description: Users resource type. - enum: - - users - example: users - type: string - x-enum-varnames: - - USERS - EscalationPolicyUpdateRequestDataAttributesStepsItems: - description: >- - Defines a single escalation step within an escalation policy update - request. Contains assignment strategy, escalation timeout, an optional - step ID, and a list of targets. + IssueTeamReference: + description: A team that owns the issue. properties: - assignment: - $ref: '#/components/schemas/EscalationPolicyStepAttributesAssignment' - escalate_after_seconds: - description: Defines how many seconds to wait before escalating to the next step. - example: 3600 - format: int64 - type: integer id: - description: Specifies the unique identifier of this step. - example: 00000000-aba1-0000-0000-000000000000 + description: Team identifier. + example: 221b0179-6447-4d03-91c3-3ca98bf60e8a type: string - targets: - description: Specifies the collection of escalation targets for this step. - items: - $ref: '#/components/schemas/EscalationPolicyStepTarget' - type: array + type: + $ref: '#/components/schemas/IssueTeamType' required: - - targets + - id + - type type: object - CreatePageRequestDataAttributesTarget: - description: Information about the target to notify (such as a team or user). + IssueCaseInsight: + description: Insight of the case. properties: - identifier: - description: Identifier for the target (for example, team handle or user ID). + ref: + description: Reference of the insight. + example: /error-tracking?issueId=2841440d-e780-4fe2-96cd-6a8c1d194da5 + type: string + resource_id: + description: Insight identifier. + example: 2841440d-e780-4fe2-96cd-6a8c1d194da5 type: string type: - $ref: '#/components/schemas/OnCallPageTargetType' + description: Type of the insight. + example: ERROR_TRACKING + type: string type: object - PageUrgency: - default: high - description: On-Call Page urgency level. - enum: - - low - - high - example: high - type: string - x-enum-varnames: - - LOW - - HIGH - ScheduleCreateRequestDataAttributesLayersItems: - description: >- - Describes a schedule layer, including rotation intervals, members, - restrictions, and timeline settings. + IssueCaseJiraIssue: + description: Jira issue of the case. properties: - effective_date: - description: The date/time when this layer becomes active (in ISO 8601). - example: '2025-01-01T00:00:00Z' - format: date-time + error_message: + description: Error message set when the Jira issue creation fails. + example: '' type: string - end_date: - description: >- - The date/time after which this layer no longer applies (in ISO - 8601). - format: date-time + result: + $ref: '#/components/schemas/IssueCaseJiraIssueResult' + status: + description: Creation status of the Jira issue. + example: COMPLETED + type: string + type: object + IssueCaseLinearIssue: + description: Linear issue of the case. + properties: + error_message: + description: Error message set when the Linear issue creation fails. + example: '' + type: string + result: + $ref: '#/components/schemas/IssueCaseLinearIssueResult' + status: + description: Creation status of the Linear issue. + example: COMPLETED + type: string + type: object + Event: + description: The metadata associated with a request. + properties: + id: + description: Event ID. + example: '6509751066204996294' type: string - interval: - $ref: '#/components/schemas/LayerAttributesInterval' - members: - description: A list of members who participate in this layer's rotation. - items: - $ref: >- - #/components/schemas/ScheduleRequestDataAttributesLayersItemsMembersItems - type: array name: - description: The name of this layer. - example: Primary On-Call Layer + description: The event name. type: string - restrictions: - description: >- - Zero or more time-based restrictions (for example, only weekdays, - during business hours). - items: - $ref: '#/components/schemas/TimeRestriction' - type: array - rotation_start: - description: The date/time when the rotation for this layer starts (in ISO 8601). - example: '2025-01-01T00:00:00Z' - format: date-time + source_id: + description: Event source ID. + example: 36 + format: int64 + type: integer + type: + description: Event type. + example: error_tracking_alert type: string - required: - - name - - interval - - rotation_start - - effective_date - - members type: object - ScheduleDataRelationshipsLayers: - description: Associates layers with this schedule in a data structure. + MonitorType: + description: Attributes from the monitor that triggered the event. + nullable: true properties: - data: - description: An array of layer references for this schedule. + created_at: + description: The POSIX timestamp of the monitor's creation in nanoseconds. + example: 1646318692000 + format: int64 + type: integer + group_status: + description: Monitor group status used when there is no `result_groups`. + format: int32 + maximum: 2147483647 + type: integer + groups: + description: Groups to which the monitor belongs. items: - $ref: '#/components/schemas/ScheduleDataRelationshipsLayersDataItems' + description: A group. + type: string type: array - type: object - LayerAttributes: - description: >- - Describes key properties of a Layer, including rotation details, name, - start/end times, and any restrictions. - properties: - effective_date: - description: When the layer becomes active (ISO 8601). - format: date-time - type: string - end_date: - description: When the layer ceases to be active (ISO 8601). - format: date-time + id: + description: The monitor ID. + format: int64 + type: integer + message: + description: The monitor message. type: string - interval: - $ref: '#/components/schemas/LayerAttributesInterval' + modified: + description: The monitor's last-modified timestamp. + format: int64 + type: integer name: - description: The name of this layer. - example: Weekend Layer + description: The monitor name. type: string - restrictions: - description: >- - An optional list of time restrictions for when this layer is in - effect. + query: + description: The query that triggers the alert. + type: string + tags: + description: A list of tags attached to the monitor. + example: + - environment:test items: - $ref: '#/components/schemas/TimeRestriction' + description: A tag. + type: string type: array - rotation_start: - description: The date/time when the rotation starts (ISO 8601). - format: date-time + templated_name: + description: The templated name of the monitor before resolving any template variables. + type: string + type: + description: The monitor type. type: string type: object - LayerRelationships: - description: >- - Holds references to objects related to the Layer entity, such as its - members. - properties: - members: - $ref: '#/components/schemas/LayerRelationshipsMembers' - type: object - LayerType: - default: layers - description: Layers resource type. - enum: - - layers - example: layers - type: string - x-enum-varnames: - - LAYERS - ScheduleMemberRelationships: - description: >- - Defines relationships for a schedule member, primarily referencing a - single user. - properties: - user: - $ref: '#/components/schemas/ScheduleMemberRelationshipsUser' - type: object - ScheduleMemberType: - default: members - description: Schedule Members resource type. + EventPriority: + description: The priority of the event's monitor. For example, `normal` or `low`. enum: - - members - example: members + - normal + - low + example: normal + nullable: true type: string x-enum-varnames: - - MEMBERS - ScheduleUserAttributes: - description: >- - Provides basic user information for a schedule, including a name and - email address. - properties: - email: - description: The user's email address. - example: jane.doe@example.com - type: string - name: - description: The user's name. - example: Jane Doe - type: string - status: - $ref: '#/components/schemas/UserAttributesStatus' - type: object - ScheduleUserType: - default: users - description: Users resource type. + - NORMAL + - LOW + EventStatusType: + description: |- + If an alert event is enabled, its status is one of the following: + `failure`, `error`, `warning`, `info`, `success`, `user_update`, + `recommendation`, or `snapshot`. enum: - - users - example: users + - failure + - error + - warning + - info + - success + - user_update + - recommendation + - snapshot + example: info type: string x-enum-varnames: - - USERS - ScheduleUpdateRequestDataAttributesLayersItems: - description: >- - Represents a layer within a schedule update, including rotation details, - members, - - and optional restrictions. + - FAILURE + - ERROR + - WARNING + - INFO + - SUCCESS + - USER_UPDATE + - RECOMMENDATION + - SNAPSHOT + ChangeEventCustomAttributes: + additionalProperties: false + description: Change event attributes. properties: - effective_date: - description: When this updated layer takes effect (ISO 8601 format). - example: '2025-02-03T05:00:00Z' - format: date-time - type: string - end_date: - description: When this updated layer should stop being active (ISO 8601 format). - example: '2025-12-31T00:00:00Z' - format: date-time - type: string - id: - description: A unique identifier for the layer being updated. - example: 00000000-0000-0000-0000-000000000001 - type: string - interval: - $ref: '#/components/schemas/LayerAttributesInterval' - members: - description: The members assigned to this layer. - items: - $ref: >- - #/components/schemas/ScheduleRequestDataAttributesLayersItemsMembersItems - type: array - name: - description: The name for this layer (for example, "Secondary Coverage"). - example: Primary On-Call Layer - type: string - restrictions: - description: Any time restrictions that define when this layer is active. + author: + $ref: '#/components/schemas/ChangeEventCustomAttributesAuthor' + change_metadata: + additionalProperties: {} + description: Free form JSON object with information related to the `change` event. Supports up to 100 properties per object and a maximum nesting depth of 10 levels. + example: + dd: + team: datadog_team + user_email: datadog@datadog.com + user_id: datadog_user_id + user_name: datadog_username + resource_link: datadog.com/feature/fallback_payments_test + type: object + changed_resource: + $ref: '#/components/schemas/ChangeEventCustomAttributesChangedResource' + impacted_resources: + description: |- + A list of resources impacted by this change. It is recommended to provide an impacted resource to display + the change event at the correct location. Only resources of type `service` are supported. Maximum of 100 impacted resources allowed. + example: + - name: payments_api + type: service items: - $ref: '#/components/schemas/TimeRestriction' + $ref: '#/components/schemas/ChangeEventCustomAttributesImpactedResourcesItems' + maxItems: 100 type: array - rotation_start: - description: The date/time at which the rotation begins (ISO 8601 format). - example: '2025-02-01T00:00:00Z' - format: date-time - type: string + new_value: + additionalProperties: {} + description: Free form JSON object representing the new state of the changed resource. + example: + enabled: true + percentage: 50% + rule: + datacenter: devcycle.us1.prod + type: object + prev_value: + additionalProperties: {} + description: Free form JSON object representing the previous state of the changed resource. + example: + enabled: true + percentage: 10% + rule: + datacenter: devcycle.us1.prod + type: object required: - - effective_date - - interval - - members - - name - - rotation_start + - changed_resource type: object - ShiftDataRelationshipsUser: - description: >- - Defines the relationship between a shift and the user who is working - that shift. + AlertEventCustomAttributes: + additionalProperties: false + description: Alert event attributes. properties: - data: - $ref: '#/components/schemas/ShiftDataRelationshipsUserData' + custom: + $ref: '#/components/schemas/AlertEventCustomAttributesCustom' + links: + $ref: '#/components/schemas/AlertEventCustomAttributesLinks' + priority: + $ref: '#/components/schemas/AlertEventCustomAttributesPriority' + status: + $ref: '#/components/schemas/AlertEventCustomAttributesStatus' required: - - data + - status type: object - TeamOnCallRespondersDataRelationshipsEscalations: - description: >- - Defines the escalation policy steps linked to the team's on-call - configuration. + EventCreateResponseAttributesAttributesEvt: + description: JSON object of event system attributes. properties: - data: - description: Array of escalation step references. + id: + deprecated: true + description: Event identifier. This field is deprecated and will be removed in a future version. Use the `uid` field instead. + type: string + uid: + description: A unique identifier for the event. You can use this identifier to query or reference the event. + type: string + type: object + ChangeEventAttributes: + description: Change event attributes. + properties: + aggregation_key: + $ref: '#/components/schemas/V2EventAggregationKey' + author: + $ref: '#/components/schemas/ChangeEventAttributesAuthor' + change_metadata: + description: JSON object of change metadata. (opaque JSON object) + example: + dd: + team: datadog_team + user_email: datadog@datadog.com + user_id: datadog_user_id + user_name: datadog_username + type: string + changed_resource: + $ref: '#/components/schemas/ChangeEventAttributesChangedResource' + evt: + $ref: '#/components/schemas/EventSystemAttributes' + impacted_resources: + description: A list of resources impacted by this change. + example: + - name: service-name + type: service items: - $ref: >- - #/components/schemas/TeamOnCallRespondersDataRelationshipsEscalationsDataItems + $ref: '#/components/schemas/ChangeEventAttributesImpactedResourcesItem' type: array + new_value: + description: The new state of the changed resource. (opaque JSON object) + example: + enabled: true + percentage: 50% + rule: + datacenter: devcycle.us1.prod + type: string + prev_value: + description: The previous state of the changed resource. (opaque JSON object) + example: + enabled: true + percentage: 10% + rule: + datacenter: devcycle.us1.prod + type: string + service: + $ref: '#/components/schemas/V2EventService' + timestamp: + $ref: '#/components/schemas/V2EventTimestamp' + title: + $ref: '#/components/schemas/V2EventTitle' type: object - TeamOnCallRespondersDataRelationshipsResponders: - description: Defines the list of users assigned as on-call responders for the team. + AlertEventAttributes: + description: Alert event attributes. properties: - data: - description: Array of user references associated as responders. + aggregation_key: + $ref: '#/components/schemas/V2EventAggregationKey' + custom: + description: JSON object of custom attributes. (opaque JSON object) + example: {} + type: string + evt: + $ref: '#/components/schemas/EventSystemAttributes' + links: + description: The links related to the event. + example: + - category: runbook + title: Runbook Link + url: https://app.datadoghq.com/runbook items: - $ref: >- - #/components/schemas/TeamOnCallRespondersDataRelationshipsRespondersDataItems + $ref: '#/components/schemas/AlertEventAttributesLinksItem' type: array + priority: + $ref: '#/components/schemas/AlertEventAttributesPriority' + service: + $ref: '#/components/schemas/V2EventService' + status: + $ref: '#/components/schemas/AlertEventAttributesStatus' + timestamp: + $ref: '#/components/schemas/V2EventTimestamp' + title: + $ref: '#/components/schemas/V2EventTitle' type: object - EscalationRelationships: - description: >- - Contains the relationships of an escalation object, including its - responders. + FormUiDefinitionUiTheme: + description: The visual theme applied to the form. properties: - responders: - $ref: '#/components/schemas/EscalationRelationshipsResponders' + primaryColor: + $ref: '#/components/schemas/FormUiDefinitionUiThemePrimaryColor' type: object - EscalationType: - default: escalation_policy_steps - description: >- - Represents the resource type for individual steps in an escalation - policy used during incident response. + LatestVersionMatchPolicy: + description: The policy for matching the latest form version during an upsert operation. enum: - - escalation_policy_steps - example: escalation_policy_steps + - none + - if_etag_match + example: none type: string x-enum-varnames: - - ESCALATION_POLICY_STEPS - TeamRoutingRulesDataRelationshipsRules: - description: Holds references to a set of routing rules in a relationship. + - NONE + - IF_ETAG_MATCH + IncidentFieldAttributesSingleValue: + description: A field with a single value selected. properties: - data: - description: >- - An array of references to the routing rules associated with this - team. - items: - $ref: >- - #/components/schemas/TeamRoutingRulesDataRelationshipsRulesDataItems - type: array + type: + $ref: '#/components/schemas/IncidentFieldAttributesSingleValueType' + value: + description: The single value selected for this field. + example: SEV-1 + nullable: true + type: string type: object - RoutingRuleAttributes: - description: >- - Defines the configurable attributes of a routing rule, such as actions, - query, time restriction, and urgency. + IncidentFieldAttributesMultipleValue: + description: A field with potentially multiple values selected. properties: - actions: - description: >- - Specifies the list of actions to perform when the routing rule - matches. + type: + $ref: '#/components/schemas/IncidentFieldAttributesValueType' + value: + description: The multiple values selected for this field. + example: + - '1.0' + - '1.1' items: - $ref: '#/components/schemas/RoutingRuleAction' - type: array - query: - description: Defines the query or condition that triggers this routing rule. - type: string - time_restriction: - $ref: '#/components/schemas/TimeRestrictions' + description: A value which has been selected for the parent field. + example: '1.1' + type: string nullable: true - urgency: - $ref: '#/components/schemas/Urgency' + type: array type: object - RoutingRuleRelationships: - description: >- - Specifies relationships for a routing rule, linking to associated policy - resources. + RelationshipToIncidentAttachmentData: + description: The attachment relationship data. properties: - policy: - $ref: '#/components/schemas/RoutingRuleRelationshipsPolicy' + id: + description: A unique identifier that represents the attachment. + example: 00000000-0000-abcd-1000-000000000000 + type: string + type: + $ref: '#/components/schemas/IncidentAttachmentType' + required: + - id + - type type: object - RoutingRuleType: - default: team_routing_rules - description: Team routing rules resource type. - enum: - - team_routing_rules - example: team_routing_rules - type: string - x-enum-varnames: - - TEAM_ROUTING_RULES - TeamRoutingRulesRequestRule: - description: >- - Defines an individual routing rule item that contains the rule data for - the request. + NullableRelationshipToUserData: + description: Relationship to user object. + nullable: true properties: - actions: - description: >- - Specifies the list of actions to perform when the routing rule is - matched. - items: - $ref: '#/components/schemas/RoutingRuleAction' - type: array - policy_id: - description: Identifies the policy to be applied when this routing rule matches. - type: string - query: - description: Defines the query or condition that triggers this routing rule. + id: + description: A unique identifier that represents the user. + example: 00000000-0000-0000-0000-000000000000 type: string - time_restriction: - $ref: '#/components/schemas/TimeRestrictions' - urgency: - $ref: '#/components/schemas/Urgency' + type: + $ref: '#/components/schemas/UsersType' + required: + - id + - type type: object - ServiceDefinitionMeta: - description: Metadata about a service definition. + RelationshipToUserData: + description: Relationship to user object. properties: - github-html-url: - description: GitHub HTML URL. - type: string - ingested-schema-version: - description: Ingestion schema version. - type: string - ingestion-source: - description: Ingestion source of the service definition. - type: string - last-modified-time: - description: Last modified time of the service definition. - type: string - origin: - description: User defined origin of the service definition. - type: string - origin-detail: - description: User defined origin's detail of the service definition. + id: + description: A unique identifier that represents the user. + example: 00000000-0000-0000-2345-000000000000 type: string - warnings: - description: A list of schema validation warnings. - items: - $ref: '#/components/schemas/ServiceDefinitionMetaWarnings' - type: array + type: + $ref: '#/components/schemas/UsersType' + required: + - id + - type type: object - ServiceDefinitionSchema: - description: Service definition schema. - oneOf: - - $ref: '#/components/schemas/ServiceDefinitionV1' - - $ref: '#/components/schemas/ServiceDefinitionV2' - - $ref: '#/components/schemas/ServiceDefinitionV2Dot1' - - $ref: '#/components/schemas/ServiceDefinitionV2Dot2' - ServiceDefinitionV2Dot2Opsgenie: - description: Opsgenie integration for the service. + RelationshipToIncidentImpactData: + description: Relationship to impact object. properties: - region: - $ref: '#/components/schemas/ServiceDefinitionV2Dot2OpsgenieRegion' - service-url: - description: Opsgenie service url. - example: >- - https://my-org.opsgenie.com/service/123e4567-e89b-12d3-a456-426614174000 + id: + description: A unique identifier that represents the impact. + example: 00000000-0000-0000-2345-000000000000 type: string + type: + $ref: '#/components/schemas/IncidentImpactsType' required: - - service-url + - id + - type type: object - ServiceDefinitionV2Dot2Pagerduty: - description: PagerDuty integration for the service. + RelationshipToIncidentIntegrationMetadataData: + description: A relationship reference for an integration metadata object. + example: + id: 00000000-abcd-0002-0000-000000000000 + type: incident_integrations properties: - service-url: - description: PagerDuty service url. - example: https://my-org.pagerduty.com/service-directory/PMyService + id: + description: A unique identifier that represents the integration metadata. + example: 00000000-abcd-0001-0000-000000000000 type: string + type: + $ref: '#/components/schemas/IncidentIntegrationMetadataType' + required: + - id + - type type: object - ServiceDefinitionV2Dot1Email: - description: Service owner's email. + RelationshipToIncidentResponderData: + description: Relationship to impact object. properties: - contact: - description: Contact value. - example: contact@datadoghq.com + id: + description: A unique identifier that represents the responder. + example: 00000000-0000-0000-2345-000000000000 type: string - name: - description: Contact email. - example: Team Email + type: + $ref: '#/components/schemas/IncidentRespondersType' + required: + - id + - type + type: object + RelationshipToIncidentUserDefinedFieldData: + description: Relationship to impact object. + properties: + id: + description: A unique identifier that represents the responder. + example: 00000000-0000-0000-2345-000000000000 type: string type: - $ref: '#/components/schemas/ServiceDefinitionV2Dot1EmailType' + $ref: '#/components/schemas/IncidentUserDefinedFieldType' required: + - id - type - - contact type: object - ServiceDefinitionV2Dot1Slack: - description: Service owner's Slack channel. + IncidentTimelineCellMarkdownCreateAttributes: + description: Timeline cell data for Markdown timeline cells for a create request. properties: - contact: - description: Slack Channel. - example: https://yourcompany.slack.com/archives/channel123 + cell_type: + $ref: '#/components/schemas/IncidentTimelineCellMarkdownContentType' + content: + $ref: '#/components/schemas/IncidentTimelineCellMarkdownCreateAttributesContent' + important: + default: false + description: A flag indicating whether the timeline cell is important and should be highlighted. + example: false + type: boolean + required: + - content + - cell_type + type: object + IncidentHandleAttributesFieldsSeverity: + description: Severity level associated with an incident handle. + example: SEV-1 + type: string + IncidentHandleRelationshipData: + description: Relationship data for an incident handle, containing the ID and type of the related resource. + properties: + id: + description: The ID of the related resource + example: f7b538b1-ed7c-4e84-82de-fdf84a539d40 type: string - name: - description: Contact Slack. - example: Team Slack + type: + description: The type of the related resource + example: incident_types + type: string + required: + - id + - type + type: object + RelationshipToIncidentTypeData: + description: Relationship to incident type object. + properties: + id: + description: The incident type's ID. + example: 00000000-0000-0000-0000-000000000000 type: string type: - $ref: '#/components/schemas/ServiceDefinitionV2Dot1SlackType' + $ref: '#/components/schemas/IncidentTypeType' required: + - id - type - - contact type: object - ServiceDefinitionV2Dot1MSTeams: - description: Service owner's Microsoft Teams. + IncidentNotificationRuleConditionsItems: + description: A condition that must be met to trigger the notification rule. properties: - contact: - description: Contact value. - example: https://teams.microsoft.com/myteam + field: + description: The incident field to evaluate + example: severity type: string - name: - description: Contact Microsoft Teams. - example: My team channel + values: + description: The value(s) to compare against. Multiple values are `ORed` together. + example: + - SEV-1 + - SEV-2 + items: + description: A value to compare against the incident field. + type: string + type: array + required: + - field + - values + type: object + RelationshipToIncidentNotificationTemplateData: + description: The notification template relationship data. + properties: + id: + description: The unique identifier of the notification template. + example: 00000000-0000-0000-0000-000000000001 + format: uuid type: string type: - $ref: '#/components/schemas/ServiceDefinitionV2Dot1MSTeamsType' + $ref: '#/components/schemas/IncidentNotificationTemplateType' required: + - id - type - - contact type: object - ServiceDefinitionV2Dot1Opsgenie: - description: Opsgenie integration for the service. + PostmortemTemplateIncidentTypeRelationshipData: + description: Incident type relationship data. properties: - region: - $ref: '#/components/schemas/ServiceDefinitionV2Dot1OpsgenieRegion' - service-url: - description: Opsgenie service url. - example: >- - https://my-org.opsgenie.com/service/123e4567-e89b-12d3-a456-426614174000 + id: + description: The incident type identifier. + example: 00000000-0000-0000-0000-000000000009 + format: uuid + type: string + type: + description: The incident type resource type. + example: incident_types type: string required: - - service-url + - id + - type type: object - ServiceDefinitionV2Dot1Pagerduty: - description: PagerDuty integration for the service. + PostmortemTemplateUserRelationshipData: + description: User relationship data. properties: - service-url: - description: PagerDuty service url. - example: https://my-org.pagerduty.com/service-directory/PMyService + id: + description: The user identifier. + example: 00000000-0000-0000-0000-000000000000 + format: uuid + type: string + type: + description: The user resource type. + example: users type: string + required: + - id + - type type: object - ServiceDefinitionV2Dot1LinkType: - description: Link type. + IncidentTypeSlugSource: + default: default + description: When set to `servicenow`, incidents will display the ServiceNow record ID instead of the public ID. If no ServiceNow integration exists, the public ID will be displayed. enum: - - doc - - repo - - runbook - - dashboard - - other - example: runbook + - default + - servicenow + example: default type: string x-enum-varnames: - - DOC - - REPO - - RUNBOOK - - DASHBOARD - - OTHER - ServiceDefinitionV2Email: - description: Service owner's email. + - DEFAULT + - SERVICENOW + GoogleMeetConfigurationReferenceData: + description: The Google Meet configuration relationship data object. + nullable: true properties: - contact: - description: Contact value. - example: contact@datadoghq.com - type: string - name: - description: Contact email. - example: Team Email + id: + description: The unique identifier of the Google Meet configuration. + example: 00000000-0000-0000-0000-000000000000 type: string type: - $ref: '#/components/schemas/ServiceDefinitionV2EmailType' + description: The type of the Google Meet configuration. + example: google_meet_configurations + type: string required: + - id - type - - contact type: object - ServiceDefinitionV2Slack: - description: Service owner's Slack channel. + MicrosoftTeamsConfigurationReferenceData: + description: The Microsoft Teams configuration relationship data object. + nullable: true properties: - contact: - description: Slack Channel. - example: https://yourcompany.slack.com/archives/channel123 - type: string - name: - description: Contact Slack. - example: Team Slack + id: + description: The unique identifier of the Microsoft Teams configuration. + example: 00000000-0000-0000-0000-000000000000 type: string type: - $ref: '#/components/schemas/ServiceDefinitionV2SlackType' + description: The type of the Microsoft Teams configuration. + example: microsoft_teams_configurations + type: string required: + - id - type - - contact type: object - ServiceDefinitionV2MSTeams: - description: Service owner's Microsoft Teams. + ZoomConfigurationReferenceData: + description: The Zoom configuration relationship data object. + nullable: true properties: - contact: - description: Contact value. - example: https://teams.microsoft.com/myteam - type: string - name: - description: Contact Microsoft Teams. - example: My team channel + id: + description: The unique identifier of the Zoom configuration. + example: 00000000-0000-0000-0000-000000000000 type: string type: - $ref: '#/components/schemas/ServiceDefinitionV2MSTeamsType' + description: The type of the Zoom configuration. + example: zoom_configurations + type: string required: + - id - type - - contact type: object - ServiceDefinitionV2Opsgenie: - description: Opsgenie integration for the service. + IncidentUserDefinedRoleIncidentTypeRelationshipData: + description: Data for the incident type relationship of a user-defined role. properties: - region: - $ref: '#/components/schemas/ServiceDefinitionV2OpsgenieRegion' - service-url: - description: Opsgenie service url. - example: >- - https://my-org.opsgenie.com/service/123e4567-e89b-12d3-a456-426614174000 + id: + description: The ID of the incident type. + example: 00000000-0000-0000-0000-000000000001 + format: uuid + type: string + type: + description: The type of the resource. + example: incident_types type: string required: - - service-url + - id + - type type: object - ServiceDefinitionV2Pagerduty: - description: PagerDuty service URL for the service. - example: https://my-org.pagerduty.com/service-directory/PMyService - type: string - ServiceDefinitionV2LinkType: - description: Link type. - enum: - - doc - - wiki - - runbook - - url - - repo - - dashboard - - oncall - - code - - link - example: runbook - type: string - x-enum-varnames: - - DOC - - WIKI - - RUNBOOK - - URL - - REPO - - DASHBOARD - - ONCALL - - CODE - - LINK - SLOReportInterval: - description: The frequency at which report data is to be generated. - enum: - - daily - - weekly - - monthly - example: weekly - type: string - x-enum-varnames: - - DAILY - - WEEKLY - - MONTHLY - SLOReportStatus: - description: The status of the SLO report job. - enum: - - in_progress - - completed - - completed_with_errors - - failed - example: completed - type: string - x-enum-varnames: - - IN_PROGRESS - - COMPLETED - - COMPLETED_WITH_ERRORS - - FAILED - JiraIssueResult: - description: Jira issue information + IncidentImportFieldAttributesSingleValue: + additionalProperties: false + description: A field with a single value selected. properties: - issue_id: - description: Jira issue ID + value: + description: The single value selected for this field. + example: SEV-1 + nullable: true type: string - issue_key: - description: Jira issue key + type: object + IncidentImportFieldAttributesMultipleValue: + additionalProperties: false + description: A field with potentially multiple values selected. + properties: + value: + description: The multiple values selected for this field. + example: + - '1.0' + - '1.1' + items: + description: A value which has been selected for the parent field. + example: '1.1' + type: string + nullable: true + type: array + type: object + IncidentSearchResponseUserFacetData: + description: Facet data for user attributes of an incident. + properties: + count: + $ref: '#/components/schemas/IncidentSearchResponseFacetCount' + email: + description: Email of the user. + example: datadog.user@example.com type: string - issue_url: - description: Jira issue URL + handle: + description: Handle of the user. + example: '@datadog.user@example.com' type: string - project_key: - description: Jira project key + name: + description: Name of the user. + example: Datadog User + type: string + uuid: + description: ID of the user. + example: 773b045d-ccf8-4808-bd3b-955ef6a8c940 type: string type: object - Case3rdPartyTicketStatus: - default: IN_PROGRESS - description: Case status - enum: - - IN_PROGRESS - - COMPLETED - - FAILED - example: COMPLETED - readOnly: true - type: string - x-enum-varnames: - - IN_PROGRESS - - COMPLETED - - FAILED - ServiceNowTicketResult: - description: ServiceNow ticket information + IncidentSearchResponsePropertyFieldFacetData: + description: Facet data for the incident property fields. + properties: + aggregates: + $ref: '#/components/schemas/IncidentSearchResponseNumericFacetDataAggregates' + facets: + description: Facet data for the property field of an incident. + items: + $ref: '#/components/schemas/IncidentSearchResponseFieldFacetData' + type: array + name: + description: Name of the incident property field. + example: Severity + type: string + required: + - facets + - name + type: object + IncidentSearchResponseFieldFacetData: + description: Facet value and number of occurrences for a property field of an incident. properties: - sys_target_link: - description: Link to the Incident created on ServiceNow + count: + $ref: '#/components/schemas/IncidentSearchResponseFacetCount' + name: + description: The facet value appearing in search results. + example: SEV-2 type: string type: object - NullableUserRelationshipData: - description: Relationship to user object. - nullable: true + IncidentSearchResponseNumericFacetData: + description: Facet data numeric attributes of an incident. properties: - id: - description: A unique identifier that represents the user. - example: 00000000-0000-0000-0000-000000000000 + aggregates: + $ref: '#/components/schemas/IncidentSearchResponseNumericFacetDataAggregates' + name: + description: Name of the incident property field. + example: time_to_repair type: string - type: - $ref: '#/components/schemas/UserResourceType' required: - - id - - type + - name + - aggregates type: object - ProjectRelationshipData: - description: Relationship to project object + RelationshipToIncidentPostmortemData: + description: The postmortem relationship data. + example: + id: 00000000-0000-abcd-2000-000000000000 + type: incident_postmortems properties: id: - description: A unique identifier that represents the project - example: e555e290-ed65-49bd-ae18-8acbfcf18db7 + description: A unique identifier that represents the postmortem. + example: 00000000-0000-abcd-1000-000000000000 type: string type: - $ref: '#/components/schemas/ProjectResourceType' + $ref: '#/components/schemas/IncidentPostmortemType' required: - id - type type: object - RelationshipToTeamLinkData: - description: Relationship between a link and a team + RelationshipToIncidentData: + description: Relationship to incident object. properties: id: - description: The team link's identifier - example: f9bb8444-af7f-11ec-ac2c-da7ad0900001 + description: A unique identifier that represents the incident. + example: 00000000-0000-0000-1234-000000000000 type: string type: - $ref: '#/components/schemas/TeamLinkType' + $ref: '#/components/schemas/IncidentType' required: - id - type type: object - TeamRelationshipsLinks: - description: Links attributes. + PostmortemCellAttributes: + description: Attributes of a postmortem cell properties: - related: - description: Related link. - example: /api/v2/team/c75a4a8e-20c7-11ee-a3a5-da7ad0900002/links - type: string + definition: + $ref: '#/components/schemas/PostmortemCellDefinition' type: object - UserRelationshipData: - description: Relationship to user object. + PostmortemCellType: + description: The postmortem cell resource type. + enum: + - markdown + example: markdown + type: string + x-enum-varnames: + - MARKDOWN + IncidentPageRoleType: + description: The type of incident role for a page. + enum: + - incident_user_defined_roles + - incident_reserved_roles + example: incident_user_defined_roles + type: string + x-enum-varnames: + - INCIDENT_USER_DEFINED_ROLES + - INCIDENT_RESERVED_ROLES + IncidentPageTargetType: + description: The type of target for a page request. + enum: + - team_handle + - team_uuid + - user_uuid + example: team_uuid + type: string + x-enum-varnames: + - TEAM_HANDLE + - TEAM_UUID + - USER_UUID + SlackIntegrationMetadata: + description: Incident integration metadata for the Slack integration. properties: - id: - description: A unique identifier that represents the user. - example: 00000000-0000-0000-0000-000000000000 - type: string - type: - $ref: '#/components/schemas/UserResourceType' + channels: + description: Array of Slack channels in this integration metadata. + example: [] + items: + $ref: '#/components/schemas/SlackIntegrationMetadataChannelItem' + type: array required: - - id - - type + - channels type: object - DowntimeMonitorIdentifierId: - additionalProperties: {} - description: Object of the monitor identifier. + JiraIntegrationMetadata: + description: Incident integration metadata for the Jira integration. properties: - monitor_id: - description: ID of the monitor to prevent notifications. - example: 123 - format: int64 - type: integer + issues: + description: Array of Jira issues in this integration metadata. + example: [] + items: + $ref: '#/components/schemas/JiraIntegrationMetadataIssuesItem' + type: array required: - - monitor_id + - issues type: object - DowntimeMonitorIdentifierTags: - additionalProperties: {} - description: Object of the monitor tags. + MSTeamsIntegrationMetadata: + description: Incident integration metadata for the Microsoft Teams integration. properties: - monitor_tags: - description: >- - A list of monitor tags. For example, tags that are applied directly - to monitors, - - not tags that are used in monitor queries (which are filtered by the - scope parameter), to which the downtime applies. - - The resulting downtime applies to monitors that match **all** - provided monitor tags. Setting `monitor_tags` - - to `[*]` configures the downtime to mute all monitors for the given - scope. - example: - - service:postgres - - team:frontend + teams: + description: Array of Microsoft Teams in this integration metadata. + example: [] items: - description: A list of monitor tags. - example: service:postgres - type: string - minItems: 1 + $ref: '#/components/schemas/MSTeamsIntegrationMetadataTeamsItem' type: array required: - - monitor_tags + - teams type: object - DowntimeNotifyEndStateTypes: - description: >- - State that will trigger a monitor notification when the - `notify_end_types` action occurs. - enum: - - alert - - no data - - warn - example: alert - type: string - x-enum-varnames: - - ALERT - - NO_DATA - - WARN - DowntimeNotifyEndStateActions: - description: >- - Action that will trigger a monitor notification if the downtime is in - the `notify_end_types` state. - enum: - - canceled - - expired - example: canceled + IncidentTodoAssignee: + description: A todo assignee. + example: '@test.user@test.com' type: string - x-enum-varnames: - - CANCELED - - EXPIRED - DowntimeScheduleRecurrencesResponse: - description: A recurring downtime schedule definition. properties: - current_downtime: - $ref: '#/components/schemas/DowntimeScheduleCurrentDowntimeResponse' - recurrences: - description: A list of downtime recurrences. - items: - $ref: '#/components/schemas/DowntimeScheduleRecurrenceResponse' - maxItems: 5 - minItems: 1 - type: array - timezone: - default: UTC - description: >- - The timezone in which to schedule the downtime. This affects - recurring start and end dates. - - Must match `display_timezone`. - example: America/New_York + icon: + description: URL for assignee's icon. + example: https://a.slack-edge.com/80588/img/slackbot_48.png + type: string + id: + description: Anonymous assignee's ID. + example: USLACKBOT + type: string + name: + description: Assignee's name. + example: Slackbot type: string + source: + $ref: '#/components/schemas/IncidentTodoAnonymousAssigneeSource' required: - - recurrences + - id + - icon + - name + - source + IncidentResponderRoleAssignmentRelationshipData: + description: A single role assignment relationship data object. + properties: + id: + description: The role assignment identifier. + example: 00000000-0000-0000-0000-000000000000 + format: uuid + type: string + type: + description: The role assignment resource type. + example: incident_role_assignments + type: string + required: + - id + - type type: object - DowntimeScheduleOneTimeResponse: - description: A one-time downtime definition. + IncidentResponderUserRelationshipData: + description: A user relationship data object for creating a responder. properties: - end: - description: ISO-8601 Datetime to end the downtime. - example: '2020-01-02T03:04:00.000Z' - format: date-time - nullable: true + id: + description: The user identifier. + example: 00000000-0000-0000-0000-000000000000 + format: uuid type: string - start: - description: ISO-8601 Datetime to start the downtime. - example: '2020-01-02T03:04:00.000Z' - format: date-time + type: + description: The user resource type. + example: users type: string required: - - start + - id + - type type: object - DowntimeRelationshipsCreatedByData: - description: Data for the user who created the downtime. - nullable: true + EscalationPolicyStepAttributesAssignment: + description: Specifies how this escalation step will assign targets (example `default` or `round-robin`). + enum: + - default + - round-robin + type: string + x-enum-varnames: + - DEFAULT + - ROUND_ROBIN + EscalationPolicyStepTarget: + description: Defines a single escalation target within a step for an escalation policy creation request. Contains `id`, `type`, and optional `config`. properties: + config: + $ref: '#/components/schemas/EscalationPolicyStepTargetConfig' id: - description: User ID of the downtime creator. - example: 00000000-0000-1234-0000-000000000000 + description: Specifies the unique identifier for this target. + example: 00000000-aba1-0000-0000-000000000000 type: string type: - $ref: '#/components/schemas/UsersType' + $ref: '#/components/schemas/EscalationPolicyStepTargetType' type: object - DowntimeRelationshipsMonitorData: - description: Data for the monitor. - nullable: true + DataRelationshipsTeamsDataItems: + description: Relates a team to this schedule, identified by `id` and `type` (must be `teams`). properties: id: - description: Monitor ID of the downtime. - example: '12345' + description: The unique identifier of the team in this relationship. + example: 00000000-da3a-0000-0000-000000000000 type: string type: - $ref: '#/components/schemas/DowntimeIncludedMonitorType' + $ref: '#/components/schemas/DataRelationshipsTeamsDataItemsType' + required: + - type + - id type: object - RelationshipToOrganization: - description: Relationship to an organization. + EscalationPolicyDataRelationshipsStepsDataItems: + description: Defines a relationship to a single step within an escalation policy. Contains the step's `id` and `type`. properties: - data: - $ref: '#/components/schemas/RelationshipToOrganizationData' + id: + description: Specifies the unique identifier for the step resource. + example: 00000000-aba1-0000-0000-000000000000 + type: string + type: + $ref: '#/components/schemas/EscalationPolicyDataRelationshipsStepsDataItemsType' required: - - data + - type + - id type: object - RelationshipToOrganizations: - description: Relationship to organizations. + EscalationTargets: + description: A list of escalation targets for a step properties: data: - description: Relationships to organization objects. - example: [] + description: The `EscalationTargets` `data`. items: - $ref: '#/components/schemas/RelationshipToOrganizationData' + $ref: '#/components/schemas/EscalationTarget' type: array - required: - - data type: object - RelationshipToUsers: - description: Relationship to users. + UserAttributesStatus: + description: The user's status. + enum: + - active + - deactivated + - pending + type: string + x-enum-varnames: + - ACTIVE + - DEACTIVATED + - PENDING + ScheduleTargetPosition: + description: Specifies the position of a schedule target (example `previous`, `current`, or `next`). + enum: + - previous + - current + - next + example: previous + type: string + x-enum-varnames: + - PREVIOUS + - CURRENT + - NEXT + ConfiguredScheduleTargetRelationshipsSchedule: + description: Holds the schedule reference for a configured schedule target. properties: data: - description: Relationships to user objects. - example: [] - items: - $ref: '#/components/schemas/RelationshipToUserData' - type: array + $ref: '#/components/schemas/ScheduleTarget' required: - data type: object - RelationshipToRoles: - description: Relationship to roles. + OnCallPageTargetType: + description: The kind of target, `team_id` | `team_handle` | `user_id`. + enum: + - team_id + - team_handle + - user_id + example: team_id + type: string + x-enum-varnames: + - TEAM_ID + - TEAM_HANDLE + - USER_ID + LayerAttributesInterval: + description: Defines how often the rotation repeats, using a combination of days and optional seconds. Should be at least 1 hour. properties: - data: - description: An array containing type and the unique identifier of a role. - items: - $ref: '#/components/schemas/RelationshipToRoleData' - type: array + days: + description: The number of days in each rotation cycle. + example: 1 + format: int32 + maximum: 400 + type: integer + seconds: + description: Any additional seconds for the rotation cycle (up to 30 days). + example: 300 + format: int64 + maximum: 2592000 + type: integer type: object - DowntimeScheduleRecurrencesCreateRequest: - description: A recurring downtime schedule definition. + ScheduleRequestDataAttributesLayersItemsMembersItems: + description: Defines a single member within a schedule layer, including the reference to the underlying user. properties: - recurrences: - description: A list of downtime recurrences. - items: - $ref: '#/components/schemas/DowntimeScheduleRecurrenceCreateUpdateRequest' - type: array - timezone: - default: UTC - description: The timezone in which to schedule the downtime. - example: America/New_York - type: string - required: - - recurrences + user: + $ref: '#/components/schemas/ScheduleRequestDataAttributesLayersItemsMembersItemsUser' type: object - DowntimeScheduleOneTimeCreateUpdateRequest: - additionalProperties: false - description: A one-time downtime definition. + TimeRestriction: + description: Defines a single time restriction rule with start and end times and the applicable weekdays. properties: - end: - description: >- - ISO-8601 Datetime to end the downtime. Must include a UTC offset of - zero. If not provided, the - - downtime continues forever. - example: '2020-01-02T03:04:00.000Z' - format: date-time - nullable: true + end_day: + $ref: '#/components/schemas/Weekday' + end_time: + description: Specifies the ending time for this restriction. type: string - start: - description: >- - ISO-8601 Datetime to start the downtime. Must include a UTC offset - of zero. If not provided, the - - downtime starts the moment it is created. - example: '2020-01-02T03:04:00.000Z' - format: date-time - nullable: true + start_day: + $ref: '#/components/schemas/Weekday' + start_time: + description: Specifies the starting time for this restriction. type: string type: object - DowntimeScheduleRecurrencesUpdateRequest: - additionalProperties: false - description: A recurring downtime schedule definition. + ScheduleDataRelationshipsLayersDataItems: + description: Relates a layer to this schedule, identified by `id` and `type` (must be `layers`). properties: - recurrences: - description: A list of downtime recurrences. + id: + description: The unique identifier of the layer in this relationship. + example: 00000000-0000-0000-0000-000000000001 + type: string + type: + $ref: '#/components/schemas/ScheduleDataRelationshipsLayersDataItemsType' + required: + - type + - id + type: object + LayerRelationshipsMembers: + description: Holds an array of references to the members of a Layer, each containing member IDs. + properties: + data: + description: The list of members who belong to this layer. items: - $ref: '#/components/schemas/DowntimeScheduleRecurrenceCreateUpdateRequest' + $ref: '#/components/schemas/LayerRelationshipsMembersDataItems' type: array - timezone: - default: UTC - description: The timezone in which to schedule the downtime. - example: America/New_York - type: string type: object - IssueReference: - description: The issue the search result corresponds to. + ScheduleMemberRelationshipsUser: + description: Wraps the user data reference for a schedule member. + properties: + data: + $ref: '#/components/schemas/ScheduleMemberRelationshipsUserData' + required: + - data + type: object + ShiftDataRelationshipsUserData: + description: Represents a reference to the user assigned to this shift, containing the user's ID and resource type. properties: id: - description: Issue identifier. - example: c1726a66-1f64-11ee-b338-da7ad0900002 + description: Specifies the unique identifier of the user. + example: 00000000-0000-0000-0000-000000000000 type: string type: - $ref: '#/components/schemas/IssueType' + $ref: '#/components/schemas/ShiftDataRelationshipsUserDataType' required: - - id - type + - id type: object - IssueUserReference: - description: The user the issue is assigned to. + ScheduleOnCallRespondersDataRelationshipsRespondersDataItems: + description: Represents a reference to one position's (previous, current, or next) responder group. properties: id: - description: User identifier. - example: 87cb11a0-278c-440a-99fe-701223c80296 + description: Unique identifier of the responder group. + example: '' type: string type: - $ref: '#/components/schemas/IssueUserType' + $ref: '#/components/schemas/ScheduleOnCallRespondersDataRelationshipsRespondersDataItemsType' required: - - id - type + - id type: object - IssueCaseReference: - description: The case the issue is attached to. + ScheduleOnCallRespondersDataRelationshipsScheduleData: + description: Represents a reference to the schedule this on-call responders lookup was performed for. properties: id: - description: Case identifier. - example: 2841440d-e780-4fe2-96cd-6a8c1d194da5 + description: Unique identifier of the schedule. + example: 3653d3c6-0c75-11ea-ad28-fb5701eabc7d type: string type: - $ref: '#/components/schemas/IssueCaseResourceType' + $ref: '#/components/schemas/ScheduleOnCallRespondersDataRelationshipsScheduleDataType' required: - - id - type + - id type: object - IssueTeamReference: - description: A team that owns the issue. + ScheduleOnCallResponderDataRelationshipsShifts: + description: Defines the list of shifts satisfying this responder group's position. Multiple shifts occur when a schedule has multiple concurrent on-call responders at that position. + properties: + data: + description: Array of references to the shifts included in the response. + items: + $ref: '#/components/schemas/ScheduleOnCallResponderDataRelationshipsShiftsDataItems' + type: array + type: object + TeamOnCallRespondersDataRelationshipsEscalationsDataItems: + description: Represents a link to a specific escalation policy step associated with the on-call team. properties: id: - description: Team identifier. - example: 221b0179-6447-4d03-91c3-3ca98bf60e8a + description: Unique identifier of the escalation step. + example: '' type: string type: - $ref: '#/components/schemas/IssueTeamType' + $ref: '#/components/schemas/TeamOnCallRespondersDataRelationshipsEscalationsDataItemsType' required: - - id - type + - id type: object - IssueCaseInsight: - description: Insight of the case. + TeamOnCallRespondersDataRelationshipsRespondersDataItems: + description: Represents a user responder associated with the on-call team. properties: - ref: - description: Reference of the insight. - example: /error-tracking?issueId=2841440d-e780-4fe2-96cd-6a8c1d194da5 - type: string - resource_id: - description: Insight identifier. - example: 2841440d-e780-4fe2-96cd-6a8c1d194da5 + id: + description: Unique identifier of the responder. + example: '' type: string type: - description: Type of the insight. - example: ERROR_TRACKING - type: string + $ref: '#/components/schemas/TeamOnCallRespondersDataRelationshipsRespondersDataItemsType' + required: + - type + - id type: object - IssueCaseJiraIssue: - description: Jira issue of the case. + EscalationRelationshipsResponders: + description: Lists the users involved in a specific step of the escalation policy. properties: - result: - $ref: '#/components/schemas/IssueCaseJiraIssueResult' - status: - description: Creation status of the Jira issue. - example: COMPLETED - type: string + data: + description: Array of user references assigned as responders for this escalation step. + items: + $ref: '#/components/schemas/EscalationRelationshipsRespondersDataItems' + type: array type: object - Event: - description: The metadata associated with a request. + TeamRoutingRulesDataRelationshipsRulesDataItems: + description: Defines a relationship item to link a routing rule by its ID and type. properties: id: - description: Event ID. - example: '6509751066204996294' + description: Specifies the unique identifier for the related routing rule. + example: '' type: string - name: - description: The event name. + type: + $ref: '#/components/schemas/TeamRoutingRulesDataRelationshipsRulesDataItemsType' + required: + - type + - id + type: object + RoutingRuleAction: + description: Defines an action that is executed when a routing rule matches certain criteria. + properties: + channel: + description: The channel ID. + example: CHANNEL type: string - source_id: - description: Event source ID. - example: 36 - format: int64 - type: integer type: - description: Event type. - example: error_tracking_alert + $ref: '#/components/schemas/SendSlackMessageActionType' + workspace: + description: The workspace ID. + example: WORKSPACE + type: string + team: + description: The team ID. + example: TEAM type: string - type: object - MonitorType: - description: Attributes from the monitor that triggered the event. - nullable: true - properties: - created_at: - description: The POSIX timestamp of the monitor's creation in nanoseconds. - example: 1646318692000 - format: int64 - type: integer - group_status: - description: Monitor group status used when there is no `result_groups`. - format: int32 - maximum: 2147483647 - type: integer - groups: - description: Groups to which the monitor belongs. - items: - description: A group. - type: string - type: array - id: - description: The monitor ID. - format: int64 - type: integer - message: - description: The monitor message. + tenant: + description: The tenant ID. + example: TENANT type: string - modified: - description: The monitor's last-modified timestamp. + handle: + description: The handle of the Workflow Automation to trigger. + example: my-workflow-handle + type: string + ack_timeout_minutes: + description: The number of minutes before an acknowledged page is re-triggered. + example: 30 format: int64 type: integer - name: - description: The monitor name. - type: string - query: - description: The query that triggers the alert. + policy_id: + description: The ID of the escalation policy to route to. + example: 00000000-0000-0000-0000-000000000000 type: string - tags: - description: A list of tags attached to the monitor. - example: - - environment:test + support_hours: + $ref: '#/components/schemas/RoutingRuleEscalationPolicyActionSupportHours' + urgency: + $ref: '#/components/schemas/Urgency' + required: + - type + - channel + - workspace + - tenant + - team + - handle + - policy_id + type: object + TimeRestrictions: + description: Time restrictions during which the routing rule is active. Outside of these hours, the rule does not match and routing continues to subsequent rules. This is mutually exclusive with the action-level `support_hours` field. + properties: + restrictions: + description: Defines the list of time-based restrictions. items: - description: A tag. - type: string + $ref: '#/components/schemas/TimeRestriction' type: array - templated_name: - description: >- - The templated name of the monitor before resolving any template - variables. - type: string - type: - description: The monitor type. + time_zone: + description: Specifies the time zone applicable to the restrictions. + example: '' type: string + required: + - time_zone + - restrictions type: object - EventPriority: - description: The priority of the event's monitor. For example, `normal` or `low`. + Urgency: + description: Specifies the level of urgency for a routing rule (low, high, or dynamic). enum: - - normal - low - example: normal - nullable: true + - high + - dynamic + example: low type: string x-enum-varnames: - - NORMAL - LOW - EventStatusType: - description: |- - If an alert event is enabled, its status is one of the following: - `failure`, `error`, `warning`, `info`, `success`, `user_update`, - `recommendation`, or `snapshot`. - enum: - - failure - - error - - warning - - info - - success - - user_update - - recommendation - - snapshot - example: info - type: string - x-enum-varnames: - - FAILURE - - ERROR - - WARNING - - INFO - - SUCCESS - - USER_UPDATE - - RECOMMENDATION - - SNAPSHOT - ChangeEventCustomAttributes: - additionalProperties: false - description: Change event attributes. - properties: - author: - $ref: '#/components/schemas/ChangeEventCustomAttributesAuthor' - change_metadata: - additionalProperties: {} - description: >- - Free form JSON object with information related to the `change` - event. Supports up to 100 properties per object and a maximum - nesting depth of 10 levels. - example: - dd: - team: datadog_team - user_email: datadog@datadog.com - user_id: datadog_user_id - user_name: datadog_username - resource_link: datadog.com/feature/fallback_payments_test - type: object - changed_resource: - $ref: '#/components/schemas/ChangeEventCustomAttributesChangedResource' - impacted_resources: - description: >- - A list of resources impacted by this change. It is recommended to - provide an impacted resource to display - - the change event at the correct location. Only resources of type - `service` are supported. Maximum of 100 impacted resources allowed. - example: - - name: payments_api - type: service - items: - $ref: >- - #/components/schemas/ChangeEventCustomAttributesImpactedResourcesItems - maxItems: 100 - type: array - new_value: - additionalProperties: {} - description: >- - Free form JSON object representing the new state of the changed - resource. - example: - enabled: true - percentage: 50% - rule: - datacenter: devcycle.us1.prod - type: object - prev_value: - additionalProperties: {} - description: >- - Free form JSON object representing the previous state of the changed - resource. - example: - enabled: true - percentage: 10% - rule: - datacenter: devcycle.us1.prod - type: object - required: - - changed_resource - type: object - AlertEventCustomAttributes: - additionalProperties: false - description: Alert event attributes. + - HIGH + - DYNAMIC + RoutingRuleRelationshipsPolicy: + description: Defines the relationship that links a routing rule to a policy. properties: - custom: - $ref: '#/components/schemas/AlertEventCustomAttributesCustom' - links: - $ref: '#/components/schemas/AlertEventCustomAttributesLinks' - priority: - $ref: '#/components/schemas/AlertEventCustomAttributesPriority' - status: - $ref: '#/components/schemas/AlertEventCustomAttributesStatus' - required: - - status + data: + $ref: '#/components/schemas/RoutingRuleRelationshipsPolicyData' + nullable: true type: object - EventCreateResponseAttributesAttributesEvt: - description: JSON object of event system attributes. + NotificationChannelPhoneConfig: + description: Phone notification channel configuration properties: - id: - deprecated: true - description: >- - Event identifier. This field is deprecated and will be removed in a - future version. Use the `uid` field instead. + formatted_number: + description: The formatted international version of Number (e.g. +33 7 1 23 45 67). + example: '' type: string - uid: - description: >- - A unique identifier for the event. You can use this identifier to - query or reference the event. + number: + description: The E-164 formatted phone number (e.g. +3371234567) + example: '' + type: string + region: + description: The ISO 3166-1 alpha-2 two-letter country code. + example: '' + type: string + sms_subscribed_at: + description: If present, the date the user subscribed this number to SMS messages + format: date-time + nullable: true type: string + type: + $ref: '#/components/schemas/NotificationChannelPhoneConfigType' + verified: + description: Indicates whether this phone has been verified by the user in Datadog On-Call + example: false + type: boolean + required: + - type + - number + - formatted_number + - region + - verified type: object - ChangeEventAttributes: - description: Change event attributes. + NotificationChannelEmailConfig: + description: Email notification channel configuration properties: - aggregation_key: - $ref: '#/components/schemas/V2EventAggregationKey' - author: - $ref: '#/components/schemas/ChangeEventAttributesAuthor' - change_metadata: - description: JSON object of change metadata. - example: - dd: - team: datadog_team - user_email: datadog@datadog.com - user_id: datadog_user_id - user_name: datadog_username - type: object - changed_resource: - $ref: '#/components/schemas/ChangeEventAttributesChangedResource' - evt: - $ref: '#/components/schemas/EventSystemAttributes' - impacted_resources: - description: A list of resources impacted by this change. + address: + description: The e-mail address to be notified + example: '' + type: string + formats: + description: Preferred content formats for notifications. example: - - name: service-name - type: service + - html items: - $ref: '#/components/schemas/ChangeEventAttributesImpactedResourcesItem' + $ref: '#/components/schemas/NotificationChannelEmailFormatType' type: array - new_value: - description: The new state of the changed resource. - example: - enabled: true - percentage: 50% - rule: - datacenter: devcycle.us1.prod - type: object - prev_value: - description: The previous state of the changed resource. - example: - enabled: true - percentage: 10% - rule: - datacenter: devcycle.us1.prod - type: object - service: - $ref: '#/components/schemas/V2EventService' - timestamp: - $ref: '#/components/schemas/V2EventTimestamp' - title: - $ref: '#/components/schemas/V2EventTitle' + type: + $ref: '#/components/schemas/NotificationChannelEmailConfigType' + required: + - type + - address + - formats type: object - AlertEventAttributes: - description: Alert event attributes. + NotificationChannelPushConfig: + description: Push notification channel configuration + properties: + application_name: + description: The name of the application used to receive push notifications + example: '' + type: string + device_name: + description: The name of the mobile device being used + example: '' + type: string + type: + $ref: '#/components/schemas/NotificationChannelPushConfigType' + required: + - type + - device_name + - application_name + type: object + CreatePhoneNotificationChannelConfig: + description: Configuration to create a phone notification channel + properties: + number: + description: The E-164 formatted phone number (e.g. +3371234567) + example: '' + type: string + type: + $ref: '#/components/schemas/NotificationChannelPhoneConfigType' + required: + - type + - number + type: object + CreateEmailNotificationChannelConfig: + description: Configuration to create an e-mail notification channel properties: - aggregation_key: - $ref: '#/components/schemas/V2EventAggregationKey' - custom: - description: JSON object of custom attributes. - example: {} - type: object - evt: - $ref: '#/components/schemas/EventSystemAttributes' - links: - description: The links related to the event. + address: + description: The e-mail address to be notified + example: '' + type: string + formats: + description: Preferred content formats for notifications. example: - - category: runbook - title: Runbook Link - url: https://app.datadoghq.com/runbook + - html items: - $ref: '#/components/schemas/AlertEventAttributesLinksItem' + $ref: '#/components/schemas/NotificationChannelEmailFormatType' type: array - priority: - $ref: '#/components/schemas/AlertEventAttributesPriority' - service: - $ref: '#/components/schemas/V2EventService' - status: - $ref: '#/components/schemas/AlertEventAttributesStatus' - timestamp: - $ref: '#/components/schemas/V2EventTimestamp' - title: - $ref: '#/components/schemas/V2EventTitle' + type: + $ref: '#/components/schemas/NotificationChannelEmailConfigType' + required: + - type + - address + - formats type: object - IncidentFieldAttributesSingleValue: - description: A field with a single value selected. + OnCallPhoneNotificationRuleSettings: + description: Configuration for using a phone notification channel in a notification rule properties: + method: + $ref: '#/components/schemas/OnCallPhoneNotificationRuleMethod' type: - $ref: '#/components/schemas/IncidentFieldAttributesSingleValueType' - value: - description: The single value selected for this field. - example: SEV-1 - nullable: true - type: string + $ref: '#/components/schemas/NotificationChannelPhoneConfigType' + required: + - type + - method type: object - IncidentFieldAttributesMultipleValue: - description: A field with potentially multiple values selected. + OnCallNotificationRuleChannelRelationshipData: + description: Channel relationship data for creating a notification rule properties: + id: + description: ID of the notification channel + type: string type: - $ref: '#/components/schemas/IncidentFieldAttributesValueType' - value: - description: The multiple values selected for this field. + $ref: '#/components/schemas/NotificationChannelType' + type: object + ServiceDefinitionMetaWarnings: + description: Schema validation warnings. + properties: + instance-location: + description: The warning instance location. + type: string + keyword-location: + description: The warning keyword location. + type: string + message: + description: The warning message. + type: string + type: object + ServiceDefinitionV1: + deprecated: true + description: Deprecated - Service definition V1 for providing additional service metadata and integrations. + properties: + contact: + $ref: '#/components/schemas/ServiceDefinitionV1Contact' + extensions: + additionalProperties: {} + description: Extensions to V1 schema. example: - - '1.0' - - '1.1' + myorg/extension: extensionValue + type: object + external-resources: + description: A list of external links related to the services. items: - description: A value which has been selected for the parent field. - example: '1.1' + $ref: '#/components/schemas/ServiceDefinitionV1Resource' + type: array + info: + $ref: '#/components/schemas/ServiceDefinitionV1Info' + integrations: + $ref: '#/components/schemas/ServiceDefinitionV1Integrations' + org: + $ref: '#/components/schemas/ServiceDefinitionV1Org' + schema-version: + $ref: '#/components/schemas/ServiceDefinitionV1Version' + tags: + description: A set of custom tags. + example: + - my:tag + - service:tag + items: + description: A custom tag string in `key:value` format. type: string - nullable: true type: array + required: + - schema-version + - info type: object - RelationshipToIncidentAttachmentData: - description: The attachment relationship data. + ServiceDefinitionV2Dot2OpsgenieRegion: + description: Opsgenie instance region. + enum: + - US + - EU + example: US + type: string + x-enum-varnames: + - US + - EU + ServiceDefinitionV2Dot1EmailType: + description: Contact type. + enum: + - email + example: email + type: string + x-enum-varnames: + - EMAIL + ServiceDefinitionV2Dot1SlackType: + description: Contact type. + enum: + - slack + example: slack + type: string + x-enum-varnames: + - SLACK + ServiceDefinitionV2Dot1MSTeamsType: + description: Contact type. + enum: + - microsoft-teams + example: microsoft-teams + type: string + x-enum-varnames: + - MICROSOFT_TEAMS + ServiceDefinitionV2Dot1OpsgenieRegion: + description: Opsgenie instance region. + enum: + - US + - EU + example: US + type: string + x-enum-varnames: + - US + - EU + ServiceDefinitionV2EmailType: + description: Contact type. + enum: + - email + example: email + type: string + x-enum-varnames: + - EMAIL + ServiceDefinitionV2SlackType: + description: Contact type. + enum: + - slack + example: slack + type: string + x-enum-varnames: + - SLACK + ServiceDefinitionV2MSTeamsType: + description: Contact type. + enum: + - microsoft-teams + example: microsoft-teams + type: string + x-enum-varnames: + - MICROSOFT_TEAMS + ServiceDefinitionV2OpsgenieRegion: + description: Opsgenie instance region. + enum: + - US + - EU + example: US + type: string + x-enum-varnames: + - US + - EU + StatusPageDataAttributesComponentsItemsComponentsItems: + description: A grouped component within a status page component group. properties: id: - description: A unique identifier that represents the attachment. - example: 00000000-0000-abcd-1000-000000000000 + description: The ID of the component. + format: uuid + type: string + name: + description: The name of the component. type: string + position: + description: The zero-indexed position of the component. Relative to the other components in the group. + format: int64 + type: integer + status: + $ref: '#/components/schemas/StatusPagesComponentGroupAttributesComponentsItemsStatus' type: - $ref: '#/components/schemas/IncidentAttachmentType' + $ref: '#/components/schemas/StatusPagesComponentGroupAttributesComponentsItemsType' + type: object + StatusPagesComponentGroupAttributesComponentsItemsStatus: + description: The status of the component. + enum: + - operational + - degraded + - partial_outage + - major_outage + - maintenance + readOnly: true + type: string + x-enum-varnames: + - OPERATIONAL + - DEGRADED + - PARTIAL_OUTAGE + - MAJOR_OUTAGE + - MAINTENANCE + StatusPageDataRelationshipsCreatedByUserData: + description: The data object identifying the Datadog user who created the status page. + properties: + id: + description: The ID of the Datadog user who created the status page. + example: '' + type: string + type: + $ref: '#/components/schemas/StatusPagesUserType' required: - - id - type + - id type: object - NullableRelationshipToUserData: - description: Relationship to user object. - nullable: true + StatusPageDataRelationshipsLastModifiedByUserData: + description: The data object identifying the Datadog user who last modified the status page. properties: id: - description: A unique identifier that represents the user. - example: 00000000-0000-0000-0000-000000000000 + description: The ID of the Datadog user who last modified the status page. + example: '' type: string type: - $ref: '#/components/schemas/UsersType' + $ref: '#/components/schemas/StatusPagesUserType' required: - - id - type + - id type: object - RelationshipToUserData: - description: Relationship to user object. + CreateStatusPageRequestDataAttributesComponentsItemsComponentsItems: + description: A grouped component to be created within a status page component group. properties: id: - description: A unique identifier that represents the user. - example: 00000000-0000-0000-2345-000000000000 + description: The ID of the grouped component. + format: uuid + readOnly: true type: string + name: + description: The name of the grouped component. + type: string + position: + description: The zero-indexed position of the grouped component. Relative to the other components in the group. + format: int64 + type: integer + status: + $ref: '#/components/schemas/StatusPagesComponentGroupAttributesComponentsItemsStatus' type: - $ref: '#/components/schemas/UsersType' + $ref: '#/components/schemas/StatusPagesComponentGroupAttributesComponentsItemsType' + type: object + DegradationDataAttributesSourceType: + description: The type of the source. + enum: + - incident + example: incident + type: string + x-enum-varnames: + - INCIDENT + DegradationDataAttributesUpdatesItemsComponentsAffectedItems: + description: A component affected at the time of a degradation update. + properties: + id: + description: Identifier of the component affected at the time of the update. + example: 1234abcd-12ab-34cd-56ef-123456abcdef + format: uuid + type: string + name: + description: The name of the component affected at the time of the update. + readOnly: true + type: string + status: + $ref: '#/components/schemas/StatusPagesComponentDataAttributesStatus' + description: The status of the component affected at the time of the update. required: - id - - type + - status type: object - RelationshipToIncidentImpactData: - description: Relationship to impact object. + DegradationDataRelationshipsCreatedByUserData: + description: The data object identifying the Datadog user who created the degradation. properties: id: - description: A unique identifier that represents the impact. - example: 00000000-0000-0000-2345-000000000000 + description: The ID of the Datadog user who created the degradation. + example: '' type: string type: - $ref: '#/components/schemas/IncidentImpactsType' + $ref: '#/components/schemas/StatusPagesUserType' required: + - type - id + type: object + DegradationDataRelationshipsLastModifiedByUserData: + description: The data object identifying the Datadog user who last modified the degradation. + properties: + id: + description: The ID of the Datadog user who last modified the degradation. + example: '' + type: string + type: + $ref: '#/components/schemas/StatusPagesUserType' + required: - type + - id type: object - RelationshipToIncidentIntegrationMetadataData: - description: A relationship reference for an integration metadata object. - example: - id: 00000000-abcd-0002-0000-000000000000 - type: incident_integrations + DegradationDataRelationshipsStatusPageData: + description: The data object identifying the status page the degradation belongs to. properties: id: - description: A unique identifier that represents the integration metadata. - example: 00000000-abcd-0001-0000-000000000000 + description: The ID of the status page. + example: 1234abcd-12ab-34cd-56ef-123456abcdef + format: uuid type: string type: - $ref: '#/components/schemas/IncidentIntegrationMetadataType' + $ref: '#/components/schemas/StatusPageDataType' required: - - id - type + - id type: object - RelationshipToIncidentResponderData: - description: Relationship to impact object. + DegradationDataRelationshipsTemplateData: + description: The data object identifying the template the degradation was created from. properties: id: - description: A unique identifier that represents the responder. - example: 00000000-0000-0000-2345-000000000000 + description: The ID of the degradation template. + example: '' type: string type: - $ref: '#/components/schemas/IncidentRespondersType' + $ref: '#/components/schemas/PatchDegradationTemplateRequestDataType' required: - - id - type + - id type: object - RelationshipToIncidentUserDefinedFieldData: - description: Relationship to impact object. + StatusPageAsIncludedAttributesComponentsItems: + description: A component displayed on an included status page. properties: + components: + description: If the component is of type `group`, the components within the group. + items: + $ref: '#/components/schemas/StatusPageAsIncludedAttributesComponentsItemsComponentsItems' + type: array id: - description: A unique identifier that represents the responder. - example: 00000000-0000-0000-2345-000000000000 + description: The ID of the component. + format: uuid + readOnly: true + type: string + name: + description: The name of the component. type: string + position: + description: The zero-indexed position of the component. + format: int64 + type: integer + status: + $ref: '#/components/schemas/StatusPagesComponentGroupAttributesComponentsItemsStatus' type: - $ref: '#/components/schemas/IncidentUserDefinedFieldType' - required: - - id - - type + $ref: '#/components/schemas/CreateComponentRequestDataAttributesType' type: object - IncidentTimelineCellMarkdownCreateAttributes: - description: Timeline cell data for Markdown timeline cells for a create request. + StatusPageAsIncludedRelationshipsCreatedByUser: + description: The Datadog user who created the status page. properties: - cell_type: - $ref: '#/components/schemas/IncidentTimelineCellMarkdownContentType' - content: - $ref: >- - #/components/schemas/IncidentTimelineCellMarkdownCreateAttributesContent - important: - default: false - description: >- - A flag indicating whether the timeline cell is important and should - be highlighted. - example: false - type: boolean + data: + $ref: '#/components/schemas/StatusPageAsIncludedRelationshipsCreatedByUserData' required: - - content - - cell_type + - data type: object - IncidentNotificationRuleConditionsItems: - description: A condition that must be met to trigger the notification rule. + StatusPageAsIncludedRelationshipsLastModifiedByUser: + description: The Datadog user who last modified the status page. properties: - field: - description: The incident field to evaluate - example: severity - type: string - values: - description: >- - The value(s) to compare against. Multiple values are `ORed` - together. - example: - - SEV-1 - - SEV-2 - items: - type: string - type: array + data: + $ref: '#/components/schemas/StatusPageAsIncludedRelationshipsLastModifiedByUserData' required: - - field - - values + - data type: object - RelationshipToIncidentTypeData: - description: Relationship to incident type object. + PatchMaintenanceRequestDataAttributesComponentsAffectedItemsStatus: + description: The status of the component. + enum: + - operational + - maintenance + example: operational + type: string + x-enum-varnames: + - OPERATIONAL + - MAINTENANCE + MaintenanceDataAttributesUpdatesItemsComponentsAffectedItems: + description: A component affected at the time of a maintenance update. properties: id: - description: The incident type's ID. - example: 00000000-0000-0000-0000-000000000000 + description: Identifier of the component affected at the time of the update. + example: 1234abcd-12ab-34cd-56ef-123456abcdef + format: uuid type: string - type: - $ref: '#/components/schemas/IncidentTypeType' + name: + description: The name of the component affected at the time of the update. + readOnly: true + type: string + status: + $ref: '#/components/schemas/PatchMaintenanceRequestDataAttributesComponentsAffectedItemsStatus' + description: The status of the component affected at the time of the update. required: - id - - type + - status type: object - RelationshipToIncidentNotificationTemplateData: - description: The notification template relationship data. + MaintenanceDataRelationshipsCreatedByUserData: + description: The data object identifying the Datadog user who created the maintenance. properties: id: - description: The unique identifier of the notification template. - example: 00000000-0000-0000-0000-000000000001 + description: The ID of the Datadog user who created the maintenance. + example: '' format: uuid type: string type: - $ref: '#/components/schemas/IncidentNotificationTemplateType' + $ref: '#/components/schemas/StatusPagesUserType' required: - - id - type + - id type: object - GoogleMeetConfigurationReferenceData: - description: The Google Meet configuration relationship data object. - nullable: true + MaintenanceDataRelationshipsLastModifiedByUserData: + description: The data object identifying the Datadog user who last modified the maintenance. properties: id: - description: The unique identifier of the Google Meet configuration. - example: 00000000-0000-0000-0000-000000000000 + description: The ID of the Datadog user who last modified the maintenance. + example: '' + format: uuid type: string type: - description: The type of the Google Meet configuration. - example: google_meet_configurations - type: string + $ref: '#/components/schemas/StatusPagesUserType' required: - - id - type + - id type: object - MicrosoftTeamsConfigurationReferenceData: - description: The Microsoft Teams configuration relationship data object. - nullable: true + MaintenanceDataRelationshipsStatusPageData: + description: The data object identifying the status page associated with a maintenance. properties: id: - description: The unique identifier of the Microsoft Teams configuration. - example: 00000000-0000-0000-0000-000000000000 + description: The ID of the status page. + example: '' + format: uuid type: string type: - description: The type of the Microsoft Teams configuration. - example: microsoft_teams_configurations - type: string + $ref: '#/components/schemas/StatusPageDataType' required: - - id - type + - id type: object - ZoomConfigurationReferenceData: - description: The Zoom configuration relationship data object. - nullable: true + MaintenanceDataRelationshipsTemplateData: + description: The data object identifying the template the maintenance was created from. properties: id: - description: The unique identifier of the Zoom configuration. - example: 00000000-0000-0000-0000-000000000000 + description: The ID of the maintenance template. + example: '' type: string type: - description: The type of the Zoom configuration. - example: zoom_configurations - type: string + $ref: '#/components/schemas/PatchMaintenanceTemplateRequestDataType' required: - - id - type + - id type: object - IncidentSearchResponseUserFacetData: - description: Facet data for user attributes of an incident. - properties: - count: - $ref: '#/components/schemas/IncidentSearchResponseFacetCount' - email: - description: Email of the user. - example: datadog.user@example.com - type: string - handle: - description: Handle of the user. - example: '@datadog.user@example.com' - type: string - name: - description: Name of the user. - example: Datadog User - type: string - uuid: - description: ID of the user. - example: 773b045d-ccf8-4808-bd3b-955ef6a8c940 - type: string - type: object - IncidentSearchResponsePropertyFieldFacetData: - description: Facet data for the incident property fields. + StatusPagesComponentGroupAttributesComponentsItemsType: + description: The type of the component. + enum: + - component + example: component + type: string + x-enum-varnames: + - COMPONENT + StatusPagesComponentDataRelationshipsCreatedByUserData: + description: The data object identifying the Datadog user who created the component. properties: - aggregates: - $ref: >- - #/components/schemas/IncidentSearchResponseNumericFacetDataAggregates - facets: - description: Facet data for the property field of an incident. - items: - $ref: '#/components/schemas/IncidentSearchResponseFieldFacetData' - type: array - name: - description: Name of the incident property field. - example: Severity + id: + description: The ID of the Datadog user who created the component. + example: '' type: string + type: + $ref: '#/components/schemas/StatusPagesUserType' required: - - facets - - name + - type + - id type: object - IncidentSearchResponseFieldFacetData: - description: >- - Facet value and number of occurrences for a property field of an - incident. + StatusPagesComponentDataRelationshipsGroupData: + description: The data object identifying the group the component belongs to. + nullable: true properties: - count: - $ref: '#/components/schemas/IncidentSearchResponseFacetCount' - name: - description: The facet value appearing in search results. - example: SEV-2 + id: + description: The ID of the group the component belongs to. + example: 1234abcd-12ab-34cd-56ef-123456abcdef + format: uuid type: string + type: + $ref: '#/components/schemas/StatusPagesComponentGroupType' + required: + - type + - id type: object - IncidentSearchResponseNumericFacetData: - description: Facet data numeric attributes of an incident. + StatusPagesComponentDataRelationshipsLastModifiedByUserData: + description: The data object identifying the Datadog user who last modified the component. properties: - aggregates: - $ref: >- - #/components/schemas/IncidentSearchResponseNumericFacetDataAggregates - name: - description: Name of the incident property field. - example: time_to_repair + id: + description: The ID of the Datadog user who last modified the component. + example: '' type: string + type: + $ref: '#/components/schemas/StatusPagesUserType' required: - - name - - aggregates + - type + - id type: object - RelationshipToIncidentPostmortemData: - description: The postmortem relationship data. - example: - id: 00000000-0000-abcd-2000-000000000000 - type: incident_postmortems + StatusPagesComponentDataRelationshipsStatusPageData: + description: The data object identifying the status page the component belongs to. properties: id: - description: A unique identifier that represents the postmortem. - example: 00000000-0000-abcd-1000-000000000000 + description: The ID of the status page the component belongs to. + example: 1234abcd-12ab-34cd-56ef-123456abcdef + format: uuid type: string type: - $ref: '#/components/schemas/IncidentPostmortemType' + $ref: '#/components/schemas/StatusPageDataType' required: - - id - type + - id type: object - IncidentAttachmentsPostmortemAttributesAttachmentObject: - description: The postmortem attachment. + StatusPagesComponentGroupAttributesComponentsItems: + description: A component within a component group. properties: - documentUrl: - description: The URL of this notebook attachment. - example: https://app.datadoghq.com/notebook/123 + id: + description: The ID of the grouped component. + format: uuid + readOnly: true type: string - title: - description: The title of this postmortem attachment. - example: Postmortem IR-123 + name: + description: The name of the grouped component. type: string - required: - - documentUrl - - title + position: + description: The zero-indexed position of the grouped component. Relative to the other components in the group. + format: int64 + type: integer + status: + $ref: '#/components/schemas/StatusPagesComponentGroupAttributesComponentsItemsStatus' + type: + $ref: '#/components/schemas/StatusPagesComponentGroupAttributesComponentsItemsType' type: object - IncidentAttachmentPostmortemAttachmentType: - default: postmortem - description: The type of postmortem attachment attributes. - enum: - - postmortem - example: postmortem - type: string - x-enum-varnames: - - POSTMORTEM - IncidentAttachmentLinkAttributesAttachmentObject: - description: The link attachment. + StatusPagesComponentGroupRelationshipsCreatedByUser: + description: The Datadog user who created the component group. properties: - documentUrl: - description: The URL of this link attachment. - example: https://www.example.com/webstore-failure-runbook - type: string - title: - description: The title of this link attachment. - example: Runbook for webstore service failures - type: string + data: + $ref: '#/components/schemas/StatusPagesComponentGroupRelationshipsCreatedByUserData' required: - - documentUrl - - title + - data type: object - IncidentAttachmentLinkAttachmentType: - default: link - description: The type of link attachment attributes. - enum: - - link - example: link - type: string - x-enum-varnames: - - LINK - SlackIntegrationMetadata: - description: Incident integration metadata for the Slack integration. + StatusPagesComponentGroupRelationshipsGroup: + description: The group the component group belongs to. properties: - channels: - description: Array of Slack channels in this integration metadata. - example: [] - items: - $ref: '#/components/schemas/SlackIntegrationMetadataChannelItem' - type: array + data: + $ref: '#/components/schemas/StatusPagesComponentGroupRelationshipsGroupData' required: - - channels + - data type: object - JiraIntegrationMetadata: - description: Incident integration metadata for the Jira integration. + StatusPagesComponentGroupRelationshipsLastModifiedByUser: + description: The Datadog user who last modified the component group. properties: - issues: - description: Array of Jira issues in this integration metadata. - example: [] - items: - $ref: '#/components/schemas/JiraIntegrationMetadataIssuesItem' - type: array + data: + $ref: '#/components/schemas/StatusPagesComponentGroupRelationshipsLastModifiedByUserData' required: - - issues + - data type: object - MSTeamsIntegrationMetadata: - description: Incident integration metadata for the Microsoft Teams integration. + StatusPagesComponentGroupRelationshipsStatusPage: + description: The status page the component group belongs to. + properties: + data: + $ref: '#/components/schemas/StatusPagesComponentGroupRelationshipsStatusPageData' + required: + - data + type: object + CreateComponentRequestDataRelationshipsGroupData: + description: The data object identifying the group to create the component within. + nullable: true properties: - teams: - description: Array of Microsoft Teams in this integration metadata. - example: [] - items: - $ref: '#/components/schemas/MSTeamsIntegrationMetadataTeamsItem' - type: array + id: + description: The ID of the group. + example: 1234abcd-12ab-34cd-56ef-123456abcdef + format: uuid + type: string + type: + $ref: '#/components/schemas/StatusPagesComponentGroupType' required: - - teams + - type + - id type: object - IncidentTodoAssignee: - description: A todo assignee. - example: '@test.user@test.com' - oneOf: - - $ref: '#/components/schemas/IncidentTodoAssigneeHandle' - - $ref: '#/components/schemas/IncidentTodoAnonymousAssignee' - EscalationPolicyStepAttributesAssignment: - description: >- - Specifies how this escalation step will assign targets (example - `default` or `round-robin`). + PatchDegradationTemplateRequestDataAttributesComponentsAffectedItemsStatus: + description: The status of the component. enum: - - default - - round-robin + - operational + - degraded + - partial_outage + - major_outage + example: operational type: string x-enum-varnames: - - DEFAULT - - ROUND_ROBIN - EscalationPolicyStepTarget: - description: >- - Defines a single escalation target within a step for an escalation - policy creation request. Contains `id` and `type`. + - OPERATIONAL + - DEGRADED + - PARTIAL_OUTAGE + - MAJOR_OUTAGE + DegradationTemplateDataRelationshipsCreatedByUserData: + description: The data object identifying the Datadog user who created the degradation template. properties: id: - description: Specifies the unique identifier for this target. - example: 00000000-aba1-0000-0000-000000000000 + description: The ID of the Datadog user who created the degradation template. + example: '' type: string type: - $ref: '#/components/schemas/EscalationPolicyStepTargetType' + $ref: '#/components/schemas/StatusPagesUserType' + required: + - type + - id type: object - DataRelationshipsTeamsDataItems: - description: >- - Relates a team to this schedule, identified by `id` and `type` (must be - `teams`). + DegradationTemplateDataRelationshipsLastModifiedByUserData: + description: The data object identifying the Datadog user who last modified the degradation template. properties: id: - description: The unique identifier of the team in this relationship. - example: 00000000-da3a-0000-0000-000000000000 + description: The ID of the Datadog user who last modified the degradation template. + example: '' type: string type: - $ref: '#/components/schemas/DataRelationshipsTeamsDataItemsType' + $ref: '#/components/schemas/StatusPagesUserType' required: - type - id type: object - EscalationPolicyDataRelationshipsStepsDataItems: - description: >- - Defines a relationship to a single step within an escalation policy. - Contains the step's `id` and `type`. + DegradationTemplateDataRelationshipsStatusPageData: + description: The data object identifying the status page associated with a degradation template. properties: id: - description: Specifies the unique identifier for the step resource. - example: 00000000-aba1-0000-0000-000000000000 + description: The ID of the status page. + example: '' type: string type: - $ref: >- - #/components/schemas/EscalationPolicyDataRelationshipsStepsDataItemsType + $ref: '#/components/schemas/StatusPageDataType' required: - type - id type: object - EscalationTargets: - description: A list of escalation targets for a step + CreateDegradationRequestDataRelationshipsTemplateData: + description: The data object identifying the template used to create the degradation. properties: - data: - description: The `EscalationTargets` `data`. - items: - $ref: '#/components/schemas/EscalationTarget' - type: array + id: + description: The ID of the degradation template. + example: '' + type: string + type: + $ref: '#/components/schemas/PatchDegradationTemplateRequestDataType' + required: + - type + - id type: object - UserAttributesStatus: - description: The user's status. - enum: - - active - - deactivated - - pending - type: string - x-enum-varnames: - - ACTIVE - - DEACTIVATED - - PENDING - OnCallPageTargetType: - description: The kind of target, `team_id` | `team_handle` | `user_id`. - enum: - - team_id - - team_handle - - user_id - example: team_id - type: string - x-enum-varnames: - - TEAM_ID - - TEAM_HANDLE - - USER_ID - LayerAttributesInterval: - description: >- - Defines how often the rotation repeats, using a combination of days and - optional seconds. Should be at least 1 hour. + CreateBackfilledDegradationRequestDataRelationshipsTemplateData: + description: The data object identifying the template used to create the backfilled degradation. properties: - days: - description: The number of days in each rotation cycle. - example: 1 - format: int32 - maximum: 400 - type: integer - seconds: - description: Any additional seconds for the rotation cycle (up to 30 days). - example: 300 - format: int64 - maximum: 2592000 - type: integer + id: + description: The ID of the degradation template. + example: '' + type: string + type: + $ref: '#/components/schemas/PatchDegradationTemplateRequestDataType' + required: + - type + - id type: object - ScheduleRequestDataAttributesLayersItemsMembersItems: - description: >- - Defines a single member within a schedule layer, including the reference - to the underlying user. + PatchDegradationRequestDataRelationshipsTemplateData: + description: The data object identifying the template used to create the degradation. properties: - user: - $ref: >- - #/components/schemas/ScheduleRequestDataAttributesLayersItemsMembersItemsUser + id: + description: The ID of the degradation template. + example: '' + type: string + type: + $ref: '#/components/schemas/PatchDegradationTemplateRequestDataType' + required: + - type + - id type: object - TimeRestriction: - description: >- - Defines a single time restriction rule with start and end times and the - applicable weekdays. + DegradationUpdateDataRelationshipsUserData: + description: A Datadog user linked to a degradation update. properties: - end_day: - $ref: '#/components/schemas/Weekday' - end_time: - description: Specifies the ending time for this restriction. + id: + description: The ID of the user. + example: '' type: string - start_day: - $ref: '#/components/schemas/Weekday' - start_time: - description: Specifies the starting time for this restriction. + type: + $ref: '#/components/schemas/StatusPagesUserType' + required: + - type + - id + type: object + DegradationUpdateDataRelationshipsDegradationData: + description: The degradation linked to a degradation update. + properties: + id: + description: The ID of the degradation. + example: '' type: string + type: + $ref: '#/components/schemas/PatchDegradationRequestDataType' + required: + - type + - id type: object - ScheduleDataRelationshipsLayersDataItems: - description: >- - Relates a layer to this schedule, identified by `id` and `type` (must be - `layers`). + DegradationUpdateDataRelationshipsStatusPageData: + description: The status page linked to a degradation update. properties: id: - description: The unique identifier of the layer in this relationship. - example: 00000000-0000-0000-0000-000000000001 + description: The ID of the status page. + example: '' type: string type: - $ref: '#/components/schemas/ScheduleDataRelationshipsLayersDataItemsType' + $ref: '#/components/schemas/StatusPageDataType' required: - type - id type: object - LayerRelationshipsMembers: - description: >- - Holds an array of references to the members of a Layer, each containing - member IDs. + MaintenanceTemplateDataRelationshipsCreatedByUserData: + description: The data object identifying the Datadog user who created the maintenance template. properties: - data: - description: The list of members who belong to this layer. - items: - $ref: '#/components/schemas/LayerRelationshipsMembersDataItems' - type: array + id: + description: The ID of the Datadog user who created the maintenance template. + example: '' + type: string + type: + $ref: '#/components/schemas/StatusPagesUserType' + required: + - type + - id type: object - ScheduleMemberRelationshipsUser: - description: Wraps the user data reference for a schedule member. + MaintenanceTemplateDataRelationshipsLastModifiedByUserData: + description: The data object identifying the Datadog user who last modified the maintenance template. properties: - data: - $ref: '#/components/schemas/ScheduleMemberRelationshipsUserData' + id: + description: The ID of the Datadog user who last modified the maintenance template. + example: '' + type: string + type: + $ref: '#/components/schemas/StatusPagesUserType' required: - - data + - type + - id type: object - ShiftDataRelationshipsUserData: - description: >- - Represents a reference to the user assigned to this shift, containing - the user's ID and resource type. + MaintenanceTemplateDataRelationshipsStatusPageData: + description: The data object identifying the status page associated with a maintenance template. properties: id: - description: Specifies the unique identifier of the user. - example: 00000000-0000-0000-0000-000000000000 + description: The ID of the status page. + example: '' type: string type: - $ref: '#/components/schemas/ShiftDataRelationshipsUserDataType' + $ref: '#/components/schemas/StatusPageDataType' required: - type - id type: object - TeamOnCallRespondersDataRelationshipsEscalationsDataItems: - description: >- - Represents a link to a specific escalation policy step associated with - the on-call team. + CreateMaintenanceRequestDataRelationshipsTemplateData: + description: The data object identifying the template used to create the maintenance. properties: id: - description: Unique identifier of the escalation step. + description: The ID of the maintenance template. example: '' type: string type: - $ref: >- - #/components/schemas/TeamOnCallRespondersDataRelationshipsEscalationsDataItemsType + $ref: '#/components/schemas/PatchMaintenanceTemplateRequestDataType' required: - type - id type: object - TeamOnCallRespondersDataRelationshipsRespondersDataItems: - description: Represents a user responder associated with the on-call team. + CreateMaintenanceRequestDataAttributesUpdatesItemsStatus: + description: The status of a maintenance update. + enum: + - in_progress + - completed + example: in_progress + type: string + x-enum-varnames: + - IN_PROGRESS + - COMPLETED + CreateBackfilledMaintenanceRequestDataRelationshipsTemplateData: + description: The data object identifying the template used to create the backfilled maintenance. properties: id: - description: Unique identifier of the responder. + description: The ID of the maintenance template. example: '' type: string type: - $ref: >- - #/components/schemas/TeamOnCallRespondersDataRelationshipsRespondersDataItemsType + $ref: '#/components/schemas/PatchMaintenanceTemplateRequestDataType' required: - type - id type: object - EscalationRelationshipsResponders: - description: Lists the users involved in a specific step of the escalation policy. + PatchMaintenanceRequestDataRelationshipsTemplateData: + description: The data object identifying the template used to create the maintenance. properties: - data: - description: >- - Array of user references assigned as responders for this escalation - step. - items: - $ref: '#/components/schemas/EscalationRelationshipsRespondersDataItems' - type: array + id: + description: The ID of the maintenance template. + example: '' + type: string + type: + $ref: '#/components/schemas/PatchMaintenanceTemplateRequestDataType' + required: + - type + - id type: object - TeamRoutingRulesDataRelationshipsRulesDataItems: - description: Defines a relationship item to link a routing rule by its ID and type. + MaintenanceUpdateDataRelationshipsUserData: + description: The data object identifying a Datadog user linked to a maintenance update. properties: id: - description: Specifies the unique identifier for the related routing rule. + description: The ID of the Datadog user. example: '' + format: uuid type: string type: - $ref: >- - #/components/schemas/TeamRoutingRulesDataRelationshipsRulesDataItemsType + $ref: '#/components/schemas/StatusPagesUserType' required: - type - id type: object - RoutingRuleAction: - description: >- - Defines an action that is executed when a routing rule matches certain - criteria. - oneOf: - - $ref: '#/components/schemas/SendSlackMessageAction' - - $ref: '#/components/schemas/SendTeamsMessageAction' - TimeRestrictions: - description: >- - Holds time zone information and a list of time restrictions for a - routing rule. + MaintenanceUpdateDataRelationshipsMaintenanceData: + description: The maintenance linked to a maintenance update. properties: - restrictions: - description: Defines the list of time-based restrictions. - items: - $ref: '#/components/schemas/TimeRestriction' - type: array - time_zone: - description: Specifies the time zone applicable to the restrictions. + id: + description: The ID of the maintenance. example: '' + format: uuid type: string + type: + $ref: '#/components/schemas/PatchMaintenanceRequestDataType' required: - - time_zone - - restrictions + - type + - id type: object - Urgency: - description: >- - Specifies the level of urgency for a routing rule (low, high, or - dynamic). + SLOTimeSliceComparator: + description: The comparator used to compare the SLI value to the threshold. enum: - - low - - high - - dynamic - example: low + - '>' + - '>=' + - < + - <= + example: '>' type: string x-enum-varnames: - - LOW - - HIGH - - DYNAMIC - RoutingRuleRelationshipsPolicy: - description: Defines the relationship that links a routing rule to a policy. + - GREATER + - GREATER_EQUAL + - LESS + - LESS_EQUAL + SLOTimeSliceQuery: + description: The queries and formula used to calculate the SLI value. + example: + formulas: + - formula: query2/query1 + queries: + - data_source: metrics + name: query1 + query: sum:trace.servlet.request.hits{*} by {env}.as_count() + - data_source: metrics + name: query1 + query: sum:trace.servlet.request.errors{*} by {env}.as_count() + properties: + formulas: + description: A list that contains exactly one formula, as only a single formula may be used in a time-slice SLO. + example: + - formula: query1 - default_zero(query2) + items: + $ref: '#/components/schemas/SLOFormula' + maxItems: 1 + minItems: 1 + type: array + queries: + description: A list of queries that are used to calculate the SLI value. + example: + - data_source: metrics + name: query1 + query: sum:trace.servlet.request.hits{*} by {env}.as_count() + items: + $ref: '#/components/schemas/SLODataSourceQueryDefinition' + type: array + required: + - formulas + - queries + type: object + SLOTimeSliceInterval: + description: |- + The interval used when querying data, which defines the size of a time slice. + Two values are allowed: 60 (1 minute) and 300 (5 minutes). + If not provided, the value defaults to 300 (5 minutes). + enum: + - 60 + - 300 + example: 300 + format: int32 + type: integer + x-enum-varnames: + - ONE_MINUTE + - FIVE_MINUTES + SLOCountDefinitionWithTotalEventsFormula: + additionalProperties: false + description: SLO count definition using a total events formula alongside a good events formula. properties: - data: - $ref: '#/components/schemas/RoutingRuleRelationshipsPolicyData' - nullable: true + good_events_formula: + $ref: '#/components/schemas/SLOFormula' + queries: + example: + - data_source: metrics + name: query1 + query: sum:trace.servlet.request.hits{!http.status_code:500} by {env}.as_count() + - data_source: metrics + name: query2 + query: sum:trace.servlet.request.hits{http.status_code:500} by {env}.as_count() + items: + $ref: '#/components/schemas/SLODataSourceQueryDefinition' + minItems: 1 + type: array + total_events_formula: + $ref: '#/components/schemas/SLOFormula' + description: The total events formula. Bad events queries can be defined using the `bad_events_formula` field as an alternative. Only one of `total_events_formula` or `bad_events_formula` must be provided. + required: + - good_events_formula + - total_events_formula + - queries + type: object + SLOCountDefinitionWithBadEventsFormula: + additionalProperties: false + description: SLO count definition using a bad events formula alongside a good events formula. + properties: + bad_events_formula: + $ref: '#/components/schemas/SLOFormula' + description: The bad events formula (recommended). Total events queries can be defined using the `total_events_formula` field as an alternative. Only one of `total_events_formula` or `bad_events_formula` must be provided. + good_events_formula: + $ref: '#/components/schemas/SLOFormula' + queries: + example: + - data_source: metrics + name: query1 + query: sum:trace.servlet.request.hits{!http.status_code:500} by {env}.as_count() + - data_source: metrics + name: query2 + query: sum:trace.servlet.request.hits{http.status_code:500} by {env}.as_count() + items: + $ref: '#/components/schemas/SLODataSourceQueryDefinition' + minItems: 1 + type: array + required: + - good_events_formula + - bad_events_formula + - queries + type: object + SearchSLOResponseDataAttributesFacetsObjectString: + description: Facet + properties: + count: + description: Count + format: int64 + type: integer + name: + description: Facet + type: string type: object - ServiceDefinitionMetaWarnings: - description: Schema validation warnings. + SearchSLOResponseDataAttributesFacetsObjectInt: + description: Facet properties: - instance-location: - description: The warning instance location. - type: string - keyword-location: - description: The warning keyword location. + count: + description: Count + format: int64 + type: integer + name: + description: Facet + format: double + type: number + type: object + SearchServiceLevelObjectiveData: + description: A service level objective ID and attributes. + properties: + attributes: + $ref: '#/components/schemas/SearchServiceLevelObjectiveAttributes' + id: + description: |- + A unique identifier for the service level objective object. + + Always included in service level objective responses. + readOnly: true type: string - message: - description: The warning message. + type: + description: The type of the object, must be `slo`. type: string type: object - ServiceDefinitionV1: - deprecated: true - description: >- - Deprecated - Service definition V1 for providing additional service - metadata and integrations. + SLOHistoryMetricsSeriesMetadata: + description: Query metadata. + example: {} properties: - contact: - $ref: '#/components/schemas/ServiceDefinitionV1Contact' - extensions: - additionalProperties: {} - description: Extensions to V1 schema. - example: - myorg/extension: extensionValue - type: object - external-resources: - description: A list of external links related to the services. - items: - $ref: '#/components/schemas/ServiceDefinitionV1Resource' - type: array - info: - $ref: '#/components/schemas/ServiceDefinitionV1Info' - integrations: - $ref: '#/components/schemas/ServiceDefinitionV1Integrations' - org: - $ref: '#/components/schemas/ServiceDefinitionV1Org' - schema-version: - $ref: '#/components/schemas/ServiceDefinitionV1Version' - tags: - description: A set of custom tags. + aggr: + deprecated: true + description: Query aggregator function. + type: string + expression: + deprecated: true + description: Query expression. + type: string + metric: + deprecated: true + description: Query metric used. + type: string + query_index: + deprecated: true + description: Query index from original combined query. + format: int64 + type: integer + scope: + deprecated: true + description: Query scope. + type: string + unit: + description: |- + An array of metric units that contains up to two unit objects. + For example, bytes represents one unit object and bytes per second represents two unit objects. + If a metric query only has one unit object, the second array element is null. example: - - my:tag - - service:tag + - family: bytes + id: 2 + name: byte + plural: bytes + scale_factor: 1 + short_name: B + - null items: - type: string + $ref: '#/components/schemas/SLOHistoryMetricsSeriesMetadataUnit' + nullable: true type: array - required: - - schema-version - - info type: object - ServiceDefinitionV2Dot2OpsgenieRegion: - description: Opsgenie instance region. - enum: - - US - - EU - example: US - type: string - x-enum-varnames: - - US - - EU - ServiceDefinitionV2Dot1EmailType: - description: Contact type. - enum: - - email - example: email - type: string - x-enum-varnames: - - EMAIL - ServiceDefinitionV2Dot1SlackType: - description: Contact type. - enum: - - slack - example: slack - type: string - x-enum-varnames: - - SLACK - ServiceDefinitionV2Dot1MSTeamsType: - description: Contact type. - enum: - - microsoft-teams - example: microsoft-teams - type: string - x-enum-varnames: - - MICROSOFT_TEAMS - ServiceDefinitionV2Dot1OpsgenieRegion: - description: Opsgenie instance region. - enum: - - US - - EU - example: US - type: string - x-enum-varnames: - - US - - EU - ServiceDefinitionV2EmailType: - description: Contact type. - enum: - - email - example: email - type: string - x-enum-varnames: - - EMAIL - ServiceDefinitionV2SlackType: - description: Contact type. - enum: - - slack - example: slack - type: string - x-enum-varnames: - - SLACK - ServiceDefinitionV2MSTeamsType: - description: Contact type. - enum: - - microsoft-teams - example: microsoft-teams - type: string - x-enum-varnames: - - MICROSOFT_TEAMS - ServiceDefinitionV2OpsgenieRegion: - description: Opsgenie instance region. - enum: - - US - - EU - example: US - type: string - x-enum-varnames: - - US - - EU UserResourceType: default: user description: User resource type. @@ -12878,6 +41096,96 @@ components: type: string x-enum-varnames: - USER + ProjectColumnsConfigColumnsItemsSort: + description: Sort configuration for a project board column. + properties: + ascending: + description: Whether to sort in ascending order. + type: boolean + priority: + description: The sort priority order for this column. + format: int64 + type: integer + type: object + IntegrationIncidentFieldMappingsItems: + description: Mapping between an incident user-defined field and a case field. + properties: + case_field: + description: The case field to map the incident field value to. + type: string + incident_user_defined_field_id: + description: The identifier of the incident user-defined field to map from. + type: string + type: object + IntegrationIncidentSeverityConfig: + description: Severity configuration for mapping incident priorities to case priorities. + properties: + priority_mapping: + additionalProperties: + type: string + description: Mapping of incident severity values to case priority values. + type: object + type: object + IntegrationJiraAutoCreation: + description: Auto-creation settings for Jira issues from cases. + properties: + enabled: + description: Whether automatic Jira issue creation is enabled. + type: boolean + type: object + IntegrationJiraMetadata: + description: Metadata for connecting a case management project to a Jira project. + properties: + account_id: + description: The Jira account identifier. + type: string + issue_type_id: + description: The Jira issue type identifier to use when creating issues. + type: string + project_id: + description: The Jira project identifier to associate with this case project. + type: string + type: object + IntegrationJiraSync: + description: Synchronization configuration for Jira integration. + properties: + enabled: + description: Whether Jira field synchronization is enabled. + type: boolean + properties: + $ref: '#/components/schemas/IntegrationJiraSyncProperties' + type: object + IntegrationOnCallEscalationQueriesItems: + description: An On-Call escalation query entry used to route cases to on-call responders. + properties: + enabled: + description: Whether this escalation query is enabled. + type: boolean + id: + description: Unique identifier of the escalation query. + type: string + query: + description: The query used to match cases for escalation. + type: string + target: + $ref: '#/components/schemas/IntegrationOnCallEscalationQueriesItemsTarget' + type: object + IntegrationServiceNowAutoCreation: + description: Auto-creation settings for ServiceNow incidents from cases. + properties: + enabled: + description: Whether automatic ServiceNow incident creation is enabled. + type: boolean + type: object + IntegrationServiceNowSyncConfig: + description: Synchronization configuration for ServiceNow integration. + properties: + enabled: + description: Whether ServiceNow synchronization is enabled. + type: boolean + properties: + $ref: '#/components/schemas/IntegrationServiceNowSyncConfig139772721534496' + type: object TeamLinkType: default: team_links description: Team link type @@ -12887,14 +41195,34 @@ components: type: string x-enum-varnames: - TEAM_LINKS + TimelineCellAuthorUserContent: + description: Profile information for the user who authored the timeline cell. + properties: + email: + description: The email address of the user. + type: string + handle: + description: The Datadog handle of the user. + type: string + id: + description: The UUID of the user. + type: string + name: + description: The display name of the user. + type: string + type: object + TimelineCellAuthorUserType: + description: The type of timeline cell author. Currently only `USER` is supported. + enum: + - USER + example: USER + type: string + x-enum-varnames: + - USER DowntimeScheduleCurrentDowntimeResponse: - description: >- - The most recent actual start and end dates for a recurring downtime. For - a canceled downtime, - - this is the previously occurring downtime. For active downtimes, this is - the ongoing downtime, and for scheduled - + description: |- + The most recent actual start and end dates for a recurring downtime. For a canceled downtime, + this is the previously occurring downtime. For active downtimes, this is the ongoing downtime, and for scheduled downtimes it is the upcoming downtime. properties: end: @@ -12917,10 +41245,8 @@ components: rrule: $ref: '#/components/schemas/DowntimeScheduleRecurrenceRrule' start: - description: >- - ISO-8601 Datetime to start the downtime. Must not include a UTC - offset. If not provided, the - + description: |- + ISO-8601 Datetime to start the downtime. Must not include a UTC offset. If not provided, the downtime starts the moment it is created. example: 2020-01-02T03:04 type: string @@ -12957,10 +41283,8 @@ components: rrule: $ref: '#/components/schemas/DowntimeScheduleRecurrenceRrule' start: - description: >- - ISO-8601 Datetime to start the downtime. Must not include a UTC - offset. If not provided, the - + description: |- + ISO-8601 Datetime to start the downtime. Must not include a UTC offset. If not provided, the downtime starts the moment it is created. example: 2020-01-02T03:04 nullable: true @@ -12972,6 +41296,10 @@ components: IssueCaseJiraIssueResult: description: Contains the identifiers and URL for a successfully created Jira issue. properties: + account_id: + description: Jira account identifier. + example: abcd1234-5678-90ab-cdef-1234567890ab + type: string issue_id: description: Jira issue identifier. example: '1904866' @@ -12984,21 +41312,45 @@ components: description: Jira issue URL. example: https://your-jira-instance.atlassian.net/browse/ET-123 type: string + project_id: + description: Jira project identifier. + example: '10001' + type: string project_key: description: Jira project key. example: ET type: string type: object + IssueCaseLinearIssueResult: + description: Contains the identifiers and URL for a successfully created Linear issue. + properties: + account_id: + description: Linear account identifier. + example: abcd1234-5678-90ab-cdef-1234567890ab + type: string + issue_id: + description: Linear issue identifier. + example: a1b2c3d4-5678-90ab-cdef-1234567890ab + type: string + issue_key: + description: Linear issue key. + example: ENG-123 + type: string + issue_url: + description: Linear issue URL. + example: https://linear.app/your-workspace/issue/ENG-123 + type: string + team_id: + description: Linear team identifier. + example: f1e2d3c4-5678-90ab-cdef-1234567890ab + type: string + type: object ChangeEventCustomAttributesAuthor: additionalProperties: false - description: >- - The entity that made the change. Optional, if provided it must include - `type` and `name`. + description: The entity that made the change. Optional, if provided it must include `type` and `name`. properties: name: - description: >- - The name of the user or system that made the change. Limited to 128 - characters. + description: The name of the user or system that made the change. Limited to 128 characters. example: example@datadog.com maxLength: 128 minLength: 1 @@ -13014,12 +41366,11 @@ components: description: A uniquely identified resource. properties: name: - description: >- - The name of the resource that was changed. Limited to 128 - characters. + description: The name of the resource that was changed. Limited to 128 characters. Must contain at least one non-whitespace character. example: fallback_payments_test maxLength: 128 minLength: 1 + pattern: .*\S.* type: string type: $ref: '#/components/schemas/ChangeEventCustomAttributesChangedResourceType' @@ -13038,17 +41389,14 @@ components: minLength: 1 type: string type: - $ref: >- - #/components/schemas/ChangeEventCustomAttributesImpactedResourcesItemsType + $ref: '#/components/schemas/ChangeEventCustomAttributesImpactedResourcesItemsType' required: - type - name type: object AlertEventCustomAttributesCustom: additionalProperties: {} - description: >- - Free form JSON object for arbitrary data. Supports up to 100 properties - per object and a maximum nesting depth of 10 levels. + description: Free form JSON object for arbitrary data. Supports up to 100 properties per object and a maximum nesting depth of 10 levels. example: {} type: object AlertEventCustomAttributesLinks: @@ -13116,9 +41464,7 @@ components: category: $ref: '#/components/schemas/EventSystemAttributesCategory' id: - description: >- - Event identifier. This field is deprecated and will be removed in a - future version. Use the `uid` field instead. + description: Event identifier. This field is deprecated and will be removed in a future version. Use the `uid` field instead. type: string integration_id: $ref: '#/components/schemas/EventSystemAttributesIntegrationId' @@ -13127,9 +41473,7 @@ components: format: int64 type: integer uid: - description: >- - A unique identifier for the event. You can use this identifier to - query or reference the event. + description: A unique identifier for the event. You can use this identifier to query or reference the event. type: string type: object ChangeEventAttributesImpactedResourcesItem: @@ -13194,6 +41538,29 @@ components: - WARN - ERROR - OK + FormUiDefinitionUiThemePrimaryColor: + description: The primary color of the form theme. + enum: + - gray + - red + - orange + - yellow + - green + - light-blue + - dark-blue + - magenta + - indigo + type: string + x-enum-varnames: + - GRAY + - RED + - ORANGE + - YELLOW + - GREEN + - LIGHT_BLUE + - DARK_BLUE + - MAGENTA + - INDIGO IncidentFieldAttributesSingleValueType: default: dropdown description: Type of the single value field definitions. @@ -13236,14 +41603,6 @@ components: type: string x-enum-varnames: - INCIDENT_RESPONDERS - IncidentUserDefinedFieldType: - description: The incident user defined fields type. - enum: - - user_defined_field - example: user_defined_field - type: string - x-enum-varnames: - - USER_DEFINED_FIELD IncidentTimelineCellMarkdownContentType: default: markdown description: Type of the Markdown timeline cell. @@ -13293,6 +41652,16 @@ components: type: string x-enum-varnames: - INCIDENT_POSTMORTEMS + PostmortemCellDefinition: + description: Definition of a postmortem cell + properties: + content: + description: The content of the cell in markdown format + example: |- + ## Incident Summary + This incident was caused by... + type: string + type: object SlackIntegrationMetadataChannelItem: description: Item in the Slack integration metadata channel array. properties: @@ -13361,8 +41730,7 @@ components: type: string redirect_url: description: URL redirecting to the Microsoft Teams channel. - example: >- - https://teams.microsoft.com/l/channel/19%3Aabc00abcdef00a0abcdef0abcdef0a%40thread.tacv2/conversations?groupId=12345678-abcd-dcba-abcd-1234567890ab&tenantId=00000000-abcd-0005-0000-000000000000 + example: https://teams.microsoft.com/l/channel/19%3Aabc00abcdef00a0abcdef0abcdef0a%40thread.tacv2/conversations?groupId=12345678-abcd-dcba-abcd-1234567890ab&tenantId=00000000-abcd-0005-0000-000000000000 type: string required: - ms_tenant_id @@ -13397,10 +41765,14 @@ components: - name - source type: object + EscalationPolicyStepTargetConfig: + description: Configuration for an escalation target, such as schedule position. + properties: + schedule: + $ref: '#/components/schemas/EscalationPolicyStepTargetConfigSchedule' + type: object EscalationPolicyStepTargetType: - description: >- - Specifies the type of escalation target (example `users`, `schedules`, - or `teams`). + description: Specifies the type of escalation target (example `users`, `schedules`, or `teams`). enum: - users - schedules @@ -13430,15 +41802,33 @@ components: x-enum-varnames: - STEPS EscalationTarget: - description: Represents an escalation target, which can be a team, user, or schedule. - oneOf: - - $ref: '#/components/schemas/TeamTarget' - - $ref: '#/components/schemas/UserTarget' - - $ref: '#/components/schemas/ScheduleTarget' + description: Represents an escalation target, which can be a team, user, schedule, or configured schedule target. + properties: + id: + description: Specifies the unique identifier of the team resource. + example: 00000000-aba1-0000-0000-000000000000 + type: string + type: + $ref: '#/components/schemas/TeamTargetType' + required: + - type + - id + type: object + ScheduleTarget: + description: Represents a schedule target for an escalation policy step, including its ID and resource type. This is a shortcut for a configured schedule target with position set to 'current'. + properties: + id: + description: Specifies the unique identifier of the schedule resource. + example: 00000000-aba1-0000-0000-000000000000 + type: string + type: + $ref: '#/components/schemas/ScheduleTargetType' + required: + - type + - id + type: object ScheduleRequestDataAttributesLayersItemsMembersItemsUser: - description: >- - Identifies the user participating in this layer as a single object with - an `id`. + description: Identifies the user participating in this layer as a single object with an `id`. properties: id: description: The user's ID. @@ -13474,10 +41864,8 @@ components: x-enum-varnames: - LAYERS LayerRelationshipsMembersDataItems: - description: >- - Represents a single member object in a layer's `members` array, - referencing - + description: |- + Represents a single member object in a layer's `members` array, referencing a unique Datadog user ID. properties: id: @@ -13491,9 +41879,7 @@ components: - id type: object ScheduleMemberRelationshipsUserData: - description: >- - Points to the user data associated with this schedule member, including - an ID and type. + description: Points to the user data associated with this schedule member, including an ID and type. properties: id: description: The user's unique identifier. @@ -13514,11 +41900,40 @@ components: type: string x-enum-varnames: - USERS + ScheduleOnCallRespondersDataRelationshipsRespondersDataItemsType: + default: schedule_oncall_responder + description: Identifies the resource type for a responder group linked to a schedule's on-call responders lookup. + enum: + - schedule_oncall_responder + example: schedule_oncall_responder + type: string + x-enum-varnames: + - SCHEDULE_ONCALL_RESPONDER + ScheduleOnCallRespondersDataRelationshipsScheduleDataType: + default: schedules + description: Identifies the resource type for the schedule associated with this on-call responders lookup. + enum: + - schedules + example: schedules + type: string + x-enum-varnames: + - SCHEDULES + ScheduleOnCallResponderDataRelationshipsShiftsDataItems: + description: Represents a reference to one of the shifts satisfying this responder group's position. + properties: + id: + description: Unique identifier of the shift. + example: 00000000-0000-0000-0000-000000000000 + type: string + type: + $ref: '#/components/schemas/ScheduleOnCallResponderDataRelationshipsShiftsDataItemsType' + required: + - type + - id + type: object TeamOnCallRespondersDataRelationshipsEscalationsDataItemsType: default: escalation_policy_steps - description: >- - Identifies the resource type for escalation policy steps linked to a - team's on-call configuration. + description: Identifies the resource type for escalation policy steps linked to a team's on-call configuration. enum: - escalation_policy_steps example: escalation_policy_steps @@ -13527,9 +41942,7 @@ components: - ESCALATION_POLICY_STEPS TeamOnCallRespondersDataRelationshipsRespondersDataItemsType: default: users - description: >- - Identifies the resource type for individual user entities associated - with on-call response. + description: Identifies the resource type for individual user entities associated with on-call response. enum: - users example: users @@ -13599,10 +42012,43 @@ components: - tenant - team type: object + TriggerWorkflowAutomationAction: + description: Triggers a Workflow Automation. + properties: + handle: + description: The handle of the Workflow Automation to trigger. + example: my-workflow-handle + type: string + type: + $ref: '#/components/schemas/TriggerWorkflowAutomationActionType' + required: + - type + - handle + type: object + RoutingRuleEscalationPolicyAction: + description: Triggers an escalation policy. + properties: + ack_timeout_minutes: + description: The number of minutes before an acknowledged page is re-triggered. + example: 30 + format: int64 + type: integer + policy_id: + description: The ID of the escalation policy to route to. + example: 00000000-0000-0000-0000-000000000000 + type: string + support_hours: + $ref: '#/components/schemas/RoutingRuleEscalationPolicyActionSupportHours' + type: + $ref: '#/components/schemas/RoutingRuleEscalationPolicyActionType' + urgency: + $ref: '#/components/schemas/Urgency' + required: + - type + - policy_id + type: object RoutingRuleRelationshipsPolicyData: - description: >- - Represents the policy data reference, containing the policy's ID and - resource type. + description: Represents the policy data reference, containing the policy's ID and resource type. properties: id: description: Specifies the unique identifier of the policy. @@ -13614,6 +42060,54 @@ components: - type - id type: object + NotificationChannelPhoneConfigType: + default: phone + description: Indicates that the notification channel is a phone + enum: + - phone + example: phone + type: string + x-enum-varnames: + - PHONE + NotificationChannelEmailFormatType: + default: html + description: Specifies the format of the e-mail that is sent for On-Call notifications + enum: + - html + - text + example: html + type: string + x-enum-varnames: + - HTML + - TEXT + NotificationChannelEmailConfigType: + default: email + description: Indicates that the notification channel is an e-mail address + enum: + - email + example: email + type: string + x-enum-varnames: + - EMAIL + NotificationChannelPushConfigType: + default: push + description: Indicates that the notification channel is a mobile device for push notifications + enum: + - push + example: push + type: string + x-enum-varnames: + - PUSH + OnCallPhoneNotificationRuleMethod: + description: Specifies the method in which a phone is used in a notification rule + enum: + - sms + - voice + example: sms + type: string + x-enum-varnames: + - SMS + - VOICE ServiceDefinitionV1Contact: description: Contact information about the service. properties: @@ -13648,9 +42142,7 @@ components: description: Basic information about a service. properties: dd-service: - description: >- - Unique identifier of the service. Must be unique across all services - and is used to match with a service in Datadog. + description: Unique identifier of the service. Must be unique across all services and is used to match with a service in Datadog. example: myservice type: string description: @@ -13695,29 +42187,346 @@ components: type: string x-enum-varnames: - V1 + StatusPageAsIncludedAttributesComponentsItemsComponentsItems: + description: A grouped component within a status page component group. + properties: + id: + description: The ID of the grouped component. + format: uuid + readOnly: true + type: string + name: + description: The name of the grouped component. + type: string + position: + description: The zero-indexed position of the grouped component. Relative to the other components in the group. + format: int64 + type: integer + status: + $ref: '#/components/schemas/StatusPagesComponentGroupAttributesComponentsItemsStatus' + type: + $ref: '#/components/schemas/StatusPagesComponentGroupAttributesComponentsItemsType' + type: object + StatusPageAsIncludedRelationshipsCreatedByUserData: + description: The data object identifying the Datadog user who created the status page. + properties: + id: + description: The ID of the Datadog user who created the status page. + example: '' + type: string + type: + $ref: '#/components/schemas/StatusPagesUserType' + required: + - type + - id + type: object + StatusPageAsIncludedRelationshipsLastModifiedByUserData: + description: The data object identifying the Datadog user who last modified the status page. + properties: + id: + description: The ID of the Datadog user who last modified the status page. + example: '' + type: string + type: + $ref: '#/components/schemas/StatusPagesUserType' + required: + - type + - id + type: object + StatusPagesComponentGroupRelationshipsCreatedByUserData: + description: The data object identifying the Datadog user who created the component group. + properties: + id: + description: The ID of the Datadog user who created the component group. + example: '' + type: string + type: + $ref: '#/components/schemas/StatusPagesUserType' + required: + - type + - id + type: object + StatusPagesComponentGroupRelationshipsGroupData: + description: The data object identifying the parent group of a component group. + nullable: true + properties: + id: + description: The ID of the parent group. + example: 1234abcd-12ab-34cd-56ef-123456abcdef + format: uuid + type: string + type: + $ref: '#/components/schemas/StatusPagesComponentGroupType' + required: + - type + - id + type: object + StatusPagesComponentGroupRelationshipsLastModifiedByUserData: + description: The data object identifying the Datadog user who last modified the component group. + properties: + id: + description: The ID of the Datadog user who last modified the component group. + example: '' + type: string + type: + $ref: '#/components/schemas/StatusPagesUserType' + required: + - type + - id + type: object + StatusPagesComponentGroupRelationshipsStatusPageData: + description: The data object identifying the status page the component group belongs to. + properties: + id: + description: The ID of the status page. + example: 1234abcd-12ab-34cd-56ef-123456abcdef + format: uuid + type: string + type: + $ref: '#/components/schemas/StatusPageDataType' + required: + - type + - id + type: object + SLOFormula: + description: A formula that specifies how to combine the results of multiple queries. + example: + formula: query1 - default_zero(query2) + properties: + formula: + description: The formula string, which is an expression involving named queries. + example: query1 - default_zero(query2) + type: string + required: + - formula + type: object + SLODataSourceQueryDefinition: + description: A formula and function query. + example: + data_source: metrics + name: query1 + query: sum:trace.servlet.request.hits{*} by {env}.as_count() + properties: + aggregator: + $ref: '#/components/schemas/FormulaAndFunctionMetricAggregation' + cross_org_uuids: + $ref: '#/components/schemas/CrossOrgUuidsV1' + data_source: + $ref: '#/components/schemas/FormulaAndFunctionMetricDataSource' + name: + description: Name of the query for use in formulas. + example: my_query + type: string + query: + description: Metrics query definition. + example: avg:system.cpu.user{*} + type: string + semantic_mode: + $ref: '#/components/schemas/FormulaAndFunctionMetricSemanticMode' + required: + - data_source + - query + - name + type: object + SearchServiceLevelObjectiveAttributes: + description: |- + A service level objective object includes a service level indicator, thresholds + for one or more timeframes, and metadata (`name`, `description`, and `tags`). + properties: + all_tags: + description: |- + A list of tags associated with this service level objective. + Always included in service level objective responses (but may be empty). + example: + - env:prod + - app:core + items: + description: A tag associated with the service level objective. + type: string + type: array + created_at: + description: |- + Creation timestamp (UNIX time in seconds) + + Always included in service level objective responses. + format: int64 + readOnly: true + type: integer + creator: + $ref: '#/components/schemas/SLOCreator' + description: + description: |- + A user-defined description of the service level objective. + + Always included in service level objective responses (but may be `null`). + Optional in create/update requests. + nullable: true + type: string + env_tags: + description: Tags with the `env` tag key. + items: + description: A tag with the `env` tag key. + type: string + type: array + groups: + description: |- + A list of (up to 100) monitor groups that narrow the scope of a monitor service level objective. + Included in service level objective responses if it is not empty. + example: + - env:prod + - role:mysql + items: + description: A group name, for instance `env:prod`. + type: string + nullable: true + type: array + modified_at: + description: |- + Modification timestamp (UNIX time in seconds) + + Always included in service level objective responses. + format: int64 + readOnly: true + type: integer + monitor_ids: + description: |- + A list of monitor ids that defines the scope of a monitor service level + objective. + items: + description: A monitor ID. + format: int64 + type: integer + nullable: true + type: array + name: + description: The name of the service level objective object. + example: Custom Metric SLO + type: string + overall_status: + description: calculated status and error budget remaining. + items: + $ref: '#/components/schemas/SLOOverallStatuses' + type: array + query: + $ref: '#/components/schemas/SearchSLOQuery' + service_tags: + description: Tags with the `service` tag key. + items: + description: A tag with the `service` tag key. + type: string + type: array + slo_type: + $ref: '#/components/schemas/SLOType' + status: + $ref: '#/components/schemas/SLOStatus' + team_tags: + description: Tags with the `team` tag key. + items: + description: A tag with the `team` tag key. + type: string + type: array + thresholds: + description: |- + The thresholds (timeframes and associated targets) for this service level + objective object. + example: + - target: 95 + target_display: '95' + timeframe: 7d + - target: 95 + target_display: '95' + timeframe: 30d + warning: 97 + warning_display: '97' + items: + $ref: '#/components/schemas/SearchSLOThreshold' + type: array + type: object + SLOHistoryMetricsSeriesMetadataUnit: + description: An Object of metric units. + nullable: true + properties: + family: + description: The family of metric unit, for example `bytes` is the family for `kibibyte`, `byte`, and `bit` units. + type: string + id: + description: The ID of the metric unit. + format: int64 + type: integer + name: + description: The unit of the metric, for instance `byte`. + type: string + plural: + description: The plural Unit of metric, for instance `bytes`. + nullable: true + type: string + scale_factor: + description: The scale factor of metric unit, for instance `1.0`. + format: double + type: number + short_name: + description: A shorter and abbreviated version of the metric unit, for instance `B`. + nullable: true + type: string + type: object + IntegrationJiraSyncProperties: + description: Field synchronization properties for Jira integration. + properties: + assignee: + $ref: '#/components/schemas/SyncProperty' + comments: + $ref: '#/components/schemas/SyncProperty' + custom_fields: + additionalProperties: + $ref: '#/components/schemas/IntegrationJiraSyncPropertiesCustomFieldsAdditionalProperties' + description: Map of custom field identifiers to their sync configurations. + type: object + description: + $ref: '#/components/schemas/SyncProperty' + due_date: + $ref: '#/components/schemas/IntegrationJiraSyncDueDate' + priority: + $ref: '#/components/schemas/SyncPropertyWithMapping' + status: + $ref: '#/components/schemas/SyncPropertyWithMapping' + title: + $ref: '#/components/schemas/SyncProperty' + type: object + IntegrationOnCallEscalationQueriesItemsTarget: + description: The target recipient for an On-Call escalation query. + properties: + dynamic_team_paging: + description: Whether to use dynamic team paging for escalation. + type: boolean + team_id: + description: The identifier of the team to escalate to. + type: string + user_id: + description: The identifier of the user to escalate to. + type: string + type: object + IntegrationServiceNowSyncConfig139772721534496: + description: Field-level synchronization properties for ServiceNow integration. + properties: + comments: + $ref: '#/components/schemas/SyncProperty' + priority: + $ref: '#/components/schemas/IntegrationServiceNowSyncConfigPriority' + status: + $ref: '#/components/schemas/SyncPropertyWithMapping' + type: object DowntimeScheduleRecurrenceDuration: - description: >- - The length of the downtime. Must begin with an integer and end with one - of 'm', 'h', d', or 'w'. + description: The length of the downtime. Must begin with an integer and end with one of 'm', 'h', d', or 'w'. example: 123d type: string DowntimeScheduleRecurrenceRrule: - description: >- + description: |- The `RRULE` standard for defining recurring events. + For example, to have a recurring event on the first day of each month, set the type to `rrule` and set the `FREQ` to `MONTHLY` and `BYMONTHDAY` to `1`. + Most common `rrule` options from the [iCalendar Spec](https://tools.ietf.org/html/rfc5545) are supported. - For example, to have a recurring event on the first day of each month, - set the type to `rrule` and set the `FREQ` to `MONTHLY` and `BYMONTHDAY` - to `1`. - - Most common `rrule` options from the [iCalendar - Spec](https://tools.ietf.org/html/rfc5545) are supported. - - - **Note**: Attributes specifying the duration in `RRULE` are not - supported (for example, `DTSTART`, `DTEND`, `DURATION`). - - More examples available in this [downtime - guide](https://docs.datadoghq.com/monitors/guide/suppress-alert-with-downtimes/?tab=api). + **Note**: Attributes specifying the duration in `RRULE` are not supported (for example, `DTSTART`, `DTEND`, `DURATION`). + More examples available in this [downtime guide](https://docs.datadoghq.com/monitors/guide/suppress-alert-with-downtimes/?tab=api). example: FREQ=MONTHLY;BYSETPOS=3;BYDAY=WE;INTERVAL=1 type: string OrganizationsType: @@ -13863,10 +42672,14 @@ components: x-enum-varnames: - SLACK - MICROSOFT_TEAMS + EscalationPolicyStepTargetConfigSchedule: + description: Schedule-specific configuration for an escalation target. + properties: + position: + $ref: '#/components/schemas/ScheduleTargetPosition' + type: object TeamTarget: - description: >- - Represents a team target for an escalation policy step, including the - team's ID and resource type. + description: Represents a team target for an escalation policy step, including the team's ID and resource type. properties: id: description: Specifies the unique identifier of the team resource. @@ -13879,9 +42692,7 @@ components: - id type: object UserTarget: - description: >- - Represents a user target for an escalation policy step, including the - user's ID and resource type. + description: Represents a user target for an escalation policy step, including the user's ID and resource type. properties: id: description: Specifies the unique identifier of the user resource. @@ -13893,21 +42704,28 @@ components: - type - id type: object - ScheduleTarget: - description: >- - Represents a schedule target for an escalation policy step, including - its ID and resource type. + ConfiguredScheduleTarget: + description: Relationship reference to a configured schedule target. properties: id: - description: Specifies the unique identifier of the schedule resource. - example: 00000000-aba1-0000-0000-000000000000 + description: Specifies the unique identifier of the configured schedule target. + example: 00000000-aba1-0000-0000-000000000000_previous type: string type: - $ref: '#/components/schemas/ScheduleTargetType' + $ref: '#/components/schemas/ConfiguredScheduleTargetType' required: - type - id type: object + ScheduleTargetType: + default: schedules + description: Indicates that the resource is of type `schedules`. + enum: + - schedules + example: schedules + type: string + x-enum-varnames: + - SCHEDULES LayerRelationshipsMembersDataItemsType: default: members description: Members resource type. @@ -13926,11 +42744,18 @@ components: type: string x-enum-varnames: - USERS + ScheduleOnCallResponderDataRelationshipsShiftsDataItemsType: + default: shifts + description: Indicates that the related resource is of type `shifts`. + enum: + - shifts + example: shifts + type: string + x-enum-varnames: + - SHIFTS EscalationRelationshipsRespondersDataItemsType: default: users - description: >- - Represents the resource type for users assigned as responders in an - escalation step. + description: Represents the resource type for users assigned as responders in an escalation step. enum: - users example: users @@ -13955,6 +42780,39 @@ components: type: string x-enum-varnames: - SEND_TEAMS_MESSAGE + TriggerWorkflowAutomationActionType: + default: workflow + description: Indicates that the action triggers a Workflow Automation. + enum: + - workflow + example: workflow + type: string + x-enum-varnames: + - TRIGGER_WORKFLOW_AUTOMATION + RoutingRuleEscalationPolicyActionSupportHours: + description: Support hours during which the escalation policy will be executed. Outside of these hours, the escalation policy will be on hold and triggered once the next support hours window starts. This is mutually exclusive with the top-level `time_restriction` field on the routing rule. + properties: + restrictions: + description: The list of support hours time windows. + items: + $ref: '#/components/schemas/TimeRestriction' + type: array + time_zone: + description: The time zone in which the support hours are expressed. + example: '' + type: string + required: + - time_zone + type: object + RoutingRuleEscalationPolicyActionType: + default: escalation_policy + description: Indicates that the action pages an escalation policy. This action can be set once per routing rule item, and is mutually exclusive with the top-level `policy_id` field on the routing rule. + enum: + - escalation_policy + example: escalation_policy + type: string + x-enum-varnames: + - ESCALATION_POLICY RoutingRuleRelationshipsPolicyDataType: default: policies description: Indicates that the resource is of type 'policies'. @@ -13992,18 +42850,274 @@ components: description: PagerDuty service URL for the service. example: https://my-org.pagerduty.com/service-directory/PMyService type: string + FormulaAndFunctionMetricQueryDefinition: + description: A formula and functions metrics query. + example: + data_source: metrics + name: my_query + query: avg:system.cpu.user{*} + properties: + aggregator: + $ref: '#/components/schemas/FormulaAndFunctionMetricAggregation' + cross_org_uuids: + $ref: '#/components/schemas/CrossOrgUuidsV1' + data_source: + $ref: '#/components/schemas/FormulaAndFunctionMetricDataSource' + name: + description: Name of the query for use in formulas. + example: my_query + type: string + query: + description: Metrics query definition. + example: avg:system.cpu.user{*} + type: string + semantic_mode: + $ref: '#/components/schemas/FormulaAndFunctionMetricSemanticMode' + required: + - data_source + - query + - name + type: object + SLOCreator: + description: The creator of the SLO + nullable: true + properties: + email: + description: Email of the creator. + type: string + id: + description: User ID of the creator. + format: int64 + type: integer + name: + description: Name of the creator. + nullable: true + type: string + type: object + SLOOverallStatuses: + description: Overall status of the SLO by timeframes. + properties: + error: + description: Error message if SLO status or error budget could not be calculated. + nullable: true + type: string + error_budget_remaining: + description: Remaining error budget of the SLO in percentage. + example: 100 + format: double + nullable: true + type: number + indexed_at: + description: |- + timestamp (UNIX time in seconds) of when the SLO status and error budget + were calculated. + example: 1662496260 + format: int64 + type: integer + raw_error_budget_remaining: + $ref: '#/components/schemas/SLORawErrorBudgetRemaining' + span_precision: + description: The amount of decimal places the SLI value is accurate to. + example: 2 + format: int64 + nullable: true + type: integer + state: + $ref: '#/components/schemas/SLOState' + status: + description: The status of the SLO. + example: 100 + format: double + nullable: true + type: number + target: + description: The target of the SLO. + example: 99 + format: double + type: number + timeframe: + $ref: '#/components/schemas/SLOTimeframe' + type: object + SearchSLOQuery: + description: |- + A metric-based SLO. **Required if type is `metric`**. Note that Datadog only allows the sum by aggregator + to be used because this will sum up all request counts instead of averaging them, or taking the max or + min of all of those requests. + nullable: true + properties: + denominator: + description: A Datadog metric query for total (valid) events. + example: sum:my.custom.metric{*}.as_count() + type: string + metrics: + description: |- + Metric names used in the query's numerator and denominator. + This field will return null and will be implemented in the next version of this endpoint. + example: + - my.custom.metric + - my.other.custom.metric + items: + description: Metric name. + type: string + nullable: true + type: array + numerator: + description: A Datadog metric query for good events. + example: sum:my.custom.metric{type:good}.as_count() + type: string + type: object + SLOStatus: + description: Status of the SLO's primary timeframe. + properties: + calculation_error: + description: Error message if SLO status or error budget could not be calculated. + nullable: true + type: string + error_budget_remaining: + description: Remaining error budget of the SLO in percentage. + example: 100 + format: double + nullable: true + type: number + indexed_at: + description: |- + timestamp (UNIX time in seconds) of when the SLO status and error budget + were calculated. + example: 1662496260 + format: int64 + type: integer + raw_error_budget_remaining: + $ref: '#/components/schemas/SLORawErrorBudgetRemaining' + sli: + description: The current service level indicator (SLI) of the SLO, also known as 'status'. This is a percentage value from 0-100 (inclusive). + example: 100 + format: double + nullable: true + type: number + span_precision: + description: The number of decimal places the SLI value is accurate to. + example: 2 + format: int64 + nullable: true + type: integer + state: + $ref: '#/components/schemas/SLOState' + type: object + SearchSLOThreshold: + description: SLO thresholds (target and optionally warning) for a single time window. + properties: + target: + description: |- + The target value for the service level indicator within the corresponding + timeframe. + example: 99.9 + format: double + type: number + target_display: + description: |- + A string representation of the target that indicates its precision. + It uses trailing zeros to show significant decimal places (for example `98.00`). + + Always included in service level objective responses. Ignored in + create/update requests. + example: '99.9' + type: string + timeframe: + $ref: '#/components/schemas/SearchSLOTimeframe' + warning: + description: The warning value for the service level objective. + example: 90 + format: double + nullable: true + type: number + warning_display: + description: |- + A string representation of the warning target (see the description of + the `target_display` field for details). + + Included in service level objective responses if a warning target exists. + Ignored in create/update requests. + example: '90.0' + nullable: true + type: string + required: + - timeframe + - target + type: object + SyncProperty: + description: Sync property configuration. + properties: + sync_type: + description: The direction and type of synchronization for this property. + type: string + type: object + IntegrationJiraSyncPropertiesCustomFieldsAdditionalProperties: + description: Synchronization configuration for a Jira custom field. + properties: + sync_type: + description: The type of synchronization to apply for this custom field. + type: string + value: + $ref: '#/components/schemas/AnyValue' + type: object + IntegrationJiraSyncDueDate: + description: Due date synchronization configuration for Jira integration. + properties: + jira_field_id: + description: The Jira field identifier used to store the due date. + type: string + sync_type: + description: The type of synchronization to apply for the due date field. + type: string + type: object + SyncPropertyWithMapping: + description: Sync property with mapping configuration. + properties: + mapping: + additionalProperties: + type: string + description: Map of source values to destination values for synchronization. + type: object + name_mapping: + additionalProperties: + type: string + description: Map of source names to display names used during synchronization. + type: object + sync_type: + description: The direction and type of synchronization for this property. + type: string + type: object + IntegrationServiceNowSyncConfigPriority: + description: Priority synchronization configuration for ServiceNow integration. + properties: + impact_mapping: + additionalProperties: + type: string + description: Mapping of case priority values to ServiceNow impact values. + type: object + sync_type: + description: The type of synchronization to apply for priority. + type: string + urgency_mapping: + additionalProperties: + type: string + description: Mapping of case priority values to ServiceNow urgency values. + type: object + type: object AlertEventCustomAttributesLinksItemsCategory: description: The category of the link. enum: - runbook - documentation - dashboard + - resource example: runbook type: string x-enum-varnames: - RUNBOOK - DOCUMENTATION - DASHBOARD + - RESOURCE TeamTargetType: default: teams description: Indicates that the resource is of type `teams`. @@ -14022,16 +43136,135 @@ components: type: string x-enum-varnames: - USERS - ScheduleTargetType: - default: schedules - description: Indicates that the resource is of type `schedules`. + FormulaAndFunctionMetricAggregation: + description: The aggregation methods available for metrics queries. enum: - - schedules - example: schedules + - avg + - min + - max + - sum + - last + - area + - l2norm + - percentile + example: avg type: string x-enum-varnames: - - SCHEDULES + - AVG + - MIN + - MAX + - SUM + - LAST + - AREA + - L2NORM + - PERCENTILE + CrossOrgUuidsV1: + description: The source organization UUID for cross organization queries. Feature in Private Beta. + example: + - 6434abde-xxxx-yyyy-zzzz-da7ad0900001 + items: + description: The source organization UUID. + example: 6434abde-xxxx-yyyy-zzzz-da7ad0900001 + type: string + maxItems: 1 + type: array + FormulaAndFunctionMetricDataSource: + description: Data source for metrics queries. + enum: + - metrics + example: metrics + type: string + x-enum-varnames: + - METRICS + FormulaAndFunctionMetricSemanticMode: + description: Semantic mode for metrics queries. This determines how metrics from different sources are combined or displayed. + enum: + - combined + - native + example: combined + type: string + x-enum-varnames: + - COMBINED + - NATIVE + SLORawErrorBudgetRemaining: + description: Error budget remaining for an SLO. + nullable: true + properties: + unit: + description: Error budget remaining unit. + example: requests + type: string + value: + description: Error budget remaining value. + example: 60 + format: double + type: number + type: object + SLOState: + description: State of the SLO. + enum: + - breached + - warning + - ok + - no_data + example: ok + type: string + x-enum-varnames: + - BREACHED + - WARNING + - OK + - NO_DATA + SearchSLOTimeframe: + description: The SLO time window options. + enum: + - 7d + - 30d + - 90d + example: 30d + type: string + x-enum-varnames: + - SEVEN_DAYS + - THIRTY_DAYS + - NINETY_DAYS + AnyValue: + description: Represents any valid JSON value. + nullable: true + type: object + format: double + additionalProperties: {} + items: + $ref: '#/components/schemas/AnyValueItem' + AnyValueString: + description: A scalar value represented as a string. + type: string + AnyValueNumber: + description: A scalar numeric value. + format: double + type: number + AnyValueObject: + additionalProperties: {} + description: An arbitrary object value with additional properties. + type: object + AnyValueArray: + description: An array of arbitrary values. + items: + $ref: '#/components/schemas/AnyValueItem' + type: array + AnyValueBoolean: + description: A scalar boolean value. + type: boolean + AnyValueItem: + description: A single item in an array of arbitrary values, which can be a string, number, object, or boolean. + type: string + format: double + additionalProperties: {} responses: + TooManyRequestsResponse: + content: + application/json: + schema: + $ref: '#/components/schemas/APIErrorResponse' + description: Too many requests BadRequestResponse: content: application/json: @@ -14056,12 +43289,6 @@ components: schema: $ref: '#/components/schemas/APIErrorResponse' description: Not Found - TooManyRequestsResponse: - content: - application/json: - schema: - $ref: '#/components/schemas/APIErrorResponse' - description: Too many requests NotAuthorizedResponse: content: application/json: @@ -14076,7 +43303,7 @@ components: description: Conflict parameters: PageSize: - description: Size for a given page. The maximum allowed value is 100. + description: Number of items to return per page. The maximum allowed value is 100. in: query name: page[size] required: false @@ -14101,20 +43328,108 @@ components: name: sort[field] required: false schema: - $ref: '#/components/schemas/CaseSortableField' - ProjectIDPathParameter: - description: Project UUID - example: e555e290-ed65-49bd-ae18-8acbfcf18db7 + $ref: '#/components/schemas/CaseSortableField' + LinkIDPathParameter: + description: The UUID of the case link. + in: path + name: link_id + required: true + schema: + example: 804cd682-55f6-4541-ab00-b608b282ea7d + type: string + ProjectIDPathParameter: + description: Project UUID. + example: e555e290-ed65-49bd-ae18-8acbfcf18db7 + in: path + name: project_id + required: true + schema: + type: string + NotificationRuleIDPathParameter: + description: Notification Rule UUID + example: e555e290-ed65-49bd-ae18-8acbfcf18db7 + in: path + name: notification_rule_id + required: true + schema: + type: string + RuleIDPathParameter: + description: The UUID of the automation rule. + example: e6773723-fe58-49ff-9975-dff00f14e28d + in: path + name: rule_id + required: true + schema: + type: string + CaseTypeIDPathParameter: + description: The UUID of the case type. + example: f98a5a5b-e0ff-45d4-b2f5-afe6e74de505 + in: path + name: case_type_id + required: true + schema: + type: string + CaseCustomAttributeIDPathParameter: + description: Case Custom attribute's UUID + example: f98a5a5b-e0ff-45d4-b2f5-afe6e74de505 + in: path + name: custom_attribute_id + required: true + schema: + type: string + ViewIDPathParameter: + description: The UUID of the case view. + example: a1b2c3d4-e5f6-7890-abcd-ef1234567890 + in: path + name: view_id + required: true + schema: + type: string + CaseIDPathParameter: + description: Case's UUID or key + example: f98a5a5b-e0ff-45d4-b2f5-afe6e74de504 + in: path + name: case_id + required: true + schema: + type: string + CellIDPathParameter: + description: The UUID of the timeline cell (comment) to update. + example: f98a5a5b-e0ff-45d4-b2f5-afe6e74de504 + in: path + name: cell_id + required: true + schema: + type: string + CaseCustomAttributeKeyPathParameter: + description: Case Custom attribute's key + example: aws_region + in: path + name: custom_attribute_key + required: true + schema: + type: string + UserUUIDPathParameter: + description: The UUID of the user to add or remove as a watcher. + example: 8146583c-0b5f-11ec-abf8-da7ad0900001 in: path - name: project_id + name: user_uuid required: true schema: type: string - CaseIDPathParameter: - description: Case's UUID or key - example: f98a5a5b-e0ff-45d4-b2f5-afe6e74de504 + ChangeRequestIDPathParameter: + description: The identifier of the change request. + example: CHM-1234 in: path - name: case_id + name: change_request_id + required: true + schema: + type: string + ChangeRequestDecisionIDPathParameter: + description: The identifier of the change request decision. + example: decision-id-0 + in: path + name: decision_id required: true schema: type: string @@ -14129,9 +43444,7 @@ components: format: int64 type: integer SearchIssuesIncludeQueryParameter: - description: >- - Comma-separated list of relationship objects that should be included in - the response. + description: Comma-separated list of relationship objects that should be included in the response. Possible values are `issue`, `issue.assignee`, `issue.case`, and `issue.team_owners`. explode: false in: query name: include @@ -14149,9 +43462,7 @@ components: schema: type: string GetIssueIncludeQueryParameter: - description: >- - Comma-separated list of relationship objects that should be included in - the response. + description: Comma-separated list of relationship objects that should be included in the response. Possible values are `assignee`, `case`, and `team_owners`. explode: false in: query name: include @@ -14161,9 +43472,7 @@ components: $ref: '#/components/schemas/GetIssueIncludeQueryParameterItem' type: array IncidentIncludeQueryParameter: - description: >- - Specifies which types of related objects should be included in the - response. + description: Specifies which types of related objects should be included in the response. explode: false in: query name: include @@ -14172,11 +43481,32 @@ components: items: $ref: '#/components/schemas/IncidentRelatedObject' type: array + IncidentGoogleChatConfigurationIDPathParameter: + description: The UUID of the Google Chat configuration. + in: path + name: id + required: true + schema: + format: uuid + type: string + IncidentGoogleMeetConfigurationIDPathParameter: + description: The UUID of the Google Meet configuration. + in: path + name: id + required: true + schema: + format: uuid + type: string + IncidentImpactFieldIDPathParameter: + description: The UUID of the impact field. + in: path + name: field_id + required: true + schema: + format: uuid + type: string IncidentNotificationRuleIncludeQueryParameter: - description: > - Comma-separated list of resources to include. Supported values: - `created_by_user`, `last_modified_by_user`, `incident_type`, - `notification_template` + description: 'Comma-separated list of resources to include. Supported values: `created_by_user`, `last_modified_by_user`, `incident_type`, `notification_template`' explode: false in: query name: include @@ -14204,9 +43534,7 @@ components: format: uuid type: string IncidentNotificationTemplateIncludeQueryParameter: - description: > - Comma-separated list of relationships to include. Supported values: - `created_by_user`, `last_modified_by_user`, `incident_type` + description: 'Comma-separated list of relationships to include. Supported values: `created_by_user`, `last_modified_by_user`, `incident_type`' explode: false in: query name: include @@ -14223,6 +43551,39 @@ components: example: 00000000-0000-0000-0000-000000000001 format: uuid type: string + PostmortemTemplateFilterIncidentTypeParameter: + description: Filter postmortem templates by the associated incident type ID. + in: query + name: filter[incident-type] + required: false + schema: + format: uuid + type: string + PostmortemTemplateSortParameter: + description: The attribute to sort results by. Prefix with `-` for descending order. + in: query + name: sort + required: false + schema: + default: created_at + example: '-created_at' + type: string + PostmortemTemplateIdParameter: + description: The ID of the postmortem template. + example: 00000000-0000-0000-0000-000000000000 + in: path + name: template_id + required: true + schema: + type: string + IncidentRuleIDPathParameter: + description: The UUID of the incident rule. + in: path + name: rule_id + required: true + schema: + format: uuid + type: string IncidentTypeIncludeDeletedParameter: description: Include deleted incident types in the response. in: query @@ -14237,23 +43598,52 @@ components: required: true schema: type: string + IncidentOrgSettingsTypeIDPathParameter: + description: The UUID of the incident type. + in: path + name: incident_type_id + required: true + schema: + format: uuid + type: string + IncidentUserDefinedFieldIDPathParameter: + description: The ID of the incident user-defined field. + in: path + name: field_id + required: true + schema: + example: 00000000-0000-0000-0000-000000000000 + type: string + IncidentUserDefinedRoleIDPathParameter: + description: The UUID of the incident user-defined role. + in: path + name: role_id + required: true + schema: + example: 00000000-0000-0000-0000-000000000002 + format: uuid + type: string + IncidentImportIncludeQueryParameter: + description: Specifies which related object types to include in the response when importing an incident. + explode: false + in: query + name: include + required: false + schema: + items: + $ref: '#/components/schemas/IncidentImportRelatedObject' + type: array IncidentSearchIncludeQueryParameter: - description: >- - Specifies which types of related objects should be included in the - response. + description: Specifies which types of related objects should be included in the response. in: query name: include required: false schema: $ref: '#/components/schemas/IncidentRelatedObject' IncidentSearchQueryQueryParameter: - description: >- - Specifies which incidents should be returned. The query can contain any - number of incident facets - - joined by `ANDs`, along with multiple values for each of those facets - joined by `OR`s. For - + description: |- + Specifies which incidents should be returned. The query can contain any number of incident facets + joined by `ANDs`, along with multiple values for each of those facets joined by `OR`s. For example: `state:active AND severity:(SEV-2 OR SEV-1)`. explode: false in: query @@ -14276,26 +43666,40 @@ components: required: true schema: type: string - IncidentAttachmentIncludeQueryParameter: - description: Specifies which types of related objects are included in the response. + AttachmentIncludeQueryParameter: + description: 'Resource to include in the response. Supported value: `last_modified_by_user`.' explode: false in: query name: include required: false schema: - items: - $ref: '#/components/schemas/IncidentAttachmentRelatedObject' - type: array - IncidentAttachmentFilterQueryParameter: - description: Specifies which types of attachments are included in the response. + example: last_modified_by_user + type: string + AttachmentIDPathParameter: + description: The ID of the attachment. + in: path + name: attachment_id + required: true + schema: + example: 00000000-0000-0000-0000-000000000001 + type: string + IncidentImpactIncludeQueryParameter: + description: Specifies which related resources should be included in the response. explode: false in: query - name: filter[attachment_type] + name: include required: false schema: items: - $ref: '#/components/schemas/IncidentAttachmentAttachmentType' + $ref: '#/components/schemas/IncidentImpactRelatedObject' type: array + IncidentImpactIDPathParameter: + description: The UUID of the incident impact. + in: path + name: impact_id + required: true + schema: + type: string IncidentIntegrationMetadataIDPathParameter: description: The UUID of the incident integration metadata. in: path @@ -14310,22 +43714,29 @@ components: required: true schema: type: string - IncidentServiceIncludeQueryParameter: - description: >- - Specifies which types of related objects should be included in the - response. - in: query - name: include - required: false + IncidentResponderIDPathParameter: + description: The UUID of the incident responder. + in: path + name: responder_id + required: true schema: - $ref: '#/components/schemas/IncidentRelatedObject' - IncidentServiceSearchQueryParameter: - description: A search query that filters services by name. - in: query - name: filter - required: false + format: uuid + type: string + IncidentTimestampOverrideIDPathParameter: + description: The UUID of the timestamp override. + in: path + name: id + required: true + schema: + format: uuid + type: string + MaintenanceWindowIDPathParameter: + description: The UUID of the maintenance window. + example: a1b2c3d4-e5f6-7890-abcd-ef1234567890 + in: path + name: maintenance_window_id + required: true schema: - example: ExampleServiceName type: string SchemaVersion: description: The schema version desired in the response. @@ -14342,1037 +43753,4039 @@ components: schema: example: my-service type: string - IncidentServiceIDPathParameter: - description: The ID of the incident service. + ReportID: + description: The ID of the report job. in: path - name: service_id + name: report_id required: true schema: type: string - ReportID: - description: The ID of the report job. + SloID: + description: The ID of the SLO. in: path - name: report_id + name: slo_id required: true schema: + example: 00000000-0000-0000-0000-000000000000 type: string - IncidentTeamIncludeQueryParameter: - description: >- - Specifies which types of related objects should be included in the - response. + FromTimestamp: + description: The starting timestamp for the SLO status query in epoch seconds. in: query - name: include - required: false + name: from_ts + required: true schema: - $ref: '#/components/schemas/IncidentRelatedObject' - IncidentTeamSearchQueryParameter: - description: A search query that filters teams by name. + example: 1690901870 + format: int64 + type: integer + ToTimestamp: + description: The ending timestamp for the SLO status query in epoch seconds. in: query - name: filter - required: false - schema: - example: ExampleTeamName - type: string - IncidentTeamIDPathParameter: - description: The ID of the incident team. - in: path - name: team_id + name: to_ts required: true schema: - type: string + example: 1706803070 + format: int64 + type: integer + DisableCorrections: + description: Whether to exclude correction windows from the SLO status calculation. Defaults to false. + in: query + name: disable_corrections + required: false + schema: + default: false + example: false + type: boolean x-stackQL-resources: + bits_ai_investigations: + id: datadog.service_management.bits_ai_investigations + name: bits_ai_investigations + title: Bits Ai Investigations + methods: + list_investigations: + operation: + $ref: '#/paths/~1api~1v2~1bits-ai~1investigations/get' + response: + mediaType: application/json + openAPIDocKey: '200' + objectKey: $.data + request: + nativeCasing: camel + config: + queryParamPushdown: + top: + paramName: page[limit] + maxValue: 100 + skip: + paramName: page[offset] + trigger_investigation: + config: + requestBodyTranslate: + algorithm: naive + operation: + $ref: '#/paths/~1api~1v2~1bits-ai~1investigations/post' + response: + mediaType: application/json + openAPIDocKey: '200' + request: + nativeCasing: camel + get_investigation: + operation: + $ref: '#/paths/~1api~1v2~1bits-ai~1investigations~1{id}/get' + response: + mediaType: application/json + openAPIDocKey: '200' + objectKey: $.data + request: + nativeCasing: camel + sqlVerbs: + select: + - $ref: '#/components/x-stackQL-resources/bits_ai_investigations/methods/get_investigation' + - $ref: '#/components/x-stackQL-resources/bits_ai_investigations/methods/list_investigations' + insert: + - $ref: '#/components/x-stackQL-resources/bits_ai_investigations/methods/trigger_investigation' + update: [] + delete: [] + replace: [] cases: id: datadog.service_management.cases name: cases title: Cases methods: - search_cases: + search_cases: + operation: + $ref: '#/paths/~1api~1v2~1cases/get' + response: + mediaType: application/json + openAPIDocKey: '200' + request: + nativeCasing: camel + config: + queryParamPushdown: + top: + paramName: page[size] + create_case: + config: + requestBodyTranslate: + algorithm: naive + operation: + $ref: '#/paths/~1api~1v2~1cases/post' + response: + mediaType: application/json + openAPIDocKey: '201' + request: + nativeCasing: camel + aggregate_cases: + config: + requestBodyTranslate: + algorithm: naive + operation: + $ref: '#/paths/~1api~1v2~1cases~1aggregate/post' + response: + mediaType: application/json + openAPIDocKey: '200' + request: + nativeCasing: camel + bulk_update_cases: + config: + requestBodyTranslate: + algorithm: naive + operation: + $ref: '#/paths/~1api~1v2~1cases~1bulk/post' + response: + mediaType: application/json + openAPIDocKey: '200' + request: + nativeCasing: camel + create_case_link: + config: + requestBodyTranslate: + algorithm: naive + operation: + $ref: '#/paths/~1api~1v2~1cases~1link/post' + response: + mediaType: application/json + openAPIDocKey: '201' + request: + nativeCasing: camel + delete_case_link: + operation: + $ref: '#/paths/~1api~1v2~1cases~1link~1{link_id}/delete' + response: + mediaType: application/json + openAPIDocKey: '204' + request: + nativeCasing: camel + get_case: + operation: + $ref: '#/paths/~1api~1v2~1cases~1{case_id}/get' + response: + mediaType: application/json + openAPIDocKey: '200' + objectKey: $.data + request: + nativeCasing: camel + archive_case: + config: + requestBodyTranslate: + algorithm: naive + operation: + $ref: '#/paths/~1api~1v2~1cases~1{case_id}~1archive/post' + response: + mediaType: application/json + openAPIDocKey: '200' + request: + nativeCasing: camel + assign_case: + config: + requestBodyTranslate: + algorithm: naive + operation: + $ref: '#/paths/~1api~1v2~1cases~1{case_id}~1assign/post' + response: + mediaType: application/json + openAPIDocKey: '200' + request: + nativeCasing: camel + update_attributes: + config: + requestBodyTranslate: + algorithm: naive + operation: + $ref: '#/paths/~1api~1v2~1cases~1{case_id}~1attributes/post' + response: + mediaType: application/json + openAPIDocKey: '200' + request: + nativeCasing: camel + update_case_description: + config: + requestBodyTranslate: + algorithm: naive + operation: + $ref: '#/paths/~1api~1v2~1cases~1{case_id}~1description/post' + response: + mediaType: application/json + openAPIDocKey: '200' + request: + nativeCasing: camel + update_case_due_date: + config: + requestBodyTranslate: + algorithm: naive + operation: + $ref: '#/paths/~1api~1v2~1cases~1{case_id}~1due_date/post' + response: + mediaType: application/json + openAPIDocKey: '200' + request: + nativeCasing: camel + update_priority: + config: + requestBodyTranslate: + algorithm: naive + operation: + $ref: '#/paths/~1api~1v2~1cases~1{case_id}~1priority/post' + response: + mediaType: application/json + openAPIDocKey: '200' + request: + nativeCasing: camel + update_case_resolved_reason: + config: + requestBodyTranslate: + algorithm: naive + operation: + $ref: '#/paths/~1api~1v2~1cases~1{case_id}~1resolved_reason/post' + response: + mediaType: application/json + openAPIDocKey: '200' + request: + nativeCasing: camel + update_status: + config: + requestBodyTranslate: + algorithm: naive + operation: + $ref: '#/paths/~1api~1v2~1cases~1{case_id}~1status/post' + response: + mediaType: application/json + openAPIDocKey: '200' + request: + nativeCasing: camel + update_case_title: + config: + requestBodyTranslate: + algorithm: naive + operation: + $ref: '#/paths/~1api~1v2~1cases~1{case_id}~1title/post' + response: + mediaType: application/json + openAPIDocKey: '200' + request: + nativeCasing: camel + unarchive_case: + config: + requestBodyTranslate: + algorithm: naive + operation: + $ref: '#/paths/~1api~1v2~1cases~1{case_id}~1unarchive/post' + response: + mediaType: application/json + openAPIDocKey: '200' + request: + nativeCasing: camel + unassign_case: + config: + requestBodyTranslate: + algorithm: naive + operation: + $ref: '#/paths/~1api~1v2~1cases~1{case_id}~1unassign/post' + response: + mediaType: application/json + openAPIDocKey: '200' + request: + nativeCasing: camel + sqlVerbs: + select: + - $ref: '#/components/x-stackQL-resources/cases/methods/get_case' + insert: + - $ref: '#/components/x-stackQL-resources/cases/methods/create_case' + update: [] + delete: + - $ref: '#/components/x-stackQL-resources/cases/methods/delete_case_link' + replace: [] + case_counts: + id: datadog.service_management.case_counts + name: case_counts + title: Case Counts + methods: + count_cases: + operation: + $ref: '#/paths/~1api~1v2~1cases~1count/get' + response: + mediaType: application/json + openAPIDocKey: '200' + objectKey: $.data + request: + nativeCasing: camel + config: + queryParamPushdown: + top: + paramName: limit + sqlVerbs: + select: + - $ref: '#/components/x-stackQL-resources/case_counts/methods/count_cases' + insert: [] + update: [] + delete: [] + replace: [] + case_links: + id: datadog.service_management.case_links + name: case_links + title: Case Links + methods: + list_case_links: + operation: + $ref: '#/paths/~1api~1v2~1cases~1link/get' + response: + mediaType: application/json + openAPIDocKey: '200' + objectKey: $.data + request: + nativeCasing: camel + sqlVerbs: + select: + - $ref: '#/components/x-stackQL-resources/case_links/methods/list_case_links' + insert: [] + update: [] + delete: [] + replace: [] + projects: + id: datadog.service_management.projects + name: projects + title: Projects + methods: + get_projects: + operation: + $ref: '#/paths/~1api~1v2~1cases~1projects/get' + response: + mediaType: application/json + openAPIDocKey: '200' + objectKey: $.data + request: + nativeCasing: camel + create_project: + config: + requestBodyTranslate: + algorithm: naive + operation: + $ref: '#/paths/~1api~1v2~1cases~1projects/post' + response: + mediaType: application/json + openAPIDocKey: '201' + request: + nativeCasing: camel + delete_project: + operation: + $ref: '#/paths/~1api~1v2~1cases~1projects~1{project_id}/delete' + response: + mediaType: application/json + openAPIDocKey: '204' + request: + nativeCasing: camel + get_project: + operation: + $ref: '#/paths/~1api~1v2~1cases~1projects~1{project_id}/get' + response: + mediaType: application/json + openAPIDocKey: '200' + objectKey: $.data + request: + nativeCasing: camel + sqlVerbs: + select: + - $ref: '#/components/x-stackQL-resources/projects/methods/get_project' + - $ref: '#/components/x-stackQL-resources/projects/methods/get_projects' + insert: + - $ref: '#/components/x-stackQL-resources/projects/methods/create_project' + update: [] + delete: + - $ref: '#/components/x-stackQL-resources/projects/methods/delete_project' + replace: [] + case_project_favorites: + id: datadog.service_management.case_project_favorites + name: case_project_favorites + title: Case Project Favorites + methods: + list_user_case_project_favorites: + operation: + $ref: '#/paths/~1api~1v2~1cases~1projects~1favorites/get' + response: + mediaType: application/json + openAPIDocKey: '200' + objectKey: $.data + request: + nativeCasing: camel + unfavorite_case_project: + operation: + $ref: '#/paths/~1api~1v2~1cases~1projects~1{project_id}~1favorites/delete' + response: + mediaType: application/json + openAPIDocKey: '204' + request: + nativeCasing: camel + favorite_case_project: + operation: + $ref: '#/paths/~1api~1v2~1cases~1projects~1{project_id}~1favorites/post' + response: + mediaType: application/json + openAPIDocKey: '204' + request: + nativeCasing: camel + sqlVerbs: + select: + - $ref: '#/components/x-stackQL-resources/case_project_favorites/methods/list_user_case_project_favorites' + insert: + - $ref: '#/components/x-stackQL-resources/case_project_favorites/methods/favorite_case_project' + update: [] + delete: + - $ref: '#/components/x-stackQL-resources/case_project_favorites/methods/unfavorite_case_project' + replace: [] + case_projects: + id: datadog.service_management.case_projects + name: case_projects + title: Case Projects + methods: + update_project: + config: + requestBodyTranslate: + algorithm: naive + operation: + $ref: '#/paths/~1api~1v2~1cases~1projects~1{project_id}/patch' + response: + mediaType: application/json + openAPIDocKey: '200' + request: + nativeCasing: camel + sqlVerbs: + select: [] + insert: [] + update: + - $ref: '#/components/x-stackQL-resources/case_projects/methods/update_project' + delete: [] + replace: [] + case_project_notification_rules: + id: datadog.service_management.case_project_notification_rules + name: case_project_notification_rules + title: Case Project Notification Rules + methods: + get_project_notification_rules: + operation: + $ref: '#/paths/~1api~1v2~1cases~1projects~1{project_id}~1notification_rules/get' + response: + mediaType: application/json + openAPIDocKey: '200' + objectKey: $.data + request: + nativeCasing: camel + create_project_notification_rule: + config: + requestBodyTranslate: + algorithm: naive + operation: + $ref: '#/paths/~1api~1v2~1cases~1projects~1{project_id}~1notification_rules/post' + response: + mediaType: application/json + openAPIDocKey: '201' + request: + nativeCasing: camel + delete_project_notification_rule: + operation: + $ref: '#/paths/~1api~1v2~1cases~1projects~1{project_id}~1notification_rules~1{notification_rule_id}/delete' + response: + mediaType: application/json + openAPIDocKey: '204' + request: + nativeCasing: camel + update_project_notification_rule: + config: + requestBodyTranslate: + algorithm: naive + operation: + $ref: '#/paths/~1api~1v2~1cases~1projects~1{project_id}~1notification_rules~1{notification_rule_id}/put' + response: + mediaType: application/json + openAPIDocKey: '204' + request: + nativeCasing: camel + sqlVerbs: + select: + - $ref: '#/components/x-stackQL-resources/case_project_notification_rules/methods/get_project_notification_rules' + insert: + - $ref: '#/components/x-stackQL-resources/case_project_notification_rules/methods/create_project_notification_rule' + update: [] + delete: + - $ref: '#/components/x-stackQL-resources/case_project_notification_rules/methods/delete_project_notification_rule' + replace: + - $ref: '#/components/x-stackQL-resources/case_project_notification_rules/methods/update_project_notification_rule' + case_project_rules: + id: datadog.service_management.case_project_rules + name: case_project_rules + title: Case Project Rules + methods: + list_case_automation_rules: + operation: + $ref: '#/paths/~1api~1v2~1cases~1projects~1{project_id}~1rules/get' + response: + mediaType: application/json + openAPIDocKey: '200' + objectKey: $.data + request: + nativeCasing: camel + create_case_automation_rule: + config: + requestBodyTranslate: + algorithm: naive + operation: + $ref: '#/paths/~1api~1v2~1cases~1projects~1{project_id}~1rules/post' + response: + mediaType: application/json + openAPIDocKey: '201' + request: + nativeCasing: camel + delete_case_automation_rule: + operation: + $ref: '#/paths/~1api~1v2~1cases~1projects~1{project_id}~1rules~1{rule_id}/delete' + response: + mediaType: application/json + openAPIDocKey: '204' + request: + nativeCasing: camel + get_case_automation_rule: + operation: + $ref: '#/paths/~1api~1v2~1cases~1projects~1{project_id}~1rules~1{rule_id}/get' + response: + mediaType: application/json + openAPIDocKey: '200' + objectKey: $.data + request: + nativeCasing: camel + update_case_automation_rule: + config: + requestBodyTranslate: + algorithm: naive + operation: + $ref: '#/paths/~1api~1v2~1cases~1projects~1{project_id}~1rules~1{rule_id}/put' + response: + mediaType: application/json + openAPIDocKey: '200' + request: + nativeCasing: camel + disable_case_automation_rule: + operation: + $ref: '#/paths/~1api~1v2~1cases~1projects~1{project_id}~1rules~1{rule_id}~1disable/post' + response: + mediaType: application/json + openAPIDocKey: '200' + request: + nativeCasing: camel + enable_case_automation_rule: + operation: + $ref: '#/paths/~1api~1v2~1cases~1projects~1{project_id}~1rules~1{rule_id}~1enable/post' + response: + mediaType: application/json + openAPIDocKey: '200' + request: + nativeCasing: camel + sqlVerbs: + select: + - $ref: '#/components/x-stackQL-resources/case_project_rules/methods/get_case_automation_rule' + - $ref: '#/components/x-stackQL-resources/case_project_rules/methods/list_case_automation_rules' + insert: + - $ref: '#/components/x-stackQL-resources/case_project_rules/methods/create_case_automation_rule' + update: [] + delete: + - $ref: '#/components/x-stackQL-resources/case_project_rules/methods/delete_case_automation_rule' + replace: + - $ref: '#/components/x-stackQL-resources/case_project_rules/methods/update_case_automation_rule' + case_types: + id: datadog.service_management.case_types + name: case_types + title: Case Types + methods: + get_all_case_types: + operation: + $ref: '#/paths/~1api~1v2~1cases~1types/get' + response: + mediaType: application/json + openAPIDocKey: '200' + objectKey: $.data + request: + nativeCasing: camel + create_case_type: + config: + requestBodyTranslate: + algorithm: naive + operation: + $ref: '#/paths/~1api~1v2~1cases~1types/post' + response: + mediaType: application/json + openAPIDocKey: '201' + request: + nativeCasing: camel + delete_case_type: + operation: + $ref: '#/paths/~1api~1v2~1cases~1types~1{case_type_id}/delete' + response: + mediaType: application/json + openAPIDocKey: '204' + request: + nativeCasing: camel + update_case_type: + config: + requestBodyTranslate: + algorithm: naive + operation: + $ref: '#/paths/~1api~1v2~1cases~1types~1{case_type_id}/put' + response: + mediaType: application/json + openAPIDocKey: '200' + request: + nativeCasing: camel + sqlVerbs: + select: + - $ref: '#/components/x-stackQL-resources/case_types/methods/get_all_case_types' + insert: + - $ref: '#/components/x-stackQL-resources/case_types/methods/create_case_type' + update: [] + delete: + - $ref: '#/components/x-stackQL-resources/case_types/methods/delete_case_type' + replace: + - $ref: '#/components/x-stackQL-resources/case_types/methods/update_case_type' + case_type_custom_attributes: + id: datadog.service_management.case_type_custom_attributes + name: case_type_custom_attributes + title: Case Type Custom Attributes + methods: + get_all_custom_attributes: + operation: + $ref: '#/paths/~1api~1v2~1cases~1types~1custom_attributes/get' + response: + mediaType: application/json + openAPIDocKey: '200' + objectKey: $.data + request: + nativeCasing: camel + get_all_custom_attribute_configs_by_case_type: + operation: + $ref: '#/paths/~1api~1v2~1cases~1types~1{case_type_id}~1custom_attributes/get' + response: + mediaType: application/json + openAPIDocKey: '200' + objectKey: $.data + request: + nativeCasing: camel + create_custom_attribute_config: + config: + requestBodyTranslate: + algorithm: naive + operation: + $ref: '#/paths/~1api~1v2~1cases~1types~1{case_type_id}~1custom_attributes/post' + response: + mediaType: application/json + openAPIDocKey: '201' + request: + nativeCasing: camel + delete_custom_attribute_config: + operation: + $ref: '#/paths/~1api~1v2~1cases~1types~1{case_type_id}~1custom_attributes~1{custom_attribute_id}/delete' + response: + mediaType: application/json + openAPIDocKey: '204' + request: + nativeCasing: camel + update_custom_attribute_config: + config: + requestBodyTranslate: + algorithm: naive + operation: + $ref: '#/paths/~1api~1v2~1cases~1types~1{case_type_id}~1custom_attributes~1{custom_attribute_id}/put' + response: + mediaType: application/json + openAPIDocKey: '200' + request: + nativeCasing: camel + sqlVerbs: + select: + - $ref: '#/components/x-stackQL-resources/case_type_custom_attributes/methods/get_all_custom_attribute_configs_by_case_type' + - $ref: '#/components/x-stackQL-resources/case_type_custom_attributes/methods/get_all_custom_attributes' + insert: + - $ref: '#/components/x-stackQL-resources/case_type_custom_attributes/methods/create_custom_attribute_config' + update: [] + delete: + - $ref: '#/components/x-stackQL-resources/case_type_custom_attributes/methods/delete_custom_attribute_config' + replace: + - $ref: '#/components/x-stackQL-resources/case_type_custom_attributes/methods/update_custom_attribute_config' + case_views: + id: datadog.service_management.case_views + name: case_views + title: Case Views + methods: + list_case_views: + operation: + $ref: '#/paths/~1api~1v2~1cases~1views/get' + response: + mediaType: application/json + openAPIDocKey: '200' + objectKey: $.data + request: + nativeCasing: camel + create_case_view: + config: + requestBodyTranslate: + algorithm: naive + operation: + $ref: '#/paths/~1api~1v2~1cases~1views/post' + response: + mediaType: application/json + openAPIDocKey: '201' + request: + nativeCasing: camel + delete_case_view: + operation: + $ref: '#/paths/~1api~1v2~1cases~1views~1{view_id}/delete' + response: + mediaType: application/json + openAPIDocKey: '204' + request: + nativeCasing: camel + get_case_view: + operation: + $ref: '#/paths/~1api~1v2~1cases~1views~1{view_id}/get' + response: + mediaType: application/json + openAPIDocKey: '200' + objectKey: $.data + request: + nativeCasing: camel + update_case_view: + config: + requestBodyTranslate: + algorithm: naive + operation: + $ref: '#/paths/~1api~1v2~1cases~1views~1{view_id}/put' + response: + mediaType: application/json + openAPIDocKey: '200' + request: + nativeCasing: camel + sqlVerbs: + select: + - $ref: '#/components/x-stackQL-resources/case_views/methods/get_case_view' + - $ref: '#/components/x-stackQL-resources/case_views/methods/list_case_views' + insert: + - $ref: '#/components/x-stackQL-resources/case_views/methods/create_case_view' + update: [] + delete: + - $ref: '#/components/x-stackQL-resources/case_views/methods/delete_case_view' + replace: + - $ref: '#/components/x-stackQL-resources/case_views/methods/update_case_view' + case_comments: + id: datadog.service_management.case_comments + name: case_comments + title: Case Comments + methods: + comment_case: + config: + requestBodyTranslate: + algorithm: naive + operation: + $ref: '#/paths/~1api~1v2~1cases~1{case_id}~1comment/post' + response: + mediaType: application/json + openAPIDocKey: '200' + request: + nativeCasing: camel + delete_case_comment: + operation: + $ref: '#/paths/~1api~1v2~1cases~1{case_id}~1comment~1{cell_id}/delete' + response: + mediaType: application/json + openAPIDocKey: '204' + request: + nativeCasing: camel + update_case_comment: + config: + requestBodyTranslate: + algorithm: naive + operation: + $ref: '#/paths/~1api~1v2~1cases~1{case_id}~1comment~1{cell_id}/put' + response: + mediaType: application/json + openAPIDocKey: '200' + request: + nativeCasing: camel + sqlVerbs: + select: [] + insert: + - $ref: '#/components/x-stackQL-resources/case_comments/methods/comment_case' + update: [] + delete: + - $ref: '#/components/x-stackQL-resources/case_comments/methods/delete_case_comment' + replace: + - $ref: '#/components/x-stackQL-resources/case_comments/methods/update_case_comment' + case_custom_attributes: + id: datadog.service_management.case_custom_attributes + name: case_custom_attributes + title: Case Custom Attributes + methods: + delete_case_custom_attribute: + operation: + $ref: '#/paths/~1api~1v2~1cases~1{case_id}~1custom_attributes~1{custom_attribute_key}/delete' + response: + mediaType: application/json + openAPIDocKey: '200' + request: + nativeCasing: camel + update_case_custom_attribute: + config: + requestBodyTranslate: + algorithm: naive + operation: + $ref: '#/paths/~1api~1v2~1cases~1{case_id}~1custom_attributes~1{custom_attribute_key}/post' + response: + mediaType: application/json + openAPIDocKey: '200' + request: + nativeCasing: camel + sqlVerbs: + select: [] + insert: + - $ref: '#/components/x-stackQL-resources/case_custom_attributes/methods/update_case_custom_attribute' + update: [] + delete: + - $ref: '#/components/x-stackQL-resources/case_custom_attributes/methods/delete_case_custom_attribute' + replace: [] + case_insights: + id: datadog.service_management.case_insights + name: case_insights + title: Case Insights + methods: + remove_case_insights: + operation: + $ref: '#/paths/~1api~1v2~1cases~1{case_id}~1insights/delete' + response: + mediaType: application/json + openAPIDocKey: '200' + request: + nativeCasing: camel + add_case_insights: + config: + requestBodyTranslate: + algorithm: naive + operation: + $ref: '#/paths/~1api~1v2~1cases~1{case_id}~1insights/put' + response: + mediaType: application/json + openAPIDocKey: '200' + request: + nativeCasing: camel + sqlVerbs: + select: [] + insert: [] + update: [] + delete: + - $ref: '#/components/x-stackQL-resources/case_insights/methods/remove_case_insights' + replace: + - $ref: '#/components/x-stackQL-resources/case_insights/methods/add_case_insights' + case_relationship_incidents: + id: datadog.service_management.case_relationship_incidents + name: case_relationship_incidents + title: Case Relationship Incidents + methods: + link_incident: + config: + requestBodyTranslate: + algorithm: naive + operation: + $ref: '#/paths/~1api~1v2~1cases~1{case_id}~1relationships~1incidents/post' + response: + mediaType: application/json + openAPIDocKey: '201' + request: + nativeCasing: camel + sqlVerbs: + select: [] + insert: + - $ref: '#/components/x-stackQL-resources/case_relationship_incidents/methods/link_incident' + update: [] + delete: [] + replace: [] + case_relationship_jira_issues: + id: datadog.service_management.case_relationship_jira_issues + name: case_relationship_jira_issues + title: Case Relationship Jira Issues + methods: + unlink_jira_issue: + operation: + $ref: '#/paths/~1api~1v2~1cases~1{case_id}~1relationships~1jira_issues/delete' + response: + mediaType: application/json + openAPIDocKey: '204' + request: + nativeCasing: camel + link_jira_issue_to_case: + config: + requestBodyTranslate: + algorithm: naive + operation: + $ref: '#/paths/~1api~1v2~1cases~1{case_id}~1relationships~1jira_issues/patch' + response: + mediaType: application/json + openAPIDocKey: '204' + request: + nativeCasing: camel + create_case_jira_issue: + config: + requestBodyTranslate: + algorithm: naive + operation: + $ref: '#/paths/~1api~1v2~1cases~1{case_id}~1relationships~1jira_issues/post' + response: + mediaType: application/json + openAPIDocKey: '202' + request: + nativeCasing: camel + sqlVerbs: + select: [] + insert: + - $ref: '#/components/x-stackQL-resources/case_relationship_jira_issues/methods/create_case_jira_issue' + update: + - $ref: '#/components/x-stackQL-resources/case_relationship_jira_issues/methods/link_jira_issue_to_case' + delete: + - $ref: '#/components/x-stackQL-resources/case_relationship_jira_issues/methods/unlink_jira_issue' + replace: [] + case_relationship_notebooks: + id: datadog.service_management.case_relationship_notebooks + name: case_relationship_notebooks + title: Case Relationship Notebooks + methods: + create_case_notebook: + config: + requestBodyTranslate: + algorithm: naive + operation: + $ref: '#/paths/~1api~1v2~1cases~1{case_id}~1relationships~1notebook/post' + response: + mediaType: application/json + openAPIDocKey: '204' + request: + nativeCasing: camel + sqlVerbs: + select: [] + insert: + - $ref: '#/components/x-stackQL-resources/case_relationship_notebooks/methods/create_case_notebook' + update: [] + delete: [] + replace: [] + case_relationship_projects: + id: datadog.service_management.case_relationship_projects + name: case_relationship_projects + title: Case Relationship Projects + methods: + move_case_to_project: + config: + requestBodyTranslate: + algorithm: naive + operation: + $ref: '#/paths/~1api~1v2~1cases~1{case_id}~1relationships~1project/patch' + response: + mediaType: application/json + openAPIDocKey: '200' + request: + nativeCasing: camel + sqlVerbs: + select: [] + insert: [] + update: + - $ref: '#/components/x-stackQL-resources/case_relationship_projects/methods/move_case_to_project' + delete: [] + replace: [] + case_relationship_servicenow_tickets: + id: datadog.service_management.case_relationship_servicenow_tickets + name: case_relationship_servicenow_tickets + title: Case Relationship Servicenow Tickets + methods: + create_case_service_now_ticket: + config: + requestBodyTranslate: + algorithm: naive + operation: + $ref: '#/paths/~1api~1v2~1cases~1{case_id}~1relationships~1servicenow_tickets/post' + response: + mediaType: application/json + openAPIDocKey: '202' + request: + nativeCasing: camel + sqlVerbs: + select: [] + insert: + - $ref: '#/components/x-stackQL-resources/case_relationship_servicenow_tickets/methods/create_case_service_now_ticket' + update: [] + delete: [] + replace: [] + case_timelines: + id: datadog.service_management.case_timelines + name: case_timelines + title: Case Timelines + methods: + list_case_timeline: + operation: + $ref: '#/paths/~1api~1v2~1cases~1{case_id}~1timelines/get' + response: + mediaType: application/json + openAPIDocKey: '200' + objectKey: $.data + request: + nativeCasing: camel + config: + queryParamPushdown: + top: + paramName: page[size] + sqlVerbs: + select: + - $ref: '#/components/x-stackQL-resources/case_timelines/methods/list_case_timeline' + insert: [] + update: [] + delete: [] + replace: [] + case_watchers: + id: datadog.service_management.case_watchers + name: case_watchers + title: Case Watchers + methods: + list_case_watchers: + operation: + $ref: '#/paths/~1api~1v2~1cases~1{case_id}~1watchers/get' + response: + mediaType: application/json + openAPIDocKey: '200' + objectKey: $.data + request: + nativeCasing: camel + unwatch_case: + operation: + $ref: '#/paths/~1api~1v2~1cases~1{case_id}~1watchers~1{user_uuid}/delete' + response: + mediaType: application/json + openAPIDocKey: '204' + request: + nativeCasing: camel + watch_case: + operation: + $ref: '#/paths/~1api~1v2~1cases~1{case_id}~1watchers~1{user_uuid}/post' + response: + mediaType: application/json + openAPIDocKey: '201' + request: + nativeCasing: camel + sqlVerbs: + select: + - $ref: '#/components/x-stackQL-resources/case_watchers/methods/list_case_watchers' + insert: + - $ref: '#/components/x-stackQL-resources/case_watchers/methods/watch_case' + update: [] + delete: + - $ref: '#/components/x-stackQL-resources/case_watchers/methods/unwatch_case' + replace: [] + change_requests: + id: datadog.service_management.change_requests + name: change_requests + title: Change Requests + methods: + create_change_request: + config: + requestBodyTranslate: + algorithm: naive + operation: + $ref: '#/paths/~1api~1v2~1change-management~1change-request/post' + response: + mediaType: application/json + openAPIDocKey: '201' + request: + nativeCasing: camel + get_change_request: + operation: + $ref: '#/paths/~1api~1v2~1change-management~1change-request~1{change_request_id}/get' + response: + mediaType: application/json + openAPIDocKey: '200' + objectKey: $.data + request: + nativeCasing: camel + update_change_request: + config: + requestBodyTranslate: + algorithm: naive + operation: + $ref: '#/paths/~1api~1v2~1change-management~1change-request~1{change_request_id}/patch' + response: + mediaType: application/json + openAPIDocKey: '200' + request: + nativeCasing: camel + sqlVerbs: + select: + - $ref: '#/components/x-stackQL-resources/change_requests/methods/get_change_request' + insert: + - $ref: '#/components/x-stackQL-resources/change_requests/methods/create_change_request' + update: + - $ref: '#/components/x-stackQL-resources/change_requests/methods/update_change_request' + delete: [] + replace: [] + change_request_branches: + id: datadog.service_management.change_request_branches + name: change_request_branches + title: Change Request Branches + methods: + create_change_request_branch: + config: + requestBodyTranslate: + algorithm: naive + operation: + $ref: '#/paths/~1api~1v2~1change-management~1change-request~1{change_request_id}~1branch/post' + response: + mediaType: application/json + openAPIDocKey: '200' + request: + nativeCasing: camel + sqlVerbs: + select: [] + insert: + - $ref: '#/components/x-stackQL-resources/change_request_branches/methods/create_change_request_branch' + update: [] + delete: [] + replace: [] + change_change_request_decisions: + id: datadog.service_management.change_change_request_decisions + name: change_change_request_decisions + title: Change Change Request Decisions + methods: + delete_change_request_decision: + operation: + $ref: '#/paths/~1api~1v2~1change-management~1change-request~1{change_request_id}~1decisions~1{decision_id}/delete' + response: + mediaType: application/json + openAPIDocKey: '200' + request: + nativeCasing: camel + update_change_request_decision: + config: + requestBodyTranslate: + algorithm: naive + operation: + $ref: '#/paths/~1api~1v2~1change-management~1change-request~1{change_request_id}~1decisions~1{decision_id}/patch' + response: + mediaType: application/json + openAPIDocKey: '200' + request: + nativeCasing: camel + sqlVerbs: + select: [] + insert: [] + update: + - $ref: '#/components/x-stackQL-resources/change_change_request_decisions/methods/update_change_request_decision' + delete: + - $ref: '#/components/x-stackQL-resources/change_change_request_decisions/methods/delete_change_request_decision' + replace: [] + downtimes: + id: datadog.service_management.downtimes + name: downtimes + title: Downtimes + methods: + list_downtimes: + operation: + $ref: '#/paths/~1api~1v2~1downtime/get' + response: + mediaType: application/json + openAPIDocKey: '200' + objectKey: $.data + request: + nativeCasing: camel + config: + queryParamPushdown: + top: + paramName: page[limit] + skip: + paramName: page[offset] + create_downtime: + config: + requestBodyTranslate: + algorithm: naive + operation: + $ref: '#/paths/~1api~1v2~1downtime/post' + response: + mediaType: application/json + openAPIDocKey: '200' + request: + nativeCasing: camel + cancel_downtime: + operation: + $ref: '#/paths/~1api~1v2~1downtime~1{downtime_id}/delete' + response: + mediaType: application/json + openAPIDocKey: '204' + request: + nativeCasing: camel + get_downtime: + operation: + $ref: '#/paths/~1api~1v2~1downtime~1{downtime_id}/get' + response: + mediaType: application/json + openAPIDocKey: '200' + objectKey: $.data + request: + nativeCasing: camel + update_downtime: + config: + requestBodyTranslate: + algorithm: naive + operation: + $ref: '#/paths/~1api~1v2~1downtime~1{downtime_id}/patch' + response: + mediaType: application/json + openAPIDocKey: '200' + request: + nativeCasing: camel + sqlVerbs: + select: + - $ref: '#/components/x-stackQL-resources/downtimes/methods/get_downtime' + - $ref: '#/components/x-stackQL-resources/downtimes/methods/list_downtimes' + insert: + - $ref: '#/components/x-stackQL-resources/downtimes/methods/create_downtime' + update: + - $ref: '#/components/x-stackQL-resources/downtimes/methods/update_downtime' + delete: + - $ref: '#/components/x-stackQL-resources/downtimes/methods/cancel_downtime' + replace: [] + issues: + id: datadog.service_management.issues + name: issues + title: Issues + methods: + search_issues: + config: + requestBodyTranslate: + algorithm: naive + operation: + $ref: '#/paths/~1api~1v2~1error-tracking~1issues~1search/post' + response: + mediaType: application/json + openAPIDocKey: '200' + request: + nativeCasing: camel + get_issue: + operation: + $ref: '#/paths/~1api~1v2~1error-tracking~1issues~1{issue_id}/get' + response: + mediaType: application/json + openAPIDocKey: '200' + objectKey: $.data + request: + nativeCasing: camel + update_issue_assignee: + config: + requestBodyTranslate: + algorithm: naive + operation: + $ref: '#/paths/~1api~1v2~1error-tracking~1issues~1{issue_id}~1assignee/put' + response: + mediaType: application/json + openAPIDocKey: '200' + request: + nativeCasing: camel + update_issue_state: + config: + requestBodyTranslate: + algorithm: naive + operation: + $ref: '#/paths/~1api~1v2~1error-tracking~1issues~1{issue_id}~1state/put' + response: + mediaType: application/json + openAPIDocKey: '200' + request: + nativeCasing: camel + sqlVerbs: + select: + - $ref: '#/components/x-stackQL-resources/issues/methods/get_issue' + insert: + - $ref: '#/components/x-stackQL-resources/issues/methods/search_issues' + update: [] + delete: [] + replace: [] + error_tracking_issues: + id: datadog.service_management.error_tracking_issues + name: error_tracking_issues + title: Error Tracking Issues + methods: + delete_issue_assignee: + operation: + $ref: '#/paths/~1api~1v2~1error-tracking~1issues~1{issue_id}~1assignee/delete' + response: + mediaType: application/json + openAPIDocKey: '204' + request: + nativeCasing: camel + sqlVerbs: + select: [] + insert: [] + update: [] + delete: + - $ref: '#/components/x-stackQL-resources/error_tracking_issues/methods/delete_issue_assignee' + replace: [] + events: + id: datadog.service_management.events + name: events + title: Events + methods: + list_events: + operation: + $ref: '#/paths/~1api~1v2~1events/get' + response: + mediaType: application/json + openAPIDocKey: '200' + objectKey: $.data + request: + nativeCasing: camel + config: + pagination: + requestToken: + key: page[cursor] + location: query + responseToken: + key: $.meta.page.after + location: body + queryParamPushdown: + top: + paramName: page[limit] + maxValue: 1000 + create_event: + config: + requestBodyTranslate: + algorithm: naive + operation: + $ref: '#/paths/~1api~1v2~1events/post' + response: + mediaType: application/json + openAPIDocKey: '202' + request: + nativeCasing: camel + search_events: + config: + requestBodyTranslate: + algorithm: naive + operation: + $ref: '#/paths/~1api~1v2~1events~1search/post' + response: + mediaType: application/json + openAPIDocKey: '200' + request: + nativeCasing: camel + get_event: + operation: + $ref: '#/paths/~1api~1v2~1events~1{event_id}/get' + response: + mediaType: application/json + openAPIDocKey: '200' + objectKey: $.data + request: + nativeCasing: camel + sqlVerbs: + select: + - $ref: '#/components/x-stackQL-resources/events/methods/get_event' + - $ref: '#/components/x-stackQL-resources/events/methods/list_events' + insert: + - $ref: '#/components/x-stackQL-resources/events/methods/create_event' + update: [] + delete: [] + replace: [] + forms: + id: datadog.service_management.forms + name: forms + title: Forms + methods: + list_forms: + operation: + $ref: '#/paths/~1api~1v2~1forms/get' + response: + mediaType: application/json + openAPIDocKey: '200' + objectKey: $.data + request: + nativeCasing: camel + create_form: + config: + requestBodyTranslate: + algorithm: naive + operation: + $ref: '#/paths/~1api~1v2~1forms/post' + response: + mediaType: application/json + openAPIDocKey: '200' + request: + nativeCasing: camel + create_and_publish_form: + config: + requestBodyTranslate: + algorithm: naive + operation: + $ref: '#/paths/~1api~1v2~1forms~1create_and_publish/post' + response: + mediaType: application/json + openAPIDocKey: '200' + request: + nativeCasing: camel + delete_form: + operation: + $ref: '#/paths/~1api~1v2~1forms~1{form_id}/delete' + response: + mediaType: application/json + openAPIDocKey: '200' + request: + nativeCasing: camel + get_form: + operation: + $ref: '#/paths/~1api~1v2~1forms~1{form_id}/get' + response: + mediaType: application/json + openAPIDocKey: '200' + objectKey: $.data + request: + nativeCasing: camel + update_form: + config: + requestBodyTranslate: + algorithm: naive + operation: + $ref: '#/paths/~1api~1v2~1forms~1{form_id}/patch' + response: + mediaType: application/json + openAPIDocKey: '200' + request: + nativeCasing: camel + clone_form: + config: + requestBodyTranslate: + algorithm: naive + operation: + $ref: '#/paths/~1api~1v2~1forms~1{form_id}~1clone/post' + response: + mediaType: application/json + openAPIDocKey: '200' + request: + nativeCasing: camel + publish_form: + config: + requestBodyTranslate: + algorithm: naive + operation: + $ref: '#/paths/~1api~1v2~1forms~1{form_id}~1publish/post' + response: + mediaType: application/json + openAPIDocKey: '200' + request: + nativeCasing: camel + sqlVerbs: + select: + - $ref: '#/components/x-stackQL-resources/forms/methods/get_form' + - $ref: '#/components/x-stackQL-resources/forms/methods/list_forms' + insert: + - $ref: '#/components/x-stackQL-resources/forms/methods/create_form' + update: + - $ref: '#/components/x-stackQL-resources/forms/methods/update_form' + delete: + - $ref: '#/components/x-stackQL-resources/forms/methods/delete_form' + replace: [] + form_versions: + id: datadog.service_management.form_versions + name: form_versions + title: Form Versions + methods: + upsert_form_version: + config: + requestBodyTranslate: + algorithm: naive + operation: + $ref: '#/paths/~1api~1v2~1forms~1{form_id}~1versions/post' + response: + mediaType: application/json + openAPIDocKey: '200' + request: + nativeCasing: camel + upsert_and_publish_form_version: + config: + requestBodyTranslate: + algorithm: naive + operation: + $ref: '#/paths/~1api~1v2~1forms~1{form_id}~1versions~1upsert_and_publish/post' + response: + mediaType: application/json + openAPIDocKey: '200' + request: + nativeCasing: camel + sqlVerbs: + select: [] + insert: + - $ref: '#/components/x-stackQL-resources/form_versions/methods/upsert_form_version' + update: [] + delete: [] + replace: [] + incidents: + id: datadog.service_management.incidents + name: incidents + title: Incidents + methods: + list_incidents: + operation: + $ref: '#/paths/~1api~1v2~1incidents/get' + response: + mediaType: application/json + openAPIDocKey: '200' + objectKey: $.data + request: + nativeCasing: camel + config: + queryParamPushdown: + top: + paramName: page[size] + skip: + paramName: page[offset] + create_incident: + config: + requestBodyTranslate: + algorithm: naive + operation: + $ref: '#/paths/~1api~1v2~1incidents/post' + response: + mediaType: application/json + openAPIDocKey: '201' + request: + nativeCasing: camel + import_incident: + config: + requestBodyTranslate: + algorithm: naive + operation: + $ref: '#/paths/~1api~1v2~1incidents~1import/post' + response: + mediaType: application/json + openAPIDocKey: '201' + request: + nativeCasing: camel + search_incidents: + operation: + $ref: '#/paths/~1api~1v2~1incidents~1search/get' + response: + mediaType: application/json + openAPIDocKey: '200' + objectKey: $.data + request: + nativeCasing: camel + config: + queryParamPushdown: + top: + paramName: page[size] + skip: + paramName: page[offset] + delete_incident: + operation: + $ref: '#/paths/~1api~1v2~1incidents~1{incident_id}/delete' + response: + mediaType: application/json + openAPIDocKey: '204' + request: + nativeCasing: camel + get_incident: + operation: + $ref: '#/paths/~1api~1v2~1incidents~1{incident_id}/get' + response: + mediaType: application/json + openAPIDocKey: '200' + objectKey: $.data + request: + nativeCasing: camel + update_incident: + config: + requestBodyTranslate: + algorithm: naive + operation: + $ref: '#/paths/~1api~1v2~1incidents~1{incident_id}/patch' + response: + mediaType: application/json + openAPIDocKey: '200' + request: + nativeCasing: camel + sqlVerbs: + select: + - $ref: '#/components/x-stackQL-resources/incidents/methods/get_incident' + - $ref: '#/components/x-stackQL-resources/incidents/methods/list_incidents' + - $ref: '#/components/x-stackQL-resources/incidents/methods/search_incidents' + insert: + - $ref: '#/components/x-stackQL-resources/incidents/methods/create_incident' + update: + - $ref: '#/components/x-stackQL-resources/incidents/methods/update_incident' + delete: + - $ref: '#/components/x-stackQL-resources/incidents/methods/delete_incident' + replace: [] + incident_global_incident_handles: + id: datadog.service_management.incident_global_incident_handles + name: incident_global_incident_handles + title: Incident Global Incident Handles + methods: + delete_global_incident_handle: + operation: + $ref: '#/paths/~1api~1v2~1incidents~1config~1global~1incident-handles/delete' + response: + mediaType: application/json + openAPIDocKey: '204' + request: + nativeCasing: camel + list_global_incident_handles: + operation: + $ref: '#/paths/~1api~1v2~1incidents~1config~1global~1incident-handles/get' + response: + mediaType: application/json + openAPIDocKey: '200' + objectKey: $.data + request: + nativeCasing: camel + create_global_incident_handle: + config: + requestBodyTranslate: + algorithm: naive + operation: + $ref: '#/paths/~1api~1v2~1incidents~1config~1global~1incident-handles/post' + response: + mediaType: application/json + openAPIDocKey: '201' + request: + nativeCasing: camel + update_global_incident_handle: + config: + requestBodyTranslate: + algorithm: naive + operation: + $ref: '#/paths/~1api~1v2~1incidents~1config~1global~1incident-handles/put' + response: + mediaType: application/json + openAPIDocKey: '200' + request: + nativeCasing: camel + sqlVerbs: + select: + - $ref: '#/components/x-stackQL-resources/incident_global_incident_handles/methods/list_global_incident_handles' + insert: + - $ref: '#/components/x-stackQL-resources/incident_global_incident_handles/methods/create_global_incident_handle' + update: [] + delete: + - $ref: '#/components/x-stackQL-resources/incident_global_incident_handles/methods/delete_global_incident_handle' + replace: + - $ref: '#/components/x-stackQL-resources/incident_global_incident_handles/methods/update_global_incident_handle' + incident_global_settings: + id: datadog.service_management.incident_global_settings + name: incident_global_settings + title: Incident Global Settings + methods: + get_global_incident_settings: + operation: + $ref: '#/paths/~1api~1v2~1incidents~1config~1global~1settings/get' + response: + mediaType: application/json + openAPIDocKey: '200' + objectKey: $.data + request: + nativeCasing: camel + update_global_incident_settings: + config: + requestBodyTranslate: + algorithm: naive + operation: + $ref: '#/paths/~1api~1v2~1incidents~1config~1global~1settings/patch' + response: + mediaType: application/json + openAPIDocKey: '200' + request: + nativeCasing: camel + sqlVerbs: + select: + - $ref: '#/components/x-stackQL-resources/incident_global_settings/methods/get_global_incident_settings' + insert: [] + update: + - $ref: '#/components/x-stackQL-resources/incident_global_settings/methods/update_global_incident_settings' + delete: [] + replace: [] + incident_google_chat_configurations: + id: datadog.service_management.incident_google_chat_configurations + name: incident_google_chat_configurations + title: Incident Google Chat Configurations + methods: + create_incident_google_chat_configuration: + config: + requestBodyTranslate: + algorithm: naive + operation: + $ref: '#/paths/~1api~1v2~1incidents~1config~1google-chat-configurations/post' + response: + mediaType: application/json + openAPIDocKey: '201' + request: + nativeCasing: camel + update_incident_google_chat_configuration: + config: + requestBodyTranslate: + algorithm: naive + operation: + $ref: '#/paths/~1api~1v2~1incidents~1config~1google-chat-configurations~1{id}/patch' + response: + mediaType: application/json + openAPIDocKey: '200' + request: + nativeCasing: camel + sqlVerbs: + select: [] + insert: + - $ref: '#/components/x-stackQL-resources/incident_google_chat_configurations/methods/create_incident_google_chat_configuration' + update: + - $ref: '#/components/x-stackQL-resources/incident_google_chat_configurations/methods/update_incident_google_chat_configuration' + delete: [] + replace: [] + incident_google_meet_configurations: + id: datadog.service_management.incident_google_meet_configurations + name: incident_google_meet_configurations + title: Incident Google Meet Configurations + methods: + create_incident_google_meet_configuration: + config: + requestBodyTranslate: + algorithm: naive + operation: + $ref: '#/paths/~1api~1v2~1incidents~1config~1google-meet-configurations/post' + response: + mediaType: application/json + openAPIDocKey: '201' + request: + nativeCasing: camel + update_incident_google_meet_configuration: + config: + requestBodyTranslate: + algorithm: naive + operation: + $ref: '#/paths/~1api~1v2~1incidents~1config~1google-meet-configurations~1{id}/patch' + response: + mediaType: application/json + openAPIDocKey: '200' + request: + nativeCasing: camel + sqlVerbs: + select: [] + insert: + - $ref: '#/components/x-stackQL-resources/incident_google_meet_configurations/methods/create_incident_google_meet_configuration' + update: + - $ref: '#/components/x-stackQL-resources/incident_google_meet_configurations/methods/update_incident_google_meet_configuration' + delete: [] + replace: [] + incident_impact_fields: + id: datadog.service_management.incident_impact_fields + name: incident_impact_fields + title: Incident Impact Fields + methods: + list_incident_impact_fields: + operation: + $ref: '#/paths/~1api~1v2~1incidents~1config~1impact-fields/get' + response: + mediaType: application/json + openAPIDocKey: '200' + objectKey: $.data + request: + nativeCasing: camel + create_incident_impact_field: + config: + requestBodyTranslate: + algorithm: naive + operation: + $ref: '#/paths/~1api~1v2~1incidents~1config~1impact-fields/post' + response: + mediaType: application/json + openAPIDocKey: '201' + request: + nativeCasing: camel + delete_incident_impact_field: + operation: + $ref: '#/paths/~1api~1v2~1incidents~1config~1impact-fields~1{field_id}/delete' + response: + mediaType: application/json + openAPIDocKey: '204' + request: + nativeCasing: camel + update_incident_impact_field: + config: + requestBodyTranslate: + algorithm: naive + operation: + $ref: '#/paths/~1api~1v2~1incidents~1config~1impact-fields~1{field_id}/put' + response: + mediaType: application/json + openAPIDocKey: '200' + request: + nativeCasing: camel + sqlVerbs: + select: + - $ref: '#/components/x-stackQL-resources/incident_impact_fields/methods/list_incident_impact_fields' + insert: + - $ref: '#/components/x-stackQL-resources/incident_impact_fields/methods/create_incident_impact_field' + update: [] + delete: + - $ref: '#/components/x-stackQL-resources/incident_impact_fields/methods/delete_incident_impact_field' + replace: + - $ref: '#/components/x-stackQL-resources/incident_impact_fields/methods/update_incident_impact_field' + incident_notification_rules: + id: datadog.service_management.incident_notification_rules + name: incident_notification_rules + title: Incident Notification Rules + methods: + list_incident_notification_rules: + operation: + $ref: '#/paths/~1api~1v2~1incidents~1config~1notification-rules/get' + response: + mediaType: application/json + openAPIDocKey: '200' + objectKey: $.data + request: + nativeCasing: camel + create_incident_notification_rule: + config: + requestBodyTranslate: + algorithm: naive + operation: + $ref: '#/paths/~1api~1v2~1incidents~1config~1notification-rules/post' + response: + mediaType: application/json + openAPIDocKey: '201' + request: + nativeCasing: camel + delete_incident_notification_rule: + operation: + $ref: '#/paths/~1api~1v2~1incidents~1config~1notification-rules~1{id}/delete' + response: + mediaType: application/json + openAPIDocKey: '204' + request: + nativeCasing: camel + get_incident_notification_rule: + operation: + $ref: '#/paths/~1api~1v2~1incidents~1config~1notification-rules~1{id}/get' + response: + mediaType: application/json + openAPIDocKey: '200' + objectKey: $.data + request: + nativeCasing: camel + update_incident_notification_rule: + config: + requestBodyTranslate: + algorithm: naive + operation: + $ref: '#/paths/~1api~1v2~1incidents~1config~1notification-rules~1{id}/put' + response: + mediaType: application/json + openAPIDocKey: '200' + request: + nativeCasing: camel + sqlVerbs: + select: + - $ref: '#/components/x-stackQL-resources/incident_notification_rules/methods/get_incident_notification_rule' + - $ref: '#/components/x-stackQL-resources/incident_notification_rules/methods/list_incident_notification_rules' + insert: + - $ref: '#/components/x-stackQL-resources/incident_notification_rules/methods/create_incident_notification_rule' + update: [] + delete: + - $ref: '#/components/x-stackQL-resources/incident_notification_rules/methods/delete_incident_notification_rule' + replace: + - $ref: '#/components/x-stackQL-resources/incident_notification_rules/methods/update_incident_notification_rule' + incident_notification_templates: + id: datadog.service_management.incident_notification_templates + name: incident_notification_templates + title: Incident Notification Templates + methods: + list_incident_notification_templates: + operation: + $ref: '#/paths/~1api~1v2~1incidents~1config~1notification-templates/get' + response: + mediaType: application/json + openAPIDocKey: '200' + objectKey: $.data + request: + nativeCasing: camel + create_incident_notification_template: + config: + requestBodyTranslate: + algorithm: naive + operation: + $ref: '#/paths/~1api~1v2~1incidents~1config~1notification-templates/post' + response: + mediaType: application/json + openAPIDocKey: '201' + request: + nativeCasing: camel + delete_incident_notification_template: + operation: + $ref: '#/paths/~1api~1v2~1incidents~1config~1notification-templates~1{id}/delete' + response: + mediaType: application/json + openAPIDocKey: '204' + request: + nativeCasing: camel + get_incident_notification_template: + operation: + $ref: '#/paths/~1api~1v2~1incidents~1config~1notification-templates~1{id}/get' + response: + mediaType: application/json + openAPIDocKey: '200' + objectKey: $.data + request: + nativeCasing: camel + update_incident_notification_template: + config: + requestBodyTranslate: + algorithm: naive + operation: + $ref: '#/paths/~1api~1v2~1incidents~1config~1notification-templates~1{id}/patch' + response: + mediaType: application/json + openAPIDocKey: '200' + request: + nativeCasing: camel + sqlVerbs: + select: + - $ref: '#/components/x-stackQL-resources/incident_notification_templates/methods/get_incident_notification_template' + - $ref: '#/components/x-stackQL-resources/incident_notification_templates/methods/list_incident_notification_templates' + insert: + - $ref: '#/components/x-stackQL-resources/incident_notification_templates/methods/create_incident_notification_template' + update: + - $ref: '#/components/x-stackQL-resources/incident_notification_templates/methods/update_incident_notification_template' + delete: + - $ref: '#/components/x-stackQL-resources/incident_notification_templates/methods/delete_incident_notification_template' + replace: [] + incident_postmortem_templates: + id: datadog.service_management.incident_postmortem_templates + name: incident_postmortem_templates + title: Incident Postmortem Templates + methods: + list_incident_postmortem_templates: + operation: + $ref: '#/paths/~1api~1v2~1incidents~1config~1postmortem-templates/get' + response: + mediaType: application/json + openAPIDocKey: '200' + objectKey: $.data + request: + nativeCasing: camel + create_incident_postmortem_template: + config: + requestBodyTranslate: + algorithm: naive + operation: + $ref: '#/paths/~1api~1v2~1incidents~1config~1postmortem-templates/post' + response: + mediaType: application/json + openAPIDocKey: '201' + request: + nativeCasing: camel + delete_incident_postmortem_template: + operation: + $ref: '#/paths/~1api~1v2~1incidents~1config~1postmortem-templates~1{template_id}/delete' + response: + mediaType: application/json + openAPIDocKey: '204' + request: + nativeCasing: camel + get_incident_postmortem_template: + operation: + $ref: '#/paths/~1api~1v2~1incidents~1config~1postmortem-templates~1{template_id}/get' + response: + mediaType: application/json + openAPIDocKey: '200' + objectKey: $.data + request: + nativeCasing: camel + update_incident_postmortem_template: + config: + requestBodyTranslate: + algorithm: naive + operation: + $ref: '#/paths/~1api~1v2~1incidents~1config~1postmortem-templates~1{template_id}/patch' + response: + mediaType: application/json + openAPIDocKey: '200' + request: + nativeCasing: camel + sqlVerbs: + select: + - $ref: '#/components/x-stackQL-resources/incident_postmortem_templates/methods/get_incident_postmortem_template' + - $ref: '#/components/x-stackQL-resources/incident_postmortem_templates/methods/list_incident_postmortem_templates' + insert: + - $ref: '#/components/x-stackQL-resources/incident_postmortem_templates/methods/create_incident_postmortem_template' + update: + - $ref: '#/components/x-stackQL-resources/incident_postmortem_templates/methods/update_incident_postmortem_template' + delete: + - $ref: '#/components/x-stackQL-resources/incident_postmortem_templates/methods/delete_incident_postmortem_template' + replace: [] + incident_rules: + id: datadog.service_management.incident_rules + name: incident_rules + title: Incident Rules + methods: + list_incident_rules: + operation: + $ref: '#/paths/~1api~1v2~1incidents~1config~1rules/get' + response: + mediaType: application/json + openAPIDocKey: '200' + objectKey: $.data + request: + nativeCasing: camel + create_incident_rule: + config: + requestBodyTranslate: + algorithm: naive + operation: + $ref: '#/paths/~1api~1v2~1incidents~1config~1rules/post' + response: + mediaType: application/json + openAPIDocKey: '201' + request: + nativeCasing: camel + delete_incident_rule: + operation: + $ref: '#/paths/~1api~1v2~1incidents~1config~1rules~1{rule_id}/delete' + response: + mediaType: application/json + openAPIDocKey: '204' + request: + nativeCasing: camel + get_incident_rule: + operation: + $ref: '#/paths/~1api~1v2~1incidents~1config~1rules~1{rule_id}/get' + response: + mediaType: application/json + openAPIDocKey: '200' + objectKey: $.data + request: + nativeCasing: camel + update_incident_rule: + config: + requestBodyTranslate: + algorithm: naive + operation: + $ref: '#/paths/~1api~1v2~1incidents~1config~1rules~1{rule_id}/patch' + response: + mediaType: application/json + openAPIDocKey: '200' + request: + nativeCasing: camel + sqlVerbs: + select: + - $ref: '#/components/x-stackQL-resources/incident_rules/methods/get_incident_rule' + - $ref: '#/components/x-stackQL-resources/incident_rules/methods/list_incident_rules' + insert: + - $ref: '#/components/x-stackQL-resources/incident_rules/methods/create_incident_rule' + update: + - $ref: '#/components/x-stackQL-resources/incident_rules/methods/update_incident_rule' + delete: + - $ref: '#/components/x-stackQL-resources/incident_rules/methods/delete_incident_rule' + replace: [] + incident_types: + id: datadog.service_management.incident_types + name: incident_types + title: Incident Types + methods: + list_incident_types: + operation: + $ref: '#/paths/~1api~1v2~1incidents~1config~1types/get' + response: + mediaType: application/json + openAPIDocKey: '200' + objectKey: $.data + request: + nativeCasing: camel + create_incident_type: + config: + requestBodyTranslate: + algorithm: naive + operation: + $ref: '#/paths/~1api~1v2~1incidents~1config~1types/post' + response: + mediaType: application/json + openAPIDocKey: '201' + request: + nativeCasing: camel + delete_incident_type: + operation: + $ref: '#/paths/~1api~1v2~1incidents~1config~1types~1{incident_type_id}/delete' + response: + mediaType: application/json + openAPIDocKey: '204' + request: + nativeCasing: camel + get_incident_type: + operation: + $ref: '#/paths/~1api~1v2~1incidents~1config~1types~1{incident_type_id}/get' + response: + mediaType: application/json + openAPIDocKey: '200' + objectKey: $.data + request: + nativeCasing: camel + update_incident_type: + config: + requestBodyTranslate: + algorithm: naive + operation: + $ref: '#/paths/~1api~1v2~1incidents~1config~1types~1{incident_type_id}/patch' + response: + mediaType: application/json + openAPIDocKey: '200' + request: + nativeCasing: camel + sqlVerbs: + select: + - $ref: '#/components/x-stackQL-resources/incident_types/methods/get_incident_type' + - $ref: '#/components/x-stackQL-resources/incident_types/methods/list_incident_types' + insert: + - $ref: '#/components/x-stackQL-resources/incident_types/methods/create_incident_type' + update: + - $ref: '#/components/x-stackQL-resources/incident_types/methods/update_incident_type' + delete: + - $ref: '#/components/x-stackQL-resources/incident_types/methods/delete_incident_type' + replace: [] + incident_type_org_settings: + id: datadog.service_management.incident_type_org_settings + name: incident_type_org_settings + title: Incident Type Org Settings + methods: + list_org_settings: + operation: + $ref: '#/paths/~1api~1v2~1incidents~1config~1types~1org-settings/get' + response: + mediaType: application/json + openAPIDocKey: '200' + objectKey: $.data + request: + nativeCasing: camel + config: + queryParamPushdown: + top: + paramName: page[size] + skip: + paramName: page[offset] + get_org_settings_by_incident_type: + operation: + $ref: '#/paths/~1api~1v2~1incidents~1config~1types~1{incident_type_id}~1org-settings/get' + response: + mediaType: application/json + openAPIDocKey: '200' + objectKey: $.data + request: + nativeCasing: camel + sqlVerbs: + select: + - $ref: '#/components/x-stackQL-resources/incident_type_org_settings/methods/get_org_settings_by_incident_type' + - $ref: '#/components/x-stackQL-resources/incident_type_org_settings/methods/list_org_settings' + insert: [] + update: [] + delete: [] + replace: [] + incident_user_defined_fields: + id: datadog.service_management.incident_user_defined_fields + name: incident_user_defined_fields + title: Incident User Defined Fields + methods: + list_incident_user_defined_fields: + operation: + $ref: '#/paths/~1api~1v2~1incidents~1config~1user-defined-fields/get' + response: + mediaType: application/json + openAPIDocKey: '200' + objectKey: $.data + request: + nativeCasing: camel + config: + queryParamPushdown: + top: + paramName: page[size] + maxValue: 1000 + create_incident_user_defined_field: + config: + requestBodyTranslate: + algorithm: naive + operation: + $ref: '#/paths/~1api~1v2~1incidents~1config~1user-defined-fields/post' + response: + mediaType: application/json + openAPIDocKey: '201' + request: + nativeCasing: camel + delete_incident_user_defined_field: + operation: + $ref: '#/paths/~1api~1v2~1incidents~1config~1user-defined-fields~1{field_id}/delete' + response: + mediaType: application/json + openAPIDocKey: '204' + request: + nativeCasing: camel + get_incident_user_defined_field: + operation: + $ref: '#/paths/~1api~1v2~1incidents~1config~1user-defined-fields~1{field_id}/get' + response: + mediaType: application/json + openAPIDocKey: '200' + objectKey: $.data + request: + nativeCasing: camel + update_incident_user_defined_field: + config: + requestBodyTranslate: + algorithm: naive + operation: + $ref: '#/paths/~1api~1v2~1incidents~1config~1user-defined-fields~1{field_id}/patch' + response: + mediaType: application/json + openAPIDocKey: '200' + request: + nativeCasing: camel + sqlVerbs: + select: + - $ref: '#/components/x-stackQL-resources/incident_user_defined_fields/methods/get_incident_user_defined_field' + - $ref: '#/components/x-stackQL-resources/incident_user_defined_fields/methods/list_incident_user_defined_fields' + insert: + - $ref: '#/components/x-stackQL-resources/incident_user_defined_fields/methods/create_incident_user_defined_field' + update: + - $ref: '#/components/x-stackQL-resources/incident_user_defined_fields/methods/update_incident_user_defined_field' + delete: + - $ref: '#/components/x-stackQL-resources/incident_user_defined_fields/methods/delete_incident_user_defined_field' + replace: [] + incident_user_defined_roles: + id: datadog.service_management.incident_user_defined_roles + name: incident_user_defined_roles + title: Incident User Defined Roles + methods: + list_incident_user_defined_roles: + operation: + $ref: '#/paths/~1api~1v2~1incidents~1config~1user-defined-roles/get' + response: + mediaType: application/json + openAPIDocKey: '200' + objectKey: $.data + request: + nativeCasing: camel + create_incident_user_defined_role: + config: + requestBodyTranslate: + algorithm: naive + operation: + $ref: '#/paths/~1api~1v2~1incidents~1config~1user-defined-roles/post' + response: + mediaType: application/json + openAPIDocKey: '201' + request: + nativeCasing: camel + delete_incident_user_defined_role: + operation: + $ref: '#/paths/~1api~1v2~1incidents~1config~1user-defined-roles~1{role_id}/delete' + response: + mediaType: application/json + openAPIDocKey: '204' + request: + nativeCasing: camel + get_incident_user_defined_role: + operation: + $ref: '#/paths/~1api~1v2~1incidents~1config~1user-defined-roles~1{role_id}/get' + response: + mediaType: application/json + openAPIDocKey: '200' + objectKey: $.data + request: + nativeCasing: camel + update_incident_user_defined_role: + config: + requestBodyTranslate: + algorithm: naive + operation: + $ref: '#/paths/~1api~1v2~1incidents~1config~1user-defined-roles~1{role_id}/patch' + response: + mediaType: application/json + openAPIDocKey: '200' + request: + nativeCasing: camel + sqlVerbs: + select: + - $ref: '#/components/x-stackQL-resources/incident_user_defined_roles/methods/get_incident_user_defined_role' + - $ref: '#/components/x-stackQL-resources/incident_user_defined_roles/methods/list_incident_user_defined_roles' + insert: + - $ref: '#/components/x-stackQL-resources/incident_user_defined_roles/methods/create_incident_user_defined_role' + update: + - $ref: '#/components/x-stackQL-resources/incident_user_defined_roles/methods/update_incident_user_defined_role' + delete: + - $ref: '#/components/x-stackQL-resources/incident_user_defined_roles/methods/delete_incident_user_defined_role' + replace: [] + incident_ai_postmortems: + id: datadog.service_management.incident_ai_postmortems + name: incident_ai_postmortems + title: Incident Ai Postmortems + methods: + get_incident_aipostmortem: operation: - $ref: '#/paths/~1api~1v2~1cases/get' + $ref: '#/paths/~1api~1v2~1incidents~1{incident_id}~1ai~1postmortem/post' response: mediaType: application/json openAPIDocKey: '200' - create_case: + request: + nativeCasing: camel + sqlVerbs: + select: [] + insert: + - $ref: '#/components/x-stackQL-resources/incident_ai_postmortems/methods/get_incident_aipostmortem' + update: [] + delete: [] + replace: [] + incident_attachments: + id: datadog.service_management.incident_attachments + name: incident_attachments + title: Incident Attachments + methods: + list_incident_attachments: operation: - $ref: '#/paths/~1api~1v2~1cases/post' + $ref: '#/paths/~1api~1v2~1incidents~1{incident_id}~1attachments/get' + response: + mediaType: application/json + openAPIDocKey: '200' + objectKey: $.data + request: + nativeCasing: camel + create_incident_attachment: + config: + requestBodyTranslate: + algorithm: naive + operation: + $ref: '#/paths/~1api~1v2~1incidents~1{incident_id}~1attachments/post' response: mediaType: application/json openAPIDocKey: '201' - get_case: + request: + nativeCasing: camel + delete_incident_attachment: + operation: + $ref: '#/paths/~1api~1v2~1incidents~1{incident_id}~1attachments~1{attachment_id}/delete' + response: + mediaType: application/json + openAPIDocKey: '204' + request: + nativeCasing: camel + update_incident_attachment: + config: + requestBodyTranslate: + algorithm: naive + operation: + $ref: '#/paths/~1api~1v2~1incidents~1{incident_id}~1attachments~1{attachment_id}/patch' + response: + mediaType: application/json + openAPIDocKey: '200' + request: + nativeCasing: camel + sqlVerbs: + select: + - $ref: '#/components/x-stackQL-resources/incident_attachments/methods/list_incident_attachments' + insert: + - $ref: '#/components/x-stackQL-resources/incident_attachments/methods/create_incident_attachment' + update: + - $ref: '#/components/x-stackQL-resources/incident_attachments/methods/update_incident_attachment' + delete: + - $ref: '#/components/x-stackQL-resources/incident_attachments/methods/delete_incident_attachment' + replace: [] + incident_attachment_postmortems: + id: datadog.service_management.incident_attachment_postmortems + name: incident_attachment_postmortems + title: Incident Attachment Postmortems + methods: + create_incident_postmortem_attachment: + config: + requestBodyTranslate: + algorithm: naive + operation: + $ref: '#/paths/~1api~1v2~1incidents~1{incident_id}~1attachments~1postmortems/post' + response: + mediaType: application/json + openAPIDocKey: '201' + request: + nativeCasing: camel + sqlVerbs: + select: [] + insert: + - $ref: '#/components/x-stackQL-resources/incident_attachment_postmortems/methods/create_incident_postmortem_attachment' + update: [] + delete: [] + replace: [] + incident_case_pages: + id: datadog.service_management.incident_case_pages + name: incident_case_pages + title: Incident Case Pages + methods: + create_page_from_incident: + config: + requestBodyTranslate: + algorithm: naive + operation: + $ref: '#/paths/~1api~1v2~1incidents~1{incident_id}~1cases~1page/post' + response: + mediaType: application/json + openAPIDocKey: '200' + request: + nativeCasing: camel + sqlVerbs: + select: [] + insert: + - $ref: '#/components/x-stackQL-resources/incident_case_pages/methods/create_page_from_incident' + update: [] + delete: [] + replace: [] + incident_configurations: + id: datadog.service_management.incident_configurations + name: incident_configurations + title: Incident Configurations + methods: + update_incident_configuration: + config: + requestBodyTranslate: + algorithm: naive + operation: + $ref: '#/paths/~1api~1v2~1incidents~1{incident_id}~1configurations/patch' + response: + mediaType: application/json + openAPIDocKey: '200' + request: + nativeCasing: camel + create_incident_configuration: + config: + requestBodyTranslate: + algorithm: naive + operation: + $ref: '#/paths/~1api~1v2~1incidents~1{incident_id}~1configurations/post' + response: + mediaType: application/json + openAPIDocKey: '200' + request: + nativeCasing: camel + sqlVerbs: + select: [] + insert: + - $ref: '#/components/x-stackQL-resources/incident_configurations/methods/create_incident_configuration' + update: + - $ref: '#/components/x-stackQL-resources/incident_configurations/methods/update_incident_configuration' + delete: [] + replace: [] + incident_impacts: + id: datadog.service_management.incident_impacts + name: incident_impacts + title: Incident Impacts + methods: + list_incident_impacts: + operation: + $ref: '#/paths/~1api~1v2~1incidents~1{incident_id}~1impacts/get' + response: + mediaType: application/json + openAPIDocKey: '200' + objectKey: $.data + request: + nativeCasing: camel + create_incident_impact: + config: + requestBodyTranslate: + algorithm: naive + operation: + $ref: '#/paths/~1api~1v2~1incidents~1{incident_id}~1impacts/post' + response: + mediaType: application/json + openAPIDocKey: '201' + request: + nativeCasing: camel + delete_incident_impact: + operation: + $ref: '#/paths/~1api~1v2~1incidents~1{incident_id}~1impacts~1{impact_id}/delete' + response: + mediaType: application/json + openAPIDocKey: '204' + request: + nativeCasing: camel + patch_incident_impact: + config: + requestBodyTranslate: + algorithm: naive + operation: + $ref: '#/paths/~1api~1v2~1incidents~1{incident_id}~1impacts~1{impact_id}/patch' + response: + mediaType: application/json + openAPIDocKey: '200' + request: + nativeCasing: camel + sqlVerbs: + select: + - $ref: '#/components/x-stackQL-resources/incident_impacts/methods/list_incident_impacts' + insert: + - $ref: '#/components/x-stackQL-resources/incident_impacts/methods/create_incident_impact' + update: + - $ref: '#/components/x-stackQL-resources/incident_impacts/methods/patch_incident_impact' + delete: + - $ref: '#/components/x-stackQL-resources/incident_impacts/methods/delete_incident_impact' + replace: [] + incident_pages: + id: datadog.service_management.incident_pages + name: incident_pages + title: Incident Pages + methods: + create_on_call_page_from_incident: + config: + requestBodyTranslate: + algorithm: naive + operation: + $ref: '#/paths/~1api~1v2~1incidents~1{incident_id}~1page/post' + response: + mediaType: application/json + openAPIDocKey: '200' + request: + nativeCasing: camel + link_page_to_incident: + config: + requestBodyTranslate: + algorithm: naive + operation: + $ref: '#/paths/~1api~1v2~1incidents~1{incident_id}~1pages~1link/post' + response: + mediaType: application/json + openAPIDocKey: '201' + request: + nativeCasing: camel + sqlVerbs: + select: [] + insert: + - $ref: '#/components/x-stackQL-resources/incident_pages/methods/create_on_call_page_from_incident' + update: [] + delete: [] + replace: [] + incident_integrations: + id: datadog.service_management.incident_integrations + name: incident_integrations + title: Incident Integrations + methods: + list_incident_integrations: + operation: + $ref: '#/paths/~1api~1v2~1incidents~1{incident_id}~1relationships~1integrations/get' + response: + mediaType: application/json + openAPIDocKey: '200' + objectKey: $.data + request: + nativeCasing: camel + create_incident_integration: + config: + requestBodyTranslate: + algorithm: naive + operation: + $ref: '#/paths/~1api~1v2~1incidents~1{incident_id}~1relationships~1integrations/post' + response: + mediaType: application/json + openAPIDocKey: '201' + request: + nativeCasing: camel + delete_incident_integration: + operation: + $ref: '#/paths/~1api~1v2~1incidents~1{incident_id}~1relationships~1integrations~1{integration_metadata_id}/delete' + response: + mediaType: application/json + openAPIDocKey: '204' + request: + nativeCasing: camel + get_incident_integration: + operation: + $ref: '#/paths/~1api~1v2~1incidents~1{incident_id}~1relationships~1integrations~1{integration_metadata_id}/get' + response: + mediaType: application/json + openAPIDocKey: '200' + objectKey: $.data + request: + nativeCasing: camel + update_incident_integration: + config: + requestBodyTranslate: + algorithm: naive + operation: + $ref: '#/paths/~1api~1v2~1incidents~1{incident_id}~1relationships~1integrations~1{integration_metadata_id}/patch' + response: + mediaType: application/json + openAPIDocKey: '200' + request: + nativeCasing: camel + sqlVerbs: + select: + - $ref: '#/components/x-stackQL-resources/incident_integrations/methods/get_incident_integration' + - $ref: '#/components/x-stackQL-resources/incident_integrations/methods/list_incident_integrations' + insert: + - $ref: '#/components/x-stackQL-resources/incident_integrations/methods/create_incident_integration' + update: + - $ref: '#/components/x-stackQL-resources/incident_integrations/methods/update_incident_integration' + delete: + - $ref: '#/components/x-stackQL-resources/incident_integrations/methods/delete_incident_integration' + replace: [] + incident_todos: + id: datadog.service_management.incident_todos + name: incident_todos + title: Incident Todos + methods: + list_incident_todos: + operation: + $ref: '#/paths/~1api~1v2~1incidents~1{incident_id}~1relationships~1todos/get' + response: + mediaType: application/json + openAPIDocKey: '200' + objectKey: $.data + request: + nativeCasing: camel + create_incident_todo: + config: + requestBodyTranslate: + algorithm: naive + operation: + $ref: '#/paths/~1api~1v2~1incidents~1{incident_id}~1relationships~1todos/post' + response: + mediaType: application/json + openAPIDocKey: '201' + request: + nativeCasing: camel + delete_incident_todo: + operation: + $ref: '#/paths/~1api~1v2~1incidents~1{incident_id}~1relationships~1todos~1{todo_id}/delete' + response: + mediaType: application/json + openAPIDocKey: '204' + request: + nativeCasing: camel + get_incident_todo: + operation: + $ref: '#/paths/~1api~1v2~1incidents~1{incident_id}~1relationships~1todos~1{todo_id}/get' + response: + mediaType: application/json + openAPIDocKey: '200' + objectKey: $.data + request: + nativeCasing: camel + update_incident_todo: + config: + requestBodyTranslate: + algorithm: naive + operation: + $ref: '#/paths/~1api~1v2~1incidents~1{incident_id}~1relationships~1todos~1{todo_id}/patch' + response: + mediaType: application/json + openAPIDocKey: '200' + request: + nativeCasing: camel + sqlVerbs: + select: + - $ref: '#/components/x-stackQL-resources/incident_todos/methods/get_incident_todo' + - $ref: '#/components/x-stackQL-resources/incident_todos/methods/list_incident_todos' + insert: + - $ref: '#/components/x-stackQL-resources/incident_todos/methods/create_incident_todo' + update: + - $ref: '#/components/x-stackQL-resources/incident_todos/methods/update_incident_todo' + delete: + - $ref: '#/components/x-stackQL-resources/incident_todos/methods/delete_incident_todo' + replace: [] + incident_responders: + id: datadog.service_management.incident_responders + name: incident_responders + title: Incident Responders + methods: + list_incident_responders: + operation: + $ref: '#/paths/~1api~1v2~1incidents~1{incident_id}~1responders/get' + response: + mediaType: application/json + openAPIDocKey: '200' + objectKey: $.data + request: + nativeCasing: camel + create_incident_responder: + config: + requestBodyTranslate: + algorithm: naive + operation: + $ref: '#/paths/~1api~1v2~1incidents~1{incident_id}~1responders/post' + response: + mediaType: application/json + openAPIDocKey: '201' + request: + nativeCasing: camel + delete_incident_responder: + operation: + $ref: '#/paths/~1api~1v2~1incidents~1{incident_id}~1responders~1{responder_id}/delete' + response: + mediaType: application/json + openAPIDocKey: '204' + request: + nativeCasing: camel + get_incident_responder: + operation: + $ref: '#/paths/~1api~1v2~1incidents~1{incident_id}~1responders~1{responder_id}/get' + response: + mediaType: application/json + openAPIDocKey: '200' + objectKey: $.data + request: + nativeCasing: camel + sqlVerbs: + select: + - $ref: '#/components/x-stackQL-resources/incident_responders/methods/get_incident_responder' + - $ref: '#/components/x-stackQL-resources/incident_responders/methods/list_incident_responders' + insert: + - $ref: '#/components/x-stackQL-resources/incident_responders/methods/create_incident_responder' + update: [] + delete: + - $ref: '#/components/x-stackQL-resources/incident_responders/methods/delete_incident_responder' + replace: [] + incident_servicenow_records: + id: datadog.service_management.incident_servicenow_records + name: incident_servicenow_records + title: Incident Servicenow Records + methods: + create_incident_service_now_record: + config: + requestBodyTranslate: + algorithm: naive + operation: + $ref: '#/paths/~1api~1v2~1incidents~1{incident_id}~1servicenow-records/post' + response: + mediaType: application/json + openAPIDocKey: '201' + request: + nativeCasing: camel + sqlVerbs: + select: [] + insert: + - $ref: '#/components/x-stackQL-resources/incident_servicenow_records/methods/create_incident_service_now_record' + update: [] + delete: [] + replace: [] + incident_timestamp_overrides: + id: datadog.service_management.incident_timestamp_overrides + name: incident_timestamp_overrides + title: Incident Timestamp Overrides + methods: + list_timestamp_overrides: + operation: + $ref: '#/paths/~1api~1v2~1incidents~1{incident_id}~1timestamp-overrides/get' + response: + mediaType: application/json + openAPIDocKey: '200' + objectKey: $.data + request: + nativeCasing: camel + create_timestamp_override: + config: + requestBodyTranslate: + algorithm: naive + operation: + $ref: '#/paths/~1api~1v2~1incidents~1{incident_id}~1timestamp-overrides/post' + response: + mediaType: application/json + openAPIDocKey: '201' + request: + nativeCasing: camel + delete_timestamp_override: + operation: + $ref: '#/paths/~1api~1v2~1incidents~1{incident_id}~1timestamp-overrides~1{id}/delete' + response: + mediaType: application/json + openAPIDocKey: '204' + request: + nativeCasing: camel + update_timestamp_override: + config: + requestBodyTranslate: + algorithm: naive + operation: + $ref: '#/paths/~1api~1v2~1incidents~1{incident_id}~1timestamp-overrides~1{id}/patch' + response: + mediaType: application/json + openAPIDocKey: '200' + request: + nativeCasing: camel + sqlVerbs: + select: + - $ref: '#/components/x-stackQL-resources/incident_timestamp_overrides/methods/list_timestamp_overrides' + insert: + - $ref: '#/components/x-stackQL-resources/incident_timestamp_overrides/methods/create_timestamp_override' + update: + - $ref: '#/components/x-stackQL-resources/incident_timestamp_overrides/methods/update_timestamp_override' + delete: + - $ref: '#/components/x-stackQL-resources/incident_timestamp_overrides/methods/delete_timestamp_override' + replace: [] + maintenance_windows: + id: datadog.service_management.maintenance_windows + name: maintenance_windows + title: Maintenance Windows + methods: + list_maintenance_windows: operation: - $ref: '#/paths/~1api~1v2~1cases~1{case_id}/get' + $ref: '#/paths/~1api~1v2~1maintenance_windows/get' response: mediaType: application/json openAPIDocKey: '200' objectKey: $.data - archive_case: + request: + nativeCasing: camel + create_maintenance_window: + config: + requestBodyTranslate: + algorithm: naive operation: - $ref: '#/paths/~1api~1v2~1cases~1{case_id}~1archive/post' + $ref: '#/paths/~1api~1v2~1maintenance_windows/post' response: mediaType: application/json - openAPIDocKey: '200' - assign_case: + openAPIDocKey: '201' + request: + nativeCasing: camel + delete_maintenance_window: operation: - $ref: '#/paths/~1api~1v2~1cases~1{case_id}~1assign/post' + $ref: '#/paths/~1api~1v2~1maintenance_windows~1{maintenance_window_id}/delete' response: mediaType: application/json - openAPIDocKey: '200' - update_attributes: + openAPIDocKey: '204' + request: + nativeCasing: camel + update_maintenance_window: + config: + requestBodyTranslate: + algorithm: naive operation: - $ref: '#/paths/~1api~1v2~1cases~1{case_id}~1attributes/post' + $ref: '#/paths/~1api~1v2~1maintenance_windows~1{maintenance_window_id}/put' response: mediaType: application/json openAPIDocKey: '200' - update_priority: + request: + nativeCasing: camel + sqlVerbs: + select: + - $ref: '#/components/x-stackQL-resources/maintenance_windows/methods/list_maintenance_windows' + insert: + - $ref: '#/components/x-stackQL-resources/maintenance_windows/methods/create_maintenance_window' + update: [] + delete: + - $ref: '#/components/x-stackQL-resources/maintenance_windows/methods/delete_maintenance_window' + replace: + - $ref: '#/components/x-stackQL-resources/maintenance_windows/methods/update_maintenance_window' + on_call_escalation_policies: + id: datadog.service_management.on_call_escalation_policies + name: on_call_escalation_policies + title: On Call Escalation Policies + methods: + create_on_call_escalation_policy: + config: + requestBodyTranslate: + algorithm: naive operation: - $ref: '#/paths/~1api~1v2~1cases~1{case_id}~1priority/post' + $ref: '#/paths/~1api~1v2~1on-call~1escalation-policies/post' response: mediaType: application/json - openAPIDocKey: '200' - update_status: + openAPIDocKey: '201' + request: + nativeCasing: camel + delete_on_call_escalation_policy: operation: - $ref: '#/paths/~1api~1v2~1cases~1{case_id}~1status/post' + $ref: '#/paths/~1api~1v2~1on-call~1escalation-policies~1{policy_id}/delete' response: mediaType: application/json - openAPIDocKey: '200' - unarchive_case: + openAPIDocKey: '204' + request: + nativeCasing: camel + get_on_call_escalation_policy: operation: - $ref: '#/paths/~1api~1v2~1cases~1{case_id}~1unarchive/post' + $ref: '#/paths/~1api~1v2~1on-call~1escalation-policies~1{policy_id}/get' response: mediaType: application/json openAPIDocKey: '200' - unassign_case: + objectKey: $.data + request: + nativeCasing: camel + update_on_call_escalation_policy: + config: + requestBodyTranslate: + algorithm: naive operation: - $ref: '#/paths/~1api~1v2~1cases~1{case_id}~1unassign/post' + $ref: '#/paths/~1api~1v2~1on-call~1escalation-policies~1{policy_id}/put' response: mediaType: application/json openAPIDocKey: '200' + request: + nativeCasing: camel sqlVerbs: select: - - $ref: '#/components/x-stackQL-resources/cases/methods/get_case' + - $ref: '#/components/x-stackQL-resources/on_call_escalation_policies/methods/get_on_call_escalation_policy' insert: - - $ref: '#/components/x-stackQL-resources/cases/methods/create_case' + - $ref: '#/components/x-stackQL-resources/on_call_escalation_policies/methods/create_on_call_escalation_policy' update: [] - delete: [] - replace: [] - projects: - id: datadog.service_management.projects - name: projects - title: Projects + delete: + - $ref: '#/components/x-stackQL-resources/on_call_escalation_policies/methods/delete_on_call_escalation_policy' + replace: + - $ref: '#/components/x-stackQL-resources/on_call_escalation_policies/methods/update_on_call_escalation_policy' + on_call_page: + id: datadog.service_management.on_call_page + name: on_call_page + title: On Call Page methods: - get_projects: + create_on_call_page: + config: + requestBodyTranslate: + algorithm: naive operation: - $ref: '#/paths/~1api~1v2~1cases~1projects/get' + $ref: '#/paths/~1api~1v2~1on-call~1pages/post' response: mediaType: application/json openAPIDocKey: '200' - objectKey: $.data - create_project: + request: + nativeCasing: camel + acknowledge_on_call_page: operation: - $ref: '#/paths/~1api~1v2~1cases~1projects/post' + $ref: '#/paths/~1api~1v2~1on-call~1pages~1{page_id}~1acknowledge/post' response: mediaType: application/json - openAPIDocKey: '201' - delete_project: + openAPIDocKey: '202' + request: + nativeCasing: camel + escalate_on_call_page: operation: - $ref: '#/paths/~1api~1v2~1cases~1projects~1{project_id}/delete' + $ref: '#/paths/~1api~1v2~1on-call~1pages~1{page_id}~1escalate/post' response: mediaType: application/json - openAPIDocKey: '204' - get_project: + openAPIDocKey: '202' + request: + nativeCasing: camel + resolve_on_call_page: operation: - $ref: '#/paths/~1api~1v2~1cases~1projects~1{project_id}/get' + $ref: '#/paths/~1api~1v2~1on-call~1pages~1{page_id}~1resolve/post' response: mediaType: application/json - openAPIDocKey: '200' - objectKey: $.data + openAPIDocKey: '202' + request: + nativeCasing: camel sqlVerbs: - select: - - $ref: '#/components/x-stackQL-resources/projects/methods/get_project' - - $ref: '#/components/x-stackQL-resources/projects/methods/get_projects' + select: [] insert: - - $ref: '#/components/x-stackQL-resources/projects/methods/create_project' + - $ref: '#/components/x-stackQL-resources/on_call_page/methods/create_on_call_page' update: [] - delete: - - $ref: '#/components/x-stackQL-resources/projects/methods/delete_project' + delete: [] replace: [] - downtimes: - id: datadog.service_management.downtimes - name: downtimes - title: Downtimes + on_call_schedule: + id: datadog.service_management.on_call_schedule + name: on_call_schedule + title: On Call Schedule methods: - list_downtimes: - operation: - $ref: '#/paths/~1api~1v2~1downtime/get' - response: - mediaType: application/json - openAPIDocKey: '200' - objectKey: $.data - create_downtime: + create_on_call_schedule: + config: + requestBodyTranslate: + algorithm: naive operation: - $ref: '#/paths/~1api~1v2~1downtime/post' + $ref: '#/paths/~1api~1v2~1on-call~1schedules/post' response: mediaType: application/json - openAPIDocKey: '200' - cancel_downtime: + openAPIDocKey: '201' + request: + nativeCasing: camel + delete_on_call_schedule: operation: - $ref: '#/paths/~1api~1v2~1downtime~1{downtime_id}/delete' + $ref: '#/paths/~1api~1v2~1on-call~1schedules~1{schedule_id}/delete' response: mediaType: application/json openAPIDocKey: '204' - get_downtime: + request: + nativeCasing: camel + get_on_call_schedule: operation: - $ref: '#/paths/~1api~1v2~1downtime~1{downtime_id}/get' + $ref: '#/paths/~1api~1v2~1on-call~1schedules~1{schedule_id}/get' response: mediaType: application/json openAPIDocKey: '200' objectKey: $.data - update_downtime: + request: + nativeCasing: camel + update_on_call_schedule: + config: + requestBodyTranslate: + algorithm: naive operation: - $ref: '#/paths/~1api~1v2~1downtime~1{downtime_id}/patch' + $ref: '#/paths/~1api~1v2~1on-call~1schedules~1{schedule_id}/put' response: mediaType: application/json openAPIDocKey: '200' + request: + nativeCasing: camel sqlVerbs: select: - - $ref: '#/components/x-stackQL-resources/downtimes/methods/get_downtime' - - $ref: '#/components/x-stackQL-resources/downtimes/methods/list_downtimes' + - $ref: '#/components/x-stackQL-resources/on_call_schedule/methods/get_on_call_schedule' insert: - - $ref: '#/components/x-stackQL-resources/downtimes/methods/create_downtime' - update: - - $ref: '#/components/x-stackQL-resources/downtimes/methods/update_downtime' + - $ref: '#/components/x-stackQL-resources/on_call_schedule/methods/create_on_call_schedule' + update: [] delete: - - $ref: '#/components/x-stackQL-resources/downtimes/methods/cancel_downtime' - replace: [] - issues: - id: datadog.service_management.issues - name: issues - title: Issues + - $ref: '#/components/x-stackQL-resources/on_call_schedule/methods/delete_on_call_schedule' + replace: + - $ref: '#/components/x-stackQL-resources/on_call_schedule/methods/update_on_call_schedule' + on_call_schedule_responders: + id: datadog.service_management.on_call_schedule_responders + name: on_call_schedule_responders + title: On Call Schedule Responders methods: - search_issues: + get_schedule_on_call_responders: operation: - $ref: '#/paths/~1api~1v2~1error-tracking~1issues~1search/post' + $ref: '#/paths/~1api~1v2~1on-call~1schedules~1{schedule_id}~1responders/get' response: mediaType: application/json openAPIDocKey: '200' - get_issue: + objectKey: $.data + request: + nativeCasing: camel + sqlVerbs: + select: + - $ref: '#/components/x-stackQL-resources/on_call_schedule_responders/methods/get_schedule_on_call_responders' + insert: [] + update: [] + delete: [] + replace: [] + team_on_call_users: + id: datadog.service_management.team_on_call_users + name: team_on_call_users + title: Team On Call Users + methods: + get_team_on_call_users: operation: - $ref: '#/paths/~1api~1v2~1error-tracking~1issues~1{issue_id}/get' + $ref: '#/paths/~1api~1v2~1on-call~1teams~1{team_id}~1on-call/get' response: mediaType: application/json openAPIDocKey: '200' objectKey: $.data - update_issue_assignee: + request: + nativeCasing: camel + sqlVerbs: + select: + - $ref: '#/components/x-stackQL-resources/team_on_call_users/methods/get_team_on_call_users' + insert: [] + update: [] + delete: [] + replace: [] + on_call_team_routing_rules: + id: datadog.service_management.on_call_team_routing_rules + name: on_call_team_routing_rules + title: On Call Team Routing Rules + methods: + get_on_call_team_routing_rules: operation: - $ref: >- - #/paths/~1api~1v2~1error-tracking~1issues~1{issue_id}~1assignee/put + $ref: '#/paths/~1api~1v2~1on-call~1teams~1{team_id}~1routing-rules/get' response: mediaType: application/json openAPIDocKey: '200' - update_issue_state: + objectKey: $.data + request: + nativeCasing: camel + set_on_call_team_routing_rules: + config: + requestBodyTranslate: + algorithm: naive operation: - $ref: '#/paths/~1api~1v2~1error-tracking~1issues~1{issue_id}~1state/put' + $ref: '#/paths/~1api~1v2~1on-call~1teams~1{team_id}~1routing-rules/put' response: mediaType: application/json openAPIDocKey: '200' + request: + nativeCasing: camel sqlVerbs: select: - - $ref: '#/components/x-stackQL-resources/issues/methods/get_issue' - insert: - - $ref: '#/components/x-stackQL-resources/issues/methods/search_issues' + - $ref: '#/components/x-stackQL-resources/on_call_team_routing_rules/methods/get_on_call_team_routing_rules' + insert: [] update: [] delete: [] - replace: [] - events: - id: datadog.service_management.events - name: events - title: Events + replace: + - $ref: '#/components/x-stackQL-resources/on_call_team_routing_rules/methods/set_on_call_team_routing_rules' + on_call_user_notification_channels: + id: datadog.service_management.on_call_user_notification_channels + name: on_call_user_notification_channels + title: On Call User Notification Channels methods: - list_events: + list_user_notification_channels: operation: - $ref: '#/paths/~1api~1v2~1events/get' + $ref: '#/paths/~1api~1v2~1on-call~1users~1{user_id}~1notification-channels/get' response: mediaType: application/json openAPIDocKey: '200' objectKey: $.data - create_event: + request: + nativeCasing: camel + create_user_notification_channel: + config: + requestBodyTranslate: + algorithm: naive operation: - $ref: '#/paths/~1api~1v2~1events/post' + $ref: '#/paths/~1api~1v2~1on-call~1users~1{user_id}~1notification-channels/post' response: mediaType: application/json - openAPIDocKey: '202' - search_events: + openAPIDocKey: '201' + request: + nativeCasing: camel + delete_user_notification_channel: operation: - $ref: '#/paths/~1api~1v2~1events~1search/post' + $ref: '#/paths/~1api~1v2~1on-call~1users~1{user_id}~1notification-channels~1{channel_id}/delete' response: mediaType: application/json - openAPIDocKey: '200' - get_event: + openAPIDocKey: '204' + request: + nativeCasing: camel + get_user_notification_channel: operation: - $ref: '#/paths/~1api~1v2~1events~1{event_id}/get' + $ref: '#/paths/~1api~1v2~1on-call~1users~1{user_id}~1notification-channels~1{channel_id}/get' response: mediaType: application/json openAPIDocKey: '200' objectKey: $.data + request: + nativeCasing: camel sqlVerbs: select: - - $ref: '#/components/x-stackQL-resources/events/methods/get_event' - - $ref: '#/components/x-stackQL-resources/events/methods/list_events' + - $ref: '#/components/x-stackQL-resources/on_call_user_notification_channels/methods/get_user_notification_channel' + - $ref: '#/components/x-stackQL-resources/on_call_user_notification_channels/methods/list_user_notification_channels' insert: - - $ref: '#/components/x-stackQL-resources/events/methods/create_event' - - $ref: '#/components/x-stackQL-resources/events/methods/search_events' + - $ref: '#/components/x-stackQL-resources/on_call_user_notification_channels/methods/create_user_notification_channel' update: [] - delete: [] + delete: + - $ref: '#/components/x-stackQL-resources/on_call_user_notification_channels/methods/delete_user_notification_channel' replace: [] - incidents: - id: datadog.service_management.incidents - name: incidents - title: Incidents + on_call_user_notification_rules: + id: datadog.service_management.on_call_user_notification_rules + name: on_call_user_notification_rules + title: On Call User Notification Rules methods: - list_incidents: + list_user_notification_rules: operation: - $ref: '#/paths/~1api~1v2~1incidents/get' + $ref: '#/paths/~1api~1v2~1on-call~1users~1{user_id}~1notification-rules/get' response: mediaType: application/json openAPIDocKey: '200' objectKey: $.data - create_incident: + request: + nativeCasing: camel + create_user_notification_rule: + config: + requestBodyTranslate: + algorithm: naive operation: - $ref: '#/paths/~1api~1v2~1incidents/post' + $ref: '#/paths/~1api~1v2~1on-call~1users~1{user_id}~1notification-rules/post' response: mediaType: application/json openAPIDocKey: '201' - search_incidents: - operation: - $ref: '#/paths/~1api~1v2~1incidents~1search/get' - response: - mediaType: application/json - openAPIDocKey: '200' - objectKey: $.data - delete_incident: + request: + nativeCasing: camel + delete_user_notification_rule: operation: - $ref: '#/paths/~1api~1v2~1incidents~1{incident_id}/delete' + $ref: '#/paths/~1api~1v2~1on-call~1users~1{user_id}~1notification-rules~1{rule_id}/delete' response: mediaType: application/json openAPIDocKey: '204' - get_incident: + request: + nativeCasing: camel + get_user_notification_rule: operation: - $ref: '#/paths/~1api~1v2~1incidents~1{incident_id}/get' + $ref: '#/paths/~1api~1v2~1on-call~1users~1{user_id}~1notification-rules~1{rule_id}/get' response: mediaType: application/json openAPIDocKey: '200' objectKey: $.data - update_incident: + request: + nativeCasing: camel + update_user_notification_rule: + config: + requestBodyTranslate: + algorithm: naive operation: - $ref: '#/paths/~1api~1v2~1incidents~1{incident_id}/patch' + $ref: '#/paths/~1api~1v2~1on-call~1users~1{user_id}~1notification-rules~1{rule_id}/put' response: mediaType: application/json openAPIDocKey: '200' + request: + nativeCasing: camel sqlVerbs: select: - - $ref: '#/components/x-stackQL-resources/incidents/methods/get_incident' - - $ref: '#/components/x-stackQL-resources/incidents/methods/list_incidents' - - $ref: >- - #/components/x-stackQL-resources/incidents/methods/search_incidents + - $ref: '#/components/x-stackQL-resources/on_call_user_notification_rules/methods/get_user_notification_rule' + - $ref: '#/components/x-stackQL-resources/on_call_user_notification_rules/methods/list_user_notification_rules' insert: - - $ref: '#/components/x-stackQL-resources/incidents/methods/create_incident' - update: - - $ref: '#/components/x-stackQL-resources/incidents/methods/update_incident' + - $ref: '#/components/x-stackQL-resources/on_call_user_notification_rules/methods/create_user_notification_rule' + update: [] delete: - - $ref: '#/components/x-stackQL-resources/incidents/methods/delete_incident' - replace: [] - incident_notification_rules: - id: datadog.service_management.incident_notification_rules - name: incident_notification_rules - title: Incident Notification Rules + - $ref: '#/components/x-stackQL-resources/on_call_user_notification_rules/methods/delete_user_notification_rule' + replace: + - $ref: '#/components/x-stackQL-resources/on_call_user_notification_rules/methods/update_user_notification_rule' + service_definitions: + id: datadog.service_management.service_definitions + name: service_definitions + title: Service Definitions methods: - list_incident_notification_rules: + list_service_definitions: operation: - $ref: '#/paths/~1api~1v2~1incidents~1config~1notification-rules/get' + $ref: '#/paths/~1api~1v2~1services~1definitions/get' response: mediaType: application/json openAPIDocKey: '200' objectKey: $.data - create_incident_notification_rule: + request: + nativeCasing: camel + config: + queryParamPushdown: + top: + paramName: page[size] + create_or_update_service_definitions: + config: + requestBodyTranslate: + algorithm: naive operation: - $ref: '#/paths/~1api~1v2~1incidents~1config~1notification-rules/post' + $ref: '#/paths/~1api~1v2~1services~1definitions/post' response: mediaType: application/json - openAPIDocKey: '201' - delete_incident_notification_rule: + openAPIDocKey: '200' + request: + nativeCasing: camel + delete_service_definition: operation: - $ref: >- - #/paths/~1api~1v2~1incidents~1config~1notification-rules~1{id}/delete + $ref: '#/paths/~1api~1v2~1services~1definitions~1{service_name}/delete' response: mediaType: application/json openAPIDocKey: '204' - get_incident_notification_rule: + request: + nativeCasing: camel + get_service_definition: operation: - $ref: '#/paths/~1api~1v2~1incidents~1config~1notification-rules~1{id}/get' + $ref: '#/paths/~1api~1v2~1services~1definitions~1{service_name}/get' response: mediaType: application/json openAPIDocKey: '200' objectKey: $.data - update_incident_notification_rule: + request: + nativeCasing: camel + sqlVerbs: + select: + - $ref: '#/components/x-stackQL-resources/service_definitions/methods/get_service_definition' + - $ref: '#/components/x-stackQL-resources/service_definitions/methods/list_service_definitions' + insert: + - $ref: '#/components/x-stackQL-resources/service_definitions/methods/create_or_update_service_definitions' + update: [] + delete: + - $ref: '#/components/x-stackQL-resources/service_definitions/methods/delete_service_definition' + replace: [] + slo_statuses: + id: datadog.service_management.slo_statuses + name: slo_statuses + title: Slo Statuses + methods: + get_slo_status: operation: - $ref: '#/paths/~1api~1v2~1incidents~1config~1notification-rules~1{id}/put' + $ref: '#/paths/~1api~1v2~1slo~1{slo_id}~1status/get' response: mediaType: application/json openAPIDocKey: '200' + objectKey: $.data + request: + nativeCasing: camel sqlVerbs: select: - - $ref: >- - #/components/x-stackQL-resources/incident_notification_rules/methods/get_incident_notification_rule - - $ref: >- - #/components/x-stackQL-resources/incident_notification_rules/methods/list_incident_notification_rules - insert: - - $ref: >- - #/components/x-stackQL-resources/incident_notification_rules/methods/create_incident_notification_rule + - $ref: '#/components/x-stackQL-resources/slo_statuses/methods/get_slo_status' + insert: [] update: [] - delete: - - $ref: >- - #/components/x-stackQL-resources/incident_notification_rules/methods/delete_incident_notification_rule - replace: - - $ref: >- - #/components/x-stackQL-resources/incident_notification_rules/methods/update_incident_notification_rule - incident_notification_templates: - id: datadog.service_management.incident_notification_templates - name: incident_notification_templates - title: Incident Notification Templates + delete: [] + replace: [] + statuspages: + id: datadog.service_management.statuspages + name: statuspages + title: Statuspages methods: - list_incident_notification_templates: + list_status_pages: operation: - $ref: '#/paths/~1api~1v2~1incidents~1config~1notification-templates/get' + $ref: '#/paths/~1api~1v2~1statuspages/get' response: mediaType: application/json openAPIDocKey: '200' objectKey: $.data - create_incident_notification_template: + request: + nativeCasing: camel + config: + queryParamPushdown: + top: + paramName: page[limit] + skip: + paramName: page[offset] + create_status_page: + config: + requestBodyTranslate: + algorithm: naive operation: - $ref: '#/paths/~1api~1v2~1incidents~1config~1notification-templates/post' + $ref: '#/paths/~1api~1v2~1statuspages/post' response: mediaType: application/json openAPIDocKey: '201' - delete_incident_notification_template: + request: + nativeCasing: camel + delete_status_page: operation: - $ref: >- - #/paths/~1api~1v2~1incidents~1config~1notification-templates~1{id}/delete + $ref: '#/paths/~1api~1v2~1statuspages~1{page_id}/delete' response: mediaType: application/json openAPIDocKey: '204' - get_incident_notification_template: + request: + nativeCasing: camel + get_status_page: operation: - $ref: >- - #/paths/~1api~1v2~1incidents~1config~1notification-templates~1{id}/get + $ref: '#/paths/~1api~1v2~1statuspages~1{page_id}/get' response: mediaType: application/json openAPIDocKey: '200' objectKey: $.data - update_incident_notification_template: + request: + nativeCasing: camel + update_status_page: + config: + requestBodyTranslate: + algorithm: naive operation: - $ref: >- - #/paths/~1api~1v2~1incidents~1config~1notification-templates~1{id}/patch + $ref: '#/paths/~1api~1v2~1statuspages~1{page_id}/patch' response: mediaType: application/json openAPIDocKey: '200' + request: + nativeCasing: camel + publish_status_page: + operation: + $ref: '#/paths/~1api~1v2~1statuspages~1{page_id}~1publish/post' + response: + mediaType: application/json + openAPIDocKey: '204' + request: + nativeCasing: camel + unpublish_status_page: + operation: + $ref: '#/paths/~1api~1v2~1statuspages~1{page_id}~1unpublish/post' + response: + mediaType: application/json + openAPIDocKey: '204' + request: + nativeCasing: camel sqlVerbs: select: - - $ref: >- - #/components/x-stackQL-resources/incident_notification_templates/methods/get_incident_notification_template - - $ref: >- - #/components/x-stackQL-resources/incident_notification_templates/methods/list_incident_notification_templates + - $ref: '#/components/x-stackQL-resources/statuspages/methods/get_status_page' + - $ref: '#/components/x-stackQL-resources/statuspages/methods/list_status_pages' insert: - - $ref: >- - #/components/x-stackQL-resources/incident_notification_templates/methods/create_incident_notification_template + - $ref: '#/components/x-stackQL-resources/statuspages/methods/create_status_page' update: - - $ref: >- - #/components/x-stackQL-resources/incident_notification_templates/methods/update_incident_notification_template + - $ref: '#/components/x-stackQL-resources/statuspages/methods/update_status_page' delete: - - $ref: >- - #/components/x-stackQL-resources/incident_notification_templates/methods/delete_incident_notification_template + - $ref: '#/components/x-stackQL-resources/statuspages/methods/delete_status_page' replace: [] - incident_types: - id: datadog.service_management.incident_types - name: incident_types - title: Incident Types + statuspage_degradations: + id: datadog.service_management.statuspage_degradations + name: statuspage_degradations + title: Statuspage Degradations methods: - list_incident_types: + list_degradations: operation: - $ref: '#/paths/~1api~1v2~1incidents~1config~1types/get' + $ref: '#/paths/~1api~1v2~1statuspages~1degradations/get' response: mediaType: application/json openAPIDocKey: '200' objectKey: $.data - create_incident_type: + request: + nativeCasing: camel + config: + queryParamPushdown: + top: + paramName: page[limit] + skip: + paramName: page[offset] + create_degradation: + config: + requestBodyTranslate: + algorithm: naive operation: - $ref: '#/paths/~1api~1v2~1incidents~1config~1types/post' + $ref: '#/paths/~1api~1v2~1statuspages~1{page_id}~1degradations/post' response: mediaType: application/json openAPIDocKey: '201' - delete_incident_type: + request: + nativeCasing: camel + delete_degradation: operation: - $ref: >- - #/paths/~1api~1v2~1incidents~1config~1types~1{incident_type_id}/delete + $ref: '#/paths/~1api~1v2~1statuspages~1{page_id}~1degradations~1{degradation_id}/delete' response: mediaType: application/json openAPIDocKey: '204' - get_incident_type: + request: + nativeCasing: camel + get_degradation: operation: - $ref: >- - #/paths/~1api~1v2~1incidents~1config~1types~1{incident_type_id}/get + $ref: '#/paths/~1api~1v2~1statuspages~1{page_id}~1degradations~1{degradation_id}/get' response: mediaType: application/json openAPIDocKey: '200' objectKey: $.data - update_incident_type: + request: + nativeCasing: camel + update_degradation: + config: + requestBodyTranslate: + algorithm: naive operation: - $ref: >- - #/paths/~1api~1v2~1incidents~1config~1types~1{incident_type_id}/patch + $ref: '#/paths/~1api~1v2~1statuspages~1{page_id}~1degradations~1{degradation_id}/patch' response: mediaType: application/json openAPIDocKey: '200' + request: + nativeCasing: camel sqlVerbs: select: - - $ref: >- - #/components/x-stackQL-resources/incident_types/methods/get_incident_type - - $ref: >- - #/components/x-stackQL-resources/incident_types/methods/list_incident_types + - $ref: '#/components/x-stackQL-resources/statuspage_degradations/methods/get_degradation' + - $ref: '#/components/x-stackQL-resources/statuspage_degradations/methods/list_degradations' insert: - - $ref: >- - #/components/x-stackQL-resources/incident_types/methods/create_incident_type + - $ref: '#/components/x-stackQL-resources/statuspage_degradations/methods/create_degradation' update: - - $ref: >- - #/components/x-stackQL-resources/incident_types/methods/update_incident_type + - $ref: '#/components/x-stackQL-resources/statuspage_degradations/methods/update_degradation' delete: - - $ref: >- - #/components/x-stackQL-resources/incident_types/methods/delete_incident_type + - $ref: '#/components/x-stackQL-resources/statuspage_degradations/methods/delete_degradation' replace: [] - incident_attachments: - id: datadog.service_management.incident_attachments - name: incident_attachments - title: Incident Attachments + statuspage_maintenances: + id: datadog.service_management.statuspage_maintenances + name: statuspage_maintenances + title: Statuspage Maintenances methods: - list_incident_attachments: + list_maintenances: operation: - $ref: '#/paths/~1api~1v2~1incidents~1{incident_id}~1attachments/get' + $ref: '#/paths/~1api~1v2~1statuspages~1maintenances/get' + response: + mediaType: application/json + openAPIDocKey: '200' + objectKey: $.data + request: + nativeCasing: camel + config: + queryParamPushdown: + top: + paramName: page[limit] + skip: + paramName: page[offset] + create_maintenance: + config: + requestBodyTranslate: + algorithm: naive + operation: + $ref: '#/paths/~1api~1v2~1statuspages~1{page_id}~1maintenances/post' + response: + mediaType: application/json + openAPIDocKey: '201' + request: + nativeCasing: camel + get_maintenance: + operation: + $ref: '#/paths/~1api~1v2~1statuspages~1{page_id}~1maintenances~1{maintenance_id}/get' response: mediaType: application/json openAPIDocKey: '200' objectKey: $.data - update_incident_attachments: + request: + nativeCasing: camel + update_maintenance: + config: + requestBodyTranslate: + algorithm: naive operation: - $ref: '#/paths/~1api~1v2~1incidents~1{incident_id}~1attachments/patch' + $ref: '#/paths/~1api~1v2~1statuspages~1{page_id}~1maintenances~1{maintenance_id}/patch' response: mediaType: application/json openAPIDocKey: '200' + request: + nativeCasing: camel sqlVerbs: select: - - $ref: >- - #/components/x-stackQL-resources/incident_attachments/methods/list_incident_attachments - insert: [] + - $ref: '#/components/x-stackQL-resources/statuspage_maintenances/methods/get_maintenance' + - $ref: '#/components/x-stackQL-resources/statuspage_maintenances/methods/list_maintenances' + insert: + - $ref: '#/components/x-stackQL-resources/statuspage_maintenances/methods/create_maintenance' update: - - $ref: >- - #/components/x-stackQL-resources/incident_attachments/methods/update_incident_attachments + - $ref: '#/components/x-stackQL-resources/statuspage_maintenances/methods/update_maintenance' delete: [] replace: [] - incident_integrations: - id: datadog.service_management.incident_integrations - name: incident_integrations - title: Incident Integrations + statuspage_components: + id: datadog.service_management.statuspage_components + name: statuspage_components + title: Statuspage Components methods: - list_incident_integrations: + list_components: operation: - $ref: >- - #/paths/~1api~1v2~1incidents~1{incident_id}~1relationships~1integrations/get + $ref: '#/paths/~1api~1v2~1statuspages~1{page_id}~1components/get' response: mediaType: application/json openAPIDocKey: '200' objectKey: $.data - create_incident_integration: + request: + nativeCasing: camel + create_component: + config: + requestBodyTranslate: + algorithm: naive operation: - $ref: >- - #/paths/~1api~1v2~1incidents~1{incident_id}~1relationships~1integrations/post + $ref: '#/paths/~1api~1v2~1statuspages~1{page_id}~1components/post' response: mediaType: application/json openAPIDocKey: '201' - delete_incident_integration: + request: + nativeCasing: camel + delete_component: operation: - $ref: >- - #/paths/~1api~1v2~1incidents~1{incident_id}~1relationships~1integrations~1{integration_metadata_id}/delete + $ref: '#/paths/~1api~1v2~1statuspages~1{page_id}~1components~1{component_id}/delete' response: mediaType: application/json openAPIDocKey: '204' - get_incident_integration: + request: + nativeCasing: camel + get_component: operation: - $ref: >- - #/paths/~1api~1v2~1incidents~1{incident_id}~1relationships~1integrations~1{integration_metadata_id}/get + $ref: '#/paths/~1api~1v2~1statuspages~1{page_id}~1components~1{component_id}/get' response: mediaType: application/json openAPIDocKey: '200' objectKey: $.data - update_incident_integration: + request: + nativeCasing: camel + update_component: + config: + requestBodyTranslate: + algorithm: naive operation: - $ref: >- - #/paths/~1api~1v2~1incidents~1{incident_id}~1relationships~1integrations~1{integration_metadata_id}/patch + $ref: '#/paths/~1api~1v2~1statuspages~1{page_id}~1components~1{component_id}/patch' response: mediaType: application/json openAPIDocKey: '200' + request: + nativeCasing: camel sqlVerbs: select: - - $ref: >- - #/components/x-stackQL-resources/incident_integrations/methods/get_incident_integration - - $ref: >- - #/components/x-stackQL-resources/incident_integrations/methods/list_incident_integrations + - $ref: '#/components/x-stackQL-resources/statuspage_components/methods/get_component' + - $ref: '#/components/x-stackQL-resources/statuspage_components/methods/list_components' insert: - - $ref: >- - #/components/x-stackQL-resources/incident_integrations/methods/create_incident_integration + - $ref: '#/components/x-stackQL-resources/statuspage_components/methods/create_component' update: - - $ref: >- - #/components/x-stackQL-resources/incident_integrations/methods/update_incident_integration + - $ref: '#/components/x-stackQL-resources/statuspage_components/methods/update_component' delete: - - $ref: >- - #/components/x-stackQL-resources/incident_integrations/methods/delete_incident_integration + - $ref: '#/components/x-stackQL-resources/statuspage_components/methods/delete_component' replace: [] - incident_todos: - id: datadog.service_management.incident_todos - name: incident_todos - title: Incident Todos + statuspage_degradation_templates: + id: datadog.service_management.statuspage_degradation_templates + name: statuspage_degradation_templates + title: Statuspage Degradation Templates methods: - list_incident_todos: + list_degradation_templates: operation: - $ref: >- - #/paths/~1api~1v2~1incidents~1{incident_id}~1relationships~1todos/get + $ref: '#/paths/~1api~1v2~1statuspages~1{page_id}~1degradation_templates/get' response: mediaType: application/json openAPIDocKey: '200' objectKey: $.data - create_incident_todo: + request: + nativeCasing: camel + create_degradation_template: + config: + requestBodyTranslate: + algorithm: naive operation: - $ref: >- - #/paths/~1api~1v2~1incidents~1{incident_id}~1relationships~1todos/post + $ref: '#/paths/~1api~1v2~1statuspages~1{page_id}~1degradation_templates/post' response: mediaType: application/json openAPIDocKey: '201' - delete_incident_todo: + request: + nativeCasing: camel + delete_degradation_template: operation: - $ref: >- - #/paths/~1api~1v2~1incidents~1{incident_id}~1relationships~1todos~1{todo_id}/delete + $ref: '#/paths/~1api~1v2~1statuspages~1{page_id}~1degradation_templates~1{template_id}/delete' response: mediaType: application/json openAPIDocKey: '204' - get_incident_todo: + request: + nativeCasing: camel + get_degradation_template: operation: - $ref: >- - #/paths/~1api~1v2~1incidents~1{incident_id}~1relationships~1todos~1{todo_id}/get + $ref: '#/paths/~1api~1v2~1statuspages~1{page_id}~1degradation_templates~1{template_id}/get' response: mediaType: application/json openAPIDocKey: '200' objectKey: $.data - update_incident_todo: + request: + nativeCasing: camel + update_degradation_template: + config: + requestBodyTranslate: + algorithm: naive operation: - $ref: >- - #/paths/~1api~1v2~1incidents~1{incident_id}~1relationships~1todos~1{todo_id}/patch + $ref: '#/paths/~1api~1v2~1statuspages~1{page_id}~1degradation_templates~1{template_id}/patch' response: mediaType: application/json openAPIDocKey: '200' + request: + nativeCasing: camel sqlVerbs: select: - - $ref: >- - #/components/x-stackQL-resources/incident_todos/methods/get_incident_todo - - $ref: >- - #/components/x-stackQL-resources/incident_todos/methods/list_incident_todos + - $ref: '#/components/x-stackQL-resources/statuspage_degradation_templates/methods/get_degradation_template' + - $ref: '#/components/x-stackQL-resources/statuspage_degradation_templates/methods/list_degradation_templates' insert: - - $ref: >- - #/components/x-stackQL-resources/incident_todos/methods/create_incident_todo + - $ref: '#/components/x-stackQL-resources/statuspage_degradation_templates/methods/create_degradation_template' update: - - $ref: >- - #/components/x-stackQL-resources/incident_todos/methods/update_incident_todo + - $ref: '#/components/x-stackQL-resources/statuspage_degradation_templates/methods/update_degradation_template' delete: - - $ref: >- - #/components/x-stackQL-resources/incident_todos/methods/delete_incident_todo + - $ref: '#/components/x-stackQL-resources/statuspage_degradation_templates/methods/delete_degradation_template' replace: [] - on_call_escalation_policies: - id: datadog.service_management.on_call_escalation_policies - name: on_call_escalation_policies - title: On Call Escalation Policies + statuspage_degradation_backfills: + id: datadog.service_management.statuspage_degradation_backfills + name: statuspage_degradation_backfills + title: Statuspage Degradation Backfills methods: - create_on_call_escalation_policy: + create_backfilled_degradation: + config: + requestBodyTranslate: + algorithm: naive operation: - $ref: '#/paths/~1api~1v2~1on-call~1escalation-policies/post' + $ref: '#/paths/~1api~1v2~1statuspages~1{page_id}~1degradations~1backfill/post' response: mediaType: application/json openAPIDocKey: '201' - delete_on_call_escalation_policy: + request: + nativeCasing: camel + sqlVerbs: + select: [] + insert: + - $ref: '#/components/x-stackQL-resources/statuspage_degradation_backfills/methods/create_backfilled_degradation' + update: [] + delete: [] + replace: [] + statuspage_degradation_updates: + id: datadog.service_management.statuspage_degradation_updates + name: statuspage_degradation_updates + title: Statuspage Degradation Updates + methods: + soft_delete_degradation_update: operation: - $ref: >- - #/paths/~1api~1v2~1on-call~1escalation-policies~1{policy_id}/delete + $ref: '#/paths/~1api~1v2~1statuspages~1{page_id}~1degradations~1{degradation_id}~1updates~1{update_id}/delete' response: mediaType: application/json openAPIDocKey: '204' - get_on_call_escalation_policy: - operation: - $ref: '#/paths/~1api~1v2~1on-call~1escalation-policies~1{policy_id}/get' - response: - mediaType: application/json - openAPIDocKey: '200' - objectKey: $.data - update_on_call_escalation_policy: + request: + nativeCasing: camel + edit_degradation_update: + config: + requestBodyTranslate: + algorithm: naive operation: - $ref: '#/paths/~1api~1v2~1on-call~1escalation-policies~1{policy_id}/put' + $ref: '#/paths/~1api~1v2~1statuspages~1{page_id}~1degradations~1{degradation_id}~1updates~1{update_id}/patch' response: mediaType: application/json openAPIDocKey: '200' + request: + nativeCasing: camel sqlVerbs: - select: - - $ref: >- - #/components/x-stackQL-resources/on_call_escalation_policies/methods/get_on_call_escalation_policy - insert: - - $ref: >- - #/components/x-stackQL-resources/on_call_escalation_policies/methods/create_on_call_escalation_policy - update: [] + select: [] + insert: [] + update: + - $ref: '#/components/x-stackQL-resources/statuspage_degradation_updates/methods/edit_degradation_update' delete: - - $ref: >- - #/components/x-stackQL-resources/on_call_escalation_policies/methods/delete_on_call_escalation_policy - replace: - - $ref: >- - #/components/x-stackQL-resources/on_call_escalation_policies/methods/update_on_call_escalation_policy - on_call_page: - id: datadog.service_management.on_call_page - name: on_call_page - title: On Call Page + - $ref: '#/components/x-stackQL-resources/statuspage_degradation_updates/methods/soft_delete_degradation_update' + replace: [] + statuspage_maintenance_templates: + id: datadog.service_management.statuspage_maintenance_templates + name: statuspage_maintenance_templates + title: Statuspage Maintenance Templates methods: - create_on_call_page: + list_maintenance_templates: operation: - $ref: '#/paths/~1api~1v2~1on-call~1pages/post' + $ref: '#/paths/~1api~1v2~1statuspages~1{page_id}~1maintenance_templates/get' response: mediaType: application/json openAPIDocKey: '200' - acknowledge_on_call_page: - operation: - $ref: '#/paths/~1api~1v2~1on-call~1pages~1{page_id}~1acknowledge/post' - response: - mediaType: application/json - openAPIDocKey: '202' - escalate_on_call_page: - operation: - $ref: '#/paths/~1api~1v2~1on-call~1pages~1{page_id}~1escalate/post' - response: - mediaType: application/json - openAPIDocKey: '202' - resolve_on_call_page: - operation: - $ref: '#/paths/~1api~1v2~1on-call~1pages~1{page_id}~1resolve/post' - response: - mediaType: application/json - openAPIDocKey: '202' - sqlVerbs: - select: [] - insert: - - $ref: >- - #/components/x-stackQL-resources/on_call_page/methods/create_on_call_page - update: [] - delete: [] - replace: [] - on_call_schedule: - id: datadog.service_management.on_call_schedule - name: on_call_schedule - title: On Call Schedule - methods: - create_on_call_schedule: + objectKey: $.data + request: + nativeCasing: camel + create_maintenance_template: + config: + requestBodyTranslate: + algorithm: naive operation: - $ref: '#/paths/~1api~1v2~1on-call~1schedules/post' + $ref: '#/paths/~1api~1v2~1statuspages~1{page_id}~1maintenance_templates/post' response: mediaType: application/json openAPIDocKey: '201' - delete_on_call_schedule: + request: + nativeCasing: camel + delete_maintenance_template: operation: - $ref: '#/paths/~1api~1v2~1on-call~1schedules~1{schedule_id}/delete' + $ref: '#/paths/~1api~1v2~1statuspages~1{page_id}~1maintenance_templates~1{template_id}/delete' response: mediaType: application/json openAPIDocKey: '204' - get_on_call_schedule: + request: + nativeCasing: camel + get_maintenance_template: operation: - $ref: '#/paths/~1api~1v2~1on-call~1schedules~1{schedule_id}/get' + $ref: '#/paths/~1api~1v2~1statuspages~1{page_id}~1maintenance_templates~1{template_id}/get' response: mediaType: application/json openAPIDocKey: '200' objectKey: $.data - update_on_call_schedule: + request: + nativeCasing: camel + update_maintenance_template: + config: + requestBodyTranslate: + algorithm: naive operation: - $ref: '#/paths/~1api~1v2~1on-call~1schedules~1{schedule_id}/put' + $ref: '#/paths/~1api~1v2~1statuspages~1{page_id}~1maintenance_templates~1{template_id}/patch' response: mediaType: application/json openAPIDocKey: '200' + request: + nativeCasing: camel sqlVerbs: select: - - $ref: >- - #/components/x-stackQL-resources/on_call_schedule/methods/get_on_call_schedule + - $ref: '#/components/x-stackQL-resources/statuspage_maintenance_templates/methods/get_maintenance_template' + - $ref: '#/components/x-stackQL-resources/statuspage_maintenance_templates/methods/list_maintenance_templates' insert: - - $ref: >- - #/components/x-stackQL-resources/on_call_schedule/methods/create_on_call_schedule - update: [] + - $ref: '#/components/x-stackQL-resources/statuspage_maintenance_templates/methods/create_maintenance_template' + update: + - $ref: '#/components/x-stackQL-resources/statuspage_maintenance_templates/methods/update_maintenance_template' delete: - - $ref: >- - #/components/x-stackQL-resources/on_call_schedule/methods/delete_on_call_schedule - replace: - - $ref: >- - #/components/x-stackQL-resources/on_call_schedule/methods/update_on_call_schedule - on_call_user_schedule: - id: datadog.service_management.on_call_user_schedule - name: on_call_user_schedule - title: On Call User Schedule + - $ref: '#/components/x-stackQL-resources/statuspage_maintenance_templates/methods/delete_maintenance_template' + replace: [] + statuspage_maintenance_backfills: + id: datadog.service_management.statuspage_maintenance_backfills + name: statuspage_maintenance_backfills + title: Statuspage Maintenance Backfills methods: - get_schedule_on_call_user: + create_backfilled_maintenance: + config: + requestBodyTranslate: + algorithm: naive operation: - $ref: '#/paths/~1api~1v2~1on-call~1schedules~1{schedule_id}~1on-call/get' + $ref: '#/paths/~1api~1v2~1statuspages~1{page_id}~1maintenances~1backfill/post' response: mediaType: application/json - openAPIDocKey: '200' - objectKey: $.data + openAPIDocKey: '201' + request: + nativeCasing: camel sqlVerbs: - select: - - $ref: >- - #/components/x-stackQL-resources/on_call_user_schedule/methods/get_schedule_on_call_user - insert: [] + select: [] + insert: + - $ref: '#/components/x-stackQL-resources/statuspage_maintenance_backfills/methods/create_backfilled_maintenance' update: [] delete: [] replace: [] - team_on_call_users: - id: datadog.service_management.team_on_call_users - name: team_on_call_users - title: Team On Call Users + statuspage_maintenance_updates: + id: datadog.service_management.statuspage_maintenance_updates + name: statuspage_maintenance_updates + title: Statuspage Maintenance Updates methods: - get_team_on_call_users: + patch_maintenance_update: + config: + requestBodyTranslate: + algorithm: naive operation: - $ref: '#/paths/~1api~1v2~1on-call~1teams~1{team_id}~1on-call/get' + $ref: '#/paths/~1api~1v2~1statuspages~1{page_id}~1maintenances~1{maintenance_id}~1updates~1{update_id}/patch' response: mediaType: application/json openAPIDocKey: '200' - objectKey: $.data + request: + nativeCasing: camel sqlVerbs: - select: - - $ref: >- - #/components/x-stackQL-resources/team_on_call_users/methods/get_team_on_call_users + select: [] insert: [] - update: [] + update: + - $ref: '#/components/x-stackQL-resources/statuspage_maintenance_updates/methods/patch_maintenance_update' delete: [] replace: [] - on_call_team_routing_rules: - id: datadog.service_management.on_call_team_routing_rules - name: on_call_team_routing_rules - title: On Call Team Routing Rules + slos: + id: datadog.service_management.slos + name: slos + title: Slos methods: - get_on_call_team_routing_rules: + list_slos: operation: - $ref: '#/paths/~1api~1v2~1on-call~1teams~1{team_id}~1routing-rules/get' + $ref: '#/paths/~1api~1v1~1slo/get' response: mediaType: application/json openAPIDocKey: '200' objectKey: $.data - set_on_call_team_routing_rules: + request: + nativeCasing: camel + config: + queryParamPushdown: + top: + paramName: limit + skip: + paramName: offset + create_slo: + config: + requestBodyTranslate: + algorithm: naive operation: - $ref: '#/paths/~1api~1v2~1on-call~1teams~1{team_id}~1routing-rules/put' + $ref: '#/paths/~1api~1v1~1slo/post' response: mediaType: application/json openAPIDocKey: '200' - sqlVerbs: - select: - - $ref: >- - #/components/x-stackQL-resources/on_call_team_routing_rules/methods/get_on_call_team_routing_rules - insert: [] - update: [] - delete: [] - replace: - - $ref: >- - #/components/x-stackQL-resources/on_call_team_routing_rules/methods/set_on_call_team_routing_rules - incident_services: - id: datadog.service_management.incident_services - name: incident_services - title: Incident Services - methods: - list_incident_services: + request: + nativeCasing: camel + delete_slotimeframe_in_bulk: + config: + requestBodyTranslate: + algorithm: naive operation: - $ref: '#/paths/~1api~1v2~1services/get' + $ref: '#/paths/~1api~1v1~1slo~1bulk_delete/post' response: mediaType: application/json openAPIDocKey: '200' - objectKey: $.data - create_incident_service: + request: + nativeCasing: camel + check_can_delete_slo: operation: - $ref: '#/paths/~1api~1v2~1services/post' + $ref: '#/paths/~1api~1v1~1slo~1can_delete/get' response: mediaType: application/json - openAPIDocKey: '201' - delete_incident_service: + openAPIDocKey: '200' + objectKey: $.data + request: + nativeCasing: camel + delete_slo: operation: - $ref: '#/paths/~1api~1v2~1services~1{service_id}/delete' + $ref: '#/paths/~1api~1v1~1slo~1{slo_id}/delete' response: mediaType: application/json - openAPIDocKey: '204' - get_incident_service: + openAPIDocKey: '200' + request: + nativeCasing: camel + get_slo: operation: - $ref: '#/paths/~1api~1v2~1services~1{service_id}/get' + $ref: '#/paths/~1api~1v1~1slo~1{slo_id}/get' response: mediaType: application/json openAPIDocKey: '200' objectKey: $.data - update_incident_service: + request: + nativeCasing: camel + update_slo: + config: + requestBodyTranslate: + algorithm: naive operation: - $ref: '#/paths/~1api~1v2~1services~1{service_id}/patch' + $ref: '#/paths/~1api~1v1~1slo~1{slo_id}/put' response: mediaType: application/json openAPIDocKey: '200' + request: + nativeCasing: camel sqlVerbs: select: - - $ref: >- - #/components/x-stackQL-resources/incident_services/methods/get_incident_service - - $ref: >- - #/components/x-stackQL-resources/incident_services/methods/list_incident_services + - $ref: '#/components/x-stackQL-resources/slos/methods/get_slo' + - $ref: '#/components/x-stackQL-resources/slos/methods/list_slos' + - $ref: '#/components/x-stackQL-resources/slos/methods/check_can_delete_slo' insert: - - $ref: >- - #/components/x-stackQL-resources/incident_services/methods/create_incident_service - update: - - $ref: >- - #/components/x-stackQL-resources/incident_services/methods/update_incident_service + - $ref: '#/components/x-stackQL-resources/slos/methods/create_slo' + update: [] delete: - - $ref: >- - #/components/x-stackQL-resources/incident_services/methods/delete_incident_service - replace: [] - service_definitions: - id: datadog.service_management.service_definitions - name: service_definitions - title: Service Definitions + - $ref: '#/components/x-stackQL-resources/slos/methods/delete_slo' + replace: + - $ref: '#/components/x-stackQL-resources/slos/methods/update_slo' + slo_corrections: + id: datadog.service_management.slo_corrections + name: slo_corrections + title: Slo Corrections methods: - list_service_definitions: + list_slocorrection: operation: - $ref: '#/paths/~1api~1v2~1services~1definitions/get' + $ref: '#/paths/~1api~1v1~1slo~1correction/get' response: mediaType: application/json openAPIDocKey: '200' objectKey: $.data - create_or_update_service_definitions: + request: + nativeCasing: camel + config: + queryParamPushdown: + top: + paramName: limit + skip: + paramName: offset + create_slocorrection: + config: + requestBodyTranslate: + algorithm: naive operation: - $ref: '#/paths/~1api~1v2~1services~1definitions/post' + $ref: '#/paths/~1api~1v1~1slo~1correction/post' response: mediaType: application/json openAPIDocKey: '200' - delete_service_definition: + request: + nativeCasing: camel + delete_slocorrection: operation: - $ref: '#/paths/~1api~1v2~1services~1definitions~1{service_name}/delete' + $ref: '#/paths/~1api~1v1~1slo~1correction~1{slo_correction_id}/delete' response: mediaType: application/json openAPIDocKey: '204' - get_service_definition: + request: + nativeCasing: camel + get_slocorrection: operation: - $ref: '#/paths/~1api~1v2~1services~1definitions~1{service_name}/get' + $ref: '#/paths/~1api~1v1~1slo~1correction~1{slo_correction_id}/get' response: mediaType: application/json openAPIDocKey: '200' objectKey: $.data - sqlVerbs: - select: - - $ref: >- - #/components/x-stackQL-resources/service_definitions/methods/get_service_definition - - $ref: >- - #/components/x-stackQL-resources/service_definitions/methods/list_service_definitions - insert: - - $ref: >- - #/components/x-stackQL-resources/service_definitions/methods/create_or_update_service_definitions - update: [] - delete: - - $ref: >- - #/components/x-stackQL-resources/service_definitions/methods/delete_service_definition - replace: [] - slo_report_job: - id: datadog.service_management.slo_report_job - name: slo_report_job - title: Slo Report Job - methods: - create_sloreport_job: + request: + nativeCasing: camel + update_slocorrection: + config: + requestBodyTranslate: + algorithm: naive operation: - $ref: '#/paths/~1api~1v2~1slo~1report/post' + $ref: '#/paths/~1api~1v1~1slo~1correction~1{slo_correction_id}/patch' response: mediaType: application/json openAPIDocKey: '200' - get_sloreport: - operation: - $ref: '#/paths/~1api~1v2~1slo~1report~1{report_id}~1download/get' - response: - mediaType: text/csv - openAPIDocKey: '200' - get_sloreport_job_status: + request: + nativeCasing: camel + get_slocorrections: operation: - $ref: '#/paths/~1api~1v2~1slo~1report~1{report_id}~1status/get' + $ref: '#/paths/~1api~1v1~1slo~1{slo_id}~1corrections/get' response: mediaType: application/json openAPIDocKey: '200' objectKey: $.data + request: + nativeCasing: camel sqlVerbs: select: - - $ref: >- - #/components/x-stackQL-resources/slo_report_job/methods/get_sloreport_job_status + - $ref: '#/components/x-stackQL-resources/slo_corrections/methods/get_slocorrection' + - $ref: '#/components/x-stackQL-resources/slo_corrections/methods/get_slocorrections' + - $ref: '#/components/x-stackQL-resources/slo_corrections/methods/list_slocorrection' insert: - - $ref: >- - #/components/x-stackQL-resources/slo_report_job/methods/create_sloreport_job - update: [] - delete: [] + - $ref: '#/components/x-stackQL-resources/slo_corrections/methods/create_slocorrection' + update: + - $ref: '#/components/x-stackQL-resources/slo_corrections/methods/update_slocorrection' + delete: + - $ref: '#/components/x-stackQL-resources/slo_corrections/methods/delete_slocorrection' replace: [] - incident_teams: - id: datadog.service_management.incident_teams - name: incident_teams - title: Incident Teams + slo_search_results: + id: datadog.service_management.slo_search_results + name: slo_search_results + title: Slo Search Results methods: - list_incident_teams: + search_slo: operation: - $ref: '#/paths/~1api~1v2~1teams/get' + $ref: '#/paths/~1api~1v1~1slo~1search/get' response: mediaType: application/json openAPIDocKey: '200' - objectKey: $.data - create_incident_team: - operation: - $ref: '#/paths/~1api~1v2~1teams/post' - response: - mediaType: application/json - openAPIDocKey: '201' - delete_incident_team: - operation: - $ref: '#/paths/~1api~1v2~1teams~1{team_id}/delete' - response: - mediaType: application/json - openAPIDocKey: '204' - get_incident_team: + objectKey: $.data.attributes.slos + request: + nativeCasing: camel + config: + queryParamPushdown: + top: + paramName: page[size] + sqlVerbs: + select: + - $ref: '#/components/x-stackQL-resources/slo_search_results/methods/search_slo' + insert: [] + update: [] + delete: [] + replace: [] + slo_history: + id: datadog.service_management.slo_history + name: slo_history + title: Slo History + methods: + get_slohistory: operation: - $ref: '#/paths/~1api~1v2~1teams~1{team_id}/get' + $ref: '#/paths/~1api~1v1~1slo~1{slo_id}~1history/get' response: mediaType: application/json openAPIDocKey: '200' objectKey: $.data - update_incident_team: - operation: - $ref: '#/paths/~1api~1v2~1teams~1{team_id}/patch' - response: - mediaType: application/json - openAPIDocKey: '200' + request: + nativeCasing: camel sqlVerbs: select: - - $ref: >- - #/components/x-stackQL-resources/incident_teams/methods/get_incident_team - - $ref: >- - #/components/x-stackQL-resources/incident_teams/methods/list_incident_teams - insert: - - $ref: >- - #/components/x-stackQL-resources/incident_teams/methods/create_incident_team - update: - - $ref: >- - #/components/x-stackQL-resources/incident_teams/methods/update_incident_team - delete: - - $ref: >- - #/components/x-stackQL-resources/incident_teams/methods/delete_incident_team + - $ref: '#/components/x-stackQL-resources/slo_history/methods/get_slohistory' + insert: [] + update: [] + delete: [] replace: [] servers: - - url: >- - https://{region:^(?:[^\:/]+(?:\:[0-9]+)?|[0-9]+\.[0-9]+\.[0-9]+\.[0-9]+(?:\:[0-9]+)?)$}/ + - url: https://api.{site:.+} variables: - region: + site: default: datadoghq.com + description: The Datadog site (region) for your organization, for example datadoghq.com, us3.datadoghq.com, us5.datadoghq.com, ap1.datadoghq.com, ap2.datadoghq.com, datadoghq.eu, ddog-gov.com. Resolved from the DD_SITE environment variable when set. + x-stackQL-envVar: DD_SITE diff --git a/providers/src/datadog/v00.00.00000/services/software_delivery.yaml b/providers/src/datadog/v00.00.00000/services/software_delivery.yaml index 4949c57e..9b2ba4af 100644 --- a/providers/src/datadog/v00.00.00000/services/software_delivery.yaml +++ b/providers/src/datadog/v00.00.00000/services/software_delivery.yaml @@ -4,24 +4,161 @@ info: description: datadog software_delivery API version: '1.0' paths: + /api/v2/ci/github/accounts: + get: + description: |- + Retrieve the list of GitHub accounts (organizations or users) available to this Datadog organization + through its GitHub App installation, along with each account's and repository's CI Visibility opt-in status. + operationId: ListCIAppGitHubAccounts + responses: + '200': + content: + application/json: + examples: + default: + value: + data: + - attributes: + account: datadog + enabled: true + host: github.com + repo_count: 2 + repositories: + - enabled: true + name: shopist + - enabled: false + name: dd-source + id: github.com/datadog + type: ci_github_account + schema: + $ref: '#/components/schemas/CIAppGitHubAccountsResponse' + description: OK + '400': + $ref: '#/components/responses/BadRequestResponse' + '403': + $ref: '#/components/responses/NotAuthorizedResponse' + '404': + $ref: '#/components/responses/NotFoundResponse' + '429': + $ref: '#/components/responses/TooManyRequestsResponse' + security: + - apiKeyAuth: [] + appKeyAuth: [] + - AuthZ: + - integrations_read + summary: List GitHub CI Visibility status + tags: + - CI Visibility GitHub Accounts + x-permission: + operator: OR + permissions: + - integrations_read + patch: + description: |- + Enable or disable CI Visibility for a GitHub account, one of its repositories, or both in the same request. + The account (and, optionally, repository) are identified by name. Account-level and repository-level + changes are independent and may both be supplied in the same request. At least one of `enabled` or + `repository.enabled` must be provided. If the account name matches installations on more than one host, + `host` must be supplied to disambiguate, otherwise a 409 is returned. Returns a 404 if the CI Visibility + GitHub integration is not enabled for this organization, or if the given account or repository cannot be + found by name. + operationId: UpdateCIAppGitHubAccount + requestBody: + content: + application/json: + examples: + default: + value: + data: + attributes: + account: datadog + enabled: true + host: github.com + repository: + enabled: true + name: shopist + type: ci_github_account + schema: + $ref: '#/components/schemas/CIAppGitHubAccountUpdateRequest' + required: true + responses: + '200': + content: + application/json: + examples: + default: + value: + data: + attributes: + account: datadog + enabled: true + host: github.com + repo_count: 2 + repositories: + - enabled: true + name: shopist + - enabled: false + name: dd-source + id: github.com/datadog + type: ci_github_account + schema: + $ref: '#/components/schemas/CIAppGitHubAccountResponse' + description: OK + '400': + $ref: '#/components/responses/BadRequestResponse' + '403': + $ref: '#/components/responses/NotAuthorizedResponse' + '404': + $ref: '#/components/responses/NotFoundResponse' + '409': + $ref: '#/components/responses/ConflictResponse' + '429': + $ref: '#/components/responses/TooManyRequestsResponse' + security: + - apiKeyAuth: [] + appKeyAuth: [] + - AuthZ: + - ci_provider_settings_write + summary: Update GitHub CI Visibility status + tags: + - CI Visibility GitHub Accounts + x-codegen-request-body-name: body + x-permission: + operator: OR + permissions: + - ci_provider_settings_write /api/v2/ci/pipeline: post: - description: >- - Send your pipeline event to your Datadog platform over HTTP. For details - about how pipeline executions are modeled and what execution types we - support, see [Pipeline Data Model And Execution - Types](https://docs.datadoghq.com/continuous_integration/guides/pipeline_data_model/). - + description: |- + Send your pipeline event to your Datadog platform over HTTP. For details about how pipeline executions are modeled and what execution types we support, see [Pipeline Data Model And Execution Types](https://docs.datadoghq.com/continuous_integration/guides/pipeline_data_model/). Multiple events can be sent in an array (up to 1000). - - Pipeline events can be submitted with a timestamp that is up to 18 hours - in the past. + Pipeline events can be submitted with a timestamp that is up to 18 hours in the past. + The duration between the event start and end times cannot exceed 1 year. operationId: CreateCIAppPipelineEvent requestBody: content: application/json: + examples: + default: + value: + data: + attributes: + resource: + end: '2024-11-25T20:08:11.018Z' + git: + author_email: john.doe@email.com + repository_url: https://github.com/organization/example-repository + sha: 7f263865994b76066c4612fd1965215e7dcb4cd2 + level: pipeline + name: Deploy to AWS + partial_retry: false + start: '2024-11-25T20:06:41.018Z' + status: success + unique_id: 3eacb6f3-ff04-4e10-8a9c-46e6d054024a + url: https://my-ci-provider.example/pipelines/my-pipeline/run/1 + type: cipipeline_resource_request schema: $ref: '#/components/schemas/CIAppCreatePipelineEventRequest' required: true @@ -29,8 +166,12 @@ paths: '202': content: application/json: + examples: + default: + value: {} schema: - type: object + type: string + description: (opaque JSON object) description: Request accepted for processing '400': content: @@ -88,13 +229,34 @@ paths: x-codegen-request-body-name: body /api/v2/ci/pipelines/analytics/aggregate: post: - description: >- - Use this API endpoint to aggregate CI Visibility pipeline events into - buckets of computed metrics and timeseries. + description: Use this API endpoint to aggregate CI Visibility pipeline events into buckets of computed metrics and timeseries. operationId: AggregateCIAppPipelineEvents requestBody: content: application/json: + examples: + default: + value: + compute: + - aggregation: pc90 + interval: 5m + metric: '@duration' + type: timeseries + filter: + from: now-15m + query: '@ci.provider.name:github AND @ci.status:error' + to: now + group_by: + - facet: '@ci.status' + histogram: + interval: 10 + max: 100 + min: 50 + sort: + aggregation: count + order: asc + options: + timezone: GMT schema: $ref: '#/components/schemas/CIAppPipelinesAggregateRequest' required: true @@ -102,6 +264,17 @@ paths: '200': content: application/json: + examples: + default: + value: + data: + buckets: + - by: + '@ci.status': error + computes: + pc90: + - time: '2020-06-08T11:55:00.123Z' + value: 2345 schema: $ref: '#/components/schemas/CIAppPipelinesAnalyticsAggregateResponse' description: OK @@ -126,13 +299,9 @@ paths: - ci_visibility_read /api/v2/ci/pipelines/events: get: - description: >- - List endpoint returns CI Visibility pipeline events that match a [search - query](https://docs.datadoghq.com/continuous_integration/explorer/search_syntax/). - - [Results are paginated similarly to - logs](https://docs.datadoghq.com/logs/guide/collect-multiple-logs-with-pagination). - + description: |- + List endpoint returns CI Visibility pipeline events that match a [search query](https://docs.datadoghq.com/continuous_integration/explorer/search_syntax/). + [Results are paginated similarly to logs](https://docs.datadoghq.com/logs/guide/collect-multiple-logs-with-pagination). Use this endpoint to see your latest pipeline events. operationId: ListCIAppPipelineEvents @@ -167,8 +336,7 @@ paths: schema: $ref: '#/components/schemas/CIAppSort' - description: List following results with a cursor provided in the previous query. - example: >- - eyJzdGFydEF0IjoiQVFBQUFYS2tMS3pPbm40NGV3QUFBQUJCV0V0clRFdDZVbG8zY3pCRmNsbHJiVmxDWlEifQ== + example: eyJzdGFydEF0IjoiQVFBQUFYS2tMS3pPbm40NGV3QUFBQUJCV0V0clRFdDZVbG8zY3pCRmNsbHJiVmxDWlEifQ== in: query name: page[cursor] required: false @@ -188,6 +356,12 @@ paths: '200': content: application/json: + examples: + default: + value: + data: [] + meta: + page: {} schema: $ref: '#/components/schemas/CIAppPipelineEventsResponse' description: OK @@ -216,19 +390,28 @@ paths: - ci_visibility_read /api/v2/ci/pipelines/events/search: post: - description: >- - List endpoint returns CI Visibility pipeline events that match a [search - query](https://docs.datadoghq.com/continuous_integration/explorer/search_syntax/). - - [Results are paginated similarly to - logs](https://docs.datadoghq.com/logs/guide/collect-multiple-logs-with-pagination). - + description: |- + List endpoint returns CI Visibility pipeline events that match a [search query](https://docs.datadoghq.com/continuous_integration/explorer/search_syntax/). + [Results are paginated similarly to logs](https://docs.datadoghq.com/logs/guide/collect-multiple-logs-with-pagination). Use this endpoint to build complex events filtering and search. operationId: SearchCIAppPipelineEvents requestBody: content: application/json: + examples: + default: + value: + filter: + from: now-15m + query: '@ci.provider.name:github AND @ci.status:error' + to: now + options: + timezone: GMT + page: + cursor: eyJzdGFydEF0IjoiQVFBQUFYS2tMS3pPbm40NGV3QUFBQUJCV0V0clRFdDZVbG8zY3pCRmNsbHJiVmxDWlEifQ== + limit: 25 + sort: timestamp schema: $ref: '#/components/schemas/CIAppPipelineEventsRequest' required: false @@ -236,6 +419,22 @@ paths: '200': content: application/json: + examples: + default: + value: + data: + - attributes: + attributes: + duration: 2345 + ci_level: pipeline + tags: + - team:backend + id: AAAAAWgN8Xwgr1vKDQAAAABBV2dOOFh3ZzZobm1mWXJFYTR0OA + type: cipipeline + meta: + elapsed: 132 + request_id: MWlFUjVaWGZTTTZPYzM0VXp1OXU2d3xLSVpEMjZKQ0VKUTI0dEYtM3RSOFVR + status: done schema: $ref: '#/components/schemas/CIAppPipelineEventsResponse' description: OK @@ -263,15 +462,346 @@ paths: operator: OR permissions: - ci_visibility_read + /api/v2/ci/test-optimization/settings/policies: + patch: + description: |- + Partially update Flaky Tests Management repository-level policies for the given repository. + Only provided policy blocks are updated; omitted blocks are left unchanged. + operationId: UpdateFlakyTestsManagementPolicies + requestBody: + content: + application/json: + examples: + default: + value: + data: + attributes: + attempt_to_fix: + retries: 3 + disabled: + enabled: false + quarantined: + auto_quarantine_rule: + enabled: true + window_seconds: 3600 + branch_rule: + branches: + - main + enabled: true + excluded_branches: [] + excluded_test_services: [] + enabled: true + failure_rate_rule: + branches: + - main + enabled: true + min_runs: 10 + threshold: 0.5 + repository_id: github.com/example-org/example-repo + type: test_optimization_update_flaky_tests_management_policies_request + schema: + $ref: '#/components/schemas/TestOptimizationFlakyTestsManagementPoliciesUpdateRequest' + required: true + responses: + '200': + content: + application/json: + examples: + default: + value: + data: + attributes: + repository_id: github.com/datadog/test-service + id: github.com/datadog/test-service + type: test_optimization_flaky_tests_management_policies + schema: + $ref: '#/components/schemas/TestOptimizationFlakyTestsManagementPoliciesResponse' + description: OK + '400': + $ref: '#/components/responses/BadRequestResponse' + '403': + $ref: '#/components/responses/NotAuthorizedResponse' + '404': + $ref: '#/components/responses/NotFoundResponse' + '429': + $ref: '#/components/responses/TooManyRequestsResponse' + security: + - apiKeyAuth: [] + appKeyAuth: [] + - AuthZ: + - test_optimization_settings_write + summary: Update Flaky Tests Management policies + tags: + - Test Optimization + x-codegen-request-body-name: body + x-permission: + operator: OR + permissions: + - test_optimization_settings_write + post: + description: Retrieve Flaky Tests Management repository-level policies for the given repository. + operationId: GetFlakyTestsManagementPolicies + requestBody: + content: + application/json: + examples: + default: + value: + data: + attributes: + repository_id: github.com/example-org/example-repo + type: test_optimization_get_flaky_tests_management_policies_request + schema: + $ref: '#/components/schemas/TestOptimizationFlakyTestsManagementPoliciesGetRequest' + required: true + responses: + '200': + content: + application/json: + examples: + default: + value: + data: + attributes: + repository_id: github.com/datadog/test-service + id: github.com/datadog/test-service + type: test_optimization_flaky_tests_management_policies + schema: + $ref: '#/components/schemas/TestOptimizationFlakyTestsManagementPoliciesResponse' + description: OK + '400': + $ref: '#/components/responses/BadRequestResponse' + '403': + $ref: '#/components/responses/NotAuthorizedResponse' + '404': + $ref: '#/components/responses/NotFoundResponse' + '429': + $ref: '#/components/responses/TooManyRequestsResponse' + security: + - apiKeyAuth: [] + appKeyAuth: [] + - AuthZ: + - test_optimization_read + summary: Get Flaky Tests Management policies + tags: + - Test Optimization + x-codegen-request-body-name: body + x-permission: + operator: OR + permissions: + - test_optimization_read + /api/v2/ci/test-optimization/settings/service: + delete: + description: Delete Test Optimization settings for a specific service identified by repository, service name, and environment. + operationId: DeleteTestOptimizationServiceSettings + requestBody: + content: + application/json: + examples: + default: + value: + data: + attributes: + env: prod + repository_id: github.com/datadog/test-service + service_name: test-service + type: test_optimization_delete_service_settings_request + schema: + $ref: '#/components/schemas/TestOptimizationDeleteServiceSettingsRequest' + required: true + responses: + '204': + description: No Content + '400': + $ref: '#/components/responses/BadRequestResponse' + '403': + $ref: '#/components/responses/NotAuthorizedResponse' + '404': + $ref: '#/components/responses/NotFoundResponse' + '429': + $ref: '#/components/responses/TooManyRequestsResponse' + security: + - apiKeyAuth: [] + appKeyAuth: [] + - AuthZ: + - test_optimization_settings_write + summary: Delete Test Optimization service settings + tags: + - Test Optimization + x-codegen-request-body-name: body + x-permission: + operator: OR + permissions: + - test_optimization_settings_write + patch: + description: |- + Partially update Test Optimization settings for a specific service identified by repository, service name, and environment. + Only provided fields are updated; setting a field to `null` is a no-op. + To reset a setting to inherit from the repository level, use the corresponding `_inherit` field. + The `pr_comments_enabled` field is ignored as it cannot be overridden at the service level. + operationId: UpdateTestOptimizationServiceSettings + requestBody: + content: + application/json: + examples: + default: + value: + data: + attributes: + env: prod + repository_id: github.com/datadog/test-service + service_name: test-service + test_impact_analysis_enabled_inherit: true + type: test_optimization_update_service_settings_request + schema: + $ref: '#/components/schemas/TestOptimizationUpdateServiceSettingsRequest' + required: true + responses: + '200': + content: + application/json: + examples: + default: + value: + data: + attributes: + auto_test_retries_enabled: false + auto_test_retries_enabled_is_overridden: false + code_coverage_enabled: false + code_coverage_enabled_is_overridden: false + early_flake_detection_enabled: false + early_flake_detection_enabled_is_overridden: false + env: prod + failed_test_replay_enabled: false + failed_test_replay_enabled_is_overridden: false + pr_comments_enabled: false + repository_id: github.com/datadog/test-service + service_name: test-service + test_impact_analysis_enabled: true + test_impact_analysis_enabled_is_overridden: true + id: 9b8a7c6d-5e4f-3a2b-1c0d-9e8f7a6b5c4d + type: test_optimization_service_settings + schema: + $ref: '#/components/schemas/TestOptimizationServiceSettingsResponse' + description: OK + '400': + $ref: '#/components/responses/BadRequestResponse' + '403': + $ref: '#/components/responses/NotAuthorizedResponse' + '404': + $ref: '#/components/responses/NotFoundResponse' + '429': + $ref: '#/components/responses/TooManyRequestsResponse' + security: + - apiKeyAuth: [] + appKeyAuth: [] + - AuthZ: + - test_optimization_settings_write + summary: Update Test Optimization service settings + tags: + - Test Optimization + x-codegen-request-body-name: body + x-permission: + operator: OR + permissions: + - test_optimization_settings_write + post: + description: Retrieve Test Optimization settings for a specific service identified by repository, service name, and environment. + operationId: GetTestOptimizationServiceSettings + requestBody: + content: + application/json: + examples: + default: + value: + data: + attributes: + env: prod + repository_id: github.com/datadog/test-service + service_name: test-service + type: test_optimization_get_service_settings_request + schema: + $ref: '#/components/schemas/TestOptimizationGetServiceSettingsRequest' + required: true + responses: + '200': + content: + application/json: + examples: + default: + value: + data: + attributes: + auto_test_retries_enabled: false + auto_test_retries_enabled_is_overridden: false + code_coverage_enabled: false + code_coverage_enabled_is_overridden: false + early_flake_detection_enabled: false + early_flake_detection_enabled_is_overridden: false + env: prod + failed_test_replay_enabled: false + failed_test_replay_enabled_is_overridden: false + pr_comments_enabled: false + repository_id: github.com/datadog/test-service + service_name: test-service + test_impact_analysis_enabled: true + test_impact_analysis_enabled_is_overridden: true + id: 9b8a7c6d-5e4f-3a2b-1c0d-9e8f7a6b5c4d + type: test_optimization_service_settings + schema: + $ref: '#/components/schemas/TestOptimizationServiceSettingsResponse' + description: OK + '400': + $ref: '#/components/responses/BadRequestResponse' + '403': + $ref: '#/components/responses/NotAuthorizedResponse' + '404': + $ref: '#/components/responses/NotFoundResponse' + '429': + $ref: '#/components/responses/TooManyRequestsResponse' + security: + - apiKeyAuth: [] + appKeyAuth: [] + - AuthZ: + - test_optimization_read + summary: Get Test Optimization service settings + tags: + - Test Optimization + x-codegen-request-body-name: body + x-permission: + operator: OR + permissions: + - test_optimization_read /api/v2/ci/tests/analytics/aggregate: post: - description: >- - The API endpoint to aggregate CI Visibility test events into buckets of - computed metrics and timeseries. + description: The API endpoint to aggregate CI Visibility test events into buckets of computed metrics and timeseries. operationId: AggregateCIAppTestEvents requestBody: content: application/json: + examples: + default: + value: + compute: + - aggregation: pc90 + interval: 5m + metric: '@duration' + type: timeseries + filter: + from: now-15m + query: '@test.service:web-tests AND @test.status:fail' + to: now + group_by: + - facet: '@test.service' + histogram: + interval: 10 + max: 100 + min: 50 + sort: + aggregation: count + order: asc + options: + timezone: GMT schema: $ref: '#/components/schemas/CIAppTestsAggregateRequest' required: true @@ -279,6 +809,17 @@ paths: '200': content: application/json: + examples: + default: + value: + data: + buckets: + - by: + '@test.service': web-tests + computes: + pc90: + - time: '2020-06-08T11:55:00.123Z' + value: 2345 schema: $ref: '#/components/schemas/CIAppTestsAnalyticsAggregateResponse' description: OK @@ -306,13 +847,9 @@ paths: - test_optimization_read /api/v2/ci/tests/events: get: - description: >- - List endpoint returns CI Visibility test events that match a [search - query](https://docs.datadoghq.com/continuous_integration/explorer/search_syntax/). - - [Results are paginated similarly to - logs](https://docs.datadoghq.com/logs/guide/collect-multiple-logs-with-pagination). - + description: |- + List endpoint returns CI Visibility test events that match a [search query](https://docs.datadoghq.com/continuous_integration/explorer/search_syntax/). + [Results are paginated similarly to logs](https://docs.datadoghq.com/logs/guide/collect-multiple-logs-with-pagination). Use this endpoint to see your latest test events. operationId: ListCIAppTestEvents @@ -347,8 +884,7 @@ paths: schema: $ref: '#/components/schemas/CIAppSort' - description: List following results with a cursor provided in the previous query. - example: >- - eyJzdGFydEF0IjoiQVFBQUFYS2tMS3pPbm40NGV3QUFBQUJCV0V0clRFdDZVbG8zY3pCRmNsbHJiVmxDWlEifQ== + example: eyJzdGFydEF0IjoiQVFBQUFYS2tMS3pPbm40NGV3QUFBQUJCV0V0clRFdDZVbG8zY3pCRmNsbHJiVmxDWlEifQ== in: query name: page[cursor] required: false @@ -368,6 +904,12 @@ paths: '200': content: application/json: + examples: + default: + value: + data: [] + meta: + page: {} schema: $ref: '#/components/schemas/CIAppTestEventsResponse' description: OK @@ -399,19 +941,28 @@ paths: - test_optimization_read /api/v2/ci/tests/events/search: post: - description: >- - List endpoint returns CI Visibility test events that match a [search - query](https://docs.datadoghq.com/continuous_integration/explorer/search_syntax/). - - [Results are paginated similarly to - logs](https://docs.datadoghq.com/logs/guide/collect-multiple-logs-with-pagination). - + description: |- + List endpoint returns CI Visibility test events that match a [search query](https://docs.datadoghq.com/continuous_integration/explorer/search_syntax/). + [Results are paginated similarly to logs](https://docs.datadoghq.com/logs/guide/collect-multiple-logs-with-pagination). Use this endpoint to build complex events filtering and search. operationId: SearchCIAppTestEvents requestBody: content: application/json: + examples: + default: + value: + filter: + from: now-15m + query: '@test.service:web-tests AND @test.status:fail' + to: now + options: + timezone: GMT + page: + cursor: eyJzdGFydEF0IjoiQVFBQUFYS2tMS3pPbm40NGV3QUFBQUJCV0V0clRFdDZVbG8zY3pCRmNsbHJiVmxDWlEifQ== + limit: 25 + sort: timestamp schema: $ref: '#/components/schemas/CIAppTestEventsRequest' required: false @@ -419,6 +970,24 @@ paths: '200': content: application/json: + examples: + default: + value: + data: + - attributes: + attributes: + duration: 2345 + tags: + - team:backend + test_level: test + id: AAAAAWgN8Xwgr1vKDQAAAABBV2dOOFh3ZzZobm1mWXJFYTR0OA + type: citest + links: + next: https://app.datadoghq.com/api/v2/ci/tests/events?page[cursor]=eyJzdGFydEF0IjoiQVFBQUFYS2tMS3pPbm40NGV3QUFBQUJCV0V0clRFdDZVbG8zY3pCRmNsbHJiVmxDWlEifQ== + meta: + elapsed: 132 + request_id: MWlFUjVaWGZTTTZPYzM0VXp1OXU2d3xLSVpEMjZKQ0VKUTI0dEYtM3RSOFVR + status: done schema: $ref: '#/components/schemas/CIAppTestEventsResponse' description: OK @@ -449,223 +1018,491 @@ paths: permissions: - ci_visibility_read - test_optimization_read - /api/v2/dora/deployment: + /api/v2/code-coverage/branch/summary: post: - description: >- - Use this API endpoint to provide data about deployments for DORA - metrics. - - - This is necessary for: - - - Deployment Frequency - - - Change Lead Time - - - Change Failure Rate - operationId: CreateDORADeployment + description: |- + Retrieve aggregated code coverage statistics for a specific branch in a repository. + This endpoint provides overall coverage metrics as well as breakdowns by service + and code owner. + operationId: GetCodeCoverageBranchSummary requestBody: content: application/json: + examples: + default: + value: + data: + attributes: + branch: prod + repository_url: https://github.com/datadog/test-service + type: ci_app_coverage_branch_summary_request schema: - $ref: '#/components/schemas/DORADeploymentRequest' + $ref: '#/components/schemas/BranchCoverageSummaryRequest' required: true responses: '200': content: application/json: + examples: + default: + value: + data: + attributes: + evaluated_flags_count: 8 + evaluated_reports_count: 12 + patch_coverage: 70.1 + total_coverage: 82.4 + id: ZGQxMjM0NV9tYWluXzE3MDk1NjQwMDA= + type: ci_app_coverage_summary schema: - $ref: '#/components/schemas/DORADeploymentResponse' + $ref: '#/components/schemas/CoverageSummaryResponse' description: OK - '202': - content: - application/json: - schema: - $ref: '#/components/schemas/DORADeploymentResponse' - description: OK - but delayed due to incident '400': - content: - application/json: - schema: - $ref: '#/components/schemas/JSONAPIErrorResponse' - description: Bad Request + $ref: '#/components/responses/BadRequestResponse' '403': $ref: '#/components/responses/NotAuthorizedResponse' + '404': + $ref: '#/components/responses/NotFoundResponse' '429': $ref: '#/components/responses/TooManyRequestsResponse' + '500': + content: + application/json: + schema: + $ref: '#/components/schemas/APIErrorResponse' + description: Internal server error security: - apiKeyAuth: [] - summary: Send a deployment event for DORA Metrics + appKeyAuth: [] + - AuthZ: + - code_coverage_read + summary: Get code coverage summary for a branch tags: - - DORA Metrics + - Code Coverage x-codegen-request-body-name: body - /api/v2/dora/deployments: + x-permission: + operator: OR + permissions: + - code_coverage_read + x-unstable: |- + **Note**: This endpoint is in preview and may be subject to change. + If you have any feedback, contact [Datadog support](https://docs.datadoghq.com/help/). + /api/v2/code-coverage/commit/summary: post: - description: Use this API endpoint to get a list of deployment events. - operationId: ListDORADeployments + description: |- + Retrieve aggregated code coverage statistics for a specific commit in a repository. + This endpoint provides overall coverage metrics as well as breakdowns by service + and code owner. + + The commit SHA must be a 40-character hexadecimal string (SHA-1 hash). + operationId: GetCodeCoverageCommitSummary requestBody: content: application/json: + examples: + default: + value: + data: + attributes: + commit_sha: 66adc9350f2cc9b250b69abddab733dd55e1a588 + repository_url: https://github.com/datadog/test-service + type: ci_app_coverage_commit_summary_request schema: - $ref: '#/components/schemas/DORAListDeploymentsRequest' + $ref: '#/components/schemas/CommitCoverageSummaryRequest' required: true responses: '200': content: application/json: + examples: + default: + value: + data: + attributes: + evaluated_flags_count: 8 + evaluated_reports_count: 12 + patch_coverage: 70.1 + total_coverage: 82.4 + id: ZGQxMjM0NV9tYWluXzE3MDk1NjQwMDA= + type: ci_app_coverage_summary schema: - $ref: '#/components/schemas/DORAListResponse' + $ref: '#/components/schemas/CoverageSummaryResponse' description: OK '400': - content: - application/json: - schema: - $ref: '#/components/schemas/JSONAPIErrorResponse' - description: Bad Request + $ref: '#/components/responses/BadRequestResponse' '403': $ref: '#/components/responses/NotAuthorizedResponse' + '404': + $ref: '#/components/responses/NotFoundResponse' '429': $ref: '#/components/responses/TooManyRequestsResponse' + '500': + content: + application/json: + schema: + $ref: '#/components/schemas/APIErrorResponse' + description: Internal server error security: - apiKeyAuth: [] appKeyAuth: [] - summary: Get a list of deployment events + - AuthZ: + - code_coverage_read + summary: Get code coverage summary for a commit tags: - - DORA Metrics + - Code Coverage x-codegen-request-body-name: body x-permission: operator: OR permissions: - - dora_metrics_read - /api/v2/dora/deployments/{deployment_id}: + - code_coverage_read + x-unstable: |- + **Note**: This endpoint is in preview and may be subject to change. + If you have any feedback, contact [Datadog support](https://docs.datadoghq.com/help/). + /api/v2/deployment_gates: get: - description: Use this API endpoint to get a deployment event. - operationId: GetDORADeployment + description: |- + Returns a paginated list of all deployment gates for the organization. + Use `page[cursor]` and `page[size]` query parameters to paginate through results. + operationId: ListDeploymentGates parameters: - - description: The ID of the deployment event. - in: path - name: deployment_id - required: true + - description: Cursor for pagination. Use the `meta.page.next_cursor` value from the previous response. + in: query + name: page[cursor] + required: false schema: type: string + - description: Number of results per page. Defaults to 50. Must be between 1 and 1000. + in: query + name: page[size] + required: false + schema: + default: 50 + format: int64 + maximum: 1000 + minimum: 1 + type: integer responses: '200': content: application/json: + examples: + default: + value: + data: + - attributes: + created_at: '2024-01-01T00:00:00+00:00' + created_by: + id: 00000000-0000-0000-0000-000000000004 + dry_run: false + env: production + identifier: pre + service: my-service + id: 00000000-0000-0000-0000-000000000003 + type: deployment_gate + meta: + page: + size: 50 schema: - $ref: '#/components/schemas/DORAFetchResponse' + $ref: '#/components/schemas/DeploymentGatesListResponse' description: OK '400': - content: - application/json: - schema: - $ref: '#/components/schemas/JSONAPIErrorResponse' - description: Bad Request + $ref: '#/components/responses/HTTPCDGatesBadRequestResponse' + '401': + $ref: '#/components/responses/UnauthorizedResponse' '403': - $ref: '#/components/responses/NotAuthorizedResponse' + $ref: '#/components/responses/ForbiddenResponse' '429': $ref: '#/components/responses/TooManyRequestsResponse' + '500': + content: + application/json: + schema: + $ref: '#/components/schemas/HTTPCIAppErrors' + description: Internal Server Error security: - apiKeyAuth: [] - - appKeyAuth: [] - summary: Get a deployment event + appKeyAuth: [] + summary: Get all deployment gates tags: - - DORA Metrics - x-codegen-request-body-name: body + - Deployment Gates x-permission: operator: OR permissions: - - dora_metrics_read - /api/v2/dora/failure: + - deployment_gates_read + x-unstable: |- + **Note**: This endpoint is in preview and may be subject to change. + If you have any feedback, contact [Datadog support](https://docs.datadoghq.com/help/). post: - description: |- - Use this API endpoint to provide failure data for DORA metrics. - - This is necessary for: - - Change Failure Rate - - Time to Restore - operationId: CreateDORAFailure + description: Endpoint to create a deployment gate. + operationId: CreateDeploymentGate requestBody: content: application/json: + examples: + default: + value: + data: + attributes: + dry_run: false + env: production + identifier: pre + service: my-service + type: deployment_gate schema: - $ref: '#/components/schemas/DORAFailureRequest' + $ref: '#/components/schemas/CreateDeploymentGateParams' required: true responses: '200': content: application/json: + examples: + default: + value: + data: + attributes: + created_at: '2024-01-01T00:00:00+00:00' + created_by: + handle: example-handle + id: 00000000-0000-0000-0000-000000000002 + name: Example Name + dry_run: false + env: production + identifier: pre + service: my-service + id: 00000000-0000-0000-0000-000000000001 + type: deployment_gate schema: - $ref: '#/components/schemas/DORAFailureResponse' + $ref: '#/components/schemas/DeploymentGateResponse' description: OK - '202': + '400': + $ref: '#/components/responses/HTTPCDGatesBadRequestResponse' + '401': + $ref: '#/components/responses/UnauthorizedResponse' + '403': + $ref: '#/components/responses/ForbiddenResponse' + '429': + $ref: '#/components/responses/TooManyRequestsResponse' + '500': content: application/json: schema: - $ref: '#/components/schemas/DORAFailureResponse' - description: OK - but delayed due to incident - '400': + $ref: '#/components/schemas/HTTPCIAppErrors' + description: Internal Server Error + security: + - apiKeyAuth: [] + appKeyAuth: [] + summary: Create deployment gate + tags: + - Deployment Gates + x-permission: + operator: OR + permissions: + - deployment_gates_write + x-unstable: |- + **Note**: This endpoint is in preview and may be subject to change. + If you have any feedback, contact [Datadog support](https://docs.datadoghq.com/help/). + /api/v2/deployment_gates/{gate_id}/rules: + get: + description: Endpoint to get rules for a deployment gate. + operationId: GetDeploymentGateRules + parameters: + - description: The ID of the deployment gate. + in: path + name: gate_id + required: true + schema: + type: string + responses: + '200': content: application/json: + examples: + default: + value: + data: + attributes: + rules: + - created_at: '2024-01-01T00:00:00+00:00' + created_by: + id: 00000000-0000-0000-0000-000000000012 + dry_run: false + gate_id: abc-123 + name: My deployment rule + options: null + type: faulty_deployment_detection + id: 00000000-0000-0000-0000-000000000011 + type: list_deployment_rules schema: - $ref: '#/components/schemas/JSONAPIErrorResponse' - description: Bad Request + $ref: '#/components/schemas/DeploymentGateRulesResponse' + description: OK + '400': + $ref: '#/components/responses/HTTPCDGatesBadRequestResponse' + '401': + $ref: '#/components/responses/UnauthorizedResponse' '403': - $ref: '#/components/responses/NotAuthorizedResponse' + $ref: '#/components/responses/ForbiddenResponse' '429': $ref: '#/components/responses/TooManyRequestsResponse' + '500': + content: + application/json: + schema: + $ref: '#/components/schemas/HTTPCIAppErrors' + description: Internal Server Error security: - apiKeyAuth: [] - summary: Send a failure event for DORA Metrics + appKeyAuth: [] + summary: Get rules for a deployment gate tags: - - DORA Metrics - x-codegen-request-body-name: body - /api/v2/dora/failures: + - Deployment Gates + x-permission: + operator: OR + permissions: + - deployment_gates_read + x-unstable: |- + **Note**: This endpoint is in preview and may be subject to change. + If you have any feedback, contact [Datadog support](https://docs.datadoghq.com/help/). post: - description: Use this API endpoint to get a list of failure events. - operationId: ListDORAFailures + description: Endpoint to create a deployment rule. A gate for the rule must already exist. + operationId: CreateDeploymentRule + parameters: + - description: The ID of the deployment gate. + in: path + name: gate_id + required: true + schema: + type: string requestBody: content: application/json: + examples: + default: + value: + data: + attributes: + dry_run: false + name: My deployment rule + options: + - resource1 + - resource2 + type: faulty_deployment_detection + type: deployment_rule schema: - $ref: '#/components/schemas/DORAListFailuresRequest' + $ref: '#/components/schemas/CreateDeploymentRuleParams' required: true responses: '200': content: application/json: + examples: + default: + value: + data: + attributes: + created_at: '2024-01-01T00:00:00+00:00' + created_by: + handle: test-user + id: 00000000-0000-0000-0000-000000000010 + name: Test User + dry_run: false + gate_id: abc-123 + name: My deployment rule + options: null + type: faulty_deployment_detection + id: 00000000-0000-0000-0000-000000000009 + type: deployment_rule schema: - $ref: '#/components/schemas/DORAListResponse' + $ref: '#/components/schemas/DeploymentRuleResponse' description: OK '400': + $ref: '#/components/responses/HTTPCDGatesBadRequestResponse' + '401': + $ref: '#/components/responses/UnauthorizedResponse' + '403': + $ref: '#/components/responses/ForbiddenResponse' + '429': + $ref: '#/components/responses/TooManyRequestsResponse' + '500': content: application/json: schema: - $ref: '#/components/schemas/JSONAPIErrorResponse' - description: Bad Request + $ref: '#/components/schemas/HTTPCIAppErrors' + description: Internal Server Error + security: + - apiKeyAuth: [] + appKeyAuth: [] + summary: Create deployment rule + tags: + - Deployment Gates + x-permission: + operator: OR + permissions: + - deployment_gates_write + x-unstable: |- + **Note**: This endpoint is in preview and may be subject to change. + If you have any feedback, contact [Datadog support](https://docs.datadoghq.com/help/). + /api/v2/deployment_gates/{gate_id}/rules/{id}: + delete: + description: Endpoint to delete a deployment rule. + operationId: DeleteDeploymentRule + parameters: + - description: The ID of the deployment gate. + in: path + name: gate_id + required: true + schema: + type: string + - description: The ID of the deployment rule. + in: path + name: id + required: true + schema: + type: string + responses: + '204': + description: No Content + '400': + $ref: '#/components/responses/HTTPCDGatesBadRequestResponse' + '401': + $ref: '#/components/responses/UnauthorizedResponse' '403': - $ref: '#/components/responses/NotAuthorizedResponse' + $ref: '#/components/responses/ForbiddenResponse' + '404': + $ref: '#/components/responses/HTTPCDGatesNotFoundResponse' '429': $ref: '#/components/responses/TooManyRequestsResponse' + '500': + content: + application/json: + schema: + $ref: '#/components/schemas/HTTPCIAppErrors' + description: Internal Server Error security: - apiKeyAuth: [] appKeyAuth: [] - summary: Get a list of failure events + summary: Delete deployment rule tags: - - DORA Metrics - x-codegen-request-body-name: body + - Deployment Gates x-permission: operator: OR permissions: - - dora_metrics_read - /api/v2/dora/failures/{failure_id}: + - deployment_gates_write + x-unstable: |- + **Note**: This endpoint is in preview and may be subject to change. + If you have any feedback, contact [Datadog support](https://docs.datadoghq.com/help/). get: - description: Use this API endpoint to get a failure event. - operationId: GetDORAFailure + description: Endpoint to get a deployment rule. + operationId: GetDeploymentRule parameters: - - description: The ID of the failure event. + - description: The ID of the deployment gate. in: path - name: failure_id + name: gate_id + required: true + schema: + type: string + - description: The ID of the deployment rule. + in: path + name: id required: true schema: type: string @@ -673,2087 +1510,9418 @@ paths: '200': content: application/json: + examples: + default: + value: + data: + attributes: + created_at: '2024-01-01T00:00:00+00:00' + created_by: + id: 00000000-0000-0000-0000-000000000014 + dry_run: false + gate_id: abc-123 + name: My deployment rule + options: null + type: faulty_deployment_detection + id: 00000000-0000-0000-0000-000000000013 + type: deployment_rule schema: - $ref: '#/components/schemas/DORAFetchResponse' + $ref: '#/components/schemas/DeploymentRuleResponse' description: OK '400': - content: - application/json: - schema: - $ref: '#/components/schemas/JSONAPIErrorResponse' - description: Bad Request + $ref: '#/components/responses/HTTPCDGatesBadRequestResponse' + '401': + $ref: '#/components/responses/UnauthorizedResponse' '403': - $ref: '#/components/responses/NotAuthorizedResponse' + $ref: '#/components/responses/ForbiddenResponse' + '404': + $ref: '#/components/responses/HTTPCDRulesNotFoundResponse' '429': $ref: '#/components/responses/TooManyRequestsResponse' + '500': + content: + application/json: + schema: + $ref: '#/components/schemas/HTTPCIAppErrors' + description: Internal Server Error security: - apiKeyAuth: [] - - appKeyAuth: [] - summary: Get a failure event + appKeyAuth: [] + summary: Get deployment rule tags: - - DORA Metrics - x-codegen-request-body-name: body + - Deployment Gates x-permission: operator: OR permissions: - - dora_metrics_read - /api/v2/dora/incident: - post: - deprecated: true - description: >- - **Note**: This endpoint is deprecated. Please use `/api/v2/dora/failure` - instead. - - - Use this API endpoint to provide failure data for DORA metrics. - - - This is necessary for: - - - Change Failure Rate - - - Time to Restore - operationId: CreateDORAIncident + - deployment_gates_read + x-unstable: |- + **Note**: This endpoint is in preview and may be subject to change. + If you have any feedback, contact [Datadog support](https://docs.datadoghq.com/help/). + put: + description: Endpoint to update a deployment rule. + operationId: UpdateDeploymentRule + parameters: + - description: The ID of the deployment gate. + in: path + name: gate_id + required: true + schema: + type: string + - description: The ID of the deployment rule. + in: path + name: id + required: true + schema: + type: string requestBody: content: application/json: + examples: + default: + value: + data: + attributes: + dry_run: false + name: Updated deployment rule + options: + - resource1 + - resource2 + type: deployment_rule schema: - $ref: '#/components/schemas/DORAFailureRequest' + $ref: '#/components/schemas/UpdateDeploymentRuleParams' required: true responses: '200': content: application/json: + examples: + default: + value: + data: + attributes: + created_at: '2024-01-01T00:00:00+00:00' + created_by: + id: 00000000-0000-0000-0000-000000000016 + dry_run: false + gate_id: abc-123 + name: Updated deployment rule + options: + - resource1 + type: faulty_deployment_detection + id: 00000000-0000-0000-0000-000000000015 + type: deployment_rule schema: - $ref: '#/components/schemas/DORAFailureResponse' + $ref: '#/components/schemas/DeploymentRuleResponse' description: OK - '202': - content: - application/json: - schema: - $ref: '#/components/schemas/DORAFailureResponse' - description: OK - but delayed due to incident '400': + $ref: '#/components/responses/HTTPCDGatesBadRequestResponse' + '401': + $ref: '#/components/responses/UnauthorizedResponse' + '403': + $ref: '#/components/responses/ForbiddenResponse' + '404': + $ref: '#/components/responses/HTTPCDRulesNotFoundResponse' + '429': + $ref: '#/components/responses/TooManyRequestsResponse' + '500': content: application/json: schema: - $ref: '#/components/schemas/JSONAPIErrorResponse' - description: Bad Request + $ref: '#/components/schemas/HTTPCIAppErrors' + description: Internal Server Error + security: + - apiKeyAuth: [] + appKeyAuth: [] + summary: Update deployment rule + tags: + - Deployment Gates + x-permission: + operator: OR + permissions: + - deployment_gates_write + x-unstable: |- + **Note**: This endpoint is in preview and may be subject to change. + If you have any feedback, contact [Datadog support](https://docs.datadoghq.com/help/). + /api/v2/deployment_gates/{id}: + delete: + description: Endpoint to delete a deployment gate. Rules associated with the gate are also deleted. + operationId: DeleteDeploymentGate + parameters: + - description: The ID of the deployment gate. + in: path + name: id + required: true + schema: + type: string + responses: + '204': + description: No Content + '400': + $ref: '#/components/responses/HTTPCDGatesBadRequestResponse' + '401': + $ref: '#/components/responses/UnauthorizedResponse' '403': - $ref: '#/components/responses/NotAuthorizedResponse' + $ref: '#/components/responses/ForbiddenResponse' + '404': + $ref: '#/components/responses/HTTPCDGatesNotFoundResponse' '429': $ref: '#/components/responses/TooManyRequestsResponse' + '500': + content: + application/json: + schema: + $ref: '#/components/schemas/HTTPCIAppErrors' + description: Internal Server Error security: - apiKeyAuth: [] - summary: Send an incident event for DORA Metrics + appKeyAuth: [] + summary: Delete deployment gate tags: - - DORA Metrics - x-codegen-request-body-name: body - /api/v2/workflows: - post: - description: >- - Create a new workflow, returning the workflow ID. This API requires a - [registered application - key](https://docs.datadoghq.com/api/latest/action-connection/#register-a-new-app-key). - Alternatively, you can configure these permissions [in the - UI](https://docs.datadoghq.com/account_management/api-app-keys/#actions-api-access). - operationId: CreateWorkflow - requestBody: - content: - application/json: - schema: - $ref: '#/components/schemas/CreateWorkflowRequest' - required: true - responses: - '201': - content: - application/json: - schema: - $ref: '#/components/schemas/CreateWorkflowResponse' - description: Successfully created a workflow. - '400': - content: - application/json: - schema: - $ref: '#/components/schemas/JSONAPIErrorResponse' - description: Bad request - '403': - content: - application/json: - schema: - $ref: '#/components/schemas/JSONAPIErrorResponse' - description: Forbidden - '429': - content: - application/json: - schema: - $ref: '#/components/schemas/JSONAPIErrorResponse' - description: Too many requests - summary: Create a Workflow - tags: - - Workflow Automation + - Deployment Gates x-permission: operator: OR permissions: - - workflows_write - /api/v2/workflows/{workflow_id}: - delete: - description: >- - Delete a workflow by ID. This API requires a [registered application - key](https://docs.datadoghq.com/api/latest/action-connection/#register-a-new-app-key). - Alternatively, you can configure these permissions [in the - UI](https://docs.datadoghq.com/account_management/api-app-keys/#actions-api-access). - operationId: DeleteWorkflow + - deployment_gates_write + x-unstable: |- + **Note**: This endpoint is in preview and may be subject to change. + If you have any feedback, contact [Datadog support](https://docs.datadoghq.com/help/). + get: + description: Endpoint to get a deployment gate. + operationId: GetDeploymentGate parameters: - - $ref: '#/components/parameters/WorkflowId' + - description: The ID of the deployment gate. + in: path + name: id + required: true + schema: + type: string responses: - '204': - description: Successfully deleted a workflow. - '403': + '200': content: application/json: + examples: + default: + value: + data: + attributes: + created_at: '2024-01-01T00:00:00+00:00' + created_by: + id: 00000000-0000-0000-0000-000000000006 + dry_run: false + env: production + identifier: pre + service: my-service + id: 00000000-0000-0000-0000-000000000005 + type: deployment_gate schema: - $ref: '#/components/schemas/JSONAPIErrorResponse' - description: Forbidden + $ref: '#/components/schemas/DeploymentGateResponse' + description: OK + '400': + $ref: '#/components/responses/HTTPCDGatesBadRequestResponse' + '401': + $ref: '#/components/responses/UnauthorizedResponse' + '403': + $ref: '#/components/responses/ForbiddenResponse' '404': - content: - application/json: - schema: - $ref: '#/components/schemas/JSONAPIErrorResponse' - description: Not found + $ref: '#/components/responses/HTTPCDGatesNotFoundResponse' '429': + $ref: '#/components/responses/TooManyRequestsResponse' + '500': content: application/json: schema: - $ref: '#/components/schemas/JSONAPIErrorResponse' - description: Too many requests - summary: Delete an existing Workflow + $ref: '#/components/schemas/HTTPCIAppErrors' + description: Internal Server Error + security: + - apiKeyAuth: [] + appKeyAuth: [] + summary: Get deployment gate tags: - - Workflow Automation + - Deployment Gates x-permission: operator: OR permissions: - - workflows_write - get: - description: >- - Get a workflow by ID. This API requires a [registered application - key](https://docs.datadoghq.com/api/latest/action-connection/#register-a-new-app-key). - Alternatively, you can configure these permissions [in the - UI](https://docs.datadoghq.com/account_management/api-app-keys/#actions-api-access). - operationId: GetWorkflow + - deployment_gates_read + x-unstable: |- + **Note**: This endpoint is in preview and may be subject to change. + If you have any feedback, contact [Datadog support](https://docs.datadoghq.com/help/). + put: + description: Endpoint to update a deployment gate. + operationId: UpdateDeploymentGate parameters: - - $ref: '#/components/parameters/WorkflowId' + - description: The ID of the deployment gate. + in: path + name: id + required: true + schema: + type: string + requestBody: + content: + application/json: + examples: + default: + value: + data: + attributes: + dry_run: false + id: 12345678-1234-1234-1234-123456789012 + type: deployment_gate + schema: + $ref: '#/components/schemas/UpdateDeploymentGateParams' + required: true responses: '200': content: application/json: + examples: + default: + value: + data: + attributes: + created_at: '2024-01-01T00:00:00+00:00' + created_by: + id: 00000000-0000-0000-0000-000000000008 + dry_run: false + env: production + identifier: pre + service: my-service + id: 00000000-0000-0000-0000-000000000007 + type: deployment_gate schema: - $ref: '#/components/schemas/GetWorkflowResponse' - description: Successfully got a workflow. + $ref: '#/components/schemas/DeploymentGateResponse' + description: OK '400': - content: - application/json: - schema: - $ref: '#/components/schemas/JSONAPIErrorResponse' - description: Bad request + $ref: '#/components/responses/HTTPCDGatesBadRequestResponse' + '401': + $ref: '#/components/responses/UnauthorizedResponse' '403': - content: - application/json: - schema: - $ref: '#/components/schemas/JSONAPIErrorResponse' - description: Forbidden + $ref: '#/components/responses/ForbiddenResponse' '404': - content: - application/json: - schema: - $ref: '#/components/schemas/JSONAPIErrorResponse' - description: Not found + $ref: '#/components/responses/HTTPCDGatesNotFoundResponse' '429': + $ref: '#/components/responses/TooManyRequestsResponse' + '500': content: application/json: schema: - $ref: '#/components/schemas/JSONAPIErrorResponse' - description: Too many requests - summary: Get an existing Workflow + $ref: '#/components/schemas/HTTPCIAppErrors' + description: Internal Server Error + security: + - apiKeyAuth: [] + appKeyAuth: [] + summary: Update deployment gate tags: - - Workflow Automation + - Deployment Gates x-permission: operator: OR permissions: - - workflows_read - patch: - description: >- - Update a workflow by ID. This API requires a [registered application - key](https://docs.datadoghq.com/api/latest/action-connection/#register-a-new-app-key). - Alternatively, you can configure these permissions [in the - UI](https://docs.datadoghq.com/account_management/api-app-keys/#actions-api-access). - operationId: UpdateWorkflow - parameters: - - $ref: '#/components/parameters/WorkflowId' + - deployment_gates_write + x-unstable: |- + **Note**: This endpoint is in preview and may be subject to change. + If you have any feedback, contact [Datadog support](https://docs.datadoghq.com/help/). + /api/v2/deployments/gates/evaluation: + post: + description: |- + Triggers an asynchronous deployment gate evaluation for the given service and environment. + Returns an evaluation ID that can be used to poll for the result via the + `GET /api/v2/deployments/gates/evaluation/{id}` endpoint. + + When the `configuration` attribute is provided, rules are evaluated inline from that configuration + and no pre-configured gate is required. When `configuration` is omitted, rules are resolved from the + gate pre-configured for the given service and environment through the Datadog UI, API, or Terraform. + operationId: TriggerDeploymentGatesEvaluation requestBody: content: application/json: + examples: + default: + summary: Evaluate a preconfigured gate + value: + data: + attributes: + env: staging + identifier: pre-deploy + primary_tag: region:us-east-1 + service: transaction-backend + version: v1.2.3 + type: deployment_gates_evaluation_request + with-configuration: + summary: Evaluate with inline rule configuration + value: + data: + attributes: + configuration: + dry_run: false + rules: + - dry_run: false + name: error rate monitors + options: + duration: 300 + query: service:transaction-backend env:production + type: monitor + - dry_run: false + name: apm faulty deployment + options: + duration: 900 + excluded_resources: + - GET /healthcheck + type: faulty_deployment_detection + env: production + service: transaction-backend + version: 1.2.3 + type: deployment_gates_evaluation_request schema: - $ref: '#/components/schemas/UpdateWorkflowRequest' + $ref: '#/components/schemas/DeploymentGatesEvaluationRequest' required: true responses: - '200': + '202': content: application/json: + examples: + default: + value: + data: + attributes: + evaluation_id: 00000000-0000-0000-0000-000000000001 + id: 00000000-0000-0000-0000-000000000001 + type: deployment_gates_evaluation_response schema: - $ref: '#/components/schemas/UpdateWorkflowResponse' - description: Successfully updated a workflow. + $ref: '#/components/schemas/DeploymentGatesEvaluationResponse' + description: Accepted '400': - content: - application/json: - schema: - $ref: '#/components/schemas/JSONAPIErrorResponse' - description: Bad request + $ref: '#/components/responses/HTTPCDGatesBadRequestResponse' + '401': + $ref: '#/components/responses/UnauthorizedResponse' '403': - content: - application/json: - schema: - $ref: '#/components/schemas/JSONAPIErrorResponse' - description: Forbidden + $ref: '#/components/responses/ForbiddenResponse' '404': - content: - application/json: - schema: - $ref: '#/components/schemas/JSONAPIErrorResponse' - description: Not found + $ref: '#/components/responses/HTTPCDGatesNotFoundResponse' '429': + $ref: '#/components/responses/TooManyRequestsResponse' + '500': content: application/json: schema: - $ref: '#/components/schemas/JSONAPIErrorResponse' - description: Too many requests - summary: Update an existing Workflow + $ref: '#/components/schemas/HTTPCIAppErrors' + description: Internal Server Error + security: + - apiKeyAuth: [] + appKeyAuth: [] + summary: Trigger a deployment gate evaluation tags: - - Workflow Automation + - Deployment Gates x-permission: operator: OR permissions: - - workflows_write - /api/v2/workflows/{workflow_id}/instances: + - deployment_gates_evaluate + x-unstable: |- + **Note**: This endpoint is in preview and may be subject to change. + If you have any feedback, contact [Datadog support](https://docs.datadoghq.com/help/). + /api/v2/deployments/gates/evaluation/{id}: get: - description: >- - List all instances of a given workflow. This API requires a [registered - application - key](https://docs.datadoghq.com/api/latest/action-connection/#register-a-new-app-key). - Alternatively, you can configure these permissions [in the - UI](https://docs.datadoghq.com/account_management/api-app-keys/#actions-api-access). - operationId: ListWorkflowInstances + description: |- + Retrieves the result of a deployment gate evaluation by its evaluation ID. + If the evaluation is still in progress, `data.attributes.gate_status` will be `in_progress`; + continue polling until it returns `pass` or `fail`. + Polling every 10-20 seconds is recommended. + The endpoint may return a 404 if called too soon after triggering; retry after a few seconds. + operationId: GetDeploymentGatesEvaluationResult parameters: - - $ref: '#/components/parameters/WorkflowId' - - $ref: '#/components/parameters/PageSize' - - $ref: '#/components/parameters/PageNumber' + - description: The evaluation ID returned by the trigger endpoint. + in: path + name: id + required: true + schema: + format: uuid + type: string responses: '200': content: application/json: + examples: + default: + value: + data: + attributes: + dry_run: false + evaluation_id: 00000000-0000-0000-0000-000000000001 + evaluation_url: https://app.datadoghq.com/ci/deployment-gates/evaluations?index=cdgates&query=level%3Agate+%40evaluation_id%3A00000000-0000-0000-0000-000000000001 + gate_id: 00000000-0000-0000-0000-000000000001 + gate_status: pass + rules: [] + id: 00000000-0000-0000-0000-000000000001 + type: deployment_gates_evaluation_result_response schema: - $ref: '#/components/schemas/WorkflowListInstancesResponse' + $ref: '#/components/schemas/DeploymentGatesEvaluationResultResponse' description: OK '400': - $ref: '#/components/responses/BadRequestResponse' + $ref: '#/components/responses/HTTPCDGatesBadRequestResponse' + '401': + $ref: '#/components/responses/UnauthorizedResponse' '403': $ref: '#/components/responses/ForbiddenResponse' + '404': + $ref: '#/components/responses/HTTPCDGatesNotFoundResponse' '429': $ref: '#/components/responses/TooManyRequestsResponse' + '500': + content: + application/json: + schema: + $ref: '#/components/schemas/HTTPCIAppErrors' + description: Internal Server Error security: - apiKeyAuth: [] appKeyAuth: [] - - AuthZ: - - workflows_read - summary: List workflow instances + summary: Get a deployment gate evaluation result tags: - - Workflow Automation + - Deployment Gates x-permission: operator: OR permissions: - - workflows_read + - deployment_gates_evaluate + x-unstable: |- + **Note**: This endpoint is in preview and may be subject to change. + If you have any feedback, contact [Datadog support](https://docs.datadoghq.com/help/). + /api/v2/dora/deployment: post: - description: >- - Execute the given workflow. This API requires a [registered application - key](https://docs.datadoghq.com/api/latest/action-connection/#register-a-new-app-key). - Alternatively, you can configure these permissions [in the - UI](https://docs.datadoghq.com/account_management/api-app-keys/#actions-api-access). - operationId: CreateWorkflowInstance - parameters: - - $ref: '#/components/parameters/WorkflowId' + description: |- + Use this API endpoint to provide deployment data. + + This is necessary for: + - Deployment Frequency + - Change Lead Time + - Change Failure Rate + - Failed Deployment Recovery Time + operationId: CreateDORADeployment requestBody: content: application/json: + examples: + default: + value: + data: + attributes: + custom_tags: + - language:java + - department:engineering + env: staging + finished_at: 1693491984000000000 + git: + commit_sha: 66adc9350f2cc9b250b69abddab733dd55e1a588 + repository_url: https://github.com/organization/example-repository + service: test-service + started_at: 1693491974000000000 + team: backend + version: v1.12.07 schema: - $ref: '#/components/schemas/WorkflowInstanceCreateRequest' + $ref: '#/components/schemas/DORADeploymentRequest' required: true responses: '200': content: application/json: + examples: + default: + value: + data: + id: 4242fcdd31586083 + type: dora_deployment schema: - $ref: '#/components/schemas/WorkflowInstanceCreateResponse' - description: Created + $ref: '#/components/schemas/DORADeploymentResponse' + description: OK + '202': + content: + application/json: + examples: + default: + value: + data: + id: 4242fcdd31586083 + type: dora_deployment + schema: + $ref: '#/components/schemas/DORADeploymentResponse' + description: OK - but delayed due to incident '400': - $ref: '#/components/responses/BadRequestResponse' + content: + application/json: + schema: + $ref: '#/components/schemas/JSONAPIErrorResponse' + description: Bad Request '403': - $ref: '#/components/responses/ForbiddenResponse' + $ref: '#/components/responses/NotAuthorizedResponse' '429': $ref: '#/components/responses/TooManyRequestsResponse' security: - apiKeyAuth: [] - appKeyAuth: [] - - AuthZ: - - workflows_run - summary: Execute a workflow + summary: Send a deployment event tags: - - Workflow Automation + - DORA Metrics x-codegen-request-body-name: body - x-permission: - operator: OR - permissions: - - workflows_run - /api/v2/workflows/{workflow_id}/instances/{instance_id}: - get: - description: >- - Get a specific execution of a given workflow. This API requires a - [registered application - key](https://docs.datadoghq.com/api/latest/action-connection/#register-a-new-app-key). - Alternatively, you can configure these permissions [in the - UI](https://docs.datadoghq.com/account_management/api-app-keys/#actions-api-access). - operationId: GetWorkflowInstance + /api/v2/dora/deployment/{deployment_id}: + delete: + description: Use this API endpoint to delete a deployment event. + operationId: DeleteDORADeployment parameters: - - $ref: '#/components/parameters/WorkflowId' - - $ref: '#/components/parameters/InstanceId' + - description: The ID of the deployment event to delete. + in: path + name: deployment_id + required: true + schema: + type: string responses: - '200': + '202': + description: Accepted + '400': content: application/json: schema: - $ref: '#/components/schemas/WorklflowGetInstanceResponse' - description: OK - '400': - $ref: '#/components/responses/BadRequestResponse' + $ref: '#/components/schemas/JSONAPIErrorResponse' + description: Bad Request '403': - $ref: '#/components/responses/ForbiddenResponse' - '404': - $ref: '#/components/responses/NotFoundResponse' + $ref: '#/components/responses/NotAuthorizedResponse' '429': $ref: '#/components/responses/TooManyRequestsResponse' security: - apiKeyAuth: [] appKeyAuth: [] - - AuthZ: - - workflows_read - summary: Get a workflow instance + summary: Delete a deployment event tags: - - Workflow Automation + - DORA Metrics x-permission: operator: OR permissions: - - workflows_read - /api/v2/workflows/{workflow_id}/instances/{instance_id}/cancel: - put: - description: >- - Cancels a specific execution of a given workflow. This API requires a - [registered application - key](https://docs.datadoghq.com/api/latest/action-connection/#register-a-new-app-key). - Alternatively, you can configure these permissions [in the - UI](https://docs.datadoghq.com/account_management/api-app-keys/#actions-api-access). - operationId: CancelWorkflowInstance + - dora_metrics_write + /api/v2/dora/deployments: + patch: + description: Update a deployment's change failure status, identifying the deployment by its service, environment, and version instead of its ID. Use this to mark a deployment as a change failure or back to stable. You can optionally include remediation details to enable failed deployment recovery time calculation. If multiple deployments match the given service, environment, and version, the most recently finished one is updated. + operationId: PatchDORADeploymentByVersion + requestBody: + content: + application/json: + examples: + default: + value: + data: + attributes: + change_failure: true + env: production + service: my-service + version: v1.2.3 + type: dora_deployment_patch_request + schema: + $ref: '#/components/schemas/DORADeploymentPatchByVersionRequest' + required: true + responses: + '202': + description: Accepted + '400': + content: + application/json: + schema: + $ref: '#/components/schemas/JSONAPIErrorResponse' + description: Bad Request + '403': + $ref: '#/components/responses/NotAuthorizedResponse' + '429': + $ref: '#/components/responses/TooManyRequestsResponse' + security: + - apiKeyAuth: [] + appKeyAuth: [] + summary: Patch a deployment event by version + tags: + - DORA Metrics + x-codegen-request-body-name: body + x-permission: + operator: OR + permissions: + - dora_metrics_write + x-unstable: |- + **Note**: This endpoint is in preview and is subject to change. + If you have any feedback, contact [Datadog support](https://docs.datadoghq.com/help/). + post: + description: Use this API endpoint to get a list of deployment events. + operationId: ListDORADeployments + requestBody: + content: + application/json: + examples: + default: + value: + data: + attributes: + from: '2025-01-01T00:00:00Z' + limit: 100 + query: service:(test-service OR api-service) env:production team:backend + sort: '-finished_at' + to: '2025-01-31T23:59:59Z' + type: dora_deployments_list_request + schema: + $ref: '#/components/schemas/DORAListDeploymentsRequest' + required: true + responses: + '200': + content: + application/json: + examples: + default: + value: + data: + - attributes: + env: production + finished_at: '2023-08-31T14:26:24Z' + service: test-service + started_at: '2023-08-31T14:26:14Z' + team: backend + id: abc-123 + type: dora_deployment + schema: + $ref: '#/components/schemas/DORADeploymentsListResponse' + description: OK + '400': + content: + application/json: + schema: + $ref: '#/components/schemas/JSONAPIErrorResponse' + description: Bad Request + '403': + $ref: '#/components/responses/NotAuthorizedResponse' + '429': + $ref: '#/components/responses/TooManyRequestsResponse' + security: + - apiKeyAuth: [] + appKeyAuth: [] + summary: Get a list of deployment events + tags: + - DORA Metrics + x-codegen-request-body-name: body + x-permission: + operator: OR + permissions: + - dora_metrics_read + /api/v2/dora/deployments/{deployment_id}: + get: + description: Use this API endpoint to get a deployment event. + operationId: GetDORADeployment parameters: - - $ref: '#/components/parameters/WorkflowId' - - $ref: '#/components/parameters/InstanceId' + - description: The ID of the deployment event. + in: path + name: deployment_id + required: true + schema: + type: string responses: '200': content: application/json: + examples: + default: + value: + data: + attributes: + env: production + finished_at: '2023-08-31T14:26:24Z' + service: test-service + started_at: '2023-08-31T14:26:14Z' + team: backend + id: abc-123 + type: dora_deployment schema: - $ref: '#/components/schemas/WorklflowCancelInstanceResponse' + $ref: '#/components/schemas/DORADeploymentFetchResponse' description: OK '400': - $ref: '#/components/responses/BadRequestResponse' + content: + application/json: + schema: + $ref: '#/components/schemas/JSONAPIErrorResponse' + description: Bad Request '403': - $ref: '#/components/responses/ForbiddenResponse' - '404': - $ref: '#/components/responses/NotFoundResponse' + $ref: '#/components/responses/NotAuthorizedResponse' '429': $ref: '#/components/responses/TooManyRequestsResponse' - summary: Cancel a workflow instance + security: + - apiKeyAuth: [] + appKeyAuth: [] + summary: Get a deployment event tags: - - Workflow Automation + - DORA Metrics + x-codegen-request-body-name: body x-permission: operator: OR permissions: - - workflows_run -components: - schemas: - CIAppCreatePipelineEventRequest: - description: Request object. - properties: - data: - $ref: >- - #/components/schemas/CIAppCreatePipelineEventRequestDataSingleOrArray + - dora_metrics_read + patch: + description: Update a deployment's change failure status. Use this to mark a deployment as a change failure or back to stable. You can optionally include remediation details to enable failed deployment recovery time calculation. + operationId: PatchDORADeployment + parameters: + - description: The ID of the deployment event. + in: path + name: deployment_id + required: true + schema: + type: string + requestBody: + content: + application/json: + examples: + default: + value: + data: + attributes: + change_failure: true + remediation: + id: eG42zNIkVjM + type: rollback + id: z_RwVLi7v4Y + type: dora_deployment_patch_request + schema: + $ref: '#/components/schemas/DORADeploymentPatchRequest' + required: true + responses: + '202': + description: Accepted + '400': + content: + application/json: + schema: + $ref: '#/components/schemas/JSONAPIErrorResponse' + description: Bad Request + '403': + $ref: '#/components/responses/NotAuthorizedResponse' + '429': + $ref: '#/components/responses/TooManyRequestsResponse' + security: + - apiKeyAuth: [] + appKeyAuth: [] + summary: Patch a deployment event + tags: + - DORA Metrics + x-codegen-request-body-name: body + x-permission: + operator: OR + permissions: + - dora_metrics_write + /api/v2/dora/failure: + post: + description: |- + Use this API endpoint to provide incident data for DORA Metrics. + Note that change failure rate and failed deployment recovery time are computed from change failures detected on deployments, not from incident events sent through this endpoint. + Tracking incidents gives a side-by-side view of how failed deployments translate into real-world incidents, including their severity and frequency. + operationId: CreateDORAFailure + requestBody: + content: + application/json: + examples: + default: + value: + data: + attributes: + custom_tags: + - language:java + - department:engineering + env: staging + finished_at: 1693491984000000000 + git: + commit_sha: 66adc9350f2cc9b250b69abddab733dd55e1a588 + repository_url: https://github.com/organization/example-repository + name: Webserver is down failing all requests. + services: + - test-service + severity: High + started_at: 1693491974000000000 + team: backend + version: v1.12.07 + schema: + $ref: '#/components/schemas/DORAFailureRequest' + required: true + responses: + '200': + content: + application/json: + examples: + default: + value: + data: + id: 4242fcdd31586085 + type: dora_failure + schema: + $ref: '#/components/schemas/DORAFailureResponse' + description: OK + '202': + content: + application/json: + examples: + default: + value: + data: + id: 4242fcdd31586085 + type: dora_failure + schema: + $ref: '#/components/schemas/DORAFailureResponse' + description: OK - but delayed due to incident + '400': + content: + application/json: + schema: + $ref: '#/components/schemas/JSONAPIErrorResponse' + description: Bad Request + '403': + $ref: '#/components/responses/NotAuthorizedResponse' + '429': + $ref: '#/components/responses/TooManyRequestsResponse' + security: + - apiKeyAuth: [] + summary: Send an incident event + tags: + - DORA Metrics + x-codegen-request-body-name: body + /api/v2/dora/failure/{failure_id}: + delete: + description: Use this API endpoint to delete an incident event. + operationId: DeleteDORAFailure + parameters: + - description: The ID of the incident event to delete. + in: path + name: failure_id + required: true + schema: + type: string + responses: + '202': + description: Accepted + '400': + content: + application/json: + schema: + $ref: '#/components/schemas/JSONAPIErrorResponse' + description: Bad Request + '403': + $ref: '#/components/responses/NotAuthorizedResponse' + '429': + $ref: '#/components/responses/TooManyRequestsResponse' + security: + - apiKeyAuth: [] + appKeyAuth: [] + summary: Delete an incident event + tags: + - DORA Metrics + x-permission: + operator: OR + permissions: + - dora_metrics_write + /api/v2/dora/failures: + post: + description: Use this API endpoint to get a list of incident events. + operationId: ListDORAFailures + requestBody: + content: + application/json: + examples: + default: + value: + data: + attributes: + from: '2025-01-01T00:00:00Z' + limit: 100 + query: severity:(SEV-1 OR SEV-2) env:production team:backend + sort: '-started_at' + to: '2025-01-31T23:59:59Z' + type: dora_failures_list_request + schema: + $ref: '#/components/schemas/DORAListFailuresRequest' + required: true + responses: + '200': + content: + application/json: + examples: + default: + value: + data: + - attributes: + env: production + name: Database outage + services: + - test-service + severity: SEV-1 + started_at: '2023-08-31T14:29:34Z' + team: backend + id: abc-123 + type: dora_failure + schema: + $ref: '#/components/schemas/DORAFailuresListResponse' + description: OK + '400': + content: + application/json: + schema: + $ref: '#/components/schemas/JSONAPIErrorResponse' + description: Bad Request + '403': + $ref: '#/components/responses/NotAuthorizedResponse' + '429': + $ref: '#/components/responses/TooManyRequestsResponse' + security: + - apiKeyAuth: [] + appKeyAuth: [] + summary: Get a list of incident events + tags: + - DORA Metrics + x-codegen-request-body-name: body + x-permission: + operator: OR + permissions: + - dora_metrics_read + /api/v2/dora/failures/{failure_id}: + get: + description: Use this API endpoint to get an incident event. + operationId: GetDORAFailure + parameters: + - description: The ID of the incident event. + in: path + name: failure_id + required: true + schema: + type: string + responses: + '200': + content: + application/json: + examples: + default: + value: + data: + attributes: + env: production + name: Database outage + services: + - test-service + severity: SEV-1 + started_at: '2023-08-31T14:29:34Z' + team: backend + id: abc-123 + type: dora_failure + schema: + $ref: '#/components/schemas/DORAFailureFetchResponse' + description: OK + '400': + content: + application/json: + schema: + $ref: '#/components/schemas/JSONAPIErrorResponse' + description: Bad Request + '403': + $ref: '#/components/responses/NotAuthorizedResponse' + '429': + $ref: '#/components/responses/TooManyRequestsResponse' + security: + - apiKeyAuth: [] + appKeyAuth: [] + summary: Get an incident event + tags: + - DORA Metrics + x-codegen-request-body-name: body + x-permission: + operator: OR + permissions: + - dora_metrics_read + /api/v2/dora/incident: + post: + deprecated: true + description: |- + **Note**: This endpoint is deprecated. Please use `/api/v2/dora/failure` instead. + + Use this API endpoint to provide incident data. + Tracking incidents gives a side-by-side view of how failed deployments translate into real-world incidents. + operationId: CreateDORAIncident + requestBody: + content: + application/json: + examples: + default: + value: + data: + attributes: + custom_tags: + - language:java + - department:engineering + env: staging + finished_at: 1693491984000000000 + git: + commit_sha: 66adc9350f2cc9b250b69abddab733dd55e1a588 + repository_url: https://github.com/organization/example-repository + name: Webserver is down failing all requests. + services: + - test-service + severity: High + started_at: 1693491974000000000 + team: backend + version: v1.12.07 + schema: + $ref: '#/components/schemas/DORAFailureRequest' + required: true + responses: + '200': + content: + application/json: + examples: + default: + value: + data: + id: 4242fcdd31586085 + type: dora_failure + schema: + $ref: '#/components/schemas/DORAFailureResponse' + description: OK + '202': + content: + application/json: + examples: + default: + value: + data: + id: 4242fcdd31586085 + type: dora_failure + schema: + $ref: '#/components/schemas/DORAFailureResponse' + description: OK - but delayed due to incident + '400': + content: + application/json: + schema: + $ref: '#/components/schemas/JSONAPIErrorResponse' + description: Bad Request + '403': + $ref: '#/components/responses/NotAuthorizedResponse' + '429': + $ref: '#/components/responses/TooManyRequestsResponse' + security: + - apiKeyAuth: [] + summary: Send an incident event (legacy) + tags: + - DORA Metrics + x-codegen-request-body-name: body + /api/v2/feature-flags: + get: + description: |- + Returns a list of feature flags for the organization. + Supports filtering by key and archived status. + operationId: ListFeatureFlags + parameters: + - description: Filter feature flags by key (partial matching). + example: flag-search-term + in: query + name: key + schema: + type: string + - description: Filter by archived status. + example: false + in: query + name: is_archived + schema: + type: boolean + - description: Maximum number of results to return. + example: 10 + in: query + name: limit + schema: + default: 100 + format: int64 + maximum: 1000 + minimum: 1 + type: integer + - description: Number of results to skip. + example: 0 + in: query + name: offset + schema: + default: 0 + format: int64 + minimum: 0 + type: integer + responses: + '200': + content: + application/json: + examples: + default: + value: + data: [] + schema: + $ref: '#/components/schemas/ListFeatureFlagsResponse' + description: OK + '403': + content: + application/json: + schema: + $ref: '#/components/schemas/APIErrorResponse' + description: Forbidden + '429': + $ref: '#/components/responses/TooManyRequestsResponse' + security: + - apiKeyAuth: [] + appKeyAuth: [] + summary: List feature flags + tags: + - Feature Flags + x-permission: + operator: AND + permissions: + - feature_flag_config_read + - feature_flag_environment_config_read + post: + description: Creates a new feature flag with variants. + operationId: CreateFeatureFlag + requestBody: + content: + application/json: + examples: + default: + value: + data: + attributes: + default_variant_key: variant-a + description: A sample feature flag + enabled: true + key: feature-flag-abc123 + name: Feature Flag ABC 123 + variants: + - description: Variant A + key: variant-a + - description: Variant B + key: variant-b + type: feature-flags + schema: + $ref: '#/components/schemas/CreateFeatureFlagRequest' + required: true + responses: + '201': + content: + application/json: + examples: + default: + value: + data: + attributes: + created_at: '2024-01-01T00:00:00+00:00' + description: A sample feature flag + key: feature-flag-abc123 + name: Feature Flag ABC 123 + updated_at: '2024-01-01T00:00:00+00:00' + value_type: BOOLEAN + variants: + - id: 00000000-0000-0000-0000-000000000002 + key: variant-a + name: Variant A + value: 'true' + - id: 00000000-0000-0000-0000-000000000003 + key: variant-b + name: Variant B + value: 'false' + id: 00000000-0000-0000-0000-000000000001 + type: feature-flags + schema: + $ref: '#/components/schemas/FeatureFlagResponse' + description: Created + '400': + content: + application/json: + schema: + $ref: '#/components/schemas/APIErrorResponse' + description: Bad Request + '403': + content: + application/json: + schema: + $ref: '#/components/schemas/APIErrorResponse' + description: Forbidden + '409': + content: + application/json: + schema: + $ref: '#/components/schemas/APIErrorResponse' + description: Conflict + '429': + $ref: '#/components/responses/TooManyRequestsResponse' + security: + - apiKeyAuth: [] + appKeyAuth: [] + summary: Create a feature flag + tags: + - Feature Flags + x-permission: + operator: AND + permissions: + - feature_flag_config_write + - feature_flag_environment_config_read + /api/v2/feature-flags/environments: + get: + description: |- + Returns a list of environments for the organization. + Supports filtering by name, key, and DD_ENV. + operationId: ListFeatureFlagsEnvironments + parameters: + - description: Filter environments by name (partial matching). + example: env-search-term + in: query + name: name + schema: + type: string + - description: Filter environments by key (partial matching). + example: env-partial + in: query + name: key + schema: + type: string + - description: Filter environments by queries that contain the provided DD_ENV value. + example: staging + in: query + name: dd_env + schema: + type: string + - description: Maximum number of results to return. + example: 10 + in: query + name: limit + schema: + default: 100 + format: int64 + maximum: 1000 + minimum: 1 + type: integer + - description: Number of results to skip. + example: 0 + in: query + name: offset + schema: + default: 0 + format: int64 + minimum: 0 + type: integer + responses: + '200': + content: + application/json: + examples: + default: + value: + data: [] + schema: + $ref: '#/components/schemas/ListEnvironmentsResponse' + description: OK + '403': + content: + application/json: + schema: + $ref: '#/components/schemas/APIErrorResponse' + description: Forbidden + '429': + $ref: '#/components/responses/TooManyRequestsResponse' + security: + - apiKeyAuth: [] + appKeyAuth: [] + summary: List environments + tags: + - Feature Flags + x-permission: + operator: AND + permissions: + - feature_flag_environment_config_read + post: + description: Creates a new environment for organizing feature flags. + operationId: CreateFeatureFlagsEnvironment + requestBody: + content: + application/json: + examples: + default: + value: + data: + attributes: + name: staging-environment + queries: + - staging + - canary + type: environments + schema: + $ref: '#/components/schemas/CreateEnvironmentRequest' + required: true + responses: + '201': + content: + application/json: + examples: + default: + value: + data: + attributes: + created_at: '2024-01-01T00:00:00+00:00' + is_production: false + key: staging-environment + name: staging-environment + queries: + - staging + require_feature_flag_approval: false + updated_at: '2024-01-01T00:00:00+00:00' + id: 00000000-0000-0000-0000-000000000017 + type: environments + schema: + $ref: '#/components/schemas/EnvironmentResponse' + description: Created + '400': + content: + application/json: + schema: + $ref: '#/components/schemas/APIErrorResponse' + description: Bad Request + '403': + content: + application/json: + schema: + $ref: '#/components/schemas/APIErrorResponse' + description: Forbidden + '409': + content: + application/json: + schema: + $ref: '#/components/schemas/APIErrorResponse' + description: Conflict + '429': + $ref: '#/components/responses/TooManyRequestsResponse' + security: + - apiKeyAuth: [] + appKeyAuth: [] + summary: Create an environment + tags: + - Feature Flags + x-permission: + operator: AND + permissions: + - feature_flag_environment_config_write + /api/v2/feature-flags/environments/{environment_id}: + delete: + description: Deletes an environment. This operation cannot be undone. + operationId: DeleteFeatureFlagsEnvironment + parameters: + - $ref: '#/components/parameters/environment_id' + responses: + '204': + description: No Content + '403': + content: + application/json: + schema: + $ref: '#/components/schemas/APIErrorResponse' + description: Forbidden + '404': + content: + application/json: + schema: + $ref: '#/components/schemas/APIErrorResponse' + description: Not Found + '429': + $ref: '#/components/responses/TooManyRequestsResponse' + security: + - apiKeyAuth: [] + appKeyAuth: [] + summary: Delete an environment + tags: + - Feature Flags + x-permission: + operator: AND + permissions: + - feature_flag_environment_config_write + get: + description: Returns the details of a specific environment. + operationId: GetFeatureFlagsEnvironment + parameters: + - $ref: '#/components/parameters/environment_id' + responses: + '200': + content: + application/json: + examples: + default: + value: + data: + attributes: + created_at: '2024-01-01T00:00:00+00:00' + is_production: false + key: staging-environment + name: staging-environment + queries: + - staging + require_feature_flag_approval: false + updated_at: '2024-01-01T00:00:00+00:00' + id: 00000000-0000-0000-0000-000000000018 + type: environments + schema: + $ref: '#/components/schemas/EnvironmentResponse' + description: OK + '403': + content: + application/json: + schema: + $ref: '#/components/schemas/APIErrorResponse' + description: Forbidden + '404': + content: + application/json: + schema: + $ref: '#/components/schemas/APIErrorResponse' + description: Not Found + '429': + $ref: '#/components/responses/TooManyRequestsResponse' + security: + - apiKeyAuth: [] + appKeyAuth: [] + summary: Get an environment + tags: + - Feature Flags + x-permission: + operator: AND + permissions: + - feature_flag_environment_config_read + put: + description: |- + Updates an existing environment's metadata such as + name and description. + operationId: UpdateFeatureFlagsEnvironment + parameters: + - $ref: '#/components/parameters/environment_id' + requestBody: + content: + application/json: + examples: + default: + value: + data: + attributes: + name: production-environment + queries: + - production + - prod-us + type: environments + schema: + $ref: '#/components/schemas/UpdateEnvironmentRequest' + required: true + responses: + '200': + content: + application/json: + examples: + default: + value: + data: + attributes: + created_at: '2024-01-01T00:00:00+00:00' + is_production: false + key: production-environment + name: production-environment + queries: + - production + require_feature_flag_approval: false + updated_at: '2024-01-01T00:00:00+00:00' + id: 00000000-0000-0000-0000-000000000019 + type: environments + schema: + $ref: '#/components/schemas/EnvironmentResponse' + description: OK + '400': + content: + application/json: + schema: + $ref: '#/components/schemas/APIErrorResponse' + description: Bad Request + '403': + content: + application/json: + schema: + $ref: '#/components/schemas/APIErrorResponse' + description: Forbidden + '404': + content: + application/json: + schema: + $ref: '#/components/schemas/APIErrorResponse' + description: Not Found + '429': + $ref: '#/components/responses/TooManyRequestsResponse' + security: + - apiKeyAuth: [] + appKeyAuth: [] + summary: Update an environment + tags: + - Feature Flags + x-permission: + operator: AND + permissions: + - feature_flag_environment_config_write + /api/v2/feature-flags/exposure-schedules/{exposure_schedule_id}/pause: + post: + description: Pauses a progressive rollout while preserving rollout state. + operationId: PauseExposureSchedule + parameters: + - $ref: '#/components/parameters/exposure_schedule_id' + responses: + '200': + content: + application/json: + examples: + default: + value: + absolute_start_time: '2025-06-13T12:00:00Z' + allocation_id: 550e8400-e29b-41d4-a716-446655440020 + control_variant_id: 550e8400-e29b-41d4-a716-446655440012 + created_at: '2024-01-01T12:00:00Z' + guardrail_triggered_action: null + guardrail_triggers: [] + id: 550e8400-e29b-41d4-a716-446655440010 + rollout_options: + autostart: false + selection_interval_ms: 3600000 + strategy: UNIFORM_INTERVALS + rollout_steps: [] + updated_at: '2024-01-01T12:00:00Z' + schema: + $ref: '#/components/schemas/AllocationExposureScheduleResponse' + description: OK + '400': + content: + application/json: + schema: + $ref: '#/components/schemas/APIErrorResponse' + description: Bad Request + '403': + content: + application/json: + schema: + $ref: '#/components/schemas/APIErrorResponse' + description: Forbidden + '404': + content: + application/json: + schema: + $ref: '#/components/schemas/APIErrorResponse' + description: Not Found + '409': + content: + application/json: + schema: + $ref: '#/components/schemas/APIErrorResponse' + description: Conflict + '429': + $ref: '#/components/responses/TooManyRequestsResponse' + security: + - apiKeyAuth: [] + appKeyAuth: [] + summary: Pause a progressive rollout + tags: + - Feature Flags + x-permission: + operator: AND + permissions: + - feature_flag_config_write + /api/v2/feature-flags/exposure-schedules/{exposure_schedule_id}/resume: + post: + description: Resumes progression for a previously paused progressive rollout. + operationId: ResumeExposureSchedule + parameters: + - $ref: '#/components/parameters/exposure_schedule_id' + responses: + '200': + content: + application/json: + examples: + default: + value: + absolute_start_time: '2025-06-13T12:00:00Z' + allocation_id: 550e8400-e29b-41d4-a716-446655440020 + control_variant_id: 550e8400-e29b-41d4-a716-446655440012 + created_at: '2024-01-01T12:00:00Z' + guardrail_triggered_action: null + guardrail_triggers: [] + id: 550e8400-e29b-41d4-a716-446655440010 + rollout_options: + autostart: false + selection_interval_ms: 3600000 + strategy: UNIFORM_INTERVALS + rollout_steps: [] + updated_at: '2024-01-01T12:00:00Z' + schema: + $ref: '#/components/schemas/AllocationExposureScheduleResponse' + description: OK + '400': + content: + application/json: + schema: + $ref: '#/components/schemas/APIErrorResponse' + description: Bad Request + '403': + content: + application/json: + schema: + $ref: '#/components/schemas/APIErrorResponse' + description: Forbidden + '404': + content: + application/json: + schema: + $ref: '#/components/schemas/APIErrorResponse' + description: Not Found + '409': + content: + application/json: + schema: + $ref: '#/components/schemas/APIErrorResponse' + description: Conflict + '429': + $ref: '#/components/responses/TooManyRequestsResponse' + security: + - apiKeyAuth: [] + appKeyAuth: [] + summary: Resume a progressive rollout + tags: + - Feature Flags + x-permission: + operator: AND + permissions: + - feature_flag_config_write + /api/v2/feature-flags/exposure-schedules/{exposure_schedule_id}/start: + post: + description: Starts a progressive rollout and begins progression. + operationId: StartExposureSchedule + parameters: + - $ref: '#/components/parameters/exposure_schedule_id' + responses: + '200': + content: + application/json: + examples: + default: + value: + absolute_start_time: '2025-06-13T12:00:00Z' + allocation_id: 550e8400-e29b-41d4-a716-446655440020 + control_variant_id: 550e8400-e29b-41d4-a716-446655440012 + created_at: '2024-01-01T12:00:00Z' + guardrail_triggered_action: null + guardrail_triggers: [] + id: 550e8400-e29b-41d4-a716-446655440010 + rollout_options: + autostart: false + selection_interval_ms: 3600000 + strategy: UNIFORM_INTERVALS + rollout_steps: [] + updated_at: '2024-01-01T12:00:00Z' + schema: + $ref: '#/components/schemas/AllocationExposureScheduleResponse' + description: OK + '400': + content: + application/json: + schema: + $ref: '#/components/schemas/APIErrorResponse' + description: Bad Request + '403': + content: + application/json: + schema: + $ref: '#/components/schemas/APIErrorResponse' + description: Forbidden + '404': + content: + application/json: + schema: + $ref: '#/components/schemas/APIErrorResponse' + description: Not Found + '409': + content: + application/json: + schema: + $ref: '#/components/schemas/APIErrorResponse' + description: Conflict + '429': + $ref: '#/components/responses/TooManyRequestsResponse' + security: + - apiKeyAuth: [] + appKeyAuth: [] + summary: Start a progressive rollout + tags: + - Feature Flags + x-permission: + operator: AND + permissions: + - feature_flag_config_write + /api/v2/feature-flags/exposure-schedules/{exposure_schedule_id}/stop: + post: + description: Stops a progressive rollout and marks it as aborted. + operationId: StopExposureSchedule + parameters: + - $ref: '#/components/parameters/exposure_schedule_id' + responses: + '200': + content: + application/json: + examples: + default: + value: + absolute_start_time: '2025-06-13T12:00:00Z' + allocation_id: 550e8400-e29b-41d4-a716-446655440020 + control_variant_id: 550e8400-e29b-41d4-a716-446655440012 + created_at: '2024-01-01T12:00:00Z' + guardrail_triggered_action: null + guardrail_triggers: [] + id: 550e8400-e29b-41d4-a716-446655440010 + rollout_options: + autostart: false + selection_interval_ms: 3600000 + strategy: UNIFORM_INTERVALS + rollout_steps: [] + updated_at: '2024-01-01T12:00:00Z' + schema: + $ref: '#/components/schemas/AllocationExposureScheduleResponse' + description: OK + '400': + content: + application/json: + schema: + $ref: '#/components/schemas/APIErrorResponse' + description: Bad Request + '403': + content: + application/json: + schema: + $ref: '#/components/schemas/APIErrorResponse' + description: Forbidden + '404': + content: + application/json: + schema: + $ref: '#/components/schemas/APIErrorResponse' + description: Not Found + '409': + content: + application/json: + schema: + $ref: '#/components/schemas/APIErrorResponse' + description: Conflict + '429': + $ref: '#/components/responses/TooManyRequestsResponse' + security: + - apiKeyAuth: [] + appKeyAuth: [] + summary: Stop a progressive rollout + tags: + - Feature Flags + x-permission: + operator: AND + permissions: + - feature_flag_config_write + /api/v2/feature-flags/{feature_flag_id}: + get: + description: |- + Returns the details of a specific feature flag + including variants and environment status. + operationId: GetFeatureFlag + parameters: + - $ref: '#/components/parameters/feature_flag_id' + responses: + '200': + content: + application/json: + examples: + default: + value: + data: + attributes: + created_at: '2024-01-01T00:00:00+00:00' + description: A sample feature flag + key: feature-flag-abc123 + name: Feature Flag ABC 123 + updated_at: '2024-01-01T00:00:00+00:00' + value_type: BOOLEAN + variants: + - id: 00000000-0000-0000-0000-000000000005 + key: variant-a + name: Variant A + value: 'true' + - id: 00000000-0000-0000-0000-000000000006 + key: variant-b + name: Variant B + value: 'false' + id: 00000000-0000-0000-0000-000000000004 + type: feature-flags + schema: + $ref: '#/components/schemas/FeatureFlagResponse' + description: OK + '403': + content: + application/json: + schema: + $ref: '#/components/schemas/APIErrorResponse' + description: Forbidden + '404': + content: + application/json: + schema: + $ref: '#/components/schemas/APIErrorResponse' + description: Not Found + '429': + $ref: '#/components/responses/TooManyRequestsResponse' + security: + - apiKeyAuth: [] + appKeyAuth: [] + summary: Get a feature flag + tags: + - Feature Flags + x-permission: + operator: AND + permissions: + - feature_flag_config_read + - feature_flag_environment_config_read + put: + description: |- + Updates an existing feature flag's metadata such as + name and description. Does not modify targeting rules or allocations. + operationId: UpdateFeatureFlag + parameters: + - $ref: '#/components/parameters/feature_flag_id' + requestBody: + content: + application/json: + examples: + default: + value: + data: + attributes: + description: Updated description for the feature flag + enabled: true + name: Updated Feature Flag XYZ789 + type: feature-flags + schema: + $ref: '#/components/schemas/UpdateFeatureFlagRequest' + required: true + responses: + '200': + content: + application/json: + examples: + default: + value: + data: + attributes: + created_at: '2024-01-01T00:00:00+00:00' + description: A sample feature flag + key: feature-flag-abc123 + name: Feature Flag ABC 123 + updated_at: '2024-01-01T00:00:00+00:00' + value_type: BOOLEAN + variants: + - id: 00000000-0000-0000-0000-000000000008 + key: variant-a + name: Variant A + value: 'true' + - id: 00000000-0000-0000-0000-000000000009 + key: variant-b + name: Variant B + value: 'false' + id: 00000000-0000-0000-0000-000000000007 + type: feature-flags + schema: + $ref: '#/components/schemas/FeatureFlagResponse' + description: OK + '400': + content: + application/json: + schema: + $ref: '#/components/schemas/APIErrorResponse' + description: Bad Request + '403': + content: + application/json: + schema: + $ref: '#/components/schemas/APIErrorResponse' + description: Forbidden + '404': + content: + application/json: + schema: + $ref: '#/components/schemas/APIErrorResponse' + description: Not Found + '429': + $ref: '#/components/responses/TooManyRequestsResponse' + security: + - apiKeyAuth: [] + appKeyAuth: [] + summary: Update a feature flag + tags: + - Feature Flags + x-permission: + operator: AND + permissions: + - feature_flag_config_write + - feature_flag_environment_config_read + /api/v2/feature-flags/{feature_flag_id}/archive: + post: + description: |- + Archives a feature flag. Archived flags are + hidden from the main list but remain accessible and can be unarchived. + operationId: ArchiveFeatureFlag + parameters: + - $ref: '#/components/parameters/feature_flag_id' + responses: + '200': + content: + application/json: + examples: + default: + value: + data: + attributes: + created_at: '2024-01-01T00:00:00+00:00' + description: A sample feature flag + key: feature-flag-abc123 + name: Feature Flag ABC 123 + updated_at: '2024-01-01T00:00:00+00:00' + value_type: BOOLEAN + variants: + - id: 00000000-0000-0000-0000-000000000011 + key: variant-a + name: Variant A + value: 'true' + - id: 00000000-0000-0000-0000-000000000012 + key: variant-b + name: Variant B + value: 'false' + id: 00000000-0000-0000-0000-000000000010 + type: feature-flags + schema: + $ref: '#/components/schemas/FeatureFlagResponse' + description: OK + '400': + content: + application/json: + schema: + $ref: '#/components/schemas/APIErrorResponse' + description: Bad Request + '403': + content: + application/json: + schema: + $ref: '#/components/schemas/APIErrorResponse' + description: Forbidden + '404': + content: + application/json: + schema: + $ref: '#/components/schemas/APIErrorResponse' + description: Not Found + '429': + $ref: '#/components/responses/TooManyRequestsResponse' + security: + - apiKeyAuth: [] + appKeyAuth: [] + summary: Archive a feature flag + tags: + - Feature Flags + x-permission: + operator: AND + permissions: + - feature_flag_config_write + - feature_flag_environment_config_read + /api/v2/feature-flags/{feature_flag_id}/environments/{environment_id}/allocations: + post: + description: Creates a new targeting rule (allocation) for a specific feature flag in a specific environment. + operationId: CreateAllocationsForFeatureFlagInEnvironment + parameters: + - $ref: '#/components/parameters/feature_flag_id' + - $ref: '#/components/parameters/environment_id' + requestBody: + content: + application/json: + examples: + default: + value: + data: + attributes: + key: prod-rollout + name: Production Rollout + type: FEATURE_GATE + variant_weights: + - value: 50 + variant_id: 550e8400-e29b-41d4-a716-446655440001 + - value: 50 + variant_id: 550e8400-e29b-41d4-a716-446655440002 + type: allocations + schema: + $ref: '#/components/schemas/CreateAllocationsRequest' + required: true + responses: + '201': + content: + application/json: + examples: + default: + value: + data: + attributes: + created_at: '2024-01-01T12:00:00Z' + environment_ids: + - 550e8400-e29b-41d4-a716-446655440001 + guardrail_metrics: [] + id: 550e8400-e29b-41d4-a716-446655440020 + key: prod-rollout + name: Production Rollout + order_position: 0 + targeting_rules: [] + type: FEATURE_GATE + updated_at: '2024-01-01T12:00:00Z' + variant_weights: + - value: 50 + variant_id: 550e8400-e29b-41d4-a716-446655440001 + id: 550e8400-e29b-41d4-a716-446655440020 + type: allocations + schema: + $ref: '#/components/schemas/AllocationResponse' + description: Created + '202': + content: + application/json: + examples: + default: + value: + data: + attributes: + created_at: '2024-01-01T00:00:00+00:00' + environment_ids: + - abc-123 + guardrail_metrics: [] + id: 00000000-0000-0000-0000-000000000016 + key: prod-rollout + name: Production Rollout + order_position: 0 + targeting_rules: [] + type: FEATURE_GATE + updated_at: '2024-01-01T00:00:00+00:00' + variant_weights: + - value: 50 + variant_id: abc-123 + id: 00000000-0000-0000-0000-000000000015 + type: allocations + schema: + $ref: '#/components/schemas/AllocationResponse' + description: Accepted - Approval required for this change + '400': + content: + application/json: + schema: + $ref: '#/components/schemas/APIErrorResponse' + description: Bad Request + '403': + content: + application/json: + schema: + $ref: '#/components/schemas/APIErrorResponse' + description: Forbidden + '404': + content: + application/json: + schema: + $ref: '#/components/schemas/APIErrorResponse' + description: Not Found + '409': + content: + application/json: + schema: + $ref: '#/components/schemas/APIErrorResponse' + description: Conflict + '429': + $ref: '#/components/responses/TooManyRequestsResponse' + security: + - apiKeyAuth: [] + appKeyAuth: [] + summary: Create targeting rules for a flag env + tags: + - Feature Flags + x-permission: + operator: AND + permissions: + - feature_flag_config_write + put: + description: |- + Updates targeting rules (allocations) for a specific feature flag in a specific environment. + This operation replaces the existing allocation set with the request payload. + operationId: UpdateAllocationsForFeatureFlagInEnvironment + parameters: + - $ref: '#/components/parameters/feature_flag_id' + - $ref: '#/components/parameters/environment_id' + requestBody: + content: + application/json: + examples: + default: + value: + data: + - attributes: + key: prod-rollout + name: Production Rollout + type: FEATURE_GATE + variant_weights: + - value: 50 + variant_id: 550e8400-e29b-41d4-a716-446655440001 + - value: 50 + variant_id: 550e8400-e29b-41d4-a716-446655440002 + type: allocations + schema: + $ref: '#/components/schemas/OverwriteAllocationsRequest' + required: true + responses: + '200': + content: + application/json: + examples: + default: + value: + data: + - attributes: + created_at: '2024-01-01T12:00:00Z' + environment_ids: + - 550e8400-e29b-41d4-a716-446655440001 + guardrail_metrics: [] + id: 550e8400-e29b-41d4-a716-446655440020 + key: prod-rollout + name: Production Rollout + order_position: 0 + targeting_rules: [] + type: FEATURE_GATE + updated_at: '2024-01-01T12:00:00Z' + variant_weights: + - value: 50 + variant_id: 550e8400-e29b-41d4-a716-446655440001 + id: 550e8400-e29b-41d4-a716-446655440020 + type: allocations + schema: + $ref: '#/components/schemas/ListAllocationsResponse' + description: OK + '202': + content: + application/json: + examples: + default: + value: + data: [] + schema: + $ref: '#/components/schemas/ListAllocationsResponse' + description: Accepted - Approval required for this change + '400': + content: + application/json: + schema: + $ref: '#/components/schemas/APIErrorResponse' + description: Bad Request + '403': + content: + application/json: + schema: + $ref: '#/components/schemas/APIErrorResponse' + description: Forbidden + '404': + content: + application/json: + schema: + $ref: '#/components/schemas/APIErrorResponse' + description: Not Found + '409': + content: + application/json: + schema: + $ref: '#/components/schemas/APIErrorResponse' + description: Conflict + '429': + $ref: '#/components/responses/TooManyRequestsResponse' + security: + - apiKeyAuth: [] + appKeyAuth: [] + summary: Update targeting rules for a flag + tags: + - Feature Flags + x-permission: + operator: AND + permissions: + - feature_flag_config_write + /api/v2/feature-flags/{feature_flag_id}/environments/{environment_id}/disable: + post: + description: Disable a feature flag in a specific environment. + operationId: DisableFeatureFlagEnvironment + parameters: + - $ref: '#/components/parameters/feature_flag_id' + - $ref: '#/components/parameters/environment_id' + responses: + '200': + description: OK + '202': + description: Accepted - Approval required for this change + '403': + content: + application/json: + schema: + $ref: '#/components/schemas/APIErrorResponse' + description: Forbidden + '404': + content: + application/json: + schema: + $ref: '#/components/schemas/APIErrorResponse' + description: Not Found + '429': + $ref: '#/components/responses/TooManyRequestsResponse' + security: + - apiKeyAuth: [] + appKeyAuth: [] + summary: Disable a feature flag in an environment + tags: + - Feature Flags + x-permission: + operator: AND + permissions: + - feature_flag_config_write + - feature_flag_environment_config_read + /api/v2/feature-flags/{feature_flag_id}/environments/{environment_id}/enable: + post: + description: Enable a feature flag in a specific environment. + operationId: EnableFeatureFlagEnvironment + parameters: + - $ref: '#/components/parameters/feature_flag_id' + - $ref: '#/components/parameters/environment_id' + responses: + '200': + description: OK + '202': + description: Accepted - Approval required for this change + '403': + content: + application/json: + schema: + $ref: '#/components/schemas/APIErrorResponse' + description: Forbidden + '404': + content: + application/json: + schema: + $ref: '#/components/schemas/APIErrorResponse' + description: Not Found + '429': + $ref: '#/components/responses/TooManyRequestsResponse' + security: + - apiKeyAuth: [] + appKeyAuth: [] + summary: Enable a feature flag in an environment + tags: + - Feature Flags + x-permission: + operator: AND + permissions: + - feature_flag_config_write + - feature_flag_environment_config_read + /api/v2/feature-flags/{feature_flag_id}/unarchive: + post: + description: |- + Unarchives a previously archived feature flag, + making it visible in the main list again. + operationId: UnarchiveFeatureFlag + parameters: + - $ref: '#/components/parameters/feature_flag_id' + responses: + '200': + content: + application/json: + examples: + default: + value: + data: + attributes: + created_at: '2024-01-01T00:00:00+00:00' + description: This is an example feature flag + distribution_channel: ALL + key: feature-flag-abc123 + name: Feature Flag ABC123 + require_approval: false + tags: [] + updated_at: '2024-01-01T00:00:00+00:00' + value_type: boolean + variants: + - id: 00000000-0000-0000-0000-000000000014 + key: variant-abc123 + name: Variant ABC123 + value: 'true' + id: 00000000-0000-0000-0000-000000000013 + type: feature-flags + schema: + $ref: '#/components/schemas/FeatureFlagResponse' + description: OK + '400': + content: + application/json: + schema: + $ref: '#/components/schemas/APIErrorResponse' + description: Bad Request + '403': + content: + application/json: + schema: + $ref: '#/components/schemas/APIErrorResponse' + description: Forbidden + '404': + content: + application/json: + schema: + $ref: '#/components/schemas/APIErrorResponse' + description: Not Found + '429': + $ref: '#/components/responses/TooManyRequestsResponse' + security: + - apiKeyAuth: [] + appKeyAuth: [] + summary: Unarchive a feature flag + tags: + - Feature Flags + x-permission: + operator: AND + permissions: + - feature_flag_config_write + - feature_flag_environment_config_read + /api/v2/feature-flags/{feature_flag_id}/variants: + post: + description: |- + Adds a single new variant to an existing feature flag. This endpoint is + additive-only: it never modifies existing variants. A request whose `key` + already exists on the flag is rejected with `409 Conflict`; a `value` + whose type does not match the flag's `value_type` is rejected with `400`. + The server generates the variant UUID and returns it in the response body; + callers (for example, the flag-migration tool) need this UUID to reference + the new variant in subsequent allocation syncs. + operationId: CreateVariantForFeatureFlag + parameters: + - $ref: '#/components/parameters/feature_flag_id' + requestBody: + content: + application/json: + examples: + default: + value: + data: + attributes: + key: dark + name: Dark Theme + value: dark + type: variants + schema: + $ref: '#/components/schemas/CreateVariant' + required: true + responses: + '201': + content: + application/json: + examples: + default: + value: + data: + attributes: + created_at: '2024-01-01T00:00:00+00:00' + key: dark + name: Dark Theme + updated_at: '2024-01-01T00:00:00+00:00' + value: dark + id: 550e8400-e29b-41d4-a716-446655440002 + type: variants + schema: + $ref: '#/components/schemas/Variant' + description: Created + '400': + content: + application/json: + schema: + $ref: '#/components/schemas/APIErrorResponse' + description: Bad Request + '403': + content: + application/json: + schema: + $ref: '#/components/schemas/APIErrorResponse' + description: Forbidden + '404': + content: + application/json: + schema: + $ref: '#/components/schemas/APIErrorResponse' + description: Not Found + '409': + content: + application/json: + schema: + $ref: '#/components/schemas/APIErrorResponse' + description: Conflict - A variant with this key already exists on the flag. + '429': + $ref: '#/components/responses/TooManyRequestsResponse' + security: + - apiKeyAuth: [] + appKeyAuth: [] + summary: Add a variant to a feature flag + tags: + - Feature Flags + x-permission: + operator: AND + permissions: + - feature_flag_config_write + /api/v2/feature-flags/{feature_flag_id}/variants/{variant_id}: + delete: + description: |- + Deletes a variant from a feature flag. + + When backend approvals are enabled and the flag requires approval, this endpoint creates and returns a `FlagSuggestion` with `201 Created` instead of deleting the variant immediately. If a pending suggestion already exists for this flag's variant property, the endpoint returns `409 Conflict`. + operationId: DeleteVariantFromFeatureFlag + parameters: + - $ref: '#/components/parameters/feature_flag_id' + - $ref: '#/components/parameters/variant_id' + responses: + '204': + description: No Content + '400': + content: + application/json: + schema: + $ref: '#/components/schemas/APIErrorResponse' + description: Bad Request + '403': + content: + application/json: + schema: + $ref: '#/components/schemas/APIErrorResponse' + description: Forbidden + '404': + content: + application/json: + schema: + $ref: '#/components/schemas/APIErrorResponse' + description: Not Found + '409': + content: + application/json: + schema: + $ref: '#/components/schemas/APIErrorResponse' + description: Conflict - A pending suggestion already exists for this property. + '429': + $ref: '#/components/responses/TooManyRequestsResponse' + security: + - apiKeyAuth: [] + appKeyAuth: [] + summary: Delete a variant + tags: + - Feature Flags + x-permission: + operator: AND + permissions: + - feature_flag_config_write + put: + description: |- + Updates the name and value of an existing variant on a feature flag. + + When backend approvals are enabled and the flag requires approval, this endpoint creates and returns a `FlagSuggestion` with `201 Created` instead of applying the change immediately. Use the returned suggestion `id` to approve or reject the change. If a pending suggestion already exists for this flag's variant property, the endpoint returns `409 Conflict`. + operationId: UpdateVariantForFeatureFlag + parameters: + - $ref: '#/components/parameters/feature_flag_id' + - $ref: '#/components/parameters/variant_id' + requestBody: + content: + application/json: + examples: + default: + value: + data: + attributes: + name: Dark Theme Updated + value: dark_v2 + id: 550e8400-e29b-41d4-a716-446655440002 + type: variants + schema: + $ref: '#/components/schemas/UpdateVariantRequest' + required: true + responses: + '200': + content: + application/json: + examples: + default: + value: + data: + attributes: + created_at: '2024-01-01T00:00:00+00:00' + key: dark + name: Dark Theme Updated + updated_at: '2024-06-01T00:00:00+00:00' + value: dark_v2 + id: 550e8400-e29b-41d4-a716-446655440002 + type: variants + schema: + $ref: '#/components/schemas/Variant' + description: OK + '400': + content: + application/json: + schema: + $ref: '#/components/schemas/APIErrorResponse' + description: Bad Request + '403': + content: + application/json: + schema: + $ref: '#/components/schemas/APIErrorResponse' + description: Forbidden + '404': + content: + application/json: + schema: + $ref: '#/components/schemas/APIErrorResponse' + description: Not Found + '409': + content: + application/json: + schema: + $ref: '#/components/schemas/APIErrorResponse' + description: Conflict - A pending suggestion already exists for this property. + '429': + $ref: '#/components/responses/TooManyRequestsResponse' + security: + - apiKeyAuth: [] + appKeyAuth: [] + summary: Update a variant + tags: + - Feature Flags + x-permission: + operator: AND + permissions: + - feature_flag_config_write + /api/v2/test/flaky-test-management/tests: + patch: + description: Update the state of multiple flaky tests in Flaky Test Management. + operationId: UpdateFlakyTests + requestBody: + content: + application/json: + examples: + default: + value: + data: + attributes: + tests: + - id: 4eb1887a8adb1847 + new_state: active + type: update_flaky_test_state_request + schema: + $ref: '#/components/schemas/UpdateFlakyTestsRequest' + required: true + responses: + '200': + content: + application/json: + examples: + default: + value: + data: + attributes: + has_errors: false + results: + - id: 4eb1887a8adb1847 + success: true + id: abc-123 + type: update_flaky_test_state_response + schema: + $ref: '#/components/schemas/UpdateFlakyTestsResponse' + description: OK + '400': + $ref: '#/components/responses/BadRequestResponse' + '403': + $ref: '#/components/responses/NotAuthorizedResponse' + '429': + $ref: '#/components/responses/TooManyRequestsResponse' + security: + - apiKeyAuth: [] + appKeyAuth: [] + - AuthZ: + - test_optimization_write + summary: Update flaky test states + tags: + - Test Optimization + x-codegen-request-body-name: body + x-permission: + operator: OR + permissions: + - test_optimization_write + post: + description: |- + List endpoint returning flaky tests from Flaky Test Management. Results are paginated. + + The response includes comprehensive test information including: + - Test identification and metadata (module, suite, name) + - Flaky state and categorization + - First and last flake occurrences (timestamp, branch, commit SHA) + - Test execution statistics from the last 7 days (failure rate) + - Pipeline impact metrics (failed pipelines count, total lost time) + - Complete status change history (optional, ordered from most recent to oldest) + + Set `include_history` to `true` in the request to receive the status change history for each test. + History is disabled by default for better performance. + + Results support filtering by various facets including service, environment, repository, branch, and test state. + operationId: SearchFlakyTests + requestBody: + content: + application/json: + examples: + default: + value: + data: + attributes: + filter: + query: flaky_test_state:active @git.repository.id_v2:"github.com/datadog/test-service" + page: + cursor: eyJzdGFydEF0IjoiQVFBQUFYS2tMS3pPbm40NGV3QUFBQUJCV0V0clRFdDZVbG8zY3pCRmNsbHJiVmxDWlEifQ== + limit: 25 + sort: failure_rate + type: search_flaky_tests_request + schema: + $ref: '#/components/schemas/FlakyTestsSearchRequest' + required: false + responses: + '200': + content: + application/json: + examples: + default: + value: + data: + - attributes: + envs: + - prod + flaky_state: active + module: TestModule + name: TestName + services: + - test-service + suite: TestSuite + id: 4eb1887a8adb1847 + type: flaky_test + meta: + pagination: + next_page: eyJzdGFydEF0IjoiQVFBQUFYS2tMS3pPbm40NGV3QUFBQUJCV0V0clRFdDZVbG8zY3pCRmNsbHJiVmxDWlEifQ== + schema: + $ref: '#/components/schemas/FlakyTestsSearchResponse' + description: OK + '400': + $ref: '#/components/responses/BadRequestResponse' + '403': + $ref: '#/components/responses/NotAuthorizedResponse' + '429': + $ref: '#/components/responses/TooManyRequestsResponse' + security: + - apiKeyAuth: [] + appKeyAuth: [] + - AuthZ: + - test_optimization_read + summary: Search flaky tests + tags: + - Test Optimization + x-codegen-request-body-name: body + x-pagination: + cursorParam: body.data.attributes.page.cursor + cursorPath: meta.pagination.next_page + limitParam: body.data.attributes.page.limit + resultsPath: data + x-permission: + operator: OR + permissions: + - test_optimization_read + /api/v2/workflows: + get: + description: List all workflows in your organization. This API requires a [registered application key](https://docs.datadoghq.com/api/latest/action-connection/#register-a-new-app-key). Alternatively, you can configure these permissions [in the UI](https://docs.datadoghq.com/account_management/api-app-keys/#actions-api-access). + operationId: ListWorkflows + parameters: + - description: The maximum number of workflows to return per page. + example: 50 + in: query + name: limit + required: false + schema: + default: 50 + format: int64 + type: integer + - description: The page number to return, starting from 0. + example: 0 + in: query + name: page + required: false + schema: + default: 0 + format: int64 + type: integer + - description: The sort order for the returned workflows. Provide a comma-separated list of fields, each optionally prefixed with `-` for descending order. Supported fields are `name`, `createdAt`, `updatedAt`, `creatorName`, `ownerName`, and `lastExecutedAt`. + example: '-updatedAt' + in: query + name: sort + required: false + schema: + type: string + - description: A search query used to filter the returned workflows. The query performs a case-insensitive substring match against each workflow's name, creator name, and handle. If the query contains a colon (for example, `team:infra`), the query is treated as a `key:value` tag filter. + example: deploy + in: query + name: filter[query] + required: false + schema: + type: string + - description: Filters the returned workflows by one or more trigger types, such as `monitor`, `schedule`, or `githubWebhook`. To specify the multiple types, repeat this parameter. + example: + - monitor + explode: true + in: query + name: filter[triggerIds] + required: false + schema: + items: + type: string + type: array + - description: Whether to include unpublished workflows in the response. + in: query + name: filter[includeUnpublished] + required: false + schema: + default: false + type: boolean + - description: Whether to include the full spec of each workflow in the response. When `false` (the default), each workflow's `spec` is returned as `null`. + in: query + name: filter[includeSpecs] + required: false + schema: + default: false + type: boolean + responses: + '200': + content: + application/json: + examples: + default: + value: + data: + - attributes: + createdAt: '2024-01-01T00:00:00+00:00' + description: A sample workflow. + name: Example Workflow + published: true + spec: {} + tags: + - team:infra + updatedAt: '2024-01-01T00:00:00+00:00' + id: 00000000-0000-0000-0000-000000000002 + relationships: + creator: + data: + id: 00000000-0000-0000-0000-000000000009 + type: users + owner: + data: + id: 00000000-0000-0000-0000-000000000009 + type: users + type: workflows + meta: + page: + totalCount: 1 + totalFilteredCount: 1 + schema: + $ref: '#/components/schemas/ListWorkflowsResponse' + description: OK + '400': + $ref: '#/components/responses/BadRequestResponse' + '403': + $ref: '#/components/responses/ForbiddenResponse' + '429': + $ref: '#/components/responses/TooManyRequestsResponse' + summary: List workflows + tags: + - Workflow Automation + x-pagination: + limitParam: limit + pageParam: page + pageStart: 0 + resultsPath: data + x-permission: + operator: OR + permissions: + - workflows_read + post: + description: Create a new workflow, returning the workflow ID. This API requires a [registered application key](https://docs.datadoghq.com/api/latest/action-connection/#register-a-new-app-key). Alternatively, you can configure these permissions [in the UI](https://docs.datadoghq.com/account_management/api-app-keys/#actions-api-access). + operationId: CreateWorkflow + requestBody: + content: + application/json: + examples: + default: + value: + data: + attributes: + description: A sample workflow. + name: Example Workflow + published: true + spec: + annotations: + - display: + bounds: + height: 150 + width: 300 + x: -375 + 'y': -0.5 + id: 99999999-9999-9999-9999-999999999999 + markdownTextAnnotation: + text: Example annotation. + connectionEnvs: + - connections: + - connectionId: e1e64943-c7c5-4487-aece-25aaec7d3aad + label: INTEGRATION_DATADOG + env: default + handle: my-handle + inputSchema: + parameters: + - defaultValue: default + name: input + type: STRING + outputSchema: + parameters: + - name: output + type: ARRAY_OBJECT + value: '{{ Steps.Step1 }}' + steps: + - actionId: com.datadoghq.dd.monitor.listMonitors + connectionLabel: INTEGRATION_DATADOG + name: Step1 + outboundEdges: + - branchName: main + nextStepName: Step2 + parameters: + - name: tags + value: service:monitoring + - actionId: com.datadoghq.core.noop + name: Step2 + triggers: + - monitorTrigger: + rateLimit: + count: 1 + interval: 3600s + startStepNames: + - Step1 + - githubWebhookTrigger: {} + startStepNames: + - Step1 + tags: + - team:infra + - service:monitoring + type: workflows + schema: + $ref: '#/components/schemas/CreateWorkflowRequest' + required: true + responses: + '201': + content: + application/json: + examples: + default: + value: + data: + attributes: + name: Example Workflow + spec: {} + id: 00000000-0000-0000-0000-000000000001 + type: workflows + schema: + $ref: '#/components/schemas/CreateWorkflowResponse' + description: Successfully created a workflow. + '400': + content: + application/json: + schema: + $ref: '#/components/schemas/JSONAPIErrorResponse' + description: Bad request + '403': + content: + application/json: + schema: + $ref: '#/components/schemas/JSONAPIErrorResponse' + description: Forbidden + '429': + content: + application/json: + schema: + $ref: '#/components/schemas/JSONAPIErrorResponse' + description: Too many requests + summary: Create a Workflow + tags: + - Workflow Automation + x-permission: + operator: OR + permissions: + - workflows_write + /api/v2/workflows/{workflow_id}: + delete: + description: Delete a workflow by ID. This API requires a [registered application key](https://docs.datadoghq.com/api/latest/action-connection/#register-a-new-app-key). Alternatively, you can configure these permissions [in the UI](https://docs.datadoghq.com/account_management/api-app-keys/#actions-api-access). + operationId: DeleteWorkflow + parameters: + - $ref: '#/components/parameters/WorkflowId' + responses: + '204': + description: Successfully deleted a workflow. + '403': + content: + application/json: + schema: + $ref: '#/components/schemas/JSONAPIErrorResponse' + description: Forbidden + '404': + content: + application/json: + schema: + $ref: '#/components/schemas/JSONAPIErrorResponse' + description: Not found + '429': + content: + application/json: + schema: + $ref: '#/components/schemas/JSONAPIErrorResponse' + description: Too many requests + summary: Delete an existing Workflow + tags: + - Workflow Automation + x-permission: + operator: OR + permissions: + - workflows_write + get: + description: Get a workflow by ID. This API requires a [registered application key](https://docs.datadoghq.com/api/latest/action-connection/#register-a-new-app-key). Alternatively, you can configure these permissions [in the UI](https://docs.datadoghq.com/account_management/api-app-keys/#actions-api-access). + operationId: GetWorkflow + parameters: + - $ref: '#/components/parameters/WorkflowId' + responses: + '200': + content: + application/json: + examples: + default: + value: + data: + attributes: + createdAt: '2024-01-01T00:00:00+00:00' + description: A sample workflow. + name: Example Workflow + published: true + spec: {} + tags: + - team:infra + updatedAt: '2024-01-01T00:00:00+00:00' + id: 00000000-0000-0000-0000-000000000002 + type: workflows + schema: + $ref: '#/components/schemas/GetWorkflowResponse' + description: Successfully got a workflow. + '400': + content: + application/json: + schema: + $ref: '#/components/schemas/JSONAPIErrorResponse' + description: Bad request + '403': + content: + application/json: + schema: + $ref: '#/components/schemas/JSONAPIErrorResponse' + description: Forbidden + '404': + content: + application/json: + schema: + $ref: '#/components/schemas/JSONAPIErrorResponse' + description: Not found + '429': + content: + application/json: + schema: + $ref: '#/components/schemas/JSONAPIErrorResponse' + description: Too many requests + summary: Get an existing Workflow + tags: + - Workflow Automation + x-permission: + operator: OR + permissions: + - workflows_read + patch: + description: Update a workflow by ID. This API requires a [registered application key](https://docs.datadoghq.com/api/latest/action-connection/#register-a-new-app-key). Alternatively, you can configure these permissions [in the UI](https://docs.datadoghq.com/account_management/api-app-keys/#actions-api-access). + operationId: UpdateWorkflow + parameters: + - $ref: '#/components/parameters/WorkflowId' + requestBody: + content: + application/json: + examples: + default: + value: + data: + attributes: + description: A sample workflow. + name: Example Workflow + published: true + spec: + annotations: + - display: + bounds: + height: 150 + width: 300 + x: -375 + 'y': -0.5 + id: 99999999-9999-9999-9999-999999999999 + markdownTextAnnotation: + text: Example annotation. + connectionEnvs: + - connections: + - connectionId: e1e64943-c7c5-4487-aece-25aaec7d3aad + label: INTEGRATION_DATADOG + env: default + handle: my-handle + inputSchema: + parameters: + - defaultValue: default + name: input + type: STRING + outputSchema: + parameters: + - name: output + type: ARRAY_OBJECT + value: '{{ Steps.Step1 }}' + steps: + - actionId: com.datadoghq.dd.monitor.listMonitors + connectionLabel: INTEGRATION_DATADOG + name: Step1 + outboundEdges: + - branchName: main + nextStepName: Step2 + parameters: + - name: tags + value: service:monitoring + - actionId: com.datadoghq.core.noop + name: Step2 + triggers: + - monitorTrigger: + rateLimit: + count: 1 + interval: 3600s + startStepNames: + - Step1 + - githubWebhookTrigger: {} + startStepNames: + - Step1 + tags: + - team:infra + - service:monitoring + id: 22222222-2222-2222-2222-222222222222 + type: workflows + schema: + $ref: '#/components/schemas/UpdateWorkflowRequest' + required: true + responses: + '200': + content: + application/json: + examples: + default: + value: + data: + attributes: + name: Example Workflow + id: 00000000-0000-0000-0000-000000000003 + type: workflows + schema: + $ref: '#/components/schemas/UpdateWorkflowResponse' + description: Successfully updated a workflow. + '400': + content: + application/json: + schema: + $ref: '#/components/schemas/JSONAPIErrorResponse' + description: Bad request + '403': + content: + application/json: + schema: + $ref: '#/components/schemas/JSONAPIErrorResponse' + description: Forbidden + '404': + content: + application/json: + schema: + $ref: '#/components/schemas/JSONAPIErrorResponse' + description: Not found + '429': + content: + application/json: + schema: + $ref: '#/components/schemas/JSONAPIErrorResponse' + description: Too many requests + summary: Update an existing Workflow + tags: + - Workflow Automation + x-permission: + operator: OR + permissions: + - workflows_write + /api/v2/workflows/{workflow_id}/instances: + get: + description: List all instances of a given workflow. This API requires a [registered application key](https://docs.datadoghq.com/api/latest/action-connection/#register-a-new-app-key). Alternatively, you can configure these permissions [in the UI](https://docs.datadoghq.com/account_management/api-app-keys/#actions-api-access). + operationId: ListWorkflowInstances + parameters: + - $ref: '#/components/parameters/WorkflowId' + - $ref: '#/components/parameters/PageSize' + - $ref: '#/components/parameters/PageNumber' + responses: + '200': + content: + application/json: + examples: + default: + value: + data: + - id: 00000000-0000-0000-0000-000000000004 + meta: + page: + totalCount: 1 + schema: + $ref: '#/components/schemas/WorkflowListInstancesResponse' + description: OK + '400': + $ref: '#/components/responses/BadRequestResponse' + '403': + $ref: '#/components/responses/ForbiddenResponse' + '429': + $ref: '#/components/responses/TooManyRequestsResponse' + security: + - apiKeyAuth: [] + appKeyAuth: [] + - AuthZ: + - workflows_read + summary: List workflow instances + tags: + - Workflow Automation + x-permission: + operator: OR + permissions: + - workflows_read + post: + description: Execute the given workflow. This API requires a [registered application key](https://docs.datadoghq.com/api/latest/action-connection/#register-a-new-app-key). Alternatively, you can configure these permissions [in the UI](https://docs.datadoghq.com/account_management/api-app-keys/#actions-api-access). + operationId: CreateWorkflowInstance + parameters: + - $ref: '#/components/parameters/WorkflowId' + requestBody: + content: + application/json: + examples: + default: + value: + meta: + payload: + input: value + schema: + $ref: '#/components/schemas/WorkflowInstanceCreateRequest' + required: true + responses: + '200': + content: + application/json: + examples: + default: + value: + data: + id: 00000000-0000-0000-0000-000000000005 + schema: + $ref: '#/components/schemas/WorkflowInstanceCreateResponse' + description: Created + '400': + $ref: '#/components/responses/BadRequestResponse' + '403': + $ref: '#/components/responses/ForbiddenResponse' + '429': + $ref: '#/components/responses/TooManyRequestsResponse' + security: + - apiKeyAuth: [] + appKeyAuth: [] + - AuthZ: + - workflows_run + summary: Execute a workflow + tags: + - Workflow Automation + x-codegen-request-body-name: body + x-permission: + operator: OR + permissions: + - workflows_run + /api/v2/workflows/{workflow_id}/instances/{instance_id}: + get: + description: Get a specific execution of a given workflow. This API requires a [registered application key](https://docs.datadoghq.com/api/latest/action-connection/#register-a-new-app-key). Alternatively, you can configure these permissions [in the UI](https://docs.datadoghq.com/account_management/api-app-keys/#actions-api-access). + operationId: GetWorkflowInstance + parameters: + - $ref: '#/components/parameters/WorkflowId' + - $ref: '#/components/parameters/InstanceId' + responses: + '200': + content: + application/json: + examples: + default: + value: + data: + attributes: + id: 00000000-0000-0000-0000-000000000006 + schema: + $ref: '#/components/schemas/WorklflowGetInstanceResponse' + description: OK + '400': + $ref: '#/components/responses/BadRequestResponse' + '403': + $ref: '#/components/responses/ForbiddenResponse' + '404': + $ref: '#/components/responses/NotFoundResponse' + '429': + $ref: '#/components/responses/TooManyRequestsResponse' + security: + - apiKeyAuth: [] + appKeyAuth: [] + - AuthZ: + - workflows_read + summary: Get a workflow instance + tags: + - Workflow Automation + x-permission: + operator: OR + permissions: + - workflows_read + /api/v2/workflows/{workflow_id}/instances/{instance_id}/cancel: + put: + description: Cancels a specific execution of a given workflow. This API requires a [registered application key](https://docs.datadoghq.com/api/latest/action-connection/#register-a-new-app-key). Alternatively, you can configure these permissions [in the UI](https://docs.datadoghq.com/account_management/api-app-keys/#actions-api-access). + operationId: CancelWorkflowInstance + parameters: + - $ref: '#/components/parameters/WorkflowId' + - $ref: '#/components/parameters/InstanceId' + responses: + '200': + content: + application/json: + examples: + default: + value: + data: + id: 00000000-0000-0000-0000-000000000007 + schema: + $ref: '#/components/schemas/WorklflowCancelInstanceResponse' + description: OK + '400': + $ref: '#/components/responses/BadRequestResponse' + '403': + $ref: '#/components/responses/ForbiddenResponse' + '404': + $ref: '#/components/responses/NotFoundResponse' + '429': + $ref: '#/components/responses/TooManyRequestsResponse' + summary: Cancel a workflow instance + tags: + - Workflow Automation + x-permission: + operator: OR + permissions: + - workflows_run +components: + schemas: + CIAppGitHubAccountsResponse: + description: Response object containing a list of GitHub accounts and their CI Visibility opt-in status. + properties: + data: + items: + $ref: '#/components/schemas/CIAppGitHubAccountData' + type: array + required: + - data + type: object + CIAppGitHubAccountUpdateRequest: + description: Request object for updating a GitHub account's CI Visibility opt-in status. + properties: + data: + $ref: '#/components/schemas/CIAppGitHubAccountUpdateRequestData' + required: + - data + type: object + CIAppGitHubAccountResponse: + description: Response object containing a single GitHub account's CI Visibility opt-in status. + properties: + data: + $ref: '#/components/schemas/CIAppGitHubAccountData' + required: + - data + type: object + CIAppCreatePipelineEventRequest: + description: Request object. + properties: + data: + $ref: '#/components/schemas/CIAppCreatePipelineEventRequestDataSingleOrArray' + type: object + HTTPCIAppErrors: + description: Errors occurred. + properties: + errors: + description: Structured errors. + items: + $ref: '#/components/schemas/HTTPCIAppError' + type: array + type: object + CIAppPipelinesAggregateRequest: + description: The object sent with the request to retrieve aggregation buckets of pipeline events from your organization. + properties: + compute: + description: The list of metrics or timeseries to compute for the retrieved buckets. + items: + $ref: '#/components/schemas/CIAppCompute' + type: array + filter: + $ref: '#/components/schemas/CIAppPipelinesQueryFilter' + group_by: + description: The rules for the group-by. + items: + $ref: '#/components/schemas/CIAppPipelinesGroupBy' + type: array + options: + $ref: '#/components/schemas/CIAppQueryOptions' + type: object + CIAppPipelinesAnalyticsAggregateResponse: + description: The response object for the pipeline events aggregate API endpoint. + properties: + data: + $ref: '#/components/schemas/CIAppPipelinesAggregationBucketsResponse' + links: + $ref: '#/components/schemas/CIAppResponseLinks' + meta: + $ref: '#/components/schemas/CIAppResponseMetadata' + type: object + CIAppSort: + description: Sort parameters when querying events. + enum: + - timestamp + - '-timestamp' + type: string + x-enum-varnames: + - TIMESTAMP_ASCENDING + - TIMESTAMP_DESCENDING + CIAppPipelineEventsResponse: + description: Response object with all pipeline events matching the request and pagination information. + properties: + data: + description: Array of events matching the request. + items: + $ref: '#/components/schemas/CIAppPipelineEvent' + type: array + links: + $ref: '#/components/schemas/CIAppResponseLinks' + meta: + $ref: '#/components/schemas/CIAppResponseMetadataWithPagination' + type: object + CIAppPipelineEventsRequest: + description: The request for a pipelines search. + properties: + filter: + $ref: '#/components/schemas/CIAppPipelinesQueryFilter' + options: + $ref: '#/components/schemas/CIAppQueryOptions' + page: + $ref: '#/components/schemas/CIAppQueryPageOptions' + sort: + $ref: '#/components/schemas/CIAppSort' + type: object + TestOptimizationFlakyTestsManagementPoliciesUpdateRequest: + description: Request object for updating Flaky Tests Management policies. + properties: + data: + $ref: '#/components/schemas/TestOptimizationFlakyTestsManagementPoliciesUpdateRequestData' + required: + - data + type: object + TestOptimizationFlakyTestsManagementPoliciesResponse: + description: Response object containing Flaky Tests Management policies for a repository. + properties: + data: + $ref: '#/components/schemas/TestOptimizationFlakyTestsManagementPoliciesData' + type: object + TestOptimizationFlakyTestsManagementPoliciesGetRequest: + description: Request object for getting Flaky Tests Management policies. + properties: + data: + $ref: '#/components/schemas/TestOptimizationFlakyTestsManagementPoliciesGetRequestData' + required: + - data + type: object + TestOptimizationDeleteServiceSettingsRequest: + description: Request object for deleting Test Optimization service settings. + properties: + data: + $ref: '#/components/schemas/TestOptimizationDeleteServiceSettingsRequestData' + required: + - data + type: object + TestOptimizationUpdateServiceSettingsRequest: + description: Request object for updating Test Optimization service settings. + properties: + data: + $ref: '#/components/schemas/TestOptimizationUpdateServiceSettingsRequestData' + required: + - data + type: object + TestOptimizationServiceSettingsResponse: + description: Response object containing Test Optimization service settings. + properties: + data: + $ref: '#/components/schemas/TestOptimizationServiceSettingsData' + type: object + TestOptimizationGetServiceSettingsRequest: + description: Request object for getting Test Optimization service settings. + properties: + data: + $ref: '#/components/schemas/TestOptimizationGetServiceSettingsRequestData' + required: + - data + type: object + CIAppTestsAggregateRequest: + description: The object sent with the request to retrieve aggregation buckets of test events from your organization. + properties: + compute: + description: The list of metrics or timeseries to compute for the retrieved buckets. + items: + $ref: '#/components/schemas/CIAppCompute' + type: array + filter: + $ref: '#/components/schemas/CIAppTestsQueryFilter' + group_by: + description: The rules for the group-by. + items: + $ref: '#/components/schemas/CIAppTestsGroupBy' + type: array + options: + $ref: '#/components/schemas/CIAppQueryOptions' + type: object + CIAppTestsAnalyticsAggregateResponse: + description: The response object for the test events aggregate API endpoint. + properties: + data: + $ref: '#/components/schemas/CIAppTestsAggregationBucketsResponse' + links: + $ref: '#/components/schemas/CIAppResponseLinks' + meta: + $ref: '#/components/schemas/CIAppResponseMetadataWithPagination' + type: object + CIAppTestEventsResponse: + description: Response object with all test events matching the request and pagination information. + properties: + data: + description: Array of events matching the request. + items: + $ref: '#/components/schemas/CIAppTestEvent' + type: array + links: + $ref: '#/components/schemas/CIAppResponseLinks' + meta: + $ref: '#/components/schemas/CIAppResponseMetadataWithPagination' + type: object + CIAppTestEventsRequest: + description: The request for a tests search. + properties: + filter: + $ref: '#/components/schemas/CIAppTestsQueryFilter' + options: + $ref: '#/components/schemas/CIAppQueryOptions' + page: + $ref: '#/components/schemas/CIAppQueryPageOptions' + sort: + $ref: '#/components/schemas/CIAppSort' + type: object + BranchCoverageSummaryRequest: + description: Request object for getting code coverage summary for a branch. + properties: + data: + $ref: '#/components/schemas/BranchCoverageSummaryRequestData' + required: + - data + type: object + CoverageSummaryResponse: + description: Response object containing code coverage summary. + properties: + data: + $ref: '#/components/schemas/CoverageSummaryData' + type: object + APIErrorResponse: + description: API error response. + properties: + errors: + description: A list of errors. + example: + - Bad Request + items: + description: A list of items. + example: Bad Request + type: string + type: array + required: + - errors + type: object + CommitCoverageSummaryRequest: + description: Request object for getting code coverage summary for a commit. + properties: + data: + $ref: '#/components/schemas/CommitCoverageSummaryRequestData' + required: + - data + type: object + DeploymentGatesListResponse: + description: Response containing a paginated list of deployment gates. + properties: + data: + description: Array of deployment gates. + items: + $ref: '#/components/schemas/DeploymentGateResponseData' + type: array + meta: + $ref: '#/components/schemas/DeploymentGatesListResponseMeta' + type: object + CreateDeploymentGateParams: + description: Parameters for creating a deployment gate. + properties: + data: + $ref: '#/components/schemas/CreateDeploymentGateParamsData' + required: + - data + type: object + DeploymentGateResponse: + description: Response for a deployment gate. + properties: + data: + $ref: '#/components/schemas/DeploymentGateResponseData' + type: object + DeploymentGateRulesResponse: + description: Response for a deployment gate rules. + properties: + data: + $ref: '#/components/schemas/ListDeploymentRuleResponseData' + type: object + CreateDeploymentRuleParams: + description: Parameters for creating a deployment rule. + properties: + data: + $ref: '#/components/schemas/CreateDeploymentRuleParamsData' + type: object + DeploymentRuleResponse: + description: Response for a deployment rule. + properties: + data: + $ref: '#/components/schemas/DeploymentRuleResponseData' + type: object + UpdateDeploymentRuleParams: + description: Parameters for updating a deployment rule. + properties: + data: + $ref: '#/components/schemas/UpdateDeploymentRuleParamsData' + required: + - data + type: object + UpdateDeploymentGateParams: + description: Parameters for updating a deployment gate. + properties: + data: + $ref: '#/components/schemas/UpdateDeploymentGateParamsData' + required: + - data + type: object + DeploymentGatesEvaluationRequest: + description: Request body for triggering a deployment gate evaluation. + properties: + data: + $ref: '#/components/schemas/DeploymentGatesEvaluationRequestData' + required: + - data + type: object + DeploymentGatesEvaluationResponse: + description: Response for a deployment gate evaluation request. + properties: + data: + $ref: '#/components/schemas/DeploymentGatesEvaluationResponseData' + type: object + DeploymentGatesEvaluationResultResponse: + description: Response containing the result of a deployment gate evaluation. + properties: + data: + $ref: '#/components/schemas/DeploymentGatesEvaluationResultResponseData' + type: object + DORADeploymentRequest: + description: Request to create a DORA deployment event. + properties: + data: + $ref: '#/components/schemas/DORADeploymentRequestData' + required: + - data + type: object + DORADeploymentResponse: + description: Response after receiving a DORA deployment event. + properties: + data: + $ref: '#/components/schemas/DORADeploymentResponseData' + required: + - data + type: object + JSONAPIErrorResponse: + description: API error response. + properties: + errors: + description: A list of errors. + items: + $ref: '#/components/schemas/JSONAPIErrorItem' + type: array + required: + - errors + type: object + DORADeploymentPatchByVersionRequest: + description: Request to patch a DORA deployment event identified by service, environment, and version. + example: + data: + attributes: + change_failure: true + env: production + remediation: + type: rollback + version: v1.2.2 + service: my-service + version: v1.2.3 + type: dora_deployment_patch_request + properties: + data: + $ref: '#/components/schemas/DORADeploymentPatchByVersionRequestData' + required: + - data + type: object + DORAListDeploymentsRequest: + description: Request to get a list of deployments. + example: + data: + attributes: + from: '2025-01-01T00:00:00Z' + limit: 100 + query: service:(shopist OR api-service) env:production team:backend + sort: '-finished_at' + to: '2025-01-31T23:59:59Z' + type: dora_deployments_list_request + properties: + data: + $ref: '#/components/schemas/DORAListDeploymentsRequestData' + required: + - data + type: object + DORADeploymentsListResponse: + description: Response for the list deployments endpoint. + example: + data: + - attributes: + custom_tags: + - language:java + - department:engineering + - region:us-east-1 + env: production + finished_at: '2023-08-31T14:26:24Z' + git: + commit_sha: 66adc9350f2cc9b250b69abddab733dd55e1a588 + repository_id: github.com/organization/example-repository + service: shopist + started_at: '2023-08-31T14:26:14Z' + team: backend + version: v1.12.07 + id: 4242fcdd31586083 + type: dora_deployment + - attributes: + custom_tags: + - language:go + - department:platform + env: production + finished_at: '2023-08-31T14:28:04Z' + git: + commit_sha: 77bdc9350f2cc9b250b69abddab733dd55e1a599 + repository_id: github.com/organization/api-service + service: api-service + started_at: '2023-08-31T14:27:54Z' + team: backend + version: v2.1.0 + id: 4242fcdd31586084 + type: dora_deployment + properties: + data: + description: The list of DORA deployment events. + items: + $ref: '#/components/schemas/DORADeploymentObject' + type: array + type: object + DORADeploymentFetchResponse: + description: Response for fetching a single deployment event. + properties: + data: + $ref: '#/components/schemas/DORADeploymentObject' + type: object + DORADeploymentPatchRequest: + description: Request to patch a DORA deployment event. + example: + data: + attributes: + change_failure: true + remediation: + id: eG42zNIkVjM + type: rollback + id: z_RwVLi7v4Y + type: dora_deployment_patch_request + properties: + data: + $ref: '#/components/schemas/DORADeploymentPatchRequestData' + required: + - data + type: object + DORAFailureRequest: + description: Request to create a DORA incident event. + properties: + data: + $ref: '#/components/schemas/DORAFailureRequestData' + required: + - data + type: object + DORAFailureResponse: + description: Response after receiving a DORA incident event. + properties: + data: + $ref: '#/components/schemas/DORAFailureResponseData' + required: + - data + type: object + DORAListFailuresRequest: + description: Request to get a list of incidents. + example: + data: + attributes: + from: '2025-01-01T00:00:00Z' + limit: 100 + query: severity:(SEV-1 OR SEV-2) env:production team:backend + sort: '-started_at' + to: '2025-01-31T23:59:59Z' + type: dora_failures_list_request + properties: + data: + $ref: '#/components/schemas/DORAListFailuresRequestData' + required: + - data + type: object + DORAFailuresListResponse: + description: Response for the list incidents endpoint. + example: + data: + - attributes: + custom_tags: + - incident_type:database + - department:engineering + env: production + finished_at: '2023-08-31T14:31:14Z' + name: Database outage + services: + - shopist + severity: SEV-1 + started_at: '2023-08-31T14:29:34Z' + team: backend + id: 4242fcdd31586085 + type: dora_incident + - attributes: + custom_tags: + - incident_type:service_down + - department:platform + env: production + finished_at: '2023-08-31T14:34:34Z' + name: API service outage + services: + - api-service + - payment-service + severity: SEV-2 + started_at: '2023-08-31T14:32:54Z' + team: backend + id: 4242fcdd31586086 + type: dora_incident + properties: + data: + description: The list of DORA incident events. + items: + $ref: '#/components/schemas/DORAIncidentObject' + type: array + type: object + DORAFailureFetchResponse: + description: Response for fetching a single incident event. + properties: + data: + $ref: '#/components/schemas/DORAIncidentObject' + type: object + ListFeatureFlagsResponse: + description: Response containing a list of feature flags. + properties: + data: + description: List of feature flags. + items: + $ref: '#/components/schemas/FeatureFlagListItem' + type: array + meta: + $ref: '#/components/schemas/FeatureFlagsPaginationMeta' + required: + - data + type: object + CreateFeatureFlagRequest: + description: Request to create a new feature flag. + properties: + data: + $ref: '#/components/schemas/CreateFeatureFlagData' + required: + - data + type: object + FeatureFlagResponse: + description: Response containing a feature flag. + properties: + data: + $ref: '#/components/schemas/FeatureFlag' + required: + - data + type: object + ListEnvironmentsResponse: + description: Response containing a list of environments. + properties: + data: + description: List of environments. + items: + $ref: '#/components/schemas/Environment' + type: array + meta: + $ref: '#/components/schemas/EnvironmentsPaginationMeta' + required: + - data + type: object + CreateEnvironmentRequest: + description: Request to create a new environment. + properties: + data: + $ref: '#/components/schemas/CreateEnvironmentData' + required: + - data + type: object + EnvironmentResponse: + description: Response containing an environment. + properties: + data: + $ref: '#/components/schemas/Environment' + required: + - data + type: object + UpdateEnvironmentRequest: + description: Request to update an environment. + properties: + data: + $ref: '#/components/schemas/UpdateEnvironmentData' + required: + - data + type: object + AllocationExposureScheduleResponse: + description: Response containing a progressive rollout schedule. + properties: + data: + $ref: '#/components/schemas/AllocationExposureScheduleData' + required: + - data + type: object + UpdateFeatureFlagRequest: + description: Request to update a feature flag. + properties: + data: + $ref: '#/components/schemas/UpdateFeatureFlagData' + required: + - data + type: object + CreateAllocationsRequest: + description: Request to create targeting rules (allocations) for a feature flag in an environment. + properties: + data: + $ref: '#/components/schemas/AllocationDataRequest' + required: + - data + type: object + AllocationResponse: + description: Response containing a single targeting rule (allocation). + properties: + data: + $ref: '#/components/schemas/AllocationDataResponse' + required: + - data + type: object + OverwriteAllocationsRequest: + description: Request to overwrite targeting rules (allocations) for a feature flag in an environment. + properties: + data: + description: Targeting rules (allocations) to replace existing ones with. + items: + $ref: '#/components/schemas/AllocationDataRequest' + type: array + required: + - data + type: object + ListAllocationsResponse: + description: Response containing a list of targeting rules (allocations). + properties: + data: + description: List of targeting rules (allocations). + items: + $ref: '#/components/schemas/AllocationDataResponse' + description: Allocation item. + type: array + required: + - data + type: object + CreateVariant: + description: Request to create a variant. + properties: + key: + description: The unique key of the variant. + example: variant-abc123 + type: string + name: + description: The name of the variant. + example: Variant ABC123 + type: string + value: + description: The value of the variant as a string. + example: 'true' + type: string + required: + - key + - name + - value + type: object + Variant: + description: A variant of a feature flag. + properties: + created_at: + description: The timestamp when the variant was created. + example: '2023-01-01T00:00:00Z' + format: date-time + type: string + id: + description: The unique identifier of the variant. + example: 550e8400-e29b-41d4-a716-446655440002 + format: uuid + type: string + key: + description: The unique key of the variant. + example: variant-abc123 + type: string + name: + description: The name of the variant. + example: Variant ABC123 + type: string + updated_at: + description: The timestamp when the variant was last updated. + example: '2023-01-01T00:00:00Z' + format: date-time + type: string + value: + description: The value of the variant as a string. + example: 'true' + type: string + required: + - id + - key + - name + - value + type: object + UpdateVariantRequest: + description: Request to update an existing variant's name and value. + properties: + name: + description: The display name of the variant. + example: Variant ABC123 Updated + type: string + value: + description: The value of the variant as a string. + example: new_value + type: string + type: object + UpdateFlakyTestsRequest: + description: Request to update the state of multiple flaky tests. + properties: + data: + $ref: '#/components/schemas/UpdateFlakyTestsRequestData' + required: + - data + type: object + UpdateFlakyTestsResponse: + description: Response object for updating flaky test states. + properties: + data: + $ref: '#/components/schemas/UpdateFlakyTestsResponseData' + type: object + FlakyTestsSearchRequest: + description: The request for a flaky tests search. + properties: + data: + $ref: '#/components/schemas/FlakyTestsSearchRequestData' + type: object + FlakyTestsSearchResponse: + description: Response object with flaky tests matching the search request. + properties: + data: + description: Array of flaky tests matching the request. + items: + $ref: '#/components/schemas/FlakyTest' + type: array + meta: + $ref: '#/components/schemas/FlakyTestsSearchResponseMeta' + type: object + ListWorkflowsResponse: + description: The response object for a listing workflows request. + properties: + data: + description: A list of workflows. + items: + $ref: '#/components/schemas/WorkflowListItem' + type: array + meta: + $ref: '#/components/schemas/ListWorkflowsResponseMeta' + type: object + CreateWorkflowRequest: + description: A request object for creating a new workflow. + example: + data: + attributes: + description: A sample workflow. + name: Example Workflow + published: true + spec: + annotations: + - display: + bounds: + height: 150 + width: 300 + x: -375 + 'y': -0.5 + id: 99999999-9999-9999-9999-999999999999 + markdownTextAnnotation: + text: Example annotation. + connectionEnvs: + - connections: + - connectionId: e1e64943-c7c5-4487-aece-25aaec7d3aad + label: INTEGRATION_DATADOG + env: default + handle: my-handle + inputSchema: + parameters: + - defaultValue: default + name: input + type: STRING + outputSchema: + parameters: + - name: output + type: ARRAY_OBJECT + value: '{{ Steps.Step1 }}' + steps: + - actionId: com.datadoghq.dd.monitor.listMonitors + connectionLabel: INTEGRATION_DATADOG + name: Step1 + outboundEdges: + - branchName: main + nextStepName: Step2 + parameters: + - name: tags + value: service:monitoring + - actionId: com.datadoghq.core.noop + name: Step2 + triggers: + - monitorTrigger: + rateLimit: + count: 1 + interval: 3600s + startStepNames: + - Step1 + - githubWebhookTrigger: {} + startStepNames: + - Step1 + tags: + - team:infra + - service:monitoring + - foo:bar + type: workflows + properties: + data: + $ref: '#/components/schemas/WorkflowData' + required: + - data + type: object + CreateWorkflowResponse: + description: The response object after creating a new workflow. + properties: + data: + $ref: '#/components/schemas/WorkflowData' + required: + - data + type: object + GetWorkflowResponse: + description: The response object after getting a workflow. + properties: + data: + $ref: '#/components/schemas/WorkflowData' + type: object + UpdateWorkflowRequest: + description: A request object for updating an existing workflow. + example: + data: + attributes: + description: A sample workflow. + name: Example Workflow + published: true + spec: + annotations: + - display: + bounds: + height: 150 + width: 300 + x: -375 + 'y': -0.5 + id: 99999999-9999-9999-9999-999999999999 + markdownTextAnnotation: + text: Example annotation. + connectionEnvs: + - connections: + - connectionId: e1e64943-c7c5-4487-aece-25aaec7d3aad + label: INTEGRATION_DATADOG + env: default + handle: my-handle + inputSchema: + parameters: + - defaultValue: default + name: input + type: STRING + outputSchema: + parameters: + - name: output + type: ARRAY_OBJECT + value: '{{ Steps.Step1 }}' + steps: + - actionId: com.datadoghq.dd.monitor.listMonitors + connectionLabel: INTEGRATION_DATADOG + name: Step1 + outboundEdges: + - branchName: main + nextStepName: Step2 + parameters: + - name: tags + value: service:monitoring + - actionId: com.datadoghq.core.noop + name: Step2 + triggers: + - monitorTrigger: + rateLimit: + count: 1 + interval: 3600s + startStepNames: + - Step1 + - githubWebhookTrigger: {} + startStepNames: + - Step1 + tags: + - team:infra + - service:monitoring + - foo:bar + id: 22222222-2222-2222-2222-222222222222 + type: workflows + properties: + data: + $ref: '#/components/schemas/WorkflowDataUpdate' + required: + - data + type: object + UpdateWorkflowResponse: + description: The response object after updating a workflow. + properties: + data: + $ref: '#/components/schemas/WorkflowDataUpdate' + type: object + WorkflowListInstancesResponse: + additionalProperties: {} + description: Response returned when listing workflow instances. + properties: + data: + description: A list of workflow instances. + items: + $ref: '#/components/schemas/WorkflowInstanceListItem' + type: array + meta: + $ref: '#/components/schemas/WorkflowListInstancesResponseMeta' + type: object + WorkflowInstanceCreateRequest: + description: Request used to create a workflow instance. + properties: + meta: + $ref: '#/components/schemas/WorkflowInstanceCreateMeta' + type: object + WorkflowInstanceCreateResponse: + additionalProperties: {} + description: Response returned upon successful workflow instance creation. + properties: + data: + $ref: '#/components/schemas/WorkflowInstanceCreateResponseData' + type: object + WorklflowGetInstanceResponse: + additionalProperties: {} + description: The state of the given workflow instance. + properties: + data: + $ref: '#/components/schemas/WorklflowGetInstanceResponseData' + type: object + WorklflowCancelInstanceResponse: + description: Information about the canceled instance. + properties: + data: + $ref: '#/components/schemas/WorklflowCancelInstanceResponseData' + type: object + CIAppGitHubAccountData: + description: Data object for a GitHub account. + properties: + attributes: + $ref: '#/components/schemas/CIAppGitHubAccountAttributes' + id: + description: |- + The account's unique identifier, in the form `/` + (for example `github.com/datadog`). + example: github.com/datadog + type: string + type: + $ref: '#/components/schemas/CIAppGitHubAccountType' + required: + - id + - type + - attributes + type: object + CIAppGitHubAccountUpdateRequestData: + description: Data object for updating a GitHub account's CI Visibility opt-in status. + properties: + attributes: + $ref: '#/components/schemas/CIAppGitHubAccountUpdateRequestAttributes' + type: + $ref: '#/components/schemas/CIAppGitHubAccountType' + required: + - type + - attributes + type: object + CIAppCreatePipelineEventRequestDataSingleOrArray: + description: Data of the pipeline events to create. + properties: + attributes: + $ref: '#/components/schemas/CIAppCreatePipelineEventRequestAttributes' + type: + $ref: '#/components/schemas/CIAppCreatePipelineEventRequestDataType' + type: object + items: + $ref: '#/components/schemas/CIAppCreatePipelineEventRequestData' + HTTPCIAppError: + description: List of errors. + properties: + detail: + description: Error message. + example: Malformed payload + type: string + status: + description: Error code. + example: '400' + type: string + title: + description: Error title. + example: Bad Request + type: string + type: object + CIAppCompute: + description: A compute rule to compute metrics or timeseries. + properties: + aggregation: + $ref: '#/components/schemas/CIAppAggregationFunction' + interval: + description: |- + The time buckets' size (only used for type=timeseries) + Defaults to a resolution of 150 points. + example: 5m + type: string + metric: + description: The metric to use. + example: '@duration' + type: string + type: + $ref: '#/components/schemas/CIAppComputeType' + required: + - aggregation + type: object + CIAppPipelinesQueryFilter: + description: The search and filter query settings. + properties: + from: + default: now-15m + description: The minimum time for the requested events; supports date, math, and regular timestamps (in milliseconds). + example: now-15m + type: string + query: + default: '*' + description: The search query following the CI Visibility Explorer search syntax. + example: '@ci.provider.name:github AND @ci.status:error' + type: string + to: + default: now + description: The maximum time for the requested events, supports date, math, and regular timestamps (in milliseconds). + example: now + type: string + type: object + CIAppPipelinesGroupBy: + description: A group-by rule. + properties: + facet: + description: The name of the facet to use (required). + example: '@ci.status' + type: string + histogram: + $ref: '#/components/schemas/CIAppGroupByHistogram' + limit: + default: 10 + description: The maximum buckets to return for this group-by. + format: int64 + type: integer + missing: + $ref: '#/components/schemas/CIAppGroupByMissing' + sort: + $ref: '#/components/schemas/CIAppAggregateSort' + total: + $ref: '#/components/schemas/CIAppGroupByTotal' + required: + - facet + type: object + CIAppQueryOptions: + description: |- + Global query options that are used during the query. + Only supply timezone or time offset, not both. Otherwise, the query fails. + properties: + time_offset: + description: The time offset (in seconds) to apply to the query. + format: int64 + type: integer + timezone: + default: UTC + description: The timezone can be specified as GMT, UTC, an offset from UTC (like UTC+1), or as a Timezone Database identifier (like America/New_York). + example: GMT + type: string + type: object + CIAppPipelinesAggregationBucketsResponse: + description: The query results. + properties: + buckets: + description: The list of matching buckets, one item per bucket. + items: + $ref: '#/components/schemas/CIAppPipelinesBucketResponse' + type: array + type: object + CIAppResponseLinks: + description: Links attributes. + properties: + next: + description: |- + Link for the next set of results. The request can also be made using the + POST endpoint. + example: https://app.datadoghq.com/api/v2/ci/tests/events?filter[query]=foo&page[cursor]=eyJzdGFydEF0IjoiQVFBQUFYS2tMS3pPbm40NGV3QUFBQUJCV0V0clRFdDZVbG8zY3pCRmNsbHJiVmxDWlEifQ== + type: string + type: object + CIAppResponseMetadata: + description: The metadata associated with a request. + properties: + elapsed: + description: The time elapsed in milliseconds. + example: 132 + format: int64 + type: integer + request_id: + description: The identifier of the request. + example: MWlFUjVaWGZTTTZPYzM0VXp1OXU2d3xLSVpEMjZKQ0VKUTI0dEYtM3RSOFVR + type: string + status: + $ref: '#/components/schemas/CIAppResponseStatus' + warnings: + description: |- + A list of warnings (non-fatal errors) encountered. Partial results may return if + warnings are present in the response. + items: + $ref: '#/components/schemas/CIAppWarning' + type: array + type: object + CIAppPipelineEvent: + description: Object description of a pipeline event after being processed and stored by Datadog. + properties: + attributes: + $ref: '#/components/schemas/CIAppPipelineEventAttributes' + id: + description: Unique ID of the event. + example: AAAAAWgN8Xwgr1vKDQAAAABBV2dOOFh3ZzZobm1mWXJFYTR0OA + type: string + type: + $ref: '#/components/schemas/CIAppPipelineEventTypeName' + type: object + CIAppResponseMetadataWithPagination: + description: The metadata associated with a request. + properties: + elapsed: + description: The time elapsed in milliseconds. + example: 132 + format: int64 + type: integer + page: + $ref: '#/components/schemas/CIAppResponsePage' + request_id: + description: The identifier of the request. + example: MWlFUjVaWGZTTTZPYzM0VXp1OXU2d3xLSVpEMjZKQ0VKUTI0dEYtM3RSOFVR + type: string + status: + $ref: '#/components/schemas/CIAppResponseStatus' + warnings: + description: |- + A list of warnings (non-fatal errors) encountered. Partial results may return if + warnings are present in the response. + items: + $ref: '#/components/schemas/CIAppWarning' + type: array + type: object + CIAppQueryPageOptions: + description: Paging attributes for listing events. + properties: + cursor: + description: List following results with a cursor provided in the previous query. + example: eyJzdGFydEF0IjoiQVFBQUFYS2tMS3pPbm40NGV3QUFBQUJCV0V0clRFdDZVbG8zY3pCRmNsbHJiVmxDWlEifQ== + type: string + limit: + default: 10 + description: Maximum number of events in the response. + example: 25 + format: int32 + maximum: 1000 + type: integer + type: object + TestOptimizationFlakyTestsManagementPoliciesUpdateRequestData: + description: Data object for update Flaky Tests Management policies request. + properties: + attributes: + $ref: '#/components/schemas/TestOptimizationFlakyTestsManagementPoliciesUpdateRequestAttributes' + type: + $ref: '#/components/schemas/TestOptimizationUpdateFlakyTestsManagementPoliciesRequestDataType' + required: + - type + - attributes + type: object + TestOptimizationFlakyTestsManagementPoliciesData: + description: Data object for Flaky Tests Management policies response. + properties: + attributes: + $ref: '#/components/schemas/TestOptimizationFlakyTestsManagementPoliciesAttributes' + id: + description: The repository identifier used as the resource ID. + example: github.com/datadog/shopist + type: string + type: + $ref: '#/components/schemas/TestOptimizationFlakyTestsManagementPoliciesType' + type: object + TestOptimizationFlakyTestsManagementPoliciesGetRequestData: + description: Data object for get Flaky Tests Management policies request. + properties: + attributes: + $ref: '#/components/schemas/TestOptimizationFlakyTestsManagementPoliciesGetRequestAttributes' + type: + $ref: '#/components/schemas/TestOptimizationGetFlakyTestsManagementPoliciesRequestDataType' + required: + - type + - attributes + type: object + TestOptimizationDeleteServiceSettingsRequestData: + description: Data object for delete service settings request. + properties: + attributes: + $ref: '#/components/schemas/TestOptimizationDeleteServiceSettingsRequestAttributes' + type: + $ref: '#/components/schemas/TestOptimizationDeleteServiceSettingsRequestDataType' + required: + - type + - attributes + type: object + TestOptimizationUpdateServiceSettingsRequestData: + description: Data object for update service settings request. + properties: + attributes: + $ref: '#/components/schemas/TestOptimizationUpdateServiceSettingsRequestAttributes' + type: + $ref: '#/components/schemas/TestOptimizationUpdateServiceSettingsRequestDataType' + required: + - type + - attributes + type: object + TestOptimizationServiceSettingsData: + description: Data object for Test Optimization service settings response. + properties: + attributes: + $ref: '#/components/schemas/TestOptimizationServiceSettingsAttributes' + id: + description: Unique identifier for the service settings. + example: 9b8a7c6d-5e4f-3a2b-1c0d-9e8f7a6b5c4d + type: string + type: + $ref: '#/components/schemas/TestOptimizationServiceSettingsType' + type: object + TestOptimizationGetServiceSettingsRequestData: + description: Data object for get service settings request. + properties: + attributes: + $ref: '#/components/schemas/TestOptimizationGetServiceSettingsRequestAttributes' + type: + $ref: '#/components/schemas/TestOptimizationGetServiceSettingsRequestDataType' + required: + - type + - attributes + type: object + CIAppTestsQueryFilter: + description: The search and filter query settings. + properties: + from: + default: now-15m + description: The minimum time for the requested events; supports date, math, and regular timestamps (in milliseconds). + example: now-15m + type: string + query: + default: '*' + description: The search query following the CI Visibility Explorer search syntax. + example: '@test.service:web-ui-tests AND @test.status:fail' + type: string + to: + default: now + description: The maximum time for the requested events, supports date, math, and regular timestamps (in milliseconds). + example: now + type: string + type: object + CIAppTestsGroupBy: + description: A group-by rule. + properties: + facet: + description: The name of the facet to use (required). + example: '@test.service' + type: string + histogram: + $ref: '#/components/schemas/CIAppGroupByHistogram' + limit: + default: 10 + description: The maximum buckets to return for this group-by. + format: int64 + type: integer + missing: + $ref: '#/components/schemas/CIAppGroupByMissing' + sort: + $ref: '#/components/schemas/CIAppAggregateSort' + total: + $ref: '#/components/schemas/CIAppGroupByTotal' + required: + - facet + type: object + CIAppTestsAggregationBucketsResponse: + description: The query results. + properties: + buckets: + description: The list of matching buckets, one item per bucket. + items: + $ref: '#/components/schemas/CIAppTestsBucketResponse' + type: array + type: object + CIAppTestEvent: + description: Object description of test event after being processed and stored by Datadog. + properties: + attributes: + $ref: '#/components/schemas/CIAppEventAttributes' + id: + description: Unique ID of the event. + example: AAAAAWgN8Xwgr1vKDQAAAABBV2dOOFh3ZzZobm1mWXJFYTR0OA + type: string + type: + $ref: '#/components/schemas/CIAppTestEventTypeName' + type: object + BranchCoverageSummaryRequestData: + description: Data object for branch summary request. + properties: + attributes: + $ref: '#/components/schemas/BranchCoverageSummaryRequestAttributes' + type: + $ref: '#/components/schemas/BranchCoverageSummaryRequestType' + required: + - type + - attributes + type: object + CoverageSummaryData: + description: Data object for coverage summary response. + properties: + attributes: + $ref: '#/components/schemas/CoverageSummaryAttributes' + id: + description: Unique identifier for the coverage summary (base64-hashed). + example: ZGQxMjM0NV9tYWluXzE3MDk1NjQwMDA= + type: string + type: + $ref: '#/components/schemas/CoverageSummaryType' + type: object + CommitCoverageSummaryRequestData: + description: Data object for commit summary request. + properties: + attributes: + $ref: '#/components/schemas/CommitCoverageSummaryRequestAttributes' + type: + $ref: '#/components/schemas/CommitCoverageSummaryRequestType' + required: + - type + - attributes + type: object + DeploymentGateResponseData: + description: Data for a deployment gate. + properties: + attributes: + $ref: '#/components/schemas/DeploymentGateResponseDataAttributes' + id: + description: Unique identifier of the deployment gate. + example: 1111-2222-3333-4444-555566667777 + type: string + type: + $ref: '#/components/schemas/DeploymentGateDataType' + required: + - type + - attributes + - id + type: object + DeploymentGatesListResponseMeta: + description: Metadata for a list of deployment gates response. + properties: + page: + $ref: '#/components/schemas/DeploymentGatesListResponseMetaPage' + type: object + HTTPCDGatesBadRequestResponse: + description: Bad request. + properties: + errors: + description: Structured errors. + items: + $ref: '#/components/schemas/HTTPCIAppError' + type: array + type: object + CreateDeploymentGateParamsData: + description: Parameters for creating a deployment gate. + properties: + attributes: + $ref: '#/components/schemas/CreateDeploymentGateParamsDataAttributes' + type: + $ref: '#/components/schemas/DeploymentGateDataType' + required: + - type + - attributes + type: object + ListDeploymentRuleResponseData: + description: Data for a list of deployment rules. + properties: + attributes: + $ref: '#/components/schemas/ListDeploymentRulesResponseDataAttributes' + id: + description: Unique identifier of the deployment rule. + example: 1111-2222-3333-4444-555566667777 + type: string + type: + $ref: '#/components/schemas/ListDeploymentRulesDataType' + required: + - type + - attributes + - id + type: object + CreateDeploymentRuleParamsData: + description: Parameters for creating a deployment rule. + properties: + attributes: + $ref: '#/components/schemas/CreateDeploymentRuleParamsDataAttributes' + type: + $ref: '#/components/schemas/DeploymentRuleDataType' + required: + - type + - attributes + type: object + DeploymentRuleResponseData: + description: Data for a deployment rule. + properties: + attributes: + $ref: '#/components/schemas/DeploymentRuleResponseDataAttributes' + id: + description: Unique identifier of the deployment rule. + example: 1111-2222-3333-4444-555566667777 + type: string + type: + $ref: '#/components/schemas/DeploymentRuleDataType' + required: + - type + - attributes + - id + type: object + HTTPCDGatesNotFoundResponse: + description: Deployment gate not found. + properties: + errors: + description: Structured errors. + items: + $ref: '#/components/schemas/HTTPCIAppError' + type: array + type: object + HTTPCDRulesNotFoundResponse: + description: Deployment rule not found. + properties: + errors: + description: Structured errors. + items: + $ref: '#/components/schemas/HTTPCIAppError' + type: array + type: object + UpdateDeploymentRuleParamsData: + description: Parameters for updating a deployment rule. + properties: + attributes: + $ref: '#/components/schemas/UpdateDeploymentRuleParamsDataAttributes' + type: + $ref: '#/components/schemas/DeploymentRuleDataType' + required: + - type + - attributes + type: object + UpdateDeploymentGateParamsData: + description: Parameters for updating a deployment gate. + properties: + attributes: + $ref: '#/components/schemas/UpdateDeploymentGateParamsDataAttributes' + id: + description: Unique identifier of the deployment gate. + example: 12345678-1234-1234-1234-123456789012 + type: string + type: + $ref: '#/components/schemas/DeploymentGateDataType' + required: + - type + - id + - attributes + type: object + DeploymentGatesEvaluationRequestData: + description: Data for a deployment gate evaluation request. + properties: + attributes: + $ref: '#/components/schemas/DeploymentGatesEvaluationRequestAttributes' + type: + $ref: '#/components/schemas/DeploymentGatesEvaluationRequestDataType' + required: + - type + - attributes + type: object + DeploymentGatesEvaluationResponseData: + description: Data for a deployment gate evaluation response. + properties: + attributes: + $ref: '#/components/schemas/DeploymentGatesEvaluationResponseAttributes' + id: + description: The unique identifier of the evaluation response. + example: e9d2f04f-4f4b-494b-86e5-52f03e10c8e9 + format: uuid + type: string + type: + $ref: '#/components/schemas/DeploymentGatesEvaluationResponseDataType' + required: + - type + - attributes + - id + type: object + DeploymentGatesEvaluationResultResponseData: + description: Data for a deployment gate evaluation result response. + properties: + attributes: + $ref: '#/components/schemas/DeploymentGatesEvaluationResultResponseAttributes' + id: + description: The unique identifier of the evaluation. + example: e9d2f04f-4f4b-494b-86e5-52f03e10c8e9 + type: string + type: + $ref: '#/components/schemas/DeploymentGatesEvaluationResultResponseDataType' + required: + - type + - attributes + - id + type: object + DORADeploymentRequestData: + description: The JSON:API data. + properties: + attributes: + $ref: '#/components/schemas/DORADeploymentRequestAttributes' + required: + - attributes + type: object + DORADeploymentResponseData: + description: The JSON:API data. + properties: + id: + description: The ID of the received DORA deployment event. + example: 4242fcdd31586083 + type: string + type: + $ref: '#/components/schemas/DORADeploymentType' + required: + - id + type: object + JSONAPIErrorItem: + description: API error response body + properties: + detail: + description: A human-readable explanation specific to this occurrence of the error. + example: Missing required attribute in body + type: string + meta: + additionalProperties: {} + description: Non-standard meta-information about the error + type: object + source: + $ref: '#/components/schemas/JSONAPIErrorItemSource' + status: + description: Status code of the response. + example: '400' + type: string + title: + description: Short human-readable summary of the error. + example: Bad Request + type: string + type: object + DORADeploymentPatchByVersionRequestData: + description: The JSON:API data for patching a deployment identified by service, environment, and version. + properties: + attributes: + $ref: '#/components/schemas/DORADeploymentPatchByVersionRequestAttributes' + type: + $ref: '#/components/schemas/DORADeploymentPatchRequestDataType' + required: + - type + - attributes + type: object + DORAListDeploymentsRequestData: + description: The JSON:API data. + example: + attributes: + from: '2025-01-15T08:00:00Z' + limit: 200 + query: env:production service:payment-service version:*v2* + sort: '-finished_at' + to: '2025-01-15T18:00:00Z' + type: dora_deployments_list_request + properties: + attributes: + $ref: '#/components/schemas/DORAListDeploymentsRequestAttributes' + type: + $ref: '#/components/schemas/DORAListDeploymentsRequestDataType' + required: + - attributes + type: object + DORADeploymentObject: + description: A DORA deployment event. + example: + attributes: + custom_tags: + - language:java + - department:engineering + - region:us-east-1 + env: production + finished_at: '2023-08-31T14:26:24Z' + git: + commit_sha: 66adc9350f2cc9b250b69abddab733dd55e1a588 + repository_id: github.com/organization/example-repository + service: shopist + started_at: '2023-08-31T14:26:14Z' + team: backend + version: v1.12.07 + id: 4242fcdd31586083 + type: dora_deployment + properties: + attributes: + $ref: '#/components/schemas/DORADeploymentObjectAttributes' + id: + description: The ID of the deployment event. + type: string + type: + $ref: '#/components/schemas/DORADeploymentType' + type: object + DORADeploymentPatchRequestData: + description: The JSON:API data for patching a deployment. + example: + attributes: + change_failure: true + remediation: + id: eG42zNIkVjM + type: rollback + id: z_RwVLi7v4Y + type: dora_deployment_patch_request + properties: + attributes: + $ref: '#/components/schemas/DORADeploymentPatchRequestAttributes' + id: + description: The ID of the deployment to patch. + example: z_RwVLi7v4Y + type: string + type: + $ref: '#/components/schemas/DORADeploymentPatchRequestDataType' + required: + - type + - id + - attributes + type: object + DORAFailureRequestData: + description: The JSON:API data. + properties: + attributes: + $ref: '#/components/schemas/DORAFailureRequestAttributes' + required: + - attributes + type: object + DORAFailureResponseData: + description: Response after receiving a DORA incident event. + properties: + id: + description: The ID of the received DORA incident event. + example: 4242fcdd31586083 + type: string + type: + $ref: '#/components/schemas/DORAFailureType' + required: + - id + type: object + DORAListFailuresRequestData: + description: The JSON:API data. + example: + attributes: + from: '2025-01-15T00:00:00Z' + limit: 200 + query: severity:SEV-1 service:(api-service OR payment-service) env:production + sort: '-finished_at' + to: '2025-01-15T23:59:59Z' + type: dora_failures_list_request + properties: + attributes: + $ref: '#/components/schemas/DORAListFailuresRequestAttributes' + type: + $ref: '#/components/schemas/DORAListFailuresRequestDataType' + required: + - attributes + type: object + DORAIncidentObject: + description: A DORA incident event. + example: + attributes: + custom_tags: + - incident_type:database + - department:engineering + env: production + finished_at: '2023-08-31T14:31:14Z' + git: + commit_sha: 66adc9350f2cc9b250b69abddab733dd55e1a588 + repository_url: https://github.com/organization/example-repository + name: Database outage + services: + - shopist + severity: SEV-1 + started_at: '2023-08-31T14:29:34Z' + team: backend + id: 4242fcdd31586085 + type: dora_incident + properties: + attributes: + $ref: '#/components/schemas/DORAIncidentObjectAttributes' + id: + description: The ID of the incident event. + type: string + type: + $ref: '#/components/schemas/DORAFailureType' + type: object + FeatureFlagListItem: + description: A feature flag resource for list responses. + properties: + attributes: + $ref: '#/components/schemas/FeatureFlagListItemAttributes' + id: + description: The unique identifier of the feature flag. + example: 550e8400-e29b-41d4-a716-446655440000 + format: uuid + type: string + type: + $ref: '#/components/schemas/CreateFeatureFlagDataType' + required: + - id + - type + - attributes + type: object + FeatureFlagsPaginationMeta: + description: Pagination metadata for feature flags. + properties: + page: + $ref: '#/components/schemas/FeatureFlagsPaginationMetaPage' + type: object + CreateFeatureFlagData: + description: Data for creating a new feature flag. + properties: + attributes: + $ref: '#/components/schemas/CreateFeatureFlagAttributes' + type: + $ref: '#/components/schemas/CreateFeatureFlagDataType' + required: + - type + - attributes + type: object + FeatureFlag: + description: A feature flag resource. + properties: + attributes: + $ref: '#/components/schemas/FeatureFlagAttributes' + id: + description: The unique identifier of the feature flag. + example: 550e8400-e29b-41d4-a716-446655440000 + format: uuid + type: string + type: + $ref: '#/components/schemas/CreateFeatureFlagDataType' + required: + - id + - type + - attributes + type: object + Environment: + description: A feature flag environment resource. + properties: + attributes: + $ref: '#/components/schemas/EnvironmentAttributes' + id: + description: The unique identifier of the environment. + example: 550e8400-e29b-41d4-a716-446655440001 + format: uuid + type: string + type: + $ref: '#/components/schemas/CreateEnvironmentDataType' + required: + - id + - type + - attributes + type: object + EnvironmentsPaginationMeta: + description: Pagination metadata for environments. + properties: + page: + $ref: '#/components/schemas/EnvironmentsPaginationMetaPage' + type: object + CreateEnvironmentData: + description: Data for creating a new environment. + properties: + attributes: + $ref: '#/components/schemas/CreateEnvironmentAttributes' + type: + $ref: '#/components/schemas/CreateEnvironmentDataType' + required: + - type + - attributes + type: object + UpdateEnvironmentData: + description: Data for updating an environment. + properties: + attributes: + $ref: '#/components/schemas/UpdateEnvironmentAttributes' + type: + $ref: '#/components/schemas/UpdateEnvironmentDataType' + required: + - type + - attributes + type: object + AllocationExposureScheduleData: + description: Data wrapper for progressive rollout schedule responses. + properties: + attributes: + $ref: '#/components/schemas/AllocationExposureSchedule' + id: + description: The unique identifier of the progressive rollout. + example: 550e8400-e29b-41d4-a716-446655440010 + format: uuid + type: string + type: + $ref: '#/components/schemas/AllocationExposureScheduleDataType' + required: + - id + - type + - attributes + type: object + UpdateFeatureFlagData: + description: Data for updating a feature flag. + properties: + attributes: + $ref: '#/components/schemas/UpdateFeatureFlagAttributes' + type: + $ref: '#/components/schemas/UpdateFeatureFlagDataType' + required: + - type + - attributes + type: object + AllocationDataRequest: + description: Data wrapper for allocation request payloads. + properties: + attributes: + $ref: '#/components/schemas/UpsertAllocationRequest' + type: + $ref: '#/components/schemas/AllocationDataType' + required: + - type + - attributes + type: object + AllocationDataResponse: + description: Data wrapper for targeting rule allocation responses. + properties: + attributes: + $ref: '#/components/schemas/Allocation' + id: + description: The unique identifier of the targeting rule allocation. + example: 550e8400-e29b-41d4-a716-446655440020 + format: uuid + type: string + type: + $ref: '#/components/schemas/AllocationDataType' + required: + - id + - type + - attributes + type: object + UpdateFlakyTestsRequestData: + description: The JSON:API data for updating flaky test states. + properties: + attributes: + $ref: '#/components/schemas/UpdateFlakyTestsRequestAttributes' + type: + $ref: '#/components/schemas/UpdateFlakyTestsRequestDataType' + required: + - type + - attributes + type: object + UpdateFlakyTestsResponseData: + description: Summary of the update operations. Tells whether a test succeeded or failed to be updated. + properties: + attributes: + $ref: '#/components/schemas/UpdateFlakyTestsResponseAttributes' + id: + description: The ID of the response. + type: string + type: + $ref: '#/components/schemas/UpdateFlakyTestsResponseDataType' + type: object + FlakyTestsSearchRequestData: + description: The JSON:API data for flaky tests search request. + properties: + attributes: + $ref: '#/components/schemas/FlakyTestsSearchRequestAttributes' + type: + $ref: '#/components/schemas/FlakyTestsSearchRequestDataType' + type: object + FlakyTest: + description: A flaky test object. + properties: + attributes: + $ref: '#/components/schemas/FlakyTestAttributes' + id: + description: |- + Test's ID. This ID is the hash of the test's Fully Qualified Name and Git repository ID. It is the + value of the `@test.fingerprint_fqn` facet on test events, which you can search on in the Test + Optimization Explorer to locate a specific test. To filter search results by this ID, use the + `fingerprint_fqn` search key. + type: string + type: + $ref: '#/components/schemas/FlakyTestType' + type: object + FlakyTestsSearchResponseMeta: + description: Metadata for the flaky tests search response. + properties: + pagination: + $ref: '#/components/schemas/FlakyTestsPagination' + type: object + WorkflowListItem: + description: A workflow returned by the list workflows endpoint. + properties: + attributes: + $ref: '#/components/schemas/WorkflowListItemAttributes' + id: + description: The workflow identifier. + readOnly: true + type: string + relationships: + $ref: '#/components/schemas/WorkflowDataRelationships' + type: + $ref: '#/components/schemas/WorkflowDataType' + required: + - type + - attributes + type: object + ListWorkflowsResponseMeta: + description: Metadata for a List Workflows response. + properties: + page: + $ref: '#/components/schemas/ListWorkflowsResponseMetaPage' + type: object + WorkflowData: + description: Data related to the workflow. + properties: + attributes: + $ref: '#/components/schemas/WorkflowDataAttributes' + id: + description: The workflow identifier + readOnly: true + type: string + relationships: + $ref: '#/components/schemas/WorkflowDataRelationships' + type: + $ref: '#/components/schemas/WorkflowDataType' + required: + - type + - attributes + type: object + WorkflowDataUpdate: + description: Data related to the workflow being updated. + properties: + attributes: + $ref: '#/components/schemas/WorkflowDataUpdateAttributes' + id: + description: The workflow identifier + type: string + relationships: + $ref: '#/components/schemas/WorkflowDataRelationships' + type: + $ref: '#/components/schemas/WorkflowDataType' + required: + - type + - attributes + type: object + WorkflowInstanceListItem: + additionalProperties: {} + description: An item in the workflow instances list. + properties: + id: + description: The ID of the workflow instance + type: string + type: object + WorkflowListInstancesResponseMeta: + additionalProperties: {} + description: Metadata about the instances list + properties: + page: + $ref: '#/components/schemas/WorkflowListInstancesResponseMetaPage' + type: object + WorkflowInstanceCreateMeta: + description: Additional information for creating a workflow instance. + properties: + payload: + additionalProperties: {} + description: The input parameters to the workflow. + type: object + type: object + WorkflowInstanceCreateResponseData: + additionalProperties: {} + description: Data about the created workflow instance. + properties: + id: + description: The ID of the workflow execution. It can be used to fetch the execution status. + type: string + type: object + WorklflowGetInstanceResponseData: + additionalProperties: {} + description: The data of the instance response. + properties: + attributes: + $ref: '#/components/schemas/WorklflowGetInstanceResponseDataAttributes' + type: object + WorklflowCancelInstanceResponseData: + description: Data about the canceled instance. + properties: + id: + description: The id of the canceled instance + type: string + type: object + CIAppGitHubAccountAttributes: + description: Attributes describing a GitHub account's CI Visibility opt-in status. + properties: + account: + description: The GitHub account (organization or user) name. + example: datadog + type: string + enabled: + description: Whether CI Visibility is enabled at the account level. + example: true + type: boolean + host: + description: The GitHub host (`github.com` or a GitHub Enterprise Server (GHES) hostname) this account belongs to. + example: github.com + type: string + repo_count: + description: The number of repositories known for this account. + example: 12 + format: int64 + type: integer + repositories: + description: The repositories belonging to this account, with their individual opt-in status. + items: + $ref: '#/components/schemas/CIAppGitHubAccountRepository' + type: array + type: object + CIAppGitHubAccountType: + description: |- + JSON:API type for the GitHub account resource. + The value must always be `ci_github_account`. + enum: + - ci_github_account + example: ci_github_account + type: string + x-enum-varnames: + - CI_GITHUB_ACCOUNT + CIAppGitHubAccountUpdateRequestAttributes: + description: |- + Attributes for updating a GitHub account's CI Visibility opt-in status. + At least one of `enabled` or `repository.enabled` must be provided. + properties: + account: + description: The GitHub account (organization or user) name to update, identified by name. + example: datadog + minLength: 1 + type: string + enabled: + description: Whether to enable or disable CI Visibility at the account level. + example: true + type: boolean + host: + description: |- + The GitHub host (`github.com` or a GHES hostname) the account belongs to. Required to disambiguate + when the same account name exists on more than one host. + example: github.com + type: string + repository: + $ref: '#/components/schemas/CIAppGitHubAccountUpdateRequestRepository' + required: + - account + type: object + CIAppCreatePipelineEventRequestData: + description: Data of the pipeline event to create. + properties: + attributes: + $ref: '#/components/schemas/CIAppCreatePipelineEventRequestAttributes' + type: + $ref: '#/components/schemas/CIAppCreatePipelineEventRequestDataType' + type: object + CIAppCreatePipelineEventRequestDataArray: + description: Array of pipeline events to create in batch. + items: + $ref: '#/components/schemas/CIAppCreatePipelineEventRequestData' + type: array + CIAppAggregationFunction: + description: An aggregation function. + enum: + - count + - cardinality + - pc75 + - pc90 + - pc95 + - pc98 + - pc99 + - sum + - min + - max + - avg + - median + - latest + - earliest + - most_frequent + - delta + example: pc90 + type: string + x-enum-varnames: + - COUNT + - CARDINALITY + - PERCENTILE_75 + - PERCENTILE_90 + - PERCENTILE_95 + - PERCENTILE_98 + - PERCENTILE_99 + - SUM + - MIN + - MAX + - AVG + - MEDIAN + - LATEST + - EARLIEST + - MOST_FREQUENT + - DELTA + CIAppComputeType: + default: total + description: The type of compute. + enum: + - timeseries + - total + type: string + x-enum-varnames: + - TIMESERIES + - TOTAL + CIAppGroupByHistogram: + description: |- + Used to perform a histogram computation (only for measure facets). + At most, 100 buckets are allowed, the number of buckets is `(max - min)/interval`. + properties: + interval: + description: The bin size of the histogram buckets. + example: 10 + format: double + type: number + max: + description: |- + The maximum value for the measure used in the histogram + (values greater than this one are filtered out). + example: 100 + format: double + type: number + min: + description: |- + The minimum value for the measure used in the histogram + (values smaller than this one are filtered out). + example: 50 + format: double + type: number + required: + - interval + - min + - max + type: object + CIAppGroupByMissing: + description: The value to use for logs that don't have the facet used to group-by. + type: string + format: double + CIAppAggregateSort: + description: A sort rule. The `aggregation` field is required when `type` is `measure`. + example: + aggregation: count + order: asc + properties: + aggregation: + $ref: '#/components/schemas/CIAppAggregationFunction' + metric: + description: The metric to sort by (only used for `type=measure`). + example: '@duration' + type: string + order: + $ref: '#/components/schemas/CIAppSortOrder' + type: + $ref: '#/components/schemas/CIAppAggregateSortType' + type: object + CIAppGroupByTotal: + default: false + description: A resulting object to put the given computes in over all the matching records. + type: boolean + format: double + CIAppPipelinesBucketResponse: + description: Bucket values. + properties: + by: + additionalProperties: + description: The values for each group-by. + description: The key-value pairs for each group-by. + example: + '@ci.provider.name': gitlab + '@ci.status': success + type: object + computes: + $ref: '#/components/schemas/CIAppComputes' + type: object + CIAppResponseStatus: + description: The status of the response. + enum: + - done + - timeout + example: done + type: string + x-enum-varnames: + - DONE + - TIMEOUT + CIAppWarning: + description: A warning message indicating something that went wrong with the query. + properties: + code: + description: A unique code for this type of warning. + example: unknown_index + type: string + detail: + description: A detailed explanation of this specific warning. + example: 'indexes: foo, bar' + type: string + title: + description: A short human-readable summary of the warning. + example: One or several indexes are missing or invalid, results hold data from the other indexes + type: string + type: object + CIAppPipelineEventAttributes: + description: JSON object containing all event attributes and their associated values. + properties: + attributes: + additionalProperties: {} + description: JSON object of attributes from CI Visibility pipeline events. + example: + customAttribute: 123 + duration: 2345 + type: object + ci_level: + $ref: '#/components/schemas/CIAppPipelineLevel' + tags: + $ref: '#/components/schemas/TagsEventAttribute' + type: object + CIAppPipelineEventTypeName: + description: Type of the event. + enum: + - cipipeline + example: cipipeline + type: string + x-enum-varnames: + - CIPIPELINE + CIAppResponsePage: + description: Paging attributes. + properties: + after: + description: The cursor to use to get the next results, if any. To make the next request, use the same parameters with the addition of `page[cursor]`. + example: eyJzdGFydEF0IjoiQVFBQUFYS2tMS3pPbm40NGV3QUFBQUJCV0V0clRFdDZVbG8zY3pCRmNsbHJiVmxDWlEifQ== + type: string + type: object + TestOptimizationFlakyTestsManagementPoliciesUpdateRequestAttributes: + description: |- + Attributes for updating Flaky Tests Management policies. + Only provided policy blocks are updated; omitted blocks are left unchanged. + properties: + attempt_to_fix: + $ref: '#/components/schemas/TestOptimizationFlakyTestsManagementPoliciesAttemptToFix' + disabled: + $ref: '#/components/schemas/TestOptimizationFlakyTestsManagementPoliciesDisabled' + quarantined: + $ref: '#/components/schemas/TestOptimizationFlakyTestsManagementPoliciesQuarantined' + repository_id: + description: The repository identifier. + example: github.com/datadog/shopist + minLength: 1 + type: string + required: + - repository_id + type: object + TestOptimizationUpdateFlakyTestsManagementPoliciesRequestDataType: + description: |- + JSON:API type for update Flaky Tests Management policies request. + The value must always be `test_optimization_update_flaky_tests_management_policies_request`. + enum: + - test_optimization_update_flaky_tests_management_policies_request + example: test_optimization_update_flaky_tests_management_policies_request + type: string + x-enum-varnames: + - TEST_OPTIMIZATION_UPDATE_FLAKY_TESTS_MANAGEMENT_POLICIES_REQUEST + TestOptimizationFlakyTestsManagementPoliciesAttributes: + description: Attributes of the Flaky Tests Management policies for a repository. + properties: + attempt_to_fix: + $ref: '#/components/schemas/TestOptimizationFlakyTestsManagementPoliciesAttemptToFix' + disabled: + $ref: '#/components/schemas/TestOptimizationFlakyTestsManagementPoliciesDisabled' + quarantined: + $ref: '#/components/schemas/TestOptimizationFlakyTestsManagementPoliciesQuarantined' + repository_id: + description: The repository identifier. + example: github.com/datadog/shopist + type: string + type: object + TestOptimizationFlakyTestsManagementPoliciesType: + description: |- + JSON:API type for Flaky Tests Management policies response. + The value must always be `test_optimization_flaky_tests_management_policies`. + enum: + - test_optimization_flaky_tests_management_policies + example: test_optimization_flaky_tests_management_policies + type: string + x-enum-varnames: + - TEST_OPTIMIZATION_FLAKY_TESTS_MANAGEMENT_POLICIES + TestOptimizationFlakyTestsManagementPoliciesGetRequestAttributes: + description: Attributes for requesting Flaky Tests Management policies. + properties: + repository_id: + description: The repository identifier. + example: github.com/datadog/shopist + minLength: 1 + type: string + required: + - repository_id + type: object + TestOptimizationGetFlakyTestsManagementPoliciesRequestDataType: + description: |- + JSON:API type for get Flaky Tests Management policies request. + The value must always be `test_optimization_get_flaky_tests_management_policies_request`. + enum: + - test_optimization_get_flaky_tests_management_policies_request + example: test_optimization_get_flaky_tests_management_policies_request + type: string + x-enum-varnames: + - TEST_OPTIMIZATION_GET_FLAKY_TESTS_MANAGEMENT_POLICIES_REQUEST + TestOptimizationDeleteServiceSettingsRequestAttributes: + description: Attributes for deleting Test Optimization service settings. + properties: + env: + description: The environment name. If omitted, defaults to `none`. + example: prod + type: string + repository_id: + description: The repository identifier. + example: github.com/datadog/shopist + minLength: 1 + type: string + service_name: + description: The service name. + example: shopist + minLength: 1 + type: string + required: + - repository_id + - service_name + type: object + TestOptimizationDeleteServiceSettingsRequestDataType: + description: |- + JSON:API type for delete service settings request. + The value must always be `test_optimization_delete_service_settings_request`. + enum: + - test_optimization_delete_service_settings_request + example: test_optimization_delete_service_settings_request + type: string + x-enum-varnames: + - TEST_OPTIMIZATION_DELETE_SERVICE_SETTINGS_REQUEST + TestOptimizationUpdateServiceSettingsRequestAttributes: + description: |- + Attributes for updating Test Optimization service settings. + All non-required fields are optional; only provided fields will be updated. + Setting a field to `null` is a no-op. To reset a setting to inherit from the repository level, use the corresponding `_inherit` field. + properties: + auto_test_retries_enabled: + description: Whether Auto Test Retries are enabled for this service. Setting to `null` is a no-op; use `auto_test_retries_enabled_inherit` to reset to repository-level inheritance. + example: false + type: boolean + auto_test_retries_enabled_inherit: + description: When `true`, resets the Auto Test Retries setting to inherit from the repository level. + example: false + type: boolean + code_coverage_enabled: + description: Whether Code Coverage is enabled for this service. Setting to `null` is a no-op; use `code_coverage_enabled_inherit` to reset to repository-level inheritance. + example: false + type: boolean + code_coverage_enabled_inherit: + description: When `true`, resets the Code Coverage setting to inherit from the repository level. + example: false + type: boolean + early_flake_detection_enabled: + description: Whether Early Flake Detection is enabled for this service. Setting to `null` is a no-op; use `early_flake_detection_enabled_inherit` to reset to repository-level inheritance. + example: false + type: boolean + early_flake_detection_enabled_inherit: + description: When `true`, resets the Early Flake Detection setting to inherit from the repository level. + example: false + type: boolean + env: + description: The environment name. If omitted, defaults to `none`. + example: prod + type: string + failed_test_replay_enabled: + description: Whether Failed Test Replay is enabled for this service. Setting to `null` is a no-op; use `failed_test_replay_enabled_inherit` to reset to repository-level inheritance. + example: false + type: boolean + failed_test_replay_enabled_inherit: + description: When `true`, resets the Failed Test Replay setting to inherit from the repository level. + example: false + type: boolean + pr_comments_enabled: + description: This field is ignored. PR Comments cannot be overridden at the service level. + example: false + type: boolean + repository_id: + description: The repository identifier. + example: github.com/datadog/shopist + minLength: 1 + type: string + service_name: + description: The service name. + example: shopist + minLength: 1 + type: string + test_impact_analysis_enabled: + description: Whether Test Impact Analysis is enabled for this service. Setting to `null` is a no-op; use `test_impact_analysis_enabled_inherit` to reset to repository-level inheritance. + example: true + type: boolean + test_impact_analysis_enabled_inherit: + description: When `true`, resets the Test Impact Analysis setting to inherit from the repository level. + example: true + type: boolean + required: + - repository_id + - service_name + type: object + TestOptimizationUpdateServiceSettingsRequestDataType: + description: |- + JSON:API type for update service settings request. + The value must always be `test_optimization_update_service_settings_request`. + enum: + - test_optimization_update_service_settings_request + example: test_optimization_update_service_settings_request + type: string + x-enum-varnames: + - TEST_OPTIMIZATION_UPDATE_SERVICE_SETTINGS_REQUEST + TestOptimizationServiceSettingsAttributes: + description: Attributes for Test Optimization service settings. + properties: + auto_test_retries_enabled: + description: Whether Auto Test Retries are enabled for this service. + example: false + type: boolean + auto_test_retries_enabled_is_overridden: + description: Whether the Auto Test Retries setting is overridden at the service level. + example: false + type: boolean + code_coverage_enabled: + description: Whether Code Coverage is enabled for this service. + example: false + type: boolean + code_coverage_enabled_is_overridden: + description: Whether the Code Coverage setting is overridden at the service level. + example: false + type: boolean + early_flake_detection_enabled: + description: Whether Early Flake Detection is enabled for this service. + example: false + type: boolean + early_flake_detection_enabled_is_overridden: + description: Whether the Early Flake Detection setting is overridden at the service level. + example: false + type: boolean + env: + description: The environment name. + example: prod + type: string + failed_test_replay_enabled: + description: Whether Failed Test Replay is enabled for this service. + example: false + type: boolean + failed_test_replay_enabled_is_overridden: + description: Whether the Failed Test Replay setting is overridden at the service level. + example: false + type: boolean + pr_comments_enabled: + description: Whether PR Comments are enabled. This value reflects the repository-level setting and cannot be overridden at the service level. + example: false + type: boolean + repository_id: + description: The repository identifier. + example: github.com/datadog/shopist + type: string + service_name: + description: The service name. + example: shopist + type: string + test_impact_analysis_enabled: + description: Whether Test Impact Analysis is enabled for this service. + example: true + type: boolean + test_impact_analysis_enabled_is_overridden: + description: Whether the Test Impact Analysis setting is overridden at the service level. + example: true + type: boolean + type: object + TestOptimizationServiceSettingsType: + description: |- + JSON:API type for service settings response. + The value must always be `test_optimization_service_settings`. + enum: + - test_optimization_service_settings + example: test_optimization_service_settings + type: string + x-enum-varnames: + - TEST_OPTIMIZATION_SERVICE_SETTINGS + TestOptimizationGetServiceSettingsRequestAttributes: + description: Attributes for requesting Test Optimization service settings. + properties: + env: + description: The environment name. If omitted, defaults to `none`. + example: prod + type: string + repository_id: + description: The repository identifier. + example: github.com/datadog/shopist + minLength: 1 + type: string + service_name: + description: The service name. + example: shopist + minLength: 1 + type: string + required: + - repository_id + - service_name + type: object + TestOptimizationGetServiceSettingsRequestDataType: + description: |- + JSON:API type for get service settings request. + The value must always be `test_optimization_get_service_settings_request`. + enum: + - test_optimization_get_service_settings_request + example: test_optimization_get_service_settings_request + type: string + x-enum-varnames: + - TEST_OPTIMIZATION_GET_SERVICE_SETTINGS_REQUEST + CIAppTestsBucketResponse: + description: Bucket values. + properties: + by: + additionalProperties: + description: The values for each group-by. + description: The key-value pairs for each group-by. + example: + '@test.service': web-ui-tests + '@test.status': skip + type: object + computes: + $ref: '#/components/schemas/CIAppComputes' + type: object + CIAppEventAttributes: + description: JSON object containing all event attributes and their associated values. + properties: + attributes: + additionalProperties: {} + description: JSON object of attributes from CI Visibility test events. + example: + customAttribute: 123 + duration: 2345 + type: object + tags: + $ref: '#/components/schemas/TagsEventAttribute' + test_level: + $ref: '#/components/schemas/CIAppTestLevel' + type: object + CIAppTestEventTypeName: + description: Type of the event. + enum: + - citest + example: citest + type: string + x-enum-varnames: + - CITEST + BranchCoverageSummaryRequestAttributes: + description: Attributes for requesting code coverage summary for a branch. + properties: + branch: + description: The branch name. + example: prod + minLength: 1 + type: string + repository_id: + deprecated: true + description: 'Deprecated: use `repository_url` instead. The repository URL.' + example: github.com/datadog/shopist + minLength: 1 + type: string + repository_url: + description: The repository URL. Accepts a full URL with or without a scheme (for example, `https://github.com/org/repo` or `github.com/org/repo`). + example: https://github.com/datadog/shopist + minLength: 1 + type: string + required: + - branch + type: object + BranchCoverageSummaryRequestType: + description: JSON:API type for branch coverage summary request. The value must always be `ci_app_coverage_branch_summary_request`. + enum: + - ci_app_coverage_branch_summary_request + example: ci_app_coverage_branch_summary_request + type: string + x-enum-varnames: + - CI_APP_COVERAGE_BRANCH_SUMMARY_REQUEST + CoverageSummaryAttributes: + description: Attributes object for code coverage summary response. + properties: + codeowners: + additionalProperties: + $ref: '#/components/schemas/CoverageSummaryCodeownerStats' + description: Coverage statistics broken down by code owner. + nullable: true + type: object + evaluated_flags_count: + description: Total number of coverage flags evaluated. + example: 8 + format: int64 + type: integer + evaluated_reports_count: + description: Total number of coverage reports evaluated. + example: 12 + format: int64 + type: integer + patch_coverage: + description: Overall patch coverage percentage. + example: 70.1 + format: double + nullable: true + type: number + services: + additionalProperties: + $ref: '#/components/schemas/CoverageSummaryServiceStats' + description: Coverage statistics broken down by service. + nullable: true + type: object + total_coverage: + description: Overall total coverage percentage. + example: 82.4 + format: double + nullable: true + type: number + type: object + CoverageSummaryType: + description: JSON:API type for coverage summary response. The value must always be `ci_app_coverage_summary`. + enum: + - ci_app_coverage_summary + example: ci_app_coverage_summary + type: string + x-enum-varnames: + - CI_APP_COVERAGE_SUMMARY + CommitCoverageSummaryRequestAttributes: + description: Attributes for requesting code coverage summary for a commit. + properties: + commit_sha: + description: The commit SHA (40-character hexadecimal string). + example: 66adc9350f2cc9b250b69abddab733dd55e1a588 + pattern: ^[a-fA-F0-9]{40}$ + type: string + repository_id: + deprecated: true + description: 'Deprecated: use `repository_url` instead. The repository URL.' + example: github.com/datadog/shopist + minLength: 1 + type: string + repository_url: + description: The repository URL. Accepts a full URL with or without a scheme (for example, `https://github.com/org/repo` or `github.com/org/repo`). + example: https://github.com/datadog/shopist + minLength: 1 + type: string + required: + - commit_sha + type: object + CommitCoverageSummaryRequestType: + description: JSON:API type for commit coverage summary request. The value must always be `ci_app_coverage_commit_summary_request`. + enum: + - ci_app_coverage_commit_summary_request + example: ci_app_coverage_commit_summary_request + type: string + x-enum-varnames: + - CI_APP_COVERAGE_COMMIT_SUMMARY_REQUEST + DeploymentGateResponseDataAttributes: + description: Basic information about a deployment gate. + properties: + created_at: + description: The timestamp when the deployment gate was created. + example: '2021-01-01T00:00:00Z' + format: date-time + type: string + created_by: + $ref: '#/components/schemas/DeploymentGateResponseDataAttributesCreatedBy' + dry_run: + description: Whether this gate is run in dry-run mode. + example: false + type: boolean + env: + description: The environment of the deployment gate. + example: production + type: string + identifier: + description: The identifier of the deployment gate. + example: pre + type: string + service: + description: The service of the deployment gate. + example: my-service + type: string + updated_at: + description: The timestamp when the deployment gate was last updated. + example: '2021-01-01T00:00:00Z' + format: date-time + type: string + updated_by: + $ref: '#/components/schemas/DeploymentGateResponseDataAttributesUpdatedBy' + required: + - created_at + - created_by + - dry_run + - env + - identifier + - service + type: object + DeploymentGateDataType: + description: Deployment gate resource type. + enum: + - deployment_gate + example: deployment_gate + type: string + x-enum-varnames: + - DEPLOYMENT_GATE + DeploymentGatesListResponseMetaPage: + description: Pagination information for a list of deployment gates. + properties: + cursor: + description: The cursor used for the current page. + type: string + next_cursor: + description: The cursor to use to fetch the next page. This is absent when there are no more pages. + type: string + size: + default: 50 + description: The number of results per page. + format: int64 + maximum: 1000 + minimum: 1 + type: integer + type: object + CreateDeploymentGateParamsDataAttributes: + description: Parameters for creating a deployment gate. + properties: + dry_run: + default: false + description: Whether this gate is run in dry-run mode. + example: false + type: boolean + env: + description: The environment of the deployment gate. + example: production + type: string + identifier: + default: default + description: The identifier of the deployment gate. + example: pre + type: string + service: + description: The service of the deployment gate. + example: my-service + type: string + required: + - env + - service + type: object + ListDeploymentRulesResponseDataAttributes: + description: Attributes of the response for listing deployment rules. + properties: + rules: + description: The list of deployment rules. + items: + $ref: '#/components/schemas/DeploymentRuleResponseDataAttributes' + type: array + type: object + ListDeploymentRulesDataType: + description: List deployment rule resource type. + enum: + - list_deployment_rules + example: list_deployment_rules + type: string + x-enum-varnames: + - LIST_DEPLOYMENT_RULES + CreateDeploymentRuleParamsDataAttributes: + description: Parameters for creating a deployment rule. + properties: + dry_run: + default: false + description: Whether this rule is run in dry-run mode. + example: false + type: boolean + name: + description: The name of the deployment rule. + example: My deployment rule + type: string + options: + $ref: '#/components/schemas/DeploymentRulesOptions' + type: + description: The type of the deployment rule (faulty_deployment_detection or monitor). + example: faulty_deployment_detection + type: string + required: + - name + - options + - type + type: object + DeploymentRuleDataType: + description: Deployment rule resource type. + enum: + - deployment_rule + example: deployment_rule + type: string + x-enum-varnames: + - DEPLOYMENT_RULE + DeploymentRuleResponseDataAttributes: + description: Basic information about a deployment rule. + properties: + created_at: + description: The timestamp when the deployment rule was created. + example: '2021-01-01T00:00:00Z' + format: date-time + type: string + created_by: + $ref: '#/components/schemas/DeploymentRuleResponseDataAttributesCreatedBy' + dry_run: + description: Whether this rule is run in dry-run mode. + example: false + type: boolean + gate_id: + description: The ID of the deployment gate. + example: 1111-2222-3333-4444-555566667777 + type: string + name: + description: The name of the deployment rule. + example: My deployment rule + type: string + options: + $ref: '#/components/schemas/DeploymentRulesOptions' + type: + $ref: '#/components/schemas/DeploymentRuleResponseDataAttributesType' + updated_at: + description: The timestamp when the deployment rule was last updated. + format: date-time + type: string + updated_by: + $ref: '#/components/schemas/DeploymentRuleResponseDataAttributesUpdatedBy' + required: + - created_at + - created_by + - dry_run + - gate_id + - name + - options + - type + type: object + UpdateDeploymentRuleParamsDataAttributes: + description: Parameters for updating a deployment rule. + properties: + dry_run: + description: Whether to run this rule in dry-run mode. + example: false + type: boolean + name: + description: The name of the deployment rule. + example: Updated deployment rule + type: string + options: + $ref: '#/components/schemas/DeploymentRulesOptions' + required: + - dry_run + - name + - options + type: object + UpdateDeploymentGateParamsDataAttributes: + description: Attributes for updating a deployment gate. + properties: + dry_run: + description: Whether to run in dry-run mode. + example: false + type: boolean + required: + - dry_run + type: object + DeploymentGatesEvaluationRequestAttributes: + description: |- + Attributes for a deployment gate evaluation request. + When `configuration` is provided, rules are evaluated inline from that configuration. + When omitted, rules are resolved from the preconfigured gate for the given service and environment. + properties: + configuration: + $ref: '#/components/schemas/DeploymentGatesEvaluationConfiguration' + env: + description: The environment of the deployment. + example: staging + type: string + identifier: + default: default + description: The identifier of the deployment gate. Defaults to "default". + example: pre-deploy + type: string + primary_tag: + description: A primary tag to scope APM Faulty Deployment Detection rules. + example: region:us-east-1 + type: string + service: + description: The service being deployed. + example: transaction-backend + type: string + version: + description: The version of the deployment. Required for APM Faulty Deployment Detection rules. + example: v1.2.3 + type: string + required: + - env + - service + type: object + DeploymentGatesEvaluationRequestDataType: + default: deployment_gates_evaluation_request + description: JSON:API type for a deployment gate evaluation request. + enum: + - deployment_gates_evaluation_request + example: deployment_gates_evaluation_request + type: string + x-enum-varnames: + - DEPLOYMENT_GATES_EVALUATION_REQUEST + DeploymentGatesEvaluationResponseAttributes: + description: Attributes for a deployment gate evaluation response. + properties: + evaluation_id: + description: The unique identifier of the gate evaluation. + example: e9d2f04f-4f4b-494b-86e5-52f03e10c8e9 + type: string + required: + - evaluation_id + type: object + DeploymentGatesEvaluationResponseDataType: + default: deployment_gates_evaluation_response + description: JSON:API type for a deployment gate evaluation response. + enum: + - deployment_gates_evaluation_response + example: deployment_gates_evaluation_response + type: string + x-enum-varnames: + - DEPLOYMENT_GATES_EVALUATION_RESPONSE + DeploymentGatesEvaluationResultResponseAttributes: + description: Attributes for a deployment gate evaluation result response. + properties: + dry_run: + description: Whether the gate was evaluated in dry-run mode. + example: false + type: boolean + evaluation_id: + description: The unique identifier of the gate evaluation. + example: e9d2f04f-4f4b-494b-86e5-52f03e10c8e9 + type: string + evaluation_url: + description: A URL to view the evaluation details in the Datadog UI. + example: https://app.datadoghq.com/ci/deployment-gates/evaluations?index=cdgates&query=level%3Agate+%40evaluation_id%3Ae9d2f04f-4f4b-494b-86e5-52f03e10c8e9 + type: string + gate_id: + description: The unique identifier of the deployment gate. + example: e140302e-0cba-40d2-978c-6780647f8f1c + format: uuid + type: string + gate_status: + $ref: '#/components/schemas/DeploymentGatesEvaluationResultResponseAttributesGateStatus' + rules: + description: The results of individual rule evaluations. + items: + $ref: '#/components/schemas/DeploymentGatesRuleResponse' + type: array + required: + - dry_run + - evaluation_id + - evaluation_url + - gate_id + - gate_status + - rules + type: object + DeploymentGatesEvaluationResultResponseDataType: + default: deployment_gates_evaluation_result_response + description: JSON:API type for a deployment gate evaluation result response. + enum: + - deployment_gates_evaluation_result_response + example: deployment_gates_evaluation_result_response + type: string + x-enum-varnames: + - DEPLOYMENT_GATES_EVALUATION_RESULT_RESPONSE + DORADeploymentRequestAttributes: + description: Attributes to create a DORA deployment event. + properties: + custom_tags: + $ref: '#/components/schemas/DORACustomTags' + env: + description: Environment name to where the service was deployed. + example: staging + type: string + finished_at: + description: Unix timestamp when the deployment finished. It must be in nanoseconds, milliseconds, or seconds. + example: 1693491984000000000 + format: int64 + type: integer + git: + $ref: '#/components/schemas/DORAGitInfo' + id: + description: Deployment ID. Must be 16-128 characters and contain only alphanumeric characters, hyphens, underscores, periods, and colons (a-z, A-Z, 0-9, -, _, ., :). + type: string + service: + description: Service name. + example: shopist + type: string + started_at: + description: Unix timestamp when the deployment started. It must be in nanoseconds, milliseconds, or seconds. + example: 1693491974000000000 + format: int64 + type: integer + team: + description: Name of the team owning the deployed service. If not provided, this is automatically populated with the team associated with the service in the Service Catalog. + example: backend + type: string + version: + description: Version to correlate with [APM Deployment Tracking](https://docs.datadoghq.com/tracing/services/deployment_tracking/). + example: v1.12.07 + type: string + required: + - service + - started_at + - finished_at + type: object + DORADeploymentType: + default: dora_deployment + description: JSON:API type for DORA deployment events. + enum: + - dora_deployment + example: dora_deployment + type: string + x-enum-varnames: + - DORA_DEPLOYMENT + JSONAPIErrorItemSource: + description: References to the source of the error. + properties: + header: + description: A string indicating the name of a single request header which caused the error. + example: Authorization + type: string + parameter: + description: A string indicating which URI query parameter caused the error. + example: limit + type: string + pointer: + description: A JSON pointer to the value in the request document that caused the error. + example: /data/attributes/title + type: string + type: object + DORADeploymentPatchByVersionRequestAttributes: + description: Attributes for patching a DORA deployment event identified by service, environment, and version. + properties: + change_failure: + description: Indicates whether the deployment resulted in a change failure. + example: true + type: boolean + env: + description: The environment the deployment was performed in. + example: prod + type: string + remediation: + $ref: '#/components/schemas/DORADeploymentPatchByVersionRemediation' + service: + description: The name of the service that was deployed. + example: my-service + type: string + version: + description: The version deployed. This can be seen in the Service Catalog or in the APM Deployment Tracking. + example: v1.2.3 + type: string + required: + - service + - env + - version + - change_failure + type: object + DORADeploymentPatchRequestDataType: + default: dora_deployment_patch_request + description: JSON:API type for DORA deployment patch request. + enum: + - dora_deployment_patch_request + example: dora_deployment_patch_request + type: string + x-enum-varnames: + - DORA_DEPLOYMENT_PATCH_REQUEST + DORAListDeploymentsRequestAttributes: + description: Attributes to get a list of deployments. + properties: + from: + description: Minimum timestamp for requested events. + example: '2025-01-01T00:00:00Z' + format: date-time + type: string + limit: + default: 10 + description: Maximum number of events in the response. + example: 500 + format: int32 + maximum: 1000 + type: integer + query: + description: Search query with event platform syntax. + example: service:(shopist OR api-service OR payment-service) env:(production OR staging) team:(backend OR platform) + type: string + sort: + description: Sort order (prefixed with `-` for descending). + example: '-finished_at' + type: string + to: + description: Maximum timestamp for requested events. + example: '2025-01-31T23:59:59Z' + format: date-time + type: string + type: object + DORAListDeploymentsRequestDataType: + default: dora_deployments_list_request + description: The definition of `DORAListDeploymentsRequestDataType` object. + enum: + - dora_deployments_list_request + example: dora_deployments_list_request + type: string + x-enum-varnames: + - DORA_DEPLOYMENTS_LIST_REQUEST + DORADeploymentObjectAttributes: + description: The attributes of the deployment event. + properties: + custom_tags: + $ref: '#/components/schemas/DORACustomTags' + env: + description: Environment name to where the service was deployed. + example: production + type: string + finished_at: + description: The time when the deployment finished. + example: '2023-08-31T14:26:24Z' + format: date-time + type: string + git: + $ref: '#/components/schemas/DORAGitInfoResponse' + service: + description: Service name. + example: shopist + type: string + started_at: + description: The time when the deployment started. + example: '2023-08-31T14:26:14Z' + format: date-time + type: string + team: + description: Name of the team owning the deployed service. + example: backend + type: string + version: + description: Version to correlate with APM Deployment Tracking. + example: v1.12.07 + type: string + required: + - service + - started_at type: object - HTTPCIAppErrors: - description: Errors occurred. + DORADeploymentPatchRequestAttributes: + description: Attributes for patching a DORA deployment event. properties: - errors: - description: Structured errors. - items: - $ref: '#/components/schemas/HTTPCIAppError' - type: array + change_failure: + description: Indicates whether the deployment resulted in a change failure. + example: true + type: boolean + remediation: + $ref: '#/components/schemas/DORADeploymentPatchRemediation' type: object - CIAppPipelinesAggregateRequest: - description: >- - The object sent with the request to retrieve aggregation buckets of - pipeline events from your organization. + DORAFailureRequestAttributes: + description: Attributes to create a DORA incident event. properties: - compute: - description: >- - The list of metrics or timeseries to compute for the retrieved - buckets. - items: - $ref: '#/components/schemas/CIAppCompute' - type: array - filter: - $ref: '#/components/schemas/CIAppPipelinesQueryFilter' - group_by: - description: The rules for the group-by. + custom_tags: + $ref: '#/components/schemas/DORACustomTags' + env: + description: Environment name that was impacted by the incident. + example: staging + type: string + finished_at: + description: Unix timestamp when the incident finished. It must be in nanoseconds, milliseconds, or seconds. + example: 1693491984000000000 + format: int64 + type: integer + git: + $ref: '#/components/schemas/DORAGitInfo' + id: + description: Incident ID. Must be 16-128 characters and contain only alphanumeric characters, hyphens, underscores, periods, and colons (a-z, A-Z, 0-9, -, _, ., :). + type: string + name: + description: Incident name. + example: Webserver is down failing all requests. + type: string + services: + description: Service names impacted by the incident. If possible, use names registered in the Service Catalog. Required when the team field is not provided. + example: + - shopist items: - $ref: '#/components/schemas/CIAppPipelinesGroupBy' + description: A service name impacted by the incident. + type: string type: array - options: - $ref: '#/components/schemas/CIAppQueryOptions' + severity: + description: Incident severity. + example: High + type: string + started_at: + description: Unix timestamp when the incident started. It must be in nanoseconds, milliseconds, or seconds. + example: 1693491974000000000 + format: int64 + type: integer + team: + description: Name of the team owning the services impacted. If possible, use team handles registered in Datadog. Required when the services field is not provided. + example: backend + type: string + version: + description: Version to correlate with [APM Deployment Tracking](https://docs.datadoghq.com/tracing/services/deployment_tracking/). + example: v1.12.07 + type: string + required: + - started_at type: object - CIAppPipelinesAnalyticsAggregateResponse: - description: The response object for the pipeline events aggregate API endpoint. + DORAFailureType: + default: dora_failure + description: JSON:API type for DORA incident events. + enum: + - dora_failure + example: dora_failure + type: string + x-enum-varnames: + - DORA_FAILURE + DORAListFailuresRequestAttributes: + description: Attributes to get a list of incidents. properties: - data: - $ref: '#/components/schemas/CIAppPipelinesAggregationBucketsResponse' - links: - $ref: '#/components/schemas/CIAppResponseLinks' - meta: - $ref: '#/components/schemas/CIAppResponseMetadata' + from: + description: Minimum timestamp for requested events. + example: '2025-01-01T00:00:00Z' + format: date-time + type: string + limit: + default: 10 + description: Maximum number of events in the response. + example: 500 + format: int32 + maximum: 1000 + type: integer + query: + description: Search query with event platform syntax. + example: severity:(SEV-1 OR SEV-2) env:(production OR staging) service:(shopist OR api-service OR payment-service) team:(backend OR platform OR payments) + type: string + sort: + description: Sort order (prefixed with `-` for descending). + example: '-started_at' + type: string + to: + description: Maximum timestamp for requested events. + example: '2025-01-31T23:59:59Z' + format: date-time + type: string type: object - CIAppSort: - description: Sort parameters when querying events. + DORAListFailuresRequestDataType: + default: dora_failures_list_request + description: The definition of `DORAListFailuresRequestDataType` object. enum: - - timestamp - - '-timestamp' + - dora_failures_list_request + example: dora_failures_list_request type: string x-enum-varnames: - - TIMESTAMP_ASCENDING - - TIMESTAMP_DESCENDING - CIAppPipelineEventsResponse: - description: >- - Response object with all pipeline events matching the request and - pagination information. + - DORA_FAILURES_LIST_REQUEST + DORAIncidentObjectAttributes: + description: The attributes of the incident event. properties: - data: - description: Array of events matching the request. + custom_tags: + $ref: '#/components/schemas/DORACustomTags' + env: + description: Environment name that was impacted by the incident. + example: production + type: string + finished_at: + description: The time when the incident finished. + example: '2023-08-31T14:26:24Z' + format: date-time + type: string + git: + $ref: '#/components/schemas/DORAGitInfo' + name: + description: Incident name. + example: Database outage + type: string + services: + description: Service names impacted by the incident. + example: + - shopist items: - $ref: '#/components/schemas/CIAppPipelineEvent' + description: A service name impacted by the incident. + type: string type: array - links: - $ref: '#/components/schemas/CIAppResponseLinks' - meta: - $ref: '#/components/schemas/CIAppResponseMetadataWithPagination' - type: object - CIAppPipelineEventsRequest: - description: The request for a pipelines search. - properties: - filter: - $ref: '#/components/schemas/CIAppPipelinesQueryFilter' - options: - $ref: '#/components/schemas/CIAppQueryOptions' - page: - $ref: '#/components/schemas/CIAppQueryPageOptions' - sort: - $ref: '#/components/schemas/CIAppSort' + severity: + description: Incident severity. + example: SEV-1 + type: string + started_at: + description: The time when the incident started. + example: '2023-08-31T14:26:14Z' + format: date-time + type: string + team: + description: Name of the team owning the services impacted. + example: backend + type: string + version: + description: Version to correlate with APM Deployment Tracking. + example: v1.12.07 + type: string type: object - CIAppTestsAggregateRequest: - description: >- - The object sent with the request to retrieve aggregation buckets of test - events from your organization. + FeatureFlagListItemAttributes: + description: Attributes of a feature flag in list responses. properties: - compute: - description: >- - The list of metrics or timeseries to compute for the retrieved - buckets. + archived_at: + description: The timestamp when the feature flag was archived. + example: '2023-01-01T00:00:00Z' + format: date-time + nullable: true + type: string + created_at: + description: The timestamp when the feature flag was created. + example: '2023-01-01T00:00:00Z' + format: date-time + type: string + created_by: + description: The ID of the user who created the feature flag. + example: 550e8400-e29b-41d4-a716-446655440010 + format: uuid + type: string + description: + description: The description of the feature flag. + example: This is an example feature flag for demonstration + type: string + distribution_channel: + description: Distribution channel for the feature flag. + example: ALL + type: string + feature_flag_environments: + description: Environment-specific settings for the feature flag. items: - $ref: '#/components/schemas/CIAppCompute' + $ref: '#/components/schemas/FeatureFlagEnvironmentListItem' type: array - filter: - $ref: '#/components/schemas/CIAppTestsQueryFilter' - group_by: - description: The rules for the group-by. + json_schema: + description: JSON schema for validation when value_type is JSON. + example: '{"type": "object", "properties": {"enabled": {"type": "boolean"}}}' + nullable: true + type: string + key: + description: The unique key of the feature flag. + example: feature-flag-abc123 + type: string + last_updated_by: + description: The ID of the user who last updated the feature flag. + example: 550e8400-e29b-41d4-a716-446655440010 + format: uuid + type: string + name: + description: The name of the feature flag. + example: Feature Flag ABC123 + type: string + require_approval: + description: Indicates whether this feature flag requires approval for changes. + example: false + type: boolean + staleness_status: + description: Indicates the staleness status of the feature flag. + example: ACTIVE + type: string + tags: + description: Tags associated with the feature flag. + example: [] items: - $ref: '#/components/schemas/CIAppTestsGroupBy' + description: A tag associated with the feature flag. + type: string type: array - options: - $ref: '#/components/schemas/CIAppQueryOptions' - type: object - CIAppTestsAnalyticsAggregateResponse: - description: The response object for the test events aggregate API endpoint. - properties: - data: - $ref: '#/components/schemas/CIAppTestsAggregationBucketsResponse' - links: - $ref: '#/components/schemas/CIAppResponseLinks' - meta: - $ref: '#/components/schemas/CIAppResponseMetadataWithPagination' - type: object - CIAppTestEventsResponse: - description: >- - Response object with all test events matching the request and pagination - information. - properties: - data: - description: Array of events matching the request. + updated_at: + description: The timestamp when the feature flag was last updated. + example: '2023-01-01T00:00:00Z' + format: date-time + type: string + value_type: + $ref: '#/components/schemas/ValueType' + variants: + description: The variants of the feature flag. items: - $ref: '#/components/schemas/CIAppTestEvent' + $ref: '#/components/schemas/Variant' type: array - links: - $ref: '#/components/schemas/CIAppResponseLinks' - meta: - $ref: '#/components/schemas/CIAppResponseMetadataWithPagination' - type: object - CIAppTestEventsRequest: - description: The request for a tests search. - properties: - filter: - $ref: '#/components/schemas/CIAppTestsQueryFilter' - options: - $ref: '#/components/schemas/CIAppQueryOptions' - page: - $ref: '#/components/schemas/CIAppQueryPageOptions' - sort: - $ref: '#/components/schemas/CIAppSort' - type: object - DORADeploymentRequest: - description: Request to create a DORA deployment event. - properties: - data: - $ref: '#/components/schemas/DORADeploymentRequestData' required: - - data + - key + - name + - description + - value_type + - variants type: object - DORADeploymentResponse: - description: Response after receiving a DORA deployment event. + CreateFeatureFlagDataType: + description: The resource type. + enum: + - feature-flags + example: feature-flags + type: string + x-enum-varnames: + - FEATURE_FLAGS + FeatureFlagsPaginationMetaPage: + description: Pagination metadata for feature flags list responses. properties: - data: - $ref: '#/components/schemas/DORADeploymentResponseData' - required: - - data + total_count: + description: Total number of items. + example: 100 + format: int64 + type: integer + total_filtered_count: + description: Total number of items matching the filter. + example: 25 + format: int64 + type: integer type: object - JSONAPIErrorResponse: - description: API error response. + CreateFeatureFlagAttributes: + description: Attributes for creating a new feature flag. properties: - errors: - description: A list of errors. + default_variant_key: + description: The key of the default variant. + example: variant-abc123 + nullable: true + type: string + description: + description: The description of the feature flag. + example: This is an example feature flag for demonstration + type: string + json_schema: + description: JSON schema for validation when value_type is JSON. + example: '{"type": "object", "properties": {"enabled": {"type": "boolean"}}}' + nullable: true + type: string + key: + description: The unique key of the feature flag. + example: feature-flag-abc123 + type: string + name: + description: The name of the feature flag. + example: Feature Flag ABC123 + type: string + value_type: + $ref: '#/components/schemas/ValueType' + variants: + description: The variants of the feature flag. items: - $ref: '#/components/schemas/JSONAPIErrorItem' + $ref: '#/components/schemas/CreateVariant' type: array required: - - errors + - key + - name + - description + - value_type + - variants type: object - DORAListDeploymentsRequest: - description: Request to get a list of deployments. + FeatureFlagAttributes: + description: Attributes of a feature flag. properties: - data: - $ref: '#/components/schemas/DORAListDeploymentsRequestData' + archived_at: + description: The timestamp when the feature flag was archived. + example: '2023-01-01T00:00:00Z' + format: date-time + nullable: true + type: string + created_at: + description: The timestamp when the feature flag was created. + example: '2023-01-01T00:00:00Z' + format: date-time + type: string + created_by: + description: The ID of the user who created the feature flag. + example: 550e8400-e29b-41d4-a716-446655440010 + format: uuid + type: string + description: + description: The description of the feature flag. + example: This is an example feature flag for demonstration + type: string + distribution_channel: + description: Distribution channel for the feature flag. + example: ALL + type: string + feature_flag_environments: + description: Environment-specific settings for the feature flag. + items: + $ref: '#/components/schemas/FeatureFlagEnvironment' + type: array + json_schema: + description: JSON schema for validation when value_type is JSON. + example: '{"type": "object", "properties": {"enabled": {"type": "boolean"}}}' + nullable: true + type: string + key: + description: The unique key of the feature flag. + example: feature-flag-abc123 + type: string + last_updated_by: + description: The ID of the user who last updated the feature flag. + example: 550e8400-e29b-41d4-a716-446655440010 + format: uuid + type: string + name: + description: The name of the feature flag. + example: Feature Flag ABC123 + type: string + require_approval: + description: Indicates whether this feature flag requires approval for changes. + example: false + type: boolean + staleness_status: + description: Indicates the whether a feature flag is stale or not. + example: ACTIVE + type: string + tags: + description: Tags associated with the feature flag. + example: [] + items: + description: A tag associated with the feature flag. + type: string + type: array + updated_at: + description: The timestamp when the feature flag was last updated. + example: '2023-01-01T00:00:00Z' + format: date-time + type: string + value_type: + $ref: '#/components/schemas/ValueType' + variants: + description: The variants of the feature flag. + items: + $ref: '#/components/schemas/Variant' + type: array required: - - data + - key + - name + - description + - value_type + - variants type: object - DORAListResponse: - description: Response for the DORA list endpoints. + EnvironmentAttributes: + description: Attributes of an environment. properties: - data: - description: The list of DORA events. + created_at: + description: The timestamp when the environment was created. + example: '2023-01-01T00:00:00Z' + format: date-time + type: string + description: + description: The description of the environment. + example: Test environment XYZ789 + nullable: true + type: string + is_production: + description: Indicates whether this is a production environment. + example: false + type: boolean + key: + description: The unique key of the environment. + example: env-search-term + type: string + name: + description: The name of the environment. + example: env-search-term + type: string + queries: + description: List of queries to define the environment scope. + example: + - staging + - test items: - $ref: '#/components/schemas/DORAEvent' + description: A query string used to match the environment scope. + type: string + minItems: 1 type: array + require_feature_flag_approval: + description: Indicates whether feature flag changes require approval in this environment. + example: false + type: boolean + updated_at: + description: The timestamp when the environment was last updated. + example: '2023-01-01T00:00:00Z' + format: date-time + type: string + required: + - name type: object - DORAFetchResponse: - description: Response for the DORA fetch endpoints. + CreateEnvironmentDataType: + description: The resource type. + enum: + - environments + example: environments + type: string + x-enum-varnames: + - ENVIRONMENTS + EnvironmentsPaginationMetaPage: + description: Pagination metadata for environments list responses. properties: - data: - $ref: '#/components/schemas/DORAEvent' + total_count: + description: Total number of items. + example: 10 + format: int64 + type: integer + total_filtered_count: + description: Total number of items matching the filter. + example: 5 + format: int64 + type: integer type: object - DORAFailureRequest: - description: Request to create a DORA failure event. + CreateEnvironmentAttributes: + description: Attributes for creating a new environment. properties: - data: - $ref: '#/components/schemas/DORAFailureRequestData' + is_production: + default: false + description: Indicates whether this is a production environment. + example: false + type: boolean + name: + description: The name of the environment. + example: env-search-term + type: string + queries: + description: List of queries to define the environment scope. + example: + - staging + - test + items: + description: A query string used to match the environment scope. + type: string + minItems: 1 + type: array + require_feature_flag_approval: + default: false + description: Indicates whether feature flag changes require approval in this environment. + example: false + type: boolean required: - - data + - name + - queries type: object - DORAFailureResponse: - description: Response after receiving a DORA failure event. + UpdateEnvironmentAttributes: + description: Attributes for updating an environment. properties: - data: - $ref: '#/components/schemas/DORAFailureResponseData' - required: - - data + is_production: + description: Indicates whether this is a production environment. + example: false + type: boolean + name: + description: The name of the environment. + example: Environment XYZ789 + type: string + queries: + description: List of queries to define the environment scope. + example: + - staging + - test + items: + description: A query string used to match the environment scope. + type: string + minItems: 1 + type: array + require_feature_flag_approval: + description: Indicates whether feature flag changes require approval in this environment. + example: true + type: boolean type: object - DORAListFailuresRequest: - description: Request to get a list of failures. + UpdateEnvironmentDataType: + description: The resource type. + enum: + - environments + example: environments + type: string + x-enum-varnames: + - ENVIRONMENTS + AllocationExposureSchedule: + description: Progressive release details for a targeting rule allocation. properties: - data: - $ref: '#/components/schemas/DORAListFailuresRequestData' + absolute_start_time: + description: The absolute UTC start time for this schedule. + example: '2025-06-13T12:00:00Z' + format: date-time + nullable: true + type: string + allocation_id: + description: The targeting rule allocation ID this progressive rollout belongs to. + example: 550e8400-e29b-41d4-a716-446655440020 + format: uuid + type: string + control_variant_id: + description: The control variant ID used for experiment comparisons. + example: 550e8400-e29b-41d4-a716-446655440012 + nullable: true + type: string + created_at: + description: The timestamp when the schedule was created. + example: '2024-01-01T12:00:00Z' + format: date-time + type: string + guardrail_triggered_action: + description: Last guardrail action triggered for this schedule. + example: PAUSE + nullable: true + type: string + guardrail_triggers: + description: Guardrail trigger records for this schedule. + items: + $ref: '#/components/schemas/AllocationExposureGuardrailTrigger' + type: array + id: + description: The unique identifier of the progressive rollout. + example: 550e8400-e29b-41d4-a716-446655440010 + format: uuid + type: string + rollout_options: + $ref: '#/components/schemas/RolloutOptions' + rollout_steps: + description: Ordered progression steps for exposure. + items: + $ref: '#/components/schemas/AllocationExposureRolloutStep' + type: array + updated_at: + description: The timestamp when the schedule was last updated. + example: '2024-01-01T12:00:00Z' + format: date-time + type: string required: - - data + - allocation_id + - rollout_options + - rollout_steps + - guardrail_triggers + - created_at + - updated_at + type: object + AllocationExposureScheduleDataType: + description: The resource type for progressive rollout schedules. + enum: + - allocation_exposure_schedules + example: allocation_exposure_schedules + type: string + x-enum-varnames: + - ALLOCATION_EXPOSURE_SCHEDULES + UpdateFeatureFlagAttributes: + description: Attributes for updating a feature flag. + properties: + description: + description: The description of the feature flag. + example: Updated description for feature flag XYZ789 + type: string + json_schema: + description: JSON schema for validation when value_type is JSON. + example: '{"type": "object", "properties": {"enabled": {"type": "boolean"}}}' + nullable: true + type: string + name: + description: The name of the feature flag. + example: Updated Feature Flag XYZ789 + type: string type: object - CreateWorkflowRequest: - description: A request object for creating a new workflow. - example: - data: - attributes: - description: A sample workflow. - name: Example Workflow - published: true - spec: - annotations: - - display: - bounds: - height: 150 - width: 300 - x: -375 - 'y': -0.5 - id: 99999999-9999-9999-9999-999999999999 - markdownTextAnnotation: - text: Example annotation. - connectionEnvs: - - connections: - - connectionId: 11111111-1111-1111-1111-111111111111 - label: INTEGRATION_DATADOG - env: default - handle: my-handle - inputSchema: - parameters: - - defaultValue: default - name: input - type: STRING - outputSchema: - parameters: - - name: output - type: ARRAY_OBJECT - value: '{{ Steps.Step1 }}' - steps: - - actionId: com.datadoghq.dd.monitor.listMonitors - connectionLabel: INTEGRATION_DATADOG - name: Step1 - outboundEdges: - - branchName: main - nextStepName: Step2 - parameters: - - name: tags - value: service:monitoring - - actionId: com.datadoghq.core.noop - name: Step2 - triggers: - - monitorTrigger: - rateLimit: - count: 1 - interval: 3600s - startStepNames: - - Step1 - - githubWebhookTrigger: {} - startStepNames: - - Step1 - tags: - - team:infra - - service:monitoring - - foo:bar - type: workflows + UpdateFeatureFlagDataType: + description: The resource type. + enum: + - feature-flags + example: feature-flags + type: string + x-enum-varnames: + - FEATURE_FLAGS + UpsertAllocationRequest: + description: Request to create or update a targeting rule (allocation) for a feature flag environment. properties: - data: - $ref: '#/components/schemas/WorkflowData' + experiment_id: + description: The experiment ID for experiment-linked allocations. + example: 550e8400-e29b-41d4-a716-446655440030 + nullable: true + type: string + exposure_schedule: + $ref: '#/components/schemas/ExposureScheduleRequest' + guardrail_metrics: + description: Guardrail metrics used to monitor and auto-pause or abort. + items: + $ref: '#/components/schemas/GuardrailMetricRequest' + type: array + id: + description: The unique identifier of the targeting rule allocation. + example: 550e8400-e29b-41d4-a716-446655440020 + format: uuid + type: string + key: + description: The unique key of the targeting rule allocation. + example: prod-rollout + type: string + name: + description: The display name of the targeting rule. + example: Production Rollout + type: string + targeting_rules: + description: Targeting rules that determine audience eligibility. + items: + $ref: '#/components/schemas/TargetingRuleRequest' + type: array + type: + $ref: '#/components/schemas/AllocationType' + variant_weights: + description: Variant distribution weights. + items: + $ref: '#/components/schemas/VariantWeightRequest' + type: array required: - - data + - name + - key + - type type: object - CreateWorkflowResponse: - description: The response object after creating a new workflow. + AllocationDataType: + description: The resource type. + enum: + - allocations + example: allocations + type: string + x-enum-varnames: + - ALLOCATIONS + Allocation: + description: Targeting rule (allocation) details for a feature flag environment. properties: - data: - $ref: '#/components/schemas/WorkflowData' + created_at: + description: The timestamp when the targeting rule allocation was created. + example: '2024-01-01T12:00:00Z' + format: date-time + type: string + environment_ids: + description: Environment IDs associated with this targeting rule allocation. + example: + - 550e8400-e29b-41d4-a716-446655440001 + items: + description: Environment ID linked to this targeting rule allocation. + format: uuid + type: string + type: array + experiment_id: + description: The experiment ID linked to this targeting rule allocation. + example: 550e8400-e29b-41d4-a716-446655440030 + nullable: true + type: string + exposure_schedule: + $ref: '#/components/schemas/AllocationExposureSchedule' + guardrail_metrics: + description: Guardrail metrics associated with this targeting rule allocation. + items: + $ref: '#/components/schemas/GuardrailMetric' + type: array + id: + description: The unique identifier of the targeting rule allocation. + example: 550e8400-e29b-41d4-a716-446655440020 + format: uuid + type: string + key: + description: The unique key of the targeting rule allocation. + example: prod-rollout + type: string + name: + description: The display name of the targeting rule. + example: Production Rollout + type: string + order_position: + description: Sort order position within the environment. + example: 0 + format: int64 + type: integer + targeting_rules: + description: Conditions associated with this targeting rule allocation. + items: + $ref: '#/components/schemas/TargetingRule' + type: array + type: + $ref: '#/components/schemas/AllocationType' + updated_at: + description: The timestamp when the targeting rule allocation was last updated. + example: '2024-01-01T12:00:00Z' + format: date-time + type: string + variant_weights: + description: Weighted variant assignments for this targeting rule allocation. + items: + $ref: '#/components/schemas/VariantWeight' + type: array required: - - data + - name + - key + - targeting_rules + - variant_weights + - order_position + - environment_ids + - type + - guardrail_metrics + - created_at + - updated_at type: object - GetWorkflowResponse: - description: The response object after getting a workflow. + UpdateFlakyTestsRequestAttributes: + description: Attributes for updating flaky test states. properties: - data: - $ref: '#/components/schemas/WorkflowData' + tests: + description: List of flaky tests to update. + items: + $ref: '#/components/schemas/UpdateFlakyTestsRequestTest' + type: array + required: + - tests type: object - UpdateWorkflowRequest: - description: A request object for updating an existing workflow. - example: - data: - attributes: - description: A sample workflow. - name: Example Workflow - published: true - spec: - annotations: - - display: - bounds: - height: 150 - width: 300 - x: -375 - 'y': -0.5 - id: 99999999-9999-9999-9999-999999999999 - markdownTextAnnotation: - text: Example annotation. - connectionEnvs: - - connections: - - connectionId: 11111111-1111-1111-1111-111111111111 - label: INTEGRATION_DATADOG - env: default - handle: my-handle - inputSchema: - parameters: - - defaultValue: default - name: input - type: STRING - outputSchema: - parameters: - - name: output - type: ARRAY_OBJECT - value: '{{ Steps.Step1 }}' - steps: - - actionId: com.datadoghq.dd.monitor.listMonitors - connectionLabel: INTEGRATION_DATADOG - name: Step1 - outboundEdges: - - branchName: main - nextStepName: Step2 - parameters: - - name: tags - value: service:monitoring - - actionId: com.datadoghq.core.noop - name: Step2 - triggers: - - monitorTrigger: - rateLimit: - count: 1 - interval: 3600s - startStepNames: - - Step1 - - githubWebhookTrigger: {} - startStepNames: - - Step1 - tags: - - team:infra - - service:monitoring - - foo:bar - id: 22222222-2222-2222-2222-222222222222 - type: workflows + UpdateFlakyTestsRequestDataType: + description: The definition of `UpdateFlakyTestsRequestDataType` object. + enum: + - update_flaky_test_state_request + example: update_flaky_test_state_request + type: string + x-enum-varnames: + - UPDATE_FLAKY_TEST_STATE_REQUEST + UpdateFlakyTestsResponseAttributes: + description: Attributes for the update flaky test state response. properties: - data: - $ref: '#/components/schemas/WorkflowDataUpdate' + has_errors: + description: '`True` if any errors occurred during the update operations. `False` if all tests succeeded to be updated.' + example: true + type: boolean + results: + description: Results of the update operation for each test. + items: + $ref: '#/components/schemas/UpdateFlakyTestsResponseResult' + type: array required: - - data + - has_errors + - results type: object - UpdateWorkflowResponse: - description: The response object after updating a workflow. + UpdateFlakyTestsResponseDataType: + description: The definition of `UpdateFlakyTestsResponseDataType` object. + enum: + - update_flaky_test_state_response + type: string + x-enum-varnames: + - UPDATE_FLAKY_TEST_STATE_RESPONSE + FlakyTestsSearchRequestAttributes: + description: Attributes for the flaky tests search request. properties: - data: - $ref: '#/components/schemas/WorkflowDataUpdate' + filter: + $ref: '#/components/schemas/FlakyTestsSearchFilter' + page: + $ref: '#/components/schemas/FlakyTestsSearchPageOptions' + sort: + $ref: '#/components/schemas/FlakyTestsSearchSort' type: object - WorkflowListInstancesResponse: - additionalProperties: {} - description: Response returned when listing workflow instances. + FlakyTestsSearchRequestDataType: + description: The definition of `FlakyTestsSearchRequestDataType` object. + enum: + - search_flaky_tests_request + type: string + x-enum-varnames: + - SEARCH_FLAKY_TESTS_REQUEST + FlakyTestAttributes: + description: Attributes of a flaky test. properties: - data: - description: A list of workflow instances. + attempt_to_fix_id: + description: |- + Unique identifier for the attempt to fix this flaky test. Use this ID in the Git commit message in order to trigger the attempt to fix workflow. + + When the workflow is triggered the test is automatically retried by the tracer a certain number of configurable times. When all retries pass, the test is automatically marked as fixed in Flaky Test Management. + Test runs are tagged with @test.test_management.attempt_to_fix_passed and @test.test_management.is_attempt_to_fix when the attempt to fix workflow is triggered. + example: I42TEO + type: string + codeowners: + description: The name of the test's code owners as inferred from the repository configuration. + example: + - '@foo' + - '@bar' items: - $ref: '#/components/schemas/WorkflowInstanceListItem' + description: A code owner of the test as inferred from the repository configuration. + type: string type: array - meta: - $ref: '#/components/schemas/WorkflowListInstancesResponseMeta' + envs: + description: List of environments where this test has been flaky. + example: prod + items: + description: An environment name where this test has been flaky. + type: string + type: array + first_flaked_branch: + description: The branch name where the test exhibited flakiness for the first time. + example: main + type: string + first_flaked_sha: + description: The commit SHA where the test exhibited flakiness for the first time. + example: 0c6be03165b7f7ffe96e076ffb29afb2825616c3 + type: string + first_flaked_ts: + description: Unix timestamp when the test exhibited flakiness for the first time. + example: 1757688149 + format: int64 + type: integer + flaky_category: + description: The category of a flaky test. + example: Timeout + nullable: true + type: string + flaky_state: + $ref: '#/components/schemas/FlakyTestAttributesFlakyState' + history: + description: |- + Chronological history of status changes for this flaky test, ordered from most recent to oldest. + Includes state transitions like new -> quarantined -> fixed, along with the associated commit SHA when available. + example: + - commit_sha: abc123def456 + policy_id: ftm_policy.quarantine.failure_rate + policy_meta: + config: + failure_rate: 0.1 + required_runs: 100 + failure_rate: 0.25 + total_runs: 200 + status: quarantined + timestamp: 1704067200000 + - commit_sha: '' + policy_id: unknown + policy_meta: null + status: new + timestamp: 1703980800000 + items: + $ref: '#/components/schemas/FlakyTestHistory' + type: array + impact_level: + $ref: '#/components/schemas/FlakyTestImpactLevel' + nullable: true + impact_score: + description: A score from 0 to 1 indicating the impact of this flaky test, based on factors such as how often it fails and how many pipelines it affects. + example: 0.78 + format: double + maximum: 1 + minimum: 0 + nullable: true + type: number + last_flaked_branch: + description: The branch name where the test exhibited flakiness for the last time. + example: main + type: string + last_flaked_sha: + description: The commit SHA where the test exhibited flakiness for the last time. + example: 0c6be03165b7f7ffe96e076ffb29afb2825616c3 + type: string + last_flaked_ts: + description: Unix timestamp when the test exhibited flakiness for the last time. + example: 1757688149 + format: int64 + type: integer + module: + description: |- + The name of the test module. The definition of module changes slightly per language: + - In .NET, a test module groups every test that is run under the same unit test project. + - In Swift, a test module groups every test that is run for a given bundle. + - In JavaScript, the test modules map one-to-one to test sessions. + - In Java, a test module groups every test that is run by the same Maven Surefire/Failsafe or Gradle Test task execution. + - In Python, a test module groups every test that is run under the same `.py` file as part of a test suite, which is typically managed by a framework like `unittest` or `pytest`. + - In Ruby, a test module groups every test that is run within the same test file, which is typically managed by a framework like `RSpec` or `Minitest`. + example: TestModule + nullable: true + type: string + name: + description: The test name. A concise name for a test case. Defined in the test itself. + example: TestName + type: string + pipeline_stats: + $ref: '#/components/schemas/FlakyTestPipelineStats' + nullable: true + services: + description: |- + List of test service names where this test has been flaky. + + A test service is a group of tests associated with a project or repository. It contains all the individual tests for your code, optionally organized into test suites, which are like folders for your tests. + example: + - foo + - bar + items: + description: A test service name where this test has been flaky. + type: string + type: array + suite: + description: The name of the test suite. A group of tests exercising the same unit of code depending on your language and testing framework. + example: TestSuite + type: string + test_run_metadata: + $ref: '#/components/schemas/FlakyTestRunMetadata' + test_stats: + $ref: '#/components/schemas/FlakyTestStats' type: object - WorkflowInstanceCreateRequest: - description: Request used to create a workflow instance. + FlakyTestType: + description: The type of the flaky test from Flaky Test Management. + enum: + - flaky_test + type: string + x-enum-varnames: + - FLAKY_TEST + FlakyTestsPagination: + description: Pagination metadata for flaky tests. properties: - meta: - $ref: '#/components/schemas/WorkflowInstanceCreateMeta' + next_page: + description: Cursor for the next page of results. + nullable: true + type: string type: object - WorkflowInstanceCreateResponse: - additionalProperties: {} - description: Response returned upon successful workflow instance creation. + WorkflowListItemAttributes: + description: Attributes of a workflow returned in a list response. properties: - data: - $ref: '#/components/schemas/WorkflowInstanceCreateResponseData' + createdAt: + description: When the workflow was created. + format: date-time + readOnly: true + type: string + description: + description: Description of the workflow. + type: string + name: + description: Name of the workflow. + example: My Workflow + type: string + published: + description: Whether the workflow is published. Unpublished workflows can only be run manually. Automatic triggers such as Schedule do not fire until the workflow is published. + type: boolean + spec: + $ref: '#/components/schemas/Spec' + nullable: true + tags: + description: Tags of the workflow. + items: + description: A tag string in `key:value` format. + type: string + type: array + updatedAt: + description: When the workflow was last updated. + format: date-time + readOnly: true + type: string + required: + - name type: object - WorklflowGetInstanceResponse: - additionalProperties: {} - description: The state of the given workflow instance. + WorkflowDataRelationships: + description: The definition of `WorkflowDataRelationships` object. properties: - data: - $ref: '#/components/schemas/WorklflowGetInstanceResponseData' + creator: + $ref: '#/components/schemas/WorkflowUserRelationship' + owner: + $ref: '#/components/schemas/WorkflowUserRelationship' + readOnly: true type: object - WorklflowCancelInstanceResponse: - description: Information about the canceled instance. + WorkflowDataType: + description: The definition of `WorkflowDataType` object. + enum: + - workflows + example: workflows + type: string + x-enum-varnames: + - WORKFLOWS + ListWorkflowsResponseMetaPage: + description: Pagination metadata for a List Workflows response. properties: - data: - $ref: '#/components/schemas/WorklflowCancelInstanceResponseData' + totalCount: + description: The total number of workflows in the organization. + format: int64 + type: integer + totalFilteredCount: + description: The total number of workflows matching the applied filters. + format: int64 + type: integer type: object - CIAppCreatePipelineEventRequestDataSingleOrArray: - description: Data of the pipeline events to create. - oneOf: - - $ref: '#/components/schemas/CIAppCreatePipelineEventRequestData' - - $ref: '#/components/schemas/CIAppCreatePipelineEventRequestDataArray' - HTTPCIAppError: - description: List of errors. + WorkflowDataAttributes: + description: The definition of `WorkflowDataAttributes` object. properties: - detail: - description: Error message. - example: Malformed payload + createdAt: + description: When the workflow was created. + format: date-time + readOnly: true type: string - status: - description: Error code. - example: '400' + description: + description: Description of the workflow. type: string - title: - description: Error title. - example: Bad Request + name: + description: Name of the workflow. + example: '' type: string - type: object - CIAppCompute: - description: A compute rule to compute metrics or timeseries. - properties: - aggregation: - $ref: '#/components/schemas/CIAppAggregationFunction' - interval: - description: |- - The time buckets' size (only used for type=timeseries) - Defaults to a resolution of 150 points. - example: 5m + published: + description: Set the workflow to published or unpublished. Workflows in an unpublished state will only be executable via manual runs. Automatic triggers such as Schedule will not execute the workflow until it is published. + type: boolean + spec: + $ref: '#/components/schemas/Spec' + tags: + description: Tags of the workflow. + items: + description: A tag string in `key:value` format. + type: string + type: array + updatedAt: + description: When the workflow was last updated. + format: date-time + readOnly: true type: string - metric: - description: The metric to use. - example: '@duration' + webhookSecret: + description: If a Webhook trigger is defined on this workflow, a webhookSecret is required and should be provided here. type: string - type: - $ref: '#/components/schemas/CIAppComputeType' + writeOnly: true required: - - aggregation + - name + - spec type: object - CIAppPipelinesQueryFilter: - description: The search and filter query settings. + WorkflowDataUpdateAttributes: + description: The definition of `WorkflowDataUpdateAttributes` object. properties: - from: - default: now-15m - description: >- - The minimum time for the requested events; supports date, math, and - regular timestamps (in milliseconds). - example: now-15m + createdAt: + description: When the workflow was created. + format: date-time + readOnly: true type: string - query: - default: '*' - description: The search query following the CI Visibility Explorer search syntax. - example: '@ci.provider.name:github AND @ci.status:error' + description: + description: Description of the workflow. type: string - to: - default: now - description: >- - The maximum time for the requested events, supports date, math, and - regular timestamps (in milliseconds). - example: now + name: + description: Name of the workflow. type: string - type: object - CIAppPipelinesGroupBy: - description: A group-by rule. - properties: - facet: - description: The name of the facet to use (required). - example: '@ci.status' + published: + description: Set the workflow to published or unpublished. Workflows in an unpublished state will only be executable via manual runs. Automatic triggers such as Schedule will not execute the workflow until it is published. + type: boolean + spec: + $ref: '#/components/schemas/Spec' + tags: + description: Tags of the workflow. + items: + description: A tag string in `key:value` format. + type: string + type: array + updatedAt: + description: When the workflow was last updated. + format: date-time + readOnly: true type: string - histogram: - $ref: '#/components/schemas/CIAppGroupByHistogram' - limit: - default: 10 - description: The maximum buckets to return for this group-by. - format: int64 - type: integer - missing: - $ref: '#/components/schemas/CIAppGroupByMissing' - sort: - $ref: '#/components/schemas/CIAppAggregateSort' - total: - $ref: '#/components/schemas/CIAppGroupByTotal' - required: - - facet + webhookSecret: + description: If a Webhook trigger is defined on this workflow, a webhookSecret is required and should be provided here. + type: string + writeOnly: true type: object - CIAppQueryOptions: - description: >- - Global query options that are used during the query. - - Only supply timezone or time offset, not both. Otherwise, the query - fails. + WorkflowListInstancesResponseMetaPage: + additionalProperties: {} + description: Page information for the list instances response. properties: - time_offset: - description: The time offset (in seconds) to apply to the query. + totalCount: + description: The total count of items. format: int64 type: integer - timezone: - default: UTC - description: >- - The timezone can be specified as GMT, UTC, an offset from UTC (like - UTC+1), or as a Timezone Database identifier (like - America/New_York). - example: GMT - type: string - type: object - CIAppPipelinesAggregationBucketsResponse: - description: The query results. - properties: - buckets: - description: The list of matching buckets, one item per bucket. - items: - $ref: '#/components/schemas/CIAppPipelinesBucketResponse' - type: array type: object - CIAppResponseLinks: - description: Links attributes. + WorklflowGetInstanceResponseDataAttributes: + additionalProperties: {} + description: The attributes of the instance response data. properties: - next: - description: >- - Link for the next set of results. The request can also be made using - the - - POST endpoint. - example: >- - https://app.datadoghq.com/api/v2/ci/tests/events?filter[query]=foo&page[cursor]=eyJzdGFydEF0IjoiQVFBQUFYS2tMS3pPbm40NGV3QUFBQUJCV0V0clRFdDZVbG8zY3pCRmNsbHJiVmxDWlEifQ== + id: + description: The id of the instance. type: string type: object - CIAppResponseMetadata: - description: The metadata associated with a request. + CIAppGitHubAccountRepository: + description: A GitHub repository within a GitHub account, and its CI Visibility opt-in status. properties: - elapsed: - description: The time elapsed in milliseconds. - example: 132 - format: int64 - type: integer - request_id: - description: The identifier of the request. - example: MWlFUjVaWGZTTTZPYzM0VXp1OXU2d3xLSVpEMjZKQ0VKUTI0dEYtM3RSOFVR + enabled: + description: Whether CI Visibility is enabled for this repository. + example: true + type: boolean + name: + description: The repository name. + example: shopist type: string - status: - $ref: '#/components/schemas/CIAppResponseStatus' - warnings: - description: >- - A list of warnings (non-fatal errors) encountered. Partial results - may return if - - warnings are present in the response. - items: - $ref: '#/components/schemas/CIAppWarning' - type: array type: object - APIErrorResponse: - description: API error response. + CIAppGitHubAccountUpdateRequestRepository: + description: Repository-level opt-in change to apply, identified by name. properties: - errors: - description: A list of errors. - example: - - Bad Request - items: - description: A list of items. - example: Bad Request - type: string - type: array + enabled: + description: Whether to enable or disable CI Visibility for this repository. + example: true + type: boolean + name: + description: The repository name to update. + example: shopist + minLength: 1 + type: string required: - - errors + - name + - enabled type: object - CIAppPipelineEvent: - description: >- - Object description of a pipeline event after being processed and stored - by Datadog. + CIAppCreatePipelineEventRequestAttributes: + description: Attributes of the pipeline event to create. properties: - attributes: - $ref: '#/components/schemas/CIAppPipelineEventAttributes' - id: - description: Unique ID of the event. - example: AAAAAWgN8Xwgr1vKDQAAAABBV2dOOFh3ZzZobm1mWXJFYTR0OA + env: + description: The Datadog environment. type: string - type: - $ref: '#/components/schemas/CIAppPipelineEventTypeName' - type: object - CIAppResponseMetadataWithPagination: - description: The metadata associated with a request. - properties: - elapsed: - description: The time elapsed in milliseconds. - example: 132 - format: int64 - type: integer - page: - $ref: '#/components/schemas/CIAppResponsePage' - request_id: - description: The identifier of the request. - example: MWlFUjVaWGZTTTZPYzM0VXp1OXU2d3xLSVpEMjZKQ0VKUTI0dEYtM3RSOFVR + provider_name: + description: The name of the CI provider. By default, this is "custom". type: string - status: - $ref: '#/components/schemas/CIAppResponseStatus' - warnings: - description: >- - A list of warnings (non-fatal errors) encountered. Partial results - may return if - - warnings are present in the response. - items: - $ref: '#/components/schemas/CIAppWarning' - type: array + resource: + $ref: '#/components/schemas/CIAppCreatePipelineEventRequestAttributesResource' + service: + description: If the CI provider is SaaS, use this to differentiate between instances. + type: string + required: + - resource type: object - CIAppQueryPageOptions: - description: Paging attributes for listing events. + CIAppCreatePipelineEventRequestDataType: + default: cipipeline_resource_request + description: Type of the event. + enum: + - cipipeline_resource_request + example: cipipeline_resource_request + type: string + x-enum-varnames: + - CIPIPELINE_RESOURCE_REQUEST + CIAppGroupByMissingString: + description: The missing value to use if there is a string valued facet. + type: string + CIAppGroupByMissingNumber: + description: The missing value to use if there is a number valued facet. + format: double + type: number + CIAppSortOrder: + description: The order to use, ascending or descending. + enum: + - asc + - desc + example: asc + type: string + x-enum-varnames: + - ASCENDING + - DESCENDING + CIAppAggregateSortType: + default: alphabetical + description: The type of sorting algorithm. + enum: + - alphabetical + - measure + type: string + x-enum-varnames: + - ALPHABETICAL + - MEASURE + CIAppGroupByTotalBoolean: + description: If set to true, creates an additional bucket labeled "$facet_total". + type: boolean + CIAppGroupByTotalString: + description: A string to use as the key value for the total bucket. + type: string + CIAppGroupByTotalNumber: + description: A number to use as the key value for the total bucket. + format: double + type: number + CIAppComputes: + additionalProperties: + $ref: '#/components/schemas/CIAppAggregateBucketValue' + description: A map of the metric name to value for regular compute, or a list of values for a timeseries. + type: object + CIAppPipelineLevel: + description: Pipeline execution level. + enum: + - pipeline + - stage + - job + - step + - custom + example: pipeline + type: string + x-enum-varnames: + - PIPELINE + - STAGE + - JOB + - STEP + - CUSTOM + TagsEventAttribute: + description: Array of tags associated with your event. + example: + - team:A + items: + description: Tag associated with your event. + type: string + type: array + TestOptimizationFlakyTestsManagementPoliciesAttemptToFix: + description: Configuration for the attempt-to-fix Flaky Tests Management policy. properties: - cursor: - description: List following results with a cursor provided in the previous query. - example: >- - eyJzdGFydEF0IjoiQVFBQUFYS2tMS3pPbm40NGV3QUFBQUJCV0V0clRFdDZVbG8zY3pCRmNsbHJiVmxDWlEifQ== - type: string - limit: - default: 10 - description: Maximum number of events in the response. - example: 25 - format: int32 - maximum: 1000 + retries: + description: Number of retries when attempting to fix a flaky test. Must be greater than 0. + example: 3 + format: int64 type: integer type: object - CIAppTestsQueryFilter: - description: The search and filter query settings. + TestOptimizationFlakyTestsManagementPoliciesDisabled: + description: Configuration for the disabled Flaky Tests Management policy. properties: - from: - default: now-15m - description: >- - The minimum time for the requested events; supports date, math, and - regular timestamps (in milliseconds). - example: now-15m - type: string - query: - default: '*' - description: The search query following the CI Visibility Explorer search syntax. - example: '@test.service:web-ui-tests AND @test.status:fail' - type: string - to: - default: now - description: >- - The maximum time for the requested events, supports date, math, and - regular timestamps (in milliseconds). - example: now - type: string + auto_disable_rule: + $ref: '#/components/schemas/TestOptimizationFlakyTestsManagementPoliciesAutoDisableRule' + branch_rule: + $ref: '#/components/schemas/TestOptimizationFlakyTestsManagementPoliciesBranchRule' + enabled: + description: Whether the disabled policy is enabled. + example: false + type: boolean + failure_rate_rule: + $ref: '#/components/schemas/TestOptimizationFlakyTestsManagementPoliciesDisabledFailureRateRule' + type: object + TestOptimizationFlakyTestsManagementPoliciesQuarantined: + description: Configuration for the quarantined Flaky Tests Management policy. + properties: + auto_quarantine_rule: + $ref: '#/components/schemas/TestOptimizationFlakyTestsManagementPoliciesAutoQuarantineRule' + branch_rule: + $ref: '#/components/schemas/TestOptimizationFlakyTestsManagementPoliciesBranchRule' + enabled: + description: Whether the quarantined policy is enabled. + example: true + type: boolean + failure_rate_rule: + $ref: '#/components/schemas/TestOptimizationFlakyTestsManagementPoliciesQuarantinedFailureRateRule' type: object - CIAppTestsGroupBy: - description: A group-by rule. + CIAppTestLevel: + description: Test run level. + enum: + - session + - module + - suite + - test + example: test + type: string + x-enum-varnames: + - SESSION + - MODULE + - SUITE + - TEST + CoverageSummaryCodeownerStats: + description: Coverage statistics for a specific code owner. properties: - facet: - description: The name of the facet to use (required). - example: '@test.service' - type: string - histogram: - $ref: '#/components/schemas/CIAppGroupByHistogram' - limit: - default: 10 - description: The maximum buckets to return for this group-by. + evaluated_flags_count: + description: Number of coverage flags evaluated for the code owner. + example: 2 format: int64 type: integer - missing: - $ref: '#/components/schemas/CIAppGroupByMissing' - sort: - $ref: '#/components/schemas/CIAppAggregateSort' - total: - $ref: '#/components/schemas/CIAppGroupByTotal' - required: - - facet + evaluated_reports_count: + description: Number of coverage reports evaluated for the code owner. + example: 4 + format: int64 + type: integer + patch_coverage: + description: Patch coverage percentage for the code owner. + example: 75.2 + format: double + nullable: true + type: number + total_coverage: + description: Total coverage percentage for the code owner. + example: 88.7 + format: double + nullable: true + type: number type: object - CIAppTestsAggregationBucketsResponse: - description: The query results. + CoverageSummaryServiceStats: + description: Coverage statistics for a specific service. properties: - buckets: - description: The list of matching buckets, one item per bucket. - items: - $ref: '#/components/schemas/CIAppTestsBucketResponse' - type: array + evaluated_flags_count: + description: Number of coverage flags evaluated for the service. + example: 3 + format: int64 + type: integer + evaluated_reports_count: + description: Number of coverage reports evaluated for the service. + example: 5 + format: int64 + type: integer + patch_coverage: + description: Patch coverage percentage for the service. + example: 72.3 + format: double + nullable: true + type: number + total_coverage: + description: Total coverage percentage for the service. + example: 85.5 + format: double + nullable: true + type: number type: object - CIAppTestEvent: - description: >- - Object description of test event after being processed and stored by - Datadog. + DeploymentGateResponseDataAttributesCreatedBy: + description: Information about the user who created the deployment gate. properties: - attributes: - $ref: '#/components/schemas/CIAppEventAttributes' - id: - description: Unique ID of the event. - example: AAAAAWgN8Xwgr1vKDQAAAABBV2dOOFh3ZzZobm1mWXJFYTR0OA + handle: + description: The handle of the user who created the deployment rule. + example: test-user type: string - type: - $ref: '#/components/schemas/CIAppTestEventTypeName' - type: object - DORADeploymentRequestData: - description: The JSON:API data. - properties: - attributes: - $ref: '#/components/schemas/DORADeploymentRequestAttributes' - required: - - attributes - type: object - DORADeploymentResponseData: - description: The JSON:API data. - properties: id: - description: The ID of the received DORA deployment event. - example: 4242fcdd31586083 + description: The ID of the user who created the deployment rule. + example: 1111-2222-3333-4444-555566667777 + type: string + name: + description: The name of the user who created the deployment rule. + example: Test User type: string - type: - $ref: '#/components/schemas/DORADeploymentType' required: - id type: object - JSONAPIErrorItem: - description: API error response body + DeploymentGateResponseDataAttributesUpdatedBy: + description: Information about the user who updated the deployment gate. properties: - detail: - description: >- - A human-readable explanation specific to this occurrence of the - error. - example: Missing required attribute in body + handle: + description: The handle of the user who updated the deployment rule. + example: test-user type: string - meta: - additionalProperties: {} - description: Non-standard meta-information about the error - type: object - source: - $ref: '#/components/schemas/JSONAPIErrorItemSource' - status: - description: Status code of the response. - example: '400' + id: + description: The ID of the user who updated the deployment rule. + example: 1111-2222-3333-4444-555566667777 type: string - title: - description: Short human-readable summary of the error. - example: Bad Request + name: + description: The name of the user who updated the deployment rule. + example: Test User type: string - type: object - DORAListDeploymentsRequestData: - description: The JSON:API data. - properties: - attributes: - $ref: '#/components/schemas/DORAListDeploymentsRequestAttributes' - type: - $ref: '#/components/schemas/DORAListDeploymentsRequestDataType' required: - - attributes + - id type: object - DORAEvent: - description: A DORA event. + DeploymentRulesOptions: + description: Options for deployment rule response representing either faulty deployment detection or monitor options. + additionalProperties: false properties: - attributes: - description: The attributes of the event. - type: object - id: - description: The ID of the event. - type: string - type: - description: The type of the event. + allowed_resources: + description: Resources to include in faulty deployment detection. Mutually exclusive with `excluded_resources`. + example: + - resource1 + - resource2 + items: + description: A resource name to include in faulty deployment detection. + type: string + type: array + duration: + description: The duration for faulty deployment detection. + example: 3600 + format: int64 + type: integer + excluded_resources: + description: Resources to exclude from faulty deployment detection. + example: + - resource1 + - resource2 + items: + description: A resource name to exclude from faulty deployment detection. + type: string + type: array + query: + description: Monitors that match this query are evaluated. + example: service:my-service env:prod type: string type: object - DORAFailureRequestData: - description: The JSON:API data. - properties: - attributes: - $ref: '#/components/schemas/DORAFailureRequestAttributes' required: - - attributes - type: object - DORAFailureResponseData: - description: Response after receiving a DORA failure event. + - query + DeploymentRuleResponseDataAttributesCreatedBy: + description: Information about the user who created the deployment rule. properties: + handle: + description: The handle of the user who created the deployment rule. + example: test-user + type: string id: - description: The ID of the received DORA failure event. - example: 4242fcdd31586083 + description: The ID of the user who created the deployment rule. + example: 1111-2222-3333-4444-555566667777 + type: string + name: + description: The name of the user who created the deployment rule. + example: Test User type: string - type: - $ref: '#/components/schemas/DORAFailureType' required: - id type: object - DORAListFailuresRequestData: - description: The JSON:API data. - properties: - attributes: - $ref: '#/components/schemas/DORAListFailuresRequestAttributes' - type: - $ref: '#/components/schemas/DORAListFailuresRequestDataType' - required: - - attributes - type: object - WorkflowData: - description: Data related to the workflow. + DeploymentRuleResponseDataAttributesType: + description: The type of the deployment rule. + enum: + - faulty_deployment_detection + - monitor + example: faulty_deployment_detection + type: string + x-enum-varnames: + - FAULTY_DEPLOYMENT_DETECTION + - MONITOR + DeploymentRuleResponseDataAttributesUpdatedBy: + description: Information about the user who updated the deployment rule. properties: - attributes: - $ref: '#/components/schemas/WorkflowDataAttributes' + handle: + description: The handle of the user who updated the deployment rule. + example: test-user + type: string id: - description: The workflow identifier - readOnly: true + description: The ID of the user who updated the deployment rule. + example: 1111-2222-3333-4444-555566667777 + type: string + name: + description: The name of the user who updated the deployment rule. + example: Test User type: string - relationships: - $ref: '#/components/schemas/WorkflowDataRelationships' - type: - $ref: '#/components/schemas/WorkflowDataType' required: - - type - - attributes + - id type: object - WorkflowDataUpdate: - description: Data related to the workflow being updated. + DeploymentGatesEvaluationConfiguration: + description: |- + Inline rule definitions for a deployment gate evaluation. When provided, rules are evaluated + directly from this configuration instead of using the preconfigured gate rules. + At least one rule is required. properties: - attributes: - $ref: '#/components/schemas/WorkflowDataUpdateAttributes' - id: - description: The workflow identifier - type: string - relationships: - $ref: '#/components/schemas/WorkflowDataRelationships' - type: - $ref: '#/components/schemas/WorkflowDataType' + dry_run: + description: Gate-level dry run. When enabled, the rules are evaluated normally but the gate always returns `pass`. The real result is visible in the Datadog UI. + example: false + type: boolean + rules: + description: The list of rules to evaluate. At least one rule is required. + items: + $ref: '#/components/schemas/DeploymentGatesEvaluationRule' + minItems: 1 + type: array required: - - type - - attributes + - rules type: object - WorkflowInstanceListItem: - additionalProperties: {} - description: An item in the workflow instances list. - properties: - id: - description: The ID of the workflow instance + DeploymentGatesEvaluationResultResponseAttributesGateStatus: + description: |- + The overall status of the gate evaluation. + - `in_progress`: The evaluation is still running. + - `pass`: All rules passed successfully and the deployment is allowed to proceed. + - `fail`: One or more rules did not pass; the deployment should not proceed. + enum: + - in_progress + - pass + - fail + example: pass + type: string + x-enum-varnames: + - IN_PROGRESS + - PASS + - FAIL + DeploymentGatesRuleResponse: + description: The result of a single rule evaluation. + properties: + dry_run: + description: Whether this rule was evaluated in dry-run mode. + example: false + type: boolean + name: + description: The name of the rule. + example: Check service monitors type: string + reason: + description: The reason for the rule result, if applicable. + example: One or more monitors in ALERT state + type: string + status: + $ref: '#/components/schemas/DeploymentGatesEvaluationResultResponseAttributesGateStatus' type: object - WorkflowListInstancesResponseMeta: - additionalProperties: {} - description: Metadata about the instances list - properties: - page: - $ref: '#/components/schemas/WorkflowListInstancesResponseMetaPage' - type: object - WorkflowInstanceCreateMeta: - description: Additional information for creating a workflow instance. + DORACustomTags: + description: A list of user-defined tags. The tags must follow the `key:value` pattern. Up to 100 may be added per event. + example: + - language:java + - department:engineering + items: + description: Tags in the form of `key:value`. + type: string + nullable: true + type: array + DORAGitInfo: + description: Git info for DORA Metrics events. properties: - payload: - additionalProperties: {} - description: The input parameters to the workflow. - type: object + commit_sha: + $ref: '#/components/schemas/GitCommitSHA' + repository_url: + $ref: '#/components/schemas/GitRepositoryURL' + required: + - repository_url + - commit_sha type: object - WorkflowInstanceCreateResponseData: - additionalProperties: {} - description: Data about the created workflow instance. + DORADeploymentPatchByVersionRemediation: + description: Remediation details for the deployment. Optional, but required to calculate failed deployment recovery time. Specify either `id` or `version` to identify the remediation deployment, but not both. + additionalProperties: false properties: id: - description: >- - The ID of the workflow execution. It can be used to fetch the - execution status. + description: The ID of the remediation deployment. + example: eG42zNIkVjM + type: string + type: + $ref: '#/components/schemas/DORADeploymentPatchRemediationType' + version: + description: The version of the remediation deployment. + example: v1.2.4 type: string + required: + - id + - type + - version type: object - WorklflowGetInstanceResponseData: - additionalProperties: {} - description: The data of the instance response. + DORAGitInfoResponse: + description: Git info returned by DORA Metrics events. properties: - attributes: - $ref: '#/components/schemas/WorklflowGetInstanceResponseDataAttributes' + commit_sha: + $ref: '#/components/schemas/GitCommitSHA' + repository_id: + $ref: '#/components/schemas/GitRepositoryID' + required: + - repository_id + - commit_sha type: object - WorklflowCancelInstanceResponseData: - description: Data about the canceled instance. + DORADeploymentPatchRemediation: + description: Remediation details for the deployment. Optional, but required to calculate failed deployment recovery time. Specify either `id` or `version` to identify the remediation deployment, but not both. properties: id: - description: The id of the canceled instance + description: The ID of the remediation deployment. Use this or `version` to identify the remediation deployment, but not both. + example: eG42zNIkVjM + type: string + type: + $ref: '#/components/schemas/DORADeploymentPatchRemediationType' + version: + description: The version of the remediation deployment, matched against the same service and environment as the failed deployment. Use this or `id` to identify the remediation deployment, but not both. + example: v1.2.4 type: string type: object - CIAppCreatePipelineEventRequestData: - description: Data of the pipeline event to create. + FeatureFlagEnvironmentListItem: + description: Environment-specific settings for a feature flag in list responses. properties: - attributes: - $ref: '#/components/schemas/CIAppCreatePipelineEventRequestAttributes' - type: - $ref: '#/components/schemas/CIAppCreatePipelineEventRequestDataType' + default_allocation_key: + description: The allocation key used for the default variant. + example: allocation-default-123abc + type: string + default_variant_id: + description: The ID of the default variant for this environment. + example: 550e8400-e29b-41d4-a716-446655440002 + nullable: true + type: string + environment_id: + description: The ID of the environment. + example: 550e8400-e29b-41d4-a716-446655440001 + format: uuid + type: string + environment_name: + description: The name of the environment. + example: env-search-term + type: string + environment_queries: + description: Queries that target this environment. + example: + - test-feature-flag + - env-search-term + items: + description: A query string targeting the environment. + type: string + type: array + is_production: + description: Indicates whether the environment is production. + example: false + type: boolean + override_allocation_key: + description: The allocation key used for the override variant. + example: allocation-override-123abc + type: string + override_variant_id: + description: The ID of the override variant for this environment. + example: 550e8400-e29b-41d4-a716-446655440003 + nullable: true + type: string + pending_suggestion_id: + description: Pending suggestion identifier, if approval is required. + example: 550e8400-e29b-41d4-a716-446655440099 + nullable: true + type: string + require_feature_flag_approval: + description: Indicates whether feature flag changes require approval in this environment. + example: false + type: boolean + status: + $ref: '#/components/schemas/FeatureFlagStatus' + required: + - environment_id + - status type: object - CIAppCreatePipelineEventRequestDataArray: - description: Array of pipeline events to create in batch. - items: - $ref: '#/components/schemas/CIAppCreatePipelineEventRequestData' - type: array - CIAppAggregationFunction: - description: An aggregation function. - enum: - - count - - cardinality - - pc75 - - pc90 - - pc95 - - pc98 - - pc99 - - sum - - min - - max - - avg - - median - - latest - - earliest - - most_frequent - - delta - example: pc90 - type: string - x-enum-varnames: - - COUNT - - CARDINALITY - - PERCENTILE_75 - - PERCENTILE_90 - - PERCENTILE_95 - - PERCENTILE_98 - - PERCENTILE_99 - - SUM - - MIN - - MAX - - AVG - - MEDIAN - - LATEST - - EARLIEST - - MOST_FREQUENT - - DELTA - CIAppComputeType: - default: total - description: The type of compute. + ValueType: + description: The type of values for the feature flag variants. enum: - - timeseries - - total + - BOOLEAN + - INTEGER + - NUMERIC + - STRING + - JSON + example: BOOLEAN type: string x-enum-varnames: - - TIMESERIES - - TOTAL - CIAppGroupByHistogram: - description: >- - Used to perform a histogram computation (only for measure facets). - - At most, 100 buckets are allowed, the number of buckets is `(max - - min)/interval`. + - BOOLEAN + - INTEGER + - NUMERIC + - STRING + - JSON + FeatureFlagEnvironment: + description: Environment-specific settings for a feature flag. properties: - interval: - description: The bin size of the histogram buckets. - example: 10 - format: double - type: number - max: - description: |- - The maximum value for the measure used in the histogram - (values greater than this one are filtered out). - example: 100 - format: double - type: number - min: - description: |- - The minimum value for the measure used in the histogram - (values smaller than this one are filtered out). - example: 50 - format: double - type: number + allocations: + additionalProperties: {} + description: Allocation metadata for this environment. + nullable: true + type: object + default_allocation_key: + description: The allocation key used for the default variant. + example: allocation-default-123abc + type: string + default_variant_id: + description: The ID of the default variant for this environment. + example: 550e8400-e29b-41d4-a716-446655440002 + nullable: true + type: string + environment_id: + description: The ID of the environment. + example: 550e8400-e29b-41d4-a716-446655440001 + format: uuid + type: string + environment_name: + description: The name of the environment. + example: env-search-term + type: string + environment_queries: + description: Queries that target this environment. + example: + - test-feature-flag + - env-search-term + items: + description: A query string targeting the environment. + type: string + type: array + is_production: + description: Indicates whether the environment is production. + example: false + type: boolean + override_allocation_key: + description: The allocation key used for the override variant. + example: allocation-override-123abc + type: string + override_variant_id: + description: The ID of the override variant for this environment. + example: 550e8400-e29b-41d4-a716-446655440003 + nullable: true + type: string + pending_suggestion_id: + description: Pending suggestion identifier, if approval is required. + example: 550e8400-e29b-41d4-a716-446655440099 + nullable: true + type: string + require_feature_flag_approval: + description: Indicates whether feature flag changes require approval in this environment. + example: false + type: boolean + status: + $ref: '#/components/schemas/FeatureFlagStatus' required: - - interval - - min - - max + - environment_id + - status type: object - CIAppGroupByMissing: - description: The value to use for logs that don't have the facet used to group-by. - oneOf: - - $ref: '#/components/schemas/CIAppGroupByMissingString' - - $ref: '#/components/schemas/CIAppGroupByMissingNumber' - CIAppAggregateSort: - description: >- - A sort rule. The `aggregation` field is required when `type` is - `measure`. - example: - aggregation: count - order: asc + AllocationExposureGuardrailTrigger: + description: Guardrail trigger details for a progressive rollout. properties: - aggregation: - $ref: '#/components/schemas/CIAppAggregationFunction' - metric: - description: The metric to sort by (only used for `type=measure`). - example: '@duration' + allocation_exposure_schedule_id: + description: The progressive rollout ID this trigger belongs to. + example: 550e8400-e29b-41d4-a716-446655440010 + format: uuid type: string - order: - $ref: '#/components/schemas/CIAppSortOrder' - type: - $ref: '#/components/schemas/CIAppAggregateSortType' + created_at: + description: The timestamp when this trigger was created. + example: '2024-01-01T12:00:00Z' + format: date-time + type: string + flagging_variant_id: + description: The variant ID that triggered this event. + example: 550e8400-e29b-41d4-a716-446655440001 + format: uuid + type: string + id: + description: The unique identifier of the guardrail trigger. + example: 550e8400-e29b-41d4-a716-446655440080 + format: uuid + type: string + metric_id: + description: The metric ID associated with the trigger. + example: metric-error-rate + type: string + triggered_action: + description: The action that was triggered. + example: PAUSE + type: string + updated_at: + description: The timestamp when this trigger was last updated. + example: '2024-01-01T12:00:00Z' + format: date-time + type: string + required: + - id + - allocation_exposure_schedule_id + - flagging_variant_id + - metric_id + - triggered_action + - created_at + - updated_at + type: object + RolloutOptions: + description: Applied progression options for a progressive rollout. + properties: + autostart: + description: Whether the schedule starts automatically. + example: false + type: boolean + selection_interval_ms: + description: Interval in milliseconds for uniform interval strategies. + example: 3600000 + format: int64 + type: integer + strategy: + $ref: '#/components/schemas/RolloutStrategy' + required: + - strategy + - autostart + - selection_interval_ms type: object - CIAppGroupByTotal: - default: false - description: >- - A resulting object to put the given computes in over all the matching - records. - oneOf: - - $ref: '#/components/schemas/CIAppGroupByTotalBoolean' - - $ref: '#/components/schemas/CIAppGroupByTotalString' - - $ref: '#/components/schemas/CIAppGroupByTotalNumber' - CIAppPipelinesBucketResponse: - description: Bucket values. + AllocationExposureRolloutStep: + description: Exposure progression step details. properties: - by: - additionalProperties: - description: The values for each group-by. - description: The key-value pairs for each group-by. - example: - '@ci.provider.name': gitlab - '@ci.status': success - type: object - computes: - $ref: '#/components/schemas/CIAppComputes' + allocation_exposure_schedule_id: + description: The progressive rollout ID this step belongs to. + example: 550e8400-e29b-41d4-a716-446655440010 + format: uuid + type: string + created_at: + description: The timestamp when the progression step was created. + example: '2024-01-01T12:00:00Z' + format: date-time + type: string + exposure_ratio: + description: The exposure ratio for this step. + example: 0.1 + format: double + maximum: 1 + minimum: 0 + type: number + grouped_step_index: + description: Logical index grouping related steps. + example: 0 + format: int64 + minimum: 0 + type: integer + id: + description: The unique identifier of the progression step. + example: 550e8400-e29b-41d4-a716-446655440040 + format: uuid + type: string + interval_ms: + description: Step duration in milliseconds. + example: 3600000 + format: int64 + nullable: true + type: integer + is_pause_record: + description: Whether this step represents a pause record. + example: false + type: boolean + order_position: + description: Sort order for the progression step. + example: 0 + format: int64 + type: integer + updated_at: + description: The timestamp when the progression step was last updated. + example: '2024-01-01T12:00:00Z' + format: date-time + type: string + required: + - id + - allocation_exposure_schedule_id + - order_position + - exposure_ratio + - is_pause_record + - grouped_step_index + - created_at + - updated_at + type: object + ExposureScheduleRequest: + description: Progressive release request payload. + properties: + absolute_start_time: + description: The absolute UTC start time for this schedule. + example: '2025-06-13T12:00:00Z' + format: date-time + nullable: true + type: string + control_variant_id: + description: The control variant ID used for experiment comparisons. + example: 550e8400-e29b-41d4-a716-446655440012 + nullable: true + type: string + control_variant_key: + description: The control variant key used during creation workflows. + example: control + nullable: true + type: string + id: + description: The unique identifier of the progressive rollout. + example: 550e8400-e29b-41d4-a716-446655440010 + format: uuid + type: string + rollout_options: + $ref: '#/components/schemas/RolloutOptionsRequest' + rollout_steps: + description: Ordered progression steps for exposure. + items: + $ref: '#/components/schemas/ExposureRolloutStepRequest' + minItems: 1 + type: array + required: + - rollout_options + - rollout_steps type: object - CIAppResponseStatus: - description: The status of the response. + GuardrailMetricRequest: + description: Guardrail metric request payload. + properties: + metric_id: + description: The metric ID to monitor. + example: metric-error-rate + type: string + trigger_action: + $ref: '#/components/schemas/GuardrailTriggerAction' + required: + - metric_id + - trigger_action + type: object + TargetingRuleRequest: + description: Targeting rule request payload. + properties: + conditions: + description: Conditions that must match for this rule. + items: + $ref: '#/components/schemas/ConditionRequest' + minItems: 1 + type: array + required: + - conditions + type: object + AllocationType: + description: The type of targeting rule (called allocation in the API model). enum: - - done - - timeout - example: done + - FEATURE_GATE + - CANARY + example: FEATURE_GATE type: string x-enum-varnames: - - DONE - - TIMEOUT - CIAppWarning: - description: A warning message indicating something that went wrong with the query. + - FEATURE_GATE + - CANARY + VariantWeightRequest: + description: Variant weight request payload. properties: - code: - description: A unique code for this type of warning. - example: unknown_index - type: string - detail: - description: A detailed explanation of this specific warning. - example: 'indexes: foo, bar' + value: + description: The percentage weight for this variant. + example: 50 + format: double + type: number + variant_id: + description: The variant ID to assign weight to. + example: 550e8400-e29b-41d4-a716-446655440001 + format: uuid type: string - title: - description: A short human-readable summary of the warning. - example: >- - One or several indexes are missing or invalid, results hold data - from the other indexes + variant_key: + description: The variant key to assign weight to. + example: control type: string + required: + - value type: object - CIAppPipelineEventAttributes: - description: JSON object containing all event attributes and their associated values. + GuardrailMetric: + description: Guardrail metric details. properties: - attributes: - additionalProperties: {} - description: JSON object of attributes from CI Visibility pipeline events. - example: - customAttribute: 123 - duration: 2345 - type: object - ci_level: - $ref: '#/components/schemas/CIAppPipelineLevel' - tags: - $ref: '#/components/schemas/TagsEventAttribute' + metric_id: + description: The metric ID to monitor. + example: metric-error-rate + type: string + trigger_action: + $ref: '#/components/schemas/GuardrailTriggerAction' + triggered_by: + description: The signal or system that triggered the action. + example: guardrail_monitor + nullable: true + type: string + required: + - metric_id + - trigger_action type: object - CIAppPipelineEventTypeName: - description: Type of the event. - enum: - - cipipeline - example: cipipeline - type: string - x-enum-varnames: - - CIPIPELINE - CIAppResponsePage: - description: Paging attributes. + TargetingRule: + description: Targeting rule details. properties: - after: - description: >- - The cursor to use to get the next results, if any. To make the next - request, use the same parameters with the addition of - `page[cursor]`. - example: >- - eyJzdGFydEF0IjoiQVFBQUFYS2tMS3pPbm40NGV3QUFBQUJCV0V0clRFdDZVbG8zY3pCRmNsbHJiVmxDWlEifQ== + conditions: + description: Conditions evaluated by this targeting rule. + items: + $ref: '#/components/schemas/Condition' + type: array + created_at: + description: The timestamp when the targeting rule was created. + example: '2024-01-01T12:00:00Z' + format: date-time + type: string + id: + description: The unique identifier of the targeting rule. + example: 550e8400-e29b-41d4-a716-446655440060 + format: uuid + type: string + updated_at: + description: The timestamp when the targeting rule was last updated. + example: '2024-01-01T12:00:00Z' + format: date-time type: string + required: + - id + - conditions + - created_at + - updated_at type: object - CIAppTestsBucketResponse: - description: Bucket values. + VariantWeight: + description: Variant weight details. properties: - by: - additionalProperties: - description: The values for each group-by. - description: The key-value pairs for each group-by. - example: - '@test.service': web-ui-tests - '@test.status': skip - type: object - computes: - $ref: '#/components/schemas/CIAppComputes' + created_at: + description: The timestamp when the variant weight was created. + example: '2024-01-01T12:00:00Z' + format: date-time + type: string + id: + description: Unique identifier of the variant weight assignment. + example: 59061199-e2ff-46e9-8b40-2193e3b21687 + format: uuid + type: string + updated_at: + description: The timestamp when the variant weight was last updated. + example: '2024-01-01T12:00:00Z' + format: date-time + type: string + value: + description: The percentage weight for the variant. + example: 50 + format: double + type: number + variant: + $ref: '#/components/schemas/Variant' + variant_id: + description: The variant ID. + example: 550e8400-e29b-41d4-a716-446655440001 + format: uuid + type: string + required: + - variant_id + - value type: object - CIAppEventAttributes: - description: JSON object containing all event attributes and their associated values. + UpdateFlakyTestsRequestTest: + description: Details of what tests to update and their new attributes. properties: - attributes: - additionalProperties: {} - description: JSON object of attributes from CI Visibility test events. - example: - customAttribute: 123 - duration: 2345 - type: object - tags: - $ref: '#/components/schemas/TagsEventAttribute' - test_level: - $ref: '#/components/schemas/CIAppTestLevel' + id: + description: |- + The ID of the flaky test. This is the same ID returned by the Search flaky tests endpoint and is the + value of the `@test.fingerprint_fqn` facet on test events. You can find it by searching on + `@test.fingerprint_fqn` in the Test Optimization Explorer, or by filtering the Search flaky tests + endpoint with the `fingerprint_fqn` key. + example: 4eb1887a8adb1847 + type: string + new_state: + $ref: '#/components/schemas/UpdateFlakyTestsRequestTestNewState' + required: + - id + - new_state type: object - CIAppTestEventTypeName: - description: Type of the event. - enum: - - citest - example: citest - type: string - x-enum-varnames: - - CITEST - DORADeploymentRequestAttributes: - description: Attributes to create a DORA deployment event. + UpdateFlakyTestsResponseResult: + description: Result of updating a single flaky test state. properties: - custom_tags: - $ref: '#/components/schemas/DORACustomTags' - env: - description: Environment name to where the service was deployed. - example: staging + error: + description: Error message if the update failed. type: string - finished_at: - description: >- - Unix timestamp when the deployment finished. It must be in - nanoseconds, milliseconds, or seconds, and it should not be older - than 1 hour. - example: 1693491984000000000 - format: int64 - type: integer - git: - $ref: '#/components/schemas/DORAGitInfo' id: - description: Deployment ID. + description: |- + The ID of the flaky test from the request. This is the value of the `@test.fingerprint_fqn` facet + on test events, the same ID accepted by the update request and returned by the Search flaky tests + endpoint. + example: 4eb1887a8adb1847 type: string - service: - description: Service name. - example: shopist + success: + description: '`True` if the update was successful, `False` if there were any errors.' + example: false + type: boolean + required: + - id + - success + type: object + FlakyTestsSearchFilter: + description: Search filter settings. + properties: + include_history: + default: false + description: |- + Whether to include the status change history for each flaky test in the response. + When set to true, each test will include a `history` array with chronological status changes. + Defaults to false. + example: true + type: boolean + query: + default: '*' + description: |- + Search query following log syntax used to filter flaky tests, same as on Flaky Tests Management UI. The supported search keys are: + - `flaky_test_state` + - `flaky_test_category` + - `@test.name` + - `@test.suite` + - `@test.module` + - `@test.service` + - `@git.repository.id_v2` + - `@git.branch` + - `@test.codeowners` + - `env` + - `fingerprint_fqn` + + Use `fingerprint_fqn` to filter by a test's stable Fingerprint FQN (the same value as the test's `id`). + example: flaky_test_state:active @git.repository.id_v2:"github.com/datadog/shopist" type: string - started_at: - description: >- - Unix timestamp when the deployment started. It must be in - nanoseconds, milliseconds, or seconds. - example: 1693491974000000000 + type: object + FlakyTestsSearchPageOptions: + description: Pagination attributes for listing flaky tests. + properties: + cursor: + description: List following results with a cursor provided in the previous request. + example: eyJzdGFydEF0IjoiQVFBQUFYS2tMS3pPbm40NGV3QUFBQUJCV0V0clRFdDZVbG8zY3pCRmNsbHJiVmxDWlEifQ== + type: string + limit: + default: 10 + description: Maximum number of flaky tests in the response. + example: 25 format: int64 + maximum: 1000 + minimum: 1 type: integer - team: - description: >- - Name of the team owning the deployed service. If not provided, this - is automatically populated with the team associated with the service - in the Service Catalog. - example: backend + type: object + FlakyTestsSearchSort: + description: Parameter for sorting flaky test results. The default sort is by ascending Fully Qualified Name (FQN). The FQN is the concatenation of the test module, suite, and name. + enum: + - fqn + - '-fqn' + - first_flaked + - '-first_flaked' + - last_flaked + - '-last_flaked' + - failure_rate + - '-failure_rate' + - pipelines_failed + - '-pipelines_failed' + - pipelines_duration_lost + - '-pipelines_duration_lost' + example: failure_rate + type: string + x-enum-varnames: + - FQN_ASCENDING + - FQN_DESCENDING + - FIRST_FLAKED_ASCENDING + - FIRST_FLAKED_DESCENDING + - LAST_FLAKED_ASCENDING + - LAST_FLAKED_DESCENDING + - FAILURE_RATE_ASCENDING + - FAILURE_RATE_DESCENDING + - PIPELINES_FAILED_ASCENDING + - PIPELINES_FAILED_DESCENDING + - PIPELINES_DURATION_LOST_ASCENDING + - PIPELINES_DURATION_LOST_DESCENDING + FlakyTestAttributesFlakyState: + description: The current state of the flaky test. + enum: + - active + - fixed + - quarantined + - disabled + example: active + type: string + x-enum-varnames: + - ACTIVE + - FIXED + - QUARANTINED + - DISABLED + FlakyTestHistory: + description: A single history entry representing a status change for a flaky test. + properties: + commit_sha: + description: The commit SHA associated with this status change. Will be an empty string if the commit SHA is not available. + example: abc123def456 type: string - version: - description: >- - Version to correlate with [APM Deployment - Tracking](https://docs.datadoghq.com/tracing/services/deployment_tracking/). - example: v1.12.07 + policy_id: + $ref: '#/components/schemas/FlakyTestHistoryPolicyId' + policy_meta: + $ref: '#/components/schemas/FlakyTestHistoryPolicyMeta' + nullable: true + status: + description: The test status at this point in history. + example: quarantined type: string + timestamp: + description: Unix timestamp in milliseconds when this status change occurred. + example: 1704067200000 + format: int64 + type: integer required: - - service - - started_at - - finished_at + - status + - commit_sha + - timestamp type: object - DORADeploymentType: - default: dora_deployment - description: JSON:API type for DORA deployment events. + FlakyTestImpactLevel: + description: The impact level of the flaky test, derived from its impact score. enum: - - dora_deployment - example: dora_deployment + - low + - medium + - high + example: medium type: string x-enum-varnames: - - DORA_DEPLOYMENT - JSONAPIErrorItemSource: - description: References to the source of the error. + - LOW + - MEDIUM + - HIGH + FlakyTestPipelineStats: + description: CI pipeline related statistics for the flaky test. This information is only available if test runs are associated with CI pipeline events from CI Visibility. + properties: + failed_pipelines: + description: The number of pipelines that failed due to this test for the past 7 days. This is computed as the sum of failed CI pipeline events associated with test runs where the flaky test failed. + example: 319 + format: int64 + nullable: true + type: integer + total_lost_time_ms: + description: The total time lost by CI pipelines due to this flaky test in milliseconds. This is computed as the sum of the duration of failed CI pipeline events associated with test runs where the flaky test failed. + example: 1527550000 + format: int64 + nullable: true + type: integer + type: object + FlakyTestRunMetadata: + description: Metadata about the latest failed test run of the flaky test. properties: - header: - description: >- - A string indicating the name of a single request header which caused - the error. - example: Authorization + duration_ms: + description: The duration of the test run in milliseconds. + example: 27398 + format: int64 + nullable: true + type: integer + error_message: + description: The error message from the test failure. + example: Expecting actual not to be empty + nullable: true type: string - parameter: - description: A string indicating which URI query parameter caused the error. - example: limit + error_stack: + description: The stack trace from the test failure. + example: |- + Traceback (most recent call last): + File "test_foo.py", line 10, in test_foo + assert actual == expected + AssertionError: Expecting actual not to be empty + nullable: true type: string - pointer: - description: >- - A JSON pointer to the value in the request document that caused the - error. - example: /data/attributes/title + source_end: + description: The line number where the test ends in the source file. + example: 20 + format: int64 + nullable: true + type: integer + source_file: + description: The source file where the test is defined. + example: test_foo.py + nullable: true + type: string + source_start: + description: The line number where the test starts in the source file. + example: 10 + format: int64 + nullable: true + type: integer + type: object + FlakyTestStats: + description: Test statistics for the flaky test. + properties: + failure_rate_pct: + description: The failure rate percentage of the test for the past 7 days. This is the number of failed test runs divided by the total number of test runs (excluding skipped test runs). + example: 0.1 + format: double + nullable: true + type: number + type: object + Spec: + description: A complete Workflow Automation definition, including its triggers, steps, and connections. + properties: + annotations: + description: Up to 100 text annotations displayed on the workflow canvas. + items: + $ref: '#/components/schemas/Annotation' + maxItems: 100 + type: array + connectionEnvs: + description: A list of connections or connection groups used in the workflow. + items: + $ref: '#/components/schemas/ConnectionEnv' + type: array + handle: + description: Unique identifier used to trigger workflows automatically in Datadog. type: string + inputSchema: + $ref: '#/components/schemas/InputSchema' + outputSchema: + $ref: '#/components/schemas/OutputSchema' + steps: + description: A `Step` is a sub-component of a workflow. Each `Step` performs an action. + items: + $ref: '#/components/schemas/Step' + type: array + triggers: + description: The list of triggers that activate this workflow. At least one trigger is required, and each trigger type may appear at most once. + items: + $ref: '#/components/schemas/Trigger' + type: array + type: object + WorkflowUserRelationship: + description: The definition of `WorkflowUserRelationship` object. + properties: + data: + $ref: '#/components/schemas/WorkflowUserRelationshipData' type: object - DORAListDeploymentsRequestAttributes: - description: Attributes to get a list of deployments. + CIAppCreatePipelineEventRequestAttributesResource: + description: Details of the CI pipeline event. + example: Details TBD properties: - from: - description: Minimum timestamp for requested events. + end: + description: Time when the pipeline run finished. It cannot be older than 18 hours in the past from the current time. The time format must be RFC3339. + example: '2023-05-31T15:30:00Z' format: date-time type: string - limit: - default: 10 - description: Maximum number of events in the response. - format: int32 - maximum: 1000 - type: integer - query: - description: Search query with event platform syntax. - type: string - sort: - description: Sort order (prefixed with `-` for descending). - type: string - to: - description: Maximum timestamp for requested events. - format: date-time + error: + $ref: '#/components/schemas/CIAppCIError' + git: + $ref: '#/components/schemas/CIAppGitInfo' + is_manual: + description: Whether or not the pipeline was triggered manually by the user. + example: false + nullable: true + type: boolean + is_resumed: + description: Whether or not the pipeline was resumed after being blocked. + example: false + nullable: true + type: boolean + level: + $ref: '#/components/schemas/CIAppPipelineEventPipelineLevel' + metrics: + $ref: '#/components/schemas/CIAppPipelineEventMetrics' + name: + description: Name of the pipeline. All pipeline runs for the builds should have the same name. + example: Deploy to AWS type: string - type: object - DORAListDeploymentsRequestDataType: - description: The definition of `DORAListDeploymentsRequestDataType` object. - enum: - - dora_deployments_list_request - type: string - x-enum-varnames: - - DORA_DEPLOYMENTS_LIST_REQUEST - DORAFailureRequestAttributes: - description: Attributes to create a DORA failure event. - properties: - custom_tags: - $ref: '#/components/schemas/DORACustomTags' - env: - description: Environment name that was impacted by the failure. - example: staging + node: + $ref: '#/components/schemas/CIAppHostInfo' + parameters: + $ref: '#/components/schemas/CIAppPipelineEventParameters' + parent_pipeline: + $ref: '#/components/schemas/CIAppPipelineEventParentPipeline' + partial_retry: + description: |- + Whether or not the pipeline was a partial retry of a previous attempt. A partial retry is one + which only runs a subset of the original jobs. + example: false + type: boolean + pipeline_id: + description: |- + Any ID used in the provider to identify the pipeline run even if it is not unique across retries. + If the `pipeline_id` is unique, then both `unique_id` and `pipeline_id` can be set to the same value. + example: '#023' type: string - finished_at: - description: >- - Unix timestamp when the failure finished. It must be in nanoseconds, - milliseconds, or seconds. - example: 1693491984000000000 + previous_attempt: + $ref: '#/components/schemas/CIAppPipelineEventPreviousPipeline' + queue_time: + description: The queue time in milliseconds, if applicable. + example: 1004 format: int64 + minimum: 0 + nullable: true type: integer - git: - $ref: '#/components/schemas/DORAGitInfo' - id: - description: >- - Failure ID. Must have at least 16 characters. Required to update a - previously sent failure. + start: + description: Time when the pipeline run started (it should not include any queue time). The time format must be RFC3339. + example: '2023-05-31T15:30:00Z' + format: date-time type: string - name: - description: Failure name. - example: Webserver is down failing all requests. + status: + $ref: '#/components/schemas/CIAppPipelineEventPipelineStatus' + tags: + $ref: '#/components/schemas/CIAppPipelineEventTags' + unique_id: + description: |- + UUID of the pipeline run. The ID has to be unique across retries and pipelines, + including partial retries. + example: 3eacb6f3-ff04-4e10-8a9c-46e6d054024a type: string - services: - description: >- - Service names impacted by the failure. If possible, use names - registered in the Service Catalog. Required when the team field is - not provided. + url: + description: The URL to look at the pipeline in the CI provider UI. + example: https://my-ci-provider.example/pipelines/my-pipeline/run/1 + type: string + dependencies: + description: A list of stage IDs that this stage depends on. example: - - shopist + - f7e6a006-a029-46c3-b0cc-742c9d7d363b + - c8a69849-3c3b-4721-8b33-3e8ec2df1ebe items: + description: A list of stage IDs. type: string + nullable: true type: array - severity: - description: Failure severity. - example: High + id: + description: UUID for the stage. It has to be unique at least in the pipeline scope. + example: 562bdbbb-7cab-48c8-851c-b24ca14628bf type: string - started_at: - description: >- - Unix timestamp when the failure started. It must be in nanoseconds, - milliseconds, or seconds. - example: 1693491974000000000 - format: int64 - type: integer - team: - description: >- - Name of the team owning the services impacted. If possible, use team - handles registered in Datadog. Required when the services field is - not provided. - example: backend + pipeline_name: + description: The parent pipeline name. + example: Build type: string - version: - description: >- - Version to correlate with [APM Deployment - Tracking](https://docs.datadoghq.com/tracing/services/deployment_tracking/). - example: v1.12.07 + pipeline_unique_id: + description: The parent pipeline UUID. + example: 76b572af-a078-42b2-a08a-cc28f98b944f type: string - required: - - started_at - type: object - DORAFailureType: - default: dora_failure - description: JSON:API type for DORA failure events. - enum: - - dora_failure - example: dora_failure - type: string - x-enum-varnames: - - DORA_FAILURE - DORAListFailuresRequestAttributes: - description: Attributes to get a list of failures. - properties: - from: - description: Minimum timestamp for requested events. - format: date-time + stage_id: + description: The parent stage UUID (if applicable). + nullable: true type: string - limit: - default: 10 - description: Maximum number of events in the response. - format: int32 - maximum: 1000 - type: integer - query: - description: Search query with event platform syntax. + stage_name: + description: The parent stage name (if applicable). + nullable: true type: string - sort: - description: Sort order (prefixed with `-` for descending). + job_id: + description: The parent job UUID (if applicable). + nullable: true type: string - to: - description: Maximum timestamp for requested events. - format: date-time + job_name: + description: The parent job name (if applicable). + nullable: true type: string + required: + - level + - unique_id + - name + - url + - start + - end + - status + - partial_retry + - id + - pipeline_unique_id + - pipeline_name type: object - DORAListFailuresRequestDataType: - description: The definition of `DORAListFailuresRequestDataType` object. - enum: - - dora_failures_list_request + CIAppAggregateBucketValue: + description: A bucket value, can either be a timeseries or a single value. type: string - x-enum-varnames: - - DORA_FAILURES_LIST_REQUEST - WorkflowDataAttributes: - description: The definition of `WorkflowDataAttributes` object. + format: double + items: + $ref: '#/components/schemas/CIAppAggregateBucketValueTimeseriesPoint' + x-generate-alias-as-model: true + TestOptimizationFlakyTestsManagementPoliciesAutoDisableRule: + description: Automatic disable triggering rule based on a time window and test status. properties: - createdAt: - description: When the workflow was created. - format: date-time - readOnly: true - type: string - description: - description: Description of the workflow. - type: string - name: - description: Name of the workflow. - example: '' - type: string - published: - description: >- - Set the workflow to published or unpublished. Workflows in an - unpublished state will only be executable via manual runs. Automatic - triggers such as Schedule will not execute the workflow until it is - published. + enabled: + description: Whether this auto-disable rule is enabled. + example: false type: boolean - spec: - $ref: '#/components/schemas/Spec' - tags: - description: Tags of the workflow. + status: + $ref: '#/components/schemas/TestOptimizationFlakyTestsManagementPoliciesDisabledStatus' + window_seconds: + description: Time window in seconds over which flakiness is evaluated. Must be greater than 0. + example: 3600 + format: int64 + type: integer + type: object + TestOptimizationFlakyTestsManagementPoliciesBranchRule: + description: Branch filtering rule for a Flaky Tests Management policy. + properties: + branches: + description: List of branches to which the policy applies. + example: + - main items: + description: A branch name. + type: string + type: array + enabled: + description: Whether this branch rule is enabled. + example: true + type: boolean + excluded_branches: + description: List of branches excluded from the policy. + example: [] + items: + description: A branch name. + type: string + type: array + excluded_test_services: + description: List of test services excluded from the policy. + example: [] + items: + description: A test service name. type: string type: array - updatedAt: - description: When the workflow was last updated. - format: date-time - readOnly: true - type: string - webhookSecret: - description: >- - If a Webhook trigger is defined on this workflow, a webhookSecret is - required and should be provided here. - type: string - writeOnly: true - required: - - name - - spec type: object - WorkflowDataRelationships: - description: The definition of `WorkflowDataRelationships` object. + TestOptimizationFlakyTestsManagementPoliciesDisabledFailureRateRule: + description: Failure-rate-based rule for the disabled policy. properties: - creator: - $ref: '#/components/schemas/WorkflowUserRelationship' - owner: - $ref: '#/components/schemas/WorkflowUserRelationship' - readOnly: true + branches: + description: List of branches to which this rule applies. + example: [] + items: + description: A branch name. + type: string + type: array + enabled: + description: Whether this failure rate rule is enabled. + example: false + type: boolean + min_runs: + description: Minimum number of runs required before the rule is evaluated. Must be greater than or equal to 0. + example: 10 + format: int64 + type: integer + status: + $ref: '#/components/schemas/TestOptimizationFlakyTestsManagementPoliciesDisabledStatus' + threshold: + description: Failure rate threshold (0.0–1.0) above which the rule triggers. + example: 0.5 + format: double + type: number + type: object + TestOptimizationFlakyTestsManagementPoliciesAutoQuarantineRule: + description: Automatic quarantine triggering rule based on a time window. + properties: + enabled: + description: Whether this auto-quarantine rule is enabled. + example: true + type: boolean + window_seconds: + description: Time window in seconds over which flakiness is evaluated. Must be greater than 0. + example: 3600 + format: int64 + type: integer type: object - WorkflowDataType: - description: The definition of `WorkflowDataType` object. - enum: - - workflows - example: workflows - type: string - x-enum-varnames: - - WORKFLOWS - WorkflowDataUpdateAttributes: - description: The definition of `WorkflowDataUpdateAttributes` object. + TestOptimizationFlakyTestsManagementPoliciesQuarantinedFailureRateRule: + description: Failure-rate-based rule for the quarantined policy. properties: - createdAt: - description: When the workflow was created. - format: date-time - readOnly: true - type: string - description: - description: Description of the workflow. - type: string - name: - description: Name of the workflow. - type: string - published: - description: >- - Set the workflow to published or unpublished. Workflows in an - unpublished state will only be executable via manual runs. Automatic - triggers such as Schedule will not execute the workflow until it is - published. + branches: + description: List of branches to which this rule applies. + example: + - main + items: + description: A branch name. + type: string + type: array + enabled: + description: Whether this failure rate rule is enabled. + example: true type: boolean - spec: - $ref: '#/components/schemas/Spec' - tags: - description: Tags of the workflow. + min_runs: + description: Minimum number of runs required before the rule is evaluated. Must be greater than or equal to 0. + example: 10 + format: int64 + type: integer + threshold: + description: Failure rate threshold (0.0–1.0) above which the rule triggers. + example: 0.5 + format: double + type: number + type: object + DeploymentRuleOptionsFaultyDeploymentDetection: + additionalProperties: false + description: Faulty deployment detection options for deployment rules. + properties: + allowed_resources: + description: Resources to include in faulty deployment detection. Mutually exclusive with `excluded_resources`. + example: + - resource1 + - resource2 items: + description: A resource name to include in faulty deployment detection. + type: string + type: array + duration: + description: The duration for faulty deployment detection. + example: 3600 + format: int64 + type: integer + excluded_resources: + description: Resources to exclude from faulty deployment detection. + example: + - resource1 + - resource2 + items: + description: A resource name to exclude from faulty deployment detection. type: string type: array - updatedAt: - description: When the workflow was last updated. - format: date-time - readOnly: true - type: string - webhookSecret: - description: >- - If a Webhook trigger is defined on this workflow, a webhookSecret is - required and should be provided here. - type: string - writeOnly: true type: object - WorkflowListInstancesResponseMetaPage: - additionalProperties: {} - description: Page information for the list instances response. + DeploymentRuleOptionsMonitor: + additionalProperties: false + description: Monitor options for deployment rules. properties: - totalCount: - description: The total count of items. + duration: + description: Seconds the monitor needs to stay in OK status for the rule to pass. + example: 3600 format: int64 type: integer + query: + description: Monitors that match this query are evaluated. + example: service:my-service env:prod + type: string + required: + - query + type: object + DeploymentGatesEvaluationRule: + description: A rule to evaluate as part of a deployment gate evaluation. + discriminator: + mapping: + faulty_deployment_detection: '#/components/schemas/DeploymentGatesFDDRule' + monitor: '#/components/schemas/DeploymentGatesMonitorRule' + propertyName: type + properties: + dry_run: + description: Rule-level dry run. When enabled, the rule is evaluated normally but always returns `pass`. The real result is visible in the Datadog UI. + example: false + type: boolean + name: + description: Human-readable name for this rule. + example: error rate monitors + type: string + options: + $ref: '#/components/schemas/DeploymentGatesMonitorRuleOptions' + type: + $ref: '#/components/schemas/DeploymentGatesMonitorRuleType' + required: + - type + - name type: object - WorklflowGetInstanceResponseDataAttributes: - additionalProperties: {} - description: The attributes of the instance response data. + GitCommitSHA: + description: Git Commit SHA. + example: 66adc9350f2cc9b250b69abddab733dd55e1a588 + pattern: ^[a-fA-F0-9]{40,}$ + type: string + GitRepositoryURL: + description: Git Repository URL + example: https://github.com/organization/example-repository + type: string + DORADeploymentPatchByVersionRemediationByID: + additionalProperties: false + description: Remediation details identified by the ID of the remediation deployment. properties: id: - description: The id of the instance. + description: The ID of the remediation deployment. + example: eG42zNIkVjM type: string + type: + $ref: '#/components/schemas/DORADeploymentPatchRemediationType' + required: + - id + - type type: object - CIAppCreatePipelineEventRequestAttributes: - description: Attributes of the pipeline event to create. + DORADeploymentPatchByVersionRemediationByVersion: + additionalProperties: false + description: Remediation details identified by the version of the remediation deployment, matched against the same service and environment as the failed deployment. properties: - env: - description: The Datadog environment. - type: string - provider_name: - description: The name of the CI provider. By default, this is "custom". - type: string - resource: - $ref: >- - #/components/schemas/CIAppCreatePipelineEventRequestAttributesResource - service: - description: >- - If the CI provider is SaaS, use this to differentiate between - instances. + type: + $ref: '#/components/schemas/DORADeploymentPatchRemediationType' + version: + description: The version of the remediation deployment. + example: v1.2.4 type: string required: - - resource + - version + - type type: object - CIAppCreatePipelineEventRequestDataType: - default: cipipeline_resource_request - description: Type of the event. - enum: - - cipipeline_resource_request - example: cipipeline_resource_request - type: string - x-enum-varnames: - - CIPIPELINE_RESOURCE_REQUEST - CIAppGroupByMissingString: - description: The missing value to use if there is a string valued facet. - type: string - CIAppGroupByMissingNumber: - description: The missing value to use if there is a number valued facet. - format: double - type: number - CIAppSortOrder: - description: The order to use, ascending or descending. - enum: - - asc - - desc - example: asc + GitRepositoryID: + description: Git Repository ID + example: github.com/organization/example-repository type: string - x-enum-varnames: - - ASCENDING - - DESCENDING - CIAppAggregateSortType: - default: alphabetical - description: The type of sorting algorithm. + DORADeploymentPatchRemediationType: + description: The type of remediation action taken. Required when the failed deployment must be linked to a remediation deployment. enum: - - alphabetical - - measure + - rollback + - rollforward + example: rollback type: string x-enum-varnames: - - ALPHABETICAL - - MEASURE - CIAppGroupByTotalBoolean: - description: If set to true, creates an additional bucket labeled "$facet_total". - type: boolean - CIAppGroupByTotalString: - description: A string to use as the key value for the total bucket. - type: string - CIAppGroupByTotalNumber: - description: A number to use as the key value for the total bucket. - format: double - type: number - CIAppComputes: - additionalProperties: - $ref: '#/components/schemas/CIAppAggregateBucketValue' - description: >- - A map of the metric name to value for regular compute, or a list of - values for a timeseries. - type: object - CIAppPipelineLevel: - description: Pipeline execution level. + - ROLLBACK + - ROLLFORWARD + FeatureFlagStatus: + description: The status of a feature flag in an environment. enum: - - pipeline - - stage - - job - - step - - custom - example: pipeline + - ENABLED + - DISABLED + example: ENABLED type: string x-enum-varnames: - - PIPELINE - - STAGE - - JOB - - STEP - - CUSTOM - TagsEventAttribute: - description: Array of tags associated with your event. - example: - - team:A - items: - description: Tag associated with your event. - type: string - type: array - CIAppTestLevel: - description: Test run level. + - ENABLED + - DISABLED + RolloutStrategy: + description: The progression strategy used by a progressive rollout. enum: - - session - - module - - suite - - test - example: test + - UNIFORM_INTERVALS + - NO_ROLLOUT + example: UNIFORM_INTERVALS type: string x-enum-varnames: - - SESSION - - MODULE - - SUITE - - TEST - DORACustomTags: - description: >- - A list of user-defined tags. The tags must follow the `key:value` - pattern. Up to 100 may be added per event. - example: - - language:java - - department:engineering - items: - description: Tags in the form of `key:value`. - type: string - nullable: true - type: array - DORAGitInfo: - description: Git info for DORA Metrics events. + - UNIFORM_INTERVALS + - NO_ROLLOUT + RolloutOptionsRequest: + description: Rollout options request payload. properties: - commit_sha: - $ref: '#/components/schemas/GitCommitSHA' - repository_url: - $ref: '#/components/schemas/GitRepositoryURL' + autostart: + description: Whether the schedule should begin automatically. + example: false + nullable: true + type: boolean + selection_interval_ms: + description: Interval in milliseconds for uniform interval strategies. + example: 3600000 + format: int64 + type: integer + strategy: + $ref: '#/components/schemas/RolloutStrategy' required: - - repository_url - - commit_sha + - strategy type: object - Spec: - description: The spec defines what the workflow does. + ExposureRolloutStepRequest: + description: Rollout step request payload. properties: - annotations: - description: >- - A list of annotations used in the workflow. These are like sticky - notes for your workflow! - items: - $ref: '#/components/schemas/Annotation' - type: array - connectionEnvs: - description: A list of connections or connection groups used in the workflow. - items: - $ref: '#/components/schemas/ConnectionEnv' - type: array - handle: - description: >- - Unique identifier used to trigger workflows automatically in - Datadog. + exposure_ratio: + description: The exposure ratio for this step. + example: 0.5 + format: double + maximum: 1 + minimum: 0 + type: number + grouped_step_index: + description: Logical index grouping related steps. + example: 1 + format: int64 + minimum: 0 + type: integer + id: + description: The unique identifier of the progression step. + example: 550e8400-e29b-41d4-a716-446655440040 + format: uuid type: string - inputSchema: - $ref: '#/components/schemas/InputSchema' - outputSchema: - $ref: '#/components/schemas/OutputSchema' - steps: - description: >- - A `Step` is a sub-component of a workflow. Each `Step` performs an - action. + interval_ms: + description: Step duration in milliseconds. + example: 3600000 + format: int64 + nullable: true + type: integer + is_pause_record: + description: Whether this step represents a pause record. + example: false + type: boolean + required: + - exposure_ratio + - is_pause_record + - grouped_step_index + type: object + GuardrailTriggerAction: + description: Action to perform when a guardrail threshold is triggered. + enum: + - PAUSE + - ABORT + example: PAUSE + type: string + x-enum-varnames: + - PAUSE + - ABORT + ConditionRequest: + description: |- + Condition request payload for targeting rules. A condition is either an inline + predicate with `operator`, `attribute`, and `value`, or a reference to a + saved filter with `saved_filter_id`. The two shapes are mutually exclusive. + properties: + attribute: + description: The user or request attribute to evaluate. Required for inline conditions; omit when `saved_filter_id` is set. + example: user_tier + type: string + operator: + $ref: '#/components/schemas/ConditionOperator' + saved_filter_id: + description: |- + The ID of a saved filter to reference as this condition. Mutually exclusive + with `operator`, `attribute`, and `value`. When set, the saved filter's + targeting rules are evaluated in place of an inline predicate. + example: 550e8400-e29b-41d4-a716-446655440090 + format: uuid + type: string + value: + description: Values used by the selected operator. Required for inline conditions; omit when `saved_filter_id` is set. + example: + - premium + - enterprise items: - $ref: '#/components/schemas/Step' + description: Target value for the selected operator. + type: string type: array - triggers: - description: >- - The list of triggers that activate this workflow. At least one - trigger is required, and each trigger type may appear at most once. + type: object + Condition: + description: |- + Targeting condition details. A condition is either an inline + predicate with `operator`, `attribute`, and `value`, or a reference to a + saved filter with `saved_filter_id`. The inline fields are omitted for saved-filter + references. + properties: + attribute: + description: The user or request attribute to evaluate. Omitted for saved-filter references. + example: country + type: string + created_at: + description: The timestamp when the condition was created. + example: '2024-01-01T12:00:00Z' + format: date-time + type: string + id: + description: The unique identifier of the condition. + example: 550e8400-e29b-41d4-a716-446655440070 + format: uuid + type: string + operator: + $ref: '#/components/schemas/ConditionOperator' + saved_filter_id: + description: The ID of the saved filter referenced by this condition, or null for inline conditions. + example: 550e8400-e29b-41d4-a716-446655440090 + format: uuid + nullable: true + type: string + updated_at: + description: The timestamp when the condition was last updated. + example: '2024-01-01T12:00:00Z' + format: date-time + type: string + value: + description: Values used by the selected operator. Omitted for saved-filter references. + example: + - US + - CA items: - $ref: '#/components/schemas/Trigger' + description: Target value for the selected operator. + type: string type: array + required: + - id + - created_at + - updated_at type: object - WorkflowUserRelationship: - description: The definition of `WorkflowUserRelationship` object. - properties: - data: - $ref: '#/components/schemas/WorkflowUserRelationshipData' - type: object - CIAppCreatePipelineEventRequestAttributesResource: - description: Details of the CI pipeline event. - example: Details TBD - oneOf: - - $ref: '#/components/schemas/CIAppPipelineEventPipeline' - - $ref: '#/components/schemas/CIAppPipelineEventStage' - - $ref: '#/components/schemas/CIAppPipelineEventJob' - - $ref: '#/components/schemas/CIAppPipelineEventStep' - CIAppAggregateBucketValue: - description: A bucket value, can either be a timeseries or a single value. - oneOf: - - $ref: '#/components/schemas/CIAppAggregateBucketValueSingleString' - - $ref: '#/components/schemas/CIAppAggregateBucketValueSingleNumber' - - $ref: '#/components/schemas/CIAppAggregateBucketValueTimeseries' - GitCommitSHA: - description: Git Commit SHA. - example: 66adc9350f2cc9b250b69abddab733dd55e1a588 - pattern: ^[a-fA-F0-9]{40,}$ + UpdateFlakyTestsRequestTestNewState: + description: The new state to set for the flaky test. + enum: + - active + - quarantined + - disabled + - fixed + example: active type: string - GitRepositoryURL: - description: Git Repository URL - example: https://github.com/organization/example-repository + x-enum-varnames: + - ACTIVE + - QUARANTINED + - DISABLED + - FIXED + FlakyTestHistoryPolicyId: + description: The policy that triggered this status change. + enum: + - ftm_policy.manual + - ftm_policy.fixed + - ftm_policy.disable.failure_rate + - ftm_policy.disable.branch_flake + - ftm_policy.disable.days_active + - ftm_policy.quarantine.failure_rate + - ftm_policy.quarantine.branch_flake + - ftm_policy.quarantine.days_active + - unknown + example: ftm_policy.quarantine.failure_rate + nullable: false type: string + x-enum-varnames: + - MANUAL + - FIXED + - DISABLE_FAILURE_RATE + - DISABLE_BRANCH_FLAKE + - DISABLE_DAYS_ACTIVE + - QUARANTINE_FAILURE_RATE + - QUARANTINE_BRANCH_FLAKE + - QUARANTINE_DAYS_ACTIVE + - UNKNOWN + FlakyTestHistoryPolicyMeta: + description: Metadata about the policy that triggered this status change. + properties: + branches: + description: Branches where the test was flaky at the time of the status change. + example: + - main + - develop + items: + type: string + nullable: true + type: array + config: + $ref: '#/components/schemas/FlakyTestHistoryPolicyMetaConfig' + nullable: true + days_active: + description: The number of days the test has been active at the time of the status change. + example: 15 + format: int32 + maximum: 2147483647 + nullable: true + type: integer + days_without_flake: + description: The number of days since the test last exhibited flakiness. + example: 30 + format: int32 + maximum: 2147483647 + nullable: true + type: integer + failure_rate: + description: The failure rate of the test at the time of the status change. + example: 0.25 + format: double + maximum: 1 + minimum: 0 + nullable: true + type: number + state: + description: The previous state of the test. + example: quarantined + nullable: true + type: string + total_runs: + description: The total number of test runs at the time of the status change. + example: 200 + format: int32 + maximum: 2147483647 + nullable: true + type: integer + type: object Annotation: - description: >- - A list of annotations used in the workflow. These are like sticky notes - for your workflow! + description: A text annotation displayed on the workflow canvas. properties: display: $ref: '#/components/schemas/AnnotationDisplay' id: - description: The `Annotation` `id`. + description: The unique identifier of this annotation within the workflow. example: '' + minLength: 1 type: string markdownTextAnnotation: $ref: '#/components/schemas/AnnotationMarkdownTextAnnotation' @@ -2781,9 +10949,7 @@ components: - env type: object InputSchema: - description: >- - A list of input parameters for the workflow. These can be used as - dynamic runtime values in your workflow. + description: A list of input parameters for the workflow. Input parameters are available under the `Trigger` object and can be referenced in workflow steps using `{{ Trigger. }}`. properties: parameters: description: The `InputSchema` `parameters`. @@ -2806,6 +10972,7 @@ components: actionId: description: The unique identifier of an action. example: '' + minLength: 1 type: string completionGate: $ref: '#/components/schemas/CompletionGate' @@ -2822,9 +10989,10 @@ components: name: description: Name of the step. example: '' + minLength: 1 type: string outboundEdges: - description: A list of subsequent actions to run. + description: A list of subsequent actions to run. This list is empty for a terminal step. items: $ref: '#/components/schemas/OutboundEdge' type: array @@ -2841,23 +11009,80 @@ components: type: object Trigger: description: One of the triggers that can start the execution of a workflow. - oneOf: - - $ref: '#/components/schemas/APITriggerWrapper' - - $ref: '#/components/schemas/AppTriggerWrapper' - - $ref: '#/components/schemas/CaseTriggerWrapper' - - $ref: '#/components/schemas/ChangeEventTriggerWrapper' - - $ref: '#/components/schemas/DatabaseMonitoringTriggerWrapper' - - $ref: '#/components/schemas/DashboardTriggerWrapper' - - $ref: '#/components/schemas/GithubWebhookTriggerWrapper' - - $ref: '#/components/schemas/IncidentTriggerWrapper' - - $ref: '#/components/schemas/MonitorTriggerWrapper' - - $ref: '#/components/schemas/NotebookTriggerWrapper' - - $ref: '#/components/schemas/ScheduleTriggerWrapper' - - $ref: '#/components/schemas/SecurityTriggerWrapper' - - $ref: '#/components/schemas/SelfServiceTriggerWrapper' - - $ref: '#/components/schemas/SlackTriggerWrapper' - - $ref: '#/components/schemas/SoftwareCatalogTriggerWrapper' - - $ref: '#/components/schemas/WorkflowTriggerWrapper' + properties: + agentTrigger: + $ref: '#/components/schemas/AgentTrigger' + startStepNames: + $ref: '#/components/schemas/StartStepNames' + apiTrigger: + $ref: '#/components/schemas/APITrigger' + appTrigger: + description: Trigger a workflow from an App. (opaque JSON object) + type: string + caseTrigger: + $ref: '#/components/schemas/CaseTrigger' + changeEventTrigger: + description: Trigger a workflow from a Change Event. (opaque JSON object) + type: string + databaseMonitoringTrigger: + description: Trigger a workflow from Database Monitoring. (opaque JSON object) + type: string + datastoreTrigger: + $ref: '#/components/schemas/DatastoreTrigger' + dashboardTrigger: + description: Trigger a workflow from a Dashboard. (opaque JSON object) + type: string + formTrigger: + $ref: '#/components/schemas/FormTrigger' + githubWebhookTrigger: + $ref: '#/components/schemas/GithubWebhookTrigger' + incidentTrigger: + $ref: '#/components/schemas/IncidentTrigger' + monitorTrigger: + $ref: '#/components/schemas/MonitorTrigger' + notebookTrigger: + description: Trigger a workflow from a Notebook. (opaque JSON object) + type: string + onCallTrigger: + $ref: '#/components/schemas/OnCallTrigger' + scheduleTrigger: + $ref: '#/components/schemas/ScheduleTrigger' + securityTrigger: + $ref: '#/components/schemas/SecurityTrigger' + selfServiceTrigger: + description: Trigger a workflow from Self Service. (opaque JSON object) + type: string + slackTrigger: + description: Trigger a workflow from Slack. The workflow must be published. (opaque JSON object) + type: string + softwareCatalogTrigger: + description: Trigger a workflow from Software Catalog. (opaque JSON object) + type: string + workflowTrigger: + description: Trigger a workflow from the Datadog UI. When present, this must be the workflow's only trigger. (opaque JSON object) + type: string + required: + - agentTrigger + - apiTrigger + - appTrigger + - caseTrigger + - changeEventTrigger + - databaseMonitoringTrigger + - datastoreTrigger + - dashboardTrigger + - formTrigger + - githubWebhookTrigger + - incidentTrigger + - monitorTrigger + - notebookTrigger + - onCallTrigger + - scheduleTrigger + - securityTrigger + - selfServiceTrigger + - slackTrigger + - softwareCatalogTrigger + - workflowTrigger + type: object WorkflowUserRelationshipData: description: The definition of `WorkflowUserRelationshipData` object. properties: @@ -2873,9 +11098,90 @@ components: type: object CIAppPipelineEventPipeline: description: Details of the top level pipeline, build, or workflow of your CI. - oneOf: - - $ref: '#/components/schemas/CIAppPipelineEventFinishedPipeline' - - $ref: '#/components/schemas/CIAppPipelineEventInProgressPipeline' + properties: + end: + description: Time when the pipeline run finished. It cannot be older than 18 hours in the past from the current time. The time format must be RFC3339. + example: '2023-05-31T15:30:00Z' + format: date-time + type: string + error: + $ref: '#/components/schemas/CIAppCIError' + git: + $ref: '#/components/schemas/CIAppGitInfo' + is_manual: + description: Whether or not the pipeline was triggered manually by the user. + example: false + nullable: true + type: boolean + is_resumed: + description: Whether or not the pipeline was resumed after being blocked. + example: false + nullable: true + type: boolean + level: + $ref: '#/components/schemas/CIAppPipelineEventPipelineLevel' + metrics: + $ref: '#/components/schemas/CIAppPipelineEventMetrics' + name: + description: Name of the pipeline. All pipeline runs for the builds should have the same name. + example: Deploy to AWS + type: string + node: + $ref: '#/components/schemas/CIAppHostInfo' + parameters: + $ref: '#/components/schemas/CIAppPipelineEventParameters' + parent_pipeline: + $ref: '#/components/schemas/CIAppPipelineEventParentPipeline' + partial_retry: + description: |- + Whether or not the pipeline was a partial retry of a previous attempt. A partial retry is one + which only runs a subset of the original jobs. + example: false + type: boolean + pipeline_id: + description: |- + Any ID used in the provider to identify the pipeline run even if it is not unique across retries. + If the `pipeline_id` is unique, then both `unique_id` and `pipeline_id` can be set to the same value. + example: '#023' + type: string + previous_attempt: + $ref: '#/components/schemas/CIAppPipelineEventPreviousPipeline' + queue_time: + description: The queue time in milliseconds, if applicable. + example: 1004 + format: int64 + minimum: 0 + nullable: true + type: integer + start: + description: Time when the pipeline run started (it should not include any queue time). The time format must be RFC3339. + example: '2023-05-31T15:30:00Z' + format: date-time + type: string + status: + $ref: '#/components/schemas/CIAppPipelineEventPipelineStatus' + tags: + $ref: '#/components/schemas/CIAppPipelineEventTags' + unique_id: + description: |- + UUID of the pipeline run. The ID has to be unique across retries and pipelines, + including partial retries. + example: 3eacb6f3-ff04-4e10-8a9c-46e6d054024a + type: string + url: + description: The URL to look at the pipeline in the CI provider UI. + example: https://my-ci-provider.example/pipelines/my-pipeline/run/1 + type: string + required: + - level + - unique_id + - name + - url + - start + - end + - status + - partial_retry + type: object CIAppPipelineEventStage: description: Details of a CI stage. properties: @@ -2899,9 +11205,7 @@ components: git: $ref: '#/components/schemas/CIAppGitInfo' id: - description: >- - UUID for the stage. It has to be unique at least in the pipeline - scope. + description: UUID for the stage. It has to be unique at least in the pipeline scope. example: 562bdbbb-7cab-48c8-851c-b24ca14628bf type: string level: @@ -2932,9 +11236,7 @@ components: nullable: true type: integer start: - description: >- - Time when the stage run started (it should not include any queue - time). The time format must be RFC3339. + description: Time when the stage run started (it should not include any queue time). The time format must be RFC3339. example: '2023-05-31T15:30:00Z' format: date-time type: string @@ -2975,9 +11277,7 @@ components: git: $ref: '#/components/schemas/CIAppGitInfo' id: - description: >- - The UUID for the job. It has to be unique within each pipeline - execution. + description: The UUID for the job. It has to be unique within each pipeline execution. example: c865bad4-de82-44b8-ade7-2c987528eb54 type: string level: @@ -3016,9 +11316,9 @@ components: nullable: true type: string start: - description: >- - Time when the job run instance started (it should not include any - queue time). The time format must be RFC3339. + description: |- + Time when the job run instance started (it should not include any queue time). + The time format must be RFC3339. example: '2023-05-31T15:30:00Z' format: date-time type: string @@ -3054,9 +11354,7 @@ components: git: $ref: '#/components/schemas/CIAppGitInfo' id: - description: >- - UUID for the step. It has to be unique within each pipeline - execution. + description: UUID for the step. It has to be unique within each pipeline execution. example: c2d517a8-4f3a-4b41-b4ae-69df0c864c79 type: string job_id: @@ -3108,40 +11406,172 @@ components: description: The URL to look at the step in the CI provider UI. nullable: true type: string - required: - - level - - id - - name - - pipeline_unique_id - - pipeline_name - - start - - end - - status + required: + - level + - id + - name + - pipeline_unique_id + - pipeline_name + - start + - end + - status + type: object + CIAppAggregateBucketValueSingleString: + description: A single string value. + type: string + CIAppAggregateBucketValueSingleNumber: + description: A single number value. + format: double + type: number + CIAppAggregateBucketValueTimeseries: + description: A timeseries array. + items: + $ref: '#/components/schemas/CIAppAggregateBucketValueTimeseriesPoint' + type: array + x-generate-alias-as-model: true + TestOptimizationFlakyTestsManagementPoliciesDisabledStatus: + description: |- + Test status that the disable policy applies to. + Must be either `active` or `quarantined`. + enum: + - active + - quarantined + example: active + type: string + x-enum-varnames: + - ACTIVE + - QUARANTINED + DeploymentGatesMonitorRule: + description: A monitor rule to evaluate as part of a deployment gate evaluation. + properties: + dry_run: + description: Rule-level dry run. When enabled, the rule is evaluated normally but always returns `pass`. The real result is visible in the Datadog UI. + example: false + type: boolean + name: + description: Human-readable name for this rule. + example: error rate monitors + type: string + options: + $ref: '#/components/schemas/DeploymentGatesMonitorRuleOptions' + type: + $ref: '#/components/schemas/DeploymentGatesMonitorRuleType' + required: + - type + - name + type: object + DeploymentGatesFDDRule: + description: A faulty deployment detection rule to evaluate as part of a deployment gate evaluation. + properties: + dry_run: + description: Rule-level dry run. When enabled, the rule is evaluated normally but it always returns `pass`. The real result is visible in the Datadog UI. + example: false + type: boolean + name: + description: Human-readable name for this rule. + example: apm faulty deployment + type: string + options: + $ref: '#/components/schemas/DeploymentGatesFDDRuleOptions' + type: + $ref: '#/components/schemas/DeploymentGatesFDDRuleType' + required: + - type + - name + type: object + ConditionOperator: + description: The operator used in a targeting condition. + enum: + - LT + - LTE + - GT + - GTE + - MATCHES + - NOT_MATCHES + - ONE_OF + - NOT_ONE_OF + - IS_NULL + - EQUALS + example: ONE_OF + type: string + x-enum-varnames: + - LT + - LTE + - GT + - GTE + - MATCHES + - NOT_MATCHES + - ONE_OF + - NOT_ONE_OF + - IS_NULL + - EQUALS + FlakyTestHistoryPolicyMetaConfig: + description: Configuration parameters of the policy that triggered this status change. + properties: + branches: + description: The branches considered by the policy. + example: + - main + items: + type: string + nullable: true + type: array + days_active: + description: The number of days a test must have been active for the policy to trigger. + example: 30 + format: int32 + maximum: 2147483647 + nullable: true + type: integer + failure_rate: + description: The failure rate threshold for the policy to trigger. + example: 0.7 + format: double + maximum: 1 + minimum: 0 + nullable: true + type: number + forget_branches: + description: Branches excluded from the policy evaluation. + example: + - release + items: + type: string + nullable: true + type: array + required_runs: + description: The minimum number of test runs required for the policy to trigger. + example: 100 + format: int32 + maximum: 2147483647 + nullable: true + type: integer + state: + description: The target state the policy transitions the test from. + example: quarantined + nullable: true + type: string + test_services: + description: Test services excluded from the policy evaluation. + example: + - my-service + items: + type: string + nullable: true + type: array type: object - CIAppAggregateBucketValueSingleString: - description: A single string value. - type: string - CIAppAggregateBucketValueSingleNumber: - description: A single number value. - format: double - type: number - CIAppAggregateBucketValueTimeseries: - description: A timeseries array. - items: - $ref: '#/components/schemas/CIAppAggregateBucketValueTimeseriesPoint' - type: array - x-generate-alias-as-model: true AnnotationDisplay: - description: The definition of `AnnotationDisplay` object. + description: The annotation's position and size on the workflow canvas. properties: bounds: $ref: '#/components/schemas/AnnotationDisplayBounds' type: object AnnotationMarkdownTextAnnotation: - description: The definition of `AnnotationMarkdownTextAnnotation` object. + description: Markdown content displayed in an annotation. properties: text: - description: The `markdownTextAnnotation` `text`. + description: The annotation's Markdown content. + maxLength: 3000 type: string type: object ConnectionGroup: @@ -3160,6 +11590,7 @@ components: example: - '' items: + description: A tag string in `key:value` format. type: string type: array required: @@ -3193,6 +11624,11 @@ components: InputSchemaParameters: description: The definition of `InputSchemaParameters` object. properties: + allowExtraValues: + description: The `InputSchemaParameters` `allowExtraValues`. + type: boolean + allowedValues: + description: The `InputSchemaParameters` `allowedValues`. defaultValue: description: The `InputSchemaParameters` `defaultValue`. description: @@ -3204,6 +11640,7 @@ components: name: description: The `InputSchemaParameters` `name`. example: '' + minLength: 1 type: string type: $ref: '#/components/schemas/InputSchemaParametersType' @@ -3235,6 +11672,7 @@ components: - type type: object CompletionGate: + additionalProperties: false description: Used to create conditions before running subsequent actions. properties: completionCondition: @@ -3246,12 +11684,15 @@ components: - retryStrategy type: object StepDisplay: - description: The definition of `StepDisplay` object. + description: |- + The position of a step on the workflow canvas. Omit `display` from every step to use + automatic layout, or provide it for every step to preserve a manual layout. properties: bounds: $ref: '#/components/schemas/StepDisplayBounds' type: object ErrorHandler: + additionalProperties: false description: Used to handle errors in an action. properties: fallbackStepName: @@ -3269,11 +11710,13 @@ components: properties: branchName: description: The `OutboundEdge` `branchName`. - example: '' + example: main + minLength: 1 type: string nextStepName: description: The `OutboundEdge` `nextStepName`. - example: '' + example: Step2 + minLength: 1 type: string required: - nextStepName @@ -3285,6 +11728,7 @@ components: name: description: The `Parameter` `name`. example: '' + minLength: 1 type: string value: description: The `Parameter` `value`. @@ -3293,6 +11737,7 @@ components: - value type: object ReadinessGate: + additionalProperties: false description: Used to merge multiple branches into a single branch. properties: thresholdType: @@ -3300,6 +11745,16 @@ components: required: - thresholdType type: object + AgentTriggerWrapper: + description: Schema for an agent-based trigger. + properties: + agentTrigger: + $ref: '#/components/schemas/AgentTrigger' + startStepNames: + $ref: '#/components/schemas/StartStepNames' + required: + - agentTrigger + type: object APITriggerWrapper: description: Schema for an API-based trigger. properties: @@ -3314,8 +11769,8 @@ components: description: Schema for an App-based trigger. properties: appTrigger: - description: Trigger a workflow from an App. - type: object + description: Trigger a workflow from an App. (opaque JSON object) + type: string startStepNames: $ref: '#/components/schemas/StartStepNames' required: @@ -3335,8 +11790,8 @@ components: description: Schema for a Change Event-based trigger. properties: changeEventTrigger: - description: Trigger a workflow from a Change Event. - type: object + description: Trigger a workflow from a Change Event. (opaque JSON object) + type: string startStepNames: $ref: '#/components/schemas/StartStepNames' required: @@ -3346,24 +11801,44 @@ components: description: Schema for a Database Monitoring-based trigger. properties: databaseMonitoringTrigger: - description: Trigger a workflow from Database Monitoring. - type: object + description: Trigger a workflow from Database Monitoring. (opaque JSON object) + type: string startStepNames: $ref: '#/components/schemas/StartStepNames' required: - databaseMonitoringTrigger type: object + DatastoreTriggerWrapper: + description: Schema for a Datastore-based trigger. + properties: + datastoreTrigger: + $ref: '#/components/schemas/DatastoreTrigger' + startStepNames: + $ref: '#/components/schemas/StartStepNames' + required: + - datastoreTrigger + type: object DashboardTriggerWrapper: description: Schema for a Dashboard-based trigger. properties: dashboardTrigger: - description: Trigger a workflow from a Dashboard. - type: object + description: Trigger a workflow from a Dashboard. (opaque JSON object) + type: string startStepNames: $ref: '#/components/schemas/StartStepNames' required: - dashboardTrigger type: object + FormTriggerWrapper: + description: Schema for a Form-based trigger. + properties: + formTrigger: + $ref: '#/components/schemas/FormTrigger' + startStepNames: + $ref: '#/components/schemas/StartStepNames' + required: + - formTrigger + type: object GithubWebhookTriggerWrapper: description: Schema for a GitHub webhook-based trigger. properties: @@ -3398,13 +11873,23 @@ components: description: Schema for a Notebook-based trigger. properties: notebookTrigger: - description: Trigger a workflow from a Notebook. - type: object + description: Trigger a workflow from a Notebook. (opaque JSON object) + type: string startStepNames: $ref: '#/components/schemas/StartStepNames' required: - notebookTrigger type: object + OnCallTriggerWrapper: + description: Schema for an On-Call-based trigger. + properties: + onCallTrigger: + $ref: '#/components/schemas/OnCallTrigger' + startStepNames: + $ref: '#/components/schemas/StartStepNames' + required: + - onCallTrigger + type: object ScheduleTriggerWrapper: description: Schema for a Schedule-based trigger. properties: @@ -3429,8 +11914,8 @@ components: description: Schema for a Self Service-based trigger. properties: selfServiceTrigger: - description: Trigger a workflow from Self Service. - type: object + description: Trigger a workflow from Self Service. (opaque JSON object) + type: string startStepNames: $ref: '#/components/schemas/StartStepNames' required: @@ -3440,8 +11925,8 @@ components: description: Schema for a Slack-based trigger. properties: slackTrigger: - description: Trigger a workflow from Slack. The workflow must be published. - type: object + description: Trigger a workflow from Slack. The workflow must be published. (opaque JSON object) + type: string startStepNames: $ref: '#/components/schemas/StartStepNames' required: @@ -3451,8 +11936,8 @@ components: description: Schema for a Software Catalog-based trigger. properties: softwareCatalogTrigger: - description: Trigger a workflow from Software Catalog. - type: object + description: Trigger a workflow from Software Catalog. (opaque JSON object) + type: string startStepNames: $ref: '#/components/schemas/StartStepNames' required: @@ -3464,10 +11949,8 @@ components: startStepNames: $ref: '#/components/schemas/StartStepNames' workflowTrigger: - description: >- - Trigger a workflow from the Datadog UI. Only required if no other - trigger exists. - type: object + description: Trigger a workflow from the Datadog UI. When present, this must be the workflow's only trigger. (opaque JSON object) + type: string required: - workflowTrigger type: object @@ -3483,10 +11966,7 @@ components: description: Details of a finished pipeline. properties: end: - description: >- - Time when the pipeline run finished. It cannot be older than 18 - hours in the past from the current time. The time format must be - RFC3339. + description: Time when the pipeline run finished. It cannot be older than 18 hours in the past from the current time. The time format must be RFC3339. example: '2023-05-31T15:30:00Z' format: date-time type: string @@ -3509,9 +11989,7 @@ components: metrics: $ref: '#/components/schemas/CIAppPipelineEventMetrics' name: - description: >- - Name of the pipeline. All pipeline runs for the builds should have - the same name. + description: Name of the pipeline. All pipeline runs for the builds should have the same name. example: Deploy to AWS type: string node: @@ -3521,20 +11999,15 @@ components: parent_pipeline: $ref: '#/components/schemas/CIAppPipelineEventParentPipeline' partial_retry: - description: >- - Whether or not the pipeline was a partial retry of a previous - attempt. A partial retry is one - + description: |- + Whether or not the pipeline was a partial retry of a previous attempt. A partial retry is one which only runs a subset of the original jobs. example: false type: boolean pipeline_id: - description: >- - Any ID used in the provider to identify the pipeline run even if it - is not unique across retries. - - If the `pipeline_id` is unique, then both `unique_id` and - `pipeline_id` can be set to the same value. + description: |- + Any ID used in the provider to identify the pipeline run even if it is not unique across retries. + If the `pipeline_id` is unique, then both `unique_id` and `pipeline_id` can be set to the same value. example: '#023' type: string previous_attempt: @@ -3547,9 +12020,7 @@ components: nullable: true type: integer start: - description: >- - Time when the pipeline run started (it should not include any queue - time). The time format must be RFC3339. + description: Time when the pipeline run started (it should not include any queue time). The time format must be RFC3339. example: '2023-05-31T15:30:00Z' format: date-time type: string @@ -3558,10 +12029,8 @@ components: tags: $ref: '#/components/schemas/CIAppPipelineEventTags' unique_id: - description: >- - UUID of the pipeline run. The ID has to be unique across retries and - pipelines, - + description: |- + UUID of the pipeline run. The ID has to be unique across retries and pipelines, including partial retries. example: 3eacb6f3-ff04-4e10-8a9c-46e6d054024a type: string @@ -3601,9 +12070,7 @@ components: metrics: $ref: '#/components/schemas/CIAppPipelineEventMetrics' name: - description: >- - Name of the pipeline. All pipeline runs for the builds should have - the same name. + description: Name of the pipeline. All pipeline runs for the builds should have the same name. example: Deploy to AWS type: string node: @@ -3613,20 +12080,15 @@ components: parent_pipeline: $ref: '#/components/schemas/CIAppPipelineEventParentPipeline' partial_retry: - description: >- - Whether or not the pipeline was a partial retry of a previous - attempt. A partial retry is one - + description: |- + Whether or not the pipeline was a partial retry of a previous attempt. A partial retry is one which only runs a subset of the original jobs. example: false type: boolean pipeline_id: - description: >- - Any ID used in the provider to identify the pipeline run even if it - is not unique across retries. - - If the `pipeline_id` is unique, then both `unique_id` and - `pipeline_id` can be set to the same value. + description: |- + Any ID used in the provider to identify the pipeline run even if it is not unique across retries. + If the `pipeline_id` is unique, then both `unique_id` and `pipeline_id` can be set to the same value. example: '#023' type: string previous_attempt: @@ -3639,9 +12101,7 @@ components: nullable: true type: integer start: - description: >- - Time when the pipeline run started (it should not include any queue - time). The time format must be RFC3339. + description: Time when the pipeline run started (it should not include any queue time). The time format must be RFC3339. example: '2023-05-31T15:30:00Z' format: date-time type: string @@ -3650,9 +12110,7 @@ components: tags: $ref: '#/components/schemas/CIAppPipelineEventTags' unique_id: - description: >- - UUID of the pipeline run. The ID has to be the same as the finished - pipeline. + description: UUID of the pipeline run. The ID has to be the same as the finished pipeline. example: 3eacb6f3-ff04-4e10-8a9c-46e6d054024a type: string url: @@ -3690,10 +12148,8 @@ components: type: string type: object CIAppGitInfo: - description: >- - If pipelines are triggered due to actions to a Git repository, then all - payloads must contain this. - + description: |- + If pipelines are triggered due to actions to a Git repository, then all payloads must contain this. Note that either `tag` or `branch` has to be provided, but not both. nullable: true properties: @@ -3769,9 +12225,7 @@ components: x-enum-varnames: - STAGE CIAppPipelineEventMetrics: - description: >- - A list of user-defined metrics. The metrics must follow the `key:value` - pattern and the value must be numeric. + description: A list of user-defined metrics. The metrics must follow the `key:value` pattern and the value must be numeric. example: - bundle_size:370 - build_time:50021 @@ -3781,9 +12235,7 @@ components: nullable: true type: array CIAppHostInfo: - description: >- - Contains information of the host running the pipeline, stage, job, or - step. + description: Contains information of the host running the pipeline, stage, job, or step. nullable: true properties: hostname: @@ -3796,75 +12248,217 @@ components: - ubuntu-18.04 - n2.large items: + description: A label used to select or identify the node. type: string type: array name: description: Name for the host. type: string - workspace: - description: The path where the code is checked out. - example: /home/workspace/code/my-repo + workspace: + description: The path where the code is checked out. + example: /home/workspace/code/my-repo + type: string + type: object + CIAppPipelineEventParameters: + additionalProperties: + type: string + description: A map of key-value parameters or environment variables that were defined for the pipeline. + example: + LOG_LEVEL: debug + nullable: true + type: object + CIAppPipelineEventStageStatus: + description: The final status of the stage. + enum: + - success + - error + - canceled + - skipped + example: success + type: string + x-enum-varnames: + - SUCCESS + - ERROR + - CANCELED + - SKIPPED + CIAppPipelineEventTags: + description: A list of user-defined tags. The tags must follow the `key:value` pattern. + example: + - team:backend + - type:deployment + items: + description: Tags in the form of `key:value`. + type: string + nullable: true + type: array + CIAppPipelineEventFinishedJob: + description: Details of a finished CI job. + properties: + dependencies: + description: A list of job IDs that this job depends on. + example: + - f7e6a006-a029-46c3-b0cc-742c9d7d363b + - c8a69849-3c3b-4721-8b33-3e8ec2df1ebe + items: + description: A list of job IDs. + type: string + nullable: true + type: array + end: + description: Time when the job run finished. The time format must be RFC3339. + example: '2023-05-31T15:30:00Z' + format: date-time + type: string + error: + $ref: '#/components/schemas/CIAppCIError' + git: + $ref: '#/components/schemas/CIAppGitInfo' + id: + description: The UUID for the job. It has to be unique within each pipeline execution. + example: c865bad4-de82-44b8-ade7-2c987528eb54 + type: string + level: + $ref: '#/components/schemas/CIAppPipelineEventJobLevel' + metrics: + $ref: '#/components/schemas/CIAppPipelineEventMetrics' + name: + description: The name for the job. + example: test + type: string + node: + $ref: '#/components/schemas/CIAppHostInfo' + parameters: + $ref: '#/components/schemas/CIAppPipelineEventParameters' + pipeline_name: + description: The parent pipeline name. + example: Build + type: string + pipeline_unique_id: + description: The parent pipeline UUID. + example: 76b572af-a078-42b2-a08a-cc28f98b944f + type: string + queue_time: + description: The queue time in milliseconds, if applicable. + example: 1004 + format: int64 + minimum: 0 + nullable: true + type: integer + stage_id: + description: The parent stage UUID (if applicable). + nullable: true + type: string + stage_name: + description: The parent stage name (if applicable). + nullable: true + type: string + start: + description: |- + Time when the job run instance started (it should not include any queue time). + The time format must be RFC3339. + example: '2023-05-31T15:30:00Z' + format: date-time + type: string + status: + $ref: '#/components/schemas/CIAppPipelineEventJobStatus' + tags: + $ref: '#/components/schemas/CIAppPipelineEventTags' + url: + description: The URL to look at the job in the CI provider UI. + example: https://ci-platform.com/job/your-job-name/build/123 + type: string + required: + - level + - id + - name + - pipeline_unique_id + - pipeline_name + - start + - end + - status + - url + type: object + CIAppPipelineEventInProgressJob: + description: Details of a running CI job. + properties: + dependencies: + description: A list of job IDs that this job depends on. + example: + - f7e6a006-a029-46c3-b0cc-742c9d7d363b + - c8a69849-3c3b-4721-8b33-3e8ec2df1ebe + items: + description: A list of job IDs. + type: string + nullable: true + type: array + error: + $ref: '#/components/schemas/CIAppCIError' + git: + $ref: '#/components/schemas/CIAppGitInfo' + id: + description: The UUID for the job. It must match the ID of the corresponding finished job. + example: c865bad4-de82-44b8-ade7-2c987528eb54 + type: string + level: + $ref: '#/components/schemas/CIAppPipelineEventJobLevel' + metrics: + $ref: '#/components/schemas/CIAppPipelineEventMetrics' + name: + description: The name for the job. + example: test + type: string + node: + $ref: '#/components/schemas/CIAppHostInfo' + parameters: + $ref: '#/components/schemas/CIAppPipelineEventParameters' + pipeline_name: + description: The parent pipeline name. + example: Build + type: string + pipeline_unique_id: + description: The parent pipeline UUID. + example: 76b572af-a078-42b2-a08a-cc28f98b944f + type: string + queue_time: + description: The queue time in milliseconds, if applicable. + example: 1004 + format: int64 + minimum: 0 + nullable: true + type: integer + stage_id: + description: The parent stage UUID (if applicable). + nullable: true + type: string + stage_name: + description: The parent stage name (if applicable). + nullable: true + type: string + start: + description: |- + Time when the job run instance started (it should not include any queue time). + The time format must be RFC3339. + example: '2023-05-31T15:30:00Z' + format: date-time type: string + status: + $ref: '#/components/schemas/CIAppPipelineEventJobInProgressStatus' + tags: + $ref: '#/components/schemas/CIAppPipelineEventTags' + url: + description: The URL to look at the job in the CI provider UI. + example: https://ci-platform.com/job/your-job-name/build/123 + type: string + required: + - level + - id + - name + - pipeline_unique_id + - pipeline_name + - start + - status + - url type: object - CIAppPipelineEventParameters: - additionalProperties: - type: string - description: >- - A map of key-value parameters or environment variables that were defined - for the pipeline. - example: - LOG_LEVEL: debug - nullable: true - type: object - CIAppPipelineEventStageStatus: - description: The final status of the stage. - enum: - - success - - error - - canceled - - skipped - example: success - type: string - x-enum-varnames: - - SUCCESS - - ERROR - - CANCELED - - SKIPPED - CIAppPipelineEventTags: - description: >- - A list of user-defined tags. The tags must follow the `key:value` - pattern. - example: - - team:backend - - type:deployment - items: - description: Tags in the form of `key:value`. - type: string - nullable: true - type: array - CIAppPipelineEventJobLevel: - default: job - description: Used to distinguish between pipelines, stages, jobs, and steps. - enum: - - job - example: job - type: string - x-enum-varnames: - - JOB - CIAppPipelineEventJobStatus: - description: The final status of the job. - enum: - - success - - error - - canceled - - skipped - example: success - type: string - x-enum-varnames: - - SUCCESS - - ERROR - - CANCELED - - SKIPPED CIAppPipelineEventStepLevel: default: step description: Used to distinguish between pipelines, stages, jobs and steps. @@ -3898,23 +12492,79 @@ components: format: double type: number type: object + DeploymentGatesMonitorRuleOptions: + description: Options for a `monitor` rule. + properties: + duration: + description: Evaluation window in seconds. Maximum 7200 (2 hours). + example: 300 + format: int64 + maximum: 7200 + type: integer + query: + description: Monitor search query. + example: service:transaction-backend env:production + type: string + required: + - query + type: object + DeploymentGatesMonitorRuleType: + description: The type identifier for a monitor rule. + enum: + - monitor + example: monitor + type: string + x-enum-varnames: + - MONITOR + DeploymentGatesFDDRuleOptions: + description: Options for a `faulty_deployment_detection` rule. + properties: + allowed_resources: + description: APM resource names to include in analysis. Mutually exclusive with `excluded_resources`. + example: + - GET /healthcheck + items: + type: string + type: array + duration: + description: Evaluation window in seconds. Maximum 7200 (2 hours). + example: 900 + format: int64 + maximum: 7200 + type: integer + excluded_resources: + description: APM resource names to exclude from analysis. + example: + - GET /healthcheck + items: + type: string + type: array + type: object + DeploymentGatesFDDRuleType: + description: The type identifier for a faulty deployment detection rule. + enum: + - faulty_deployment_detection + example: faulty_deployment_detection + type: string + x-enum-varnames: + - FAULTY_DEPLOYMENT_DETECTION AnnotationDisplayBounds: - description: The definition of `AnnotationDisplayBounds` object. + description: Canvas coordinates and dimensions for an annotation on the workflow canvas. properties: height: - description: The `bounds` `height`. + description: The annotation's height on the canvas. format: double type: number width: - description: The `bounds` `width`. + description: The annotation's width on the canvas. format: double type: number x: - description: The `bounds` `x`. + description: The annotation's horizontal canvas coordinate. format: double type: number 'y': - description: The `bounds` `y`. + description: The annotation's vertical canvas coordinate. format: double type: number type: object @@ -3963,6 +12613,7 @@ components: - ARRAY_BOOLEAN - ARRAY_OBJECT CompletionCondition: + additionalProperties: false description: The definition of `CompletionCondition` object. properties: operand1: @@ -3976,6 +12627,7 @@ components: - operator type: object RetryStrategy: + additionalProperties: false description: The definition of `RetryStrategy` object. properties: kind: @@ -3984,6 +12636,7 @@ components: $ref: '#/components/schemas/RetryStrategyLinear' required: - kind + - linear type: object StepDisplayBounds: description: The definition of `StepDisplayBounds` object. @@ -4007,52 +12660,67 @@ components: x-enum-varnames: - ANY - ALL - APITrigger: - description: Trigger a workflow from an API request. The workflow must be published. + AgentTrigger: + description: Trigger a workflow from an agent via the MCP execute tool. Workflow can be executed from Bits Chat, Bits Agent Builder, Claude Code, Codex, Cursor, and any other coding agent using the Datadog MCP. properties: rateLimit: $ref: '#/components/schemas/TriggerRateLimit' type: object StartStepNames: - description: A list of steps that run first after a trigger fires. + description: Names of existing workflow steps that run first after a trigger fires. example: - '' items: description: The `StartStepNames` `items`. + minLength: 1 type: string type: array + APITrigger: + description: Trigger a workflow from an API request. The workflow must be published. + properties: + rateLimit: + $ref: '#/components/schemas/TriggerRateLimit' + type: object CaseTrigger: - description: >- - Trigger a workflow from a Case. For automatic triggering a handle must - be configured and the workflow must be published. + description: Trigger a workflow from a Case. For automatic triggering a handle must be configured and the workflow must be published. + properties: + rateLimit: + $ref: '#/components/schemas/TriggerRateLimit' + type: object + DatastoreTrigger: + description: Trigger a workflow from a Datastore. For automatic triggering a handle must be configured and the workflow must be published. properties: rateLimit: $ref: '#/components/schemas/TriggerRateLimit' type: object + FormTrigger: + description: Trigger a workflow from a Form. + properties: + formId: + description: The form UUID. + example: '' + type: string + type: object GithubWebhookTrigger: - description: >- - Trigger a workflow from a GitHub webhook. To trigger a workflow from - GitHub, you must set a `webhookSecret`. In your GitHub Webhook Settings, - set the Payload URL to - "base_url"/api/v2/workflows/"workflow_id"/webhook?orgId="org_id", select - application/json for the content type, and be highly recommend enabling - SSL verification for security. The workflow must be published. + description: Trigger a workflow from a GitHub webhook. To trigger a workflow from GitHub, you must set a `webhookSecret`. In your GitHub Webhook Settings, set the Payload URL to "base_url"/api/v2/workflows/"workflow_id"/webhook?orgId="org_id", select application/json for the content type, and be highly recommend enabling SSL verification for security. The workflow must be published. properties: rateLimit: $ref: '#/components/schemas/TriggerRateLimit' type: object IncidentTrigger: - description: >- - Trigger a workflow from an Incident. For automatic triggering a handle - must be configured and the workflow must be published. + description: Trigger a workflow from an Incident. For automatic triggering a handle must be configured and the workflow must be published. properties: rateLimit: $ref: '#/components/schemas/TriggerRateLimit' type: object MonitorTrigger: - description: >- - Trigger a workflow from a Monitor. For automatic triggering a handle - must be configured and the workflow must be published. + description: Trigger a workflow from a Monitor. For automatic triggering a handle must be configured and the workflow must be published. + properties: + rateLimit: + $ref: '#/components/schemas/TriggerRateLimit' + type: object + OnCallTrigger: + description: Trigger a workflow from an On-Call Page or On-Call Handover. For automatic triggering a handle must be configured and the workflow must be published. properties: rateLimit: $ref: '#/components/schemas/TriggerRateLimit' @@ -4060,6 +12728,8 @@ components: ScheduleTrigger: description: Trigger a workflow from a Schedule. The workflow must be published. properties: + overlapBehavior: + $ref: '#/components/schemas/ScheduleTriggerOverlapBehavior' rruleExpression: description: Recurrence rule expression for scheduling. example: '' @@ -4068,10 +12738,7 @@ components: - rruleExpression type: object SecurityTrigger: - description: >- - Trigger a workflow from a Security Signal or Finding. For automatic - triggering a handle must be configured and the workflow must be - published. + description: Trigger a workflow from a Security Signal or Finding. For automatic triggering a handle must be configured and the workflow must be published. properties: rateLimit: $ref: '#/components/schemas/TriggerRateLimit' @@ -4086,9 +12753,7 @@ components: x-enum-varnames: - PIPELINE CIAppPipelineEventParentPipeline: - description: >- - If the pipeline is triggered as child of another pipeline, this should - contain the details of the parent pipeline. + description: If the pipeline is triggered as child of another pipeline, this should contain the details of the parent pipeline. nullable: true properties: id: @@ -4103,9 +12768,7 @@ components: - id type: object CIAppPipelineEventPreviousPipeline: - description: >- - If the pipeline is a retry, this should contain the details of the - previous attempt. + description: If the pipeline is a retry, this should contain the details of the previous attempt. nullable: true properties: id: @@ -4144,9 +12807,7 @@ components: x-enum-varnames: - RUNNING CIAppCIErrorDomain: - description: >- - Error category used to differentiate between issues related to the - developer or provider environments. + description: Error category used to differentiate between issues related to the developer or provider environments. enum: - provider - user @@ -4156,6 +12817,37 @@ components: - PROVIDER - USER - UNKNOWN + CIAppPipelineEventJobLevel: + default: job + description: Used to distinguish between pipelines, stages, jobs, and steps. + enum: + - job + example: job + type: string + x-enum-varnames: + - JOB + CIAppPipelineEventJobStatus: + description: The final status of the job. + enum: + - success + - error + - canceled + - skipped + example: success + type: string + x-enum-varnames: + - SUCCESS + - ERROR + - CANCELED + - SKIPPED + CIAppPipelineEventJobInProgressStatus: + description: The in-progress status of the job. + enum: + - running + example: running + type: string + x-enum-varnames: + - RUNNING CompletionConditionOperator: description: The definition of `CompletionConditionOperator` object. enum: @@ -4195,19 +12887,21 @@ components: x-enum-varnames: - RETRY_STRATEGY_LINEAR RetryStrategyLinear: + additionalProperties: false description: The definition of `RetryStrategyLinear` object. properties: interval: - description: >- - The `RetryStrategyLinear` `interval`. The expected format is the - number of seconds ending with an s. For example, 1 day is 86400s + description: The `RetryStrategyLinear` `interval`. The expected format is the number of seconds ending with an s. For example, 1 day is 86400s example: '' + pattern: ^[1-9][0-9]*s$ type: string maxRetries: description: The `RetryStrategyLinear` `maxRetries`. example: 0 - format: double - type: number + format: int32 + maximum: 2147483647 + minimum: 0 + type: integer required: - interval - maxRetries @@ -4220,11 +12914,20 @@ components: format: int64 type: integer interval: - description: >- - The `TriggerRateLimit` `interval`. The expected format is the number - of seconds ending with an s. For example, 1 day is 86400s + description: The `TriggerRateLimit` `interval`. The expected format is the number of seconds ending with an s. For example, 1 day is 86400s type: string type: object + ScheduleTriggerOverlapBehavior: + default: EXCLUSIVE_RUN + description: Controls whether a scheduled workflow run may start while another instance is still running. + enum: + - EXCLUSIVE_RUN + - OVERLAP_ALLOWED + example: EXCLUSIVE_RUN + type: string + x-enum-varnames: + - EXCLUSIVE_RUN + - OVERLAP_ALLOWED responses: BadRequestResponse: content: @@ -4238,25 +12941,91 @@ components: schema: $ref: '#/components/schemas/APIErrorResponse' description: Not Authorized + NotFoundResponse: + content: + application/json: + schema: + $ref: '#/components/schemas/APIErrorResponse' + description: Not Found TooManyRequestsResponse: content: application/json: schema: $ref: '#/components/schemas/APIErrorResponse' description: Too many requests + ConflictResponse: + content: + application/json: + schema: + $ref: '#/components/schemas/APIErrorResponse' + description: Conflict + HTTPCDGatesBadRequestResponse: + content: + application/json: + schema: + $ref: '#/components/schemas/HTTPCDGatesBadRequestResponse' + description: Bad request. + UnauthorizedResponse: + content: + application/json: + schema: + $ref: '#/components/schemas/APIErrorResponse' + description: Unauthorized ForbiddenResponse: content: application/json: schema: $ref: '#/components/schemas/APIErrorResponse' description: Forbidden - NotFoundResponse: + HTTPCDGatesNotFoundResponse: content: application/json: schema: - $ref: '#/components/schemas/APIErrorResponse' - description: Not Found + $ref: '#/components/schemas/HTTPCDGatesNotFoundResponse' + description: Deployment gate not found. + HTTPCDRulesNotFoundResponse: + content: + application/json: + schema: + $ref: '#/components/schemas/HTTPCDRulesNotFoundResponse' + description: Deployment rule not found. parameters: + environment_id: + description: The ID of the environment. + in: path + name: environment_id + required: true + schema: + example: 550e8400-e29b-41d4-a716-446655440001 + format: uuid + type: string + exposure_schedule_id: + description: The ID of the exposure schedule. + in: path + name: exposure_schedule_id + required: true + schema: + example: 550e8400-e29b-41d4-a716-446655440010 + format: uuid + type: string + feature_flag_id: + description: The ID of the feature flag. + in: path + name: feature_flag_id + required: true + schema: + example: 550e8400-e29b-41d4-a716-446655440000 + format: uuid + type: string + variant_id: + description: The ID of the variant. + in: path + name: variant_id + required: true + schema: + example: 550e8400-e29b-41d4-a716-446655440002 + format: uuid + type: string WorkflowId: description: The ID of the workflow. in: path @@ -4265,7 +13034,7 @@ components: schema: type: string PageSize: - description: Size for a given page. The maximum allowed value is 100. + description: Number of items to return per page. The maximum allowed value is 100. in: query name: page[size] required: false @@ -4292,45 +13061,184 @@ components: schema: type: string x-stackQL-resources: + ci_github_accounts: + id: datadog.software_delivery.ci_github_accounts + name: ci_github_accounts + title: Ci Github Accounts + methods: + list_ciapp_git_hub_accounts: + operation: + $ref: '#/paths/~1api~1v2~1ci~1github~1accounts/get' + response: + mediaType: application/json + openAPIDocKey: '200' + objectKey: $.data + request: + nativeCasing: camel + update_ciapp_git_hub_account: + config: + requestBodyTranslate: + algorithm: naive + operation: + $ref: '#/paths/~1api~1v2~1ci~1github~1accounts/patch' + response: + mediaType: application/json + openAPIDocKey: '200' + request: + nativeCasing: camel + sqlVerbs: + select: + - $ref: '#/components/x-stackQL-resources/ci_github_accounts/methods/list_ciapp_git_hub_accounts' + insert: [] + update: + - $ref: '#/components/x-stackQL-resources/ci_github_accounts/methods/update_ciapp_git_hub_account' + delete: [] + replace: [] ci_app_pipeline_events: id: datadog.software_delivery.ci_app_pipeline_events name: ci_app_pipeline_events title: Ci App Pipeline Events methods: create_ciapp_pipeline_event: + config: + requestBodyTranslate: + algorithm: naive operation: $ref: '#/paths/~1api~1v2~1ci~1pipeline/post' response: mediaType: application/json openAPIDocKey: '202' + request: + nativeCasing: camel aggregate_ciapp_pipeline_events: + config: + requestBodyTranslate: + algorithm: naive + operation: + $ref: '#/paths/~1api~1v2~1ci~1pipelines~1analytics~1aggregate/post' + response: + mediaType: application/json + openAPIDocKey: '200' + request: + nativeCasing: camel + list_ciapp_pipeline_events: + operation: + $ref: '#/paths/~1api~1v2~1ci~1pipelines~1events/get' + response: + mediaType: application/json + openAPIDocKey: '200' + objectKey: $.data + request: + nativeCasing: camel + config: + pagination: + requestToken: + key: page[cursor] + location: query + responseToken: + key: $.meta.page.after + location: body + queryParamPushdown: + top: + paramName: page[limit] + maxValue: 1000 + search_ciapp_pipeline_events: + config: + requestBodyTranslate: + algorithm: naive + operation: + $ref: '#/paths/~1api~1v2~1ci~1pipelines~1events~1search/post' + response: + mediaType: application/json + openAPIDocKey: '200' + request: + nativeCasing: camel + sqlVerbs: + select: + - $ref: '#/components/x-stackQL-resources/ci_app_pipeline_events/methods/list_ciapp_pipeline_events' + insert: + - $ref: '#/components/x-stackQL-resources/ci_app_pipeline_events/methods/create_ciapp_pipeline_event' + update: [] + delete: [] + replace: [] + ci_test_optimization_setting_policies: + id: datadog.software_delivery.ci_test_optimization_setting_policies + name: ci_test_optimization_setting_policies + title: Ci Test Optimization Setting Policies + methods: + update_flaky_tests_management_policies: + config: + requestBodyTranslate: + algorithm: naive + operation: + $ref: '#/paths/~1api~1v2~1ci~1test-optimization~1settings~1policies/patch' + response: + mediaType: application/json + openAPIDocKey: '200' + request: + nativeCasing: camel + get_flaky_tests_management_policies: + config: + requestBodyTranslate: + algorithm: naive + operation: + $ref: '#/paths/~1api~1v2~1ci~1test-optimization~1settings~1policies/post' + response: + mediaType: application/json + openAPIDocKey: '200' + request: + nativeCasing: camel + sqlVerbs: + select: [] + insert: + - $ref: '#/components/x-stackQL-resources/ci_test_optimization_setting_policies/methods/get_flaky_tests_management_policies' + update: + - $ref: '#/components/x-stackQL-resources/ci_test_optimization_setting_policies/methods/update_flaky_tests_management_policies' + delete: [] + replace: [] + ci_test_optimization_setting_services: + id: datadog.software_delivery.ci_test_optimization_setting_services + name: ci_test_optimization_setting_services + title: Ci Test Optimization Setting Services + methods: + delete_test_optimization_service_settings: operation: - $ref: '#/paths/~1api~1v2~1ci~1pipelines~1analytics~1aggregate/post' + $ref: '#/paths/~1api~1v2~1ci~1test-optimization~1settings~1service/delete' response: mediaType: application/json - openAPIDocKey: '200' - list_ciapp_pipeline_events: + openAPIDocKey: '204' + request: + nativeCasing: camel + update_test_optimization_service_settings: + config: + requestBodyTranslate: + algorithm: naive operation: - $ref: '#/paths/~1api~1v2~1ci~1pipelines~1events/get' + $ref: '#/paths/~1api~1v2~1ci~1test-optimization~1settings~1service/patch' response: mediaType: application/json openAPIDocKey: '200' - objectKey: $.data - search_ciapp_pipeline_events: + request: + nativeCasing: camel + get_test_optimization_service_settings: + config: + requestBodyTranslate: + algorithm: naive operation: - $ref: '#/paths/~1api~1v2~1ci~1pipelines~1events~1search/post' + $ref: '#/paths/~1api~1v2~1ci~1test-optimization~1settings~1service/post' response: mediaType: application/json openAPIDocKey: '200' + request: + nativeCasing: camel sqlVerbs: - select: - - $ref: >- - #/components/x-stackQL-resources/ci_app_pipeline_events/methods/list_ciapp_pipeline_events + select: [] insert: - - $ref: >- - #/components/x-stackQL-resources/ci_app_pipeline_events/methods/create_ciapp_pipeline_event - update: [] - delete: [] + - $ref: '#/components/x-stackQL-resources/ci_test_optimization_setting_services/methods/get_test_optimization_service_settings' + update: + - $ref: '#/components/x-stackQL-resources/ci_test_optimization_setting_services/methods/update_test_optimization_service_settings' + delete: + - $ref: '#/components/x-stackQL-resources/ci_test_optimization_setting_services/methods/delete_test_optimization_service_settings' replace: [] ci_app_test_events: id: datadog.software_delivery.ci_app_test_events @@ -4338,11 +13246,16 @@ components: title: Ci App Test Events methods: aggregate_ciapp_test_events: + config: + requestBodyTranslate: + algorithm: naive operation: $ref: '#/paths/~1api~1v2~1ci~1tests~1analytics~1aggregate/post' response: mediaType: application/json openAPIDocKey: '200' + request: + nativeCasing: camel list_ciapp_test_events: operation: $ref: '#/paths/~1api~1v2~1ci~1tests~1events/get' @@ -4350,19 +13263,245 @@ components: mediaType: application/json openAPIDocKey: '200' objectKey: $.data + request: + nativeCasing: camel + config: + pagination: + requestToken: + key: page[cursor] + location: query + responseToken: + key: $.meta.page.after + location: body + queryParamPushdown: + top: + paramName: page[limit] + maxValue: 1000 search_ciapp_test_events: + config: + requestBodyTranslate: + algorithm: naive operation: $ref: '#/paths/~1api~1v2~1ci~1tests~1events~1search/post' response: mediaType: application/json openAPIDocKey: '200' + request: + nativeCasing: camel + sqlVerbs: + select: + - $ref: '#/components/x-stackQL-resources/ci_app_test_events/methods/list_ciapp_test_events' + insert: + - $ref: '#/components/x-stackQL-resources/ci_app_test_events/methods/search_ciapp_test_events' + update: [] + delete: [] + replace: [] + code_coverage_branch_summaries: + id: datadog.software_delivery.code_coverage_branch_summaries + name: code_coverage_branch_summaries + title: Code Coverage Branch Summaries + methods: + get_code_coverage_branch_summary: + config: + requestBodyTranslate: + algorithm: naive + operation: + $ref: '#/paths/~1api~1v2~1code-coverage~1branch~1summary/post' + response: + mediaType: application/json + openAPIDocKey: '200' + request: + nativeCasing: camel + sqlVerbs: + select: [] + insert: [] + update: [] + delete: [] + replace: [] + code_coverage_commit_summaries: + id: datadog.software_delivery.code_coverage_commit_summaries + name: code_coverage_commit_summaries + title: Code Coverage Commit Summaries + methods: + get_code_coverage_commit_summary: + config: + requestBodyTranslate: + algorithm: naive + operation: + $ref: '#/paths/~1api~1v2~1code-coverage~1commit~1summary/post' + response: + mediaType: application/json + openAPIDocKey: '200' + request: + nativeCasing: camel + sqlVerbs: + select: [] + insert: [] + update: [] + delete: [] + replace: [] + deployment_gates: + id: datadog.software_delivery.deployment_gates + name: deployment_gates + title: Deployment Gates + methods: + list_deployment_gates: + operation: + $ref: '#/paths/~1api~1v2~1deployment_gates/get' + response: + mediaType: application/json + openAPIDocKey: '200' + objectKey: $.data + request: + nativeCasing: camel + config: + queryParamPushdown: + top: + paramName: page[size] + maxValue: 1000 + create_deployment_gate: + config: + requestBodyTranslate: + algorithm: naive + operation: + $ref: '#/paths/~1api~1v2~1deployment_gates/post' + response: + mediaType: application/json + openAPIDocKey: '200' + request: + nativeCasing: camel + delete_deployment_gate: + operation: + $ref: '#/paths/~1api~1v2~1deployment_gates~1{id}/delete' + response: + mediaType: application/json + openAPIDocKey: '204' + request: + nativeCasing: camel + get_deployment_gate: + operation: + $ref: '#/paths/~1api~1v2~1deployment_gates~1{id}/get' + response: + mediaType: application/json + openAPIDocKey: '200' + objectKey: $.data + request: + nativeCasing: camel + update_deployment_gate: + config: + requestBodyTranslate: + algorithm: naive + operation: + $ref: '#/paths/~1api~1v2~1deployment_gates~1{id}/put' + response: + mediaType: application/json + openAPIDocKey: '200' + request: + nativeCasing: camel + sqlVerbs: + select: + - $ref: '#/components/x-stackQL-resources/deployment_gates/methods/get_deployment_gate' + - $ref: '#/components/x-stackQL-resources/deployment_gates/methods/list_deployment_gates' + insert: + - $ref: '#/components/x-stackQL-resources/deployment_gates/methods/create_deployment_gate' + update: [] + delete: + - $ref: '#/components/x-stackQL-resources/deployment_gates/methods/delete_deployment_gate' + replace: + - $ref: '#/components/x-stackQL-resources/deployment_gates/methods/update_deployment_gate' + deployment_gate_rules: + id: datadog.software_delivery.deployment_gate_rules + name: deployment_gate_rules + title: Deployment Gate Rules + methods: + get_deployment_gate_rules: + operation: + $ref: '#/paths/~1api~1v2~1deployment_gates~1{gate_id}~1rules/get' + response: + mediaType: application/json + openAPIDocKey: '200' + objectKey: $.data + request: + nativeCasing: camel + create_deployment_rule: + config: + requestBodyTranslate: + algorithm: naive + operation: + $ref: '#/paths/~1api~1v2~1deployment_gates~1{gate_id}~1rules/post' + response: + mediaType: application/json + openAPIDocKey: '200' + request: + nativeCasing: camel + delete_deployment_rule: + operation: + $ref: '#/paths/~1api~1v2~1deployment_gates~1{gate_id}~1rules~1{id}/delete' + response: + mediaType: application/json + openAPIDocKey: '204' + request: + nativeCasing: camel + get_deployment_rule: + operation: + $ref: '#/paths/~1api~1v2~1deployment_gates~1{gate_id}~1rules~1{id}/get' + response: + mediaType: application/json + openAPIDocKey: '200' + objectKey: $.data + request: + nativeCasing: camel + update_deployment_rule: + config: + requestBodyTranslate: + algorithm: naive + operation: + $ref: '#/paths/~1api~1v2~1deployment_gates~1{gate_id}~1rules~1{id}/put' + response: + mediaType: application/json + openAPIDocKey: '200' + request: + nativeCasing: camel sqlVerbs: select: - - $ref: >- - #/components/x-stackQL-resources/ci_app_test_events/methods/list_ciapp_test_events + - $ref: '#/components/x-stackQL-resources/deployment_gate_rules/methods/get_deployment_rule' + - $ref: '#/components/x-stackQL-resources/deployment_gate_rules/methods/get_deployment_gate_rules' insert: - - $ref: >- - #/components/x-stackQL-resources/ci_app_test_events/methods/search_ciapp_test_events + - $ref: '#/components/x-stackQL-resources/deployment_gate_rules/methods/create_deployment_rule' + update: [] + delete: + - $ref: '#/components/x-stackQL-resources/deployment_gate_rules/methods/delete_deployment_rule' + replace: + - $ref: '#/components/x-stackQL-resources/deployment_gate_rules/methods/update_deployment_rule' + deployment_gate_evaluations: + id: datadog.software_delivery.deployment_gate_evaluations + name: deployment_gate_evaluations + title: Deployment Gate Evaluations + methods: + trigger_deployment_gates_evaluation: + config: + requestBodyTranslate: + algorithm: naive + operation: + $ref: '#/paths/~1api~1v2~1deployments~1gates~1evaluation/post' + response: + mediaType: application/json + openAPIDocKey: '202' + request: + nativeCasing: camel + get_deployment_gates_evaluation_result: + operation: + $ref: '#/paths/~1api~1v2~1deployments~1gates~1evaluation~1{id}/get' + response: + mediaType: application/json + openAPIDocKey: '200' + objectKey: $.data + request: + nativeCasing: camel + sqlVerbs: + select: + - $ref: '#/components/x-stackQL-resources/deployment_gate_evaluations/methods/get_deployment_gates_evaluation_result' + insert: [] update: [] delete: [] replace: [] @@ -4372,17 +13511,46 @@ components: title: Dora Deployments methods: create_doradeployment: + config: + requestBodyTranslate: + algorithm: naive operation: $ref: '#/paths/~1api~1v2~1dora~1deployment/post' response: mediaType: application/json openAPIDocKey: '200' + request: + nativeCasing: camel + delete_doradeployment: + operation: + $ref: '#/paths/~1api~1v2~1dora~1deployment~1{deployment_id}/delete' + response: + mediaType: application/json + openAPIDocKey: '202' + request: + nativeCasing: camel + patch_doradeployment_by_version: + config: + requestBodyTranslate: + algorithm: naive + operation: + $ref: '#/paths/~1api~1v2~1dora~1deployments/patch' + response: + mediaType: application/json + openAPIDocKey: '202' + request: + nativeCasing: camel list_doradeployments: + config: + requestBodyTranslate: + algorithm: naive operation: $ref: '#/paths/~1api~1v2~1dora~1deployments/post' response: mediaType: application/json openAPIDocKey: '200' + request: + nativeCasing: camel get_doradeployment: operation: $ref: '#/paths/~1api~1v2~1dora~1deployments~1{deployment_id}/get' @@ -4390,17 +13558,30 @@ components: mediaType: application/json openAPIDocKey: '200' objectKey: $.data + request: + nativeCasing: camel + patch_doradeployment: + config: + requestBodyTranslate: + algorithm: naive + operation: + $ref: '#/paths/~1api~1v2~1dora~1deployments~1{deployment_id}/patch' + response: + mediaType: application/json + openAPIDocKey: '202' + request: + nativeCasing: camel sqlVerbs: select: - - $ref: >- - #/components/x-stackQL-resources/dora_deployments/methods/get_doradeployment - - $ref: >- - #/components/x-stackQL-resources/dora_deployments/methods/list_doradeployments + - $ref: '#/components/x-stackQL-resources/dora_deployments/methods/get_doradeployment' + - $ref: '#/components/x-stackQL-resources/dora_deployments/methods/list_doradeployments' insert: - - $ref: >- - #/components/x-stackQL-resources/dora_deployments/methods/create_doradeployment - update: [] - delete: [] + - $ref: '#/components/x-stackQL-resources/dora_deployments/methods/create_doradeployment' + update: + - $ref: '#/components/x-stackQL-resources/dora_deployments/methods/patch_doradeployment' + - $ref: '#/components/x-stackQL-resources/dora_deployments/methods/patch_doradeployment_by_version' + delete: + - $ref: '#/components/x-stackQL-resources/dora_deployments/methods/delete_doradeployment' replace: [] dora_failures: id: datadog.software_delivery.dora_failures @@ -4408,17 +13589,35 @@ components: title: Dora Failures methods: create_dorafailure: + config: + requestBodyTranslate: + algorithm: naive operation: $ref: '#/paths/~1api~1v2~1dora~1failure/post' response: mediaType: application/json openAPIDocKey: '200' + request: + nativeCasing: camel + delete_dorafailure: + operation: + $ref: '#/paths/~1api~1v2~1dora~1failure~1{failure_id}/delete' + response: + mediaType: application/json + openAPIDocKey: '202' + request: + nativeCasing: camel list_dorafailures: + config: + requestBodyTranslate: + algorithm: naive operation: $ref: '#/paths/~1api~1v2~1dora~1failures/post' response: mediaType: application/json openAPIDocKey: '200' + request: + nativeCasing: camel get_dorafailure: operation: $ref: '#/paths/~1api~1v2~1dora~1failures~1{failure_id}/get' @@ -4426,35 +13625,338 @@ components: mediaType: application/json openAPIDocKey: '200' objectKey: $.data + request: + nativeCasing: camel + sqlVerbs: + select: + - $ref: '#/components/x-stackQL-resources/dora_failures/methods/get_dorafailure' + - $ref: '#/components/x-stackQL-resources/dora_failures/methods/list_dorafailures' + insert: + - $ref: '#/components/x-stackQL-resources/dora_failures/methods/create_dorafailure' + update: [] + delete: + - $ref: '#/components/x-stackQL-resources/dora_failures/methods/delete_dorafailure' + replace: [] + feature_flags: + id: datadog.software_delivery.feature_flags + name: feature_flags + title: Feature Flags + methods: + list_feature_flags: + operation: + $ref: '#/paths/~1api~1v2~1feature-flags/get' + response: + mediaType: application/json + openAPIDocKey: '200' + objectKey: $.data + request: + nativeCasing: camel + config: + queryParamPushdown: + top: + paramName: limit + maxValue: 1000 + skip: + paramName: offset + create_feature_flag: + config: + requestBodyTranslate: + algorithm: naive + operation: + $ref: '#/paths/~1api~1v2~1feature-flags/post' + response: + mediaType: application/json + openAPIDocKey: '201' + request: + nativeCasing: camel + get_feature_flag: + operation: + $ref: '#/paths/~1api~1v2~1feature-flags~1{feature_flag_id}/get' + response: + mediaType: application/json + openAPIDocKey: '200' + objectKey: $.data + request: + nativeCasing: camel + update_feature_flag: + config: + requestBodyTranslate: + algorithm: naive + operation: + $ref: '#/paths/~1api~1v2~1feature-flags~1{feature_flag_id}/put' + response: + mediaType: application/json + openAPIDocKey: '200' + request: + nativeCasing: camel + archive_feature_flag: + operation: + $ref: '#/paths/~1api~1v2~1feature-flags~1{feature_flag_id}~1archive/post' + response: + mediaType: application/json + openAPIDocKey: '200' + request: + nativeCasing: camel + unarchive_feature_flag: + operation: + $ref: '#/paths/~1api~1v2~1feature-flags~1{feature_flag_id}~1unarchive/post' + response: + mediaType: application/json + openAPIDocKey: '200' + request: + nativeCasing: camel + sqlVerbs: + select: + - $ref: '#/components/x-stackQL-resources/feature_flags/methods/get_feature_flag' + - $ref: '#/components/x-stackQL-resources/feature_flags/methods/list_feature_flags' + insert: + - $ref: '#/components/x-stackQL-resources/feature_flags/methods/create_feature_flag' + update: [] + delete: [] + replace: + - $ref: '#/components/x-stackQL-resources/feature_flags/methods/update_feature_flag' + feature_flag_environments: + id: datadog.software_delivery.feature_flag_environments + name: feature_flag_environments + title: Feature Flag Environments + methods: + list_feature_flags_environments: + operation: + $ref: '#/paths/~1api~1v2~1feature-flags~1environments/get' + response: + mediaType: application/json + openAPIDocKey: '200' + objectKey: $.data + request: + nativeCasing: camel + config: + queryParamPushdown: + top: + paramName: limit + maxValue: 1000 + skip: + paramName: offset + create_feature_flags_environment: + config: + requestBodyTranslate: + algorithm: naive + operation: + $ref: '#/paths/~1api~1v2~1feature-flags~1environments/post' + response: + mediaType: application/json + openAPIDocKey: '201' + request: + nativeCasing: camel + delete_feature_flags_environment: + operation: + $ref: '#/paths/~1api~1v2~1feature-flags~1environments~1{environment_id}/delete' + response: + mediaType: application/json + openAPIDocKey: '204' + request: + nativeCasing: camel + get_feature_flags_environment: + operation: + $ref: '#/paths/~1api~1v2~1feature-flags~1environments~1{environment_id}/get' + response: + mediaType: application/json + openAPIDocKey: '200' + objectKey: $.data + request: + nativeCasing: camel + update_feature_flags_environment: + config: + requestBodyTranslate: + algorithm: naive + operation: + $ref: '#/paths/~1api~1v2~1feature-flags~1environments~1{environment_id}/put' + response: + mediaType: application/json + openAPIDocKey: '200' + request: + nativeCasing: camel + disable_feature_flag_environment: + operation: + $ref: '#/paths/~1api~1v2~1feature-flags~1{feature_flag_id}~1environments~1{environment_id}~1disable/post' + response: + mediaType: application/json + openAPIDocKey: '200' + request: + nativeCasing: camel + enable_feature_flag_environment: + operation: + $ref: '#/paths/~1api~1v2~1feature-flags~1{feature_flag_id}~1environments~1{environment_id}~1enable/post' + response: + mediaType: application/json + openAPIDocKey: '200' + request: + nativeCasing: camel sqlVerbs: select: - - $ref: >- - #/components/x-stackQL-resources/dora_failures/methods/get_dorafailure - - $ref: >- - #/components/x-stackQL-resources/dora_failures/methods/list_dorafailures + - $ref: '#/components/x-stackQL-resources/feature_flag_environments/methods/get_feature_flags_environment' + - $ref: '#/components/x-stackQL-resources/feature_flag_environments/methods/list_feature_flags_environments' insert: - - $ref: >- - #/components/x-stackQL-resources/dora_failures/methods/create_dorafailure + - $ref: '#/components/x-stackQL-resources/feature_flag_environments/methods/create_feature_flags_environment' + update: [] + delete: + - $ref: '#/components/x-stackQL-resources/feature_flag_environments/methods/delete_feature_flags_environment' + replace: + - $ref: '#/components/x-stackQL-resources/feature_flag_environments/methods/update_feature_flags_environment' + feature_flag_exposure_schedules: + id: datadog.software_delivery.feature_flag_exposure_schedules + name: feature_flag_exposure_schedules + title: Feature Flag Exposure Schedules + methods: + pause_exposure_schedule: + operation: + $ref: '#/paths/~1api~1v2~1feature-flags~1exposure-schedules~1{exposure_schedule_id}~1pause/post' + response: + mediaType: application/json + openAPIDocKey: '200' + request: + nativeCasing: camel + resume_exposure_schedule: + operation: + $ref: '#/paths/~1api~1v2~1feature-flags~1exposure-schedules~1{exposure_schedule_id}~1resume/post' + response: + mediaType: application/json + openAPIDocKey: '200' + request: + nativeCasing: camel + start_exposure_schedule: + operation: + $ref: '#/paths/~1api~1v2~1feature-flags~1exposure-schedules~1{exposure_schedule_id}~1start/post' + response: + mediaType: application/json + openAPIDocKey: '200' + request: + nativeCasing: camel + stop_exposure_schedule: + operation: + $ref: '#/paths/~1api~1v2~1feature-flags~1exposure-schedules~1{exposure_schedule_id}~1stop/post' + response: + mediaType: application/json + openAPIDocKey: '200' + request: + nativeCasing: camel + sqlVerbs: + select: [] + insert: [] update: [] delete: [] replace: [] - dora_incidents: - id: datadog.software_delivery.dora_incidents - name: dora_incidents - title: Dora Incidents + feature_flag_environment_allocations: + id: datadog.software_delivery.feature_flag_environment_allocations + name: feature_flag_environment_allocations + title: Feature Flag Environment Allocations + methods: + create_allocations_for_feature_flag_in_environment: + config: + requestBodyTranslate: + algorithm: naive + operation: + $ref: '#/paths/~1api~1v2~1feature-flags~1{feature_flag_id}~1environments~1{environment_id}~1allocations/post' + response: + mediaType: application/json + openAPIDocKey: '201' + request: + nativeCasing: camel + update_allocations_for_feature_flag_in_environment: + config: + requestBodyTranslate: + algorithm: naive + operation: + $ref: '#/paths/~1api~1v2~1feature-flags~1{feature_flag_id}~1environments~1{environment_id}~1allocations/put' + response: + mediaType: application/json + openAPIDocKey: '200' + request: + nativeCasing: camel + sqlVerbs: + select: [] + insert: + - $ref: '#/components/x-stackQL-resources/feature_flag_environment_allocations/methods/create_allocations_for_feature_flag_in_environment' + update: [] + delete: [] + replace: + - $ref: '#/components/x-stackQL-resources/feature_flag_environment_allocations/methods/update_allocations_for_feature_flag_in_environment' + feature_flag_variants: + id: datadog.software_delivery.feature_flag_variants + name: feature_flag_variants + title: Feature Flag Variants methods: - create_doraincident: + create_variant_for_feature_flag: + config: + requestBodyTranslate: + algorithm: naive + operation: + $ref: '#/paths/~1api~1v2~1feature-flags~1{feature_flag_id}~1variants/post' + response: + mediaType: application/json + openAPIDocKey: '201' + request: + nativeCasing: camel + delete_variant_from_feature_flag: + operation: + $ref: '#/paths/~1api~1v2~1feature-flags~1{feature_flag_id}~1variants~1{variant_id}/delete' + response: + mediaType: application/json + openAPIDocKey: '204' + request: + nativeCasing: camel + update_variant_for_feature_flag: + config: + requestBodyTranslate: + algorithm: naive operation: - $ref: '#/paths/~1api~1v2~1dora~1incident/post' + $ref: '#/paths/~1api~1v2~1feature-flags~1{feature_flag_id}~1variants~1{variant_id}/put' response: mediaType: application/json openAPIDocKey: '200' + request: + nativeCasing: camel sqlVerbs: select: [] insert: - - $ref: >- - #/components/x-stackQL-resources/dora_incidents/methods/create_doraincident + - $ref: '#/components/x-stackQL-resources/feature_flag_variants/methods/create_variant_for_feature_flag' update: [] + delete: + - $ref: '#/components/x-stackQL-resources/feature_flag_variants/methods/delete_variant_from_feature_flag' + replace: + - $ref: '#/components/x-stackQL-resources/feature_flag_variants/methods/update_variant_for_feature_flag' + flaky_tests: + id: datadog.software_delivery.flaky_tests + name: flaky_tests + title: Flaky Tests + methods: + update_flaky_tests: + config: + requestBodyTranslate: + algorithm: naive + operation: + $ref: '#/paths/~1api~1v2~1test~1flaky-test-management~1tests/patch' + response: + mediaType: application/json + openAPIDocKey: '200' + request: + nativeCasing: camel + search_flaky_tests: + config: + requestBodyTranslate: + algorithm: naive + operation: + $ref: '#/paths/~1api~1v2~1test~1flaky-test-management~1tests/post' + response: + mediaType: application/json + openAPIDocKey: '200' + request: + nativeCasing: camel + sqlVerbs: + select: [] + insert: + - $ref: '#/components/x-stackQL-resources/flaky_tests/methods/search_flaky_tests' + update: + - $ref: '#/components/x-stackQL-resources/flaky_tests/methods/update_flaky_tests' delete: [] replace: [] workflows: @@ -4462,18 +13964,38 @@ components: name: workflows title: Workflows methods: + list_workflows: + operation: + $ref: '#/paths/~1api~1v2~1workflows/get' + response: + mediaType: application/json + openAPIDocKey: '200' + objectKey: $.data + request: + nativeCasing: camel + config: + queryParamPushdown: + top: + paramName: limit create_workflow: + config: + requestBodyTranslate: + algorithm: naive operation: $ref: '#/paths/~1api~1v2~1workflows/post' response: mediaType: application/json openAPIDocKey: '201' + request: + nativeCasing: camel delete_workflow: operation: $ref: '#/paths/~1api~1v2~1workflows~1{workflow_id}/delete' response: mediaType: application/json openAPIDocKey: '204' + request: + nativeCasing: camel get_workflow: operation: $ref: '#/paths/~1api~1v2~1workflows~1{workflow_id}/get' @@ -4481,15 +14003,23 @@ components: mediaType: application/json openAPIDocKey: '200' objectKey: $.data + request: + nativeCasing: camel update_workflow: + config: + requestBodyTranslate: + algorithm: naive operation: $ref: '#/paths/~1api~1v2~1workflows~1{workflow_id}/patch' response: mediaType: application/json openAPIDocKey: '200' + request: + nativeCasing: camel sqlVerbs: select: - $ref: '#/components/x-stackQL-resources/workflows/methods/get_workflow' + - $ref: '#/components/x-stackQL-resources/workflows/methods/list_workflows' insert: - $ref: '#/components/x-stackQL-resources/workflows/methods/create_workflow' update: @@ -4509,42 +14039,53 @@ components: mediaType: application/json openAPIDocKey: '200' objectKey: $.data + request: + nativeCasing: camel + config: + queryParamPushdown: + top: + paramName: page[size] create_workflow_instance: + config: + requestBodyTranslate: + algorithm: naive operation: $ref: '#/paths/~1api~1v2~1workflows~1{workflow_id}~1instances/post' response: mediaType: application/json openAPIDocKey: '200' + request: + nativeCasing: camel get_workflow_instance: operation: - $ref: >- - #/paths/~1api~1v2~1workflows~1{workflow_id}~1instances~1{instance_id}/get + $ref: '#/paths/~1api~1v2~1workflows~1{workflow_id}~1instances~1{instance_id}/get' response: mediaType: application/json openAPIDocKey: '200' objectKey: $.data + request: + nativeCasing: camel cancel_workflow_instance: operation: - $ref: >- - #/paths/~1api~1v2~1workflows~1{workflow_id}~1instances~1{instance_id}~1cancel/put + $ref: '#/paths/~1api~1v2~1workflows~1{workflow_id}~1instances~1{instance_id}~1cancel/put' response: mediaType: application/json openAPIDocKey: '200' + request: + nativeCasing: camel sqlVerbs: select: - - $ref: >- - #/components/x-stackQL-resources/workflow_instances/methods/get_workflow_instance - - $ref: >- - #/components/x-stackQL-resources/workflow_instances/methods/list_workflow_instances + - $ref: '#/components/x-stackQL-resources/workflow_instances/methods/get_workflow_instance' + - $ref: '#/components/x-stackQL-resources/workflow_instances/methods/list_workflow_instances' insert: - - $ref: >- - #/components/x-stackQL-resources/workflow_instances/methods/create_workflow_instance + - $ref: '#/components/x-stackQL-resources/workflow_instances/methods/create_workflow_instance' update: [] delete: [] replace: [] servers: - - url: >- - https://{region:^(?:[^\:/]+(?:\:[0-9]+)?|[0-9]+\.[0-9]+\.[0-9]+\.[0-9]+(?:\:[0-9]+)?)$}/ + - url: https://api.{site:.+} variables: - region: + site: default: datadoghq.com + description: The Datadog site (region) for your organization, for example datadoghq.com, us3.datadoghq.com, us5.datadoghq.com, ap1.datadoghq.com, ap2.datadoghq.com, datadoghq.eu, ddog-gov.com. Resolved from the DD_SITE environment variable when set. + x-stackQL-envVar: DD_SITE